@font-face{font-family:NovaOnest;src:url('assets/fonts/Onest.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--nova-ink:#071c2d;--nova-surface:#102e42;--nova-gold:#dcc399;--nova-muted:#c6d7e1;--nova-rule:#8da4b53d}body{font-family:NovaOnest,'Segoe UI',Arial,sans-serif;color:#edf3f6;line-height:1.6}button,input,textarea,select{font-family:inherit}h1,h2,h3,h4{font-family:inherit;overflow-wrap:normal}p{overflow-wrap:break-word}.section h2{font-size:clamp(30px,2.8vw,42px);line-height:1.18;font-weight:550}.section h3{font-size:clamp(22px,1.8vw,26px);line-height:1.3;font-weight:550}.section p{color:var(--nova-muted)}.section:before{left:0;width:100%;background:var(--nova-rule)}.section{padding-block:60px}.hero h1{font-size:clamp(42px,3.8vw,62px);max-width:1050px}.hero-intro{font-size:21px;line-height:1.6;max-width:750px}.hero .actions{gap:16px}.strengths-grid>div{min-width:0}.strengths-grid span{font-size:15px}.directions{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-block:48px}.directions .direction{padding:205px 30px 28px;min-height:385px;display:flex;flex-direction:column;gap:0}.direction h3{max-width:none;margin:0 0 16px;font-size:28px}.direction p{max-width:50ch;margin:0 0 22px}.direction-link{margin-top:auto}.direction .number{display:none!important}.direction.accounting-card::before{background-image:linear-gradient(#081d2c20,#081d2c20),url('assets/accounting-hero.webp')}.direction::after{display:none}.project-entry{gap:42px}.project-entry h2{max-width:18ch}.project-tabs{display:grid;grid-template-columns:1fr 1fr}.project-tabs button{font-size:14px;padding:12px;text-align:left}.project-answer dl{margin-block:18px}.company-heading{max-width:850px;margin-bottom:30px}.company-heading>p:not(.eyebrow){font-size:18px;line-height:1.7}.company-heading h1{font-size:clamp(36px,3.6vw,52px);line-height:1.15;letter-spacing:-.03em;max-width:800px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.team-card{padding:28px;background:#102d40;border:1px solid var(--nova-rule);border-top:2px solid #dcc39980;border-radius:4px}.team-card h3{margin:0 0 8px;font-size:24px}.team-card .team-scope{margin:0 0 20px;font-size:12px;font-weight:600;letter-spacing:.05em;color:#e2c99d}.team-card .team-role{font-size:15px;font-weight:600;color:#e2c99d;margin:0 0 16px}.team-card>p:last-child{font-size:16px;line-height:1.65;margin:0}.partner-capabilities{margin-top:32px;padding-top:26px;border-top:1px solid var(--nova-rule)}.partner-capabilities>div{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.partner-capabilities h4{font-size:18px;color:#e1ebf0;margin:14px 0 10px}.partner-capabilities p{font-size:16px;line-height:1.65}.company-section>.text-link{margin-top:20px}.company-boundary-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.company-boundary-grid article{padding:24px;border:1px solid var(--nova-rule);background:#102d40}.company-experience-note{font-size:14px!important;border-top:1px solid var(--nova-rule);padding-top:20px;margin-top:26px}.contact form{gap:16px}.contact form>label{min-width:0}.contact .consent-row{display:grid!important;grid-template-columns:20px minmax(0,1fr);gap:8px 10px!important}.contact .consent-row a{grid-column:2;padding:0!important;width:auto}.contact .consent-row input{width:18px;height:18px;min-height:0;align-self:start;margin-top:3px}.contact .consent-row span{font-size:13px;line-height:1.55}.contact .attachment-field{border:1px solid var(--nova-rule)}.contact-dialog{border:1px solid #90a5b55c;border-radius:6px;background:#0c2638;max-height:88svh;overflow-y:auto;width:min(760px,calc(100vw - 40px));padding:30px}.contact-dialog::backdrop{background:#041321bf;backdrop-filter:blur(4px)}.contact-dialog h2{font-size:30px;line-height:1.25;padding-right:36px;margin:0 0 24px}.contact-dialog form{padding:0}.contact-dialog.brief-contact .engineering-questionnaire{display:none}.contact-dialog .consent-row{display:grid!important;grid-template-columns:20px minmax(0,1fr);gap:8px 10px}.contact-dialog .consent-row a{grid-column:2;padding:0!important}.contact-dialog input[type=checkbox]{width:18px;min-height:18px;margin-top:3px;accent-color:#dcc399}.contact-dialog .dialog-close{width:44px;height:44px;top:12px;right:12px}.mobile-menu-toggle{display:none}.site-header .site-nav{font-weight:500}.site-header .site-nav a{line-height:1.4}.site-header .services-panel{z-index:30}.related-materials{padding:40px 30px!important;margin-block:20px 48px}.related-materials .article-card h2{font-size:24px!important;line-height:1.3}.article-card>div{display:flex;flex-direction:column}.article-card>div>span{margin-top:auto;padding-top:18px}.article-card p{font-size:16px!important;line-height:1.65}.article-body h2{font-size:28px}.editorial{scroll-margin-top:100px}footer.wrap{padding-bottom:70px}.floating{z-index:25;max-width:200px}
@media(min-width:1101px){.hero-content{padding-block:64px!important}.international-copy>h2{max-width:17ch}.team-grid{align-items:stretch}.company-section{padding-top:64px}}
@media(max-width:1000px){.project-entry{grid-template-columns:1fr}.project-entry h2{max-width:none}.partner-capabilities>div{grid-template-columns:1fr;gap:12px}.team-card{padding:24px}.company-boundary-grid{grid-template-columns:1fr}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.section{padding-block:40px}.hero-content{padding-block:38px 42px!important}.hero h1{font-size:clamp(30px,7.7vw,40px);line-height:1.13;letter-spacing:-.03em;max-width:none;margin-bottom:24px}.hero-intro{font-size:17px;line-height:1.6;max-width:none;margin-bottom:0}.hero .actions{margin-top:24px;gap:12px;flex-wrap:wrap}.hero .actions .button,.hero .actions .text-link{min-height:48px;font-size:14px;padding:12px 16px}.strengths-grid{padding-block:24px;gap:22px 16px;grid-template-columns:1fr 1fr}.strengths-grid strong{font-size:34px}.strengths-grid span{font-size:13px;line-height:1.5}.directions{grid-template-columns:1fr;gap:18px;padding-block:30px}.directions .direction{padding:190px 24px 24px;min-height:365px}.direction h3{font-size:26px}.direction p{font-size:16px}.team-grid{grid-template-columns:1fr}.team-card h3{font-size:23px}.company-heading>p:not(.eyebrow){font-size:17px}.project-answer{padding:24px}.project-tabs{gap:10px}.project-tabs button{font-size:13px;line-height:1.45;min-height:54px}.contact-person{padding:20px}.contact-layout{gap:24px}.contact-dialog{padding:24px 20px;width:calc(100vw - 24px);max-height:92svh}.contact-dialog h2{font-size:26px}.contact-dialog form{grid-template-columns:1fr}.contact-dialog label,.contact-dialog .full{grid-column:1}.related-materials{padding:28px 20px!important}.related-materials h2{font-size:28px}.article-card>img{height:190px}.article-card h2{font-size:23px}.company-heading h1{font-size:34px}.floating{width:50px;height:50px;max-width:50px;min-height:50px;padding:0;right:14px;bottom:14px;border-radius:50%;font-size:0!important;display:flex;align-items:center;justify-content:center}.floating::before{content:'✉';font-size:23px;line-height:1}.action-in-view .floating{visibility:hidden;pointer-events:none}.contact:has(button[type=submit]:focus-visible)~.floating{visibility:hidden}}
@media(max-width:1100px){header.site-header{padding:10px 18px;gap:8px;align-items:center;display:flex;justify-content:space-between;flex-wrap:wrap}.site-header .brand{width:155px;flex:0 0 155px}.site-header .brand img{width:100%;max-height:50px}.site-header .header-right{margin-left:auto;gap:6px}.site-header .header-cta{display:none}.site-header .languages button,.site-header .languages>a{min-width:32px;min-height:34px;font-size:12px;padding:6px}.mobile-menu-toggle{display:flex;width:40px;height:40px;padding:8px;order:3;border:1px solid #819caf66;background:#102b3d;color:#e0ebf2;border-radius:3px;align-items:center;justify-content:center;cursor:pointer}.mobile-menu-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.site-header.js-navigation .site-nav{display:none}.site-header.menu-open .site-nav{display:flex;order:4;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:10px;max-height:calc(100svh - 90px);overflow-y:auto}.site-header .site-nav>a,.services-menu>summary{min-height:48px;padding:12px 6px;font-size:15px}.site-header .services-panel{position:static;transform:none;width:100%;padding:10px;box-shadow:none;max-height:none;grid-template-columns:1fr;border-top:1px solid #dcc39977;gap:8px}.site-header .services-panel>a{padding:14px;min-height:auto}.services-panel strong{font-size:16px}.services-panel small{font-size:13px}.site-header .services-menu{width:100%}.site-header:not(.js-navigation) .mobile-menu-toggle{display:none}}
@media(max-width:355px){header.site-header{padding-inline:12px}.site-header .brand{width:140px;flex-basis:140px}.mobile-menu-toggle{width:36px;height:36px}.site-header .languages button,.site-header .languages>a{min-width:29px}.hero h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.nova-reveal{opacity:1;transform:none;transition:none}}
@media(max-width:760px){.action-in-view .floating{visibility:hidden!important;pointer-events:none!important}.floating{border-radius:50%!important}}

/* Tablet navigation and advantages follow the same compact rhythm as mobile. */
@media(min-width:761px) and (max-width:1100px){
 .strengths-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px;padding-block:28px}
 .strengths-grid span{font-size:15px;line-height:1.5}
 .strengths-grid strong{font-size:38px}
 .floating{width:50px;height:50px;max-width:50px;min-height:50px;padding:0;right:16px;bottom:16px;border-radius:50%!important;font-size:0!important;display:flex;align-items:center;justify-content:center}
 .floating::before{content:'✉';font-size:23px;line-height:1}
 .action-in-view .floating{visibility:hidden!important;pointer-events:none!important}
}
.action-in-view .floating{visibility:hidden!important;pointer-events:none!important}

/* Short, accessible server-side spam check; shared by inline and modal forms. */
.nova-form-check{display:grid!important;grid-template-columns:minmax(0,1fr) 84px;gap:10px 16px;align-items:center;padding:18px;border:1px solid rgba(221,191,145,.28);border-radius:4px;background:rgba(4,22,34,.28)}
.nova-form-check>span{font-size:14px;line-height:1.5;color:#e4edf1}.nova-form-check>input{width:84px!important;min-width:0!important;text-align:center;font-size:18px!important;padding:10px!important}.nova-form-check>small{grid-column:1/-1;font-size:12px;line-height:1.5;color:#afc3cf}.nova-form-check-error{color:#f3d8bb;font-size:14px;line-height:1.5}
@media(max-width:420px){.nova-form-check{padding:14px;gap:10px;grid-template-columns:minmax(0,1fr) 68px}.nova-form-check>input{width:68px!important}}
