/* Consistent alignment, restrained corners and distinct visual chapters. */
:root{--radius:10px;--chapter-gutter:max(28px,calc((100vw - 1248px)/2))}
.site-header{max-width:none;padding-left:var(--chapter-gutter);padding-right:var(--chapter-gutter)}
.hero{padding-left:var(--chapter-gutter);padding-right:var(--chapter-gutter)}
.capabilities{max-width:none;padding-left:var(--chapter-gutter);padding-right:var(--chapter-gutter)}
.site-header nav{border-radius:14px;background:#effff34d}
.site-header .nav-contact,.button,.hero .text-link,.hero-motion-toggle,.risk-motion-toggle,.menu-toggle{border-radius:8px}
.nav-contact span{border-radius:6px}
.capabilities>a,.feature-card,.platform-statement,.vision-card,.temperature-card,.contact-details,.video-frame{border-radius:10px}
.section .section-body{border-radius:10px}
#technology .section-body li,#systems .section-body li,#future .section-body li,#risks .risk-highlight{border-radius:10px}
.feature-card>.ui-icon{border-radius:8px}
.hero-scene img,.hero.has-motion .hero-scene img{transform:none;opacity:1}
.hero.has-motion .hero-scene img{opacity:0}
.hero-scene #hero-globe{opacity:0;transform:scale(var(--globe-zoom,1));transform-origin:72% 78%;transition:none;mix-blend-mode:multiply}
.hero.has-motion .hero-scene #hero-globe{opacity:var(--globe-opacity,1)}
.hero-scene #hero-motion{opacity:var(--city-opacity,0);transform:scale(var(--city-zoom,1));transform-origin:right bottom}
#overview{background:radial-gradient(ellipse at 100% 0%,#dcebcf 0%,transparent 50%),#f4f4eb;position:relative}
#overview .section-heading{max-width:1120px}
.feature-card{position:relative;border:1px solid #d7e1d1;border-top:3px solid #679c47;background:#ffffffdc;box-shadow:0 8px 30px #254f3010;grid-template-columns:48px 1fr;gap:24px}
.feature-card:nth-child(2){border-top-color:#3c958c}.feature-card:nth-child(3){border-top-color:#456fad}.feature-card:nth-child(4){border-top-color:#b2a56b}
.feature-card:nth-child(2)>.ui-icon{background:#dfefea;color:#327b73}.feature-card:nth-child(3)>.ui-icon{background:#e3ebf7;color:#456fad}.feature-card:nth-child(4)>.ui-icon{background:#f4f0e1;color:#817648}
.platform-statement{background:linear-gradient(115deg,#174936,#102e2b);border-left:4px solid #94c76d}
#vision{position:relative;background:radial-gradient(ellipse at 90% 0%,#3d6d59 0%,transparent 50%),repeating-radial-gradient(circle at 105% 0%,transparent 0 70px,#d7f5d70b 71px 72px),#163d33;color:#fff}
#vision .section-heading .eyebrow{color:#c6dfa9}
#vision .section-number{background:#ffffff12;border-color:#98b58d;color:#fff}
#vision h2{font-size:clamp(40px,4.5vw,62px);color:#fff}
#vision .vision-card{background:#ffffff08;border:1px solid #a6c8ad66;color:#e6efe6;padding:36px}
#vision .vision-card h3{color:#fff}
#vision .vision-card>.ui-icon{color:#c2e4a2}
#vision .response-card{background:#e2efce;color:#254735;border-color:#d1e4b9}
#vision .response-card h3{color:#173d2e}
#vision .response-card>.ui-icon{color:#4d7539}
#vision .vision-footnote{color:#cadbca;border-color:#8ca68e66}
#technology{background:linear-gradient(120deg,#e8f1ee,#f5f7f0 65%);align-items:start}
.system-map{position:relative;margin-top:40px;max-width:520px;background:linear-gradient(135deg,#17453b,#102f2e);border:1px solid #315e50;border-radius:10px;overflow:hidden;color:#e9f5df;box-shadow:0 14px 34px #1c45301a}
.map-label{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid #a7d6b02b}
.map-label .eyebrow{color:#c8dda8!important;margin:0!important;font-size:10px!important}
.map-label>span:last-child{font-size:24px;color:#99c67d}
.map-scene{height:340px;position:relative;background-image:linear-gradient(#b5dbba0a 1px,transparent 1px),linear-gradient(90deg,#b5dbba0a 1px,transparent 1px);background-size:24px 24px}
.map-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#94be85;stroke-width:1}
.map-lines circle{stroke:#acd99c27}
.map-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:90px;height:90px;border:1px solid #badd9b;background:#c8e4a8;color:#25462f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:50%}
.map-core .ui-icon{width:28px;height:28px}.map-core strong{font-size:15px;letter-spacing:.08em}
.map-node{position:absolute;width:36%;display:flex;align-items:center;gap:10px;background:#204a3d;border:1px solid #68906c;padding:15px 12px;border-radius:7px;font-size:12px;line-height:1.4;min-height:70px}
.map-node>.ui-icon{width:24px;height:24px;color:#c5e5a3}
.node-air{top:30px;left:5%}.node-climate{top:30px;right:5%}.node-energy{bottom:30px;left:5%}.node-data{bottom:30px;right:5%}
#technology .section-body{padding:8px 0 0}
#technology .section-body>h3{font-size:30px;line-height:1.4}
#technology .section-body li{background:#ffffffd9;border:1px solid #ceded3;border-left:3px solid #59966a}
#air-quality{background:radial-gradient(ellipse at 15% 60%,#c5e4d9 0%,transparent 45%),#edf5f1}
#air-quality .section-body{background:#ffffffa6;border-color:#c0d7ce}
.air-graphic{position:relative;width:min(100%,360px);aspect-ratio:1.25;margin-top:42px;display:grid;place-items:center;color:#326c5d}
.air-orbit{position:absolute;width:66%;aspect-ratio:1;border:1px solid #6097806b;border-radius:50%;box-shadow:0 0 0 25px #7cae9315,0 0 0 50px #7cae9310}
.air-graphic>.ui-icon{width:100px;height:100px;stroke-width:1.1}
.air-graphic>span{position:absolute;display:grid;place-items:center;width:64px;height:64px;background:#f6fbf5;border:1px solid #b0cbb8;border-radius:10px;box-shadow:0 12px 26px #366d5612}
.air-graphic>span:nth-of-type(1){left:8%;top:12%}.air-graphic>span:nth-of-type(2){right:8%;bottom:12%}
#systems{background-image:radial-gradient(ellipse at 85% 0%,#245675,transparent 60%),linear-gradient(#9ac6df0a 1px,transparent 1px),linear-gradient(90deg,#9ac6df0a 1px,transparent 1px);background-size:auto,44px 44px,44px 44px;background-color:#112e42;color:#fff}
#systems h2{color:#fff;font-size:clamp(36px,3.8vw,54px)}
#systems .eyebrow{color:#b4d9e4}#systems .section-number{color:#d9f1f5;background:#ffffff0a;border-color:#88b0bf}
#systems .section-body li{color:#e5f1ef;background:#ffffff06;border-color:#aacdd433;padding:32px!important;display:grid;grid-template-columns:48px 1fr;gap:24px;align-items:start}
#systems .section-body li>.ui-icon{color:#a7d9dc;width:40px;height:40px;margin:0}
#systems .section-body>p{color:#d4e6e4;padding:0}
#references{position:relative;isolation:isolate;background:#234837 url('/assets/ciidt-city-poster.jpg') center 58%/cover no-repeat;padding-top:110px;padding-bottom:110px}
#references:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102d2cf0,#153b39b3)}
#references .section-body{background:#ffffff0d;border-color:#ffffff45;backdrop-filter:blur(7px);padding:36px}
.experience-emblem{display:grid;place-items:center;width:62px;height:62px;border:1px solid #ffffff75;background:#ffffff12;margin-bottom:28px;border-radius:10px}
.experience-emblem .ui-icon{width:32px;height:32px;color:#d1e8ae}
#future{background:radial-gradient(ellipse at 100% 0%,#e3e9ff,transparent 60%),#f3f2ec}
#future>.section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;max-width:none;align-items:end;column-gap:30px}
#future .eyebrow{grid-column:1/-1}
.future-horizons{display:flex;align-items:center;gap:18px;padding-bottom:6px;color:#355c9d;font-size:28px;font-weight:550;letter-spacing:-.04em}
.future-horizons i{width:60px;height:1px;background:#8da5c8;position:relative}.future-horizons i:after{content:"";position:absolute;width:6px;height:6px;right:0;top:-2.5px;border-radius:50%;background:#355c9d}
#future .section-body li{border-top:3px solid #7590b5;display:grid;grid-template-columns:44px 1fr;gap:24px;align-items:start}
#future .section-body li>.ui-icon{margin:0}
.temperature-heading{text-align:left}.temperature-heading .eyebrow{justify-content:flex-start}
.temperature-card{border-top:3px solid #bbab7a;background:linear-gradient(155deg,#fff,#f8f6ee)}
.temperature-card:last-child{background:linear-gradient(135deg,#355c9d,#23477c);border-top-color:#a0b8df}
.climate-note{max-width:none;justify-content:flex-start}
.contact{background:repeating-radial-gradient(circle at 0% 100%,transparent 0 75px,#406b4f08 76px 77px),linear-gradient(110deg,#cddfc4,#eaf1de)}
.contact-details{background:#f6faf0c9;border-color:#baceb7;padding:34px}
.contact-email,.contact-phone{display:flex;align-items:flex-start;gap:14px}
.contact-details .ui-icon{width:23px;height:23px;margin-top:5px;color:#397052}
.contact-email>a,.contact-phone>a{min-width:0}
.contact-details h3{display:flex;gap:12px;align-items:center}.contact-details h3>.ui-icon{width:20px;height:20px;margin:0}
@media(max-width:1100px){.site-header nav{border-radius:10px}.feature-card{gap:18px}.map-node{padding:12px 9px;gap:8px;font-size:11px}.map-scene{height:310px}#systems .section-body li,#future .section-body li{grid-template-columns:1fr;gap:22px}.contact-details{padding:28px}}
@media(max-width:800px){:root{--chapter-gutter:24px}.system-map{max-width:none;margin-top:32px}.map-scene{height:350px}.map-node{font-size:14px;padding:16px;max-width:240px}.air-graphic{width:280px;aspect-ratio:1.4;margin:28px 0 0}#future>.section-heading{display:block}.future-horizons{font-size:23px;margin-top:26px}#references{padding-top:64px;padding-bottom:64px}.feature-card{grid-template-columns:48px 1fr}#systems .section-body li,#future .section-body li{grid-template-columns:40px 1fr;gap:18px}.contact-details{padding:26px}.site-header{padding-left:24px;padding-right:24px}}
@media(max-width:600px){.feature-card{display:grid;padding:26px 22px;gap:18px;grid-template-columns:40px 1fr}.feature-card>.ui-icon{width:40px;height:40px;padding:8px;margin:0}.feature-card p{font-size:18px}.vision-card,#vision .vision-card{padding:28px 24px}.section .section-body{border-radius:10px}#systems .section-body li,#future .section-body li{padding:26px 22px!important}.map-node{font-size:11px;padding:12px 10px;gap:8px;min-height:66px}.map-scene{height:320px}.map-core{width:78px;height:78px}.map-node>.ui-icon{width:21px;height:21px}.node-air,.node-climate{top:30px}.node-energy,.node-data{bottom:30px}.contact-details{padding:24px 20px}.contact-email,.contact-phone{gap:10px}.contact-email{font-size:15px}#references .section-body{padding:28px}#technology .section-body>h3{font-size:26px}}
@media(max-width:480px){:root{--chapter-gutter:20px}.site-header{padding-left:20px;padding-right:20px}.feature-card{display:block}.feature-card>.ui-icon{margin-bottom:20px}#systems .section-body li,#future .section-body li{grid-template-columns:1fr}.map-core{width:70px;height:70px}.map-core .ui-icon{width:24px;height:24px}.map-core strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-scene #hero-globe{transform:none}}
@media print{.system-map,.air-graphic,.experience-emblem,.future-horizons{display:none}#vision,#systems,#references,#future,.contact{background:white!important;color:#172b29}#vision h2,#systems h2,#vision .vision-card,#vision .vision-card h3,#systems .section-body li,#systems .section-body>p{color:#172b29;background:white}#references:before{display:none}}
