/* Exit Case · v8 — same identity, offer-first funnel: proof, three packs and one request. */
@font-face{font-family:Manrope;src:url('assets/v4/fonts/Manrope-Latin.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Migra;src:url('assets/v4/fonts/MigraItalic-ExtralightItalic.woff2') format('woff2');font-style:italic;font-weight:200;font-display:swap}

:root{
  --room:#16171b;--room-2:#202226;--logo-bg:#16171b;
  --paper:#eef0ed;--paper-2:#e4e8e3;--white:#fafaf7;
  --ink:#1c1e21;--muted:#5b615d;--line:rgba(28,30,33,.13);--line-strong:rgba(28,30,33,.26);
  --on-dark:#f4f3ef;--on-dark-muted:#a9ada8;--line-dark:rgba(255,255,255,.13);
  --voice:#f4aa81;--voice-soft:#ffbe98;--voice-ink:#9b5230;--focus:#bd6139;
  --r-s:12px;--r-m:20px;--r-l:32px;
  --ease:cubic-bezier(.16,1,.3,1);
  --t:200ms;
  --gutter:clamp(20px,5.2vw,80px);
  --max:1360px;
  --section:clamp(72px,9vw,144px);
}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.6;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body.has-film-open{overflow:hidden}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}
button,a,summary,label{-webkit-tap-highlight-color:transparent}
h1,h2,h3,h4,p,dl,dd,figure,ol,ul{margin:0}
h1,h2,h3,h4{font-weight:400;line-height:1.02;letter-spacing:-.055em}
em{font-family:Migra,Georgia,serif;font-style:italic;font-weight:200;letter-spacing:-.035em}
strong{font-weight:600}
[hidden]{display:none!important}
::selection{background:var(--voice);color:var(--room)}
:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.shell{width:min(var(--max),100% - 2 * var(--gutter));margin-inline:auto}
.section{padding-block:var(--section)}
.on-dark{color:var(--on-dark)}
.skip-link{position:fixed;z-index:200;top:0;left:24px;padding:12px 18px;background:var(--white);color:var(--ink);border-radius:0 0 12px 12px;transform:translateY(-110%);transition:transform var(--t) var(--ease)}
.skip-link:focus{transform:none}

/* Type */
.label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.5}
.fine-print{font-size:13px;line-height:1.6;color:var(--muted)}
.display{font-size:clamp(38px,10.4vw,64px);line-height:1;letter-spacing:-.058em}
.display .line{display:block}
.display em{font-size:1.08em;line-height:.95;color:var(--voice-soft)}
h2{font-size:clamp(38px,5.2vw,84px)}
h2 em{font-size:1.08em}
.section-label{display:flex;align-items:center;gap:14px;margin-bottom:24px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.section-label__index{color:var(--voice-ink);font-variant-numeric:tabular-nums}
.section-label__rule{width:44px;height:1px;background:currentColor;opacity:.45}
.on-dark .section-label{color:var(--on-dark-muted)}
.on-dark .section-label__index{color:var(--voice)}
.section-head{display:grid;gap:24px;margin-bottom:clamp(40px,5vw,72px)}
.section-head__aside{font-size:17px;line-height:1.6;color:var(--muted);max-width:34ch}

/* Buttons and links */
.button{display:inline-flex;align-items:center;gap:18px;min-height:56px;padding:8px 8px 8px 26px;border-radius:999px;font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.2;transition:background-color var(--t) ease,color var(--t) ease,border-color var(--t) ease,transform var(--t) ease}
.button__icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;font-size:16px;transition:transform var(--t) ease,background-color var(--t) ease,color var(--t) ease}
.button:focus-visible .button__icon{transform:rotate(45deg)}
.button--light{background:var(--white);color:var(--room)}
.button--light .button__icon{background:var(--room);color:var(--white)}
.button--dark{background:var(--room);color:var(--white)}
.button--dark .button__icon{background:var(--voice);color:var(--room)}
.button--voice{background:var(--voice);color:var(--room)}
.button--voice .button__icon{background:var(--room);color:var(--white)}
.button--outline{min-height:52px;padding:0 26px;border:1px solid var(--line-strong);color:var(--ink)}
.text-link{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:48px;font-size:15px;font-weight:500;letter-spacing:-.01em}
.text-link::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:currentColor;opacity:.35;transition:opacity var(--t) ease}
.text-link>span[aria-hidden]{display:inline-block;transition:transform var(--t) ease}
.text-link:focus-visible>span[aria-hidden]{transform:translate(3px,-3px)}
.text-link--light{color:var(--on-dark)}

/* Reading progress */
.reading-progress{position:fixed;z-index:70;top:0;left:0;right:0;height:2px;pointer-events:none}
.reading-progress span{display:block;height:100%;background:var(--voice);transform:scaleX(0);transform-origin:left}

/* Official logo: supplied files, unchanged. Containers only trim the empty canvas. */
.official-logo{position:relative;display:block;overflow:hidden;flex-shrink:0}
.official-logo img{position:absolute;max-width:none;height:auto;object-fit:contain;filter:none}
.official-logo--graphite{aspect-ratio:814/630;background:var(--logo-bg)}
.official-logo--graphite img{width:154.054%;left:-27.027%;top:-55.556%}
/* Browsers decode the JPG plate a few levels darker than CSS graphite; lighten keeps the plate flush with it. */
.official-logo--graphite img{mix-blend-mode:lighten}

