/* Clear, readable typography and a brighter blue-and-white visual direction. */
:root{--blue:#0758c9;--ink:#102c48;--muted:#435c73;--paper:#fff;--line:#cddceb;--navy:#08294d}
body{font-size:17px;background:#fff}
body :is(.hero-copy p,.intro p,.platform-info>p,.partnership-copy p,.process-list article p,.manufacturing-intro p,.resources p,.project-grid>div>p,.featured-copy>p,.project-card-copy p,.case-heading>p,.case-stages p,.product-heading p,.product-sidebar>p){font-size:17px;line-height:1.75;color:var(--muted)}
.header{height:102px;background:#fffffff5;gap:24px}
.brand{font-size:27px;flex-shrink:0}.brand small{font-size:12px;letter-spacing:.07em}
.nav{font-size:15px;gap:24px}.nav-cta{font-size:15px;padding:15px 18px;gap:16px;border-color:#b6ccea;color:var(--blue)}
.cta-mobile{display:none}.menu-toggle{width:44px;height:44px}
.eyebrow,.section-index,.little-label,.edition{font-size:14px;letter-spacing:.07em;line-height:1.6}
.hero{padding-top:28px}.hero-content{display:block;min-height:0}.hero-copy{display:grid;grid-template-columns:1.1fr 1fr;column-gap:8%;padding:38px 0 34px}
.hero h1{font-size:clamp(54px,5.1vw,78px);line-height:1.04;letter-spacing:-.055em;white-space:normal;grid-column:1;grid-row:1/4}
.hero .hero-copy p{grid-column:2;grid-row:1;margin-top:12px;font-size:19px;max-width:480px;line-height:1.65;align-self:end}
.button{font-size:16px;min-height:54px;padding:16px 23px;gap:25px}.button span{font-size:24px}
.hero-copy .button{grid-column:2;grid-row:2;justify-self:start;align-self:center;margin-top:20px}
.text-link{font-size:16px;line-height:1.5;gap:22px}.hero-copy>.text-link{grid-column:2;grid-row:3;justify-self:start;align-self:start;margin:14px 0 0;font-size:16px;width:auto}
.hero-pair{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;height:auto;margin:0 0 24px}
.hero-visual-title{grid-column:1/-1;display:flex;justify-content:space-between;color:var(--blue);font-size:14px;font-weight:650;letter-spacing:.06em;border-top:1px solid var(--line);padding-top:20px}
.hero-pair figure{min-width:0;background:#fff;border:1px solid #bfd7f2;border-radius:8px;overflow:hidden}
.hero-pair figure>img{width:100%;height:235px;object-fit:cover;margin:0;transform:none;mask-image:none;mix-blend-mode:normal}
.hero-pair .hero-design>img{object-fit:contain;background:#eef7ff}
.hero-pair figcaption{padding:15px 17px;display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--ink);background:#fff;line-height:1.4}
.hero-pair .view-badge{font-size:14px;font-weight:750;color:var(--blue);letter-spacing:.03em}
.hero-partner-line{grid-column:1/-1;display:grid;grid-template-columns:2fr 1fr;gap:20px}
.hero-partner-line>div{background:var(--blue);color:#fff;padding:20px 24px;border-radius:6px;font-size:22px;font-weight:650;line-height:1.4;display:flex;flex-direction:column;gap:7px}
.hero-partner-line>div:last-child{background:#e9f4ff;color:var(--blue)}
.hero-partner-line small{font-size:14px;letter-spacing:.05em;font-weight:500}
.hero-bottom{font-size:14px;letter-spacing:.03em;padding:18px 0}.hero-bottom>a{font-size:14px;gap:20px}
.intro{grid-template-columns:17% 49% 27%;padding-top:75px;padding-bottom:75px}.intro .section-index{font-size:14px}
.intro h2{font-size:38px}.intro-note .little-label{font-size:14px}.intro-note>span:last-child{font-size:16px}.intro-note strong{font-size:22px}
.section-heading{align-items:flex-start}.section-heading>p{font-size:17px;line-height:1.7;max-width:390px;margin-top:40px;color:var(--muted)}
.platform-tabs button{font-size:25px;padding:24px 12px 22px 0}.platform-tabs button small{font-size:14px;letter-spacing:.03em;line-height:1.5}
.platform-panel{grid-template-columns:55% 45%;min-height:530px}.platform-image{background:#edf6ff;border-radius:8px;min-height:440px}
.platform-image img{object-fit:contain;mix-blend-mode:normal}.platform-model{font-size:14px;letter-spacing:.03em;background:#fff;padding:8px 12px;border-radius:3px}
.photo-label{font-size:14px;background:#fff;line-height:1.5}.platform-info{padding-top:20px;padding-left:9%}.platform-info .eyebrow{font-size:14px}.platform-info h3{font-size:34px}
.specs{gap:25px 18px}.specs dt{font-size:15px;line-height:1.5}.specs dd{font-size:25px;letter-spacing:-.025em}.specs dd small{font-size:16px}.specs dd.spec-words{font-size:21px}.spec-footnote{font-size:14px;line-height:1.7;color:var(--muted)}
.partnership{background:#edf6ff}.partnership-copy p{max-width:430px}.process-list article{grid-template-columns:46px 1fr}.process-list article>span{font-size:16px}.process-list article h3{font-size:25px}.process-list article p{max-width:none}
.manufacturing-intro{max-width:420px}.manufacturing .manufacturing-intro p{color:#d4e4f4}.manufacturing .section-index{color:#bed7f4}.workshop-gallery figcaption,.workshop-gallery figcaption span:first-child{font-size:14px;line-height:1.5}.manufacturing-footer>span,.manufacturing-footer p{font-size:15px}.facility-strip>div>span{font-size:15px;color:#d4e4f4}
.resource-list strong{font-size:19px}.resource-list small{font-size:15px;line-height:1.6}.resource-list>a>span:last-child{font-size:15px}.resources p{max-width:350px}
.featured-copy>.eyebrow{font-size:14px}.featured-copy h3{font-size:35px}.case-facts dt{font-size:14px;line-height:1.5}.case-facts dd{font-size:16px;line-height:1.5}.case-facts{gap:15px}
.project-image-label{font-size:14px}.supporting-projects>a{grid-template-columns:1fr}.project-thumb img{height:300px;object-fit:cover}.project-card-copy .little-label{font-size:14px}.project-card-copy h3{font-size:28px}.project-card-copy .text-link{font-size:16px}
.breadcrumbs{font-size:15px;line-height:1.5;flex-wrap:wrap}.data-table{font-size:17px;line-height:1.7}.data-table th{width:52%}.data-table th,.data-table td{padding:18px 12px 18px 0}.product-heading>div{min-width:0}.product-heading h1{font-size:56px}.product-sidebar .text-link{font-size:16px}.other-models a{font-size:16px;padding:12px 17px}.product-hero{background:#edf6ff}.product-hero img{mix-blend-mode:normal}.product-detail-grid{gap:7%}
.case-heading .eyebrow{font-size:14px}.case-cover figcaption,.case-gallery figcaption{font-size:14px;line-height:1.6}.case-layout dt{font-size:15px}.case-layout dd{font-size:17px;line-height:1.6}.case-stages>section>span{font-size:16px}.case-stages h3{font-size:24px}
.footer>p,.footer>div:not(.footer-bottom){font-size:16px}.footer-brand>span{font-size:13px}.footer-bottom{font-size:13px;line-height:1.7}.review-bar{display:none}
/* The short request form is a first conversation, not a technical questionnaire. */
.project{background:#0758c9;padding:90px 0}.project-grid{grid-template-columns:.85fr 1.2fr;gap:7%;align-items:start}
.project .section-index{color:#dcecff}.project h2{font-size:58px;color:#fff;line-height:1.1;margin-top:24px}.project .enquiry-intro>p{font-size:19px;color:#edf5ff;line-height:1.75;max-width:440px;margin-top:25px}
.enquiry-benefits{margin:28px 0 35px;padding-left:22px;color:#fff;font-size:17px;line-height:1.8}.enquiry-benefits li{padding:0 0 12px 3px}.enquiry-aside{border-top:1px solid #7caff3;padding-top:25px;max-width:430px;color:#edf5ff}.enquiry-aside strong{font-size:20px;line-height:1.6;display:block}.enquiry-aside>span{display:block;font-size:16px;line-height:1.8;margin-top:14px}
#project-form{padding:34px;background:white;border-radius:12px;box-shadow:0 12px 35px #00347725;min-width:0}
.form-heading{border-bottom:1px solid var(--line);padding-bottom:23px;margin-bottom:25px}.form-heading h3{font-size:26px;font-weight:650;letter-spacing:-.025em}.form-heading p{font-size:15px;color:var(--muted);margin-top:9px;line-height:1.7}
form label{font-size:16px;line-height:1.6;font-weight:650;color:var(--ink);margin-bottom:8px}.required-mark{color:var(--blue)}.optional-label{font-size:14px;font-weight:450;color:var(--muted)}
form input:not([type=radio]),form select,form textarea{background:#fff;border:1px solid #a9bfd7;border-radius:6px;font-size:17px;padding:13px 14px;min-height:52px;width:100%;color:var(--ink);line-height:1.5}
form input::placeholder,form textarea::placeholder{font-size:16px;color:#536b82;opacity:1}form textarea{min-height:124px;resize:vertical}
form input:focus-visible,form textarea:focus-visible,form select:focus-visible{outline:3px solid #badbff;border-color:var(--blue);outline-offset:1px}
.field-help{display:block;font-size:14px;line-height:1.65;color:var(--muted);margin-top:8px}.field-error{display:block;font-size:15px;line-height:1.6;color:#b32932;margin-top:8px}
form [aria-invalid=true]{border-color:#b32932!important;background:#fff9f9!important}.error-summary{background:#fff0f1;color:#9a1a24;font-size:16px;padding:14px 16px;border-radius:6px;margin-bottom:22px;line-height:1.6}
.form-row{grid-template-columns:1fr 1fr;gap:20px;margin-top:23px;margin-bottom:23px}.form-row>div{min-width:0}
.contact-method{border:0;padding:0;margin:25px 0 20px}.contact-method legend{font-size:16px;line-height:1.6;font-weight:650;padding:0;margin-bottom:12px;color:var(--ink)}.contact-method>div{display:flex;gap:12px}.contact-method label{display:flex;align-items:center;gap:9px;min-height:48px;border:1px solid #adcaeb;border-radius:6px;padding:9px 17px;cursor:pointer;margin:0;font-weight:550;min-width:125px}
.contact-method label:has(input:checked){background:#edf6ff;border-color:var(--blue);color:var(--blue)}.contact-method input[type=radio]{width:18px;height:18px;margin:0;accent-color:var(--blue)}
.optional-details{margin-top:25px;border-top:1px solid var(--line);padding-top:18px}.optional-details summary{font-size:16px;line-height:1.6;color:var(--blue);cursor:pointer;padding:8px 0}.optional-details summary span{font-size:14px;color:var(--muted)}.optional-details .form-row{margin-bottom:0}
#project-form>.button{width:100%;margin-top:26px}.contact-purpose{font-size:14px;color:var(--muted);text-align:center;margin-top:14px;line-height:1.7}.form-note{font-size:14px;line-height:1.7;color:var(--muted);margin-top:14px}
.brief-dialog{width:700px;padding:40px}.brief-dialog>p{font-size:17px;line-height:1.7}.brief-dialog pre{font-size:16px;line-height:1.75;max-height:300px}.preview-status{background:#edf6ff;padding:12px 15px;border-radius:6px;margin-top:17px}.brief-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.dialog-close{width:44px;height:44px;font-size:29px}.mobile-enquiry{display:none}
.custom-development{margin-top:45px;border:1px solid #bad6f5;border-radius:10px;padding:35px;background:#eef7ff;display:grid;grid-template-columns:.9fr 1.15fr;gap:8%}
.custom-development .eyebrow{font-size:14px;color:var(--blue)}.custom-development h3{font-size:38px;line-height:1.15;letter-spacing:-.035em;margin:20px 0}.custom-development p{font-size:17px;line-height:1.75;color:var(--muted)}.custom-hint{font-size:15px;line-height:1.7;display:block;margin-top:20px;color:var(--muted)}
#custom-request-form{padding:0}#custom-request-form>label:not(:first-child){margin-top:21px}#custom-request-form>.button{width:100%;margin-top:24px}.custom-development .form-note{font-size:14px}
@media(max-width:1200px){.header{height:88px}.nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px 6%;margin:0}.nav.open{display:flex;flex-direction:column;gap:10px;font-size:17px}.nav-cta{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;padding:8px}.menu-toggle>span{width:24px;height:2px;background:var(--ink)}.hero-copy{column-gap:5%}.hero .hero-copy p{font-size:18px}.hero-pair figure>img{height:200px}.hero-partner-line>div{font-size:20px}.intro{grid-template-columns:1fr 2fr;gap:30px}.intro-note{grid-column:2;padding-left:0;border-left:0}.platform-panel{grid-template-columns:1fr 1fr}.platform-info{padding-left:7%}.specs dd{font-size:22px}.specs dd small{font-size:15px}.project-grid{grid-template-columns:.85fr 1.15fr;gap:5%}#project-form{padding:27px}.project h2{font-size:48px}.form-row{grid-template-columns:1fr;gap:20px}.product-heading{display:block}.product-heading>.button{margin-top:25px}}
@media(max-width:760px){.header{height:78px;padding:0 5%;gap:10px}.nav{top:78px}.brand{font-size:23px;gap:8px}.brand small{display:none}.brand-symbol{width:32px;height:29px}.brand-symbol img{width:32px}.nav-cta{font-size:15px;padding:11px 8px;gap:8px;border:0}.cta-desktop{display:none}.cta-mobile{display:inline}.menu-toggle{margin-left:0;width:40px;height:44px;flex-shrink:0}.hero{padding-top:22px}.hero-topline .eyebrow{font-size:13px;letter-spacing:.03em}.hero-copy{display:flex;flex-direction:column;padding:29px 0 30px}.hero h1{font-size:clamp(48px,12.6vw,64px);line-height:1.07}.hero .hero-copy p{font-size:18px;margin-top:24px}.hero-copy .button{margin-top:24px;align-self:stretch;justify-self:auto;font-size:16px}.hero-copy>.text-link{margin:20px 0 0;align-self:flex-start;font-size:16px}.hero-pair{grid-template-columns:1fr;gap:17px;margin-bottom:20px}.hero-visual-title{font-size:13px;letter-spacing:0;gap:18px}.hero-visual-title>span:last-child{display:none}.hero-pair figure>img{height:auto;aspect-ratio:16/9;object-fit:contain;background:#fff}.hero-pair figcaption{padding:14px 16px;font-size:16px}.hero-pair .view-badge{font-size:14px}.hero-partner-line{grid-template-columns:1fr;gap:12px}.hero-partner-line>div{font-size:23px;padding:19px 20px}.hero-partner-line small{font-size:14px}.hero-bottom{display:none}.eyebrow,.section-index,.little-label{font-size:14px;letter-spacing:.035em}.intro{grid-template-columns:1fr;gap:22px;padding-top:50px;padding-bottom:50px}.intro .section-index{font-size:14px}.intro-note{grid-column:auto;grid-template-columns:1fr;gap:15px;padding-top:20px}.intro-note .little-label{font-size:14px}.intro-note>span:last-child{font-size:16px}.intro h2{font-size:33px}.section-heading>p{font-size:17px;max-width:none;margin-top:20px}.platform-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.platform-tabs button{font-size:20px;padding:18px 0;min-width:0}.platform-tabs button small{font-size:12px;line-height:1.5;letter-spacing:0;overflow-wrap:anywhere}.platform-panel{grid-template-columns:1fr;min-height:0}.platform-image{height:270px;min-height:0}.platform-model{font-size:14px;top:13px;left:13px;padding:6px 9px}.photo-label{font-size:14px;bottom:12px;left:13px;right:13px;width:fit-content}.platform-info{padding:26px 0 0}.platform-info h3{font-size:32px;max-width:none}.platform-info .eyebrow{font-size:14px}.specs{gap:22px 15px}.specs dt{font-size:15px}.specs dd{font-size:23px;overflow-wrap:anywhere}.specs dd small{font-size:15px}.specs dd.spec-words{font-size:20px}.spec-footnote{font-size:14px}.process-list article{grid-template-columns:33px 1fr}.process-list article h3{font-size:24px}.process-list article>span{font-size:15px}.partnership-copy h2{font-size:42px}.workshop-gallery figcaption{flex-direction:column;gap:8px}.manufacturing-footer p,.manufacturing-footer>span{font-size:14px;max-width:none}.facility-strip{grid-template-columns:1fr;gap:18px}.facility-strip strong,.facility-strip>div:last-child strong{font-size:28px}.facility-strip>div>span{font-size:16px}.facility-strip>div{padding-top:17px}.resource-list strong{font-size:18px}.resource-list small{font-size:15px}.resource-list>a>span:last-child{font-size:14px}.featured-copy>.eyebrow,.project-image-label{font-size:14px}.case-facts{grid-template-columns:1fr 1fr}.case-facts dt{font-size:14px}.case-facts dd{font-size:16px}.project-card-copy .little-label{font-size:14px}.project-card-copy h3{font-size:28px}.project-card-copy .text-link{font-size:16px}.product-heading h1{font-size:42px}.other-models a{font-size:15px}.data-table{font-size:16px;line-height:1.65}.data-table th{width:51%}.data-table td{overflow-wrap:anywhere}.case-heading h1{font-size:42px}.case-heading .eyebrow{font-size:14px}.case-layout dt{font-size:15px}.case-layout dd{font-size:17px}.case-stages h3{font-size:23px}.footer{grid-template-columns:1fr;padding-bottom:100px}.footer>div:not(.footer-bottom){flex-direction:column;align-items:flex-start;gap:17px;font-size:16px}.footer>p{font-size:16px}.footer-brand>span{font-size:13px}.footer-bottom{flex-direction:column;align-items:flex-start;font-size:13px;gap:14px}.footer-bottom>span:first-child{max-width:none}.project{padding:55px 0}.project-grid{grid-template-columns:1fr;gap:32px}.project h2{font-size:47px}.project .enquiry-intro>p{font-size:18px}.enquiry-benefits{font-size:17px}.enquiry-aside{display:none}#project-form{padding:24px 19px;border-radius:10px}.form-heading h3{font-size:25px}.form-heading p{font-size:15px}.form-row{grid-template-columns:1fr;gap:20px;margin-top:22px;margin-bottom:22px}form label{font-size:16px}form input:not([type=radio]),form textarea,form select{font-size:17px;padding:13px 12px;min-height:54px}form input::placeholder,form textarea::placeholder{font-size:16px}.contact-method legend{font-size:16px}.contact-method>div{gap:10px}.contact-method label{min-width:0;flex:1;justify-content:center;font-size:16px;padding:10px}.optional-details summary{font-size:16px}.optional-details summary span{display:block;padding-left:18px}.brief-dialog{padding:42px 22px 27px}.brief-dialog h2{font-size:36px}.brief-dialog>p{font-size:16px}.brief-dialog pre{font-size:16px}.brief-actions{align-items:stretch;flex-direction:column}.brief-actions .text-link{align-self:flex-start}.mobile-enquiry{display:flex;position:fixed;bottom:14px;left:6%;right:6%;z-index:22;background:var(--blue);color:white;padding:15px 20px;min-height:54px;border-radius:7px;box-shadow:0 5px 24px #063f8d35;justify-content:space-between;align-items:center;font-size:16px;font-weight:650}.mobile-enquiry.is-hidden{display:none}.custom-development{grid-template-columns:1fr;gap:30px;padding:27px 20px;margin-top:35px}.custom-development h3{font-size:35px}.custom-development p{font-size:17px}.custom-development .eyebrow{font-size:14px}.custom-hint{font-size:16px}}

@media(max-width:760px){.platform-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:0}.platform-tabs button{padding:12px;border:1px solid #bfd5f0;border-radius:6px;font-size:22px;min-height:80px}.platform-tabs button small{font-size:14px;overflow-wrap:normal}.platform-tabs button[aria-selected=true]{background:var(--blue);color:white}.platform-tabs button[aria-selected=true]:after{display:none}}
