
:root{
  --ink:#071521;--ink2:#0c2030;--ink3:#122b3f;--cream:#f5edda;--paper:#f6f2e9;
  --text:#e9eef2;--muted:#a9b6c0;--line:rgba(218,230,238,.16);--warm:#f2c878;
  --warm2:#d99a48;--paperText:#1b2a36;--paperMuted:#5b6670;--paperLine:#d9d4ca;
  --serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --max:1240px;--r:18px;--shadow:0 28px 90px rgba(0,0,0,.25)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;font:400 16px/1.58 var(--sans);background:var(--ink);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}a:hover{text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.skip{position:fixed;left:-9999px;top:12px;z-index:9999;background:#fff;color:#000;padding:10px 14px;border-radius:8px}.skip:focus{left:12px}
.site-nav{position:relative;z-index:50;border-bottom:1px solid var(--line);background:rgba(4,16,25,.74);backdrop-filter:blur(18px)}
.nav-row{height:74px;display:flex;align-items:center;gap:30px}.brand{font:600 20px/1 var(--serif);letter-spacing:.18em;color:#fff;margin-right:14px}.nav-links{display:flex;align-items:center;gap:27px;font-size:13px;color:#d4dde4}.nav-links a:hover{color:#fff}.nav-spacer{flex:1}.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 20px;border-radius:7px;background:var(--cream);color:#142332;font-weight:700;font-size:13px}.nav-cta:hover{background:#fff}.linkedin{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:7px;font-weight:800;font-size:12px}.menu{display:none;border:0;background:transparent;font-size:24px;width:44px;height:44px;padding:0;place-items:center}.mobile-menu{display:none;border-top:1px solid var(--line);padding:8px 0 18px}.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:10px 0;color:#d8e1e7}
.hero{position:relative;min-height:616px;background-image:linear-gradient(90deg,rgba(4,15,24,.96) 0%,rgba(4,15,24,.82) 38%,rgba(4,15,24,.34) 70%,rgba(4,15,24,.1) 100%),linear-gradient(0deg,rgba(4,15,24,.92) 0%,rgba(4,15,24,0) 36%),url('/assets/threshold.webp');background-size:cover;background-position:center 44%;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 40%,rgba(242,200,120,.13),transparent 23%);pointer-events:none}.hero .site-nav{background:rgba(4,16,25,.42)}
.hero-inner{position:relative;z-index:2;min-height:616px;display:grid;align-items:center;padding:60px 0 52px}.hero-copy{max-width:720px}.eyebrow,.kicker{font-size:11px;letter-spacing:.25em;text-transform:uppercase;font-weight:700;color:#c9d5dd}.eyebrow{margin-bottom:18px}.display{font:600 clamp(52px,6.2vw,86px)/.96 var(--serif);letter-spacing:-.035em;margin:0 0 23px;color:#fff}.hero-lead{max-width:650px;font-size:20px;line-height:1.55;color:#e2e9ee;margin:0 0 23px}.status{font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:#b7c3cc;margin:0 0 26px}.btns{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 23px;border-radius:8px;border:1px solid rgba(230,239,245,.34);font-weight:700;font-size:13px;transition:.2s ease}.btn.primary{background:var(--cream);color:#142332;border-color:var(--cream)}.btn.primary:hover{background:#fff;transform:translateY(-1px)}.btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.05)}
.hero-index{position:absolute;z-index:3;left:0;right:0;bottom:0;border-top:1px solid var(--line);background:rgba(3,14,22,.45);backdrop-filter:blur(12px)}.hero-index .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.hero-index a{padding:18px 18px;border-right:1px solid var(--line);font-size:12px;color:#bdc8d0}.hero-index a:first-child{border-left:1px solid var(--line)}.hero-index b{color:var(--warm);font-size:10px;letter-spacing:.12em;margin-right:9px}
.dark-section{background:linear-gradient(180deg,#071722,#091b29);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:84px 0}.section-head{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:end;margin-bottom:35px}.section-head h2,.paper h2,.page-hero h1{font:600 clamp(38px,4.5vw,62px)/1.03 var(--serif);letter-spacing:-.025em;margin:7px 0 0}.section-head p{color:#b8c3cb;max-width:590px;margin:0}.subhead{font:600 28px/1.15 var(--serif);margin:0;color:#fff}
.demo-panel{position:relative;overflow:hidden;border:1px solid rgba(225,236,243,.2);border-radius:16px;background:linear-gradient(180deg,rgba(13,34,50,.92),rgba(6,22,33,.96));box-shadow:var(--shadow)}.demo-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,14,22,.45),rgba(3,14,22,.85)),url('/assets/threshold.webp') center 58%/cover;opacity:.43}.demo-inner{position:relative;z-index:2;padding:28px}.scenario-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px}.scenario{min-height:54px;padding:10px 15px;border:1px solid rgba(220,232,240,.22);border-radius:8px;background:rgba(9,27,41,.7);cursor:pointer;font-size:13px;text-align:center;transition:.2s}.scenario:hover{border-color:rgba(242,200,120,.6)}.scenario.active{border-color:var(--warm);box-shadow:0 0 0 1px rgba(242,200,120,.35),0 0 32px rgba(242,200,120,.08);background:rgba(21,39,52,.92);color:#fff}.scenario:focus-visible,.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--warm);outline-offset:3px}
.trace{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;padding:32px 0 10px}.trace-line{position:absolute;left:7%;right:7%;top:49px;height:2px;background:linear-gradient(90deg,var(--warm) 0%,var(--warm) 50%,rgba(223,233,240,.48) 50%,rgba(223,233,240,.48) 100%)}.trace-line:after{content:"";position:absolute;left:50%;right:0;top:-1px;border-top:2px dashed rgba(225,235,241,.63)}.node{position:relative;z-index:2;padding-top:34px}.dot{position:absolute;top:8px;left:8px;width:13px;height:13px;border-radius:50%;background:var(--warm);box-shadow:0 0 0 6px rgba(242,200,120,.08),0 0 24px rgba(242,200,120,.55)}.node:nth-child(3) .dot{background:#d7e0e6;box-shadow:none}.node h3{font:600 20px/1.15 var(--serif);margin:0 0 7px}.node p{font-size:13px;color:#b9c5cd;margin:0;max-width:28ch}.outcome{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:18px;margin-top:24px;border:1px solid rgba(225,236,243,.18);border-radius:10px;background:rgba(8,25,37,.76)}.cube{width:38px;height:38px;border:1px solid var(--warm);border-radius:8px;display:grid;place-items:center;color:var(--warm);font-weight:700}.outcome strong{display:block;margin-bottom:2px}.outcome p{margin:0;color:#c1ccd3;font-size:13px}.demo-note{text-align:right;font-size:10px;letter-spacing:.08em;color:#8fa0ab;margin-top:12px}
.latest{padding:30px 0 42px;background:#06141e;border-bottom:1px solid var(--line)}.latest-head{display:flex;align-items:center;gap:16px;margin-bottom:16px}.latest-head .kicker{color:#fff}.latest-head time{margin-left:auto;font-size:11px;color:#81929e}.latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.latest-card{position:relative;padding:20px;border:1px solid rgba(218,230,238,.14);border-radius:12px;background:linear-gradient(180deg,#0b2232,#081b29);min-height:165px;transition:.2s}.latest-card:hover{transform:translateY(-2px);border-color:rgba(242,200,120,.34)}.label{display:inline-flex;padding:4px 7px;border-radius:4px;background:#dce9f1;color:#102330;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.label.signal{background:#b9d4e8}.label.build{background:#e2b36e}.date{font-size:10px;color:#a9b6c0;margin-left:7px}.latest-card h3{font:600 24px/1.08 var(--serif);margin:14px 36px 9px 0;color:#fff}.latest-card p{font-size:13px;color:#afbec8;margin:0}.arrow{position:absolute;right:17px;top:52px;width:32px;height:32px;border:1px solid rgba(225,235,241,.24);border-radius:50%;display:grid;place-items:center}
.paper{background:var(--paper);color:var(--paperText);padding:78px 0}.paper .kicker{color:#405669}.paper h2{color:#172a39}.paper-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:32px}.paper-col{min-width:0}.paper-col+.paper-col{border-left:1px solid var(--paperLine);padding-left:32px}.paper-title{display:flex;justify-content:space-between;gap:16px;align-items:end;border-bottom:1px solid var(--paperLine);padding-bottom:12px;margin-bottom:18px}.paper-title h3{font:600 21px/1.1 var(--serif);margin:0}.paper-title a{font-size:11px;font-weight:800;color:#23445d}.research-row{display:grid;grid-template-columns:32px 76px 1fr;gap:11px;padding:14px 0;border-bottom:1px solid var(--paperLine)}.research-row .n{font:600 20px var(--serif);color:#28445a}.thumb{height:62px;border-radius:7px;background:linear-gradient(135deg,rgba(10,30,43,.12),rgba(215,166,95,.42)),url('/assets/threshold.webp') 76% 56%/cover}.research-row small,.signal-mini small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#5b6670}.research-row h4,.signal-mini h4{font:600 16px/1.15 var(--serif);margin:4px 0 0;color:#132838}.signal-mini{padding:14px 0;border-bottom:1px solid var(--paperLine)}.signal-mini h4{font-size:17px}.signal-mini p{font-size:12px;color:var(--paperMuted);margin:7px 0 0}.ledger{list-style:none;padding:0;margin:0}.ledger li{position:relative;padding:0 0 20px 23px;margin-left:6px;border-left:1px solid #b5a381}.ledger li:last-child{border-left-color:transparent}.ledger li:before{content:"";position:absolute;left:-5px;top:3px;width:9px;height:9px;border-radius:50%;background:#e9b768;border:1px solid #7d6648}.ledger time{font-size:10px;color:#6e7a83}.ledger p{margin:5px 0 0;font-size:13px;color:#2e414f}
.return-band{padding:76px 0;background:linear-gradient(135deg,#0b2232,#071722);border-top:1px solid var(--line)}.return-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.return-card{border:1px solid var(--line);border-radius:14px;padding:27px;background:rgba(255,255,255,.025)}.return-card h2{font:600 36px/1.06 var(--serif);margin:8px 0 13px}.return-card p{color:#b7c3cc;margin:0 0 22px}.mini-list{list-style:none;margin:0;padding:0}.mini-list li{border-top:1px solid var(--line);padding:12px 0;color:#bdc7ce;font-size:13px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form .full{grid-column:1/-1}.form label{display:block;margin-bottom:6px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#aebbc4}.form input,.form textarea{width:100%;border:1px solid rgba(225,235,241,.18);background:#071a28;border-radius:8px;color:#fff;padding:12px 13px}.form textarea{min-height:120px;resize:vertical}.form-note{font-size:11px;color:#8fa0ab;margin-top:12px}.form button{cursor:pointer}
.footer{padding:34px 0 44px;border-top:1px solid var(--line);background:#04111a}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:start}.footer-brand{font:600 18px var(--serif);letter-spacing:.15em}.footer-copy{color:#83939e;font-size:12px;margin-top:6px}.footer-links{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#aab8c1}.copyright{margin-top:24px;padding-top:17px;border-top:1px solid var(--line);font-size:11px;color:#71828e}
.page-hero{background:linear-gradient(90deg,rgba(4,15,24,.96),rgba(4,15,24,.72)),url('/assets/threshold.webp') center 47%/cover;border-bottom:1px solid var(--line)}.page-hero-inner{padding:86px 0 72px;max-width:880px}.page-hero h1{font-size:clamp(48px,6vw,78px);color:#fff}.page-hero p{max-width:720px;color:#d3dce2;font-size:18px}.page-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#9cabb5}.article-shell{background:var(--paper);color:var(--paperText)}.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:60px;padding:68px 0 92px}.article{max-width:790px}.article h2{font:600 37px/1.08 var(--serif);margin:42px 0 16px}.article h2:first-child{margin-top:0}.article p,.article li{color:#3c4c58;font-size:17px}.article blockquote{margin:35px 0;padding:25px 28px;border-left:4px solid #b77a30;background:#eee7db;font:600 26px/1.33 var(--serif);color:#162b3b}.aside{align-self:start;position:sticky;top:28px}.aside-card{border:1px solid var(--paperLine);border-radius:12px;padding:21px;background:#f0ece4;margin-bottom:14px}.aside-card h3{font:600 21px/1.15 var(--serif);margin:0 0 10px}.aside-card p,.aside-card a{font-size:13px;color:#59656e}.aside-card a{display:block;padding:7px 0;border-top:1px solid var(--paperLine)}.question-list{list-style:none;padding:0;margin:24px 0}.question-list li{display:grid;grid-template-columns:35px 1fr;gap:16px;padding:17px 0;border-top:1px solid var(--paperLine)}.question-list b{font:600 20px var(--serif);color:#98713e}
.signal-list{display:grid;gap:16px}.signal-card{border:1px solid var(--paperLine);border-radius:14px;background:#fbf8f1;padding:24px}.signal-card h2{font-size:31px;margin:8px 0}.signal-card p{font-size:15px}.signal-card details{margin-top:15px;border-top:1px solid var(--paperLine);padding-top:13px}.signal-card summary{cursor:pointer;font-weight:800;color:#28455a}.source{display:inline-flex;margin-top:13px;font-size:12px;font-weight:800;color:#284d68}.build-list{list-style:none;padding:0;margin:0}.build-entry{display:grid;grid-template-columns:145px 1fr;gap:30px;padding:28px 0;border-top:1px solid var(--paperLine)}.build-entry time{font-size:11px;color:#596772;text-transform:uppercase;letter-spacing:.1em}.build-entry h2{font-size:31px;margin:5px 0 8px}.build-entry p{margin:0;color:#4d5a64}.public-change{margin-top:14px;padding:13px 15px;background:#eee8dd;border-radius:8px;font-size:13px;color:#384a57}
.legal-grid{display:grid;grid-template-columns:230px 1fr;gap:50px;padding:64px 0 90px}.toc{position:sticky;top:28px;align-self:start}.toc a{display:block;padding:8px 0;border-bottom:1px solid var(--paperLine);font-size:12px;color:#596772}.legal h2{font:600 30px/1.12 var(--serif);margin:38px 0 12px}.legal h2:first-child{margin-top:0}.legal p,.legal li{color:#42515c}
.progress{position:fixed;z-index:80;top:0;left:0;height:2px;width:0;background:var(--warm)}
@media(max-width:980px){.paper-grid{grid-template-columns:1fr}.paper-col+.paper-col{border-left:0;padding-left:0;border-top:1px solid var(--paperLine);padding-top:28px}.section-head,.return-grid{grid-template-columns:1fr}.article-grid{grid-template-columns:1fr}.aside{position:static;order:-1}.legal-grid{grid-template-columns:1fr}.toc{position:static}.latest-grid{grid-template-columns:1fr 1fr}.latest-card:last-child{grid-column:1/-1}.hero{min-height:616px}}
@media(max-width:720px){.wrap{width:min(100% - 28px,var(--max))}.nav-row{height:66px}.brand{font-size:18px}.nav-links,.nav-cta,.linkedin{display:none}.menu{display:block;margin-left:auto}.hero{min-height:654px;background-image:linear-gradient(180deg,rgba(4,15,24,.95) 0%,rgba(4,15,24,.72) 54%,rgba(4,15,24,.2) 72%,rgba(4,15,24,.72) 100%),url('/assets/threshold-mobile.webp');background-position:center 55%}.hero-inner{min-height:654px;align-items:start;padding-top:55px}.display{font-size:48px;max-width:10ch}.hero-lead{font-size:16px;max-width:33ch}.status{font-size:10px;max-width:34ch;line-height:1.7}.btns{display:grid;grid-template-columns:1fr;width:100%;max-width:380px}.hero-index{display:none}.dark-section{padding:58px 0}.section-head{gap:18px}.section-head h2,.paper h2{font-size:39px}.scenario-tabs{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.scenario{min-width:210px;scroll-snap-align:start}.demo-inner{padding:20px 16px}.trace{grid-template-columns:1fr;gap:19px;padding-left:24px}.trace-line{left:11px;right:auto;top:28px;bottom:17px;width:2px;height:auto;background:linear-gradient(180deg,var(--warm) 0%,var(--warm) 53%,rgba(223,233,240,.55) 53%,rgba(223,233,240,.55) 100%)}.trace-line:after{left:-1px;right:auto;top:53%;bottom:0;width:0;border-top:0;border-left:2px dashed rgba(225,235,241,.55)}.node{padding:0 0 0 25px}.dot{top:5px;left:-19px}.latest-grid{grid-template-columns:1fr}.latest-card:last-child{grid-column:auto}.paper{padding:58px 0}.paper-grid{gap:26px}.research-row{grid-template-columns:30px 70px 1fr}.return-band{padding:58px 0}.return-grid{gap:16px}.return-card{padding:21px}.form{grid-template-columns:1fr}.form .full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.page-hero-inner{padding:58px 0 50px}.page-hero h1{font-size:45px}.page-hero p{font-size:16px}.article-grid{padding:42px 0 70px;gap:23px}.article h2{font-size:32px}.article blockquote{font-size:23px;padding:21px}.build-entry{grid-template-columns:1fr;gap:5px;padding:23px 0}.legal-grid{padding:42px 0 70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}}

.hp{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.research-more{margin:14px 0 0;font-size:12px;color:#5b6670}


/* ===== Interactive homepage v2 ===== */
.interactive-hero{min-height:590px}
.interactive-hero .hero-inner{min-height:590px}
.display-accent{color:var(--warm)}
.home-explainer{padding:76px 0;background:linear-gradient(180deg,#071722,#06131d);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.explainer-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:54px;align-items:end;margin-bottom:28px}
.explainer-heading h2,.home-latest h2{font:600 clamp(38px,4.5vw,60px)/1.02 var(--serif);letter-spacing:-.025em;margin:7px 0 0}
.explainer-heading p{margin:0;color:#b8c4cc;max-width:560px}
.explainer-card{border:1px solid rgba(225,236,243,.18);border-radius:18px;overflow:hidden;background:linear-gradient(180deg,rgba(12,33,49,.92),rgba(6,21,32,.97));box-shadow:var(--shadow)}
.explain-step{padding:26px 28px}
.explain-step+.explain-step{border-top:1px solid var(--line)}
.step-label{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:#dce4e9}
.step-label>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(242,200,120,.55);border-radius:50%;color:var(--warm);font-size:12px;font-weight:800}
.step-label strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.scenario-card{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start;text-align:left;min-height:118px;padding:18px;border:1px solid rgba(225,236,243,.18);border-radius:11px;background:rgba(7,25,37,.68);cursor:pointer;transition:.2s}
.scenario-card:hover{border-color:rgba(242,200,120,.48);transform:translateY(-1px)}
.scenario-card.active{border-color:var(--warm);box-shadow:0 0 0 1px rgba(242,200,120,.28),0 0 26px rgba(242,200,120,.08);background:rgba(15,35,49,.95)}
.scenario-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(225,236,243,.25);border-radius:9px;color:#9fc9e6;font-size:21px}
.scenario-card.active .scenario-icon{border-color:var(--warm);color:var(--warm)}
.scenario-card strong{display:block;font:600 20px/1.1 var(--serif);color:#fff;margin-bottom:8px}
.scenario-card small{display:block;color:#afbdc6;font-size:12px;line-height:1.45}
.story-flow{display:grid;grid-template-columns:1fr 86px 1fr 86px 1fr;align-items:center;gap:0;position:relative}
.story-node{position:relative;min-height:130px;padding:42px 16px 14px;border:1px solid rgba(225,236,243,.13);border-radius:10px;background:rgba(5,20,30,.5)}
.story-node small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#7f929f}
.story-node h3{font:600 21px/1.1 var(--serif);margin:5px 0 7px}
.story-node p{margin:0;color:#b4c1c9;font-size:12px}
.flow-dot{position:absolute;top:14px;left:16px;width:18px;height:18px;border-radius:50%;background:var(--warm);box-shadow:0 0 0 5px rgba(242,200,120,.07),0 0 20px rgba(242,200,120,.35)}
.story-node.changed{border-color:rgba(225,112,99,.32)}
.story-node.changed .flow-dot{background:#e16d61;box-shadow:0 0 0 5px rgba(225,109,97,.07),0 0 18px rgba(225,109,97,.28)}
.story-node.next .flow-dot{display:grid;place-items:center;background:#233847;color:#dce5eb;box-shadow:none;font-size:11px;font-weight:800}
.flow-connector{height:2px;position:relative}
.flow-connector.allowed{background:linear-gradient(90deg,var(--warm),rgba(242,200,120,.55))}
.flow-connector.uncertain{border-top:2px dashed rgba(226,235,241,.42)}
.flow-connector span{position:absolute;left:50%;top:50%;transform:translate(-50%,-56%);font-size:15px;color:#cdd8df;background:#0a1d2b;padding:0 4px}
.decision-step{background:rgba(255,255,255,.018)}
.decision-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.decision{min-width:104px;min-height:46px;padding:0 18px;border:1px solid rgba(225,236,243,.22);border-radius:8px;background:#081c2a;cursor:pointer;font-weight:750}
.decision:hover,.decision.selected{border-color:var(--warm);background:#102b3e;color:#fff}
.decision-result{display:grid;grid-template-columns:38px 1fr;gap:13px;padding:16px;border:1px solid rgba(225,236,243,.13);border-radius:10px;background:rgba(6,21,31,.72)}
.result-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(242,200,120,.55);border-radius:50%;color:var(--warm);font-weight:800}
.decision-result strong{display:block;margin-bottom:3px}
.decision-result p{margin:0;color:#afbdc6;font-size:13px}
.understand-more{margin-top:14px;padding:18px;border-radius:10px;background:rgba(242,200,120,.07);border:1px solid rgba(242,200,120,.25)}
.understand-more>strong{font:600 20px var(--serif);color:var(--cream)}
.understand-more>p{color:#c2ccd3;margin:6px 0 16px;max-width:860px}
.btn.compact{min-height:42px;padding:0 17px}
.home-paths{padding:22px 0 26px;background:#06141e;border-bottom:1px solid var(--line)}
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.path-card{position:relative;min-height:160px;padding:20px 52px 20px 20px;border:1px solid rgba(225,236,243,.13);border-radius:12px;background:linear-gradient(180deg,#0a2131,#081a27);transition:.2s}
.path-card:hover{transform:translateY(-2px);border-color:rgba(242,200,120,.3)}
.path-label,.update-type{display:inline-flex;padding:4px 7px;border-radius:4px;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#0e2231}
.path-label.research,.update-type.research{background:#a9d9ef}
.path-label.signal,.update-type.signal{background:#9ecaf0}
.path-label.build,.update-type.build{background:#e7aa63}
.path-card h2{font:600 24px/1.06 var(--serif);margin:12px 0 8px}
.path-card p{margin:0;color:#aebcc5;font-size:13px}
.path-arrow{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(225,236,243,.2);border-radius:50%}
.home-latest{padding:66px 0 72px;background:var(--paper);color:var(--paperText)}
.latest-simple-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:38px}
.home-latest .kicker{color:#445b6c}
.home-latest h2{color:#172a39;font-size:40px}
.latest-title-row{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--paperLine)}
.text-link{font-size:12px;font-weight:800;color:#294b64}
.update-list{border-bottom:1px solid var(--paperLine)}
.update-row{display:grid;grid-template-columns:82px 1fr 28px;gap:16px;align-items:center;padding:18px 0;border-top:1px solid var(--paperLine)}
.update-row:first-child{border-top:0}
.update-row time{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6a7882}
.update-row h3{font:600 21px/1.1 var(--serif);margin:3px 0 0;color:#172a39}
.involve-panel{display:grid;gap:12px}
.involve-card,.signal-details{border:1px solid var(--paperLine);border-radius:12px;background:#eee8dd;padding:22px}
.involve-card h2{font:600 29px/1.08 var(--serif);color:#172a39;margin:7px 0 10px}
.involve-card p{color:#55636d;margin:0 0 18px;font-size:14px}
.signal-details{padding:0;overflow:hidden}
.signal-details summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;cursor:pointer;list-style:none}
.signal-details summary::-webkit-details-marker{display:none}
.signal-details summary strong{display:block;font:600 20px/1.15 var(--serif);color:#172a39;margin-top:5px}
.signal-form-wrap{padding:0 22px 22px;border-top:1px solid var(--paperLine)}
.signal-form-wrap>p{font-size:13px;color:#55636d}
.compact-form label{color:#40515e}
.compact-form input,.compact-form textarea{background:#faf7f0;color:#172a39;border-color:#c9c2b7}
.compact-form textarea{min-height:100px}

@media(max-width:980px){
  .explainer-heading,.latest-simple-grid{grid-template-columns:1fr}
  .scenario-grid,.path-grid{grid-template-columns:1fr}
  .scenario-card{min-height:auto}
  .story-flow{grid-template-columns:1fr}
  .flow-connector{width:2px;height:34px;margin-left:28px}
  .flow-connector.allowed{background:linear-gradient(180deg,var(--warm),rgba(242,200,120,.55))}
  .flow-connector.uncertain{border-top:0;border-left:2px dashed rgba(226,235,241,.42)}
  .flow-connector span{display:none}
}
@media(max-width:720px){
  .interactive-hero{min-height:620px}
  .interactive-hero .hero-inner{min-height:620px}
  .display{font-size:45px;max-width:11ch}
  .home-explainer{padding:54px 0}
  .explainer-heading{gap:14px}
  .explainer-heading h2{font-size:39px}
  .explainer-card{border-radius:14px}
  .explain-step{padding:20px 16px}
  .scenario-card{grid-template-columns:38px 1fr;padding:15px}
  .scenario-card strong{font-size:19px}
  .story-node{min-height:auto;padding:40px 15px 15px}
  .decision{flex:1;min-width:82px}
  .home-paths{padding:14px 0 18px}
  .path-card{min-height:auto}
  .home-latest{padding:52px 0 58px}
  .latest-title-row{align-items:start}
  .update-row{grid-template-columns:70px 1fr 22px;gap:11px}
  .update-row h3{font-size:19px}
}


/* ===== Purposeful motion layer ===== */
@keyframes heroDrift{
  from{background-position:center 46%}
  to{background-position:center 52%}
}
@keyframes introUp{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes flowSweep{
  from{background-size:0% 100%}
  to{background-size:100% 100%}
}
@keyframes changedPulse{
  0%{box-shadow:0 0 0 0 rgba(225,109,97,.28)}
  55%{box-shadow:0 0 0 12px rgba(225,109,97,0)}
  100%{box-shadow:0 0 0 0 rgba(225,109,97,0)}
}
@keyframes questionReveal{
  from{opacity:.35;transform:translateX(-8px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes resultReveal{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes softGlow{
  0%,100%{box-shadow:0 0 0 1px rgba(242,200,120,.24),0 0 16px rgba(242,200,120,.05)}
  50%{box-shadow:0 0 0 1px rgba(242,200,120,.35),0 0 28px rgba(242,200,120,.12)}
}

.interactive-hero{
  animation:heroDrift 18s ease-in-out infinite alternate;
}
.hero-copy .eyebrow,
.hero-copy .display,
.hero-copy .hero-lead,
.hero-copy .status,
.hero-copy .btns{
  opacity:0;
  animation:introUp .7s cubic-bezier(.2,.7,.2,1) forwards;
}
.hero-copy .display{animation-delay:.08s}
.hero-copy .hero-lead{animation-delay:.18s}
.hero-copy .status{animation-delay:.28s}
.hero-copy .btns{animation-delay:.36s}

.scenario-card.active{
  animation:softGlow 2.6s ease-in-out infinite;
}

.story-flow.flow-active .flow-connector.allowed{
  background:
    linear-gradient(90deg,var(--warm),rgba(242,200,120,.55)) left/0% 100% no-repeat,
    rgba(242,200,120,.12);
  animation:flowSweep .55s ease-out forwards;
}
.story-flow.flow-active .story-node.changed{
  animation:changedPulse .7s ease-out;
}
.story-flow.flow-active .story-node.next{
  animation:questionReveal .55s ease-out .24s both;
}
.decision-result.reveal-result,
.understand-more.reveal-more{
  animation:resultReveal .42s ease-out both;
}

@media (prefers-reduced-motion: reduce){
  .interactive-hero,
  .hero-copy .eyebrow,
  .hero-copy .display,
  .hero-copy .hero-lead,
  .hero-copy .status,
  .hero-copy .btns,
  .scenario-card.active,
  .story-flow.flow-active .flow-connector.allowed,
  .story-flow.flow-active .story-node.changed,
  .story-flow.flow-active .story-node.next,
  .decision-result.reveal-result,
  .understand-more.reveal-more{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}


/* ===== Story explainer ===== */
.story-explainer{padding:76px 0;background:linear-gradient(180deg,#071722,#06131d);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-shell{border:1px solid rgba(225,236,243,.18);border-radius:18px;background:linear-gradient(180deg,rgba(11,31,46,.96),rgba(5,18,28,.98));overflow:hidden;box-shadow:var(--shadow)}
.story-controls{display:grid;grid-template-columns:1fr auto;gap:24px;padding:24px 28px;border-bottom:1px solid var(--line);align-items:end}
.story-step-label{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8397a5;margin-bottom:10px}
.story-scenarios{display:flex;gap:8px;flex-wrap:wrap}
.story-scenario{min-height:58px;padding:10px 14px;border:1px solid rgba(225,236,243,.18);border-radius:9px;background:#081d2b;text-align:left;cursor:pointer}
.story-scenario strong{display:block;font-size:12px;color:#eef3f5}
.story-scenario small{display:block;font-size:10px;color:#91a2ad;margin-top:2px}
.story-scenario:hover,.story-scenario.active{border-color:var(--warm);background:#0e2a3d}
.story-scenario.active{box-shadow:0 0 0 1px rgba(242,200,120,.16)}
.story-actions{display:flex;gap:8px;align-items:center}
.story-stage{padding:24px 28px 28px;position:relative;overflow:hidden}
.story-progress{height:3px;background:rgba(225,236,243,.08);border-radius:99px;overflow:hidden;margin-bottom:22px}
.story-progress-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--warm),#e16d61);transition:width .45s ease}
.story-scene-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.scene-card{position:relative;min-height:260px;padding:16px;border:1px solid rgba(225,236,243,.12);border-radius:12px;background:rgba(5,20,30,.55);opacity:.38;transform:translateY(8px) scale(.985);transition:opacity .4s ease,transform .4s ease,border-color .4s ease,background .4s ease}
.scene-card.active{opacity:1;transform:none;border-color:rgba(242,200,120,.38);background:rgba(11,31,45,.92)}
.scene-card.complete{opacity:.8;transform:none}
.scene-number{font-size:9px;letter-spacing:.14em;color:#6f8492;margin-bottom:12px}
.scene-card small{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#8094a1;margin-bottom:6px}
.scene-card h3{font:600 22px/1.08 var(--serif);margin:0 0 8px}
.scene-card p{font-size:12px;line-height:1.5;color:#adbbc4;margin:0}
.scene-visual{height:86px;position:relative;margin-bottom:14px;border-bottom:1px solid rgba(225,236,243,.08)}
.scene-orb{position:absolute;left:16px;top:30px;width:22px;height:22px;border-radius:50%}
.scene-orb.permission{background:var(--warm);box-shadow:0 0 18px rgba(242,200,120,.45)}
.scene-orb.change{background:#df6d62;box-shadow:0 0 18px rgba(223,109,98,.4)}
.scene-line{position:absolute;left:38px;right:10px;top:40px;height:2px}
.permission-line{background:linear-gradient(90deg,var(--warm),rgba(242,200,120,.08))}
.running-line{background:linear-gradient(90deg,#9bcbe6,rgba(155,203,230,.1))}
.runner-dot{position:absolute;left:10px;top:32px;width:16px;height:16px;border-radius:50%;background:#9bcbe6;box-shadow:0 0 14px rgba(155,203,230,.38)}
.scene-card.active .runner-dot{animation:runnerMove 1.3s ease-in-out infinite alternate}
.change-ripple{position:absolute;left:8px;top:22px;width:38px;height:38px;border:1px solid rgba(223,109,98,.58);border-radius:50%;opacity:0}
.scene-card.active .change-ripple{animation:ripple 1.2s ease-out infinite}
.next-action-box{position:absolute;left:10px;top:23px;padding:8px 10px;border:1px solid rgba(225,236,243,.22);border-radius:6px;font-size:9px;letter-spacing:.12em;color:#dbe4e9}
.question-pulse{position:absolute;right:12px;top:22px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(225,236,243,.28);font-weight:800;color:#dce6ec}
.scene-card.active .question-pulse{animation:questionGlow 1.4s ease-in-out infinite}
.story-caption{margin-top:18px;display:grid;grid-template-columns:70px 240px 1fr;gap:16px;align-items:start;padding:15px 17px;border:1px solid rgba(225,236,243,.12);border-radius:10px;background:#071a28}
.story-caption .caption-step{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--warm)}
.story-caption strong{font:600 18px/1.15 var(--serif)}
.story-caption p{margin:0;color:#9eafb9;font-size:12px}
.story-decision{padding:24px 28px 28px;border-top:1px solid var(--line);background:rgba(255,255,255,.018)}
.story-decision-copy{max-width:760px;margin-bottom:17px}
.story-decision-copy h3{font:600 30px/1.08 var(--serif);margin:5px 0 7px}
.story-decision-copy p{margin:0;color:#a9b7c0}
.story-decision.reveal{animation:storyReveal .45s ease-out both}

@keyframes runnerMove{
  from{left:10px}
  to{left:calc(100% - 28px)}
}
@keyframes ripple{
  0%{opacity:.7;transform:scale(.75)}
  100%{opacity:0;transform:scale(1.55)}
}
@keyframes questionGlow{
  0%,100%{box-shadow:0 0 0 rgba(220,230,236,0)}
  50%{box-shadow:0 0 20px rgba(220,230,236,.22)}
}
@keyframes storyReveal{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

@media(max-width:980px){
  .story-controls{grid-template-columns:1fr}
  .story-actions{justify-content:flex-start}
  .story-scene-grid{grid-template-columns:1fr 1fr}
  .story-caption{grid-template-columns:60px 1fr}
  .story-caption p{grid-column:2}
}
@media(max-width:720px){
  .story-explainer{padding:54px 0}
  .story-shell{border-radius:14px}
  .story-controls,.story-stage,.story-decision{padding-left:16px;padding-right:16px}
  .story-scenarios{display:grid;grid-template-columns:1fr}
  .story-actions{display:grid;grid-template-columns:1fr 1fr}
  .story-actions .btn{width:100%}
  .story-scene-grid{grid-template-columns:1fr}
  .scene-card{min-height:auto}
  .story-caption{grid-template-columns:1fr;gap:5px}
  .story-caption p{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){
  .scene-card,.story-progress-fill,.story-decision{transition:none!important;animation:none!important}
  .scene-card.active .runner-dot,
  .scene-card.active .change-ripple,
  .scene-card.active .question-pulse{animation:none!important}
}


/* ===== Consequence ending ===== */
.story-actions .btn.ghost,
[data-story-replay].btn.ghost{
  border-color:rgba(242,200,120,.58);
  color:#f4e7c7;
  background:rgba(242,200,120,.06);
}
.story-actions .btn.ghost:hover,
[data-story-replay].btn.ghost:hover{
  border-color:var(--warm);
  background:rgba(242,200,120,.12);
  color:#fff;
}
[data-story-replay]:disabled{
  opacity:.42;
  cursor:not-allowed;
  border-color:rgba(225,236,243,.16);
  color:#82939e;
  background:rgba(225,236,243,.03);
}

.consequence-panel{
  padding:24px 28px 28px;
  border-top:1px solid rgba(225,236,243,.14);
  background:linear-gradient(180deg,rgba(28,15,18,.72),rgba(9,18,26,.96));
}
.consequence-label{
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#d79b92;
  margin-bottom:10px;
}
.consequence-screen{
  display:grid;
  grid-template-columns:minmax(240px,.9fr) 1.35fr auto;
  gap:22px;
  align-items:center;
  min-height:170px;
  padding:20px;
  border:1px solid rgba(225,102,91,.28);
  border-radius:12px;
  background:
    radial-gradient(circle at 20% 50%,rgba(214,91,78,.12),transparent 34%),
    rgba(7,17,25,.94);
  overflow:hidden;
}
.consequence-agent{
  position:relative;
  height:88px;
  border-bottom:1px solid rgba(225,236,243,.08);
}
.agent-dot,.agent-target{
  position:absolute;
  top:30px;
  width:20px;height:20px;
  border-radius:50%;
}
.agent-dot{
  left:10px;
  background:#9bcbe6;
  box-shadow:0 0 16px rgba(155,203,230,.34);
}
.agent-target{
  right:12px;
  border:2px solid #e26d60;
  box-shadow:0 0 0 6px rgba(226,109,96,.05),0 0 18px rgba(226,109,96,.2);
}
.agent-path{
  position:absolute;
  left:28px;right:28px;top:39px;
  height:2px;
  background:linear-gradient(90deg,#9bcbe6,rgba(226,109,96,.68));
  transform-origin:left center;
}
.consequence-copy small{
  display:block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#b5847e;
}
.consequence-copy h3{
  font:600 28px/1.05 var(--serif);
  margin:6px 0 8px;
  color:#f7f1e7;
}
.consequence-copy p{
  margin:0;
  color:#b9c2c8;
  font-size:13px;
  max-width:54ch;
}
.consequence-status{
  align-self:start;
  justify-self:end;
  padding:7px 9px;
  border:1px solid rgba(226,109,96,.45);
  border-radius:5px;
  font-size:9px;
  letter-spacing:.14em;
  font-weight:800;
  color:#f0a096;
}
.consequence-lesson{
  margin-top:14px;
  padding:14px 16px;
  border-left:3px solid #e26d60;
  background:rgba(226,109,96,.06);
}
.consequence-lesson strong{
  font:600 19px/1.25 var(--serif);
  color:#f7f1e7;
}
.consequence-lesson p{
  margin:4px 0 0;
  color:#aeb9c1;
  font-size:12px;
}

.consequence-panel.playing{
  animation:consequenceReveal .45s ease-out both;
}
.consequence-panel.playing .agent-dot{
  animation:agentAdvance 1.35s cubic-bezier(.22,.76,.28,1) forwards;
}
.consequence-panel.playing .agent-path{
  animation:pathAdvance 1.35s cubic-bezier(.22,.76,.28,1) forwards;
}
.consequence-panel.playing .agent-target{
  animation:targetHit .55s ease-out 1.18s both;
}
.consequence-panel.playing .consequence-status{
  animation:statusAppear .35s ease-out 1.55s both;
}
.consequence-panel.playing .consequence-copy,
.consequence-panel.playing .consequence-lesson{
  animation:textAftermath .45s ease-out 1.65s both;
}

.consequence-panel.prevented{
  background:linear-gradient(180deg,rgba(10,26,30,.72),rgba(8,18,24,.96));
}
.consequence-panel.prevented .consequence-screen{
  border-color:rgba(131,190,171,.28);
  background:radial-gradient(circle at 20% 50%,rgba(102,176,151,.08),transparent 34%),rgba(7,17,25,.94);
}
.consequence-panel.prevented .agent-dot{
  animation:agentStop .9s ease-out forwards;
}
.consequence-panel.prevented .agent-path{
  animation:pathStop .9s ease-out forwards;
}
.consequence-panel.prevented .agent-target{
  border-color:#6eb79e;
  box-shadow:0 0 0 6px rgba(110,183,158,.05);
}
.consequence-panel.prevented .consequence-status{
  border-color:rgba(110,183,158,.5);
  color:#9ed5c2;
}
.consequence-panel.prevented .consequence-lesson{
  border-left-color:#6eb79e;
  background:rgba(110,183,158,.06);
}

@keyframes consequenceReveal{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}
@keyframes agentAdvance{
  from{left:10px}
  to{left:calc(100% - 34px)}
}
@keyframes pathAdvance{
  from{transform:scaleX(.08);opacity:.45}
  to{transform:scaleX(1);opacity:1}
}
@keyframes targetHit{
  0%{transform:scale(1)}
  55%{transform:scale(1.28);box-shadow:0 0 0 12px rgba(226,109,96,.08),0 0 30px rgba(226,109,96,.35)}
  100%{transform:scale(1)}
}
@keyframes statusAppear{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:none}
}
@keyframes textAftermath{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:none}
}
@keyframes agentStop{
  from{left:10px}
  to{left:58%}
}
@keyframes pathStop{
  from{transform:scaleX(.08);opacity:.4}
  to{transform:scaleX(.58);opacity:.9}
}

@media(max-width:820px){
  .consequence-screen{grid-template-columns:1fr;gap:14px}
  .consequence-status{justify-self:start}
}
@media(max-width:720px){
  .consequence-panel{padding:20px 16px 24px}
  .consequence-copy h3{font-size:24px}
}
@media(prefers-reduced-motion:reduce){
  .consequence-panel.playing,
  .consequence-panel.playing .agent-dot,
  .consequence-panel.playing .agent-path,
  .consequence-panel.playing .agent-target,
  .consequence-panel.playing .consequence-status,
  .consequence-panel.playing .consequence-copy,
  .consequence-panel.playing .consequence-lesson,
  .consequence-panel.prevented .agent-dot,
  .consequence-panel.prevented .agent-path{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}


/* ===== Cinematic single-journey explainer ===== */
.cinematic-shell{
  border:1px solid rgba(225,236,243,.18);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(11,31,46,.97),rgba(5,18,28,.99));
  overflow:hidden;
  box-shadow:var(--shadow);
}
.cinematic-controls{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:end;
  padding:24px 28px;
  border-bottom:1px solid var(--line);
}
.journey-stage{
  position:relative;
  min-height:430px;
  padding:34px 32px 30px;
  overflow:hidden;
  background:
    radial-gradient(circle at 70% 30%,rgba(242,200,120,.05),transparent 32%),
    linear-gradient(180deg,#081b28,#06141e);
}
.journey-sky{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.25;
  background:
    linear-gradient(180deg,transparent 0%,rgba(255,255,255,.025) 48%,transparent 100%);
}
.journey-copy{
  position:relative;
  z-index:2;
  max-width:680px;
  min-height:126px;
}
.journey-step{
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--warm);
  margin-bottom:7px;
}
.journey-copy h3{
  font:600 clamp(30px,3.2vw,48px)/1.03 var(--serif);
  margin:0 0 10px;
}
.journey-copy p{
  margin:0;
  max-width:62ch;
  color:#adbac3;
  font-size:14px;
}
.journey-copy.scene-change{
  animation:journeyText .38s ease-out both;
}
.journey-track-wrap{
  position:relative;
  z-index:2;
  margin:34px 0 24px;
  padding:0 30px;
}
.journey-track{
  position:relative;
  height:124px;
}
.journey-base-line,
.journey-live-line,
.journey-change-line{
  position:absolute;
  left:3%;
  right:3%;
  top:52px;
  height:3px;
  border-radius:99px;
  transform-origin:left center;
}
.journey-base-line{background:rgba(225,236,243,.13)}
.journey-live-line{
  right:auto;
  width:84%;
  background:linear-gradient(90deg,var(--warm),#9bcbe6);
  transform:scaleX(0);
}
.journey-change-line{
  left:47%;
  right:auto;
  width:37%;
  background:linear-gradient(90deg,#dc6e62,#dc6e62 70%,rgba(220,110,98,.12));
  transform:scaleX(0);
}
.journey-node{
  position:absolute;
  top:29px;
  transform:translateX(-50%);
  text-align:center;
  z-index:4;
}
.journey-node small{
  display:block;
  margin-top:26px;
  color:#7f929f;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  white-space:nowrap;
}
.start-node{left:3%}
.change-node{left:47%}
.boundary-node{left:84%}
.result-node{left:97%;opacity:0}
.node-core{
  display:block;
  width:25px;height:25px;
  border-radius:50%;
}
.node-core.warm{
  background:var(--warm);
  box-shadow:0 0 20px rgba(242,200,120,.35);
}
.change-core{
  background:#233746;
  border:2px solid rgba(225,236,243,.3);
}
.change-node.active .change-core{
  background:#dc6e62;
  border-color:#f08f82;
  box-shadow:0 0 22px rgba(220,110,98,.35);
}
.change-wave{
  position:absolute;
  left:50%;top:12px;
  width:28px;height:28px;
  border:1px solid rgba(220,110,98,.65);
  border-radius:50%;
  transform:translate(-50%,-50%);
  opacity:0;
}
.change-node.active .change-wave{animation:journeyRipple 1.2s ease-out infinite}
.boundary-box{
  display:inline-grid;
  place-items:center;
  min-width:52px;height:30px;
  padding:0 8px;
  border:1px solid rgba(225,236,243,.28);
  border-radius:6px;
  color:#dce6ec;
  font-size:9px;
  letter-spacing:.12em;
}
.boundary-question{
  position:absolute;
  left:50%;top:-18px;
  transform:translateX(-50%);
  display:grid;
  place-items:center;
  width:30px;height:30px;
  border-radius:50%;
  border:1px solid rgba(225,236,243,.28);
  background:#0b2030;
  color:#dce6ec;
  font-weight:800;
  opacity:0;
}
.boundary-node.waiting .boundary-question{
  opacity:1;
  animation:questionGlow 1.35s ease-in-out infinite;
}
.result-icon{
  display:grid;
  place-items:center;
  width:32px;height:32px;
  border-radius:50%;
  border:1px solid rgba(226,109,96,.5);
  color:#ef9187;
  background:#1b1a20;
}
.result-node.complete{
  opacity:1;
  animation:resultPop .38s ease-out both;
}
.journey-actor{
  position:absolute;
  left:3%;
  top:33px;
  width:38px;height:38px;
  transform:translateX(-50%);
  z-index:6;
  transition:left 1.4s cubic-bezier(.22,.72,.2,1);
}
.actor-body{
  position:absolute;
  left:10px;top:10px;
  width:18px;height:18px;
  border-radius:50%;
  background:#a8d7ef;
  box-shadow:0 0 18px rgba(168,215,239,.34);
}
.actor-ring{
  position:absolute;
  inset:4px;
  border:1px solid rgba(168,215,239,.25);
  border-radius:50%;
}
.journey-actor small{
  position:absolute;
  top:40px;
  left:50%;
  transform:translateX(-50%);
  font-size:8px;
  color:#7f929f;
  text-transform:uppercase;
  letter-spacing:.1em;
  white-space:nowrap;
}
.actor-body.second{
  background:#c3b0f5;
  box-shadow:0 0 18px rgba(195,176,245,.3);
}
.actor-ring.second{border-color:rgba(195,176,245,.28)}
.handoff{
  position:absolute;
  left:47%;
  top:7px;
  transform:translateX(-50%);
  z-index:7;
}
.handoff span{
  display:inline-block;
  padding:4px 7px;
  border:1px solid rgba(195,176,245,.4);
  border-radius:5px;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#cabcf2;
  background:#0a1c29;
}
.handoff.show{animation:handoffReveal .4s ease-out both}
.journey-caption{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:70px 240px 1fr;
  gap:16px;
  align-items:start;
  padding:15px 17px;
  border:1px solid rgba(225,236,243,.12);
  border-radius:10px;
  background:#071a28;
}
.journey-caption>span{
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--warm);
}
.journey-caption strong{font:600 18px/1.15 var(--serif)}
.journey-caption p{margin:0;color:#9eafb9;font-size:12px}

.cinematic-outcome{
  padding:24px 28px 28px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(27,15,18,.82),rgba(8,17,25,.98));
}
.cinematic-outcome.reveal{animation:outcomeReveal .45s ease-out both}
.outcome-kicker{
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#d69790;
  margin-bottom:10px;
}
.outcome-main{
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;
  align-items:start;
}
.outcome-main small{
  display:block;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#ad7d77;
}
.outcome-main h3{
  font:600 clamp(28px,3vw,42px)/1.05 var(--serif);
  margin:6px 0 8px;
}
.outcome-main p{
  margin:0;
  color:#b8c2c8;
  max-width:65ch;
}
.outcome-status{
  padding:7px 9px;
  border:1px solid rgba(226,109,96,.45);
  border-radius:5px;
  font-size:9px;
  letter-spacing:.14em;
  font-weight:800;
  color:#f0a096;
}
.outcome-lesson{
  margin:18px 0;
  padding:15px 17px;
  border-left:3px solid #e26d60;
  background:rgba(226,109,96,.06);
}
.outcome-lesson strong{
  font:600 19px/1.25 var(--serif);
  color:#f7f1e7;
}
.outcome-lesson p{
  margin:5px 0 0;
  color:#aeb9c1;
  font-size:12px;
}
.cinematic-outcome.prevented{
  background:linear-gradient(180deg,rgba(10,26,30,.8),rgba(8,18,24,.98));
}
.cinematic-outcome.prevented .outcome-status{
  border-color:rgba(110,183,158,.5);
  color:#9ed5c2;
}
.cinematic-outcome.prevented .outcome-lesson{
  border-left-color:#6eb79e;
  background:rgba(110,183,158,.06);
}

@keyframes journeyText{
  from{opacity:.3;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
@keyframes journeyRipple{
  0%{opacity:.7;transform:translate(-50%,-50%) scale(.75)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.75)}
}
@keyframes resultPop{
  from{opacity:0;transform:translateX(-50%) scale(.75)}
  to{opacity:1;transform:translateX(-50%) scale(1)}
}
@keyframes handoffReveal{
  from{opacity:0;transform:translateX(-50%) translateY(-4px)}
  to{opacity:1;transform:translateX(-50%) translateY(0)}
}
@keyframes outcomeReveal{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}

@media(max-width:900px){
  .cinematic-controls{grid-template-columns:1fr}
  .journey-stage{min-height:500px}
  .journey-caption{grid-template-columns:60px 1fr}
  .journey-caption p{grid-column:2}
}
@media(max-width:720px){
  .cinematic-shell{border-radius:14px}
  .cinematic-controls,.journey-stage,.story-decision,.cinematic-outcome{padding-left:16px;padding-right:16px}
  .story-scenarios{display:grid;grid-template-columns:1fr}
  .story-actions{display:block}
  .story-actions .btn{width:100%}
  .journey-stage{min-height:540px;padding-top:26px}
  .journey-track-wrap{padding:0 6px;margin-top:28px}
  .journey-track{height:150px}
  .journey-node small{font-size:7px}
  .journey-caption{grid-template-columns:1fr;gap:5px}
  .journey-caption p{grid-column:auto}
  .outcome-main{grid-template-columns:1fr}
  .outcome-status{justify-self:start}
}
@media(prefers-reduced-motion:reduce){
  .journey-actor{transition:none!important}
  .change-node.active .change-wave,
  .boundary-node.waiting .boundary-question,
  .result-node.complete,
  .handoff.show,
  .journey-copy.scene-change,
  .cinematic-outcome.reveal{animation:none!important}
}


/* ===== Growth Layer v1 ===== */
.authority-disclosure{
  margin:0 0 24px;
  border:1px solid rgba(225,236,243,.15);
  border-radius:10px;
  background:rgba(7,24,35,.55);
}
.authority-disclosure summary{
  cursor:pointer;
  padding:13px 16px;
  font-size:12px;
  font-weight:800;
  color:#d8e2e8;
  list-style:none;
}
.authority-disclosure summary::-webkit-details-marker{display:none}
.authority-disclosure summary:after{
  content:"+";
  float:right;
  color:var(--warm);
}
.authority-disclosure[open] summary:after{content:"−"}
.authority-disclosure>div{
  padding:0 16px 14px;
  border-top:1px solid rgba(225,236,243,.1);
}
.authority-disclosure p{
  margin:11px 0 0;
  color:#aebdc6;
  font-size:13px;
  max-width:780px;
}
.growth-strip{
  padding:18px 0;
  background:#0a1c29;
  border-top:1px solid rgba(225,236,243,.08);
  border-bottom:1px solid rgba(225,236,243,.12);
}
.growth-strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.growth-strip p{
  margin:0;
  color:#aebdc6;
  font-size:13px;
}
.growth-strip strong{color:#edf2f5}
.growth-links{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  white-space:nowrap;
}
.growth-links a{
  color:var(--warm);
  font-size:12px;
  font-weight:800;
}

.project-hero,.work-hero{
  background:
    radial-gradient(circle at 72% 30%,rgba(242,200,120,.08),transparent 30%),
    linear-gradient(180deg,#081a27,#07151f);
}
.meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:9px 18px;
  margin-top:22px;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#8496a1;
}
.project-section,.work-section{
  padding:72px 0;
  background:#071721;
  border-bottom:1px solid var(--line);
}
.project-section.paper-section,.work-section.paper-section{
  background:var(--paper);
  color:var(--paperText);
}
.project-intro-grid,.project-engage-grid,.work-form-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:54px;
  align-items:start;
}
.project-intro-grid h2,.project-heading{
  font:600 clamp(34px,4vw,52px)/1.04 var(--serif);
  margin:8px 0 18px;
}
.project-intro-grid article p,.project-engage-grid article p{
  color:#b4c0c8;
  max-width:70ch;
}
.project-status-card{
  padding:22px;
  border:1px solid rgba(225,236,243,.16);
  border-radius:14px;
  background:linear-gradient(180deg,#0b2232,#081a27);
}
.project-status-card dl{margin:14px 0 0}
.project-status-card dl div{
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  padding:12px 0;
  border-top:1px solid rgba(225,236,243,.1);
}
.project-status-card dt{color:#96a7b2;font-size:12px}
.project-status-card dd{margin:0;color:#eef2f5;font-size:12px;font-weight:800;text-align:right}
.paper-section .kicker{color:#455d6e}
.paper-section .project-heading{color:#172a39}
.project-path-grid,.work-route-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:24px;
}
.project-path{
  min-height:250px;
  padding:22px;
  border:1px solid var(--paperLine);
  border-radius:12px;
  background:#f4efe5;
  color:#172a39;
  transition:.2s;
}
.project-path:hover{transform:translateY(-2px);border-color:#9a8f7d}
.project-path>span,.work-route>span{
  font-size:10px;
  letter-spacing:.14em;
  color:#697b87;
}
.project-path h3,.work-route h3{
  font:600 25px/1.08 var(--serif);
  margin:12px 0 10px;
}
.project-path p{color:#56646e;font-size:13px}
.project-path strong{display:block;margin-top:18px;font-size:12px}
.project-engage-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-self:center;
}
.paper-ghost{border-color:rgba(23,42,57,.35);color:#172a39}
.dark-boundary{background:#06131d}
.dark-boundary .light{color:#eef2f5}
.dark-boundary p{color:#aebbc4;max-width:82ch}

.work-route-grid{
  grid-template-columns:repeat(4,1fr);
}
.work-route{
  min-height:230px;
  padding:20px;
  border:1px solid rgba(225,236,243,.14);
  border-radius:12px;
  background:linear-gradient(180deg,#0a2131,#081a27);
}
.work-route h3{color:#eef2f5}
.work-route p{color:#9eafb9;font-size:13px}
.work-form-grid article{color:#172a39}
.work-form-grid article p{color:#55646e}
.work-boundary{
  margin:22px 0 14px;
  padding:16px;
  border-left:3px solid #a77767;
  background:#e9e1d5;
}
.work-boundary strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.work-boundary p{margin:5px 0 0!important;font-size:13px}
.work-small{font-size:12px}
.work-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:22px;
  border:1px solid var(--paperLine);
  border-radius:14px;
  background:#eee8dd;
}
.work-form .full{grid-column:1/-1}
.work-form label{
  display:block;
  margin-bottom:6px;
  font-size:12px;
  font-weight:800;
  color:#334957;
}
.work-form input,.work-form select,.work-form textarea{
  width:100%;
  min-height:46px;
  padding:11px 12px;
  border:1px solid #c6beb2;
  border-radius:8px;
  background:#faf7f0;
  color:#172a39;
  font:inherit;
}
.work-form textarea{min-height:130px;resize:vertical}
.work-form .form-note{margin:0;color:#64717a;font-size:11px}
.work-form .form-note a{text-decoration:underline}
.hp{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:980px){
  .project-intro-grid,.project-engage-grid,.work-form-grid{grid-template-columns:1fr}
  .project-path-grid{grid-template-columns:1fr}
  .work-route-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .growth-strip-inner{align-items:flex-start;flex-direction:column}
  .growth-links{gap:12px}
  .project-section,.work-section{padding:54px 0}
  .work-route-grid{grid-template-columns:1fr}
  .work-form{grid-template-columns:1fr;padding:17px}
  .work-form .full{grid-column:auto}
  .work-form input,.work-form select,.work-form textarea{font-size:16px}
}


/* ===== Growth Layer v1.1: engagement boundaries ===== */
.funding-boundary,
.engagement-note{
  margin-top:18px;
  padding:15px 17px;
  border:1px solid rgba(225,236,243,.14);
  border-left:3px solid var(--warm);
  border-radius:9px;
  background:rgba(242,200,120,.045);
}
.funding-boundary strong,
.engagement-note strong{
  display:block;
  margin-bottom:5px;
  color:#eef2f5;
  font-size:12px;
  letter-spacing:.02em;
}
.funding-boundary p,
.engagement-note p{
  margin:0;
  color:#9eafb9;
  font-size:12px;
  line-height:1.6;
}
.work-section.paper-section .engagement-note{
  border-color:#d2c8b8;
  border-left-color:#9a7455;
  background:#e9e1d5;
}
.work-section.paper-section .engagement-note strong{color:#243744}
.work-section.paper-section .engagement-note p{color:#5f6c74}


/* ===== v1.3.4 — current build status ===== */
.current-build-status{
  margin:0 0 36px;
  padding:25px;
  border:1px solid rgba(225,236,243,.15);
  border-radius:15px;
  background:
    radial-gradient(circle at 82% 16%,rgba(242,200,120,.06),transparent 30%),
    linear-gradient(160deg,#0a202e,#071923);
}
.current-build-head{
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:34px;
  align-items:end;
  padding-bottom:20px;
  border-bottom:1px solid rgba(225,236,243,.1);
}
.current-build-head span{
  color:var(--warm);
  font-size:9px;
  letter-spacing:.14em;
}
.current-build-head h2{
  margin:8px 0 0;
  font:600 clamp(28px,3.3vw,44px)/1.04 var(--serif);
}
.current-build-head>p{
  margin:0;
  color:#96a8b2;
  font-size:12px;
  line-height:1.65;
}
.current-build-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:18px;
}
.current-build-grid article{
  min-height:190px;
  padding:18px;
  border:1px solid rgba(225,236,243,.1);
  border-radius:10px;
  background:rgba(4,17,25,.34);
}
.current-build-grid span{
  color:#8297a2;
  font-size:8px;
  letter-spacing:.14em;
}
.current-build-grid article:first-child span{color:#a7d8c4}
.current-build-grid article:nth-child(2) span{color:#e4c77f}
.current-build-grid h3{
  margin:26px 0 8px;
  font:600 22px/1.08 var(--serif);
}
.current-build-grid p{
  margin:0;
  color:#8ea1ac;
  font-size:11px;
  line-height:1.6;
}
@media(max-width:900px){
  .current-build-head{grid-template-columns:1fr}
  .current-build-grid{grid-template-columns:1fr}
  .current-build-grid article{min-height:0}
}


/* ===== v1.3.6 — trust, positioning and accessibility ===== */
.project-field-section{
  background:linear-gradient(180deg,#071923,#091c28);
}
.project-field-section .project-heading{
  max-width:900px;
}
.project-field-section>div>p{
  max-width:900px;
  color:#aebbc4;
}
.field-progress{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  align-items:center;
  margin-top:24px;
}
.field-progress span{
  padding:8px 10px;
  border:1px solid rgba(225,236,243,.12);
  border-radius:7px;
  background:rgba(225,236,243,.025);
  color:#c1ccd2;
  font-size:11px;
}
.field-progress b{
  color:#647b87;
  font-weight:400;
}
.field-progress .future-stage{
  opacity:.62;
}
.legal p,.legal li{
  font-size:16px;
  line-height:1.72;
}
.toc a{
  font-size:13px;
  line-height:1.45;
}
@media(max-width:720px){
  .field-progress{
    display:grid;
    grid-template-columns:1fr;
  }
  .field-progress b{
    transform:rotate(90deg);
    text-align:center;
    line-height:1;
  }
}


/* ===== v1.4 readability + Signals contribution ===== */
.kicker,
.page-meta,
.meta-row,
.signal-meta,
.build-entry time,
.current-build-head span,
.current-build-grid span,
.route-subhead,
.impact-label,
.outcome-kicker{
  font-size:10px;
}
.project-status-card dt,
.project-status-card dd,
.work-route p,
.route-experience-copy>p,
.route-experience-action p,
.current-build-grid p,
.signal-card p,
.build-entry p{
  font-size:13px;
  line-height:1.65;
}
.btn,
button,
input,
select,
textarea{
  min-height:44px;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible{
  outline:2px solid var(--warm);
  outline-offset:3px;
}
.signals-contribute{
  padding:72px 0;
  background:
    radial-gradient(circle at 80% 25%,rgba(242,200,120,.055),transparent 32%),
    #071923;
  border-top:1px solid rgba(225,236,243,.10);
}
.signal-contribute-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:48px;
  align-items:start;
}
.signal-contribute-grid h2{
  margin:8px 0 14px;
  font:600 clamp(38px,4.6vw,58px)/1 var(--serif);
}
.signal-contribute-grid>div>p{
  max-width:620px;
  color:#a6b5be;
  font-size:14px;
  line-height:1.7;
}
.signal-contribute-boundary{
  margin-top:20px!important;
  padding:14px 16px;
  border-left:3px solid #9a7455;
  background:rgba(242,200,120,.045);
  color:#9eabb3!important;
  font-size:12px!important;
}
.signals-contribute form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:22px;
  border:1px solid rgba(225,236,243,.14);
  border-radius:14px;
  background:#0a202e;
}
.signal-form-row.full{grid-column:1/-1}
.signal-form-row label{
  display:block;
  margin-bottom:6px;
  color:#c8d3d9;
  font-size:12px;
  font-weight:800;
}
.signal-form-row label span{
  color:#788f9a;
  font-weight:500;
}
.signal-form-row input,
.signal-form-row textarea{
  width:100%;
  padding:11px 12px;
  border:1px solid rgba(225,236,243,.17);
  border-radius:8px;
  background:#061721;
  color:#edf2f5;
  font:inherit;
}
.signal-form-row textarea{
  min-height:130px;
  resize:vertical;
}
.signal-form-note{
  margin:0;
  color:#788f9a;
  font-size:11px;
}
.signal-form-note a{text-decoration:underline}
@media(max-width:850px){
  .signal-contribute-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .signals-contribute{padding:52px 0}
  .signals-contribute form{grid-template-columns:1fr;padding:17px}
  .signal-form-row.full{grid-column:auto}
  .signal-form-row input,.signal-form-row textarea{font-size:16px}
}

.trust-marker{
  margin:18px 0 0!important;
  color:#8095a0!important;
  font-size:12px!important;
}
.trust-marker a{text-decoration:underline}


/* ===== v1.4.1 — Build visibility + route excitement ===== */

/* Replace dark-on-dark Build panel */
.current-build-status.build-pulse{
  margin:0 0 40px;
  padding:30px;
  border:1px solid #d3c9bb;
  border-radius:16px;
  background:
    radial-gradient(circle at 86% 10%,rgba(169,130,77,.09),transparent 28%),
    #f4efe6;
  color:#172a39;
  box-shadow:0 18px 45px rgba(39,51,58,.08);
}
.build-pulse-top{
  display:grid;
  grid-template-columns:1fr auto;
  gap:35px;
  align-items:end;
  padding-bottom:24px;
  border-bottom:1px solid #d8cfc2;
}
.build-date{
  color:#8b6841;
  font-size:10px;
  letter-spacing:.14em;
  font-weight:800;
}
.build-pulse-top h2{
  margin:9px 0 10px;
  color:#172a39;
  font:600 clamp(38px,4.8vw,62px)/.96 var(--serif);
  letter-spacing:-.025em;
}
.build-pulse-top p{
  max-width:700px;
  margin:0;
  color:#586872;
  font-size:14px;
  line-height:1.65;
}
.build-live-mark{
  display:flex;
  gap:8px;
  align-items:center;
  padding:9px 12px;
  border:1px solid #c8bdad;
  border-radius:999px;
  color:#587367;
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em;
}
.build-live-mark i{
  width:8px;height:8px;border-radius:50%;
  background:#6aa386;
  box-shadow:0 0 0 6px rgba(106,163,134,.10);
  animation:buildPulse 1.8s ease-in-out infinite;
}
.build-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:10px;
  align-items:stretch;
  margin-top:22px;
}
.build-flow-card{
  min-height:245px;
  padding:20px;
  border:1px solid #d3c9bb;
  border-radius:12px;
  background:#fbf8f2;
}
.build-card-symbol{
  width:44px;height:44px;
  display:grid;place-items:center;
  border:1px solid #d3c9bb;
  border-radius:12px;
  margin-bottom:28px;
}
.build-card-symbol span{
  width:13px;height:13px;border-radius:50%;
  background:#8096a0;
}
.active-card .build-card-symbol span{background:#6aa386}
.next-card .build-card-symbol span{background:#c2934e}
.review-card .build-card-symbol span{background:#7894a5}
.build-flow-card small{
  display:block;
  color:#71818a;
  font-size:9px;
  letter-spacing:.13em;
  font-weight:800;
}
.active-card small{color:#5d876f}
.next-card small{color:#a47839}
.review-card small{color:#6c8797}
.build-flow-card h3{
  margin:11px 0 9px;
  color:#1c303e;
  font:600 27px/1.05 var(--serif);
}
.build-flow-card p{
  margin:0;
  color:#5c6c75;
  font-size:13px;
  line-height:1.65;
}
.build-flow-arrow{
  align-self:center;
  color:#a89b8d;
  font-size:22px;
}
@keyframes buildPulse{
  50%{box-shadow:0 0 0 10px rgba(106,163,134,0)}
}

@media(max-width:950px){
  .build-pulse-top{grid-template-columns:1fr}
  .build-live-mark{justify-self:start}
  .build-flow{grid-template-columns:1fr}
  .build-flow-arrow{transform:rotate(90deg);text-align:center}
  .build-flow-card{min-height:0}
}
@media(prefers-reduced-motion:reduce){
  .build-live-mark i{animation:none!important}
}




/* ===== v1.6 — consolidated engagement experience ===== */

/* Route choice cards */
.route-choice-grid{
  align-items:stretch;
}
.route-choice{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-width:0;
  min-height:310px;
  position:relative;
  overflow:hidden;
  padding:22px;
  color:inherit;
  text-align:left;
  cursor:pointer;
  font:inherit;
  border:1px solid rgba(225,236,243,.14);
  border-radius:12px;
  background:linear-gradient(180deg,#0a2131,#081a27);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.route-choice::after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg,var(--routeAccent,var(--warm)),transparent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .24s ease;
}
.route-choice:hover{
  transform:translateY(-3px);
  border-color:rgba(242,200,120,.34);
}
.route-choice[aria-pressed="true"]{
  border-color:var(--routeAccent,var(--warm));
  background:
    radial-gradient(circle at 88% 14%,rgba(242,200,120,.075),transparent 30%),
    linear-gradient(180deg,#0d2535,#091c29);
}
.route-choice[aria-pressed="true"]::after{transform:scaleX(1)}
.route-choice>span{
  color:#8ca0ab;
  font-size:11px;
  letter-spacing:.12em;
}
.route-visual{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  margin:20px 0 24px;
  border:1px solid rgba(242,200,120,.25);
  border-radius:13px;
  background:rgba(242,200,120,.04);
  color:#f0d69b;
  font:600 22px/1 var(--serif);
}
.route-subhead{
  display:block;
  margin-bottom:7px;
  color:#91a4af;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.10em;
}
.route-choice h3{
  margin:0 0 11px;
  color:#eef2f5;
  font:600 28px/1.06 var(--serif);
}
.route-choice p{
  min-height:0;
  margin:0;
  color:#a8b7c0;
  font-size:14px;
  line-height:1.6;
}
.route-choice>strong{
  display:block;
  margin-top:22px;
  color:#e7c77e;
  font-size:12px;
}

/* Selected route — one full-width story, not two competing diagrams */
.route-experience{
  --engageAccent:#e2b75e;
  margin-top:20px;
  overflow:hidden;
  border:1px solid rgba(225,236,243,.15);
  border-radius:16px;
  background:
    radial-gradient(circle at 84% 12%,color-mix(in srgb,var(--engageAccent) 10%,transparent),transparent 28%),
    linear-gradient(145deg,#081b29,#071721);
}
.route-experience[data-route-kind="research"]{--engageAccent:#8fc8e1}
.route-experience[data-route-kind="specialist"]{--engageAccent:#82c5a5}
.route-experience[data-route-kind="programme"]{--engageAccent:#a99bd8}
.route-experience[data-route-kind="funding"]{--engageAccent:#e2b75e}

.route-experience-idle{
  min-height:245px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:38px;
  text-align:center;
}
.route-experience-idle>span{
  color:#e2b75e;
  font-size:11px;
  letter-spacing:.14em;
}
.route-experience-idle h3{
  margin:10px 0 9px;
  font:600 34px/1.05 var(--serif);
}
.route-experience-idle p{
  max-width:680px;
  margin:0;
  color:#a3b3bc;
  font-size:14px;
  line-height:1.6;
}

.engage-story{
  min-width:0;
}
.engage-summary{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:0;
  border-bottom:1px solid rgba(225,236,243,.10);
}
.engage-summary-copy{
  min-width:0;
  padding:34px 36px 30px;
}
.engage-kicker{
  display:block;
  color:var(--engageAccent);
  font-size:11px;
  letter-spacing:.13em;
}
.engage-summary-copy h3{
  max-width:820px;
  margin:9px 0 12px;
  color:#edf2f5;
  font:600 clamp(36px,4vw,54px)/1.02 var(--serif);
  letter-spacing:-.02em;
}
.engage-summary-copy>p{
  max-width:760px;
  margin:0;
  color:#b0bdc5;
  font-size:15px;
  line-height:1.7;
}
.route-possibilities{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:22px;
}
.route-possibility{
  padding:9px 11px;
  border:1px solid rgba(225,236,243,.13);
  border-radius:8px;
  background:rgba(225,236,243,.025);
  color:#c2cdd3;
  font-size:12px;
}
.engage-why{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:32px;
  border-left:1px solid rgba(225,236,243,.10);
  background:rgba(4,16,24,.24);
}
.engage-why span{
  color:#8da1ac;
  font-size:11px;
  letter-spacing:.12em;
}
.engage-why p{
  margin:12px 0 0;
  color:#d6e0e5;
  font:500 20px/1.45 var(--serif);
}

.engage-journey{
  padding:30px 34px 32px;
}
.engage-journey-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:24px;
  padding-bottom:16px;
}
.engage-journey-head span{
  color:var(--engageAccent);
  font-size:11px;
  letter-spacing:.13em;
}
.engage-journey-head strong{
  color:#dce6ea;
  font-size:14px;
}
.engage-journey-steps{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  gap:14px;
  align-items:stretch;
}
.engage-journey-steps article{
  min-width:0;
  min-height:230px;
  padding:21px;
  border:1px solid rgba(225,236,243,.11);
  border-radius:11px;
  background:#081b28;
}
.engage-result-card{
  border-color:color-mix(in srgb,var(--engageAccent) 36%,rgba(225,236,243,.11))!important;
  background:
    radial-gradient(circle at 86% 14%,color-mix(in srgb,var(--engageAccent) 10%,transparent),transparent 34%),
    #0a1d29!important;
}
.engage-step-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  margin-bottom:30px;
  border:1px solid color-mix(in srgb,var(--engageAccent) 40%,transparent);
  border-radius:11px;
  color:var(--engageAccent);
  background:color-mix(in srgb,var(--engageAccent) 6%,transparent);
  font:600 20px/1 var(--serif);
}
.engage-journey-steps small{
  display:block;
  color:#8da0ab;
  font-size:10px;
  letter-spacing:.12em;
}
.engage-journey-steps h4{
  margin:10px 0 9px;
  color:#edf2f5;
  font:600 25px/1.06 var(--serif);
  overflow-wrap:anywhere;
}
.engage-journey-steps p{
  margin:0;
  color:#a5b5be;
  font-size:13px;
  line-height:1.65;
}
.engage-arrow{
  align-self:center;
  color:#718793;
  font-size:22px;
}
.engage-action-bar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:20px 34px;
  border-top:1px solid rgba(225,236,243,.10);
  background:rgba(3,14,22,.25);
}
.engage-action-bar p{
  max-width:760px;
  margin:0;
  color:#93a7b1;
  font-size:12px;
  line-height:1.55;
}
.engage-action-bar p strong{color:#cdd8dd}
.engage-action-bar .btn{min-width:240px}

.route-experience-content.route-reveal{
  animation:routeReveal .3s ease-out both;
}
@keyframes routeReveal{
  from{opacity:.3;transform:translateY(7px)}
  to{opacity:1;transform:none}
}
.route-form-hint{
  padding:11px 13px;
  border-left:3px solid #9a7455;
  background:#e9e1d5;
  color:#53626b!important;
  font-size:13px!important;
}
[data-funding-boundary][hidden]{display:none!important}

/* Restore useful readable copy floors removed with old route patches */
.project-intro-grid article p,
.project-engage-grid article p,
.current-build-grid p,
.signal-card p,
.build-entry p{
  font-size:14px;
  line-height:1.68;
}

/* Site-wide dark-surface legibility pass */
.homepage-story-v13 .hero-positioning,
.homepage-story-v13 .hero-proofline span,
.homepage-story-v13 .changed-title span,
.homepage-story-v13 .whats-changed small,
.case-player-kicker,
.case-step small,
.case-no,
.case-question-strip span,
.build-date,
.build-flow-card small{
  font-size:10px!important;
}
.homepage-story-v13 .whats-changed b{
  font-size:12px!important;
}
.homepage-story-v13 .whats-changed a span{
  font-size:11px!important;
  line-height:1.5!important;
}
.muted,
.page-meta,
.signal-meta{
  color:#8fa2ad;
}

@media(max-width:1100px){
  .work-route-grid{grid-template-columns:1fr 1fr}
  .engage-summary{grid-template-columns:1fr}
  .engage-why{
    border-left:0;
    border-top:1px solid rgba(225,236,243,.10);
  }
}
@media(max-width:850px){
  .engage-journey-steps{grid-template-columns:1fr}
  .engage-arrow{
    transform:rotate(90deg);
    text-align:center;
  }
  .engage-journey-steps article{min-height:0}
  .engage-journey-head{
    flex-direction:column;
    gap:7px;
  }
  .engage-action-bar{grid-template-columns:1fr}
  .engage-action-bar .btn{width:100%;min-width:0}
}
@media(max-width:720px){
  .work-route-grid{grid-template-columns:1fr}
  .route-choice{min-height:0}
  .engage-summary-copy,.engage-why{padding:24px 20px}
  .engage-summary-copy h3{font-size:36px}
  .engage-why p{font-size:18px}
  .engage-journey{padding:24px 20px}
  .engage-action-bar{padding:18px 20px}
}
@media(prefers-reduced-motion:reduce){
  .route-choice,.route-choice::after,.route-experience-content.route-reveal{
    transition:none!important;
    animation:none!important;
  }
}


/* ===== v1.7 — human + targeted interaction pass ===== */

/* PROJECT: human status, not a control panel */
.project-standing{
  overflow:hidden;
  border:1px solid rgba(225,236,243,.16);
  border-radius:15px;
  background:
    radial-gradient(circle at 88% 10%,rgba(226,183,94,.055),transparent 28%),
    linear-gradient(180deg,#0b2232,#081a27);
}
.standing-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  padding:22px 22px 17px;
  border-bottom:1px solid rgba(225,236,243,.10);
}
.standing-head .kicker{margin:0}
.standing-head p{
  margin:6px 0 0;
  color:#8fa3ae;
  font-size:12px;
}
.standing-pulse{
  flex:none;
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 9px;
  border:1px solid rgba(118,180,151,.24);
  border-radius:999px;
  color:#9bc7b2;
  font-size:9px;
  letter-spacing:.10em;
}
.standing-pulse i{
  width:7px;height:7px;border-radius:50%;
  background:#76b497;
  box-shadow:0 0 0 5px rgba(118,180,151,.08);
}
.standing-list{padding:0 22px}
.standing-row{
  appearance:none;
  width:100%;
  min-height:58px;
  display:grid;
  grid-template-columns:1fr auto 24px;
  gap:16px;
  align-items:center;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(225,236,243,.09);
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.standing-row span{
  color:#a8b8c0;
  font-size:14px;
}
.standing-row strong{
  color:#edf2f5;
  font-size:14px;
}
.standing-row b{
  color:#6f8793;
  font-size:18px;
  font-weight:400;
  text-align:center;
}
.standing-row:hover span,
.standing-row.active span{color:#dce6eb}
.standing-row.active strong{color:#f0d99f}
.standing-detail{
  margin:18px 22px 22px;
  padding:17px 18px;
  border:1px solid rgba(226,183,94,.18);
  border-radius:10px;
  background:rgba(226,183,94,.035);
}
.standing-detail span{
  color:#e2b75e;
  font-size:9px;
  letter-spacing:.13em;
}
.standing-detail p{
  margin:8px 0 0;
  color:#c0ccd2;
  font-size:13px;
  line-height:1.65;
}

/* RESEARCH: clickable real-life examples */
.research-questions{
  margin:25px 0 34px;
}
.research-question{
  border-top:1px solid var(--paperLine);
}
.research-question:last-of-type{
  border-bottom:1px solid var(--paperLine);
}
.research-question summary{
  list-style:none;
  display:grid;
  grid-template-columns:38px 1fr auto;
  gap:14px;
  align-items:center;
  padding:18px 0;
  cursor:pointer;
}
.research-question summary::-webkit-details-marker{display:none}
.research-question summary b{
  color:#98713e;
  font:600 19px/1 var(--serif);
}
.research-question summary span{
  color:#263a48;
  font-size:17px;
  font-weight:700;
}
.research-question summary i{
  color:#88765f;
  font-size:20px;
  font-style:normal;
}
.research-question[open] summary i{transform:rotate(45deg)}
.research-question>p{
  margin:-3px 0 19px 52px;
  padding:15px 17px;
  border-left:3px solid #b78a4f;
  background:#eee7dc;
  color:#465762!important;
  font-size:15px!important;
  line-height:1.65!important;
}
.research-case-cta{
  margin-top:24px;
  padding:19px 20px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  border:1px solid #d6cbbc;
  border-radius:11px;
  background:#f4efe6;
}
.research-case-cta span{
  display:block;
  color:#8f6d43;
  font-size:10px;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.research-case-cta strong{
  display:block;
  margin-top:5px;
  color:#233846;
  font:600 21px/1.12 var(--serif);
}

/* BUILD: let visitors choose the record they care about */
.build-filter{
  margin:0 0 22px;
  padding:19px 20px;
  border:1px solid var(--paperLine);
  border-radius:12px;
  background:#f3eee5;
}
.build-filter>div:first-child{
  display:flex;
  gap:14px;
  align-items:baseline;
  flex-wrap:wrap;
}
.build-filter>div:first-child span{
  color:#947044;
  font-size:10px;
  letter-spacing:.13em;
}
.build-filter>div:first-child strong{
  color:#273b48;
  font-size:14px;
}
.build-filter-buttons{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}
.build-filter-buttons button{
  appearance:none;
  min-height:38px;
  padding:8px 12px;
  border:1px solid #cec4b7;
  border-radius:999px;
  background:#fbf8f2;
  color:#55656f;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.build-filter-buttons button:hover,
.build-filter-buttons button.active{
  border-color:#9b7950;
  background:#eadfce;
  color:#263a47;
}
.build-filter>p{
  margin:12px 0 0;
  color:#77848b;
  font-size:11px;
}
.build-entry[hidden]{display:none!important}
.public-change strong{
  display:block;
  margin-bottom:4px;
  color:#8c693f;
}

/* Human wording gets room to breathe */
.project-intro-grid article p,
.project-engage-grid article p,
.build-entry p{
  font-size:15px;
  line-height:1.7;
}

@media(max-width:720px){
  .standing-head{flex-direction:column}
  .standing-row{
    grid-template-columns:1fr auto 20px;
    gap:9px;
  }
  .standing-row span,.standing-row strong{font-size:13px}
  .research-question summary{
    grid-template-columns:30px 1fr auto;
    gap:10px;
  }
  .research-question>p{margin-left:40px}
  .research-case-cta{grid-template-columns:1fr}
  .research-case-cta .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .research-question summary i{transition:none!important}
}


/* ==========================================================
   v2.3 — SITE-WIDE MOBILE CLARITY
   Clickable things must look clickable.
   ========================================================== */

.mobile-tap-cue,
.mobile-card-cue,
.mobile-row-cue,
.mobile-details-cue{
  display:none;
}

@media(max-width:760px){

  /* Less oversized page intros; content starts sooner. */
  .page-hero-inner{
    padding:44px 0 40px!important;
  }

  .page-hero h1{
    font-size:clamp(39px,11.5vw,48px)!important;
    line-height:.96!important;
    letter-spacing:-.025em;
  }

  .page-hero p{
    font-size:15px!important;
    line-height:1.6!important;
  }

  /* Work page hero boundary phrases become readable chips. */
  .page-hero .micro-row,
  .page-hero .microcopy-row{
    gap:8px!important;
    flex-wrap:wrap!important;
  }

  /* Work route cards: compact and explicitly actionable. */
  .route-choice{
    position:relative!important;
    min-height:0!important;
    padding:20px 18px 18px!important;
    text-align:left!important;
    cursor:pointer!important;
  }

  .route-choice>span:first-child{
    font-size:10px!important;
  }

  .route-choice .route-visual{
    width:60px!important;
    height:60px!important;
    margin:16px 0 18px!important;
    font-size:30px!important;
  }

  .route-choice .route-subhead{
    font-size:9px!important;
    letter-spacing:.14em!important;
  }

  .route-choice h3{
    max-width:92%!important;
    margin:8px 0 8px!important;
    font-size:clamp(29px,8.5vw,38px)!important;
    line-height:1!important;
  }

  .route-choice p{
    margin:0!important;
    font-size:14px!important;
    line-height:1.55!important;
  }

  .route-choice>strong{
    display:block!important;
    margin-top:15px!important;
    padding-right:120px!important;
    color:#e6c677!important;
    font-size:12px!important;
  }

  .mobile-tap-cue{
    display:inline-flex!important;
    position:absolute;
    right:16px;
    bottom:15px;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 9px;
    border:1px solid rgba(226,183,94,.32);
    border-radius:999px;
    color:#d8c18a;
    background:rgba(226,183,94,.035);
    font-size:8px;
    font-weight:800;
    letter-spacing:.06em;
  }

  .route-choice[aria-pressed="true"] .mobile-tap-cue{
    color:#102532;
    background:#e8d7ad;
    border-color:#e8d7ad;
  }

  /* Project navigation cards: say what tapping does. */
  .project-path{
    position:relative!important;
    padding-bottom:48px!important;
  }

  .mobile-card-cue{
    display:inline-flex!important;
    position:absolute;
    left:20px;
    bottom:17px;
    color:#7a5b28;
    font-size:10px;
    font-weight:800;
  }

  /* Current-position rows are buttons; show that clearly. */
  .standing-row{
    position:relative!important;
    padding-bottom:31px!important;
  }

  .mobile-row-cue{
    display:block!important;
    position:absolute;
    left:16px;
    bottom:9px;
    color:#8296a1;
    font-size:8px;
    font-weight:700;
    letter-spacing:.04em;
  }

  /* Details/accordion rows: explicit mobile affordance. */
  details summary{
    position:relative;
    padding-right:90px!important;
    cursor:pointer!important;
  }

  .mobile-details-cue{
    display:inline-block!important;
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    color:#6b8797;
    font-size:8px;
    font-weight:800;
    white-space:nowrap;
  }

  details[open] .mobile-details-cue{
    color:#9f7f43;
  }

  /* Signal cards: avoid dense wall of text before source/action. */
  .signal-card{
    padding:20px 18px!important;
  }

  .signal-card h2{
    font-size:clamp(27px,7.8vw,34px)!important;
    line-height:1.03!important;
  }

  .signal-card p{
    font-size:14px!important;
    line-height:1.55!important;
  }

  /* Build filters stay usable instead of wrapping into a dense block. */
  .build-filter-buttons{
    display:flex!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    padding-bottom:6px!important;
    scroll-snap-type:x proximity;
  }

  .build-filter-buttons button{
    flex:0 0 auto!important;
    scroll-snap-align:start;
    white-space:nowrap!important;
  }

  /* Shared touch targets. */
  button,
  .btn,
  .project-path,
  details summary{
    -webkit-tap-highlight-color:rgba(226,183,94,.12);
  }
}


/* ==========================================================
   v2.3.1 — MOBILE OVERFLOW + CLARITY CORRECTION
   Fix live phone regressions seen after v2.3.
   ========================================================== */

html, body{
  max-width:100%;
  overflow-x:hidden;
}

@media(max-width:760px){

  /* Universal mobile containment */
  body,
  main,
  section,
  .wrap,
  .page-shell,
  .page-hero,
  .page-hero-inner,
  .content-grid,
  .content-card,
  .project-shell,
  .build-shell,
  .build-current,
  .build-current-grid,
  .build-filter-shell,
  .build-feed,
  .build-entry{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  img,
  svg,
  video,
  canvas{
    max-width:100%!important;
    height:auto;
  }

  /* Never let long display headings create viewport overflow */
  h1,h2,h3,h4,p,li,blockquote,strong,span{
    overflow-wrap:anywhere;
    word-break:normal;
  }

  /* --------------------------------------------------------
     WORK WITH ENTRY I
     -------------------------------------------------------- */

  .page-hero-inner{
    padding:38px 0 34px!important;
  }

  .page-hero h1{
    max-width:100%!important;
    font-size:clamp(38px,10.4vw,46px)!important;
    line-height:.97!important;
  }

  .page-hero p{
    max-width:100%!important;
    font-size:14px!important;
    line-height:1.55!important;
  }

  .route-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
  }

  .route-choice{
    width:100%!important;
    min-height:0!important;
    padding:16px 16px 54px!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }

  .route-choice .route-visual{
    width:52px!important;
    height:52px!important;
    margin:10px 0 14px!important;
    font-size:26px!important;
  }

  .route-choice .route-subhead{
    margin-top:0!important;
    font-size:8px!important;
  }

  .route-choice h3{
    margin:6px 0 7px!important;
    max-width:100%!important;
    font-size:clamp(26px,7.4vw,34px)!important;
    line-height:1.02!important;
  }

  .route-choice p{
    max-width:100%!important;
    font-size:13px!important;
    line-height:1.48!important;
  }

  .route-choice>strong{
    margin-top:12px!important;
    padding-right:0!important;
    max-width:72%!important;
    font-size:11px!important;
    line-height:1.35!important;
  }

  .mobile-tap-cue{
    display:inline-flex!important;
    right:14px!important;
    bottom:14px!important;
    min-height:30px!important;
    padding:6px 8px!important;
    font-size:7px!important;
    z-index:5!important;
  }

  /* --------------------------------------------------------
     BUILD LOG — horizontal overflow correction
     -------------------------------------------------------- */

  .build-page,
  .build-main,
  .build-current,
  .build-current-grid,
  .build-current-card,
  .build-filter-shell,
  .build-feed,
  .build-entry,
  .build-entry-inner{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .build-current{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .build-current-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .build-current-card{
    margin:0!important;
    padding:18px 16px!important;
    overflow:hidden!important;
  }

  .build-current-card h2,
  .build-current-card h3{
    max-width:100%!important;
    font-size:clamp(31px,8.8vw,40px)!important;
    line-height:1!important;
  }

  .build-current-card p{
    max-width:100%!important;
    font-size:13px!important;
    line-height:1.5!important;
  }

  .build-filter-shell{
    margin:18px 0 0!important;
    padding:16px!important;
    overflow:hidden!important;
  }

  .build-filter-shell h2,
  .build-filter-shell h3{
    max-width:100%!important;
    font-size:19px!important;
    line-height:1.25!important;
  }

  .build-filter-buttons{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 0 8px!important;
    margin:0!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .build-filter-buttons::-webkit-scrollbar{
    display:none;
  }

  .build-filter-buttons button{
    flex:0 0 auto!important;
    min-width:auto!important;
    max-width:none!important;
    white-space:nowrap!important;
    padding:9px 13px!important;
    font-size:11px!important;
  }

  .build-feed{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .build-entry{
    overflow:hidden!important;
  }

  .build-entry-inner{
    padding:18px 0!important;
  }

  .build-entry h2,
  .build-entry h3{
    max-width:100%!important;
    font-size:clamp(30px,8.3vw,39px)!important;
    line-height:1!important;
  }

  .build-entry p{
    max-width:100%!important;
    font-size:13px!important;
    line-height:1.52!important;
  }

  .build-entry .public-note,
  .build-entry .claim-box{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:14px!important;
    box-sizing:border-box!important;
  }

  /* --------------------------------------------------------
     Generic cards/sections — stop right-edge clipping
     -------------------------------------------------------- */

  .card,
  .panel,
  .content-card,
  .project-path,
  .standing-row,
  .signal-card,
  details{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .wrap{
    width:auto!important;
    margin-left:16px!important;
    margin-right:16px!important;
  }

  /* Keep full-bleed cinematic sections exempt */
  #experience .wrap{
    margin-left:14px!important;
    margin-right:14px!important;
  }
}


/* ==========================================================
   v2.4 — READABILITY + ENERGY
   Less text, stronger rhythm, clearer action.
   ========================================================== */
:root{--reading-width:68ch}
.page-hero p,.chapter-copy,.project-copy,.signal-card p,.content-card p{max-width:var(--reading-width)}

.plain-boundary-disclosure{
  margin:18px 0 22px;
  border:1px solid rgba(159,132,76,.22);
  border-radius:12px;
  background:rgba(255,255,255,.018);
  overflow:hidden;
}
.plain-boundary-disclosure summary{
  cursor:pointer;
  padding:14px 16px;
  color:#d7c08a;
  font-weight:800;
}
.plain-boundary-disclosure p{
  margin:0;
  padding:0 16px 16px;
  color:#9babb2;
  font-size:12px;
  line-height:1.55;
}

.route-choice,.project-path,.signal-card,.case-choice,.standing-row,.content-card{
  box-shadow:0 18px 38px rgba(2,11,17,.08),inset 0 1px 0 rgba(255,255,255,.025);
}
.route-choice,.project-path,.case-choice{
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.route-choice:hover,.project-path:hover,.case-choice:hover{transform:translateY(-2px)}

.project-heading::after,.content h2::after,.article h2::after{
  content:"";
  display:block;
  width:42px;
  height:2px;
  margin-top:12px;
  background:linear-gradient(90deg,#d8b15e,#7da9bc);
  opacity:.72;
}
main a:not(.btn):not(.nav-link){text-underline-offset:3px}

@media(max-width:760px){
  .page-hero p,.chapter-copy,.content p,.article p,.signal-card p,.project-copy{
    font-size:14px!important;
    line-height:1.5!important;
  }
  .page-hero{min-height:0!important}
  .page-hero-inner{padding-top:34px!important;padding-bottom:30px!important}
  .project-heading,.content h2,.article h2{
    font-size:clamp(29px,8.3vw,38px)!important;
    line-height:1.02!important;
  }
  .route-choice,.project-path,.signal-card,.case-choice,.content-card{border-radius:14px!important}
  .plain-boundary-disclosure summary{
    min-height:48px;
    display:flex;
    align-items:center;
  }
  main section{padding-top:42px!important;padding-bottom:42px!important}
  .route-choice p{max-width:88%!important}
  .standing-row{
    background:radial-gradient(circle at 94% 12%,rgba(125,169,188,.06),transparent 30%),rgba(255,255,255,.012)!important;
  }
  .signal-card{padding:18px 16px!important}
  .build-current-card{min-height:0!important}
}


/* ==========================================================
   v2.5 — PROGRESSIVE FOCUS
   Essential first. Depth on demand.
   ========================================================== */

.progressive-detail{
  margin-top:18px;
  border:1px solid rgba(135,158,170,.18);
  border-radius:12px;
  overflow:hidden;
  background:rgba(255,255,255,.014);
}
.progressive-detail>summary{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 15px;
  cursor:pointer;
  color:#c6d2d7;
  font-size:11px;
  font-weight:800;
  list-style:none;
}
.progressive-detail>summary::-webkit-details-marker{display:none}
.progressive-detail>summary::after{
  content:"+";
  color:#d8b15e;
  font-size:20px;
  font-weight:400;
}
.progressive-detail[open]>summary::after{content:"−"}

.homepage-more-signals-grid,
.build-about-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:0 14px 14px;
}
.build-older-list{
  margin:0;
  padding:0 14px 14px;
  list-style:none;
}

@media(max-width:760px){
  .homepage-more-signals-grid,
  .build-about-grid{
    grid-template-columns:1fr;
  }

  .signals-story .signal-strip{
    grid-template-columns:1fr!important;
  }

  /* Public Path becomes a quick map instead of four mini essays. */
  .public-path-grid article{
    padding:16px!important;
  }
  .public-path-grid article p{
    display:none!important;
  }
  .public-path-grid article h3{
    margin-bottom:8px!important;
    font-size:clamp(24px,7vw,31px)!important;
  }
  .public-path-grid article a{
    display:inline-block;
    margin-top:3px!important;
  }

  /* Mobile Work page: route first, form second. */
  .progressive-work-form[hidden]{
    display:none!important;
  }

  /* Case Lab: keep the main action visually strongest. */
  .case-secondary-controls{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .case-secondary-controls [data-case-auto],
  .case-secondary-controls .case-skip{
    min-height:38px!important;
    opacity:.58!important;
  }
}


/* ==========================================================
   v2.6 — FOCUSED PAGE FLOW
   One stage, then the next.
   ========================================================== */

/* Shared progressive panels */
.build-progress-inner,
.project-depth-inner,
.research-context-grid,
.signals-more-grid{
  padding:0 16px 16px;
}

.research-context-grid,
.signals-more-grid{
  display:grid;
  gap:14px;
}

.route-change,
.case-change{
  appearance:none;
  min-height:40px;
  margin-top:16px;
  padding:8px 12px;
  border:1px solid rgba(154,181,194,.22);
  border-radius:8px;
  background:rgba(255,255,255,.018);
  color:#9fb2bb;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}

/* CASE LAB */
body.case-lab-focus .case-hero,
body.case-lab-focus .case-picker-section,
body.case-lab-focus .case-challenge,
body.case-lab-focus .footer{
  display:none!important;
}

body.case-lab-focus .case-play-section{
  min-height:100svh;
  padding-top:28px!important;
  padding-bottom:28px!important;
  background:#061722;
}

body.case-lab-focus .case-play-section>.wrap{
  width:min(1100px,calc(100% - 40px));
}

body.case-lab-focus .case-player{
  margin:0 auto;
}

body.case-lab-focus .case-timeline .case-step:not(.active){
  display:none!important;
}

body.case-lab-focus .case-player[data-phase="result"] .case-timeline{
  display:none!important;
}

/* WORK WITH ENTRY I */
body.work-route-focus .work-hero,
body.work-route-focus .route-choice-grid{
  display:none!important;
}

body.work-route-focus .work-section{
  padding-top:28px!important;
}

body.work-route-focus [data-route-experience]{
  max-width:960px;
  margin:0 auto;
}

.progressive-work-form[hidden]{
  display:none!important;
}

/* BUILD */
.build-progress-disclosure{
  margin-top:24px;
}
.build-progress-inner .build-filter{
  margin-top:0!important;
}
.build-progress-inner .build-list{
  margin-top:16px;
}

/* PROJECT */
.project-depth-disclosure{
  margin:30px auto 0;
  max-width:1180px;
}
.project-depth-inner>section{
  margin:0!important;
}

/* RESEARCH */
.research-context-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

/* SIGNALS */
.signals-more-grid{
  grid-template-columns:1fr;
}

/* Mobile focus */
@media(max-width:760px){
  body.case-lab-focus .site-nav{
    position:relative;
  }

  body.case-lab-focus .case-play-section{
    padding-top:12px!important;
    padding-bottom:18px!important;
  }

  body.case-lab-focus .case-play-section>.wrap{
    width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }

  body.case-lab-focus .case-player-top{
    padding:16px!important;
  }

  body.case-lab-focus .case-player-top h2{
    font-size:clamp(28px,8vw,36px)!important;
  }

  body.case-lab-focus .case-timeline{
    margin-top:10px!important;
  }

  body.work-route-focus .work-section{
    padding-top:16px!important;
  }

  body.work-route-focus [data-route-experience]{
    margin-left:0!important;
    margin-right:0!important;
  }

  .build-progress-inner,
  .project-depth-inner,
  .research-context-grid,
  .signals-more-grid{
    padding-left:12px;
    padding-right:12px;
  }

  .research-context-grid{
    grid-template-columns:1fr;
  }

  .project-depth-inner>section{
    padding-top:30px!important;
    padding-bottom:30px!important;
  }
}


/* ==========================================================
   v2.6.8 — DEEP READABILITY + SPACING QA
   Fix light-background disclosure contrast, microtext,
   stretched grid items, and several mobile readability issues.
   ========================================================== */

/* Generic progressive disclosure: readable, compact, never stretched. */
.progressive-detail{
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
}

.progressive-detail>summary{
  min-height:50px!important;
  padding:13px 16px!important;
  font-size:14px!important;
  line-height:1.35!important;
  letter-spacing:0!important;
}

/* RESEARCH NOTE — light paper needs its own disclosure styling. */
.article-grid{
  align-items:start!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:44px!important;
}

.research-context-disclosure{
  align-self:start!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin-top:0!important;
  border-color:#d7cbbc!important;
  background:#f3ede3!important;
  box-shadow:0 12px 28px rgba(45,55,61,.07)!important;
}

.research-context-disclosure>summary{
  color:#2f4858!important;
  font-size:15px!important;
  font-weight:800!important;
  padding:17px 18px!important;
}

.research-context-disclosure>summary::after{
  color:#b47a2e!important;
  font-size:22px!important;
}

.research-context-grid{
  grid-template-columns:1fr!important;
  gap:12px!important;
  padding:0 14px 14px!important;
}

.research-context-disclosure .aside-card{
  margin:0!important;
  padding:17px!important;
  background:#faf7f1!important;
}

.research-context-disclosure .aside-card h3{
  font-size:20px!important;
  line-height:1.15!important;
}

.research-context-disclosure .aside-card p,
.research-context-disclosure .aside-card a{
  font-size:14px!important;
  line-height:1.55!important;
  color:#4d5f69!important;
}

/* Research page metadata should be readable, not decorative microtype. */
.page-meta{
  font-size:11px!important;
  line-height:1.45!important;
  color:#aebdc6!important;
}

/* Common human-facing microcopy. */
.standing-detail span,
.research-case-cta span,
.build-filter>div:first-child span{
  font-size:11px!important;
}

.build-filter>p{
  font-size:12px!important;
  line-height:1.5!important;
}

.route-choice .route-subhead{
  font-size:10px!important;
  line-height:1.4!important;
}

.route-choice>strong{
  font-size:12px!important;
  line-height:1.4!important;
}

.route-change,
.case-change{
  font-size:12px!important;
  line-height:1.35!important;
}

/* Mobile cues were too small to function as instructions. */
.mobile-details-cue,
.mobile-tap-cue{
  font-size:10px!important;
  line-height:1.2!important;
  letter-spacing:.02em!important;
}

/* Slightly more readable paper/source labels. */
.source{
  font-size:13px!important;
}

.latest-card .label,
.research-row small,
.signal-mini small,
.ledger time{
  font-size:11px!important;
}

/* Keep details summaries from reserving an excessive 90px on every phone row. */
@media(max-width:760px){
  .article-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }

  .research-context-disclosure{
    width:100%!important;
    margin-top:4px!important;
  }

  .research-context-disclosure>summary{
    min-height:54px!important;
    padding:15px 16px!important;
    padding-right:48px!important;
    font-size:14px!important;
    line-height:1.35!important;
  }

  .research-context-disclosure .aside-card p,
  .research-context-disclosure .aside-card a{
    font-size:14px!important;
  }

  .page-meta{
    gap:9px!important;
    margin-top:18px!important;
    font-size:11px!important;
    line-height:1.45!important;
  }

  .research-question summary span{
    font-size:16px!important;
    line-height:1.35!important;
  }

  .research-question summary b{
    font-size:18px!important;
  }

  .mobile-details-cue{
    right:2px!important;
  }

  .route-choice .route-subhead{
    font-size:10px!important;
  }

  .route-choice>strong{
    font-size:12px!important;
    max-width:76%!important;
  }

  .mobile-tap-cue{
    min-height:32px!important;
    padding:7px 9px!important;
  }

  .build-filter-buttons button{
    font-size:12px!important;
  }

  .signal-card summary{
    font-size:14px!important;
    line-height:1.4!important;
  }
}

/* Tablet: research sidebar becomes a normal compact block instead of a stretched rail. */
@media(max-width:980px){
  .article-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }

  .research-context-disclosure{
    max-width:760px!important;
  }
}


/* ==========================================================
   v2.6.9 — HUMAN WORK PAGE
   Less brochure language, more direct human conversation.
   ========================================================== */

.work-hero .page-hero-inner{
  max-width:1100px;
}

.work-hero h1{
  max-width:980px;
}

.work-hero p{
  max-width:850px!important;
  font-size:clamp(20px,1.55vw,28px)!important;
  line-height:1.45!important;
}

.work-hero .meta-row{
  gap:20px!important;
}

.work-hero .meta-row span{
  font-size:12px!important;
  letter-spacing:.08em!important;
}

@media(max-width:760px){
  .work-hero h1{
    font-size:clamp(44px,13vw,66px)!important;
    line-height:.98!important;
  }

  .work-hero p{
    font-size:17px!important;
    line-height:1.5!important;
  }

  .work-hero .meta-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin-top:18px!important;
  }

  .work-hero .meta-row span{
    font-size:11px!important;
  }
}


/* ==========================================================
   v2.7.0 — BUILD CLARITY
   Plain-English status + readable side guide on the light page.
   ========================================================== */

/* Give the Build page a little more room for the explainer. */
.article-grid{
  align-items:start!important;
}

.build-read-guide{
  align-self:start;
  width:100%;
  padding:22px;
  border:1px solid #d2c7b8;
  border-radius:14px;
  background:#f5efe6;
  color:#1d3240;
  box-shadow:0 12px 28px rgba(45,55,61,.07);
}

.build-read-guide h2{
  margin:0 0 8px;
  color:#1b3040;
  font:600 27px/1.05 var(--serif);
}

.build-read-guide-intro{
  margin:0 0 18px;
  color:#51636d;
  font-size:14px!important;
  line-height:1.5!important;
}

.build-read-row{
  padding:16px 0;
  border-top:1px solid #d8cec0;
}

.build-read-row strong{
  display:block;
  margin-bottom:6px;
  color:#8c6538;
  font-size:12px;
  line-height:1.35;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.build-read-row p{
  margin:0;
  color:#40535f!important;
  font-size:14px!important;
  line-height:1.55!important;
}

/* Build page status cards: clearer hierarchy, less project-management language. */
.build-pulse-top p{
  font-size:15px!important;
  line-height:1.58!important;
}

.build-live-mark{
  color:#456b59!important;
  background:#f8f4ed;
  font-size:10px!important;
}

.build-flow-card small{
  font-size:10px!important;
  line-height:1.35!important;
}

.build-flow-card h3{
  font-size:26px!important;
  line-height:1.05!important;
}

.build-flow-card p{
  font-size:14px!important;
  line-height:1.55!important;
}

/* Progress disclosure lives on light paper, so it needs light-paper contrast. */
.build-progress-disclosure{
  border-color:#d4cabd!important;
  background:#f3ede3!important;
}

.build-progress-disclosure>summary{
  color:#2f4858!important;
  font-size:14px!important;
  font-weight:800!important;
}

.build-progress-disclosure>summary::after{
  color:#b47a2e!important;
}

.build-filter{
  background:#f7f2ea!important;
}

.build-filter strong{
  color:#263b49!important;
}

.build-filter>div:first-child span{
  color:#9a7040!important;
}

.build-filter>p{
  color:#65747c!important;
}

@media(min-width:981px){
  .article-grid{
    grid-template-columns:minmax(0,1fr) 330px!important;
    gap:44px!important;
  }

  .article{
    max-width:none!important;
  }
}

@media(max-width:980px){
  .build-read-guide{
    max-width:760px;
    margin-top:4px;
  }
}

@media(max-width:760px){
  .build-read-guide{
    padding:18px;
  }

  .build-read-guide h2{
    font-size:26px;
  }

  .build-read-guide-intro,
  .build-read-row p{
    font-size:14px!important;
  }

  .build-flow-card small{
    font-size:10px!important;
  }

  .build-flow-card h3{
    font-size:30px!important;
  }

  .build-flow-card p{
    font-size:14px!important;
  }
}

.build-log-refresh-note{
  margin:0 0 14px;
  color:#7b684f;
  font-size:12px;
  line-height:1.45;
}


/* ==========================================================
   v2.7.4 — DEEP STRUCTURAL QA
   Repeated-content structures must stay stable as new entries
   are added.
   ========================================================== */

/* Build Log: date is column one; all content is one column two. */
.build-entry{
  grid-template-columns:145px minmax(0,1fr)!important;
  align-items:start;
}

.build-entry > time{
  grid-column:1!important;
}

.build-entry > .build-entry-inner,
.build-entry > div:not(.build-entry-meta){
  grid-column:2!important;
  min-width:0!important;
}

.build-entry > .build-entry-meta,
.build-entry > h2,
.build-entry > p{
  grid-column:2!important;
  min-width:0!important;
}

.build-entry h2{
  max-width:900px;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.build-entry p,
.build-entry .public-change{
  max-width:900px;
}

@media(max-width:720px){
  .build-entry{
    grid-template-columns:1fr!important;
  }

  .build-entry > time,
  .build-entry > .build-entry-inner,
  .build-entry > div,
  .build-entry > h2,
  .build-entry > p{
    grid-column:1!important;
  }
}

/* Signals: newest and older cards share the same visual contract. */
.signal-card > div:first-child{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
}

.signal-card .date{
  color:#65727b;
  font-size:11px;
  line-height:1.4;
}

.signal-card .label.signal{
  flex:0 0 auto;
}

/* Prevent collapsed progressive controls from stretching with neighboring content. */
.article-grid > details,
.article-grid > aside{
  align-self:start;
}

/* Long headings should wrap naturally, not letter-by-letter. */
.article h1,
.article h2,
.article h3,
.build-entry h2,
.signal-card h2,
.project-heading{
  overflow-wrap:break-word;
  word-break:normal!important;
}


/* ==========================================================
   v2.7.5 — HUMAN PROJECT PAGE
   Plain-English project explanation without changing boundaries.
   ========================================================== */

.project-hero p{
  max-width:900px!important;
  font-size:clamp(20px,1.55vw,28px)!important;
  line-height:1.45!important;
}

.project-intro-grid article p{
  font-size:17px!important;
  line-height:1.6!important;
}

.standing-head p{
  font-size:13px!important;
  line-height:1.45!important;
}

.standing-row span,
.standing-row strong{
  font-size:14px!important;
}

.standing-detail p{
  font-size:14px!important;
  line-height:1.55!important;
}

@media(max-width:760px){
  .project-hero p{
    font-size:17px!important;
    line-height:1.5!important;
  }

  .project-intro-grid article p{
    font-size:15px!important;
  }

  .standing-row span,
  .standing-row strong{
    font-size:13px!important;
  }
}


/* ==========================================================
   v2.7.6 — WORK PAGE POLISH
   Tighter, more professional and less poster-like.
   ========================================================== */

.work-hero{
  min-height:auto!important;
  padding:82px 0 68px!important;
}

.work-hero .page-hero-inner{
  max-width:1120px!important;
}

.work-hero h1{
  max-width:850px!important;
  margin-bottom:24px!important;
  font-size:clamp(56px,5.8vw,90px)!important;
  line-height:.96!important;
  letter-spacing:-.025em!important;
}

.work-hero p{
  max-width:790px!important;
  font-size:clamp(19px,1.35vw,25px)!important;
  line-height:1.48!important;
}

.work-hero .meta-row{
  margin-top:24px!important;
  gap:12px 22px!important;
}

.work-hero .meta-row span{
  font-size:11px!important;
  letter-spacing:.065em!important;
}

/* Main choice section */
.work-section{
  padding-top:64px!important;
  padding-bottom:64px!important;
}

.work-section > .wrap > h2{
  max-width:900px!important;
  font-size:clamp(42px,4vw,64px)!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
}

.work-route-grid{
  gap:16px!important;
}

.work-route{
  min-height:265px!important;
  padding:26px!important;
}

.work-route h3{
  font-size:clamp(28px,2vw,38px)!important;
  line-height:1.03!important;
}

.work-route p{
  font-size:15px!important;
  line-height:1.5!important;
}

/* Contact section becomes one clean column. */
.work-section.paper-section{
  padding-top:68px!important;
  padding-bottom:72px!important;
}

.work-form-grid{
  grid-template-columns:1fr!important;
  gap:0!important;
  max-width:940px!important;
}

.work-form-grid > article{
  max-width:780px!important;
}

.work-form-grid > article h2{
  max-width:720px!important;
  margin-bottom:20px!important;
  font-size:clamp(44px,4.5vw,70px)!important;
  line-height:.98!important;
}

.work-form-grid > article > p{
  max-width:720px!important;
  font-size:17px!important;
  line-height:1.55!important;
}

/* remove legacy side disclosure visually if stale cached markup survives */
.plain-boundary-disclosure{
  display:none!important;
}

.work-boundary{
  max-width:720px!important;
  margin-top:26px!important;
  padding:18px 20px!important;
  border-left:3px solid #b27a4b!important;
  border-radius:0 8px 8px 0!important;
  background:#ede5d9!important;
}

.work-boundary strong{
  display:block;
  margin-bottom:7px!important;
  color:#213846!important;
  font-size:15px!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

.work-boundary p{
  margin:0!important;
  color:#58666d!important;
  font-size:14px!important;
  line-height:1.55!important;
}

.work-contact-boundary{
  max-width:720px!important;
  margin-top:12px!important;
  padding:15px 17px!important;
  border:1px solid #d8cec1!important;
  border-radius:8px!important;
  background:#f7f2ea!important;
}

.work-contact-boundary strong{
  display:block;
  margin-bottom:5px!important;
  color:#2a3d49!important;
  font-size:14px!important;
}

.work-contact-boundary p{
  margin:0!important;
  color:#68757b!important;
  font-size:13px!important;
  line-height:1.5!important;
}

.work-form{
  max-width:720px!important;
  margin-top:26px!important;
}

/* Mobile */
@media(max-width:760px){
  .work-hero{
    padding:50px 0 44px!important;
  }

  .work-hero h1{
    font-size:clamp(44px,11.5vw,62px)!important;
  }

  .work-hero p{
    font-size:17px!important;
  }

  .work-section{
    padding-top:46px!important;
    padding-bottom:46px!important;
  }

  .work-section > .wrap > h2{
    font-size:clamp(36px,9.5vw,50px)!important;
  }

  .work-route{
    min-height:0!important;
    padding:21px!important;
  }

  .work-form-grid > article h2{
    font-size:clamp(38px,10vw,52px)!important;
  }

  .work-form-grid > article > p{
    font-size:16px!important;
  }
}


/* ==========================================================
   v2.7.7 — WORK FORM FIRST
   Contact is the primary action. Route choices are optional help.
   ========================================================== */

.work-hero{
  padding-bottom:54px!important;
}

/* Contact section now follows hero directly. */
.work-section.paper-section{
  padding-top:54px!important;
  padding-bottom:58px!important;
  border-top:1px solid #d8cec1;
}

.work-form-grid{
  max-width:980px!important;
  margin:0 auto!important;
}

.work-form-grid > article{
  max-width:760px!important;
}

.work-form-grid > article h2{
  max-width:700px!important;
  font-size:clamp(42px,4vw,64px)!important;
  line-height:.98!important;
}

.work-form-grid > article > p{
  max-width:700px!important;
  font-size:17px!important;
}

/* Keep form immediately visible. */
.work-form,
form[name="work-inquiry"]{
  display:block!important;
  max-width:720px!important;
  margin-top:24px!important;
}

/* Route choices are secondary guidance now. */
.work-section:not(.paper-section){
  padding-top:58px!important;
  padding-bottom:68px!important;
  border-top:1px solid rgba(225,236,243,.08);
}

.work-section:not(.paper-section) > .wrap > h2{
  max-width:820px!important;
  font-size:clamp(38px,3.6vw,58px)!important;
}

.work-route-intro{
  max-width:720px;
  margin:18px 0 28px;
  color:#9eafb7;
  font-size:16px;
  line-height:1.55;
}

.work-route{
  min-height:230px!important;
}

.work-route>strong{
  font-size:12px!important;
}

/* No route-selection focus mode should hide the page anymore. */
body.work-route-focus .work-hero,
body.work-route-focus .work-section,
body.work-route-focus .site-header,
body.work-route-focus .site-footer{
  display:block!important;
}

@media(max-width:760px){
  .work-section.paper-section{
    padding-top:42px!important;
    padding-bottom:46px!important;
  }

  .work-form-grid > article h2{
    font-size:clamp(36px,9vw,50px)!important;
  }

  .work-route-intro{
    font-size:15px;
    margin-bottom:22px;
  }

  .work-route{
    min-height:0!important;
  }
}


/* ==========================================================
   v2.7.8 — TRUE FORM FIRST
   Enforce actual page order and remove the "contact at bottom"
   feeling seen in live screenshots.
   ========================================================== */

.work-hero{
  padding-bottom:40px!important;
}

.work-section.paper-section{
  order:2!important;
  padding-top:44px!important;
  padding-bottom:48px!important;
  border-top:1px solid #d7cec2!important;
}

.work-section.paper-section .wrap{
  max-width:1180px!important;
}

.work-form-grid{
  margin:0!important;
  max-width:820px!important;
}

.work-form-grid > article{
  max-width:760px!important;
  margin:0!important;
}

.work-form-grid > article h2{
  font-size:clamp(38px,3.7vw,58px)!important;
  line-height:1!important;
  margin-bottom:16px!important;
}

.work-form-grid > article > p{
  margin-bottom:18px!important;
}

/* Keep the privacy notes visually compact. */
.work-boundary{
  margin-top:18px!important;
  padding:16px 18px!important;
}

.work-contact-boundary{
  margin-top:10px!important;
  padding:13px 15px!important;
}

/* Optional route cards should read as secondary. */
.work-section:not(.paper-section){
  order:3!important;
  padding-top:52px!important;
  padding-bottom:58px!important;
}

.work-section:not(.paper-section) > .wrap > .kicker{
  opacity:.8;
}

.work-section:not(.paper-section) > .wrap > h2{
  max-width:700px!important;
  font-size:clamp(36px,3.3vw,52px)!important;
  margin-bottom:12px!important;
}

.work-route-intro{
  max-width:760px!important;
  margin:0 0 24px!important;
  font-size:15px!important;
}

.work-route-grid{
  gap:14px!important;
}

.work-route{
  min-height:205px!important;
  padding:22px!important;
}

@media(max-width:760px){
  .work-hero{
    padding-bottom:32px!important;
  }

  .work-section.paper-section{
    padding-top:34px!important;
    padding-bottom:38px!important;
  }

  .work-form-grid > article h2{
    font-size:clamp(34px,8.8vw,46px)!important;
  }

  .work-section:not(.paper-section){
    padding-top:40px!important;
    padding-bottom:44px!important;
  }

  .work-section:not(.paper-section) > .wrap > h2{
    font-size:clamp(32px,8.2vw,44px)!important;
  }
}


/* ==========================================================
   v2.7.9 — WORK SINGLE NOTE
   One clear public-safe note; remove duplicate contact boundary box.
   ========================================================== */

.work-contact-boundary{
  display:none!important;
}

.work-boundary{
  max-width:760px!important;
  margin-top:18px!important;
  padding:18px 20px!important;
}

.work-boundary p{
  max-width:700px!important;
}


/* ==========================================================
   v2.8.0 — WORK NOTICE CLEANUP
   One public-safe notice only.
   ========================================================== */

.work-contact-boundary,
.plain-boundary-disclosure,
.engagement-note,
.route-form-hint{
  display:none!important;
}

/* One deliberate notice, not a stack of legal boxes. */
.work-boundary{
  max-width:760px!important;
  margin-top:22px!important;
  padding:20px 22px!important;
  border:1px solid #d7ccbd!important;
  border-left:4px solid #b77b43!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#efe8dc 0%,#ebe2d5 100%)!important;
  box-shadow:0 10px 28px rgba(47,58,64,.05)!important;
}

.work-boundary strong{
  display:block!important;
  margin:0 0 8px!important;
  color:#1d3543!important;
  font-size:15px!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

.work-boundary p{
  max-width:700px!important;
  margin:0!important;
  color:#52636d!important;
  font-size:14px!important;
  line-height:1.6!important;
}

@media(max-width:760px){
  .work-boundary{
    margin-top:18px!important;
    padding:17px 18px!important;
    border-radius:8px!important;
  }

  .work-boundary strong{
    font-size:14px!important;
  }

  .work-boundary p{
    font-size:13px!important;
    line-height:1.58!important;
  }
}


/* ==========================================================
   v2.8.1 — WORK FORM VISIBLE
   Actual order: intro -> form -> public-safe note -> optional routes
   ========================================================== */

form[name="work-inquiry"],
.work-form,
[data-progressive-form]{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

form[name="work-inquiry"][hidden],
.work-form[hidden],
[data-progressive-form][hidden]{
  display:grid!important;
}

/* Form is now the main action. */
.work-form{
  grid-template-columns:1fr 1fr!important;
  gap:16px!important;
  max-width:760px!important;
  margin-top:24px!important;
  padding:24px!important;
  border:1px solid #d7ccbd!important;
  border-radius:12px!important;
  background:#fbf8f2!important;
  box-shadow:0 12px 30px rgba(47,58,64,.05)!important;
}

.work-form .full{
  grid-column:1 / -1!important;
}

.work-form label{
  display:block!important;
  margin-bottom:7px!important;
  color:#243947!important;
  font-size:13px!important;
  font-weight:800!important;
}

.work-form input,
.work-form textarea,
.work-form select{
  width:100%!important;
  min-height:48px!important;
  padding:12px 14px!important;
  border:1px solid #cfc4b5!important;
  border-radius:8px!important;
  background:#fffdf9!important;
  color:#1c3240!important;
  font-size:15px!important;
}

.work-form textarea{
  min-height:150px!important;
  resize:vertical!important;
}

.work-form .btn.primary{
  min-height:50px!important;
  padding:12px 18px!important;
  border-radius:8px!important;
  font-size:14px!important;
}

/* The note now supports the form instead of replacing it. */
.work-boundary{
  max-width:760px!important;
  margin-top:14px!important;
  padding:18px 20px!important;
}

/* Optional help remains secondary below. */
.work-section:not(.paper-section){
  border-top:1px solid rgba(225,236,243,.08)!important;
}

@media(max-width:760px){
  .work-form{
    grid-template-columns:1fr!important;
    padding:18px!important;
  }

  .work-form > *{
    grid-column:1!important;
  }

  .work-form input,
  .work-form textarea,
  .work-form select{
    font-size:16px!important;
  }
}


/* ==========================================================
   v2.8.2 — WORK MOCKUP MATCH
   Match the approved visual direction: dark contact section,
   wide centered cream form card, compact notice below.
   ========================================================== */

/* Contact section becomes the dark focal area. */
.work-section.paper-section{
  background:
    radial-gradient(circle at 82% 8%,rgba(132,164,180,.08),transparent 28%),
    linear-gradient(180deg,#071b27 0%,#061925 100%)!important;
  border-top:1px solid rgba(210,229,238,.08)!important;
  border-bottom:1px solid rgba(210,229,238,.08)!important;
  padding:68px 0 72px!important;
}

.work-section.paper-section .wrap{
  max-width:1180px!important;
  margin:0 auto!important;
  padding-left:28px!important;
  padding-right:28px!important;
}

.work-form-grid{
  max-width:1040px!important;
  margin:0 auto!important;
}

.work-form-grid > article{
  max-width:none!important;
  width:100%!important;
}

/* Contact heading on dark. */
.work-section.paper-section .kicker{
  color:#e1bd69!important;
  font-size:11px!important;
  letter-spacing:.18em!important;
}

.work-section.paper-section h2{
  max-width:none!important;
  margin:10px 0 14px!important;
  color:#f1f3f2!important;
  font-size:clamp(48px,5vw,78px)!important;
  line-height:.98!important;
  letter-spacing:-.025em!important;
}

.work-section.paper-section article > p{
  max-width:900px!important;
  margin:0 0 26px!important;
  color:#c1ced4!important;
  font-size:18px!important;
  line-height:1.5!important;
}

/* Wide cream form card */
.work-form{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px 20px!important;
  width:100%!important;
  max-width:1040px!important;
  margin:0!important;
  padding:28px!important;
  border:1px solid rgba(216,204,184,.85)!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#f7f3ea 0%,#f3ede3 100%)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.16)!important;
}

.work-form .hp,
.work-form input[type="hidden"]{
  display:none!important;
}

.work-field{
  min-width:0!important;
}

.work-field.full{
  grid-column:1 / -1!important;
}

.work-form label{
  display:block!important;
  margin:0 0 7px!important;
  color:#1f3340!important;
  font-size:13px!important;
  font-weight:800!important;
}

.work-form input,
.work-form select,
.work-form textarea{
  width:100%!important;
  box-sizing:border-box!important;
  border:1px solid #c9bfae!important;
  border-radius:7px!important;
  background:#fffdf9!important;
  color:#1d3140!important;
  font-size:15px!important;
  box-shadow:none!important;
}

.work-form input,
.work-form select{
  min-height:48px!important;
  padding:11px 13px!important;
}

.work-form textarea{
  min-height:145px!important;
  padding:13px!important;
  resize:vertical!important;
}

.work-form input::placeholder,
.work-form textarea::placeholder{
  color:#8a969c!important;
}

.work-field-submit{
  display:flex!important;
  justify-content:flex-start!important;
}

.work-form .btn.primary,
.work-form button[type="submit"]{
  width:auto!important;
  min-width:185px!important;
  min-height:48px!important;
  margin:0!important;
  padding:11px 22px!important;
  border:1px solid #c99b3f!important;
  border-radius:999px!important;
  background:#071c29!important;
  color:#f7f2e8!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  cursor:pointer!important;
}

.work-form .btn.primary:hover,
.work-form button[type="submit"]:hover{
  background:#0c2938!important;
}

.work-form .form-note{
  grid-column:1 / -1!important;
  margin:0!important;
  color:#69757b!important;
  font-size:11px!important;
  line-height:1.45!important;
}

.work-form .form-note a{
  color:#36596c!important;
}

/* One compact notice under the form. */
.work-boundary{
  position:relative!important;
  display:grid!important;
  grid-template-columns:42px 1fr!important;
  gap:16px!important;
  align-items:start!important;
  width:100%!important;
  max-width:1040px!important;
  margin:14px 0 0!important;
  padding:17px 20px!important;
  border:1px solid #d4c4aa!important;
  border-left:0!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#eadfca 0%,#e4d7bf 100%)!important;
  box-shadow:none!important;
}

.work-boundary-icon{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
  background:#b8862e!important;
  color:#fff7e4!important;
  font-size:19px!important;
  line-height:1!important;
}

.work-boundary strong{
  grid-column:2!important;
  margin:0 0 5px!important;
  color:#1d3341!important;
  font-size:14px!important;
  line-height:1.35!important;
}

.work-boundary p{
  grid-column:2!important;
  margin:0!important;
  max-width:none!important;
  color:#4f5f68!important;
  font-size:12px!important;
  line-height:1.5!important;
}

/* Optional help becomes the light lower section, like the mockup. */
.work-section:not(.paper-section){
  background:#f5efe5!important;
  color:#1d3341!important;
  padding:54px 0 64px!important;
  border-top:0!important;
}

.work-section:not(.paper-section) .kicker{
  color:#657e8b!important;
}

.work-section:not(.paper-section) h2{
  color:#1d3341!important;
  font-size:clamp(38px,4vw,58px)!important;
}

.work-route-intro{
  color:#66757c!important;
  max-width:650px!important;
  font-size:15px!important;
}

.work-route{
  border:1px solid #ded3c3!important;
  background:#fbf8f2!important;
  color:#1d3341!important;
  box-shadow:none!important;
}

.work-route h3,
.work-route p,
.work-route strong{
  color:#1d3341!important;
}

.work-route p{
  color:#6b767b!important;
}

.work-route .route-subhead,
.work-route .mobile-tap-cue{
  color:#9a7040!important;
}

/* Mobile */
@media(max-width:760px){
  .work-section.paper-section{
    padding:44px 0 48px!important;
  }

  .work-section.paper-section .wrap{
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .work-section.paper-section h2{
    font-size:clamp(40px,11vw,58px)!important;
  }

  .work-section.paper-section article > p{
    font-size:16px!important;
  }

  .work-form{
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:18px!important;
  }

  .work-field.full{
    grid-column:1!important;
  }

  .work-form input,
  .work-form select,
  .work-form textarea{
    font-size:16px!important;
  }

  .work-field-submit{
    display:block!important;
  }

  .work-form .btn.primary,
  .work-form button[type="submit"]{
    width:100%!important;
  }

  .work-boundary{
    grid-template-columns:34px 1fr!important;
    gap:12px!important;
    padding:15px!important;
  }

  .work-boundary-icon{
    width:32px!important;
    height:32px!important;
    font-size:16px!important;
  }

  .work-boundary strong{
    font-size:13px!important;
  }

  .work-boundary p{
    font-size:12px!important;
  }

  .work-section:not(.paper-section){
    padding:42px 0 48px!important;
  }
}


/* ==========================================================
   v2.8.3 — WORK CONTACT UNIFIED
   One coherent contact composition: heading, form and notice
   share the same width and alignment.
   ========================================================== */

.work-section.paper-section .wrap{
  max-width:1280px!important;
  margin:0 auto!important;
  padding-left:34px!important;
  padding-right:34px!important;
}

.work-form-grid{
  max-width:1120px!important;
  margin:0 auto!important;
}

.work-form-grid > article{
  max-width:none!important;
  width:100%!important;
}

.work-section.paper-section h2,
.work-section.paper-section article > p{
  max-width:1120px!important;
}

/* Form fills the contact composition instead of sitting in a narrow left column. */
.work-form{
  width:100%!important;
  max-width:1120px!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px 20px!important;
  margin:0!important;
  padding:30px 30px 0!important;
  overflow:hidden!important;
  border-radius:14px!important;
}

/* Make fields feel a little more substantial on desktop. */
.work-form input,
.work-form select{
  min-height:52px!important;
}

.work-form textarea{
  min-height:165px!important;
}

.work-field-submit{
  padding-bottom:24px!important;
}

/* Public-safe guidance becomes an integrated footer within the form card. */
.work-form .work-boundary{
  grid-column:1 / -1!important;
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:4px -30px 0!important;
  padding:18px 30px 20px!important;
  border:0!important;
  border-top:1px solid #d6cab9!important;
  border-radius:0!important;
  background:#eadfc9!important;
  box-shadow:none!important;
}

.work-form .work-boundary strong{
  display:block!important;
  margin:0 0 6px!important;
  color:#233946!important;
  font-size:13px!important;
  line-height:1.4!important;
}

.work-form .work-boundary p{
  margin:0!important;
  max-width:980px!important;
  color:#56646b!important;
  font-size:12px!important;
  line-height:1.55!important;
}

/* Remove old icon footprint completely. */
.work-boundary-icon{
  display:none!important;
}

/* Legal send note is subtle and aligned. */
.work-form .form-note{
  margin-top:-4px!important;
  padding-bottom:8px!important;
  font-size:11px!important;
}

/* Prevent the dark section from feeling excessively empty. */
.work-section.paper-section{
  padding-top:60px!important;
  padding-bottom:64px!important;
}

@media(max-width:900px){
  .work-form-grid{
    max-width:900px!important;
  }
}

@media(max-width:760px){
  .work-section.paper-section .wrap{
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .work-form{
    grid-template-columns:1fr!important;
    padding:20px 18px 0!important;
  }

  .work-form .work-boundary{
    margin:4px -18px 0!important;
    padding:16px 18px 18px!important;
  }

  .work-form textarea{
    min-height:145px!important;
  }
}


/* ==========================================================
   v2.8.4 — TERMS LIABILITY HARDENING
   Clearer legal sections without turning the page into a wall.
   ========================================================== */

.legal #warranties,
.legal #liability{
  padding:28px 30px!important;
  border:1px solid #d9cdbc!important;
  border-radius:12px!important;
  background:#f7f1e8!important;
}

.legal #liability{
  border-left:4px solid #a8703c!important;
}

.legal #warranties h2,
.legal #liability h2{
  margin-top:0!important;
}

.legal p{
  max-width:860px!important;
}

@media(max-width:760px){
  .legal #warranties,
  .legal #liability{
    padding:20px!important;
  }
}


/* ==========================================================
   v3.1 — RESEARCH PAGE + LANGUAGE POLISH
   ========================================================== */

.research-question-list{
  display:grid;
  gap:12px;
  margin:24px 0 54px;
}

.research-question-item{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:18px;
  padding:20px 22px;
  border:1px solid #ded2c2;
  border-radius:12px;
  background:#fbf8f2;
}

.research-question-num{
  color:#9c7441;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}

.research-question-item h3{
  margin:0 0 7px;
  color:#1c3441;
  font-size:20px;
}

.research-question-item p{
  margin:0;
  color:#66757c;
  line-height:1.55;
}

.research-position-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:22px 0 54px;
}

.research-position-card{
  padding:18px 20px;
  border:1px solid #d8cbb9;
  border-radius:11px;
  background:#f6efe4;
}

.research-position-card span{
  display:block;
  margin-bottom:6px;
  color:#8b6a3e;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.research-position-card strong{
  color:#203844;
  font-size:16px;
}

.research-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

@media(max-width:760px){
  .research-question-item{
    grid-template-columns:36px minmax(0,1fr);
    gap:12px;
    padding:17px;
  }

  .research-position-grid{
    grid-template-columns:1fr;
  }

  .research-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .research-actions .btn{
    width:100%;
  }
}


/* ==========================================================
   v3.4 — PROJECT + BUILD REWORK
   ========================================================== */
.v3-project-section{padding:64px 0 76px;background:linear-gradient(180deg,#f5eee3,#eee4d6);color:#1d3542}
.v3-project-section .wrap{max-width:1180px}
.v3-project-section h2{max-width:900px;color:#1d3542;font-size:clamp(38px,4vw,60px);line-height:1.02}
.v3-project-section> .wrap > p{max-width:820px;color:#66767d;line-height:1.6}

.v3-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 58px}
.v3-status-card{padding:20px;border:1px solid #d8cbb9;border-radius:12px;background:#f7f1e8}
.v3-status-card span{display:block;margin-bottom:7px;color:#87683f;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.v3-status-card strong{color:#1d3542;font-size:17px;line-height:1.3}
.v3-status-card.tone-active{border-left:4px solid #a9783f}
.v3-status-card.tone-protected{background:#ebe1d2}

.v3-project-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0 58px}
.v3-project-flow article{min-height:220px;padding:22px;border:1px solid #d9cdbc;border-radius:12px;background:#fbf8f2}
.v3-flow-num{display:block;margin-bottom:24px;color:#a1743b;font-size:11px;font-weight:900;letter-spacing:.12em}
.v3-project-flow h3{margin:0 0 9px;color:#1d3542;font-size:20px}
.v3-project-flow p{margin:0;color:#66767d;line-height:1.55}
.v3-page-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

.v3-build-overview{padding:64px 0 68px;background:#071b27;color:#eef2f3}
.v3-build-overview .wrap{max-width:1180px}
.v3-build-overview .kicker{color:#d4b565}
.v3-build-overview h2{max-width:850px;margin:10px 0 14px;color:#f2f3f1;font-size:clamp(42px,4.5vw,68px);line-height:1}
.v3-build-intro{max-width:780px;color:#bdcbd0;font-size:17px;line-height:1.55}
.v3-build-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
.v3-build-steps article{padding:24px;border:1px solid rgba(225,236,241,.13);border-radius:13px;background:rgba(255,255,255,.04)}
.v3-build-steps h3{margin:0 0 10px;color:#d8bd72;font-size:13px;letter-spacing:.09em}
.v3-build-steps p{margin:0;color:#c1cfd4;line-height:1.55}
.v3-build-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.v3-build-status div{padding:16px 18px;border-top:1px solid rgba(225,236,241,.15)}
.v3-build-status span{display:block;margin-bottom:5px;color:#8197a2;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.v3-build-status strong{color:#eef2f3;font-size:15px}

@media(max-width:900px){
  .v3-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v3-project-flow,.v3-build-steps{grid-template-columns:1fr 1fr}
  .v3-build-status{grid-template-columns:1fr}
}
@media(max-width:760px){
  .v3-project-section{padding:48px 0 54px}
  .v3-status-grid,.v3-project-flow,.v3-build-steps{grid-template-columns:1fr}
  .v3-project-flow article{min-height:auto}
  .v3-page-actions{display:grid;grid-template-columns:1fr}
  .v3-page-actions .btn{width:100%}
  .v3-build-overview{padding:48px 0 52px}
}


/* ==========================================================
   v3.5 — SIGNALS + CASE LAB REWORK
   ========================================================== */

/* Signals */
.v3-signals-overview{
  padding:64px 0 68px;
  background:#071b27;
  color:#eef2f3;
}

.v3-signals-overview .wrap,
.v3-return-strip .wrap{
  max-width:1180px;
}

.v3-signals-overview .kicker,
.v3-return-strip .kicker{
  color:#d4b565;
}

.v3-signals-overview h2,
.v3-return-strip h2{
  max-width:900px;
  margin:10px 0 14px;
  font-size:clamp(40px,4.5vw,64px);
  line-height:1;
}

.v3-signals-overview h2{
  color:#f2f3f1;
}

.v3-signals-intro{
  max-width:820px;
  color:#bdcbd0;
  font-size:17px;
  line-height:1.55;
}

.v3-signals-legend{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}

.v3-signals-legend article{
  padding:20px;
  border:1px solid rgba(225,236,241,.12);
  border-radius:12px;
  background:rgba(255,255,255,.04);
}

.v3-signals-legend h3{
  margin:0 0 9px;
  color:#d8bd72;
  font-size:11px;
  letter-spacing:.1em;
}

.v3-signals-legend p{
  margin:0;
  color:#c1cfd4;
  font-size:14px;
  line-height:1.5;
}

.v3-return-strip{
  padding:44px 0 48px;
  background:#f4ecdf;
  color:#1d3542;
  border-bottom:1px solid #dfd3c2;
}

.v3-return-strip h2{
  color:#1d3542;
}

.v3-return-strip p{
  max-width:760px;
  color:#66767d;
  line-height:1.55;
}

/* Case Lab */
.v3-case-selector{
  padding:64px 0 68px;
  background:#071b27;
  color:#eef2f3;
}

.v3-case-selector .wrap,
.v3-case-focus-rule .wrap{
  max-width:1180px;
}

.v3-case-selector .kicker,
.v3-case-focus-rule .kicker{
  color:#d4b565;
}

.v3-case-selector h2,
.v3-case-focus-rule h2{
  max-width:900px;
  margin:10px 0 14px;
  font-size:clamp(40px,4.5vw,64px);
  line-height:1;
}

.v3-case-selector h2{
  color:#f2f3f1;
}

.v3-case-intro{
  max-width:800px;
  color:#bdcbd0;
  font-size:17px;
  line-height:1.55;
}

.v3-case-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}

.v3-case-card{
  appearance:none;
  text-align:left;
  padding:24px;
  border:1px solid rgba(225,236,241,.14);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  color:#eef2f3;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}

.v3-case-card:hover,
.v3-case-card:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(210,174,89,.48);
  background:rgba(255,255,255,.065);
}

.v3-case-badge{
  display:inline-block;
  margin-bottom:18px;
  color:#d8bd72;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}

.v3-case-card h3{
  margin:0 0 9px;
  color:#f2f3f1;
  font-size:24px;
}

.v3-case-card p{
  min-height:68px;
  margin:0 0 18px;
  color:#c1cfd4;
  line-height:1.55;
}

.v3-case-card strong{
  color:#d8bd72;
  font-size:13px;
}

.v3-case-focus-rule{
  padding:48px 0 52px;
  background:#f4ecdf;
  color:#1d3542;
}

.v3-case-focus-rule h2{
  color:#1d3542;
}

.v3-case-focus-rule p{
  max-width:780px;
  color:#66767d;
  line-height:1.55;
}

@media(max-width:900px){
  .v3-signals-legend{
    grid-template-columns:1fr 1fr;
  }

  .v3-case-cards{
    grid-template-columns:1fr;
  }

  .v3-case-card p{
    min-height:auto;
  }
}

@media(max-width:760px){
  .v3-signals-overview,
  .v3-case-selector{
    padding:48px 0 52px;
  }

  .v3-signals-legend{
    grid-template-columns:1fr;
  }

  .v3-return-strip,
  .v3-case-focus-rule{
    padding:38px 0 42px;
  }
}


/* ==========================================================
   v3.7 — DEDUP / VISUAL CLEANUP
   ========================================================== */

.v3-project-section + details.project-depth-disclosure{
  margin-top:0!important;
}

.v3-case-focus-rule + .case-play-section{
  margin-top:0!important;
}

.v3-project-section,
.v3-case-focus-rule{
  border-bottom:1px solid rgba(120,104,81,.14)!important;
}



/* ==========================================================
   v3.8 RC1 — FINAL VISUAL POLISH
   Design direction locked. This pass tightens rhythm,
   readability, mobile eyeline and cross-page consistency.
   ========================================================== */

:root{
  --v3-content:1180px;
  --v3-reading:760px;
  --v3-radius:14px;
  --v3-shadow:0 18px 52px rgba(1,12,18,.14);
}

/* Prevent accidental horizontal drift on small screens. */
html,body{max-width:100%;overflow-x:hidden}

/* More consistent page rhythm without flattening cinematic sections. */
main > section{
  scroll-margin-top:84px;
}

.wrap{
  width:min(calc(100% - 40px),var(--v3-content));
  margin-left:auto;
  margin-right:auto;
}

p,li{
  text-wrap:pretty;
}

h1,h2,h3{
  text-wrap:balance;
}

/* Keep reading copy comfortably narrow. */
.article-shell p,
.article-shell li,
.project-depth-disclosure p,
.v3-project-section > .wrap > p,
.v3-build-intro,
.v3-signals-intro,
.v3-case-intro,
.v3-return-strip p,
.v3-case-focus-rule p{
  max-width:var(--v3-reading);
}

/* Consistent premium card surface treatment. */
.v3-status-card,
.v3-project-flow article,
.v3-build-steps article,
.v3-signals-legend article,
.v3-case-card{
  box-shadow:0 10px 28px rgba(5,22,31,.06);
}

/* Give major v3 sections a little more breathing room between kicker/title/copy. */
.v3-project-section .kicker,
.v3-build-overview .kicker,
.v3-signals-overview .kicker,
.v3-case-selector .kicker,
.v3-return-strip .kicker,
.v3-case-focus-rule .kicker{
  margin-bottom:10px;
}

.v3-project-section h2,
.v3-build-overview h2,
.v3-signals-overview h2,
.v3-case-selector h2,
.v3-return-strip h2,
.v3-case-focus-rule h2{
  margin-bottom:16px;
}

/* Buttons: consistent physical target and less "link row" feeling. */
.btn,
button,
.v3-case-card{
  min-height:44px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

/* Strong, visible keyboard focus everywhere. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible{
  outline:3px solid rgba(217,183,101,.9)!important;
  outline-offset:3px!important;
}

/* Build page — keep the explainer compact so the real evidence arrives sooner. */
.v3-build-steps article{
  min-height:180px;
}

.v3-build-status{
  margin-top:24px;
}

/* Signals — make the archive feel like the destination, not a footnote. */
.v3-return-strip{
  padding-top:40px;
  padding-bottom:44px;
}

/* Case Lab — single focal choice, slightly larger cards. */
.v3-case-card{
  min-height:230px;
}

.v3-case-card h3{
  font-size:clamp(22px,2.1vw,28px);
}

/* Project — reduce report-like density. */
.v3-status-grid{
  margin-bottom:50px;
}

.v3-project-flow{
  margin-bottom:50px;
}

/* Legal/support pages should remain quieter than the main experience. */
body:has(.legal-page) .article-shell,
body:has(.support-page) .article-shell{
  max-width:900px;
}

/* Form controls: comfortable and consistent. */
input,
textarea,
select{
  min-height:44px;
}

textarea{
  min-height:140px;
}

/* Mobile: one strong item in the eyeline at a time. */
@media(max-width:760px){
  .wrap{
    width:min(calc(100% - 28px),var(--v3-content));
  }

  main > section{
    scroll-margin-top:68px;
  }

  .v3-project-section,
  .v3-build-overview,
  .v3-signals-overview,
  .v3-case-selector{
    padding-top:44px!important;
    padding-bottom:48px!important;
  }

  .v3-project-section h2,
  .v3-build-overview h2,
  .v3-signals-overview h2,
  .v3-case-selector h2,
  .v3-return-strip h2,
  .v3-case-focus-rule h2{
    font-size:clamp(34px,10vw,48px)!important;
    line-height:1.02!important;
  }

  .v3-status-grid,
  .v3-project-flow,
  .v3-build-steps,
  .v3-signals-legend,
  .v3-case-cards{
    gap:12px!important;
  }

  .v3-status-card,
  .v3-project-flow article,
  .v3-build-steps article,
  .v3-signals-legend article,
  .v3-case-card{
    padding:20px!important;
    border-radius:12px!important;
  }

  .v3-case-card{
    min-height:auto;
  }

  .v3-page-actions,
  .focus-end-actions{
    gap:10px;
  }

  .v3-page-actions .btn,
  .focus-end-actions .btn{
    min-height:48px;
  }

  /* Avoid full-screen-height traps; let content dictate height. */
  .focus-screen{
    min-height:0!important;
    padding-top:28px!important;
    padding-bottom:30px!important;
  }

  /* Keep decision choices large and easy to scan. */
  .focus-choice{
    min-height:58px!important;
  }

  /* Make forms feel like one task, not a long document. */
  form input,
  form textarea,
  form select,
  form button{
    font-size:16px;
  }
}

/* Reduced motion remains authoritative. */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
  }
}


/* ==========================================================
   v3.9 RC2 — MOBILE SINGLE-FOCUS CARD RAILS
   Desktop unchanged. On phones, repeated card grids become
   swipeable one-item-at-a-time rails to reduce vertical density.
   ========================================================== */

@media(max-width:760px){
  .v3-status-grid,
  .v3-project-flow,
  .v3-build-steps,
  .v3-signals-legend,
  .v3-case-cards{
    display:flex!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding:2px 14px 10px 0!important;
    margin-right:-14px!important;
  }

  .v3-status-grid::-webkit-scrollbar,
  .v3-project-flow::-webkit-scrollbar,
  .v3-build-steps::-webkit-scrollbar,
  .v3-signals-legend::-webkit-scrollbar,
  .v3-case-cards::-webkit-scrollbar{
    display:none;
  }

  .v3-status-grid > *,
  .v3-project-flow > *,
  .v3-build-steps > *,
  .v3-signals-legend > *,
  .v3-case-cards > *{
    flex:0 0 min(82vw,330px)!important;
    width:min(82vw,330px)!important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  .v3-project-flow article,
  .v3-build-steps article,
  .v3-case-card{
    min-height:0!important;
  }

  /* Show a small visual hint that the row continues. */
  .v3-status-grid,
  .v3-project-flow,
  .v3-build-steps,
  .v3-signals-legend,
  .v3-case-cards{
    mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 24px),rgba(0,0,0,.25) 100%);
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 24px),rgba(0,0,0,.25) 100%);
  }

  /* A little more room after rails so the next section reads clearly. */
  .v3-status-grid,
  .v3-project-flow{
    margin-bottom:38px!important;
  }

  .v3-build-steps,
  .v3-signals-legend,
  .v3-case-cards{
    margin-bottom:18px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .v3-status-grid,
  .v3-project-flow,
  .v3-build-steps,
  .v3-signals-legend,
  .v3-case-cards{
    scroll-behavior:auto!important;
  }
}