/* Header: logo plate and navigation pill float separately. */
.site-header{position:fixed;z-index:60;top:0;left:0;right:0;padding-top:12px;pointer-events:none;transition:transform .45s var(--ease)}
.site-header.is-hidden{transform:translateY(calc(-100% - 16px))}
.site-header__bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--on-dark)}
.site-header__bar>*{pointer-events:auto}
.brand{display:block;padding:7px 9px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:var(--logo-bg);box-shadow:0 16px 40px -20px rgba(8,9,11,.6)}
.site-header .official-logo--graphite{width:56px;transition:width .3s ease}
.site-header__actions{display:flex;align-items:center;gap:6px;padding:5px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(22,23,27,.72);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);box-shadow:0 16px 40px -20px rgba(8,9,11,.6)}
.main-nav{display:none}
.header-cta{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 6px 0 14px;border-radius:999px;background:var(--white);color:var(--room);font-size:14px;font-weight:600;white-space:nowrap;transition:background-color var(--t) ease}
.header-cta__long{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.header-cta__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--room);color:var(--white);font-size:14px;transition:transform var(--t) ease}
.header-cta:focus-visible .header-cta__icon{transform:rotate(45deg)}
.menu-toggle{display:grid;place-content:center;gap:6px;flex:none;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.08);color:var(--on-dark)}
.menu-toggle span{display:block;width:18px;height:1.5px;background:currentColor;transition:transform var(--t) ease}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.main-nav.is-open{position:absolute;top:calc(100% + 8px);right:-1px;width:min(calc(100vw - 2 * var(--gutter)),420px);display:flex;flex-direction:column;padding:10px 18px;border-radius:20px;background:var(--logo-bg);border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 70px -24px rgba(0,0,0,.6);animation:menu-in .22s ease}
.main-nav.is-open a{display:flex;align-items:center;min-height:56px;font-size:22px;letter-spacing:-.03em;border-bottom:1px solid var(--line-dark)}
.main-nav.is-open a:last-child{border-bottom:0}
@keyframes menu-in{from{opacity:0;transform:translateY(-6px)}}
@media (max-width:339px){.header-cta{padding:0 6px}.header-cta__short{display:none}}

/* Hero: the VSL «TESTIGOS» is the protagonist, framed next to the promise. */
.hero{position:relative;isolation:isolate;display:flex;background:var(--room);color:var(--on-dark);border-radius:0 0 var(--r-l) var(--r-l);overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit}
.hero__ambient{position:absolute;inset:-14% -12% 34% -12%;opacity:.42}
.hero__ambient img{width:100%;height:100%;object-fit:cover}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,23,27,.5) 0%,rgba(22,23,27,.72) 36%,var(--room) 66%)}
.hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"lead" "film" "body";align-content:start;gap:26px;padding-top:118px;padding-bottom:64px}
.hero__lead{grid-area:lead;max-width:900px}
.hero__film{grid-area:film;min-width:0}
.hero__body{grid-area:body}
.hero__eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px;color:rgba(244,243,239,.84)}
.signal-dot{width:6px;height:6px;border-radius:50%;background:var(--voice)}
.hero__description{max-width:31em;font-size:17px;line-height:1.6;color:rgba(244,243,239,.86)}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:26px}
.hero-vsl{display:block;width:100%;padding:0;border-radius:var(--r-l);color:var(--on-dark);text-align:left;cursor:pointer}
.hero-vsl__frame{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r-l);background:#0b0c0e;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 44px 100px -44px rgba(0,0,0,.9)}
.hero-vsl__poster{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.hero-vsl__frame::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,12,14,.88) 0%,rgba(11,12,14,.66) 42%,rgba(11,12,14,0) 66%);pointer-events:none}
.hero-vsl__play{position:absolute;z-index:1;left:14px;bottom:14px;display:grid;place-items:center;width:56px;height:56px}
.hero-vsl__play svg{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:visible;transition:transform 1.2s var(--ease)}
.hero-vsl__play text{font-size:12px;font-weight:600;letter-spacing:.12em;fill:currentColor}
.hero-vsl__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--voice);color:var(--room);font-size:14px;padding-left:3px;box-shadow:0 10px 30px -10px rgba(0,0,0,.6);transition:transform var(--t) ease,background-color var(--t) ease}
.hero-vsl__caption{position:absolute;z-index:1;left:84px;right:14px;bottom:14px;display:flex;flex-direction:column;justify-content:center;min-height:56px}
.hero-vsl__kicker{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.4;color:rgba(244,243,239,.92)}
.hero-vsl__caption strong{font-size:20px;font-weight:600;line-height:1.15;letter-spacing:-.01em}
.hero-vsl__caption small{margin-top:2px;font-size:13px;line-height:1.4;color:rgba(244,243,239,.78)}
.hero-vsl:focus-visible{outline:none}
.hero-vsl:focus-visible .hero-vsl__frame{outline:2px solid var(--voice);outline-offset:4px}
.hero-vsl:focus-visible .hero-vsl__icon{transform:scale(1.08)}
.hero__foot{display:none}
.hero__scroll{display:inline-flex;align-items:center;gap:12px}
.hero__scroll i{position:relative;width:1px;height:28px;background:rgba(255,255,255,.28)}
@media (min-width:600px){
  .hero-vsl__play{left:22px;bottom:22px;width:96px;height:96px}
  .hero-vsl__play svg{display:block}
  .hero-vsl__icon{width:50px;height:50px}
  .hero-vsl__caption{left:132px;right:22px;bottom:22px;min-height:96px}
  .hero-vsl__caption strong{font-size:24px}
}

