/* SEPEMA — site stylesheet */
/* ── RESET & BASE ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;overflow-x:hidden;}
body{font-family:"Jost",sans-serif;font-weight:300;font-size:16px;line-height:1.8;color:#1a1816;background:#fff;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;cursor:pointer;}
button{font-family:inherit;cursor:pointer;}

/* ── TOKENS ── */
:root{
  --navy:#120D42;--white:#fff;--off:#f8f7f4;--gold:#ba9847;
  --gold-lt:rgba(186,152,71,0.18);--gold-rule:1px solid rgba(186,152,71,0.25);
  --text:#1a1816;--mid:#3a3836;--muted:#6a6864;--gap:2px;--nh:72px;
}

/* ── PREVIEW BANNER ── */
.preview-bar-unused{
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  background:var(--navy);padding:10px 24px;
  display:flex;align-items:center;justify-content:center;gap:12px;
  font-family:"Jost",sans-serif;font-size:11px;font-weight:400;
  letter-spacing:0.1em;color:rgba(255,255,255,0.5);
  border-top:1px solid rgba(186,152,71,0.3);
}
.preview-bar strong{color:var(--gold);font-weight:400;}

/* ── NAV ── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nh);
  padding:0 60px;display:flex;align-items:center;justify-content:space-between;
  background:rgba(255,255,255,0.97);backdrop-filter:blur(12px);
  box-shadow:0 1px 0 rgba(0,0,0,0.07);
}
.nav-logo{display:flex;align-items:center;}
.nav-logo img{height:44px;width:auto;}
.nav-links{display:flex;align-items:center;height:var(--nh);list-style:none;gap:0;}
.nav-item{position:relative;height:100%;display:flex;align-items:center;}
.nav-item>a{
  font-family:"Jost",sans-serif;font-size:11px;font-weight:400;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--mid);
  padding:0 16px;height:100%;display:flex;align-items:center;gap:5px;
  border-bottom:2px solid transparent;transition:color 0.2s,border-color 0.2s;
  white-space:nowrap;
}
.nav-item>a:hover,.nav-item>a.active{color:var(--navy);border-color:var(--gold);}
.nav-item>a .caret{font-size:7px;opacity:0.4;transition:transform 0.2s;}
.nav-item:hover>a .caret{transform:rotate(180deg);}
.nav-dropdown{
  position:absolute;top:calc(var(--nh) - 2px);left:0;
  background:#fff;box-shadow:0 8px 32px rgba(0,0,0,0.1);
  min-width:210px;padding:8px 0;opacity:0;pointer-events:none;
  transform:translateY(8px);transition:opacity 0.2s,transform 0.2s;
  border-top:2px solid var(--gold);z-index:300;
}
.nav-item:hover .nav-dropdown{opacity:1;pointer-events:auto;transform:translateY(0);}
.nav-dropdown a{
  display:block;padding:9px 18px;
  font-family:"Jost",sans-serif;font-size:12px;font-weight:300;
  letter-spacing:0.06em;color:var(--mid);transition:color 0.2s,background 0.2s;
}
.nav-dropdown a:hover{color:var(--navy);background:var(--off);}
.nav-dropdown hr{border:none;border-top:1px solid rgba(0,0,0,0.06);margin:6px 0;}
.nav-book{
  font-family:"Jost",sans-serif;font-size:11px;font-weight:400;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--navy);background:var(--gold);padding:12px 22px;
  margin-left:20px;transition:background 0.2s;flex-shrink:0;
}
.nav-book:hover{background:#a8872f;}

/* ── PAGE SHELL ── */
.page{display:none;padding-top:var(--nh);padding-bottom:80px;min-height:100vh;}
.page.active{display:block;}

