:root{
  --green:#1e4a46;--leaf:#4e7b69;--gold:#d89d4e;--cream:#f1e0bd;--rust:#b55432;--paper:#f5f1e8;--paper2:#ebe6da;--ink:#14140f;--inksoft:#4a4a40;--signal:#ff4405;
  --mono:"JetBrains Mono",monospace;--display:"Barlow Condensed",Impact,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:14px;line-height:1.55}.noise{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}.site-nav{position:fixed;top:0;left:0;right:0;height:54px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.15);z-index:50;background:rgba(20,20,15,.22);backdrop-filter:blur(10px);color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em}.nav-brand,.nav-campaign,.nav-links{display:flex;gap:12px;align-items:center}.nav-campaign{justify-content:center}.nav-links{justify-content:flex-end}.nav-links a{opacity:.8}.nav-links a:hover{opacity:1}.brand-mark{border:1px solid currentColor;padding:1px 5px;position:relative}.brand-mark::after{content:"";width:4px;height:4px;background:var(--signal);border-radius:50%;position:absolute;right:-6px;top:-4px}.dot{color:var(--gold)}.site-nav .nav-campaign{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.section-green{background:var(--green);color:var(--cream)}.section-paper{background:var(--paper);color:var(--ink)}.section-ink{background:var(--ink);color:var(--paper)}.section-rust{background:var(--rust);color:var(--cream)}
.hero{min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(241,224,189,.18) 0 1.15px,transparent 1.2px);background-size:28px 28px;background-position:0 0;opacity:.7;mask-image:linear-gradient(to bottom,transparent 0%,black 12%,black 88%,transparent 100%);animation:dotDrift 18s linear infinite}@keyframes dotDrift{to{background-position:28px 28px}}.hero-inner{text-align:center;position:relative;z-index:2;width:min(920px,92vw);padding:100px 0 60px}.hero-kicker,.control-topline,.section-head,.eyebrow,.module-tag,.source-chip{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.hero-kicker{display:flex;justify-content:space-between;margin-bottom:30px}.hero-seal{width:58px;height:58px;border:2px solid var(--cream);border-radius:50%;display:grid;place-items:center;margin:0 auto 28px;font-size:30px;position:relative}.hero-seal span{position:absolute;right:5px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--signal)}.hero h1{margin:0;font-family:var(--display);font-weight:800;line-height:.82;font-size:clamp(100px,15vw,230px);letter-spacing:-.03em;text-transform:uppercase}.hero h1 span{display:block}.hero h1 em{font-style:normal;font-size:.7em;display:block;line-height:.8}.hero-sub{margin:42px 0 18px;font-family:var(--display);font-size:clamp(24px,3vw,42px);line-height:1.05;letter-spacing:.03em}.hero-date{font-family:var(--display);font-size:clamp(30px,4vw,54px);letter-spacing:.04em}.hero-date strong{display:block;font-size:.48em;letter-spacing:.18em}.hero-cta{display:inline-block;background:var(--rust);color:#f8e9cf;padding:18px 30px;margin-top:36px;font-family:var(--display);font-size:clamp(24px,2.7vw,38px);line-height:.9;letter-spacing:.02em}.scroll-cue{display:block;margin-top:42px;font-size:10px;letter-spacing:.16em;font-weight:800;opacity:.75}.botanical{position:absolute;z-index:1;pointer-events:none;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 14px 24px rgba(0,0,0,.10));will-change:transform;animation:leafFloat 8s ease-in-out infinite}.botanical::before,.botanical::after{display:none}.botanical-a{left:-20px;bottom:-58px;width:280px;height:380px;transform:rotate(-12deg);background-image:url("../assets/botanicals/leaf-green.svg");animation-delay:-2.5s}.botanical-b{right:-48px;top:-72px;width:280px;height:360px;transform:rotate(10deg);background-image:url("../assets/botanicals/leaf-gold.svg");animation-delay:-5s}.botanical-c{right:-78px;bottom:70px;width:250px;height:330px;transform:rotate(-14deg);background-image:url("../assets/botanicals/leaf-green.svg");animation-delay:-1s}@keyframes leafFloat{0%,100%{translate:0 0 rotate(0deg)}50%{translate:6px -10px rotate(1.2deg)}}
.control{position:relative;min-height:100svh;padding:88px 6vw 50px;overflow:hidden}.control-field{position:absolute;inset:0;pointer-events:none;opacity:.75}.control-field canvas{width:100%;height:100%}.control-topline,.section-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid currentColor;padding-bottom:12px;position:relative;z-index:2}.control-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;min-height:62vh;position:relative;z-index:2}.control-copy{max-width:900px}.eyebrow{display:inline-block;margin-bottom:25px;opacity:.7}.control h2{font-family:var(--display);font-size:clamp(76px,11vw,180px);line-height:.78;text-transform:uppercase;margin:0 0 38px;letter-spacing:-.03em}.timer{display:flex;align-items:end;gap:10px;margin-bottom:30px}.timer>div{display:flex;flex-direction:column;min-width:125px}.timer span{font-family:var(--display);font-size:clamp(62px,7.6vw,130px);line-height:.8}.timer small{font-size:9px;letter-spacing:.14em;margin-top:13px;opacity:.58}.timer i{font-family:var(--display);font-size:clamp(44px,5vw,80px);font-style:normal;opacity:.45;margin-bottom:13px}.control-copy p{max-width:760px;font-size:clamp(15px,1.4vw,20px);color:var(--inksoft)}.control-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 22px;border:1px solid currentColor;font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:none;color:inherit}.btn-dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-outline{background:transparent}.btn-light{background:var(--cream);color:var(--ink);border-color:var(--cream)}.btn-signal{background:var(--signal);color:#fff;border-color:var(--signal)}.today-panel{border-top:8px solid var(--green);padding-top:16px;align-self:start;margin-top:130px}.today-meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.today-title{font-family:var(--display);font-size:clamp(46px,6.2vw,90px);line-height:.86;text-transform:uppercase;margin-top:40px}.today-rule{height:1px;background:currentColor;margin:34px 0}.mini-status{font-size:10px;letter-spacing:.12em;font-weight:800}.day-strip{display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:3;border-top:1px solid currentColor;border-bottom:1px solid currentColor;margin-top:30px}.day-tab{appearance:none;border:0;border-right:1px solid currentColor;padding:18px;text-align:left;background:transparent;color:inherit;font:inherit;cursor:pointer;min-height:155px;display:flex;flex-direction:column;justify-content:space-between}.day-tab:last-child{border-right:0}.day-tab:hover,.day-tab.active{background:var(--gold);color:var(--ink)}.day-tab span{font-family:var(--display);font-size:46px;line-height:.8}.day-tab strong{font-family:var(--display);font-size:25px}.day-tab em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.05em}.day-tab b{font-size:9px;letter-spacing:.12em}.day-tab.live b{color:var(--rust)}
.manifesto{padding:110px 6vw 0;overflow:hidden}.manifesto-label{font-size:10px;letter-spacing:.13em;opacity:.6;border-bottom:1px solid rgba(245,241,232,.25);padding-bottom:12px}.manifesto-content{display:grid;grid-template-columns:1.5fr .5fr;gap:7vw;padding:90px 0 120px}.mega{font-family:var(--display);font-size:clamp(82px,13vw,220px);line-height:.79;letter-spacing:-.04em;margin:0;text-transform:uppercase}.mega span{color:var(--gold)}.mega.small{font-size:clamp(70px,9vw,150px)}.manifesto-side{align-self:end;max-width:380px}.manifesto-side p{font-size:15px}.text-link{display:inline-block;margin-top:30px;font-weight:800;font-size:10px;letter-spacing:.12em}.marquee{overflow:hidden;border-top:1px solid rgba(245,241,232,.25);border-bottom:1px solid rgba(245,241,232,.25);white-space:nowrap}.marquee div{display:inline-block;font-family:var(--display);font-size:52px;line-height:1;padding:14px 0;animation:marq 24s linear infinite}.marquee div+div{margin-left:30px}@keyframes marq{to{transform:translateX(-100%)}}
.lab{padding:110px 6vw 120px}.lab-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;padding:75px 0 90px}.lab-intro h2,.explainer h2,.sources h2{font-family:var(--display);font-size:clamp(80px,10vw,170px);line-height:.77;letter-spacing:-.04em;margin:0;text-transform:uppercase}.lab-intro p{align-self:end;max-width:450px;font-size:16px}.module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.module-card{min-height:550px;border:1px solid rgba(241,224,189,.3);padding:28px;position:relative;overflow:hidden;display:flex;flex-direction:column}.module-card-large,.module-card-wide{min-height:640px}.module-card-wide{grid-column:span 2}.module-num{font-family:var(--display);font-size:52px;line-height:.8;color:var(--gold)}.module-tag{margin-top:12px;opacity:.65}.module-card h3{font-family:var(--display);font-size:clamp(62px,7vw,115px);line-height:.75;margin:60px 0 20px;letter-spacing:-.03em}.module-card p{max-width:410px}.module-open{border:1px solid currentColor;background:transparent;color:inherit;padding:14px 18px;font:inherit;font-size:10px;letter-spacing:.1em;font-weight:800;align-self:flex-start;cursor:pointer;margin-top:auto;z-index:2}.module-open:hover{background:var(--gold);color:var(--ink)}.module-graphic{position:absolute;inset:auto 15px 10px 15px;z-index:0}.ecosystem-graphic{height:250px}.node{position:absolute;border:1px solid rgba(241,224,189,.6);padding:7px 10px;font-size:9px;background:rgba(30,74,70,.85);animation:pulse 4s ease-in-out infinite}.n1{left:5%;top:35%}.n2{left:38%;top:5%}.n3{right:4%;top:31%}.n4{left:27%;bottom:2%}.n5{right:27%;bottom:12%}@keyframes pulse{50%{transform:translateY(-8px);box-shadow:0 0 24px rgba(216,157,78,.14)}}.waveform{height:170px;background:linear-gradient(90deg,transparent 0 3%,rgba(216,157,78,.65) 3% 3.5%,transparent 3.5% 100%);mask-image:linear-gradient(to right,transparent,black 12%,black 88%,transparent);opacity:.7}.waveform:before{content:"";position:absolute;inset:20% 0;background:repeating-radial-gradient(ellipse at center,#d89d4e 0 2px,transparent 3px 12px);clip-path:polygon(0 60%,5% 20%,10% 70%,15% 40%,20% 75%,25% 15%,30% 58%,35% 28%,40% 65%,45% 35%,50% 80%,55% 20%,60% 64%,65% 10%,70% 60%,75% 30%,80% 70%,85% 22%,90% 54%,95% 12%,100% 60%);opacity:.55}.message-graphic{bottom:18px;border:1px solid rgba(241,224,189,.35);padding:22px;font-family:var(--display);font-size:48px;line-height:.8;transform:rotate(-2deg);background:rgba(20,20,15,.25)}.message-graphic span{color:var(--gold)}.tree-preview{height:320px;width:100%;position:absolute;right:0;bottom:0;pointer-events:none}
.explainer{padding:120px 6vw}.dark{color:var(--ink)}.explainer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;margin-top:90px}.explainer h2 span,.sources h2 span{color:var(--rust)}.lead{font-size:clamp(20px,2vw,29px);max-width:640px;margin-top:60px}.reading{max-width:530px;font-size:16px}.reading p{margin:0 0 26px}.reading blockquote{border-left:6px solid var(--rust);padding-left:18px;margin:50px 0;font-family:var(--display);font-size:37px;line-height:.95}.source-chip{color:var(--rust)}
.system-story{padding:120px 6vw}.story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw}.story-sticky{position:sticky;top:80px;height:calc(100vh - 130px);display:flex;flex-direction:column;justify-content:center}.system-visual{height:60vh;position:relative;border:1px solid rgba(245,241,232,.18);overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(216,157,78,.12),transparent 55%)}.system-visual:before{content:"";position:absolute;inset:10%;background:linear-gradient(90deg,transparent 49.7%,rgba(241,224,189,.16) 50%,transparent 50.3%),linear-gradient(transparent 49.7%,rgba(241,224,189,.16) 50%,transparent 50.3%);background-size:60px 60px}.sys-node{position:absolute;left:50%;top:16%;transform:translateX(-50%);padding:10px 13px;border:1px solid rgba(241,224,189,.5);font-size:10px;background:rgba(20,20,15,.6);opacity:.18;transition:.5s}.sys-node:nth-child(2){left:24%;top:36%}.sys-node:nth-child(3){left:72%;top:34%}.sys-node:nth-child(4){left:25%;top:67%}.sys-node:nth-child(5){left:73%;top:66%}.sys-node:nth-child(6){left:50%;top:84%}.system-visual.step-1 .sys-node:nth-child(1),.system-visual.step-2 .sys-node:nth-child(-n+3),.system-visual.step-3 .sys-node:nth-child(-n+4),.system-visual.step-4 .sys-node:nth-child(-n+5),.system-visual.step-5 .sys-node{opacity:1;box-shadow:0 0 40px rgba(216,157,78,.12)}.story-readout{display:flex;gap:18px;align-items:flex-start;margin-top:18px}.story-readout span{font-family:var(--display);font-size:54px;color:var(--gold)}.story-readout p{font-size:15px;max-width:430px}.story-scroll article{min-height:85vh;padding-top:22vh;border-top:1px solid rgba(245,241,232,.18)}.story-scroll article:first-child{border-top:0}.story-scroll span{font-size:10px;letter-spacing:.1em;color:var(--gold)}.story-scroll h3{font-family:var(--display);font-size:clamp(56px,6vw,100px);line-height:.8;margin:25px 0;letter-spacing:-.03em}.story-scroll p{max-width:520px;font-size:16px}
.field-guide{padding:120px 6vw}.guide-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-top:70px}.guide-grid article{min-height:380px;padding:22px;border-right:1px solid var(--ink)}.guide-grid article:last-child{border-right:0}.guide-grid span{font-family:var(--display);font-size:52px;color:var(--rust)}.guide-grid h3{font-family:var(--display);font-size:46px;margin:60px 0 15px;line-height:.8}.guide-grid p{font-size:12px;color:var(--inksoft)}
.sources{padding:120px 6vw}.sources-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;margin-top:80px}.sources h2 span{display:inline;color:var(--gold)}.source-list{border-top:1px solid rgba(241,224,189,.25)}.source-list a{display:grid;grid-template-columns:.35fr 1fr .8fr;gap:20px;padding:22px 0;border-bottom:1px solid rgba(241,224,189,.25)}.source-list span,.source-list small{font-size:9px;letter-spacing:.08em}.source-list strong{font-family:var(--display);font-size:30px;line-height:.85}.source-list small{opacity:.7;align-self:center}
.poster-section{padding:120px 8vw;display:grid;grid-template-columns:.8fr .55fr;gap:10vw;align-items:center}.poster-copy h2{font-family:var(--display);font-size:clamp(80px,10vw,160px);line-height:.76;margin:40px 0;letter-spacing:-.04em}.poster-copy p{max-width:440px;font-size:16px;margin-bottom:30px}.poster-section figure{margin:0;border:12px solid rgba(241,224,189,.18);box-shadow:0 30px 60px rgba(0,0,0,.18)}.poster-section img{display:block;width:100%;height:auto}.poster-section .btn{margin-top:10px}
.pledge{padding:120px 6vw}.pledge-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;min-height:80vh;align-items:center}.pledge-note{max-width:430px;margin:30px 0;font-size:16px}.pledge-tree{width:100%;height:70vh;border:1px solid rgba(245,241,232,.15);background:radial-gradient(circle at 50% 65%,rgba(216,157,78,.1),transparent 55%)}
.archive{padding:120px 6vw}.archive-list{margin-top:65px;border-top:1px solid var(--ink)}.archive-list button{width:100%;border:0;border-bottom:1px solid var(--ink);background:none;color:inherit;padding:28px 0;display:grid;grid-template-columns:.2fr 1fr .25fr;gap:20px;text-align:left;align-items:center;cursor:pointer;font:inherit}.archive-list button:hover{background:var(--gold);padding-left:15px;padding-right:15px}.archive-list span,.archive-list em{font-size:10px;letter-spacing:.1em;font-style:normal}.archive-list strong{font-family:var(--display);font-size:40px;line-height:.85}
.site-footer{padding:80px 6vw;display:grid;grid-template-columns:1fr .7fr;gap:8vw;border-top:1px solid rgba(241,224,189,.2)}.site-footer h2{font-family:var(--display);font-size:clamp(62px,8vw,130px);line-height:.76;margin:30px 0 0}.footer-right{align-self:end}.footer-right>a{font-family:var(--display);font-size:42px;line-height:.8}.footer-small{font-size:10px;opacity:.6;margin-top:30px}
.modal-backdrop{position:fixed;inset:0;background:rgba(20,20,15,.72);backdrop-filter:blur(14px);z-index:100;display:grid;place-items:center;padding:22px}.modal{background:var(--paper);color:var(--ink);width:min(900px,95vw);max-height:88vh;overflow:auto;padding:42px;position:relative;border:1px solid var(--ink)}.modal-close{position:absolute;right:14px;top:12px;background:none;border:0;font-size:38px;font-family:var(--display);cursor:pointer}.modal h2{font-family:var(--display);font-size:80px;line-height:.8;margin:20px 0}.modal p{max-width:680px}.modal .option-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.modal .opt{border:1px solid var(--ink);background:transparent;padding:16px;font:inherit;cursor:pointer;text-align:left}.modal .opt:hover{background:var(--gold)}.modal .lab-progress{font-size:10px;letter-spacing:.12em;color:var(--rust)}.modal .score{font-family:var(--display);font-size:130px;line-height:.8;color:var(--rust)}.modal .trace{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:30px 0}.modal .trace div{min-height:120px;border:1px solid var(--ink);padding:10px;display:flex;align-items:flex-end;font-size:9px}.modal .trace div.active{background:var(--green);color:var(--cream)}.modal .case{border:1px solid var(--ink);padding:25px;background:#ede7d9}.modal .case-message{font-family:var(--display);font-size:40px;line-height:.84;margin:0 0 20px}.modal .check{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal form label{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;margin-bottom:6px}.modal textarea{width:100%;min-height:100px;padding:12px;font:inherit;border:1px solid var(--ink);background:transparent}.modal .pledge-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px}.modal .pledge-choice .opt.selected{background:var(--green);color:var(--cream)}
@media(max-width:900px){.site-nav{grid-template-columns:1fr auto;height:48px}.nav-campaign{display:none}.nav-links{gap:8px}.nav-links a:nth-child(2),.nav-links a:nth-child(3){display:none}.hero{min-height:95svh}.hero h1{font-size:clamp(84px,19vw,150px)}.hero-kicker{font-size:8px}.control,.manifesto,.lab,.explainer,.system-story,.field-guide,.sources,.poster-section,.pledge,.archive{padding-left:5vw;padding-right:5vw}.control-layout,.lab-intro,.explainer-grid,.story-grid,.sources-layout,.poster-section,.pledge-wrap,.site-footer{grid-template-columns:1fr;gap:45px}.control-layout{min-height:auto;padding-top:65px}.today-panel{margin-top:0}.timer{gap:5px}.timer>div{min-width:70px}.timer span{font-size:64px}.timer i{font-size:42px}.day-strip{grid-template-columns:1fr 1fr}.day-tab{min-height:130px;border-bottom:1px solid currentColor}.module-grid{grid-template-columns:1fr}.module-card-wide{grid-column:span 1}.module-card,.module-card-large,.module-card-wide{min-height:520px}.module-card h3{font-size:75px}.guide-grid{grid-template-columns:1fr}.guide-grid article{border-right:0;border-bottom:1px solid var(--ink);min-height:250px}.guide-grid article:last-child{border-bottom:0}.source-list a{grid-template-columns:1fr;gap:4px}.poster-section{grid-template-columns:1fr}.pledge-tree{height:60vh}.story-sticky{position:relative;top:auto;height:auto}.story-scroll article{min-height:70vh;padding-top:15vh}.archive-list button{grid-template-columns:1fr;gap:7px}.site-footer{grid-template-columns:1fr}.footer-right>a{font-size:30px}.manifesto-content{grid-template-columns:1fr;gap:40px}.mega{font-size:clamp(73px,16vw,130px)}}
@media(max-width:560px){.nav-links a{display:none}.hero-inner{padding-top:90px}.hero-cta{font-size:23px;padding:14px 22px}.control h2{font-size:76px}.timer{align-items:flex-start}.timer>div{min-width:auto}.timer span{font-size:42px}.timer i{font-size:30px}.timer small{font-size:7px}.day-tab span{font-size:40px}.day-tab strong{font-size:21px}.today-title{font-size:46px}.modal{padding:30px 20px}.modal h2{font-size:58px}.modal .option-grid,.modal .pledge-choice,.modal .check{grid-template-columns:1fr}.modal .trace{grid-template-columns:1fr 1fr}.modal .trace div{min-height:70px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
body.modal-open{overflow:hidden}
.modal{min-height:min(560px,70vh);display:flex;flex-direction:column;justify-content:flex-start;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.modal-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px}
.modal-code{font-size:9px;letter-spacing:.12em;color:var(--rust);font-weight:800}
.modal-content-empty{min-height:420px}
.modal h2{max-width:800px}
.modal .btn-dark{display:inline-block;margin-top:28px;align-self:flex-start}
.modal .lab-progress{margin-top:4px}
@media(max-width:560px){.modal{min-height:72vh}.modal-code{font-size:8px}.modal-close{font-size:32px}}

/* NTW-R3 runtime hardening: prevent cached/UA hidden state and make modules unmistakably visible. */
[hidden]{display:none !important}
.modal-backdrop[hidden]{display:none !important}
.modal-backdrop:not([hidden]){display:grid !important}
.modal{width:min(1040px,95vw);min-height:min(640px,84vh);max-height:90vh;padding:clamp(28px,4vw,54px);}
#modalContent{display:block;visibility:visible;opacity:1;min-height:420px;}
#modalContent h2,#modalContent p,#modalContent .lab-progress,#modalContent .option-grid,#modalContent .trace,#modalContent .case,#modalContent .pledge-choice,#modalContent .score{visibility:visible;opacity:1;}
.modal-top{min-height:28px;position:relative;z-index:2}
.modal-content-shell{display:block}
@media(max-width:560px){.modal{width:96vw;min-height:78vh;max-height:92vh;padding:26px 18px}.modal h2{font-size:56px}#modalContent{min-height:0}}

/* NTW-R4 / QA + functional refinement */
.qa-badge{position:fixed;right:14px;bottom:14px;z-index:9998;padding:8px 10px;background:var(--signal);color:#fff;font:800 9px/1 var(--mono);letter-spacing:.08em;border:1px solid var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.day-tab.locked,.module-card.is-locked{opacity:.48}.day-tab.locked{cursor:not-allowed}.module-open.is-locked{cursor:not-allowed;opacity:.6}.module-open:disabled{pointer-events:auto}
.quiz-progress{height:4px;background:rgba(20,20,15,.12);margin:18px 0 28px;overflow:hidden}.quiz-progress span{display:block;height:100%;background:var(--rust);transition:width .35s ease}.qa-question-kicker{font-size:9px;letter-spacing:.14em;font-weight:800;color:var(--rust);text-transform:uppercase}.module-note{font-size:10px!important;letter-spacing:.03em;opacity:.68;margin-top:28px}
.result-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:30px 0}.result-grid>div{border:1px solid var(--ink);padding:14px;min-height:108px;display:flex;flex-direction:column;justify-content:space-between}.result-grid span{font:9px var(--mono);opacity:.5}.result-grid strong{font:700 20px/0.9 var(--display)}.result-grid em{font:800 8px/1 var(--mono);font-style:normal;color:var(--rust)}.module-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.trace-r4{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:32px 0 18px}.trace-node{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:14px 10px;min-height:120px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;cursor:pointer;font:inherit}.trace-node span{font-size:9px;opacity:.6}.trace-node strong{font:700 22px/.88 var(--display)}.trace-node.active,.trace-node:hover{background:var(--green);color:var(--cream)}.trace-node.locked{opacity:.35;cursor:not-allowed}.trace-detail{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);padding:24px 0;display:grid;grid-template-columns:80px 1fr;gap:20px}.trace-detail>span{font:700 56px/.8 var(--display);color:var(--rust)}.trace-detail strong{font-size:10px;letter-spacing:.12em;color:var(--rust)}.trace-detail h3{font:700 clamp(36px,5vw,72px)/.82 var(--display);margin:10px 0}.trace-detail p{max-width:650px}
.case-enhanced{margin-top:24px}.case-message{font:700 clamp(34px,4.5vw,58px)/.83 var(--display)!important}.signal-hit{appearance:none;border:0;border-bottom:2px solid var(--rust);background:transparent;padding:0;color:inherit;font:inherit;cursor:pointer}.signal-hit.found{background:var(--gold)}.signal-hit-small{font:600 13px/1.2 var(--mono)}.sender-line{margin-top:28px;font:10px/1.4 var(--mono);letter-spacing:.03em}.signal-meter{margin:25px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:14px 0}.signal-meter strong{font-size:9px;letter-spacing:.1em;display:block}.signal-meter>span{display:block;height:7px;background:var(--rust);margin-top:10px;transition:width .25s ease}.signal-notes{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:20px}.signal-notes>div{border:1px solid var(--ink);padding:14px}.signal-notes span{font:700 32px/.8 var(--display);color:var(--rust)}.signal-notes strong{display:block;font:700 22px/.88 var(--display);margin:14px 0 8px}.signal-notes p{font-size:11px}.success-box,.warning-box{border:1px solid var(--ink);padding:18px;margin-top:24px}.success-box{background:var(--green);color:var(--cream)}.success-box strong{font:700 42px/.8 var(--display)}.warning-box{background:var(--gold);color:var(--ink);font-weight:900}
.pledge-choice-r4{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:28px}.pledge-choice-r4 .opt.selected{background:var(--green);color:var(--cream)}
.qa-panel[hidden]{display:none}.qa-panel{padding:100px 6vw}.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:70px}.qa-panel h2{font:700 clamp(74px,10vw,160px)/.76 var(--display);margin:25px 0}.qa-panel h2 span{color:var(--gold)}.qa-kicker{font-size:9px;letter-spacing:.13em;color:var(--gold);font-weight:800}.qa-copy{max-width:580px;font-size:15px;opacity:.8}.qa-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.qa-checks{border-top:1px solid rgba(245,241,232,.25)}.qa-checks>div{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:10px;padding:18px 0;border-bottom:1px solid rgba(245,241,232,.25)}.qa-checks span{font:700 32px/.8 var(--display);color:var(--gold)}.qa-checks strong{font-size:12px}.qa-checks em{font:800 8px/1 var(--mono);font-style:normal;letter-spacing:.12em;opacity:.7}.qa-checks em.pass{color:#7fcf8c}.qa-checks em.fail{color:#ff7b63}
@media(max-width:900px){.result-grid{grid-template-columns:1fr 1fr}.trace-r4{grid-template-columns:1fr 1fr}.trace-detail{grid-template-columns:55px 1fr}.qa-grid{grid-template-columns:1fr}.qa-panel h2{font-size:clamp(74px,16vw,130px)}}
@media(max-width:560px){.result-grid{grid-template-columns:1fr}.signal-notes,.pledge-choice-r4{grid-template-columns:1fr}.trace-r4{grid-template-columns:1fr 1fr}.trace-node{min-height:90px}.trace-detail{grid-template-columns:45px 1fr}.trace-detail>span{font-size:40px}.qa-checks>div{grid-template-columns:42px 1fr auto}.qa-badge{font-size:8px;right:8px;bottom:8px}.qa-actions .btn{width:100%}}

/* R4U2 static-unlock guarantee: the test build never visually presents campaign days as locked. */
.qa-mode .day-tab.locked, .qa-mode .module-card.is-locked, .qa-mode .module-open.is-locked { opacity: 1; cursor: pointer; }
.qa-mode .day-tab b { color: var(--rust); }


/* NTW-R5 module UX: full interactive environments */
.module-loading{min-height:520px;display:flex;flex-direction:column;justify-content:center}.module-loading h2{font-size:clamp(70px,10vw,150px);margin:28px 0}.modal-content-shell{animation:moduleIn .3s ease both}@keyframes moduleIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.modal-top{background:var(--paper);padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid rgba(20,20,15,.15)}
.modal-close{z-index:5;line-height:1}.modal:focus{outline:none}
@media(max-width:560px){.module-loading{min-height:430px}.module-loading h2{font-size:64px}}


/* NTW-R5 rich module interiors */
.module-shell-r5{padding-bottom:10px}.module-hero-r5{display:grid;grid-template-columns:1fr 140px;gap:30px;align-items:end;border-bottom:1px solid var(--ink);padding-bottom:28px}.module-hero-r5 h2{margin:18px 0 20px!important;font-size:clamp(68px,9vw,140px)!important}.module-intro-r5{font-size:15px;max-width:760px;line-height:1.65}.module-index-r5{font:800 clamp(70px,9vw,130px)/.75 var(--display);color:var(--gold);text-align:right}.module-index-r5 span{display:block;font:800 12px/1 var(--mono);color:var(--rust);margin-top:8px}.lab-metric-grid-r5,.pledge-impact-r5{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:32px 0}.lab-metric-grid-r5>div,.pledge-impact-r5>div{border:1px solid var(--ink);padding:16px}.lab-metric-grid-r5 span,.pledge-impact-r5 span{display:block;font:800 8px var(--mono);letter-spacing:.12em;opacity:.55}.lab-metric-grid-r5 strong,.pledge-impact-r5 strong{display:block;font:700 28px/.9 var(--display);margin-top:14px}.quiz-question-r5{padding:34px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.quiz-question-r5 h3{font:700 clamp(44px,6vw,90px)/.82 var(--display);margin:12px 0}.insight-strip-r5{display:grid;grid-template-columns:.35fr 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--ink)}.insight-strip-r5 strong{font-size:9px;letter-spacing:.12em}.insight-strip-r5 p{margin:0;max-width:620px}.insight-grid-r5{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:32px}.insight-grid-r5 article{border:1px solid var(--ink);padding:22px;min-height:210px}.insight-grid-r5 span{font:800 8px var(--mono);letter-spacing:.11em;color:var(--rust)}.insight-grid-r5 h3{font:700 34px/.88 var(--display);margin:35px 0 12px}.result-hero-r5{display:flex;justify-content:space-between;gap:30px;align-items:end;border-bottom:1px solid var(--ink);padding:20px 0 28px}.result-hero-r5 .score{font:800 clamp(90px,12vw,180px)/.72 var(--display);color:var(--rust)}.result-hero-r5 .score span{font-size:.26em;color:var(--ink)}.result-hero-r5 p{font-size:9px;letter-spacing:.1em;max-width:300px}.result-hero-r5 p strong{color:var(--rust)}.trace-r4{margin:34px 0 16px}.trace-node small{font:800 8px var(--mono);opacity:.6}.trace-evidence-r5{padding-top:16px;border-top:1px solid rgba(20,20,15,.18);margin-top:18px}.ai-chain-r5{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:20px 0;border-bottom:1px solid var(--ink);border-top:1px solid var(--ink);margin-top:28px}.ai-chain-r5 span{border:1px solid var(--ink);padding:10px 12px;font:800 9px var(--mono)}.ai-chain-r5 i{font-style:normal;color:var(--rust);font-weight:900}.case-meta-r5{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font:800 8px var(--mono);letter-spacing:.08em;margin-bottom:12px}.case-message{position:relative}.case-label{display:block;font:800 8px var(--mono);letter-spacing:.12em;color:var(--rust);margin-bottom:26px}.signal-notes>div em{display:block;font:800 8px var(--mono);font-style:normal;color:var(--rust);margin-top:12px}.pledge-choice-r4 .opt{display:grid;grid-template-columns:38px 1fr;gap:4px 10px}.pledge-choice-r4 .opt span{font:800 30px/.8 var(--display);color:var(--rust)}.pledge-choice-r4 .opt strong{font:700 28px/.88 var(--display)}.pledge-choice-r4 .opt small{grid-column:2;font-size:10px;opacity:.62}.pledge-preview-r5{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;margin-top:30px}.pledge-preview-r5 canvas{width:100%;height:300px;border:1px solid var(--ink);background:radial-gradient(circle at 50% 65%,rgba(216,157,78,.08),transparent 55%)}.pledge-preview-r5 span{font:800 8px var(--mono);letter-spacing:.11em;color:var(--rust)}.pledge-preview-r5 h3{font:700 52px/.8 var(--display);margin:25px 0}.module-nav-r5{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:42px;padding-top:18px;border-top:1px solid var(--ink)}.module-nav-r5>span{font:800 8px var(--mono);letter-spacing:.12em;opacity:.55}.module-nav-r5 .btn{font-size:9px;padding:11px 14px}
@media(max-width:760px){.module-hero-r5{grid-template-columns:1fr}.module-index-r5{text-align:left}.lab-metric-grid-r5,.pledge-impact-r5,.insight-grid-r5,.pledge-preview-r5{grid-template-columns:1fr}.result-hero-r5{display:block}.result-hero-r5 p{margin-top:28px}.module-nav-r5{align-items:stretch;flex-direction:column}.module-nav-r5 .btn{width:100%}.ai-chain-r5 i{display:none}}

/* NTW-R7: landing page uses dedicated chapter routes; no modal/popup experience. */
#modalBackdrop,.modal-backdrop{display:none!important}
@media(max-width:900px){.site-nav .nav-campaign{position:static;transform:none;justify-self:center}.site-nav{grid-template-columns:auto 1fr auto}}

/* =========================================================
   NTW-R8 SURGICAL REFINEMENT
   DO NOT ALTER EXISTING LAYOUTS — TYPE + SYSTEM VISUAL ONLY
   ========================================================= */

/* 01 — Larger, professional navigation type */
.site-nav{
  font-size:clamp(11px,.62vw,12px);
  letter-spacing:.075em;
}

.site-nav .nav-brand{
  font-size:inherit;
}

.site-nav .nav-campaign{
  font-size:clamp(10.5px,.60vw,12px);
  letter-spacing:.095em;
}

.site-nav .nav-links{
  font-size:clamp(10.5px,.58vw,11.5px);
  letter-spacing:.08em;
}

.site-nav .brand-mark{
  padding:2px 6px;
}


/* 02 — Add one clean botanical structure behind
      the existing system visualization */
.system-visual{
  position:relative;
}

.system-visual::after{
  content:"";
  position:absolute;
  inset:8% 4% 3% 4%;
  background-image:url("../assets/botanicals/tree-line.svg");
  background-repeat:no-repeat;
  background-position:center bottom;
  background-size:78% auto;
  opacity:.15;
  pointer-events:none;
  z-index:1;
  transform-origin:center bottom;
  animation:ntwTreeFloat 14s ease-in-out infinite;
}

.system-visual .sys-node{
  z-index:3;
}

@keyframes ntwTreeFloat{
  0%,100%{
    transform:translate3d(0,0,0) rotate(0deg);
  }
  50%{
    transform:translate3d(3px,-5px,0) rotate(.35deg);
  }
}

/* Keep the existing system grid exactly as it is */
.system-visual::before{
  z-index:2;
}

/* Responsive botanical scale only */
@media(max-width:900px){
  .system-visual::after{
    background-size:86% auto;
    opacity:.13;
  }
}

@media(max-width:560px){
  .system-visual::after{
    background-size:96% auto;
    opacity:.11;
  }
}

/* =========================================================
   NTW — MAIN LANDING PAGE ONLY
   REPLACE HERO ROUND × SEAL WITH ICX ORBIT MARK
   ========================================================= */

.hero-seal{
  overflow:hidden;
  background-color:#fff8ea;
  background-image:url("../assets/botanicals/orbit-x.png");
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 100%;
  color:transparent;
  font-size:0;
  line-height:0;
  border-color:var(--cream);
}

.hero-seal span{
  display:none !important;
}

@media(max-width:560px){
  .hero-seal{
    background-size:100% 100%;
  }
}


/* =========================================================
   NTW — ARCHIVE BRIDGE
   Replace the empty band before the four archive rows
   ========================================================= */

.archive-list::before{
  content:
    "FOUR DAYS. FOUR QUESTIONS. ONE SHARED SYSTEM.\\A"
    "Explore the campaign archive across cybersecurity, AI, digital awareness and collective action.";

  display:block;

  white-space:pre-line;

  width:100%;

  padding:30px 0 28px;

  text-align:center;

  border-bottom:1px solid rgba(20,20,15,.18);

  font-family:"JetBrains Mono",monospace;

  font-size:clamp(12px,.9vw,15px);

  line-height:1.65;

  letter-spacing:.035em;

  color:var(--ink-soft);
}

.archive-list::first-line{
  color:var(--ink);
  font-weight:700;
  letter-spacing:.08em;
}

/* Keep the archive rows exactly as they are */
.archive-list .archive-row{
  position:relative;
  z-index:1;
}

/* Mobile */
@media(max-width:560px){
  .archive-list::before{
    padding:24px 16px;
    font-size:11px;
    line-height:1.7;
  }
}


/* =========================================================
   NTW — ARCHIVE CLEANUP
   REMOVE ONLY THE EMPTY BAND ABOVE THE ARCHIVE STATEMENT
   ========================================================= */

/* Collapse the unused top spacing inside the archive list */
.archive-list{
  padding-top:0 !important;
  margin-top:0 !important;
}

/* Remove empty structural rows/spacers if present */
.archive-list > .archive-spacer,
.archive-list > .archive-empty,
.archive-list > .archive-placeholder,
.archive-list > div:empty{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
}

/* Remove a stray empty bordered block immediately
   before the editorial bridge */
.archive-list > *:not(.archive-row):not(:has(*)):not(:has(+ *)){
  min-height:0 !important;
}

/* Keep the editorial statement compact and intentional */
.archive-list::before{
  margin-top:0 !important;
  padding-top:26px !important;
  padding-bottom:24px !important;
}

/* Remove any extra border that creates the blank rectangle */
.archive-list{
  border-top:0 !important;
}

/* Preserve the archive rows and their existing separators */
.archive-list .archive-row{
  border-top:1px solid rgba(20,20,15,.18);
}

@media(max-width:560px){
  .archive-list::before{
    padding-top:22px !important;
    padding-bottom:20px !important;
  }
}


/* =========================================================
   NTW — ARCHIVE STATEMENT FINAL TEXT FIX
   ========================================================= */

.archive-list::before{
  content:
    "FOUR DAYS. FOUR QUESTIONS. ONE SHARED SYSTEM."
    "\A"
    "Explore the campaign archive across cybersecurity, AI, digital awareness, and collective action.";

  white-space:pre-line !important;
  display:block !important;

  text-align:center;

  line-height:1.65;

  letter-spacing:.045em;
}


/* =========================================================
   NTW — PUBLIC PRE-LAUNCH CLEANUP
   QA remains available only through ?qa=1.
   ========================================================= */

body:not(.qa-mode) #qa,
body:not(.qa-mode) #qaNav,
body:not(.qa-mode) #qaBadge{
  display:none !important;
}


/* =========================================================
   NTW — ENTER THE EXPERIENCE
   Landing page only
   ========================================================= */

.ntw-enter-experience{
  position:relative;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:16px;

  min-height:64px;
  padding:18px 30px 18px 32px;

  border:2px solid #8FD3FF !important;
  background:#8FD3FF !important;
  color:#14140F !important;

  font-family:"JetBrains Mono",monospace !important;
  font-size:clamp(16px,1.15vw,20px) !important;
  font-weight:900 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase;

  text-decoration:none !important;

  box-shadow:none !important;
  border-radius:0 !important;

  transition:
    opacity .28s ease,
    transform .28s ease,
    background-color .2s ease;
}

.ntw-enter-experience:hover{
  background:#B9E3FF !important;
  transform:translateY(-2px);
}

.ntw-enter-experience:focus-visible{
  outline:3px solid #F1E0BD;
  outline-offset:5px;
}

.ntw-enter-experience .ntw-enter-arrow{
  display:inline-block;
  font-size:1.35em;
  font-weight:900;
  line-height:1;

  animation:ntwEnterJump 1.5s cubic-bezier(.45,0,.25,1) infinite;
  transform-origin:center;
}

@keyframes ntwEnterJump{
  0%,100%{
    transform:translateY(0);
  }

  35%{
    transform:translateY(6px);
  }

  55%{
    transform:translateY(-2px);
  }

  70%{
    transform:translateY(4px);
  }
}

/* hidden state after click / downward scroll */
.ntw-enter-experience.ntw-enter-hidden{
  opacity:0;
  transform:translateY(14px);
  pointer-events:none;
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  .ntw-enter-experience .ntw-enter-arrow{
    animation:none;
  }

  .ntw-enter-experience{
    transition:none;
  }
}

/* Mobile */
@media(max-width:560px){
  .ntw-enter-experience{
    min-height:58px;
    padding:16px 22px;
    font-size:15px !important;
    gap:12px;
  }
}


/* =========================================================
   NTW — ENTER THE EXPERIENCE
   MAIN LANDING PAGE ONLY
   ========================================================= */

.scroll-cue{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:16px;

  min-height:64px;
  margin-top:44px !important;
  padding:17px 30px 17px 34px;

  border:2px solid #8FD3FF;
  background:#8FD3FF;
  color:#14140F !important;

  font-family:"JetBrains Mono",monospace !important;
  font-size:clamp(16px,1.15vw,20px) !important;
  font-weight:900 !important;
  letter-spacing:.075em !important;
  line-height:1;

  text-decoration:none !important;
  text-transform:uppercase;

  opacity:1 !important;

  transition:
    opacity .28s ease,
    transform .28s ease,
    background-color .2s ease,
    border-color .2s ease;
}

.scroll-cue:hover{
  background:#B9E3FF;
  border-color:#B9E3FF;
  color:#14140F !important;
  opacity:1 !important;
  transform:translateY(-2px);
}

.scroll-cue:focus-visible{
  outline:3px solid #F1E0BD;
  outline-offset:5px;
}

/* animated arrow */
.scroll-cue::first-letter{
  display:inline-block;
}

/* Mobile */
@media(max-width:560px){
  .scroll-cue{
    min-height:58px;
    margin-top:34px !important;
    padding:15px 22px;
    font-size:14px !important;
    gap:12px;
  }
}

/* hidden state */
.scroll-cue.ntw-scroll-hidden{
  opacity:0 !important;
  transform:translateY(16px);
  pointer-events:none;
}


/* =========================================================
   NTW — ENTER THE EXPERIENCE FINAL
   Restore original vertical placement.
   Redesign ONLY the experience control.
   ========================================================= */

.scroll-cue{
  /* Restore vertical stacking under FOR LIFE / FOR NATURE */
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;

  width:max-content !important;
  max-width:calc(100vw - 40px);

  margin:34px auto 0 !important;

  /* Signature ICX charcoal */
  background:#14140F !important;
  border:2px solid #14140F !important;

  color:#F1E0BD !important;

  padding:18px 30px 18px 32px !important;
  min-height:62px !important;

  font-family:"JetBrains Mono",monospace !important;
  font-size:clamp(16px,1.15vw,20px) !important;
  font-weight:900 !important;
  letter-spacing:.075em !important;
  line-height:1 !important;

  text-transform:uppercase;
  text-decoration:none !important;

  box-shadow:none !important;
  border-radius:0 !important;

  position:relative !important;
  z-index:10 !important;

  transition:
    opacity .28s ease,
    transform .28s ease,
    background-color .2s ease,
    color .2s ease;
}

/* Keep the orange FOR LIFE / FOR NATURE block untouched.
   The cue gets its own normal-flow row below it. */
.scroll-cue:hover{
  background:#1C1C18 !important;
  border-color:#1C1C18 !important;
  color:#F1E0BD !important;
  transform:translateY(-2px);
}

/* Sky-blue arrow only */
.scroll-cue span:first-child{
  color:#8FD3FF !important;
  display:inline-block !important;
  margin-right:2px;
  animation:ntwCueJumpFinal 1.35s ease-in-out infinite;
}

/* Preserve the requested hide/show behavior */
.scroll-cue.ntw-scroll-hidden{
  opacity:0 !important;
  transform:translateY(16px) !important;
  pointer-events:none !important;
}

@keyframes ntwCueJumpFinal{
  0%,100%{
    transform:translateY(0);
  }

  35%{
    transform:translateY(5px);
  }

  55%{
    transform:translateY(-2px);
  }

  72%{
    transform:translateY(3px);
  }
}

@media(prefers-reduced-motion:reduce){
  .scroll-cue span:first-child{
    animation:none !important;
  }
}

@media(max-width:560px){
  .scroll-cue{
    margin-top:28px !important;
    min-height:56px !important;
    padding:15px 22px !important;
    font-size:14px !important;
  }
}


/* =========================================================
   NTW — HOMEPAGE CONTROL ROOM / PASS 1
   Scope: #control ONLY
   No changes to hero, manifesto, lab, sources, archive, footer
   ========================================================= */

/* Full-screen editorial control room */
#control.control{
  min-height:100svh !important;
  padding:88px 6vw 42px !important;
  display:flex;
  flex-direction:column;
}

/* Existing top rule — preserve style, improve scale */
#control .control-topline{
  font-size:clamp(10px,.62vw,12px) !important;
  letter-spacing:.105em !important;
  padding-bottom:14px !important;
}