/* Proof */
.proof{display:grid;gap:28px;padding-block:clamp(48px,6vw,88px) clamp(32px,4vw,56px)}
.proof__stat{display:flex;align-items:flex-end;gap:18px}
.proof__number{font-size:clamp(64px,7.4vw,108px);line-height:.8;letter-spacing:-.075em;font-variant-numeric:tabular-nums}
.proof__caption{max-width:14em;padding-bottom:4px;font-size:16px;line-height:1.45}
.proof__caption span{display:block;margin-top:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.brand-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.brand-strip>*{display:grid;place-items:center;min-height:72px;padding:10px;border-radius:16px;transition:background-color var(--t) ease}
.brand-strip img{width:auto;height:auto;max-width:min(112px,100%);max-height:34px;object-fit:contain;filter:grayscale(1);opacity:.62;transition:filter var(--t) ease,opacity var(--t) ease}
.brand-strip img[alt="TSG"]{max-height:44px}
.brand-strip img[alt="Figueras"]{max-width:min(128px,100%);max-height:22px}
.brand-strip img[alt="Akiles"],.brand-strip img[alt="Deleito"]{filter:brightness(0);opacity:.66}
.brand-strip a:focus-visible img{filter:none;opacity:1}
.brand-strip a:focus-visible img[alt="Akiles"],.brand-strip a:focus-visible img[alt="Deleito"]{filter:brightness(0)}
.proof__note{grid-column:1/-1;max-width:62em;font-size:12px}

/* Selected cases */
.cases{padding-bottom:clamp(40px,5vw,72px)}
.case-features{display:grid;gap:40px 24px}
.case-feature{display:flex;flex-direction:column;min-width:0;scroll-margin-top:110px}
.case-feature__media{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r-m);background:var(--room);isolation:isolate}
.case-feature__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.case-feature__media::after{content:"";position:absolute;inset:50% 0 0;z-index:1;background:linear-gradient(transparent,rgba(10,11,13,.55));pointer-events:none}
.case-feature__play{position:absolute;z-index:2;left:16px;bottom:16px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--white);color:var(--room);font-size:12px;padding-left:3px;transition:transform var(--t) ease,background-color var(--t) ease}
.case-feature__time{position:absolute;z-index:2;right:16px;bottom:22px;padding:4px 9px;border-radius:999px;background:rgba(22,23,27,.78);color:#fff;font-size:12px;font-weight:600;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.case-feature__media:focus-visible .case-feature__play{transform:scale(1.08);background:var(--voice)}
.case-feature__credit{margin-top:18px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.case-feature h3{margin-top:10px;font-size:clamp(24px,2.1vw,30px);line-height:1.15;letter-spacing:-.035em}
.case-feature__text{margin-top:8px;font-size:16px;line-height:1.6;color:var(--muted);max-width:36ch}
.case-feature__link{align-self:flex-start;margin-top:10px}
.cases__close{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:clamp(40px,5vw,64px);padding-top:28px;border-top:1px solid var(--line)}
.archive-fold{display:inline-flex;align-items:center;gap:14px;min-height:52px;padding:0 10px 0 22px;border:1px solid var(--line-strong);border-radius:999px;font-size:15px;font-weight:600;transition:background-color var(--t) ease,border-color var(--t) ease,color var(--t) ease}
.archive-fold__count{font-weight:500;color:var(--muted);transition:color var(--t) ease}
.archive-fold__icon{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink)}
.archive-fold__icon::before,.archive-fold__icon::after{content:"";position:absolute;width:12px;height:1.5px;background:var(--white);transition:transform var(--t) ease}
.archive-fold__icon::after{transform:rotate(90deg)}
.archive-fold[aria-expanded="true"] .archive-fold__icon::after{transform:rotate(0deg)}

/* Archive (folded until requested) */
html.js .archive:not(.is-open){display:none}
.archive{padding-block:clamp(16px,2vw,32px) clamp(64px,8vw,112px)}
.archive__head{display:grid;gap:12px;margin-bottom:28px}
.archive__head h2{font-size:clamp(32px,3.4vw,52px)}
.archive__head p{max-width:46ch;color:var(--muted)}
.archive__toolbar{display:grid;gap:14px;margin-bottom:32px}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{flex:none;min-height:44px;padding:0 18px;border:1px solid var(--line-strong);border-radius:999px;font-size:14px;font-weight:500;white-space:nowrap;transition:background-color var(--t) ease,color var(--t) ease,border-color var(--t) ease}
.filters button.is-active{background:var(--ink);border-color:var(--ink);color:var(--white)}
.filters button span{margin-left:6px;font-size:12px;opacity:.8}
.archive__count{font-size:13px;color:var(--muted);white-space:nowrap}
.case-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px 24px;align-items:start}
.case-card{min-width:0;scroll-margin-top:110px}
.case-card__media{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:#d9ddd8;isolation:isolate}
.case-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.case-card__media::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 50%,rgba(10,11,13,.5));opacity:.55;transition:opacity var(--t) ease;pointer-events:none}
.case-card__play{position:absolute;z-index:2;left:14px;bottom:14px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(250,250,247,.94);color:var(--room);font-size:11px;padding-left:2px;transition:transform var(--t) ease,background-color var(--t) ease}
.case-card__media:focus-visible .case-card__play{transform:scale(1.08);background:var(--voice)}
.case-card__duration{position:absolute;z-index:2;right:14px;bottom:22px;padding:4px 9px;border-radius:999px;background:rgba(22,23,27,.78);font-size:12px;font-weight:600;letter-spacing:.06em;color:#fff;font-variant-numeric:tabular-nums;pointer-events:none}
.case-card__media--brand{display:grid;place-items:center;background:#efc4a9}
.case-card__media--brand img{width:62%;height:56%;object-fit:contain;filter:brightness(0)}
.case-card__media--brand::after{display:none}
.case-card__placeholder{display:grid;place-items:center;height:100%;font-size:26px;letter-spacing:-.05em;color:#687269}
.case-card__meta{padding:16px 2px 0}
.case-card__client{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.case-card__tag{padding:3px 9px;border:1px solid var(--line-strong);border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:none}
.case-card h3{font-size:23px;line-height:1.18;letter-spacing:-.035em}
.case-card__desc{margin-top:6px;font-size:15px;line-height:1.6;color:var(--muted);max-width:36em}
.case-card__story{margin-top:14px;border-top:1px solid var(--line)}
.case-card__story summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;font-size:14px;font-weight:600}
.case-card__story .details-icon{width:30px;height:30px}
.case-card__story p{margin:0 0 14px;font-size:14px;line-height:1.6;color:var(--muted)}
.case-card__story strong{display:block;margin-bottom:3px;color:var(--ink)}
.archive__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.archive-error{padding:20px 0}

/* One story, several uses (dark panel) */
.formats{padding-inline:clamp(0px,1vw,14px)}
.formats__panel{position:relative;overflow:hidden;padding-block:var(--section);border-radius:var(--r-l);background:var(--room)}
.formats__grid{display:grid;gap:48px}
.formats h2{font-size:clamp(36px,4.2vw,64px)}
.formats__lead{max-width:30ch;margin-top:22px;font-size:19px;line-height:1.5;color:var(--on-dark-muted)}
.formats__legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;padding:0;list-style:none}
.formats__legend li{padding:7px 14px;border:1px solid var(--line-dark);border-radius:999px;font-size:13px;font-weight:600;color:var(--on-dark)}
.formats__note{margin-top:22px;color:var(--on-dark-muted)}
.format-study{position:relative;min-height:clamp(260px,34vw,460px)}
.format-study__frame{position:absolute;margin:0;overflow:hidden;padding:6px;border-radius:18px;background:rgba(250,250,247,.95);box-shadow:0 30px 60px -26px rgba(0,0,0,.7)}
.format-study__frame img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.format-study__frame figcaption{position:absolute;left:14px;bottom:14px;padding:5px 11px;border-radius:999px;background:rgba(22,23,27,.8);color:#fff;font-size:12px;font-weight:600;white-space:nowrap}
.format-study__frame--wide{z-index:1;left:0;top:4%;width:72%;aspect-ratio:16/9;transform:rotate(-3deg)}
.format-study__frame--vertical{z-index:3;right:3%;top:8%;width:24%;aspect-ratio:9/16;transform:rotate(4deg)}
.format-study__frame--vertical img{object-position:60% 30%}
.format-study__frame--photo{z-index:2;left:18%;bottom:0;width:40%;aspect-ratio:3/2;transform:rotate(2deg)}
.format-study__frame--photo figcaption{background:var(--voice);color:var(--room)}

/* Phones and tablets: a static, non-overlapping arrangement of the three uses. */
@media (max-width:959px){
  .format-study{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:12px;min-height:0;align-items:start}
  .format-study__frame{position:relative;inset:auto;transform:none;box-shadow:0 18px 40px -26px rgba(0,0,0,.7)}
  .format-study__frame--wide{grid-column:1/-1;width:100%}
  .format-study__frame--vertical{width:100%}
  .format-study__frame--photo{width:100%;aspect-ratio:4/5}
  .format-study__frame figcaption{left:10px;right:10px;bottom:10px;width:fit-content;max-width:calc(100% - 20px);font-size:11px;white-space:normal}
}

/* Packs */
.packs{display:grid;gap:16px}
.pack{position:relative;display:flex;flex-direction:column;padding:clamp(24px,2.4vw,32px);border:1px solid var(--line);border-radius:var(--r-l);background:var(--white);box-shadow:0 18px 40px -36px rgba(22,23,27,.35);transition:transform var(--t) ease,box-shadow var(--t) ease,border-color var(--t) ease}
.pack--featured{background:var(--room);border-color:var(--room)}
.pack__label{min-height:28px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pack__badge{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--voice);color:var(--room);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;vertical-align:middle}
.pack__name{margin:22px 0 14px;font-size:clamp(36px,3.2vw,48px);font-weight:500;letter-spacing:-.06em;overflow-wrap:anywhere}
.pack__benefit{font-size:19px;font-weight:600;line-height:1.3;letter-spacing:-.025em}
.pack__summary{margin-top:8px;font-size:15px;line-height:1.55;color:var(--muted)}
.pack__values{display:grid;gap:9px;margin:22px 0 20px;padding:0;list-style:none}
.pack__values li{position:relative;padding-left:20px;font-size:15px;line-height:1.45}
.pack__values li::before{content:"";position:absolute;left:2px;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--voice)}
.pack__use{margin-top:auto;font-size:14px;color:var(--muted)}
.pack .button{justify-content:space-between;width:100%;margin-top:18px}
.pack--featured .pack__label,.pack--featured .pack__summary,.pack--featured .pack__use{color:var(--on-dark-muted)}
.compare{margin-top:clamp(28px,3vw,40px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.compare>summary{display:flex;justify-content:center;align-items:center;gap:16px;min-height:72px;padding:14px 0;font-size:clamp(17px,1.4vw,20px);font-weight:600;letter-spacing:-.02em}
.compare__body{padding:8px 0 36px}
.compare__premium{margin-top:40px}
.compare__title{font-size:clamp(26px,2.4vw,34px);letter-spacing:-.04em}
.premium-list{display:grid;gap:12px;margin-top:20px;padding:0;list-style:none}
.premium-list li{display:grid;gap:6px;padding:20px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--white)}
.premium-list__index{font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--voice-ink)}
.premium-list span:last-child{font-size:15px;line-height:1.55;color:var(--muted)}
.compare__table{display:none;margin-top:12px}
.compare-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.compare-table th,.compare-table td{padding:13px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.compare-table thead th{position:sticky;top:0;background:var(--paper);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.compare-table tbody th{width:22%;font-weight:600}
.compare-table .is-featured{background:rgba(244,170,129,.12)}
.compare-table thead .is-featured{background:var(--room);color:var(--on-dark);border-radius:12px 12px 0 0}
.compare-table__group th{padding-top:26px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--voice-ink)}
.compare-packs{display:grid;gap:14px;margin-top:12px}
.compare-pack{padding:20px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--white)}
.compare-pack.is-featured{border-color:var(--room);box-shadow:inset 0 0 0 1px var(--room)}
.compare-pack h4{display:flex;align-items:center;gap:10px;font-size:26px;font-weight:500;letter-spacing:-.05em}
.compare-pack__group{margin-top:18px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--voice-ink)}
.compare-pack dl>div{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid var(--line)}
.compare-pack dt{font-size:13px;color:var(--muted)}
.compare-pack dd{font-size:15px;line-height:1.5}
.compare__notes{display:grid;gap:12px;margin-top:32px}
.compare-note{padding:20px;border-radius:var(--r-m);background:var(--paper-2)}
.compare-note p{margin-top:6px;font-size:15px;line-height:1.55;color:var(--muted)}
.compare__clarifications{display:grid;margin-top:28px;border-top:1px solid var(--line)}
.compare__clarifications>div{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--line)}
.compare__clarifications dt{font-weight:600}
.compare__clarifications dd{font-size:15px;line-height:1.55;color:var(--muted)}
.compare__body>.fine-print{margin-top:14px}
.offers__closing{margin-top:22px;text-align:center;font-size:15px;color:var(--muted)}
.details-icon{position:relative;flex:none;width:40px;height:40px;border:1px solid var(--line-strong);border-radius:50%;transition:background-color var(--t) ease,border-color var(--t) ease,color var(--t) ease}
.details-icon::before,.details-icon::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:1.5px;margin:-.75px 0 0 -6.5px;background:currentColor}
.details-icon::after{transform:rotate(90deg);transition:transform var(--t) ease}
details[open]>summary .details-icon{background:var(--ink);border-color:var(--ink);color:var(--white)}
details[open]>summary .details-icon::after{transform:rotate(0deg)}
summary:focus-visible .details-icon{border-color:var(--ink)}

