/* Homepage and CityTwin: explicit surface colours prevent inherited light text on light panels. */
.living-preview{background:linear-gradient(130deg,#10182f,#231348);color:#f8fafc;border:1px solid #665181;padding:clamp(1.25rem,4vw,3rem)}
html[data-theme] .living-preview .eyebrow{color:#d5baff}
.living-preview h2{color:#fff;font-size:clamp(2rem,4vw,3rem);line-height:1.15;letter-spacing:-.03em}
.living-preview>p:not(.eyebrow){color:#dce5f4;font-size:1rem;line-height:1.7;margin-top:1.25rem}
.living-preview iframe{background:#f5f7fc;border:1px solid #786b98;margin-top:1rem}
.living-preview>p:last-child{display:flex;gap:.75rem 1.5rem;flex-wrap:wrap}
.living-preview>p:last-child a{font-size:1rem;font-weight:600;text-decoration:underline;text-underline-offset:.25rem}
.living-preview>p:last-child a:nth-child(1){color:#85deff}
.living-preview>p:last-child a:nth-child(2){color:#dfc3ff}
.living-preview>p:last-child a:nth-child(3){color:#ffd995}

.infrastructure-lifecycle{padding:3.5rem 0 4.5rem;color:#182136}
.infrastructure-lifecycle h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.15;max-width:1000px;letter-spacing:-.035em}
.lifecycle-intro{font-size:1.125rem;color:#465570;line-height:1.6;margin:1.25rem 0 2rem}
.lifecycle-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;list-style:none;margin:0;padding:0;position:relative}
.lifecycle-tabs li{min-width:0;--stage:#1d4ed8;--stage-soft:#eff6ff}
.lifecycle-tabs li:nth-child(2){--stage:#6d28d9;--stage-soft:#f5f3ff}
.lifecycle-tabs li:nth-child(3){--stage:#0e7490;--stage-soft:#ecfeff}
.lifecycle-tabs li:nth-child(4){--stage:#047857;--stage-soft:#ecfdf5}
.lifecycle-tabs li:nth-child(5){--stage:#92400e;--stage-soft:#fffbeb}
.lifecycle-tabs li:nth-child(6){--stage:#be123c;--stage-soft:#fff1f2}
.lifecycle-tabs li:nth-child(7){--stage:#7e22ce;--stage-soft:#faf5ff}
.lifecycle-tabs li:nth-child(8){--stage:#1e3a8a;--stage-soft:#eef2ff}
.lifecycle-tabs button{display:flex;align-items:center;gap:.85rem;width:100%;height:100%;min-height:6rem;padding:1.25rem;text-align:left;font:inherit;font-size:1.125rem;font-weight:700;color:#182136;background:var(--stage-soft);border:1px solid #ced6e5;border-top:4px solid var(--stage);border-radius:12px;cursor:pointer;line-height:1.35}
.lifecycle-tabs button>span:first-child{display:grid;place-items:center;flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--stage);color:#fff;font-size:.875rem}
.lifecycle-tabs button:hover{border-color:var(--stage)}
.lifecycle-tabs button[aria-selected=true]{background:var(--stage);border-color:var(--stage);color:#fff;box-shadow:0 8px 24px #1624491a}
.lifecycle-tabs button[aria-selected=true]>span:first-child{background:#fff;color:var(--stage)}
.lifecycle-tabs button:focus-visible{outline:3px solid #172554;outline-offset:4px}
.lifecycle-panel{margin-top:1.5rem;padding:clamp(1.25rem,3vw,2rem);background:#f5f7fc;border:1px solid #ccd6e7;border-left:5px solid #6841ce;border-radius:12px;color:#182136;min-height:11rem}
.lifecycle-panel[hidden]{display:none}
.lifecycle-panel .lifecycle-step-label{font-size:.875rem;font-weight:700;color:#5430ad;letter-spacing:.04em;margin-bottom:.5rem}
.lifecycle-panel h3{font-size:1.5rem;line-height:1.3;margin-bottom:.75rem;color:#182136}
.lifecycle-panel p:last-child{font-size:1rem;line-height:1.7;max-width:900px;color:#42516b;margin-bottom:0}

.brand-section .brand-card-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:1.5rem}
.brand-section .brand-product-card{grid-column:span 2;background:#fff;border:1px solid #d5ddea;border-top:5px solid #6841ce;text-decoration:none;min-width:0}
.brand-section .brand-product-card:nth-child(2){border-top-color:#047857}
.brand-section .brand-product-card:nth-child(3){border-top-color:#0e7490}
.brand-section .brand-product-card:nth-child(4){grid-column:2/span 2;border-top-color:#92400e}
.brand-section .brand-product-card:nth-child(5){border-top-color:#be123c}
.brand-section .brand-product-card>img{height:250px;display:block}
.brand-section .brand-product-card>div{padding:1.75rem}
.brand-section .brand-product-card h3{font-size:clamp(1.625rem,2.3vw,2rem);line-height:1.3;color:#182136;margin:1rem 0;overflow-wrap:normal}
.brand-section .brand-product-card span{font-size:.875rem;color:#4a5870;line-height:1.5;letter-spacing:.04em}
.brand-section .brand-product-card p{color:#43516a;font-size:1rem;line-height:1.7}
.brand-section .brand-product-card b{font-size:1rem;color:#5430ad}

.citytwin-workspace{background:#f5f7fc;color:#182136;padding:clamp(1rem,3vw,2.5rem);margin-top:1.5rem;margin-bottom:2rem;border-radius:18px;max-width:calc(100% - 2rem)}
.citytwin-workspace .twin-heading h1{color:#182136}
.citytwin-workspace .twin-heading p{color:#465570;font-size:1rem;line-height:1.6}
.citytwin-workspace .twin-heading .eyebrow{color:#5430ad;font-size:.875rem}
.citytwin-workspace .twin-heading .simulation-label{color:#0e6253;background:#e6f7f0;border-color:#91bdb0;font-size:.875rem}
.citytwin-workspace .digital-thread-label{color:#312e81;background:#eeecff;border-color:#c4bbeb;font-family:inherit;font-size:.9375rem;font-weight:600;line-height:1.7}
.citytwin-workspace .digital-thread-label span{color:#4b4773;font-weight:400}
.citytwin-workspace .twin-controls{background:#fff;color:#182136;border-color:#bdcadb;gap:1.5rem;padding:1.25rem}
.citytwin-workspace .twin-controls>label,.citytwin-workspace .twin-controls legend{color:#182136;font-size:1rem}
.citytwin-workspace .twin-controls fieldset{flex:1 1 100%;min-width:0;gap:.6rem;color:#182136}
.citytwin-workspace .twin-controls fieldset label{display:flex;align-items:center;gap:.4rem;padding:.55rem .7rem;border:1px solid #c9d5e5;border-radius:8px;background:#eff6ff;color:#1e40af;font-size:.875rem;line-height:1.5}
.citytwin-workspace .twin-controls fieldset label:nth-of-type(3n+2){background:#f5f3ff;color:#6d28d9;border-color:#d7c9f3}
.citytwin-workspace .twin-controls fieldset label:nth-of-type(3n){background:#ecfdf5;color:#065f46;border-color:#aad6c4}
.citytwin-workspace .twin-controls input{accent-color:currentColor}
.citytwin-workspace .twin-controls output{color:#5430ad}
.citytwin-workspace .twin-controls select,.citytwin-workspace .twin-metrics select{background:#fff;color:#182136;font-size:1rem;min-height:2.75rem;max-width:100%;border-color:#8d9cb2}
.citytwin-workspace .twin-controls button{color:#fff;background:#5430ad;border-color:#5430ad;font-size:.9375rem;font-weight:600}
.citytwin-workspace #twin-reset{background:#e7effb;color:#1e3a8a;border-color:#9cb4df}
.citytwin-workspace .twin-fullscreen{background:#1e3a8a;color:#fff;border-color:#1e3a8a;font-size:.9375rem}
.citytwin-workspace .twin-grid{grid-template-columns:minmax(0,1fr) minmax(260px,320px)}
.citytwin-workspace .twin-viewport{min-width:0}
.citytwin-workspace .scene-key{background:#091a2bed;padding:.65rem .8rem;border:1px solid #69829a;border-radius:8px;color:#f1f5f9;flex-wrap:wrap;font-size:.875rem;right:1rem;left:1rem;bottom:1rem;width:fit-content;max-width:calc(100% - 2rem)}
.citytwin-workspace .scene-fallback{color:#dce9f6;background:#091a2b;font-size:1rem;line-height:1.7}
.citytwin-workspace .twin-metrics{color:#edf4ff;background:#111b35;padding:1.5rem}
.citytwin-workspace .twin-metrics h2{color:#fff;font-size:1.375rem;line-height:1.4;letter-spacing:normal}
.citytwin-workspace .twin-metrics>label{color:#e2e8f0;font-size:.9375rem}
.citytwin-workspace .twin-metrics dl>div{border-bottom-color:#42516e}
.citytwin-workspace .twin-metrics dt{color:#d0dbec;font-size:.875rem;line-height:1.5}
.citytwin-workspace .twin-metrics dd{color:#88e7cd;font-size:1.75rem}
.citytwin-workspace .twin-metrics dl>div:nth-child(3n+2) dd{color:#9ad5ff}
.citytwin-workspace .twin-metrics dl>div:nth-child(3n) dd{color:#ffd58a}
.citytwin-workspace .twin-metrics p,.citytwin-workspace .twin-metrics .demo-note{color:#d0dbec;font-size:.875rem;line-height:1.7}
.citytwin-workspace .twin-metrics .btn{background:#dfc5ff;color:#2e1656;border-color:#dfc5ff;font-size:.9375rem}
.citytwin-workspace .sensor-simulation{color:#e2e8f0;background:#13243c;border-color:#4a6683}
.citytwin-workspace .sensor-simulation h2{color:#fff;font-size:clamp(1.5rem,3vw,2rem);line-height:1.3;letter-spacing:-.02em}
.citytwin-workspace .sensor-simulation p{color:#d0dbec;font-size:1rem;line-height:1.7}
.citytwin-workspace .telemetry-values{font-size:1rem;color:#e2e8f0;gap:1rem}
.citytwin-workspace .telemetry-values strong{color:#88e7cd}
.citytwin-workspace .telemetry-values span:nth-child(2) strong{color:#9ad5ff}
.citytwin-workspace .telemetry-values span:nth-child(3){color:#ffd58a;font-size:.875rem;font-weight:700}
.citytwin-workspace .telemetry-values button{background:#e2e8f0;color:#14243c;border-color:#e2e8f0;font-size:.9375rem}
.citytwin-workspace input:focus-visible,.citytwin-workspace select:focus-visible,.citytwin-workspace button:focus-visible{outline:3px solid #7c3aed;outline-offset:3px}
.citytwin-workspace:fullscreen{background:#f5f7fc;color:#182136}

@media(max-width:1000px){.lifecycle-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-section .brand-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-section .brand-product-card,.brand-section .brand-product-card:nth-child(4){grid-column:auto}.citytwin-workspace .twin-grid{grid-template-columns:1fr}.citytwin-workspace .twin-metrics dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.brand-section .brand-product-card h3{font-size:1.75rem}}
@media(max-width:600px){.lifecycle-tabs{grid-template-columns:1fr}.lifecycle-tabs button{min-height:4.5rem;padding:1rem}.infrastructure-lifecycle{padding:2.5rem 0}.brand-section .brand-card-grid{grid-template-columns:1fr}.brand-section .brand-product-card>img{height:240px}.brand-section .brand-product-card>div{padding:1.25rem}.living-preview iframe{height:850px}.citytwin-workspace .twin-controls>label{min-width:0;flex-basis:100%}.citytwin-workspace .twin-metrics dl{grid-template-columns:1fr}.citytwin-workspace .twin-heading{gap:1rem}.citytwin-workspace .sensor-simulation{padding:1.25rem}.citytwin-workspace .digital-thread-label{padding:.85rem}}
