/* ============================================================
   PLATFORM ONE
   Four surfaces, hard edges between them: black, bone, slate,
   oxblood. Scrolling should feel like turning pages, not like
   sliding down one long document.
   ============================================================ */

:root{
  --black:#070809;
  --slate:#14181C;
  --card:#1A1F24;
  --bone:#F1EEE9;
  --bone-2:#FFFFFF;
  --ox:#68141A;
  --ox-lift:#7D1A21;
  --ember:#D2434E;

  --w:#F2F0ED;
  --w-2:rgba(242,240,237,.68);
  --w-3:rgba(242,240,237,.42);
  --line:rgba(255,255,255,.10);
  --line-2:rgba(255,255,255,.19);

  --ink:#0E1012;
  --ink-2:#54565A;
  --ink-3:#8A8783;
  --line-l:rgba(14,16,18,.13);
  --line-l2:rgba(14,16,18,.26);

  --display:"Archivo",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;

  --g:clamp(20px,5vw,80px);
  --micro:10.5px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --out:cubic-bezier(.16,1,.3,1);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--black); color:var(--w);
  font-family:var(--sans); font-size:17px; line-height:1.62;
  -webkit-font-smoothing:antialiased;
  /* clip, not hidden: overflow-x:hidden turns body into a scroll container
     and silently kills position:sticky on every descendant */
  overflow-x:clip;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--ox); color:#fff; }

h1,h2,h3{ font-family:var(--display); margin:0; font-weight:700; letter-spacing:-.035em; line-height:.96; }
h1{ font-size:clamp(34px,6.4vw,96px); font-weight:800; letter-spacing:-.04em; text-wrap:balance; }
h2{ font-size:clamp(32px,4.8vw,68px); }
h3{ font-size:clamp(19px,1.65vw,24px); letter-spacing:-.022em; line-height:1.16; }
p{ margin:0; }

.micro{ font-family:var(--mono); font-size:var(--micro); font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--w-3); }
.lede{ font-size:clamp(17px,1.4vw,20px); line-height:1.62; color:var(--w-2); max-width:48ch; }
.lede strong{ color:var(--w); font-weight:600; }

/* --- header ---------------------------------------------------------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:60;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px var(--g); border-bottom:1px solid transparent;
  transition:background .5s var(--ease), border-color .5s var(--ease), padding .4s var(--ease);
}
header.solid{ background:rgba(7,8,9,.88); backdrop-filter:blur(16px); border-bottom-color:var(--line); padding:13px var(--g); }
.brand{ display:flex; align-items:center; gap:15px; }
.brand .mk{ width:34px; filter:brightness(1.75) saturate(1.15); } /* oxblood on near-black needs lifting */
.brand .wd{ width:158px; }
.brand .mk, .brand .wd{ transition:width .4s var(--ease); }
header.solid .brand .mk{ width:29px; }
header.solid .brand .wd{ width:136px; }
nav{ display:flex; gap:30px; }
nav a{ position:relative; padding:6px 0; color:var(--w-3); transition:color .3s var(--ease); }
nav a:hover, nav a.on{ color:var(--w); }
nav a::after{ content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background:var(--ember); transition:width .4s var(--ease); }
nav a:hover::after, nav a.on::after{ width:100%; }
@media (max-width:1100px){ nav{ display:none; } }
@media (max-width:560px){ .brand .mk{ width:28px; } .brand .wd{ width:128px; } header .btn{ display:none; } }

