:root{--navy:#122638;--ink:#071c38;--blue:#2c6fb7;--grey:#667683;--cloud:#f5f7f8;--line:#d5dfe7;--gutter:clamp(24px,5.7vw,94px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--cloud);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em;font-weight:600}p{line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.shell{max-width:1440px;padding-inline:var(--gutter);margin:auto}.wide-shell{max-width:1510px;margin:auto;padding-inline:30px}.icon{width:25px;height:25px;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 21px;background:linear-gradient(110deg,#0968af,#267abf);color:white;border:1px solid #287fc1;border-radius:5px;font-size:15px;font-weight:500;line-height:1.2;box-shadow:0 1px 3px #10243818;transition:transform .2s,background .2s}.button .icon{width:19px;height:19px}.button:hover{background:#125d9c;transform:translateY(-2px)}.eyebrow{font-size:12px;font-weight:550;letter-spacing:.21em;text-transform:uppercase;line-height:1.6;color:var(--blue)}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--blue);font-size:15px;font-weight:550}.text-link .icon{width:20px}.skip{position:fixed;top:-90px;left:20px;background:var(--navy);color:white;padding:15px;z-index:50}.skip:focus{top:12px}.site-header{position:absolute;inset:0 0 auto;height:100px;z-index:10}.header-inner{max-width:1600px;margin:auto;padding-inline:var(--gutter);height:100%;display:flex;align-items:center;gap:24px}.brand{width:224px;flex-shrink:0}.brand img{width:100%;height:auto}nav{display:flex;align-items:center;gap:25px;margin-left:auto}nav a{font-size:13px;font-weight:450;white-space:nowrap;position:relative;padding-block:16px}nav a::after{content:"";position:absolute;bottom:7px;left:0;right:100%;height:2px;background:var(--blue);transition:right .2s}nav a:hover::after{right:0}.header-tools{display:flex;align-items:center;gap:23px;margin-left:16px}.language{font-size:12px}.header-tools .button{padding:14px 19px;font-size:13px;gap:11px;white-space:nowrap}.search-open{border:0;padding:5px;background:none;color:var(--ink);display:flex}.search-open .icon{width:21px;height:21px}.menu-toggle{display:none;border:0;background:none;width:36px;padding:7px;gap:5px;flex-direction:column}.menu-toggle span{height:2px;width:23px;background:var(--navy)}
.hero{position:relative;background:url('hero.webp') center/cover no-repeat;min-height:clamp(650px,50.4vw,850px);overflow:hidden}.hero-inner{position:relative;z-index:1;padding-top:clamp(151px,11vw,184px);padding-bottom:100px}.hero h1{font-size:clamp(43px,3.94vw,64px);font-weight:400;line-height:1.08;letter-spacing:-.045em;margin-top:18px;max-width:780px}.hero h1 strong{font-weight:700}.hero .eyebrow{color:var(--ink);font-size:13px;letter-spacing:.26em}.hero-copy{margin-top:22px;font-size:clamp(16px,1.35vw,21px);line-height:1.48;max-width:650px;width:51%;color:#17314c}.hero .button{margin-top:24px}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#f5f7f80a,transparent 60%);pointer-events:none}.family-strip{background:linear-gradient(#f0f4f8,#eff3f6);border-block:1px solid #dde4ea}.family-inner{max-width:1510px;margin:auto;padding:30px 35px 25px;display:grid;grid-template-columns:repeat(6,1fr)}.family{text-align:center;padding-inline:15px;position:relative;color:#102e50}.family:not(:last-child)::after{content:"";position:absolute;top:5px;right:0;height:45px;width:1px;background:#ccd7e1}.family>.icon{width:43px;height:43px;margin-bottom:12px;color:#143b6c}.family h2{font-size:12px;line-height:1.35;letter-spacing:0;font-weight:600;min-height:33px}.family p{font-size:12px;line-height:1.5;color:#647b8d;margin-top:9px}.family:hover{color:var(--blue)}.process-strip{background:var(--navy);color:white}.process-inner{display:grid;grid-template-columns:repeat(4,1fr);padding:45px 35px 47px;max-width:1510px;margin:auto}.process-inner a{text-align:center;padding:4px 14px;position:relative}.process-inner a:not(:last-child)::after{content:"";position:absolute;right:0;top:0;bottom:0;width:1px;background:#4a5b6b}.process-inner h2{font-size:clamp(21px,2.14vw,32px);letter-spacing:-.02em;font-weight:650}.process-inner p{font-size:13px;line-height:1.4;color:#cad7e2;margin-top:19px}.process-inner a:hover h2{color:#a5cff6}.applications-section{background:#f9fafc;padding-block:24px 48px}.section-label{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.section-label h2{font-size:12px;letter-spacing:.025em}.section-label span{font-size:11px;color:#61768a}.applications-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.application{overflow:hidden}.application>img{width:100%;height:auto;aspect-ratio:2.03;object-fit:cover;border-radius:4px 4px 0 0;transition:filter .2s}.application:hover>img{filter:brightness(1.07)}.application>div{padding-top:13px}.application h3{font-size:16px;font-weight:550;letter-spacing:-.02em}.application p{font-size:13px;line-height:1.55;color:#6a7b8c;margin-top:7px;max-width:255px}.section{padding-block:80px;background:white}.solutions-section{border-top:1px solid #e9eef2}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:40px}.section-heading h2,.section-title{font-size:40px;line-height:1.15;margin-top:18px}.section-heading>p{font-size:17px;color:#5a7183;line-height:1.75;max-width:530px}.solutions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.solution-card{position:relative;display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);background:#f8fafc;transition:border-color .2s,box-shadow .2s}.solution-card:hover{border-color:#85a9c9;box-shadow:0 6px 26px #1226380b}.solution-card>.icon{width:35px;height:35px;color:var(--blue);margin-bottom:28px}.number{font-size:12px;color:#7d93a5;letter-spacing:.08em}.solution-card>.number{position:absolute;right:28px;top:32px}.solution-card h3{font-size:22px;line-height:1.25;font-weight:550;margin-bottom:14px}.solution-card>p{font-size:15px;color:#62798b;margin-bottom:25px}.solution-card .more{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--blue);margin-top:auto}.more .icon{width:19px}.scope-note{font-size:13px;line-height:1.7;color:#6b7b88;border-top:1px solid var(--line);padding-top:23px;margin-top:30px}.company-section{background:var(--navy);color:white;position:relative;isolation:isolate;overflow:hidden}.company-section::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071c34bb,#122638f2 65%),url('sky.webp') left center/auto 100% no-repeat}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;padding-block:80px}.company-section h2{font-size:50px;font-weight:400;line-height:1.13}.company-section .eyebrow{color:#a9c8e7;margin-bottom:22px}.accent-rule{display:block;width:56px;height:3px;background:#39a3dd;margin-top:28px}.brand-words{font-size:12px;letter-spacing:.25em;line-height:2;margin-top:26px}.company-copy{padding-top:35px;align-self:center}.company-copy h3{font-size:31px;line-height:1.25;font-weight:500}.company-copy p{color:#cad7e4;max-width:470px;margin-top:22px}.signature{display:block;margin-top:28px;color:#afcce4;font-size:19px}.values-section{padding-block:65px 78px;background:#f7f9fb}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:45px;margin-top:35px}.values-grid .icon{width:40px;height:40px;color:#123d74;margin-bottom:20px}.values-grid h3{font-size:15px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.values-grid p{font-size:14px;margin-top:10px;max-width:230px;color:#536576}.delivery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:45px}.delivery-grid article{border-top:1px solid var(--line);padding-top:25px}.delivery-grid h3{font-size:26px;margin-top:18px}.delivery-grid p{font-size:15px;color:#5f7587;margin-top:16px}.partner-section{padding-block:70px;background:#eaf0f5}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.partner-grid h2{font-size:38px;line-height:1.2;margin-top:17px}.partner-grid>div>p:not(.eyebrow){font-size:16px;color:#526a7d}.partner-grid>div>p+p{margin-top:20px}.partner-grid .text-link{margin-top:25px}.contact-section{padding-block:80px;background:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:85px}.contact-grid h2{font-size:46px;line-height:1.15;margin-top:17px}.contact-grid>div>p:not(.eyebrow){font-size:17px;color:#5c7182;margin-top:24px;max-width:430px}.contact-email{display:block;font-size:clamp(19px,2.1vw,29px);color:var(--blue);letter-spacing:-.03em;overflow-wrap:anywhere;margin-top:25px}.company-address{margin-top:40px}.company-address strong{font-weight:550}.company-address p{margin-top:12px;color:#657b8c;font-size:15px}form{padding:35px;background:#eff3f7}form h3{font-size:25px}.form-note{font-size:13px;line-height:1.6;color:#657787;margin-block:12px 25px}form label{display:block;margin-bottom:8px;margin-top:18px;font-size:13px;font-weight:550}input,select,textarea{width:100%;border:1px solid #c2cfd9;border-radius:3px;background:white;padding:12px 13px;color:var(--ink);font-size:15px}textarea{resize:vertical;min-height:140px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}form .button{margin-top:25px}#form-status{font-size:13px;line-height:1.6;margin-top:14px;color:#4a6376}footer{background:var(--navy);color:#d5e0e8}.footer-main{padding-block:55px 40px;display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:50px}.footer-main img{width:247px;height:auto}.footer-main p{font-size:12px;margin-top:13px;color:#e1e9ef}.footer-main span{font-size:13px;display:block;margin-top:6px;color:#9fb4c5}.footer-links{padding-top:8px}.footer-links>a{display:block;font-size:13px;margin-bottom:15px}.footer-main a:hover{color:white}.footer-bottom{padding-block:22px;border-top:1px solid #3b4c5c;display:flex;gap:25px;justify-content:space-between;font-size:11px;color:#adbfce}.info-open{border:0;background:none;padding:0;color:inherit;font-size:inherit}.info-open:hover{text-decoration:underline}dialog{border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--cloud);width:min(800px,calc(100% - 30px));max-height:85vh;overflow:auto;padding:40px;box-shadow:0 20px 100px #071c3830}dialog::backdrop{background:#071c3877;backdrop-filter:blur(4px)}dialog>.eyebrow{margin-right:35px}dialog h2{font-size:34px;line-height:1.2;margin-top:16px;margin-right:10px}.dialog-close{position:absolute;top:14px;right:20px;border:0;background:none;color:var(--ink);font-size:36px;padding:0 6px}#solution-summary{color:#5d7385;font-size:17px;margin-block:20px 26px}#solution-scope article{border-top:1px solid var(--line);padding-block:20px}#solution-scope h3{font-size:20px;margin-bottom:9px}#solution-scope p{font-size:15px;color:#617585}#solution-contact{margin-top:25px}#search-dialog label{display:block;font-size:13px;margin-top:25px;margin-bottom:10px}#search-results{margin-top:15px}#search-results>button{border:0;border-bottom:1px solid var(--line);background:none;text-align:left;color:var(--ink);width:100%;padding:17px 0;font-size:15px}#search-results>button:hover{color:var(--blue)}#search-results>p{font-size:14px;padding:20px 0;color:var(--grey)}#info-dialog h3{font-size:20px;margin-block:26px 12px}#info-dialog p:not(.eyebrow){font-size:15px;color:#526a7e}#info-dialog p+p{margin-top:20px}
@media(max-width:1250px){.header-inner{gap:18px}.brand{width:195px}nav{gap:18px}.header-tools{gap:15px;margin-left:0}.header-tools .button{padding:12px;font-size:12px}.hero h1{font-size:48px}.hero-copy{font-size:17px;width:53%}.hero-inner{padding-top:145px;padding-bottom:90px}.hero{min-height:650px}.section-heading,.partner-grid{gap:60px}}
@media(max-width:1050px){.header-inner{padding-inline:35px}.brand{width:180px}nav{gap:17px}nav a{font-size:12px}.header-tools{gap:13px}.language{display:none}.header-tools .button{gap:8px}.hero-inner{padding-inline:55px;padding-top:135px}.hero h1{font-size:43px}.hero-copy{font-size:16px;max-width:540px;width:55%}.hero{min-height:610px}.family-inner{padding-inline:18px}.family{padding-inline:8px}.family h2{font-size:10px}.family p{font-size:11px}.family>.icon{width:34px;height:34px}.process-inner{padding-block:35px}.company-grid{gap:65px}.company-section h2{font-size:43px}.solutions-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{gap:45px}.footer-main{gap:30px}.footer-links a{font-size:12px}.footer-main img{width:215px}.delivery-grid{gap:20px}}
@media(max-width:880px){.site-header{height:84px}.header-inner{padding-inline:25px}.brand{width:188px}.menu-toggle{display:flex;order:3;margin-left:5px}.header-tools{margin-left:auto}.header-tools .button{font-size:12px;padding:12px 14px}nav{display:none;position:absolute;top:84px;left:0;right:0;flex-direction:column;background:#f5f7f8;align-items:stretch;gap:0;padding:15px 25px 25px;box-shadow:0 20px 25px #12263813}nav.is-open{display:flex}nav a{padding:14px 0;font-size:15px;border-bottom:1px solid #e0e8ee}nav a::after{display:none}.hero{min-height:620px;background-position:61% center}.hero-shade{background:linear-gradient(90deg,#f2f6faaa,#f2f6fa55 55%,transparent)}.hero-inner{padding-inline:35px}.hero-copy{width:64%;max-width:510px}.family-inner{grid-template-columns:repeat(3,1fr);gap:26px 0;padding-block:26px}.family h2{font-size:11px}.family p{font-size:12px}.family:nth-child(3)::after{display:none}.process-inner{padding-inline:15px}.process-inner h2{font-size:20px}.process-inner p{font-size:11px}.applications-grid{gap:15px}.application h3{font-size:14px}.application p{font-size:12px}.section-heading,.partner-grid{gap:38px}.section-heading h2,.section-title{font-size:33px}.section-heading>p{font-size:15px}.company-grid{gap:40px}.company-copy h3{font-size:25px}.company-copy p{font-size:14px}.values-grid{gap:25px}.values-grid h3{font-size:12px}.values-grid p{font-size:13px}.contact-grid{grid-template-columns:1fr;gap:45px}.footer-main{grid-template-columns:1.4fr 1fr}.footer-main>div:last-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;gap:15px}.company-section h2{font-size:39px}.section{padding-block:55px}.delivery-grid{grid-template-columns:1fr 1fr;gap:30px}.partner-grid h2{font-size:32px}}
@media(max-width:600px){:root{--gutter:24px}.site-header{height:78px}.header-inner{gap:10px;padding-inline:20px}.brand{width:178px}.header-tools{gap:7px}.header-tools .button{display:none}.menu-toggle{margin-left:0}nav{top:78px}.hero{min-height:730px;background-size:auto 510px;background-position:70% bottom;background-repeat:no-repeat;background-color:#d9e6ee}.hero-shade{background:linear-gradient(180deg,#d9e6ee,#e5edf3fa 39%,#e5edf3d9 58%,transparent 80%)}.hero-inner{padding:128px 24px 230px}.hero .eyebrow{font-size:10px;letter-spacing:.22em}.hero h1{font-size:clamp(31px,8.3vw,43px);line-height:1.1;margin-top:16px;letter-spacing:-.045em}.hero-copy{font-size:15px;line-height:1.6;width:100%;max-width:400px;margin-top:20px}.hero .button{margin-top:23px;font-size:14px;padding:14px 17px}.family-inner{grid-template-columns:repeat(2,1fr);gap:30px 0;padding:30px 12px}.family h2{font-size:11px}.family:nth-child(3)::after{display:block}.family:nth-child(even)::after{display:none}.family>.icon{margin-bottom:9px}.family p{font-size:11px}.process-inner{grid-template-columns:1fr 1fr;gap:28px 0;padding:32px 10px}.process-inner a{padding-block:5px}.process-inner a:nth-child(2)::after{display:none}.process-inner h2{font-size:22px}.process-inner p{font-size:11px;margin-top:10px}.applications-section{padding-block:24px 35px}.wide-shell{padding-inline:20px}.section-label{align-items:flex-start;flex-direction:column;gap:6px}.section-label h2{font-size:11px}.section-label span{font-size:10px}.applications-grid{grid-template-columns:1fr 1fr;gap:24px 15px}.application>div{padding-top:11px}.application h3{font-size:14px}.application p{font-size:12px}.section-heading,.partner-grid{grid-template-columns:1fr;gap:25px}.section-heading h2{font-size:35px}.section-heading>p{font-size:16px}.solutions-grid{grid-template-columns:1fr;gap:16px}.solution-card{padding:27px}.solution-card h3{font-size:23px}.company-grid{grid-template-columns:1fr;padding-block:50px;gap:45px}.company-section h2{font-size:43px}.company-copy{padding-top:0}.company-copy h3{font-size:27px}.company-copy p{font-size:15px}.values-section{padding-block:45px}.values-grid{grid-template-columns:1fr 1fr;gap:35px 25px;margin-top:28px}.values-grid .icon{width:32px;height:32px;margin-bottom:15px}.values-grid h3{font-size:12px;line-height:1.4}.values-grid p{font-size:13px}.section-title{font-size:31px}.delivery-grid{gap:30px 20px}.delivery-grid h3{font-size:22px}.delivery-grid p{font-size:14px}.partner-section{padding-block:45px}.partner-grid h2{font-size:33px}.partner-grid>div>p:not(.eyebrow){font-size:15px}.contact-section{padding-block:50px}.contact-grid h2{font-size:39px}.contact-email{font-size:22px}.contact-grid>div>p:not(.eyebrow){font-size:16px}form{padding:24px 20px}form h3{font-size:23px}.form-pair{grid-template-columns:1fr;gap:0}input,select,textarea{font-size:16px}.footer-main{grid-template-columns:1fr 1fr;padding-block:40px 30px;gap:35px 20px}.footer-main>div:first-child{grid-column:1/-1}.footer-main img{width:230px}.footer-main>div:last-child{grid-column:auto}.footer-links a{font-size:12px;overflow-wrap:anywhere}.footer-bottom{flex-direction:column;gap:12px;padding-block:20px;font-size:10px}.info-open{text-align:left}.scope-note{font-size:12px}dialog{padding:28px 23px}dialog h2{font-size:27px;margin-top:22px}#solution-summary{font-size:16px}#solution-scope h3{font-size:19px}#solution-scope p{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,footer,dialog,.button,form{display:none!important}.hero{background:none;min-height:0}.hero-inner{padding:0}.hero h1{font-size:30pt}.hero-copy{width:100%}.shell{padding:0}.section{padding:25px 0}}

/* Responsive navigation and panels — 21 October 2026. */
@media screen {
  :root { --nav-height: 100px; }
  .site-header { height: var(--nav-height); }
  .header-inner { min-width: 0; gap: clamp(8px, 1.5vw, 24px); }
  .brand { max-width: min(224px, 45vw); min-width: 0; }
  .header-tools { flex-shrink: 0; }
  #main-nav { min-width: 0; }
  .search-open,
  .menu-toggle {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    padding: 10px;
  }
  .menu-toggle span { flex-shrink: 0; transition: transform .18s, opacity .18s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
  dialog {
    width: min(800px, calc(100% - 24px));
    max-width: calc(100% - 24px);
    max-height: calc(100vh - 32px);
    max-height: calc(var(--viewport-height, 100dvh) - 32px);
    padding: clamp(20px, 4vw, 40px);
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    overflow-wrap: anywhere;
  }
  .dialog-close {
    position: sticky;
    float: right;
    top: 0;
    right: auto;
    z-index: 2;
    width: 44px;
    height: 44px;
    margin: -12px -12px 0 8px;
    padding: 0;
    border-radius: 6px;
    background: #f5f7f8f5;
    line-height: 1;
  }
  .solution-back { min-height: 44px; max-width: calc(100% - 44px); }
  #solution-contact { max-width: 100%; white-space: normal; }
}

@media screen and (max-width: 1100px) {
  :root { --nav-height: 84px; }
  .header-inner { padding-inline: clamp(14px, 3.4vw, 35px); }
  .header-tools { margin-left: auto; gap: 8px; }
  .header-tools .language { display: none; }
  .menu-toggle { display: flex; order: 3; margin-left: 0; }
  #main-nav {
    display: none;
    position: absolute;
    inset: 100% 0 auto;
    margin: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px clamp(20px, 4vw, 40px) max(16px, env(safe-area-inset-bottom));
    max-height: calc(100vh - var(--nav-height) - 12px);
    max-height: var(--nav-available-height, calc(100dvh - var(--nav-height) - 12px));
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
    background: #f5f7f8;
    border-top: 1px solid #dce5eb;
    box-shadow: 0 16px 30px #12263818;
  }
  #main-nav.is-open { display: flex; }
  #main-nav a {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    min-height: 48px;
    padding: 12px 0;
    font-size: 15px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
    border-bottom: 1px solid #e0e8ee;
  }
  #main-nav a::after { display: none; }
}

@media screen and (max-width: 600px) {
  :root { --nav-height: 78px; }
  .header-inner { gap: 8px; padding-inline: max(14px, env(safe-area-inset-left)); }
  .header-tools { gap: 0; }
  dialog { max-height: calc(var(--viewport-height, 100dvh) - 24px); }
  dialog h2 { font-size: clamp(23px, 6.4vw, 29px); }
}

@media screen and (max-height: 480px) {
  :root { --nav-height: 68px; }
  dialog { max-height: calc(var(--viewport-height, 100dvh) - 16px); padding: 18px 22px; }
}
