:root{
  --black:#050505;
  --ink:#0b0d10;
  --paper:#f4f4f2;
  --paper-2:#e9e9e6;
  --muted:#6f747a;
  --line:rgba(5,5,5,.09);
  --line-dark:rgba(255,255,255,.10);
  --white:#fff;
  --blue:#0098ff;
  --green:#13f2d0;
  --mono:"Archivo", "Space Grotesk", "Inter", system-ui, sans-serif;
  --sans:"Instrument Sans", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif:"Instrument Serif", Georgia, serif;
  --max:1280px;
  --gutter:36px;
  --sec-pad:clamp(90px,11vw,150px);
  --radius:22px;
  --ease:cubic-bezier(.22,.8,.24,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--paper)}
body{font-family:var(--sans);background:var(--paper);color:var(--black);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
img{max-width:100%;display:block}
::selection{background:var(--blue);color:#fff}
.container{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.section-dark{background:var(--black);color:var(--white)}
.grain{position:fixed;inset:-40%;pointer-events:none;z-index:999;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--blue);z-index:1001;transform-origin:left center}
.cursor{position:fixed;left:0;top:0;width:16px;height:16px;border:1px solid var(--blue);border-radius:50%;z-index:1000;pointer-events:none;mix-blend-mode:difference;opacity:.8;transform:translate(-50%,-50%);transition:width .2s,height .2s,opacity .2s}
.cursor.is-big{width:48px;height:48px;opacity:.45}
.loader{position:fixed;inset:0;background:#050505;color:#fff;z-index:2000;display:grid;place-items:center;transition:opacity .6s ease,visibility .6s ease}.loader.is-hidden{opacity:0;visibility:hidden}.loader p{font-family:var(--mono);font-size:14px;letter-spacing:.34em}.loader__bar{position:absolute;bottom:45%;width:220px;height:2px;background:rgba(255,255,255,.15);overflow:hidden}.loader__bar span{display:block;height:100%;width:100%;background:var(--blue);animation:load 1.2s cubic-bezier(.7,0,.2,1) forwards}@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(0)}}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:900;height:76px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:0 clamp(18px,3vw,42px);mix-blend-mode:difference;color:#fff}.brand{display:inline-flex;align-items:center}.brand img{height:30px;width:auto}.desktop-nav{justify-self:center;display:flex;gap:28px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.desktop-nav a{position:relative;opacity:.78;transition:opacity .25s,transform .25s}.desktop-nav a:hover{opacity:1;transform:translateY(-2px)}.header-actions{display:flex;align-items:center;gap:20px}.hamburger{position:relative;width:34px;height:34px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px}.hamburger span{width:27px;height:1.5px;background:currentColor;display:block;transition:transform .3s,width .3s}.hamburger span:nth-child(2){width:21px}.hamburger[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}.hamburger[aria-expanded="true"] span:nth-child(2){width:27px;transform:translateY(-4.5px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:850;background:rgba(5,5,5,.88);backdrop-filter:blur(18px);clip-path:inset(0 0 100% 0);transition:clip-path .65s cubic-bezier(.77,0,.18,1);color:#fff}.menu.open{clip-path:inset(0)}.menu__inner{height:100%;padding:110px clamp(28px,7vw,120px);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:18px}.menu small{color:var(--blue);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase}.menu a{font-family:var(--mono);font-size:clamp(42px,7vw,98px);font-weight:800;letter-spacing:-.07em;line-height:.86;color:#fff;transition:color .2s,transform .25s}.menu a:hover{color:var(--blue);transform:translateX(12px)}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:0;padding:18px 28px;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;min-width:180px}.button--blue{background:var(--blue);color:#fff}.button--blue:hover{filter:brightness(1.08)}

/* hero */
.hero{position:relative;min-height:105vh;padding-top:110px;display:flex;align-items:flex-start;overflow:hidden}.hero__media{position:absolute;inset:0;opacity:.24}.hero__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1)}.hero__shade{position:absolute;inset:0;background:radial-gradient(circle at 78% 22%,rgba(0,152,255,.18),transparent 25%),linear-gradient(180deg,rgba(5,5,5,.42),#050505 78%)}.hero__shade:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:33.333% 240px;mask-image:linear-gradient(#000,transparent 85%)}.hero__grid{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,1.05fr) 420px;gap:50px;align-items:start}.kicker,.label{font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:22px}.hero h1{font-family:var(--mono);font-size:clamp(54px,7.8vw,118px);font-weight:800;line-height:.88;letter-spacing:-.075em;max-width:820px}.hero h1 span{color:var(--blue);display:block}.hero__lead{max-width:610px;color:rgba(255,255,255,.66);font-size:clamp(15px,1.45vw,19px);line-height:1.55;margin-top:26px}

/* mission */.split-title h2,.services h2,.pricing h2,.faq h2,.final-cta h2{font-family:var(--mono);font-size:clamp(42px,6vw,76px);font-weight:800;line-height:.88;letter-spacing:-.07em}.split-title span,.services h2 span,.pricing h2 span,.final-cta span{color:var(--blue)}.quote{align-self:end;font-weight:800;font-size:clamp(18px,2.1vw,28px);line-height:1.02;max-width:360px}.quote span{display:block;font-size:36px;color:var(--blue);line-height:.8}.quote cite{display:block;font-style:normal;font-size:11px;font-weight:700;color:var(--muted);margin-top:14px;text-transform:uppercase;letter-spacing:.04em}@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* positioning */.split-title{display:grid;grid-template-columns:.9fr 1.4fr 1fr;gap:34px;align-items:start}.split-title>p:last-child{font-size:15px;color:#36383b;line-height:1.35;max-width:340px}@keyframes pulseBar{to{transform:scaleY(.82)}}

/* services */
.services{padding:94px 0 70px;position:relative;overflow:hidden}.services:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark) 1px,transparent 1px);background-size:25% 145px;opacity:.45}.services__layout{position:relative;display:grid;grid-template-columns:.85fr 1.65fr;gap:58px}.services__intro{position:sticky;top:115px;align-self:start}.services__intro p:not(.kicker){color:rgba(255,255,255,.62);line-height:1.45;max-width:280px;margin-top:18px}.service-list{border-top:1px solid var(--line-dark)}.service-row{display:grid;grid-template-columns:80px 1fr 1.2fr;gap:30px;align-items:center;min-height:132px;border-bottom:1px solid var(--line-dark);transition:background .25s,padding .25s}.service-row:hover{background:rgba(255,255,255,.035);padding-left:18px}.service-row span{font-family:var(--mono);font-size:11px;color:var(--blue)}.service-row b{font-size:16px}.service-row p{font-size:15px;color:rgba(255,255,255,.58);max-width:420px;line-height:1.35}.hover-preview{position:fixed;width:170px;height:130px;z-index:900;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.9);transition:opacity .18s,transform .18s}.hover-preview.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.hover-preview img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2);border:1px solid rgba(255,255,255,.18)}

/* process */

/* featured */
.featured{padding:86px 0;background:var(--paper)}.article-card small{font-family:var(--mono);font-size:11px;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.08em}.article-card a{height:42px;display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:0 18px;background:#050505;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}

/* trust */

/* pricing */
.pricing{padding:90px 0}

/* articles */.article-card{background:#fff;border:1px solid var(--line);padding:14px;display:grid;gap:16px}.article-card img{width:100%;height:210px;object-fit:cover;filter:grayscale(.3)}.article-card h3{font-family:var(--mono);font-size:26px;line-height:.98;letter-spacing:-.05em}.article-card a{background:#eee;color:#050505;margin-top:8px}

/* faq */
.faq{padding:86px 0;background:#f4f4f2}.faq__grid{display:grid;grid-template-columns:.95fr 1.45fr;gap:84px}.faq h2{margin-bottom:22px}.faq p{font-size:15px;color:#555;line-height:1.45}.accordion details{border-top:1px solid var(--line);padding:22px 0}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{list-style:none;font-weight:800;font-size:18px;display:flex;justify-content:space-between;cursor:pointer}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:"+";color:var(--blue)}.accordion details[open] summary:after{content:"-"}.accordion details p{margin-top:16px;max-width:660px}

/* final/footer */
.final-cta{padding:80px 0}.final-cta__grid{display:grid;grid-template-columns:.7fr 1.5fr auto;gap:34px;align-items:center}.final-cta p{font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.58);text-transform:uppercase;letter-spacing:.1em}.footer{padding:68px 0 34px;border-top:1px solid var(--line-dark)}.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}.footer img{height:36px;margin-bottom:22px}.footer p{max-width:280px;color:rgba(255,255,255,.62);font-size:14px;line-height:1.5}.footer small{font-family:var(--mono);font-size:11px;color:var(--blue);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;display:block}.footer a{display:block;color:rgba(255,255,255,.64);font-size:14px;margin-bottom:10px}.footer a:hover{color:#fff}.legal{color:rgba(255,255,255,.42);font-size:11px;line-height:1.45;margin-top:50px;border-top:1px solid var(--line-dark);padding-top:26px}

/* sticky/triage */
.floating-cta{position:fixed;right:24px;bottom:24px;width:150px;background:#050505;color:#fff;z-index:700;border:1px solid rgba(255,255,255,.12);padding:12px;box-shadow:0 14px 40px rgba(0,0,0,.18);transition:transform .35s,opacity .35s}.floating-cta.hidden{transform:translateY(40px);opacity:0;pointer-events:none}.floating-cta img{height:22px;width:auto;margin:6px 0 15px}.floating-cta button:not(.float-close){width:100%;height:36px;background:#fff;color:#050505;font-size:12px;font-weight:800}.float-close{position:absolute;right:6px;top:4px;color:#fff;font-size:12px;opacity:.6}.triage-modal{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:1100;display:grid;place-items:center;padding:22px;opacity:0;pointer-events:none;transition:opacity .25s}.triage-modal.open{opacity:1;pointer-events:auto}.triage-modal__card{width:min(620px,100%);background:#f5f5f2;color:#050505;padding:34px;position:relative}.triage-modal__card small{font-family:var(--mono);font-size:11px;color:var(--blue);text-transform:uppercase;font-weight:800;letter-spacing:.1em}.triage-modal__card h3{font-family:var(--mono);font-size:48px;line-height:.92;letter-spacing:-.06em;margin:18px 0 24px}.modal-close{position:absolute;right:18px;top:14px;font-size:22px}.triage-options{display:grid;gap:8px}.triage-options a{background:#fff;border:1px solid var(--line);min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-weight:800;transition:background .2s,padding .2s}.triage-options a:hover{background:var(--blue);color:#fff;padding-left:26px}.triage-options span{font-family:var(--mono);font-size:12px;color:#666}.triage-modal__card p{font-size:12px;color:#666;margin-top:18px}

/* animation helpers */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}.delay-1{transition-delay:.09s}.delay-2{transition-delay:.18s}.delay-3{transition-delay:.27s}

@media(max-width:1040px){
  :root{--gutter:22px}.desktop-nav{display:none}.hero__grid,.split-title,.services__layout,.faq__grid{grid-template-columns:1fr}.hero{min-height:94vh}.service-row{grid-template-columns:52px 1fr;gap:18px}.service-row p{grid-column:2}.final-cta__grid{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr 1fr}.services__intro{position:static}.cursor{display:none}}
@media(max-width:650px){
  .site-header{height:66px;padding:0 18px}.brand img{height:25px}.hero{padding-top:92px;min-height:88vh}.hero h1{font-size:clamp(52px,18vw,74px)}.hero__lead{font-size:15px}.footer__grid{grid-template-columns:1fr}.split-title h2,.services h2,.pricing h2,.faq h2,.final-cta h2{font-size:44px}.services,.featured,.pricing,.faq{padding:64px 0}.service-row{min-height:118px}.floating-cta{display:none}.triage-modal__card{padding:26px}.triage-modal__card h3{font-size:38px}.menu a{font-size:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.cursor{display:none}}


/* ===== v8 refinements: cleaner hero, sticky focus, glass, smoother services, animated logo ===== */
.curo-logo{--logo-h:30px;position:relative;display:inline-block;height:var(--logo-h);width:calc(var(--logo-h) * 3.6923);line-height:0;isolation:isolate;vertical-align:middle}
.curo-logo img{height:100%!important;width:100%!important;object-fit:contain;margin:0!important;display:block}
.curo-logo::after{content:"";position:absolute;right:2.5%;top:50%;width:33%;height:64%;border-radius:999px;background:radial-gradient(circle,rgba(0,152,255,.26),transparent 68%);transform:translateY(-50%) scale(.85);opacity:.25;animation:curoPulse 2.2s ease-in-out infinite;z-index:1;pointer-events:none}
@keyframes curoHeartbeat{0%{stroke-dashoffset:168;opacity:.38;stroke-width:6.8}10%{stroke-dashoffset:0;opacity:1;stroke-width:8.8}18%{opacity:.55;stroke-width:6.5}25%{opacity:1;stroke-width:8.2}38%{opacity:.82}74%{stroke-dashoffset:-168;opacity:.32}100%{stroke-dashoffset:-168;opacity:.32}}
@keyframes curoPulse{0%,68%,100%{opacity:.12;transform:translateY(-50%) scale(.82)}10%,25%{opacity:.42;transform:translateY(-50%) scale(1.05)}}
.brand .curo-logo{--logo-h:30px}.footer .curo-logo{--logo-h:36px;margin-bottom:22px}.floating-cta .curo-logo{--logo-h:22px;margin:6px 0 15px}

.hero{min-height:112svh;padding-top:clamp(104px,12vh,138px);padding-bottom:clamp(260px,30vh,380px);align-items:flex-start}.hero__grid{z-index:3}.hero h1{font-size:clamp(54px,6.4vw,98px);max-width:980px;line-height:.9;letter-spacing:-.07em}.hero__lead{position:relative;z-index:4;max-width:590px;color:rgba(255,255,255,.72)}
.services__intro,.floating-cta,.triage-modal__card{background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 70px rgba(0,0,0,.28);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.services{padding:118px 0 112px}.services__layout{align-items:start}.services__intro{top:104px;padding:30px;border-radius:24px;min-height:420px;display:flex;flex-direction:column;justify-content:space-between}.services__intro p:not(.kicker){max-width:320px}.services__intro h2{font-size:clamp(50px,5.8vw,82px)}.service-list{border-top:1px solid rgba(255,255,255,.14)}.service-row{min-height:142px;will-change:background,transform;transform:translateZ(0);transition:background .18s ease,transform .18s ease,border-color .18s ease}.service-row:hover{padding-left:0;transform:translate3d(10px,0,0);background:rgba(255,255,255,.045)}.hover-preview{left:0;top:0;--x:-999px;--y:-999px;--scale:.92;transform:translate3d(var(--x),var(--y),0) translate(-50%,-50%) scale(var(--scale));transition:opacity .14s ease;will-change:transform,opacity;contain:layout paint;backface-visibility:hidden}.hover-preview.visible{--scale:1}.hover-preview img{filter:none;border-radius:18px;box-shadow:0 22px 70px rgba(0,0,0,.42)}
.article-card{background:rgba(255,255,255,.68);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.triage-modal__card{background:rgba(244,244,242,.82);border-color:rgba(255,255,255,.55)}
@media(max-width:1040px){.hero{min-height:100svh;padding-bottom:180px}.services__intro{position:static;min-height:auto}.service-row:hover{transform:none}}
@media(max-width:650px){.brand .curo-logo{--logo-h:25px}.hero{padding-bottom:120px}.hero h1{font-size:clamp(50px,15vw,70px)}.services__intro{padding:22px;border-radius:18px}.services__intro h2{font-size:44px}.footer .curo-logo{--logo-h:31px}}
@media(prefers-reduced-motion:reduce){.curo-logo::after{animation:none;stroke-dashoffset:0}.hover-preview{display:none}}

/* ===== v9 SVG logo + glass hero + fixed service previews ===== */
.loader{gap:22px}
.loader .loader-logo{width:160px;height:auto;filter:drop-shadow(0 0 14px rgba(0,152,255,.22))}
.loader p{display:none}
.brand img{height:auto;width:auto}
.curo-logo{--logo-h:30px;display:inline-flex;align-items:center;justify-content:center;height:var(--logo-h);width:calc(var(--logo-h) * 3.9016);line-height:0;position:relative;isolation:isolate}
.curo-logo img{width:100%!important;height:100%!important;object-fit:contain!important;margin:0!important;display:block!important}
.curo-logo::after{display:none!important}
.brand .curo-logo{--logo-h:31px}.footer .curo-logo{--logo-h:38px;margin-bottom:22px}.floating-cta .curo-logo{--logo-h:24px;margin:6px 0 16px}

.hero{min-height:112svh;padding-top:clamp(106px,12vh,138px);padding-bottom:clamp(270px,30vh,390px);isolation:isolate}
.hero__grid{position:relative;z-index:4}.hero__copy{max-width:1000px}.hero h1{max-width:980px}.hero__lead{max-width:610px;position:relative;z-index:5;text-shadow:0 10px 32px rgba(0,0,0,.38)}
.hero__media{opacity:.34}.hero__media img{filter:grayscale(1) contrast(1.16) brightness(.82);transform:scale(1.02)}
.hero__shade{background:radial-gradient(circle at var(--hero-light-x,78%) var(--hero-light-y,22%),rgba(0,152,255,.11),transparent 26%),linear-gradient(180deg,rgba(5,5,5,.17),rgba(5,5,5,.44) 78%,rgba(5,5,5,.5) 100%)}

.services__intro,.floating-cta,.triage-modal__card{background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 70px rgba(0,0,0,.28);backdrop-filter:blur(18px) saturate(126%);-webkit-backdrop-filter:blur(18px) saturate(126%)}
.article-card{background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.65);backdrop-filter:blur(14px) saturate(115%);-webkit-backdrop-filter:blur(14px) saturate(115%)}

.services{padding:120px 0 118px;overflow:visible}
.services__layout{align-items:start;position:relative}.services__intro{position:sticky!important;top:96px;padding:32px;border-radius:24px;min-height:440px;display:flex;flex-direction:column;justify-content:space-between;z-index:2}.services__intro h2{font-size:clamp(52px,5.8vw,82px)}
.service-list{position:relative;z-index:1;isolation:isolate}.service-row{position:relative;min-height:136px;will-change:transform,background;transform:translate3d(0,0,0);transition:background .16s ease,transform .16s ease,border-color .16s ease}.service-row:hover{padding-left:0!important;transform:translate3d(10px,0,0);background:rgba(255,255,255,.052)}
.hover-preview{position:fixed;left:0;top:0;width:240px;height:164px;z-index:1500;pointer-events:none;opacity:0;--preview-x:-9999px;--preview-y:-9999px;--preview-scale:.96;transform:translate3d(var(--preview-x),var(--preview-y),0) scale(var(--preview-scale));transform-origin:top left;transition:opacity .12s ease,transform .12s ease;will-change:transform,opacity;contain:layout paint style;border-radius:20px;padding:8px;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.22);box-shadow:0 22px 80px rgba(0,0,0,.42);backdrop-filter:blur(15px) saturate(130%);-webkit-backdrop-filter:blur(15px) saturate(130%)}
.hover-preview.visible{opacity:1;--preview-scale:1}.hover-preview img{width:100%;height:100%;object-fit:cover;border-radius:14px;filter:none!important;box-shadow:none!important;border:1px solid rgba(255,255,255,.18)}

@media(max-width:1040px){.hero{min-height:100svh;padding-bottom:clamp(150px,24vh,240px)}.services{overflow:hidden}.services__intro{position:static!important;min-height:auto}.hover-preview{display:none}.service-row:hover{transform:none}}
@media(max-width:650px){.loader .loader-logo{width:132px}.brand .curo-logo{--logo-h:26px}.hero{padding-top:92px;padding-bottom:130px}.footer .curo-logo{--logo-h:32px}.services__intro h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){.hover-preview{display:none}}

/* ===== v9b exact SVG heartbeat overlay ===== */
.curo-logo{position:relative;overflow:visible}@keyframes exactHeartbeat{0%{stroke-dashoffset:150;opacity:.2}8%{stroke-dashoffset:0;opacity:1}15%{opacity:.55}24%{opacity:1;filter:drop-shadow(0 0 8px rgba(0,149,255,.85))}42%{stroke-dashoffset:0;opacity:.9}72%{stroke-dashoffset:-150;opacity:.22}100%{stroke-dashoffset:-150;opacity:.22}}


/* ===== v11 corrections: no-card SVG glass, fixed cursor preview, full treatment pages ===== */
.floating-cta,.triage-modal__card{background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 70px rgba(0,0,0,.28);backdrop-filter:blur(18px) saturate(126%);-webkit-backdrop-filter:blur(18px) saturate(126%)}
.services__intro{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:0!important;border-radius:0!important;min-height:360px!important;max-width:360px!important}
.services__intro:before{content:"";position:absolute;inset:-24px -28px auto -28px;height:260px;background:radial-gradient(circle at 20% 20%,rgba(0,152,255,.18),transparent 62%);pointer-events:none;z-index:-1;filter:blur(8px)}
.hover-preview{position:fixed!important;left:-9999px;top:-9999px;width:250px!important;height:172px!important;z-index:2147483000!important;pointer-events:none!important;opacity:0!important;transform:translate3d(0,0,0) scale(.96)!important;transform-origin:top left!important;transition:opacity .12s ease,transform .12s ease!important;will-change:left,top,transform,opacity!important;contain:layout paint style!important;border-radius:20px!important;padding:8px!important;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.05))!important;border:1px solid rgba(255,255,255,.22)!important;box-shadow:0 22px 80px rgba(0,0,0,.42)!important;backdrop-filter:blur(15px) saturate(130%)!important;-webkit-backdrop-filter:blur(15px) saturate(130%)!important}
.hover-preview.visible{opacity:1!important;transform:translate3d(0,0,0) scale(1)!important}.hover-preview img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:14px!important;filter:none!important;box-shadow:none!important;border:1px solid rgba(255,255,255,.18)!important}

