@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/bricolage-grotesque.woff2) format("woff2-variations"),url(/fonts/bricolage-grotesque.woff2) format("woff2")}
[hidden]:not([hidden=until-found i]){display:none!important}
/* Afia Dental — site styles.
   One motif: the gold smile curve under the name. It crops every photo, rounds the bottom of every button, divides the page and closes it. */
:root{
  /* brand fields — constant in both themes */
  --deep:#1E3A35; --teal:#3E6B63; --teal-2:#4A786F; --teal-3:#8FB3AA; --teal-4:#C9DCD7;
  --gold:#D6A653; --gold-soft:#EBD3A6; --on-deep:#F1F5F3; --on-light:#14302B;
  --paper:#F6F8F7; --soft-light:#4C625D;
  /* theme */
  --ground:#F6F8F7; --surface:#E7EEEC; --surface-2:#DCE7E4; --ink:#14302B; --ink-soft:#4C625D;
  --field-ink:#14302B;
  --display:"Bricolage Grotesque", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --step-small:clamp(0.8125rem,0.79rem + 0.1vw,0.875rem);
  --step-body:clamp(1.0625rem,1rem + 0.25vw,1.1875rem);
  --step-lead:clamp(1.25rem,1.1rem + 0.7vw,1.625rem);
  --step-head:clamp(2rem,1.3rem + 3.2vw,4rem);
  --step-hero:clamp(3.6rem,10vw,10rem);
  --margin:max(20px,4vw);
  --smile:0 0 50% 50% / 0 0 22% 22%;
  --btn-radius:6px 6px 26px 26px / 6px 6px 18px 18px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --sec:clamp(104px,11vw,168px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#0F1C1A; --surface:#172926; --surface-2:#1F3531; --ink:#E8F0ED; --ink-soft:#A8BDB7; color-scheme:dark}}
:root[data-theme="dark"]{--ground:#0F1C1A; --surface:#172926; --surface-2:#1F3531; --ink:#E8F0ED; --ink-soft:#A8BDB7; color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--display);font-size:var(--step-body);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--deep)}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-weight:600;letter-spacing:-0.04em;line-height:0.95;margin:0;text-wrap:balance}
p{margin:0}
.wrap{padding-left:max(var(--margin),env(safe-area-inset-left,0px));padding-right:max(var(--margin),env(safe-area-inset-right,0px))}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
::selection{background:var(--gold);color:var(--on-light)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons — square top, smile bottom */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:54px;padding:0 28px 4px;border:0;border-radius:var(--btn-radius);background:var(--gold);color:var(--on-light);font:500 var(--step-body)/1 var(--display);text-decoration:none;cursor:pointer;transition:transform .2s var(--ease),background-color .2s}
.btn:hover{background:var(--gold-soft);transform:translateY(-2px)}
.btn:active{transform:translateY(1px) scale(.98)}
.btn.dark{background:var(--deep);color:var(--on-deep)}
.btn.dark:hover{background:var(--teal)}
.smile-img{border-radius:var(--smile);overflow:hidden;background:var(--surface)}
.smile-img img{width:100%;height:100%;object-fit:cover}

/* ───── HERO ───── */
.hero{background:var(--deep);color:var(--on-deep);overflow:hidden}
.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-block:22px}
.top nav{display:flex;gap:24px;font-size:15px}
.top nav a,.top .tel{text-decoration:none;opacity:.88;transition:opacity .2s}
.top nav a:hover,.top .tel:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.mark{display:flex;align-items:center;gap:10px;font-weight:600;font-size:20px;letter-spacing:-.02em;text-decoration:none}
.mark svg{width:22px;height:24px}
.top .tel{justify-self:end;font-size:15px;font-variant-numeric:tabular-nums}
.hero-head{text-align:center;padding-block:clamp(32px,4vw,56px) clamp(48px,5vw,72px)}
.hero h1{font-size:var(--step-hero);line-height:.9;letter-spacing:-.05em}
.hero h1 span{display:inline-block}
.arc{display:block;width:min(40%,480px);margin:clamp(6px,1vw,14px) auto 0;color:var(--gold)}
.hero-sub{max-width:44ch;margin:clamp(18px,2vw,26px) auto 0;font-size:var(--step-lead);line-height:1.35;color:var(--on-deep)}
.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:clamp(22px,2.4vw,32px)}
.btn.ghost{background:transparent;color:var(--on-deep);box-shadow:inset 0 0 0 2px rgba(241,245,243,.4)}
.btn.ghost:hover{background:rgba(241,245,243,.1)}
.hero-bar{display:grid;grid-template-columns:repeat(3,1fr)}
.hero-bar > *{min-width:0;padding:24px max(20px,3vw) 26px;display:flex;flex-direction:column;gap:6px;color:var(--on-deep);text-decoration:none;transition:filter .2s}
.hero-bar > :nth-child(1){background:var(--teal)}
.hero-bar > :nth-child(2){background:#36605A}
.hero-bar > :nth-child(3){background:#2E5650}
.hero-bar a:hover{filter:brightness(1.12)}
.hero-bar strong{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.hero-bar strong em{font-style:normal;color:#F0D9A8}
.hero-bar p,.hero-bar small{font-size:15px;opacity:.92;line-height:1.4}
.dot{width:11px;height:11px;border-radius:50%;background:var(--teal-3);flex:none}
.dot.open{background:#2F9E6E;box-shadow:0 0 0 0 rgba(47,158,110,.5);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(47,158,110,0)}100%{box-shadow:0 0 0 0 rgba(47,158,110,0)}}
.hours{font-variant-numeric:tabular-nums}
.hours .today{font-weight:600;opacity:1;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:5px}

/* ───── INTRO statement ───── */
.intro{padding-block:clamp(96px,10vw,152px)}
.statement{max-width:30ch;margin:0 auto;text-align:center;font-size:clamp(24px,3vw,36px);font-weight:500;line-height:1.28;letter-spacing:-.02em}
.thumb{display:inline-block;width:1.3em;height:.9em;vertical-align:-.12em;margin:0 .12em;border-radius:var(--smile);overflow:hidden;background:var(--surface)}
.thumb img{width:100%;height:100%;object-fit:cover}

/* ───── SERVICES specimens ───── */
.services{padding-bottom:var(--sec)}
.services-head{display:flex;justify-content:space-between;align-items:end;gap:20px 40px;flex-wrap:wrap;margin-bottom:32px}
.services-head h2{font-size:var(--step-head)}
.services-head p{max-width:44ch;flex:1 1 320px}
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:20px 10px}
.tile{display:flex;flex-direction:column;gap:12px;text-decoration:none;min-width:0}
.tile .stage{aspect-ratio:1/1;background:var(--tc);display:flex;align-items:center;justify-content:center;padding:10%;transition:background-color .3s}
.tile.wide{grid-column:span 2}
.tile.wide .stage{aspect-ratio:8/5}
.tile .stage .smile-img{width:100%;aspect-ratio:1/1}
.tile.wide .stage .smile-img{width:62%;aspect-ratio:5/4}
.tile{--tc:var(--surface)}
.tile:hover{--tc:var(--surface-2)}
.tile .smile-img img{transition:transform .6s var(--ease)}
.tile:hover .smile-img img{transform:scale(1.06)}
.tile h3{font-size:20px;font-weight:500;letter-spacing:-.01em;line-height:1.2}
.tile p{font-size:16px;color:var(--ink);margin-top:-6px}

/* ───── ABOUT inset panel ───── */
.about-outer{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.about{position:relative;background:var(--deep);color:var(--on-deep);overflow:hidden;display:grid;grid-template-columns:repeat(12,1fr);align-content:start;padding:56px}
.about h2{grid-column:1/8;font-size:clamp(2.5rem,4.4vw,4rem);line-height:.98;color:var(--on-deep)}
.about-text{grid-column:8/13;grid-row:1/3;display:flex;flex-direction:column;gap:36px;max-width:420px;justify-self:end}
.about-text h3{font-size:22px;font-weight:500;letter-spacing:-.01em;line-height:1.2;margin-bottom:10px}
.about-text p{font-size:16px;line-height:1.55;color:var(--on-deep);opacity:.86}
.about-photo{grid-column:1/7;grid-row:2;align-self:end;width:min(28vw,380px);margin:32px 0 -110px;aspect-ratio:1/1;border-radius:50% 50% 50% 50% / 30% 30% 70% 70%;overflow:hidden}
.about-photo img{width:100%;height:100%;object-fit:cover}

/* ───── smile band ───── */
.band{padding-block:var(--sec) 0}
.band svg{display:block;width:100%;height:auto;color:var(--gold)}

/* ───── DENTISTS index with preview ───── */
.team{display:grid;grid-template-columns:repeat(12,1fr);gap:0 clamp(16px,2vw,28px);padding-block:clamp(24px,3vw,40px) var(--sec)}
.team-head{grid-column:1/13;display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,3vw,40px)}
.team-head h2{font-size:var(--step-head)}
.team-head p{max-width:42ch}
.index{grid-column:1/9;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.index button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:4px 24px;width:100%;padding:16px 22px;background:var(--surface);transition:background-color .24s,opacity .24s,color .24s}
.index:hover button:not(:hover):not(.on){opacity:.55}
.index button.on,.index button:hover{background:var(--deep);color:var(--on-deep)}
.index button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.index .who{font-size:clamp(1.4rem,2vw,1.875rem);font-weight:600;letter-spacing:-.03em;line-height:1.05}
.index .focus{grid-column:1/2;font-size:16px;opacity:.82}
.index .inl{display:none}
.preview{grid-column:9/13;position:sticky;top:24px;align-self:start;width:min(100%,300px);justify-self:end}
.frame{position:relative;aspect-ratio:1/1;border-radius:var(--smile);overflow:hidden;background:var(--surface)}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;opacity:0;transition:opacity .24s ease}
.frame img.on{opacity:1}
.preview p{margin-top:14px;font-size:16px;color:var(--ink)}

/* ───── VISIT accordion ───── */
.visit{padding-bottom:var(--sec)}
.visit-intro{display:grid;grid-template-columns:repeat(12,1fr);gap:0 clamp(16px,2vw,28px);margin-bottom:28px;align-items:end}
.visit-intro h2{grid-column:1/6;font-size:var(--step-head)}
.visit-intro p{grid-column:7/12;font-size:18px}
.stages{display:flex;flex-direction:column}
.stage-p{position:relative;background:var(--sc);color:var(--si)}
.stage-p:nth-child(1){--sc:var(--deep);--si:var(--on-deep)}
.stage-p:nth-child(2){--sc:var(--teal);--si:var(--on-deep)}
.stage-p:nth-child(3){--sc:var(--teal-2);--si:var(--on-deep)}
.stage-p:nth-child(4){--sc:var(--teal-3);--si:var(--on-light)}
.stage-p > button{all:unset;cursor:pointer;position:absolute;inset:0;z-index:1}
.stage-p.open > button{cursor:default}
.stage-p > button:focus-visible{outline:3px solid var(--gold);outline-offset:-6px}
.stage-p .vname{display:block;padding:20px 28px;font-size:20px;font-weight:600;transition:padding-left .25s var(--ease)}
.stage-p:not(.open):hover .vname{padding-left:36px}
.stage-p .body{display:none;grid-template-columns:repeat(12,1fr);gap:16px clamp(16px,2vw,28px);padding:28px;align-items:start}
.stage-p.open .vname{display:none}
.stage-p.open .body{display:grid;animation:up .45s var(--ease) both}
.stage-p .body h3{grid-column:1/6;font-size:clamp(1.7rem,2.4vw,2.25rem)}
.stage-p .body p{grid-column:6/13;max-width:52ch;font-size:18px}

/* ───── REVIEW ───── */
.review{display:grid;grid-template-columns:repeat(12,1fr);gap:0 clamp(16px,2vw,28px);padding-bottom:var(--sec);align-items:start}
.score-col{grid-column:1/5;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.score{width:100%;max-width:320px;aspect-ratio:1/1;background:var(--gold);color:var(--on-light);border-radius:var(--smile);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:24px 24px 48px;text-align:center}
.score b{font-size:clamp(4rem,7vw,6.5rem);font-weight:600;letter-spacing:-.06em;line-height:.85}
.score span{font-size:var(--step-lead);font-weight:500}
.score small{font-size:16px;margin-top:4px}
.g-link{font-size:17px;font-weight:500;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:6px;transition:color .2s}
.g-link:hover{color:var(--teal)}
.quote{grid-column:6/13}
.quote blockquote{margin:0;font-size:clamp(1.5rem,2.4vw,2.25rem);font-weight:400;line-height:1.22;letter-spacing:-.02em;max-width:28ch}
.quote cite{display:block;margin-top:20px;font-style:normal;font-size:16px;color:var(--ink-soft)}
.more{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:40px}
.more figure{margin:0;padding:22px 24px;background:var(--surface);display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.more blockquote{margin:0;font-size:17px;line-height:1.45}
.more figcaption{font-size:15px;color:var(--ink-soft)}

/* ───── FAQ ───── */
.faq{display:grid;grid-template-columns:repeat(12,1fr);gap:0 clamp(16px,2vw,28px);padding-bottom:var(--sec)}
.faq-head{grid-column:1/5;position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:18px;align-items:flex-start;padding-right:16px}
.faq-head h2{font-size:var(--step-head)}
.faq-head p{max-width:30ch}
.faq-head .tel{font-size:var(--step-lead);font-weight:500;font-variant-numeric:tabular-nums}
.qs{grid-column:5/13;display:flex;flex-direction:column;gap:8px}
.qs details{background:var(--surface);transition:background-color .25s}
.qs summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:18px 24px;font-size:20px;font-weight:500;letter-spacing:-.01em;line-height:1.25}
.qs summary::-webkit-details-marker{display:none}
.plus{position:relative;width:16px;height:16px;flex:none}
.plus::before,.plus::after{content:"";position:absolute;left:0;top:6.5px;width:16px;height:3px;background:currentColor;transition:transform .25s var(--ease)}
.plus::after{transform:rotate(90deg)}
.qs details[open]{background:var(--deep);color:var(--on-deep)}
.qs details[open] .plus::after{transform:rotate(0)}
.qs details p{padding:0 24px 26px;max-width:52ch;font-size:17px;opacity:.9}
.qs summary:hover{color:var(--teal)}
.qs details[open] summary:hover{color:var(--gold-soft)}

/* ───── COUPON ───── */
.book{padding-block:0 var(--sec)}
.coupon{--notch:28px;position:relative;width:min(100%,1180px);margin:0 auto;background:var(--teal);color:var(--on-deep);display:grid;grid-template-columns:46% 1fr;
  -webkit-mask:radial-gradient(circle var(--notch) at 46% 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle var(--notch) at 46% 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
          mask:radial-gradient(circle var(--notch) at 46% 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle var(--notch) at 46% 100%,#0000 98%,#000) bottom/100% 51% no-repeat}
.coupon-l{padding:48px;display:flex;flex-direction:column;justify-content:flex-start;gap:20px;border-right:5px dotted var(--ground)}
.coupon-l h2{font-size:clamp(1.9rem,3vw,2.75rem);line-height:1}
.coupon-l p{font-size:16px;max-width:36ch}
.coupon-l .tel{font-size:var(--step-lead);font-weight:500;font-variant-numeric:tabular-nums}
.coupon form{padding:48px;display:flex;flex-direction:column;gap:10px}
.coupon input,.coupon select{width:100%;height:52px;padding:0 16px;border:0;border-radius:0;background:#4F7D74;color:var(--on-deep);font:16px var(--display);appearance:none}
.coupon input::placeholder{color:#D7E5E1}
.coupon select{background-image:linear-gradient(45deg,transparent 50%,#D7E5E1 50%),linear-gradient(135deg,#D7E5E1 50%,transparent 50%);background-position:calc(100% - 22px) 23px,calc(100% - 16px) 23px;background-size:6px 6px;background-repeat:no-repeat}
.coupon input:focus,.coupon select:focus{outline:3px solid var(--gold);outline-offset:0}
.coupon .submit{width:100%;height:56px;margin-top:6px}
.form-note{min-height:1.5em;font-size:15px;color:var(--gold-soft)}

/* ───── FOOTER ───── */
footer{background:var(--deep);color:var(--on-deep);padding-block:clamp(48px,5vw,72px) 0}
.foot-cta{display:flex;flex-direction:column;gap:16px}
.foot-cta .line{display:flex;align-items:center;gap:16px 32px;flex-wrap:wrap}
.foot-cta .line span{margin-left:auto}
.foot-cta p{font-size:var(--step-head);font-weight:600;letter-spacing:-.04em;line-height:1}
.foot-cta span{font-size:var(--step-lead);opacity:.9;font-variant-numeric:tabular-nums}
.foot-cta .btn{min-height:60px;padding-inline:36px;font-size:var(--step-lead)}
.to-top{font-size:14px;text-underline-offset:4px}
.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,220px)) minmax(0,1fr);gap:32px clamp(24px,4vw,64px);margin-top:clamp(48px,5vw,72px);font-size:16px}
.foot-cols > div{display:flex;flex-direction:column;gap:10px;min-width:0}
.foot-cols b{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;margin-bottom:4px}
.foot-cols b::before{content:"";width:16px;height:7px;background:var(--gold);border-radius:0 0 16px 16px / 0 0 7px 7px;flex:none}
.foot-cols a,.foot-cols span{color:var(--on-deep);opacity:.9;text-decoration:none;font-variant-numeric:tabular-nums}
.foot-cols a{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:5px;transition:text-decoration-color .2s,opacity .2s}
.foot-cols a:hover{opacity:1;text-decoration-color:var(--gold)}
.foot-cols .today{opacity:1;font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:5px}
.foot-last-band{background:#2A4A44;margin-top:clamp(48px,5vw,64px)}
.foot-last{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-block:18px;font-size:14px}
.foot-last span{opacity:.85}

/* ───── motion ───── */
.js [data-rise]{opacity:0;transform:translateY(24px)}
.js [data-rise].in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0ms)}
.hero h1 span,.hero .arc path{animation:none}
.js .hero h1 span{animation:up .9s var(--ease) both}
.js .hero h1 span:nth-child(2){animation-delay:.08s}
.js .hero .arc{animation:draw 1.1s .35s var(--ease) both;transform-origin:center}
.js .hero-sub{animation:up .9s .25s var(--ease) both}
.js .hero-actions{animation:up .9s .35s var(--ease) both}
.js .hero-bar > *{animation:slide .8s var(--ease) both;animation-delay:calc(.45s + var(--i,0) * 90ms)}
@keyframes up{from{opacity:0;transform:translateY(32px)}}
@keyframes draw{from{opacity:0;transform:scaleX(.2)}}
@keyframes slide{from{opacity:0;transform:translateY(28px)}}
.about-photo img{transform:scale(1.08);transition:transform 1.6s var(--ease)}
.about-photo.in img{transform:scale(1)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .js [data-rise]{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ───── responsive ───── */
@media (max-width:1000px){
  .tiles{grid-template-columns:repeat(3,1fr)}
  .about-text{grid-column:1/13;grid-row:2;justify-self:start;margin-top:48px;max-width:560px}
  .about h2{grid-column:1/13}
  .about-photo{grid-column:1/13;grid-row:3;justify-self:center;width:min(80%,420px);margin:40px 0 -28%}
  .about{min-height:0}
}
@media (max-width:720px){
  .hero h1{font-size:15vw}
  .hero h1 span{display:block}
  .arc{width:72%}
  .hero-bar{grid-template-columns:1fr}
  .hero-actions .btn{flex:1 1 100%}
  .top{grid-template-columns:1fr auto}
  .top nav{display:none}
  .mark{justify-self:start}
  .intro{padding-block:48px}
  .statement{text-align:left;font-size:24px}
  .tiles{grid-template-columns:1fr 1fr;gap:20px 8px}
  .tile.wide{grid-column:1/3;order:-1}
  .tile h3{font-size:17px}.tile p{font-size:15px}
  .about-outer{padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}
  .about{padding:36px 24px}
  .about h2{font-size:8.5vw}
  .index,.preview{grid-column:1/13}
  .preview{display:none}
  .index .inl{display:block;grid-column:2/3;grid-row:1/3;width:56px;height:62px;border-radius:var(--smile);overflow:hidden}
  .index .inl img{width:100%;height:100%;object-fit:cover}
  .index button{padding:16px 18px;align-items:center}
  .visit-intro h2,.visit-intro p{grid-column:1/13}
  .visit-intro p{margin-top:18px}
  .stage-p .vname{padding:18px 22px;font-size:18px}
  .stage-p .body{grid-template-columns:1fr;padding:22px}
  .stage-p .body h3,.stage-p .body p{grid-column:1/-1}
  .stage-p .body p{font-size:17px}
  .score-col{grid-column:1/13;flex-direction:row;align-items:center;gap:20px;margin-bottom:32px}
  .score{max-width:150px;padding:16px 16px 30px}
  .score b{font-size:3.25rem}.score span{font-size:16px}.score small{font-size:13px}
  .quote{grid-column:1/13}
  .quote blockquote{font-size:24px}
  .more{grid-template-columns:1fr}
  .faq-head{grid-column:1/13;position:static;margin-bottom:24px}
  .faq-head h2{font-size:9vw}
  .qs{grid-column:1/13;gap:6px}
  .qs summary{font-size:18px;min-height:64px;padding:16px 20px}
  .qs details p{font-size:16px;padding:0 20px 22px}
  .coupon{grid-template-columns:1fr;
    -webkit-mask:radial-gradient(circle var(--notch) at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle var(--notch) at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
            mask:radial-gradient(circle var(--notch) at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle var(--notch) at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
  .coupon-l{border-right:0;border-bottom:5px dotted var(--ground);padding:32px 24px 40px}
  .coupon form{padding:40px 24px 32px}
  .coupon input,.coupon select{height:54px}
  .foot-cta .line span{margin-left:0}
  .foot-cta .btn{width:100%}
  .foot-cols{grid-template-columns:1fr 1fr}
}

/* ───── added for launch ───── */
.skip{position:absolute;left:12px;top:-60px;z-index:20;padding:10px 16px;background:var(--gold);color:var(--on-light);font-weight:600;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
.hero h1 .kicker{display:block;margin-bottom:clamp(10px,1.4vw,18px);font-size:var(--step-small);font-weight:500;letter-spacing:.14em;text-transform:uppercase;line-height:1.2;color:var(--gold-soft)}
.book-actions{display:flex;flex-direction:column;gap:12px;padding:48px;justify-content:center}
.book-actions .btn{width:100%;min-height:60px;font-size:var(--step-lead)}
.book-actions .btn.ghost{background:transparent;color:var(--on-deep);box-shadow:inset 0 0 0 2px rgba(241,245,243,.5)}
.book-actions .btn.ghost:hover{background:rgba(241,245,243,.1)}
.book-actions small{font-size:15px;opacity:.9}
.foot-legal{display:flex;gap:8px 20px;flex-wrap:wrap}
.foot-legal a{opacity:.85;text-underline-offset:4px}
/* inner pages */
.bar{background:var(--deep);color:var(--on-deep)}
.bar .top{grid-template-columns:1fr auto}
.bar .top .mark{justify-self:start}
.doc{max-width:72ch;padding-block:clamp(56px,7vw,104px) var(--sec)}
.doc h1{font-size:var(--step-head);margin-bottom:12px}
.doc .updated{color:var(--ink-soft);font-size:var(--step-small);margin-bottom:40px}
.doc h2{font-size:clamp(1.4rem,2vw,1.75rem);letter-spacing:-.02em;line-height:1.15;margin:40px 0 12px}
.doc p,.doc li{margin:0 0 14px;max-width:65ch}
.doc ul{padding-left:1.2em;margin:0 0 14px}
.doc a{text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:4px}
@media (max-width:720px){.book-actions{padding:32px 24px}}
section[id],[id="book"]{scroll-margin-top:16px}
a,button,summary{touch-action:manipulation}
iframe[id^="self-scheduling-widget-button-iframe"]{display:none!important}