/* Main control composition */
#control .control-layout{
  flex:1;
  min-height:0 !important;

  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr) !important;

  gap:7vw !important;

  align-items:center !important;

  position:relative;
  z-index:2;
}

/* Left editorial block */
#control .control-copy{
  max-width:920px !important;
  align-self:center !important;
}

/* Small metadata */
#control .control-copy .eyebrow{
  margin-bottom:28px !important;
  font-size:clamp(10px,.62vw,12px) !important;
  letter-spacing:.11em !important;
}

/* Main state heading */
#control .control-copy h2{
  font-size:clamp(82px,10.5vw,178px) !important;
  line-height:.76 !important;
  letter-spacing:-.035em !important;
  margin:0 0 42px !important;
}

/* Large countdown */
#control .timer{
  display:flex !important;
  align-items:flex-end !important;
  gap:8px !important;

  margin:0 0 34px !important;

  width:max-content;
  max-width:100%;
}

#control .timer > div{
  min-width:clamp(105px,9vw,152px) !important;
}

#control .timer span{
  font-size:clamp(72px,8.2vw,142px) !important;
  line-height:.72 !important;
  letter-spacing:-.025em !important;
}

#control .timer small{
  margin-top:16px !important;
  font-size:9px !important;
  letter-spacing:.14em !important;
  font-weight:800 !important;
}

