/* ECOS — Operating Picture / Data Centers; isolated to .op-* selectors */
:root{--op-ink:#0a1e2c;--op-paper:#f7f8f6;--op-line:#d6ddde;--op-blue:#6497b5;--op-green:#54c8a4}
html{scroll-behavior:smooth}body{overflow-x:hidden}
.op-page{color:#183040;background:var(--op-paper)}
.op-page *{box-sizing:border-box}
.op-page a:focus-visible,.op-page button:focus-visible,.site-header a:focus-visible,.site-header button:focus-visible{outline:3px solid #4c97b8;outline-offset:5px}
.op-eyebrow{font-size:11px;letter-spacing:.19em;font-weight:800;color:#708893;text-transform:uppercase}
.op-eyebrow--light{color:#8bb0c1}
.op-arrow{width:20px;height:20px;flex:none}
.op-hero{padding:83px 0 0;background:#f7f8f6}
.op-hero-eyebrow{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #cbd4d7;padding:0 0 22px;gap:15px}
.op-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.84fr);gap:clamp(40px,6.2vw,120px);align-items:center;padding:77px 0 90px}
.op-hero-content{min-width:0}
.op-hero h1{font-size:clamp(54px,5.2vw,94px);letter-spacing:-.067em;line-height:1.03;font-weight:650;max-width:820px;margin:0;color:#142c3a}
.op-hero h1 em{font-style:normal;color:#6895af}
.op-lede{font-size:clamp(17px,1.5vw,21px);line-height:1.62;color:#506b7a;max-width:670px;margin:35px 0 0}
.op-hero-actions{display:flex;flex-wrap:wrap;gap:22px;margin-top:41px;align-items:center}
.op-button{display:inline-flex;gap:30px;justify-content:space-between;align-items:center;padding:17px 21px;background:#0d2b3d;color:#f4f9fa;text-decoration:none;font-weight:750;font-size:13px;min-height:56px;border:1px solid #0d2b3d;transition:background .2s,transform .2s}
.op-button:hover{background:#1b4962;transform:translateY(-2px)}
.op-button--light{background:#e5f0f2;border-color:#e5f0f2;color:#0c2a3b}
.op-button--light:hover{background:#f7f9fa}
.op-text-link{display:inline-flex;align-items:center;gap:12px;color:#244e65;text-decoration:none;font-weight:700;font-size:13px;border-bottom:1px solid #94afbf;padding-bottom:6px}
.op-text-link:hover{color:#0a2534}
.op-note{margin-top:25px;max-width:590px;color:#748c98;font-size:11px;line-height:1.7;letter-spacing:.015em}
/* Graphic */
.op-graphic{position:relative;overflow:hidden;background:#0a2130;color:#e9f2f8;min-height:526px;padding:28px;border:1px solid #26465a;box-shadow:18px 18px 0 rgba(21,60,80,.05)}
.op-graphic:before{content:"";position:absolute;inset:0;opacity:.35;background-image:linear-gradient(#3a63782a 1px,transparent 1px),linear-gradient(90deg,#3a63782a 1px,transparent 1px);background-size:43px 43px;pointer-events:none}
.op-graphic-top{display:flex;justify-content:space-between;gap:10px;align-items:center;position:relative;color:#91b4c5;font-size:10px;letter-spacing:.16em;font-weight:750}
.op-graphic-mark{font-size:10px;color:#69c6b2;white-space:nowrap}
.op-graphic-svg{display:block;width:100%;height:auto;max-height:345px;position:relative;margin:23px auto 12px}
.op-circuit-line{fill:none;stroke:#4b748b;stroke-width:2}
.op-circuit-dash{fill:none;stroke:#72baa9;stroke-width:2;stroke-dasharray:6 10;animation:opCurrent 14s linear infinite}
@keyframes opCurrent{to{stroke-dashoffset:-200}}
.op-circuit-node{fill:#0d2c40;stroke:#8aafbf;stroke-width:1.35}
.op-graphic-svg text{font-family:Arial,Helvetica,sans-serif;fill:#a9c4d1;font-size:10px;letter-spacing:1.3px;font-weight:600}
.op-graphic-svg .op-center-name{font-size:12px;fill:#e5f3f4}
.op-graphic-bottom{position:relative;border-top:1px solid #365267;padding-top:19px;display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;align-items:center}
.op-graphic-bottom b{font-size:12px;letter-spacing:.06em}
.op-graphic-bottom span{font-size:10px;color:#93b2c1;letter-spacing:.1em;text-transform:uppercase}
.op-status-bead{display:inline-block;width:7px;height:7px;border-radius:99px;background:#55c3a3;margin-right:8px;box-shadow:0 0 0 6px #55c3a31a;vertical-align:middle;animation:opBreathe 3.3s ease-in-out infinite}
@keyframes opBreathe{50%{box-shadow:0 0 0 10px #55c3a30b}}
.op-thesis{border-top:1px solid #d6ddde;display:grid;grid-template-columns:repeat(3,1fr);padding:33px 0 37px;gap:25px}
.op-thesis-item{display:flex;gap:15px;align-items:flex-start;padding-right:22px}
.op-thesis-number{font-size:11px;font-weight:800;color:#6891a6;letter-spacing:.11em;padding-top:4px}
.op-thesis-item b{display:block;font-size:15px;color:#1c3442}
.op-thesis-item p{margin:8px 0 0;font-size:13px;line-height:1.55;color:#7a8d97}
/* Lifecycle interactive */
.op-flow{background:#091b28;color:#f1f7fa;padding:99px 0 110px}
.op-section-top{display:flex;justify-content:space-between;align-items:end;gap:30px}
.op-section-top h2{font-size:clamp(39px,4.3vw,68px);line-height:1.08;letter-spacing:-.055em;max-width:780px;margin:19px 0 0;font-weight:650;color:inherit}
.op-section-top p{max-width:365px;font-size:15px;line-height:1.65;color:#94adbb;margin:0 0 5px}
.op-flow-controls{margin-top:53px;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #315063}
.op-flow-tab{appearance:none;border:0;border-right:1px solid #315063;color:#83a1b1;background:#102c3c;cursor:pointer;text-align:left;min-height:112px;padding:22px 21px 18px;display:flex;flex-direction:column;justify-content:space-between;gap:15px;transition:background .2s,color .2s}
.op-flow-tab:last-child{border-right:0}.op-flow-tab:hover{background:#1a3b4c;color:#dcebf1}
.op-flow-tab[aria-selected=true]{background:#e3eff2;color:#0f3447}
.op-tab-index{font-size:10px;letter-spacing:.16em;font-weight:750;color:inherit;opacity:.7}
.op-tab-label{font-size:16px;letter-spacing:-.02em;font-weight:750}
.op-stage{border:1px solid #315063;border-top:0;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(335px,.82fr);min-height:590px}
.op-stage-left{padding:35px 38px 38px;min-width:0;border-right:1px solid #315063;background:linear-gradient(135deg,#102c3c 0%,#0b2130 100%)}
.op-stage-right{padding:37px 38px 32px;background:#0c2534;min-width:0;display:flex;flex-direction:column}
.op-stage-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;color:#8dabb9;font-size:10px;letter-spacing:.14em;font-weight:780}
.op-stage-meta strong{font-size:10px;color:#79c7b4;font-weight:750}
.op-stage-heading{font-size:clamp(26px,2.55vw,40px);line-height:1.15;letter-spacing:-.047em;margin:30px 0 11px;font-weight:640;max-width:620px}
.op-stage-deck{font-size:14px;color:#9cb7c3;max-width:590px;line-height:1.65;margin:0}
.op-system-title{margin-top:34px;border-bottom:1px solid #335368;padding-bottom:12px;font-size:10px;letter-spacing:.16em;font-weight:760;color:#8baec0}
.op-nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.op-node{position:relative;appearance:none;border:1px solid #416073;min-height:106px;background:#12364a;color:#e8f5f7;cursor:pointer;padding:16px 15px;text-align:left;transition:border-color .2s,background .2s,transform .2s;display:flex;flex-direction:column;justify-content:space-between;gap:8px}
.op-node:hover{border-color:#91c0ce;transform:translateY(-2px)}
.op-node[aria-pressed=true]{background:#1e4a5b;border-color:#75c9ae;box-shadow:inset 0 0 0 1px #75c9ae}
.op-node-k{color:#83aabb;font-size:10px;font-weight:800;letter-spacing:.1em}
.op-node-name{font-size:13px;font-weight:760;line-height:1.3}
.op-node-light{position:absolute;right:14px;top:17px;width:5px;height:5px;border-radius:99px;background:#77b6ba}
.op-node[aria-pressed=true] .op-node-light{background:#78dbb8;box-shadow:0 0 0 6px #78dbb81f}
.op-system-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:20px;color:#7c9cad;font-size:11px}
.op-stage-right .op-context-eyebrow{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#91b1c0;letter-spacing:.16em;font-weight:800}
.op-context-title{margin:23px 0 0;font-size:clamp(27px,2.4vw,36px);letter-spacing:-.045em;font-weight:650;line-height:1.13}
.op-context-deck{font-size:14px;color:#9bb4c1;line-height:1.6;margin:15px 0 25px}
.op-context-grid{display:flex;flex-direction:column;border-top:1px solid #335369}
.op-context-row{display:grid;grid-template-columns:90px 1fr;gap:15px;padding:18px 0;border-bottom:1px solid #335369}
.op-context-row dt{color:#76a5b9;text-transform:uppercase;font-size:10px;letter-spacing:.16em;font-weight:780}
.op-context-row dd{margin:0;color:#ecf6f8;font-size:13px;line-height:1.6}
.op-phase-bar{margin-top:auto;padding-top:26px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#7f9eac;font-size:11px}
.op-phase-next{appearance:none;border:1px solid #6d99a8;background:transparent;color:#e7f4f8;font-size:12px;font-weight:700;padding:12px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:20px}
.op-phase-next:hover{background:#1d4557}
.op-disclaimer{font-size:11px;line-height:1.6;color:#7191a0;margin:21px 0 0}
/* Value / roles */
.op-value{padding:112px 0 114px;background:#f7f8f6}
.op-value .op-section-top p{color:#6f8490}
.op-value h2{color:#163140}
.op-layer-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:63px;border-top:1px solid #cbd5d9;border-bottom:1px solid #cbd5d9}
.op-layer{padding:36px 34px 43px 0;min-height:262px;border-right:1px solid #d5dee1;margin-right:32px}
.op-layer:last-child{border-right:0;margin-right:0}
.op-layer-index{font-size:11px;color:#648ba3;letter-spacing:.15em;font-weight:800}
.op-layer h3{font-size:29px;letter-spacing:-.04em;margin:21px 0 15px;font-weight:650;color:#183442}
.op-layer p{font-size:15px;line-height:1.66;color:#617b89;max-width:365px;margin:0}
.op-owner{padding-top:99px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:10%;align-items:start}
.op-owner h2{font-size:clamp(38px,4vw,62px);line-height:1.09;letter-spacing:-.052em;font-weight:650;margin:22px 0 21px;color:#1b3542}
.op-owner>div>p{font-size:15px;color:#69808e;line-height:1.66;max-width:530px}
.op-roles{border-top:1px solid #b9cbd1}
.op-role-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 27px}
.op-role{background:transparent;border:1px solid #bed0d7;color:#557181;padding:10px 15px;cursor:pointer;font-size:12px;font-weight:760}
.op-role[aria-pressed=true]{background:#0c3042;border-color:#0c3042;color:white}
.op-role-content{padding:26px 29px 30px;background:#e9eff0;min-height:225px}
.op-role-content h3{font-size:25px;letter-spacing:-.03em;margin:0 0 13px;color:#183441}
.op-role-content p{color:#576f7c;line-height:1.64;margin:0 0 17px;font-size:14px}
.op-role-content small{display:block;font-weight:800;letter-spacing:.11em;font-size:10px;color:#537b92;text-transform:uppercase}
/* Handover */
.op-handover{background:#e8eef0;padding:100px 0 110px}
.op-handover .op-section-top h2{color:#183240}
.op-handover .op-section-top p{color:#597581}
.op-handover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:48px}
.op-handover-panel{background:#f8faf9;border:1px solid #cad9df;padding:35px 35px 39px}
.op-handover-panel--dark{background:#103044;border-color:#103044;color:#eaf2f5}
.op-handover-panel h3{font-size:25px;letter-spacing:-.038em;margin:17px 0 18px;color:#1a3949}
.op-handover-panel--dark h3{color:#e9f4f5}
.op-handover-panel .op-eyebrow{color:#7b96a3}
.op-handover-panel ul{list-style:none;margin:0;padding:0}
.op-handover-panel li{font-size:14px;line-height:1.62;border-top:1px solid #d9e3e6;padding:15px 0;color:#557382}
.op-handover-panel--dark li{border-color:#376078;color:#c4dbe4}
.op-handover-panel li:before{content:"";display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-right:12px;background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M4%2016%2016%204M7%204h9v9%22%20fill%3D%22none%22%20stroke%3D%22%2356a48f%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat}
/* CTA */
.op-end{padding:103px 0 105px;background:#0b2536;color:#f0f6f9}
.op-end-inner{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:8%}
.op-end h2{font-size:clamp(43px,5vw,80px);font-weight:630;letter-spacing:-.06em;line-height:1.04;margin:20px 0 0}
.op-end p{color:#a3bdc9;line-height:1.65;font-size:16px;margin:18px 0 25px}
.op-end .op-button{width:100%;align-self:end;margin-top:28px}
.op-end-label{font-size:10px;letter-spacing:.17em;color:#7db0c5;font-weight:800}
/* nav page scoped, to avoid affecting shared css */
.op-page .site-header{background:#f7f8f6}
.op-page .navigation a[aria-current=page]{color:#194d68}
.op-page .site-footer{background:#091722}
@media(max-width:1150px){.op-hero-grid{grid-template-columns:1fr 1fr;gap:45px}.op-hero h1{font-size:clamp(50px,5vw,77px)}.op-stage{grid-template-columns:1.07fr .93fr}.op-stage-left,.op-stage-right{padding:27px}.op-context-row{grid-template-columns:76px 1fr}.op-graphic{min-height:480px}}
@media(max-width:900px){.op-hero-grid{grid-template-columns:1fr;padding:60px 0 65px;gap:48px}.op-hero h1{max-width:750px}.op-graphic{min-height:0;width:100%}.op-graphic-svg{max-height:300px}.op-section-top{display:block}.op-section-top p{margin-top:22px}.op-stage{grid-template-columns:1fr}.op-stage-left{border-right:0;border-bottom:1px solid #315063}.op-stage-right{min-height:0}.op-flow-controls{grid-template-columns:repeat(5,1fr)}.op-flow-tab{min-height:100px;padding:16px 12px}.op-tab-label{font-size:13px}.op-owner{grid-template-columns:1fr;gap:40px}.op-end-inner{grid-template-columns:1fr}.op-end .op-button{max-width:360px}.op-layer{padding-right:18px;margin-right:18px}}
@media(max-width:600px){.op-hero{padding-top:44px}.op-hero-eyebrow{flex-direction:column;align-items:flex-start;gap:12px}.op-hero-grid{padding:47px 0 50px;gap:36px}.op-hero h1{font-size:clamp(44px,10.5vw,64px)}.op-lede{font-size:16px;margin-top:24px}.op-hero-actions{gap:18px;margin-top:27px;align-items:flex-start}.op-button{width:100%}.op-graphic{padding:19px}.op-thesis{grid-template-columns:1fr;gap:16px;padding:26px 0}.op-thesis-item{border-bottom:1px solid #d8e0e2;padding-bottom:15px}.op-thesis-item:last-child{border:0}.op-flow{padding:75px 0 82px}.op-flow-controls{grid-template-columns:repeat(5,1fr);overflow:auto}.op-flow-tab{min-width:0;min-height:96px;padding:15px 7px 13px;gap:9px}.op-tab-label{font-size:11px;line-height:1.15;word-break:normal}.op-tab-index{font-size:9px}.op-stage-left,.op-stage-right{padding:26px 19px}.op-stage-heading{margin-top:23px}.op-nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.op-node{padding:13px 12px;min-height:93px}.op-node-name{font-size:12px}.op-context-row{grid-template-columns:78px 1fr}.op-value{padding:79px 0 83px}.op-layer-grid{grid-template-columns:1fr;margin-top:37px}.op-layer{min-height:0;padding:25px 0;margin:0;border-right:0;border-bottom:1px solid #d5dee1}.op-layer:last-child{border:0}.op-layer h3{margin:11px 0}.op-owner{padding-top:76px}.op-role-content{padding:23px}.op-handover{padding:75px 0}.op-handover-grid{grid-template-columns:1fr}.op-handover-panel{padding:24px}.op-end{padding:78px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.op-circuit-dash,.op-status-bead{animation:none!important}.op-button,.op-node{transition:none!important}}
