:root{--blue:#123e8a;--deep:#071f4e;--bright:#1d58bd;--red:#d7193f;--ink:#101728;--muted:#667085;--paper:#f3f6fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.sr-only{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}
.site-header{align-items:center;background:rgba(255,255,255,.97);display:grid;grid-template-columns:1fr auto 1fr;height:88px;padding:0 clamp(24px,5vw,78px);position:absolute;top:0;width:100%;z-index:20}.brand{align-items:center;display:flex;gap:12px;width:max-content}.brand-mark{align-items:center;background:var(--blue);color:#fff;display:flex;font-size:15px;font-weight:900;height:42px;justify-content:center;letter-spacing:-.06em;position:relative;transform:skew(-8deg);width:46px}.brand-mark:after{background:var(--red);bottom:0;content:"";height:5px;left:0;position:absolute;width:100%}.brand-copy{display:flex;flex-direction:column;line-height:.95}.brand strong{color:var(--deep);font-size:18px;letter-spacing:.13em}.brand small{color:var(--red);font-size:10px;font-weight:800;letter-spacing:.35em;margin-top:6px}.site-header nav{display:flex;gap:clamp(24px,3vw,48px)}.site-header nav a,.footer-links a{font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.site-header nav a{border-bottom:2px solid transparent;padding:34px 0 30px}.site-header nav a:hover{border-color:var(--red);color:var(--blue)}.header-cta{border:2px solid var(--blue);font-size:11px;font-weight:800;justify-self:end;letter-spacing:.13em;padding:14px 20px;text-transform:uppercase}.header-cta:hover{background:var(--blue);color:#fff}.menu-toggle{background:none;border:0;display:none;padding:9px}.menu-toggle>span:not(.sr-only){background:var(--deep);display:block;height:2px;margin:5px;width:24px}
.hero{align-items:center;background:linear-gradient(90deg,rgba(7,31,78,.99),rgba(7,31,78,.9) 44%,rgba(7,31,78,.52)),repeating-linear-gradient(135deg,#254a78 0 2px,#172e50 2px 7px);color:#fff;display:flex;min-height:780px;overflow:hidden;padding:150px clamp(24px,8vw,130px) 90px;position:relative}.hero:before{background:linear-gradient(90deg,var(--red),transparent);content:"";height:4px;left:0;position:absolute;top:88px;width:36%}.hero:after{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:54px 54px;content:"";inset:88px 0 0 52%;mask-image:linear-gradient(90deg,transparent,#000);position:absolute}.hero-content{max-width:900px;position:relative;z-index:4}.eyebrow,.kicker{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.35em;margin:0 0 22px;text-transform:uppercase}.eyebrow{color:#fff;padding-left:54px;position:relative}.eyebrow:before{background:var(--red);content:"";height:3px;left:0;position:absolute;top:6px;width:36px}.hero h1{font-size:clamp(58px,7.8vw,116px);font-weight:800;letter-spacing:-.055em;line-height:.84;margin:0}.hero-subtitle{font-size:clamp(18px,2vw,29px);font-weight:300;letter-spacing:.03em;margin:36px 0 42px}.hero-subtitle b{color:var(--red);padding:0 12px}.hero-actions{align-items:center;display:flex;gap:32px}.button{align-items:center;border:0;cursor:pointer;display:inline-flex;font-size:11px;font-weight:900;gap:18px;justify-content:center;letter-spacing:.18em;padding:18px 24px;text-transform:uppercase}.button-red{background:var(--red);color:#fff}.button-red:hover{background:#b60d30}.button-blue{background:var(--blue);color:#fff}.button-blue:hover{background:var(--deep)}.text-link{border-bottom:1px solid rgba(255,255,255,.55);font-size:13px;font-weight:700;padding:9px 0}.text-link span{color:var(--red);font-size:18px;padding-left:9px}.scroll-cue{align-items:center;bottom:28px;display:flex;flex-direction:column;font-size:9px;gap:7px;letter-spacing:.25em;position:absolute;right:50%;text-transform:uppercase;z-index:5}.scroll-cue i{color:var(--red);font-size:20px;font-style:normal}
.hero-circles{inset:88px 0 0 48%;overflow:hidden;pointer-events:none;position:absolute;z-index:3}.photo-circle,.gallery-circle{background-color:#193964;background-position:center;background-size:cover;border:5px solid rgba(255,255,255,.42);border-radius:50%;box-shadow:0 14px 50px rgba(0,0,0,.22);overflow:hidden;position:absolute;transition:opacity .7s ease,transform 9s ease}.photo-circle span,.gallery-circle span{align-items:center;color:rgba(255,255,255,.54);display:flex;font-size:9px;font-weight:800;height:100%;justify-content:center;letter-spacing:.1em;text-align:center;text-transform:uppercase}.photo-circle.has-photo,.gallery-circle.has-photo{transform:scale(1.035)}.photo-circle.is-changing,.gallery-circle.is-changing{opacity:.3}.circle-large{height:430px;right:-40px;top:90px;width:430px}.circle-medium{height:260px;right:310px;top:330px;width:260px}.circle-small{height:170px;right:170px;top:38px;width:170px}
.capabilities{padding:100px clamp(24px,7vw,110px) 110px}.section-heading{margin:0 auto 60px;max-width:760px;text-align:center}.section-heading h2,.photo-copy h2{color:var(--deep);font-size:clamp(36px,4.3vw,62px);letter-spacing:-.04em;line-height:1;margin:0 0 20px}.section-heading>p:last-child,.photo-copy>p{color:var(--muted);font-size:17px;line-height:1.7}.capability-grid{display:grid;gap:1px;grid-template-columns:repeat(3,1fr);margin:auto;max-width:1200px}.capability-grid article{background:var(--paper);min-height:340px;padding:44px 38px;position:relative;transition:.25s ease}.capability-grid article:hover{background:var(--blue);color:#fff;transform:translateY(-8px)}.card-number{color:#9aa8bd;font-size:11px;font-weight:900;letter-spacing:.2em;position:absolute;right:28px;top:25px}.line-icon{height:58px;margin-bottom:42px;position:relative;width:70px}.tube-icon{border:4px solid var(--red);border-radius:50%;box-shadow:inset 0 0 0 9px var(--paper);width:58px}.shape-icon{border:4px solid var(--red);transform:skew(-12deg)}.cnc-icon{border:4px solid var(--red)}.cnc-icon:after,.cnc-icon:before{background:var(--red);content:"";position:absolute}.cnc-icon:before{height:4px;left:8px;right:8px;top:17px}.cnc-icon:after{bottom:8px;left:31px;top:8px;width:4px}.capability-grid h3{color:var(--deep);font-size:24px;margin:0 0 16px}.capability-grid p{color:var(--muted);font-size:15px;line-height:1.7;margin:0}.capability-grid article:hover h3,.capability-grid article:hover p,.capability-grid article:hover .card-number{color:#fff}
.about{background:var(--deep);color:#fff;display:grid;gap:90px;grid-template-columns:.75fr 1.25fr;padding:110px clamp(24px,8vw,130px);position:relative}.about:after{background:var(--red);content:"";height:6px;left:0;position:absolute;top:0;width:32%}.light{color:#96b8f3}.about h2{font-size:clamp(42px,4.8vw,70px);letter-spacing:-.045em;line-height:1.05;margin:0}.about-copy .lead{font-size:23px;line-height:1.55;margin:0 0 28px}.about-copy>p:not(.lead):not(.standard-note){color:#c5d0e2;line-height:1.75}.material-list{border-bottom:1px solid rgba(255,255,255,.16);border-top:1px solid rgba(255,255,255,.16);display:grid;gap:34px;grid-template-columns:1fr 1fr;margin:38px 0 24px;padding:30px 0}.material-list h3{font-size:13px;letter-spacing:.1em;margin:0 0 10px;text-transform:uppercase}.material-list p{color:#aebdd3;font-size:14px;line-height:1.7;margin:0}.standard-note{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.photos{align-items:center;display:grid;gap:70px;grid-template-columns:.8fr 1.2fr;padding:110px clamp(24px,8vw,130px)}.photo-copy>p{margin-bottom:32px}.gallery-panel{background:var(--deep);color:#fff;display:block;min-height:470px;overflow:hidden;padding:0 0 38px;position:relative}.gallery-panel:after{background:var(--red);content:"";height:8px;left:0;position:absolute;right:64%;top:0}.gallery-grid{display:grid;gap:2px;grid-template-columns:1.25fr .75fr;grid-template-rows:160px 160px;margin-bottom:32px}.gallery-cell{background:repeating-linear-gradient(135deg,#345684 0 3px,#162f53 3px 10px);overflow:hidden;position:relative}.gallery-main{grid-row:1/3}.gallery-circle{border-width:3px;height:94px;left:50%;top:50%;transform:translate(-50%,-50%);width:134px}.gallery-circle.has-photo{transform:translate(-50%,-50%) scale(1.04)}.main-rotate{height:156px;width:220px}.gallery-caption{display:flex;flex-direction:column;padding:0 38px}.gallery-caption small{color:#94acd0;font-size:9px;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.gallery-caption strong{font-size:21px;margin:8px 0 16px}.gallery-caption b{font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.quote{background:var(--paper);display:grid;gap:80px;grid-template-columns:.75fr 1.25fr;padding:110px clamp(24px,8vw,130px)}.quote-intro h2{color:var(--deep);font-size:clamp(44px,5vw,72px);letter-spacing:-.05em;line-height:.98;margin:0 0 26px}.quote-intro>p:not(.kicker){color:var(--muted);font-size:17px;line-height:1.7}.quote-intro>a{color:var(--blue);display:inline-block;font-size:15px;font-weight:800;margin-top:18px}.quote-form{background:#fff;box-shadow:0 24px 70px rgba(16,31,60,.12);display:flex;flex-direction:column;gap:20px;padding:44px}.form-heading{align-items:baseline;border-bottom:1px solid #dfe5ef;display:flex;justify-content:space-between;margin-bottom:4px;padding-bottom:22px}.form-heading span{color:var(--deep);font-size:28px;font-weight:800}.form-heading small{color:var(--muted);font-size:10px}.field-row{display:grid;gap:18px;grid-template-columns:1fr 1fr}label{color:var(--deep);display:flex;flex-direction:column;font-size:10px;font-weight:900;gap:8px;letter-spacing:.09em;text-transform:uppercase}input,textarea{background:#f8f9fc;border:1px solid #cad3df;border-radius:0;color:var(--ink);font:16px Arial,sans-serif;outline:none;padding:14px;text-transform:none}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,62,138,.12)}textarea{resize:vertical}.quote-form .button{align-self:flex-start}.honeypot{left:-10000px;position:absolute}.form-notice{display:none}.form-notice.success,.form-notice.error{border-left:4px solid var(--blue);display:block;padding:12px 14px}.form-notice.error{border-color:var(--red)}
footer{align-items:center;background:#061735;color:#fff;display:grid;gap:30px;grid-template-columns:1fr auto 1fr;padding:46px clamp(24px,6vw,90px)}.footer-brand strong{color:#fff}footer>p{color:#94a4bf;font-size:11px;letter-spacing:.05em;text-align:center}.footer-links{display:flex;gap:24px;justify-self:end}footer>small{color:#687b9b;font-size:10px;grid-column:1/-1;text-align:center}
@media(max-width:920px){.site-header{grid-template-columns:1fr auto auto}.site-header nav{background:#fff;box-shadow:0 15px 30px rgba(7,31,78,.14);display:none;flex-direction:column;gap:0;left:0;padding:12px 24px 22px;position:absolute;right:0;top:76px}.site-header nav.is-open{display:flex}.site-header nav a{padding:14px 0}.menu-toggle{display:block}.hero{min-height:700px}.hero-circles{left:34%;opacity:.62}.capability-grid{grid-template-columns:1fr}.capability-grid article{min-height:250px}.about,.photos,.quote{gap:48px;grid-template-columns:1fr}footer{grid-template-columns:1fr;text-align:center}.footer-brand,.footer-links{justify-self:center}}
@media(max-width:600px){.site-header{height:76px;padding:0 18px}.header-cta{font-size:9px;padding:11px}.brand-mark{height:36px;width:38px}.brand strong{font-size:13px}.brand small{font-size:8px}.hero{min-height:660px;padding:130px 22px 70px}.hero:before{top:76px}.hero h1{font-size:50px}.hero-subtitle{line-height:1.5}.hero-actions{align-items:flex-start;flex-direction:column}.scroll-cue{display:none}.circle-large{height:330px;right:-110px;top:120px;width:330px}.circle-medium{height:190px;right:155px;top:385px;width:190px}.circle-small{height:130px;right:90px;top:50px;width:130px}.capabilities,.about,.photos,.quote{padding:76px 22px}.about h2,.quote-intro h2,.photo-copy h2{font-size:42px}.material-list,.field-row{grid-template-columns:1fr}.quote-form{padding:28px 20px}.form-heading{align-items:flex-start;flex-direction:column;gap:7px}.gallery-panel{min-height:420px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 150px}.gallery-main{grid-column:1/-1;grid-row:auto}.main-rotate{height:130px;width:190px}.gallery-circle{height:82px;width:112px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
