@charset "UTF-8";
:root{--navy:#082a39;--navy-2:#0e3544;--ink:#123543;--muted:#5d727b;--teal:#23c7ba;--teal-dark:#087e7a;--paper:#eef3f4;--line:#d9e4e6;--white:#fff;--container:1320px;--radius:3px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--white);font:16px/1.58 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.14;letter-spacing:-.035em}
p{line-height:1.62}
::selection{background:#b8f0eb;color:#092d39}
:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
.skip-link{position:absolute;left:18px;top:-60px;z-index:1000;background:#fff;color:#092d39;padding:10px 14px}
.skip-link:focus{top:10px}
.container{width:min(calc(100% - 64px),var(--container));margin-inline:auto}
.site-header{position:relative;z-index:20;background:#fff;box-shadow:0 1px 0 rgba(8,42,57,.12)}
.utility{background:#092b3a;color:#dcecef}
.utility__inner{min-height:33px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.74rem;letter-spacing:.13em;font-weight:700}
.utility a{letter-spacing:.02em;font-size:.82rem;font-weight:600}
.utility a:hover{color:var(--teal)}
.header-inner{height:86px;display:flex;align-items:center;gap:38px}
.brand{display:flex;align-items:center;gap:13px;flex:none;min-width:225px;color:#073344}
.brand__symbol{width:30px;height:34px;display:flex;align-items:flex-end;gap:3px;transform:skewX(-18deg)}
.brand__symbol span{display:block;width:7px;background:#0a3648;height:24px}
.brand__symbol span:nth-child(2){height:32px;background:#0b9a95}
.brand__symbol span:nth-child(3){height:18px}
.brand__words{display:grid;line-height:1}
.brand__words strong{font-size:1.43rem;letter-spacing:-.055em;font-weight:850}
.brand__words small{font-size:.61rem;letter-spacing:.15em;font-weight:800;margin-top:5px}
.desktop-nav{display:flex;align-items:center;gap:clamp(15px,1.7vw,28px);margin-left:auto;white-space:nowrap}
.desktop-nav a{font-size:.88rem;font-weight:650;color:#274854;transition:color .2s}
.desktop-nav a:hover,.desktop-nav a.is-active{color:#087f7a}
.header-cta{display:flex;align-items:center;gap:15px;padding:13px 16px;border:1px solid #0f4752;color:#0c3a48;font-size:.84rem;font-weight:750;white-space:nowrap;transition:background .2s,color .2s}
.header-cta:hover{background:#0b3d4b;color:#fff}
.header-cta span{font-size:1.1rem;font-weight:400}
.menu-toggle,.mobile-nav{display:none}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#0c827e;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.eyebrow--light{color:#72e0d6}
.eyebrow i{width:7px;height:7px;background:var(--teal);border-radius:50%;box-shadow:0 0 0 5px rgba(35,199,186,.16)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px;padding:14px 21px;border:1px solid transparent;font-size:.94rem;font-weight:750;line-height:1.2;transition:transform .2s,background .2s,border-color .2s,color .2s}
.button:hover{transform:translateY(-2px)}
.button span{font-size:1.18rem;font-weight:400}
.button--primary{background:var(--teal);color:#062f3a}
.button--primary:hover{background:#6ae2d8}
.button--secondary{border-color:rgba(255,255,255,.58);color:#fff;background:transparent}
.button--secondary:hover{background:#fff;color:#0c3544}
.hero{position:relative;isolation:isolate;min-height:660px;background:#071e2c;color:#fff;overflow:hidden}
.hero__image,.hero__shade{position:absolute;inset:0;z-index:-1}
.hero__image{background:url('/assets/transport-hero.png') center 48%/cover no-repeat}
.hero__shade{background:linear-gradient(90deg,rgba(4,24,37,.93) 0%,rgba(5,31,44,.84) 35%,rgba(4,27,40,.18) 77%),linear-gradient(0deg,rgba(4,24,37,.84),transparent 25%)}
.hero__content{padding-top:clamp(94px,9vw,142px);padding-bottom:135px}
.hero h1{max-width:950px;margin:22px 0 24px;font-size:clamp(2.9rem,5.65vw,5.65rem);font-weight:650;letter-spacing:-.055em;line-height:1.055}
.hero h1 em{display:block;color:#7ce3dc;font-style:normal}
.hero p{max-width:660px;margin:0 0 32px;color:#e2edf0;font-size:1.12rem;line-height:1.62}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.hero__foot{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.3)}
.hero__shortcut{display:flex;align-items:center;gap:11px;min-width:0;min-height:100px;padding:18px 14px;border-right:1px solid rgba(255,255,255,.2);color:#e4f2f1;transition:background .2s,color .2s}
.hero__shortcut:first-child{padding-left:0}
.hero__shortcut:last-child{border-right:0}
.hero__shortcut:hover{background:rgba(35,199,186,.14);color:#fff}
.hero__shortcut svg{width:27px;height:27px;flex:none;color:#72e0d6}
.hero__shortcut-label{min-width:0;font-size:.79rem;font-weight:750;line-height:1.3;letter-spacing:.045em;text-transform:uppercase;overflow-wrap:anywhere}
.hero__shortcut-arrow{margin-left:auto;font-size:1.05rem;line-height:1;color:#72e0d6}
.hero__foot a span{padding:0;border:0;color:inherit}
.hero__foot a .hero__shortcut-arrow{color:#72e0d6}
.section{padding:104px 0}
.section--white{background:#fff}
.section--paper{background:var(--paper)}
.section-head{display:grid;grid-template-columns:235px minmax(0,1fr);gap:34px;align-items:start;margin-bottom:37px}
.section-head__meta{display:flex;flex-direction:column;gap:5px;padding-top:8px;color:#0d7776;font-size:.72rem;font-weight:800;letter-spacing:.15em}
.section-head h2{max-width:900px;margin:0;font-size:clamp(2.25rem,3.65vw,3.7rem);font-weight:670;line-height:1.11}
.section-head p{max-width:700px;margin:17px 0 0;color:var(--muted);font-size:1.04rem}
.solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.solution-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.solution-card{min-height:360px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;background:#edf3f4;border:1px solid transparent;transition:transform .22s,background .22s,border-color .22s}
.solution-card{min-width:0}
.solution-card__top span{overflow-wrap:anywhere}
.solution-card:hover{transform:translateY(-4px);background:#e4f1f1;border-color:#aacfcf}
.solution-card__top,.project-card__top{display:flex;justify-content:space-between;gap:15px;font-size:.7rem;font-weight:800;letter-spacing:.11em;color:#0c6d70}
.solution-card h3{max-width:360px;margin:0 0 15px;font-size:clamp(1.55rem,2.1vw,2.15rem);font-weight:680}
.solution-card p{max-width:355px;margin:0;color:#4f6c76;font-size:.96rem}
.text-link{display:inline-flex;align-items:center;gap:13px;color:#0d7776;font-size:.88rem;font-weight:800}
.text-link span{font-size:1.15rem;font-weight:400}
.architecture{color:#eef9fa;background:radial-gradient(circle at 14% 20%,#164657 0%,transparent 37%),linear-gradient(135deg,#092a3a,#071f2d)}
.architecture__layout,.split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(48px,7vw,120px);align-items:start}
.architecture__layout>*,.split>*{min-width:0}
.architecture h2,.split h2{font-size:clamp(2.35rem,4vw,4.25rem);font-weight:650;margin:20px 0 22px}
.architecture p{max-width:580px;color:#bdd1d6;font-size:1.03rem;margin-bottom:28px}
.architecture__stack{padding-top:10px}
.architecture__stack>div{display:grid;grid-template-columns:52px 1fr;column-gap:18px;align-items:center;padding:20px 0;border-top:1px solid rgba(255,255,255,.2)}
.architecture__stack>div:last-child{border-bottom:1px solid rgba(255,255,255,.2)}
.architecture__stack span{grid-row:span 2;color:#66cfc8;font-size:.83rem;font-weight:800}
.architecture__stack strong{font-size:1.2rem;font-weight:650}
.architecture__stack small{font-size:.85rem;color:#a8c0c7}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:2px solid #113e4c}
.steps>div{position:relative;min-height:250px;padding:30px 26px 22px 0;border-right:1px solid #c9d9dc;margin-right:22px}
.steps>div:last-child{border:0;margin-right:0}
.steps span{display:block;color:#0a8b86;font-size:.85rem;font-weight:800;margin-bottom:36px}
.steps h3{font-size:1.3rem;font-weight:700;margin-bottom:14px}
.steps p{max-width:255px;color:#536e78;font-size:.95rem;margin-bottom:17px}
.steps small{font-size:.78rem;font-weight:700;color:#0b6f70}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.project-grid--single{grid-template-columns:minmax(0,1fr);max-width:600px}
.project-card{min-height:375px;display:flex;flex-direction:column;justify-content:space-between;padding:27px;background:#0f3948;color:#fff;transition:transform .2s,background .2s}
.project-card:nth-child(2){background:#174c58}
.project-card:nth-child(3){background:#21545c}
.project-card:hover{transform:translateY(-4px);background:#0b6670}
.project-card__top{color:#86dcd4}
.project-card__city{display:inline-block;color:#8fe2d9;font-size:.85rem;font-weight:750;margin-bottom:15px}
.project-card h3{font-size:clamp(1.5rem,2.1vw,2.1rem);font-weight:650;margin-bottom:15px}
.project-card p{color:#d3e5e8;font-size:.92rem;margin-bottom:0}
.project-card .text-link{color:#a8f2e8}
.section-link{text-align:right;margin-top:23px}
.section-link a{font-weight:750;color:#087b79}
.section-link span{margin-left:9px}
.context-section{background:#dcebed}
.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.context-grid h2{max-width:600px;margin:20px 0;font-size:clamp(2.3rem,3.5vw,3.6rem)}
.context-grid p{max-width:560px;color:#486770}
.source-list{border-top:1px solid #a9c4ca}
.source-list a{display:grid;grid-template-columns:42px 1fr 20px;gap:20px;align-items:start;padding:26px 4px;border-bottom:1px solid #a9c4ca;transition:padding .2s,background .2s}
.source-list a:hover{padding-left:12px;background:rgba(255,255,255,.26)}
.source-list a span{font-size:.84rem;color:#0c7777;font-weight:750}
.source-list strong{font-size:1.08rem;line-height:1.4;font-weight:650}
.source-list--boxed{max-width:980px}
.ecosystem{background:#f4f7f7}
.ecosystem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ecosystem-grid>div,.ecosystem-grid>a{min-height:270px;background:#fff;border-top:4px solid #0d867e;padding:27px 28px;display:flex;flex-direction:column;transition:background .2s,transform .2s}
.ecosystem-grid>a:hover{background:#e0f4f1;transform:translateY(-3px)}
.ecosystem-grid>div:first-child{background:#0e3948;color:#fff;border-color:#56d5ca}
.ecosystem-grid span:not(.text-link){font-size:.72rem;font-weight:800;letter-spacing:.1em;color:#0a8a84}
.ecosystem-grid>div:first-child span:not(.text-link){color:#91e3db}
.ecosystem-grid h3{font-size:1.58rem;font-weight:700;margin:35px 0 12px}
.ecosystem-grid p{color:#57727a;font-size:.94rem;margin-bottom:0}
.ecosystem-grid>div:first-child p{color:#d3e6e8}
.ecosystem-grid .text-link{margin-top:auto;padding-top:18px}
.contact-section{scroll-margin-top:25px;background:#082a39;color:#fff;padding:100px 0}
.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(35px,7vw,120px);align-items:start}
.contact-copy{padding-top:14px}
.contact-copy h2{font-size:clamp(2.6rem,4.2vw,4.45rem);line-height:1.1;font-weight:660;margin:22px 0}
.contact-copy>p{color:#c1d6db;font-size:1.04rem;max-width:480px;margin-bottom:48px}
.contact-copy__line{padding:17px 0;border-top:1px solid rgba(255,255,255,.18);color:#d9e8eb;font-size:.91rem}
.contact-copy__line span{display:inline-block;width:47px;color:#63d4ca;font-weight:800}
.lead-form{background:#fff;color:#123743;padding:30px 32px 27px;box-shadow:0 24px 50px rgba(0,0,0,.13)}
.lead-form__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;color:#0e5663;font-size:.76rem;font-weight:800;letter-spacing:.12em}
.lead-form__head span:last-child{background:#dcefee;color:#0d6a68;padding:4px 8px;font-size:.7rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;font-size:.84rem;font-weight:700;color:#234853}
.field>span{display:inline;color:#ab493c}
.field input,.field select,.field textarea{width:100%;border:1px solid #bfd1d4;background:#f7faf9;border-radius:0;padding:13px 14px;color:#0a2e39;outline:none;font-size:.93rem;font-weight:400;min-height:47px}
.field textarea{resize:vertical;min-height:105px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#09978f;box-shadow:0 0 0 3px rgba(9,151,143,.15)}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#c24f48}
.field input::placeholder,.field textarea::placeholder{color:#82969b}
.field-hint{margin:-7px 0 13px;color:#667f85;font-size:.78rem}
.field-error{min-height:0;color:#aa3f39;font-size:.78rem;font-weight:600}
.field-error:empty{display:none}
.char-counter{font-size:.73rem;color:#7b9297;font-weight:500;align-self:flex-end;margin-top:-7px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;line-height:1.45;color:#536c72;cursor:pointer;margin:3px 0 9px}
.consent input{width:17px;height:17px;accent-color:#0b9d95;flex:none;margin-top:2px}
.consent a{text-decoration:underline;text-underline-offset:2px;color:#087a76}
.form-message{min-height:0;color:#0b6867;font-size:.88rem;font-weight:700;line-height:1.4;margin:12px 0}
.form-message:empty{display:none}
.form-message.is-error{color:#ae423c}
.form-submit{width:100%;border:0;justify-content:space-between}
.form-submit:disabled{opacity:.65;cursor:wait}
.demo-note{font-size:.75rem;color:#6d858b;line-height:1.4;margin:12px 0 0}
.site-footer{background:#061d29;color:#d6e4e7;padding:64px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.5fr;gap:60px;padding-bottom:60px}
.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start}
.footer-brand{font-size:1.43rem;font-weight:850;letter-spacing:-.04em;color:#fff;margin-bottom:16px}
.footer-brand span{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.footer-grid p{max-width:290px;font-size:.86rem;color:#9eb7be}
.footer-grid b{font-size:.76rem;letter-spacing:.12em;color:#75d8cf;text-transform:uppercase;margin:5px 0 17px}
.footer-grid a:not(.footer-brand){font-size:.85rem;margin:0 0 12px;color:#c7dcdf}
.footer-grid a:hover{color:#75d8cf}
.footer-bottom{min-height:68px;border-top:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:space-between;gap:18px;color:#8ea8af;font-size:.73rem}
.footer-bottom a{text-decoration:underline;text-underline-offset:2px}
.breadcrumbs{display:flex;gap:12px;align-items:center;min-height:54px;font-size:.75rem;color:#69818a}
.breadcrumbs a:hover{color:#0b827e}
.breadcrumbs span[aria-hidden]{color:#afc3c7}
.page-intro{position:relative;overflow:hidden}
.page-intro--light{background:#edf3f4;color:#0b3341}
.page-intro--dark{background:linear-gradient(115deg,#0c3e50,#061f2f);color:#fff}
.page-intro--dark .eyebrow{color:#72e0d6}
.page-intro__inner{position:relative;min-height:390px;display:flex;align-items:center;justify-content:space-between;padding-block:64px}
.page-intro__inner>div{max-width:910px;position:relative;z-index:2}
.page-intro__inner>div{min-width:0}
.page-intro h1{font-size:clamp(2.6rem,5vw,5.35rem);font-weight:660;margin:17px 0 20px}
.page-intro p{max-width:770px;font-size:1.08rem;color:#506d76;margin:0}
.page-intro--dark p{color:#c2dadd}
.page-intro .button{margin-top:28px}
.page-intro__marker{position:absolute;right:-12px;bottom:-75px;color:rgba(11,95,104,.07);font-size:12rem;font-weight:800;line-height:1;letter-spacing:-.09em;white-space:nowrap;pointer-events:none}
.page-intro--dark .page-intro__marker{color:rgba(160,238,228,.06)}
.page-intro__marker span{color:rgba(30,190,180,.12)}
.statement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.statement-grid>div{border-top:3px solid #0d8480;padding:26px 25px 36px;background:#f1f6f6;min-height:245px}
.statement-grid span{font-size:.82rem;font-weight:800;color:#0b8582}
.statement-grid h3{font-size:1.42rem;margin:45px 0 10px}
.statement-grid p{font-size:.93rem;color:#547079;margin-bottom:0}
.component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.component-card{min-height:225px;padding:24px 25px;border:1px solid #cbdadc;background:#fff}
.component-card span{font-size:.78rem;font-weight:800;color:#0b8a83}
.component-card h3{font-size:1.42rem;margin:47px 0 10px}
.component-card p{font-size:.91rem;color:#59747b;margin:0}
.product-callout{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#0d3847;color:#fff;margin-top:12px;padding:35px 38px}
.product-callout h3{font-size:1.8rem;margin:10px 0 7px}
.product-callout p{color:#c1d9dc;margin:0}
.product-callout .button{flex:none}
.feature-list{border-top:1px solid rgba(255,255,255,.25)}
.feature-list>div{display:grid;grid-template-columns:55px 1fr;gap:14px;align-items:center;border-bottom:1px solid rgba(255,255,255,.25);padding:21px 0;color:#e2f1f3}
.feature-list b{color:#69d5cc;font-size:.8rem}
.feature-list__link a{font-size:.88rem;color:#8ee5dc;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.feature-list__link a,.feature-list span{overflow-wrap:anywhere}
.faq{max-width:830px;margin:65px auto 0}
.faq h3{font-size:1.8rem}
.faq details{border-top:1px solid #c4d8da}
.faq details:last-child{border-bottom:1px solid #c4d8da}
.faq summary{cursor:pointer;font-weight:700;font-size:1.04rem;padding:21px 30px 21px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';position:absolute;right:5px;color:#0b7e79;font-size:1.4rem;top:17px}
.faq details[open] summary:after{content:'−'}
.faq details p{color:#536e75;max-width:740px;padding-bottom:18px}
.service-steps{border-top:2px solid #103e4b}
.service-step{display:grid;grid-template-columns:90px minmax(0,1.2fr) minmax(0,.8fr);gap:35px;padding:32px 4px;border-bottom:1px solid #cbdcdf;align-items:start}
.service-step>span{color:#0a8a83;font-weight:800;font-size:1.1rem}
.service-step h3{font-size:1.55rem;margin-bottom:9px}
.service-step p{color:#526d76;margin-bottom:0}
.service-step small{font-size:.73rem;color:#0a7774;font-weight:800;letter-spacing:.1em}
.service-step div:last-child p{font-weight:650;color:#183f4c;margin-top:9px}
.split:not(.architecture__layout) h2{margin-top:15px}
.bullet-panel{border-top:1px solid #adc7ca}
.bullet-panel p{padding:17px 0;border-bottom:1px solid #adc7ca;margin:0;font-weight:600;color:#2b5360}
.source-note{max-width:880px;margin-top:25px;color:#6d838a;font-size:.8rem}
.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.case-facts>div{padding:25px;background:#edf4f4;display:flex;flex-direction:column;gap:25px;min-height:155px}
.case-facts small{font-size:.72rem;color:#0c7e79;font-weight:800;letter-spacing:.1em}
.case-facts strong{font-size:1.25rem;line-height:1.25}
.case-copy{max-width:800px;margin:60px auto 0}
.case-copy h3{font-size:2rem}
.case-copy>p{font-size:1.05rem;color:#45636e}
.related-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.related-links a{background:#fff;min-height:125px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:28px;font-size:1.22rem;font-weight:700}
.related-links a:hover{background:#dff4f1}
.rich-copy p{font-size:1.08rem;color:#486773}
.office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.office-grid>div{min-height:215px;background:#edf4f4;padding:26px;display:flex;flex-direction:column;align-items:flex-start}
.office-grid span{font-size:.76rem;color:#0e847f;font-weight:800;letter-spacing:.11em}
.office-grid h3{font-size:1.5rem;margin:38px 0 13px}
.office-grid a{color:#0a7a77;font-weight:750;margin-top:auto}
.office-grid a:hover{text-decoration:underline}
@media(max-width:1240px){.desktop-nav{gap:13px}.desktop-nav a{font-size:.82rem}.brand{min-width:190px}.header-inner{gap:20px}.header-cta{padding:11px 12px}}
@media(max-width:1080px){.desktop-nav,.header-cta{display:none}.header-inner{height:72px}.menu-toggle{margin-left:auto;width:42px;height:42px;background:#0a3544;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.menu-toggle span{width:19px;height:2px;background:#fff;display:block}.mobile-nav:not([hidden]){display:flex;position:absolute;top:100%;left:0;right:0;padding:18px 32px 25px;background:#0a3544;color:#fff;flex-direction:column;box-shadow:0 16px 30px rgba(0,0,0,.18)}.mobile-nav a{padding:11px 3px;border-bottom:1px solid rgba(255,255,255,.16);font-size:1rem;font-weight:650}.mobile-nav__cta{color:#75e1d8}.footer-grid{gap:35px}.section-head{grid-template-columns:170px 1fr}}
@media(max-width:900px){.container{width:min(calc(100% - 40px),var(--container))}.hero{min-height:640px}.hero__content{padding-top:105px}.hero h1{font-size:clamp(2.75rem,6vw,4.7rem)}.hero__foot span{font-size:.62rem}.solution-grid,.project-grid,.ecosystem-grid,.component-grid,.statement-grid,.office-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.architecture__layout,.split,.context-grid,.contact-layout{grid-template-columns:1fr;gap:40px}.architecture__stack{max-width:760px}.steps{grid-template-columns:repeat(2,1fr)}.steps>div:nth-child(2){border:0;margin-right:0}.steps>div{min-height:225px}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-bottom{flex-wrap:wrap;padding-block:16px}.page-intro__inner{min-height:340px}.page-intro__marker{font-size:9rem}.contact-copy>p{margin-bottom:24px}.service-step{grid-template-columns:60px 1fr;gap:12px}.service-step>div:last-child{grid-column:2}}
@media(max-width:620px){.container{width:min(calc(100% - 32px),var(--container))}.utility__inner{font-size:.62rem;letter-spacing:.07em}.utility a{font-size:.72rem}.header-inner{height:67px}.brand{min-width:0}.brand__words strong{font-size:1.3rem}.brand__words small{font-size:.53rem}.hero{min-height:680px}.hero__image{background-position:62% center}.hero__shade{background:linear-gradient(90deg,rgba(3,25,37,.92),rgba(3,25,37,.54)),linear-gradient(0deg,rgba(3,25,37,.9),transparent 36%)}.hero__content{padding-top:72px;padding-bottom:205px}.hero h1{font-size:clamp(2.48rem,10vw,3.6rem);margin:18px 0}.hero h1 em{display:inline}.hero p{font-size:1rem;line-height:1.5}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions .button{width:100%}.hero__foot{grid-template-columns:repeat(3,1fr)}.hero__foot span{padding:12px 8px;border-bottom:1px solid rgba(255,255,255,.2);font-size:.56rem}.hero__foot span:first-child{padding-left:8px}.hero__foot span:nth-child(3){border-right:0}.hero__foot span:nth-last-child(-n+2){border-bottom:0}.section{padding:68px 0}.section-head{display:block;margin-bottom:28px}.section-head__meta{margin-bottom:18px}.section-head h2{font-size:clamp(2.15rem,8.8vw,3rem)}.solution-grid,.project-grid,.ecosystem-grid,.component-grid,.statement-grid,.office-grid,.case-facts,.related-links{grid-template-columns:1fr}.solution-card{min-height:280px;padding:23px}.solution-card h3{font-size:1.7rem}.project-card{min-height:315px}.architecture h2,.split h2,.contact-copy h2{font-size:clamp(2.4rem,9vw,3.2rem)}.architecture__stack>div{grid-template-columns:40px 1fr}.steps{grid-template-columns:1fr}.steps>div{min-height:0;padding:22px 0;margin:0;border-right:0;border-bottom:1px solid #c9d9dc}.steps>div:last-child{border:0}.steps span{margin-bottom:15px}.context-grid{gap:24px}.source-list a{grid-template-columns:30px 1fr 18px;gap:12px}.ecosystem-grid>div,.ecosystem-grid>a{min-height:230px}.contact-section{padding:65px 0}.contact-layout{gap:35px}.contact-copy__line{padding:12px 0}.lead-form{padding:22px 18px}.field-row{grid-template-columns:1fr;gap:0}.footer-grid{grid-template-columns:1fr;gap:20px}.footer-grid>div{padding-bottom:5px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:9px}.breadcrumbs{flex-wrap:wrap;gap:6px;padding-block:8px}.page-intro__inner{min-height:320px;padding-block:55px}.page-intro h1{font-size:clamp(2.4rem,9.7vw,3.5rem)}.page-intro p{font-size:1rem}.page-intro__marker{font-size:6rem;bottom:-30px}.statement-grid>div,.component-card{min-height:210px}.statement-grid h3,.component-card h3{margin-top:32px}.product-callout{padding:25px;align-items:flex-start;flex-direction:column}.product-callout .button{width:100%}.service-step{grid-template-columns:45px 1fr;gap:10px}.service-step>span{font-size:.88rem}.case-copy{margin-top:40px}.office-grid>div{min-height:170px}}
@media(max-width:380px){.utility__inner span{display:none}.utility__inner{justify-content:flex-end}.hero h1{font-size:2.35rem}.hero__foot span{font-size:.49rem}.eyebrow{font-size:.68rem}.brand__symbol{width:24px}.brand__words strong{font-size:1.18rem}}
@media(max-width:620px){.utility__inner span{display:none}.utility__inner{justify-content:flex-end}}
@media(max-width:620px){.page-intro h1{hyphens:auto;overflow-wrap:anywhere}}
@media(max-width:620px){.architecture h2,.split h2{hyphens:auto;overflow-wrap:anywhere}}
#tasks,#software,#equipment{scroll-margin-top:24px}
.hero__foot a .hero__shortcut-label,.hero__foot a .hero__shortcut-arrow{padding:0;border:0}
@media(max-width:900px){.hero{min-height:0}.hero__content{padding-bottom:48px}.hero__foot{position:relative;grid-template-columns:repeat(2,minmax(0,1fr))}.hero__shortcut{min-height:78px;padding:15px;border-bottom:1px solid rgba(255,255,255,.2)}.hero__shortcut:first-child{padding-left:15px}.hero__shortcut:nth-child(even){border-right:0}.hero__shortcut:last-child{grid-column:1/-1;border-bottom:0}.hero__foot a .hero__shortcut-label{font-size:.82rem}}
@media(max-width:620px){.hero__content{padding-bottom:42px}.hero__shortcut{min-height:72px;gap:8px;padding:12px 9px}.hero__shortcut:first-child{padding-left:9px}.hero__shortcut svg{width:22px;height:22px}.hero__foot a .hero__shortcut-label{font-size:.72rem;letter-spacing:.02em}.hero__shortcut-arrow{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Content brief v2 */
.hero__caption{display:block;margin-top:25px;color:#bfd4d8;font-size:.75rem;line-height:1.35}
.service-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:0}
.service-steps .component-card{background:#eef4f4}
.component-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.component-grid--four .component-card{min-height:255px}
.product-list{border-top:2px solid #0e4956}
.product-row{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:30px;align-items:center;padding:21px 5px;border-bottom:1px solid #c4d9dc}
.product-row h3{font-size:1.16rem;margin:0 0 5px;letter-spacing:-.02em}
.product-row p{color:#58737a;margin:0;font-size:.91rem}
.product-row a,.product-row__muted{font-size:.85rem;font-weight:750;color:#0c7c77;text-align:right}
.product-row a:hover{text-decoration:underline;text-underline-offset:4px}
.product-row__muted{color:#7c9195;font-weight:600}
.data-table-wrap{overflow-x:auto;border-top:2px solid #0e4956}
.data-table{border-collapse:collapse;width:100%;min-width:640px;text-align:left}
.data-table th{padding:15px 18px;color:#0a696b;background:#e3efef;font-size:.79rem;letter-spacing:.04em;text-transform:uppercase;vertical-align:top}
.data-table td{padding:18px;border-bottom:1px solid #cfdddf;color:#315562;font-size:.94rem;line-height:1.5;vertical-align:top}
.data-table td:first-child{font-weight:750;color:#123b49;width:28%}
.data-table tbody tr:nth-child(even) td{background:rgba(227,239,239,.38)}
.feature-callout{background:#0d3847;color:#f2fbfb;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:35px}
.feature-callout p{max-width:780px;margin:0;font-size:1.04rem;color:#d6e9eb}
.feature-callout .text-link{color:#8fe6dd;white-space:nowrap}
.service-timeline{border-top:2px solid #104656}
.service-row{display:grid;grid-template-columns:52px minmax(0,1.5fr) minmax(210px,.65fr);gap:28px;padding:27px 7px;border-bottom:1px solid #c5d9dc;align-items:start}
.service-row>span{color:#0b817b;font-weight:800;font-size:.91rem}
.service-row h3{font-size:1.42rem;margin:0 0 8px}
.service-row p{color:#547078;margin:0;font-size:.94rem}
.service-row strong{font-size:.89rem;color:#0b625f;font-weight:700;line-height:1.45}
@media(max-width:900px){.service-steps,.component-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.service-row{grid-template-columns:40px 1fr}.service-row strong{grid-column:2}}
@media(max-width:620px){.service-steps,.component-grid--four{grid-template-columns:1fr}.hero__caption{margin-top:15px}.product-row{grid-template-columns:1fr;gap:8px}.product-row a,.product-row__muted{text-align:left}.feature-callout{flex-direction:column;align-items:flex-start;padding:27px 24px;gap:15px}.feature-callout .text-link{white-space:normal}.service-row{gap:12px}.service-row h3{font-size:1.25rem}.data-table{min-width:580px}.data-table td{padding:14px;font-size:.88rem}}
.page-intro .button + .button{margin-left:12px}
@media(max-width:620px){.page-intro .button + .button{margin-left:0;display:flex;max-width:max-content}.page-intro .button{margin-right:10px}}
@media(max-width:620px){.page-intro .button,.page-intro .button + .button{display:flex;width:100%;max-width:100%;margin-left:0;margin-right:0}}
