:root { --navy:#102033; --navy-deep:#0b1726; --red:#ee3444; --paper:#f4f3ef; --white:#fffefa; --ink:#152235; --muted:#737b84; --line:rgba(21,34,53,.16); --display:"Space Grotesk",system-ui,sans-serif; --body:"DM Sans",system-ui,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:clip; }
body { background:var(--paper); color:var(--ink); font-family:var(--body); margin:0; overflow-x:clip; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--display); font-weight:500; letter-spacing:-.06em; }
.site-header { align-items:center; background:var(--white); box-shadow:0 5px 18px rgba(15,31,49,.06); display:flex; height:86px; justify-content:space-between; padding:0 clamp(22px,5vw,76px); position:sticky; top:0; z-index:50; }
.brand { display:inline-flex; flex:0 0 auto; width:180px; }
.brand__crop { display:block; height:53px; overflow:hidden; position:relative; width:180px; }
.brand__crop img { height:180px; left:0; max-width:none; position:absolute; top:-64px; width:180px; }
.desktop-nav { display:flex; gap:clamp(16px,2.8vw,44px); margin-left:auto; margin-right:clamp(24px,3.5vw,60px); }
.desktop-nav a,.header-contact,.footer__links a { font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.desktop-nav a,.header-contact { font-size:12px; }
.desktop-nav a { align-items:center; display:inline-flex; min-height:48px; padding:10px 6px; }
.desktop-nav a { color:#646c76; transition:color .2s ease; }
.desktop-nav a[aria-current="page"] { color:var(--red); position:relative; }
.desktop-nav a[aria-current="page"]::after { background:var(--red); bottom:3px; content:""; height:2px; left:6px; position:absolute; right:6px; }
.desktop-nav a:hover,.footer__links a:hover { color:var(--red); }
.header-contact { align-items:center; background:var(--navy); color:#fff; display:flex; gap:25px; padding:17px 18px 17px 20px; transition:background .2s ease,transform .2s ease; }
.header-contact:hover { background:var(--red); transform:translateY(-2px); }
.header-contact span,.button span { font-size:18px; font-weight:400; line-height:.5; }
.menu-toggle,.mobile-nav { display:none; }
.hero { background:var(--navy); color:#fff; isolation:isolate; min-height:clamp(600px,calc(100vh - 86px),790px); overflow:hidden; position:relative; }
.hero__slides,.hero__slide { inset:0; position:absolute; }
.hero__slide { background-position:center; background-repeat:no-repeat; background-size:cover; opacity:0; transition:opacity .8s ease; z-index:0; }
.hero__slide:not(.is-active) { pointer-events:none; }
.hero__slide--products { background-image:url("img/site/hero-products.png"); }
.hero__slide--factory { background-image:url("img/site/hero-factory.png"); }
.hero__slide.is-active { opacity:1; z-index:1; }
.hero__slide::before { background:linear-gradient(90deg,rgba(5,12,22,.94) 0%,rgba(8,18,31,.8) 34%,rgba(8,18,31,.2) 70%,rgba(8,18,31,.08) 100%),linear-gradient(0deg,rgba(5,12,22,.48),transparent 36%); content:""; inset:0; pointer-events:none; position:absolute; }
.hero__copy,.product-grid,.product-card,.capabilities__copy,.company__copy { min-width:0; }
.hero__copy { display:flex; flex-direction:column; justify-content:center; max-width:730px; min-height:inherit; padding:clamp(80px,9vw,145px) clamp(22px,9vw,140px); position:relative; z-index:3; }
.eyebrow,.section-label,.capabilities__tag,.contact__details small,.spec-card__top,.news-card small { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow { align-items:center; color:#aab6c3; display:flex; gap:11px; }
.eyebrow span { background:var(--red); border-radius:50%; box-shadow:0 0 0 5px rgba(238,52,68,.16); height:6px; width:6px; }
.hero h1 { font-size:clamp(60px,7.2vw,104px); line-height:.92; margin:36px 0 32px; }
.hero h1 em { color:var(--red); font-style:normal; }
.hero__intro { color:#c3ccd6; font-size:clamp(16px,1.6vw,20px); line-height:1.48; max-width:440px; }
.hero__buttons { align-items:center; display:flex; gap:32px; margin-top:43px; }
.hero__controls { align-items:center; bottom:30px; display:flex; gap:16px; position:absolute; right:clamp(22px,9vw,140px); z-index:4; }
.hero__arrow { align-items:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.38); color:#fff; cursor:pointer; display:flex; font-size:21px; height:42px; justify-content:center; transition:background .2s ease,border-color .2s ease,transform .2s ease; width:42px; }
.hero__arrow:hover { background:var(--red); border-color:var(--red); transform:translateY(-2px); }
.hero__dots { align-items:center; display:flex; gap:8px; }
.hero__dot { background:rgba(255,255,255,.42); border:0; border-radius:50%; cursor:pointer; height:7px; padding:0; transition:background .2s ease,transform .2s ease; width:7px; }
.hero__dot.is-active { background:var(--red); transform:scale(1.35); }
.button { align-items:center; display:inline-flex; font-size:11px; font-weight:700; gap:30px; letter-spacing:.11em; padding:20px 22px; text-transform:uppercase; transition:background .2s ease,color .2s ease,transform .2s ease; }
.button:hover { transform:translateY(-3px); }
.button--red { background:var(--red); color:#fff; }
.button--red:hover { background:#d82939; }
.button--light { border:1px solid rgba(255,255,255,.4); color:#fff; }
.button--light:hover { background:#fff; color:var(--navy); }
.link-arrow { align-items:center; display:inline-flex; font-size:13px; font-weight:700; gap:24px; letter-spacing:.09em; text-transform:uppercase; }
.link-arrow span { color:var(--red); font-size:27px; font-weight:400; transition:transform .2s ease; }
.link-arrow:hover span { transform:translateX(5px); }
.link-arrow--light { color:#e5eaf0; }
.proof-bar { background:var(--white); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); padding:31px clamp(22px,9vw,140px); }
.proof-bar div { align-items:center; border-right:1px solid var(--line); display:flex; gap:17px; padding:6px 25px 6px 0; }
.proof-bar div+div { padding-left:25px; }
.proof-bar div:last-child { border:0; }
.proof-bar strong { font-family:var(--display); font-size:clamp(25px,2.6vw,37px); font-weight:500; letter-spacing:-.07em; white-space:nowrap; }
.proof-bar div:nth-child(2) strong { color:var(--red); }
.proof-bar span { color:#737b84; font-size:11px; letter-spacing:.08em; line-height:1.45; text-transform:uppercase; }
.section { padding:clamp(95px,11vw,170px) clamp(22px,9vw,140px); }
.section-intro { display:grid; gap:7vw; grid-template-columns:1.2fr .8fr; margin-bottom:72px; }
.section-label { color:#777f87; margin-bottom:34px; }
h2 { font-size:clamp(46px,5.1vw,78px); line-height:.96; margin:0; }
h2 span { color:#93999d; }
.section-note { align-self:end; color:#6e767e; font-size:16px; line-height:1.58; margin-bottom:4px; max-width:370px; }
.product-grid { display:grid; gap:15px; grid-template-columns:repeat(3,1fr); }
.product-card { background:#e8e8e3; border-radius:14px; display:flex; flex-direction:column; min-height:0; overflow:hidden; position:relative; transition:box-shadow .25s ease,transform .25s ease; }
.product-card:hover { box-shadow:0 18px 38px rgba(16,32,51,.13); transform:translateY(-6px); }
.product-card--hero { grid-row:span 2; }
.product-card__image { background:#fff; height:300px; overflow:hidden; }
.product-card--hero .product-card__image { height:490px; }
.product-card__image img { height:100%; object-fit:cover; transition:transform .5s ease; width:100%; }
.product-card:hover .product-card__image img { transform:scale(1.035); }
.product-card__body { display:grid; gap:12px 20px; grid-template-columns:1fr 30px; min-height:153px; padding:23px 25px 26px; }
.product-card__body small,.spec-card__top small { color:var(--red); font-size:10px; font-weight:700; letter-spacing:.14em; }
.product-card h3 { font-size:clamp(21px,1.7vw,26px); line-height:1.04; margin:0; }
.product-card__body p { color:#737a81; font-size:12px; line-height:1.45; margin:14px 0 0; }
.product-card .card-arrow { align-self:start; color:var(--red); font-size:26px; grid-column:2; grid-row:1 / span 2; }
.product-card--spec { background:var(--navy); color:#fff; justify-content:space-between; min-height:260px; padding:27px 28px 26px; }
.spec-card__top { color:#8494a9; display:flex; justify-content:space-between; }
.spec-card__top small { color:var(--red); }
.product-card--spec h3 { font-size:29px; margin:0 0 14px; }
.product-card--spec p { color:#aab6c3; font-size:13px; line-height:1.55; margin:0; max-width:370px; }
.product-card--spec .card-arrow { bottom:24px; position:absolute; right:28px; }
.capabilities { background:var(--navy); color:#fff; display:grid; gap:clamp(45px,8vw,130px); grid-template-columns:1.02fr .98fr; }
.capabilities__image { min-height:630px; overflow:hidden; position:relative; }
.capabilities__image img { height:100%; object-fit:cover; width:100%; }
.capabilities__image::after { background:linear-gradient(0deg,rgba(7,16,27,.62),transparent 45%); content:""; inset:0; pointer-events:none; position:absolute; }
.capabilities__tag { bottom:25px; color:#d9e0e7; left:25px; line-height:1.6; position:absolute; z-index:1; }
.section-label--light { color:#9daabd; }
.capabilities__copy { align-self:center; max-width:580px; }
.capabilities h2 { margin-bottom:29px; }
.capabilities h2 em { color:var(--red); font-style:normal; }
.capabilities__lead { color:#bdc6d1; font-size:17px; line-height:1.55; max-width:430px; }
.feature-list { border-top:1px solid rgba(255,255,255,.2); margin:48px 0 38px; }
.feature-list>div { border-bottom:1px solid rgba(255,255,255,.2); display:grid; gap:20px; grid-template-columns:27px 1fr; padding:18px 0; }
.feature-list>div>span { color:var(--red); font-family:var(--display); font-size:12px; }
.feature-list strong { font-family:var(--display); font-size:16px; font-weight:500; }
.feature-list p { color:#8494a9; font-size:12px; line-height:1.5; margin:7px 0 0; max-width:420px; }
.company { display:grid; gap:8vw; grid-template-columns:1fr 1fr; }
.company__copy { padding-top:0; }
.company__copy p { color:#626a73; font-size:17px; line-height:1.58; margin-bottom:20px; max-width:450px; }
.company__copy .link-arrow { margin-top:15px; }
.certifications { border-top:1px solid var(--line); display:grid; grid-column:1 / -1; grid-template-columns:repeat(4,1fr); margin-top:35px; }
.certifications div { border-right:1px solid var(--line); display:flex; flex-direction:column; gap:10px; padding:25px 22px 0 0; }
.certifications div+div { padding-left:22px; }
.certifications div:last-child { border:0; }
.certifications strong { font-family:var(--display); font-size:26px; font-weight:500; letter-spacing:-.06em; }
.certifications span { color:#7b8289; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.news { background:var(--white); }
.news__top { align-items:end; display:flex; justify-content:space-between; margin-bottom:68px; }
.news__top h2 { margin-top:0; }
.news-card { align-items:center; border-bottom:1px solid var(--line); border-top:1px solid var(--line); display:grid; gap:clamp(28px,7vw,110px); grid-template-columns:80px 1fr 30px; padding:36px 0; transition:padding .25s ease; }
.news-card:hover { padding-left:15px; padding-right:15px; }
.news-card__date { align-items:center; display:flex; gap:6px; }
.news-card__date strong { color:var(--red); font-family:var(--display); font-size:46px; font-weight:500; letter-spacing:-.08em; }
.news-card__date span { color:#757c83; font-size:9px; font-weight:700; letter-spacing:.1em; line-height:1.25; }
.news-card small { color:var(--red); }
.news-card h3 { font-size:clamp(24px,2.8vw,38px); line-height:1; margin:15px 0 17px; }
.news-card p { color:#747c84; font-size:13px; margin:0; }
.contact { background:var(--navy-deep); color:#fff; display:grid; gap:8vw; grid-template-columns:1.1fr .9fr; padding:clamp(95px,11vw,160px) clamp(22px,9vw,140px); }
.contact h2 { font-size:clamp(55px,6.8vw,98px); margin:34px 0 27px; }
.contact h2 em { color:var(--red); font-style:normal; }
.contact__copy>p:not(.eyebrow) { color:#bcc5d0; font-size:17px; line-height:1.55; margin-bottom:34px; max-width:390px; }
.contact__details { align-self:end; border-top:1px solid rgba(255,255,255,.2); display:grid; grid-template-columns:1fr 1fr; }
.contact__details div { border-bottom:1px solid rgba(255,255,255,.2); padding:23px 20px 23px 0; }
.contact__details div:nth-child(even) { padding-left:20px; }
.contact__details small { color:#8494a9; }
.contact__details p { color:#d5dce4; font-size:13px; line-height:1.55; margin:12px 0 0; }
.footer { background:#08121f; color:#cbd3de; padding:58px clamp(22px,9vw,140px) 23px; }
.footer__main { align-items:start; display:grid; gap:42px; grid-template-columns:1.15fr .7fr 1.15fr .9fr; }
.brand--footer { filter:grayscale(1) brightness(0) invert(1); opacity:.82; }
.footer__brand>p { color:#738298; font-size:13px; line-height:1.6; margin:4px 0 0; }
.footer__label { color:#718096; font-size:10px; font-weight:700; letter-spacing:.16em; margin:4px 0 22px; text-transform:uppercase; }
.footer__links { display:flex; flex-direction:column; gap:14px; }
.footer__links a,.footer__links span { color:#dce3ea; font-size:11px; line-height:1.4; }
.footer__links a:hover { color:var(--red); }
.contact-hero { background:var(--navy) url("img/site/hero-factory.png") center center / cover no-repeat; color:#fff; isolation:isolate; min-height:clamp(360px,50vh,520px); overflow:hidden; position:relative; }
.contact-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.96) 0%,rgba(8,18,31,.84) 40%,rgba(8,18,31,.24) 78%,rgba(8,18,31,.12) 100%),linear-gradient(0deg,rgba(5,12,22,.62),transparent 48%); content:""; inset:0; pointer-events:none; position:absolute; }
.contact-hero__copy { display:flex; flex-direction:column; justify-content:center; max-width:730px; min-height:inherit; padding:clamp(80px,9vw,145px) clamp(22px,9vw,140px); position:relative; z-index:1; }
.contact-hero h1 { font-size:clamp(60px,7.2vw,104px); line-height:.92; margin:36px 0 32px; }
.contact-hero h1 em { color:var(--red); font-style:normal; }
.contact-hero__intro { color:#c3ccd6; font-size:clamp(16px,1.6vw,20px); line-height:1.48; max-width:440px; }
.contact-main { display:grid; gap:8vw; grid-template-columns:.85fr 1.15fr; }
.contact-main__intro h2,.contact-map__heading h2 { font-size:clamp(52px,6vw,88px); line-height:.94; margin:34px 0 27px; }
.contact-main__intro h2 span,.contact-map__heading h2 span { color:#9aa1a7; }
.contact-main__intro>p:not(.section-label),.contact-map__heading>p:not(.section-label) { color:#6f7882; font-size:16px; line-height:1.6; max-width:430px; }
.contact-actions { align-items:center; display:flex; flex-wrap:wrap; gap:30px; margin-top:40px; }
.contact-info-list { margin-top:46px; }
.contact-info-item { border-top:1px solid var(--line); padding:22px 0 24px; }
.contact-info-item small,.contact-form__top .section-label { color:#7b8691; display:block; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.contact-info-item h3 { font-size:28px; letter-spacing:-.04em; margin:16px 0 11px; }
.contact-info-item p { color:#737b84; font-size:17px; line-height:1.65; margin:0; }
.contact-info-item a { transition:color .2s ease; }
.contact-info-item a:hover { color:var(--red); }
.contact-info-list>.link-arrow { margin-top:23px; }
.contact-form { align-self:start; background:var(--white); border:1px solid var(--line); padding:clamp(28px,4vw,54px); }
.contact-form__top { border-bottom:1px solid var(--line); margin-bottom:30px; padding-bottom:23px; }
.contact-form__top p:last-child { color:#737b84; font-size:15px; line-height:1.5; margin:14px 0 0; }
.contact-form__grid { display:grid; gap:28px 24px; grid-template-columns:1fr 1fr; }
.contact-field { display:flex; flex-direction:column; gap:11px; min-width:0; }
.contact-field--wide { grid-column:1 / -1; }
.contact-field span { color:var(--ink); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.contact-field em { color:var(--red); font-style:normal; }
.contact-field input,.contact-field textarea { background:transparent; border:0; border-bottom:1px solid rgba(21,34,53,.25); border-radius:0; color:var(--ink); font:inherit; font-size:16px; outline:0; padding:11px 0; transition:border-color .2s ease; width:100%; }
.contact-field textarea { min-height:120px; resize:vertical; }
.contact-field input:focus,.contact-field textarea:focus { border-bottom-color:var(--red); }
.contact-form__submit { cursor:pointer; margin-top:31px; }
.contact-form__note { color:#8a929a; font-size:11px; line-height:1.5; margin:17px 0 0; }
.contact-map-section { background:#e9e8e3; display:grid; gap:7vw; grid-template-columns:.72fr 1.28fr; }
.contact-map__heading { align-self:center; }
.contact-map__heading .link-arrow { margin-top:34px; }
.contact-map { background:var(--navy); min-height:510px; overflow:hidden; }
.contact-map iframe { border:0; display:block; filter:saturate(.8) contrast(1.02); height:100%; min-height:510px; width:100%; }
.whatsapp-float { align-items:center; background:#25d366; border:0; border-radius:50%; bottom:24px; box-shadow:0 12px 30px rgba(8,18,31,.24); color:#fff; display:flex; height:60px; justify-content:center; position:fixed; right:24px; transition:box-shadow .2s ease,transform .2s ease; width:60px; z-index:30; }
.whatsapp-float:hover { box-shadow:0 16px 36px rgba(8,18,31,.34); transform:translateY(-4px); }
.whatsapp-float img { height:31px; width:31px; }
.proof-bar div,.product-card,.certifications div,.news-card { opacity:0; transform:translateY(18px); transition:opacity .65s ease var(--reveal-delay),transform .65s ease var(--reveal-delay); }
.is-visible { opacity:1 !important; transform:translateY(0) !important; }
@media (max-width:900px) { .desktop-nav { gap:10px; margin-right:10px; } .desktop-nav a { font-size:11px; padding-left:4px; padding-right:4px; } .header-contact { padding:15px 13px; } .header-contact span:first-child { display:none; } .hero__copy { padding-left:6vw; padding-right:3vw; } .hero h1 { font-size:clamp(54px,7.2vw,76px); } .section-intro { gap:40px; } .product-grid { grid-template-columns:1fr 1fr; } .product-card--hero { grid-row:span 1; } .product-card--hero .product-card__image { height:295px; } .capabilities { gap:50px; } }
@media (max-width:640px) { .site-header { height:74px; } .brand,.brand__crop { width:148px; } .brand__crop { height:44px; } .brand__crop img { height:148px; top:-53px; width:148px; } .desktop-nav,.header-contact { display:none; } .menu-toggle { background:none; border:0; display:flex; flex-direction:column; gap:6px; padding:10px 0 10px 10px; } .menu-toggle span { background:var(--ink); display:block; height:1px; width:27px; } .mobile-nav { background:var(--white); display:flex; flex-direction:column; gap:9px; left:0; opacity:0; padding:20px 22px 27px; pointer-events:none; position:absolute; right:0; top:74px; transform:translateY(-8px); transition:opacity .2s ease,transform .2s ease; } .mobile-nav a { font-family:var(--display); font-size:28px; letter-spacing:-.04em; padding:7px 0; } .mobile-nav a[aria-current="page"] { color:var(--red); } .site-header.menu-open .mobile-nav { opacity:1; pointer-events:auto; transform:translateY(0); } .hero { min-height:630px; } .hero__slide { background-position:68% center; } .hero__slide--factory { background-position:70% center; } .hero__slide::before { background:linear-gradient(90deg,rgba(5,12,22,.94) 0%,rgba(8,18,31,.72) 62%,rgba(8,18,31,.28) 100%),linear-gradient(0deg,rgba(5,12,22,.56),transparent 42%); } .hero__copy { max-width:355px; min-height:630px; padding:83px 22px 75px; } .hero h1 { font-size:clamp(54px,14vw,72px); margin-top:30px; } .hero__intro { font-size:16px; max-width:315px; } .hero__buttons { align-items:flex-start; flex-direction:column; gap:25px; margin-top:36px; } .hero__controls { bottom:23px; left:22px; right:auto; } .proof-bar { grid-template-columns:1fr 1fr; padding:0 22px; } .proof-bar div { border-bottom:1px solid var(--line); border-right:1px solid var(--line); padding:21px 13px 21px 0; } .proof-bar div+div { padding-left:13px; } .proof-bar div:nth-child(2) { border-right:0; } .proof-bar div:nth-child(3),.proof-bar div:nth-child(4) { border-bottom:0; } .proof-bar strong { font-size:28px; } .proof-bar span { font-size:10px; } .section { padding-bottom:92px; padding-top:92px; } .section-intro,.company,.capabilities,.contact { display:block; } .section-intro { margin-bottom:48px; } .section-note { font-size:15px; margin-top:35px; } .product-grid { display:block; } .product-card { margin-bottom:15px; min-height:0; } .product-card__image,.product-card--hero .product-card__image { height:250px; } .product-card__body { padding:21px 22px 25px; } .product-card h3 { font-size:24px; } .product-card--spec { min-height:260px; padding:23px 22px; } .product-card--spec h3 { font-size:25px; } .capabilities__image { min-height:380px; margin-bottom:53px; } .capabilities__copy { max-width:none; } .capabilities__lead { font-size:16px; } .feature-list { margin:39px 0 35px; } .company__copy { padding-top:0; } .company__copy p { font-size:16px; } .certifications { grid-template-columns:1fr 1fr; margin-top:65px; } .certifications div { padding:21px 12px 21px 0; } .certifications div+div { padding-left:12px; } .certifications div:nth-child(2) { border-right:0; } .certifications div:nth-child(3),.certifications div:nth-child(4) { border-top:1px solid var(--line); } .news__top { align-items:flex-start; flex-direction:column; gap:30px; margin-bottom:44px; } .news-card { align-items:start; gap:20px; grid-template-columns:62px 1fr; } .news-card__date strong { font-size:37px; } .news-card h3 { font-size:25px; } .news-card .card-arrow { grid-column:2; } .contact { padding-bottom:100px; } .contact__details { margin-top:75px; } .contact__details div { padding-right:12px; } .contact__details div:nth-child(even) { padding-left:12px; } .contact__details p { font-size:12px; } .footer__main { gap:36px 24px; grid-template-columns:1fr 1fr; } .footer__brand { grid-column:1 / -1; } .footer__column:nth-child(3) { grid-column:1 / -1; } .footer__label { margin-bottom:16px; } }
@media (max-width:640px) { .whatsapp-float { bottom:18px; height:54px; right:18px; width:54px; } .whatsapp-float img { height:28px; width:28px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }
@media (max-width:900px) { .contact-main,.contact-map-section { gap:50px; } }
@media (max-width:640px) { .contact-hero { background-position:68% center; min-height:clamp(360px,56vh,500px); } .contact-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.96) 0%,rgba(8,18,31,.76) 64%,rgba(8,18,31,.22) 100%),linear-gradient(0deg,rgba(5,12,22,.62),transparent 46%); } .contact-hero__copy { padding:62px 22px 55px; } .contact-hero h1 { font-size:clamp(54px,14vw,72px); margin-top:30px; } .contact-hero__intro { font-size:16px; max-width:315px; } .contact-main,.contact-map-section { display:block; } .contact-main__intro { margin-bottom:58px; } .contact-main__intro h2,.contact-map__heading h2 { font-size:clamp(48px,13vw,67px); } .contact-actions { align-items:flex-start; flex-direction:column; gap:25px; margin-top:34px; } .contact-info-grid { grid-template-columns:1fr 1fr; } .contact-info-card { padding:23px 12px 25px 0; } .contact-info-card:nth-child(even) { padding-left:12px; } .contact-info-card h3 { font-size:21px; margin-top:15px; } .contact-info-card p { font-size:13px; } .contact-map__heading { margin-bottom:48px; } .contact-map__heading .link-arrow { margin-top:30px; } .contact-map { min-height:430px; } .contact-map iframe { min-height:430px; } }
@media (max-width:640px) { .contact-info-list { margin-top:38px; } .contact-info-item h3 { font-size:24px; } .contact-info-item p { font-size:15px; } .contact-form { margin-top:58px; padding:28px 22px 31px; } .contact-form__grid { grid-template-columns:1fr; } .contact-field--wide { grid-column:auto; } }

.about-hero { background:var(--navy) url("img/site/hero-antenna.png") center center / cover no-repeat; color:#fff; isolation:isolate; min-height:clamp(360px,50vh,520px); overflow:hidden; position:relative; }
.about-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.94) 0%,rgba(8,18,31,.76) 42%,rgba(8,18,31,.2) 78%,rgba(8,18,31,.08) 100%),linear-gradient(0deg,rgba(5,12,22,.56),transparent 45%); content:""; inset:0; pointer-events:none; position:absolute; z-index:-1; }
.about-hero__copy { display:flex; flex-direction:column; justify-content:center; min-height:inherit; max-width:760px; padding:clamp(80px,10vw,150px) clamp(22px,9vw,140px); }
.about-hero h1 { font-size:clamp(58px,7.3vw,106px); line-height:.91; margin:35px 0 30px; }
.about-hero h1 em { color:var(--red); font-style:normal; }
.about-hero__intro { color:#c3ccd6; font-size:clamp(16px,1.5vw,20px); line-height:1.5; max-width:460px; }
.about-story { display:grid; gap:0 8vw; grid-template-columns:.85fr 1.15fr; }
.about-story__heading .section-label,.about-capabilities__heading .section-label { margin-bottom:34px; }
.about-story__copy { align-self:end; max-width:560px; }
.about-story__copy p { color:#626a73; font-size:clamp(16px,1.35vw,19px); line-height:1.6; margin:0 0 21px; }
.about-metrics { border-top:1px solid var(--line); display:grid; grid-column:1 / -1; grid-template-columns:repeat(4,1fr); margin-top:86px; }
.about-metric { border-right:1px solid var(--line); display:flex; flex-direction:column; gap:12px; padding:26px 24px 0 0; }
.about-metric + .about-metric { padding-left:24px; }
.about-metric:last-child { border-right:0; }
.about-metric strong { font-family:var(--display); font-size:clamp(29px,3vw,44px); font-weight:500; letter-spacing:-.07em; }
.about-metric span { color:#7b8289; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.about-video { background:var(--navy); color:#fff; min-height:clamp(540px,65vw,760px); overflow:hidden; position:relative; }
.about-video > img { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.about-video__overlay { background:linear-gradient(90deg,rgba(5,12,22,.95) 0%,rgba(8,18,31,.7) 48%,rgba(8,18,31,.22) 100%),linear-gradient(0deg,rgba(5,12,22,.62),transparent 50%); inset:0; position:absolute; }
.about-video h2 { font-size:clamp(52px,6vw,88px); margin:38px 0 0; }
.about-video h2 em { color:var(--red); font-style:normal; }
.about-capabilities { display:grid; gap:8vw; grid-template-columns:.85fr 1.15fr; }
.about-capabilities__list { border-top:1px solid var(--line); }
.about-capability { border-bottom:1px solid var(--line); display:grid; gap:26px; grid-template-columns:34px 1fr; padding:28px 0 31px; }
.about-capability > span { color:var(--red); font-family:var(--display); font-size:13px; }
.about-capability h3 { font-size:clamp(25px,2.1vw,34px); line-height:1; margin:0 0 13px; }
.about-capability p { color:#6c747c; font-size:15px; line-height:1.55; margin:0; max-width:500px; }
.about-trust { display:grid; gap:8vw; grid-template-columns:1fr 1fr; }
.about-trust__copy { align-self:end; max-width:440px; }
.about-trust__copy p { color:#626a73; font-size:17px; line-height:1.6; margin:0 0 29px; }
.about-trust .certifications { margin-top:74px; }
.about-metric,.about-capability { opacity:0; transform:translateY(18px); transition:opacity .65s ease var(--reveal-delay),transform .65s ease var(--reveal-delay); }
@media (max-width:900px) { .about-story,.about-capabilities,.about-trust { gap:60px; } .about-metrics { margin-top:65px; } }
@media (max-width:640px) { .about-hero { background-position:66% center; min-height:clamp(360px,56vh,500px); } .about-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.94) 0%,rgba(8,18,31,.68) 68%,rgba(8,18,31,.26) 100%),linear-gradient(0deg,rgba(5,12,22,.6),transparent 42%); } .about-hero__copy { padding:62px 22px 55px; } .about-hero h1 { font-size:clamp(53px,14vw,72px); margin-top:30px; } .about-story,.about-capabilities,.about-trust { display:block; } .about-story__copy { margin-top:46px; } .about-metrics { grid-template-columns:1fr 1fr; margin-top:62px; } .about-metric { padding:21px 12px 21px 0; } .about-metric + .about-metric { padding-left:12px; } .about-metric:nth-child(2) { border-right:0; } .about-metric:nth-child(3),.about-metric:nth-child(4) { border-top:1px solid var(--line); } .about-capabilities__list { margin-top:47px; } .about-capability { gap:16px; grid-template-columns:28px 1fr; padding:23px 0 27px; } .about-capability h3 { font-size:25px; } .about-capability p { font-size:14px; } .about-trust__copy { margin-top:45px; } .about-trust .certifications { margin-top:62px; } }

.about-video { background:#e7edf4; color:var(--ink); display:grid; gap:clamp(42px,6vw,94px); grid-template-columns:.9fr 1.1fr; min-height:0; padding:clamp(85px,10vw,145px) clamp(22px,9vw,140px); }
.about-video__copy { align-self:center; max-width:590px; }
.about-video__copy .section-label { color:#777f87; margin-bottom:34px; }
.about-video__copy h2 { color:var(--ink); font-size:clamp(48px,5.8vw,84px); margin:0 0 30px; }
.about-video__copy h2 em { color:var(--red); font-style:normal; }
.about-video__description { color:#626a73; font-size:clamp(16px,1.3vw,19px); line-height:1.6; margin:0; max-width:430px; }
.about-video__side { align-self:center; min-width:0; }
.about-video__player { aspect-ratio:16 / 9; background:#08121f; box-shadow:0 18px 45px rgba(16,32,51,.16); overflow:hidden; position:relative; }
.about-video__poster { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.about-video__player-overlay { background:linear-gradient(90deg,rgba(5,12,22,.78),rgba(5,12,22,.12)),linear-gradient(0deg,rgba(5,12,22,.55),transparent 55%); inset:0; position:absolute; }
.about-video__play-button { align-items:center; background:transparent; border:0; color:#fff; cursor:pointer; display:flex; flex-direction:column; font:inherit; gap:18px; inset:0; justify-content:center; padding:20px; position:absolute; width:100%; z-index:2; }
.about-video__play-ring { align-items:center; border:1px solid rgba(255,255,255,.82); border-radius:50%; display:flex; height:76px; justify-content:center; transition:background .2s ease,border-color .2s ease,transform .2s ease; width:76px; }
.about-video__play-icon { border-bottom:9px solid transparent; border-left:13px solid var(--red); border-top:9px solid transparent; margin-left:4px; }
.about-video__play-label { font-family:var(--display); font-size:15px; font-weight:500; text-align:center; }
.about-video__play-label small { color:#d2d9e1; display:block; font-family:var(--body); font-size:10px; letter-spacing:.14em; margin-top:7px; text-transform:uppercase; }
.about-video__play-button:hover .about-video__play-ring { background:var(--red); border-color:var(--red); transform:scale(1.06); }
.about-video__play-button:hover .about-video__play-icon { border-left-color:#fff; }
.about-video__player iframe { border:0; height:100%; inset:0; position:absolute; width:100%; z-index:3; }
.about-video__player iframe[hidden] { display:none; }
.about-video__player.is-playing .about-video__poster,.about-video__player.is-playing .about-video__player-overlay,.about-video__player.is-playing .about-video__play-button { display:none; }
.about-video__setup-note { color:#7a8289; font-size:12px; line-height:1.5; margin:15px 0 0; }
.about-video__setup-note[hidden] { display:none; }
@media (max-width:900px) { .about-video { grid-template-columns:1fr; } .about-video__copy { max-width:650px; } .about-video__side { max-width:760px; width:100%; } }
@media (max-width:640px) { .about-video { gap:47px; padding:92px 22px; } .about-video__copy h2 { font-size:clamp(48px,13vw,67px); } .about-video__player { aspect-ratio:16 / 10; } .about-video__play-ring { height:64px; width:64px; } .about-video__play-label { font-size:14px; } }

.products-hero { background:var(--navy) url("img/site/hero-products.png") center center / cover no-repeat; color:#fff; isolation:isolate; min-height:clamp(360px,50vh,520px); overflow:hidden; position:relative; }
.products-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.95) 0%,rgba(8,18,31,.78) 40%,rgba(8,18,31,.22) 82%,rgba(8,18,31,.08) 100%),linear-gradient(0deg,rgba(5,12,22,.56),transparent 45%); content:""; inset:0; pointer-events:none; position:absolute; z-index:-1; }
.products-hero__copy { display:flex; flex-direction:column; justify-content:center; min-height:inherit; max-width:760px; padding:clamp(80px,10vw,150px) clamp(22px,9vw,140px); }
.products-hero h1 { font-size:clamp(60px,7.3vw,106px); line-height:.91; margin:35px 0 30px; }
.products-hero h1 em { color:var(--red); font-style:normal; }
.products-hero__intro { color:#c3ccd6; font-size:clamp(16px,1.5vw,20px); line-height:1.5; max-width:460px; }
.products-catalog { background:var(--paper); }
.products-catalog__intro { align-items:end; display:grid; gap:8vw; grid-template-columns:1.1fr .9fr; margin-bottom:72px; }
.products-catalog__note { color:#626a73; font-size:17px; line-height:1.6; max-width:430px; }
.products-catalog__source { color:#8a9198; font-size:12px; line-height:1.5; margin:24px 0 0; }
.products-catalog__layout { align-items:start; display:grid; gap:clamp(35px,6vw,90px); grid-template-columns:260px minmax(0,1fr); }
.products-sidebar { background:#fff; border:1px solid rgba(21,34,53,.14); max-height:calc(100vh - 126px); overflow-y:auto; overscroll-behavior:contain; position:sticky; scrollbar-color:rgba(21,34,53,.35) transparent; scrollbar-width:thin; top:106px; }
.products-sidebar::-webkit-scrollbar { width:6px; }
.products-sidebar::-webkit-scrollbar-thumb { background:rgba(21,34,53,.28); border-radius:999px; }
.products-sidebar__heading { background:#fff; border-bottom:1px solid rgba(21,34,53,.12); padding:22px 24px 20px; position:sticky; top:0; z-index:1; }
.products-sidebar__heading p { color:var(--navy); font-family:var(--display); font-size:23px; font-weight:500; line-height:1.1; margin:0; }
.products-category-list { padding:7px 0; }
.products-filter__button { background:transparent; border:0; border-radius:0; color:var(--navy); cursor:pointer; display:flex; font:inherit; font-size:14px; justify-content:space-between; letter-spacing:0; line-height:1.3; min-height:44px; padding:11px 24px; text-align:left; text-transform:none; transition:background .2s ease,color .2s ease,padding .2s ease; width:100%; }
.products-filter__button:hover { background:rgba(21,34,53,.05); color:var(--red); transform:none; }
.products-filter__button.is-active { background:rgba(21,34,53,.07); color:var(--red); }
.products-filter__button:focus-visible { outline:2px solid var(--red); outline-offset:-2px; }
.products-category__parent span { color:#6d747b; font-size:24px; font-weight:300; line-height:.7; transition:transform .2s ease; }
.products-category__parent[aria-expanded="true"] span { transform:rotate(90deg); }
.products-subcategory-list { background:#fafaf8; border-bottom:1px solid rgba(21,34,53,.08); border-top:1px solid rgba(21,34,53,.08); padding:5px 0; }
.products-subcategory-list[hidden] { display:none; }
.products-category__child { color:#626a73; font-size:13px; min-height:38px; padding:9px 24px 9px 40px; }
.products-category__child.is-active { background:rgba(238,52,68,.08); color:var(--red); }
.products-catalog__results { min-width:0; }
.products-catalog__results-heading { align-items:baseline; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; margin-bottom:18px; padding-bottom:14px; }
.products-catalog__results-heading p { color:var(--navy); font-size:16px; font-weight:700; margin:0; }
.products-catalog__results-heading span { color:#8a9198; font-size:12px; }
.product-page-card[hidden] { display:none; }
.products-empty { background:rgba(21,34,53,.05); color:#626a73; font-size:16px; line-height:1.5; margin:0; padding:28px; text-align:center; }
.product-catalog-grid { display:grid; gap:15px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.product-page-card .product-card__image { height:340px; }
.product-page-card .product-card__body { min-height:172px; }
.product-page-card .product-card__body small { display:block; margin-bottom:12px; }
@media (max-width:900px) { .products-catalog__intro { gap:55px; grid-template-columns:1fr; } .products-catalog__layout { gap:36px; grid-template-columns:1fr; } .products-sidebar { max-height:none; overflow:visible; position:static; } .products-sidebar__heading { position:static; } .product-catalog-grid { grid-template-columns:1fr 1fr; } .product-page-card .product-card__image { height:295px; } }
@media (max-width:640px) { .products-hero { background-position:65% center; min-height:clamp(360px,56vh,500px); } .products-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.95) 0%,rgba(8,18,31,.72) 70%,rgba(8,18,31,.24) 100%),linear-gradient(0deg,rgba(5,12,22,.6),transparent 42%); } .products-hero__copy { padding:62px 22px 55px; } .products-hero h1 { font-size:clamp(54px,14vw,72px); margin-top:30px; } .products-catalog__intro { display:block; margin-bottom:48px; } .products-catalog__note { font-size:15px; margin-top:35px; } .products-sidebar__heading { padding:19px 20px 17px; } .products-sidebar__heading p { font-size:21px; } .products-filter__button { font-size:14px; padding-left:20px; padding-right:20px; } .products-category__child { padding-left:36px; } .products-catalog__results-heading { align-items:flex-start; flex-direction:column; gap:6px; } .product-catalog-grid { display:block; } .product-page-card { margin-bottom:15px; } .product-page-card .product-card__image { height:250px; } }

.news-page-hero { background:var(--navy) url("img/site/hero-factory.png") center / cover no-repeat; color:#fff; isolation:isolate; min-height:clamp(360px,50vh,520px); overflow:hidden; position:relative; }
.news-page-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.95) 0%,rgba(8,18,31,.76) 46%,rgba(8,18,31,.25) 86%,rgba(8,18,31,.08) 100%),linear-gradient(0deg,rgba(5,12,22,.62),transparent 48%); content:""; inset:0; pointer-events:none; position:absolute; z-index:-1; }
.news-page-hero__copy { display:flex; flex-direction:column; justify-content:center; min-height:inherit; max-width:800px; padding:clamp(80px,10vw,150px) clamp(22px,9vw,140px); position:relative; z-index:1; }
.news-page-hero h1 { font-size:clamp(60px,7.3vw,106px); line-height:.91; margin:35px 0 30px; }
.news-page-hero h1 em { color:var(--red); font-style:normal; }
.news-page-hero__intro { color:#c3ccd6; font-size:clamp(16px,1.5vw,20px); line-height:1.5; max-width:500px; }
.news-page-hero__mark { align-items:flex-start; border-left:1px solid rgba(255,255,255,.28); bottom:clamp(42px,7vw,100px); display:flex; flex-direction:column; gap:16px; padding-left:22px; position:absolute; right:clamp(22px,9vw,140px); z-index:1; }
.news-page-hero__mark strong { color:var(--red); font-family:var(--display); font-size:clamp(48px,5vw,76px); font-weight:500; letter-spacing:-.08em; line-height:.8; }
.news-page-hero__mark span { color:#c3ccd6; font-size:12px; letter-spacing:.12em; line-height:1.5; text-transform:uppercase; }
.news-page-content { background:var(--paper); }
.news-page-intro { align-items:end; display:grid; gap:7vw; grid-template-columns:1.15fr .85fr; margin-bottom:70px; }
.news-page-intro h2 { font-size:clamp(52px,6vw,88px); line-height:.94; margin:0; }
.news-page-intro h2 span { color:#9aa1a7; }
.news-page-intro__note { color:#626a73; font-size:17px; line-height:1.6; margin:0 0 5px; max-width:420px; }
.news-feature { background:var(--navy); color:#fff; display:grid; grid-template-columns:1.25fr .75fr; margin-bottom:88px; min-height:475px; }
.news-feature__image { min-height:475px; overflow:hidden; }
.news-feature__image img { height:100%; object-fit:cover; width:100%; }
.news-feature__body { display:flex; flex-direction:column; justify-content:center; padding:clamp(32px,5vw,72px); }
.news-meta { align-items:center; display:flex; flex-wrap:wrap; gap:14px; }
.news-meta span,.news-meta time { font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.news-meta span { color:var(--red); }
.news-meta time { color:#8998aa; }
.news-feature h3 { font-size:clamp(32px,3.3vw,52px); line-height:1; margin:30px 0 23px; }
.news-feature__body > p { color:#bcc6d2; font-size:16px; line-height:1.6; margin:0; max-width:370px; }
.news-feature__body .link-arrow { margin-top:41px; }
.news-page-toolbar { align-items:center; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; margin-bottom:0; padding-bottom:18px; }
.news-page-toolbar > p { font-family:var(--display); font-size:25px; letter-spacing:-.04em; margin:0; }
.news-filters { align-items:center; display:flex; flex-wrap:wrap; gap:7px; }
.news-filter { background:transparent; border:1px solid transparent; border-radius:0; color:#777f87; cursor:pointer; font:inherit; font-size:12px; font-weight:700; letter-spacing:.08em; padding:10px 12px; text-transform:uppercase; transition:background .2s ease,border-color .2s ease,color .2s ease; }
.news-filter:hover,.news-filter.is-active { background:var(--navy); border-color:var(--navy); color:#fff; transform:none; }
.news-filter:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
.news-list { display:grid; gap:0 28px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.news-item { border-bottom:1px solid var(--line); border-top:1px solid var(--line); display:flex; flex-direction:column; min-height:350px; padding:24px 0 27px; position:relative; }
.news-item + .news-item { border-left:1px solid var(--line); padding-left:28px; }
.news-item__top { align-items:flex-start; display:flex; justify-content:space-between; min-height:30px; }
.news-item__number { color:var(--red); font-family:var(--display); font-size:14px; font-weight:500; }
.news-item__date { color:#7b8691; font-size:11px; font-weight:700; letter-spacing:.13em; text-align:right; text-transform:uppercase; }
.news-item .news-meta { align-items:flex-end; flex-direction:column; gap:5px; }
.news-item .news-meta span { color:#7b8691; }
.news-item h3 { font-size:clamp(25px,2.1vw,34px); line-height:1.02; margin:42px 0 17px; max-width:330px; }
.news-item p { color:#6f7882; font-size:15px; line-height:1.6; margin:0; max-width:335px; }
.news-item__read-more { align-items:center; align-self:flex-start; background:var(--red); color:#fff; display:inline-flex; font-size:12px; font-weight:700; gap:18px; letter-spacing:.08em; margin-top:auto; padding:15px 18px 14px 20px; text-transform:uppercase; transition:background .2s ease,transform .2s ease; }
.news-item__read-more span { font-size:20px; font-weight:400; line-height:.5; }
.news-item__read-more:hover { background:var(--navy); color:#fff; transform:translateY(-2px); }
.news-item[hidden] { display:none; }
.news-pagination { align-items:center; border-top:1px solid var(--line); display:flex; gap:24px; justify-content:center; margin-top:52px; padding-top:26px; }
.news-pagination__pages { display:flex; gap:7px; }
.news-pagination button { align-items:center; background:transparent; border:1px solid transparent; border-radius:0; color:#7b8691; cursor:pointer; display:inline-flex; font:inherit; font-size:12px; font-weight:700; height:36px; justify-content:center; letter-spacing:.08em; min-width:36px; padding:0 10px; transition:background .2s ease,border-color .2s ease,color .2s ease; }
.news-pagination__page:hover,.news-pagination__page.is-active { background:var(--navy); border-color:var(--navy); color:#fff; transform:none; }
.news-pagination__arrow { color:var(--navy) !important; font-size:22px !important; font-weight:400 !important; padding:0 4px !important; }
.news-pagination__arrow:hover:not(:disabled) { color:var(--red) !important; transform:none; }
.news-pagination button:disabled { cursor:not-allowed; opacity:.28; }
.news-pagination button:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
@media (max-width:900px) { .news-page-intro { gap:45px; } .news-feature { grid-template-columns:1fr 1fr; } .news-feature__image { min-height:420px; } .news-feature__body { padding:35px; } .news-list { gap:0 20px; } .news-item + .news-item { padding-left:20px; } }
@media (max-width:640px) { .news-page-hero { background-position:68% center; min-height:clamp(360px,56vh,500px); } .news-page-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.95) 0%,rgba(8,18,31,.72) 68%,rgba(8,18,31,.24) 100%),linear-gradient(0deg,rgba(5,12,22,.62),transparent 44%); } .news-page-hero__copy { padding:62px 22px 55px; } .news-page-hero h1 { font-size:clamp(54px,14vw,72px); margin-top:30px; } .news-page-hero__intro { font-size:16px; max-width:315px; } .news-page-hero__mark { bottom:34px; right:22px; } .news-page-hero__mark strong { font-size:46px; } .news-page-hero__mark span { font-size:10px; } .news-page-intro { display:block; margin-bottom:48px; } .news-page-intro__note { font-size:15px; margin-top:35px; } .news-page-toolbar { align-items:flex-start; flex-direction:column; gap:22px; } .news-filters { gap:4px; } .news-filter { padding-left:9px; padding-right:9px; } .news-list { display:block; } .news-item { min-height:310px; margin-bottom:0; } .news-item + .news-item { border-left:0; padding-left:0; } .news-item h3 { font-size:28px; margin-top:35px; } .news-pagination { gap:16px; margin-top:38px; padding-top:21px; } }