/* How we work */
.method{padding-top:clamp(40px,5vw,72px)}
.steps-wrap{position:relative}
.steps{display:grid;gap:36px;margin:0;padding:0 0 0 32px;list-style:none}
.steps__progress{position:absolute;left:0;top:6px;bottom:0;width:1px;background:var(--line)}
.steps__progress span{position:absolute;inset:0;background:var(--voice);transform-origin:top}
.step{position:relative}
.step::before{content:"";position:absolute;left:-36px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--voice)}
.step__number{font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--voice-ink);font-variant-numeric:tabular-nums}
.step h3{margin-top:12px;font-size:clamp(24px,2.1vw,30px);line-height:1.15;letter-spacing:-.035em}
.step p{max-width:32ch;margin-top:10px;font-size:16px;line-height:1.6;color:var(--muted)}

/* Questions */
.questions{padding-top:clamp(40px,5vw,72px)}
.questions__grid{display:grid;gap:36px}
.questions__list{border-top:1px solid var(--line)}
.questions__list details{border-bottom:1px solid var(--line)}
.questions__list summary{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:18px 0;font-size:clamp(18px,1.5vw,21px);line-height:1.35;letter-spacing:-.02em}
.questions__list details p{max-width:58ch;padding:0 56px 24px 0;font-size:17px;line-height:1.6;color:var(--muted)}