.btn{
  display:inline-flex; align-items:center; gap:12px; white-space:nowrap;
  font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  padding:15px 26px; border-radius:2px; background:var(--ox); color:#fff;
  position:relative; overflow:hidden; isolation:isolate; transition:transform .35s var(--out);
}
.btn::before{ content:""; position:absolute; inset:0; z-index:-1; background:var(--ox-lift); transform:translateY(101%); transition:transform .45s var(--out); }
.btn:hover::before{ transform:translateY(0); }
.btn:hover{ transform:translateY(-2px); }
.btn:focus-visible{ outline:2px solid var(--ember); outline-offset:3px; }
.btn .a{ transition:transform .4s var(--out); }
.btn:hover .a{ transform:translateX(4px); }
.btn.sm{ padding:11px 19px; font-size:10px; }
.btn.ghost{ background:transparent; border:1px solid var(--line-2); }
.btn.ghost::before{ background:var(--ox); }
.btn.onox{ background:#fff; color:var(--ox); }
.btn.onox::before{ background:var(--black); }
.btn.onox:hover{ color:#fff; }

/* --- hero ------------------------------------------------------------ */
.hero{ position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; }
.hero .shot{ position:absolute; inset:0; }
.hero .shot img{
  width:100%; height:100%; object-fit:cover; object-position:62% 50%;
  filter:grayscale(.3) contrast(1.08) brightness(.72);
  transform:scale(1.06); animation:drift 26s ease-in-out infinite alternate;
}
@keyframes drift{ to{ transform:scale(1.13) translate3d(-1.5%,-1%,0); } }
.hero .shot::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(to top, var(--black) 1%, rgba(7,8,9,.9) 34%, rgba(7,8,9,.44) 68%, rgba(7,8,9,.7) 100%),
    radial-gradient(110% 78% at 80% 40%, rgba(104,20,26,.32) 0%, transparent 62%);
}
.hero .inner{ position:relative; z-index:3; width:100%; padding:0 var(--g) clamp(44px,6.5vh,80px); max-width:1420px; margin:0 auto; }
.hero h1{ max-width:17ch; }
.hero h1 .l{ display:block; overflow:hidden; }
.hero h1 .l > span{ display:block; transform:translateY(105%); transition:transform 1.05s var(--out); }
.rdy .hero h1 .l > span{ transform:translateY(0); }
.rdy .hero h1 .l:nth-child(2) > span{ transition-delay:.1s; }
.hero .eb{ margin-bottom:24px; }
.hero .row{ display:flex; align-items:flex-end; justify-content:space-between; gap:44px; flex-wrap:wrap; margin-top:34px; }
.hero .lede{ max-width:52ch; }
.up{ opacity:0; transform:translateY(20px); transition:opacity .9s var(--ease), transform .9s var(--out); }
.rdy .up, .on .up, .up.on{ opacity:1; transform:none; }

.scrollcue{ position:absolute; right:var(--g); bottom:clamp(44px,6.5vh,80px); z-index:3; display:flex; align-items:center; gap:12px; }
.scrollcue .bar{ width:1px; height:44px; background:var(--line-2); position:relative; overflow:hidden; }
.scrollcue .bar::after{ content:""; position:absolute; left:0; top:-44px; width:1px; height:44px; background:var(--ember); animation:cue 2.4s var(--ease) infinite; }
@keyframes cue{ 0%{ transform:translateY(0); } 70%,100%{ transform:translateY(88px); } }
@media (max-width:980px){ .scrollcue{ display:none; } }

/* --- surfaces --------------------------------------------------------- */
section{ position:relative; }
.pad{ padding:clamp(78px,10.5vh,142px) var(--g); }
.mx{ max-width:1320px; margin:0 auto; }
.s-black{ background:var(--black); }
.s-slate{ background:var(--slate); }
.s-bone{ background:var(--bone); color:var(--ink); }
.s-bone .micro{ color:var(--ink-3); }
.s-bone .lede{ color:var(--ink-2); }
.s-bone .lede strong{ color:var(--ink); }
.s-bone .eb::before{ background:var(--ox); }
.s-ox{ background:var(--ox); color:#fff; }
.s-ox .micro{ color:rgba(255,255,255,.6); }
.s-ox .eb::before{ background:#fff; }

.hd{ display:flex; align-items:flex-end; justify-content:space-between; gap:44px; flex-wrap:wrap; }
.hd .lede{ max-width:40ch; }
.eb{ display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.eb::before{ content:""; width:22px; height:1px; background:var(--ember); }

/* --- stat strip ------------------------------------------------------- */
.strip{ display:grid; grid-template-columns:repeat(5,1fr); border-bottom:1px solid var(--line); }
.strip .c{ padding:34px clamp(16px,2.4vw,34px) 32px; border-left:1px solid var(--line); }
.strip .c:first-child{ border-left:0; }
.strip .v{ font-family:var(--display); font-weight:700; font-size:clamp(28px,3.2vw,46px); line-height:1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.strip .k{ margin-top:11px; }
@media (max-width:900px){ .strip{ grid-template-columns:repeat(2,1fr); } .strip .c{ border-top:1px solid var(--line); } .strip .c:nth-child(odd){ border-left:0; } }

/* --- two-up explanation ----------------------------------------------- */
.pair{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,3.4vw,56px); margin-top:clamp(46px,5.6vw,72px); }
.pair .box{ border-top:2px solid var(--line-l2); padding-top:24px; }
.pair .box .t{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3); }
.pair .box h3{ margin:16px 0 12px; }
.pair .box p{ font-size:16px; line-height:1.62; color:var(--ink-2); }
.pair .box.now{ border-top-color:var(--ox); }
@media (max-width:760px){ .pair{ grid-template-columns:1fr; } }

/* --- the six reads ----------------------------------------------------- */
.grid6{ margin-top:clamp(44px,5.6vw,72px); display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(12px,1.3vw,18px); }
.rd{
  position:relative; background:var(--card); border:1px solid var(--line); border-radius:4px;
  padding:32px 30px 28px; overflow:hidden;
  transition:transform .5s var(--out), border-color .4s var(--ease), background .4s var(--ease);
}
.rd::after{ content:""; position:absolute; left:0; top:0; height:2px; width:0; background:var(--ember); transition:width .55s var(--out); }
.rd:hover{ transform:translateY(-6px); border-color:var(--line-2); background:#20262C; }
.rd:hover::after{ width:100%; }
.rd .n{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.2em; color:var(--w-3); }
.rd h3{ margin:18px 0 10px; }
.rd .ask{ font-size:14.5px; line-height:1.55; color:var(--w-2); font-style:italic; }
.rd .tells{ margin-top:16px; font-size:14.5px; line-height:1.58; color:var(--w-2); }
.rd .tells b{ color:var(--w); font-weight:600; }
@media (max-width:1000px){ .grid6{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:660px){ .grid6{ grid-template-columns:1fr; } }

/* --- oxblood statement -------------------------------------------------- */
.say{ padding:clamp(76px,11vh,140px) var(--g); }
.say h2{ max-width:19ch; }
.say .lede{ color:rgba(255,255,255,.8); margin-top:26px; max-width:52ch; }
.say .lede strong{ color:#fff; }
.say .acts{ margin-top:36px; }

/* --- seats -------------------------------------------------------------- */
.seats{ margin-top:clamp(44px,5.6vw,72px); display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(12px,1.3vw,18px); }
.seat{ background:#fff; border:1px solid var(--line-l); border-radius:4px; padding:32px 28px 28px; transition:transform .5s var(--out), box-shadow .5s var(--out); }
.seat:hover{ transform:translateY(-6px); box-shadow:0 20px 46px rgba(14,16,18,.14); }
.seat .top{ display:flex; align-items:center; justify-content:space-between; gap:14px; }
.seat .cnt{ font-family:var(--display); font-weight:700; font-size:34px; letter-spacing:-.04em; line-height:1; color:var(--ink); }
.tag{ font-family:var(--mono); font-size:9.5px; letter-spacing:.15em; text-transform:uppercase; padding:5px 9px; border:1px solid var(--line-l2); border-radius:2px; color:var(--ink-3); white-space:nowrap; }
.tag.att{ color:var(--ox); border-color:rgba(104,20,26,.4); }
.seat h3{ margin:20px 0 8px; color:var(--ink); }
.seat .sub{ font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); }
.seat p.d{ margin-top:16px; font-size:15px; line-height:1.6; color:var(--ink-2); }
@media (max-width:960px){ .seats{ grid-template-columns:1fr; } }

/* --- finding ------------------------------------------------------------- */
.find{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(36px,4.6vw,80px); align-items:center; margin-top:clamp(38px,4.6vw,58px); }
@media (max-width:1000px){ .find{ grid-template-columns:1fr; } }
.ring{ position:relative; aspect-ratio:1; width:100%; max-width:500px; margin:0 auto; }
.ring .glow{ position:absolute; inset:-14%; border-radius:50%; background:radial-gradient(circle at 50% 50%, rgba(210,67,78,.24) 0%, rgba(104,20,26,.11) 42%, transparent 70%); filter:blur(30px); }
.ring svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.trk{ fill:none; stroke:rgba(242,240,237,.14); stroke-width:.6; }
.inr{ fill:none; stroke:rgba(242,240,237,.07); stroke-width:.5; }
.arc{ fill:none; stroke:var(--w); stroke-width:1.3; stroke-linecap:round; filter:drop-shadow(0 0 10px rgba(242,240,237,.5)) drop-shadow(0 0 30px rgba(210,67,78,.35)); }
.spk{ stroke:rgba(242,240,237,.15); stroke-width:.4; }
.nd{ fill:var(--w); } .nd.ow{ fill:var(--ember); filter:drop-shadow(0 0 7px rgba(210,67,78,.6)); }
.rotor{ transform-origin:50% 50%; animation:rot 70s linear infinite; }
@keyframes rot{ to{ transform:rotate(360deg); } }
.ring .cap{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); text-align:center; }
.ring .cap .f{ font-family:var(--display); font-weight:700; font-size:clamp(38px,4.4vw,62px); letter-spacing:-.045em; line-height:1; font-variant-numeric:tabular-nums; }
.ring .cap .l{ margin-top:11px; }

.scores{ border-top:1px solid var(--line); }
.sc{ display:grid; grid-template-columns:1fr 130px 60px; gap:18px; align-items:center; padding:18px 0; border-bottom:1px solid var(--line); transition:background .35s var(--ease); }
.sc:hover{ background:rgba(242,240,237,.03); }
.sc .nm{ font-family:var(--display); font-weight:600; font-size:17px; letter-spacing:-.02em; }
.sc .nm span{ display:block; margin-top:5px; font-family:var(--sans); font-size:13px; font-weight:400; letter-spacing:0; color:var(--w-3); }
.sc .bar{ height:3px; background:rgba(242,240,237,.11); border-radius:2px; overflow:hidden; }
.sc .bar i{ display:block; height:100%; width:0; background:var(--w-3); border-radius:2px; transition:width 1.1s var(--out); }
.sc.hi .bar i{ background:var(--ember); }
.sc .v{ font-family:var(--mono); font-size:14px; text-align:right; font-variant-numeric:tabular-nums; color:var(--w-2); }
.sc.hi .v{ color:var(--ember); }
.note{ margin-top:24px; font-size:14px; line-height:1.65; color:var(--w-3); max-width:60ch; }
@media (max-width:560px){ .sc{ grid-template-columns:1fr 56px; } .sc .bar{ grid-column:1/-1; } }

/* --- process ------------------------------------------------------------- */
.steps{ margin-top:clamp(42px,5vw,66px); display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(10px,1.1vw,16px); }
.st{ border-top:2px solid var(--line-l2); padding-top:20px; }
.st .n{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.2em; color:var(--ink-3); }
.st h3{ font-size:18px; margin:13px 0 9px; }
.st p{ font-size:14px; line-height:1.56; color:var(--ink-2); }
.st .when{ margin-top:13px; font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ox); }
@media (max-width:1000px){ .steps{ grid-template-columns:repeat(2,1fr); gap:28px 18px; } }
@media (max-width:600px){ .steps{ grid-template-columns:1fr; } }

/* --- faq ------------------------------------------------------------------ */
.faq{ margin-top:clamp(56px,6vw,84px); border-top:1px solid var(--line-l); max-width:940px; }
.faq details{ border-bottom:1px solid var(--line-l); }
.faq summary{
  list-style:none; cursor:pointer; padding:23px 46px 23px 0; position:relative;
  font-family:var(--display); font-weight:600; font-size:clamp(17px,1.45vw,20px);
  letter-spacing:-.022em; transition:color .3s var(--ease);
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary:hover{ color:var(--ox); }
.faq summary:focus-visible{ outline:2px solid var(--ox); outline-offset:3px; }
.faq summary::after, .faq summary::before{ content:""; position:absolute; right:8px; top:50%; width:12px; height:1.5px; background:var(--ink); transition:transform .35s var(--ease), opacity .3s var(--ease); }
.faq summary::before{ transform:rotate(90deg); }
.faq details[open] summary::before{ transform:rotate(0); opacity:0; }
.faq details[open] summary{ color:var(--ox); }
.faq .a{ padding:0 60px 24px 0; font-size:16px; line-height:1.66; color:var(--ink-2); max-width:68ch; }

/* --- close ---------------------------------------------------------------- */
.close{ position:relative; min-height:80svh; display:flex; align-items:center; overflow:hidden; }
.close .shot{ position:absolute; inset:0; }
.close .shot img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.42) contrast(1.1) brightness(.46); }
.close .shot::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to right, rgba(7,8,9,.95) 6%, rgba(7,8,9,.62) 56%, rgba(7,8,9,.3) 100%),
             radial-gradient(90% 70% at 20% 60%, rgba(104,20,26,.3), transparent 60%);
}
.close .inner{ position:relative; z-index:3; width:100%; padding:0 var(--g); max-width:1420px; margin:0 auto; }
.acts{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; margin-top:36px; }
.lnk{ font-size:15px; color:var(--w-2); border-bottom:1px solid var(--line-2); padding-bottom:3px; transition:color .3s var(--ease), border-color .3s var(--ease); }
.lnk:hover{ color:var(--w); border-color:var(--ember); }
.s-ox .lnk{ color:rgba(255,255,255,.82); border-color:rgba(255,255,255,.4); }
.s-ox .lnk:hover{ color:#fff; border-color:#fff; }

footer{ padding:32px var(--g); border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
footer a:hover{ color:var(--w); }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .hero h1 .l > span{ transform:none; } .up{ opacity:1; transform:none; }
}


/* ---- exclusivity layer --------------------------------------------
   High-ticket reads as restraint: fewer facts, more air, nothing that
   looks like a spec sheet. Anything that counted something is gone.  */

/* the thin qualifying band that replaced the numeric strip */
.band3{ display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); }
.band3 .b{ padding:30px clamp(16px,2.4vw,34px); border-left:1px solid var(--line); }
.band3 .b:first-child{ border-left:0; }
.band3 .t{ font-family:var(--display); font-weight:600; font-size:clamp(16px,1.35vw,19px); letter-spacing:-.022em; }
.band3 .s{ margin-top:9px; font-size:14px; color:var(--w-3); line-height:1.5; }
@media (max-width:820px){ .band3{ grid-template-columns:1fr; } .band3 .b{ border-left:0; border-top:1px solid var(--line); } }

/* the engagement: one wide statement block, not a product card */
.eng{ margin-top:clamp(48px,6vw,80px); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(34px,5vw,90px); align-items:start; }
.eng .big{ font-family:var(--display); font-weight:600; font-size:clamp(21px,2.05vw,29px); line-height:1.3; letter-spacing:-.026em; color:var(--ink); }
.eng .body p{ font-size:16.5px; line-height:1.68; color:var(--ink-2); }
.eng .body p + p{ margin-top:17px; }
.eng .body strong{ color:var(--ink); font-weight:600; }
.eng .rule{ margin:30px 0 0; padding-top:26px; border-top:1px solid var(--line-l); }
.eng .rule .k{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3); }
.eng .rule p{ margin-top:12px; font-size:16px; line-height:1.62; color:var(--ink-2); }
@media (max-width:900px){ .eng{ grid-template-columns:1fr; gap:36px; } }

