.top nav a.active{color:#b47289;font-weight:700}
.contactPage{overflow:hidden}
.contactHero{height:560px;position:relative;display:flex;align-items:center;padding:0 5.5%;background:url('assets/blog-hero.webp') center/cover no-repeat}
.contactHeroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,246,242,.97) 0%,rgba(251,246,242,.9) 27%,rgba(251,246,242,.38) 51%,rgba(251,246,242,.04) 72%)}
.contactHeroCopy{position:relative;z-index:2;max-width:620px}
.contactHeroCopy h1{font:72px/.98 Italiana,serif;margin:12px 0 20px;color:#241b21}
.contactHeroCopy h1 em{color:#b47289;font-style:italic}
.contactHeroCopy>p:not(.eyebrow){max-width:540px;line-height:1.75;color:#493b43;font-size:14px}
.contactHero .outline.dark{background:rgba(255,255,255,.52);backdrop-filter:blur(5px)}
.contactHeroNote{position:absolute;z-index:2;left:64%;top:120px;font:italic 29px/1.45 Italiana,serif;color:#765462;text-shadow:0 1px 0 rgba(255,255,255,.8)}
.contactHeroNote:after{content:"";display:block;width:90px;height:1px;background:#caa6b3;margin-top:10px}
.contactTrust{padding-top:24px;padding-bottom:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;border-bottom:1px solid #eadde1}
.contactTrust article{display:flex;align-items:center;gap:14px}.contactTrust span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f5e7ec;color:#ad637d;font-size:18px}.contactTrust b{display:block;font-size:14px;margin-bottom:4px}.contactTrust small{color:#7b6871;font-size:11px}
.contactMain{display:grid;grid-template-columns:1.35fr .65fr;gap:34px;align-items:start}.bookingBlock>h2,.messageCard h2,.faqBlock h2,.locationBlock h2{font:52px/1.02 Italiana,serif;margin:12px 0 16px}.bookingBlock>h2 em,.messageCard h2 em,.faqBlock h2 em,.locationBlock h2 em{color:#b47289;font-style:italic}.bookingBlock>p:not(.eyebrow),.messageCard>p:not(.eyebrow){line-height:1.7;color:#564750}
.bookingShell{display:grid;grid-template-columns:260px 1fr;gap:14px;margin-top:28px}.bookingInfo,.messageCard,.calendlyFrame,.locationCard{background:#fff;border:1px solid #eadde1;border-radius:18px;box-shadow:0 14px 36px rgba(69,46,56,.06)}.bookingInfo{padding:24px}.bookingInfo>div{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #eee1e5}.bookingInfo>div span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f7e8ed;color:#b47289;flex:0 0 auto}.bookingInfo p{margin:0}.bookingInfo b{display:block;font-size:13px}.bookingInfo small{display:block;margin-top:4px;color:#b47289}.bookingInfo blockquote{font:italic 21px/1.45 Italiana,serif;color:#7c5666;margin:28px 0 0}.calendlyFrame{overflow:hidden;min-height:620px}.calendlyFrame iframe{width:100%;height:620px;border:0}
.messageCard{padding:28px;background:linear-gradient(160deg,#fffaf7,#f5e2e9);min-height:620px;height:620px;display:flex;flex-direction:column}.messageCard h2{font-size:40px}.messageCard form{display:flex;flex-direction:column;gap:12px;margin-top:20px;flex:1}.messageCard label span{display:none}.messageCard label:has(textarea){display:flex;flex:1}.messageCard input,.messageCard textarea{width:100%;border:1px solid #ead7dd;border-radius:10px;background:rgba(255,255,255,.86);padding:14px 15px;font:12px "Plus Jakarta Sans";color:#3f3038}.messageCard textarea{min-height:190px;height:100%;resize:vertical}.messageCard button{width:100%;cursor:pointer}.contactLinks{display:grid;gap:12px;margin-top:22px}.contactLinks a{display:flex;gap:10px;align-items:center;font-size:13px}
.contactBottom{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:45px}.contactFaq{display:grid;gap:10px}.contactFaq details{background:#fff;border:1px solid #eadde1;border-radius:11px;padding:15px 16px}.contactFaq summary{cursor:pointer;list-style:none;font-weight:600;display:flex;justify-content:space-between}.contactFaq summary::-webkit-details-marker{display:none}.contactFaq summary:after{content:'+';color:#b47289;font-size:20px}.contactFaq details[open] summary:after{content:'–'}.contactFaq p{line-height:1.7;color:#66555e;font-size:12px}
.locationGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:25px}.mapCard{position:relative;min-height:310px;border-radius:18px;overflow:hidden;border:1px solid #eadde1;box-shadow:0 14px 36px rgba(69,46,56,.06)}.mapCard iframe{width:100%;height:100%;min-height:310px;border:0;pointer-events:none}.mapCard>span{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);background:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 8px 24px rgba(67,45,54,.16);white-space:nowrap;font-size:12px}.locationCard{padding:24px;background:linear-gradient(160deg,#fff,#fbf0f4)}.locationCard>p{display:flex;gap:10px;line-height:1.5;padding-bottom:16px;border-bottom:1px solid #eadde1}.locationCard blockquote{font:italic 21px/1.45 Italiana,serif;color:#7c5666;margin:26px 0}.locationCard>a{font-size:11px;text-decoration:underline}
.contactCta{padding:58px 5.5%;background:url('assets/images/silk.webp') center/cover;display:flex;justify-content:space-between;align-items:center}.contactCta h2{font:48px/1.04 Italiana,serif;margin:10px 0 0}.contact-reveal{opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform 1s cubic-bezier(.16,.84,.22,1)}.contact-reveal.left{transform:translateX(-55px)}.contact-reveal.right{transform:translateX(55px)}.contact-reveal.in{opacity:1;transform:none}
@media(max-width:800px){.contactHero{height:auto;min-height:650px;padding:92px 22px 55px;background-position:58% center;align-items:flex-end}.contactHeroShade{background:linear-gradient(90deg,rgba(251,246,242,.98),rgba(251,246,242,.82) 62%,rgba(251,246,242,.18))}.contactHeroCopy h1{font-size:54px}.contactHeroNote{display:none}.contactTrust,.contactMain,.bookingShell,.contactBottom,.locationGrid{grid-template-columns:1fr}.contactTrust{padding:22px}.contactMain,.contactBottom{padding:60px 22px}.bookingBlock>h2,.messageCard h2,.faqBlock h2,.locationBlock h2{font-size:40px}.calendlyFrame,.calendlyFrame iframe{min-height:690px;height:690px}.messageCard{margin-top:10px;min-height:0;height:auto}.locationBlock{margin-top:10px}.contactCta{padding:50px 22px;display:block}.contactCta h2{font-size:40px}.contactCta .btn{margin-top:22px}.contact-reveal.left,.contact-reveal.right{transform:translateY(30px)}}