/* Request (dark) */
.evaluation{position:relative;isolation:isolate;overflow:hidden;background:var(--room);border-radius:var(--r-l) var(--r-l) 0 0}
.evaluation__grid{display:grid;gap:44px}
.evaluation h2{font-size:clamp(38px,4.6vw,74px)}
.evaluation h2 em{color:var(--voice)}
.evaluation__lead{max-width:34ch;margin-top:28px;font-size:18px;line-height:1.6;color:var(--on-dark-muted)}
.evaluation__selected{max-width:40ch;margin-top:28px;padding-top:20px;border-top:1px solid var(--line-dark);font-size:15px;line-height:1.6}
.evaluation__copy .text-link{display:flex;width:fit-content;margin-top:10px}
.evaluation__form{min-width:0;overflow:hidden;overflow-anchor:none;border-radius:var(--r-l);background:var(--white);color:var(--ink);box-shadow:0 50px 100px -40px rgba(0,0,0,.7)}
.form-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:28px 28px 0;font-size:clamp(21px,1.9vw,25px);letter-spacing:-.03em}
.form-heading__icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--voice);color:var(--room);font-size:16px}
.form-intro{padding:8px 28px 22px;font-size:15px;line-height:1.55;color:var(--muted)}
.brief-start{padding:0 28px 28px}
.pack-picker{margin:0;padding:0;border:0;min-width:0}
.pack-picker__legend{margin-bottom:12px;padding:0;font-size:15px;font-weight:600}
.pack-picker__options{display:grid;gap:8px}
.pack-option{position:relative;display:flex;gap:14px;align-items:flex-start;min-height:56px;padding:14px 16px;border:1px solid rgba(28,30,33,.18);border-radius:16px;background:#f5f6f3;cursor:pointer;transition:border-color var(--t) ease,background-color var(--t) ease,box-shadow var(--t) ease}
.pack-option input{position:absolute;opacity:0;pointer-events:none}
.pack-option::before{content:"";flex:none;width:20px;height:20px;margin-top:2px;border:1.5px solid rgba(28,30,33,.4);border-radius:50%;background:var(--white);transition:border-color var(--t) ease,box-shadow var(--t) ease}
.pack-option:has(input:checked){border-color:var(--ink);background:var(--white);box-shadow:0 0 0 1px var(--ink)}
.pack-option:has(input:checked)::before{border-color:var(--ink);box-shadow:inset 0 0 0 5px var(--voice)}
.pack-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:3px}
.pack-option__body{display:grid;gap:2px}
.pack-option__name{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:700;letter-spacing:.02em}
.pack-option__badge{padding:2px 8px;border-radius:999px;background:var(--voice);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.pack-option__desc{font-size:14px;line-height:1.45;color:var(--muted)}
.brief-start .button{justify-content:space-between;width:100%;margin-top:18px}
.brief-start .fine-print{margin-top:12px}
.brief-reference{margin:0 28px 18px;padding-left:14px;border-left:2px solid var(--voice);font-size:15px;line-height:1.55}
.form-step{padding:0 28px 14px;font-size:16px;font-weight:600}
.form-step:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.anchor-alias{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}
.case-feature .anchor-alias{scroll-margin-top:110px}
.case-feature{position:relative}
.offers{position:relative}
.form-error{display:grid;gap:12px;margin:0 28px 16px;padding:18px;border:1px solid rgba(189,97,57,.45);border-radius:16px;background:#fbf1eb;font-size:15px;line-height:1.5}
.form-error .button{justify-self:start}
.form-error a{text-decoration:underline;text-underline-offset:3px}
.form-loading{display:flex;align-items:center;gap:10px;margin:0 28px 14px;padding:14px 16px;border-radius:14px;background:#f3f4f1;font-size:15px;color:var(--muted)}
.form-loading__dot{width:10px;height:10px;border-radius:50%;background:var(--voice);animation:loading-pulse 1s ease-in-out infinite alternate}
@keyframes loading-pulse{from{opacity:.35;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
.evaluation__form iframe{display:block;width:100%;border:0}
.form-privacy,.form-fallback{padding:14px 28px;font-size:13px}
.form-privacy{padding-top:18px;border-top:1px solid var(--line)}
.form-fallback{padding-top:0;padding-bottom:24px}
.form-privacy a,.form-fallback a{text-decoration:underline;text-underline-offset:3px}

/* Footer (dark, continues the closing section) */
.site-footer{padding:clamp(40px,5vw,72px) 0 28px;background:var(--room)}
.footer-top{display:grid;gap:32px;padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--line-dark)}
.footer-parent{display:inline-block;width:fit-content}
.footer-parent span{display:block;margin-bottom:14px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-muted)}
.parent-wordmark{width:172px;opacity:.9;transition:opacity var(--t) ease}
.footer-tagline{font-size:18px;line-height:1.5;color:var(--on-dark-muted)}
.footer-links{display:flex;flex-direction:column;gap:10px;font-size:16px}
.footer-links a{width:fit-content;transition:color var(--t) ease}
.footer-logo{display:block;width:min(460px,74%);margin:clamp(56px,8vw,112px) auto clamp(44px,6vw,80px)}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 24px;padding-top:18px;border-top:1px solid var(--line-dark);font-size:13px;color:var(--on-dark-muted)}
.footer-bottom a,.footer-bottom button{display:inline-flex;align-items:center;min-height:44px;transition:color var(--t) ease}

/* Back to top */
.back-top{position:fixed;z-index:55;right:18px;bottom:max(18px,env(safe-area-inset-bottom));display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:var(--room);color:var(--on-dark);box-shadow:0 14px 34px -12px rgba(0,0,0,.5);transition:transform var(--t) ease}
.back-top svg{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);transform:rotate(-90deg);fill:none;stroke-width:1.6}
.back-top__track{stroke:rgba(255,255,255,.14)}
#back-top-ring{stroke:var(--voice);stroke-dasharray:132;stroke-dashoffset:132}
.back-top span{font-size:18px}
.has-film-open .back-top{visibility:hidden}

/* Film dialog */
.film-dialog{width:min(1120px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:clamp(14px,2.4vw,28px);overflow:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-l);background:var(--room);color:var(--on-dark);box-shadow:0 60px 140px -40px rgba(0,0,0,.8)}
.film-dialog[open]{animation:dialog-in .3s var(--ease)}
.film-dialog::backdrop{background:rgba(9,10,12,.84);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.film-dialog[open]::backdrop{animation:fade-in .25s ease}
@keyframes dialog-in{from{opacity:0;transform:translateY(16px)}}
@keyframes fade-in{from{opacity:0}}
.film-dialog__top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.film-dialog__context{max-width:62ch;font-size:14px;line-height:1.5;color:var(--on-dark-muted)}
.film-dialog__top h2{margin-top:6px;font-size:clamp(26px,3vw,38px);letter-spacing:-.04em}
#film-close{display:inline-flex;align-items:center;gap:10px;flex:none;min-height:44px;padding:0 16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:14px;transition:background-color var(--t) ease}
#film-close span{font-size:20px;line-height:1}
.film-dialog video{width:100%;aspect-ratio:16/9;max-height:62dvh;border-radius:18px;background:#0b0c0e;object-fit:contain}
.film-dialog>p,.film-dialog>a{margin-top:12px;font-size:14px}
.film-dialog>a{text-decoration:underline}
.film-dialog__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin-top:20px}
#film-share-status{margin-top:6px;font-size:13px;color:var(--on-dark-muted);overflow-wrap:anywhere}
#film-share-status:empty{display:none}
.film-related{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-dark)}
.film-related:empty{display:none}
.film-related button{min-height:44px;padding:0 18px;border:1px solid rgba(255,255,255,.16);border-radius:999px;font-size:14px;transition:background-color var(--t) ease}

/* Motion gate: only the hero headline waits for the motion layer (timeout fallback in the inline script). CTAs never wait. */
html.motion:not(.motion-live) .hero [data-intro]{opacity:0}
/* Fallback reveal when GSAP is unavailable (IntersectionObserver in exitcase.js). */
.reveal.is-reveal-ready{transition:opacity .55s ease,transform .55s ease}
.reveal.is-reveal-ready:not(.is-visible){opacity:0;transform:translateY(16px)}

/* Smooth accordions where supported */
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  details::details-content{height:0;overflow:clip;transition:height .3s ease,content-visibility .3s allow-discrete}
  details[open]::details-content{height:auto}
}