/* the four phases, described without a calendar */
.phases{ margin-top:clamp(44px,5.4vw,70px); border-top:1px solid var(--line); }
.ph{
  display:grid; grid-template-columns:56px minmax(0,320px) minmax(0,1fr); gap:clamp(20px,3vw,52px);
  padding:clamp(24px,2.6vw,36px) 0; border-bottom:1px solid var(--line);
  transition:background .4s var(--ease);
}
.ph:hover{ background:rgba(242,240,237,.028); }
.ph .n{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.2em; color:var(--w-3); padding-top:6px; }
.ph h3{ font-size:clamp(20px,1.8vw,26px); letter-spacing:-.028em; }
.ph p{ font-size:16px; line-height:1.65; color:var(--w-2); max-width:52ch; }
@media (max-width:860px){
  .ph{ grid-template-columns:44px 1fr; gap:6px 16px; }
  .ph p{ grid-column:2; margin-top:12px; }
}

/* acceptance criteria, stated as terms rather than a checklist */
.terms{ margin-top:clamp(42px,5vw,66px); display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(26px,3.4vw,60px); }
.terms .t-h{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3); padding-bottom:14px; border-bottom:1px solid var(--line-l2); }
.terms ul{ list-style:none; margin:0; padding:0; }
.terms li{ padding:17px 0; border-bottom:1px solid var(--line-l); font-size:16px; line-height:1.6; color:var(--ink-2); }
.terms .no li{ color:var(--ink-3); }
.terms li b{ color:var(--ink); font-weight:600; }