body.treatment-page{background:#050505;color:#fff}.page-hero{position:relative;min-height:92vh;display:flex;align-items:end;padding:138px 0 96px;overflow:hidden}.page-hero__media{position:absolute;inset:0;opacity:.38}.page-hero__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(.72);transform:scale(1.02)}.page-hero__shade{position:absolute;inset:0;background:radial-gradient(circle at 78% 20%,rgba(0,152,255,.20),transparent 32%),linear-gradient(180deg,rgba(5,5,5,.30),#050505 82%)}.page-hero:after,.treat-section--dark:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:25% 150px;pointer-events:none;opacity:.55}.page-hero .container{position:relative;z-index:2}.backlink{display:inline-flex;gap:10px;align-items:center;color:rgba(255,255,255,.66);font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:28px}.page-hero h1{font-family:var(--mono);font-size:clamp(62px,10vw,152px);line-height:.84;letter-spacing:-.085em;max-width:1030px}.page-hero h1 span,.page-title span,.treat-section h2 span{color:var(--blue)}.page-hero p{font-size:clamp(16px,1.6vw,22px);color:rgba(255,255,255,.68);max-width:720px;line-height:1.48;margin:28px 0 34px}.page-actions{display:flex;gap:14px;flex-wrap:wrap}.page-actions a,.page-actions button,.link-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 20px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);color:#fff;font-weight:800;font-size:13px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.page-actions a.primary,.link-button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.treat-section{position:relative;padding:104px 0;background:var(--paper);color:var(--ink);overflow:hidden}.treat-section--dark{background:#050505;color:#fff}.treat-section--dark p,.treat-section--dark li{color:rgba(255,255,255,.64)}.page-title{display:grid;grid-template-columns:.9fr 1.4fr;gap:42px;align-items:start;margin-bottom:44px}.page-title h2,.treat-section h2{font-family:var(--mono);font-size:clamp(42px,6.2vw,84px);line-height:.86;letter-spacing:-.075em}.page-title p{font-size:17px;line-height:1.45;color:var(--muted);max-width:520px}.pillars-grid,.program-grid,.article-page-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pillars-grid article,.program-card,.timeline-card,.glass-panel{background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.64);box-shadow:0 16px 50px rgba(10,14,20,.08);backdrop-filter:blur(15px) saturate(118%);-webkit-backdrop-filter:blur(15px) saturate(118%);padding:26px;min-height:210px}.treat-section--dark .pillars-grid article,.treat-section--dark .program-card,.treat-section--dark .timeline-card,.treat-section--dark .glass-panel{background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035));border-color:rgba(255,255,255,.13);box-shadow:0 18px 70px rgba(0,0,0,.28)}.pillars-grid small,.program-card small,.timeline-card small{display:block;font-family:var(--mono);font-size:11px;color:var(--blue);font-weight:800;margin-bottom:18px}.pillars-grid h3,.program-card h3,.timeline-card h3{font-size:22px;line-height:1.02;margin-bottom:12px}.pillars-grid p,.program-card p,.timeline-card p{color:var(--muted);font-size:15px;line-height:1.45}.program-grid{grid-template-columns:1.15fr .85fr;align-items:start}.program-card ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:11px}.program-card li{font-size:14px;color:var(--muted)}.program-card li:before{content:"+";color:var(--blue);font-weight:900;margin-right:10px}.big-price{font-family:var(--mono);font-size:clamp(62px,8vw,104px);line-height:.84;letter-spacing:-.09em;color:var(--blue);margin:20px 0}.timeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.timeline-card{min-height:250px}.timeline-card b{font-family:var(--mono);font-size:44px;letter-spacing:-.06em;color:var(--blue)}.split-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}.article-page-grid{grid-template-columns:repeat(3,1fr)}.article-page-grid .article-card a{color:var(--blue);font-weight:900}.site-header .brand[href="index.html#top"]{cursor:pointer}
@media(max-width:1040px){.page-title,.program-grid,.split-panel{grid-template-columns:1fr}.pillars-grid,.timeline-grid,.article-page-grid{grid-template-columns:repeat(2,1fr)}.page-hero{min-height:82vh}.services__intro{max-width:none!important}}
@media(max-width:650px){.page-hero{padding:110px 0 70px;min-height:auto}.page-hero h1{font-size:clamp(56px,18vw,82px)}.pillars-grid,.timeline-grid,.article-page-grid{grid-template-columns:1fr}.treat-section{padding:68px 0}.page-title h2,.treat-section h2{font-size:46px}.hover-preview{display:none!important}}
.page-actions button.primary{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important}

/* ===== v12: aligned header + clean glass CURO wordmark (refracts video behind it) ===== */

/* 1. Align the fixed header to the same content rail as .container so the logo/nav
   share a left edge with the hero text on any width (fixes wide-screen drift). */
.site-header{
  padding-left:max(18px, calc((100vw - var(--max))/2 + var(--gutter)))!important;
  padding-right:max(18px, calc((100vw - var(--max))/2 + var(--gutter)))!important;
}

/* 2. Tighten hero vertical rhythm so wide/short viewports aren't mostly empty void. */
.hero{min-height:100svh!important;padding-bottom:clamp(170px,20vw,300px)!important}
.hero__grid{align-items:start}

/* 3. The giant wordmark band, anchored to the bottom of the hero, full-bleed. */

/* The glass letters themselves: a single element whose backdrop is blurred and
   then masked to the shape of the word "CURO". Whatever sits BEHIND it in the hero
   (the dark gradient now, a video later) is what gets refracted through the glass. */
/* specular highlight that tracks the cursor (driven by --shine-x/y from main.js) */
/* diagonal sheen sweep (driven by --sheen-x from main.js) */
/* retire the old logo-image / heartbeat overlays from earlier versions */

/* ===== v13: bg-video heroes, rotating word, dark/light logo, larger CTA card, section video ===== */

/* the giant CURO wordmark is removed per request */

/* HERO: full-bleed background video (drop assets/video/hero.mp4 to activate; poster shows until then) */
.hero{min-height:100svh!important;padding-bottom:clamp(90px,12vh,150px)!important;isolation:isolate}
.hero__media{position:absolute!important;inset:0!important;opacity:1!important;overflow:hidden;z-index:0}
.hero__media .hero__video,.hero__media img{width:100%!important;height:100%!important;object-fit:cover!important;filter:grayscale(.12) contrast(1.04) brightness(.8)!important;transform:scale(1.03)}
.hero__shade{z-index:1}
.hero__grid{position:relative;z-index:3}

/* rotating highlighted word in the hero headline */
.hero h1 .rot{color:var(--blue);display:block;will-change:opacity,transform;transition:opacity .42s cubic-bezier(.2,.8,.2,1),transform .42s cubic-bezier(.2,.8,.2,1)}
.hero h1 .rot.swap{opacity:0;transform:translateY(16px)}

/* HEADER: switch logo + nav to black over light sections (previously always white) */
.site-header{mix-blend-mode:normal!important}
.curo-logo{position:relative;display:inline-flex;align-items:center}
.curo-logo .curo-logo__b{display:none!important}
.curo-logo .curo-logo__w{display:block!important}
.curo-logo img{width:100%!important;height:100%!important;object-fit:contain!important}
.site-header.is-light{color:#050505}
.site-header.is-light .curo-logo__w{display:none!important}
.site-header.is-light .curo-logo__b{display:block!important}
.site-header.is-light .desktop-nav a{color:#050505}
body.menu-open .site-header{color:#fff!important}
body.menu-open .site-header .curo-logo__w{display:inline-block!important}
body.menu-open .site-header .curo-logo__b{display:none!important}

/* LARGER sticky CTA card with a low-opacity background image (replace assets/images/cta-card.jpg) */
.floating-cta{width:272px!important;padding:0!important;border-radius:18px!important;overflow:hidden!important;background:#050505!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 22px 60px rgba(0,0,0,.42)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.floating-cta__media{position:absolute;inset:0;z-index:0;background:url('../images/cta-card.jpg') center/cover no-repeat;opacity:.34}
.floating-cta__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.30),rgba(5,5,5,.86))}
.floating-cta__body{position:relative;z-index:1;padding:18px 16px 16px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.floating-cta__body .curo-logo{--logo-h:24px;margin:2px 0 2px}
.floating-cta small{color:rgba(255,255,255,.78);font-family:var(--mono);font-size:11px;letter-spacing:.03em;line-height:1.3}
.floating-cta__body button:not(.float-close){width:100%;height:46px;background:var(--blue);color:#fff;font-size:13px;font-weight:800;letter-spacing:.02em;border-radius:10px;transition:filter .2s}
.floating-cta__body button:not(.float-close):hover{filter:brightness(1.08)}
.float-close{position:absolute;right:9px;top:7px;z-index:3;color:#fff;font-size:15px;line-height:1;opacity:.72}
@media(max-width:650px){.floating-cta{display:none}}

/* "OUR FOCUSES" (services) background video (drop assets/video/focuses.mp4) */
.services{position:relative}
.services__media{position:absolute;inset:0;z-index:0;overflow:hidden;opacity:.55;pointer-events:none}
.services__media video,.services__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) brightness(.6)}
.services__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.55),rgba(5,5,5,.86))}
.services__layout{position:relative;z-index:2}

/* PER-PAGE hero background video (drop assets/video/<page>.mp4) */
.page-hero{isolation:isolate}
.page-hero__media{z-index:0}
.page-hero__media .page-hero__video,.page-hero__media img{width:100%;height:100%;object-fit:cover}
.page-hero__shade{z-index:1}
.page-hero .container{position:relative;z-index:3}

/* ===== v14: centered hero + CTA buttons, How-Curo-Works section ===== */

