.contact-page .header{background:#fff;color:var(--ink)}
.contact-intro{position:relative;isolation:isolate;overflow:hidden;padding:155px 6% 30px;max-width:1800px;margin:auto;color:var(--ink)}
.contact-intro-grid{display:block}
.contact-intro h1{font-size:clamp(65px,7.7vw,128px);line-height:1.05;margin:28px 0;letter-spacing:-.045em}
.contact-intro-copy{max-width:580px;margin-bottom:32px}.contact-intro-copy p{font-size:clamp(18px,1.4vw,21px);margin:0 0 14px}
.contact-intro-copy .contact-welcome{font-family:'Playfair Display',Georgia,serif;font-size:clamp(25px,2.5vw,36px);line-height:1.25;margin-bottom:20px;letter-spacing:-.025em}
.contact-intro>.intro-flower{width:34vw;height:34vw;right:4%;top:120px;opacity:.15;z-index:-1;background:var(--blue);mask:url('/assets/flower-white.png') center/contain no-repeat;-webkit-mask:url('/assets/flower-white.png') center/contain no-repeat}
.contact-section{position:relative;padding:30px 6% 100px;background:radial-gradient(ellipse at 68% 52%,#7cf4ffb0 0%,#7cf4ff50 32%,#7cf4ff10 52%,transparent 72%),#fff;color:var(--ink)}
.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,7vw,110px);max-width:1584px;margin:auto;align-items:start}
.contact-layout>*{min-width:0}.contact-layout h2{font-size:clamp(34px,3.4vw,50px);line-height:1.2;margin:0 0 30px}
.contact-details{padding-top:5px}.contact-methods{margin:0 0 50px}.contact-methods>div{margin:0 0 22px}.contact-methods dt{font-size:14px;font-weight:700;margin-bottom:3px}.contact-methods dd{margin:0;font-size:clamp(20px,2vw,26px);line-height:1.45;overflow-wrap:anywhere}
.contact-methods a{display:inline-block;padding:5px 0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.contact-studio{margin-bottom:32px;max-width:410px}.contact-studio h3{font-size:clamp(26px,2.7vw,38px);line-height:1.25;margin:15px 0 20px}.contact-studio p{font-size:18px;margin:10px 0}
.contact-book{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:58px;max-width:100%;padding:17px 24px;border-radius:12px;background:var(--pink);font-weight:600;font-size:18px;line-height:1.4}.contact-book span{font-size:24px}
.contact-form{padding:clamp(24px,3vw,42px)}.contact-form .booking-submit{border-radius:12px}.contact-form a,.contact-form noscript a{text-decoration:underline;text-underline-offset:3px}.contact-form .booking-submit:disabled{cursor:not-allowed}
.contact-reassurance{font-size:17px;margin:22px 6px 0;max-width:520px}.contact-page :is(a,button,input,textarea):focus-visible{outline:3px solid var(--pink);outline-offset:4px}.contact-page .contact-book:focus-visible{outline-color:var(--ink)}
@media(max-width:899px){.contact-intro{padding-top:140px}.contact-intro-grid{grid-template-columns:1fr;gap:5px;max-width:650px}.contact-intro h1{font-size:clamp(65px,9vw,85px);margin-bottom:25px}.contact-intro>.intro-flower{width:48vw;height:48vw;top:120px;right:-8%;opacity:.1}.contact-layout{grid-template-columns:1fr;gap:55px;max-width:650px}.contact-details{padding-top:0}.contact-methods{margin-bottom:35px}.contact-layout h2{font-size:40px;margin-bottom:25px}.contact-intro-copy p{font-size:20px}}
@media(max-width:539px){.contact-intro{padding:125px 6% 20px}.contact-intro h1{font-size:clamp(58px,15vw,75px);margin:24px 0}.contact-intro-copy .contact-welcome{font-size:28px}.contact-intro-copy p{font-size:19px}.contact-intro>.intro-flower{width:64vw;height:64vw;top:135px;right:-20%}.contact-section{padding:20px 6% 70px}.contact-layout h2{font-size:36px}.contact-form{padding:25px 20px}.contact-methods dd{font-size:22px}.contact-book{font-size:17px}.contact-reassurance{font-size:16px}}
@media(prefers-reduced-motion:reduce){.contact-page .flower{animation:none;will-change:auto}.contact-page{scroll-behavior:auto}html:has(.contact-page){scroll-behavior:auto}}