/* Cookie preferences (shared module), aligned with the page */
html body #vp-cookie-panel{max-width:1040px;padding:24px;gap:28px;border:1px solid var(--line);border-radius:22px;background:var(--white);color:var(--ink);font-family:Manrope,system-ui,sans-serif;box-shadow:0 40px 90px -30px rgba(10,11,13,.45)}
html body #vp-cookie-panel strong{font-size:18px;letter-spacing:-.02em}
html body #vp-cookie-panel p{color:var(--muted)}
html body #vp-cookie-panel a{color:var(--ink)}
html body #vp-cookie-panel button,html body #vp-cookie-preferences{min-height:46px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-weight:600;transition:background-color var(--t) ease,color var(--t) ease}
html body #vp-cookie-preferences{min-height:44px;padding:6px 14px;border-color:var(--line-strong);background:var(--white);font-size:13px;box-shadow:0 10px 26px -12px rgba(0,0,0,.35)}

/* Thanks page */
.thanks-page{min-height:100svh;background:var(--room);color:var(--on-dark)}
.thanks{width:min(820px,100% - 2 * var(--gutter));margin:0 auto;padding:40px 0 96px}
.thanks .brand{display:inline-block}
.thanks .official-logo--graphite{width:150px}
.thanks__eyebrow{margin:clamp(56px,10vw,120px) 0 24px;color:var(--voice)}
.thanks h1{font-size:clamp(48px,8vw,104px);line-height:1;letter-spacing:-.06em}
.thanks h1 em{color:var(--voice)}
.thanks>p:not(.label){max-width:40em;margin-top:28px;font-size:18px;line-height:1.65;color:var(--on-dark-muted)}
.thanks>p a{color:var(--on-dark);text-decoration:underline;text-underline-offset:3px}
.thanks>.button{margin-top:40px}
.thanks__home{display:flex;align-items:center;min-height:44px;width:fit-content;margin-top:14px;font-size:15px;color:var(--on-dark-muted);text-decoration:underline;text-underline-offset:3px}

/* ≥ 700px */
@media (min-width:700px){
  .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .premium-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compare__notes{grid-template-columns:repeat(3,minmax(0,1fr))}
  .compare__clarifications>div{grid-template-columns:minmax(160px,.35fr) 1fr;gap:24px}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-links{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:10px 28px}
}

/* ≥ 820px: the comparison reads as one table */
@media (min-width:820px){
  .compare__table{display:block}
  .compare-packs{display:none}
}