/* the principal: operator credibility, the way every firm in this bracket leads */
.prin{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(34px,5vw,88px); align-items:start; }
.prin .name{ font-family:var(--display); font-weight:700; font-size:clamp(30px,3.4vw,50px); letter-spacing:-.04em; line-height:1; }
.prin .role{ margin-top:16px; font-family:var(--mono); font-size:var(--micro); letter-spacing:.2em; text-transform:uppercase; color:var(--w-3); line-height:2; }
.prin .body p{ font-size:16.5px; line-height:1.68; color:var(--w-2); }
.prin .body p + p{ margin-top:17px; }
.prin .body strong{ color:var(--w); font-weight:600; }
.rec{ margin-top:clamp(34px,4vw,52px); display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.rec .r{ background:var(--black); padding:26px 22px; }
.rec .v{ font-family:var(--display); font-weight:700; font-size:clamp(24px,2.6vw,36px); letter-spacing:-.04em; line-height:1; }
.rec .v.tbd{ color:var(--w-3); font-size:15px; font-weight:500; letter-spacing:.14em; font-family:var(--mono); text-transform:uppercase; }
.rec .k{ margin-top:11px; font-family:var(--mono); font-size:9.5px; letter-spacing:.15em; text-transform:uppercase; color:var(--w-3); }
@media (max-width:900px){ .prin{ grid-template-columns:1fr; gap:30px; } .rec{ grid-template-columns:1fr; } }
@media (max-width:760px){ .terms{ grid-template-columns:1fr; gap:34px; } }

/* full-bleed image band carrying one line ---------------------------- */
.bleed{ position:relative; min-height:62svh; display:flex; align-items:center; overflow:hidden; }
.bleed .shot{ position:absolute; inset:0; }
.bleed .shot img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.44) contrast(1.08) brightness(.5); }
.bleed .shot::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(96deg, rgba(7,8,9,.93) 2%, rgba(7,8,9,.7) 46%, rgba(7,8,9,.36) 100%),
             radial-gradient(80% 70% at 16% 55%, rgba(104,20,26,.24), transparent 62%);
}
.bleed .inner{ position:relative; z-index:3; width:100%; padding:clamp(60px,9vh,110px) var(--g); max-width:1420px; margin:0 auto; }
.bleed h2{ max-width:18ch; }
.bleed .lede{ margin-top:24px; }

