/* Astraterra: site styles
   Palette follows the summit badge: navy dark sections, brand blue #569ED2 (always with dark text on it),
   gold for small accents only, warm paper for light sections. */
:root{
  --navy-950:#0A1626; --navy-900:#0E1C2F; --navy-850:#12233A; --navy-line:#23384F;
  --ink:#E8EEF5; --ink-2:#A9B8C8; --ink-3:#74869A;
  --blue:#569ED2; --blue-hi:#6FB0DF; --blue-deep:#2F6F9F;
  --gold:#DFAB4C; --clay:#B5532F;
  --paper:#F5F2EA; --white:#FFFFFF; --paper-ink:#0F1E2E; --paper-ink-2:#4A5868; --paper-line:#D9D3C4;
  --f-display:"Spectral", Georgia, "Times New Roman", serif;
  --f-body:"IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --f-mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;
  --gutter:clamp(16px,4vw,48px);
  --nav-h:72px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }
body{margin:0;background:var(--paper);color:var(--paper-ink);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}

.container{max-width:1240px;margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--blue);color:var(--navy-950);padding:8px 12px;border-radius:6px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* ---------- type ---------- */
.eyebrow{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px;color:var(--blue-deep)}
.dark .eyebrow,.dark-2 .eyebrow{color:var(--blue)}
h2{font-family:var(--f-display);font-size:clamp(32px,4vw,52px);line-height:1.08;letter-spacing:-.01em;margin-bottom:24px;text-wrap:balance;max-width:20em}
h3{font-family:var(--f-display);font-size:24px;line-height:1.2;margin-bottom:12px}
.section-lede{font-size:clamp(18px,1.6vw,21px);max-width:36em;color:var(--paper-ink-2)}
.dark .section-lede,.dark-2 .section-lede{color:var(--ink-2)}

/* ---------- buttons ---------- */
.btn{display:inline-block;font-family:var(--f-body);font-size:16px;font-weight:600;text-decoration:none;background:var(--blue);color:var(--navy-950);padding:13px 22px;border-radius:7px;transition:background .2s}
.btn:hover{background:var(--blue-hi)}
.btn-sm{font-size:14px;padding:8px 14px}
.text-link{font-size:16px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.text-link:hover{color:var(--blue-deep)}
.dark .text-link:hover,.dark-2 .text-link:hover,.hero .text-link:hover{color:var(--blue)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:34px}
.meta{font-family:var(--f-mono);font-size:12px;color:var(--ink-3)}

/* ---------- section shells ---------- */
.section{padding:clamp(72px,10vw,128px) 0}
.light{background:var(--paper)}
.white{background:var(--white)}
.dark{background:var(--navy-950);color:var(--ink)}
.dark-2{background:var(--navy-900);color:var(--ink)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(36px,6vw,96px);align-items:start}
@media (max-width:960px){ .split{grid-template-columns:1fr} }
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;margin-bottom:8px}