/* ≥ 960px: desktop composition */
@media (min-width:960px){
  html{scroll-padding-top:110px}
  .site-header{padding-top:18px}
  .brand{padding:8px 11px;border-radius:16px}
  .site-header .official-logo--graphite{width:80px}
  .site-header.is-scrolled .official-logo--graphite{width:66px}
  .site-header__actions{gap:4px;padding:6px 6px 6px 8px}
  .main-nav,.main-nav.is-open{position:static;display:flex;flex-direction:row;gap:2px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;animation:none}
  .main-nav a,.main-nav.is-open a{position:relative;display:flex;align-items:center;min-height:44px;padding:0 15px;border:0;border-radius:999px;font-size:14px;letter-spacing:-.005em;color:rgba(244,243,239,.78);transition:color var(--t) ease,background-color var(--t) ease}
  .main-nav a:hover,.main-nav a:focus-visible{color:#fff;background:rgba(255,255,255,.07)}
  .main-nav a[aria-current="location"]{color:#fff}
  .main-nav a[aria-current="location"]::before{content:"";position:absolute;left:50%;bottom:4px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--voice)}
  .header-cta{margin-left:0}
  .header-cta__long{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  .header-cta__short{display:none}
  .menu-toggle{display:none}

  .display{font-size:clamp(56px,5.9vw,98px)}
  .hero{min-height:max(660px,100svh)}
  .hero__ambient{inset:-12% -8% -12% 38%;opacity:.5;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
  .hero__shade{background:linear-gradient(90deg,var(--room) 0%,rgba(22,23,27,.9) 36%,rgba(22,23,27,.62) 64%,rgba(22,23,27,.78) 100%),linear-gradient(0deg,var(--room) 0%,rgba(22,23,27,0) 32%)}
  .hero__inner{grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);grid-template-areas:"lead film" "body film";column-gap:clamp(40px,4.4vw,84px);row-gap:0;align-content:center;padding-top:150px;padding-bottom:132px}
  .hero__lead{align-self:end}
  .hero__body{align-self:start;padding-top:26px}
  .hero__film{align-self:center}
  .hero .display{font-size:clamp(48px,4.6vw,82px)}
  .hero__description{font-size:19px}
  .hero-vsl__play{left:26px;bottom:26px;width:112px;height:112px}
  .hero-vsl__icon{width:58px;height:58px;font-size:15px}
  .hero-vsl__caption{left:154px;right:26px;bottom:26px;min-height:112px}
  .hero-vsl__caption strong{font-size:28px}
  .hero__foot{position:absolute;left:0;right:0;bottom:30px;display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,243,239,.62)}

  .proof{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:clamp(40px,6vw,96px)}

  .section-head{grid-template-columns:minmax(0,1fr) minmax(260px,380px);align-items:end;column-gap:64px}
  .section-head__aside{padding-bottom:10px}

  .case-features{grid-template-columns:repeat(3,minmax(0,1fr))}

  .archive__toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px}

  .formats__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;column-gap:clamp(48px,6vw,96px)}

  .packs{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
  .premium-list{grid-template-columns:repeat(4,minmax(0,1fr))}

  .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:44px 0 0}
  .steps__progress{top:0;right:0;bottom:auto;width:auto;height:1px}
  .steps__progress span{transform-origin:left}
  .step::before{left:0;top:-48px}
  .step h3{margin-top:18px}

  .questions__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:clamp(48px,7vw,120px)}

  .evaluation__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:clamp(48px,6vw,112px);align-items:start}
  .evaluation__copy{position:sticky;top:120px}

  .footer-top{grid-template-columns:1fr 1fr auto;align-items:start}
  .footer-links{grid-column:auto;flex-direction:column}

  .back-top{right:26px;bottom:26px}
}

@media (min-width:1100px){
  .case-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (min-width:1700px){
}

/* Small phones */
@media (max-width:599px){
  :root{--r-l:24px;--r-m:16px}
  .form-error{margin-inline:20px}
  .brief-reference{margin-inline:20px}
  .section-head{margin-bottom:36px}
  .brand-strip>*{min-height:60px;padding:6px}
  .brand-strip img{max-height:28px}
  .brand-strip img[alt="TSG"]{max-height:36px}
  .brand-strip img[alt="Figueras"]{max-height:16px}
  .pack__name{margin-top:16px}
  .cases__close{flex-direction:column;align-items:stretch}
  .cases__close .button,.archive-fold{justify-content:space-between;width:100%}
  .format-study{min-height:250px}
  .site-footer{padding-bottom:96px}
  .hero__actions .button{flex:1 1 auto;justify-content:space-between}
  .questions__list details p{padding-right:12px}
  .footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  .footer-bottom>:nth-child(even){justify-self:end}
  .film-dialog{border-radius:20px}
  .film-dialog__actions{flex-direction:column;align-items:stretch}
  .film-dialog__actions .button{justify-content:space-between}
  .film-dialog__actions .text-link{align-self:center}
  .film-related button{width:100%;text-align:left}
  .form-heading{padding:24px 20px 0}
  .form-intro{padding:8px 20px 20px}
  .brief-start{padding:0 20px 24px}
  .form-step,.form-privacy,.form-fallback{padding-inline:20px}
  .form-loading{margin-inline:20px}
}

/* Hover effects only where a pointer can hover, so touch screens never keep a stuck state. */
@media (hover:hover){
  .button:hover .button__icon{transform:rotate(45deg)}
  .button--light:hover{background:var(--voice)}
  .button--dark:hover{background:#2b2e33}
  .button--voice:hover{background:var(--voice-soft)}
  .button--outline:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}
  .text-link:hover::after{opacity:1}
  .text-link:hover>span[aria-hidden]{transform:translate(3px,-3px)}
  .header-cta:hover{background:var(--voice)}
  .header-cta:hover .header-cta__icon{transform:rotate(45deg)}
  .hero-vsl:hover .hero-vsl__icon{transform:scale(1.08);background:var(--white)}
  .hero-vsl:hover .hero-vsl__play svg{transform:rotate(60deg)}
  .hero-vsl:hover .hero-vsl__poster{transform:scale(1.03)}
  .brand-strip a:hover{background:var(--white)}
  .brand-strip a:hover img{filter:none;opacity:1}
  .brand-strip a:hover img[alt="Akiles"],.brand-strip a:hover img[alt="Deleito"]{filter:brightness(0)}
  .case-feature__media:hover img,button.case-card__media:hover img{transform:scale(1.03)}
  .case-feature__media:hover .case-feature__play,button.case-card__media:hover .case-card__play{transform:scale(1.08);background:var(--voice)}
  button.case-card__media:hover::after{opacity:1}
  .archive-fold:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}
  .archive-fold:hover .archive-fold__count{color:rgba(255,255,255,.7)}
  .filters button:hover:not(.is-active){background:var(--white);border-color:var(--ink)}
  .pack:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 28px 56px -40px rgba(22,23,27,.45)}
  .pack-option:hover{border-color:var(--ink)}
  summary:hover .details-icon{border-color:var(--ink)}
  .footer-parent:hover .parent-wordmark{opacity:1}
  .footer-links a:hover{color:var(--voice)}
  .footer-bottom a:hover,.footer-bottom button:hover{color:var(--on-dark)}
  .back-top:hover{transform:translateY(-3px)}
  #film-close:hover{background:rgba(255,255,255,.08)}
  .film-related button:hover{background:rgba(255,255,255,.08)}
  html body #vp-cookie-panel button:hover{background:var(--ink);color:var(--white)}
}

/* Keyboard users get the same lift as pointer users. */
.pack:focus-within{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 28px 56px -40px rgba(22,23,27,.45)}
.back-top:focus-visible{transform:translateY(-3px)}

