@import "tailwindcss";

@font-face { font-family:"Manrope"; src:url("/fonts/manrope-400.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Manrope"; src:url("/fonts/manrope-500.woff2") format("woff2"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"Manrope"; src:url("/fonts/manrope-600.woff2") format("woff2"); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:"Manrope"; src:url("/fonts/manrope-700.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"Manrope"; src:url("/fonts/manrope-800.woff2") format("woff2"); font-weight:800; font-style:normal; font-display:swap; }

:root { --blue:#009FE2; --purple:#300175; --ink:#0d1117; --paper:#f4f6f7; --line:#d8dde2; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:"Manrope","Segoe UI Variable","Helvetica Neue",Arial,sans-serif; font-weight:400; }
button,input,select,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
em { color:var(--blue); font-style:normal; }
.icon { display:inline-block; width:1em; height:1em; flex:0 0 auto; background:currentColor; vertical-align:-.12em; -webkit-mask-position:center; -webkit-mask-repeat:no-repeat; -webkit-mask-size:contain; mask-position:center; mask-repeat:no-repeat; mask-size:contain; }
.icon-arrow-up-right { -webkit-mask-image:url("/icons/arrow-up-right.svg"); mask-image:url("/icons/arrow-up-right.svg"); }
.icon-arrow-down { -webkit-mask-image:url("/icons/arrow-down.svg"); mask-image:url("/icons/arrow-down.svg"); }
.icon-arrow-up { -webkit-mask-image:url("/icons/arrow-up.svg"); mask-image:url("/icons/arrow-up.svg"); }
.icon-plus { -webkit-mask-image:url("/icons/plus.svg"); mask-image:url("/icons/plus.svg"); }
.icon-factory { -webkit-mask-image:url("/icons/factory.svg"); mask-image:url("/icons/factory.svg"); }
.icon-cog { -webkit-mask-image:url("/icons/cog.svg"); mask-image:url("/icons/cog.svg"); }
.icon-scan-line { -webkit-mask-image:url("/icons/scan-line.svg"); mask-image:url("/icons/scan-line.svg"); }
.icon-boxes { -webkit-mask-image:url("/icons/boxes.svg"); mask-image:url("/icons/boxes.svg"); }
.icon-mail { -webkit-mask-image:url("/icons/mail.svg"); mask-image:url("/icons/mail.svg"); }
.icon-globe { -webkit-mask-image:url("/icons/globe.svg"); mask-image:url("/icons/globe.svg"); }
.icon-gauge { -webkit-mask-image:url("/icons/gauge.svg"); mask-image:url("/icons/gauge.svg"); }
.icon-users { -webkit-mask-image:url("/icons/users.svg"); mask-image:url("/icons/users.svg"); }
.icon-map-pin { -webkit-mask-image:url("/icons/map-pin.svg"); mask-image:url("/icons/map-pin.svg"); }
.icon-phone { -webkit-mask-image:url("/icons/phone.svg"); mask-image:url("/icons/phone.svg"); }
.icon-message-circle { -webkit-mask-image:url("/icons/message-circle.svg"); mask-image:url("/icons/message-circle.svg"); }
.icon-shield-check { -webkit-mask-image:url("/icons/shield-check.svg"); mask-image:url("/icons/shield-check.svg"); }
.icon-database { -webkit-mask-image:url("/icons/database.svg"); mask-image:url("/icons/database.svg"); }
.icon-badge-check { -webkit-mask-image:url("/icons/badge-check.svg"); mask-image:url("/icons/badge-check.svg"); }

.site-header { height:86px; padding:0 4.5vw; display:grid; grid-template-columns:290px 1fr auto; align-items:center; gap:32px; border-bottom:1px solid rgba(255,255,255,.22); position:fixed; inset:0 0 auto; z-index:20; color:white; background:transparent; transition:background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease; }
.brand { display:flex; align-items:center; width:280px; height:52px; padding:7px 12px; overflow:hidden; background:white; }
.brand img { width:100%; height:100%; object-fit:contain; }
.site-header nav { display:flex; justify-content:center; gap:clamp(14px,1.7vw,30px); font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; white-space:nowrap; }
.site-header nav a { position:relative; }
.site-header nav a:after { content:""; position:absolute; left:0; right:100%; bottom:-9px; height:2px; background:var(--blue); transition:.25s; }
.site-header nav a:hover:after { right:0; }
.header-cta { border:1px solid rgba(255,255,255,.7); padding:13px 18px; font-size:12px; font-family:inherit; text-transform:uppercase; letter-spacing:.08em; font-weight:700; cursor:pointer; white-space:nowrap; }
.header-cta span { color:white; padding-left:12px; }
.site-header.is-scrolled { background:white; color:var(--ink); border-bottom-color:var(--line); box-shadow:0 8px 28px rgba(13,17,23,.08); }

.hero { min-height:830px; position:relative; display:grid; grid-template-columns:52% 48%; background:var(--purple); color:white; padding-top:86px; overflow:hidden; }
.hero:before { content:""; position:absolute; width:630px; height:630px; border:1px solid rgba(0,159,226,.2); border-radius:50%; left:-250px; top:100px; box-shadow:0 0 0 120px rgba(0,159,226,.04),0 0 0 240px rgba(0,159,226,.025); }
.hero-copy { padding:115px 6vw 170px; z-index:2; }
.kicker { display:flex; align-items:center; gap:16px; color:#72d7ff; font-size:11px; letter-spacing:.22em; font-weight:700; }
.kicker i { width:90px; height:1px; background:rgba(114,215,255,.5); }
.hero h1 { font-size:clamp(54px,5.4vw,88px); line-height:.98; letter-spacing:-.055em; margin:34px 0 30px; max-width:840px; }
.hero h1 em { display:inline-block; margin-top:8px; }
.hero-copy>p { max-width:610px; color:#cbd5df; font-size:17px; line-height:1.75; }
.hero-actions { display:flex; gap:30px; align-items:center; margin-top:38px; }
.button { display:inline-flex; gap:55px; align-items:center; padding:18px 22px; text-transform:uppercase; letter-spacing:.1em; font-size:12px; font-weight:700; }
.button-primary { background:var(--blue); color:white; }
.button-primary:hover { background:#4cc9ff; }
.text-link { border-bottom:1px solid rgba(255,255,255,.4); padding:10px 0; text-transform:uppercase; font-weight:700; letter-spacing:.1em; font-size:11px; }
.text-link span { padding-left:18px; color:var(--blue); }
.text-link>.icon,.showcase-copy a>.icon { margin-left:18px; color:var(--blue); }
.hero-visual { position:relative; min-height:620px; margin:40px 0 110px; overflow:hidden; }
.hero-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,3,48,.48),transparent 45%),linear-gradient(0deg,rgba(7,17,25,.55),transparent 50%); }
.hero-visual img { height:100%; object-fit:cover; filter:contrast(1.07) saturate(.86); }
.hero-label { position:absolute; z-index:2; bottom:34px; left:35px; border-left:3px solid var(--blue); padding-left:15px; display:flex; flex-direction:column; gap:7px; }
.hero-label span { font-size:10px; color:#98a9b7; letter-spacing:.2em; }
.hero-label strong { font-size:13px; letter-spacing:.15em; }
.hero-rail { position:absolute; z-index:2; top:0; right:0; bottom:0; width:50px; display:flex; align-items:center; justify-content:center; gap:34px; writing-mode:vertical-rl; background:rgba(7,12,18,.72); font-size:9px; letter-spacing:.18em; }
.hero-rail b { color:#6dd6ff; }
.proof-strip { position:absolute; z-index:3; left:0; bottom:0; width:100%; min-height:112px; display:grid; grid-template-columns:repeat(4,1fr); padding-left:6vw; background:rgba(5,12,20,.82); backdrop-filter:blur(12px); border-top:1px solid rgba(255,255,255,.12); }
.proof-strip div { display:flex; gap:18px; align-items:center; border-right:1px solid rgba(255,255,255,.12); padding:20px 3vw; }
.proof-strip strong { font-size:34px; line-height:1; }
.proof-strip sup { color:var(--blue); font-size:15px; }
.proof-strip span { color:#93a5b4; text-transform:uppercase; letter-spacing:.1em; font-size:10px; line-height:1.5; }

.section { padding:110px 6vw; }
.section-heading { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:5vw; align-items:end; margin-bottom:66px; }
.section-heading>div { align-self:start; display:flex; gap:16px; align-items:center; }
.section-no { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); font-size:11px; color:var(--blue); }
.overline { color:#697580; font-size:10px; font-weight:700; letter-spacing:.2em; }
.section-heading h2,.capability-copy h2,.company-copy h2,.rfq h2 { margin:0; font-size:clamp(38px,4vw,62px); line-height:1.03; letter-spacing:-.045em; }
.section-heading>p { color:#68747e; line-height:1.7; margin:0; font-size:14px; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.product-card { min-height:360px; padding:26px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; transition:.25s; }
.product-card:hover { background:#f3f8fb; transform:translateY(-4px); box-shadow:0 18px 40px rgba(17,45,63,.08); }
.card-top { display:flex; justify-content:space-between; color:#75828c; font-size:9px; letter-spacing:.16em; }
.card-top b { color:#b6c0c8; font-size:13px; }
.product-card h3 { margin:80px 0 18px; font-size:25px; letter-spacing:-.03em; }
.product-card>p { color:#68747e; line-height:1.65; font-size:14px; margin:0; }
.card-bottom { margin-top:auto; display:flex; justify-content:space-between; align-items:end; color:#7c8992; font-size:10px; line-height:1.4; text-transform:uppercase; letter-spacing:.08em; }
.card-bottom a { width:38px; height:38px; display:grid; place-items:center; background:var(--ink); color:white; font-size:17px; }
.product-showcase { margin-top:72px; display:grid; grid-template-columns:1.45fr .75fr; background:var(--paper); }
.showcase-image { min-height:430px; overflow:hidden; }
.showcase-image img { height:100%; object-fit:cover; }
.showcase-copy { padding:55px 50px; display:flex; flex-direction:column; justify-content:center; }
.showcase-copy>span { color:var(--blue); font-size:10px; letter-spacing:.2em; font-weight:700; }
.showcase-copy h3 { font-size:34px; letter-spacing:-.035em; line-height:1.1; margin:20px 0; }
.showcase-copy p { color:#65717c; line-height:1.75; font-size:14px; }
.showcase-copy a { margin-top:18px; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.showcase-copy a span { color:var(--blue); padding-left:16px; }

.capabilities { display:grid; grid-template-columns:1.05fr 1fr; padding-top:110px; background:white; gap:7vw; }
.capability-image { position:relative; min-height:740px; overflow:hidden; }
.capability-slides { position:absolute; inset:0; }
.capability-slide { position:absolute; inset:0; height:100%; object-fit:cover; opacity:0; transform:scale(1.025); transition:opacity .55s ease,transform .8s ease; }
.capability-slide.active { opacity:1; transform:scale(1); }
.image-caption { position:absolute; z-index:3; left:0; right:0; bottom:0; min-height:58px; padding:12px 24px; background:rgba(9,15,22,.86); color:white; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; font-size:10px; letter-spacing:.15em; }
.image-caption>b { justify-self:end; }
.carousel-controls { display:flex; align-items:center; justify-content:center; gap:14px; }
.carousel-controls>button { width:30px; height:30px; padding:0; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:transparent; color:white; cursor:pointer; display:grid; place-items:center; line-height:0; }
.carousel-controls>button:hover { background:var(--blue); border-color:var(--blue); }
.carousel-arrow { width:14px; height:14px; vertical-align:0; }
.carousel-arrow-prev { transform:rotate(90deg); }
.carousel-arrow-next { transform:rotate(-90deg); }
.carousel-dots { display:flex; gap:7px; }
.carousel-dots button { width:7px; height:7px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.42); cursor:pointer; }
.carousel-dots button.active { background:white; box-shadow:0 0 0 3px rgba(255,255,255,.16); }
.capability-copy { padding:85px 2vw 60px 0; }
.section-heading.compact { display:block; margin-bottom:34px; }
.section-heading.compact>div { margin-bottom:34px; }
.capability-copy .lead { color:#63707b; font-size:16px; line-height:1.75; max-width:660px; }
.capability-list { margin-top:45px; border-top:1px solid #cfd5da; }
.capability-list>div { display:grid; grid-template-columns:54px 1fr; gap:15px; padding:21px 0; border-bottom:1px solid #cfd5da; }
.capability-list b { color:var(--blue); font-size:11px; }
.capability-list>div>.icon { width:20px; height:20px; color:var(--blue); transition:color .25s ease; }
.capability-list>div:hover>.icon { color:var(--purple); }
.capability-list span { color:#697681; font-size:13px; line-height:1.5; }
.capability-list strong { display:block; color:var(--ink); font-size:15px; margin-bottom:4px; }

.quality { background:var(--purple); color:white; padding:110px 6vw 0; display:grid; grid-template-columns:.85fr 1.15fr; column-gap:7vw; }
.overline.light { color:#67cfff; }
.quality-copy h2 { font-size:clamp(42px,4.5vw,72px); line-height:1; letter-spacing:-.05em; margin:28px 0; }
.quality-copy p { color:#b9c0cb; line-height:1.8; font-size:15px; max-width:620px; }
.quality-list { display:flex; flex-direction:column; margin-top:32px; border-top:1px solid rgba(255,255,255,.18); }
.quality-list>div { display:grid; grid-template-columns:34px 1fr; gap:15px; align-items:center; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.quality-list>div>.icon { width:20px; height:20px; color:#70d7ff; }
.quality-list span { display:flex; flex-direction:column; gap:4px; }
.quality-list strong { font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.quality-list small { color:#b9c0cb; font-size:10px; line-height:1.45; }
.quality-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; margin-top:24px; padding:14px 17px; border:1px solid rgba(255,255,255,.5); color:white; font-size:9px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.quality-cta .icon { color:#70d7ff; }
.quality-image { align-self:center; height:510px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:rgba(48,1,117,.22); overflow:hidden; }
.quality-image img { width:100%; height:100%; padding:20px 12px; object-fit:contain; background:white; }
.quality-brands { grid-column:1/-1; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); align-items:center; margin-top:75px; }
.brand-item { position:relative; min-height:118px; padding:26px 20px; display:flex; align-items:center; justify-content:center; }
.brand-item:not(:last-child)::after { content:""; position:absolute; right:0; top:50%; width:1px; height:38px; background:rgba(112,215,255,.55); transform:translateY(-50%); }
.brand-item img { width:112px; max-width:88%; height:36px; object-fit:contain; filter:brightness(0) invert(1); opacity:.86; }
.brand-item:nth-child(1) img,.brand-item:nth-child(7) img { width:42px; height:42px; }
.brand-item:nth-child(5) img { width:104px; height:54px; filter:none; object-fit:contain; }

.section-heading.inline { grid-template-columns:.7fr 1.2fr; }
.company { display:grid; grid-template-columns:1.15fr .85fr; min-height:680px; }
.company-image { overflow:hidden; }
.company-image img { height:100%; object-fit:cover; }
.company-copy { background:#eef2f4; padding:100px 6vw; display:flex; flex-direction:column; justify-content:center; }
.company-copy h2 { margin:28px 0; }
.company-copy>p { color:#63717b; line-height:1.8; font-size:15px; }
.company-points { display:flex; flex-direction:column; border-top:1px solid #ccd4da; margin:22px 0 28px; }
.company-points span { padding:13px 0; border-bottom:1px solid #ccd4da; text-transform:uppercase; letter-spacing:.1em; font-size:10px; }
.text-link.dark { color:#17212a; border-color:#9ba7b0; align-self:flex-start; }

.news { background:white; }
.news-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; margin-bottom:52px; }
.news-heading h2 { margin:24px 0 18px; font-size:clamp(42px,4vw,62px); line-height:1.03; letter-spacing:-.045em; }
.news-heading p { max-width:610px; margin:0; color:#68747e; font-size:14px; line-height:1.7; }
.news-heading>a { display:inline-flex; align-items:center; gap:26px; padding:14px 17px; border:1px solid #aeb7bf; text-transform:uppercase; letter-spacing:.1em; font-size:10px; font-weight:600; white-space:nowrap; }
.news-heading>a .icon { color:var(--blue); }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,1.8vw,30px); }
.news-card { overflow:hidden; }
.news-image { aspect-ratio:4/3; height:auto; overflow:hidden; background:#d9dfe3; }
.news-image img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.7); transition:transform .65s ease,filter .3s ease; }
.news-card:hover .news-image img { transform:scale(1.04); filter:saturate(.95); }
.news-copy { padding:22px 24px 0 0; }
.news-copy>span { color:#78838c; font-size:9px; letter-spacing:.14em; }
.news-copy h3 { min-height:58px; margin:15px 0 22px; font-size:22px; line-height:1.28; letter-spacing:-.025em; transition:color .25s ease; }
.news-card:hover .news-copy h3 { color:var(--blue); }
.news-copy p { display:flex; align-items:center; justify-content:space-between; margin:0; padding-top:15px; border-top:1px solid var(--line); color:#5f6b74; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.news-copy p .icon { color:var(--blue); }

.rfq { background:var(--purple); color:white; padding:100px 8vw; display:grid; grid-template-columns:1fr 1fr; gap:10vw; }
.rfq h2 { margin:28px 0; font-size:clamp(44px,5vw,72px); }
.rfq-intro>p { color:#c6bddb; line-height:1.8; max-width:620px; }
.contact-lines { display:flex; flex-direction:column; gap:12px; margin-top:36px; color:white; }
.contact-lines p { display:grid; grid-template-columns:22px minmax(0,1fr); gap:13px; align-items:start; margin:0; font-size:12px; line-height:1.55; }
.contact-lines p>.icon { width:16px; height:16px; margin-top:1px; color:#70d7ff; }
.contact-lines p>span,.contact-lines p>a { color:white; }
.contact-emails>span { display:flex; flex-wrap:wrap; gap:5px 18px; }
.rfq form { display:flex; flex-direction:column; gap:20px; }
.rfq label span { display:block; color:white; font-size:9px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:7px; }
.rfq input,.rfq select,.rfq textarea { width:100%; padding:15px 0; background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,.34); color:white; border-radius:0; outline:none; font:inherit; }
.rfq input:focus,.rfq select:focus,.rfq textarea:focus { border-color:#70d7ff; }
.rfq select option { color:#111; }
.rfq input::placeholder,.rfq textarea::placeholder { color:rgba(255,255,255,.72); }
.rfq button { position:relative; border:0; background:var(--blue); color:white; padding:18px 54px; display:flex; align-items:center; justify-content:center; text-align:center; text-transform:uppercase; letter-spacing:.12em; font-weight:700; cursor:pointer; }
.rfq button .icon { position:absolute; right:22px; }
.rfq button:hover { background:#64d5ff; }
.rfq small { color:white; line-height:1.5; }

footer { position:relative; isolation:isolate; overflow:hidden; padding:52px 6vw 32px; background:#0b0f14; color:white; }
footer::before { content:""; position:absolute; z-index:-1; inset:0; background:url("/assets/world-map-footer.webp") 84% 42%/min(1120px,80vw) auto no-repeat; opacity:.075; pointer-events:none; }
.footer-brand { width:290px; height:42px; padding:0; background:transparent; }
footer>p { color:#77838e; margin:26px 0 50px; font-size:13px; }
footer>div { border-top:1px solid #262e36; padding-top:24px; display:flex; justify-content:space-between; color:#68737d; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
footer>div a { color:#7bdcff; }
footer>div a { display:inline-flex; align-items:center; gap:7px; }

.quote-modal { position:fixed; z-index:90; inset:0; display:grid; place-items:center; padding:24px; opacity:0; visibility:hidden; transition:opacity .25s ease,visibility .25s ease; }
.quote-modal.is-open { opacity:1; visibility:visible; }
.quote-modal-backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(5,10,18,.72); backdrop-filter:blur(8px); cursor:pointer; }
.quote-modal-panel { position:relative; z-index:1; width:min(720px,calc(100vw - 32px)); max-height:calc(100vh - 48px); overflow:auto; padding:52px; background:white; color:var(--ink); box-shadow:0 30px 90px rgba(0,0,0,.32); }
.quote-modal-close { position:absolute; top:20px; right:20px; width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:white; color:var(--ink); cursor:pointer; }
.quote-modal-close .icon { width:17px; height:17px; transform:rotate(45deg); }
.quote-modal-panel>.overline { color:var(--purple); }
.quote-modal-panel h2 { margin:18px 0 14px; font-size:clamp(34px,4vw,52px); line-height:1.05; letter-spacing:-.045em; }
.quote-modal-panel>p { margin:0 0 30px; color:#626e77; line-height:1.7; }
.quote-modal-form { display:grid; grid-template-columns:1fr 1fr; gap:22px 26px; }
.quote-modal-form label:last-of-type { grid-column:1/-1; }
.quote-modal-form label>span { display:block; margin-bottom:7px; color:#5d6871; font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.quote-modal-form input,.quote-modal-form select,.quote-modal-form textarea { width:100%; padding:13px 0; border:0; border-bottom:1px solid #bfc7ce; border-radius:0; outline:none; background:transparent; color:var(--ink); }
.quote-modal-form input:focus,.quote-modal-form select:focus,.quote-modal-form textarea:focus { border-color:var(--blue); }
.quote-modal-form textarea { resize:vertical; }
.quote-modal-form>button { grid-column:1/-1; position:relative; border:0; padding:17px 50px; background:var(--blue); color:white; text-transform:uppercase; letter-spacing:.11em; font-weight:700; cursor:pointer; }
.quote-modal-form>button .icon { position:absolute; right:22px; }

@media (max-width:1050px) {
  .site-header { grid-template-columns:230px 1fr auto; }
  .site-header nav { gap:17px; }
  .hero { grid-template-columns:1fr; }
  .hero-copy { padding-bottom:80px; }
  .hero-visual { margin:0 6vw 110px; min-height:500px; }
  .section-heading { grid-template-columns:.65fr 1.4fr; }
  .section-heading>p { grid-column:2; }
  .product-grid { grid-template-columns:repeat(2,1fr); }
  .capabilities { grid-template-columns:1fr; }
  .capability-image { min-height:560px; }
  .capability-copy { padding:20px 3vw 70px; }
  .quality { grid-template-columns:1fr; }
  .quality-image { margin-top:50px; }
  .news-grid { grid-template-columns:repeat(2,1fr); }
  .news-card:last-child { grid-column:1/-1; }
  .company { grid-template-columns:1fr; }
  .company-image { min-height:500px; }
}

@media (max-width:720px) {
  .site-header { height:72px; padding:0 20px; grid-template-columns:1fr auto; }
  .site-header .brand { width:190px; height:42px; }
  .site-header nav { display:none; }
  .header-cta { padding:11px 12px; font-size:9px; }
  .header-cta span { display:none; }
  .hero { padding-top:72px; min-height:0; }
  .hero-copy { padding:78px 24px 55px; }
  .hero h1 { font-size:50px; }
  .hero-copy>p { font-size:15px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:12px; }
  .hero-visual { margin:0 20px 210px; min-height:390px; }
  .proof-strip { grid-template-columns:repeat(2,1fr); padding-left:0; }
  .proof-strip div { padding:18px 20px; }
  .proof-strip strong { font-size:28px; }
  .section { padding:80px 22px; }
  .section-heading,.section-heading.inline { display:block; }
  .section-heading>div { margin-bottom:28px; }
  .section-heading h2 { margin-bottom:22px; }
  .product-grid,.news-grid { grid-template-columns:1fr; }
  .product-card { min-height:310px; }
  .product-showcase { grid-template-columns:1fr; }
  .showcase-image { min-height:290px; }
  .showcase-copy { padding:40px 26px; }
  .capabilities { padding:80px 20px 0; gap:30px; }
  .capability-image { min-height:460px; }
  .capability-copy { padding-right:0; }
  .quality { padding:80px 22px 0; }
  .quality-image { height:320px; min-height:0; }
  .quality-brands { grid-template-columns:repeat(4,1fr); margin-top:40px; }
  .brand-item { border-bottom:0; }
  .news-heading { display:block; }
  .news-heading>a { margin-top:28px; }
  .news-card:last-child { grid-column:auto; }
  .quality-brands { grid-template-columns:repeat(2,1fr); }
  .contact-lines p { grid-template-columns:22px minmax(0,1fr); }
  .company-image { min-height:360px; }
  .company-copy { padding:70px 24px; }
  .rfq { grid-template-columns:1fr; padding:80px 24px; }
  footer { padding:46px 22px 28px; }
  footer>div { flex-direction:column; gap:14px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

/* Refined industrial editorial direction */
.loading-screen { position:fixed; inset:0; z-index:999; display:grid; place-items:center; background:var(--purple); color:white; pointer-events:none; animation:intro-out .65s cubic-bezier(.7,0,.2,1) 1.75s forwards; }
.loader-mark { display:flex; align-items:center; justify-content:center; width:min(460px,58vw); animation:loader-rise .9s ease both; }
.loader-mark img { display:block; width:100%; height:150px; object-fit:contain; }
.loader-progress { position:absolute; left:0; bottom:0; width:100%; height:2px; background:rgba(255,255,255,.22); }
.loader-progress i { display:block; width:0; height:100%; background:white; animation:loader-progress 1.65s linear forwards; }
.loading-screen>b { position:absolute; right:4.5vw; bottom:28px; display:flex; justify-content:flex-end; min-width:58px; font-size:18px; font-variant-numeric:tabular-nums; }

.site-header { height:78px; padding:0 4.8vw; grid-template-columns:280px 1fr auto; border-color:rgba(255,255,255,.25); animation:nav-in .75s ease 2s both; }
.site-header .brand { position:relative; width:280px; height:46px; padding:0; overflow:visible; background:transparent; }
.site-header .brand-logo { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:left center; transition:opacity .28s ease; }
.site-header .brand-logo-color { opacity:0; }
.site-header.is-scrolled .brand-logo-light { opacity:0; }
.site-header.is-scrolled .brand-logo-color { opacity:1; }
.site-header nav { gap:clamp(12px,1.5vw,26px); font-size:12px; letter-spacing:.055em; }
.site-header nav,.header-cta,.button,.text-link,.overline { font-weight:600; }
.header-cta { padding:12px 16px; background:var(--blue); border-color:rgba(255,255,255,.35); color:white; }

.hero { position:relative; display:block; min-height:720px; height:100svh; padding:0; background:var(--purple); overflow:hidden; }
.hero:before { content:none; }
.hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,27,66,.48) 0%,rgba(3,42,97,.25) 45%,rgba(2,30,72,.45) 100%),linear-gradient(0deg,rgba(4,25,55,.5),transparent 45%); }
.hero-media { position:absolute; inset:0; overflow:hidden; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.08); filter:saturate(.7) contrast(1.05) brightness(.9); animation:hero-focus 9s cubic-bezier(.2,.6,.2,1) 2s both; }
.hero-copy { position:absolute; z-index:2; left:clamp(90px,29vw,520px); top:50%; width:min(690px,55vw); padding:0; transform:translateY(-45%); animation:hero-copy-in .95s cubic-bezier(.2,.8,.2,1) 2.05s both; }
.hero .kicker { color:white; gap:14px; font-size:11px; letter-spacing:.18em; }
.hero .kicker i { width:65px; background:rgba(255,255,255,.6); }
.hero h1 { max-width:none; margin:24px 0 22px; font-size:clamp(46px,4.5vw,68px); line-height:1.04; letter-spacing:-.045em; }
.hero h1,.about-head h2,.section-heading h2,.capability-copy h2,.quality-copy h2,.rfq h2 { font-weight:600; }
.hero h1 em { color:white; font-weight:400; }
.hero-copy>p { max-width:560px; color:rgba(255,255,255,.82); font-size:15px; line-height:1.7; }
.hero-actions { margin-top:28px; gap:14px; }
.hero .button { gap:40px; padding:15px 20px; }
.hero .button>.icon,.hero .text-link>.icon { width:15px; height:15px; margin-left:auto; }
.hero .button-primary { background:var(--blue); color:white; border:1px solid rgba(255,255,255,.22); }
.hero .text-link { min-width:154px; padding:15px 20px; background:white; color:#111; border:0; }
.hero-side { position:absolute; z-index:3; right:0; top:0; bottom:0; width:68px; border-left:1px solid rgba(255,255,255,.28); display:flex; align-items:center; justify-content:center; gap:32px; color:rgba(255,255,255,.65); writing-mode:vertical-rl; font-size:8px; letter-spacing:.16em; }
.hero-side b { position:absolute; bottom:28px; color:white; font-size:12px; }
.scroll-cue { position:absolute; z-index:4; right:43px; bottom:72px; width:48px; height:48px; border-radius:50%; background:white; color:var(--purple); display:grid; place-items:center; isolation:isolate; }
.scroll-cue::before,.scroll-cue::after { content:""; position:absolute; inset:0; z-index:-1; border:1px solid rgba(255,255,255,.82); border-radius:50%; animation:scroll-ripple 2.4s ease-out infinite; pointer-events:none; }
.scroll-cue::after { animation-delay:1.2s; }
.scroll-cue span { position:absolute; right:-2px; bottom:63px; color:white; font-size:8px; letter-spacing:.18em; writing-mode:vertical-rl; }
.scroll-cue i { width:15px; height:15px; }

.home-about { padding:115px 6.8vw 130px; background:white; }
.about-head { display:grid; grid-template-columns:1.1fr 1.35fr; gap:7vw; align-items:start; }
.about-head .overline { display:block; margin-bottom:34px; color:var(--purple); }
.about-head h2 { margin:0; max-width:680px; font-size:clamp(34px,3.1vw,48px); line-height:1.18; letter-spacing:-.045em; }
.about-head>div:last-child { padding-top:45px; }
.about-head p { color:#555f68; font-size:14px; line-height:1.85; margin:0 0 25px; }
.about-head a { display:inline-flex; gap:36px; align-items:center; border:1px solid #a9b1b8; padding:13px 17px; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.about-head a .icon { color:var(--purple); width:16px; height:16px; }
.about-body { display:grid; grid-template-columns:.42fr 1fr; gap:5.5vw; margin-top:76px; align-items:start; }
.about-stats { border-top:1px solid #cbd2d8; }
.about-stats>div { min-height:122px; display:grid; grid-template-columns:130px 1fr 30px; align-items:center; gap:18px; border-bottom:1px solid #d8dde1; }
.about-stats strong { display:inline-flex; align-items:flex-start; gap:2px; color:var(--blue); font-size:49px; line-height:1; letter-spacing:-.05em; font-variant-numeric:tabular-nums; white-space:nowrap; transition:color .25s ease; }
.about-stats strong .stat-value { color:inherit; font:inherit; line-height:inherit; letter-spacing:inherit; text-transform:none; }
.about-stats strong sup { margin-top:.06em; font-size:18px; line-height:1; letter-spacing:0; }
.about-stats>div>.stat-label { color:#6b747c; font-size:10px; line-height:1.5; text-transform:uppercase; letter-spacing:.08em; }
.about-stats>div>.icon { width:20px; height:20px; justify-self:end; color:var(--blue); transition:color .25s ease; }
.about-stats>div:hover strong,.about-stats>div:hover>.icon { color:var(--purple); }
.about-image { margin:0; position:relative; overflow:hidden; min-height:515px; }
.about-image img { width:100%; height:515px; object-fit:cover; object-position:center; transition:transform .9s ease; }
.about-image:hover img { transform:scale(1.025); }

.products { background:#f6f7f8; padding-bottom:clamp(80px,8vw,110px); }
.product-card { background:#f6f7f8; }
.product-card:hover { background:white; }
.product-showcase { background:var(--purple); color:white; }
.showcase-image { min-height:500px; }
.showcase-image img { object-position:left center; }
.showcase-copy>span,.showcase-copy a span { color:#80d9ff; }
.showcase-copy a { display:inline-flex; align-items:center; }
.showcase-copy p { color:rgba(255,255,255,.75); }
.product-intro-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.product-intro { grid-column:span 2; min-height:500px; padding:48px 48px 48px 0; background:transparent; border:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.product-intro .overline { color:var(--purple); }
.product-intro h2 { margin:42px 0 24px; font-size:clamp(38px,3.4vw,54px); line-height:1.05; letter-spacing:-.05em; font-weight:600; }
.product-intro p { max-width:690px; margin:0; color:#626e77; font-size:14px; line-height:1.8; }
.product-intro>a { margin-top:36px; display:inline-flex; align-items:center; gap:34px; padding:14px 17px; border:1px solid #aeb7bf; text-transform:uppercase; letter-spacing:.1em; font-size:10px; font-weight:600; }
.product-intro>a .icon { width:15px; height:15px; color:var(--blue); }
.product-media-card { position:relative; min-height:500px; overflow:hidden; background:#cfd7dc; color:white; border:0; }
.product-media-card>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.03) brightness(.9); transition:transform .7s ease,filter .35s ease; }
.product-media-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,20,30,.04) 48%,rgba(10,20,30,.72)); }
.product-media-card:hover>img { transform:scale(1.045); filter:saturate(.94) contrast(1.04) brightness(.96); }
.product-image-starter,
.product-image-planetary,
.product-image-motor,
.product-image-gears { object-position:center; }
.product-image-robotics { object-position:center; }
.product-media-card:hover>.product-image-gears { transform:scale(1.045); }
.product-media-card:hover>.product-image-robotics { transform:scale(1.045); }
.product-card-link { position:absolute; z-index:2; inset:0; display:flex; align-items:flex-end; justify-content:center; padding:32px 24px 28px; text-align:center; }
.product-card-link h3 { margin:0; color:white; font-size:clamp(15px,1.15vw,18px); line-height:1.12; letter-spacing:-.02em; text-shadow:0 2px 18px rgba(0,0,0,.38); }
.product-lower-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:14px; }
.product-custom-card { position:relative; min-height:500px; overflow:hidden; color:white; background:#cfd7dc; border:0; }
.product-custom-card>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.55) contrast(1.04) brightness(.78); }
.product-custom-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,20,30,.18),rgba(10,20,30,.68)); }
.custom-card-content { position:relative; z-index:2; height:100%; padding:28px 25px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.custom-plus { width:66px; height:66px; border:1px solid rgba(255,255,255,.75); border-radius:50%; display:grid; place-items:center; margin:6px 0 22px; }
.custom-plus .icon { width:28px; height:28px; }
.custom-card-content small { font-size:8px; letter-spacing:.14em; color:#7bdcff; }
.custom-card-content h3 { margin:13px 0 9px; font-size:24px; line-height:1.12; }
.custom-card-content p { margin:0; color:rgba(255,255,255,.72); font-size:11px; line-height:1.55; }
.custom-card-content ul { width:100%; padding:0; margin:18px 0; list-style:none; border-top:1px solid rgba(255,255,255,.18); }
.custom-card-content li { padding:8px 0; border-bottom:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.78); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.custom-card-content>a { width:auto; min-width:170px; align-self:center; margin-top:22px; padding:12px 22px; background:var(--blue); color:white; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.custom-feature-heading { margin:88px 0 26px; display:flex; align-items:end; justify-content:space-between; gap:30px; }
.custom-feature-heading .overline { color:var(--purple); }
.custom-feature-heading p { max-width:520px; margin:0; color:#68747e; font-size:13px; line-height:1.7; text-align:right; }
.custom-feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.custom-feature-card { position:relative; min-height:390px; overflow:hidden; color:white; background:#17212a; border:0; }
.custom-feature-card>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.8) brightness(.9); transition:transform .75s ease; }
.custom-feature-card.robotics>img { object-position:center; }
.custom-feature-card::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,17,25,.88),rgba(7,17,25,.2) 80%); }
.custom-feature-card.robotics::after { background:linear-gradient(90deg,rgba(7,17,25,.88),rgba(7,17,25,.2) 80%); }
.custom-feature-card:hover>img { transform:scale(1.035); }
.custom-feature-card.robotics:hover>img { transform:scale(1.035); }
.custom-feature-card>div { position:relative; z-index:2; width:64%; min-height:390px; padding:48px; display:flex; flex-direction:column; justify-content:center; }
.custom-feature-card small { color:#7bdcff; font-size:8px; letter-spacing:.13em; }
.custom-feature-card h3 { margin:20px 0 16px; font-size:35px; line-height:1.04; letter-spacing:-.04em; }
.custom-feature-card p { margin:0; color:rgba(255,255,255,.74); font-size:12px; line-height:1.7; }
.custom-feature-card a { margin-top:28px; display:inline-flex; align-items:center; gap:14px; color:white; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.custom-feature-card a .icon { color:var(--blue); width:15px; height:15px; }
.capability-image { min-height:700px; }
.capability-image img { filter:saturate(.8); }

.home-about,.products,.capabilities,.quality,.news,.rfq { animation:section-rise both linear; animation-timeline:view(); animation-range:entry 5% cover 25%; }

@keyframes loader-progress { to { width:100%; } }
@keyframes loader-rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes intro-out { 0% { opacity:1; visibility:visible; } 100% { opacity:0; visibility:hidden; } }
@keyframes nav-in { from { opacity:0; transform:translateY(-20px); } to { opacity:1; transform:none; } }
@keyframes hero-copy-in { from { opacity:0; transform:translateY(-35%); } to { opacity:1; transform:translateY(-45%); } }
@keyframes hero-focus { from { transform:scale(1.1); } to { transform:scale(1.02); } }
@keyframes scroll-ripple { 0% { transform:scale(.9); opacity:.78; } 80%,100% { transform:scale(1.85); opacity:0; } }
@keyframes section-rise { from { opacity:.25; transform:translateY(45px); } to { opacity:1; transform:none; } }

@media (max-width:900px) {
  .site-header { padding:0 22px; grid-template-columns:1fr auto; }
  .site-header nav { display:none; }
  .site-header .brand { width:220px; }
  .hero-copy { left:8vw; width:78vw; }
  .hero-side { width:50px; }
  .scroll-cue { right:26px; }
  .about-head,.about-body { grid-template-columns:1fr; }
  .about-head>div:last-child { padding-top:0; }
  .about-body { gap:38px; }
  .about-stats { display:grid; grid-template-columns:repeat(2,1fr); }
  .about-stats>div { grid-template-columns:110px 1fr 24px; padding-right:18px; }
  .product-intro-grid { grid-template-columns:repeat(2,1fr); }
  .product-intro { grid-column:1/-1; min-height:360px; }
  .product-lower-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:620px) {
  .site-header .brand { width:176px; height:40px; }
  .header-cta { font-size:8px; padding:10px; }
  .hero { min-height:680px; }
  .hero-media img { object-position:43% center; }
  .hero-copy { left:24px; top:49%; width:calc(100vw - 72px); }
  .hero h1 { font-size:44px; }
  .hero-side { display:none; }
  .scroll-cue { right:24px; bottom:38px; }
  .home-about { padding:82px 22px 90px; }
  .about-head h2 { font-size:34px; }
  .about-stats { grid-template-columns:1fr; }
  .about-stats>div { grid-template-columns:120px 1fr 24px; }
  .about-image,.about-image img { min-height:330px; height:330px; }
  .product-intro-grid,.product-lower-grid,.custom-feature-grid { grid-template-columns:1fr; }
  .product-intro { min-height:390px; padding:34px 28px 34px 0; }
  .product-media-card,.product-custom-card { min-height:480px; }
  .custom-feature-heading { margin-top:65px; display:block; }
  .custom-feature-heading p { margin-top:14px; text-align:left; }
  .custom-feature-card>div { width:82%; padding:36px 28px; }
  .quote-modal { padding:10px; }
  .quote-modal-panel { width:calc(100vw - 20px); padding:42px 24px 28px; }
  .quote-modal-form { grid-template-columns:1fr; }
  .quote-modal-form label:last-of-type,.quote-modal-form>button { grid-column:auto; }
}

@media (prefers-reduced-motion:reduce) {
  .loading-screen { display:none; }
  .hero-media img,.hero-copy,.site-header,.home-about,.products,.capabilities,.quality,.news,.rfq { animation:none!important; }
}
