*,*::before,*::after{box-sizing:border-box}
:root{
  --red:#ED1C24; --red-d:#C1131A; --ink:#0E0E10; --panel:#16161A;
  --n100:#F4F4F5; --n500:#6E6E73;
  --disp:"Bodoni Moda",Georgia,serif; --ui:"Montserrat",Arial,sans-serif;
  --pad:clamp(4.5rem,10vw,9rem);
}
html,body{max-width:100%;overflow-x:hidden}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--ui);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p,ul,ol,blockquote,figure{margin:0}
ul,ol{list-style:none;padding:0}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--red);color:#fff;padding:.7rem 1rem;z-index:200}
.skip:focus{left:0}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2.5rem)}
.red{color:var(--red)}

.eyebrow{font-family:var(--ui);font-size:.66rem;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:var(--n500)}
.eyebrow.light{color:rgba(255,255,255,.75)}
.rules{display:flex;align-items:center;gap:.8rem;white-space:nowrap;min-width:0}
.rules::before,.rules::after{content:"";height:1px;background:currentColor;flex:1 1 0;max-width:70px;opacity:.55}
.rules::before{max-width:34px}

.dh{font-family:var(--disp);font-weight:700;line-height:1.04;letter-spacing:-.01em}
.dh em{font-style:italic}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:120;transition:background .35s,border-color .35s;border-bottom:1px solid transparent}
.hdr-in{width:100%;max-width:1240px;margin:0 auto;padding:.6rem clamp(1.1rem,4vw,2.5rem);display:flex;align-items:center;gap:1rem}
.brand{flex:0 0 auto;min-width:0}
.brand img{height:40px;width:auto}
.hdr.solid{background:rgba(14,14,16,.95);border-color:rgba(255,255,255,.1);backdrop-filter:blur(8px)}
.nav-desk{display:none;margin-left:auto;gap:clamp(1.2rem,3vw,2.4rem)}
.nav-desk a{font-size:.68rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#fff;text-decoration:none;padding:.4rem 0;position:relative}
.nav-desk a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--red);transition:right .3s}
.nav-desk a:hover::after,.nav-desk a[aria-current]::after{right:0}
.btn-hdr{display:none;background:var(--red);color:#fff;text-decoration:none;font-size:.64rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;padding:.9rem 1.4rem;transition:background .25s}
.btn-hdr:hover{background:var(--red-d)}
.burger{margin-left:auto;width:48px;height:44px;background:none;border:0;display:grid;align-content:center;gap:6px;cursor:pointer;padding:0 6px}
.burger span{height:2px;background:#fff;display:block;transition:transform .3s,opacity .3s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.overlay{position:fixed;inset:0;z-index:150;background:var(--ink);display:flex;flex-direction:column;justify-content:center;gap:2rem;padding:2rem clamp(1.2rem,6vw,3rem);max-width:100%;overflow:auto}
.overlay[hidden]{display:none}
.ov-close{position:absolute;top:.8rem;right:1rem;background:none;border:0;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer;width:48px;height:48px}
.ov-nav{display:grid;gap:1rem}
.ov-nav a{font-family:var(--disp);font-size:clamp(1.9rem,10vw,3.2rem);color:#fff;text-decoration:none;font-weight:700}
.ov-nav a:hover{color:var(--red)}
.ov-cta{max-width:420px}

.btn-block{display:block;width:100%;max-width:520px;background:var(--red);color:#fff;text-align:center;text-decoration:none;font-family:var(--ui);font-weight:800;font-size:clamp(.7rem,2.4vw,.82rem);letter-spacing:.2em;text-transform:uppercase;padding:1.2rem 1rem;transition:background .25s,transform .25s}
.btn-block:hover{background:var(--red-d);transform:translateY(-2px)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:#0A0A0A;padding-top:clamp(6.5rem,20vw,9rem)}
.hero-media{position:absolute;inset:0}
.hero-bg{width:100%;height:100%;object-fit:cover;object-position:72% 45%;display:none}
.hero-bg-m{width:100%;height:100%;object-fit:cover;object-position:52% 30%;opacity:.32;filter:grayscale(1)}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.95) 0%,rgba(10,10,10,.72) 45%,rgba(10,10,10,.9) 100%)}
.hero-in{position:relative;z-index:4}
.hero-in .eyebrow{color:#fff;margin-bottom:1.1rem}
.hero-h{font-family:var(--disp);color:#fff;font-weight:700;margin-bottom:1.8rem;text-transform:uppercase}
.hero-h span{display:block}
.hero-h .l1,.hero-h .l3{font-family:var(--ui);font-weight:800;font-size:clamp(.74rem,3vw,1.2rem);letter-spacing:.3em;line-height:1.7;color:rgba(255,255,255,.9)}
.hero-h .l2,.hero-h .l4{font-size:clamp(2.3rem,11.5vw,7rem);line-height:.95}
.hero-h .l2 em{color:var(--red);font-style:italic}
.hero-h .l4 em{font-style:italic}
.hero-act{max-width:520px}
.micro{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-top:.85rem}
.micro.dark{color:var(--n500)}

.hero-comp{position:relative;z-index:3;height:min(62vw,340px);margin-top:clamp(2rem,7vw,3rem);overflow:hidden}
.comp-wash{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% 42%;opacity:.28;filter:grayscale(1)}
.comp-shard{position:absolute;left:-14%;bottom:0;width:82%;height:100%;background:var(--red);clip-path:polygon(16% 0,100% 10%,74% 100%,0 100%);overflow:hidden}
.comp-cut{position:absolute;right:6%;bottom:0;height:98%;width:auto;max-width:none;object-fit:cover;object-position:50% 38%;mix-blend-mode:multiply;filter:grayscale(1) contrast(1.06)}

.creds{position:relative;z-index:4;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.62);overflow:hidden}
.creds-track{display:flex;gap:2rem;padding:.85rem 1rem;animation:mar 30s linear infinite;width:max-content}
.creds-track span{font-size:.62rem;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:#fff;white-space:nowrap}
.creds-track span::after{content:"·";margin-left:2rem;color:var(--red)}
@keyframes mar{to{transform:translateX(-50%)}}

/* ---------- act base ---------- */
.act{position:relative;overflow:hidden;padding:var(--pad) 0}

/* act 02 */
.act-hook{background:var(--ink);color:#fff;background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px);background-size:4px 4px}
.act-hook .eyebrow{margin-bottom:1.5rem}
.dh-hook{font-size:clamp(1.8rem,6.4vw,4rem);max-width:20ch;text-transform:uppercase;margin-bottom:1.6rem}
.lede{max-width:64ch;color:rgba(255,255,255,.8);font-size:clamp(1rem,2.4vw,1.12rem)}
.ditch{margin-top:clamp(2.4rem,6vw,4rem);border-top:1px solid rgba(255,255,255,.2)}
.ditch li{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;padding:1.3rem 0;border-bottom:1px solid rgba(255,255,255,.2);align-items:baseline}
.num{font-size:.66rem;font-weight:800;letter-spacing:.18em;color:var(--red)}
.old{grid-column:2;color:rgba(255,255,255,.45);text-decoration:line-through;text-decoration-color:var(--red);font-size:clamp(.92rem,2.4vw,1.02rem)}
.ditch .mark{display:none}
.new{grid-column:2;font-family:var(--disp);font-weight:700;font-style:italic;color:#fff;font-size:clamp(1.15rem,4.4vw,1.85rem);line-height:1.16}

/* act 03 */
.act-red{background:var(--red);color:#fff;clip-path:polygon(0 0,100% 3.2vw,100% 100%,0 100%);margin-top:-1px;padding-top:calc(var(--pad) + 4vw)}
.red-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;opacity:.32}
.mark-wm{position:absolute;left:-8%;top:6%;width:min(52%,400px);opacity:.15;pointer-events:none}
.red-in{position:relative;z-index:2}
.red-in .eyebrow{margin-bottom:1.5rem}
.dh-red{font-size:clamp(1.85rem,6.6vw,4.4rem);text-transform:uppercase;max-width:24ch;margin-bottom:1.5rem}
.sub{font-weight:600;font-size:clamp(1rem,2.6vw,1.22rem);max-width:52ch;padding-left:1.1rem;border-left:3px solid var(--ink);margin-bottom:2.4rem}
.cols{display:grid;gap:1.3rem;max-width:1000px}
.cols p{color:rgba(255,255,255,.95);max-width:62ch}

/* act 04 */
.act-white{background:#fff}
.shear{clip-path:polygon(0 2.4vw,100% 0,100% 100%,0 100%);margin-top:-2.4vw;padding-top:calc(var(--pad) + 3vw)}
.w-bg{position:absolute;right:-16%;top:0;width:80%;height:100%;object-fit:cover;object-position:60% 40%;opacity:.14;pointer-events:none}
.grid-4{position:relative;z-index:2;display:grid;gap:2.2rem}
.c4-txt>*+*{margin-top:1.05rem}
.dh-4{font-family:var(--ui);font-weight:800;font-size:clamp(1.1rem,3.6vw,1.6rem);letter-spacing:.06em;text-transform:uppercase;line-height:1.3;max-width:26ch}
.cascade{font-family:var(--disp);font-weight:700;font-style:italic;text-transform:uppercase;font-size:clamp(1.3rem,5.6vw,2.4rem);line-height:1.12}
.cascade+.cascade{margin-top:.1rem}
.body{font-size:clamp(1rem,2.3vw,1.08rem);max-width:64ch;color:#2a2a2e}
.body strong{color:var(--ink)}
.body.light{color:rgba(255,255,255,.82)}
.c4-fig{position:relative;min-width:0}
.c4-fig .fig-a{width:100%;max-width:520px;margin:0 auto}
.c4-fig .fig-b{display:none}

/* act 05 */
.act-dossier{background:var(--panel);color:#fff}
.d-bg{position:absolute;left:-20%;top:-4%;width:82%;opacity:.18;pointer-events:none}
.act-dossier .wrap{position:relative;z-index:2}
.dh-dossier{margin:1.1rem 0 1rem;font-size:clamp(1.6rem,5.6vw,3rem);text-transform:uppercase;max-width:22ch}
.lead-in{margin:0 0 2.2rem;max-width:56ch;color:rgba(255,255,255,.8);font-size:clamp(.98rem,2.4vw,1.1rem)}
.dossier{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.16)}
.dossier li{display:grid;grid-template-columns:2.7rem 1fr;gap:.8rem;padding:1rem .2rem;border-bottom:1px solid rgba(255,255,255,.16);align-items:baseline;transition:background .25s}
.dossier li:hover{background:rgba(237,28,36,.14)}
.dn{font-family:var(--ui);font-weight:800;font-size:.7rem;letter-spacing:.14em;color:var(--red)}
.dossier li>span:last-child{font-weight:500;font-size:clamp(.93rem,2.3vw,1.02rem)}
.promise{margin-top:clamp(3rem,8vw,5rem);display:grid;gap:2rem}
.promise-fig{position:relative;min-width:0}
.fig-plate{background:#fff;overflow:hidden;clip-path:polygon(0 6%,100% 0,100% 94%,0 100%)}
.promise-fig .fig-a{width:100%;max-width:520px;margin:0 auto}
.promise-fig .fig-b{display:none}
.pledge{font-family:var(--disp);font-weight:700;font-size:clamp(1.3rem,4.6vw,2.1rem);line-height:1.16;margin-bottom:1.1rem}
.fmt{display:grid;gap:1rem;margin-top:1.7rem}
.fmt-card{border:1px solid rgba(255,255,255,.24);padding:1.05rem 1.1rem}
.fmt-card p{font-family:var(--ui);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;margin-top:.5rem}

/* strip */
.strip{background:var(--red)}
.strip-in{display:grid;gap:1.1rem;padding-top:2.1rem;padding-bottom:2.1rem;align-items:center}
.strip-in p{font-family:var(--disp);font-weight:700;font-style:italic;font-size:clamp(1.2rem,4.4vw,2rem);color:#fff;line-height:1.15}
.strip-cta{background:var(--ink);max-width:360px}
.strip-cta:hover{background:#000}

/* act 06 */
.act-call{background:#fff}
.call-bg{position:absolute;right:-22%;top:-4%;width:84%;opacity:.18;pointer-events:none}
.grid-6{position:relative;z-index:2;display:grid;gap:2.2rem}
.c6-txt>*+*{margin-top:1.1rem}
.invite{font-family:var(--disp);font-weight:700;font-size:clamp(1.45rem,5.2vw,2.5rem);line-height:1.12}
.checks{display:grid;gap:.9rem;margin-top:1.5rem}
.checks li{position:relative;padding-left:2.3rem;font-weight:500;font-size:clamp(.94rem,2.3vw,1.02rem)}
.checks .mark{position:absolute;left:0;top:.3em;width:1.3rem;height:1.3rem;border:2px solid var(--red);border-radius:50%}
.checks .mark::before,.checks .mark::after{content:"";position:absolute;background:var(--red)}
.checks .mark::before{left:50%;top:-4px;bottom:-4px;width:2px;transform:translateX(-50%)}
.checks .mark::after{top:50%;left:-4px;right:-4px;height:2px;transform:translateY(-50%)}
.dh-close{margin-top:2.3rem;font-size:clamp(1.45rem,5.6vw,3rem);text-transform:uppercase;line-height:1.08;max-width:22ch}
.final-cta{margin-top:1.7rem;max-width:100%;padding:1.4rem 1rem;font-size:clamp(.72rem,2.6vw,.9rem)}
.c6-fig{position:relative;min-width:0}
.c6-fig .fig-a{width:100%;max-width:500px;margin:0 auto}
.c6-fig .fig-b{display:none}

/* praise */
.act-praise{background:var(--ink);color:#fff;clip-path:polygon(0 2.4vw,100% 0,100% 100%,0 100%);padding-top:calc(var(--pad) + 3vw)}
.act-praise .eyebrow{margin-bottom:1.1rem}
.dh-praise{font-size:clamp(1.55rem,5.4vw,3rem);text-transform:uppercase;margin-bottom:2.2rem}
.praise-row{display:grid;gap:1.1rem}
.praise-row blockquote{border:1px solid rgba(255,255,255,.18);border-top:3px solid var(--red);padding:1.5rem 1.3rem}
.praise-row p{color:rgba(255,255,255,.72);font-size:.93rem}
.praise-row footer{margin-top:1rem;font-size:.64rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.praise-link{display:inline-block;margin-top:1.9rem;font-size:.68rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#fff;text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:.3rem}
.praise-link:hover{color:var(--red)}

/* footer */
.ftr{background:var(--ink);color:#fff;padding:3rem 0 5.5rem;border-top:1px solid rgba(255,255,255,.1)}
.ftr-in{display:grid;justify-items:center;gap:1.5rem;text-align:center}
.ftr-logo{height:56px;width:auto}
.socials{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center}
.socials a{display:grid;place-items:center;width:44px;height:44px;background:var(--red);transition:background .25s}
.socials a:hover{background:var(--red-d)}
.socials svg{width:20px;height:20px;fill:#fff}
.legal{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;justify-content:center;font-size:.64rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.legal a{text-decoration:none}
.legal a:hover{color:var(--red)}
.influex img{height:28px;width:auto;opacity:.8}

/* sticky mobile cta */
.mob-cta{position:fixed;left:0;right:0;bottom:0;z-index:110;background:var(--red);color:#fff;text-align:center;text-decoration:none;font-weight:800;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding:1rem;transform:translateY(110%);transition:transform .35s}
.mob-cta.show{transform:none}

/* reveals — visible by default; only hidden once JS is confirmed running */
html.js-reveal .reveal,html.js-reveal .reveal-fig{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
html.js-reveal .reveal-fig{transform:translateX(34px)}
html.js-reveal .reveal.in,html.js-reveal .reveal-fig.in{opacity:1;transform:none}

@media(min-width:700px){
  .strip-in{grid-template-columns:1fr auto}
  .praise-row{grid-template-columns:repeat(3,1fr)}
  .fmt{grid-template-columns:1fr 1fr}
  .dossier{grid-template-columns:1fr 1fr}
  .dossier li:nth-child(odd){border-right:1px solid rgba(255,255,255,.16);padding-right:1.3rem}
  .dossier li:nth-child(even){padding-left:1.3rem}
  .ftr-in{grid-template-columns:1fr auto 1fr;justify-items:center;align-items:center}
  .ftr-logo{grid-column:2}
  .socials{grid-column:2}
  .legal{grid-column:1/-1}
  .influex{grid-column:3;grid-row:1;justify-self:end}
  .hero-comp{height:min(48vw,400px)}
}
@media(min-width:1000px){
  .burger{display:none}
  .nav-desk{display:flex;align-items:center}
  .btn-hdr{display:inline-block;margin-left:2rem}
  .brand img{height:48px}
  .hero{min-height:min(100svh,940px);display:flex;flex-direction:column;justify-content:flex-end;padding-top:9rem}
  .hero-bg{display:block}
  .hero-bg-m{display:none}
  .hero-scrim{background:linear-gradient(90deg,#0A0A0A 0%,rgba(10,10,10,.92) 40%,rgba(10,10,10,.28) 70%,rgba(10,10,10,.55) 100%)}
  .hero-in{padding-bottom:clamp(3rem,7vw,5rem)}
  .hero-in>*{max-width:60%;margin-left:auto}
  .hero-comp{position:absolute;left:0;bottom:3.2rem;width:min(40%,470px);height:66%;margin:0;z-index:2}
  .comp-wash{opacity:.4}
  .comp-shard{left:-18%;width:112%;clip-path:polygon(14% 0,100% 8%,78% 100%,0 100%)}
  .comp-cut{right:2%;height:86%}
  .grid-4{grid-template-columns:1.05fr .95fr;align-items:center;gap:3.4rem}
  .c4-fig .fig-a{display:none}
  .c4-fig .fig-b{display:block;width:116%;max-width:none;margin-left:-8%}
  .promise{grid-template-columns:.85fr 1.15fr;align-items:center;gap:3.4rem}
  .promise-fig .fig-plate{display:none}
  .promise-fig .fig-b{display:block;width:118%;max-width:none;margin-left:-12%}
  .grid-6{grid-template-columns:1.1fr .9fr;align-items:center;gap:3.4rem}
  .c6-fig .fig-a{display:none}
  .c6-fig .fig-b{display:block;width:108%;max-width:none;margin-left:-4%}
  .dossier{grid-template-columns:repeat(3,1fr)}
  .dossier li{border-right:1px solid rgba(255,255,255,.16);padding-inline:1.15rem}
  .dossier li:nth-child(3n){border-right:0}
  .dossier li:nth-child(odd),.dossier li:nth-child(even){padding-inline:1.15rem}
  .mob-cta{display:none}
  .ditch li{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1.5rem}
  .old{grid-column:2}
  .new{grid-column:4}
  .ditch .mark{display:block;position:relative;grid-column:3;width:1.15rem;height:1.15rem;border:2px solid var(--red);border-radius:50%}
  .ditch .mark::before,.ditch .mark::after{content:"";position:absolute;background:var(--red)}
  .ditch .mark::before{left:50%;top:-4px;bottom:-4px;width:2px;transform:translateX(-50%)}
  .ditch .mark::after{top:50%;left:-4px;right:-4px;height:2px;transform:translateY(-50%)}
  .final-cta{max-width:620px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  html.js-reveal .reveal,html.js-reveal .reveal-fig{opacity:1!important;transform:none!important}
  .mob-cta{transform:none}
}