/* Clinique Face MD — design system v0.1 (prototype)
   Brand: Shark #231f20 · Black #000 · White #fff · Greige #ddd6ce · Montserrat */
@font-face{font-family:"Montserrat";src:url(/assets/fonts/montserrat-latin.woff2) format("woff2");font-weight:300 600;font-style:normal;font-display:swap}

:root{
  --ink:#231f20;          /* Shark — brand colour */
  --black:#000;
  --white:#fff;
  --sand:#ddd6ce;         /* brand greige */
  --sand-50:#f6f3ef;      /* tint of greige for large surfaces */
  --sand-100:#ece7e1;
  --muted:#5c5450;        /* 7.1:1 on white, 4.9:1 on greige */
  --line:rgba(35,31,32,.14);
  --line-strong:rgba(35,31,32,.32);
  --on-ink-muted:#bdb4ac;

  --font:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --text-xs:.75rem; --text-sm:.875rem; --text-base:1rem; --text-md:1.0625rem;
  --text-lg:clamp(1.125rem,1rem + .4vw,1.375rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.2vw,2.25rem);
  --text-2xl:clamp(2rem,1.4rem + 2.4vw,3.5rem);
  --text-hero:clamp(2.4rem,1.5rem + 3.6vw,4.75rem);

  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;--s20:5rem;--s24:6rem;--s32:8rem;
  --section:clamp(4rem,9vw,8.5rem);
  --wrap:1240px; --gutter:clamp(1.25rem,4vw,3rem);
  --radius:2px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:var(--font);font-size:var(--text-base);line-height:1.65;color:var(--ink);background:var(--white);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
h1,h2,h3,h4{margin:0;font-weight:300;line-height:1.12;letter-spacing:-.015em;text-wrap:balance}
p{margin:0 0 var(--s4);text-wrap:pretty}
ul{margin:0;padding:0}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--white);padding:var(--s3) var(--s4);z-index:100}
.skip:focus{left:var(--s4);top:var(--s4)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.eyebrow{display:inline-flex;align-items:center;gap:var(--s3);font-size:var(--text-xs);font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.on-ink .eyebrow{color:var(--on-ink-muted)}
.lead{font-size:var(--text-lg);line-height:1.6;color:var(--muted);font-weight:300;max-width:38em}
.prose{max-width:68ch}
.prose p,.prose li{color:#3d3735}
.prose ul{padding-left:1.1em;margin:0 0 var(--s5)}
.prose li{margin-bottom:var(--s2)}
.prose strong{font-weight:600;color:var(--ink)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s3);min-height:52px;padding:0 var(--s6);font:500 var(--text-sm)/1 var(--font);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:1px solid var(--ink);border-radius:var(--radius);transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);cursor:pointer;white-space:nowrap}
.btn-solid{background:var(--ink);color:var(--white)}
.btn-solid:hover{background:var(--black)}
.btn-line{background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--white)}
.on-ink .btn-solid{background:var(--white);color:var(--ink);border-color:var(--white)}
.on-ink .btn-solid:hover{background:var(--sand)}
.on-ink .btn-line{color:var(--white);border-color:rgba(255,255,255,.5)}
.on-ink .btn-line:hover{background:var(--white);color:var(--ink)}
.btn .arrow{width:18px;height:10px;flex:none}
.link{font-size:var(--text-sm);font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:4px;transition:border-color .2s}
.link:hover{border-color:var(--ink)}

/* Header */
.topbar{background:var(--ink);color:var(--white);font-size:var(--text-xs);letter-spacing:.06em}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:36px;gap:var(--s4)}
.topbar a{text-decoration:none}
.topbar .tb-right{display:flex;gap:var(--s6);align-items:center}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.header>.wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:var(--s6)}
.logo{display:block;color:var(--ink);width:150px;flex:none}
.logo svg{width:100%;height:auto;display:block}
.nav{display:flex;gap:clamp(1rem,2vw,2rem);align-items:center}
.nav a{font-size:var(--text-sm);font-weight:500;letter-spacing:.04em;text-decoration:none;padding:var(--s2) 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current]{border-color:var(--ink)}
.h-actions{display:flex;align-items:center;gap:var(--s4)}
.lang{font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-decoration:none;padding:var(--s2);border:1px solid var(--line);border-radius:var(--radius)}
.h-actions .btn{min-height:44px;padding:0 var(--s5);font-size:var(--text-xs)}
.menu-btn{display:none;background:none;border:0;padding:var(--s2);cursor:pointer;color:var(--ink)}
@media (max-width:1180px){.nav{display:none}.menu-btn{display:block}.h-actions .btn{display:none}}
.mobile-nav{display:none;border-top:1px solid var(--line);background:var(--white)}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:var(--s4) var(--gutter);border-bottom:1px solid var(--line);text-decoration:none;font-weight:500}

/* Construction-grid frame — echoes the logo grid in the brand guidelines */
.frame{position:relative}
.frame::before,.frame::after{content:"";position:absolute;pointer-events:none;border-color:var(--line-strong);border-style:solid;z-index:1}
.frame::before{inset:-14px 24px;border-width:1px 0}
.frame::after{inset:24px -14px;border-width:0 1px}
@media (max-width:720px){.frame::before{inset:-10px 16px}.frame::after{inset:16px -10px}}

/* Hero */
.hero{padding:clamp(2rem,4.5vw,4rem) 0 var(--section)}
.hero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.hero h1{font-size:clamp(2.25rem,1.3rem + 2.7vw,3.9rem);margin:var(--s5) 0 var(--s5)}
.hero .lead{font-size:var(--text-md);max-width:34em}

.hero h1 em{font-style:normal;font-weight:500}
.hero .lead{margin-bottom:var(--s8)}
.hero .chooser{max-width:560px}
.hero-media img{width:100%;aspect-ratio:4/5;object-fit:cover}
.hero-media figcaption{margin-top:var(--s5);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-media{order:-1}.hero-media img{aspect-ratio:4/3}}

/* Discovery-call chooser */
.chooser{border:1px solid var(--line);background:var(--white)}
.chooser-head{padding:var(--s5) var(--s6);border-bottom:1px solid var(--line)}
.chooser-head strong{display:block;font-weight:600;font-size:var(--text-md);margin-bottom:2px}
.chooser-head span{font-size:var(--text-sm);color:var(--muted)}
.choice{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s4);padding:var(--s5) var(--s6);text-decoration:none;border-bottom:1px solid var(--line);transition:background .2s var(--ease)}
.choice:last-child{border-bottom:0}
.choice:hover{background:var(--sand-50)}
.choice b{display:block;font-weight:500}
.choice small{display:block;color:var(--muted);font-size:var(--text-sm);line-height:1.45;margin-top:2px}
.choice .arrow{width:22px;height:12px;transition:transform .25s var(--ease)}
.choice:hover .arrow{transform:translateX(4px)}
.chooser-foot{display:flex;justify-content:space-between;gap:var(--s4);padding:var(--s4) var(--s6);background:var(--sand-50);font-size:var(--text-sm);color:var(--muted)}
.chooser-foot a{color:var(--ink);font-weight:500;text-decoration:none}

