/* FCS editorial system: Manrope, DM Sans, light blue, navy and white. */
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin-variable.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-latin-variable.woff2') format('woff2');font-style:normal;font-weight:100 1000;font-display:swap}
:root{--navy:#123453;--deep:#081e38;--blue:#215eaa;--sky:#edf6fd;--muted:#526a7f;--line:#c9ddeb;--radius:8px;font-family:var(--font-body);scroll-padding-top:110px}
body{font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.brand>span,.footer-wordmark{font-family:var(--font-brand)}
h1,h2,h3,h4{font-weight:600;overflow-wrap:anywhere;text-wrap:balance}
p,li{overflow-wrap:break-word}
h2{font-size:clamp(34px,3.5vw,52px);line-height:1.17;letter-spacing:-.045em}
h2>span{color:#397bb0}h3{line-height:1.3;letter-spacing:-.025em}
p{line-height:1.75}.eyebrow{font-size:11px!important;line-height:1.6;letter-spacing:.15em;font-weight:650}
.wrap{width:min(1280px,calc(100% - 96px))}.section{padding-block:104px}
.about>div,.about-right,.section-heading>div,.section-heading>p,.service-card>div,.simulation-details,.guide-grid>div,.connect-grid>div,.footer-top>*{min-width:0}
.button,.text-link{font-size:14px;line-height:1.55;font-weight:650;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.button{min-height:50px;padding:15px 23px;gap:22px;border-radius:7px}.button>span,.text-link>span{flex-shrink:0}
.primary,.nav-connect{background:linear-gradient(115deg,#123f76,#276bb3);border-color:#2468aa;box-shadow:0 8px 20px #183e6e18}
.primary:hover{background:linear-gradient(115deg,#0c315b,#245d94)}
.secondary{background:#f4f9fe;border-color:#a4c4de}.text-link{color:#215eaa}
.site-header{height:auto;min-height:96px;border-bottom:1px solid #d8e5ef;box-shadow:0 4px 24px #102e4c06}
.header-inner{height:auto;min-height:96px;padding-block:15px;max-width:1460px;padding-inline:36px;gap:28px}.brand{gap:12px}.brand>span{font-size:22px;font-weight:750;letter-spacing:.09em}.brand small{font-family:var(--font-body);font-size:8px;letter-spacing:.17em;line-height:1.7;color:#4d6e8d}
#primary-nav{gap:24px;flex-wrap:wrap;min-width:0}#primary-nav a{font-size:13px;font-weight:600;line-height:1.5}#primary-nav .nav-connect{padding:12px 17px;color:#fff;white-space:nowrap;margin-left:0}.nav-connect span{margin-left:18px}
.hero{display:flex;flex-direction:column;padding:0;min-height:clamp(690px,51vw,820px);background:#e6f2fc}
.hero:before{background:linear-gradient(90deg,#edf6fefa 0%,#edf6fee8 30%,#edf6fe8c 49%,#edf6fe00 77%)}
.hero-content{flex:1;padding-top:clamp(62px,5.8vw,94px);padding-bottom:54px}
.hero h1{font-size:clamp(64px,6.1vw,96px);line-height:1.07;letter-spacing:-.06em;font-weight:550;max-width:780px;margin-bottom:26px;text-wrap:initial;overflow-wrap:anywhere}
.hero h1>span{color:#296ba8;background:linear-gradient(100deg,#245ea5,#4b93c5);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero .eyebrow{font-size:11px!important;letter-spacing:.14em;margin-bottom:24px}.mini-rule{width:26px;background:#4d94c7}
.hero-description{font-size:18px;line-height:1.75;color:#2e526e;max-width:490px;margin-bottom:30px}
.hero-actions{gap:28px;flex-wrap:wrap}.hero-actions .text-link{min-height:48px}
.hero-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-bottom:30px}
.hero-scroll{position:static;font-size:12px;flex-shrink:0;gap:12px}.hero-scroll>span{width:36px;height:36px;background:#f5faffc9;border-color:#98b9d2}
.hero-note{position:static;max-width:100%;margin-left:auto;display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-start;align-items:center;padding:12px 16px;border:1px solid #b6cede;border-left:3px solid #427faf;border-radius:8px;box-shadow:0 6px 24px #163d5d12;background:#fffffff2}
.hero-note>span#hero-media-label{font-size:10px;line-height:1.5;letter-spacing:.09em;font-weight:600}.hero-note .concept-tag{font-size:11px;color:#587287}
.media-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0;max-width:100%}
.video-quality-label{min-width:0;max-width:100%}.video-quality,.video-toggle{min-height:40px;font-size:12px;line-height:1.5;border-color:#9ebed6;color:#214d73;background:#f5faff;border-radius:5px;padding:9px 11px}
.video-quality{width:142px;max-width:100%}.video-toggle{white-space:normal}.film-fullscreen{min-width:40px;font-size:19px;padding:5px 9px}
.discipline-strip{padding-block:23px;background:#f5faff;border-color:#d4e5f2}.discipline-strip>.wrap{flex-wrap:wrap;gap:12px 24px}.discipline-strip p{font-size:11px;letter-spacing:.06em;line-height:1.7}.discipline-strip a{font-size:12px}.discipline-strip span{font-size:14px}
.section-heading{gap:48px;align-items:flex-end;margin-bottom:46px}.section-heading>p{font-size:16px;max-width:370px;flex:0 1 370px;line-height:1.75}.section-heading:before{height:2px;width:54px;background:#75aacf;bottom:-20px}
.about{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:76px}.about .section-lead{font-size:20px}.about-image{height:300px;transform:none;box-shadow:12px 12px 0 #eaf3fb;border-radius:10px}.about-image figcaption{font-size:14px;line-height:1.6;background:#133b61ed}.about-principles{gap:20px;padding-top:32px}.about-principles h3{font-size:15px;line-height:1.4}.about-principles p{font-size:13px;line-height:1.65}.about-principles span{font-size:12px;color:#24679e}
.capabilities{background:linear-gradient(125deg,#092541,#143c62);color:#fff}.capabilities:before{background-image:linear-gradient(#c4e4ff08 1px,transparent 1px),linear-gradient(90deg,#c4e4ff08 1px,transparent 1px);background-size:72px 72px}
.capabilities .eyebrow{color:#9ac8ef}.capabilities h2>span{color:#99c9ef}.capabilities .section-heading>p{color:#c3d5e6}.capabilities .section-heading:before{background:#8cbbe1}
.filter-row{gap:9px;margin-top:34px;margin-bottom:30px}.filter{font-size:13px;padding:10px 17px;min-height:44px;line-height:1.6}.filter.active{background:#183f68;border-color:#183f68;box-shadow:none}.filter:hover{background:#e3f0fb}
.capabilities .filter{color:#dceafb;border-color:#66829e;background:#ffffff08}.capabilities .filter:hover{background:#ffffff16}.capabilities .filter.active{background:#eaf5ff;color:#133f68;border-color:#eaf5ff}
.service-grid{gap:20px}.service-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:25px 24px;border:1px solid #cfdeec;border-radius:10px;overflow:visible;box-shadow:0 8px 24px #071a3014;align-items:center;color:#163a5a}
.service-card:after{border-radius:0 0 10px 10px;background:#73abd2}.service-card h3{font-size:21px;font-weight:650;line-height:1.35;letter-spacing:-.03em;margin:0 0 9px;padding-right:12px;overflow-wrap:anywhere;text-wrap:initial}
.service-card p{font-size:14px;line-height:1.7;color:#566f83;margin-bottom:12px}.service-card .text-link{font-size:13px;min-height:40px;gap:15px}.service-number{top:10px;right:12px;font-size:10px;line-height:1;color:#536f85;padding:0}.service-icon{display:none}
.service-thumbnail{width:120px;min-width:0;height:144px;border-radius:7px;align-self:center}.service-thumbnail img{object-position:center}.service-thumbnail>span{width:30px;height:30px}
.capability-foot{gap:20px;flex-wrap:wrap}.capability-foot p{color:#c3d5e6;font-size:14px;line-height:1.7}.capability-foot .text-link{color:#d1e8fc;font-size:14px}
.lifecycle{background:white}.simulation{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);min-height:0;border-color:#bcd4e6;border-radius:12px;box-shadow:0 22px 60px #123b6110}.simulation-visual{padding:24px;background:radial-gradient(ellipse at center,#fff,#e5f1fb)}
.sim-top{gap:16px;flex-wrap:wrap;align-items:center}.sim-top>span{font-size:10px;line-height:1.7;letter-spacing:.08em;max-width:none;flex:1 1 170px}.live-dot{flex-shrink:0;background:#2f79af;box-shadow:0 0 0 4px #2f79af12}.play-button{font-size:12px;line-height:1.5;min-height:42px;padding:10px 13px;white-space:normal;flex-shrink:0}
.model-viewer{height:380px}.model-hint{color:#426783;font-size:10px;letter-spacing:.08em;max-width:calc(100% - 20px);text-align:center;white-space:normal;line-height:1.6}
.model-tools{gap:12px;flex-wrap:wrap;justify-content:space-between;margin-bottom:18px}.model-tools>div{flex-wrap:wrap;margin-left:0}.model-tools button{font-size:11px;line-height:1.5;min-height:40px;padding:8px 11px}.model-tools>div>button:nth-child(-n+2){font-size:18px;min-width:40px}
.sim-bottom{color:#536d81;font-size:10px;line-height:1.6;letter-spacing:.04em;align-items:flex-end}.sim-bottom>span:first-child{max-width:85%}.sim-bottom>span:last-child{white-space:nowrap;font-size:12px}
.simulation-details{padding:34px;background:#f9fcff}.simulation-details h3{font-size:32px;line-height:1.25;font-weight:650}.simulation-details>p{font-size:15px;line-height:1.8}.simulation-details h4{font-size:14px;margin:24px 0 12px}.simulation-details ul{color:#4b657d;font-size:14px;line-height:1.8;padding-left:18px}.stage-gate strong{font-size:13px}.stage-gate p{font-size:13px;line-height:1.7}.gate-icon{flex-shrink:0}.simulation-details .text-link{font-size:14px;min-height:44px}
.stage-controls{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.stage-controls button{font-size:13px;line-height:1.6;min-width:0;overflow-wrap:anywhere;min-height:84px;padding:15px 10px 10px}.stage-controls button span{font-size:11px;color:#536f87}.stage-controls button.active{background:#edf5fc;border-color:#326a9e;color:#123c65}.stage-controls button.active span{color:#326a9e}
.lifecycle-film-link{gap:24px;flex-wrap:wrap}.lifecycle-film-link p{font-size:14px}.lifecycle-film-link .text-link{font-size:14px}
.projects{background:#edf5fc}.gallery-toolbar{gap:24px;flex-wrap:wrap}.gallery-toolbar .filter-row{margin-top:30px}.gallery-toolbar>span{color:#4c6880;font-size:13px;white-space:nowrap}.project-grid{gap:32px 26px}.project-photo{aspect-ratio:1.32;border-radius:10px}.project-type{font-size:10px;line-height:1.5;letter-spacing:.04em;padding:7px 10px;max-width:calc(100% - 28px);overflow-wrap:anywhere}.project-card>button{gap:16px;padding-top:20px}.project-card>button h3{font-size:21px;line-height:1.4;text-wrap:initial}.project-card>button>span{flex-shrink:0}.project-card>p{font-size:13px;line-height:1.75;color:#536f85}.gallery-note{gap:20px}.gallery-note strong{font-size:15px}.gallery-note p{font-size:14px;line-height:1.75}
.guide-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:76px}.guide-steps article{gap:20px;padding-block:26px}.guide-steps article>span{color:#276994;flex-shrink:0;font-size:12px}.guide-steps h3{font-size:22px;line-height:1.35}.guide-steps p{font-size:15px;line-height:1.75}.guide-steps>.button{font-size:14px;text-align:left}.faq-list summary{font-size:16px;line-height:1.6;gap:22px}.faq-list summary span{flex-shrink:0}.faq-list p{font-size:14px;line-height:1.8;margin-right:18px}.faq-list details{padding-block:22px}.faq-list details[open]{padding-inline:18px}
.connect{background:linear-gradient(120deg,#103557,#0c2846 75%);color:#fff}.connect-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px}.connect .eyebrow{color:#a5ceee}.connect h2{font-size:clamp(34px,3.4vw,50px);line-height:1.2}.connect h2>span{color:#9dc9eb}.connect-intro{font-size:17px;color:#c8dcec;line-height:1.8;margin:28px 0}.contact-links>a,.contact-links>div{font-size:17px;line-height:1.7;color:#edf6ff;border-color:#6e93b253;padding-right:28px;overflow-wrap:anywhere}.contact-links span{font-size:12px;color:#a4c3de;line-height:1.6;margin-bottom:5px}.contact-links i{display:block;top:42px;color:#accee8}.connect .text-link{font-size:14px;color:#c3e2fb;line-height:1.6}
.enquiry-form{padding:34px;background:#fff;color:#153b5a;border-color:#c1d7e8;border-radius:12px;box-shadow:0 24px 60px #03142726}.enquiry-form:before{background:#86afd0;left:26px;right:26px;height:2px}.enquiry-form h3{font-size:25px;line-height:1.35;margin-bottom:28px}.form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.enquiry-form label{font-size:13px;line-height:1.6;margin-bottom:20px;gap:8px;font-weight:600}.enquiry-form label>span{color:#416a8a}.enquiry-form input,.enquiry-form select,.enquiry-form textarea,.form-row input{font-size:16px;line-height:1.6;padding:12px 13px;background:#f7fbfe;border-color:#bfd3e3}.enquiry-form select{text-overflow:ellipsis;padding-right:30px}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#536d81;opacity:1}.enquiry-form .form-note{font-size:12px;line-height:1.75;color:#536d81}.enquiry-form>.button{font-size:14px;gap:16px}.enquiry-result{font-size:14px}.enquiry-result>p{font-size:13px;line-height:1.7}.enquiry-result .text-link{color:#215eaa;font-size:14px}
.site-footer{background:#071b31;color:#c2d6e6;padding-top:56px}.footer-top{grid-template-columns:1.2fr 1fr 1fr auto;gap:36px;align-items:start}.footer-wordmark{font-size:40px;font-weight:650;line-height:1.1}.footer-wordmark span{font-family:var(--font-body);font-size:9px;line-height:1.7;letter-spacing:.08em;margin-top:10px}.footer-top>p{font-size:14px;color:#b0c6d9}.footer-top>div{font-size:13px;gap:12px}.back-top{font-size:12px;line-height:1.6;white-space:normal;padding:10px 14px;border-color:#58738e;grid-column:auto;grid-row:auto}.footer-bottom{font-size:11px;line-height:1.8;flex-wrap:wrap;gap:14px 24px;padding-block:26px;border-top-color:#6586a345;color:#aac3d8}.footer-bottom .text-link{font-size:12px;color:#c2d8e8}
.detail-dialog,.detail-dialog.discipline-dialog{width:min(1100px,calc(100% - 40px));max-height:92dvh;padding:0;border-radius:12px;overscroll-behavior:contain}.dialog-shell{min-width:0}.dialog-close{width:42px;height:42px;right:14px;top:14px;z-index:5;background:#fffffff5;border-color:#8faec7}.dialog-body{padding:36px 44px 42px;min-width:0}.dialog-body h2{font-size:clamp(28px,3.2vw,42px);line-height:1.25;padding-right:40px;max-width:100%;letter-spacing:-.04em}.dialog-body>p{font-size:16px;line-height:1.8}.dialog-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.dialog-columns>div{min-width:0;padding:24px;background:#f1f7fc;border-color:#d6e5f1}.dialog-columns h3{font-size:18px;line-height:1.45;margin-bottom:14px}.dialog-columns ul{color:#4b657d;font-size:14px;line-height:1.8}.dialog-columns li+li{margin-top:7px}.dialog-note{font-size:13px!important;line-height:1.8!important;border-left-color:#80b1d6}.dialog-body .button{font-size:14px}.concept-focus{padding:24px}.concept-focus h3{font-size:18px}.concept-focus ul{font-size:14px;line-height:1.8}.concept-focus li+li{margin-top:6px}
.discipline-visual~.dialog-body h2{padding-right:0}
/* Film controls have their own row. No caption sits over a control or film. */
.discipline-visual{display:block;position:relative;aspect-ratio:auto;height:auto;max-height:none;background:#0b2541;overflow:hidden}.discipline-visual:after{display:none}.film-stage{position:relative;width:100%;aspect-ratio:16/9;background:#0b2541;overflow:hidden}.film-stage .dialog-hero{width:100%;height:100%;object-fit:contain}.film-stage .discipline-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.film-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px 24px;flex-wrap:wrap;padding:15px 20px;background:#102e4b;border-bottom:1px solid #47637d}.discipline-visual-label{position:static;inset:auto;display:block;max-width:100%;flex:1 1 260px;font-size:11px;line-height:1.65;letter-spacing:.06em;padding:0;color:#d0e4f5;background:none;text-shadow:none;overflow-wrap:anywhere}.film-toolbar .media-actions{position:static;inset:auto;flex-shrink:0}.film-toolbar .video-quality,.film-toolbar .video-toggle{font-size:12px;min-height:42px}.film-toolbar .film-fullscreen{font-size:19px}
.film-choices{gap:8px;padding:14px 22px;background:#f7fbff}.film-choices button{font-size:13px;line-height:1.6;min-height:42px;padding:9px 14px;max-width:100%;overflow-wrap:anywhere}.discipline-nav{display:flex!important;position:static;inset:auto;flex-direction:row;padding:15px 22px;gap:8px;align-items:center;scroll-padding-inline:22px;background:#eaf3fb;border-color:#c5daeb;overflow-x:auto;max-width:100%}.discipline-nav>button{font-size:12px;line-height:1.6;min-height:42px;flex-shrink:0;padding:9px 13px}.discipline-nav>button[aria-pressed=true]{background:#1d548a;border-color:#1d548a}
.project-detail-toolbar{flex-wrap:wrap;gap:12px;margin-top:28px}.project-detail-toolbar button{font-size:13px;min-height:44px;padding:10px 15px;border-radius:5px}.project-detail-toolbar>span{font-size:12px;color:#4c6880}
.discipline-visual:fullscreen{width:100vw;height:100dvh;display:flex;flex-direction:column;background:#071a2e;overflow:auto}.discipline-visual:fullscreen .film-stage{flex:1 1 0;min-height:0;aspect-ratio:auto}.discipline-visual:fullscreen .film-toolbar{flex-shrink:0;width:100%;position:static}.discipline-visual:fullscreen .discipline-visual-label{position:static;inset:auto}.discipline-visual:fullscreen .media-actions{position:static;inset:auto}
@media(max-width:1180px){
 :root{scroll-padding-top:96px}.site-header{min-height:82px}.header-inner{min-height:82px;padding-block:12px;padding-inline:28px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;flex-shrink:0;background:#f5faff;border:1px solid #b6ccdf;border-radius:6px;padding:11px}.menu-toggle span{height:1px;background:#153b5d;width:20px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 #primary-nav{display:none;position:absolute;top:82px;left:0;right:0;padding:18px 30px 24px;background:#fff;border-bottom:1px solid #c4d7e3;box-shadow:0 20px 35px #204d6c12;gap:0;align-items:stretch;max-height:calc(100dvh - 82px);overflow-y:auto}#primary-nav.open{display:flex;flex-direction:column}#primary-nav a{font-size:15px;padding:14px 0;white-space:normal}#primary-nav a.nav-connect{margin-top:12px;padding:13px 17px;display:flex;justify-content:space-between}
 .wrap{width:calc(100% - 64px)}.about,.guide-grid{gap:46px}.connect-grid{gap:44px}.section-heading{gap:36px}.section-heading>p{max-width:330px;flex-basis:330px}.service-card{grid-template-columns:100px minmax(0,1fr);gap:18px;padding:24px 20px}.service-thumbnail{width:100px;height:136px}.service-card h3{font-size:20px}.service-card p{font-size:13px}.simulation{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.simulation-visual{padding:20px}.simulation-details{padding:28px}.enquiry-form{padding:28px}.form-row{grid-template-columns:1fr;gap:0}.footer-top{gap:26px;grid-template-columns:1.2fr 1fr 1fr}.back-top{grid-column:3;grid-row:2;justify-self:start}
}
@media(max-width:900px){
 .section{padding-block:80px}.section-heading{display:block}.section-heading>p{max-width:620px;margin-top:26px;font-size:16px}.about{grid-template-columns:1fr 1fr;gap:36px}.about-principles{grid-template-columns:1fr;gap:18px}.about-principles>div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:2px 10px}.about-principles h3{margin:0}.about-principles p{grid-column:2;margin:0}.service-grid{grid-template-columns:1fr}.service-card{grid-template-columns:132px minmax(0,1fr);padding:26px;gap:24px}.service-thumbnail{width:132px;height:142px}.service-card h3{font-size:22px}.service-card p{font-size:15px}.simulation{grid-template-columns:1fr}.simulation-visual{padding:24px}.simulation-details{padding:32px}.model-viewer{height:380px}.stage-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.stage-controls button{font-size:13px}.guide-grid,.connect-grid{grid-template-columns:1fr;gap:42px}.connect-grid>div{max-width:650px}.connect h2{font-size:44px}.enquiry-form{padding:32px}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.hero h1{font-size:clamp(60px,8.1vw,72px)}.hero-content{padding-top:62px}.hero-note{gap:10px}.hero-note .concept-tag{display:none}.hero-bottom{padding-bottom:26px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card>button h3{font-size:20px}.dialog-columns{gap:18px}.dialog-columns>div{padding:22px}
}
@media(max-width:700px){
 .wrap{width:calc(100% - 40px)}.section{padding-block:64px}.header-inner{padding-inline:18px;gap:14px}.brand img{width:48px;height:48px}.brand{gap:9px}.brand>span{font-size:20px;letter-spacing:.08em}.brand small{font-size:7px;letter-spacing:.12em}.site-header{min-height:78px}.header-inner{min-height:78px}#primary-nav{top:78px;max-height:calc(100dvh - 78px);padding-inline:24px}
 .hero{min-height:0;overflow:hidden}.hero-content{padding-top:44px;padding-bottom:34px}.hero h1{font-size:clamp(51px,12.7vw,72px);line-height:1.07;letter-spacing:-.055em;max-width:100%;margin-bottom:24px}.hero h1>span{display:block}.hero .eyebrow{font-size:10px!important;letter-spacing:.1em;gap:10px;margin-bottom:22px}.hero .mini-rule{width:20px;flex-shrink:0}.hero-description{font-size:16px;line-height:1.8;margin-bottom:25px;max-width:440px}.hero-description br{display:none}.hero-actions{gap:12px 22px;flex-wrap:wrap}.hero-actions .button{font-size:13px;padding:14px 18px;min-height:48px;gap:18px}.hero-actions .text-link{font-size:13px;gap:15px;min-height:44px}
 .hero-art,.hero-video{position:absolute;inset:auto 0 0;width:100%;height:330px;object-fit:cover;object-position:center bottom}.hero:before{background:linear-gradient(180deg,#edf6fe 0%,#edf6fe 56%,#edf6fee8 65%,#edf6fe00 86%)}.hero-bottom{min-height:300px;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:16px;padding-bottom:18px}.hero-scroll{display:none}.hero-note{width:100%;max-width:100%;margin:0;padding:12px;gap:10px;justify-content:space-between}.hero-note>span#hero-media-label{font-size:10px;letter-spacing:.06em;line-height:1.7;width:100%}.hero-note .media-actions{width:100%;gap:8px}.hero-note .video-quality,.hero-note .video-toggle{font-size:12px;min-height:42px;padding:9px 10px}.hero-note .video-quality{width:128px;max-width:100%}.hero-note .video-toggle{flex:1 1 100px}
 .discipline-strip>.wrap{justify-content:center;text-align:center;gap:8px}.discipline-strip>.wrap>span{display:none}.discipline-strip p{font-size:10px;letter-spacing:.02em}.discipline-strip i{margin-inline:5px}.discipline-strip a{display:none}
 h2,.connect h2{font-size:clamp(32px,7.8vw,42px);line-height:1.2}.eyebrow{margin-bottom:18px}.section-heading{margin-bottom:34px}.section-heading>p{font-size:15px;line-height:1.8;margin-top:23px}.section-heading:before{bottom:-16px}.about{grid-template-columns:1fr;gap:34px}.about .section-lead{font-size:19px}.about>div>p{font-size:15px}.about-image{height:260px;box-shadow:7px 7px 0 #eaf3fb}.about-image figcaption{font-size:13px;padding:15px 18px}.about-principles{gap:20px;padding-top:28px}.about-principles h3{font-size:16px}.about-principles p{font-size:14px}
 .filter-row{gap:8px;margin-top:30px;margin-bottom:25px}.filter{font-size:12px;padding:9px 14px;min-height:42px}.service-grid{gap:16px}.service-card{grid-template-columns:92px minmax(0,1fr);padding:23px 18px;gap:18px;border-radius:9px}.service-thumbnail{width:92px;height:130px;min-width:0}.service-card h3{font-size:19px;line-height:1.4;padding-right:5px}.service-card p{font-size:13px;line-height:1.7}.service-card .text-link{font-size:13px;min-height:40px}.service-number{font-size:10px;top:10px;right:12px}.service-thumbnail>span{width:26px;height:26px;font-size:15px}.capability-foot{gap:12px;align-items:flex-start}.capability-foot p,.capability-foot .text-link{font-size:14px}
 .simulation-visual{padding:18px}.sim-top{gap:12px}.sim-top>span{font-size:10px;letter-spacing:.04em;flex-basis:160px}.play-button{font-size:12px;padding:9px 12px}.model-viewer{height:310px;margin-top:8px}.model-hint{font-size:9px}.model-tools{gap:10px}.model-tools button{font-size:11px;min-height:40px}.model-tools>div{gap:5px;flex-wrap:wrap}.sim-bottom{font-size:9px;line-height:1.6;letter-spacing:.02em;gap:14px}.simulation-details{padding:26px 24px}.simulation-details h3{font-size:29px}.simulation-details>p{font-size:15px}.simulation-details .eyebrow{margin-bottom:13px}.stage-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stage-controls button{font-size:12px;padding:12px 8px 8px;min-height:76px}.stage-controls button span{font-size:11px;color:#536f87}.lifecycle-film-link{display:block;margin-top:26px}.lifecycle-film-link p{font-size:14px;margin-bottom:10px}.lifecycle-film-link .text-link{font-size:14px;line-height:1.7;text-align:left}
 .project-grid{grid-template-columns:1fr;gap:30px}.project-photo{aspect-ratio:1.35}.project-type{font-size:10px;left:12px;top:12px;padding:7px 9px}.project-card>button{padding-top:16px}.project-card>button h3{font-size:22px}.project-card>p{font-size:13px}.gallery-toolbar>span{font-size:12px;margin-bottom:22px}.gallery-note{gap:15px;margin-top:34px}.gallery-note>span{flex-shrink:0}.gallery-note strong{font-size:14px}.gallery-note p{font-size:13px}
 .guide-grid{gap:36px}.guide-steps h3{font-size:21px}.guide-steps article{gap:16px;padding-block:23px}.guide-steps p{font-size:14px}.guide-steps>.button{font-size:13px;line-height:1.6;gap:15px;padding:14px 18px}.faq-list summary{font-size:15px;gap:16px}.faq-list p{font-size:14px;margin-right:0}.faq-list details[open]{padding-inline:14px}.connect-grid{gap:36px}.connect-intro{font-size:16px}.contact-links>a,.contact-links>div{font-size:16px}.contact-links span{font-size:12px}.connect .text-link{font-size:14px}.enquiry-form{padding:26px 22px}.enquiry-form h3{font-size:24px}.form-row{grid-template-columns:1fr;gap:0}.enquiry-form label{font-size:13px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea,.form-row input{font-size:16px}.enquiry-form>.button{font-size:13px}.enquiry-form .form-note{font-size:12px}
 .footer-top{grid-template-columns:1fr 1fr;gap:28px 20px}.footer-wordmark{font-size:36px}.footer-wordmark span{font-size:8px;letter-spacing:.03em}.footer-top>p{font-size:13px;justify-self:start}.footer-top>div{grid-column:1;grid-row:2;font-size:13px}.back-top{grid-column:2;grid-row:2;align-self:start;justify-self:start}.footer-bottom{font-size:11px;gap:14px}.footer-bottom>span:first-child{width:100%}.footer-bottom .text-link{font-size:12px}
 .detail-dialog,.detail-dialog.discipline-dialog{width:calc(100% - 20px);max-height:94dvh;border-radius:10px}.dialog-close{width:40px;height:40px;right:10px;top:10px}.dialog-body{padding:26px 22px 32px}.dialog-body h2{font-size:29px;padding-right:44px;line-height:1.28}.dialog-body>p{font-size:15px}.dialog-columns{grid-template-columns:1fr;gap:16px}.dialog-columns>div{padding:21px}.dialog-columns h3{font-size:17px}.dialog-columns ul{font-size:14px}.dialog-body .button{font-size:13px;line-height:1.7;padding:13px 17px}.concept-focus{padding:20px}.concept-focus ul{font-size:14px}.film-toolbar{padding:14px;gap:12px}.discipline-visual-label{font-size:11px;flex-basis:100%;line-height:1.7;letter-spacing:.03em}.film-toolbar .media-actions{gap:7px;flex-shrink:1}.film-toolbar .video-quality{width:125px;font-size:12px;min-height:42px}.film-toolbar .video-toggle{font-size:12px;min-height:42px;padding:9px 10px}.film-toolbar .film-fullscreen{font-size:18px;min-width:38px;padding:5px 7px}.film-choices{padding:13px 15px}.film-choices button{font-size:12px}.discipline-nav{padding:13px 15px}.discipline-nav>button{font-size:12px}.project-detail-toolbar button{font-size:13px;padding:10px 12px}.project-detail-toolbar>span{font-size:12px;color:#4c6880}
}
@media(max-width:360px){
 .wrap{width:calc(100% - 32px)}.header-inner{padding-inline:14px}.brand>span{font-size:18px}.brand small{font-size:6.5px}.brand img{width:44px;height:44px}.hero h1{font-size:51px}.hero-note .video-quality{width:120px}.service-card{grid-template-columns:76px minmax(0,1fr);gap:14px;padding:23px 16px}.service-thumbnail{width:76px;height:124px}.service-card h3{font-size:18px}.service-card p{font-size:13px}.model-viewer{height:270px}.stage-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.model-tools>div{gap:4px}.model-tools button{padding:8px 9px}.footer-top{grid-template-columns:1fr}.footer-top>p,.footer-top>div,.back-top{grid-column:1;grid-row:auto}.footer-wordmark span{font-size:9px}.footer-top{gap:24px}.film-toolbar .media-actions{width:100%}.film-toolbar .video-quality{width:104px}.film-toolbar .film-fullscreen{flex:0 0 38px}.dialog-body{padding-inline:18px}.dialog-body h2{font-size:27px}.hero .eyebrow{font-size:9px!important}
}
@media(prefers-reduced-motion:reduce){.hero-video,.discipline-video,.service-card,.button{transition:none}.service-card:hover,.button:hover{transform:none}:root{scroll-behavior:auto}}