#control .timer i{
  font-size:clamp(48px,5vw,82px) !important;
  margin-bottom:15px !important;
}

/* Supporting copy */
#control .control-copy > p{
  max-width:780px !important;
  font-size:clamp(16px,1.25vw,19px) !important;
  line-height:1.65 !important;
  margin:0 !important;
}

/* Actions */
#control .control-actions{
  margin-top:34px !important;
  gap:9px !important;
}

#control .control-actions .btn{
  min-height:58px !important;
  padding:15px 23px !important;
  font-size:10px !important;
  letter-spacing:.105em !important;
}

/* Today's programme — centered vertically */
#control .today-panel{
  align-self:center !important;
  margin-top:0 !important;
  width:100%;
  max-width:560px;

  border-top:8px solid var(--green);
  padding-top:18px !important;
}

/* Metadata row */
#control .today-meta{
  font-size:10px !important;
  letter-spacing:.12em !important;
}

#control .today-meta strong{
  font-size:11px;
  letter-spacing:.10em;
}

/* Programme title */
#control .today-title{
  font-size:clamp(56px,6.3vw,94px) !important;
  line-height:.82 !important;
  margin-top:42px !important;
  letter-spacing:-.025em !important;
}

/* Existing rule between title/status */
#control .today-rule{
  margin:34px 0 !important;
}

