:root{--brand:hsl(11,52%,55%);--brand-deep:hsl(11,45%,42%);--ink:hsl(340,18%,15%);--muted:hsl(340,8%,38%);--cream:hsl(32,56%,97%);--sand:hsl(26,42%,92%);--line:hsl(26,25%,84%)}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;color:var(--ink);background:var(--cream);font-size:1rem;line-height:1.65;overflow-x:hidden}
h1,h2,h3,.brand-mark,.end-brand,.consent-title{font-family:'Cormorant Garamond',serif}
img{max-width:100%;height:auto}
a{color:var(--brand-deep)}
.site-top{background:hsla(32,56%,97%,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(6px)}
.brand-mark{font-weight:700;font-size:1.7rem;color:var(--ink);letter-spacing:.02em}
.brand-tail{display:block;font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;color:var(--brand-deep)}
.navbar-nav .nav-link{color:var(--ink);font-weight:500;padding:.65rem 1rem;letter-spacing:.02em}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.current-leaf{color:var(--brand-deep)}
.dropdown-menu{border:1px solid var(--line);border-radius:1rem;background:var(--cream);box-shadow:0 18px 40px hsla(340,20%,15%,.12)}
.dropdown-item{padding:.6rem 1.3rem;color:var(--ink)}
.dropdown-item:hover{background:var(--sand);color:var(--brand-deep)}
.btn.book-pill{background:var(--brand);color:#fff;border-radius:99rem;padding:.7rem 1.7rem;font-weight:600;border:1px solid var(--brand);min-height:44px}
.btn.book-pill:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}
.btn.ghost-pill{border:1px solid var(--ink);color:var(--ink);border-radius:99rem;padding:.7rem 1.7rem;font-weight:600;min-height:44px}
.btn.ghost-pill:hover{background:var(--ink);color:var(--cream)}
.hero-stage{position:relative;isolation:isolate;min-height:min(88vh,46rem);display:flex;align-items:center;color:#fff}
.hero-stage picture,.hero-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-stage::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,hsla(340,30%,12%,.78) 8%,hsla(340,30%,12%,.38) 58%,hsla(340,30%,12%,.12))}
.hero-copy{max-width:38rem;padding:clamp(3rem,8vw,6rem) 0}
.hero-copy h1{font-size:clamp(2.4rem,6vw,4.1rem);font-weight:700;line-height:1.08}
.hero-copy p{font-size:clamp(1.05rem,2vw,1.25rem);color:hsl(30,50%,92%)}
.hero-kick{letter-spacing:.32em;text-transform:uppercase;font-size:.78rem;color:hsl(24,70%,80%)}
.wide-pad{padding:clamp(3.2rem,7vw,5.6rem) 0}
.tinted{background:var(--sand)}
.sec-kick{letter-spacing:.3em;text-transform:uppercase;font-size:.75rem;color:var(--brand-deep);font-weight:600}
.sec-title{font-size:clamp(1.9rem,4vw,2.9rem);font-weight:700;line-height:1.12}
.lede{color:var(--muted);max-width:44rem}
.offer-card{background:#fff;border:1px solid var(--line);border-radius:1.4rem;overflow:hidden;height:100%;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}
.offer-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px hsla(340,25%,15%,.14)}
.offer-card img{width:100%;height:230px;object-fit:cover}
.offer-body{padding:1.5rem 1.6rem 1.8rem;display:flex;flex-direction:column;flex:1}
.offer-body h3{font-size:1.45rem;font-weight:700}
.offer-body p{color:var(--muted);font-size:.97rem;flex:1}
.text-link{font-weight:600;color:var(--brand-deep);text-decoration:none;letter-spacing:.03em}
.text-link:hover{text-decoration:underline}
.duo-shot{border-radius:1.6rem;overflow:hidden;box-shadow:0 24px 48px hsla(340,25%,15%,.16)}
.duo-shot img{display:block;width:100%;height:auto}
.tick-list{list-style:none;padding:0;margin:0}
.tick-list li{padding:.45rem 0 .45rem 2rem;position:relative;color:var(--muted)}
.tick-list li::before{content:'\2726';position:absolute;left:.2rem;color:var(--brand);font-size:1rem}
.stat-band{background:var(--ink);color:var(--cream)}
.stat-cell{text-align:center;padding:1rem .5rem}
.stat-cell strong{display:block;font-family:'Cormorant Garamond',serif;font-size:clamp(2.1rem,4vw,3rem);color:hsl(24,70%,78%)}
.stat-cell span{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:hsl(26,20%,72%)}
.voice-item{border-left:3px solid var(--brand);background:#fff;border-radius:0 1.2rem 1.2rem 0;padding:1.6rem 1.8rem;margin-bottom:1.4rem}
.voice-item blockquote{margin:0;font-size:1.05rem;color:var(--ink)}
.voice-item cite{display:block;margin-top:.8rem;font-style:normal;font-weight:600;color:var(--brand-deep);font-size:.9rem;letter-spacing:.06em}
.faq-fold{border:1px solid var(--line);border-radius:1rem;background:#fff;margin-bottom:.9rem;overflow:hidden}
.faq-fold summary{cursor:pointer;padding:1.1rem 1.4rem;font-weight:600;list-style:none;position:relative;padding-right:3rem;min-height:44px}
.faq-fold summary::-webkit-details-marker{display:none}
.faq-fold summary::after{content:'+';position:absolute;right:1.3rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--brand);transition:transform .25s}
.faq-fold[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-fold div{padding:0 1.4rem 1.2rem;color:var(--muted)}
.rate-sheet{width:100%;border-collapse:collapse;background:#fff;border-radius:1.2rem;overflow:hidden;box-shadow:0 12px 30px hsla(340,25%,15%,.08)}
.rate-sheet th{background:var(--ink);color:var(--cream);text-align:left;padding:.95rem 1.3rem;font-weight:600;letter-spacing:.05em;font-size:.9rem}
.rate-sheet td{padding:.9rem 1.3rem;border-top:1px solid var(--line);color:var(--muted)}
.rate-sheet td:last-child{white-space:nowrap;font-weight:600;color:var(--ink)}
.step-row{counter-reset:step}
.step-cell{position:relative;padding:1.4rem 1.4rem 1.4rem 4.4rem;background:#fff;border:1px solid var(--line);border-radius:1.2rem;height:100%}
.step-cell::before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;left:1.2rem;top:1.3rem;font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:700;color:var(--brand)}
.step-cell h3{font-size:1.2rem;font-weight:700}
.step-cell p{color:var(--muted);font-size:.95rem;margin:0}
.cta-belt{background:linear-gradient(115deg,var(--brand-deep),var(--brand));color:#fff;border-radius:1.8rem;padding:clamp(2.4rem,6vw,4rem)}
.cta-belt h2{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700}
.cta-belt .btn.ghost-pill{border-color:#fff;color:#fff}
.cta-belt .btn.ghost-pill:hover{background:#fff;color:var(--brand-deep)}
.page-crown{background:var(--sand);padding:clamp(2.6rem,6vw,4.4rem) 0}
.page-crown h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:700}
.crumb-trail{font-size:.85rem;color:var(--muted)}
.crumb-trail a{color:var(--brand-deep);text-decoration:none}
.prose-flow h2{font-size:1.7rem;font-weight:700;margin-top:2.2rem}
.prose-flow h3{font-size:1.25rem;font-weight:700;margin-top:1.6rem}
.prose-flow p,.prose-flow li{color:var(--muted)}
.lead-form{background:#fff;border:1px solid var(--line);border-radius:1.6rem;padding:clamp(1.6rem,4vw,2.6rem)}
.lead-form label{font-weight:600;font-size:.92rem;margin-bottom:.35rem}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:.8rem;padding:.75rem 1rem;font-size:1rem;background:var(--cream);color:var(--ink);min-height:44px}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:2px solid var(--brand);border-color:var(--brand)}
.field-flag{color:hsl(4,70%,45%);font-size:.85rem;display:none;margin-top:.25rem}
.info-slab{background:#fff;border:1px solid var(--line);border-radius:1.6rem;padding:1.8rem;height:100%}
.info-slab h3{font-size:1.25rem;font-weight:700}
.info-slab p,.info-slab address{color:var(--muted);margin-bottom:.4rem;font-style:normal}
.site-end{background:var(--ink);color:hsl(26,20%,80%);padding:clamp(2.8rem,6vw,4.4rem) 0 1.6rem}
.end-brand{font-size:2rem;font-weight:700;color:var(--cream)}
.end-note{font-size:.93rem;color:hsl(26,15%,68%)}
.end-head{font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;color:hsl(24,70%,78%)}
.end-links{list-style:none;padding:0;margin:0}
.end-links a{color:hsl(26,20%,80%);text-decoration:none;display:inline-block;padding:.3rem 0;min-height:32px}
.end-links a:hover{color:#fff}
.end-contact,.end-contact a{color:hsl(26,20%,80%);text-decoration:none;line-height:1.9}
.end-contact a:hover{color:#fff}
.end-hours{font-size:.88rem;color:hsl(26,15%,62%)}
.end-line{border-top:1px solid hsla(26,20%,80%,.18);margin-top:2.4rem;padding-top:1.4rem;display:flex;flex-wrap:wrap;gap:.8rem 2rem;justify-content:space-between;font-size:.85rem}
.end-line p{margin:0;color:hsl(26,15%,62%)}
.end-legal{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;padding:0;margin:0}
.end-legal a{color:hsl(26,20%,78%);text-decoration:none;display:inline-block;padding:.2rem 0}
.end-legal a:hover{color:#fff}
.consent-veil{position:fixed;inset:0;background:hsla(340,30%,10%,.6);z-index:200;display:none;align-items:center;justify-content:center;padding:1.2rem}
.consent-veil.on{display:flex}
.consent-card{background:var(--cream);border-radius:1.4rem;max-width:26rem;padding:2rem;box-shadow:0 30px 70px hsla(340,30%,10%,.4)}
.consent-title{font-size:1.6rem;font-weight:700}
.consent-card p{color:var(--muted);font-size:.95rem}
.consent-row{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.1rem 0 .6rem}
.consent-more{font-size:.85rem}
.consent-gear{position:fixed;left:1rem;bottom:1rem;z-index:150;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--ink);color:var(--cream);font-size:1.3rem;box-shadow:0 10px 24px hsla(340,30%,10%,.3)}
.reveal-soft{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal-soft.shown{opacity:1;transform:none}
@media (max-width:591px){.row{--bs-gutter-x:1rem}.hero-stage{min-height:74vh}.end-line{flex-direction:column}.rate-sheet th,.rate-sheet td{padding:.6rem .55rem;font-size:.85rem}.rate-sheet td:last-child{white-space:normal}}
@media (min-width:592px) and (max-width:927px){.offer-card img{height:200px}}
@media (min-width:928px){.hero-copy{padding-right:2rem}}
@media (prefers-reduced-motion:reduce){.reveal-soft{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