/* image + copy split ---------------------------------------------------- */
.split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,4.4vw,76px); align-items:center; }
.split.flip .fig{ order:2; }
.split .fig{ position:relative; border-radius:4px; overflow:hidden; aspect-ratio:4/3.1; }
.split .fig img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(.4) contrast(1.06) brightness(.78);
  transform:scale(1.02); transition:transform 1.4s var(--out), filter .8s var(--ease);
}
.split .fig:hover img{ transform:scale(1.07); filter:grayscale(.16) brightness(.86); }
.split .fig::after{ content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px var(--line); border-radius:4px; }
.s-bone .split .fig::after{ box-shadow:inset 0 0 0 1px var(--line-l); }
@media (max-width:860px){ .split{ grid-template-columns:1fr; gap:30px; } .split.flip .fig{ order:0; } }

/* the outcome list: what the owner walks away knowing ------------------- */
.knows{ margin-top:26px; border-top:1px solid var(--line-l); }
.knows li{
  list-style:none; display:grid; grid-template-columns:30px 1fr; gap:16px;
  padding:17px 0; border-bottom:1px solid var(--line-l);
  font-size:16.5px; line-height:1.6; color:var(--ink-2);
}
.knows{ margin-left:0; padding-left:0; }
.knows li .i{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.14em; color:var(--ox); padding-top:5px; }
.knows li b{ color:var(--ink); font-weight:600; }

/* --- the three layers -------------------------------------------------
   A point, then a line, then a field. The instrument on the left holds
   still and changes state as the copy on the right scrolls past it, so
   the progression is argued visually rather than asserted in prose.   */
.layers{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(30px,5vw,86px); margin-top:clamp(46px,6vw,78px); align-items:stretch; }
@media (max-width:1000px){ .layers{ grid-template-columns:1fr; gap:0; } }

/* the grid item stretches the full height of the row so the frame inside
   it has somewhere to travel; sticky on the item itself would have none */
.inst{ position:relative; }
.inst .frame{
  position:sticky; top:clamp(96px,15vh,150px);
  border:1px solid var(--line); border-radius:4px;
  background:linear-gradient(168deg, rgba(255,255,255,.045), rgba(255,255,255,.008));
  padding:clamp(18px,2vw,26px);
}
.inst .top{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.inst .top .st{ color:var(--w); font-family:var(--mono); font-size:var(--micro); letter-spacing:.2em; text-transform:uppercase; }
.inst .top .ct{ color:var(--w-3); font-family:var(--mono); font-size:var(--micro); letter-spacing:.14em; }
.inst svg{ display:block; width:100%; height:auto; margin-top:6px; overflow:visible; }
.inst .cap{ margin-top:14px; padding-top:13px; border-top:1px solid var(--line); font-size:14px; line-height:1.55; color:var(--w-2); min-height:3.1em; }
.inst .cap b{ color:var(--w); font-weight:600; }
@media (max-width:1000px){ .inst .frame{ position:relative; top:0; } .inst{ margin-bottom:34px; } }

/* svg state groups cross-fade */
.stg{ opacity:0; transition:opacity .55s var(--ease); pointer-events:none; }
.stg.live{ opacity:1; }
.ax{ stroke:rgba(255,255,255,.13); stroke-width:.6; }
.axl{ fill:var(--w-3); font-family:"IBM Plex Mono",monospace; font-size:5.2px; letter-spacing:.12em; }
.bar-bg{ fill:rgba(255,255,255,.07); }
.bar-fg{ fill:var(--w); }
.bar-fg.hot{ fill:var(--ember); }
.bar-v{ fill:var(--w-2); font-family:"IBM Plex Mono",monospace; font-size:5.4px; }
.trace{ fill:none; stroke:var(--w); stroke-width:1.1; stroke-linejoin:round; stroke-linecap:round; }
.trace.hot{ stroke:var(--ember); filter:drop-shadow(0 0 5px rgba(210,67,78,.5)); }
.trace.ghost{ stroke:rgba(255,255,255,.10); stroke-width:.7; }
.dot{ fill:var(--w); }
.dot.hot{ fill:var(--ember); }
.band{ fill:rgba(255,255,255,.055); }
.dlt{ font-family:"IBM Plex Mono",monospace; font-size:5px; letter-spacing:.06em; }
.dlt.dn{ fill:#7FB98A; } .dlt.up{ fill:var(--ember); } .dlt.nw{ fill:var(--w-3); }

/* the scrolling copy blocks */
.lyr{ padding:clamp(30px,5vh,64px) 0; border-top:1px solid var(--line); }
.lyr:first-child{ border-top:0; padding-top:0; }
.lyr .hd2{ display:flex; align-items:baseline; gap:14px; margin-bottom:18px; }
.lyr .no{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.2em; color:var(--ox-lift); }
.lyr .tag{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.16em; text-transform:uppercase; color:var(--w-3); border:1px solid var(--line-2); border-radius:2px; padding:3px 8px; }
.lyr h3{ font-size:clamp(26px,3vw,40px); letter-spacing:-.032em; margin-bottom:14px; }
.lyr .one{ font-size:clamp(17px,1.5vw,20px); line-height:1.55; color:var(--w); font-weight:500; margin-bottom:18px; }
.lyr p{ color:var(--w-2); font-size:16.5px; line-height:1.66; }
.lyr p + p{ margin-top:15px; }
.lyr p strong{ color:var(--w); font-weight:600; }
.lyr.on-l .no{ color:var(--ember); }
.lyr .sub{ margin-top:22px; border-top:1px solid var(--line); }
.lyr .sub .r{ display:grid; grid-template-columns:auto 1fr; gap:14px; padding:13px 0; border-bottom:1px solid var(--line); font-size:15.5px; line-height:1.55; color:var(--w-2); }
.lyr .sub .r b{ color:var(--w); font-weight:600; }
.lyr .sub .r .m{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.14em; color:var(--w-3); padding-top:4px; }
.lyr .pull{ margin-top:24px; padding:18px 22px; border-left:2px solid var(--ox-lift); background:rgba(255,255,255,.03); font-family:var(--display); font-weight:600; font-size:clamp(17px,1.7vw,22px); line-height:1.32; letter-spacing:-.024em; color:var(--w); }
.lyr .note2{ margin-top:16px; font-size:14px; line-height:1.55; color:var(--w-3); }

/* enquiry note under the closing CTA */
.enq{ margin-top:26px; font-size:14.5px; line-height:1.6; color:var(--w-3); max-width:46ch; }
.s-ox .enq{ color:rgba(255,255,255,.62); }

/* ======================================================================
   ORBIT — the self-serve surface.
   It sits underneath a six-figure practice, so it inherits every bit of
   the same restraint. No plan cards, no most-popular badge, no green
   ticks, no savings starburst. The price is stated as a fact and the
   guarantee does the persuading.
   ====================================================================== */

.orbit-hero{ position:relative; min-height:88svh; display:flex; align-items:flex-end; overflow:hidden; }
.orbit-hero .shot{ position:absolute; inset:0; }
.orbit-hero .shot img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.42) contrast(1.06) brightness(.52); transform:scale(1.05); }
.orbit-hero .shot::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, var(--black) 2%, rgba(7,8,9,.9) 36%, rgba(7,8,9,.5) 72%, rgba(7,8,9,.72) 100%),
             radial-gradient(96% 74% at 78% 42%, rgba(104,20,26,.28), transparent 62%);
}
.orbit-hero .inner{ position:relative; z-index:3; width:100%; max-width:1420px; margin:0 auto; padding:0 var(--g) clamp(44px,6.5vh,78px); }
.orbit-hero h1{ max-width:19ch; font-size:clamp(31px,5.1vw,72px); }