/* ── TYPOGRAPHY ── */
.section-label{font-family:"Jost",sans-serif;font-size:10px;font-weight:400;letter-spacing:0.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:block;}
.section-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(32px,4vw,52px);letter-spacing:0.01em;line-height:1.05;color:var(--navy);margin-bottom:18px;}
.section-title em{font-style:italic;}
.section-title-lg{font-size:clamp(38px,5vw,64px);}
.section-sub{font-family:"Jost",sans-serif;font-weight:300;font-size:17px;line-height:1.9;color:var(--mid);max-width:54ch;}
.gold-rule{width:40px;height:1px;background:var(--gold);margin:18px 0 26px;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;font-family:"Jost",sans-serif;font-weight:400;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;padding:13px 28px;transition:background 0.2s,color 0.2s,border-color 0.2s;white-space:nowrap;border:none;}
.btn-gold{background:var(--gold);color:var(--navy);}
.btn-gold:hover{background:#a8872f;}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:#1e1860;}
.btn-outline{background:transparent;color:var(--navy);border:1px solid var(--navy);padding:12px 28px;}
.btn-outline:hover{background:var(--navy);color:#fff;}
.btn-outline-white{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.45);padding:12px 28px;}
.btn-outline-white:hover{border-color:#fff;}
.btn-ghost{font-family:"Jost",sans-serif;font-weight:300;font-size:13px;letter-spacing:0.06em;color:var(--mid);border-bottom:1px solid rgba(186,152,71,0.4);padding-bottom:2px;display:inline-flex;align-items:center;gap:8px;transition:color 0.2s,gap 0.3s;}
.btn-ghost:hover{color:var(--navy);gap:14px;}

/* ── LAYOUT ── */
.w{padding:80px 60px;}
.w-off{padding:80px 60px;background:var(--off);}
.w-navy{padding:80px 60px;background:var(--navy);}
.split{display:grid;grid-template-columns:1fr 1fr;}
.split-img{overflow:hidden;position:relative;min-height:460px;background:var(--off);} .split-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.split-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.split-content{padding:72px 60px;display:flex;flex-direction:column;justify-content:center;}
.split-content-off{background:var(--off);}
.img-placeholder{min-height:460px;}

/* ── HERO ── */
.hero{position:relative;height:calc(100vh - var(--nh));min-height:520px;overflow:hidden;display:flex;align-items:flex-end;}
.hero-img-wrap{position:absolute;inset:0;}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(18,13,66,0.05) 0%,rgba(18,13,66,0.25) 45%,rgba(18,13,66,0.72) 100%);}
.hero-content{position:relative;z-index:2;padding:0 60px 64px;max-width:860px;}
.hero-eyebrow{font-family:"Jost",sans-serif;font-size:11px;font-weight:400;letter-spacing:0.24em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:block;}
.hero-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(52px,7vw,100px);letter-spacing:0.01em;line-height:0.97;color:#fff;margin-bottom:28px;}
.hero-title em{font-style:italic;color:rgba(255,255,255,0.6);}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-scroll{position:absolute;bottom:32px;right:60px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;}
.hero-scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--gold),transparent);animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:0.3;}50%{opacity:1;}}
.hero-scroll-label{font-family:"Jost",sans-serif;font-size:9px;font-weight:300;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.3);}

/* ── PAGE HERO ── */
.page-hero{position:relative;min-height:52vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy);}
.page-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.4;}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(18,13,66,0.68) 0%,rgba(18,13,66,0.1) 55%,rgba(18,13,66,0) 100%);}
.page-hero-content{position:relative;z-index:2;padding:0 60px 56px;max-width:760px;}
.page-hero-label{font-family:"Jost",sans-serif;font-size:10px;font-weight:400;letter-spacing:0.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:block;}
.page-hero-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(40px,5.5vw,76px);letter-spacing:0.01em;line-height:1.0;color:#fff;margin-bottom:14px;}
.page-hero-sub{font-family:"Jost",sans-serif;font-weight:300;font-size:16px;line-height:1.8;color:rgba(255,255,255,0.72);max-width:50ch;margin-bottom:24px;}
.page-hero-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* ── BREADCRUMB ── */
.bc{background:var(--off);padding:12px 60px;border-bottom:1px solid rgba(0,0,0,0.06);font-family:"Jost",sans-serif;font-size:12px;font-weight:300;color:var(--muted);display:flex;gap:8px;align-items:center;}
.bc a{color:var(--muted);transition:color 0.2s;}
.bc a:hover{color:var(--navy);}
.bc-sep{opacity:0.35;}

