/* Engineering direction: blue, white, steel and restrained construction gold. */
@font-face{font-family:Sora;src:url('assets/fonts/sora-latin-variable.woff2') format('woff2');font-style:normal;font-weight:100 800;font-display:swap}
.site-header{background:#dcecf8;border-bottom-color:#b4cfe3;box-shadow:0 5px 24px #163c5a0b}
.header-inner{background:transparent}
.site-header .brand>span{font-family:var(--font-brand);font-weight:650;font-size:23px;line-height:1.2;letter-spacing:.105em;color:#153e64}
.site-header .brand small{font-family:var(--font-body);font-weight:650;font-size:8.5px;line-height:1.6;letter-spacing:.13em;color:#3c6180;margin-top:5px}
@media(max-width:1180px){#primary-nav{background:#e7f2fa;border-bottom-color:#b4cfe3}.site-header .menu-toggle{background:#f5faff;border-color:#9fbfd6}}
@media(max-width:700px){.site-header .brand>span{font-size:20px}.site-header .brand small{font-size:7.5px;margin-top:4px}}
@media(max-width:360px){.site-header .brand>span{font-size:18px}.site-header .brand small{font-size:6.8px}}

:root{--construction-gold:#b58a46;--structural-gray:#64798a}
.mini-rule{background:var(--construction-gold)}
.hero .mini-rule{background:var(--construction-gold)}
.section-heading:before{background:linear-gradient(90deg,#377fb4 0 72%,#b58a46 72%)}
.primary,.nav-connect{background:linear-gradient(115deg,#153e66,#28649b);border-color:#2d6b9e}
.capabilities{background:linear-gradient(125deg,#0a243d,#153b5c)}
.capabilities .section-heading:before{background:linear-gradient(90deg,#a5cce8 0 72%,#d8b571 72%)}
.capability-foot .text-link{color:#e4c58d}.service-card:after{background:linear-gradient(90deg,#4984ad 0 82%,#bb9557 82%)}
.service-thumbnail{box-shadow:inset 0 0 0 1px #a3bdd044,0 5px 12px #183e5c0b}
.engineering-art{height:auto;aspect-ratio:auto;background:#f2f8fc;border:1px solid #c2d7e7;border-radius:12px;box-shadow:10px 10px 0 #e8f1f8;transform:none}
.engineering-art img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}



.about-principles>div{min-width:0}.about-principles>div>span{display:inline-grid;place-items:center;width:34px;height:34px;line-height:1;font-size:12px;font-weight:650;border-radius:10px;color:#2d628b;background:linear-gradient(145deg,#f9fcff,#e4eef7);border:1px solid #c9dce9;box-shadow:inset 2px 2px 3px #fff,inset -2px -2px 4px #b8cce144,3px 4px 8px #214d7210}
.about-principles h3{margin-top:12px}.about-principles p{margin-top:7px}
.simulation-visual{background-color:#edf4f9;background-image:linear-gradient(#7e9dbd13 1px,transparent 1px),linear-gradient(90deg,#7e9dbd13 1px,transparent 1px),radial-gradient(ellipse at 45% 45%,#fff 15%,#e6f0f7 85%);background-size:36px 36px,36px 36px,100% 100%}
.sim-top .live-dot{background:#a97e36;box-shadow:0 0 0 4px #b58a4618}
.model-views{padding-top:20px;min-width:0}.model-views[hidden]{display:none}
.model-view-buttons{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.model-view-buttons button{flex:1 1 120px;min-width:0;min-height:44px;max-width:100%;padding:10px 12px;border:1px solid #a9c2d6;border-radius:6px;background:#f8fcff;color:#345c7b;font:600 12px/1.6 var(--font-body);overflow-wrap:anywhere;transition:background .2s,border-color .2s}
.model-view-buttons button:hover{background:#e2eef8;border-color:#779ebd}.model-view-buttons button[aria-pressed=true]{color:#fff;background:#1e527c;border-color:#1e527c;box-shadow:inset 0 -2px 0 #d1ac66}
.model-views p{font-size:12px;line-height:1.75;color:#4c657c;margin:12px 0 0;max-width:100%;overflow-wrap:anywhere}
.model-viewer{margin-top:12px}.model-tools button{border-color:#a9c2d6;background:#f6faff}.model-tools button:hover{background:#e4eff7}.stage-controls button.active{border-color:#ac8546;background:#edf4fa;color:#1a4c75}
.enquiry-form:before{background:linear-gradient(90deg,#7199bb 0 82%,#c2a061 82%)}
.back-top{border-color:#648199}.film-toolbar{background:#102f4a;border-color:#526b7e}
@media(max-width:960px){.about-principles>div{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:3px 10px}.about-principles>div>span{grid-column:1;grid-row:1 / span 2}.about-principles h3{margin-top:0}.about-principles p{margin-top:3px}}
@media(max-width:700px){.engineering-art{box-shadow:6px 6px 0 #e8f1f8}.model-views{padding-top:17px}.model-view-buttons{gap:7px}.model-view-buttons button{font-size:12px;min-height:44px;padding:9px 10px}.model-views p{font-size:12px;line-height:1.7}.model-hint{max-width:calc(100% - 16px);font-size:9px;letter-spacing:.03em}}
@media(max-width:360px){.model-view-buttons button{flex-basis:100px}}
@media(prefers-reduced-motion:reduce){.model-view-buttons button{transition:none}}