/* three plain steps, numbered, no icons */
.steps3{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:clamp(44px,5.4vw,72px); }
.steps3 .s3{ background:var(--black); padding:clamp(24px,2.6vw,34px) clamp(18px,2vw,28px); }
.s-slate .steps3 .s3{ background:var(--slate); }
.steps3 .n{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.2em; color:var(--ember); }
.steps3 h3{ margin:14px 0 10px; font-size:clamp(19px,1.7vw,24px); }
.steps3 p{ color:var(--w-2); font-size:15.5px; line-height:1.62; }
.steps3 .t{ margin-top:14px; font-family:var(--mono); font-size:var(--micro); letter-spacing:.14em; color:var(--w-3); }
@media (max-width:820px){ .steps3{ grid-template-columns:1fr; } }

/* the price. stated, not sold. */
.price{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:clamp(30px,4.6vw,74px); align-items:start; margin-top:clamp(40px,5vw,64px); }
@media (max-width:900px){ .price{ grid-template-columns:1fr; gap:34px; } }

.plans{ border-top:1px solid var(--line-l); }
.plan{ display:grid; grid-template-columns:1fr auto; gap:18px; align-items:baseline; padding:22px 0; border-bottom:1px solid var(--line-l); }
.plan .nm{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3); }
.plan .amt{ font-family:var(--display); font-weight:700; letter-spacing:-.04em; color:var(--ink); line-height:1; }
.plan .sub{ margin-top:8px; font-size:14.5px; color:var(--ink-2); line-height:1.5; }
.plan.lead{ border-bottom-width:1px; }
.plan.lead .amt{ font-size:clamp(40px,5.2vw,66px); }
.plan.lead .nm{ color:var(--ox); }
.plan.alt .amt{ font-size:clamp(24px,2.4vw,32px); color:var(--ink-2); }
.plan .per{ font-family:var(--sans); font-weight:500; font-size:15px; letter-spacing:0; color:var(--ink-3); margin-left:4px; }
.terms-line{ margin-top:20px; font-size:14.5px; line-height:1.6; color:var(--ink-3); }

/* the guarantee. the single strongest asset on the page, so it gets air. */
.guarantee{ margin-top:clamp(28px,3.4vw,42px); padding:clamp(22px,2.6vw,32px); border:1px solid var(--ox); border-radius:3px; background:rgba(104,20,26,.045); }
.guarantee .k{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.2em; text-transform:uppercase; color:var(--ox); }
.guarantee p{ margin-top:14px; font-family:var(--display); font-weight:600; font-size:clamp(18px,1.9vw,25px); line-height:1.34; letter-spacing:-.026em; color:var(--ink); }
.guarantee .fine{ margin-top:14px; font-family:var(--sans); font-weight:400; font-size:14.5px; line-height:1.55; letter-spacing:0; color:var(--ink-2); }