/* ── STATS ── */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);background:var(--off);}
.stat{background:#fff;padding:40px 48px;text-align:center;}
.stat-num{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(36px,4vw,52px);line-height:1;letter-spacing:0.01em;color:var(--navy);}
.stat-num sup{font-size:0.45em;color:var(--gold);vertical-align:super;}
.stat-label{font-family:"Jost",sans-serif;font-size:10px;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-top:10px;}

/* ── SERVICE CARD SCROLL ── */
.scroller-outer{overflow:hidden;padding-left:60px;padding-bottom:60px;background:var(--off);}
.scroller{display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-right:60px;padding-bottom:2px;scrollbar-width:none;cursor:grab;}
.scroller::-webkit-scrollbar{display:none;}
.s-card{flex:0 0 290px;background:#fff;scroll-snap-align:start;display:flex;flex-direction:column;}
.s-card-img{width:100%;aspect-ratio:1/1;overflow:hidden;background:#e8e5e0;flex-shrink:0;}
.s-card-img img{width:100%;height:100%;object-fit:cover;}
.s-card-body{padding:20px 20px 24px;flex:1;display:flex;flex-direction:column;}
.s-card-cat{font-family:"Jost",sans-serif;font-size:9px;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
.s-card-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:20px;letter-spacing:0.01em;color:var(--navy);margin-bottom:8px;line-height:1.15;}
.s-card-desc{font-family:"Jost",sans-serif;font-weight:300;font-size:13px;line-height:1.75;color:var(--muted);flex:1;margin-bottom:10px;}
.s-card-price{font-family:"Jost",sans-serif;font-size:12px;font-weight:400;color:var(--mid);margin-bottom:14px;}
.s-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.s-card-btn{font-family:"Jost",sans-serif;font-size:10px;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--navy);background:var(--gold);padding:8px 14px;transition:background 0.2s;border:none;}
.s-card-btn:hover{background:#a8872f;}
.s-card-link{font-family:"Jost",sans-serif;font-size:12px;font-weight:300;color:var(--muted);border-bottom:1px solid rgba(0,0,0,0.1);padding-bottom:1px;transition:color 0.2s;}
.s-card-link:hover{color:var(--navy);}
.scroll-dots{display:flex;gap:6px;justify-content:flex-end;padding:14px 60px 0;background:var(--off);}
.dot{width:5px;height:5px;border-radius:50%;background:rgba(0,0,0,0.1);transition:background 0.3s;}
.dot.active{background:var(--gold);}

/* ── BA GRID ── */
.ba-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--gap);}
.ba-item{position:relative;overflow:hidden;aspect-ratio:1/1;background:var(--off);}
.ba-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s;}
.ba-item:hover img{transform:scale(1.04);}
.ba-tag{position:absolute;bottom:10px;left:10px;font-family:"Jost",sans-serif;font-size:9px;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:#fff;background:rgba(18,13,66,0.7);padding:4px 10px;}
.ba-consent{font-family:"Jost",sans-serif;font-size:11px;font-weight:300;color:var(--muted);margin-top:14px;font-style:italic;}

/* ── TREATMENT CARDS ── */
.t-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--gap);}
.t-card{background:var(--off);padding:36px 32px;display:flex;flex-direction:column;border-bottom:2px solid transparent;transition:border-color 0.3s,background 0.3s;}
.t-card:hover{border-color:var(--gold);background:#fff;}
.t-card-label{font-family:"Jost",sans-serif;font-size:9px;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.t-card-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(20px,2.2vw,26px);letter-spacing:0.01em;color:var(--navy);margin-bottom:10px;line-height:1.1;}
.t-card-body{font-family:"Jost",sans-serif;font-weight:300;font-size:14px;line-height:1.8;color:var(--muted);flex:1;margin-bottom:16px;}
.t-card-price{font-family:"Jost",sans-serif;font-size:13px;font-weight:400;color:var(--mid);margin-bottom:16px;}
.t-card-link{font-family:"Jost",sans-serif;font-size:10px;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--navy);display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--gold);padding-bottom:2px;width:fit-content;transition:gap 0.3s;}
.t-card:hover .t-card-link{gap:14px;}

