:root{--navy:#04101f;--blue:#0d47a1;--accent:#64b5f6;--ink:#1a1a1a;--muted:#5b6470;--line:#dce3ec;--surface:#f4f7fa;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-synthesis:none;font-size:16px;line-height:1.6}
*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-underline-offset:4px}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait}button,a{ -webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.025em}h2{font-size:clamp(1.9rem,3.5vw,2.7rem);margin-bottom:20px}h3{font-size:1.4rem}p{color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:3px solid #2b8af2;outline-offset:5px}.container{max-width:1200px;margin:auto}.section{padding:88px 32px;content-visibility:auto;contain-intrinsic-size:auto 700px}.section-heading{text-align:center;margin:0 auto 48px;max-width:850px}.section-heading p{font-size:1.125rem;margin-bottom:0}.muted{background:var(--surface)}.center{text-align:center}.text-link{font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:1px solid transparent;border-radius:4px;background:var(--blue);color:white;font-weight:700;text-decoration:none;transition:transform .18s ease}.button:hover{transform:translateY(-2px)}.button.white{background:#fff;color:var(--blue)}.button.outline{border-color:#c6dbef;background:#ffffff10;color:white}.actions{display:flex;gap:16px;flex-wrap:wrap}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-200%);z-index:100;background:white;padding:12px}.skip-link:focus{transform:none}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:10;background:linear-gradient(#04101fe6,#04101f00);color:white}.nav-container{max-width:1440px;min-height:84px;padding:16px 32px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;line-height:1.15}.brand strong{font-size:2.6rem;letter-spacing:-.1em;border-right:1px solid #ffffff60;padding-right:16px}.brand span{font-size:.95rem;letter-spacing:.1em;font-weight:700}.brand small{display:block;font-size:.65rem;letter-spacing:.06em;font-weight:400;margin-top:6px}nav{display:flex;align-items:center;gap:26px}nav>a{color:white;text-decoration:none;font-size:.95rem;white-space:nowrap}nav>a[aria-current]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}nav .button{padding:10px 18px}.menu-toggle{background:transparent;border:1px solid #ffffff60;color:white;border-radius:4px;padding:8px 14px}
.hero{min-height:100svh;position:relative;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#04101f,#0d47a1 75%,#1976d2);color:white;border-bottom:3px solid var(--blue)}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#04101fed 0%,#04101f9c 55%,#04101f44),linear-gradient(0deg,#04101fb3,transparent 50%);z-index:-2}.hero-content{width:100%;max-width:1440px;margin:auto;padding:160px 56px 88px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;font-size:.85rem;font-weight:700;display:flex;align-items:center;gap:16px}.eyebrow:before{content:'';display:block;width:30px;height:2px;background:var(--accent)}h1{font-size:clamp(2.6rem,5.5vw,5.4rem);max-width:930px;margin-bottom:28px;line-height:1.03;letter-spacing:-.04em}.hero-subtitle{font-size:clamp(1.15rem,2vw,1.65rem);color:#e3edf7;max-width:800px}.hero-body{max-width:700px;color:#b7c9da;font-size:1.08rem;margin-bottom:32px}.hero .stats{max-width:760px;margin-top:48px;border-top:1px solid #ffffff40;padding-top:26px;text-align:left;grid-template-columns:repeat(3,1fr)}.hero .stats strong{font-size:1.9rem;color:white}.hero .stats span{color:#b7c9da;font-size:.85rem}.media-toggle{position:absolute;bottom:18px;right:24px;border:1px solid #ffffff60;border-radius:4px;background:#04101fbb;color:#fff;padding:8px 14px;font-size:.85rem}
.feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;padding:48px 64px}.feature+.feature{border-top:1px solid var(--line)}.feature h3{font-size:2rem}.feature p{font-size:1.1rem}.feature img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.feature.reverse img{order:-1}.badge{display:inline-block;padding:5px 14px;border-radius:20px;background:#e9f2fd;color:var(--blue);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}.card{padding:32px;border:1px solid var(--line);background:white;border-radius:12px;transition:transform .2s ease}.card:hover{transform:translateY(-4px)}.card-index{color:var(--blue);font-size:1.2rem;font-weight:700;display:block;margin-bottom:24px}.card p{margin-bottom:0}.card ul{margin:20px 0 0;padding-left:20px}.card li{margin-bottom:8px;color:#434f60}.material-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.material{color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:10px;overflow:hidden}.material img{width:100%;aspect-ratio:4/3;object-fit:cover}.material h3{padding:20px 12px;margin:0;font-size:1rem;text-align:center}.filmstrip{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;gap:20px;padding:20px 4px 32px}.filmstrip .gallery-item{flex:0 0 clamp(180px,26vw,280px);scroll-snap-align:center}.gallery-item{display:block;border-radius:10px;overflow:hidden;background:#e0e5eb}.gallery-item img{aspect-ratio:1;object-fit:cover;width:100%;transition:transform .2s ease}.gallery-item:hover img{transform:scale(1.025)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.gallery-grid .gallery-item{content-visibility:auto;contain-intrinsic-size:auto 270px}.blue{background:var(--blue);color:white}.blue p{color:#d5e4f8}.blue .card{background:#ffffff0b;border-color:#ffffff35}.blue .card-index{color:var(--accent)}.blue .card h3{color:#fff}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;text-align:center}.stats strong{display:block;font-size:clamp(1.8rem,3vw,2.6rem);color:var(--blue);line-height:1.2;letter-spacing:-.03em}.stats span{display:block;margin-top:8px}.stats p{font-size:.9rem;margin-top:12px}.blue .stats strong{color:white}.cta{text-align:center;background:var(--surface)}.cta .section-heading{margin-bottom:28px}.process{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding:0;text-align:center}.process span{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--blue);color:white;font-size:1.8rem;font-weight:700;border-radius:50%;margin-bottom:24px}.process h3{font-size:1.3rem}.industry-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.industry-grid li{padding:28px;border:1px solid var(--line);border-radius:8px;text-align:center;font-weight:700}.prose{max-width:850px;margin:auto;font-size:1.15rem;line-height:1.8}blockquote{margin:auto;max-width:900px;border:1px solid #ffffff40;border-radius:12px;background:#ffffff0a;padding:40px;font-size:1.35rem;line-height:1.8;font-style:italic}
footer{background:#10151c;color:white;padding:64px 32px 20px}footer h2{font-size:1.4rem}footer h3{font-size:1rem}footer p,footer a{color:#afb8c4;font-size:.9rem}footer a{display:block;text-decoration:none;margin-bottom:8px;overflow-wrap:anywhere}footer a:hover{text-decoration:underline}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1.2fr 1fr;gap:40px}.footer-tagline{color:var(--accent)}.copyright{text-align:center;border-top:1px solid #ffffff20;padding-top:24px;margin-top:40px;font-size:.8rem}
.quote-fallback{padding:40px;max-width:720px;margin:40px auto}dialog{border:0;border-radius:14px;max-height:90svh;padding:36px;color:var(--ink);box-shadow:0 20px 70px #0004}dialog::backdrop{background:#04101fbb}dialog.quote-dialog{width:min(720px,calc(100% - 32px));overflow-y:auto}.quote-dialog .quote-fallback{padding:0;margin:0}.quote-dialog h2{font-size:1.8rem;padding-right:32px}.close{position:absolute;top:12px;right:14px;background:transparent;border:0;font-size:2rem;line-height:1;width:44px;height:44px;color:inherit}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}fieldset{border:0;padding:0;margin:0;min-width:0}label{display:block;font-size:.9rem;font-weight:700;margin-bottom:18px}input:not([type=file]),textarea{display:block;width:100%;border:1px solid #acb8c7;border-radius:5px;padding:10px 12px;background:white;color:var(--ink);margin-top:6px}input[type=file]{display:block;max-width:100%;font-size:.875rem;margin-top:10px}textarea{resize:vertical}.hint{font-size:.85rem}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.file-list{padding:0;list-style:none;font-size:.85rem}.file-list li{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:8px 0;overflow-wrap:anywhere}.file-list button{background:none;border:0;color:var(--blue);padding:8px}#quote-status{margin:16px 0 0}#quote-status[data-error]{color:#ae2020}#lightbox{width:min(1100px,calc(100% - 24px));background:#0c1520;color:white;padding:55px 20px 18px}#lightbox-image{width:100%;height:calc(80svh - 100px);object-fit:contain}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.lightbox-controls button{border:1px solid #fff5;background:transparent;color:white;border-radius:4px;padding:8px 12px}.not-found{padding:180px 32px 100px;background:var(--navy);color:white;min-height:70svh}.not-found p{color:#cad9ec}body.modal-open{overflow:hidden}
.site-header.past-hero{background:var(--navy)}
@media(prefers-reduced-motion:no-preference){.hero-content{animation:hero-in .55s ease-out both}@keyframes hero-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}
@media(max-width:1050px){nav{gap:16px}.nav-container{padding-inline:20px}.brand span{font-size:.8rem}.feature{gap:48px;padding:40px 24px}.material-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.nav-container{flex-wrap:wrap}.menu-toggle:not([hidden]){display:block}.js nav{display:none}.js nav.is-open{display:flex}nav{width:100%;flex-wrap:wrap;padding:14px 0;gap:18px}.site-header:has(.is-open){background:var(--navy)}.hero-content{padding:160px 28px 80px}.hero .stats{gap:16px}.hero .stats strong{font-size:1.5rem}.section{padding:64px 24px}.feature{padding:32px 0;gap:32px}.process{grid-template-columns:repeat(3,1fr)}.industry-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.hero-content{padding-inline:20px}h1{font-size:2.7rem}.hero .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hero .stats strong{font-size:1.2rem}.hero .stats span{font-size:.75rem}.eyebrow{font-size:.72rem}.section{padding:52px 20px}.section-heading{margin-bottom:32px}.feature{grid-template-columns:1fr}.feature.reverse img{order:0}.feature img{max-height:280px}.feature h3{font-size:1.7rem}.material-grid,.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.process{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.industry-grid li{padding:20px 10px}blockquote{padding:24px;font-size:1.1rem}.form-grid{grid-template-columns:1fr}.quote-fallback{padding:24px}dialog{padding:28px 20px}.lightbox-controls{font-size:.85rem}.lightbox-controls button{padding:8px}.stats{gap:24px}.actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