/* Proof strip */
.proof{background:var(--sand);}
.proof ul{list-style:none;display:grid;grid-template-columns:repeat(5,1fr)}
.proof li{padding:var(--s8) var(--s4);border-left:1px solid rgba(35,31,32,.18);text-align:center}
.proof li:first-child{border-left:0}
.proof b{display:block;font-size:var(--text-xl);font-weight:300;letter-spacing:-.01em;line-height:1.1}
.proof span{display:block;margin-top:var(--s2);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:#4a433f}
@media (max-width:900px){.proof ul{grid-template-columns:repeat(2,1fr)}.proof li{border-left:0;border-top:1px solid rgba(35,31,32,.18)}.proof li:first-child{grid-column:1/-1;border-top:0}}

/* Sections */
.section{padding:var(--section) 0}
.section-sand{background:var(--sand-50)}
.on-ink{background:var(--ink);color:var(--white)}
.on-ink .lead,.on-ink p{color:#d9d2cb}
.sec-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s12);align-items:end;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.sec-head h2{font-size:var(--text-2xl);margin-top:var(--s4)}
.sec-head .lead{margin:0}
@media (max-width:900px){.sec-head{grid-template-columns:1fr;gap:var(--s5)}}

/* Intent cards (Rajeunir / Harmoniser) */
.intent{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,3vw,2.5rem)}
.intent-card{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);background:var(--white)}
.intent-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.intent-body{padding:clamp(1.5rem,3vw,2.5rem)}
.intent-body h3{font-size:var(--text-xl);margin:var(--s3) 0 var(--s3)}
.intent-body p{color:var(--muted)}
.intent-list{list-style:none;margin-top:var(--s6);border-top:1px solid var(--line)}
.intent-list a{display:flex;justify-content:space-between;align-items:center;padding:var(--s4) 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:500}
.intent-list a span{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}
.intent-list a:hover{padding-left:var(--s2)}
.intent-list a{transition:padding .2s var(--ease)}
@media (max-width:820px){.intent{grid-template-columns:1fr}}

/* Feature split */
.split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.split.rev{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.split.rev .split-media{order:2}
.split h2{font-size:var(--text-2xl);margin:var(--s4) 0 var(--s5)}
.split-media img{width:100%;object-fit:cover}
.price-tag{display:flex;gap:var(--s6);align-items:baseline;flex-wrap:wrap;padding:var(--s5) 0;margin:var(--s6) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.price-tag b{font-size:var(--text-xl);font-weight:300}
.price-tag span{font-size:var(--text-sm);color:var(--muted)}
.actions{display:flex;gap:var(--s4);flex-wrap:wrap;align-items:center}
@media (max-width:900px){.split,.split.rev{grid-template-columns:1fr}.split.rev .split-media{order:0}}

/* Doctor */
.doc{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.doc img{width:100%;aspect-ratio:3/4;object-fit:cover}
.doc h2{font-size:var(--text-2xl);margin:var(--s4) 0 var(--s2)}
.doc .creds{font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--on-ink-muted);margin-bottom:var(--s8)}
.facts{list-style:none;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.18)}
.facts li{padding:var(--s5) var(--s6) var(--s5) 0;border-bottom:1px solid rgba(255,255,255,.18);color:#e6e0da;font-size:var(--text-sm);line-height:1.55}
.facts li:nth-child(odd){border-right:1px solid rgba(255,255,255,.18)}
.facts li:nth-child(even){padding-left:var(--s6)}
.facts b{display:block;font-size:var(--text-lg);font-weight:400;color:var(--white);margin-bottom:var(--s1)}
@media (max-width:900px){.doc{grid-template-columns:1fr}.doc img{aspect-ratio:4/3}}
@media (max-width:560px){.facts{grid-template-columns:1fr}.facts li:nth-child(odd){border-right:0}.facts li:nth-child(even){padding-left:0}}

/* Steps */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);counter-reset:s;border-top:1px solid var(--ink)}
.steps li{padding:var(--s8) var(--s8) 0 0;counter-increment:s}
.steps li::before{content:"0" counter(s);display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.2em;margin-bottom:var(--s6)}
.steps h3{font-size:var(--text-lg);font-weight:500;margin-bottom:var(--s3);letter-spacing:0}
.steps p{color:var(--muted);font-size:var(--text-base)}
@media (max-width:820px){.steps{grid-template-columns:1fr}.steps li{padding-right:0;border-bottom:1px solid var(--line);padding-bottom:var(--s4)}}

/* Mosaic */
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(110px,13vw,190px);gap:clamp(.5rem,1.2vw,1rem)}
.mosaic figure{margin:0;overflow:hidden;background:var(--sand-100)}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.mosaic figure:hover img{transform:scale(1.03)}
.m1{grid-column:1/7;grid-row:span 3}.m2{grid-column:7/10;grid-row:span 2}.m3{grid-column:10/13;grid-row:span 2}.m4{grid-column:7/13;grid-row:span 2}.m5{grid-column:1/4;grid-row:span 2}.m6{grid-column:4/7;grid-row:span 1}
.visit{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s8);margin-top:var(--s12);padding-top:var(--s8);border-top:1px solid var(--line)}
.visit h3{font-size:var(--text-xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--s4)}
.visit p,.visit dd{color:var(--muted);margin:0}
.visit dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:var(--s1) var(--s6);font-size:var(--text-sm)}
.visit dt{font-weight:500}
@media (max-width:820px){.mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.mosaic figure{grid-column:auto!important;grid-row:span 1!important}.mosaic .m1{grid-column:1/-1!important;grid-row:span 2!important}.visit{grid-template-columns:1fr}}