/* ── PROCESS ── */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);}
.p-step{background:var(--off);padding:32px 24px;border-bottom:2px solid transparent;transition:border-color 0.3s;}
.p-step:hover{border-color:var(--gold);}
.p-step-dark{background:rgba(255,255,255,0.06);} .p-step-dark .p-num{color:var(--gold);}
.p-num{font-family:"Cormorant Garamond",serif;font-size:44px;font-weight:300;font-style:italic;color:var(--gold);line-height:1;margin-bottom:16px;}
.p-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:20px;letter-spacing:0.01em;color:var(--navy);margin-bottom:8px;}
.p-title-light{color:#fff;}
.p-body{font-family:"Jost",sans-serif;font-weight:300;font-size:14px;line-height:1.78;color:var(--muted);}
.p-body-light{color:rgba(255,255,255,0.62);}

/* ── PRICING ── */
.price-table{display:flex;flex-direction:column;gap:var(--gap);max-width:640px;}
.price-row{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;background:var(--off);}
.price-row-w{background:#fff;}
.price-label{font-family:"Jost",sans-serif;font-size:15px;font-weight:300;color:var(--mid);}
.price-note-sm{display:block;font-size:12px;color:var(--muted);margin-top:2px;}
.price-val{font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:300;letter-spacing:0.01em;color:var(--navy);white-space:nowrap;}

/* ── CTA STRIP ── */
.cta-strip{background:var(--off);padding:64px 60px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;border-top:var(--gold-rule);}
.cta-strip-dark{background:var(--navy);border-top:var(--gold-rule);}
.cta-strip-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(26px,3.5vw,44px);letter-spacing:0.01em;color:var(--navy);margin-bottom:6px;}
.cta-strip-title em{font-style:italic;}
.cta-strip-title-light{color:#fff;}
.cta-strip-sub{font-family:"Jost",sans-serif;font-weight:300;font-size:15px;color:var(--muted);line-height:1.75;max-width:46ch;}
.cta-strip-sub-light{color:rgba(255,255,255,0.65);}
.cta-strip-actions{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0;}

/* ── FAQ ── */
.faq-search-wrap{position:relative;max-width:520px;margin-bottom:48px;}
.faq-search{width:100%;font-family:"Jost",sans-serif;font-size:15px;font-weight:300;padding:15px 44px 15px 18px;border:1px solid rgba(0,0,0,0.12);background:#fff;color:var(--text);outline:none;transition:border-color 0.2s;}
.faq-search:focus{border-color:var(--gold);}
.faq-search-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;}
.faq-cat{margin-bottom:44px;}
.faq-cat-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(20px,2.5vw,28px);letter-spacing:0.01em;color:var(--navy);padding-bottom:14px;border-bottom:var(--gold-rule);margin-bottom:0;}
.faq-item{border-bottom:1px solid rgba(0,0,0,0.07);}
.faq-q{width:100%;background:none;border:none;text-align:left;padding:18px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;font-family:"Jost",sans-serif;font-size:15px;font-weight:400;color:var(--navy);line-height:1.4;}
.faq-q:hover{color:var(--gold);}
.faq-icon{flex-shrink:0;width:18px;height:18px;border:1px solid rgba(186,152,71,0.4);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background 0.2s,transform 0.3s;}
.faq-q.open .faq-icon{background:var(--gold);border-color:var(--gold);transform:rotate(45deg);}
.faq-icon svg{width:9px;height:9px;stroke:#ba9847;fill:none;stroke-width:2;transition:stroke 0.2s;}
.faq-q.open .faq-icon svg{stroke:#fff;}
.faq-a{display:none;padding:0 0 18px;font-family:"Jost",sans-serif;font-weight:300;font-size:14px;line-height:1.85;color:var(--muted);max-width:62ch;}
.faq-a.open{display:block;}
.faq-no-results{font-family:"Jost",sans-serif;font-size:15px;font-weight:300;color:var(--muted);padding:28px 0;display:none;}

/* ── ABOUT ── */
.about-quote{font-family:"Cormorant Garamond",serif;font-weight:300;font-style:italic;font-size:clamp(19px,2.3vw,26px);line-height:1.5;color:var(--navy);padding-left:20px;border-left:2px solid var(--gold);margin-bottom:26px;}
.about-body{font-family:"Jost",sans-serif;font-weight:300;font-size:16px;line-height:1.9;color:var(--mid);max-width:46ch;margin-bottom:14px;}
.link-label{font-family:"Jost",sans-serif;font-size:9px;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.link-row{display:flex;gap:14px;flex-wrap:wrap;}
.link-row a{font-family:"Jost",sans-serif;font-size:13px;font-weight:300;color:var(--mid);border-bottom:1px solid rgba(0,0,0,0.1);padding-bottom:1px;transition:color 0.2s;}
.link-row a:hover{color:var(--navy);}

/* ── CONTACT ── */
.contact-form{display:flex;flex-direction:column;gap:16px;max-width:560px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-field{display:flex;flex-direction:column;gap:6px;}
.form-label{font-family:"Jost",sans-serif;font-size:11px;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);}
.form-input{font-family:"Jost",sans-serif;font-size:15px;font-weight:300;padding:13px 16px;border:1px solid rgba(0,0,0,0.12);background:#fff;color:var(--text);outline:none;transition:border-color 0.2s;width:100%;}
.form-input:focus{border-color:var(--gold);}
.form-textarea{min-height:140px;resize:vertical;}
.map-placeholder{background:var(--off);height:360px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,0.08);}
.map-placeholder p{font-family:"Jost",sans-serif;font-size:13px;font-weight:300;color:var(--muted);text-align:center;line-height:1.8;}

/* ── PAY IT FORWARD ── */
.pif-hero{background:var(--navy);padding:80px 60px;text-align:center;}
.pif-hero-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(36px,5vw,68px);letter-spacing:0.01em;line-height:1.0;color:#fff;margin-bottom:16px;}
.pif-hero-title em{font-style:italic;color:var(--gold);}
.pif-hero-sub{font-family:"Jost",sans-serif;font-weight:300;font-size:17px;line-height:1.9;color:rgba(255,255,255,0.72);max-width:52ch;margin:0 auto 32px;}
.pif-embed-placeholder{background:var(--off);border:1px dashed rgba(186,152,71,0.4);padding:48px;text-align:center;max-width:680px;margin:0 auto;}
.pif-embed-placeholder p{font-family:"Jost",sans-serif;font-size:14px;font-weight:300;color:var(--muted);line-height:1.8;}
.pif-embed-placeholder strong{font-weight:400;color:var(--navy);}

/* ── FOOTER ── */
.footer{background:var(--navy);padding:60px 60px 36px;border-top:var(--gold-rule);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,0.07);margin-bottom:28px;}
.footer-logo{margin-bottom:16px;}
.footer-logo img{height:40px;width:auto;opacity:0.85;}
.footer-tagline{font-family:"Jost",sans-serif;font-size:13px;font-weight:300;font-style:italic;color:rgba(255,255,255,0.65);line-height:1.7;max-width:26ch;}
.footer-col-heading{font-family:"Jost",sans-serif;font-size:9px;font-weight:400;letter-spacing:0.24em;text-transform:uppercase;color:var(--gold);opacity:0.75;margin-bottom:16px;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-links a{font-family:"Jost",sans-serif;font-size:13px;font-weight:300;color:rgba(255,255,255,0.82);transition:color 0.2s;}
.footer-links a:hover{color:#fff;}
.footer-address{font-family:"Jost",sans-serif;font-size:13px;font-weight:300;color:rgba(255,255,255,0.82);line-height:1.9;}
.footer-address a{color:var(--gold);opacity:0.75;transition:opacity 0.2s;}
.footer-address a:hover{opacity:1;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;}
.footer-copy{font-family:"Jost",sans-serif;font-size:11px;font-weight:300;color:rgba(255,255,255,0.26);letter-spacing:0.06em;}
.footer-social{display:flex;gap:20px;}
.footer-social a{font-family:"Jost",sans-serif;font-size:11px;font-weight:300;letter-spacing:0.1em;color:rgba(255,255,255,0.72);transition:color 0.2s;}
.footer-social a:hover{color:rgba(255,255,255,0.75);}

/* ── GIFT VOUCHERS ── */
.voucher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--gap);}
.voucher-card{background:var(--navy);padding:36px 32px;display:flex;flex-direction:column;gap:12px;}
.voucher-amount{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:48px;letter-spacing:0.01em;color:#fff;line-height:1;}
.voucher-desc{font-family:"Jost",sans-serif;font-weight:300;font-size:13px;color:rgba(255,255,255,0.6);line-height:1.7;flex:1;}
.voucher-btn{font-family:"Jost",sans-serif;font-size:10px;font-weight:400;letter-spacing:0.16em;text-transform:uppercase;color:var(--navy);background:var(--gold);padding:10px 18px;transition:background 0.2s;border:none;width:fit-content;}
.voucher-btn:hover{background:#a8872f;}

/* ── CLINIC POLICIES ── */
.policy-section{margin-bottom:44px;}
.policy-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(20px,2.5vw,28px);letter-spacing:0.01em;color:var(--navy);margin-bottom:16px;padding-bottom:12px;border-bottom:var(--gold-rule);}
.policy-body{font-family:"Jost",sans-serif;font-weight:300;font-size:15px;line-height:1.85;color:var(--mid);margin-bottom:10px;max-width:64ch;}

/* ── PREPARATION ── */
.prep-item{border-bottom:1px solid rgba(0,0,0,0.07);}
.prep-trigger{width:100%;background:none;border:none;text-align:left;padding:18px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;font-family:"Jost",sans-serif;font-size:15px;font-weight:400;color:var(--navy);}
.prep-trigger:hover{color:var(--gold);}
.prep-icon{flex-shrink:0;width:18px;height:18px;border:1px solid rgba(186,152,71,0.4);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background 0.2s,transform 0.3s;}
.prep-trigger.open .prep-icon{background:var(--gold);border-color:var(--gold);transform:rotate(45deg);}
.prep-icon svg{width:9px;height:9px;stroke:#ba9847;fill:none;stroke-width:2;transition:stroke 0.2s;}
.prep-trigger.open .prep-icon svg{stroke:#fff;}
.prep-body{display:none;padding:0 0 18px;}
.prep-body.open{display:block;}
.prep-body p{font-family:"Jost",sans-serif;font-weight:300;font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:10px;max-width:62ch;}
.prep-body strong{font-weight:400;color:var(--navy);}

/* ── NOTICE BOX ── */
.notice{background:rgba(186,152,71,0.08);border-left:3px solid var(--gold);padding:16px 20px;margin:20px 0;}
.notice p{font-family:"Jost",sans-serif;font-weight:300;font-size:14px;line-height:1.75;color:var(--mid);}
.notice p strong{font-weight:400;color:var(--navy);}

/* ── PARAMEDICAL/COSMETIC HUB ── */
.hub-intro{max-width:640px;margin-bottom:56px;}

.t-card-bg{position:relative;overflow:hidden;background-size:cover!important;background-position:center!important;}
.t-card-bg::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,0.88);z-index:0;}
.t-card-bg>*{position:relative;z-index:1;}

/* ==========================================================
   PRODUCTION LAYER — layout fixes, animation, mobile, form
   ========================================================== */
html{overflow-x:hidden;scroll-behavior:smooth;}
html,body{height:auto;}
body{overflow-x:clip;}
.page{padding-bottom:0;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* ---------- Nav ---------- */
.nav{transition:box-shadow .4s ease,background-color .4s ease;}
.nav.scrolled{box-shadow:0 1px 0 rgba(0,0,0,.07),0 8px 28px rgba(18,13,66,.07);}
.nav-item>a{position:relative;}
.nav-toggle{display:none;}
.js .nav{animation:navIn .8s cubic-bezier(.2,.7,.2,1) backwards;}
@keyframes navIn{from{opacity:0;transform:translateY(-14px);}to{opacity:1;transform:none;}}

/* ---------- Page + hero entrance (CSS-only, no JS dependency) ---------- */
@keyframes pageIn{from{opacity:0;}to{opacity:1;}}
body{animation:pageIn .7s ease both;}
@keyframes riseIn{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
.hero-eyebrow,.hero-title,.hero-actions,.page-hero-label,.page-hero-title,.page-hero-sub,.page-hero-actions,.pif-hero-title,.pif-hero-sub{animation:riseIn 1s cubic-bezier(.2,.7,.2,1) both;}
.hero-eyebrow,.page-hero-label{animation-delay:.25s;}
.hero-title,.page-hero-title,.pif-hero-title{animation-delay:.45s;}
.page-hero-sub,.pif-hero-sub{animation-delay:.65s;}
.hero-actions,.page-hero-actions{animation-delay:.85s;}
.hero-scroll{animation:pageIn 1.4s ease 1.4s both;}

/* ---------- Scroll reveals (JS adds .reveal / .in) ---------- */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .95s cubic-bezier(.2,.7,.2,1),transform .95s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms);will-change:opacity,transform;}
.js .reveal.reveal-fade{transform:none;}
.js .reveal.reveal-left{transform:translateX(-34px);}
.js .reveal.reveal-right{transform:translateX(34px);}
.js .reveal.reveal-zoom{transform:scale(.97);}
.js .reveal.in{opacity:1;transform:none;}
/* gold rules draw in */
.js .gold-rule.reveal{transform:scaleX(0);transform-origin:left center;}
.js .gold-rule.reveal.in{transform:scaleX(1);}

/* ---------- Hover polish ---------- */
.btn{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,background-color .25s,color .25s,border-color .25s;}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(18,13,66,.16);}
.btn:active{transform:translateY(0);}
.s-card,.voucher-card{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease;}
.s-card:hover,.voucher-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(18,13,66,.10);}
.s-card-img img,.t-card-bg,.split-img img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1);}
.s-card:hover .s-card-img img{transform:scale(1.06);}
.t-card{transition:border-color .3s,background .3s,transform .5s cubic-bezier(.2,.7,.2,1);}
.t-card:hover{transform:translateY(-4px);}
.footer-links a{display:inline-block;transition:color .25s,transform .3s ease;}
.footer-links a:hover{transform:translateX(4px);}
.faq-a,.prep-body{transition:max-height .5s ease,opacity .4s ease;}

