.lattice-hero h1{font-size:clamp(6rem,16vw,14rem)}
.lattice-stage{position:relative;min-height:min(72vw,880px);padding:clamp(3rem,7vw,7rem) var(--pad);background:radial-gradient(circle at 70% 0,#20243b,#111218 50%,#0b0c10);border-block:1px solid var(--line);overflow:hidden}.lattice-stage::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(155,173,255,.16) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,transparent,black 15%,black 80%,transparent)}
.control-shell{position:relative;z-index:2;width:min(1260px,100%);min-height:650px;margin:auto;display:grid;grid-template-columns:150px 1fr;background:#101116;border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 120px rgba(0,0,0,.4)}
.control-nav{display:flex;flex-direction:column;gap:1.35rem;padding:1.4rem;border-right:1px solid rgba(255,255,255,.08);font-family:monospace;font-size:.56rem;letter-spacing:.12em;color:#646979}.control-logo{display:grid;place-items:center;width:38px;height:38px;margin-bottom:1.4rem;border:1px solid rgba(155,173,255,.5);border-radius:10px;color:#b6c0ff;font-size:1rem}.control-nav .active{color:#e8eaf6}.control-nav i{flex:1}.control-nav small{color:#6f9b79}.control-main{padding:clamp(1.2rem,3vw,2.8rem)}.control-main>header{display:flex;justify-content:space-between;gap:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.08)}.control-main header small{display:block;color:#666b78;font-family:monospace;font-size:.56rem;letter-spacing:.12em}.control-main header strong{display:block;margin-top:.45rem;font-size:1rem}.pulse{align-self:center;color:#93a0ff;font-size:.67rem}.decision-band{margin:2rem 0;padding:1.25rem 1.4rem;background:#17191f;border:1px solid rgba(255,255,255,.08)}.decision-band small{display:block;color:#6c7280;font-family:monospace;font-size:.52rem;letter-spacing:.14em}.decision-band strong{display:block;margin:.7rem 0 .35rem;font-family:var(--display);font-size:clamp(1.6rem,3vw,2.7rem);font-weight:400}.decision-band span{color:#777d89;font-size:.78rem}.project-status>div,.project-status article{display:grid;grid-template-columns:.55fr 1.3fr 1fr .45fr;gap:1rem;align-items:center;padding:.85rem .7rem;border-bottom:1px solid rgba(255,255,255,.07)}.project-status>div{color:#5c6271;font-family:monospace;font-size:.5rem;letter-spacing:.08em}.project-status article span{font-family:monospace;font-size:.54rem;color:#9ba5c9}.project-status article strong{font-size:.76rem;font-weight:550}.project-status article em{font-style:normal;color:#7d838f;font-size:.68rem}.project-status article i{justify-self:end;font-style:normal;color:#89a990;font-size:.6rem}.lattice-stage .visual-caption{color:rgba(255,255,255,.34)}
.frontier-section{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:8vw;padding:clamp(5rem,10vw,10rem) var(--pad);background:#e7e2d9;color:#171716}.frontier-copy h2{margin:0 0 2rem;font-family:var(--display);font-size:clamp(3.2rem,6.4vw,6.8rem);line-height:.88;letter-spacing:-.055em;font-weight:400}.frontier-copy p:last-child{max-width:600px;color:#615d57;line-height:1.6}.frontier-diagram{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4rem .75rem;align-content:center;align-items:stretch;min-width:0}
.objective-node,.condition-node{position:relative;padding:1.1rem;background:#17181d;color:#f1ede4;border:1px solid #30323a;box-shadow:0 12px 28px rgba(0,0,0,.1);min-width:0;overflow-wrap:anywhere}
.objective-node{grid-column:1/-1;justify-self:center;width:min(100%,260px)}
.objective-node::after{content:"";position:absolute;left:50%;top:100%;height:2rem;width:1px;background:#85817a}
.condition-node::before{content:"";position:absolute;left:50%;bottom:100%;height:2rem;width:1px;background:#85817a}
.frontier-diagram .connector{position:absolute;inset:0;pointer-events:none}
.objective-node small,.condition-node small{display:block;margin-bottom:.8rem;font:.6rem monospace;letter-spacing:.1em;color:#a4aabb}
.objective-node strong,.condition-node strong{font-size:.85rem;line-height:1.5}
.condition-node i{display:block;margin-top:1rem;font:.6rem monospace;font-style:normal;color:#a6c4ac}
.condition-node.b i{color:#c0acf5}.condition-node.c i{color:#c3b48b}

.exception-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding:clamp(5rem,10vw,10rem) var(--pad);background:#121318;border-block:1px solid var(--line)}.exception-card{padding:clamp(2rem,4vw,4rem);background:#ede7dc;color:#171614;box-shadow:0 25px 80px rgba(0,0,0,.23)}.exception-card>span{font-family:monospace;font-size:.58rem;letter-spacing:.14em;color:#9b533c}.exception-card h2{margin:clamp(3rem,7vw,6rem) 0 1.3rem;font-family:var(--display);font-size:clamp(3rem,5.4vw,5.6rem);line-height:.9;letter-spacing:-.05em;font-weight:400}.exception-card p{max-width:560px;color:#68625a;line-height:1.55}.exception-card div{display:flex;gap:.8rem;margin-top:2rem}.exception-card button{border:1px solid #1b1a18;background:#1b1a18;color:#f3ede4;padding:.8rem 1rem;border-radius:999px}.exception-card button+button{background:transparent;color:#1b1a18}.exception-copy h3{margin:0 0 1.5rem;font-family:var(--display);font-size:clamp(3rem,5.4vw,5.8rem);line-height:.9;letter-spacing:-.05em;font-weight:400}.exception-copy p:last-child{max-width:600px;color:var(--muted);line-height:1.6}
@media(max-width:900px){.control-shell{grid-template-columns:80px 1fr;min-height:580px}.control-nav{padding:.9rem .7rem;align-items:center}.control-nav span{display:none}.project-status>div,.project-status article{grid-template-columns:.6fr 1.4fr .5fr}.project-status>div b:nth-of-type(2),.project-status article em{display:none}.frontier-section,.exception-section{grid-template-columns:1fr}}
@media(max-width:620px){.lattice-stage{padding-inline:1rem;min-height:auto}.control-shell{grid-template-columns:54px 1fr;min-height:520px}.control-logo{width:30px;height:30px}.control-main{padding:1rem}.control-main>header{align-items:flex-start}.pulse{font-size:.55rem}.decision-band{margin:1rem 0;padding:1rem}.project-status>div,.project-status article{grid-template-columns:.8fr 1.4fr}.project-status>div b:last-child,.project-status>div b:nth-of-type(2),.project-status article em,.project-status article i{display:none}.exception-card div{flex-direction:column;align-items:stretch}.exception-card button{text-align:left}}
/* One objective feeds three separate conditions; mobile preserves the relationship. */
@media(max-width:1100px) {
 .frontier-diagram { grid-template-columns:1fr; gap:1.25rem; padding-left:1.5rem; }
 .objective-node { width:100%; justify-self:stretch; }
 .objective-node::after { display:none; }
 .condition-node::before { left:-1.5rem; top:50%; width:1.5rem; height:1px; }
 .frontier-diagram .connector { inset:2.5rem auto 3rem 0; width:1px; background:#85817a; }
 .objective-node::before { content:""; position:absolute; left:-1.5rem; top:2.5rem; width:1.5rem; height:1px; background:#85817a; }
}
@media(min-width:1101px) {
 .condition-node::after { content:""; position:absolute; top:-2rem; left:calc(-.75rem - 1px); width:calc(100% + 1.5rem + 2px); height:1px; background:#85817a; }
 .condition-node.a::after { left:50%; width:calc(50% + .75rem); }
 .condition-node.c::after { left:calc(-.75rem - 1px); width:calc(50% + .75rem); }
}