/* ---------- nav ---------- */
.site-nav{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--nav-h);color:var(--ink);transition:background .3s,box-shadow .3s}
.site-nav.scrolled{background:rgba(10,22,38,.94);box-shadow:0 1px 0 var(--navy-line);backdrop-filter:blur(6px)}
.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.badge{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:22%;background:var(--blue);color:var(--navy-950);flex:none}
.badge svg{width:26px;height:26px;display:block}
.wordmark{font-family:var(--f-body);font-weight:500;font-size:23px;letter-spacing:-.01em;line-height:1}
.nav-links{display:flex;gap:30px;font-size:15px}
.nav-links a{text-decoration:none;color:var(--ink-2)}
.nav-links a:hover{color:var(--ink)}
@media (max-width:820px){ .nav-links{display:none} }

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;min-height:min(900px,100vh);display:flex;align-items:center;background:var(--navy-950);color:var(--ink)}
.hero-contours,.hero-stars{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-stars{z-index:2;pointer-events:none}
.hero-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--navy-950) 0%,rgba(10,22,38,.92) 34%,rgba(10,22,38,.3) 64%,rgba(10,22,38,0) 82%)}
.hero-inner{position:relative;z-index:3;width:100%;padding-top:calc(var(--nav-h) + 48px);padding-bottom:80px}
.hero h1{font-family:var(--f-display);font-size:clamp(46px,7vw,96px);line-height:1.02;letter-spacing:-.015em;max-width:9.5em;text-wrap:balance}
.hero h1 em{font-style:italic;color:var(--blue)}
.hero .lede{font-size:clamp(18px,1.6vw,21px);color:var(--ink-2);max-width:32em;margin-top:28px}
@media (max-width:760px){ .hero-veil{background:linear-gradient(180deg,rgba(10,22,38,.55) 0%,rgba(10,22,38,.9) 55%,var(--navy-950) 100%)} }
.star-lbl{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;fill:var(--ink-3)}
.fix-lbl{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;fill:var(--gold)}

/* ---------- cards ---------- */
.cards{display:grid;gap:18px;margin-top:40px}
.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1060px){ .cards.four{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:960px){ .cards.three{grid-template-columns:1fr} }
@media (max-width:620px){ .cards.four{grid-template-columns:1fr} }
.card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--paper-line);border-radius:10px;padding:28px}
.card-num{font-family:var(--f-mono);font-size:12px;color:var(--blue-deep);margin-bottom:22px}
.card > p{color:var(--paper-ink-2)}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 22px}
.tags li{font-size:13px;padding:3px 9px;border:1px solid var(--paper-line);border-radius:999px;background:var(--white);color:var(--paper-ink-2)}
.built-on{margin-top:auto;padding-top:16px;border-top:1px solid var(--paper-line);font-size:14px;color:var(--paper-ink-2)}
.built-on strong{color:var(--paper-ink);font-weight:600}
.dark-card{background:var(--navy-850);border-color:var(--navy-line);color:var(--ink)}
.dark-card > p{color:var(--ink-2)}
.dark-card .dur{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:16px}
.article{text-decoration:none;transition:border-color .2s,transform .2s}
.article:hover{border-color:var(--paper-ink-2);transform:translateY(-2px)}
.article h3{font-size:21px}
.article .date{font-family:var(--f-mono);font-size:12px;color:var(--paper-ink-2);margin-bottom:14px}

/* ---------- method ---------- */

.clair{margin-top:72px;padding-top:48px;border-top:1px solid var(--navy-line)}
.clair-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px 56px}
.clair-intro h3{font-size:clamp(26px,2.6vw,34px)}
.clair-intro p{color:var(--ink-2)}
@media (max-width:960px){ .clair-intro{grid-template-columns:1fr} }