/* Live/preview status */
#control .mini-status{
  font-size:10px !important;
  letter-spacing:.11em !important;
}

/* Four-day navigation becomes a strong base */
#control .day-strip{
  width:100%;
  margin-top:28px !important;

  grid-template-columns:repeat(4,1fr);

  border-top:1px solid currentColor !important;
  border-bottom:1px solid currentColor !important;
}

/* Individual days */
#control .day-tab{
  min-height:168px !important;
  padding:20px !important;
  border-right:1px solid currentColor !important;
}

#control .day-tab span{
  font-size:52px !important;
  line-height:.72 !important;
}

#control .day-tab strong{
  font-size:27px !important;
  line-height:.82 !important;
}

#control .day-tab em{
  font-size:10px !important;
  letter-spacing:.07em !important;
}

#control .day-tab b{
  font-size:9px !important;
  letter-spacing:.11em !important;
}

/* Keep the existing gold active state,
   only increase its visual authority */
#control .day-tab:hover,
#control .day-tab.active{
  background:var(--gold) !important;
  color:var(--ink) !important;
}

/* Preserve the existing field/canvas,
   but keep it visually behind the editorial layer */
#control .control-field{
  opacity:.68 !important;
  z-index:0 !important;
}

#control .control-field canvas{
  display:block;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1100px){

  #control .control-layout{
    grid-template-columns:1fr !important;
    gap:42px !important;
    align-content:center !important;
  }

  #control .today-panel{
    max-width:none;
  }

  #control .today-title{
    font-size:clamp(52px,8vw,82px) !important;
  }

}

