.contact-page{color:var(--ink);background:#fff}.contact-hero{--hero-offset:96px;box-sizing:border-box;width:100%;min-height:calc(100vh - var(--hero-offset));min-height:calc(100dvh - var(--hero-offset));color:var(--ink);background:radial-gradient(80% 70% at 70% 20%,#f3e8ff 0%,#0000 55%),radial-gradient(60% 50% at 15% 40%,#faf5ff 0%,#0000 50%),#fcfaff;align-items:center;padding:28px 0;display:flex;position:relative;overflow:hidden}.contact-hero>.container{width:min(var(--container), calc(100% - 120px));margin-left:auto;margin-right:72px}.contact-hero-rings{pointer-events:none;border:1px solid #7435a824;border-radius:50%;width:540px;height:540px;position:absolute;top:46%;right:-150px;transform:translateY(-50%)}.contact-hero-rings:before,.contact-hero-rings:after{content:"";border:1px solid #7435a81a;border-radius:50%;position:absolute}.contact-hero-rings:before{inset:72px}.contact-hero-rings:after{inset:148px}.contact-hero-grid{z-index:1;width:100%;min-height:calc(100dvh - var(--hero-offset) - 56px);grid-template-columns:minmax(0,1.12fr) minmax(280px,.78fr);align-items:center;gap:48px;display:grid;position:relative}.contact-hero-copy{align-self:center;min-width:0;padding:20px 0}.contact-hero .eyebrow{color:var(--purple);letter-spacing:.16em;background:0 0;border-radius:0;margin:0 0 18px;padding:0;font-size:.72rem}.contact-hero-copy h1{color:var(--ink);letter-spacing:-.03em;margin:0 0 18px;font-size:clamp(44px,5vw,64px);font-weight:700;line-height:1.05}.contact-hero-lead{color:var(--purple);font-family:var(--font-heading), Georgia, "Times New Roman", serif;letter-spacing:-.015em;margin-top:12px;font-size:clamp(22px,2.15vw,30px);font-style:italic;font-weight:400;line-height:1.35;display:block}.contact-hero-copy>p{max-width:480px;color:var(--muted);margin:0;font-size:16px;line-height:1.7}.contact-hero .button-row{gap:14px;margin-top:28px}.contact-hero .button.secondary{color:var(--purple-dark);border:1px solid var(--border);background:#fff}.contact-hero .button.secondary:hover{background:var(--purple-soft);color:var(--purple-dark);border-color:var(--purple)}.contact-hero-photo{min-width:0;height:calc(100dvh - var(--hero-offset) - 56px);max-height:640px}.contact-hero-photo img{object-fit:cover;object-position:center 22%;border-radius:28px;width:100%;height:100%;min-height:0;max-height:none;box-shadow:0 18px 40px #34115033}.contact-facts-wrap{z-index:2;margin-top:8px;padding:0 0 8px;position:relative}.contact-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.contact-fact,.contact-location,.contact-form-card{border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);background:#fff;padding:26px 24px 22px}.contact-fact{flex-direction:column;transition:transform .22s,box-shadow .22s;display:flex}.contact-fact:hover{transform:translateY(-3px);box-shadow:0 16px 32px #34115014}.contact-fact .icon-box{width:auto;height:auto;color:var(--purple);background:0 0;border-radius:0;margin-bottom:16px}.contact-fact .icon-box svg{width:22px;height:22px}.contact-fact-label{color:var(--purple);font-family:var(--font-body), Arial, Helvetica, sans-serif;letter-spacing:.14em;margin:0 0 8px;font-size:.72rem;font-weight:600}.contact-fact-text,.contact-location p{color:var(--muted);margin:0 0 16px;font-size:.95rem;line-height:1.6}.contact-fact-value,.contact-location-place{color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:700}.contact-fact-value{margin-top:auto}a.contact-fact-value:hover{color:var(--purple)}.contact-kicker{color:var(--purple);font-family:var(--font-body), Arial, Helvetica, sans-serif;letter-spacing:.16em;align-items:center;gap:14px;margin:0 0 14px;font-size:.72rem;font-weight:600;display:flex}.contact-kicker:before{content:"";background:#c9a6ea;flex-shrink:0;width:34px;height:1px}.contact-enquiry{padding:48px 0 20px;scroll-margin-top:95px}.contact-enquiry-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.68fr);align-items:start;gap:28px;display:grid}.contact-enquiry-grid>div h2,.contact-find h2{color:var(--ink);letter-spacing:-.025em;margin-bottom:12px;font-size:clamp(28px,3.2vw,42px)}.contact-enquiry-copy{max-width:540px;color:var(--muted);margin-bottom:22px;font-size:clamp(16px,1.05vw,18px);line-height:1.65}.contact-form-card{padding:28px 26px 24px}.contact-form-card .enquiry-form{gap:16px 18px;position:relative}.contact-form-card .field label{color:var(--purple-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:600}.contact-form-card .field input,.contact-form-card .field textarea{min-height:48px;color:var(--ink);background:#fff;border:1px solid #e4d9ef;border-radius:9px}.contact-form-card .field input::placeholder,.contact-form-card .field textarea::placeholder{color:#877a91}.contact-form-card .field textarea{min-height:118px}.contact-form-card .honeypot{height:0;position:absolute;overflow:hidden}.contact-consent{color:var(--ink);align-items:flex-start;gap:10px;font-size:.92rem;line-height:1.45;display:flex}.contact-consent input{width:16px;height:16px;accent-color:var(--purple);flex-shrink:0;margin-top:3px}.contact-form-card .button{justify-self:start;width:auto;margin-top:4px}.contact-form-card .form-status{background:#fff;border-color:#e8d6f5;color:#3a194e!important}.contact-aside{gap:14px;display:grid}.contact-talk{color:#fff;background:radial-gradient(at 90% 10%,#8e36c2,#0000 55%),linear-gradient(125deg,#7823b1,#6415a3);border-radius:18px;gap:12px;padding:28px 22px 24px;display:grid}.contact-talk>p{color:#f3e7fb;letter-spacing:.14em;margin:0;font-size:.72rem;font-weight:600}.contact-aside .contact-talk h2{color:#fff;font-family:var(--font-body), Arial, Helvetica, sans-serif;letter-spacing:0;margin:0 0 8px;font-size:1.12rem;font-weight:600;line-height:1.45}.contact-talk .button{width:100%}.contact-talk .button.white{color:#fff;box-shadow:none;background:#c9a0e4;border:0}.contact-talk .button.white:hover{color:#fff;box-shadow:none;background:#d7b6ee}.contact-talk .button.ghost{color:#fff;box-shadow:none;background:0 0;border:1px solid #ffffff8c}.contact-talk .button.ghost:hover{color:#fff;box-shadow:none;background:#ffffff14}.contact-pending{background:var(--lavender);border:1px solid var(--line);border-radius:14px;padding:18px 16px 16px}.contact-pending p{color:var(--purple-dark);letter-spacing:.08em;margin:0 0 8px;font-size:.68rem;font-weight:700}.contact-pending span{color:var(--muted);font-size:.9rem;line-height:1.55}.contact-find{background:#f6f0fc;margin-top:28px;padding:56px 0 48px;scroll-margin-top:95px}.contact-find-grid{grid-template-columns:minmax(0,1.45fr) minmax(240px,.7fr);align-items:stretch;gap:18px;margin-top:22px;display:grid}.contact-map{border:1px solid var(--line);border-radius:var(--radius);min-height:320px;box-shadow:var(--shadow);background:#fff;overflow:hidden}.contact-map iframe{border:0;width:100%;height:100%;min-height:340px;display:block}.contact-location{flex-direction:column;justify-content:center;display:flex}.contact-location-place{margin-bottom:14px;font-size:1.05rem}.contact-location p:last-child{margin-bottom:0}.contact-close-wrap{background:#fff;padding:28px 0 48px}.contact-close{color:#fff;background:radial-gradient(at 90% 10%,#8e36c2,#0000 55%),linear-gradient(125deg,#7823b1,#6415a3);border-radius:18px;justify-content:space-between;align-items:center;gap:24px;padding:34px 40px;display:flex}.contact-close h2{color:#fff;margin:0 0 8px;font-size:clamp(24px,2.6vw,34px);line-height:1.25}.contact-close p{color:#f3e7fb;margin:0;font-size:clamp(16px,1.05vw,18px)}.contact-close .button{flex-shrink:0}@media (max-width:1050px){.contact-hero{--hero-offset:76px}}@media (max-width:980px){.contact-hero{min-height:0;padding:36px 0 28px}.contact-hero>.container{width:min(var(--container), calc(100% - 64px));margin-right:auto}.contact-hero-rings{display:none}.contact-hero-grid{min-height:0}.contact-hero-photo{height:auto;max-height:none}.contact-hero-photo img{aspect-ratio:1.56;height:auto}.contact-hero-grid,.contact-enquiry-grid,.contact-find-grid,.contact-facts{grid-template-columns:1fr}.contact-close{flex-direction:column;align-items:flex-start;padding:28px 24px}}@media (max-width:760px){.contact-hero{align-items:flex-start;padding:28px 0 20px}.contact-hero-photo img{border-radius:24px}.contact-facts-wrap{margin-top:8px}.contact-hero-copy{padding:8px 0}.contact-hero-copy h1{font-size:clamp(32px,8vw,44px)}.contact-hero .button-row{flex-direction:column;align-items:stretch}.contact-hero .button{width:100%}.contact-enquiry,.contact-find{padding-top:40px}.contact-form-card,.contact-fact,.contact-location{padding:22px 18px}.contact-form-card .enquiry-form{grid-template-columns:1fr}.contact-form-card .button,.contact-close .button{width:100%}}