/* ---------- Contact: form, success panel, map ---------- */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-wrap{position:relative;max-width:560px;}
.form-error{font-family:"Jost",sans-serif;font-size:14px;line-height:1.7;color:#8a2b2b;background:rgba(138,43,43,.06);border-left:2px solid #8a2b2b;padding:12px 16px;margin:0;}
.form-error a{color:#8a2b2b;text-decoration:underline;}
.form-input.touched:invalid{border-color:rgba(138,43,43,.6);}
#form-submit[disabled]{opacity:.6;cursor:progress;transform:none;box-shadow:none;}
.contact-form.sending{opacity:.55;pointer-events:none;transition:opacity .3s;}
.contact-form.leaving{opacity:0;transform:translateY(-12px);transition:opacity .5s ease,transform .5s ease;}
.form-success{padding:56px 40px;background:var(--off);border-top:2px solid var(--gold);text-align:left;animation:riseIn .9s cubic-bezier(.2,.7,.2,1) both;}
.form-success[hidden]{display:none;}
.form-success:focus{outline:none;}
.form-success-mark{display:block;width:54px;height:54px;color:var(--gold);margin-bottom:18px;}
.form-success-mark svg{width:100%;height:100%;}
.form-success-mark .tick{stroke-dasharray:24;stroke-dashoffset:24;animation:drawTick .9s ease .35s forwards;}
@keyframes drawTick{to{stroke-dashoffset:0;}}
.form-success-text{font-family:"Jost",sans-serif;font-weight:300;font-size:17px;line-height:1.85;color:var(--mid);max-width:38ch;}
.map-embed{position:relative;height:360px;border:1px solid rgba(0,0,0,.08);background:var(--off);overflow:hidden;}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;filter:grayscale(.2) contrast(1.02);}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;}
  .js .reveal{opacity:1!important;transform:none!important;}
}