@media(max-width:760px){

  #control.control{
    padding:80px 5vw 30px !important;
  }

  #control .control-copy h2{
    font-size:clamp(66px,15vw,110px) !important;
  }

  #control .timer{
    width:100%;
    flex-wrap:nowrap;
  }

  #control .timer > div{
    min-width:0 !important;
    flex:1;
  }

  #control .timer span{
    font-size:clamp(48px,11vw,78px) !important;
  }

  #control .timer i{
    font-size:42px !important;
    margin-bottom:10px !important;
  }

  #control .day-strip{
    grid-template-columns:1fr 1fr !important;
  }

  #control .day-tab:nth-child(2){
    border-right:0 !important;
  }

  #control .day-tab{
    min-height:142px !important;
  }

}

@media(max-width:560px){

  #control .control-copy h2{
    font-size:clamp(58px,17vw,92px) !important;
    margin-bottom:34px !important;
  }

  #control .timer span{
    font-size:clamp(38px,10vw,58px) !important;
  }

  #control .timer i{
    font-size:30px !important;
  }

  #control .timer small{
    font-size:7px !important;
    letter-spacing:.09em !important;
  }

  #control .control-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  #control .today-title{
    font-size:clamp(46px,14vw,72px) !important;
  }

  #control .day-strip{
    grid-template-columns:1fr 1fr !important;
  }

  #control .day-tab{
    min-height:132px !important;
    padding:16px !important;
  }

  #control .day-tab span{
    font-size:44px !important;
  }

}


/* =========================================================
   NTW — MANIFESTO PASS 2
   Interactive connected-system layer
   ========================================================= */

.manifesto-system{
  position:relative;
  padding:0 0 80px;
  border-top:1px solid rgba(245,241,232,.24);
}

.manifesto-system-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:15px 0;
  border-bottom:1px solid rgba(245,241,232,.18);

  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.manifesto-system-head span:last-child{
  color:var(--gold);
}

/* Main connected sequence */
.manifesto-system-line{
  display:flex;
  align-items:stretch;
  width:100%;
  margin-top:38px;
}

.manifesto-node{
  appearance:none;
  flex:1;
  min-height:150px;

  padding:20px;

  border:1px solid rgba(245,241,232,.22);
  border-right:0;

  background:transparent;
  color:var(--paper);

  cursor:pointer;
  text-align:left;

  font:inherit;

  transition:
    background-color .22s ease,
    color .22s ease,
    transform .22s ease,
    border-color .22s ease;
}

.manifesto-node:last-child{
  border-right:1px solid rgba(245,241,232,.22);
}

.manifesto-node > span{
  display:block;

  font-size:9px;
  letter-spacing:.13em;
  opacity:.55;
}

.manifesto-node strong{
  display:block;
  margin-top:50px;

  font-family:var(--display);
  font-size:clamp(30px,3.5vw,56px);
  line-height:.82;
  letter-spacing:-.02em;
}

.manifesto-node:hover,
.manifesto-node.active{
  background:var(--gold);
  border-color:var(--gold);
  color:var(--ink);

  transform:translateY(-4px);
}

.manifesto-node:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:4px;
}

/* Connecting arrows */
.manifesto-system-line > i{
  display:flex;
  align-items:center;
  justify-content:center;

  width:22px;
  flex:0 0 22px;

  font-family:var(--display);
  font-size:21px;
  font-style:normal;

  color:var(--gold);
  opacity:.75;

  position:relative;
  z-index:3;
  margin-left:-1px;
}

/* Detail panel */
.manifesto-system-detail{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7vw;
  align-items:end;

  margin-top:7px;
  padding:34px;

  border:1px solid rgba(245,241,232,.22);

  background:
    radial-gradient(
      circle at 82% 45%,
      rgba(216,157,78,.10),
      transparent 35%
    );
}

.manifesto-system-detail .eyebrow{
  margin-bottom:13px;
}

.manifesto-system-detail h3{
  max-width:820px;

  margin:0;

  font-family:var(--display);
  font-size:clamp(42px,5vw,82px);
  line-height:.82;
  letter-spacing:-.03em;
  text-transform:uppercase;
}

.manifesto-system-detail p{
  max-width:520px;
  margin:0;

  font-size:15px;
  line-height:1.7;
  opacity:.84;
}

/* Entering animation */
.manifesto-system.is-visible .manifesto-node{
  animation:manifestoNodeIn .55s ease both;
}

.manifesto-system.is-visible .manifesto-node:nth-of-type(1){animation-delay:.02s}
.manifesto-system.is-visible .manifesto-node:nth-of-type(2){animation-delay:.08s}
.manifesto-system.is-visible .manifesto-node:nth-of-type(3){animation-delay:.14s}
.manifesto-system.is-visible .manifesto-node:nth-of-type(4){animation-delay:.20s}
.manifesto-system.is-visible .manifesto-node:nth-of-type(5){animation-delay:.26s}
.manifesto-system.is-visible .manifesto-node:nth-of-type(6){animation-delay:.32s}

