/* CITY OS 5.0 / Business extension — independent and editable. */
:root { --biz-acid:#caff58;--biz-cyan:#20b8cf;--biz-deep:#123f30;--biz-black:#050f0b; }
.nav-links {gap:clamp(11px,1.5vw,24px)}
.nav-brand {min-width:245px}
.nav-links a{font-size:11px}
.motion-button{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;background:rgba(8,32,21,.6);color:var(--acid);border:1px solid rgba(202,255,88,.35);font-size:10px;font-weight:900;white-space:nowrap;letter-spacing:.04em}
.motion-button[aria-pressed="false"]{color:#afc1b5;border-color:#63796a}.motion-button:hover{border-color:var(--acid)}
.city-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.1s ease;filter:saturate(1.01)}
.city-motion.scene-ready{opacity:1}.motion-off .city-motion{opacity:0!important}
.hero-image,.nature-photo,.outro-image{animation:none!important;transform:none!important;will-change:auto!important}
.scene-water,.scene-train{display:none!important}
.hero .hero-net,.hero .hero-grad,.nature-overlay,.outro-shadow{pointer-events:none}
.hero .hero-grad,.nature-overlay,.outro-shadow{z-index:1}
.hero .hero-net{z-index:1}
.hero .hero-body,.nature-content,.outro-content{z-index:3}
.group-command,.economics-board{--gline:rgba(202,255,88,.17)}
.business-section{background:radial-gradient(ellipse at 52% 32%,#164e32 0%,#092117 33%,#06150f 76%);color:#f4f9ef;overflow:hidden}
.business-intro,.economics-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);align-items:end;gap:4vw;margin:56px 0 44px}
.business-intro h2,.economics-head h2{font-family:var(--head);font-weight:900;font-size:clamp(44px,6.2vw,102px);letter-spacing:-.09em;line-height:1.08;margin:20px 0 0;overflow-wrap:anywhere}
.business-intro h2 em,.economics-head h2 em{font-style:normal;color:var(--acid)}
.business-intro>p,.economics-head>p{color:#c5d8ca;line-height:1.85;max-width:500px;font-size:clamp(13px,1.12vw,16px)}
.business-intro>p strong,.economics-head>p strong{color:#eef8eb;font-weight:800}
.group-command{background:linear-gradient(155deg,rgba(14,41,29,.9),rgba(2,18,12,.98));border:1px solid rgba(202,255,88,.26);box-shadow:0 40px 140px #010c0a99;overflow:hidden}
.group-toolbar{display:flex;justify-content:space-between;gap:18px;padding:17px 24px;background:rgba(202,255,88,.055);border-bottom:1px solid rgba(202,255,88,.18);color:#d2e9d4;font-size:10px;letter-spacing:.12em;font-weight:900}
.group-toolbar span:last-child{color:#8daa95}.group-toolbar .pulsing-dot{margin-right:8px;width:6px;height:6px}
.group-network{height:610px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at center,rgba(202,255,88,.07),transparent 34%),linear-gradient(rgba(202,255,88,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(202,255,88,.035) 1px,transparent 1px);background-size:auto,62px 62px,62px 62px}
.group-network::after{content:'CONNECT / DEVELOP / SCALE';position:absolute;bottom:18px;left:22px;font-size:9px;letter-spacing:.16em;color:#8eb09a}
.group-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
.group-lines path{stroke:rgba(152,213,183,.36);stroke-width:1.3;stroke-dasharray:5 13;animation:networkFlow 14s linear infinite;transition:stroke .25s,stroke-width .25s;fill:none}
.group-lines path.active{stroke:#caff58;stroke-width:2.8;stroke-dasharray:7 6;filter:drop-shadow(0 0 6px #caff5888)}
@keyframes networkFlow{to{stroke-dashoffset:-220}}
.group-core{position:absolute;left:50%;top:49.5%;transform:translate(-50%,-50%);width:clamp(200px,21vw,310px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 30%,#1e6343,#0b2c1f 68%,#071912);border:1px solid rgba(202,255,88,.75);box-shadow:0 0 0 18px #caff5809,0 0 0 36px #caff5804,0 0 70px #caff581c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;text-align:center;pointer-events:none;z-index:2}
.group-core-orbit{position:absolute;inset:-12px;border:1px dashed #caff5870;border-radius:50%;animation:groupSpin 36s linear infinite}
@keyframes groupSpin{to{transform:rotate(360deg)}}
.group-core small,.group-core>span:last-child{font-size:8px;letter-spacing:.13em;color:#b4d7b7;font-weight:900}
.group-core strong{font-family:var(--head);line-height:1.16;font-size:clamp(24px,2.7vw,37px);font-weight:900;letter-spacing:-.075em}.group-core strong em{color:var(--acid);font-style:normal}
.group-node{position:absolute;left:var(--nx);top:var(--ny);transform:translate(-50%,-50%);z-index:3;width:clamp(137px,17vw,210px);min-height:112px;text-align:left;background:rgba(4,31,21,.95);border:1px solid rgba(154,202,167,.36);color:white;padding:14px 16px 14px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 30px #0004;transition:transform .3s,border-color .3s,background .3s,box-shadow .3s}
.group-node:hover,.group-node:focus-visible,.group-node.active{transform:translate(-50%,-50%) scale(1.065);border-color:var(--acid);background:linear-gradient(130deg,#214d32,#10271b);box-shadow:0 0 0 3px #caff5814,0 16px 32px #0005}
.group-node .node-index{font-size:9px;letter-spacing:.1em;color:var(--acid)}.group-node strong{font-family:var(--head);font-size:clamp(11px,1.1vw,15px);line-height:1.3;letter-spacing:-.04em}.group-node small{font-size:8px;color:#8fb7a1;letter-spacing:.04em}
.group-inspector{display:grid;grid-template-columns:.9fr 1.6fr;gap:38px;padding:30px 38px 35px;background:linear-gradient(120deg,#153e2b,#0a2219);border-top:1px solid rgba(202,255,88,.27);min-height:228px}
.inspector-intro small,.inspector-data small{color:var(--acid);font-size:9px;letter-spacing:.13em;font-weight:900}
.inspector-intro h3{font-family:var(--head);font-size:clamp(19px,2.2vw,29px);letter-spacing:-.05em;line-height:1.12;margin:10px 0}
.inspector-intro p,.inspector-data p{line-height:1.6;color:#b9d1bc;font-size:13px;margin:9px 0}
.inspector-link{display:inline-flex;margin-top:12px;color:#d8ffa2;font-weight:900;font-size:10px;letter-spacing:.05em;border-bottom:1px solid #caff5899;padding-bottom:6px}
.inspector-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.inspector-data>div{border-left:1px solid #caff583b;padding-left:16px}
.business-principle{margin:30px 0 0;display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:space-between;color:var(--acid);font-family:var(--head);font-size:clamp(12px,1.3vw,20px);font-weight:900}.business-principle i{font-style:normal;color:#8aaf92}.business-principle p{flex-basis:100%;font-family:var(--text);font-size:12px;color:#a9c8ae;font-weight:500;line-height:1.65}
.economics-section{background:linear-gradient(150deg,#07160f,#143e2b 64%,#0b291d);color:white}
.economics-board{border:1px solid rgba(202,255,88,.42);background:#081d14;box-shadow:0 24px 100px #020b0990}
.economics-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 22px;border-bottom:1px solid #416347;background:#0e2b1d;color:#d3e8d3;font-size:9px;letter-spacing:.11em;font-weight:900}
.economics-top button{border:1px solid #587459;background:transparent;color:#e2f2de;padding:9px 12px;font-weight:800;font-size:10px}.economics-top button:hover{background:var(--acid);color:#092416}
.status-led{display:inline-block;width:8px;height:8px;background:var(--acid);border-radius:100%;box-shadow:0 0 12px var(--acid);margin-right:8px}
.economics-layout{display:grid;grid-template-columns:minmax(300px,.79fr) minmax(0,1.7fr)}
.finance-controls{padding:27px 24px 24px;border-right:1px solid #2f5841}
.panel-kicker{margin:0 0 28px;color:#a6c0ae;letter-spacing:.12em;font-size:10px;font-weight:900}
.quantity-control{display:block;margin:23px 0 34px}.quantity-control>span{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;font-weight:900;letter-spacing:.05em;color:#dff2dd}.quantity-control>span b{font-family:var(--head);color:var(--acid);font-size:24px}
.quantity-control input{display:block;width:100%;margin:18px 0 9px;accent-color:var(--acid);cursor:pointer;touch-action:pan-x}.quantity-control small{color:#89ad94;font-size:10px}
.assumption-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #426149;padding-top:20px}.assumption-switch span{font-size:10px;line-height:1.5;font-weight:900;letter-spacing:.07em}.assumption-switch button{background:rgba(202,255,88,.11);border:1px solid rgba(202,255,88,.4);color:var(--acid);padding:11px;font-size:9px;font-weight:900;line-height:1.4}
.assumptions{margin-top:22px;display:grid;gap:14px}.assumptions[hidden]{display:none!important}.assumption-group{padding:16px 13px;background:#123625;border:1px solid #3a684d}.assumption-group h4{color:var(--acid);font-size:11px;letter-spacing:.1em;margin:0 0 12px}.assumption-group label{display:grid;grid-template-columns:1fr 106px;align-items:center;gap:8px;font-size:10px;color:#dbecdc;margin:8px 0}.assumption-group input{min-width:0;width:100%;border:1px solid #4f765b;border-radius:0;background:#082016;color:white;text-align:right;padding:8px;font-size:12px;font-weight:800}
.fin-note{font-size:11px;color:#88b29a;line-height:1.7;margin:25px 0 0}.finance-output{min-width:0;padding:28px}
.finance-primary{border:1px solid rgba(202,255,88,.3);padding:25px;background:linear-gradient(110deg,#1a4e30,#0f2d21);display:flex;flex-direction:column;gap:9px}.finance-primary>span{color:#cde5c9;font-size:10px;font-weight:900;letter-spacing:.07em}.finance-primary strong{font-family:var(--head);font-size:clamp(29px,4vw,62px);font-weight:900;color:var(--acid);letter-spacing:-.08em;overflow-wrap:anywhere;line-height:1.25}.finance-primary small{color:#a2c29f;font-size:10px}
.finance-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#416149;margin:14px 0}.finance-cards>div{background:#0f2c20;padding:18px 13px;min-height:110px;display:flex;flex-direction:column;justify-content:space-between}.finance-cards small{color:#aac5b0;font-size:9px;line-height:1.5;font-weight:800}.finance-cards b{font-family:var(--head);font-size:clamp(12px,1.28vw,20px);letter-spacing:-.05em;line-height:1.3;overflow-wrap:anywhere}
.financial-chart{background:#0c261a;border:1px solid #2a5438;padding:18px 15px 14px;min-width:0}.financial-chart-top{display:flex;justify-content:space-between;gap:10px;color:#cfe6ce;font-size:9px;letter-spacing:.05em;font-weight:800}.financial-chart-top span:last-child{color:#8ab99e}#financeChart{width:100%;height:auto;min-height:150px;display:block;margin-top:20px}#financeChart .grid-line{stroke:#54735a;stroke-width:1;stroke-dasharray:3 8}#financeChart rect{fill:#caff58;transition:y .2s,height .2s}#financeChart rect.negative{fill:#ff9577}#financeChart rect:hover{filter:brightness(1.4)}.chart-labels{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;margin:0 5px;text-align:center;font-size:9px;color:#92b9a1;font-weight:900}
.finance-disclaimer{background:#142d20;border-top:1px solid #456249;padding:17px 23px;color:#b5cdb7;font-size:11px;line-height:1.7}
.investment-section{background:radial-gradient(ellipse at 85% 0%,#184c34,#081d14 55%,#07130f);color:white}
.invest-hero{padding:55px 0 45px;display:grid;grid-template-columns:1.4fr .6fr;gap:50px;align-items:end}.invest-hero>.eyebrow{grid-column:1/-1}.invest-hero h2{font-family:var(--head);font-size:clamp(43px,6.35vw,106px);letter-spacing:-.085em;line-height:1.08;margin:0}.invest-hero h2 em{color:var(--acid);font-style:normal}.invest-hero p{max-width:390px;color:#bfd1c5;line-height:1.85;font-size:14px;margin:0}
.invest-tracks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.invest-tracks article{min-height:265px;border:1px solid #477355;background:linear-gradient(155deg,#163d2c,#0b2018);padding:23px;display:flex;flex-direction:column;gap:18px;transition:border-color .25s,transform .25s}.invest-tracks article:hover{border-color:var(--acid);transform:translateY(-5px)}.invest-tracks article>span{font-size:10px;color:var(--acid);font-weight:900;letter-spacing:.12em}.invest-tracks h3{font-family:var(--head);font-size:clamp(20px,2.2vw,35px);line-height:1.12;letter-spacing:-.065em;margin:auto 0 0}.invest-tracks p{color:#a7c4ae;font-size:12px;line-height:1.7;margin:0}
.invest-timeline{margin:75px 0 0;border:1px solid #3b694c;background:#0b2118;padding:24px}.invest-timeline-head{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.1em;color:#b4cab6;font-weight:900;padding-bottom:22px}.invest-timeline-head span:last-child{color:var(--acid)}.invest-timeline ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.invest-timeline li{position:relative;min-height:160px;border-top:2px solid var(--acid);padding:24px 12px 12px 0;display:flex;flex-direction:column;gap:10px}.invest-timeline li::before{content:'';position:absolute;top:-7px;left:0;width:12px;height:12px;background:var(--acid);border-radius:50%;box-shadow:0 0 0 6px #caff5818}.invest-timeline li b{color:var(--acid);font-family:var(--head);font-size:20px}.invest-timeline li strong{font-size:11px;letter-spacing:.04em;line-height:1.45}.invest-timeline li span{color:#a3bba8;font-size:11px;line-height:1.6}.investment-caution{font-size:12px;line-height:1.8;color:#a9c4b0;max-width:930px;margin-top:27px}
.factory-cycle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:14px 0}.factory-cycle span{background:rgba(255,255,255,.06);border:1px solid rgba(202,255,88,.2);padding:10px 5px;text-align:center;font-size:9px;line-height:1.4;font-weight:900;color:#8fae93;transition:background .3s,color .3s}.factory-cycle span.passed{background:#caff58;color:#0a2b1c}
.atlas-pin[data-category="business"]{background:#ffc966;border-color:#fff7db;color:#342109}.l-business{color:#ffc966;background:#43351b}
body[data-mode="light"] .business-section,body[data-mode="light"] .economics-section,body[data-mode="light"] .investment-section{color:#f4f9ef}
@media(max-width:1320px){.nav-links a{font-size:10px}.nav-brand{min-width:190px}.online-tag{display:none}.motion-button span{display:none}.finance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.nav-links{display:none}.motion-button span{display:inline}.business-intro,.economics-head{grid-template-columns:1fr;gap:17px}.business-intro>p,.economics-head>p{max-width:660px}.group-network{height:570px}.group-node{width:155px;min-height:100px}.group-node strong{font-size:11px}.group-inspector{grid-template-columns:1fr;gap:25px}.economics-layout{grid-template-columns:1fr}.finance-controls{border-right:0;border-bottom:1px solid #2f5841}.finance-output{padding:23px}.invest-hero{grid-template-columns:1fr;gap:25px}.invest-hero>.eyebrow{grid-column:auto}.invest-tracks{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.motion-button{padding:7px 9px}.motion-button span{display:none}.nav-brand{min-width:0}.business-intro h2,.economics-head h2,.invest-hero h2{font-size:clamp(39px,9.4vw,70px)}.group-toolbar{padding:12px;font-size:8px}.group-toolbar span:last-child{display:none}.group-network{height:auto;min-height:650px;padding:18px 12px 16px;display:flex;flex-direction:column;gap:17px}.group-lines{display:none}.group-core{position:relative;inset:auto;transform:none;align-self:center;width:180px;aspect-ratio:1;margin:6px 0 20px}.group-core small,.group-core>span:last-child{font-size:7px}.group-core strong{font-size:22px}.group-network::after{display:none}.group-node{position:static;left:auto;top:auto;transform:none!important;width:100%;min-height:72px;display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:center;text-align:left}.group-node strong{font-size:12px}.group-node small{font-size:8px;text-align:right;max-width:115px}.group-inspector{padding:23px 18px}.inspector-data{grid-template-columns:1fr;gap:14px}.business-principle{gap:10px;font-size:11px}.business-principle i{font-size:10px}.economics-top{padding:12px;font-size:8px;flex-wrap:wrap}.economics-top span:nth-child(2){display:none}.finance-controls{padding:21px 18px}.finance-output{padding:15px}.finance-primary{padding:16px}.finance-primary strong{font-size:clamp(25px,7vw,40px)}.finance-cards>div{min-height:85px;padding:13px}.finance-cards small{font-size:8px}.finance-cards b{font-size:clamp(12px,3vw,18px)}.financial-chart-top span:last-child{display:none}.invest-tracks{grid-template-columns:1fr}.invest-tracks article{min-height:185px}.invest-tracks h3{font-size:30px}.invest-timeline{padding:17px}.invest-timeline ol{grid-template-columns:1fr}.invest-timeline li{min-height:92px;padding:15px 0 15px 17px;border-top:0;border-left:2px solid var(--acid)}.invest-timeline li::before{top:17px;left:-7px}.invest-timeline-head span:last-child{display:none}.factory-cycle{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.city-motion{display:none}.group-lines path,.group-core-orbit{animation:none!important}.invest-tracks article{transition:none}}
@media print{.city-motion,.motion-button,.group-lines{display:none!important}.group-network{min-height:570px}.assumptions[hidden]{display:block!important}}
/* Match each original background crop precisely when the animated video becomes visible. */
.nature-section .city-motion{object-position:center 60%}
.outro .city-motion{object-position:center center}
@media(min-width:981px) and (max-width:1180px){.nav-links,.nav-mode,.search-trigger{display:none}.hamburger{display:flex}}
@media(max-width:700px){.hero .city-motion{object-position:58% center}}

/* The long title is always a single word/line, including when a webfont arrives late. */
.economics-head h2 .economics-nowrap{display:inline-block;white-space:nowrap;font-size:.84em;max-width:none;overflow-wrap:normal;word-break:normal}
/* The font-aware width adjustment in business.js protects narrow screens and larger fallback fonts. */