/* ==========================================================
   RESPONSIVE (the preview had no mobile rules)
   ========================================================== */
@media (max-width:1100px){
  .nav{padding:0 28px;}
  .nav-item>a{padding:0 11px;letter-spacing:.14em;}
  .footer-grid{grid-template-columns:1fr 1fr!important;gap:36px!important;}
  .process-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:960px){
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;margin-left:10px;background:none;border:0;padding:10px;cursor:pointer;}
  .nav-toggle span{display:block;height:1px;background:var(--navy);transition:transform .35s ease,opacity .25s ease;transform-origin:center;}
  .nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav.open .nav-toggle span:nth-child(2){opacity:0;}
  .nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .nav{padding:0 16px 0 20px;backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;}
  .nav-book{margin-left:auto;padding:10px 16px;font-size:10px;}
  .nav-links{position:fixed;top:var(--nh);left:0;right:0;bottom:0;height:auto;background:#fff;flex-direction:column;align-items:stretch;padding:8px 24px 48px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .35s ease,transform .35s ease,visibility .35s;}
  .nav.open .nav-links{opacity:1;visibility:visible;transform:none;}
  .nav-item{height:auto;flex-direction:column;align-items:stretch;border-bottom:1px solid rgba(0,0,0,.06);}
  .nav-item>a{height:auto;padding:18px 0;font-size:12px;border-bottom:0;}
  .nav-item>a .caret{display:none;}
  .nav-dropdown{position:static;opacity:1;pointer-events:auto;transform:none;box-shadow:none;border-top:0;min-width:0;padding:0 0 14px 14px;}
  .nav-dropdown a{display:block;padding:9px 0;font-size:12px;}
  body.menu-open{overflow:hidden;}
  .split{grid-template-columns:1fr!important;}
  .split-img{min-height:340px;}
  .split-content{padding:56px 28px!important;}
}
@media (max-width:760px){
  .w,.w-off,.w-navy{padding:56px 22px!important;}
  .page-hero{min-height:44vh;}
  .page-hero-content{padding:0 22px 40px;}
  .hero-content{padding:0 22px 56px;}
  .hero-scroll{display:none;}
  .bc{padding:12px 22px;flex-wrap:wrap;}
  .cta-strip{padding:48px 22px;gap:24px;}
  .pif-hero{padding:56px 22px;}
  .scroller-outer{padding-left:22px;}
  .scroller{padding-right:22px;}
  .s-card{flex-basis:260px;}
  .stats,.voucher-grid,.t-grid,.ba-grid{grid-template-columns:1fr!important;}
  .ba-grid{grid-template-columns:1fr 1fr!important;}
  .process-grid{grid-template-columns:1fr!important;}
  .stat{padding:32px 22px;}
  .t-card{padding:30px 24px;}
  .form-row{grid-template-columns:1fr;}
  .footer{padding-left:22px!important;padding-right:22px!important;}
  .footer-grid{grid-template-columns:1fr!important;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:14px;}
  .price-row{padding:14px 16px;gap:12px;}
  .form-success{padding:40px 24px;}
  .map-embed{height:300px;}
  /* inline-styled layout blocks in the page markup */
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns:repeat("]{grid-template-columns:1fr!important;}
  [style*="padding:72px 60px"],[style*="padding:80px 60px"],[style*="padding:40px 60px"],[style*="padding:36px 60px"]{padding-left:22px!important;padding-right:22px!important;}
  [style*="padding:72px 60px"],[style*="padding:80px 60px"]{padding-top:52px!important;padding-bottom:52px!important;}
}


/* ==========================================================
   ROUND 2 FIXES
   ========================================================== */
[hidden]{display:none!important;}                      /* thank-you was pushed down because .contact-form{display:flex} beat [hidden] */

/* Services on home: full grid, no inner scrolling */
.scroller{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);overflow:visible;scroll-snap-type:none;cursor:default;}
.scroller .s-card{flex:none;min-width:0;}
.scroller-outer{padding-bottom:64px;}