@keyframes manifestoNodeIn{
  from{
    opacity:0;
    transform:translateY(14px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media(max-width:1000px){

  .manifesto-system-line{
    overflow-x:auto;
    padding-bottom:8px;
    scrollbar-width:thin;
  }

  .manifesto-node{
    min-width:190px;
    flex:0 0 190px;
  }

  .manifesto-system-detail{
    grid-template-columns:1fr;
    gap:25px;
  }

}

@media(max-width:560px){

  .manifesto-system{
    padding-bottom:55px;
  }

  .manifesto-system-head{
    font-size:8px;
  }

  .manifesto-system-line{
    margin-top:25px;
  }

  .manifesto-node{
    min-width:155px;
    flex-basis:155px;
    min-height:125px;
    padding:16px;
  }

  .manifesto-node strong{
    margin-top:37px;
    font-size:32px;
  }

  .manifesto-system-line > i{
    width:17px;
    flex-basis:17px;
    font-size:17px;
  }

  .manifesto-system-detail{
    padding:25px;
  }

  .manifesto-system-detail h3{
    font-size:clamp(38px,12vw,58px);
  }

  .manifesto-system-detail p{
    font-size:14px;
  }

}

@media(prefers-reduced-motion:reduce){

  .manifesto-system.is-visible .manifesto-node{
    animation:none;
  }

  .manifesto-node{
    transition:none;
  }

}


/* =========================================================
   NTW — MANIFESTO PASS 2
   Interactive connected-system layer
   ========================================================= */

.manifesto-system{
  position:relative;
  padding:0 0 80px;
  border-top:1px solid rgba(245,241,232,.24);
}

.manifesto-system-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:15px 0;
  border-bottom:1px solid rgba(245,241,232,.18);

  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.manifesto-system-head span:last-child{
  color:var(--gold);
}

/* Main connected sequence */
.manifesto-system-line{
  display:flex;
  align-items:stretch;
  width:100%;
  margin-top:38px;
}

.manifesto-node{
  appearance:none;
  flex:1;
  min-height:150px;

  padding:20px;

  border:1px solid rgba(245,241,232,.22);
  border-right:0;

  background:transparent;
  color:var(--paper);

  cursor:pointer;
  text-align:left;

  font:inherit;

  transition:
    background-color .22s ease,
    color .22s ease,
    transform .22s ease,
    border-color .22s ease;
}

.manifesto-node:last-child{
  border-right:1px solid rgba(245,241,232,.22);
}

.manifesto-node > span{
  display:block;

  font-size:9px;
  letter-spacing:.13em;
  opacity:.55;
}

.manifesto-node strong{
  display:block;
  margin-top:50px;

  font-family:var(--display);
  font-size:clamp(30px,3.5vw,56px);
  line-height:.82;
  letter-spacing:-.02em;
}

.manifesto-node:hover,
.manifesto-node.active{
  background:var(--gold);
  border-color:var(--gold);
  color:var(--ink);

  transform:translateY(-4px);
}

.manifesto-node:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:4px;
}

/* Connecting arrows */
.manifesto-system-line > i{
  display:flex;
  align-items:center;
  justify-content:center;

  width:22px;
  flex:0 0 22px;

  font-family:var(--display);
  font-size:21px;
  font-style:normal;

  color:var(--gold);
  opacity:.75;

  position:relative;
  z-index:3;
  margin-left:-1px;
}

/* Detail panel */
.manifesto-system-detail{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7vw;
  align-items:end;

  margin-top:7px;
  padding:34px;

  border:1px solid rgba(245,241,232,.22);

  background:
    radial-gradient(
      circle at 82% 45%,
      rgba(216,157,78,.10),
      transparent 35%
    );
}

.manifesto-system-detail .eyebrow{
  margin-bottom:13px;
}

.manifesto-system-detail h3{
  max-width:820px;

  margin:0;

  font-family:var(--display);
  font-size:clamp(42px,5vw,82px);
  line-height:.82;
  letter-spacing:-.03em;
  text-transform:uppercase;
}

.manifesto-system-detail p{
  max-width:520px;
  margin:0;

  font-size:15px;
  line-height:1.7;
  opacity:.84;
}

/* Entering animation */
.manifesto-system.is-visible .manifesto-node{
  animation:manifestoNodeIn .55s ease both;
}

.manifesto-system.is-visible .manifesto-node:nth-of-type(1){animation-delay:.02s}
.manifesto-system.is-visible .manifesto-node:nth-of-type(2){animation-delay:.08s}
.manifesto-system.is-visible .manifesto-node:nth-of-type(3){animation-delay:.14s}
.manifesto-system.is-visible .manifesto-node:nth-of-type(4){animation-delay:.20s}
.manifesto-system.is-visible .manifesto-node:nth-of-type(5){animation-delay:.26s}
.manifesto-system.is-visible .manifesto-node:nth-of-type(6){animation-delay:.32s}

@keyframes manifestoNodeIn{
  from{
    opacity:0;
    transform:translateY(14px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media(max-width:1000px){

  .manifesto-system-line{
    overflow-x:auto;
    padding-bottom:8px;
    scrollbar-width:thin;
  }

  .manifesto-node{
    min-width:190px;
    flex:0 0 190px;
  }

  .manifesto-system-detail{
    grid-template-columns:1fr;
    gap:25px;
  }

}

@media(max-width:560px){

  .manifesto-system{
    padding-bottom:55px;
  }

  .manifesto-system-head{
    font-size:8px;
  }

  .manifesto-system-line{
    margin-top:25px;
  }

  .manifesto-node{
    min-width:155px;
    flex-basis:155px;
    min-height:125px;
    padding:16px;
  }

  .manifesto-node strong{
    margin-top:37px;
    font-size:32px;
  }

  .manifesto-system-line > i{
    width:17px;
    flex-basis:17px;
    font-size:17px;
  }

  .manifesto-system-detail{
    padding:25px;
  }

  .manifesto-system-detail h3{
    font-size:clamp(38px,12vw,58px);
  }

  .manifesto-system-detail p{
    font-size:14px;
  }

}

@media(prefers-reduced-motion:reduce){

  .manifesto-system.is-visible .manifesto-node{
    animation:none;
  }

  .manifesto-node{
    transition:none;
  }

}


/* =========================================================
   NTW — MANIFESTO TOP-DOWN EDITORIAL SYSTEM
   Homepage manifesto only.
   Existing content + interaction preserved.
   ========================================================= */

.manifesto .manifesto-system{
  position:relative;
  padding-bottom:105px;
}

/* Header remains horizontal */
.manifesto .manifesto-system-head{
  position:relative;
  z-index:4;
}

/* ---------------------------------------------------------
   Vertical narrative spine
   --------------------------------------------------------- */

.manifesto .manifesto-system-line{
  position:relative;

  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;

  width:100% !important;

  margin:52px auto 0 !important;
  padding:0 0 10px !important;

  overflow:visible !important;
}

/* Central connecting spine */
.manifesto .manifesto-system-line::before{
  content:"";

  position:absolute;

  top:0;
  bottom:0;
  left:50%;

  width:1px;

  background:rgba(245,241,232,.26);

  transform:translateX(-50%);

  pointer-events:none;
  z-index:0;
}

/* ---------------------------------------------------------
   Layer cards
   --------------------------------------------------------- */

.manifesto .manifesto-node{
  position:relative;
  z-index:2;

  width:min(850px,88%);

  min-height:132px;

  display:grid !important;
  grid-template-columns:70px 1fr !important;
  align-items:center !important;

  padding:24px 30px !important;

  border:1px solid rgba(245,241,232,.25) !important;

  background:rgba(20,20,15,.24);

  text-align:left !important;

  transform:none;
}

/* Number */
.manifesto .manifesto-node > span{
  align-self:start;

  font-size:9px;
  letter-spacing:.14em;

  opacity:.55;
}

/* Layer title */
.manifesto .manifesto-node strong{
  margin:0 !important;

  font-family:var(--display);
  font-size:clamp(42px,5vw,72px);
  line-height:.8;
  letter-spacing:-.025em;

  transition:transform .25s ease;
}

/* Active layer */
.manifesto .manifesto-node:hover,
.manifesto .manifesto-node.active{
  background:var(--gold) !important;
  border-color:var(--gold) !important;
  color:var(--ink) !important;

  transform:translateX(8px) !important;
}

.manifesto .manifesto-node:hover strong,
.manifesto .manifesto-node.active strong{
  transform:translateX(7px);
}

/* ---------------------------------------------------------
   Arrow / connection nodes
   --------------------------------------------------------- */

.manifesto .manifesto-system-line > i{
  position:relative;
  z-index:3;

  width:42px !important;
  height:42px !important;

  flex:0 0 42px !important;

  margin:0 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  color:var(--gold);

  background:var(--ink);

  border:1px solid rgba(245,241,232,.26);

  font-size:20px !important;
  line-height:1;

  transform:rotate(90deg);
}

/* ---------------------------------------------------------
   Detail panel
   --------------------------------------------------------- */

.manifesto .manifesto-system-detail{
  position:relative;
  z-index:4;

  width:min(1040px,100%);

  margin:12px auto 0 !important;

  grid-template-columns:1fr 1fr !important;

  padding:40px !important;

  border:1px solid rgba(245,241,232,.25);

  background:
    radial-gradient(
      circle at 82% 40%,
      rgba(216,157,78,.09),
      transparent 38%
    );
}

.manifesto .manifesto-system-detail h3{
  font-size:clamp(44px,5vw,82px);
  line-height:.8;
}

/* ---------------------------------------------------------
   Editorial labels
   --------------------------------------------------------- */

.manifesto .manifesto-system::after{
  content:"PHYSICAL WORLD → DIGITAL SYSTEM → ARTIFICIAL INTELLIGENCE";

  display:block;

  width:min(850px,88%);

  margin:34px auto 0;

  text-align:center;

  font-size:8px;
  line-height:1.4;
  letter-spacing:.16em;

  color:var(--gold);

  opacity:.65;
}

/* ---------------------------------------------------------
   Scroll reveal
   --------------------------------------------------------- */

.manifesto .manifesto-system.is-visible .manifesto-node{
  animation:manifestoTopDownIn .58s ease both;
}

.manifesto .manifesto-system.is-visible .manifesto-node:nth-of-type(1){animation-delay:.05s}
.manifesto .manifesto-system.is-visible .manifesto-node:nth-of-type(2){animation-delay:.15s}
.manifesto .manifesto-system.is-visible .manifesto-node:nth-of-type(3){animation-delay:.25s}
.manifesto .manifesto-system.is-visible .manifesto-node:nth-of-type(4){animation-delay:.35s}
.manifesto .manifesto-system.is-visible .manifesto-node:nth-of-type(5){animation-delay:.45s}
.manifesto .manifesto-system.is-visible .manifesto-node:nth-of-type(6){animation-delay:.55s}

@keyframes manifestoTopDownIn{
  from{
    opacity:0;
    transform:translateY(25px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media(max-width:900px){

  .manifesto .manifesto-node{
    width:min(760px,92%);
  }

  .manifesto .manifesto-system-detail{
    grid-template-columns:1fr !important;
  }

}

/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media(max-width:560px){

  .manifesto .manifesto-system{
    padding-bottom:70px;
  }

  .manifesto .manifesto-system-line{
    margin-top:38px !important;
  }

  .manifesto .manifesto-node{
    width:94%;

    min-height:108px;

    grid-template-columns:48px 1fr !important;

    padding:20px !important;
  }

  .manifesto .manifesto-node strong{
    font-size:39px;
  }

  .manifesto .manifesto-system-line > i{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
    font-size:16px !important;
  }

  .manifesto .manifesto-system-detail{
    width:94%;

    padding:26px !important;
  }

  .manifesto .manifesto-system-detail h3{
    font-size:42px;
  }

  .manifesto .manifesto-system::after{
    width:94%;
    font-size:7px;
  }

}

/* ---------------------------------------------------------
   Reduced motion
   --------------------------------------------------------- */

@media(prefers-reduced-motion:reduce){

  .manifesto .manifesto-system.is-visible .manifesto-node{
    animation:none !important;
  }

  .manifesto .manifesto-node,
  .manifesto .manifesto-node strong{
    transition:none !important;
  }

}


/* =========================================================
   NTW — MANIFESTO TREE STRUCTURE
   Homepage Manifesto ONLY
   Existing buttons + JS interaction preserved
   ========================================================= */

/* Tree stage */
.manifesto .manifesto-system-line{
  position:relative;

  display:grid !important;

  grid-template-columns:
    minmax(0,1fr)
    minmax(220px,420px)
    minmax(0,1fr) !important;

  grid-template-rows:
    auto
    48px
    auto
    52px
    auto
    52px
    auto
    48px
    auto !important;

  align-items:center !important;
  justify-items:center !important;

  width:100% !important;
  max-width:1050px !important;

  margin:64px auto 0 !important;
  padding:0 !important;

  overflow:visible !important;
}

/* Central trunk */
.manifesto .manifesto-system-line::before{
  content:"";

  position:absolute;

  left:50%;
  top:30px;
  bottom:30px;

  width:1px;

  background:rgba(245,241,232,.26);

  transform:translateX(-50%);

  pointer-events:none;
  z-index:0;
}

/* Remove previous vertical-list behaviour */
.manifesto .manifesto-node{
  position:relative;

  z-index:3;

  width:min(420px,100%);
  min-height:126px;

  display:grid !important;
  grid-template-columns:58px 1fr !important;
  align-items:center !important;

  margin:0 !important;
  padding:20px 24px !important;

  border:1px solid rgba(245,241,232,.26) !important;

  background:rgba(20,20,15,.28);

  color:var(--paper);

  text-align:left !important;

  transform:none !important;

  transition:
    background-color .24s ease,
    color .24s ease,
    border-color .24s ease,
    transform .24s ease;
}

/* ---------------------------------------------------------
   Exact tree positions
   --------------------------------------------------------- */

/* NATURE */
.manifesto .manifesto-node:nth-of-type(1){
  grid-column:2;
  grid-row:1;
}

/* INFRASTRUCTURE */
.manifesto .manifesto-node:nth-of-type(2){
  grid-column:2;
  grid-row:3;
}

/* DATA */
.manifesto .manifesto-node:nth-of-type(3){
  grid-column:1;
  grid-row:5;
}

/* ENERGY */
.manifesto .manifesto-node:nth-of-type(4){
  grid-column:3;
  grid-row:5;
}

/* PEOPLE */
.manifesto .manifesto-node:nth-of-type(5){
  grid-column:2;
  grid-row:7;
}

/* AI */
.manifesto .manifesto-node:nth-of-type(6){
  grid-column:2;
  grid-row:9;
}

/* ---------------------------------------------------------
   Node typography
   --------------------------------------------------------- */

.manifesto .manifesto-node > span{
  display:block;

  align-self:start;

  font-size:9px;
  letter-spacing:.14em;

  opacity:.55;
}

.manifesto .manifesto-node strong{
  display:block;

  margin:0 !important;

  font-family:var(--display);
  font-size:clamp(36px,4vw,64px);
  line-height:.82;
  letter-spacing:-.025em;

  transition:transform .24s ease;
}

/* Active state */
.manifesto .manifesto-node:hover,
.manifesto .manifesto-node.active{
  background:var(--gold) !important;
  border-color:var(--gold) !important;
  color:var(--ink) !important;

  transform:translateY(-3px) !important;
}

.manifesto .manifesto-node:hover strong,
.manifesto .manifesto-node.active strong{
  transform:translateX(5px);
}

/* ---------------------------------------------------------
   Tree connectors
   --------------------------------------------------------- */

/* Hide the old arrow sequence visually */
.manifesto .manifesto-system-line > i{
  position:relative;

  display:block !important;

  width:100% !important;
  height:100% !important;

  margin:0 !important;
  padding:0 !important;

  flex:none !important;

  color:transparent !important;
  background:none !important;
  border:0 !important;

  z-index:1;

  font-size:0 !important;

  transform:none !important;
}

/* NATURE → INFRASTRUCTURE */
.manifesto .manifesto-system-line > i:nth-of-type(1){
  grid-column:2;
  grid-row:2;
}

/* Main branch from INFRASTRUCTURE */
.manifesto .manifesto-system-line > i:nth-of-type(2){
  grid-column:2;
  grid-row:4;

  width:70% !important;
  height:52px !important;

  border-top:1px solid rgba(245,241,232,.28) !important;
  border-left:1px solid rgba(245,241,232,.28) !important;
  border-right:1px solid rgba(245,241,232,.28) !important;

  border-radius:0 !important;

  background:none !important;
}

/* Central trunk into branch */
.manifesto .manifesto-system-line > i:nth-of-type(2)::before{
  content:"";

  position:absolute;

  left:50%;
  top:-1px;

  width:1px;
  height:26px;

  background:rgba(245,241,232,.28);

  transform:translateX(-50%);
}

/* Hide the redundant old arrow */
.manifesto .manifesto-system-line > i:nth-of-type(3){
  visibility:hidden;
}

/* DATA branch connector */
.manifesto .manifesto-node:nth-of-type(3)::before{
  content:"";

  position:absolute;

  right:-1px;
  top:-53px;

  width:1px;
  height:53px;

  background:rgba(245,241,232,.28);
}

/* ENERGY branch connector */
.manifesto .manifesto-node:nth-of-type(4)::before{
  content:"";

  position:absolute;

  left:-1px;
  top:-53px;

  width:1px;
  height:53px;

  background:rgba(245,241,232,.28);
}

/* DATA + ENERGY reconnect */
.manifesto .manifesto-system-line > i:nth-of-type(4){
  grid-column:2;
  grid-row:6;

  width:100% !important;
  height:52px !important;
}

/* tiny merge point */
.manifesto .manifesto-system-line > i:nth-of-type(4)::before{
  content:"";

  position:absolute;

  left:50%;
  top:0;

  width:1px;
  height:52px;

  background:rgba(245,241,232,.28);

  transform:translateX(-50%);
}

/* PEOPLE connector */
.manifesto .manifesto-node:nth-of-type(5)::before{
  content:"";

  position:absolute;

  left:50%;
  top:-53px;

  width:1px;
  height:53px;

  background:rgba(245,241,232,.28);

  transform:translateX(-50%);
}

/* PEOPLE → AI */
.manifesto .manifesto-system-line > i:nth-of-type(5){
  grid-column:2;
  grid-row:8;

  width:100% !important;
  height:48px !important;
}

.manifesto .manifesto-system-line > i:nth-of-type(5)::before{
  content:"";

  position:absolute;

  left:50%;
  top:0;

  width:1px;
  height:48px;

  background:rgba(245,241,232,.28);

  transform:translateX(-50%);
}

/* ---------------------------------------------------------
   Tiny node markers
   --------------------------------------------------------- */

.manifesto .manifesto-node::after{
  content:"";

  position:absolute;

  width:7px;
  height:7px;

  border:1px solid var(--gold);
  background:var(--ink);

  border-radius:50%;

  z-index:4;

  transition:
    background-color .22s ease,
    transform .22s ease;
}

.manifesto .manifesto-node:nth-of-type(1)::after{
  left:50%;
  bottom:-4px;
  transform:translateX(-50%);
}

.manifesto .manifesto-node:nth-of-type(2)::after{
  left:50%;
  bottom:-4px;
  transform:translateX(-50%);
}

.manifesto .manifesto-node:nth-of-type(3)::after{
  right:-4px;
  top:50%;
  transform:translateY(-50%);
}

.manifesto .manifesto-node:nth-of-type(4)::after{
  left:-4px;
  top:50%;
  transform:translateY(-50%);
}

.manifesto .manifesto-node:nth-of-type(5)::after{
  left:50%;
  bottom:-4px;
  transform:translateX(-50%);
}

.manifesto .manifesto-node:nth-of-type(6)::after{
  left:50%;
  top:-4px;
  transform:translateX(-50%);
}

.manifesto .manifesto-node:hover::after,
.manifesto .manifesto-node.active::after{
  background:var(--gold);
  transform:translateX(-50%) scale(1.35);
}

.manifesto .manifesto-node:nth-of-type(3):hover::after,
.manifesto .manifesto-node:nth-of-type(4):hover::after,
.manifesto .manifesto-node:nth-of-type(3).active::after,
.manifesto .manifesto-node:nth-of-type(4).active::after{
  transform:translateY(-50%) scale(1.35);
}

/* ---------------------------------------------------------
   Detail panel stays below the tree
   --------------------------------------------------------- */

.manifesto .manifesto-system-detail{
  width:min(1050px,100%) !important;

  margin:35px auto 0 !important;

  grid-template-columns:1fr 1fr !important;

  padding:36px !important;

  border:1px solid rgba(245,241,232,.24);
}

/* ---------------------------------------------------------
   Editorial footer label
   --------------------------------------------------------- */

.manifesto .manifesto-system::after{
  content:"NATURE → INFRASTRUCTURE → DATA + ENERGY → PEOPLE → AI";

  display:block;

  width:min(850px,90%);

  margin:32px auto 0;

  text-align:center;

  font-size:8px;
  letter-spacing:.15em;
  line-height:1.5;

  color:var(--gold);
  opacity:.65;
}

/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media(max-width:900px){

  .manifesto .manifesto-system-line{
    grid-template-columns:
      minmax(0,1fr)
      minmax(170px,320px)
      minmax(0,1fr) !important;

    max-width:860px !important;
  }

  .manifesto .manifesto-node{
    min-height:112px;
    padding:18px 20px !important;
  }

  .manifesto .manifesto-node strong{
    font-size:clamp(32px,5vw,52px);
  }

  .manifesto .manifesto-system-detail{
    grid-template-columns:1fr !important;
  }

}

@media(max-width:560px){

  .manifesto .manifesto-system-line{
    grid-template-columns:16px minmax(0,1fr) 16px !important;

    grid-template-rows:
      auto
      40px
      auto
      46px
      auto
      42px
      auto
      40px
      auto !important;

    max-width:100% !important;

    margin-top:42px !important;
  }

  .manifesto .manifesto-node{
    width:100% !important;
    min-height:94px;
    padding:16px !important;
  }

  .manifesto .manifesto-node strong{
    font-size:32px;
  }

  .manifesto .manifesto-node > span{
    font-size:8px;
  }

  .manifesto .manifesto-system-line > i:nth-of-type(2){
    width:78% !important;
  }

  .manifesto .manifesto-system-detail{
    padding:25px !important;
  }

}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){

  .manifesto .manifesto-node,
  .manifesto .manifesto-node strong,
  .manifesto .manifesto-node::after{
    transition:none !important;
  }

}


/* =========================================================
   NTW — MANIFESTO TREE
   INFRASTRUCTURE WORD-FIT ONLY
   ========================================================= */

.manifesto .manifesto-node:nth-of-type(2) strong{
  font-size:clamp(28px,3.1vw,48px) !important;
  letter-spacing:-.035em !important;
  white-space:nowrap !important;
}

/* Prevent the long label from exceeding the node itself */
.manifesto .manifesto-node:nth-of-type(2){
  overflow:hidden !important;
}

@media(max-width:560px){
  .manifesto .manifesto-node:nth-of-type(2) strong{
    font-size:31px !important;
    letter-spacing:-.045em !important;
  }
}


/* =========================================================
   NTW — TODAY'S PROGRAM × ALIGNMENT
   Homepage #dayTitle ONLY
   ========================================================= */

#control #dayTitle:has(.today-title-main){
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:0 !important;
}

/* preserve the existing display font */
#control #dayTitle .today-title-main{
  display:block;
  width:100%;
  line-height:.84;
}

/* × gets its own centered line */
#control #dayTitle .today-title-x{
  display:block;

  margin:.075em 0 .055em;

  color:var(--gold);

  font-family:var(--display);
  font-size:.55em;
  font-weight:800;
  line-height:.55;
}

@media(max-width:560px){
  #control #dayTitle .today-title-x{
    margin:.09em 0 .065em;
    font-size:.52em;
  }
}


/* =========================================================
   HOMEPAGE — TODAY'S PROGRAM TITLE
   Direct structured renderer
   ========================================================= */

#control #dayTitle{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:0 !important;
}

/* DAY 01 / */
#control #dayTitle .today-title-day{
  display:block;
  width:100%;
  font-family:var(--display);
  font-size:.58em;
  line-height:.82;
  margin-bottom:.18em;
}

/* CYBERSECURITY / NATURE */
#control #dayTitle .today-title-main{
  display:block;
  width:100%;
  line-height:.82;
}

