@font-face{font-family:"DM Sans";src:url(/assets/fonts/dm-sans-latin-300-normal.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/assets/fonts/dm-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/assets/fonts/dm-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-latin-600-italic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(/assets/fonts/playfair-display-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(/assets/fonts/playfair-display-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(/assets/fonts/playfair-display-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Montserrat";src:url(/assets/fonts/montserrat-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Montserrat";src:url(/assets/fonts/montserrat-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Montserrat";src:url(/assets/fonts/montserrat-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
/* Quartz Aesthetics. Taken from the logo and the clinic: stone, black, and the gold of the diamond. */

:root{
  --clear:#F6F4F0;      /* stone: page */
  --mist:#ECE8E0;       /* deeper stone: alternate bands */
  --rose:#EADDB8;       /* pale gold: markers, photo backing */
  --gold:#D99D03;       /* logo gold: diamonds, stars */
  --gold-d:#86651A;     /* readable gold: links */
  --garnet:#121110;     /* actions are black, as on the current site */
  --garnet-d:#3B3733;
  --smoke:#1C1B19;      /* text */
  --smoke-2:#5D5952;    /* secondary text */
  --line:#DDD7CC;
  --sage:#EFE7D2;       /* warm callout */
  --serif:"Playfair Display",Georgia,serif;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --w:1180px;
  --facet:polygon(14% 0,86% 0,100% 18%,100% 82%,86% 100%,14% 100%,0 82%,0 18%);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--clear);color:var(--smoke);font:400 16px/1.7 var(--sans)}
img{max-width:100%;display:block}
a{color:var(--gold-d)}
a:hover{color:var(--smoke)}
:focus-visible{outline:2px solid var(--garnet);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0 0 .5em;letter-spacing:0}
h1,h2{text-transform:none}
h1{font-size:clamp(32px,1.3rem + 2.4vw,54px)}
h2{font-size:clamp(26px,1.1rem + 1.5vw,40px)}
h3{font-size:clamp(20px,1rem + .4vw,24px)}
p{margin:0 0 1em;max-width:62ch}
.lede{font-size:1.08rem;color:var(--smoke-2);max-width:54ch}
.wrap{max-width:var(--w);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:#fff;padding:8px 12px;z-index:99}

/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(246,244,240,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:24px;height:72px}
.brand{font-family:var(--serif);font-size:1.45rem;color:var(--smoke);text-decoration:none;display:flex;align-items:center;gap:10px;white-space:nowrap}
.brand img{height:54px;width:auto}
.nav{display:flex;gap:22px;margin-left:auto;align-items:center}
.nav a{color:var(--smoke);text-decoration:none;font-size:.97rem}
.nav a:hover,.nav a[aria-current]{color:var(--gold-d)}
.nav a.btn,.nav a.btn:hover{color:#fff}
.menu-btn{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;padding:0;position:relative;cursor:pointer;color:var(--smoke)}
.menu-btn span{position:absolute;left:10px;right:10px;height:1.5px;background:currentColor;transition:transform .25s,top .25s}
.menu-btn span:first-child{top:17px}.menu-btn span:last-child{top:26px}
.menu-btn[aria-expanded=true] span:first-child{top:21px;transform:rotate(45deg)}.menu-btn[aria-expanded=true] span:last-child{top:21px;transform:rotate(-45deg)}
@media (max-width:960px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--clear);flex-direction:column;align-items:flex-start;padding:16px 24px 24px;gap:14px;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .nav .btn{margin-top:6px}
}

/* buttons */
.btn{display:inline-block;background:var(--garnet);color:#fff;text-decoration:none;font:600 1rem var(--sans);padding:14px 26px;border-radius:999px;border:0;cursor:pointer;white-space:nowrap;transition:background .15s}
.btn:hover{background:var(--garnet-d);color:#fff}
.btn.ghost{background:transparent;color:var(--smoke);box-shadow:inset 0 0 0 1.5px var(--smoke)}
.btn.ghost:hover{background:var(--smoke);color:#fff}
.btn.sm{padding:10px 18px;font-size:.93rem}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* the facet: the one memorable shape, used for every photo frame */
.facet{clip-path:var(--facet);background:linear-gradient(160deg,var(--rose),var(--mist) 60%,var(--sage));aspect-ratio:4/5;position:relative;overflow:hidden}
.facet img{width:100%;height:100%;object-fit:cover}
.facet .ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20%;color:var(--smoke-2);font-size:.9rem}

/* hero */
.hero{padding:72px 0 88px}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.hero .facet{animation:cut 1.1s cubic-bezier(.2,.7,.2,1) both}
@keyframes cut{from{clip-path:polygon(50% 0,50% 0,100% 50%,100% 50%,50% 100%,50% 100%,0 50%,0 50%);opacity:.3}to{clip-path:var(--facet);opacity:1}}
.promise{display:flex;flex-wrap:wrap;gap:8px 22px;margin:22px 0 0;padding:0;list-style:none;color:var(--smoke-2);font-weight:500}
.promise li::before{content:"";display:inline-block;width:9px;height:9px;margin-right:9px;background:var(--gold);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
@media (max-width:860px){.hero{padding:40px 0 56px}.hero .wrap{grid-template-columns:1fr;gap:36px}.hero .facet{max-width:420px}}

/* sections */
section{padding:84px 0}
section.band{background:var(--mist)}
section.dark{background:var(--garnet);color:#F6F4F0}
section.dark .lede,section.dark p{color:#CFC8BC}
section.dark a{color:var(--gold)}
.head{max-width:680px;margin-bottom:40px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split.rev>:first-child{order:2}
@media (max-width:860px){section{padding:56px 0}.split{grid-template-columns:1fr;gap:32px}.split.rev>:first-child{order:0}}

/* treatment index */
.tx{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.tx a{text-decoration:none;color:inherit;display:block}
.tx .facet{aspect-ratio:1/1;margin-bottom:18px}
.tx h3{margin-bottom:.3em}
.tx p{color:var(--smoke-2);font-size:.98rem}
.tx .more{color:var(--gold-d);font-weight:600;font-size:.95rem}
@media (max-width:860px){.tx{grid-template-columns:1fr;gap:36px}.tx .facet{aspect-ratio:16/10}}

/* price menu */
.menu{border-top:1.5px solid var(--smoke)}
.item{padding:26px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:8px 32px}
.item h3{margin:0;font-size:1.3rem}
.item .note{grid-column:1;color:var(--smoke-2);font-size:.95rem;margin:0}
.item .prices{grid-column:2;grid-row:1/span 2;display:flex;flex-direction:column;gap:4px;text-align:right;min-width:210px}
.price{font-variant-numeric:tabular-nums;white-space:nowrap}
.price b{font-weight:600}
.price s{color:var(--smoke-2);margin-right:6px}
.item.feature{background:var(--mist);padding:26px 24px;margin:0 -24px;border-bottom:0}
@media (max-width:640px){.item{grid-template-columns:1fr}.item .prices{grid-column:1;grid-row:auto;text-align:left;min-width:0}.item.feature{margin:0 -16px;padding:22px 16px}}
.group{margin:56px 0 18px;display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.group h2{margin:0}

/* reviews */
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 56px}
blockquote{margin:0}
blockquote p{font-family:var(--serif);font-size:1.08rem;line-height:1.55;max-width:none}
blockquote footer{color:var(--smoke-2);font-size:.95rem}
.stars{color:var(--gold);letter-spacing:3px;font-size:.95rem;margin-bottom:8px}
@media (max-width:860px){.quotes{grid-template-columns:1fr;gap:36px}}
.rating{display:flex;align-items:center;gap:14px;font-weight:500}
.rating .big{font-family:var(--serif);font-size:2.6rem;line-height:1}

/* lists, faq, steps */
.ticks{list-style:none;padding:0;margin:0 0 1em}
.ticks li{padding:8px 0 8px 28px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:16px;width:10px;height:10px;background:var(--gold);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
details{border-bottom:1px solid var(--line);padding:4px 0}
details:first-of-type{border-top:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:18px 36px 18px 0;font-weight:500;font-size:1.06rem;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:1.6rem;font-weight:400;color:var(--gold-d);transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--smoke-2)}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.steps li{counter-increment:s}
.steps li::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;margin-bottom:14px;font-family:var(--serif);font-size:1.3rem;background:var(--rose);clip-path:var(--facet)}
@media (max-width:860px){.steps{grid-template-columns:1fr;gap:28px}}

/* names strip */
.names{display:flex;flex-wrap:wrap;gap:6px 26px;font-family:var(--serif);font-size:1.25rem;color:var(--smoke-2);margin:0;padding:0;list-style:none}

/* results */
.ba{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.ba figure{margin:0}
.ba .facet{aspect-ratio:1/1}
.ba figcaption{margin-top:10px;font-size:.95rem;color:var(--smoke-2)}
@media (max-width:860px){.ba{grid-template-columns:1fr 1fr;gap:18px}}

/* booking slot */
.embed{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;min-height:280px}
.embed iframe{width:100%;border:0;min-height:640px}
.slot{display:grid;place-items:center;text-align:center;min-height:260px;color:var(--smoke-2);border:1.5px dashed var(--rose);border-radius:10px;padding:24px}
.slot strong{display:block;color:var(--smoke);font-weight:600;margin-bottom:6px}
.callout{background:var(--sage);border-radius:12px;padding:20px 24px;margin:24px 0}
.callout p:last-child{margin:0}

/* offer page: urgency strip */
.strip{background:var(--garnet);color:#fff;text-align:center;padding:10px 16px;font-weight:500;font-size:.95rem}
.offer-top .wrap{height:64px;display:flex;align-items:center;justify-content:space-between}

/* footer */
.foot{background:var(--garnet);color:#CFC8BC;padding:64px 0 32px;font-size:.96rem}
.foot a{color:#F6F4F0;text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.foot h4{font:600 .95rem var(--sans);color:#fff;margin:0 0 12px}
.foot ul{list-style:none;padding:0;margin:0}.foot li{margin:0 0 8px}
.foot .legal{border-top:1px solid #34312D;margin-top:48px;padding-top:20px;display:flex;flex-wrap:wrap;gap:12px 28px;color:#9A948A;font-size:.88rem}
.foot .legal .credit{order:9;margin-left:auto;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#7E786F;text-decoration:none;transition:color .2s}
.foot .legal .credit:hover,.foot .legal .credit:focus-visible{color:#C9A44A}
@media (max-width:640px){.foot .legal .credit{margin-left:0;width:100%}}
@media (max-width:860px){.foot .cols{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot .cols{grid-template-columns:1fr;gap:28px}}
.foot a{overflow-wrap:anywhere}

/* whatsapp + consent */
.wa{position:fixed;right:18px;bottom:18px;z-index:30;width:56px;height:56px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 6px 18px rgba(46,38,41,.25)}
.wa svg{width:30px;height:30px;fill:#fff}
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:40;max-width:560px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:0 12px 40px rgba(46,38,41,.18);font-size:.95rem}
.consent p{margin:0 0 14px}
.consent .actions{margin:0}
.consent[hidden]{display:none}
.preview-flag{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);z-index:45;background:#FFF3C4;color:#5A4500;font-size:.72rem;padding:4px 10px;border-radius:99px;pointer-events:none;white-space:nowrap}
@media (max-width:400px){.wrap{padding:0 16px}.top .wrap{gap:12px}.brand img{height:38px}.consent{padding:16px}}

/* media */
.facet video{width:100%;height:100%;object-fit:cover;display:block}
.facet.portrait{aspect-ratio:4/5}
.reel{position:relative;max-width:380px;margin:0 auto;border-radius:18px;overflow:hidden;background:#000;aspect-ratio:9/16}
.reel video{width:100%;height:100%;object-fit:cover;display:block}
.trust{display:flex;flex-wrap:wrap;gap:6px 22px;margin:20px 0 0;color:var(--smoke-2);font-size:.95rem}
.trust b{color:var(--smoke);font-weight:600}
.foot .brand img{height:52px}

/* ---------- home ---------- */
.brand .logo-light{display:none}
.top.over{position:fixed;left:0;right:0;background:transparent;border-color:transparent;backdrop-filter:none;transition:background .3s,border-color .3s}
.top.over .logo-dark{display:none}.top.over .logo-light{display:block}
.top.over .menu-btn,.top.over .nav>a:not(.btn){color:#fff}
.top.over .nav a.btn{background:#fff;color:var(--smoke)}
.top.over.solid{background:rgba(246,244,240,.96);border-color:var(--line);backdrop-filter:blur(8px)}
.top.over.solid .logo-dark{display:block}.top.over.solid .logo-light{display:none}
.top.over.solid .menu-btn,.top.over.solid .nav>a:not(.btn){color:var(--smoke)}
.top.over.solid .nav a.btn{background:var(--garnet);color:#fff}
@media (max-width:960px){.top.over .nav{background:var(--clear)}.top.over .nav>a:not(.btn){color:var(--smoke)}.top.over .nav a.btn{background:var(--garnet);color:#fff}}
.hero-v{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#1c1b19;padding:0}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-v::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,17,16,.45) 0,rgba(18,17,16,0) 22%,rgba(18,17,16,0) 40%,rgba(18,17,16,.78) 100%)}
.hero-in{position:relative;z-index:1;width:100%;padding-bottom:max(40px,6svh)}
.hero-v h1{color:#fff;font-size:clamp(2.3rem,11vw,4.6rem);line-height:1.02;letter-spacing:.06em;margin-bottom:.4em}
.hero-v p{color:rgba(255,255,255,.88);font-size:1.02rem;max-width:34ch}
.hero-v .actions{align-items:center;gap:22px;margin-top:22px}
.btn.light{background:#fff;color:var(--smoke)}.btn.light:hover{background:var(--rose);color:var(--smoke)}
.link-light{color:#fff;text-decoration:none;font-weight:500;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:2px}
.link-light:hover{color:#fff;border-color:#fff}
.hero-trust{display:flex;gap:20px;flex-wrap:wrap;margin:26px 0 0;font-size:.85rem!important;letter-spacing:.04em;color:rgba(255,255,255,.75)!important}
.hero-trust span::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;background:var(--gold);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);vertical-align:1px}
.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}.d1{animation-delay:.15s}.d2{animation-delay:.3s}.d3{animation-delay:.45s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (min-width:961px){.hero-v{min-height:min(100svh,880px)}.hero-in{padding-bottom:90px}}

.marquee{overflow:hidden;background:var(--garnet);padding:16px 0}
.marquee-track{display:flex;width:max-content;align-items:center;animation:marq 38s linear infinite}
.marquee a{color:#F6F4F0;text-decoration:none;font-family:var(--serif);text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;white-space:nowrap;padding:0 22px}
.marquee a:hover{color:var(--gold)}
.marquee i{width:7px;height:7px;background:var(--gold);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);flex:none}
@keyframes marq{to{transform:translateX(-50%)}}
.marquee:hover .marquee-track{animation-play-state:paused}

.statement{text-align:center;padding:72px 0}
.statement h2{font-size:clamp(1.25rem,5vw,1.9rem);line-height:1.35}
.statement p{margin:0 auto;color:var(--smoke-2);max-width:40ch}
.statement h2::before{content:"";display:block;width:12px;height:12px;margin:0 auto 22px;background:var(--gold);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}

.score{display:flex;flex-direction:column;align-items:center;text-align:center;margin:0 auto 28px}
.score-stars{position:relative;font-size:1.7rem;letter-spacing:6px;line-height:1;color:var(--line)}
.score-stars .fill{position:absolute;left:0;top:0;color:var(--gold);overflow:hidden;white-space:nowrap;width:100%;transition:width 1.4s cubic-bezier(.3,.7,.2,1)}
.score[data-count] .fill{width:0}.score.in .fill{width:100%}
.score-row{display:flex;align-items:center;gap:14px;margin-top:12px}
.score-num{font-family:var(--serif);font-weight:400;font-size:2.6rem;line-height:1}
.score-meta{text-align:left;font-size:.88rem;color:var(--smoke-2);line-height:1.4}
.score-meta b{color:var(--smoke);font-weight:600}
.head .score{align-items:flex-start;text-align:left;margin:0}

.rv-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 8px;margin:0 -24px;padding-left:24px;scroll-padding-left:24px}
.rv-track::-webkit-scrollbar{display:none}
.rv-track::after{content:"";flex:0 0 10px}
.rv{flex:0 0 min(82%,360px);scroll-snap-align:start;margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 22px 20px;display:flex;flex-direction:column}
.rv .stars{font-size:.8rem;margin-bottom:10px}
.rv blockquote{font-size:.93rem;line-height:1.6;color:var(--smoke);margin:0 0 16px;flex:1;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.rv figcaption{font-weight:600;font-size:.88rem}
.rv figcaption span{display:block;font-weight:400;color:var(--smoke-2);font-size:.82rem}
.rv-dots{display:flex;justify-content:center;gap:8px;margin-top:16px}
.rv-dots b{width:6px;height:6px;border-radius:50%;background:var(--line);transition:background .2s,width .2s}
.rv-dots b.on{background:var(--smoke);width:18px;border-radius:3px}
.rv-all{display:block;text-align:center;margin-top:18px;font-weight:500;font-size:.95rem}
@media (max-width:400px){.rv-track{margin:0 -16px;padding-left:16px;scroll-padding-left:16px}}
@media (min-width:961px){.rv-track{margin:0;padding-left:2px}.rv{flex-basis:calc((100% - 28px)/3)}}

.reveal .facet{clip-path:polygon(50% 0,50% 0,50% 100%,50% 100%);transition:clip-path 1.2s cubic-bezier(.2,.7,.2,1)}
.reveal.in .facet{clip-path:var(--facet)}
.cta-end{text-align:center}.cta-end p{margin:0 auto}.cta-end .actions{justify-content:center}
.btn.ghost{padding:12px 24px}
@media (max-width:860px){.split>div>h2{margin-top:4px}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}.score[data-count] .fill{width:100%}.reveal .facet{clip-path:var(--facet)}}

/* home: centred layout */
.home main .hero-in,.home main .split>div:not(.reveal),.home main .head{text-align:center}
.home main .actions{justify-content:center}
.home main p{margin-left:auto;margin-right:auto}
.home .hero-v p{max-width:30ch}
.home .hero-trust{justify-content:center}
.home .hero-v .actions{flex-direction:column;gap:16px}
@media (max-width:860px){.home .split .facet{max-width:440px;margin:0 auto}}

/* home: desktop hero. The footage is portrait, so on big screens it sits in a gem frame beside the text,
   over a blurred, darkened wash of the same footage. */
@media (min-width:961px){
  .hero-v{align-items:center;background:#121110}
  .hero-v::before{content:"";position:absolute;inset:-60px;background:url(/assets/img/hero-poster.jpg?v=2) center/cover;filter:blur(50px) brightness(.4) saturate(.8)}
  .hero-v::after{display:none}
  .hero-bg{inset:auto;top:50%;right:max(6vw,calc((100vw - var(--w))/2 + 24px));transform:translateY(-50%);height:min(80svh,760px);width:auto;aspect-ratio:9/16;clip-path:var(--facet);z-index:1}
  .home main .hero-in{text-align:left;padding:120px 24px 80px}
  .hero-in>*{max-width:520px}
  .home .hero-v p{margin-left:0}
  .home .hero-trust,.home .hero-v .actions{justify-content:flex-start}
  .home .hero-v .actions{flex-direction:row;gap:26px}
}
.home .hero-v p.hero-trust{max-width:none;gap:6px 20px}

/* before / after cards */
.bacard{flex:0 0 min(86%,420px);scroll-snap-align:start;margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 10px 18px;text-align:center}
.ba-img{border-radius:10px;overflow:hidden;background:var(--mist);aspect-ratio:1/1;display:grid;place-items:center}
.ba-img img{width:100%;height:100%;object-fit:contain}
.bacard figcaption{margin-top:14px;font-family:var(--serif);font-weight:400;font-size:1.15rem}
.bacard figcaption span{display:block;font-family:var(--sans);text-transform:none;letter-spacing:0;font-weight:500;color:var(--gold-d);font-size:.8rem;margin-bottom:4px}
.bacard figcaption small{display:block;font-family:var(--sans);text-transform:none;letter-spacing:0;font-weight:400;color:var(--smoke-2);font-size:.82rem;margin-top:4px}
.ba-note{font-size:.85rem;color:var(--smoke-2);text-align:center;margin:14px auto 0}
@media (min-width:961px){.bacard{flex-basis:calc((100% - 28px)/3)}}
section.dark .btn{background:#fff;color:var(--smoke)}section.dark .btn:hover{background:var(--rose);color:var(--smoke)}

@media (max-width:767px){body{font-size:15.5px}}
/* price headings sit centred over their centred price cards */
.group:has(+ .py-prices){justify-content:center;text-align:center}
/* phones: a shorter footer, with the two link lists side by side */
@media (max-width:560px){
  .foot{padding:48px 0 28px}
  .foot .cols{grid-template-columns:1fr 1fr;gap:28px 20px}
  .foot .cols>div:first-child,.foot .cols>div:last-child{grid-column:1/-1}
  .foot li{margin:0 0 6px}
  .foot .legal{margin-top:32px}
}

/* funnel pages: one slim line */
.foot.foot-slim{padding-top:28px;padding-bottom:28px}
.foot.foot-slim .legal{border-top:0;margin-top:0;padding-top:0}