/* Reduced motion and the manual pause: no decorative movement, instant state changes. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}
  .pack:hover,.pack:focus-within,.back-top:hover,.back-top:focus-visible,.hero-vsl:hover .hero-vsl__play svg,.hero-vsl:hover .hero-vsl__poster,.case-feature__media:hover img,button.case-card__media:hover img{transform:none}
}
.is-motion-paused *,.is-motion-paused *::before,.is-motion-paused *::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}
.is-motion-paused .pack:hover,.is-motion-paused .pack:focus-within,.is-motion-paused .back-top:hover,.is-motion-paused .back-top:focus-visible,.is-motion-paused .hero-vsl:hover .hero-vsl__play svg,.is-motion-paused .hero-vsl:hover .hero-vsl__poster,.is-motion-paused .case-feature__media:hover img,.is-motion-paused button.case-card__media:hover img{transform:none}

/* ── v8.2 · auditoría 24/10/2026: casos con necesidad, trabajo y uso; packs por uso; ritmo; familia energética ── */

/* Casos: un protagonista amplio y dos de apoyo, cada uno con necesidad, trabajo, uso y una cita real con su minuto. */
.case-feature__body{display:flex;flex-direction:column;min-width:0}
.case-feature__media{border-radius:14px}
.case-brief{display:grid;gap:10px;margin:16px 0 0;padding:16px 0 0;border-top:1px solid var(--line)}
.case-brief div{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:12px}
.case-brief dt{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.9;color:var(--voice-ink)}
.case-brief dd{margin:0;font-size:15px;line-height:1.55;color:var(--muted)}
.case-quote{margin:18px 0 0;padding:2px 0 2px 16px;border-left:2px solid var(--voice)}
.case-quote p{font-size:17px;line-height:1.45;letter-spacing:-.01em;color:var(--ink)}
.case-quote footer{margin-top:6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.case-feature--lead h3{font-size:clamp(26px,2.6vw,38px)}
.case-feature--lead .case-quote p{font-size:clamp(18px,1.6vw,22px)}
@media (min-width:960px){
  .case-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px}
  .case-feature--lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:center}
  .case-feature--lead .case-feature__credit{margin-top:0}
}

/* Una historia, varios usos: plan de uso tangible en lugar de etiquetas. */
.formats__plan{display:grid;margin:28px 0 0;padding:0;list-style:none;counter-reset:plan;border-top:1px solid var(--line-dark)}
.formats__plan li{display:grid;grid-template-columns:2.4em minmax(0,1fr);column-gap:10px;padding:13px 0;border-bottom:1px solid var(--line-dark);counter-increment:plan}
.formats__plan li::before{content:counter(plan,decimal-leading-zero);grid-row:1/3;font-size:12px;font-weight:600;letter-spacing:.1em;line-height:1.9;color:var(--voice)}
.formats__plan strong{font-size:16px;font-weight:600;color:var(--on-dark)}
.formats__plan span{font-size:14px;line-height:1.5;color:var(--on-dark-muted)}

/* Packs: la situación de uso destaca justo bajo el nombre (orden del marcado lo fija tools/build-offer.mjs de Codex). */
.pack__use{margin:10px 0 16px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:15px;font-weight:600;line-height:1.4;color:var(--voice-ink)}
.pack--featured .pack__use{color:var(--voice);border-bottom-color:var(--line-dark)}
.pack__values{margin-bottom:24px}
.pack .pack__cta{margin-top:auto}

/* Trayectoria: cifra fija de Vaya Plano, sin contador. */
.proof__caption{max-width:17em}

/* Botones con energía (vp-energy.js, adaptación Exit Case). La capa queda bajo la cabecera y no recibe clics. */
#exit-case .vpe-layer{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:50;pointer-events:none;display:none;border:0;margin:0;padding:0;background:none}
#exit-case .vpe-layer.is-on{display:block}
@media (prefers-reduced-motion:reduce){
  #exit-case.vpe-ready .vpe-target:hover,#exit-case.vpe-ready .vpe-target:focus-visible{filter:drop-shadow(0 0 10px rgba(244,170,129,.55)) drop-shadow(0 0 22px rgba(189,97,57,.32))}
}
#exit-case.vpe-static .vpe-target:hover,#exit-case.vpe-static .vpe-target:focus-visible,
.is-motion-paused #exit-case :is(.hero__actions .button,.cases__close .button,.pack__cta,#start-request):is(:hover,:focus-visible){filter:drop-shadow(0 0 10px rgba(244,170,129,.55)) drop-shadow(0 0 22px rgba(189,97,57,.32))}

/* Marcos luminosos: un cometa recorre una vez el borde (stroke-dashoffset); sin bucle, sin transform. */
.fx-frame{position:absolute;inset:0;z-index:3;width:100%;height:100%;overflow:visible;pointer-events:none}
.fx-frame rect{fill:none;stroke:var(--voice-soft);stroke-width:2;stroke-linecap:round;stroke-dasharray:16 84;stroke-dashoffset:0;opacity:0;filter:drop-shadow(0 0 6px rgba(244,170,129,.75))}
.fx-frame.is-run rect{animation:fx-comet 1.5s cubic-bezier(.45,0,.2,1) 1 both}
.fx-frame--closing rect{stroke:var(--voice)}
.fx-frame--closing.is-run rect{animation-duration:1.9s}
@keyframes fx-comet{0%{stroke-dashoffset:0;opacity:0}12%{opacity:1}82%{opacity:1}100%{stroke-dashoffset:-100;opacity:0}}
.evaluation__form{position:relative}

/* Proceso: cada paso se enciende cuando le llega la luz. */
.step::before{transition:box-shadow .5s var(--ease)}
.step__number{transition:color .4s ease}
.step.is-lit::before{box-shadow:0 0 0 5px rgba(244,170,129,.22),0 0 18px rgba(244,170,129,.75)}
.step.is-lit .step__number{color:var(--focus)}

/* Transiciones: la regla de cada etiqueta se traza al entrar en vista (solo con JavaScript). */
#exit-case.fx-ready .section-label__rule{transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease)}
#exit-case.fx-ready .section-label__rule.is-drawn{transform:scaleX(1)}
@media (max-width:599px){
  .hero__inner{padding-top:100px;gap:16px}
  .hero__eyebrow{margin-bottom:16px}
  .hero__description{line-height:1.5}
  .hero__actions{margin-top:18px}
  .hero-vsl__sound{display:none}
  .case-brief div{grid-template-columns:minmax(0,1fr);gap:2px}
}

/* Reserve the complete request area while GHL negotiates its height. */
.js .form-frame-slot{min-height:780px}