.lifecycle{display:grid;grid-template-columns:1fr auto 1fr 1fr 1fr 1fr auto 1fr auto 1fr auto 1fr;gap:0;margin-top:44px;align-items:stretch}
.phase{padding:16px 12px 18px;border-top:2px solid var(--ink-3);min-width:0}
.ph-n{display:block;font-family:var(--f-mono);font-size:13px;color:var(--blue);margin-bottom:8px}
.ph-name{display:block;font-size:14.5px;line-height:1.35}
.gate{display:flex;flex-direction:column;align-items:center;width:78px;border-top:2px solid var(--ink-3);position:relative;padding-top:0}
.gate-d{position:relative;isolation:isolate;width:28px;height:28px;margin-top:-15px;display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:12px;line-height:1;color:var(--gold)}
.gate-d::before{content:"";position:absolute;inset:4px;z-index:-1;transform:rotate(45deg);background:var(--navy-950);border:1.5px solid var(--gold)}
.gate-name{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);text-align:center;margin-top:12px;line-height:1.35}
.loop{grid-column:4 / 13;grid-row:2;margin-top:10px;height:34px;border:1.5px dashed var(--blue);border-top:0;border-radius:0 0 10px 10px;position:relative;opacity:.85}
.loop span{position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);background:var(--navy-950);padding:0 12px;font-family:var(--f-mono);font-size:11.5px;color:var(--blue);white-space:nowrap}
@media (max-width:1060px){
  .lifecycle{grid-template-columns:1fr}
  .phase,.gate{border-top:0;border-left:2px solid var(--ink-3);padding:10px 0 10px 20px}
  .gate{flex-direction:row;width:auto;gap:14px}
  .gate-d{margin:0 0 0 -34px}
  .gate-name{margin:0;text-align:left}
  .ph-n{display:inline;margin-right:10px}
  .ph-name{display:inline}
  .loop{grid-column:1;grid-row:auto;height:auto;border:0;margin-top:14px}
  .loop span{position:static;transform:none;padding:0;white-space:normal}
}
.principles-h{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:72px 0 20px}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 36px}
.principles li{color:var(--ink-2);font-size:16px;border-top:1px solid var(--navy-line);padding-top:16px}
.principles strong{display:block;font-family:var(--f-display);font-weight:400;font-size:21px;line-height:1.25;color:var(--ink);margin-bottom:8px}
@media (max-width:960px){ .principles{grid-template-columns:1fr 1fr} }
@media (max-width:620px){ .principles{grid-template-columns:1fr} }

