:root { --navy-950:#071c32; --navy-800:#103b60; --blue-700:#17649c; --blue-600:#1f78b5; --blue-100:#e7f2f8; --blue-050:#f5f9fc; --white:#fff; --ink:#132b3e; --muted:#587082; --line:#d5e0e7; --line-dark:rgba(255,255,255,.22); --signal:#43b9df; --ease:cubic-bezier(.2,.8,.2,1); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--white); font:16px/1.75 Aptos,"Segoe UI Variable","Noto Sans",sans-serif; } a { color:inherit; text-decoration:none; } a:focus-visible,button:focus-visible { outline:3px solid var(--signal); outline-offset:3px; } .skip-link { position:fixed; left:12px; top:-100px; z-index:99; padding:8px 12px; background:var(--white); color:var(--navy-950); } .skip-link:focus { top:12px; } .container { width:min(1240px,calc(100% - 48px)); margin-inline:auto; }.utility-bar { background:var(--navy-950); color:rgba(255,255,255,.72); font-size:12px; }.utility-inner { min-height:34px; display:flex; justify-content:space-between; align-items:center; gap:24px; }.utility-inner p { margin:0; }.utility-inner div { display:flex; gap:20px; }.utility-inner a:hover,.footer a:hover { color:var(--signal); }.site-header { position:sticky; top:0; z-index:10; background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); }.nav { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:20px; }.brand { display:inline-flex; align-items:center; gap:10px; color:var(--navy-950); font-size:22px; font-weight:800; line-height:.85; letter-spacing:.03em; }.brand small { display:block; margin-top:7px; color:var(--blue-700); font-size:8px; letter-spacing:.17em; }.brand-mark { width:29px; aspect-ratio:1; border:2px solid var(--blue-700); border-radius:50%; background:radial-gradient(circle,var(--white) 0 21%,var(--blue-700) 23% 39%,var(--white) 41% 57%,var(--blue-700) 59% 70%,var(--white) 72%); }.nav-links { display:flex; align-items:center; gap:20px; color:#405d70; font-size:13px; }.nav-links a { min-height:44px; display:inline-flex; align-items:center; border-bottom:1px solid transparent; }.nav-links a:hover { color:var(--blue-700); border-color:var(--blue-700); }.quote-link,.button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:0 16px; border:1px solid transparent; border-radius:4px; font-size:14px; font-weight:750; transition:transform .2s var(--ease),background .2s var(--ease); }.quote-link,.button-primary { color:var(--white); background:var(--blue-700); }.quote-link:hover,.button-primary:hover { background:var(--navy-800); transform:translateY(-1px); }.menu-toggle { display:none; }.hero { overflow:hidden; border-bottom:1px solid var(--line); background:linear-gradient(rgba(23,100,156,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,100,156,.035) 1px,transparent 1px),#f8fcfe; background-size:56px 56px; }.hero-grid { min-height:560px; display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.64fr); align-items:center; gap:96px; }.hero-copy { padding:72px 0; }.eyebrow { margin:0 0 18px; color:var(--blue-700); font-size:11px; font-weight:800; letter-spacing:.12em; }.hero h1,h2,h3,p { margin-top:0; }.hero h1 { max-width:650px; margin-bottom:26px; font-size:clamp(42px,5.5vw,72px); line-height:1.05; letter-spacing:-.035em; }.hero-lede,.section-heading>p,.company-grid>p { max-width:590px; margin-bottom:32px; color:var(--muted); }.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }.button-secondary { border-color:#b9cad5; color:var(--navy-800); background:var(--white); }.hero-facts { display:grid; grid-template-columns:1fr 1fr; max-width:520px; margin:42px 0 0; border-top:1px solid var(--line); }.hero-facts div { padding:17px 17px 0 0; }.hero-facts div+div { padding-left:17px; border-left:1px solid var(--line); }.hero-facts dt { color:var(--muted); font-size:12px; }.hero-facts dd { margin:6px 0 0; color:var(--navy-800); font-size:14px; font-weight:750; }.technical-drawing { position:relative; min-height:400px; overflow:hidden; border:1px solid #c9d9e4; background:linear-gradient(90deg,rgba(23,100,156,.055) 1px,transparent 1px),linear-gradient(rgba(23,100,156,.055) 1px,transparent 1px),var(--blue-050); background-size:34px 34px; }.technical-drawing::after { content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:rgba(23,100,156,.2); }.drawing-kicker,.drawing-index { position:absolute; left:20px; color:var(--blue-700); font-size:9px; font-weight:800; letter-spacing:.12em; }.drawing-kicker { top:18px; }.drawing-index { bottom:18px; }.drawing-disc { position:absolute; top:52%; left:50%; width:min(224px,50vw); aspect-ratio:1; transform:translate(-50%,-50%); border:1px solid var(--blue-700); border-radius:50%; background:radial-gradient(circle,var(--white) 0 28%,rgba(231,242,248,.94) 29% 42%,var(--white) 43% 58%,rgba(31,120,181,.1) 59% 60%,var(--white) 61%); }.drawing-disc i { position:absolute; border:1px solid rgba(23,100,156,.32); border-radius:50%; }.drawing-disc i:nth-child(1){inset:16%;}.drawing-disc i:nth-child(2){inset:31%;}.drawing-disc i:nth-child(3){inset:46%;background:var(--blue-700);}.axis { position:absolute; z-index:2; background:var(--blue-700); }.axis span { position:absolute; color:var(--blue-700); font-size:9px; font-weight:750; letter-spacing:.05em; white-space:nowrap; }.axis-x { width:260px; max-width:70%; left:50%; top:77%; transform:translateX(-50%); height:1px; }.axis-x::before,.axis-x::after { content:""; position:absolute; top:-4px; height:9px; width:1px; background:var(--blue-700); }.axis-x::before{left:0}.axis-x::after{right:0}.axis-x span{right:0;top:8px}.axis-y { height:238px; max-height:58%; left:15%; top:22%; width:1px; }.axis-y span { top:50%; left:9px; transform:rotate(-90deg) translateX(-50%); transform-origin:left; }.drawing-note { position:absolute; z-index:3; display:grid; gap:3px; padding-left:9px; border-left:2px solid var(--signal); color:var(--muted); font-size:10px; }.drawing-note b { color:var(--navy-800); font-size:9px; letter-spacing:.07em; }.note-top{top:24%;right:6%}.note-bottom{right:8%;bottom:18%}.assurance { border-bottom:1px solid var(--line); }.assurance-grid { display:grid; grid-template-columns:repeat(3,1fr); }.assurance-grid div { min-height:115px; padding:28px 32px; border-right:1px solid var(--line); }.assurance-grid div:first-child { border-left:1px solid var(--line); }.assurance-grid strong,.assurance-grid span { display:block; }.assurance-grid strong { color:var(--navy-800); }.assurance-grid span { color:var(--muted); font-size:13px; }.section { padding:100px 0; }.section-heading { display:grid; grid-template-columns:1fr .72fr; gap:60px; align-items:end; margin-bottom:48px; }.section h2,.contact-section h2 { margin-bottom:0; font-size:clamp(30px,3.6vw,48px); line-height:1.16; letter-spacing:-.025em; }.company-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; border-top:1px solid var(--line); padding-top:28px; }.ruled-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }.ruled-list li { padding:15px 0; border-bottom:1px solid var(--line); color:var(--navy-800); }.product-section { background:var(--blue-050); }.product-directory { border-top:1px solid var(--line); }.product-row { display:grid; grid-template-columns:60px 1fr auto 28px; align-items:center; gap:24px; min-height:120px; border-bottom:1px solid var(--line); transition:padding .2s var(--ease),background .2s var(--ease); }.product-row:hover { padding-inline:14px; background:var(--white); }.product-number,.product-tags { color:var(--blue-700); font-size:11px; font-weight:800; letter-spacing:.08em; }.product-row h3 { margin:0 0 6px; color:var(--navy-800); font-size:21px; }.product-row p,.publication-card p,.empty-panel p { margin:0; color:var(--muted); font-size:14px; }.arrow { color:var(--blue-700); font-size:23px; }.material-section { background:var(--blue-050); }.material-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }.text-link { display:inline-flex; gap:10px; align-items:center; margin-top:24px; padding-bottom:5px; border-bottom:1px solid var(--blue-700); color:var(--blue-700); font-size:14px; font-weight:750; }.empty-panel { min-height:250px; display:grid; align-content:center; padding:36px; border:1px solid var(--line); background:var(--white); }.empty-icon { color:var(--blue-700); font-size:32px; }.empty-panel h3 { margin:10px 0; color:var(--navy-800); }.publication-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.publication-card,.publication-empty { min-height:196px; padding:27px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.publication-card:first-child,.publication-empty { border-left:1px solid var(--line); }.publication-card h3 { margin:30px 0 9px; color:var(--navy-800); font-size:19px; }.publication-card a { color:var(--blue-700); font-size:13px; font-weight:750; }.publication-empty { grid-column:1/-1; display:grid; align-content:center; background:var(--blue-050); }.publication-empty h3 { margin:8px 0; color:var(--navy-800); }.contact-section { padding:82px 0; color:var(--white); background:var(--navy-950); }.contact-grid { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:end; }.contact-section h2 { max-width:720px; color:var(--white); }.contact-section p:not(.eyebrow) { margin:17px 0 0; color:rgba(255,255,255,.7); }.eyebrow-light { color:#8bcde6; }.contact-actions { display:grid; gap:14px; justify-items:start; }.button-light { color:var(--navy-800); background:var(--white); }.contact-phone { color:#a6d9ec; font-size:15px; font-weight:750; }.footer { padding:63px 0 0; color:rgba(255,255,255,.66); background:#061728; }.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:45px; }.brand-footer { color:var(--white); }.footer p { max-width:300px; margin:24px 0 0; font-size:13px; }.footer-grid>div:not(:first-child) { display:grid; align-content:start; gap:13px; font-size:13px; }.footer b { margin-bottom:7px; color:var(--white); font-size:12px; }.copyright { margin-top:52px; padding:19px 0; border-top:1px solid var(--line-dark); color:rgba(255,255,255,.42); font-size:11px; }.reveal { animation:reveal .7s var(--ease) both; }@keyframes reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1080px){.nav-links{gap:12px;font-size:12px}.hero-grid{gap:48px}.footer-grid{gap:25px}} @media(max-width:780px){.container{width:min(100% - 32px,1240px)}.utility-inner p,.nav-links{display:none}.menu-toggle{display:inline-flex;min-height:44px;border:0;background:transparent;color:var(--navy-800);font:700 13px inherit}.nav-links.is-open{position:absolute;top:78px;left:0;right:0;display:grid;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--white)}.hero-grid,.section-heading,.company-grid,.material-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.hero-copy{padding:58px 0 16px}.technical-drawing{min-height:320px;margin-bottom:42px}.section{padding:76px 0}.assurance-grid{grid-template-columns:1fr}.assurance-grid div,.assurance-grid div:first-child{min-height:auto;border-left:0;border-right:0;border-bottom:1px solid var(--line)}.product-row{grid-template-columns:40px 1fr 22px;gap:12px;padding:20px 0}.product-tags{display:none}.publication-grid{grid-template-columns:1fr}.publication-card,.publication-card:first-child{border-left:1px solid var(--line)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media(max-width:500px){.utility-inner{justify-content:flex-end}.utility-inner a:first-child{display:none}.quote-link{padding:0 10px;font-size:12px}.hero h1{font-size:40px}.hero-facts{grid-template-columns:1fr}.hero-facts div+div{padding-left:0;border-left:0}.axis-y,.drawing-note{display:none}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.publication-image{display:block;width:calc(100% + 54px);height:130px;object-fit:cover;margin:-27px -27px 18px}.image-unavailable{display:grid;place-items:center;min-height:92px;margin:-27px -27px 18px;background:linear-gradient(135deg,var(--blue-050),var(--blue-100));border-bottom:1px solid var(--line);color:var(--blue-700);font-size:10px;font-weight:800;letter-spacing:.1em}.image-unavailable span{padding:8px;border:1px solid currentColor}