.buy{ margin-top:clamp(26px,3vw,36px); display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.buy .btn{ padding:18px 34px; font-size:11.5px; }
.buy .aside{ font-size:14px; color:var(--ink-3); }

/* what it will never do. the boundary is the sales argument. */
.never{ margin-top:clamp(44px,5.4vw,72px); }
.never .nv{ display:grid; grid-template-columns:26px 1fr; gap:18px; padding:20px 0; border-bottom:1px solid var(--line); align-items:start; }
.never .nv:first-of-type{ border-top:1px solid var(--line); }
.never .x{ font-family:var(--mono); font-size:15px; line-height:1.2; color:var(--ember); padding-top:2px; }
.never .nv h3{ font-size:clamp(17px,1.5vw,21px); margin-bottom:8px; }
.never .nv p{ color:var(--w-2); font-size:15.5px; line-height:1.62; max-width:58ch; }

/* the pivot to the other entry point. never a comparison. */
.pivot{ position:relative; }
.pivot .mx{ max-width:1320px; margin:0 auto; }
.pivot .line{ font-family:var(--display); font-weight:700; letter-spacing:-.032em; line-height:1.16; font-size:clamp(23px,2.9vw,40px); max-width:22ch; }
.pivot .line em{ font-style:normal; color:var(--ember); }
.s-bone .pivot .line em{ color:var(--ox); }
.pivot .body{ margin-top:24px; max-width:52ch; font-size:16.5px; line-height:1.66; color:var(--w-2); }
.s-bone .pivot .body{ color:var(--ink-2); }

/* ======================================================================
   PLAIN — the Hormozi pass. Same surfaces and type, far fewer moves.
   Every section answers one question a buyer actually asks, in order.
   ====================================================================== */
.q{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.2em; text-transform:uppercase; color:var(--ember); margin-bottom:20px; display:block; }
.s-bone .q{ color:var(--ox); }

/* the deliverables stack. this is the page's centre of gravity. */
.get{ margin-top:clamp(34px,4vw,52px); border-top:1px solid var(--line-l); }
.get li{ list-style:none; display:grid; grid-template-columns:34px 1fr; gap:16px; padding:20px 0; border-bottom:1px solid var(--line-l); align-items:start; }
.get li .c{ font-family:var(--mono); font-size:13px; color:var(--ox); padding-top:3px; }
.get li .tx{ font-size:clamp(16.5px,1.5vw,19px); line-height:1.5; color:var(--ink); font-weight:500; }
.get li .tx span{ display:block; margin-top:6px; font-size:15px; font-weight:400; line-height:1.55; color:var(--ink-2); }
.s-black .get{ border-top-color:var(--line); }
.s-black .get li{ border-bottom-color:var(--line); }
.s-black .get li .tx{ color:var(--w); }
.s-black .get li .tx span{ color:var(--w-2); }
.s-black .get li .c{ color:var(--ember); }

/* two doors after the audit. exactly two. */
.after{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:3px; margin-top:clamp(34px,4vw,52px); overflow:hidden; }
.after .d{ background:var(--black); padding:clamp(24px,2.8vw,38px); }
.after .d .hh{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.18em; text-transform:uppercase; color:var(--w-3); }
.after .d h3{ margin:14px 0 12px; font-size:clamp(21px,2vw,27px); }
.after .d p{ color:var(--w-2); font-size:16px; line-height:1.62; }
.after .d .pr{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line); font-family:var(--mono); font-size:var(--micro); letter-spacing:.14em; color:var(--w-3); }
@media (max-width:820px){ .after{ grid-template-columns:1fr; } }

/* the big plain statement */
.plain{ font-family:var(--display); font-weight:700; letter-spacing:-.034em; line-height:1.12; font-size:clamp(26px,3.4vw,48px); max-width:19ch; }
.plain em{ font-style:normal; color:var(--ember); }
.s-bone .plain em{ color:var(--ox); }

/* ======================================================================
   THE SPINE — audit, review, then weekly consulting. One path, in order.
   ====================================================================== */
.spine{ margin-top:clamp(38px,4.6vw,64px); }
.sp{ display:grid; grid-template-columns:clamp(56px,7vw,104px) 1fr; gap:clamp(18px,3vw,44px); padding:clamp(28px,3.4vw,46px) 0; border-top:1px solid var(--line); position:relative; }
.sp:last-child{ border-bottom:1px solid var(--line); }
.s-bone .sp{ border-top-color:var(--line-l); }
.s-bone .sp:last-child{ border-bottom-color:var(--line-l); }
.sp .num{ font-family:var(--display); font-weight:800; font-size:clamp(34px,5vw,72px); line-height:.82; letter-spacing:-.05em; color:var(--line-2); }
.s-bone .sp .num{ color:rgba(14,16,18,.16); }
.sp.now .num{ color:var(--ember); }
.s-bone .sp.now .num{ color:var(--ox); }
.sp h3{ font-size:clamp(21px,2.2vw,30px); margin-bottom:12px; }
.sp p{ font-size:16.5px; line-height:1.66; color:var(--w-2); max-width:56ch; }
.s-bone .sp p{ color:var(--ink-2); }
.sp p + p{ margin-top:13px; }
.sp .tagx{ display:inline-block; margin-bottom:12px; font-family:var(--mono); font-size:var(--micro); letter-spacing:.16em; text-transform:uppercase; color:var(--w-3); border:1px solid var(--line-2); border-radius:2px; padding:3px 9px; }
.s-bone .sp .tagx{ color:var(--ink-3); border-color:var(--line-l2); }
@media (max-width:700px){ .sp{ grid-template-columns:1fr; gap:8px; } }