/* Portrait photos of Ally: keep the face in frame at every size */
.split-img-portrait img{object-position:center 12%;}
.voucher-btn{display:inline-block;text-align:center;}
.map-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-family:"Jost",sans-serif;font-size:13px;font-weight:300;color:var(--navy);border-bottom:1px solid rgba(186,152,71,.55);padding-bottom:2px;transition:gap .3s,color .2s;}
.map-link:hover{gap:14px;color:var(--gold);}
.cta-strip-title{line-height:1.15;}
.cta-strip-actions{max-width:100%;}
.btn,.voucher-btn{max-width:100%;}

@media (max-width:1100px){
  .scroller{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:960px){
  .scroller{grid-template-columns:repeat(2,1fr);}
  .split-img.split-img-portrait{min-height:0;aspect-ratio:4/5;}
}
@media (max-width:760px){
  .page-hero{padding-top:44px;}                       /* breathing room under the header on every banner */
  .scroller{grid-template-columns:1fr;}
  .cta-strip-actions{width:100%;flex-shrink:1;}
  .cta-strip-actions .btn,.hero-actions .btn,.page-hero-actions .btn{white-space:normal;text-align:center;justify-content:center;line-height:1.5;}
  div:has(> .btn){flex-wrap:wrap;}
  .btn{white-space:normal;line-height:1.5;}
  .voucher-btn{width:100%;}
}

@media (max-width:960px){
  .about-photo{aspect-ratio:4/5;min-height:0;}
  .about-photo img{position:absolute;inset:0;}
}
