@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:400 900;
  font-display:swap;
  src:url('/fonts/inter-variable-latin.woff2') format('woff2');
}
:root{
  --navy:#0F2D44; --navy-800:#0A2033; --navy-700:#153A55;
  --bg:#F5F7F8; --white:#FFFFFF;
  --red:#E31E24; --red-dark:#C21118;
  --ink:#0F2D44; --muted:#4A6572; --line:#DCE3E7;
  --on-dark-muted:rgba(255,255,255,0.68); --on-dark-line:rgba(255,255,255,0.14);
  --ease-out:cubic-bezier(0.23,1,0.32,1); --ease-in-out:cubic-bezier(0.77,0,0.175,1);
  --radius:12px;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;border:none;background:none;cursor:pointer;}
img,svg{display:block;}
.container{max-width:1120px;margin:0 auto;padding:0 32px;}
@media (max-width:640px){.container{padding:0 20px;}}

.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:8px;font-weight:600;font-size:15px;letter-spacing:-0.005em;transition:transform 160ms var(--ease-out),background-color 180ms var(--ease-out),border-color 180ms var(--ease-out),color 180ms var(--ease-out);}
.btn:active{transform:scale(0.97);}
.btn-primary{background:var(--red-dark);color:#fff;}
@media (hover:hover) and (pointer:fine){.btn-primary:hover{background:var(--red);}}
.btn-outline-dark{border:1.5px solid rgba(255,255,255,0.35);color:#fff;}
@media (hover:hover) and (pointer:fine){.btn-outline-dark:hover{border-color:#fff;background:rgba(255,255,255,0.06);}}
.btn-outline-light{border:1.5px solid var(--line);color:var(--ink);}
@media (hover:hover) and (pointer:fine){.btn-outline-light:hover{border-color:var(--navy);background:rgba(15,45,68,0.04);}}
.btn-sm{padding:10px 18px;font-size:14px;}

.nav{position:sticky;top:0;z-index:50;background:rgba(15,45,68,0.92);backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid var(--on-dark-line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;}
.nav-logo{display:flex;align-items:center;}
.nav-logo .logo-img{height:30px;width:auto;}
.nav-links{display:flex;align-items:center;gap:34px;}
.nav-link{font-size:14.5px;font-weight:500;color:var(--on-dark-muted);transition:color 180ms var(--ease-out);}
@media (hover:hover) and (pointer:fine){.nav-link:hover{color:#fff;}}
.nav-link.active{color:#fff;}
.nav-right{display:flex;align-items:center;gap:14px;}
@media (max-width:820px){.nav-links{display:none;}}

.nav-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;color:#fff;border-radius:6px;flex-shrink:0;}
.nav-toggle svg{width:22px;height:22px;}
.nav-toggle .icon-close{display:none;}
.nav-toggle[aria-expanded="true"] .icon-menu{display:none;}
.nav-toggle[aria-expanded="true"] .icon-close{display:block;}
.nav-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px;}
@media (max-width:820px){.nav-toggle{display:inline-flex;}}

.mobile-menu{position:absolute;top:100%;left:0;right:0;background:var(--navy-800);border-bottom:1px solid var(--on-dark-line);box-shadow:0 16px 32px rgba(0,0,0,0.28);}
.mobile-menu-list{list-style:none;margin:0;padding:8px 0;}
.mobile-menu-list li{border-bottom:1px solid var(--on-dark-line);}
.mobile-menu-list li:last-child{border-bottom:none;}
.mobile-menu-list a{display:block;padding:17px 32px;font-size:16px;font-weight:500;color:rgba(255,255,255,0.85);}
.mobile-menu-list a.active{color:#fff;font-weight:700;}
.mobile-menu-list a.mobile-cta{color:var(--red);font-weight:700;}
@media (min-width:821px){.mobile-menu{display:none !important;}.nav-toggle{display:none !important;}}

.hero{background:var(--navy);color:#fff;padding:64px 0 0;overflow:hidden;position:relative;}
.hero-inner{padding-bottom:72px;}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:44px;}}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--red);margin:0 0 16px;}
.kicker .dot{width:7px;height:7px;background:var(--red);border-radius:1px;}
.section-dark .kicker{color:rgba(255,255,255,0.85);}
.hero .kicker{color:rgba(255,255,255,0.85);}
.pagehead .kicker{color:rgba(255,255,255,0.85);}

.hero h1{font-size:clamp(2.2rem,4.2vw,3.3rem);line-height:1.08;letter-spacing:-0.02em;font-weight:800;margin:0 0 20px;}
.hero-lead{font-size:1.18rem;color:rgba(255,255,255,0.9);font-weight:500;line-height:1.4;margin:0 0 18px;max-width:520px;}
.hero-body{font-size:0.98rem;line-height:1.65;color:var(--on-dark-muted);max-width:480px;margin:0 0 32px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}

/* Photographs supplied as finished artwork: no overlay, no rounding.
   Shown at full composition except the homepage desktop hero, which is
   cropped taller to align with the adjacent text column. */
.hero-photo-wrap{max-width:560px;margin:0;}
.hero-photo-wrap img{width:100%;height:auto;display:block;}
@media (min-width:901px){
  .hero-photo-wrap img{aspect-ratio:1400/1146;object-fit:cover;}
}

.loop-strip{background:var(--navy-800);border-top:1px solid var(--on-dark-line);border-bottom:1px solid var(--on-dark-line);padding:20px 0;}
.loop-row{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.65);}
.loop-row .arrow{color:var(--red);font-weight:700;}
.loop-row .accent{color:#fff;}
.loop-row .accent2{color:var(--red);}

.section{padding:96px 0;}
.section-tight{padding:80px 0;}
.section-light{background:var(--bg);}
.section-white{background:var(--white);}
.section-dark{background:var(--navy);color:#fff;}
.section-head{max-width:680px;margin:0 0 40px;}
.section-head h2{font-size:clamp(1.6rem,2.8vw,2.15rem);letter-spacing:-0.015em;line-height:1.2;margin:0 0 8px;font-weight:800;}
.section-dark .section-head p, .section-dark .prose p{color:var(--on-dark-muted);}
.section-dark .section-head{color:#fff;}

@media (prefers-reduced-motion:no-preference){
  /* Reserved for the hero image and major diagrams only — not general prose. */
  .reveal{animation:reveal-in 300ms var(--ease-out) both;animation-timeline:view();animation-range:entry 0% entry 35%;}
}
@keyframes reveal-in{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

@media (prefers-reduced-motion:no-preference){
  .hero-reveal{animation:reveal-in 320ms var(--ease-out) 80ms both;}
}

.prose{max-width:740px;}
.prose p{margin:0 0 18px;color:var(--muted);font-size:1.02rem;line-height:1.68;}
.prose p:last-child{margin-bottom:0;}
.prose strong{color:var(--ink);font-weight:700;}
.section-dark .prose strong{color:#fff;}

.dotlist{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:11px;}
.dotlist li{position:relative;padding-left:20px;color:var(--muted);font-size:0.99rem;line-height:1.55;}
.dotlist li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:2px;background:var(--red);}
.section-dark .dotlist li{color:var(--on-dark-muted);}

.pullline{font-size:1.35rem;font-weight:700;color:var(--ink);text-align:center;margin:36px auto 0;letter-spacing:-0.01em;max-width:560px;line-height:1.4;}
.section-dark .pullline{color:#fff;}

.vs-panel{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;margin:32px 0 8px;}
@media (max-width:700px){.vs-panel{grid-template-columns:1fr;}}
.vs-box{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:var(--radius);padding:26px;}
.vs-box .vs-num{font-size:2rem;font-weight:800;color:#fff;line-height:1;}
.vs-box .vs-label{font-size:0.92rem;color:var(--on-dark-muted);margin-top:8px;line-height:1.5;}
.vs-divider{font-weight:800;color:var(--red);font-size:1.05rem;text-align:center;}

/* Light variant of vs-panel used on Pilot/RightWork pages */
.section-white .vs-panel, .section-light .vs-panel{margin:24px 0 20px;}
.section-white .vs-box, .section-light .vs-box{background:var(--bg);border:1px solid var(--line);}
.section-white .vs-box .vs-num, .section-light .vs-box .vs-num{font-size:1.7rem;color:var(--ink);}
.section-white .vs-box .vs-label, .section-light .vs-box .vs-label{color:var(--muted);}

.check-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:8px;}
@media (max-width:700px){.check-cols{grid-template-columns:1fr;}}
.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.check-list li{position:relative;padding-left:26px;font-size:0.96rem;line-height:1.5;color:var(--muted);}
.check-list.good li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--red-dark);font-weight:700;}
.check-list.bad li::before{content:"\2013";position:absolute;left:0;top:0;color:#9AA7AD;font-weight:700;}
.check-col h4{font-size:1rem;font-weight:700;margin:0 0 14px;}

.pilot-band{padding:88px 0;background:var(--navy);color:#fff;text-align:center;}
.pilot-band h2{font-size:clamp(1.9rem,3.6vw,2.5rem);font-weight:800;letter-spacing:-0.02em;margin:0 0 16px;}
.pilot-band p{color:var(--on-dark-muted);font-size:1.05rem;line-height:1.55;margin:0 0 30px;max-width:520px;margin-left:auto;margin-right:auto;}
.pilot-band .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

.footer{background:var(--navy-800);color:rgba(255,255,255,0.7);padding:56px 0 40px;}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--on-dark-line);}
.footer-logo{display:flex;align-items:center;}
.footer-logo .logo-img{height:26px;width:auto;}
.footer-tag{margin:14px 0 0;font-size:13.5px;color:rgba(255,255,255,0.5);max-width:280px;line-height:1.5;}
.footer-links{display:flex;gap:32px;flex-wrap:wrap;}
.footer-col h4{font-size:12.5px;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.45);margin:0 0 14px;font-weight:700;}
.footer-col a{display:block;font-size:14px;color:rgba(255,255,255,0.75);margin-bottom:10px;transition:color 180ms var(--ease-out);}
@media (hover:hover) and (pointer:fine){.footer-col a:hover{color:#fff;}}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:28px;font-size:13px;color:rgba(255,255,255,0.4);}

/* Page-head band, used on How It Works / Right Work / Pilot: heading text
   beside the page's own finished-artwork hero photo, shown uncropped. */
.pagehead{background:var(--navy);color:#fff;padding:64px 0;}
.pagehead-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;}
@media (max-width:900px){.pagehead-grid{grid-template-columns:1fr;gap:36px;}}
.pagehead-photo img{width:100%;height:auto;display:block;}

/* Compact waitlist form standing in the hero's photo column. */
.pagehead-form{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.14);border-radius:14px;padding:32px;}
.pagehead-form h2{font-size:clamp(1.3rem,2vw,1.6rem);font-weight:800;letter-spacing:-0.01em;color:#fff;margin:0 0 10px;}
.pagehead-form > p{font-size:0.98rem;color:var(--on-dark-muted);margin:0 0 20px;}
.pilot-form-stacked{flex-direction:column;max-width:none;}
.pilot-form-stacked .input,.pilot-form-stacked .btn{width:100%;flex:0 0 auto;}
.crumb{font-size:13px;color:var(--on-dark-muted);margin:0 0 20px;}
.crumb a{color:rgba(255,255,255,0.85);}
@media (hover:hover) and (pointer:fine){.crumb a:hover{color:#fff;}}
.pagehead h1{font-size:clamp(2rem,3.6vw,2.9rem);font-weight:800;letter-spacing:-0.02em;line-height:1.12;margin:0 0 14px;}
.pagehead p{font-size:1.06rem;color:var(--on-dark-muted);margin:0 0 14px;line-height:1.55;}
.pagehead p:last-child{margin-bottom:0;}
.pagehead .lead2{font-weight:600;color:#fff;font-size:1.1rem;}

.step-row{display:grid;grid-template-columns:96px 1fr;gap:32px;padding:44px 0;border-bottom:1px solid var(--line);align-items:start;}
@media (max-width:640px){.step-row{grid-template-columns:1fr;gap:14px;}}
.step-row:first-of-type{padding-top:8px;}
.step-index{font-size:48px;font-weight:800;color:var(--red);letter-spacing:-0.02em;line-height:1;}
.step-name{font-size:1.35rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 12px;}

.intro-block{padding:56px 0 8px;}

.pace-band{padding:80px 0;background:var(--navy-700);color:#fff;border-top:1px solid var(--on-dark-line);}
.pace-band .kicker{color:rgba(255,255,255,0.85);}
.pace-band h2{font-size:clamp(1.7rem,3vw,2.2rem);font-weight:800;letter-spacing:-0.015em;margin:0 0 8px;}
.pace-band .prose p, .pace-band .essay p{color:var(--on-dark-muted);}

/* Supplied diagram artwork (SVG): full width of its container, own aspect ratio. */
.figure{margin:40px 0 0;}
.figure svg, .figure img{width:100%;height:auto;display:block;}

/* Home: Timing and Handover sections share one tall supplied photo on desktop;
   the photo sits between the two blocks of copy on mobile. */
.th-split{display:grid;grid-template-columns:1fr 380px;column-gap:56px;row-gap:0;align-items:start;
  grid-template-areas:"timing image" "handover image";}
@media (max-width:900px){
  .th-split{grid-template-columns:1fr;grid-template-areas:"timing" "image" "handover";row-gap:48px;}
}
.th-split .timing-block{grid-area:timing;padding:96px 0 48px;}
.th-split .handover-block{grid-area:handover;padding:48px 0 96px;}
@media (max-width:900px){
  .th-split .timing-block{padding:96px 0 0;}
  .th-split .handover-block{padding:0 0 96px;}
}
.th-split .th-image{grid-area:image;align-self:start;}
.th-split .th-image img{width:100%;height:auto;display:block;}

.included-list{display:flex;flex-direction:column;border-top:1px solid var(--line);}
.included-item{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);}
@media (max-width:700px){.included-item{grid-template-columns:1fr;gap:6px;}}
.included-item h3{margin:0;font-size:1.02rem;font-weight:700;}
.included-item p{margin:0;color:var(--muted);font-size:0.96rem;line-height:1.55;max-width:640px;}

.faq-list{border-top:1px solid var(--on-dark-line);margin-top:8px;}
.faq-item{border-bottom:1px solid var(--on-dark-line);}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 2px;background:none;border:none;color:#fff;font-size:1.02rem;font-weight:600;text-align:left;cursor:pointer;}
.faq-icon{font-size:22px;font-weight:400;color:var(--on-dark-muted);transition:transform 240ms var(--ease-in-out),color 240ms var(--ease-out);flex-shrink:0;line-height:1;}
.faq-icon.open{transform:rotate(45deg);color:var(--red);}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows 320ms var(--ease-in-out);overflow:hidden;}
.faq-a.open{grid-template-rows:1fr;}
.faq-a-inner{min-height:0;overflow:hidden;}
.faq-a-inner p{margin:0 0 22px;color:var(--on-dark-muted);font-size:0.96rem;line-height:1.6;padding-right:12px;max-width:700px;}

.waitlist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px;}
@media (max-width:700px){.waitlist-grid{grid-template-columns:1fr;}}
.waitlist-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;}
.waitlist-card h4{margin:0 0 6px;font-size:0.98rem;font-weight:700;}
.waitlist-card p{margin:0;color:var(--muted);font-size:0.93rem;line-height:1.5;}

.pilot-form-band{padding:80px 0;background:var(--navy);color:#fff;text-align:center;}
.pilot-form-band h2{font-size:clamp(1.9rem,3.6vw,2.5rem);font-weight:800;letter-spacing:-0.02em;margin:0 0 14px;}
.pilot-form-band p{color:var(--on-dark-muted);font-size:1.02rem;line-height:1.5;margin:0 0 30px;}
.pilot-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;max-width:480px;margin:0 auto;}
.input{flex:1 1 240px;min-width:0;padding:14px 18px;border-radius:8px;border:1.5px solid rgba(255,255,255,0.22);background:rgba(255,255,255,0.06);color:#fff;font-size:15px;font-family:inherit;transition:border-color 180ms var(--ease-out),background-color 180ms var(--ease-out);}
.input::placeholder{color:rgba(255,255,255,0.45);}
.input:focus{outline:none;border-color:var(--red);background:rgba(255,255,255,0.1);}
.form-success{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 20px;border-radius:8px;background:rgba(255,255,255,0.08);border:1.5px solid rgba(255,255,255,0.18);color:#fff;font-size:15px;font-weight:600;max-width:480px;margin:0 auto;}
.form-fine{margin-top:16px;font-size:13px;color:rgba(255,255,255,0.5);}

[hidden]{display:none !important;}

/* ===========================================================
   Editorial system — used on Home, How It Works, The Right Work.
   A small, purpose-built vocabulary rather than generic grid
   utilities: reading measures, a handful of named section
   layouts, and the six editorial devices from the brief.
   =========================================================== */

.measure{max-width:700px;}
.measure-wide{max-width:900px;}

.chapter{padding:88px 0;}
.chapter-tight{padding:64px 0;}
.chapter-diagram{padding:112px 0;}
@media (max-width:640px){
  .chapter{padding:64px 0;}
  .chapter-tight{padding:44px 0;}
  .chapter-diagram{padding:72px 0;}
}

/* Tighter section padding — opt-in modifier stacked alongside the
   classes above (e.g. class="chapter compact") so pages that don't
   use it are completely unaffected. */
.compact{padding:56px 0;}
.chapter-tight.compact{padding:44px 0;}
.chapter-diagram.compact{padding:80px 0;}
.pilot-band.compact{padding:64px 0;}
.pace-band.compact{padding:56px 0;}
.pilot-form-band.compact{padding:56px 0;}
@media (max-width:640px){
  .compact{padding:40px 0;}
  .chapter-tight.compact{padding:32px 0;}
  .chapter-diagram.compact{padding:48px 0;}
  .pilot-band.compact,.pace-band.compact,.pilot-form-band.compact{padding:48px 0;}
}

.essay-h1{font-size:clamp(2.375rem,4.6vw,3.5rem);line-height:1.08;letter-spacing:-0.02em;font-weight:800;margin:0 0 20px;}
.essay-h2{font-size:clamp(1.6875rem,2.6vw,2.25rem);line-height:1.22;letter-spacing:-0.015em;font-weight:800;margin:0 0 22px;}
.essay-h2:last-child{margin-bottom:0;}
.essay p{font-size:1.0625rem;line-height:1.7;color:var(--muted);margin:0 0 20px;}
.essay p:last-child{margin-bottom:0;}
.essay strong{color:var(--ink);font-weight:700;}
.section-dark .essay p{color:var(--on-dark-muted);}
.section-dark .essay strong{color:#fff;}

/* Pull conclusion — large type, used sparingly (2–3 per page). */
.pull-conclusion{font-size:clamp(1.625rem,2.6vw,2.125rem);line-height:1.32;letter-spacing:-0.015em;font-weight:700;color:var(--ink);margin:0;}
.section-dark .pull-conclusion{color:#fff;}
.pull-conclusion .mark{color:var(--red);}
.hero .pull-conclusion{color:#fff;}

/* Body pull conclusions (in-chapter punctuation, not a half-page
   section): narrower measure, right-aligned, slightly smaller and
   tighter than the hero/isolated conclusions. */
.pull-conclusion-body{max-width:700px;margin:0 0 0 auto;font-size:clamp(1.875rem,2.2vw,2rem);line-height:1.18;}

.hero-pull-quote{font-size:clamp(2rem,1.1rem + 2.2vw,2.75rem);line-height:1.15;}
.hero-tracking-line{max-width:none;}

/* Margin note / side conclusion — short, load-bearing, beside body. */
.margin-note{border-left:2px solid var(--red);padding-left:20px;}
.margin-note p{font-size:0.98rem;line-height:1.6;color:var(--muted);margin:0;}
.margin-note .label{display:block;font-size:0.78rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--red);margin:0 0 8px;}
.section-dark .margin-note{border-left-color:var(--red);}
.section-dark .margin-note p{color:var(--on-dark-muted);}

/* Inline contrast — two statements set against one another, no boxes. */
.contrast{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
@media (max-width:700px){.contrast{grid-template-columns:1fr;gap:24px;}}
.contrast > div{padding-left:20px;border-left:2px solid var(--line);}
.contrast > div.is-marked{border-left-color:var(--red);}
.contrast .contrast-label{display:block;font-size:0.78rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;}
.contrast > div.is-marked .contrast-label{color:var(--red);}
.contrast .contrast-body{font-size:1.05rem;line-height:1.5;color:var(--ink);font-weight:600;}
.section-dark .contrast > div{border-left-color:rgba(255,255,255,0.25);}
.section-dark .contrast .contrast-label{color:var(--on-dark-muted);}
.section-dark .contrast .contrast-body{color:#fff;}

/* Big typographic stat (e.g. "5,000") — typography, not a card. */
.big-stat{font-size:clamp(3.5rem,7vw,5.25rem);font-weight:800;letter-spacing:-0.02em;line-height:1;color:var(--ink);margin:0 0 14px;}

/* Ruled list — plain, no icon markers. Used where the source list is a
   set of approvals/qualification points rather than a comparison. */
.ruled-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.ruled-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:0.99rem;line-height:1.5;color:var(--muted);}
.section-dark .ruled-list{border-top-color:var(--on-dark-line);}
.section-dark .ruled-list li{border-bottom-color:var(--on-dark-line);color:var(--on-dark-muted);}

/* Definition list — two-column factor list with fine rules, no icons. */
.deflist{list-style:none;margin:0;padding:0;column-count:2;column-gap:32px;}
@media (max-width:700px){.deflist{column-count:1;}}
.deflist li{padding:12px 0;border-bottom:1px solid var(--line);font-size:0.98rem;line-height:1.5;color:var(--muted);break-inside:avoid;}

/* Editorial split shells: one class per composition, matching the
   brief's named ratios rather than a generic 12-col utility set. */
.split-7-5{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:start;}
.split-8-4{display:grid;grid-template-columns:8fr 4fr;gap:56px;align-items:start;}
.split-5-7{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:start;}
.split-6-6{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
@media (max-width:900px){
  .split-7-5,.split-8-4,.split-5-7,.split-6-6{grid-template-columns:1fr;gap:32px;}
}

/* Vertical rule between two editorial columns (not a boxed card). */
.split-rule{border-left:1px solid var(--line);padding-left:56px;}
@media (max-width:900px){.split-rule{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:32px;}}
.section-dark .split-rule{border-left-color:var(--on-dark-line);}
@media (max-width:900px){.section-dark .split-rule{border-top-color:var(--on-dark-line);}}

.rule-red{border:none;border-top:2px solid var(--red);margin:0 0 32px;width:64px;}
.rule-fine{border:none;border-top:1px solid var(--line);margin:0;}
.section-dark .rule-fine{border-top-color:var(--on-dark-line);}

/* Question line — three short questions set as one restrained line on
   desktop, stacked on mobile. Not cards. */
.question-line{display:flex;gap:40px;flex-wrap:wrap;}
.question-line div{flex:1 1 200px;font-size:1.02rem;font-weight:600;color:var(--ink);line-height:1.4;}
.section-dark .question-line div{color:#fff;}

/* One bold full-width line combining a lead-in with several short
   questions, each spaced apart and wrapping as a whole unit. */
.q-line{font-size:1.1875rem;font-weight:700;color:var(--ink);line-height:1.5;margin:0;}
.q-item{display:inline-block;margin-right:26px;white-space:nowrap;}
.section-dark .q-line{color:#fff;}

/* Pull-conclusion sized for a body pull quote, but full width and
   left aligned instead of the narrower right-offset treatment. */
.pull-conclusion-wide{max-width:none;margin:0;font-size:clamp(1.875rem,2.2vw,2rem);line-height:1.18;}

.approval-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;border-top:1px solid var(--line);}
.approval-item{padding:16px 0 16px 26px;border-bottom:1px solid var(--line);font-size:1rem;color:var(--ink);position:relative;}
.approval-item::before{content:"";position:absolute;left:0;top:24px;width:14px;height:2px;background:var(--red);}
.section-dark .approval-grid{border-top-color:var(--on-dark-line);}
.section-dark .approval-item{color:#fff;border-bottom-color:var(--on-dark-line);}
@media (max-width:640px){
  .approval-grid{grid-template-columns:1fr;}
}

/* Evidence ladder — three levels deepening downward. Typography and
   rules only, no dashboard chrome. */
.ladder{display:flex;flex-direction:column;}
.ladder-step{display:grid;grid-template-columns:96px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline;}
.ladder-step:last-child{border-bottom:none;}
.ladder-step .ladder-index{font-size:0.85rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--red);}
.ladder-step .ladder-body{font-size:1rem;line-height:1.5;color:var(--muted);}
.ladder-step .ladder-body strong{color:var(--ink);font-weight:700;}
@media (max-width:640px){
  .ladder-step{grid-template-columns:1fr;gap:6px;}
}

/* Editorial image — used for pacing, not decoration. Focus brackets
   are reserved for hero / page-header images only; this carries none. */
.editorial-image img{width:100%;height:auto;display:block;}

/* Process ledger (How It Works): a continuous list, not cards. */
.ledger-row{display:grid;grid-template-columns:96px 1fr;gap:32px;border-bottom:1px solid var(--line);align-items:start;}
@media (max-width:640px){.ledger-row{grid-template-columns:1fr;gap:12px;}}
.ledger-row:last-child{border-bottom:none;}
.ledger-index{font-size:2.5rem;font-weight:800;color:var(--red);letter-spacing:-0.02em;line-height:1.15;}
.ledger-name{font-size:1.3rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 12px;}

/* Automate / judgement inset (How It Works step 05). */
.inset-split{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:24px 0 8px;border-top:1px solid var(--line);}
@media (max-width:640px){.inset-split{grid-template-columns:1fr;}}
.inset-split > div{padding:20px 28px 20px 0;}
.inset-split > div + div{border-left:1px solid var(--line);padding-left:28px;}
@media (max-width:640px){
  .inset-split > div + div{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:20px;}
}
.inset-split .inset-label{display:block;font-size:0.78rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--red);margin:0 0 8px;}
.inset-split p{font-size:0.96rem;line-height:1.55;color:var(--muted);margin:0;}

/* Tiny margin diagram (Right Work: nine-vs-one bottleneck). */
.margin-diagram{display:flex;align-items:center;gap:14px;margin:20px 0;}
.margin-diagram .dot-grid{display:grid;grid-template-columns:repeat(3,10px);gap:6px;}
.margin-diagram .dot-grid span{width:10px;height:10px;border:2px solid var(--navy);border-radius:1px;}
.margin-diagram .dot-grid span.z{border-color:var(--red);}
.margin-diagram .margin-diagram-label{font-size:0.85rem;color:var(--muted);line-height:1.4;}

/* Major diagrams: the full SVG only above 640px. Below that, a
   deliberate vertical text composition (see .diagram-mobile blocks)
   replaces it rather than shrinking it illegibly. */
@media (max-width:640px){
  .diagram-desktop{display:none;}
}
@media (min-width:641px){
  .diagram-mobile{display:none;}
}
.diagram-mobile{background:#F5F7F8;border-radius:0;padding:28px 20px;}
.diagram-mobile .dm-kicker{font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink);margin:0 0 8px;}
.diagram-mobile .dm-h{font-size:1.3rem;font-weight:800;letter-spacing:-0.01em;color:var(--ink);margin:0 0 8px;}
.diagram-mobile .dm-sub{font-size:0.9rem;color:var(--muted);margin:0 0 20px;line-height:1.5;}
.diagram-mobile .dm-fine{font-size:0.78rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted);margin:16px 0 0;}
.diagram-mobile .dm-signal{color:var(--red);font-weight:700;}
.diagram-mobile .ladder-step{padding:16px 0;}
.diagram-mobile .ladder-index{font-size:0.8rem;}
.diagram-mobile .ladder-body{font-size:0.94rem;}

/* Compact good-fit / not-for-you columns (Home + reused pattern). */
.fit-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
@media (max-width:700px){.fit-cols{grid-template-columns:1fr;gap:24px;}}