/* ---------- see it ---------- */
.see-it{align-items:center}
.see-it p{color:var(--ink-2)}
.big-figures{display:flex;align-items:stretch;gap:18px;font-family:var(--f-display);font-size:clamp(26px,2.6vw,34px);line-height:1.1;color:var(--ink) !important;margin:28px 0 0}
.big-figures .fig{display:flex;flex-direction:column;justify-content:space-between;white-space:nowrap}
.big-figures small{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.04em;line-height:1.35;color:var(--ink-3);margin-bottom:10px;white-space:normal}
.big-figures .hl{color:var(--blue)}
.big-figures .arr{--arr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 20'%3E%3Cpath d='M2 10H40M31 2.5L40.5 10L31 17.5' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");align-self:flex-end;flex:none;width:1.25em;height:1.1em;background:var(--ink-2);-webkit-mask:var(--arr) center/contain no-repeat;mask:var(--arr) center/contain no-repeat;opacity:.8;transform:translateY(-.065em)}
@media (max-width:560px){
  .big-figures{flex-direction:column;align-items:flex-start;gap:6px}
  .big-figures .arr{--arr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 44'%3E%3Cpath d='M10 2V40M2.5 31L10 40.5L17.5 31' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");align-self:flex-start;width:.6em;height:1.2em;margin:2px 0 4px .9em;transform:none}
}
.proc{margin:0;background:rgba(18,35,58,.75);border:1px solid var(--navy-line);border-radius:12px;padding:14px 14px 10px;cursor:pointer}
.proc-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:2px 4px 10px;border-bottom:1px solid var(--navy-line)}
.proc-mode{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.proc-mode b{color:#D27756;font-weight:500}
.proc-mode.native b{color:var(--blue)}
.proc-day{font-family:var(--f-mono);font-size:12px;color:var(--ink-2)}
.proc-day b{font-size:26px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;margin-left:6px}
.proc svg{display:block;width:100%;height:auto;margin-top:6px}
.proc-foot{display:flex;flex-wrap:wrap;gap:8px 18px;padding:8px 4px 2px;font-family:var(--f-mono);font-size:11.5px;color:var(--ink-3)}
.proc-foot b{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}
.proc-note{margin-left:auto}
@media (max-width:600px){ .proc{display:none} }   /* labels become unreadable this narrow; the walk-through link carries it */
.p-lane{font-family:var(--f-body);font-size:13px;fill:var(--ink-3)}
.p-node{font-family:var(--f-body);font-size:13px;font-weight:500;fill:var(--ink)}

/* ---------- track record ---------- */

/* ---------- about ---------- */
.about{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(32px,6vw,88px);align-items:start}
@media (max-width:860px){ .about{grid-template-columns:1fr} }
.portrait{aspect-ratio:4/5;border-radius:10px;background:repeating-linear-gradient(-45deg,#EDE8DC 0 10px,#F5F2EA 10px 20px);border:1px dashed var(--paper-line);display:flex;align-items:center;justify-content:center;max-width:420px}
img.portrait{display:block;width:100%;height:auto;object-fit:cover;background:var(--paper);border:1px solid var(--paper-line)}
.portrait span{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-ink-2)}
.about p{color:var(--paper-ink-2);max-width:38em}
.creds{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.creds li{font-size:14px;padding:5px 11px;border:1px solid var(--paper-line);border-radius:999px;background:var(--paper)}

/* ---------- working together ---------- */

/* ---------- contact ---------- */
.contact{background:linear-gradient(180deg,var(--navy-950),var(--navy-900))}
.contact-inner{text-align:left}
.contact h2{font-size:clamp(36px,5vw,64px);max-width:14em}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-950);color:var(--ink-2);border-top:1px solid var(--navy-line);padding:32px 0}
.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
.site-footer .wordmark{font-size:19px;color:var(--ink)}
.site-footer .badge{width:28px;height:28px}
.site-footer .badge svg{width:21px;height:21px}
.footer-links{display:flex;gap:24px;font-size:14px}
.footer-links a{text-decoration:none}
.footer-links a:hover{color:var(--ink)}
.copy{margin:0;font-size:13px;color:var(--ink-3)}

/* =====================================================================
   Subpages: Resources index and article pages
   ===================================================================== */
.site-nav.solid{background:var(--navy-950);box-shadow:0 1px 0 var(--navy-line)}
.nav-links a[aria-current="page"]{color:var(--ink)}
.container.narrow{max-width:800px}

/* page head (Resources) */
.page-head{padding:calc(var(--nav-h) + clamp(56px,8vw,96px)) 0 clamp(48px,6vw,72px)}
.page-head h1{font-family:var(--f-display);font-size:clamp(40px,5.5vw,72px);line-height:1.04;letter-spacing:-.012em;margin-bottom:22px;max-width:14em;text-wrap:balance}
.theme-nav ul{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.theme-nav a{display:inline-block;font-size:14px;text-decoration:none;color:var(--ink-2);padding:7px 14px;border:1px solid var(--navy-line);border-radius:999px;transition:border-color .2s,color .2s}
.theme-nav a:hover{color:var(--ink);border-color:var(--blue)}

/* featured article */
.featured-wrap{padding:clamp(48px,6vw,72px) 0}
.featured{display:block;text-decoration:none;border-left:3px solid var(--blue);padding:6px 0 6px clamp(20px,3vw,36px);max-width:900px}
.featured h2{font-size:clamp(28px,3.2vw,42px);margin-bottom:16px}
.featured p{color:var(--paper-ink-2);max-width:42em}
.featured:hover .text-link{color:var(--blue-deep)}

/* theme sections */
.theme{padding:clamp(56px,7vw,96px) 0}
.theme-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr);gap:24px clamp(32px,5vw,80px);align-items:start}
@media (max-width:900px){ .theme-grid{grid-template-columns:1fr} }
.theme-intro{position:sticky;top:calc(var(--nav-h) + 24px)}
@media (max-width:900px){ .theme-intro{position:static} }
.theme-intro h2{font-size:clamp(26px,2.6vw,34px);margin-bottom:12px}
.theme-intro p{color:var(--paper-ink-2);font-size:16px}
.article-list{border-top:1px solid var(--paper-ink)}
.article-list li{border-bottom:1px solid var(--paper-line)}
.article-list a,.article-list li > div{display:flex;flex-direction:column;gap:6px;padding:22px 0;text-decoration:none}
.al-date{font-family:var(--f-mono);font-size:12px;color:var(--paper-ink-2)}
.al-title{font-family:var(--f-display);font-size:23px;line-height:1.25}
.al-ex{color:var(--paper-ink-2);font-size:16px}
.article-list a:hover .al-title{color:var(--blue-deep)}
.article-list.on-dark{border-top-color:var(--ink-3)}
.article-list.on-dark li{border-bottom-color:var(--navy-line)}
.on-dark .al-date,.on-dark .al-ex{color:var(--ink-2)}

/* article page */
.article-head{padding:calc(var(--nav-h) + clamp(48px,7vw,88px)) 0 clamp(40px,5vw,64px)}
.article-head .eyebrow a{text-decoration:none}
.article-head .eyebrow a:hover{text-decoration:underline}
.article-head h1{font-family:var(--f-display);font-size:clamp(34px,4.6vw,56px);line-height:1.08;letter-spacing:-.01em;margin-bottom:24px;text-wrap:balance}
.article-meta{display:flex;flex-wrap:wrap;gap:6px 22px;font-family:var(--f-mono);font-size:12.5px;color:var(--ink-2);margin:0}
.prose{padding-top:clamp(40px,6vw,64px);padding-bottom:clamp(48px,6vw,80px);font-size:18.5px;line-height:1.72}
.prose p,.prose ul,.prose ol{margin:0 0 1.25em}
.prose h2{font-size:clamp(26px,2.6vw,32px);margin:1.8em 0 .6em}
.prose h3{font-size:22px;margin:1.6em 0 .5em}
.prose ul{list-style:disc;padding-left:1.3em}
.prose ol{list-style:decimal;padding-left:1.4em}
.prose li{margin-bottom:.45em}
.prose li::marker{color:var(--blue-deep)}
.prose a{color:var(--blue-deep);text-underline-offset:3px}
.prose strong{font-weight:600}
.prose blockquote{margin:1.6em 0;padding-left:22px;border-left:3px solid var(--blue);font-family:var(--f-display);font-size:23px;line-height:1.45}
.prose figure{margin:2em 0}
.prose figure img{display:block;width:100%;height:auto;border-radius:6px;border:1px solid var(--paper-line);background:var(--white)}
.prose figcaption{font-size:14px;color:var(--paper-ink-2);margin-top:8px}
.prose hr{border:0;border-top:1px solid var(--paper-line);margin:2.4em 0}
.origin{margin-top:2.5em !important;padding-top:18px;border-top:1px solid var(--paper-line);font-family:var(--f-mono);font-size:13px;color:var(--paper-ink-2)}
.article-next{padding-top:clamp(48px,6vw,72px);border-top:1px solid var(--paper-line)}
.talk{background:var(--navy-950);color:var(--ink);border-radius:12px;padding:clamp(28px,4vw,44px);margin-bottom:56px}
.talk h2{font-size:clamp(26px,3vw,36px);margin-bottom:12px}
.talk p{color:var(--ink-2)}
.cards.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
@media (max-width:760px){ .cards.two{grid-template-columns:1fr} }

/* ---------- problem: three reasons ---------- */
.reasons{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px)}
.reason{display:flex;flex-direction:column;border-top:1px solid var(--paper-ink);padding-top:22px}
.reason-fig{display:block;width:150px;height:auto;color:var(--paper-ink);margin-bottom:22px}
.reason-n{font-family:var(--f-mono);font-size:12px;color:var(--blue-deep);margin-bottom:10px}
.reason h3{font-family:var(--f-display);font-weight:400;font-size:clamp(23px,2vw,27px);line-height:1.2;margin:0 0 14px}
.reason p{color:var(--paper-ink-2);margin:0 0 22px}
.reason-link{margin-top:auto;align-self:flex-start;font-size:15px;color:var(--paper-ink);text-decoration:none;border-bottom:1px solid var(--paper-line);padding-bottom:2px}
.reason-link::after{content:" →";color:var(--blue-deep)}
.reason-link:hover{border-color:var(--blue-deep);color:var(--blue-deep)}
.reasons-note{margin:48px 0 0;padding-top:20px;border-top:1px solid var(--paper-line);padding-right:calc(100% - 52em);font-size:15px;color:var(--paper-ink-2)}
@media (max-width:900px){.reasons{grid-template-columns:1fr}.reason h3{max-width:22em}}
.card[id]{scroll-margin-top:96px}
.card:target{border-color:var(--blue-deep)}

/* ---------- method: connected flow ---------- */
.flow{margin-top:52px}
.flow-back{position:relative;height:30px;margin:0 12.5%;border:1.5px dashed var(--gold);border-bottom:0;border-radius:12px 12px 0 0}
.flow-back::before{content:"";position:absolute;left:-6.5px;bottom:-1px;border:6px solid transparent;border-top:8px solid var(--gold);border-bottom:0}
.flow-back span{position:absolute;left:50%;top:-10px;transform:translateX(-50%);background:var(--navy-950);padding:0 14px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;color:var(--gold);white-space:nowrap}
.flow-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stage{position:relative;margin:8px 12px 0;padding:20px 20px 22px;background:var(--navy-850);border:1px solid var(--navy-line);border-radius:10px}
.stage:not(:last-child)::after{content:"";position:absolute;right:-19px;top:50%;width:14px;height:1.5px;background:var(--ink-3)}
.stage:not(:last-child)::before{content:"";position:absolute;right:-20px;top:calc(50% - 4px);border:4.5px solid transparent;border-left:6px solid var(--ink-3);border-right:0}
.stage.is-focus{border-color:var(--blue);box-shadow:inset 0 0 0 1px rgba(86,158,210,.25)}
.st-tag{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;color:var(--ink-3);margin-bottom:12px}
.is-focus .st-tag{color:var(--blue)}
.stage h3,.fd h3{font-weight:400;font-size:24px;margin:0 0 8px}
.stage p,.fd p{margin:0;font-size:15.5px;color:var(--ink-2)}
.foundation{margin:14px 12px 0;padding:16px 0 0;border-top:1px solid var(--navy-line)}
.fd-label{font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;color:var(--ink-3);margin:0 0 14px}
.fd-cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fd{padding:18px 20px 20px;border:1px solid var(--navy-line);border-radius:10px;background:linear-gradient(180deg,rgba(18,35,58,.6),transparent)}
.fd h3{font-size:21px}
.clair-kicker{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:0 0 10px}
@media (max-width:820px){
  .flow-back{height:auto;margin:0 0 14px;border:0}
  .flow-back::before{display:none}
  .flow-back span{position:static;transform:none;padding:0;background:none}
  .flow-stages{grid-template-columns:1fr}
  .stage{margin:0 0 22px}
  .stage:not(:last-child)::after{right:auto;left:28px;top:auto;bottom:-17px;width:1.5px;height:12px}
  .stage:not(:last-child)::before{right:auto;left:24.5px;top:auto;bottom:-22px;border:4.5px solid transparent;border-top:6px solid var(--ink-3);border-bottom:0}
  .foundation{margin:0}
  .fd-cells{grid-template-columns:1fr}
}

/* ---------- track record: organizations ---------- */
.orgs{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px 56px;margin-top:40px}
.orgs-h{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-ink-2);margin:0 0 4px}
.org-group ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));column-gap:32px}
.org-group:last-child ul{grid-template-columns:1fr}
.org-group li{font-family:var(--f-display);font-size:clamp(20px,1.8vw,24px);line-height:1.25;padding:16px 0;border-bottom:1px solid var(--paper-line)}
@media (max-width:860px){ .orgs{grid-template-columns:1fr} }