/* Journal */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,3vw,2.5rem)}
.post{display:block;text-decoration:none;border-top:1px solid var(--ink);padding-top:var(--s6)}
.post small{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.post h3{font-size:var(--text-lg);font-weight:400;line-height:1.35;margin:var(--s3) 0 var(--s5);letter-spacing:0}
.post:hover h3{text-decoration:underline;text-decoration-thickness:1px}
@media (max-width:820px){.posts{grid-template-columns:1fr}}

/* CTA band */
.cta-band{padding:clamp(4rem,8vw,7rem) 0;text-align:center}
.cta-band h2{font-size:var(--text-2xl);max-width:18ch;margin:var(--s5) auto var(--s5)}
.cta-band p{max-width:46ch;margin:0 auto var(--s8)}
.cta-band .actions{justify-content:center}

/* Footer */
.footer{background:var(--black);color:#cfc8c1;font-size:var(--text-sm);padding:var(--s16) 0 calc(var(--s8) + 64px)}
.footer .logo{color:var(--white);width:170px}
.footer .brand-sub{display:block;margin-top:var(--s3);font-size:var(--text-xs);letter-spacing:.24em;text-transform:uppercase;color:#9d958e}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:var(--s10)}
.footer h4{font-size:var(--text-xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--white);margin-bottom:var(--s4)}
.footer ul{list-style:none}
.footer li{margin-bottom:var(--s2)}
.footer a{text-decoration:none}
.footer a:hover{color:var(--white);text-decoration:underline}
.slogan{font-weight:300;font-size:var(--text-lg);color:var(--white);margin-top:var(--s6);letter-spacing:.02em}
.legal{margin-top:var(--s12);padding-top:var(--s6);border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:var(--s6);flex-wrap:wrap;font-size:var(--text-xs);color:#9d958e}
@media (max-width:900px){.f-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.f-grid{grid-template-columns:1fr}}

/* Mobile sticky action bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;grid-template-columns:1fr 1.6fr;background:var(--white);border-top:1px solid var(--line);padding:var(--s2) var(--s3) calc(var(--s2) + env(safe-area-inset-bottom))}
.mbar .btn{min-height:48px;font-size:var(--text-xs);padding:0 var(--s3)}
.mbar .btn+.btn{margin-left:var(--s2)}
@media (max-width:1080px){.mbar{display:grid}}

/* ---------- Procedure page ---------- */
.crumbs{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:var(--s8)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s2);margin:0;padding:0}
.crumbs li+li::before{content:"/";margin-right:var(--s2);color:var(--line-strong)}
.crumbs a{text-decoration:none}
.p-hero{padding:var(--s10) 0 var(--s16)}
.p-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,4fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.p-hero h1{font-size:var(--text-hero);margin:var(--s5) 0 var(--s6)}
.keyfacts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:var(--s10);border-top:1px solid var(--ink)}
.keyfacts div{padding:var(--s5) var(--s4) 0 0}
.keyfacts dt{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s2)}
.keyfacts dd{margin:0;font-size:var(--text-lg);font-weight:400;line-height:1.3}
@media (max-width:1000px){.p-hero-grid{grid-template-columns:1fr}.keyfacts{grid-template-columns:1fr 1fr;row-gap:var(--s5)}}
.book-card{position:sticky;top:104px}
.book-card .chooser-head strong{font-size:var(--text-lg);font-weight:500}
.p-banner img{width:100%;aspect-ratio:21/9;object-fit:cover}
@media (max-width:720px){.p-banner img{aspect-ratio:4/3}}
.p-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(2rem,6vw,6rem);padding:var(--section) 0}
.toc{position:sticky;top:110px;align-self:start;font-size:var(--text-sm)}
.toc p{font-size:var(--text-xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--s4)}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.toc a{display:block;padding:var(--s2) 0 var(--s2) var(--s4);text-decoration:none;color:var(--muted);margin-left:-1px;border-left:1px solid transparent}
.toc a:hover{color:var(--ink);border-color:var(--ink)}
@media (max-width:1000px){.p-body{grid-template-columns:1fr}.toc{display:none}}
.block{padding-bottom:var(--s16);margin-bottom:var(--s16);border-bottom:1px solid var(--line)}
.block:last-child{border-bottom:0;margin-bottom:0}
.block h2{font-size:var(--text-xl);margin:var(--s3) 0 var(--s6)}
.benefits{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8) var(--s10);margin-top:var(--s8)}
.benefits h3{font-size:var(--text-md);font-weight:600;letter-spacing:0;margin-bottom:var(--s2);line-height:1.4}
.benefits p{color:var(--muted);font-size:var(--text-base)}
@media (max-width:720px){.benefits{grid-template-columns:1fr}}
.cases{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);margin-top:var(--s8)}
.case{margin:0;background:var(--black)}
.case img{width:100%;aspect-ratio:3/2;object-fit:cover}
.case figcaption{background:var(--white);padding:var(--s3) 0 0;font-size:var(--text-sm);color:var(--muted);line-height:1.45}
.case figcaption b{display:block;color:var(--ink);font-weight:500}
.disclaimer{margin-top:var(--s6);padding:var(--s4) var(--s5);background:var(--sand-50);border-left:2px solid var(--ink);font-size:var(--text-sm);color:var(--muted)}
@media (max-width:720px){.cases{grid-template-columns:1fr}}
.timeline{list-style:none;margin-top:var(--s8);border-left:1px solid var(--ink)}
.timeline li{position:relative;padding:0 0 var(--s6) var(--s8)}
.timeline li::before{content:"";position:absolute;left:-5px;top:.45em;width:9px;height:9px;background:var(--white);border:1px solid var(--ink);border-radius:50%}
.timeline b{display:block;font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;margin-bottom:var(--s1)}
.timeline span{color:var(--muted)}
.cols2{columns:2;column-gap:var(--s10)}
.cols2 li{break-inside:avoid}
@media (max-width:720px){.cols2{columns:1}}
.surgeons{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);margin-top:var(--s6)}
.surgeon{border:1px solid var(--line);padding:var(--s6)}
.surgeon h3{font-size:var(--text-md);font-weight:600;letter-spacing:0;margin-bottom:var(--s1)}
.surgeon .role{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s4)}
.surgeon p{font-size:var(--text-base);color:var(--muted)}
@media (max-width:720px){.surgeons{grid-template-columns:1fr}}
.pricebox{display:grid;grid-template-columns:1fr auto;gap:var(--s6);align-items:center;padding:var(--s8);background:var(--sand);margin-top:var(--s6)}
.pricebox b{display:block;font-size:var(--text-2xl);font-weight:300;line-height:1.1}
.pricebox small{display:block;margin-top:var(--s3);color:#4a433f;font-size:var(--text-sm);max-width:52ch}
@media (max-width:720px){.pricebox{grid-template-columns:1fr}}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--s6);padding:var(--s5) 0;font-weight:500;font-size:var(--text-md)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:300;font-size:1.5rem;line-height:1;transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details>div{padding:0 0 var(--s6);color:var(--muted);max-width:68ch}