/* centered × */
#control #dayTitle .today-title-x{
  display:block;
  color:var(--gold) !important;

  font-family:var(--display);
  font-size:.48em;
  font-weight:800;
  line-height:.55;

  margin:.09em 0 .08em;
}

/* No accidental inherited inline treatment */
#control #dayTitle span{
  white-space:normal;
}

@media(max-width:560px){
  #control #dayTitle .today-title-day{
    font-size:.56em;
  }

  #control #dayTitle .today-title-x{
    font-size:.45em;
    margin:.11em 0 .09em;
  }
}


/* =========================================================
   NTW — MANIFESTO TREE / FINAL CONNECTION GEOMETRY
   CONNECTIONS ONLY
   No node positions, typography, colors or content changed.
   ========================================================= */

@media (min-width:561px){

  /* Remove the old full-height trunk */
  .manifesto .manifesto-system-line::before{
    display:none !important;
    content:none !important;
  }

  /* Remove previous node-specific connector pseudo-lines.
     Keep their existing endpoint dots through ::after. */
  .manifesto .manifesto-node::before{
    content:none !important;
    display:none !important;
  }

  /* Reset every connector element */
  .manifesto .manifesto-system-line > i{
    position:relative !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;
    border-radius:0 !important;

    background:none !important;

    color:transparent !important;
    font-size:0 !important;

    transform:none !important;

    opacity:1 !important;

    pointer-events:none !important;
  }

  /* -------------------------------------------------------
     01 → 02
     NATURE to INFRASTRUCTURE
     ------------------------------------------------------- */

  .manifesto .manifesto-system-line > i:nth-of-type(1){
    grid-column:2 !important;
    grid-row:2 !important;

    width:1px !important;
    height:48px !important;

    justify-self:center !important;
    align-self:stretch !important;

    background:rgba(245,241,232,.32) !important;
  }

  /* -------------------------------------------------------
     INFRASTRUCTURE → branch junction
     ------------------------------------------------------- */

  .manifesto .manifesto-system-line > i:nth-of-type(2){
    grid-column:2 !important;
    grid-row:4 !important;

    width:1px !important;
    height:52px !important;

    justify-self:center !important;
    align-self:stretch !important;

    background:rgba(245,241,232,.32) !important;

    z-index:3 !important;
  }

  /* -------------------------------------------------------
     Branch:
     INFRASTRUCTURE
          ↓
     DATA ───── ENERGY
          ↓
     PEOPLE
     ------------------------------------------------------- */

  .manifesto .manifesto-system-line > i:nth-of-type(3){
    grid-column:1 / 4 !important;
    grid-row:4 !important;

    width:100% !important;
    height:52px !important;

    justify-self:stretch !important;
    align-self:stretch !important;

    visibility:visible !important;
    z-index:2 !important;

    /*
      Three precise lines:

      horizontal:
      15% → 85%

      left branch:
      15% ↓

      right branch:
      85% ↓
    */

    background:
      linear-gradient(
        rgba(245,241,232,.32),
        rgba(245,241,232,.32)
      ) 15% 50% / 70% 1px no-repeat,

      linear-gradient(
        rgba(245,241,232,.32),
        rgba(245,241,232,.32)
      ) 15% 100% / 1px 50% no-repeat,

      linear-gradient(
        rgba(245,241,232,.32),
        rgba(245,241,232,.32)
      ) 85% 100% / 1px 50% no-repeat;
  }

  /* -------------------------------------------------------
     DATA / ENERGY → PEOPLE
     clean central vertical
     ------------------------------------------------------- */

  .manifesto .manifesto-system-line > i:nth-of-type(4){
    grid-column:2 !important;
    grid-row:6 !important;

    width:1px !important;
    height:52px !important;

    justify-self:center !important;
    align-self:stretch !important;

    background:rgba(245,241,232,.32) !important;

    z-index:2 !important;
  }

  /* -------------------------------------------------------
     PEOPLE → AI
     ------------------------------------------------------- */

  .manifesto .manifesto-system-line > i:nth-of-type(5){
    grid-column:2 !important;
    grid-row:8 !important;

    width:1px !important;
    height:48px !important;

    justify-self:center !important;
    align-self:stretch !important;

    background:rgba(245,241,232,.32) !important;

    z-index:2 !important;
  }

  /* -------------------------------------------------------
     Precise junction markers
     ------------------------------------------------------- */

  .manifesto .manifesto-system-line > i:nth-of-type(3)::before{
    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:8px;
    height:8px;

    border:1px solid var(--gold);
    border-radius:50%;

    background:var(--ink);

    transform:translate(-50%,-50%);

    z-index:5;
  }

  /* side branch endpoints */
  .manifesto .manifesto-system-line > i:nth-of-type(3)::after{
    content:"";

    position:absolute;

    left:15%;
    right:15%;
    bottom:0;

    height:0;

    border:0;
    pointer-events:none;
  }

  /* -------------------------------------------------------
     Keep existing node endpoint dots visually above lines
     ------------------------------------------------------- */

  .manifesto .manifesto-node::after{
    z-index:7 !important;
  }

  /* Active layer remains above connector geometry */
  .manifesto .manifesto-node{
    z-index:6 !important;
  }

}