/* hero centered both axes (single column) */
.hero{align-items:center!important;justify-content:center;text-align:center}
.hero__grid{grid-template-columns:1fr!important;justify-items:center;gap:0!important}
.hero__copy{max-width:900px;display:flex;flex-direction:column;align-items:center}
.hero__copy .kicker{margin-bottom:18px}
.hero h1{max-width:none}
.hero__lead{margin:22px auto 0!important;max-width:660px;text-align:center}
.hero__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px}
.hero__cta .btn-fill{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 30px;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:.01em;transition:transform .2s,filter .2s,background .2s,color .2s,border-color .2s}
.hero__cta .btn-fill{background:#fff;color:#050505}
.hero__cta .btn-fill:hover{transform:translateY(-2px);filter:brightness(.92)}

/* "How Curo Works" section (replaces the old mission/who-we-are block) */
.howto{background:var(--paper);color:var(--black);padding:clamp(70px,9vw,120px) 0;position:relative}
.howto__cta{text-align:center;margin-top:50px;display:flex;flex-direction:column;align-items:center;gap:14px}
.howto__cta button{height:54px;padding:0 36px;border-radius:999px;border:1.5px solid #050505;background:transparent;color:#050505;font-family:var(--mono);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:14px;transition:background .2s,color .2s}
.howto__cta button:hover{background:#050505;color:#fff}
.howto__cta small{color:#8a8f95;font-size:12px}

/* ===== v17: square "Start visit" card with looping background video ===== */
.floating-cta{width:300px!important;aspect-ratio:1/1!important;height:auto!important;padding:0!important;border-radius:20px!important;overflow:hidden!important;background:#050505!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 22px 60px rgba(0,0,0,.45)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.floating-cta__media{position:absolute!important;inset:0!important;z-index:0!important;background:none!important;opacity:1!important}
.floating-cta__media video,.floating-cta__media img{width:100%;height:100%;object-fit:cover;display:block}
.floating-cta__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.18) 0%,rgba(5,5,5,.08) 36%,rgba(5,5,5,.88) 100%)}
.floating-cta__body{position:relative;z-index:1;height:100%;display:grid;grid-template-rows:1fr auto;padding:24px 20px 20px;gap:14px}
.floating-cta__body .curo-logo{place-self:center;--logo-h:42px;margin:0}
.floating-cta__body button:not(.float-close){width:100%;height:52px;border-radius:13px;background:linear-gradient(180deg,#36aeff,#0098ff);color:#fff;font-size:15px;font-weight:800;letter-spacing:.01em;box-shadow:0 10px 26px rgba(0,152,255,.45);transition:filter .2s,transform .2s}
.floating-cta__body button:not(.float-close):hover{filter:brightness(1.08);transform:translateY(-1px)}
.float-close{position:absolute!important;right:10px;top:10px;z-index:3;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:15px;line-height:1;display:grid;place-items:center;opacity:.85}
@media(max-width:650px){.floating-cta{display:none}}

/* ===== v19: remove grain + grid texture from heroes (clean gradient only) ===== */
.grain{display:none!important}
.hero__shade:after{display:none!important}
.page-hero:after{display:none!important}

/* ===== v21: new content sections — trust bar / why-curo / reviews / pricing (Curo editorial) ===== */

/* trust bar (sits between hero and How Curo Works) */

/* why curo */
.whycuro{background:var(--paper);padding:clamp(80px,9vw,120px) 0;position:relative;overflow:hidden}
.whycuro__strip{display:flex;flex-wrap:wrap;gap:14px 34px;margin-top:46px;padding-top:30px;border-top:1px solid var(--line)}
.whycuro__strip span{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--black);display:flex;align-items:center;gap:10px}
.whycuro__strip span:before{content:"";width:18px;height:18px;border-radius:50%;background:rgba(0,152,255,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4 10-10' fill='none' stroke='%230098ff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;flex:none}

/* reviews */
.reviews{background:var(--black);color:#fff;padding:clamp(80px,9vw,120px) 0;overflow:hidden}
.reviews__head{text-align:center;max-width:720px;margin:0 auto}
.reviews__head .label{justify-content:center}
.reviews__head h2{font-family:var(--mono);font-size:clamp(32px,4.6vw,60px);font-weight:800;letter-spacing:-.06em;line-height:.95}
.reviews__rating{margin-top:16px;font-family:var(--mono);font-size:13px;letter-spacing:.03em;color:rgba(255,255,255,.6)}
.reviews__rating b{color:#fff}
.reviews__rating .stars{color:#f5a623;letter-spacing:2px}

/* pricing (no hidden fees) */

/* ===== v22: page-hero flat scrim (no gradient) + image hover cards ===== */
/* treatment/info page heroes: flat tint instead of the gradient (homepage hero keeps its gradient) */
.page-hero__shade{background:rgba(6,8,11,.5)!important}

/* generic image hover card: shows image + title; on hover the image blurs and detail text fades in */
.mediacard{position:relative;overflow:hidden;isolation:isolate;color:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.mediacard .mc-bg{position:absolute;inset:0;z-index:0;background:#0a0e14 50%/cover no-repeat;transition:filter .45s ease,transform .45s ease}
.mediacard .mc-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,14,.30),rgba(8,10,14,.70));transition:background .45s ease}
.mediacard:hover .mc-bg{filter:blur(7px) brightness(.58);transform:scale(1.09)}
.mediacard:hover .mc-bg::after{background:rgba(6,8,12,.6)}
.mediacard>*:not(.mc-bg){position:relative;z-index:1}
.mediacard h2,.mediacard h3,.mediacard b{color:#fff!important}
.mediacard small{color:var(--blue)!important}
.mediacard ul,.mediacard li{color:rgba(255,255,255,.9)!important}
.mediacard p{color:rgba(255,255,255,.92)!important;opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}
.mediacard:hover p{opacity:1;transform:none}

/* sub-page 2nd-section grids → tall image cards, content bottom-aligned */
.pillars-grid .mediacard,.timeline-grid .mediacard{display:flex;flex-direction:column;justify-content:flex-end;min-height:250px;border:1px solid rgba(255,255,255,.12)!important;background:#0a0e14!important;box-shadow:none!important}
.timeline-grid .mediacard b{color:var(--blue)!important}

/* homepage "Why Curo" cards → image cards */

/* ===== v24: Why Curo 2-column layout (2x2 cards left, intro right) ===== */

/* ===== v25: recreated sections — marquee / healthcare-home / receipts / comparison table ===== */

/* scrolling promises marquee */
.promo-marquee{background:var(--black);color:#fff;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);overflow:hidden}
.promo-marquee__track{display:flex;width:max-content;animation:promoMarq 36s linear infinite}
.promo-marquee:hover .promo-marquee__track{animation-play-state:paused}
.promo-marquee__track span{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.82);padding:20px 0;white-space:nowrap;display:flex;align-items:center}
.promo-marquee__track span::after{content:"";flex:0 0 auto;width:34px;height:15px;margin:0 30px;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='173%2016%2066%2030'%3E%3Cpath%20d='M176%2034.3152H191.754L194.565%2027.6752L199.386%2041.7252L207.008%2019.6552L213.68%2041.7252L218.451%2032.3152H235.515'%20fill='none'%20stroke='%230098ff'%20stroke-width='3'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
@keyframes promoMarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* we bring healthcare home (3-up, media slots ready for image/video) */
.bringhome{background:var(--paper);padding:clamp(80px,9vw,120px) 0}

/* receipts comparison (signature) */
.receipts{background:var(--black);color:#fff;padding:clamp(80px,9vw,120px) 0;overflow:hidden}
.receipts__head{max-width:760px}
.receipts__head h2{font-family:var(--mono);font-size:clamp(32px,4.4vw,58px);font-weight:800;letter-spacing:-.05em;line-height:1}
.receipts__head h2 span{color:var(--blue)}
.receipts__head>p{color:rgba(255,255,255,.66);font-size:16px;line-height:1.5;margin-top:18px;max-width:620px}
.receipts__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:50px;align-items:start}
.receipt{position:relative;border-radius:16px;padding:30px;font-family:var(--mono)}
.receipt--other{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12)}
.receipt--curo{background:linear-gradient(160deg,rgba(0,152,255,.14),rgba(255,255,255,.03));border:1px solid rgba(0,152,255,.5);box-shadow:0 24px 70px rgba(0,152,255,.16)}
.receipt h4{font-family:var(--sans);font-size:14px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:20px;color:#fff}
.receipt__stamp{position:absolute;top:22px;right:24px;font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);border:1px solid var(--blue);border-radius:999px;padding:5px 12px;transform:rotate(4deg)}
.rline{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px dashed rgba(255,255,255,.14);font-size:14px;color:rgba(255,255,255,.86)}
.rline .neg{color:#ff8b8b}
.rline--total{border-bottom:0;border-top:2px solid rgba(255,255,255,.22);margin-top:8px;padding-top:16px;font-weight:800;font-size:15px;color:#fff}
.receipt--curo .rline span:last-child{color:var(--blue);font-weight:700}
@media(max-width:760px){.receipts__grid{grid-template-columns:1fr}}

/* comparison table */

/* ===== v26: stacked section intros + glass image cards ===== */
/* stacked eyebrow / heading / body (replaces the 3-col + 2-col spreads) */
.split-title{display:block!important;max-width:820px}
.split-title h2{margin-top:16px;max-width:820px}
.split-title>p:last-child{margin-top:18px!important;max-width:600px!important;color:#36383b}
.page-title{display:block!important;max-width:860px}
.page-title p{margin-top:16px;max-width:620px}

/* shared frosted-glass text panel for image cards */

/* featured treatment cards → full image + glass caption */

/* bring-home cards → full image + glass caption */

/* how-curo cards → full media + glass caption (text wrapped in .card-glass) */

/* article cards → full image + glass caption (text wrapped in .card-glass) */
.article-card{position:relative;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:16px!important;padding:0!important;background:#0a0e14!important}
.article-card>img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;z-index:0}
.article-card .card-glass{position:relative;z-index:2;margin:14px;padding:18px 20px;border-radius:14px;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.6);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);box-shadow:0 10px 34px rgba(5,5,5,.16)}
.article-card .card-glass small{color:var(--blue)}
.article-card .card-glass h3{color:#0a0e14}
.article-card .card-glass a{background:#0a0e14;color:#fff;margin-top:10px}

/* ===== v27: media-first cards — text directly over image, no covering glass box ===== */
/* drop the frosted glass boxes; text sits over the media with a soft bottom gradient only */
.article-card .card-glass{
  background:none!important;border:0!important;box-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  margin:0!important;border-radius:0!important;padding:22px 24px 24px!important;position:relative;z-index:2}
/* readability scrim: dark at the bottom, fully clear over the top of the image */
.article-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(5,7,11,.92),rgba(5,7,11,.45) 34%,rgba(5,7,11,.04) 60%)}
/* white text over the media */
.article-card .card-glass h3{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.article-card .card-glass small{color:#5cc0ff!important}
/* translucent pill buttons (small — never a box over the media) */
.article-card .card-glass a{
  background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.34)!important;color:#fff!important;
  border-radius:999px!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:11px 20px!important}
.article-card .card-glass a:hover{background:rgba(255,255,255,.28)!important}
/* taller cards so the media dominates */
.article-card{min-height:440px}
/* sharp image, subtle zoom on hover */
.article-card>img{transition:transform .5s ease}
.article-card:hover>img{transform:scale(1.05)}

/* Why Curo + sub-page grid cards: text always visible, image stays sharp (no blur/hide) */
.mediacard .mc-bg::after{background:linear-gradient(to top,rgba(5,7,11,.9),rgba(5,7,11,.4) 36%,rgba(5,7,11,.04) 62%)!important}
.mediacard:hover .mc-bg{filter:none!important;transform:scale(1.05)!important}
.mediacard p{opacity:1!important;transform:none!important}

/* ===== v28: left-align every section intro to the page rail (like "Our Services") ===== */
/* these wrappers are also .container — restore full container width + constrain the text instead */
.split-title{max-width:var(--max)!important}
.split-title h2{max-width:840px}
.split-title>p:last-child{max-width:600px}
.receipts__head{max-width:var(--max)!important}
.receipts__head h2{max-width:840px}
.receipts__head>p{max-width:640px}
.reviews__head{max-width:var(--max)!important;text-align:left!important}
.reviews__head .label{justify-content:flex-start!important}
.reviews__head h2{max-width:840px}
/* How Curo Works: left-align title/cta, let the stepper span the cards */
.howto__cta{align-items:flex-start!important;text-align:left!important}

/* ===== v29: liquid-glass header + new nav/profile, bigger marquee, no page-hero overlay, explore section ===== */
/* liquid glass header */
.site-header{background:linear-gradient(180deg,rgba(10,14,20,.62),rgba(10,14,20,.34))!important;-webkit-backdrop-filter:blur(22px) saturate(1.8)!important;backdrop-filter:blur(22px) saturate(1.8)!important;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 34px rgba(0,0,0,.22)}
/* header stays white over every section (the glass provides the contrast) */
.site-header.is-light{color:#fff!important}
.site-header.is-light .curo-logo__w{display:block!important}
.site-header.is-light .curo-logo__b{display:none!important}
.site-header.is-light .desktop-nav a{color:#fff!important}
.site-header .desktop-nav{gap:20px}
.site-header .desktop-nav a{font-size:12px;letter-spacing:.05em}
/* profile icon (replaces the email link) */
.header-profile{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.28);color:#fff;transition:background .2s,border-color .2s}
.header-profile:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5)}
.header-profile svg{width:19px;height:19px}

/* bigger marquee */
.promo-marquee__track span{font-size:clamp(15px,1.5vw,20px);padding:28px 0}
.promo-marquee__track span::after{margin:0 40px}

/* treatment/info heroes: remove the dark overlay — full bright image + text-shadow for legibility */
.page-hero__media{opacity:1!important}
.page-hero__media img{filter:none!important;transform:none!important}
.page-hero__shade{background:none!important}
.page-hero h1,.page-hero p,.page-hero .kicker,.page-hero .backlink{text-shadow:0 2px 20px rgba(0,0,0,.6),0 1px 4px rgba(0,0,0,.55)}

/* explore treatments section (image-3 style: dark full-image cards + Explore button) */

/* ===== v30: black + matte dark-grey theme (kills the white backgrounds) ===== */
:root{
  --paper:#16191d!important;     /* former light section bg → matte dark grey */
  --paper-2:#1d2127!important;
  --line:rgba(255,255,255,.10)!important;
  --muted:#9aa3ab!important;
}
html,body{background:#0a0c0e!important}
body{color:#eceef1}
.faq{background:#101316!important}
body.treatment-page{background:#0a0c0e!important}
.treat-section:not(.treat-section--dark){background:#16191d!important;color:#eceef1!important}

/* headings light on the now-dark sections */
.split-title h2,.featured h2,.faq h2,.page-title h2,.treat-section h2,.treat-section h3{color:#fff!important}
/* body copy → soft grey */
.split-title>p:last-child,.page-title p,.treat-section p,.faq p,.faq__grid>div>p{color:#9aa3ab!important}

/* "Why Curo" checkmark strip */
.whycuro__strip{border-top-color:rgba(255,255,255,.12)!important}
.whycuro__strip span{color:#fff!important}

/* How Curo Works outline button */
.howto__cta button{border-color:rgba(255,255,255,.45)!important;color:#fff!important}
.howto__cta button:hover{background:#fff!important;color:#0a0c0e!important}

/* FAQ accordion (home) */
.accordion details{border-top-color:rgba(255,255,255,.1)!important}
.accordion details:last-child{border-bottom-color:rgba(255,255,255,.1)!important}
.accordion summary{color:#fff!important}
.accordion details p{color:#9aa3ab!important}

/* treatment-page light card types → matte dark grey */
.program-card,.timeline-card,.glass-panel,.pillars-grid article:not(.mediacard){
  background:#1b1f24!important;border-color:rgba(255,255,255,.1)!important;color:#eceef1!important}
.program-card h3,.timeline-card h3,.glass-panel h3,.pillars-grid h3,.program-card b{color:#fff!important}
.program-card p,.timeline-card p,.glass-panel p,.pillars-grid p,.program-card li{color:#9aa3ab!important}
.page-actions a,.page-actions button,.link-button{border-color:rgba(255,255,255,.2)}

/* ===== v32: ALL-WHITE theme (overrides v30 dark theme) ===== */
:root{--paper:#ffffff!important;--paper-2:#f3f4f6!important;--line:rgba(10,14,20,.10)!important;--muted:#5a6472!important}
html,body{background:#ffffff!important}
body{color:#10141a!important}
body.treatment-page{background:#ffffff!important;color:#10141a!important}
.treat-section:not(.treat-section--dark){background:#ffffff!important;color:#10141a!important}

/* sections → white (hero + image cards stay media) */
.howto,.whycuro,.bringhome,.featured,.receipts,.final-cta,.footer,.treat-section--dark{background:#ffffff!important;color:#10141a!important}
.faq,.reviews{background:#f6f7f9!important;color:#10141a!important}

/* Our Focuses → white (hide the dark video layer) */
.services{background:#ffffff!important;color:#10141a!important}
.services__media{display:none!important}
.services__intro p:not(.kicker){color:#5a6472!important}
.service-list{border-top-color:rgba(10,14,20,.14)!important}
.service-row{border-bottom-color:rgba(10,14,20,.14)!important}
.service-row b{color:#0a0e14!important}.service-row p{color:#5a6472!important}
.service-row:hover{background:rgba(10,14,20,.03)!important}

/* headings dark, body copy grey */
.split-title h2,.featured h2,.faq h2,.page-title h2,.treat-section h2,.treat-section h3,.reviews__head h2,.receipts__head h2,.final-cta h2,.services h2{color:#0a0e14!important}
.split-title>p:last-child,.page-title p,.treat-section p,.faq p,.faq__grid>div>p,.receipts__head>p,.reviews__rating,.final-cta p{color:#5a6472!important}

/* header → light liquid glass, black logo */
.site-header{background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,.52))!important;border-bottom:1px solid rgba(10,14,20,.1)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 10px 30px rgba(10,14,20,.07)!important;color:#0a0e14!important}
.site-header .desktop-nav a,.site-header.is-light .desktop-nav a{color:#0a0e14!important}
.site-header .curo-logo__w{display:none!important}.site-header .curo-logo__b{display:block!important}
.header-profile{border-color:rgba(10,14,20,.25)!important;color:#0a0e14!important}
.header-profile:hover{background:rgba(10,14,20,.08)!important}

/* marquee → light band */
.promo-marquee{background:#f3f4f6!important;border-color:rgba(10,14,20,.1)!important}
.promo-marquee__track span{color:#3a4250!important}

/* whycuro strip + how-it-works button */
.whycuro__strip{border-top-color:rgba(10,14,20,.12)!important}
.whycuro__strip span{color:#0a0e14!important}
.howto__cta button{border-color:rgba(10,14,20,.35)!important;color:#0a0e14!important}
.howto__cta button:hover{background:#0a0e14!important;color:#fff!important}

/* FAQ accordion light */
.accordion details{border-top-color:rgba(10,14,20,.12)!important}
.accordion details:last-child{border-bottom-color:rgba(10,14,20,.12)!important}
.accordion summary{color:#0a0e14!important}.accordion details p{color:#5a6472!important}

/* receipts → light cards */
.receipt--other{background:#f4f6f8!important;border-color:rgba(10,14,20,.1)!important}
.receipt--curo{background:linear-gradient(160deg,rgba(0,152,255,.10),#fff)!important;border-color:rgba(0,152,255,.45)!important;box-shadow:0 18px 50px rgba(0,152,255,.12)!important}
.receipt h4{color:#0a0e14!important}
.rline{color:#3a4250!important;border-bottom-color:rgba(10,14,20,.12)!important}
.rline--total{color:#0a0e14!important;border-top-color:rgba(10,14,20,.2)!important}

/* comparison table → light */

/* reviews → light cards */

/* pricing → light */

/* footer → light, black logo */
.footer{border-top-color:rgba(10,14,20,.12)!important}
.footer p,.footer a,.legal{color:#5a6472!important}
.footer a:hover{color:#0a0e14!important}
.footer .curo-logo__w{display:none!important}.footer .curo-logo__b{display:block!important}
.legal{border-top-color:rgba(10,14,20,.12)!important}

/* treatment-page light cards */
.program-card,.timeline-card,.glass-panel,.pillars-grid article:not(.mediacard){background:#f6f7f9!important;border-color:rgba(10,14,20,.1)!important;color:#10141a!important}
.program-card h3,.timeline-card h3,.glass-panel h3,.pillars-grid h3{color:#0a0e14!important}
.program-card p,.timeline-card p,.glass-panel p,.pillars-grid p,.program-card li{color:#5a6472!important}
.page-actions a,.page-actions button,.link-button{border-color:rgba(10,14,20,.2)!important;color:#0a0e14}
.page-actions a.primary,.link-button.primary{color:#fff!important}

/* ===== v33: keep text WHITE over media (image cards + page heroes) on the white theme ===== */
/* image/video cards — headings white, body light, eyebrow blue */
.mediacard h3,
.article-card .card-glass h3{color:#fff!important}
.mediacard p{color:rgba(255,255,255,.9)!important}
.mediacard small,.mediacard b,.article-card .card-glass small{color:#5cc0ff!important}

/* treatment/info page heroes — white text over the bright image */
.page-hero h1{color:#fff!important}
.page-hero h1 span{color:var(--blue)!important}
.page-hero p{color:rgba(255,255,255,.92)!important}
.page-hero .kicker{color:var(--blue)!important}
.page-hero .backlink{color:rgba(255,255,255,.8)!important}

/* ===== v34: rounded dark-glass header (single white logo) + scrolling reviews marquee ===== */
.site-header{position:fixed!important;top:14px!important;left:16px!important;right:16px!important;height:62px!important;border-radius:16px!important;padding:0 14px 0 22px!important;background:linear-gradient(180deg,rgba(16,20,26,.64),rgba(16,20,26,.46))!important;-webkit-backdrop-filter:blur(20px) saturate(1.6)!important;backdrop-filter:blur(20px) saturate(1.6)!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 16px 44px rgba(10,14,20,.22)!important;color:#fff!important}
.site-header .desktop-nav a,.site-header.is-light .desktop-nav a{color:#fff!important}
.site-header .curo-logo__w{display:block!important}
.site-header .curo-logo__b{display:none!important}
.header-profile{border-color:rgba(255,255,255,.3)!important;color:#fff!important}
.header-profile:hover{background:rgba(255,255,255,.14)!important}
@media(max-width:650px){.site-header{left:10px!important;right:10px!important;top:10px!important}}

/* always-scrolling reviews marquee */
.reviews__marquee{overflow:hidden;margin-top:46px;-webkit-mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.reviews__track{display:flex;gap:16px;width:max-content;animation:reviewScroll 46s linear infinite}
.reviews__marquee:hover .reviews__track{animation-play-state:paused}
@keyframes reviewScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== v35: consistent eyebrows + sticky Why-Curo glow + Featured CTA image card ===== */
/* every eyebrow: same blue, mono font, 11px (some were caught by body-copy rules) */
p.label,p.kicker,.faq .label,.faq__grid .label{color:var(--blue)!important;font-family:var(--mono)!important;font-size:11px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important;line-height:1.3!important}

/* Why Curo intro → sticky + blue glow highlight (like Our Focuses) */

/* Featured "Find the right treatment" CTA → image card (no more blank white card) */

/* ===== v36: Why-Curo sticky fix (overflow) + ~half the section spacing ===== */
.whycuro{overflow:visible!important}
.howto,.whycuro,.bringhome,.featured,.receipts,.reviews,.services,.faq,.final-cta,.treat-section{padding-top:clamp(42px,5vw,64px)!important;padding-bottom:clamp(42px,5vw,64px)!important}

/* ===== v37: left-align treatment-page section intros (page-title was narrowed → centered) ===== */
.page-title{max-width:var(--max)!important;text-align:left!important}
.page-title h2{max-width:880px}
.page-title p{max-width:640px}
/* page hero is a flexbox → its container shrank to content & centered; force full rail width */
.page-hero .container{width:100%!important;max-width:var(--max)!important;margin-left:auto!important;margin-right:auto!important}
.page-hero h1{max-width:900px}
.page-hero p{max-width:680px}

/* ===== v38: "How Curo Works" elegant carousel ===== */

/* ===== v39: How-Curo eyebrow + smaller floating CTA card ===== */
/* compact "Start visit" card (~60% of previous → far less screen space) */
.floating-cta{width:184px!important;border-radius:16px!important}
.floating-cta__body{padding:14px 13px 13px!important;gap:10px!important}
.floating-cta__body .curo-logo{--logo-h:26px!important}
.floating-cta small{font-size:10px!important}
.floating-cta__body button:not(.float-close){height:40px!important;font-size:12px!important;border-radius:10px!important}
.float-close{width:22px!important;height:22px!important;font-size:13px!important;right:7px!important;top:7px!important}

/* ===== v40: "Curo difference" draggable card stack ===== */
.bringhome__layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,5vw,70px);align-items:center}
.bringhome__intro .label{margin-bottom:16px}
.bringhome__intro h2{font-family:var(--mono);font-size:clamp(34px,4.6vw,60px);line-height:.96;letter-spacing:-.05em;color:#0a0e14;font-weight:800}
.bringhome__intro>p{font-size:16px;line-height:1.55;color:#5a6472;margin-top:18px;max-width:440px}
.bringhome__hint{display:inline-flex;align-items:center;gap:9px;margin-top:26px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.cardstack{position:relative;height:470px;width:100%;max-width:540px;margin:0 auto;touch-action:pan-y}
.stack-card{position:absolute;left:0;top:0;width:330px;height:440px;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.16);box-shadow:0 26px 64px rgba(10,14,20,.26);background:#0a0e14;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .35s cubic-bezier(.2,.8,.2,1);will-change:transform}
.stack-card__media{position:absolute;inset:0;z-index:0;background:linear-gradient(150deg,#0a0e14,#13283b)}
.stack-card__media img{width:100%;height:100%;object-fit:cover}
.stack-card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(4,6,10,.94),rgba(4,6,10,.35) 56%,transparent);pointer-events:none}
.stack-card__label{position:absolute;top:22px;left:24px;z-index:2;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5cc0ff}
.stack-card__body{position:relative;z-index:2;padding:26px;pointer-events:none}
.stack-card__body h3{font-family:var(--mono);font-size:22px;line-height:1.08;letter-spacing:-.02em;color:#fff}
.stack-card__body p{font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.86);margin-top:10px}
.stack-card.is-front{transform:rotate(-6deg);z-index:3;cursor:grab;touch-action:none}
.stack-card.is-front:active{cursor:grabbing}
.stack-card.is-middle{transform:rotate(0deg) translateX(34%);z-index:2}
.stack-card.is-back{transform:rotate(6deg) translateX(68%);z-index:1}
@media(max-width:880px){.bringhome__layout{grid-template-columns:1fr;gap:38px}.cardstack{height:430px;max-width:470px}.stack-card{width:286px;height:400px}}
@media(max-width:560px){.cardstack{height:400px}.stack-card{width:240px;height:360px}.stack-card.is-middle{transform:rotate(0) translateX(28%)}.stack-card.is-back{transform:rotate(6deg) translateX(56%)}}

/* ===== v41: Featured Programs 3D coverflow carousel ===== */
.fcar{max-width:1080px;margin:clamp(34px,4vw,52px) auto 0}
.fcar__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,84px);align-items:center}
.fcar__images{position:relative;width:100%;height:clamp(340px,38vw,430px);perspective:1100px}
.fcar__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:22px;box-shadow:0 26px 60px rgba(10,14,20,.24);transition:transform .8s cubic-bezier(.4,2,.3,1),opacity .8s cubic-bezier(.4,2,.3,1);transform-origin:center;backface-visibility:hidden;cursor:pointer}
.fcar__content{display:flex;flex-direction:column}
.fcar__cat{font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:12px;transition:opacity .3s}
.fcar__name{font-family:var(--mono);font-size:clamp(28px,3.4vw,44px);line-height:1.02;letter-spacing:-.03em;color:#0a0e14;font-weight:800;transition:opacity .3s}
.fcar__quote{font-size:16px;line-height:1.7;color:#5a6472;margin-top:18px;min-height:82px}
.fcar__quote span{display:inline-block}
.fcar__cta{display:inline-flex;align-items:center;margin-top:22px;font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0a0e14;width:max-content;border-bottom:1px solid var(--blue);padding-bottom:3px;transition:color .2s,gap .2s;gap:7px}
.fcar__cta::after{content:"→"}
.fcar__cta:hover{color:var(--blue);gap:11px}
.fcar__arrows{display:flex;gap:18px;margin-top:34px}
.fcar__arrow{width:48px;height:48px;border-radius:50%;background:#141414;color:#f1f1f7;display:grid;place-items:center;cursor:pointer;border:0;transition:background .3s,transform .2s}
.fcar__arrow:hover{background:var(--blue);transform:translateY(-2px)}
@media(max-width:820px){.fcar__grid{grid-template-columns:1fr;gap:32px}.fcar__images{height:300px;max-width:380px;margin:0 auto}.fcar__content{text-align:center;align-items:center}.fcar__arrows{margin-top:24px}}

/* ===== v42: Why Curo — sticky stacking glass cards (white + glassmorphism) ===== */
.whycuro{background:#fff!important;padding:clamp(64px,8vw,104px) 0 clamp(96px,12vw,160px)!important;overflow:visible!important;position:relative}
.why-sticky{position:relative;max-width:1080px;margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.why-sticky::before,.why-sticky::after{content:"";position:absolute;border-radius:50%;filter:blur(80px);z-index:0;pointer-events:none}
.why-sticky::before{width:400px;height:400px;background:rgba(0,152,255,.13);top:16%;left:-7%}
.why-sticky::after{width:340px;height:340px;background:rgba(0,152,255,.08);bottom:6%;right:-5%}
.why-sticky__head,.why-stack,.whycuro .whycuro__strip{position:relative;z-index:1}
.why-sticky__head{text-align:center;max-width:660px;margin:0 auto clamp(40px,6vw,72px)}
.why-sticky__head .label{margin-bottom:16px;justify-content:center}
.why-sticky__head h2{font-family:var(--mono);font-size:clamp(30px,4.4vw,56px);font-weight:800;line-height:1;letter-spacing:-.05em;color:var(--black)}
.why-sticky__head>p{font-size:16px;line-height:1.6;color:#5a6472;margin-top:18px}
.why-stack{display:flex;flex-direction:column;gap:clamp(20px,2.6vw,30px)}
.why-scard{position:sticky;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(26px,4vw,52px);align-items:center;padding:clamp(24px,3.2vw,42px);border-radius:26px;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(20px) saturate(155%);backdrop-filter:blur(20px) saturate(155%);border:1px solid rgba(255,255,255,.8);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 30px 70px -30px rgba(15,23,42,.38),0 4px 14px rgba(15,23,42,.05)}
.why-scard:nth-child(1){top:108px}
.why-scard:nth-child(2){top:126px}
.why-scard:nth-child(3){top:144px}
.why-scard:nth-child(4){top:162px}
.why-scard__n{display:inline-block;font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.why-scard h3{font-family:var(--mono);font-size:clamp(21px,2.5vw,31px);font-weight:800;line-height:1.05;letter-spacing:-.03em;color:var(--black)}
.why-scard__body>p{font-size:15px;line-height:1.6;color:#4a5462;margin-top:14px;max-width:44ch}
.why-scard__media{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(135deg,#eaf1f8,#dbe6f1);box-shadow:0 14px 34px -18px rgba(15,23,42,.4)}
.why-scard__media::before{content:"Curo";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mono);font-weight:800;font-size:clamp(26px,3vw,34px);letter-spacing:.04em;color:rgba(0,152,255,.22)}
.why-scard__media img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block}
.why-scard__media.is-empty img{display:none}
.whycuro .whycuro__strip{max-width:1080px;margin:clamp(52px,6vw,84px) auto 0;justify-content:center;border-top:1px solid var(--line);padding-top:32px}
@media(max-width:820px){
  .why-scard{grid-template-columns:1fr;gap:20px}
  .why-scard__media{order:-1}
  .why-scard:nth-child(1){top:84px}.why-scard:nth-child(2){top:98px}.why-scard:nth-child(3){top:112px}.why-scard:nth-child(4){top:126px}
}

/* ===== v43: How-Works in-card CTA (solid black) + draggable coverflow affordance ===== */
.fcar__img{cursor:grab;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.fcar__img:active{cursor:grabbing}

/* ===== v44: How-Works arrows reversed — black default, white on hover ===== */

/* ====================================================================
   v45: Weight-Loss page — full content in Curo theme (self-contained .wl- namespace)
   ==================================================================== */
@keyframes wlpulse{0%{box-shadow:0 0 0 0 rgba(0,179,122,.55)}70%{box-shadow:0 0 0 10px rgba(0,179,122,0)}100%{box-shadow:0 0 0 0 rgba(0,179,122,0)}}
@keyframes wldraw{to{stroke-dashoffset:0}}

/* ===== v46: Weight-Loss rebuilt from homepage components — minor touches ===== */
.wl-cover-note{margin-top:30px;text-align:center;font-size:12.5px;color:#8a95a4;line-height:1.6;max-width:800px;margin-left:auto;margin-right:auto}
.wl-cover-price{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--mono);font-size:13px;font-weight:800;letter-spacing:.02em;color:#0a0e14}
.wl-cover-price b{color:var(--blue)}
.fcar__cta[role=button]{cursor:pointer}
.bringhome .stack-card__media{background:linear-gradient(150deg,#0a0e14,#13283b)}

/* ===== v47: language toggle button + mobile header alignment fix ===== */
.lang-toggle{display:inline-flex;align-items:center;justify-content:center;height:34px;min-width:40px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:transparent;color:inherit;font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:.06em;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.lang-toggle:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.55);transform:translateY(-1px)}
.site-header.is-light .lang-toggle{border-color:rgba(10,14,20,.25)}
.site-header.is-light .lang-toggle:hover{background:rgba(10,14,20,.07)}
@media(max-width:1000px){
  .site-header{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important}
  .site-header .desktop-nav{display:none!important}
  .header-actions{gap:12px!important;justify-self:end}
}
@media(max-width:560px){
  .header-actions{gap:8px!important}
  .lang-toggle{height:32px;min-width:36px;padding:0 9px;font-size:11px}
  .header-profile{width:34px!important;height:34px!important}
  .brand img,.curo-logo img{height:22px!important}
}

/* ===== v48: Weight-Loss comparison table (on-brand, treatment page) ===== */
.wlcmp{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:6px}
.wlcmp__table{min-width:680px;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 16px 50px rgba(10,14,20,.06)}
.wlcmp__row{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;align-items:center}
.wlcmp__row:not(:last-child){border-bottom:1px solid var(--line)}
.wlcmp__row--head{background:#f6f7f9}
.wlcmp__c{padding:18px 20px;font-size:14.5px;text-align:center;color:#10141a}
.wlcmp__row--head .wlcmp__c{font-family:var(--mono);font-weight:800;font-size:15px;color:#0a0e14}
.wlcmp__row--head .wlcmp__c--curo{color:var(--blue)}
.wlcmp__row--head .wlcmp__c:first-child{text-align:left;font-size:11px;color:#5a6472;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.wlcmp__feat{text-align:left!important;color:#37424f;font-weight:600}
.wlcmp__c--curo{background:rgba(0,152,255,.06)}
.wlcmp__y{color:#00b37a;font-weight:800;font-size:18px}
.wlcmp__n{color:#9aa3ab;font-weight:600;font-size:13px}

/* ===== v48b: keep How/Timeline cards light to match the white treatment page ===== */
body.treatment-page .treat-section .pillars-grid article:not(.mediacard),
body.treatment-page .treat-section .timeline-card:not(.mediacard){background:#fff!important;border:1px solid var(--line)!important;color:#10141a!important;box-shadow:0 16px 50px rgba(10,14,20,.06)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body.treatment-page .treat-section .pillars-grid article h3,
body.treatment-page .treat-section .timeline-card h3{color:#0a0e14!important}
body.treatment-page .treat-section .pillars-grid article p,
body.treatment-page .treat-section .timeline-card p{color:#5a6472!important}

/* ===== v48c: How/Timeline step cards (own classes so the media-card enhancer skips them) ===== */
.wl-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.wl-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 24px;min-height:196px;box-shadow:0 16px 50px rgba(10,14,20,.06)}
.wl-card small{display:block;font-family:var(--mono);font-size:11px;color:var(--blue);font-weight:800;margin-bottom:20px;text-transform:uppercase;letter-spacing:.05em}
.wl-card b.num{display:block;font-family:var(--mono);font-size:44px;line-height:1;letter-spacing:-.06em;color:var(--blue);margin-bottom:14px}
.wl-card h3{font-family:var(--mono);font-size:20px;font-weight:800;letter-spacing:-.02em;color:#0a0e14;margin-bottom:10px;line-height:1.06}
.wl-card p{color:#5a6472;font-size:14.5px;line-height:1.45}
@media(max-width:1000px){.wl-grid4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.wl-grid4{grid-template-columns:1fr}}

/* ===== v52: Sexual-health "how long it lasts" duration bars (animate on scroll) ===== */

/* ===== v53: Hormones page — Men(TRT)/Women(HRT) audience toggle ===== */
[hidden]{display:none!important}

/* ===== v54: condition "signs" pill list (Hair/Skin education sections) ===== */
.cond-eyebrow{font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:16px}
.signlist{display:flex;flex-wrap:wrap;gap:12px}
.signlist span{font-family:var(--sans);font-size:14px;font-weight:600;color:#0a0e14;background:#fff;border:1px solid var(--line);border-radius:999px;padding:12px 20px;display:inline-flex;align-items:center;gap:11px;box-shadow:0 6px 18px -10px rgba(10,14,20,.2)}
.signlist span::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--blue);flex:none}
.cond-note{font-size:15px;color:#5a6472;line-height:1.6;margin-top:26px;max-width:680px}

/* ===== v55: redesigned triage modal (dark glass, iconified, animated) ===== */
.triage-modal{background:rgba(6,9,15,.66)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.triage-modal__card{width:min(560px,100%)!important;max-height:92vh;overflow:auto;background:linear-gradient(165deg,#141c2b 0%,#0a0e14 100%)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:26px!important;box-shadow:0 44px 110px -24px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.08)!important;padding:clamp(24px,3.6vw,38px)!important;color:#fff!important;position:relative;overflow-x:hidden;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transform:translateY(18px) scale(.97);opacity:0;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s}
.triage-modal.open .triage-modal__card{transform:none;opacity:1}
.triage-modal__card::before{content:"";position:absolute;width:380px;height:380px;top:-170px;right:-130px;border-radius:50%;background:radial-gradient(circle,rgba(0,152,255,.24),transparent 68%);pointer-events:none;z-index:0}
.triage-modal__card>*{position:relative;z-index:1}
.triage-modal__eyebrow{font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin:0 0 14px}
.triage-modal__card h3{font-family:var(--mono)!important;font-size:clamp(30px,4.4vw,42px)!important;font-weight:800!important;line-height:.98!important;letter-spacing:-.045em!important;color:#fff!important;margin:0 0 22px!important}
.modal-close{position:absolute!important;right:16px!important;top:16px!important;width:40px;height:40px;border-radius:50%;display:grid!important;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#fff;cursor:pointer;z-index:3;transition:background .2s,transform .3s,border-color .2s}
.modal-close:hover{background:var(--blue);border-color:var(--blue);transform:rotate(90deg)}
.triage-options{display:grid!important;gap:10px!important}
.tri-opt{display:flex!important;align-items:center;gap:14px;padding:13px 15px!important;border-radius:16px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.09)!important;color:#fff!important;min-height:0!important;text-decoration:none;opacity:0;transform:translateY(12px);transition:background .22s,border-color .22s,transform .22s,box-shadow .22s}
.triage-modal.open .tri-opt{animation:triIn .55s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--d,0)*.06s + .14s)}
@keyframes triIn{to{opacity:1;transform:none}}
.tri-opt:hover{background:linear-gradient(100deg,rgba(0,152,255,.20),rgba(0,152,255,.06))!important;border-color:rgba(0,152,255,.55)!important;transform:translateX(4px);box-shadow:0 12px 32px -12px rgba(0,152,255,.55)}
.tri-opt__ico{width:46px;height:46px;flex:none;border-radius:13px;background:rgba(0,152,255,.13);border:1px solid rgba(0,152,255,.26);display:grid;place-items:center;color:var(--blue);transition:background .22s,color .22s,transform .22s}
.tri-opt:hover .tri-opt__ico{background:var(--blue);color:#fff;transform:scale(1.07)}
.tri-opt__ico svg{width:23px;height:23px}
.tri-opt__txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.tri-opt__txt b{font-family:var(--mono);font-size:17px;font-weight:800;letter-spacing:-.01em;color:#fff;line-height:1.12}
.tri-opt__txt small{font-size:12.5px;color:#94a2b3;font-weight:500}
.tri-opt__tag{font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#94a2b3;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:5px 10px;border-radius:999px;transition:.22s;white-space:nowrap}
.tri-opt:hover .tri-opt__tag{color:#fff;border-color:rgba(255,255,255,.32)}
.tri-opt__arr{width:0;opacity:0;overflow:hidden;color:#fff;font-size:18px;font-weight:700;transition:.22s;transform:translateX(-6px)}
.tri-opt:hover .tri-opt__arr{width:18px;opacity:1;transform:none}
.triage-modal__foot{display:flex!important;align-items:center;gap:9px;font-size:12.5px!important;color:#7c8a99!important;margin-top:20px!important}
.triage-modal__foot svg{flex:none;color:var(--blue)}
@media(max-width:520px){.tri-opt__txt small{display:none}.triage-modal__card h3{font-size:30px!important}}

/* ===== v56: homepage tweaks (bigger eyebrows, maple leaf, tighter gaps, receipt logo) + new footer + doc pages ===== */
/* larger, more readable section eyebrows — homepage only */
body:not(.treatment-page) p.label,body:not(.treatment-page) p.kicker,body:not(.treatment-page) .faq .label,body:not(.treatment-page) .faq__grid .label{font-size:15px!important;letter-spacing:.1em!important}
/* red maple leaf beside the hero eyebrow */
.kicker-maple{display:inline-flex;align-items:center;vertical-align:middle;margin-left:9px}
.kicker-maple{font-size:1.25em;line-height:1;filter:drop-shadow(0 1px 4px rgba(224,26,43,.4))}
/* halve the vertical gap between homepage sections */
body:not(.treatment-page) .howto,body:not(.treatment-page) .services,body:not(.treatment-page) .featured,body:not(.treatment-page) .whycuro,body:not(.treatment-page) .receipts,body:not(.treatment-page) .reviews,body:not(.treatment-page) .faq,body:not(.treatment-page) .final-cta{padding-top:clamp(20px,2.6vw,33px)!important;padding-bottom:clamp(20px,2.6vw,33px)!important}
/* Curo logo inside the all-in pricing receipt card */
.receipt__curologo{margin:0 0 4px!important;line-height:1}
.receipt__curologo img{height:30px;width:auto;display:block}

/* ---- new footer (v2) ---- */
.footer--v2{background:#0a0e14!important;color:#e8edf2!important;padding:clamp(48px,6vw,70px) 0 34px!important}
.footer-v2__grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:clamp(28px,4vw,48px)}
.footer-v2__logo img{height:42px;width:auto}
.footer-v2__blurb{font-size:15px;color:#9aa7b6;max-width:320px;margin:20px 0 18px;line-height:1.55}
.footer-sub{display:flex;align-items:center;max-width:350px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:5px 5px 5px 18px;gap:8px;transition:border-color .2s}
.footer-sub:focus-within{border-color:rgba(0,152,255,.55)}
.footer-sub input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#fff;font-family:var(--sans);font-size:14px}
.footer-sub input::placeholder{color:#7c8a99}
.footer-sub button{width:38px;height:38px;flex:none;border:0;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .2s,filter .2s}
.footer-sub button:hover{transform:translateX(2px);filter:brightness(1.1)}
.footer-sub__msg{display:block;margin-top:11px;font-size:12.5px;color:#5cc0ff;min-height:15px}
.footer-v2__col h5{font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#7c8a99;margin:0 0 18px}
.footer-v2__col a{display:block;font-size:15px;font-weight:700;color:#e8edf2;margin-bottom:14px;transition:color .15s,transform .15s;cursor:pointer;width:max-content}
.footer-v2__col a:hover{color:var(--blue);transform:translateX(3px)}
.footer-v2__contact{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:clamp(34px,5vw,52px);padding-top:28px;border-top:1px solid rgba(255,255,255,.1)}
.footer-v2__email{font-size:15px;color:#9aa7b6;transition:color .15s}
.footer-v2__email:hover{color:#fff}
.footer-v2__social{display:flex;gap:24px}
.footer-v2__soc{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:#9aa7b6;transition:color .15s}
.footer-v2__soc:hover{color:#fff}
.footer--v2 .legal{margin-top:24px;font-size:12px;color:#69757f;line-height:1.6}
@media(max-width:860px){.footer-v2__grid{grid-template-columns:1fr 1fr;gap:30px}.footer-v2__brand{grid-column:1/-1}}
@media(max-width:520px){.footer-v2__contact{flex-direction:column;align-items:flex-start}}

/* ---- simple document/legal pages ---- */
.doc-page{padding:clamp(118px,15vh,170px) 0 clamp(54px,7vw,92px);background:#fff;color:#10141a;min-height:64vh}
.doc-page .container{max-width:820px}
.doc-page__eyebrow{font-family:var(--mono);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:16px}
.doc-page h1{font-family:var(--mono);font-size:clamp(34px,5vw,56px);line-height:1;letter-spacing:-.04em;color:#0a0e14;margin-bottom:18px}
.doc-page__lead{font-size:18px;color:#5a6472;line-height:1.6;margin-bottom:34px}
.doc-page h2{font-family:var(--mono);font-size:21px;font-weight:800;letter-spacing:-.02em;color:#0a0e14;margin:34px 0 12px}
.doc-page p{font-size:15.5px;color:#3f4853;line-height:1.7;margin-bottom:14px}
.doc-page a:not(.button){color:var(--blue);font-weight:700}
.doc-page ul{margin:0 0 16px;padding:0;list-style:none;display:grid;gap:10px}
.doc-page li{font-size:15.5px;color:#3f4853;line-height:1.6;padding-left:24px;position:relative}
.doc-page li::before{content:"+";position:absolute;left:0;color:var(--blue);font-weight:800}
.doc-page__updated{margin-top:38px;font-size:12.5px;color:#9aa7b6}
/* v57 fix: white Curo logo on the dark v2 footer */
.footer--v2 .curo-logo__w{display:inline-block!important}
.footer--v2 .curo-logo__b{display:none!important}

/* ===== v60: low-testosterone stat band (image-filled, glassmorphic cards) ===== */

/* ===== v61: How Curo Works — profile-style step cards (4-up, glass info panel) ===== */
.hcards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.hcard{background:transparent;border:0;display:flex;flex-direction:column}
.hcard__imgwrap{position:relative;aspect-ratio:1/1.12;border-radius:22px;overflow:hidden;background:#eef1f5;box-shadow:0 22px 50px -26px rgba(10,14,20,.4);transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s}
.hcard:hover .hcard__imgwrap{transform:translateY(-8px);box-shadow:0 40px 80px -28px rgba(10,14,20,.46)}
.hcard__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.hcard:hover .hcard__img{transform:scale(1.05)}
.hcard__info{padding:18px 4px 0}
.hcard__name{font-family:var(--mono);font-size:20px;font-weight:800;letter-spacing:-.03em;line-height:1.05;color:#0a0e14;display:flex;align-items:center;gap:8px}
.hcard__check{flex:0 0 auto;width:20px;height:20px;display:inline-flex}
.hcard__check svg{width:20px;height:20px;display:block}
.hcard__role{font-size:14px;color:#5a6472;line-height:1.5;margin-top:9px}
.hcard.reveal.delay-1{transition-delay:.08s}.hcard.reveal.delay-2{transition-delay:.16s}.hcard.reveal.delay-3{transition-delay:.24s}
@media(max-width:980px){.hcards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.hcards{grid-template-columns:1fr;max-width:340px;margin:0 auto}}

/* ===== v62: full-bleed brand banner (image + centered statement + CTA) ===== */
.bigcta{position:relative;overflow:hidden;background:#0a0a0a;min-height:clamp(440px,64vh,680px);display:flex;align-items:center;justify-content:center;text-align:center}
.bigcta__media{position:absolute;inset:0;z-index:0}
.bigcta__media img{width:100%;height:100%;object-fit:cover}
.bigcta__shade{position:absolute;inset:0;z-index:1;background:radial-gradient(70% 90% at 50% 50%,rgba(5,5,5,.22) 0%,rgba(5,5,5,.5) 100%)}
.bigcta__inner{position:relative;z-index:2}
.bigcta__inner h2{font-family:var(--mono);font-size:clamp(30px,5vw,68px);font-weight:800;letter-spacing:-.04em;line-height:.98;text-transform:uppercase;color:#fff;max-width:18ch;margin:0 auto;text-wrap:balance;text-shadow:0 4px 30px rgba(0,0,0,.45)}
.bigcta__btn{margin-top:clamp(22px,3vw,30px);display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#0a0e14;font-family:var(--sans);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:14px 24px;border:0;cursor:pointer;transition:transform .2s,background .2s,color .2s,box-shadow .2s}
.bigcta__btn:hover{transform:translateY(-2px);background:var(--blue);color:#fff;box-shadow:0 14px 34px rgba(0,152,255,.4)}
@media(max-width:600px){.bigcta{min-height:clamp(380px,56vh,520px)}}

/* ===== v64: Featured programs — image-dominant bento cards (icon top-left, title bottom-left) ===== */
.fcards{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:clamp(34px,4vw,56px)}
.fcard{position:relative;display:block;overflow:hidden;border-radius:18px;background:#0a0e14;text-decoration:none;box-shadow:0 18px 50px -26px rgba(10,14,20,.4);transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s}
.fcard:hover{transform:translateY(-7px);box-shadow:0 42px 84px -30px rgba(10,14,20,.5)}
.fcard--top{grid-column:span 2;aspect-ratio:1/1.16}
.fcard--big{grid-column:span 3;aspect-ratio:16/10}
.fcard__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.8,.2,1)}
.fcard:hover .fcard__img{transform:scale(1.06)}
.fcard::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(5,7,11,.82) 0%,rgba(5,7,11,.2) 42%,rgba(5,7,11,0) 68%)}
.fcard__icon{position:absolute;top:15px;left:15px;z-index:2;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;color:#fff;transition:background .25s,transform .25s}
.fcard:hover .fcard__icon{background:var(--blue);border-color:var(--blue);transform:scale(1.08)}
.fcard__icon svg{width:18px;height:18px;display:block}
.fcard__title{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;font-family:var(--mono);font-weight:800;font-size:clamp(18px,1.6vw,23px);letter-spacing:-.03em;line-height:1.05;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.45)}
.fcard--big .fcard__title{font-size:clamp(24px,2.4vw,34px)}
@media(max-width:860px){.fcards{grid-template-columns:repeat(2,1fr)}.fcard--top,.fcard--big{grid-column:span 1;aspect-ratio:1/1.08}}
@media(max-width:520px){.fcards{grid-template-columns:1fr}.fcard--top,.fcard--big{aspect-ratio:16/11}}

/* ===== v65: unified CTA buttons (consistent across homepage + treatment pages) + dark-footer hover fix ===== */
/* PRIMARY CTA — one blue rounded button everywhere, one hover */
.btn-fill,.button--blue,.tpx-btn--primary,.bigcta__btn,a.primary,button.primary,.link-button.primary{
  background:var(--blue)!important;color:#fff!important;
  border:1.5px solid var(--blue)!important;border-radius:999px!important;
  font-weight:700!important;text-transform:none!important;letter-spacing:.01em!important;
  box-shadow:0 12px 28px -12px rgba(0,152,255,.6)!important;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,filter .2s ease!important;
}
.btn-fill:hover,.button--blue:hover,.tpx-btn--primary:hover,.bigcta__btn:hover,a.primary:hover,button.primary:hover,.link-button.primary:hover{
  background:#0a86e8!important;border-color:#0a86e8!important;color:#fff!important;
  transform:translateY(-2px)!important;filter:none!important;box-shadow:0 18px 34px -12px rgba(0,152,255,.72)!important;
}
/* SECONDARY CTA — matching outline rounded button */
.tpx-btn--outline{
  background:transparent!important;border:1.5px solid currentColor!important;border-radius:999px!important;
  font-weight:700!important;text-transform:none!important;letter-spacing:.01em!important;
  transition:transform .2s ease,background .2s ease,border-color .2s ease!important;
}
.tpx-btn--outline:hover{background:rgba(127,127,127,.12)!important;transform:translateY(-2px)!important}
/* dark footer: links hover WHITE (not black) */
.footer.section-dark a,.footer--v2 a{color:rgba(255,255,255,.7)!important}
.footer.section-dark a:hover,.footer--v2 a:hover{color:#fff!important}

/* ===== v66: performance — remove film-grain noise overlay (cleaner images, less repaint) ===== */
.grain{display:none!important}

/* ===== v67: How Curo Works — big uppercase title + numbered 1-2-3-4 timeline + clean cards ===== */
.howto__bigtitle{font-family:var(--mono);font-size:clamp(32px,5.5vw,66px);font-weight:800;text-transform:uppercase;letter-spacing:-.04em;line-height:.95;text-align:center;color:var(--black);margin:0 0 clamp(26px,3.6vw,42px);display:flex;align-items:baseline;justify-content:center;gap:.24em;flex-wrap:wrap}
/* replace the word "Curo" with the animated heartbeat wordmark — sized to the cap height and
   sat on the text baseline so it reads as one word with HOW / WORKS */
.howto__logo{height:.72em;width:auto;display:inline-block;align-self:baseline}
.howline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:18px;margin:0 0 clamp(28px,3.6vw,44px)}
/* animated heartbeat (ECG) connector in brand blue, looping pulse */
.howline__beat{position:absolute;left:12.5%;right:12.5%;top:50%;height:56px;transform:translateY(-50%);z-index:0;overflow:visible}
.howline__beat svg{width:100%;height:100%;display:block;overflow:visible}
.howline__beat path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.howline__beat .base{stroke:rgba(0,152,255,.22);stroke-width:2.5}
.howline__beat .pulse{stroke:var(--blue);stroke-width:3.5;filter:drop-shadow(0 0 6px rgba(0,152,255,.75));stroke-dasharray:220 4000;stroke-dashoffset:220;animation:howBeat 2.8s linear infinite}
@keyframes howBeat{0%{stroke-dashoffset:220}100%{stroke-dashoffset:-2100}}
@media(prefers-reduced-motion:reduce){.howline__beat .pulse{animation:none;stroke-dasharray:none;stroke-dashoffset:0;opacity:.85}}
.howline__node{position:relative;z-index:1;justify-self:center;width:46px;height:46px;border-radius:50%;background:var(--blue);color:#fff;font-family:var(--mono);font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,152,255,.45)}
/* cards: light image panel + uppercase title + description (screenshot style) */
.hcard__imgwrap{aspect-ratio:5/4;border-radius:20px;background:linear-gradient(180deg,#f4f7fa,#eef2f6);box-shadow:0 1px 2px rgba(10,14,20,.05),0 16px 36px -24px rgba(10,14,20,.32);border:1px solid var(--line)}
.hcard__check{display:none!important}
.hcard__info{padding:18px 4px 0}
.hcard__name{font-family:var(--mono);font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:-.005em;color:var(--black);display:block;line-height:1.18}
.hcard__role{font-size:13.5px;color:#5a6472;line-height:1.5;margin-top:10px}
@media(max-width:560px){.howline{gap:8px}.howline__node{width:38px;height:38px;font-size:15px}}
/* CTA: center the button + fine print, solid black button that turns white on hover */
.howto__cta{align-items:center!important;text-align:center!important}
.howto__cta button{background:#050505!important;color:#fff!important;border:1.5px solid #050505!important}
.howto__cta button:hover{background:#fff!important;color:#050505!important;border-color:#050505!important}
.howto__cta small{text-align:center!important;max-width:560px;margin:0 auto}
/* v68: stop mobile horizontal pan — html stays pannable when only body has overflow-x:hidden */
html{overflow-x:clip;max-width:100%}

/* ===== v72: bold editorial patient-experience cards (orange/light/dark quotes + photo cards) ===== */
.reviews__track .rev-card{width:300px;height:406px;flex:none;border-radius:22px;overflow:hidden;position:relative;display:flex;flex-direction:column;box-shadow:0 18px 44px -22px rgba(10,14,20,.4)}
.rev-card--quote{padding:26px 24px}
.rev-card--blue{background:#0098ff;color:#fff}
.rev-card--light{background:#eceae4;color:#0a0a0a}
.rev-card--dark{background:#0a0e14;color:#fff}
.rev-card__stars{font-size:15px;letter-spacing:3px;line-height:1;margin-bottom:20px}
.rev-card--blue .rev-card__stars{color:#fff}
.rev-card--light .rev-card__stars{color:#0098ff}
.rev-card--dark .rev-card__stars{color:#f5a623}
.rev-card__q{font-family:var(--mono);font-weight:800;text-transform:uppercase;font-size:22px;line-height:1.08;letter-spacing:-.02em;margin:0}
.rev-card__foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding-top:18px}
.rev-card__tag{font-family:var(--mono);font-weight:800;font-size:11px;letter-spacing:.13em;text-transform:uppercase;opacity:.82}
.rev-card__word{font-family:var(--mono);font-weight:800;font-size:18px;letter-spacing:.02em;text-transform:uppercase}
.rev-card--photo{background:#0a0a0a}
.rev-card--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.rev-card--photo::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,.05) 38%,rgba(0,0,0,.52))}
.rev-card__words{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:26px 24px;color:#fff}
.rev-card__words span{font-family:var(--mono);font-weight:800;text-transform:uppercase;font-size:46px;line-height:.9;letter-spacing:-.03em;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.rev-card__words--end{justify-content:flex-end;gap:0}
.rev-card__words--split{flex-direction:row;align-items:flex-end;justify-content:space-between}
@media(max-width:560px){.reviews__track .rev-card{width:248px;height:338px}.rev-card__q{font-size:19px}.rev-card__words span{font-size:38px}}

/* ===== v73: "Modern medicine, made simple" — text left, 3 floating pills on the right ===== */
#bigcta-tablet{justify-content:flex-start}
#bigcta-tablet .bigcta__inner{text-align:left;width:100%}
#bigcta-tablet .bigcta__inner h2{margin:0;max-width:14ch}
#bigcta-tablet .bigcta__inner .bigcta__btn{margin-left:0}
.pillfloat{position:absolute;z-index:2;right:clamp(18px,7vw,120px);top:50%;transform:translateY(-50%);width:clamp(230px,30vw,400px);height:clamp(300px,40vw,460px);pointer-events:none}
.pillfloat__p{position:absolute;width:50%;height:auto;filter:drop-shadow(0 26px 34px rgba(0,0,0,.55));will-change:transform}
.pillfloat__p--1{top:0;left:6%;width:52%;animation:pillFloat 6s ease-in-out infinite}
.pillfloat__p--2{top:40%;right:0;width:44%;animation:pillFloat 7.6s ease-in-out infinite .9s}
.pillfloat__p--3{bottom:0;left:0;width:58%;animation:pillFloat 6.8s ease-in-out infinite .45s}
@keyframes pillFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-18px) rotate(3deg)}}
@media(prefers-reduced-motion:reduce){.pillfloat__p{animation:none!important}}
@media(max-width:760px){
  #bigcta-tablet{justify-content:center;flex-direction:column;padding:clamp(40px,8vw,60px) 0}
  #bigcta-tablet .bigcta__inner{text-align:center}
  #bigcta-tablet .bigcta__inner h2{margin:0 auto}
  #bigcta-tablet .bigcta__inner .bigcta__btn{margin-left:auto;margin-right:auto}
  .pillfloat{position:relative;right:auto;top:auto;transform:none;margin:28px auto 0;width:240px;height:170px}
  .pillfloat__p--1{width:46%}.pillfloat__p--2{width:40%}.pillfloat__p--3{width:52%}
}
/* v73b: darken the right side of the modern-medicine banner so the floating pills stand out */
#bigcta-tablet .bigcta__shade{background:linear-gradient(90deg,rgba(5,7,11,.42) 0%,rgba(5,7,11,.34) 42%,rgba(5,7,11,.74) 100%)}
@media(max-width:760px){#bigcta-tablet .bigcta__shade{background:linear-gradient(180deg,rgba(5,7,11,.5),rgba(5,7,11,.66))}}

/* ===== v74: reposition modern-medicine — pills LEFT, text CENTER, hand-pill image RIGHT ===== */
#bigcta-tablet{justify-content:center}
#bigcta-tablet .bigcta__inner{text-align:center}
#bigcta-tablet .bigcta__inner h2{margin:0 auto}
#bigcta-tablet .bigcta__inner .bigcta__btn{margin-left:auto;margin-right:auto}
#bigcta-tablet .bigcta__media img{object-position:84% 50%}
#bigcta-tablet .bigcta__shade{background:linear-gradient(90deg,rgba(5,7,11,.74) 0%,rgba(5,7,11,.72) 38%,rgba(5,7,11,.34) 78%,rgba(5,7,11,.2) 100%)}
@media(min-width:761px){
  .pillfloat{left:clamp(12px,3vw,56px);right:auto;width:clamp(190px,22vw,300px);height:clamp(250px,30vw,380px)}
}
@media(max-width:760px){#bigcta-tablet .bigcta__media img{object-position:50% 50%}}

/* ===== v76: animated iPhone mockups for How Curo Works cards 1 & 2 (white screen on black card, list highlights one-by-one, loops) ===== */
@keyframes pmockHi{0%{background:#f1f4f7;color:#0a0e14}6%,15%{background:var(--blue);color:#fff}21%,100%{background:#f1f4f7;color:#0a0e14}}

/* ===== v77: realistic iPhone frame mockups for How Curo Works cards 1 & 2 (dark menu + dark triage, big fonts, highlight loop) ===== */
.hcard__imgwrap--phone{background:linear-gradient(180deg,#f5f8fb,#e8edf3)!important;display:flex;align-items:center;justify-content:center;overflow:hidden}
.iphone{container-type:inline-size;position:relative;height:100%;aspect-ratio:730 / 1600}
.iphone__frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;pointer-events:none;-webkit-user-drag:none;user-select:none}
.iphone__screen{position:absolute;left:6%;right:6%;top:6.3%;bottom:6.1%;z-index:2;overflow:hidden;border-radius:7cqw;display:flex;flex-direction:column}
/* menu screen (card 1) */
.ipx-menu{background:#050506;padding:5.5cqw 6cqw 6cqw}
.ipx-eyebrow{font-family:var(--mono);font-weight:800;font-size:3.3cqw;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:3cqw}
.ipx-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3cqw;flex:1}
.ipx-nav li{font-family:var(--mono);font-weight:700;font-size:11.4cqw;line-height:1.05;letter-spacing:-.03em;color:#fff;white-space:nowrap}
.ipx-nav li:not(.ipx-nav__x){animation:ipxLit 5s infinite;animation-delay:calc(var(--i) * 1s)}
.ipx-btn{align-self:flex-start;margin-top:3.5cqw;background:var(--blue);color:#fff;font-family:var(--sans);font-weight:800;font-size:3.8cqw;padding:2.8cqw 5cqw;border-radius:99cqw}
@keyframes ipxLit{0%{color:#fff}5%,13%{color:#1f9dff}18%,100%{color:#fff}}
/* triage screen (card 2) */
.ipx-triage{background:radial-gradient(120% 62% at 94% 0%,rgba(0,116,224,.42),rgba(8,16,26,0) 52%),#0a1420;padding:6cqw 4.6cqw 4cqw}
.ipx-eyebrow--b{color:var(--blue);margin-bottom:1.5cqw;font-size:2.9cqw}
.ipx-h{font-family:var(--mono);font-weight:800;font-size:8.4cqw;line-height:1.02;letter-spacing:-.04em;color:#fff;margin-bottom:4cqw}
.ipx-opts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2.3cqw;flex:1}
.ipx-opts li{display:flex;align-items:center;gap:3cqw;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:4cqw;padding:2.9cqw 3.2cqw;animation:ipxRow 5s infinite;animation-delay:calc(var(--i) * 1s)}
.ipx-ico{flex:none;width:10.5cqw;height:10.5cqw;border-radius:3cqw;background:rgba(46,168,255,.14);display:grid;place-items:center;color:#5cc0ff;transition:none}
.ipx-ico svg{width:5.6cqw;height:5.6cqw}
.ipx-ot{display:flex;flex-direction:column;gap:.5cqw;min-width:0}
.ipx-ot b{font-family:var(--sans);font-weight:800;font-size:4.5cqw;color:#fff;line-height:1;white-space:nowrap}
.ipx-ot small{font-family:var(--mono);font-weight:600;font-size:2.6cqw;letter-spacing:.05em;text-transform:uppercase;color:#7f93a8;line-height:1}
.ipx-secure{display:flex;align-items:center;gap:2cqw;margin-top:3cqw;font-family:var(--sans);font-weight:500;font-size:2.7cqw;color:#8ea0b3;line-height:1.2}
.ipx-secure svg{width:3.3cqw;height:3.3cqw;flex:none;color:#5cc0ff}
@keyframes ipxRow{0%{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.09)}5%,15%{background:rgba(46,168,255,.16);border-color:rgba(46,168,255,.6)}20%,100%{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.09)}}
@media(prefers-reduced-motion:reduce){.ipx-nav li,.ipx-opts li{animation:none!important}}

/* ================================================================
   v78 EDITORIAL PASS — one type system, one rhythm, richer micro-
   interaction. Matches the treatment pages' scale (tpx): eyebrow
   13px/.14em, display H2 clamp(34,4.6vw,62), body 16.5/1.6.
   ================================================================ */
/* -- global micro -- */
::selection{background:var(--blue);color:#fff}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#how,#featured,#treatments,#why,#receipts,#reviews,#faq{scroll-margin-top:92px}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* -- unified type system -- */
body:not(.treatment-page) .label,
body:not(.treatment-page) .kicker{font-size:13px!important;letter-spacing:.14em!important;font-weight:800!important}
.howto__bigtitle{font-size:clamp(34px,4.6vw,62px)!important}
.split-title h2,.services h2,.why-sticky__head h2,.receipts__head h2,.reviews__head h2,.faq__grid h2,.final-cta h2{font-size:clamp(34px,4.6vw,62px)!important;letter-spacing:-.05em!important;line-height:.95!important}
.bigcta__inner h2{font-size:clamp(30px,4.4vw,58px)!important}
.split-title>p:last-child,.services__intro>p,.why-sticky__head>p,.receipts__head>p,.faq__grid>div>p{font-size:16.5px!important;line-height:1.6!important;color:#5a6472}
.services__intro>p,.receipts__head>p{color:rgba(255,255,255,.62)!important}
.receipts__head>p{max-width:56ch}

/* -- editorial rhythm (sections breathe) -- */
.howto,.featured,body:not(.treatment-page) .faq,.reviews,.receipts,.whycuro,.services{padding-top:clamp(64px,7.5vw,110px)!important;padding-bottom:clamp(64px,7.5vw,110px)!important}
.final-cta{padding-top:clamp(80px,9vw,130px)!important;padding-bottom:clamp(80px,9vw,130px)!important}

/* -- hero: proof line + scroll cue -- */
.hero__lead{color:rgba(255,255,255,.74)}
.hero__proof{display:flex;align-items:center;flex-wrap:wrap;gap:12px 14px;margin-top:26px;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.78)}
.hero__proof b{color:#fff;font-weight:800}
.hp-stars{color:#f5a623;letter-spacing:2px;font-size:12px}
.hero__proof-sep{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.35)}
.hero__scroll{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;width:26px;height:42px;border:1.5px solid rgba(255,255,255,.4);border-radius:16px;display:flex;justify-content:center;padding-top:7px;transition:border-color .25s}
.hero__scroll:hover{border-color:#fff}
.hero__scroll span{width:4px;height:8px;border-radius:3px;background:var(--blue);animation:heroCue 1.9s ease-in-out infinite}
@keyframes heroCue{0%,100%{transform:translateY(0);opacity:1}55%{transform:translateY(12px);opacity:.15}}
@media(prefers-reduced-motion:reduce){.hero__scroll span{animation:none}}
@media(max-width:640px){.hero__scroll{display:none}.hero__proof{gap:8px 10px;font-size:12px}}

/* -- how-it-works cards: lift on hover -- */
.hcard{transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.hcard:hover{transform:translateY(-6px)}
.hcard .hcard__imgwrap{transition:box-shadow .38s}
.hcard:hover .hcard__imgwrap{box-shadow:0 30px 60px -30px rgba(10,14,20,.45)}

/* -- featured bento: explore chip reveal (on ::before — ::after is the image scrim) -- */
.fcard::before{content:"Explore →";position:absolute;inset:auto 14px 14px auto;z-index:3;font-family:var(--sans);font-weight:700;font-size:12.5px;line-height:1;color:#0a0e14;background:#fff;padding:9px 14px;border-radius:999px;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;box-shadow:0 10px 24px -10px rgba(0,0,0,.4);pointer-events:none}
.fcard:hover::before{opacity:1;transform:translateY(0)}
@media(hover:none){.fcard::before{opacity:1;transform:none}}

/* -- services rows: editorial titles -- */
.service-row b{font-family:var(--mono);font-size:clamp(18px,1.6vw,23px);letter-spacing:-.02em;transition:color .22s}
.service-row:hover b{color:var(--blue)}


/* -- FAQ: match the tpx accordion language -- */
.accordion summary{font-family:var(--mono);font-size:clamp(16px,1.5vw,20px);letter-spacing:-.02em;align-items:center;gap:14px;transition:color .2s}
.accordion summary:hover{color:var(--blue)}
.accordion details{padding:24px 0}
.accordion summary:after{content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(0,152,255,.1);font-size:17px;font-weight:600;transition:transform .3s,background .2s}
.accordion details[open] summary:after{content:"+";transform:rotate(135deg);background:rgba(0,152,255,.16)}
.accordion details p{color:#5a6472;font-size:15.5px;line-height:1.62}

/* -- final CTA: statement treatment -- */
.final-cta__grid p{font-family:var(--mono);font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)!important;margin-bottom:16px}
.final-cta .button{transition:transform .22s,box-shadow .22s,background .22s}
.final-cta .button:hover{transform:translateY(-3px);box-shadow:0 18px 40px -12px rgba(0,152,255,.55)}

/* -- reviews: subtle card lift inside paused marquee -- */
.reviews__track .rev-card{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.reviews__track .rev-card:hover{transform:translateY(-6px)}
/* v78b: specificity-matched overrides (the old compact layer used body:not(.treatment-page) prefixes) */
body:not(.treatment-page) p.label,body:not(.treatment-page) p.kicker,body:not(.treatment-page) .faq__grid .label{font-size:13px!important;letter-spacing:.14em!important}
body:not(.treatment-page) .howto,body:not(.treatment-page) .featured,body:not(.treatment-page) .services,body:not(.treatment-page) .whycuro,body:not(.treatment-page) .receipts,body:not(.treatment-page) .reviews,body:not(.treatment-page) .faq{padding-top:clamp(64px,7.5vw,110px)!important;padding-bottom:clamp(64px,7.5vw,110px)!important}
body:not(.treatment-page) .final-cta{padding-top:clamp(80px,9vw,130px)!important;padding-bottom:clamp(80px,9vw,130px)!important}

/* ===== v79: hcard full-image + phone margin · draggable reviews · momentum final-CTA ===== */
/* step cards 3/4: show the FULL image on white with breathing room */
.hcard__imgwrap:not(.hcard__imgwrap--phone){background:#fff!important}
.hcard__img{object-fit:contain!important;padding:7.5%;box-sizing:border-box}
/* iPhone mockups: margin inside the card (was touching top/bottom) */
.iphone{height:86%}
/* reviews marquee: drag affordance */
.reviews__marquee{cursor:grab;user-select:none;-webkit-user-select:none}
.reviews__marquee.is-dragging{cursor:grabbing}
.reviews__marquee.is-dragging .rev-card{pointer-events:none}
.reviews__track{will-change:transform}
.reviews__track img{-webkit-user-drag:none}
/* final CTA: full-bleed momentum image + scrim, white statement */
.final-cta{position:relative;overflow:hidden;background:#06080c!important}
.final-cta__media{position:absolute;inset:0;z-index:0}
.final-cta__media img{width:100%;height:100%;object-fit:cover;object-position:50% 32%}
.final-cta__shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,7,11,.74) 0%,rgba(5,7,11,.44) 52%,rgba(5,7,11,.18) 100%),linear-gradient(0deg,rgba(5,7,11,.35),transparent 40%)}
.final-cta__grid{position:relative;z-index:2}
.final-cta h2{color:#fff!important;text-shadow:0 4px 28px rgba(0,0,0,.35)}
.final-cta h2 span{color:var(--blue)!important}
.final-cta__grid p{color:#6fc0ff!important}
/* v79b: step photos read as framed panels — rounded inner corners */
.hcard__img{border-radius:14px}

/* ===== v80: How Curo Works — all cards on the SAME white background, product cutouts for 3 & 4 ===== */
.hcard__imgwrap--phone{background:#fff!important}
.hcard__imgwrap:not(.hcard__imgwrap--phone){background:#fff!important}
.hcard__img{border-radius:0!important;padding:9%!important;filter:drop-shadow(0 14px 26px rgba(15,23,42,.12))}
/* v81: no border on How Curo Works cards — plain white, all four identical treatment */
.hcard__imgwrap{border:0!important}
/* v82: mobile — child cards/images were touch-action:auto and swallowed horizontal swipes; let the marquee drag JS receive them while vertical page scroll still works */
.reviews__marquee,.reviews__track,.reviews__track .rev-card,.reviews__track .rev-card *{touch-action:pan-y}
.reviews__marquee img{-webkit-user-drag:none;user-drag:none}

/* ===== v83: Why Curo — cinematic video background so the glass cards read as real glass ===== */
.whycuro{background:#06080c!important;position:relative;overflow:visible!important}
/* the video clips to the section via its own wrapper; the section MUST stay overflow:visible or the sticky card stacking breaks */
.whycuro__bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.whycuro__bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(108%)}
/* dark gradient over the video: depth + text contrast, keeps the glass feeling premium */
.whycuro__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,8,12,.80),rgba(6,8,12,.60) 42%,rgba(6,8,12,.86))}
.why-sticky{position:relative;z-index:1}
/* tone the old blue blobs down so they glow through the video instead of muddying it */
.why-sticky::before{background:rgba(0,152,255,.20)!important;filter:blur(90px)!important}
.why-sticky::after{background:rgba(0,152,255,.12)!important;filter:blur(90px)!important}
/* section heading now sits on video → white */
.why-sticky__head h2{color:#fff!important}
.why-sticky__head>p{color:rgba(255,255,255,.74)!important}
.why-sticky__head .label{color:#eaf6ff!important}
/* smoked-glass cards: you can see the moving video blurred through them */
.why-scard{background:rgba(14,19,28,.34)!important;-webkit-backdrop-filter:blur(26px) saturate(150%);backdrop-filter:blur(26px) saturate(150%);border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 40px 90px -44px rgba(0,0,0,.85),0 2px 10px rgba(0,0,0,.25)!important}
.why-scard__n{color:#5cc0ff!important}
.why-scard h3{color:#fff!important}
.why-scard__body>p{color:rgba(255,255,255,.76)!important}
/* image tile inside the card: subtle frame that matches the glass */
.why-scard__media{box-shadow:0 20px 44px -22px rgba(0,0,0,.7)!important;border:1px solid rgba(255,255,255,.1)}
/* bottom strip on dark */
.whycuro .whycuro__strip{border-top-color:rgba(255,255,255,.16)!important}
.whycuro__strip span{color:#fff!important}
.whycuro__strip span:before{background:rgba(0,152,255,.22) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4 10-10' fill='none' stroke='%235cc0ff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat!important}

/* ====================================================================
   R1 — 2026 PREMIUM REDESIGN (Rugiet-inspired editorial system)
   Consolidated final layer. Supersedes prior visual patches.
   Contents:
     R1.0 foundations (surfaces, type primitives, accents)
     R1.1 header + fullscreen menu
     R1.2 buttons (magnetic primary CTA language)
     R1.3 hero (left-aligned cinematic editorial)
     R1.4 promise marquee
     R1.5 how curo works
     R1.6 full-bleed brand banners
     R1.7 featured programs (bento)
     R1.8 our focuses (dark cinematic index)
     R1.9 why curo (glass stack)
     R1.10 receipts comparison
     R1.11 patient experience
     R1.12 faq
     R1.13 final cta + footer
     R1.14 floating card + triage modal + loader
     R1.15 responsive + reduced motion
   ==================================================================== */

/* ---------- R1.0 foundations ---------- */
html,body{background:#faf9f6!important}
body{font-family:var(--sans);color:#10141a}
::selection{background:var(--blue);color:#fff}
.howto,.featured{background:#faf9f6!important}
.reviews{background:#faf9f6!important}
.faq,.receipts{background:#f3f0e9!important;color:#10141a!important}

/* display type: bold grotesk caps + lowercase serif-italic accents */
.split-title h2,.services h2,.why-sticky__head h2,.receipts__head h2,.reviews__head h2,.faq__grid h2,.final-cta h2{
  font-family:var(--mono)!important;font-weight:800!important;text-transform:uppercase;
  font-size:clamp(37px,5vw,72px)!important;letter-spacing:-.01em!important;line-height:.94!important}
.howto__bigtitle{font-size:clamp(37px,5vw,72px)!important;letter-spacing:-.01em!important;line-height:.92!important}
.bigcta__inner h2{font-size:clamp(33px,4.6vw,62px)!important;letter-spacing:-.01em!important;line-height:.96}
.hero h1 .rot,.split-title h2 span,.services h2 span,.receipts__head h2 span,.reviews__head h2 span,.final-cta h2 span{
  font-family:var(--serif)!important;font-style:italic;font-weight:400!important;text-transform:none;
  letter-spacing:0!important;font-size:1.06em;line-height:.9}
body:not(.treatment-page) p.label,body:not(.treatment-page) p.kicker,body:not(.treatment-page) .faq__grid .label{
  font-size:12.5px!important;letter-spacing:.22em!important;font-weight:700!important}
.split-title>p:last-child,.why-sticky__head>p,.receipts__head>p,.faq__grid>div>p{font-size:17px!important;line-height:1.65!important}
.triage-modal__card h3{letter-spacing:-.02em;font-size:clamp(28px,5vw,38px)}
.menu a{letter-spacing:-.035em;font-weight:800}

/* ---------- R1.1 header ---------- */
.site-header{top:14px!important;height:60px!important;border-radius:18px!important;padding:0 12px 0 20px!important;
  background:rgba(8,11,16,.46)!important;border:1px solid rgba(255,255,255,.1)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.5)!important;backdrop-filter:blur(22px) saturate(1.5)!important;
  box-shadow:0 18px 50px -18px rgba(4,7,12,.5)!important;color:#fff!important;
  transition:background .35s var(--ease),border-color .35s,box-shadow .35s,color .35s}
.site-header.is-light{background:rgba(255,255,255,.66)!important;border-color:rgba(12,16,22,.08)!important;
  box-shadow:0 18px 46px -22px rgba(10,14,20,.18)!important;color:#0a0e14!important}
.site-header.is-light .desktop-nav a{color:#0a0e14!important}
.site-header.is-light .curo-logo__w{display:none!important}
.site-header.is-light .curo-logo__b{display:block!important}
.site-header .desktop-nav{gap:26px;font-size:12px;letter-spacing:.08em}
.site-header .desktop-nav a{position:relative;padding:4px 0;transition:opacity .2s}
.site-header .desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:currentColor;transition:right .28s var(--ease)}
.site-header .desktop-nav a:hover{transform:none;opacity:1}
.site-header .desktop-nav a:hover::after{right:0}
.lang-toggle{border:1px solid currentColor!important;opacity:.85}
.lang-toggle:hover{opacity:1}
body.menu-open .site-header{background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:#fff!important}
body.menu-open .site-header .curo-logo__w{display:block!important}
body.menu-open .site-header .curo-logo__b{display:none!important}

/* ---------- R1.2 buttons ---------- */
.btn-fill,.button--blue,.tpx-btn--primary,.bigcta__btn,a.primary,button.primary,.link-button.primary{
  font-family:var(--sans)!important;font-size:15px!important;font-weight:700!important;letter-spacing:.01em!important;
  background:linear-gradient(180deg,#22a7ff,#008ff0)!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.22)!important;border-radius:999px!important;
  box-shadow:0 16px 36px -16px rgba(0,144,242,.8),inset 0 1px 0 rgba(255,255,255,.28)!important;
  transform:translate3d(var(--mx,0px),var(--my,0px),0)!important;
  transition:transform .3s var(--ease),box-shadow .3s,filter .3s!important}
.btn-fill:hover,.button--blue:hover,.tpx-btn--primary:hover,.bigcta__btn:hover,a.primary:hover,button.primary:hover,.link-button.primary:hover{
  background:linear-gradient(180deg,#2fadff,#009bff)!important;border-color:rgba(255,255,255,.3)!important;color:#fff!important;
  transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(1.03)!important;
  box-shadow:0 24px 48px -18px rgba(0,144,242,.9),inset 0 1px 0 rgba(255,255,255,.3)!important;filter:none!important}
.btn-fill span{display:inline-block;transition:transform .3s var(--ease)}
.btn-fill:hover span{transform:translateX(4px)}
.hero__cta .btn-fill{height:58px;padding:0 34px;font-size:16px!important}
.howto__cta button{height:54px!important;padding:0 32px!important;border-radius:999px!important;font-size:15px!important;font-weight:700!important;letter-spacing:.01em!important;font-family:var(--sans)!important;transform:translate3d(var(--mx,0px),var(--my,0px),0)!important;transition:transform .3s var(--ease),background .2s,color .2s!important}

/* ---------- R1.3 hero ---------- */
.hero{align-items:center!important;justify-content:flex-start;text-align:left;padding-bottom:clamp(120px,14vh,170px)!important}
.hero__grid{grid-template-columns:1fr!important;justify-items:start;gap:0!important}
.hero__copy{max-width:1100px;display:flex;flex-direction:column;align-items:flex-start}
.hero__copy .kicker{margin-bottom:26px;display:inline-flex;align-items:center;gap:6px}
.hero h1{font-size:clamp(47px,7vw,104px);font-weight:900;text-transform:uppercase;letter-spacing:-.015em;line-height:.92;max-width:none}
.hero h1 .rot{margin-top:.04em}
.hero__lead{margin:28px 0 0!important;text-align:left;max-width:58ch;font-size:clamp(15.5px,1.35vw,18px);line-height:1.65;color:rgba(255,255,255,.78)}
.hero__cta{justify-content:flex-start;margin-top:38px}
.hero__proof{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);width:100%;max-width:640px;font-size:13px;letter-spacing:.01em}
/* staggered hero entrance */
.hero__copy.reveal>*{opacity:0;transform:translateY(22px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.hero__copy.reveal.in>*{opacity:1;transform:none}
.hero__copy.reveal.in>*:nth-child(1){transition-delay:.05s}
.hero__copy.reveal.in>*:nth-child(2){transition-delay:.16s}
.hero__copy.reveal.in>*:nth-child(3){transition-delay:.3s}
.hero__copy.reveal.in>*:nth-child(4){transition-delay:.44s}
.hero__copy.reveal.in>*:nth-child(5){transition-delay:.58s}
.hero__video{animation:heroZoom 2.6s var(--ease) both}
@keyframes heroZoom{from{transform:scale(1.09)}to{transform:scale(1.03)}}
.hero__media .hero__video,.hero__media img{filter:grayscale(.04) contrast(1.05) brightness(.94) saturate(1.06)!important}
.hero__shade{background:radial-gradient(circle at 78% 34%,rgba(0,152,255,.10),transparent 34%),linear-gradient(90deg,rgba(4,6,10,.72) 0%,rgba(4,6,10,.36) 52%,rgba(4,6,10,.08) 100%),linear-gradient(180deg,rgba(4,6,10,.16),rgba(4,6,10,.44) 82%,rgba(4,6,10,.66) 100%)}
.hero h1 .rot{font-size:1.18em}

/* ---------- R1.4 promise marquee ---------- */
.promo-marquee{background:#05070b!important;border-top:1px solid rgba(255,255,255,.07)!important;border-bottom:1px solid rgba(255,255,255,.07)!important}
.promo-marquee__track span{color:rgba(255,255,255,.8)!important;font-size:12.5px;font-weight:700;letter-spacing:.18em;padding:21px 0}

/* ---------- R1.5 how curo works ---------- */
.howline__node{width:42px;height:42px;background:#fff;color:var(--blue);border:1.5px solid rgba(0,152,255,.4);font-size:16px;box-shadow:0 12px 26px -12px rgba(0,152,255,.5)}
.hcard__imgwrap{border-radius:20px;border:1px solid rgba(12,16,22,.07)!important;box-shadow:0 26px 52px -34px rgba(12,18,28,.4)}
.hcard__name{font-size:16px;letter-spacing:.02em}
.hcard__role{font-size:14px;line-height:1.55}
.howto__cta small{font-size:12.5px;color:#8a8f95}

/* ---------- R1.5b clinician-review animated mock (replaces curoreview.png) ---------- */
.hcard__imgwrap--review{display:flex;align-items:center;justify-content:center;container-type:inline-size;background:linear-gradient(180deg,#f5f8fb,#eef2f6)!important}
.rvw{width:80%}
.rvw__panel{position:relative;background:#fff;border:1px solid #e6ebf1;border-radius:6cqw;box-shadow:0 9cqw 18cqw -8cqw rgba(15,23,42,.28),0 1cqw 3cqw rgba(15,23,42,.06);padding:6cqw;transform:rotate(-1.5deg)}
.rvw__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4.6cqw}
.rvw__logo{height:6.4cqw;width:auto}
.rvw__ecg{width:13cqw;height:6.4cqw;overflow:visible}
.rvw__ecg path{fill:none;stroke:var(--blue);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:120;stroke-dashoffset:120;animation:rvwEcg 6s linear infinite}
.rvw__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2.6cqw}
.rvw__list li{display:flex;align-items:center;gap:3cqw;background:#f4f7fa;border:1px solid #e9eef4;border-radius:3.4cqw;padding:3.6cqw 4cqw;font-family:var(--sans);font-weight:600;font-size:4.3cqw;line-height:1.1;color:#0a0e14;animation:rvwRow 6s infinite;animation-delay:calc(var(--i)*.9s)}
.rvw__list li b{font-weight:600}
.rvw__check{flex:none;width:5.6cqw;height:5.6cqw;border-radius:50%;border:1.5px solid #c9d4df;position:relative;animation:rvwCheck 6s infinite;animation-delay:calc(var(--i)*.9s)}
.rvw__check::after{content:"";position:absolute;left:26%;top:30%;width:44%;height:26%;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);transform-origin:center;animation:rvwTick 6s infinite;animation-delay:calc(var(--i)*.9s)}
.rvw__stamp{position:absolute;right:-4cqw;bottom:-4cqw;width:13.5cqw;height:13.5cqw;border-radius:50%;background:linear-gradient(180deg,#22a7ff,#008ff0);display:grid;place-items:center;box-shadow:0 6cqw 14cqw -4cqw rgba(0,152,255,.75),inset 0 1px 0 rgba(255,255,255,.35);animation:rvwStamp 6s infinite}
.rvw__stamp svg{width:52%;height:52%}
@keyframes rvwEcg{0%{stroke-dashoffset:120;opacity:.5}22%,72%{stroke-dashoffset:0;opacity:1}95%,100%{stroke-dashoffset:-120;opacity:.35}}
@keyframes rvwRow{0%,7%{background:#f4f7fa;border-color:#e9eef4}13%,88%{background:#eef6ff;border-color:rgba(0,152,255,.32)}94%,100%{background:#f4f7fa;border-color:#e9eef4}}
@keyframes rvwCheck{0%,7%{background:transparent;border-color:#c9d4df}13%,88%{background:var(--blue);border-color:var(--blue)}94%,100%{background:transparent;border-color:#c9d4df}}
@keyframes rvwTick{0%,8%{transform:rotate(-45deg) scale(0)}14%,88%{transform:rotate(-45deg) scale(1)}94%,100%{transform:rotate(-45deg) scale(0)}}
@keyframes rvwStamp{0%,44%{transform:scale(0) rotate(-24deg);opacity:0}51%{transform:scale(1.14) rotate(4deg);opacity:1}56%,86%{transform:scale(1) rotate(0deg);opacity:1}94%,100%{transform:scale(0) rotate(-24deg);opacity:0}}
@media(prefers-reduced-motion:reduce){
  .rvw__ecg path{animation:none;stroke-dashoffset:0}
  .rvw__list li,.rvw__check,.rvw__check::after,.rvw__stamp{animation:none}
  .rvw__check{background:var(--blue);border-color:var(--blue)}
  .rvw__check::after{transform:rotate(-45deg) scale(1)}
  .rvw__stamp{transform:none;opacity:1}
}

/* ---------- R1.6 brand banners ---------- */
.bigcta__media img{transition:none}
.bigcta__btn{height:54px;padding:0 32px!important}
/* second banner: framed editorial treatment on light paper (breaks the mid-page dark run) */
#bigcta{background:#faf9f6!important;min-height:clamp(480px,66vh,700px)}
#bigcta .bigcta__media,#bigcta .bigcta__shade{inset:clamp(26px,4.6vw,54px) clamp(16px,3.8vw,54px);border-radius:26px;overflow:hidden}
#bigcta .bigcta__media{box-shadow:0 44px 90px -44px rgba(10,14,20,.55)}
@media(max-width:650px){#bigcta .bigcta__media,#bigcta .bigcta__shade{inset:18px 14px;border-radius:20px}}

/* ---------- R1.7 featured programs ---------- */
.fcards{gap:16px}
.fcard{border-radius:20px}
.fcard::after{background:linear-gradient(to top,rgba(4,6,10,.86) 0%,rgba(4,6,10,.24) 44%,rgba(4,6,10,0) 70%)}
.fcard__title{font-family:var(--mono);font-weight:800;text-transform:uppercase;font-size:clamp(16px,1.5vw,20px);letter-spacing:.03em}
.fcard--big .fcard__title{font-size:clamp(21px,2.1vw,28px)}
.fcard__icon{width:40px;height:40px}

/* ---------- R1.8 our focuses — dark cinematic index ---------- */
.services{background:#04070c!important;color:#fff!important;padding-top:clamp(96px,10vw,150px)!important;padding-bottom:clamp(96px,10vw,150px)!important}
.services:before{display:none}
.services__media{display:block!important;opacity:.5}
.services__media:after{background:linear-gradient(180deg,rgba(4,7,12,.72),rgba(4,7,12,.9))}
.services__intro{background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;min-height:0!important;padding:0!important;border-radius:0!important;top:130px}
.services h2{color:#fff!important}
.services__intro p:not(.kicker){color:rgba(255,255,255,.62)!important;font-size:17px!important;line-height:1.65!important}
.service-list{border-top:1px solid rgba(255,255,255,.12)!important}
.service-row{grid-template-columns:70px 1fr 1.1fr;min-height:122px;border-bottom:1px solid rgba(255,255,255,.12)!important}
.service-row span{font-size:12px;letter-spacing:.14em;color:var(--blue)}
.service-row b{color:#fff!important;font-size:clamp(21px,2vw,29px)!important;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.service-row p{color:rgba(255,255,255,.55)!important}
.service-row:hover{background:rgba(255,255,255,.045)!important}
.service-row:hover b{color:#5cc0ff!important}
.hover-preview{width:210px;height:150px}
.hover-preview img{border-radius:16px;border:1px solid rgba(255,255,255,.22)}

/* ---------- R1.9 why curo ---------- */
.why-scard{border-radius:24px}
.why-scard h3{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.015em}
.why-scard__n{letter-spacing:.2em;font-size:11px}
.why-scard__media{border-radius:16px}
.whycuro__strip span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}

/* ---------- R1.10 receipts ---------- */
.receipts__head .label{color:var(--blue)!important}
.receipts__head>p{color:#585045!important}
.receipts__grid{margin-top:clamp(36px,4.6vw,56px);gap:18px}
.receipt{border-radius:20px;padding:32px}
.receipt--other{background:#fff!important;border:1px solid rgba(12,16,22,.09)!important;box-shadow:0 22px 48px -34px rgba(12,18,28,.35)}
.receipt--curo{background:linear-gradient(165deg,rgba(0,152,255,.13),#fff 58%)!important;border:1px solid rgba(0,152,255,.45)!important;box-shadow:0 30px 64px -28px rgba(0,120,210,.4)!important}
.receipt h4{letter-spacing:.14em}
.rline{font-size:14.5px}
.receipt__stamp{background:#fff}

/* ---------- R1.11 patient experience ---------- */
.reviews__head h2 span{color:var(--blue)}
.reviews__rating{color:#5a6472!important;font-size:14px;margin-top:18px}
.reviews__rating b{color:#0a0e14}
.reviews__rating .stars{color:#f5a623;letter-spacing:3px}
.rev-card--light{background:#f0ede5}
.reviews__marquee{margin-top:clamp(36px,4.6vw,54px)}

/* ---------- R1.12 faq ---------- */
.accordion summary{font-size:clamp(17px,1.6vw,21px);font-weight:700;letter-spacing:-.01em}
.accordion details{padding:26px 0}
.accordion details p{font-size:15.5px;line-height:1.65}

/* ---------- R1.13 final cta + footer ---------- */
.final-cta .button{height:60px;padding:0 40px;font-size:16px!important;min-width:0;width:max-content;justify-self:start}
.final-cta__grid p{letter-spacing:.22em!important}
.footer--v2{background:#07090d!important}
.footer-v2__col h5{font-size:11px;letter-spacing:.2em;color:#67727f}
.footer-v2__col a{font-weight:600}
.footer-v2__blurb{font-size:14.5px}

/* page heroes: guarantee legibility over any media + editorial caps */
.page-hero__shade{background:linear-gradient(180deg,rgba(4,6,10,.62),rgba(4,6,10,.5) 55%,rgba(4,6,10,.68) 100%)!important}
.page-hero h1{font-family:var(--mono);font-weight:900;text-transform:uppercase;letter-spacing:-.015em;line-height:.94;font-size:clamp(40px,5.6vw,84px)}
.page-hero h1 span{font-family:var(--serif)!important;font-style:italic;font-weight:400!important;text-transform:none;letter-spacing:0!important;font-size:1.06em}

/* ---------- R1.14 floating card + triage + loader ---------- */
.floating-cta{width:236px!important;border-radius:20px!important;border:1px solid rgba(255,255,255,.16)!important}
.triage-modal__card{border-radius:26px}
.triage-options a{border-radius:14px}
.loader{background:#04060a}

/* ---------- R1.15 responsive + motion ---------- */
@media(max-width:1040px){
  .services__intro{position:static;margin-bottom:34px}
  .faq__grid{gap:44px}
  .service-row{align-content:center;row-gap:8px}
}
@media(max-width:650px){
  .site-header{top:10px!important;height:54px!important;border-radius:15px!important}
  .hero{padding-bottom:120px!important}
  .hero h1{font-size:clamp(32px,10.2vw,48px);overflow-wrap:anywhere}
  .hero h1 .rot{font-size:1.02em}
  .hero__lead{font-size:15px}
  .hero__cta{width:100%}
  .hero__cta .btn-fill{width:100%;justify-content:center}
  .hero__proof{gap:8px 12px}
  .service-row{grid-template-columns:44px 1fr;gap:14px;min-height:104px}
  .service-row b{font-size:18px!important}
  .promo-marquee__track span{font-size:11px;padding:16px 0}
  .receipt{padding:24px}
}
@media(prefers-reduced-motion:reduce){
  .hero__video{animation:none}
  .btn-fill,.button--blue,.bigcta__btn{transform:none!important}
}

/* ====================================================================
   R2 — Tier-2 polish: sticky FAQ intro + CTA · sentence-case assessment
   button · slim floating pill CTA · pricing nav
   ==================================================================== */
/* FAQ: intro column sticks and carries a conversion CTA */
@media(min-width:1041px){
  .faq__intro{position:sticky;top:120px;align-self:start}
}
.faq__cta{margin-top:30px;height:52px;min-width:0;padding:0 30px}

/* How-Curo-Works CTA: match the sentence-case button language */
.howto__cta button{text-transform:none!important}

/* Floating CTA: slim glass pill instead of the video card */
.floating-cta{width:auto!important;aspect-ratio:auto!important;height:auto!important;border-radius:999px!important;
  padding:8px 8px 8px 18px!important;overflow:visible!important;
  background:rgba(8,11,16,.78)!important;-webkit-backdrop-filter:blur(18px) saturate(1.4)!important;backdrop-filter:blur(18px) saturate(1.4)!important;
  border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 18px 44px -18px rgba(4,7,12,.65)!important}
.floating-cta__media{display:none!important}
.floating-cta__body{display:flex!important;flex-direction:row!important;align-items:center!important;gap:14px!important;
  padding:0!important;height:auto!important;grid-template-rows:none!important}
.floating-cta__body .curo-logo{--logo-h:20px;margin:0!important;place-self:auto!important}
.floating-cta__body button:not(.float-close){width:auto!important;height:42px!important;padding:0 20px!important;border-radius:999px!important;
  font-size:14px!important;font-weight:700!important;
  background:linear-gradient(180deg,#22a7ff,#008ff0)!important;box-shadow:0 10px 24px -10px rgba(0,144,242,.85)!important;
  transition:transform .25s var(--ease),box-shadow .25s!important}
.floating-cta__body button:not(.float-close):hover{transform:scale(1.04)!important;box-shadow:0 14px 30px -10px rgba(0,144,242,.95)!important}
.float-close{right:-6px!important;top:-6px!important;width:22px!important;height:22px!important;border-radius:50%!important;
  background:#20242b!important;border:1px solid rgba(255,255,255,.22)!important;display:grid!important;place-items:center!important;
  font-size:12px!important;opacity:0!important;transition:opacity .2s!important;z-index:4}
.floating-cta:hover .float-close{opacity:1!important}

/* ====================================================================
   R3 — Tier-3 motion polish: why-stack docking · services row arrows ·
   preview tilt · committed cursor · pressed button states
   ==================================================================== */
/* why-stack docking (JS drives the transform per scroll frame) */
.why-stack .why-scard{will-change:transform}

/* services rows: arrow slides in on hover */
.service-row{position:relative;padding-right:48px}
.service-row::after{content:"→";position:absolute;right:12px;top:50%;transform:translate(-14px,-50%);opacity:0;color:#5cc0ff;font-size:24px;font-weight:700;transition:opacity .28s var(--ease),transform .28s var(--ease)}
.service-row:hover::after{opacity:1;transform:translate(0,-50%)}

/* hover preview settles in with a tilt */
.hover-preview{rotate:3deg;transition:opacity .14s ease,rotate .34s var(--ease)}
.hover-preview.visible{rotate:0deg}

/* cursor: committed drag affordance over the reviews marquee */
.cursor__label{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--sans);font-size:16px;font-weight:600;color:#fff;opacity:0;transition:opacity .15s}
.cursor.is-drag{width:54px;height:54px;background:rgba(0,152,255,.92);border-color:transparent;mix-blend-mode:normal;opacity:1}
.cursor.is-drag .cursor__label{opacity:1}
@media(pointer:fine){.reviews__marquee,.reviews__marquee.is-dragging{cursor:none}}

/* pressed states: tactile scale-down on every primary button */
.btn-fill:active,.button--blue:active,.bigcta__btn:active,a.primary:active,button.primary:active,.link-button.primary:active,.tpx-btn--primary:active,.howto__cta button:active{
  transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(.965)!important}

@media(prefers-reduced-motion:reduce){
  .why-stack .why-scard{transform:none!important}
  .hover-preview{rotate:0deg}
}


/* ====================================================================
   R8 - Designer-brief pass (Part 1, homepage):
   trust strap - province availability - price hints - button labels -
   honest reviews line - FR toggle weight - readable footer legal.
   ==================================================================== */
/* hero trust strap directly under the subheadline */
.hero__strap{display:inline-flex;align-items:center;gap:9px;margin-top:18px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.88);background:rgba(0,152,255,.12);border:1px solid rgba(0,152,255,.32);border-radius:999px;padding:9px 16px;line-height:1.35}
.hero__strap svg{flex:none;color:#5cc0ff}
/* province availability line (hidden until Karan confirms the list) */
.hero__avail{margin-top:14px;font-size:13px;font-weight:600;color:rgba(255,255,255,.72)}
.hero__avail[hidden]{display:none}
/* price hint on the featured category cards (title nudges up to make room) */
.fcard__title{bottom:36px}
.fcard--big .fcard__title{bottom:40px}
.fcard__price{position:absolute;left:18px;right:18px;bottom:14px;z-index:2;font-family:var(--sans);font-size:12.5px;font-weight:600;color:rgba(255,255,255,.8);text-shadow:0 2px 10px rgba(0,0,0,.5)}
/* card chip: intent-matched label */
.fcard::before{content:"Explore treatments"}
/* FR toggle: same size/weight/colour as the top-nav links */
.lang-toggle{border:0!important;border-radius:0;padding:4px 0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.78;transition:opacity .2s;width:auto;height:auto}
.lang-toggle:hover{opacity:1}
/* honest reviews line (replaces the star rating until reviews are real) */
.reviews__rating{font-style:italic}
/* footer legal: readable, not hidden */
.footer--v2 .legal{font-size:13.5px!important;color:#9aa7b6!important;line-height:1.7!important}
@media(max-width:650px){
  .hero__strap{font-size:12px;padding:8px 12px}
}

/* R8b - skin page brief items: comparison table mobile + 90s link */
.wlcmp__row .wlcmp__c:first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:8px 0 12px -8px rgba(10,14,20,.12)}
.wlcmp__row--head .wlcmp__c:first-child{background:#f6f7f9}
.wlcmp__c--curo{background:rgba(0,152,255,.09)}
.wlcmp__rec{display:inline-block;font-family:var(--sans);font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#22a7ff,#0072d6);border-radius:999px;padding:3px 9px;margin-left:8px;vertical-align:2px;white-space:nowrap}
.how90-link{display:inline-flex;align-items:center;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.85)!important;border:0!important;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;transition:color .2s}
.how90-link:hover{color:#5cc0ff!important}

/* R11 - Round-2: free-to-start label + skin hero chips */
.hero__free{margin-top:12px;font-size:13px;font-weight:700;color:#7ddfa9;letter-spacing:.02em}
.page-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.page-chips span{display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:rgba(255,255,255,.85);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:7px 13px}
.page-chips span[hidden]{display:none}
.hero__proof-item[hidden]{display:none}

/* ====================================================================
   R12 - Warm-up quiz (Round-2 Part A): reusable 2-4 step modal.
   Reuses the triage dark-glass language; adds dots, back, end screen.
   ==================================================================== */
.qz{position:fixed;inset:0;background:rgba(2,4,8,.74);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1100;display:grid;place-items:center;padding:22px;opacity:0;pointer-events:none;transition:opacity .25s}
.qz.open{opacity:1;pointer-events:auto}
.qz__card{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;border-radius:26px;padding:30px 30px 26px;color:#fff;background:linear-gradient(165deg,rgba(16,24,38,.92),rgba(8,12,20,.96));border:1px solid rgba(255,255,255,.14);box-shadow:0 1px 0 rgba(255,255,255,.14) inset,0 50px 120px -30px rgba(0,0,0,.85);transform:translateY(14px) scale(.98);transition:transform .3s cubic-bezier(.22,.8,.24,1)}
.qz.open .qz__card{transform:none}
.qz__close{position:absolute;right:16px;top:14px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:15px;display:grid;place-items:center;z-index:3}
.qz__top{display:flex;align-items:center;gap:14px;min-height:30px;margin-bottom:8px}
.qz__back{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:15px;display:grid;place-items:center;transition:background .2s}
.qz__back:hover{background:rgba(0,152,255,.35)}
.qz__back[hidden]{display:none}
.qz__dots{display:flex;gap:7px;align-items:center}
.qz__dots i{width:22px;height:4px;border-radius:99px;background:rgba(255,255,255,.16);transition:background .3s,width .3s}
.qz__dots i.on{background:var(--blue);width:34px}
.qz__eyebrow{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#5cc0ff;margin-bottom:10px}
.qz__q{font-family:var(--mono);font-weight:800;font-size:clamp(24px,4.4vw,32px);letter-spacing:-.02em;line-height:1.05;margin-bottom:20px}
.qz__opts{display:grid;gap:9px}
.qz__opt{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:15px 18px;color:#fff;font-family:var(--sans);font-size:15.5px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;animation:qzIn .34s cubic-bezier(.22,.8,.24,1) both;animation-delay:calc(var(--d,0)*.05s)}
.qz__opt small{display:block;font-weight:500;font-size:12px;color:rgba(255,255,255,.55);letter-spacing:.04em;text-transform:uppercase;margin-top:3px}
.qz__opt .arr{opacity:0;transform:translateX(-6px);transition:.2s;color:#5cc0ff;font-weight:700}
.qz__opt:hover{background:rgba(0,152,255,.16);border-color:rgba(0,152,255,.55);transform:translateX(4px)}
.qz__opt:hover .arr{opacity:1;transform:none}
@keyframes qzIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.qz__step{animation:qzIn .3s ease both}
/* end screen */
.qz__end{text-align:left;animation:qzIn .34s cubic-bezier(.22,.8,.24,1) both}
.qz__end .ck{width:52px;height:52px;border-radius:50%;background:linear-gradient(180deg,#22a7ff,#008ff0);display:grid;place-items:center;box-shadow:0 14px 34px -10px rgba(0,144,242,.8);margin-bottom:18px}
.qz__end .ck svg{width:26px;height:26px}
.qz__end h3{font-family:var(--mono);font-weight:800;font-size:clamp(23px,4.2vw,30px);letter-spacing:-.02em;line-height:1.08;margin-bottom:12px}
.qz__end p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.78);margin-bottom:22px}
.qz__end .qz__go{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 30px;border-radius:999px;background:linear-gradient(180deg,#22a7ff,#008ff0);color:#fff;font-family:var(--sans);font-size:15.5px;font-weight:700;box-shadow:0 16px 36px -14px rgba(0,144,242,.85);transition:transform .25s,box-shadow .25s}
.qz__end .qz__go:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 22px 44px -14px rgba(0,144,242,.95)}
.qz__end .fine{display:block;margin-top:16px;font-size:11.5px;color:rgba(255,255,255,.45);line-height:1.5}
@media(max-width:520px){.qz__card{padding:24px 20px 22px}.qz__q{font-size:22px}}
@media(prefers-reduced-motion:reduce){.qz__opt,.qz__step,.qz__end{animation:none}}

/* ====================================================================
   R14h - homepage declutter: smaller hero + section headings so the
   imagery leads and pages read lighter.
   ==================================================================== */
.hero h1{font-size:clamp(36px,4.6vw,68px)}
.hero__lead{font-size:clamp(14.5px,1.15vw,16.5px);line-height:1.6}
.split-title h2,.services h2,.receipts__head h2,.reviews__head h2,.faq__grid h2,.final-cta h2{font-size:clamp(30px,3.8vw,52px)!important}
.bigcta__inner h2{font-size:clamp(26px,3.4vw,46px)!important}
@media(max-width:650px){.hero h1{font-size:clamp(30px,9vw,44px)}}

/* ====================================================================
   R15 - homepage rhythm & glass pass
   1) Marquee -> header-style glassmorphism (frosted translucent band)
   2) Reviews section -> dark, restoring clean black/white alternation:
      hero(D) . marquee(glass) . featured(L) . bigcta-tablet(D) .
      bigcta(L) . services(D) . receipts(L) . reviews(D) . faq(L) . final(D)
   ==================================================================== */
/* 1) Glass marquee - mirrors .site-header (line 403) */
.promo-marquee{
  background:linear-gradient(180deg,rgba(10,14,20,.6),rgba(10,14,20,.32))!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.8)!important;
  backdrop-filter:blur(22px) saturate(1.8)!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 34px rgba(0,0,0,.22)!important;
  color:#fff!important;
}
.promo-marquee__track span{color:rgba(255,255,255,.86)!important}

/* 2) Reviews -> dark */
.reviews{background:#06080c!important;color:#fff!important}
.reviews__head h2{color:#fff!important}
.reviews__head h2 span{color:#3ba0ff!important}
.reviews__rating{color:rgba(255,255,255,.64)!important}
.reviews__rating b{color:#fff!important}

/* ====================================================================
   R16 - hero polish
   1) Reliable left-anchored legibility scrim (headline holds over any
      video frame) + stronger bottom vignette into the marquee.
   2) Type robustness (balance/pretty + soft text-shadow insurance).
   3) Honest trust cue row under the CTA.
   ==================================================================== */
.hero__shade{
  background:
    radial-gradient(circle at 82% 28%, rgba(0,152,255,.10), transparent 30%),
    linear-gradient(96deg, rgba(4,6,10,.93) 0%, rgba(4,6,10,.8) 22%, rgba(4,6,10,.52) 44%, rgba(4,6,10,.2) 66%, rgba(4,6,10,0) 88%),
    linear-gradient(180deg, rgba(4,6,10,.28) 0%, rgba(4,6,10,.06) 30%, rgba(4,6,10,.5) 82%, rgba(4,6,10,.72) 100%)
  !important;
}
.hero__copy .kicker,.hero h1{text-shadow:0 2px 26px rgba(0,0,0,.42)}
.hero h1{text-wrap:balance}
.hero__lead{text-wrap:pretty}
.hero__trust{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:11px 22px}
.hero__trust li{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:13.5px;font-weight:600;color:rgba(255,255,255,.86);letter-spacing:.005em;text-shadow:0 1px 14px rgba(0,0,0,.45)}
.hero__trust svg{width:17px;height:17px;flex:none;color:var(--blue)}
@media(max-width:760px){
  .hero__shade{background:
    linear-gradient(180deg, rgba(4,6,10,.56) 0%, rgba(4,6,10,.34) 34%, rgba(4,6,10,.6) 76%, rgba(4,6,10,.8) 100%)!important;}
  .hero__trust{gap:9px 18px}
  .hero__trust li{font-size:12.5px}
}