:root { --navy:#102033; --navy-deep:#0b1726; --red:#ee3444; --paper:#f4f3ef; --white:#fffefa; --ink:#152235; --muted:#737b84; --line:rgba(21,34,53,.16); --display:"IBM Plex Sans",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 { aspect-ratio:1920 / 649; background:var(--navy); color:#fff; height:auto; isolation:isolate; min-height:0; overflow:hidden; position:relative; }
.hero__slides,.hero__slide { inset:0; position:absolute; }
.hero__slide { background-position:center; background-repeat:no-repeat; background-size:cover; overflow:hidden; opacity:0; transition:opacity .8s ease; z-index:0; }
.hero__slide img { height:100%; object-fit:contain; object-position:center; width:100%; }
.hero__slide:not(.is-active) { pointer-events:none; }
.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:""; display:none; 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; height:100%; justify-content:center; max-width:730px; min-height:0; padding:clamp(42px,7vh,110px) 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(54px,min(7.2vw,10vh),104px); line-height:1.04; 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 { --image-height:300px; background:#fff; height:var(--image-height); overflow:hidden; position:relative; }
.product-card--hero .product-card__image { --image-height:490px; height:var(--image-height); }
.product-card__image img { height:100%; object-fit:contain; object-position:center; transition:filter .3s ease; width:100%; }
.product-card__image--clean-edge::before { background:#fff; content:""; height:2px; left:0; position:absolute; right:0; top:0; z-index:2; }
.product-card__image--clean-edge::after { background:#fff; content:""; height:100%; left:max(0px,calc(50% - (var(--image-height) / 2))); position:absolute; top:0; width:2px; z-index:2; }
.product-card:hover .product-card__image img { filter:brightness(.97); }
.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; }
/* Keep the tall proof image and its copy in one balanced canvas on wide screens. */
.capabilities__inner { display:grid; gap:clamp(45px,6vw,112px); grid-template-columns:minmax(0,1fr) minmax(0,1fr); margin-inline:auto; max-width:clamp(1840px,60vw,2400px); }
.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; min-width:0; }
.capabilities h2 { margin-bottom:29px; }
.capabilities h2 em { color:var(--red); font-style:normal; }
.capabilities__lead { color:#bdc6d1; font-size:clamp(19px,1.6vw,23px); line-height:1.55; max-width:clamp(640px,21vw,850px); }
.feature-list { border-top:1px solid rgba(255,255,255,.2); margin:52px 0 44px; }
.feature-list>div { border-bottom:1px solid rgba(255,255,255,.2); display:grid; gap:24px; grid-template-columns:42px 1fr; padding:24px 0; }
.feature-list>div>span { color:var(--red); font-family:var(--display); font-size:14px; }
.feature-list strong { font-family:var(--display); font-size:clamp(18px,1.25vw,21px); font-weight:500; }
.feature-list p { color:#9daabd; font-size:clamp(14px,1vw,16px); line-height:1.58; margin:9px 0 0; max-width:clamp(640px,21vw,850px); }
@media (min-width:1920px) {
  .capabilities h2 { font-size:clamp(78px,calc(2.5vw + 30px),126px); }
  .capabilities__lead { font-size:clamp(23px,calc(.78vw + 8px),36px); }
  .capabilities .section-label,.capabilities__tag { font-size:clamp(11px,.5vw,19px); }
  .feature-list strong { font-size:clamp(21px,calc(.625vw + 9px),33px); }
  .feature-list p { font-size:clamp(16px,calc(.47vw + 7px),25px); }
  .feature-list>div>span { font-size:clamp(14px,.5vw,19px); }
  .capabilities .button { font-size:clamp(11px,.45vw,17px); }
}
@media (max-width:900px) { .capabilities__inner { gap:50px; } }
@media (max-width:640px) { .capabilities__inner { display:block; } }
.company { display:grid; gap:clamp(48px,6vw,96px); grid-template-columns:.72fr 1.28fr; }
.company__heading h2 { font-size:clamp(46px,5.1vw,78px); line-height:1.1; }
.company__copy { padding-top:0; }
.company__copy p { color:#626a73; font-size:clamp(15px,1.05vw,17px); line-height:1.68; margin-bottom:20px; max-width:none; }
.company__copy .link-arrow { margin-top:15px; }
.company .certifications { margin-top:12px; }
@media (max-width:900px) { .company { gap:42px; grid-template-columns:.82fr 1.18fr; } }
.certifications { border-top:1px solid var(--line); display:grid; grid-column:1 / -1; grid-template-columns:repeat(6,minmax(0,1fr)); margin-top:35px; }
.certifications div { border-right:1px solid var(--line); display:flex; flex-direction:column; gap:10px; min-width:0; padding:25px 22px 0 0; }
.certifications div+div { padding-left:22px; }
.certifications div:last-child { border:0; }
.certifications__icon { background:var(--red); display:block; height:34px; margin-bottom:4px; mask-position:center; mask-repeat:no-repeat; mask-size:contain; width:34px; -webkit-mask-position:center; -webkit-mask-repeat:no-repeat; -webkit-mask-size:contain; }
.certifications__icon--iso9001 { mask-image:url("img/site/certifications/iso9001.svg"); -webkit-mask-image:url("img/site/certifications/iso9001.svg"); }
.certifications__icon--ce { mask-image:url("img/site/certifications/ce.svg"); -webkit-mask-image:url("img/site/certifications/ce.svg"); }
.certifications__icon--rohs { mask-image:url("img/site/certifications/rohs.svg"); -webkit-mask-image:url("img/site/certifications/rohs.svg"); }
.certifications__icon--fcc { mask-image:url("img/site/certifications/fcc.svg"); -webkit-mask-image:url("img/site/certifications/fcc.svg"); }
.certifications__icon--bsci { mask-image:url("img/site/certifications/bsci.svg"); -webkit-mask-image:url("img/site/certifications/bsci.svg"); }
.certifications__icon--ul { mask-image:url("img/site/certifications/ul.svg"); -webkit-mask-image:url("img/site/certifications/ul.svg"); }
.certifications strong { font-family:var(--display); font-size:clamp(17px,1.45vw,24px); font-weight:500; letter-spacing:-.05em; line-height:1; }
.certifications span:not(.certifications__icon) { color:#7b8289; font-size:9px; letter-spacing:.08em; line-height:1.35; 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/contact-banner-outdoor-clean.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-main__intro .section-label { margin:0; }
.contact-main__intro > .section-label,.contact-map__heading > .section-label { font-size:clamp(13px,1.1vw,16px); letter-spacing:.16em; }
.contact-socials-wrap { border-top:1px solid var(--line); margin-top:4px; padding-top:24px; }
.contact-socials { align-items:center; display:flex; gap:16px; margin:0; }
.contact-social-link { align-items:center; background:#1498e9; border-radius:50%; color:#fff; display:flex; height:44px; justify-content:center; transition:opacity .2s ease,transform .2s ease; width:44px; }
.contact-social-link img { display:block; filter:brightness(0) invert(1); height:24px; width:24px; }
.contact-social-link--facebook img,.contact-social-link--linkedin img { height:22px; width:22px; }
.contact-social-link--tiktok img { height:23px; width:23px; }
.contact-social-link:hover { opacity:.75; transform:translateY(-2px); }
.contact-actions { align-items:center; display:flex; flex-wrap:wrap; gap:30px; margin-top:40px; }
.contact-info-list { margin-top:28px; }
.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,min(7.2vw,10vh),76px); line-height:1.04; } .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 { height:auto; min-height:calc(100dvh - 74px); } .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 { height:auto; max-width:355px; min-height:calc(100dvh - 74px); 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; } }

/* Homepage news items use the image selected in the WordPress news editor. */
.news-card--with-image { grid-template-columns:80px minmax(0,1fr) clamp(120px,18vw,240px) 30px; }
.news-card__copy { min-width:0; }
.news-card__image { aspect-ratio:4 / 3; border-radius:10px; overflow:hidden; }
.news-card__image img { display:block; height:100%; object-fit:cover; width:100%; }
@media (max-width:640px) {
  .news-card--with-image { grid-template-columns:62px minmax(0,1fr); }
  .news-card--with-image .news-card__image { grid-column:2; grid-row:2; max-width:260px; }
  .news-card--with-image .card-arrow { grid-column:2; grid-row:3; }
}

@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/about-banner-campus.jpg") center top / 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(14px,1.2vw,16px); line-height:1.5; max-width:350px; }
@media (min-width:641px) { .about-hero__intro { max-width:min(320px,18vw); } }
.about-founder { align-items:center; display:grid; gap:clamp(45px,8vw,130px); grid-template-columns:1fr .85fr; }
.about-founder__copy { max-width:600px; }
.about-founder__copy .section-label { margin-bottom:34px; }
.about-founder h2 { font-size:clamp(58px,7vw,104px); line-height:.92; margin:0 0 38px; }
.about-founder h2 span { color:#93999d; }
.about-founder__lead { color:#626a73; font-size:clamp(16px,1.18vw,19px); line-height:1.7; margin:0 0 38px; max-height:clamp(300px,30vw,420px); max-width:680px; overflow-y:auto; overscroll-behavior:contain; padding-right:18px; scrollbar-color:rgba(20,37,58,.42) transparent; scrollbar-gutter:stable; scrollbar-width:thin; }
.about-founder__lead p { margin:0; }
.about-founder__lead p + p { margin-top:20px; }
.about-founder__lead::-webkit-scrollbar { width:6px; }
.about-founder__lead::-webkit-scrollbar-track { background:transparent; }
.about-founder__lead::-webkit-scrollbar-thumb { background:rgba(20,37,58,.35); border-radius:999px; }
.about-founder__linkedin { gap:34px; }
.about-founder__portrait { margin:0; min-width:0; overflow:hidden; }
.about-founder__portrait img { display:block; height:auto; max-height:620px; object-fit:contain; width:100%; }
.about-capabilities__heading .section-label { margin-bottom:34px; }
.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-support { background:#ecece8; }
.about-support__intro { display:block; margin-bottom:72px; }
.about-support__intro .section-label { margin-bottom:58px; }
.about-support__intro h2 { font-size:clamp(46px,5.1vw,78px); max-width:820px; }
.about-support__grid { display:grid; gap:15px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.about-support-card { background:var(--white); border-radius:14px; display:flex; flex-direction:column; min-height:100%; padding:28px 27px 32px; }
.about-support-card header { border-bottom:1px solid var(--line); display:block; padding-bottom:24px; }
.about-support-card h3 { font-size:clamp(25px,2.1vw,34px); line-height:1; margin:0; }
.about-support-card ol { color:#687583; display:grid; gap:22px; line-height:1.55; list-style:none; margin:27px 0 0; padding:0; }
.about-support-card li { counter-increment:support-item; font-size:15px; padding-left:26px; position:relative; }
.about-support-card ol { counter-reset:support-item; }
.about-support-card li::before { color:var(--red); content:counter(support-item,decimal-leading-zero); font-family:var(--display); font-size:11px; font-weight:600; left:0; position:absolute; top:2px; }
.about-support-card__lead { color:#687583; font-size:15px; line-height:1.55; margin:27px 0 0; }
.about-support-card__lead + ol { gap:24px; margin-top:24px; }
.about-trust { column-gap:8vw; display:grid; grid-template-columns:1fr 1fr; row-gap:28px; }
.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:0; }
.about-trust__certificates { align-items:center; display:grid; gap:24px; grid-column:1 / -1; grid-template-columns:auto minmax(0,1fr) auto; margin-top:16px; }
.certificate-carousel__viewport { min-width:0; overflow:hidden; }
.certificate-gallery { display:flex; gap:16px; margin:0; transition:transform .45s ease; }
.certificate-card { appearance:none; background:transparent; border:0; color:var(--ink); cursor:zoom-in; display:block; flex:0 0 calc((100% - 48px) / 4); min-width:0; padding:0; text-align:left; }
.certificate-card:hover { transform:translateY(-4px); }
.certificate-card__image { aspect-ratio:.707 / 1; background:transparent; display:block; overflow:hidden; }
.certificate-card--framed .certificate-card__image { border:1px solid var(--line); box-sizing:border-box; }
.certificate-card__image img { display:block; height:100%; object-fit:contain; width:100%; }
/* Align the GPS CE certificate's inner border with the neighboring certificates. */
.certificate-card--gps-ce .certificate-card__image img { transform:translateY(-2%); }
.certificate-carousel__arrow { align-items:center; background:transparent; border:1px solid var(--line); color:var(--ink); cursor:pointer; display:flex; font-size:22px; height:48px; justify-content:center; transition:background .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease; width:48px; }
.certificate-carousel__arrow:hover:not(:disabled) { background:var(--red); border-color:var(--red); color:#fff; }
.certificate-carousel__arrow:disabled { cursor:default; opacity:.3; }
.certificate-lightbox { background:rgba(8,18,31,.94); border:0; height:100vh; max-height:none; max-width:none; padding:0; width:100vw; }
.certificate-lightbox::backdrop { background:rgba(8,18,31,.86); }
.certificate-lightbox__panel { align-items:center; display:flex; flex-direction:column; height:100%; justify-content:center; padding:55px 22px 30px; position:relative; }
.certificate-lightbox__panel img { background:#fff; box-shadow:0 22px 70px rgba(0,0,0,.35); height:min(82vh,900px); max-width:min(88vw,680px); object-fit:contain; width:auto; }
.certificate-lightbox__panel p { color:#fff; font-size:13px; letter-spacing:.08em; margin:16px 0 0; text-align:center; }
.certificate-lightbox__close { background:transparent; border:1px solid rgba(255,255,255,.45); border-radius:50%; color:#fff; cursor:pointer; font-size:27px; font-weight:300; height:42px; line-height:1; position:absolute; right:28px; top:24px; width:42px; }
.certificate-lightbox__close:hover { background:var(--red); border-color:var(--red); }
.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 { gap:60px; } .about-trust { column-gap:60px; row-gap:28px; } .about-metrics { margin-top:65px; } .about-support__grid { grid-template-columns:1fr 1fr; } }
@media (max-width:640px) { .about-hero { background-position:66% top; 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:20px; } .about-support { padding-top:92px; padding-bottom:92px; } .about-support__intro { margin-bottom:47px; } .about-support__intro .section-label { margin-bottom:39px; } .about-support__intro h2 { font-size:clamp(43px,11vw,62px); } .about-support__grid { display:block; } .about-support-card { border-radius:12px; margin-bottom:15px; padding:23px 22px 27px; } .about-support-card h3 { font-size:25px; } .about-support-card li,.about-support-card__lead { font-size:14px; } .about-support-card:last-child { margin-bottom:0; } }
@media (max-width:900px) { .certificate-card { flex-basis:calc((100% - 16px) / 2); } }
@media (max-width:640px) { .about-trust__certificates { gap:12px; margin-top:8px; } .certificate-gallery { gap:0; } .certificate-card { flex-basis:100%; } .certificate-carousel__arrow { font-size:19px; height:42px; width:42px; } .certificate-lightbox__panel { padding-left:14px; padding-right:14px; } .certificate-lightbox__panel img { height:auto; max-height:78vh; max-width:92vw; width:auto; } .certificate-lightbox__close { right:17px; top:16px; } }

.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(40px,4.6vw,66px); 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 video { background:#08121f; border:0; height:100%; inset:0; object-fit:cover; position:absolute; width:100%; z-index:3; }
.about-video__player video[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; }
@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(38px,10vw,54px); } .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-collage.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 { margin-bottom:72px; }
.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)); }
.products-pagination { align-items:center; border-top:1px solid var(--line); display:flex; gap:24px; justify-content:center; margin-top:38px; padding-top:22px; }
.products-pagination__pages { display:flex; gap:7px; }
.products-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; }
.products-pagination__page:hover,.products-pagination__page.is-active { background:var(--navy); border-color:var(--navy); color:#fff; transform:none; }
.products-pagination__arrow { color:var(--navy) !important; font-size:22px !important; font-weight:400 !important; padding:0 4px !important; }
.products-pagination__arrow:hover:not(:disabled) { color:var(--red) !important; transform:none; }
.products-pagination button:disabled { cursor:not-allowed; opacity:.28; }
.products-pagination button:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
.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; }
.product-page-card .product-card__image { --image-height:340px; height:var(--image-height); }
@media (max-width:900px) {
  .product-card--hero .product-card__image,
  .product-page-card .product-card__image { --image-height:295px; height:var(--image-height); }
}
@media (max-width:640px) {
.hero { min-height:0; }
  .product-card__image,
  .product-card--hero .product-card__image,
  .product-page-card .product-card__image { --image-height:250px; height:var(--image-height); }
}
@media (max-width:900px) { .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 { margin-bottom:48px; } .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; } .products-pagination { gap:16px; margin-top:28px; padding-top:18px; } }

@media (max-width:640px) { .certifications { grid-template-columns:repeat(2,minmax(0,1fr)); } .certifications div { border-right:1px solid var(--line); border-top:1px solid var(--line); padding:21px 12px 21px 0; } .certifications div:nth-child(odd) { padding-left:0; } .certifications div:nth-child(even) { border-right:0; padding-left:12px; } .certifications div:nth-child(-n+2) { border-top:0; } .certifications__icon { height:30px; width:30px; } }

@media (max-width:900px) { .about-founder { gap:60px; } }
@media (max-width:640px) { .about-founder { display:block; } .about-founder__copy { max-width:none; } .about-founder h2 { font-size:clamp(53px,14vw,72px); margin-bottom:30px; } .about-founder__lead { font-size:16px; line-height:1.65; margin-bottom:32px; max-height:min(52vh,390px); padding-right:12px; } .about-founder__portrait { margin-top:58px; } .about-founder__portrait img { max-height:none; } }
@media (max-width:640px) { .company .certifications { margin-top:26px; } }

.news-page-hero { background:var(--navy) url("img/site/news-banner-clean.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; }
.news-detail { background:var(--paper); }
.news-detail__content { margin:0 auto; max-width:1440px; padding:clamp(58px,8vw,120px) clamp(22px,6vw,92px) 110px; }
.news-detail__header { align-items:end; border-bottom:1px solid var(--line); display:grid; gap:7vw; grid-template-columns:.35fr 1.65fr; padding-bottom:clamp(50px,7vw,100px); }
.news-detail__header-meta { align-self:stretch; display:flex; flex-direction:column; justify-content:space-between; }
.news-detail__back { color:var(--navy); font-size:14px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:color .2s ease; }
.news-detail__back:hover { color:var(--red); }
.news-detail__number { color:var(--red); font-family:var(--display); font-size:clamp(64px,8vw,120px); letter-spacing:-.08em; line-height:.8; }
.news-detail__header-copy { max-width:910px; }
.news-detail__header-copy .section-label { margin:0 0 30px; }
.news-detail__header-copy h1 { font-size:clamp(48px,6.2vw,96px); letter-spacing:-.065em; line-height:.94; margin:0; max-width:950px; }
.news-detail__summary { color:#687583; font-size:clamp(18px,1.6vw,23px); line-height:1.55; margin:32px 0 0; max-width:660px; }
.news-detail__article { display:grid; gap:clamp(40px,8vw,130px); grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); padding-top:clamp(48px,7vw,100px); }
.news-detail__image-wrap { background:#fff; border-radius:18px; margin:0; overflow:hidden; }
.news-detail__image-wrap img { display:block; height:auto; object-fit:contain; width:100%; }
.news-detail__body { align-self:center; max-width:560px; padding-right:clamp(0px,2vw,30px); }
.news-detail__body p { color:#596a7b; font-size:clamp(17px,1.45vw,21px); line-height:1.75; margin:0 0 28px; }
.news-detail__body p:last-child { color:#88929a; font-size:14px; line-height:1.6; margin-top:48px; }
.news-detail__switcher { border-top:1px solid var(--line); display:grid; gap:28px; grid-template-columns:1fr 1fr; margin-top:clamp(70px,10vw,140px); padding-top:28px; }
.news-detail__switcher-link { color:var(--navy); display:grid; gap:12px; padding-left:40px; position:relative; }
.news-detail__switcher-link--next { padding-left:0; padding-right:40px; text-align:right; }
.news-detail__switcher-link span { color:#7b8691; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.news-detail__switcher-link strong { font-family:var(--display); font-size:clamp(19px,2vw,28px); font-weight:500; letter-spacing:-.035em; line-height:1.05; max-width:430px; }
.news-detail__switcher-link b { color:var(--red); font-size:25px; font-weight:400; left:0; position:absolute; top:27px; }
.news-detail__switcher-link--next b { left:auto; right:0; }
.news-detail__switcher-link:hover strong { color:var(--red); }
.news-detail__missing { margin:0 auto; max-width:720px; min-height:62vh; padding:clamp(90px,15vw,200px) 22px; text-align:center; }
.news-detail__missing h1 { font-size:clamp(48px,6vw,88px); letter-spacing:-.06em; line-height:.95; margin:25px 0; }
.news-detail__missing > p:not(.section-label) { color:#687583; font-size:18px; line-height:1.6; margin:0 auto 32px; max-width:470px; }
.button--navy { background:var(--navy); color:#fff; }
.button--navy:hover { background:var(--red); color:#fff; }
@media (max-width:900px) { .news-detail__header { gap:45px; grid-template-columns:1fr; } .news-detail__header-meta { flex-direction:row; } .news-detail__number { font-size:64px; } .news-detail__article { gap:45px; grid-template-columns:1fr; } .news-detail__body { max-width:760px; padding:0; } }
@media (max-width:640px) { .news-detail__content { padding:52px 22px 78px; } .news-detail__header { gap:42px; padding-bottom:52px; } .news-detail__header-copy .section-label { margin-bottom:24px; } .news-detail__header-copy h1 { font-size:clamp(44px,12vw,64px); } .news-detail__summary { font-size:17px; margin-top:24px; } .news-detail__article { padding-top:42px; } .news-detail__image-wrap { border-radius:12px; } .news-detail__image-wrap img { aspect-ratio:auto; } .news-detail__body p { font-size:17px; line-height:1.65; margin-bottom:24px; } .news-detail__body p:last-child { font-size:13px; margin-top:38px; } .news-detail__switcher { display:block; margin-top:74px; } .news-detail__switcher-link { border-bottom:1px solid var(--line); padding:0 0 27px 38px; text-align:left; } .news-detail__switcher-link--next { padding-left:0; padding-right:38px; padding-top:27px; text-align:right; } .news-detail__switcher-link b { left:0; right:auto; top:27px; } .news-detail__switcher-link--next b { left:auto; right:0; top:27px; } }
@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; } }
.product-detail { background:var(--paper); }
.product-detail__content { margin:0 auto; max-width:1440px; padding:clamp(48px,7vw,100px) clamp(22px,6vw,92px) 110px; }
.product-detail__breadcrumb { align-items:center; display:flex; justify-content:space-between; margin-bottom:clamp(36px,5vw,72px); }
.product-detail__breadcrumb a { color:var(--navy); font-size:14px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:color .2s ease; }
.product-detail__breadcrumb a:hover { color:var(--red); }
.product-detail__hero { align-items:center; display:grid; gap:clamp(42px,8vw,120px); grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr); }
.product-detail__image-wrap { background:#fff; border-radius:18px; margin:0; overflow:hidden; }
.product-detail__image-wrap img { aspect-ratio:1 / 1; display:block; height:100%; object-fit:contain; width:100%; }
.product-detail__summary { max-width:520px; }
.product-detail__summary .section-label { color:var(--red); margin-bottom:28px; }
.product-detail__summary h1 { font-size:clamp(48px,5.4vw,82px); letter-spacing:-.07em; line-height:.95; margin:0; }
.product-detail__intro { color:#687583; font-size:clamp(18px,1.5vw,22px); line-height:1.55; margin:30px 0 40px; max-width:480px; }
.product-detail__specs { border-bottom:1px solid var(--line); border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:36px; }
.product-detail__specs div { border-right:1px solid var(--line); display:flex; flex-direction:column; gap:10px; min-height:96px; padding:17px 16px 16px 0; }
.product-detail__specs div+div { padding-left:16px; }
.product-detail__specs div:last-child { border-right:0; padding-right:0; }
.product-detail__specs span { color:#7b8691; font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.product-detail__specs strong { color:var(--navy); font-family:var(--display); font-size:18px; font-weight:500; line-height:1.15; }
.product-detail__information { border-top:1px solid var(--line); display:grid; gap:7vw; grid-template-columns:.8fr 1.2fr; margin-top:clamp(85px,13vw,180px); padding-top:clamp(38px,5vw,72px); }
.product-detail__information-heading h2 { font-size:clamp(44px,5vw,76px); letter-spacing:-.07em; line-height:.95; margin:0; }
.product-detail__information-heading h2 span { color:#9aa1a7; }
.product-detail__information-copy { max-width:720px; }
.product-detail__body p { color:#596a7b; font-size:clamp(17px,1.35vw,20px); line-height:1.7; margin:0 0 27px; }
.product-detail__demo-note { color:#8a9198; font-size:12px; line-height:1.5; margin:52px 0 0; }
.product-detail__switcher { border-top:1px solid var(--line); display:grid; gap:28px; grid-template-columns:1fr 1fr; margin-top:clamp(70px,10vw,140px); padding-top:28px; }
.product-detail__switcher-link { color:var(--navy); display:grid; gap:12px; padding-left:40px; position:relative; }
.product-detail__switcher-link--next { padding-left:0; padding-right:40px; text-align:right; }
.product-detail__switcher-link span { color:#7b8691; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.product-detail__switcher-link strong { font-family:var(--display); font-size:clamp(19px,2vw,28px); font-weight:500; letter-spacing:-.035em; line-height:1.05; max-width:430px; }
.product-detail__switcher-link b { color:var(--red); font-size:25px; font-weight:400; left:0; position:absolute; top:27px; }
.product-detail__switcher-link--next b { left:auto; right:0; }
.product-detail__switcher-link:hover strong { color:var(--red); }
.product-detail__missing { margin:0 auto; max-width:720px; min-height:62vh; padding:clamp(90px,15vw,200px) 22px; text-align:center; }
.factory-story { background:#e8eceb; }
.factory-story__intro { align-items:end; display:grid; gap:7vw; grid-template-columns:1.12fr .88fr; margin-bottom:68px; }
.factory-story__intro > p { color:#606a73; font-size:clamp(16px,1.4vw,19px); line-height:1.6; margin:0 0 5px; max-width:440px; }
.factory-story__grid { display:grid; gap:16px; grid-template-columns:repeat(12,minmax(0,1fr)); }
.factory-story-card { background:var(--navy); color:#fff; display:flex; flex-direction:column; grid-column:span 3; min-height:400px; overflow:hidden; position:relative; }
.factory-story-card--wide { grid-column:span 6; grid-row:span 2; min-height:816px; }
.factory-story-card--delivery { grid-column:span 6; }
.factory-story-card img { filter:saturate(.86); height:100%; inset:0; object-fit:cover; position:absolute; transition:transform .5s ease; width:100%; }
.factory-story-card::after { background:linear-gradient(0deg,rgba(4,13,24,.94) 0%,rgba(7,18,31,.54) 42%,rgba(7,18,31,.06) 78%); content:""; inset:0; pointer-events:none; position:absolute; }
.factory-story-card:hover img { transform:scale(1.045); }
.factory-story-card > div { margin-top:auto; padding:30px; position:relative; z-index:1; }
.factory-story-card span { color:#ff7180; display:block; font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.factory-story-card h3 { font-size:clamp(25px,2.3vw,39px); letter-spacing:-.055em; line-height:.98; margin:17px 0 14px; }
.factory-story-card:not(.factory-story-card--wide) h3 { font-size:clamp(22px,1.55vw,29px); }
.factory-story-card p { color:#d0d8e0; font-size:14px; line-height:1.5; margin:0; max-width:360px; }
@media (max-width:640px) { .factory-story-card:not(.factory-story-card--wide) h3 { font-size:26px; } }
.factory-tour { background:var(--white); }
.factory-tour__heading { display:block; margin-bottom:70px; max-width:760px; text-align:left; }
.factory-tour__heading h2 { margin:34px 0 0; text-align:left; }
.factory-tour__heading > p:last-child { color:#626a73; font-size:clamp(16px,1.45vw,19px); line-height:1.6; margin:30px 0 0; max-width:560px; text-align:left; }
.factory-tour__grid { display:grid; gap:16px; grid-template-columns:repeat(12,minmax(0,1fr)); }
.factory-tour__item { background:var(--navy); grid-column:span 3; margin:0; min-height:330px; overflow:hidden; position:relative; }
.factory-tour__item--main { grid-column:span 6; grid-row:span 2; min-height:676px; }
.factory-tour__item--delivery { grid-column:span 6; }
.factory-tour__item img { filter:saturate(.9); height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.factory-tour__item::after { background:linear-gradient(0deg,rgba(5,15,26,.9),rgba(5,15,26,.04) 68%); content:""; inset:0; pointer-events:none; position:absolute; }
.factory-tour__item figcaption { bottom:0; color:#fff; left:0; padding:23px 25px; position:absolute; right:0; z-index:1; }
.factory-tour__item figcaption span { color:#ff7180; display:block; font-size:10px; font-weight:700; letter-spacing:.14em; margin-bottom:8px; text-transform:uppercase; }
.factory-tour__item figcaption strong { font-family:var(--display); font-size:clamp(17px,1.55vw,24px); font-weight:500; letter-spacing:-.04em; line-height:1.05; }
@media (max-width:900px) { .factory-story__intro,.factory-tour__heading { gap:50px; grid-template-columns:1fr; } .factory-story-card { grid-column:span 6; } .factory-story-card--wide,.factory-story-card--delivery { grid-column:span 12; min-height:560px; } .factory-tour__item { grid-column:span 6; } .factory-tour__item--main,.factory-tour__item--delivery { grid-column:span 12; min-height:540px; } }
@media (max-width:640px) { .hero__slide--assembly { background-position:62% center; } .factory-story__intro,.factory-tour__heading { display:block; margin-bottom:46px; } .factory-story__intro > p,.factory-tour__heading > p { font-size:16px; margin-top:34px; } .factory-story__grid,.factory-tour__grid { display:block; } .factory-story-card,.factory-story-card--wide,.factory-story-card--delivery,.factory-tour__item,.factory-tour__item--main,.factory-tour__item--delivery { margin-bottom:14px; min-height:390px; } .factory-story-card--wide,.factory-tour__item--main { min-height:490px; } .factory-story-card > div { padding:24px 22px; } .factory-story-card h3 { font-size:29px; } .factory-story-card p { font-size:13px; } .factory-tour__item figcaption { padding:20px 22px; } }
/* Keep the delivery photo at its source ratio so wide screens do not crop the cartons. */
.factory-tour__item--delivery { aspect-ratio:994 / 680; min-height:0; }
@media (max-width:900px) { .factory-tour__item--delivery { min-height:0; } }
@media (max-width:640px) { .factory-tour__item--delivery { min-height:0; } }
/* Lighter banner overlays: keep copy legible while letting the photography read through. */
.hero__slide::before { background:linear-gradient(90deg,rgba(5,12,22,.82) 0%,rgba(8,18,31,.38) 34%,rgba(8,18,31,.06) 70%,rgba(8,18,31,.015) 100%),linear-gradient(0deg,rgba(5,12,22,.16),transparent 36%); display:none; }
.contact-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.84) 0%,rgba(8,18,31,.4) 40%,rgba(8,18,31,.07) 78%,rgba(8,18,31,.015) 100%),linear-gradient(0deg,rgba(5,12,22,.2),transparent 48%); }
.about-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.82) 0%,rgba(8,18,31,.36) 42%,rgba(8,18,31,.05) 78%,rgba(8,18,31,.015) 100%),linear-gradient(0deg,rgba(5,12,22,.18),transparent 45%); }
.products-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.84) 0%,rgba(8,18,31,.38) 40%,rgba(8,18,31,.06) 82%,rgba(8,18,31,.015) 100%),linear-gradient(0deg,rgba(5,12,22,.18),transparent 45%); }
.news-page-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.84) 0%,rgba(8,18,31,.36) 46%,rgba(8,18,31,.06) 86%,rgba(8,18,31,.015) 100%),linear-gradient(0deg,rgba(5,12,22,.2),transparent 48%); }
@media (max-width:640px) {
  .hero__slide::before { background:linear-gradient(90deg,rgba(5,12,22,.84) 0%,rgba(8,18,31,.34) 62%,rgba(8,18,31,.06) 100%),linear-gradient(0deg,rgba(5,12,22,.18),transparent 42%); display:none; }
  .contact-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.86) 0%,rgba(8,18,31,.34) 64%,rgba(8,18,31,.06) 100%),linear-gradient(0deg,rgba(5,12,22,.2),transparent 46%); }
  .about-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.84) 0%,rgba(8,18,31,.34) 68%,rgba(8,18,31,.06) 100%),linear-gradient(0deg,rgba(5,12,22,.18),transparent 42%); }
  .products-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.86) 0%,rgba(8,18,31,.34) 70%,rgba(8,18,31,.06) 100%),linear-gradient(0deg,rgba(5,12,22,.18),transparent 42%); }
  .news-page-hero::before { background:linear-gradient(90deg,rgba(5,12,22,.86) 0%,rgba(8,18,31,.34) 68%,rgba(8,18,31,.06) 100%),linear-gradient(0deg,rgba(5,12,22,.2),transparent 44%); }
}
.product-detail__missing h1 { font-size:clamp(48px,6vw,88px); letter-spacing:-.06em; line-height:.95; margin:25px 0; }
.product-detail__missing > p:not(.section-label) { color:#687583; font-size:18px; line-height:1.6; margin:0 auto 32px; max-width:470px; }
@media (max-width:900px) { .product-detail__hero { align-items:start; gap:50px; grid-template-columns:1fr; } .product-detail__summary { max-width:760px; } .product-detail__information { gap:45px; grid-template-columns:1fr; } }
@media (max-width:640px) { .product-detail__content { padding:50px 22px 80px; } .product-detail__breadcrumb { margin-bottom:38px; } .product-detail__image-wrap { border-radius:12px; } .product-detail__image-wrap img { aspect-ratio:1 / 1; } .product-detail__summary .section-label { margin-bottom:22px; } .product-detail__summary h1 { font-size:clamp(44px,12vw,64px); } .product-detail__intro { font-size:17px; margin:24px 0 32px; } .product-detail__specs { grid-template-columns:1fr; } .product-detail__specs div { border-bottom:1px solid var(--line); border-right:0; min-height:0; padding:14px 0; } .product-detail__specs div+div { padding-left:0; } .product-detail__specs div:last-child { border-bottom:0; padding-right:0; } .product-detail__information { margin-top:83px; padding-top:38px; } .product-detail__information-heading h2 { font-size:clamp(43px,11vw,62px); } .product-detail__body p { font-size:17px; line-height:1.65; } .product-detail__demo-note { margin-top:40px; } .product-detail__switcher { display:block; margin-top:74px; } .product-detail__switcher-link { border-bottom:1px solid var(--line); padding:0 0 27px 38px; text-align:left; } .product-detail__switcher-link--next { padding-left:0; padding-right:38px; padding-top:27px; text-align:right; } .product-detail__switcher-link b { left:0; right:auto; top:27px; } .product-detail__switcher-link--next b { left:auto; right:0; top:27px; } }

/* Keep the proof-strip copy inside its columns on narrow screens. */
.proof-bar { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:900px) {
  .proof-bar div { flex-wrap:wrap; min-width:0; }
  .proof-bar span { overflow-wrap:anywhere; }
}
@media (max-width:640px) { .proof-bar { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Ultrawide layout: preserve full-bleed backgrounds while keeping content readable. */
@media (min-width:2200px) {
  :root { --wide-gutter:max(140px, calc((100vw - 2304px) / 2)); }
  .section,.proof-bar,.about-video,.contact,.footer { padding-inline:var(--wide-gutter); }
  .section-intro,.factory-story__intro,.news-page-intro { gap:min(7vw,140px); }
  .contact,.contact-main,.contact-map-section,.about-trust { column-gap:clamp(90px,5vw,140px); }
  .section:not(.capabilities) h2,.news-page-intro h2,.contact-map__heading h2,.contact-main__intro h2 { font-size:clamp(78px,calc(2.9rem + 1.65vw),110px); }
  .section-label { font-size:clamp(11px,calc(.35rem + .3vw),17px); }
  .section-note { font-size:clamp(18px,calc(.625rem + .36vw),24px); max-width:650px; }
  .button { font-size:clamp(13px,calc(.45rem + .26vw),18px); gap:clamp(30px,1.25vw,48px); padding:clamp(20px,.75vw,29px) clamp(22px,.85vw,33px); }
  .link-arrow { font-size:clamp(14px,calc(.5rem + .28vw),19px); }
  .link-arrow span { font-size:clamp(27px,1vw,38px); }

  .site-header { height:clamp(86px,3vw,114px); padding-inline:max(76px, calc((100vw - 2500px) / 2)); }
  .brand,.brand__crop { width:clamp(180px,6vw,240px); }
  .brand__crop { height:clamp(53px,1.78vw,71px); }
  .brand__crop img { height:clamp(180px,6vw,240px); top:clamp(-85px,-2.125vw,-64px); width:clamp(180px,6vw,240px); }
  .desktop-nav a,.header-contact { font-size:clamp(12px,calc(.35rem + .3vw),17px); }
  .hero__controls { right:var(--wide-gutter); }
  .hero__arrow { height:clamp(42px,1.5vw,58px); width:clamp(42px,1.5vw,58px); }

  .about-hero,.products-hero,.news-page-hero,.contact-hero { min-height:clamp(520px,50vh,1100px); }
  .about-hero__copy,.products-hero__copy,.news-page-hero__copy,.contact-hero__copy { margin-left:var(--wide-gutter); max-width:900px; padding-inline:0; width:min(900px,calc(100% - var(--wide-gutter) - var(--wide-gutter))); }
  .about-hero h1,.products-hero h1,.news-page-hero h1,.contact-hero h1 { font-size:clamp(106px,calc(4.25rem + 2vw),145px); }
  .products-hero__intro,.news-page-hero__intro,.contact-hero__intro { font-size:clamp(20px,calc(.75rem + .42vw),28px); max-width:680px; }
  .about-hero__intro { font-size:clamp(16px,calc(.5rem + .35vw),20px); max-width:min(440px,22vw); }
  .news-page-hero__mark { right:var(--wide-gutter); }
  .news-page-hero__mark strong { font-size:clamp(76px,3vw,112px); }

  .proof-bar strong { font-size:clamp(37px,calc(1.4rem + .8vw),53px); }
  .proof-bar span { font-size:clamp(11px,calc(.375rem + .3vw),17px); }
  .product-card__image,.product-page-card .product-card__image { --image-height:clamp(300px,11vw,430px); height:var(--image-height); }
  .product-card__body { min-height:clamp(153px,5vw,200px); padding:clamp(25px,1vw,38px); }
  .product-card h3 { font-size:clamp(26px,calc(.75rem + .73vw),40px); }
  .product-card__body p { font-size:clamp(12px,calc(.375rem + .32vw),18px); }
  .product-card__body small { font-size:clamp(10px,.42vw,15px); }
  .factory-story-card { min-height:clamp(400px,15vw,570px); }
  .factory-story-card--wide { min-height:clamp(816px,30.5vw,1156px); }
  .factory-story-card h3,.factory-story-card:not(.factory-story-card--wide) h3 { font-size:clamp(29px,calc(1.2rem + .55vw),42px); }
  .factory-story-card p { font-size:clamp(14px,calc(.5rem + .4vw),21px); max-width:560px; }
  .factory-story-card > div { padding:clamp(30px,1.2vw,46px); }
  .factory-tour__item figcaption strong { font-size:clamp(24px,calc(.9rem + .5vw),34px); }
  .factory-tour__heading > p:last-child,.factory-story__intro > p { font-size:clamp(19px,calc(.75rem + .35vw),25px); max-width:680px; }

  .company { grid-template-columns:.85fr 1.15fr; }
  .company__copy p { font-size:clamp(17px,calc(.625rem + .36vw),24px); max-width:1100px; }
  .certifications__icon { height:clamp(34px,1.2vw,46px); width:clamp(34px,1.2vw,46px); }
  .certifications strong { font-size:clamp(24px,calc(.9rem + .52vw),35px); }
  .certifications span:not(.certifications__icon) { font-size:clamp(9px,calc(.3rem + .22vw),14px); }
  .news-card__date strong { font-size:clamp(46px,2vw,68px); }
  .news-card h3 { font-size:clamp(38px,calc(1.4rem + .8vw),55px); }
  .news-card p { font-size:clamp(13px,calc(.5rem + .32vw),20px); }

  .contact h2 { font-size:clamp(98px,calc(3.8rem + 1.95vw),136px); }
  .contact__copy>p:not(.eyebrow) { font-size:clamp(17px,calc(.625rem + .36vw),24px); max-width:650px; }
  .contact__details p { font-size:clamp(13px,calc(.375rem + .35vw),20px); }
  .contact__details small { font-size:clamp(11px,.38vw,16px); }
  .footer__label { font-size:clamp(10px,.33vw,15px); }
  .footer__links a,.footer__links span,.footer__brand>p { font-size:clamp(11px,calc(.35rem + .28vw),17px); }

  .about-founder { gap:clamp(90px,6vw,130px); grid-template-columns:minmax(0,850px) minmax(0,650px); justify-content:center; }
  .about-founder__copy { max-width:850px; }
  .about-founder h2 { font-size:clamp(104px,calc(3.5rem + 1.8vw),126px); }
  .about-founder__lead { font-size:clamp(19px,calc(.7rem + .35vw),26px); max-height:clamp(420px,17vw,650px); max-width:850px; }
  .about-founder__portrait img { max-height:850px; }
  .about-video__copy { max-width:900px; }
  .about-video__copy h2 { font-size:clamp(66px,calc(2.1rem + 1.5vw),92px); }
  .about-video__description { font-size:clamp(19px,calc(.7rem + .35vw),26px); max-width:720px; }
  .about-support-card { padding:clamp(28px,1.2vw,46px); }
  .about-support-card h3 { font-size:clamp(34px,calc(1.25rem + .6vw),45px); }
  .about-support-card li,.about-support-card__lead { font-size:clamp(15px,calc(.6rem + .32vw),22px); }
  .about-trust__copy { max-width:700px; }
  .about-trust__copy p { font-size:clamp(17px,calc(.625rem + .36vw),24px); }
  .about-trust__certificates { justify-self:center; max-width:2000px; width:100%; }

  .products-catalog__layout { grid-template-columns:clamp(260px,12vw,320px) minmax(0,1fr); }
  .products-sidebar__heading p { font-size:clamp(23px,.9vw,32px); }
  .products-filter__button { font-size:clamp(14px,calc(.5rem + .3vw),20px); }
  .products-category__child { font-size:clamp(13px,calc(.45rem + .28vw),18px); }
  .products-catalog__results-heading p { font-size:clamp(16px,calc(.6rem + .3vw),22px); }
  .product-page-card .product-card__body { min-height:clamp(172px,5vw,215px); }
  .news-page-intro__note { font-size:clamp(17px,calc(.625rem + .36vw),24px); max-width:720px; }
  .news-item { min-height:clamp(350px,16vw,470px); }
  .news-item h3 { font-size:clamp(34px,calc(1.1rem + .65vw),46px); max-width:650px; }
  .news-item p { font-size:clamp(15px,calc(.55rem + .3vw),21px); max-width:650px; }
  .news-item__date,.news-item__number { font-size:clamp(11px,.4vw,16px); }
  .news-item__read-more { font-size:clamp(12px,.4vw,16px); }
  .news-item__read-more { padding:clamp(15px,.55vw,21px) clamp(18px,.7vw,27px); }
  .contact-info-item h3 { font-size:clamp(28px,calc(1rem + .6vw),40px); }
  .contact-info-item p,.contact-form__top p:last-child { font-size:clamp(17px,calc(.625rem + .36vw),24px); }
  .contact-info-item small,.contact-form__top .section-label { font-size:clamp(13px,.4vw,17px); }
  .contact-form { justify-self:end; max-width:1000px; width:100%; }
  .contact-field span { font-size:clamp(12px,.35vw,16px); }
  .contact-field input,.contact-field textarea { font-size:clamp(16px,.45vw,21px); }
  .contact-socials { gap:clamp(16px,.55vw,21px); }
  .contact-social-link { height:clamp(44px,1.6vw,60px); width:clamp(44px,1.6vw,60px); }
  .contact-social-link img,.contact-social-link--facebook img,.contact-social-link--linkedin img,.contact-social-link--tiktok img { height:clamp(24px,.85vw,32px); width:clamp(24px,.85vw,32px); }
  .contact-map,.contact-map iframe { min-height:clamp(510px,21vw,720px); }
  .about-video__play-ring { height:clamp(76px,2.65vw,100px); width:clamp(76px,2.65vw,100px); }
  .about-video__play-label { font-size:clamp(15px,.65vw,24px); }
  .products-pagination button,.news-pagination button { font-size:clamp(12px,.4vw,16px); height:clamp(36px,1.4vw,52px); min-width:clamp(36px,1.4vw,52px); }

  .product-detail__content,.news-detail__content { max-width:clamp(1440px,60vw,2200px); }
  .product-detail__summary { max-width:760px; }
  .product-detail__summary h1,.news-detail__header-copy h1 { font-size:clamp(82px,calc(2.7rem + 1.35vw),110px); }
  .product-detail__intro,.product-detail__body p,.news-detail__summary,.news-detail__body p { font-size:clamp(21px,calc(.8rem + .35vw),27px); }
  .product-detail__specs span { font-size:clamp(10px,.33vw,15px); }
  .product-detail__specs strong { font-size:clamp(18px,.65vw,24px); }
  .product-detail__information-heading h2 { font-size:clamp(76px,calc(2.5rem + 1.4vw),100px); }
  .news-detail__back,.product-detail__breadcrumb a { font-size:clamp(14px,.4vw,18px); }
  .news-detail__switcher-link strong,.product-detail__switcher-link strong { font-size:clamp(28px,.8vw,36px); }
  .news-detail__header-copy { max-width:1100px; }
  .news-detail__body { max-width:800px; }
}