/* =========================================================
   TABLET — keep the same tree logic, scaled safely
   ========================================================= */

@media (min-width:561px) and (max-width:900px){

  .manifesto .manifesto-system-line{
    max-width:860px !important;
  }

  .manifesto .manifesto-system-line > i:nth-of-type(3){
    background:
      linear-gradient(
        rgba(245,241,232,.30),
        rgba(245,241,232,.30)
      ) 15% 50% / 70% 1px no-repeat,

      linear-gradient(
        rgba(245,241,232,.30),
        rgba(245,241,232,.30)
      ) 15% 100% / 1px 50% no-repeat,

      linear-gradient(
        rgba(245,241,232,.30),
        rgba(245,241,232,.30)
      ) 85% 100% / 1px 50% no-repeat;
  }

}


/* =========================================================
   NTW — MANIFESTO CONNECTORS / FINAL
   Connections only. Nodes remain untouched.
   ========================================================= */

/* The connector container becomes the coordinate system */
.manifesto .manifesto-system-line{
  position:relative !important;
}

/* One deterministic connector layer */
.manifesto .manifesto-tree-connectors{
  position:absolute !important;
  inset:0 !important;

  width:100% !important;
  height:100% !important;

  display:block !important;

  overflow:visible !important;

  pointer-events:none !important;

  z-index:1 !important;
}

/* Disable ALL previous connector <i> geometry */
.manifesto .manifesto-system-line > i{
  display:none !important;
}

/* Disable the previous connector pseudo-layer */
.manifesto .manifesto-system-line::before,
.manifesto .manifesto-system-line::after{
  content:none !important;
  display:none !important;
}

/* Remove any older node connector pseudo-elements.
   Keep the endpoint dots on ::after untouched. */
.manifesto .manifesto-node::before{
  content:none !important;
  display:none !important;
}

/* Nodes remain above the connector SVG */
.manifesto .manifesto-node{
  position:relative !important;
  z-index:6 !important;
}

/* Existing node markers stay above the connector */
.manifesto .manifesto-node::after{
  z-index:7 !important;
}

/* Junctions sit behind node borders but above the lines */
.manifesto .manifesto-tree-connectors g{
  pointer-events:none;
}

/* Keep the tree centered */
@media (max-width:900px){
  .manifesto .manifesto-tree-connectors{
    inset:0 !important;
  }
}

@media (max-width:560px){
  .manifesto .manifesto-tree-connectors{
    inset:0 !important;
  }
}


/* =========================================================
   NTW — HOMEPAGE SYSTEM TREE
   MAIN HERO ONLY
   ========================================================= */

.homepage-system-tree{
  position:absolute;
  z-index:1;

  right:-4vw;
  bottom:-17vh;

  width:min(42vw,760px);
  height:min(94vh,1320px);

  background-image:url("../assets/botanicals/homepage-system-tree.svg");
  background-repeat:no-repeat;
  background-position:right bottom;
  background-size:contain;

  pointer-events:none;

  opacity:.52;

  transform-origin:72% 100%;

  animation:homepageTreeDrift 18s ease-in-out infinite;
}

/* Hero content stays above tree */
.hero .hero-inner{
  position:relative;
  z-index:4;
}

@keyframes homepageTreeDrift{

  0%,100%{
    transform:translate3d(0,0,0) rotate(0deg);
  }

  50%{
    transform:translate3d(-4px,-5px,0) rotate(.18deg);
  }

}

/* Make the tree slightly more visible at the outer edge */
.homepage-system-tree::after{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(30,74,70,0) 35%,
      rgba(30,74,70,.10) 100%
    );

  pointer-events:none;
}

/* Tablet */
@media(max-width:900px){

  .homepage-system-tree{
    right:-7vw;
    bottom:-10vh;

    width:51vw;
    height:72vh;

    opacity:.40;
  }

}

/* Mobile */
@media(max-width:560px){

  .homepage-system-tree{
    right:-12vw;
    bottom:-5vh;

    width:68vw;
    height:48vh;

    opacity:.27;
  }

}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){

  .homepage-system-tree{
    animation:none;
  }

}


/* =========================================================
   HOMEPAGE NAVBAR — IMPERIAL CYBERX LOGO
   Logo only. Existing navbar layout preserved.
   ========================================================= */

.homepage-logo-mark{
  width:30px !important;
  height:22px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:2px !important;
  border:1px solid currentColor !important;

  overflow:hidden;
}

.homepage-logo-image{
  display:block;

  width:100%;
  height:100%;

  object-fit:contain;

  background:transparent;
}


/* Homepage navbar — logo without box */
.homepage-logo-mark{
  border:0 !important;
  width:30px !important;
  height:24px !important;
  padding:0 !important;
  overflow:visible !important;
}

.homepage-logo-image{
  width:24px !important;
  height:24px !important;
  object-fit:contain !important;
}


/* Homepage navbar — remove logo accent dot */
.homepage-logo-mark::after{
  display:none !important;
  content:none !important;
}


/* =========================================================
   HOMEPAGE HERO — ICX UNDER ORBIT LOGO
   ========================================================= */

.hero .hero-seal::after{
  content:"ICX";

  position:absolute;
  left:50%;
  top:calc(100% + 7px);

  transform:translateX(-50%);

  color:var(--gold);

  font-family:var(--mono);
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1;

  white-space:nowrap;
  pointer-events:none;
}


/* Homepage hero — allow ICX label below orbit seal */
.hero .hero-seal{
  overflow:visible !important;
}

.hero .hero-seal::after{
  z-index:10 !important;
}


/* Homepage hero — refined ICX label */
.hero .hero-seal::after{
  font-family:"JetBrains Mono", monospace !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.18em !important;
  line-height:1 !important;
  top:calc(100% + 9px) !important;
  color:var(--gold) !important;
}