/* Prototype review ribbon (staging only) */
.proto{background:var(--sand);color:var(--ink);font-size:var(--text-xs);letter-spacing:.06em;text-align:center;padding:var(--s2) var(--gutter)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media (max-width:720px){.topbar{display:none}.proto{font-size:11px;padding:6px var(--gutter)}}

/* v0.2 — location label, team, franchise footer */
.brand{display:flex;align-items:center;gap:var(--s4);text-decoration:none;color:var(--ink);flex:none}
.brand .logo{width:150px}
.brand .loc{font-size:var(--text-xs);font-weight:500;letter-spacing:.24em;text-transform:uppercase;padding-left:var(--s4);border-left:1px solid var(--line-strong);line-height:1.6}
@media (max-width:420px){.brand .logo{width:120px}.brand .loc{letter-spacing:.16em;padding-left:var(--s3)}}
.proof ul{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.proof ul{grid-template-columns:repeat(2,1fr)}.proof li:first-child{grid-column:auto}.proof li:nth-child(-n+2){border-top:0}.proof li:nth-child(even){border-left:1px solid rgba(35,31,32,.18)}}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}
.surgeon-card{padding:var(--s8) var(--s6) var(--s8) 0;border-bottom:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column}
.surgeon-card+.surgeon-card{padding-left:var(--s6);border-left:1px solid rgba(255,255,255,.18)}
.surgeon-card .role{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--on-ink-muted);margin-bottom:var(--s4)}
.surgeon-card h3{font-size:var(--text-xl);font-weight:300;color:var(--white);margin-bottom:var(--s2)}
.surgeon-card .creds{font-size:var(--text-sm);letter-spacing:.08em;color:var(--white);margin-bottom:var(--s5)}
.surgeon-card p{font-size:var(--text-sm);line-height:1.6}
.surgeon-card .link{margin-top:auto;align-self:flex-start;border-color:rgba(255,255,255,.4);color:var(--white)}
.team .sec-head h2{color:var(--white)}
@media (max-width:1000px){.team-grid{grid-template-columns:1fr 1fr}.surgeon-card:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:560px){.team-grid{grid-template-columns:1fr}.surgeon-card+.surgeon-card{padding-left:0;border-left:0}}
.locations{display:flex;flex-wrap:wrap;gap:var(--s5);align-items:baseline;margin-top:var(--s12);padding-top:var(--s6);border-top:1px solid rgba(255,255,255,.14);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase}
.locations span{color:#9d958e}
.locations a{color:var(--white)}
.locations em{font-style:normal;color:#9d958e;letter-spacing:.1em}

/* ===== Dark theme (black background) — same components, brand colours only ===== */
.theme-dark{
  --white:#000; --ink:#f4f1ed; --black:#231f20;
  --sand:#231f20; --sand-50:#120f10; --sand-100:#1a1718;
  --muted:#b3aaa2; --line:rgba(255,255,255,.14); --line-strong:rgba(255,255,255,.32); --on-ink-muted:#b3aaa2;
  background:#000;color:#f4f1ed;
}
.theme-dark .btn-solid{background:#ddd6ce;color:#000;border-color:#ddd6ce}
.theme-dark .btn-solid:hover{background:#fff;border-color:#fff}
.theme-dark .btn-line{color:#f4f1ed;border-color:rgba(255,255,255,.5)}
.theme-dark .btn-line:hover{background:#ddd6ce;color:#000;border-color:#ddd6ce}
.theme-dark .topbar{background:#231f20;color:#f4f1ed}
.theme-dark .header{background:rgba(0,0,0,.9);border-bottom-color:rgba(255,255,255,.1)}
.theme-dark .mobile-nav{background:#000}
.theme-dark .on-ink{background:#231f20;color:#fff}
.theme-dark .on-ink .btn-solid{background:#ddd6ce;color:#000;border-color:#ddd6ce}
.theme-dark .proof{background:#231f20;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.theme-dark .proof li,.theme-dark .proof li:nth-child(even){border-color:rgba(255,255,255,.14)}
.theme-dark .proof b{color:#fff}
.theme-dark .proof span{color:#c9c1b9}
.theme-dark .prose p,.theme-dark .prose li{color:#d6cec6}
.theme-dark .chooser{background:#0b0909}
.theme-dark .intent-card{background:#0b0909}
.theme-dark .footer{background:#000;border-top:1px solid rgba(255,255,255,.12)}
.theme-dark .cta-band{background:#ddd6ce;color:#000}
.theme-dark .cta-band p{color:#3d3735}
.theme-dark .cta-band .eyebrow{color:#4a433f}
.theme-dark .cta-band .btn-solid{background:#000;color:#fff;border-color:#000}
.theme-dark .cta-band .btn-solid:hover{background:#231f20}
.theme-dark .cta-band .btn-line{color:#000;border-color:#000}
.theme-dark .cta-band .btn-line:hover{background:#000;color:#fff}
.theme-dark .proto{background:#ddd6ce;color:#000}
.theme-dark .disclaimer{border-left-color:#ddd6ce}
.theme-dark .pricebox{background:#231f20}
.theme-dark .case figcaption{background:transparent}
.theme-dark .frame::before,.theme-dark .frame::after{border-color:rgba(255,255,255,.22)}
.theme-dark ::selection{background:#ddd6ce;color:#000}
.theme-dark .on-ink,.theme-dark .footer{--white:#fff;--ink:#231f20}
.theme-dark .on-ink{color:#fff}
.theme-dark .footer{color:#cfc8c1}
.nav{gap:clamp(.9rem,1.4vw,1.75rem)}
.nav a{white-space:nowrap}
.brand .logo{width:136px}
@media (max-width:1320px) and (min-width:1181px){.header .btn-solid{padding:0 var(--s4);letter-spacing:.05em}}
.theme-dark .cta-band.on-ink{background:#ddd6ce;color:#000}
.theme-dark .cta-band.on-ink h2{color:#000}
@media (max-width:480px){.brand{gap:var(--s3)}.brand .logo{width:112px}.brand .loc{font-size:10px;letter-spacing:.14em;padding-left:var(--s3)}.h-actions{gap:var(--s2)}.lang{padding:6px}.menu-btn{padding:4px}}
.split>*,.hero-grid>*{min-width:0}
@media (max-width:560px){.btn{white-space:normal;text-align:center;line-height:1.3;padding:var(--s3) var(--s5)}}

/* ===== v0.4 Mega menu ===== */
.nav{align-self:stretch;align-items:stretch}
.nav-link,.nav-trigger{display:flex;align-items:center;gap:6px;font:500 var(--text-sm)/1 var(--font);letter-spacing:.04em;color:inherit;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;white-space:nowrap;position:relative}
.nav-link::after,.nav-trigger::after{content:"";position:absolute;left:0;right:0;bottom:22px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav-link:hover::after,.nav-link[aria-current]::after,.nav-item.open .nav-trigger::after,.nav-trigger:hover::after{transform:scaleX(1)}
.nav a{border-bottom:0;padding:0}
.chev{transition:transform .25s var(--ease)}
.nav-item.open .chev{transform:rotate(180deg)}
.nav-item{display:flex}
.has-drop{position:relative}
.mega,.drop{position:absolute;visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s .2s;z-index:55}
.nav-item.open .mega,.nav-item.open .drop{visibility:visible;opacity:1;transform:none;transition:opacity .2s var(--ease),transform .2s var(--ease)}
.mega{left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.25)}
.mega-grid{display:grid;grid-template-columns:1fr 300px;gap:var(--s12);padding-top:var(--s10);padding-bottom:var(--s8)}
.mega-cols{display:grid;gap:var(--s8)}
.mega-cols.c5{grid-template-columns:repeat(5,minmax(0,1fr))}
.mega-cols.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.mega-col h3{font-size:var(--text-xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s4);padding-bottom:var(--s3);border-bottom:1px solid var(--line)}
.mega-col ul{list-style:none}
.mega-col li{margin-bottom:var(--s2)}
.mega-col a{font-size:var(--text-sm);text-decoration:none;color:var(--ink);line-height:1.4;display:inline-block;padding:2px 0;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .25s var(--ease)}
.mega-col a:hover{background-size:100% 1px}
.mega-feature{display:grid;grid-template-rows:auto 1fr;gap:var(--s4);border-left:1px solid var(--line);padding-left:var(--s8)}
.mega-feature img{width:100%;aspect-ratio:16/10;object-fit:cover}
.mega-feature .mf-h{font-size:var(--text-lg);font-weight:300;line-height:1.3;margin:var(--s3) 0 var(--s4);color:var(--ink)}
.mega-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:var(--s4);padding-bottom:var(--s4)}
.mega-foot .tel{font-size:var(--text-sm);text-decoration:none;color:var(--muted)}
.drop{top:100%;right:-24px;width:320px;background:var(--white);border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.25)}
.drop ul{list-style:none;padding:var(--s3) 0}
.drop a{display:block;padding:var(--s3) var(--s6);text-decoration:none}
.drop a:hover{background:var(--sand-50)}
.drop b{display:block;font-size:var(--text-sm);font-weight:500}
.drop small{display:block;font-size:var(--text-xs);color:var(--muted);margin-top:2px}
@media (max-width:1320px){.mega-grid{grid-template-columns:1fr 240px;gap:var(--s8)}.mega-cols{gap:var(--s5)}}
/* Mobile nav accordion */
.mobile-nav.open{display:block;max-height:calc(100vh - 80px);overflow:auto}
.mobile-nav{padding:var(--s2) var(--gutter) var(--s8)}
.mobile-nav a{display:block;text-decoration:none}
.m-top,.m-acc summary{display:flex;justify-content:space-between;align-items:center;padding:var(--s4) 0;border-bottom:1px solid var(--line);font-size:var(--text-md);font-weight:500;cursor:pointer;list-style:none}
.m-acc summary::-webkit-details-marker{display:none}
.m-acc[open] .chev{transform:rotate(180deg)}
.m-acc>div{padding:var(--s2) 0 var(--s4) var(--s4);border-bottom:1px solid var(--line)}
.m-acc>div a{padding:var(--s2) 0;font-size:var(--text-sm);color:var(--muted)}
.m-h{font-size:var(--text-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin:var(--s4) 0 var(--s1)}

/* ===== Before / after slider ===== */
.ba{position:relative;overflow:hidden;background:#111;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:1px;background:#fff;transform:translateX(-.5px);pointer-events:none}
.ba-handle i{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border:1px solid #fff;border-radius:50%;background:rgba(0,0,0,.35);backdrop-filter:blur(4px)}
.ba-handle i::before,.ba-handle i::after{content:"";position:absolute;top:50%;width:7px;height:7px;border:solid #fff;border-width:0 0 1px 1px;margin-top:-4px}
.ba-handle i::before{left:11px;transform:rotate(45deg)}
.ba-handle i::after{right:11px;transform:rotate(-135deg)}
.ba-tag{position:absolute;top:var(--s3);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.45);padding:5px 8px;pointer-events:none}
.ba-tag.l{left:var(--s3)}.ba-tag.r{right:var(--s3)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.ba-range:focus-visible+*{outline:none}
.ba:has(.ba-range:focus-visible){outline:2px solid var(--ink);outline-offset:3px}

/* Gallery page */
.g-hero{padding:var(--s8) 0 var(--s10)}
.g-hero h1{font-size:var(--text-2xl);margin:var(--s4) 0 var(--s4)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s8)}
.chip{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s5);font:500 var(--text-sm)/1 var(--font);letter-spacing:.04em;color:var(--ink);background:transparent;border:1px solid var(--line-strong);border-radius:999px;cursor:pointer;transition:background .2s,color .2s}
.chip span{font-size:var(--text-xs);color:var(--muted)}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--white);border-color:var(--ink)}
.chip[aria-pressed="true"] span{color:inherit;opacity:.7}
.g-body{padding-bottom:var(--section)}
.ba-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s10) var(--s6);align-items:start}
.ba-card{margin:0}
.ba-card figcaption{padding-top:var(--s4)}
.ba-alb{display:block;font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s1)}
.ba-card p{font-size:var(--text-sm);margin-bottom:var(--s3)}
@media (max-width:1100px){.ba-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ba-grid{grid-template-columns:1fr}}

/* Carousel (procedure pages) */
.carousel{margin-top:var(--s8)}
.car-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--s6)) / 2);column-gap:var(--s6);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.car-track::-webkit-scrollbar{display:none}
.car-slide{margin:0;scroll-snap-align:start}
.car-slide figcaption{font-size:var(--text-sm);color:var(--muted);padding-top:var(--s3)}
.car-ctrl{display:flex;align-items:center;gap:var(--s3);margin-top:var(--s5)}
.car-count{font-size:var(--text-sm);color:var(--muted);margin-right:auto}
.car-count b{color:var(--ink);font-weight:500}
.car-btn{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;border-radius:50%}
.car-btn:hover{border-color:var(--ink)}
.car-ctrl .link{margin-left:var(--s4)}
@media (max-width:720px){.car-track{grid-auto-columns:88%}}

/* Document centre */
.d-hero{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--s12);align-items:end}
.d-search label{display:block;font-size:var(--text-xs);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s2)}
.d-search input{width:100%;height:52px;padding:0 var(--s4);font:400 var(--text-base) var(--font);color:var(--ink);background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius)}
.d-search input:focus{outline:2px solid var(--ink);outline-offset:1px}
@media (max-width:900px){.d-hero{grid-template-columns:1fr;gap:var(--s6)}}
.d-body{padding-bottom:var(--section)}
.doc-group{margin-top:var(--s10)}
.doc-group h2{font-size:var(--text-xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding-bottom:var(--s3);border-bottom:1px solid var(--ink)}
.docs{list-style:none}
.doc{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:var(--s5);align-items:center;padding:var(--s5) 0;border-bottom:1px solid var(--line)}
.doc-ico{color:var(--muted)}
.doc-txt h3{font-size:var(--text-md);font-weight:500;margin-bottom:2px}
.doc-txt p{font-size:var(--text-sm);color:var(--muted);margin:0}
.doc-dl{display:flex;gap:var(--s2);flex-wrap:wrap;justify-content:flex-end}
.dl{display:inline-flex;align-items:center;gap:var(--s3);min-height:48px;padding:0 var(--s4);border:1px solid var(--line-strong);border-radius:var(--radius);text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.dl:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
.dl:hover small{color:inherit;opacity:.75}
.dl span{display:flex;flex-direction:column;line-height:1.2}
.dl b{font-size:var(--text-sm);font-weight:500}
.dl small{font-size:11px;color:var(--muted)}
.doc-feat{background:var(--sand-50);padding-left:var(--s5);padding-right:var(--s5);margin:0 calc(-1 * var(--s5))}
@media (max-width:720px){.doc{grid-template-columns:32px minmax(0,1fr)}.doc-dl{grid-column:1/-1;justify-content:flex-start}.doc-feat{margin:0;padding-left:var(--s4);padding-right:var(--s4)}}
.doc-empty{padding:var(--s8) 0;color:var(--muted)}
.d-help{display:flex;justify-content:space-between;align-items:center;gap:var(--s8);flex-wrap:wrap;margin-top:var(--s16);padding:var(--s8);background:var(--sand)}
.d-help h2{font-size:var(--text-lg);font-weight:400;margin-bottom:var(--s2)}
.d-help p{margin:0;font-size:var(--text-sm);max-width:56ch}
.inline-doc{margin-top:var(--s6)}
.inline-doc .doc-group{margin-top:0}
.inline-doc .docs{border-top:1px solid var(--line)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Dark theme additions */
.theme-dark .mega,.theme-dark .drop{background:#0b0909;box-shadow:0 30px 60px -20px rgba(0,0,0,.8)}
.theme-dark .chip[aria-pressed="true"]{background:#ddd6ce;color:#000;border-color:#ddd6ce}
.theme-dark .dl:hover{background:#ddd6ce;color:#000;border-color:#ddd6ce}
.theme-dark .doc-feat{background:#151213}
.theme-dark .d-help{background:#231f20}
.theme-dark .doc-group h2{border-bottom-color:rgba(255,255,255,.4)}
.mega a,.drop a{white-space:normal}
.mega-col h3{min-height:calc(2 * 1.35em + var(--s3));display:flex;align-items:flex-end;line-height:1.35;letter-spacing:.16em}
.mega-col a{display:inline}
.mega-col li{line-height:1.35;margin-bottom:var(--s3)}
.header>.wrap{gap:var(--s5)}
.nav{gap:clamp(.85rem,1.25vw,1.6rem)}
.h-actions{gap:var(--s3)}
.mega-grid:has(.c5){grid-template-columns:1fr 250px}
/* ===== v0.5 migrated-page template ===== */
.p-body-solo{grid-template-columns:minmax(0,1fr)}
.p-body-solo .prose{margin:0 auto}
.mig-body .p-body{padding-top:0}
.prose.mig{max-width:72ch;font-size:var(--text-md)}
.prose.mig>*:first-child{margin-top:0}
.prose.mig h2{font-size:var(--text-xl);font-weight:400;line-height:1.2;margin:var(--s12) 0 var(--s5);scroll-margin-top:120px}
.prose.mig h3{font-size:var(--text-lg);font-weight:500;line-height:1.3;margin:var(--s8) 0 var(--s3)}
.prose.mig h4{font-size:var(--text-md);font-weight:600;margin:var(--s6) 0 var(--s2)}
.prose.mig p{margin:0 0 var(--s5)}
.prose.mig ol{padding-left:1.2em;margin:0 0 var(--s5)}
.prose.mig a:not(.btn){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose.mig img{display:block;max-width:100%;height:auto;margin:var(--s6) 0}
.prose.mig figure{margin:var(--s6) 0}
.prose.mig figcaption{font-size:var(--text-sm);color:var(--muted)}
.prose.mig table{display:block;overflow-x:auto;border-collapse:collapse;width:100%;margin:var(--s6) 0;font-size:var(--text-sm)}
.prose.mig th,.prose.mig td{border-bottom:1px solid var(--line);padding:var(--s3) var(--s4) var(--s3) 0;text-align:left;vertical-align:top}
.prose.mig th{font-weight:600}
.prose.mig .cta-inline{margin:var(--s6) 0}
.prose.mig .btn-ghost{background:transparent;color:inherit}
.prose.mig .img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--s4);margin:var(--s6) 0}
.prose.mig .img-grid img{margin:0;width:100%;aspect-ratio:auto;object-fit:cover}
.prose.mig .video{position:relative;aspect-ratio:16/9;margin:var(--s6) 0;background:#000}
.prose.mig .video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.prose.mig details.more{border-bottom:1px solid var(--line)}
.prose.mig details.more:first-of-type{border-top:1px solid var(--line)}
.prose.mig details.more+details.more{border-top:0}
.prose.mig details.more summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--s6);padding:var(--s5) 0;font-weight:500}
.prose.mig details.more summary::-webkit-details-marker{display:none}
.prose.mig details.more summary::after{content:"+";font-weight:300;font-size:1.5rem;line-height:1;transition:transform .25s var(--ease)}
.prose.mig details.more[open] summary::after{transform:rotate(45deg)}
.prose.mig .more-body{padding:0 0 var(--s6)}
.mig-ba{margin:var(--s12) 0}
.mig-cases{display:grid;gap:var(--s10)}
.mig-case{margin:0}
.mig-case-imgs{display:grid;gap:var(--s2);grid-template-columns:1fr 1fr}
.mig-case-imgs.n1{grid-template-columns:1fr}
.mig-case-imgs img{margin:0!important;width:100%;height:auto;background:#000}
.mig-case figcaption{margin-top:var(--s3)}
.mig-case figcaption p{margin:var(--s1) 0 var(--s2)!important}
.mig-case figcaption small{display:block;font-size:var(--text-xs);color:var(--muted);line-height:1.5}
.theme-dark .prose.mig h2,.theme-dark .prose.mig h3,.theme-dark .prose.mig h4,.theme-dark .prose.mig th{color:#fff}
.theme-dark .prose.mig td{color:#d6cec6}
.theme-dark .prose.mig details.more,.theme-dark .prose.mig th,.theme-dark .prose.mig td{border-color:rgba(255,255,255,.14)}
.theme-dark .prose.mig .btn-ghost{border-color:#ddd6ce;color:#ddd6ce}
@media (max-width:640px){.mig-case-imgs{grid-template-columns:1fr}}
.p-hero h1.h1-long{font-size:var(--text-2xl);line-height:1.12}
.prose.mig figure.feat{margin:0 0 var(--s8)}
.prose.mig figure.feat img{margin:0;width:100%}
.prose.mig{overflow-wrap:break-word;min-width:0}
.prose.mig table{max-width:100%}
.mig-body .p-body-solo .prose:empty{display:none}
.p-hero .byline{margin-top:var(--s4);font-size:var(--text-sm);color:var(--muted)}
.p-hero .byline a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.hero-band{margin:0 0 var(--s12);aspect-ratio:21/8;overflow:hidden;background:#111}
.hero-band img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);display:block}
@media (max-width:720px){.hero-band{aspect-ratio:4/3}}

/* ---------- full-screen hero (every page) ---------- */
.fhero{position:relative;min-height:calc(100svh - var(--chrome,76px));display:flex;align-items:flex-end;overflow:hidden;background:#000;color:#fff;isolation:isolate}
.fh-media,.fh-veil{position:absolute;inset:0;z-index:-1}
.fh-media img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);display:block}
.fh-veil{background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.35) 35%,rgba(0,0,0,.78) 100%)}
.fh-in{position:relative;width:100%;padding-top:var(--s8);padding-bottom:clamp(3rem,8vh,6rem);display:flex;flex-direction:column;min-height:inherit}
.fh-in .crumbs{color:rgba(255,255,255,.75);padding-top:0}
.fh-in .crumbs li+li::before{color:rgba(255,255,255,.4)}
.fh-copy{margin-top:auto;max-width:880px}
.fh-copy .eyebrow{color:rgba(255,255,255,.82)}
.fhero h1{color:#fff;font-size:clamp(2.4rem,1.4rem + 3.6vw,5rem);line-height:1.04;margin:var(--s4) 0 var(--s5);font-weight:300;letter-spacing:-.01em}
.fhero h1.h1-long{font-size:clamp(2rem,1.2rem + 2.6vw,3.6rem);line-height:1.1}
.fhero .lead{color:rgba(255,255,255,.9);font-size:var(--text-md);max-width:40em;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.fhero .byline{color:rgba(255,255,255,.8);font-size:var(--text-sm);margin:0 0 var(--s4)}
.fhero .byline a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.fh-actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s7,1.75rem)}
.fhero .btn-solid{background:#ddd6ce;color:#000;border-color:#ddd6ce}
.fhero .btn-solid:hover{background:#fff;border-color:#fff}
.fhero .btn-line{color:#fff;border-color:rgba(255,255,255,.6)}
.fhero .btn-line:hover{background:#fff;color:#000;border-color:#fff}
.fh-down{position:absolute;right:var(--gutter);bottom:clamp(3rem,8vh,6rem);width:44px;height:44px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center}
.fh-down span{width:9px;height:9px;border-right:1.3px solid #fff;border-bottom:1.3px solid #fff;transform:translateY(-2px) rotate(45deg)}
@media (max-width:720px){.fh-down{display:none}.fh-actions .btn{flex:1 1 100%}.fhero{min-height:calc(100svh - var(--chrome,64px) - 64px)}}
.theme-light .fhero{background:#fff;color:var(--ink)}
.theme-light .fh-veil{background:linear-gradient(180deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,.6) 40%,rgba(255,255,255,.9) 100%)}
.theme-light .fhero h1,.theme-light .fh-copy .eyebrow{color:var(--ink)}
.theme-light .fhero .lead,.theme-light .fhero .byline,.theme-light .fh-in .crumbs{color:#3d3735}
.theme-light .fh-in .crumbs li+li::before{color:rgba(0,0,0,.3)}
.theme-light .fhero .btn-solid{background:var(--ink);color:#fff;border-color:var(--ink)}
.theme-light .fhero .btn-line{color:var(--ink);border-color:var(--ink)}
.theme-light .fhero .btn-line:hover{background:var(--ink);color:#fff}
.theme-light .fh-down{border-color:rgba(0,0,0,.45)}.theme-light .fh-down span{border-color:var(--ink)}
#suite{scroll-margin-top:var(--chrome,76px)}

/* page body: article + sticky booking/TOC column */
.p-body-side{grid-template-columns:minmax(0,1fr) 340px;padding-top:var(--section) !important}
.p-body-side .prose{max-width:760px}
.p-side{align-self:start;position:sticky;top:calc(var(--chrome,76px) + 16px);display:flex;flex-direction:column;gap:var(--s8)}
.p-side .book-card{position:static}
.p-side .toc{position:static}
@media (max-width:1000px){.p-body-side{grid-template-columns:1fr}.p-side{position:static}.p-side .toc{display:none}}
.book-band-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:clamp(2rem,5vw,5rem);align-items:center}
@media (max-width:900px){.book-band-in{grid-template-columns:1fr}}
.g-body .rc-group:first-child{margin-top:0}
.d-top{padding-top:var(--s10)}

/* theme toggle */
.theme-btn{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);background:none;color:inherit;cursor:pointer;border-radius:var(--radius)}
.theme-btn:hover{border-color:currentColor}
.theme-dark .theme-btn{border-color:rgba(255,255,255,.25)}
.theme-dark .theme-btn:hover{border-color:#fff}
.theme-light .theme-btn svg{transform:rotate(180deg)}

/* body images: diagrams sit inside the reading column */
.prose.mig img{max-width:100%;height:auto}
.fhero .lead{-webkit-line-clamp:3}
@media (max-width:1080px){.fhero{min-height:calc(100svh - var(--chrome,76px) - 66px)}.fh-in{padding-bottom:var(--s8)}.fh-down{bottom:var(--s8)}}
@media (max-height:760px){.fhero h1{font-size:clamp(2rem,1.2rem + 2.6vw,3.6rem);margin:var(--s3) 0 var(--s4)}.fhero .lead{-webkit-line-clamp:2}.fh-actions{margin-top:var(--s5)}}
.theme-dark .fmd{--fmd-inv:#000;--fmd-panel:#141414}.theme-light .fmd{--fmd-inv:#fff;--fmd-panel:#fff}
.f-resp{font-size:.75rem;line-height:1.5;opacity:.7;margin:1.25rem 0 .5rem;max-width:70ch}
.press-list{list-style:none;padding:0}.press-list li{padding:.9rem 0;border-bottom:1px solid var(--line,rgba(127,127,127,.25))}
.price-note{font-size:.85rem;border-left:2px solid currentColor;padding:.6rem .9rem;opacity:.85;margin:1.2rem 0}
.award-grid{display:grid;gap:2rem;margin:2rem 0}.award{display:grid;grid-template-columns:minmax(160px,260px) 1fr;gap:1.5rem;align-items:start;padding-bottom:2rem;border-bottom:1px solid var(--line,rgba(127,127,127,.25))}
.award img{width:100%;height:auto;border-radius:4px;background:#fff}.award h2{margin-top:0}.award-meta{opacity:.8;font-size:.9rem}
@media(max-width:640px){.award{grid-template-columns:1fr}.award img{max-width:280px}}
.lead-stat{font-size:1.1rem}.lead-stat strong{font-size:1.6rem;margin-right:.4rem}
.sim-two{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem;text-align:left}.sim-two h2{margin:0 0 .75rem}.sim-two p{font-size:.95rem;margin:0 0 1rem}
@media(max-width:720px){.sim-two{grid-template-columns:1fr}}

.prose.mig .tm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s6) var(--s5);margin:var(--s6) 0 var(--s10)}
.prose.mig a.tm-card{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.tm-ph{display:block;aspect-ratio:3/4;overflow:hidden;border-radius:4px;background:var(--surface-2,#1a1a1a)}
.prose.mig .tm-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;margin:0;transition:transform .5s ease}
.tm-card:hover .tm-ph img{transform:scale(1.03)}
.tm-b{display:flex;flex-direction:column;gap:4px;padding-top:var(--s3)}
.tm-b b{font-weight:500;font-size:var(--text-md);line-height:1.3}
.tm-card:hover .tm-b b{text-decoration:underline;text-underline-offset:3px}
.tm-b small{font-size:var(--text-sm);color:var(--muted);line-height:1.4}
.prose.mig .tm-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s5);align-items:center;margin:var(--s6) 0}
.prose.mig .tm-logos img{margin:0;width:100%;height:56px;object-fit:contain;background:#fff;padding:8px;border-radius:4px}
@media (max-width:820px){.prose.mig .tm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5) var(--s4)}.prose.mig .tm-logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Top bar: discovery call + today's hours | phone + location picker */
.topbar .tb-left{display:flex;gap:var(--s4);align-items:center;min-width:0}
.topbar .tb-cta{font-weight:600;border-bottom:1px solid currentColor;padding-bottom:1px}
.topbar .tb-today{opacity:.8;white-space:nowrap}
.tb-loc{position:relative}
.tb-loc summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px}
.tb-loc summary::-webkit-details-marker{display:none}
.tb-loc summary::after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.tb-loc[open] summary::after{transform:translateY(1px) rotate(-135deg)}
.tb-locs{position:absolute;right:0;top:calc(100% + 10px);z-index:80;min-width:220px;background:#231f20;color:#f4f1ed;border:1px solid rgba(255,255,255,.18);padding:var(--s3) var(--s4);display:flex;flex-direction:column;gap:var(--s2)}
.tb-locs a[aria-current]{font-weight:600}
.tb-locs em{font-style:normal;opacity:.6}
@media (max-width:1080px){body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}
@media (max-width:900px){.topbar .tb-today{display:none}}
/* affiliation logos: one light panel, centred, equal visual height */
.prose.mig .logo-wall{background:#f6f3ee;border-radius:10px;padding:clamp(20px,3vw,36px);margin:var(--s6) 0;text-align:center}
.prose.mig .logo-wall-h{margin:0 0 18px;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:#4a4540}
.prose.mig .logo-wall ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:22px 40px}
.prose.mig .logo-wall li{margin:0;padding:0;height:72px;display:flex;align-items:center;justify-content:center}
.prose.mig .logo-wall li::before{content:none}
.prose.mig .logo-wall img{margin:0;height:64px;width:auto;max-width:180px;object-fit:contain;aspect-ratio:auto;border-radius:0;background:none;box-shadow:none}
@media (max-width:640px){.prose.mig .logo-wall ul{gap:16px 24px}.prose.mig .logo-wall li{height:56px}.prose.mig .logo-wall img{height:48px;max-width:130px}}
/* slogan + phone band inside migrated pages */
.prose.mig .slogan-band{text-align:center;margin:var(--s7,48px) 0;padding:clamp(28px,4vw,44px) 16px;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.prose.mig .slogan-band .slogan-h{margin:0 0 20px;font-family:var(--font-display,inherit);font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.15;letter-spacing:.01em;text-wrap:balance}
.prose.mig .slogan-band .slogan-cta{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.prose.mig .slogan-band .btn{margin:0}
.prose.mig .logo-wall li{height:92px}
.prose.mig .logo-wall img{height:52px;max-width:190px}
.prose.mig .logo-wall li.sq img{height:88px;max-width:120px}
@media (max-width:640px){.prose.mig .logo-wall li{height:70px}.prose.mig .logo-wall img{height:38px;max-width:140px}.prose.mig .logo-wall li.sq img{height:66px;max-width:90px}}
/* mobile menu: top-level links (Résultats, Équipe, Prix) align with the accordion items */
.mobile-nav a.m-top{display:flex;padding:var(--s4) 0;border-bottom:1px solid var(--line);font-size:var(--text-md);font-weight:500}

/* Results library */
.rc-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s4) var(--s6);margin-top:var(--s6)}
.rc-f{display:flex;flex-direction:column;gap:var(--s1);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rc-f select{min-height:44px;min-width:12rem;padding:0 var(--s8) 0 var(--s4);font:400 var(--text-sm)/1 var(--font);letter-spacing:0;text-transform:none;color:var(--ink);background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E") no-repeat right 14px center;border:1px solid var(--line-strong);border-radius:999px;appearance:none;-webkit-appearance:none}
.rc-m{flex-direction:row;align-items:center;gap:var(--s2);min-height:44px;font-size:var(--text-sm);letter-spacing:0;text-transform:none;color:var(--ink)}
.rc-m input{width:18px;height:18px;accent-color:var(--gold, currentColor)}
.rc-count{margin:0 0 0 auto;font-size:var(--text-sm);color:var(--muted)}
.rc-count b{color:var(--ink);font-weight:500}
.rc-sub{font-size:var(--text-lg);margin-bottom:var(--s6)}
.rc-featwrap{margin-bottom:var(--s12)}
.rc-open{display:block;width:100%;padding:0;border:0;background:var(--surface, #111);cursor:zoom-in;overflow:hidden}
.rc-open img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .4s ease}
.rc-open:hover img{transform:scale(1.02)}
.rc-tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 var(--s3);padding:0}
.rc-tags li{font-size:11px;letter-spacing:.06em;padding:4px 10px;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted)}
.rc-open{position:relative}
.rc-views{position:absolute;right:10px;bottom:10px;font-size:11px;letter-spacing:.08em;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.72);color:#fff}
.lb-v{float:right;font-size:var(--text-xs);color:var(--muted)}
.lb{background:var(--white)}
.rc-disc{display:block;margin-top:var(--s3);font-size:10.5px;line-height:1.45;color:var(--muted)}
.rc-more{display:flex;justify-content:center;margin-top:var(--s10)}
.rc-empty{text-align:center;color:var(--muted);padding:var(--s10) 0}
.rc-strip{margin:var(--s12) 0}
.rc-strip[hidden]{display:none}
.rc-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin-top:var(--s4)}
.rc-gl{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);min-width:9rem}
.chips a.chip{text-decoration:none}
.chip[aria-current=page]{background:var(--ink);color:var(--white);border-color:var(--ink)}
.chip[aria-current=page] span{color:inherit;opacity:.75}
.rc-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s6)}
.rc-head h2{margin:0}
.prose .rc-strip .ba-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.prose .rc-strip img{margin:0}
.lb{width:min(1200px,96vw);max-height:94vh;padding:0;border:0;background:var(--white);color:var(--ink)}
.lb::backdrop{background:rgba(0,0,0,.86)}
.lb-in{position:relative;display:grid;grid-template-columns:56px 1fr 56px;align-items:center}
.lb figure{margin:0;padding:var(--s6) 0}
.lb img{width:100%;max-height:70vh;object-fit:contain;display:block}
.lb figcaption{padding-top:var(--s4)}
.lb figcaption small{color:var(--muted);font-size:var(--text-xs)}
.lb-nav,.lb-x{background:transparent;border:0;color:var(--ink);font-size:34px;line-height:1;cursor:pointer;height:56px}
.lb-x{position:absolute;top:4px;right:8px;z-index:2;width:48px}
@media (max-width:720px){.lb-in{grid-template-columns:36px 1fr 36px}.rc-count{margin-left:0;width:100%}.rc-f select{min-width:0;width:100%}.rc-f{flex:1 1 45%}.prose .rc-strip .ba-grid{grid-template-columns:1fr}}