/* the weekly email, rendered rather than described */
.mail{ border:1px solid var(--line); border-radius:5px; overflow:hidden; background:var(--slate); box-shadow:0 30px 70px -30px rgba(0,0,0,.7); }
.mail .bar{ display:flex; align-items:center; gap:7px; padding:12px 16px; background:rgba(255,255,255,.045); border-bottom:1px solid var(--line); }
.mail .bar i{ width:9px; height:9px; border-radius:50%; background:var(--line-2); display:block; }
.mail .hdr{ padding:20px clamp(18px,2.2vw,30px); border-bottom:1px solid var(--line); }
.mail .hdr .fr{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.14em; color:var(--w-3); }
.mail .hdr .sj{ margin-top:9px; font-family:var(--display); font-weight:700; font-size:clamp(17px,1.7vw,22px); letter-spacing:-.024em; color:var(--w); }
.mail .bd{ padding:clamp(18px,2.2vw,30px); }
.mail .blk + .blk{ margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
.mail .lb{ font-family:var(--mono); font-size:var(--micro); letter-spacing:.18em; text-transform:uppercase; color:var(--w-3); margin-bottom:13px; }
.mail .lb.good{ color:#7FB98A; } .mail .lb.bad{ color:var(--ember); }
.mail .ln{ display:grid; grid-template-columns:1fr auto; gap:14px; padding:9px 0; font-size:15px; color:var(--w-2); border-bottom:1px dotted rgba(255,255,255,.09); }
.mail .ln:last-child{ border-bottom:0; }
.mail .ln b{ color:var(--w); font-weight:600; }
.mail .ln .d{ font-family:var(--mono); font-size:12.5px; color:var(--w-3); white-space:nowrap; }
.mail .ln .d.dn{ color:#7FB98A; } .mail .ln .d.up{ color:var(--ember); }
.mail ol{ margin:0; padding-left:20px; }
.mail ol li{ font-size:15.5px; line-height:1.6; color:var(--w-2); padding:7px 0; }
.mail ol li b{ color:var(--w); font-weight:600; }
.mail .foot{ padding:15px clamp(18px,2.2vw,30px); border-top:1px solid var(--line); font-size:13.5px; color:var(--w-3); background:rgba(0,0,0,.22); }

/* ======================================================================
   RECOGNITION — the "that's me" block. Plain list, no icons, no cards.
   It has to read like someone describing your week back to you.
   ====================================================================== */
.mirror{ margin-top:clamp(34px,4.2vw,58px); display:grid; grid-template-columns:repeat(2,1fr); gap:0 clamp(30px,4vw,70px); }
.mirror .m{ display:grid; grid-template-columns:18px 1fr; gap:14px; padding:19px 0; border-bottom:1px solid var(--line); align-items:start; }
.s-bone .mirror .m{ border-bottom-color:var(--line-l); }
.mirror .m .k{ font-family:var(--mono); font-size:14px; line-height:1.3; color:var(--ember); }
.s-bone .mirror .m .k{ color:var(--ox); }
.mirror .m p{ font-size:clamp(16px,1.5vw,18.5px); line-height:1.52; color:var(--w); font-weight:500; }
.s-bone .mirror .m p{ color:var(--ink); }
@media (max-width:760px){ .mirror{ grid-template-columns:1fr; } }

/* cost of leaving it alone */
.cost{ margin-top:clamp(30px,3.6vw,48px); padding:clamp(24px,3vw,38px); border-left:2px solid var(--ember); background:rgba(255,255,255,.035); }
.s-bone .cost{ border-left-color:var(--ox); background:rgba(14,16,18,.032); }
.cost p{ font-family:var(--display); font-weight:700; letter-spacing:-.028em; line-height:1.26; font-size:clamp(19px,2.1vw,28px); color:var(--w); }
.s-bone .cost p{ color:var(--ink); }
.cost .sub{ margin-top:14px; font-family:var(--sans); font-weight:400; letter-spacing:0; font-size:16px; line-height:1.62; color:var(--w-2); }
.s-bone .cost .sub{ color:var(--ink-2); }

/* ======================================================================
   NUMBER ALIGNMENT AND LIST RHYTHM — corrective pass.
   Small mono counters were top-aligned against much larger text, so they
   floated above their own sentence, and rows sat too tight to read as
   separate items. Baseline-align the counter, open the rows, and give the
   sub-line room to be a second thought rather than a wrapped line.
   ====================================================================== */

.get li{
  grid-template-columns:30px 1fr;
  gap:0 26px;
  padding:28px 0;
  align-items:baseline;          /* counter now sits on the text baseline */
}
.get li .c{
  font-size:12.5px; letter-spacing:.1em; padding-top:0;
  align-self:baseline; opacity:.95;
}
.get li .tx{ line-height:1.42; }
.get li .tx span{ margin-top:11px; line-height:1.6; }

/* the recognition list */
.mirror{ gap:0 clamp(34px,4.4vw,76px); }
.mirror .m{
  grid-template-columns:16px 1fr; gap:0 18px;
  padding:22px 0; align-items:baseline;
}
.mirror .m .k{ font-size:13px; line-height:inherit; opacity:.85; }
.mirror .m p{ line-height:1.5; }

/* the three step cards */
.steps3 .s3{ padding-top:clamp(28px,3vw,38px); }
.steps3 .n{ display:block; margin-bottom:4px; }
.steps3 h3{ margin:16px 0 12px; }
.steps3 p{ line-height:1.65; }
.steps3 .t{ margin-top:18px; padding-top:14px; border-top:1px solid var(--line); }

/* the spine: cap-align the oversized numeral with the heading */
.sp{ align-items:start; }
.sp .num{ padding-top:clamp(2px,.5vw,6px); }
.sp h3{ margin-top:0; }
.sp .tagx{ margin-bottom:14px; }

/* the weekly email's numbered steps */
.mail ol{ padding-left:24px; }
.mail ol li{ padding:10px 0 10px 4px; }
.mail ol li::marker{ color:var(--ember); font-family:var(--mono); font-size:13px; }

/* variance/report rows inside .sub lists */
.lyr .sub .r, .after .d .pr{ line-height:1.6; }
