:root {
  --bg:#080e14; --panel:#0f1923; --line:#22313d; --text:#f1f5f8;
  --muted:#a3b4c2; --blue:#19c9f5;
  color-scheme:dark;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; background:var(--bg); color:var(--text); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button,a { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:2px solid var(--blue); outline-offset:5px; }
p { line-height:1.75; }
figure { margin:0; }
header,section,footer,.sector-strip { padding-inline:max(6vw,calc((100vw - 1360px)/2)); }
.header { height:96px; display:flex; align-items:center; justify-content:space-between; gap:32px; border-bottom:1px solid var(--line); background:#080e14f5; position:relative; z-index:5; }
.brand { width:208px; flex-shrink:0; }
.brand img { width:100%; height:auto; }
.header nav { display:flex; gap:25px; align-items:center; font-size:12px; color:#bcc9d3; }
.header nav a { padding-block:14px; white-space:nowrap; }
.header nav a:hover,.text-link:hover { color:var(--blue); }
.menu-toggle { display:none; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; background:var(--blue); color:#04202a; padding:18px 23px; font-size:13px; font-weight:700; border:1px solid var(--blue); border-radius:7px; min-height:52px; transition:background .2s,transform .2s; }
.button:hover { background:#72e0ff; transform:translateY(-2px); }
.button span { font-size:21px; line-height:1; }
.small { padding:12px 17px; min-height:46px; background:#14212c; border-color:#344c5d; color:var(--text); white-space:nowrap; }
.small:hover { color:#04202a; }
.hero { position:relative; padding-top:65px; padding-bottom:65px; display:grid; grid-template-columns:1fr 1fr; gap:55px; align-items:center; min-height:690px; }
.hero-lines { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 75% 45%,#163f5144,transparent 65%); }
.hero-copy,.hero-photo { position:relative; min-width:0; }
.eyebrow { font-size:10px; font-weight:700; line-height:1.6; letter-spacing:1.8px; color:var(--blue); display:flex; align-items:center; gap:9px; margin:0 0 25px; }
.dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--blue); flex-shrink:0; }
h1 { font-size:clamp(46px,4.6vw,76px); font-weight:500; letter-spacing:-3px; line-height:1.06; margin:0 0 26px; text-wrap:balance; }
em { font-style:normal; color:var(--blue); }
.intro { font-size:17px; max-width:440px; color:var(--muted); }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:23px; margin-top:32px; }
.text-link { font-size:13px; padding-block:12px; }
.text-link span { margin-left:10px; }
.hero-bottom { margin-top:43px; display:flex; flex-wrap:wrap; gap:12px 22px; font-size:9px; line-height:1.5; letter-spacing:1px; color:#8da5b6; }
.hero-photo { border-radius:18px; overflow:hidden; height:535px; border:1px solid #345063; box-shadow:0 35px 90px #0005; }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:56% center; }
.hero-photo::after { content:''; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,#07111bf2); pointer-events:none; }
.hero-photo figcaption { position:absolute; z-index:1; inset:auto 28px 25px; }
.hero-photo figcaption span,.weighing-photo figcaption>span { display:block; color:#73e4f4; font-size:9px; letter-spacing:1.7px; margin-bottom:12px; }
.hero-photo figcaption strong { display:block; font-weight:500; font-size:24px; line-height:1.25; max-width:300px; }
.hero-photo small { display:block; font-size:9px; color:#b4c6d1; margin-top:15px; }
.sector-strip { padding-block:25px; background:#0e1922; border-block:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:25px; }
.sector-strip>span { font-size:9px; line-height:1.6; letter-spacing:1.4px; color:#8da5b6; }
.sector-strip>div { display:flex; flex-wrap:wrap; gap:18px; align-items:center; font-size:13px; color:#c2d0d9; }
.sector-strip b { color:var(--blue); font-size:16px; }
.section { padding-block:95px; }
.section-heading { display:grid; grid-template-columns:1.4fr 1fr; align-items:end; gap:65px; margin-bottom:40px; }
h2 { font-weight:500; letter-spacing:-1.7px; font-size:clamp(32px,3.4vw,49px); line-height:1.15; margin:0; text-wrap:balance; }
.section-heading>p { max-width:350px; color:var(--muted); font-size:14px; margin:0; justify-self:end; }
.solutions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.solution { padding:28px 24px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(145deg,#13222e,#0c151e); transition:border-color .2s,transform .2s; display:flex; flex-direction:column; align-items:start; }
.solution:hover { border-color:#397081; transform:translateY(-4px); }
.number { font-size:12px; color:var(--blue); letter-spacing:2px; margin-bottom:35px; }
.solution h3 { font-size:21px; font-weight:500; letter-spacing:-.6px; line-height:1.25; margin:0 0 15px; }
.solution p { color:var(--muted); font-size:13px; margin:0 0 24px; }
.tag,.card-link { font-size:9px; letter-spacing:1px; color:#9bb4c4; display:block; margin-top:auto; padding-top:10px; }
.card-link { color:var(--blue); font-size:11px; width:100%; }
.card-link span { float:right; }
.weighing { background:#0d1821; display:grid; grid-template-columns:1fr 1.15fr; gap:65px; align-items:center; border-block:1px solid var(--line); }
.body-copy { font-size:19px; color:#d4dfe7; max-width:490px; margin-top:25px; }
.muted { font-size:14px; color:var(--muted); max-width:510px; margin-bottom:30px; }
.weighing-photo { overflow:hidden; border:1px solid #2d4658; border-radius:14px; background:#0a121a; }
.weighing-photo img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.weighing-photo figcaption { padding:22px 24px; }
.weighing-photo figcaption>span { margin-bottom:9px; }
.weighing-photo small { font-size:10px; line-height:1.5; color:var(--muted); }
.showcase { background:linear-gradient(180deg,#080e14,#101d27); border-bottom:1px solid var(--line); }
.marketing-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.marketing-card { border:1px solid #294151; background:#0e1a24; overflow:hidden; border-radius:14px; }
.marketing-feature { grid-column:1/-1; display:grid; grid-template-columns:1.4fr 1fr; align-items:center; }
.marketing-card img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.marketing-feature img { height:100%; min-height:340px; }
.marketing-card figcaption { padding:32px; }
.marketing-card .eyebrow { margin-bottom:16px; font-size:9px; }
.marketing-card h3 { font-size:27px; font-weight:500; letter-spacing:-.8px; line-height:1.2; margin:0 0 16px; }
.marketing-card p { font-size:14px; color:var(--muted); margin:0 0 22px; }
.marketing-card small { font-size:10px; line-height:1.6; color:#8ea9ba; display:block; }
.real-heading { display:grid; grid-template-columns:1.4fr 1fr; gap:50px; align-items:end; margin:70px 0 28px; }
.real-heading .eyebrow { margin-bottom:16px; }
.real-heading h3 { font-size:28px; font-weight:400; letter-spacing:-.6px; margin:0; }
.real-heading>p { color:var(--muted); font-size:11px; max-width:320px; margin:0; justify-self:end; }
.screens-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.screens-grid figure { min-width:0; background:#111f29; border:1px solid #2b414f; border-radius:12px; overflow:hidden; }
.screens-grid a { display:flex; align-items:center; background:#e9eeee; aspect-ratio:16/10; padding:8px; }
.screens-grid img { width:100%; height:100%; object-fit:contain; }
.screens-grid figcaption { padding:23px; }
.screens-grid strong { display:block; font-size:16px; font-weight:500; margin-bottom:10px; }
.screens-grid figcaption span { display:block; font-size:12px; line-height:1.7; color:var(--muted); }
.showcase-action { margin-top:35px; text-align:center; }
.about { display:grid; grid-template-columns:1fr 1fr; gap:75px; }
.about .body-copy { margin-top:0; }
.principles { display:flex; flex-direction:column; }
.principles span { display:flex; gap:25px; border-top:1px solid var(--line); padding:18px 0; font-size:11px; color:var(--blue); }
.principles b { font-size:14px; font-weight:400; color:#d0dee6; }
.contact { background:radial-gradient(ellipse at 80% 90%,#07628455,transparent 65%),#112330; border-block:1px solid #294757; text-align:center; }
.contact .eyebrow { justify-content:center; }
.contact h2 { font-size:clamp(36px,4.5vw,64px); }
.contact p:not(.eyebrow) { max-width:480px; margin:25px auto 30px; color:#b6cad7; font-size:15px; }
.light { background:#eff8fc; border-color:#eff8fc; }
.phone { display:block; font-size:14px; color:#bfd0dc; margin:24px auto 0; width:fit-content; }
footer { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-block:40px; font-size:11px; color:#8ca4b6; }
footer p { max-width:220px; }
.footer-brand { font-size:27px; letter-spacing:4px; font-weight:800; color:#d4e0e8; }
.footer-brand span { display:block; font-size:6px; letter-spacing:2.2px; margin-top:7px; color:#9fb4c3; }
.skip { position:absolute; top:-100px; left:20px; background:var(--blue); color:#000; padding:15px; z-index:10; }
.skip:focus { top:10px; }
@media(max-width:1100px) {
  .header { gap:22px; } .header nav { gap:17px; font-size:11px; } .brand { width:178px; }
  .hero { gap:32px; min-height:630px; } .hero-photo { height:480px; }
  h1 { font-size:clamp(46px,5.2vw,61px); } .hero-actions { gap:13px; }
  .solutions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sector-strip { flex-direction:column; align-items:start; gap:14px; }
  .weighing,.about { gap:40px; } .section-heading { gap:35px; }
}
@media(max-width:900px) {
  .header { height:82px; gap:20px; } .header>.small { margin-left:auto; }
  .menu-toggle { display:flex; align-items:center; gap:12px; min-height:44px; padding:8px 12px; color:var(--text); background:transparent; border:1px solid #344c5d; border-radius:6px; font:inherit; font-size:12px; cursor:pointer; order:3; }
  .header nav { display:none; position:absolute; top:100%; left:0; right:0; background:#101e29; padding:15px 6vw; border-bottom:1px solid #355063; box-shadow:0 20px 35px #0006; font-size:15px; }
  .header nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .header nav a { border-bottom:1px solid #293e4d; padding:16px 0; } .header nav a:last-child { border-bottom:0; }
  .hero { padding-block:55px; gap:35px; grid-template-columns:1fr; min-height:0; }
  .hero-copy { max-width:650px; } h1 { font-size:clamp(44px,7.5vw,67px); max-width:650px; }
  .intro { max-width:540px; } .hero-photo { height:auto; aspect-ratio:16/10; width:100%; }
  .hero-photo img { height:100%; } .hero-photo figcaption strong { max-width:none; }
  .hero-bottom { margin-top:30px; } .section { padding-block:70px; }
  .section-heading,.real-heading { grid-template-columns:1fr; gap:22px; }
  .section-heading>p,.real-heading>p { justify-self:start; max-width:550px; }
  .weighing,.about { grid-template-columns:1fr; gap:35px; }
  .marketing-feature { grid-template-columns:1fr; }
  .marketing-feature img { min-height:0; height:auto; } .marketing-card figcaption { padding:25px; }
  .marketing-card h3 { font-size:25px; } .screens-grid { grid-template-columns:1fr 1fr; }
  .screens-grid figure:last-child { grid-column:1/-1; width:100%; max-width:600px; justify-self:center; }
  .about .body-copy,.muted { max-width:650px; } footer { flex-wrap:wrap; }
}
@media(max-width:560px) {
  html { scroll-padding-top:90px; } header,section,footer,.sector-strip { padding-inline:22px; }
  .header { height:76px; gap:10px; } .brand { width:146px; } .header>.small { padding:10px 12px; min-height:42px; font-size:11px; gap:12px; } .header>.small span { font-size:16px; }
  .menu-toggle { font-size:0; padding:9px 11px; gap:0; } .menu-toggle span { font-size:19px; }
  .hero { padding-block:42px; gap:30px; } h1 { font-size:clamp(39px,10vw,56px); letter-spacing:-1.9px; }
  .eyebrow { font-size:9px; letter-spacing:1.2px; margin-bottom:20px; }
  .intro { font-size:16px; } .hero-actions { gap:12px 20px; margin-top:25px; }
  .button { padding:16px 19px; font-size:12px; min-height:50px; }
  .hero-photo { aspect-ratio:4/5; border-radius:12px; } .hero-photo img { object-position:54% center; }
  .hero-photo figcaption { inset:auto 20px 22px; } .hero-photo figcaption strong { font-size:23px; }
  .hero-bottom { font-size:8px; gap:9px 15px; }
  .sector-strip { padding-block:22px; } .sector-strip>span { font-size:8px; } .sector-strip>div { gap:9px; font-size:11px; } .sector-strip b { font-size:12px; }
  .section { padding-block:58px; } h2 { font-size:34px; letter-spacing:-1.2px; }
  .section-heading { margin-bottom:28px; } .solutions { grid-template-columns:1fr; gap:13px; }
  .solution { padding:25px; } .number { margin-bottom:22px; } .solution h3 { font-size:23px; } .solution p { font-size:14px; }
  .body-copy { font-size:18px; }
  .weighing-photo figcaption { padding:20px; } .weighing-photo small { font-size:9px; }
  .marketing-grid,.screens-grid { grid-template-columns:1fr; gap:20px; }
  .marketing-card figcaption { padding:23px; } .marketing-card h3 { font-size:25px; } .marketing-card .eyebrow { font-size:8px; }
  .real-heading { margin-top:50px; } .real-heading h3 { font-size:26px; } .screens-grid figure:last-child { max-width:none; }
  .screens-grid figcaption { padding:22px; } .showcase-action .button { width:100%; gap:12px; }
  .contact h2 { font-size:37px; } .contact .eyebrow { font-size:8px; }
  footer { display:grid; grid-template-columns:1fr 1fr; gap:20px; font-size:10px; } footer p { font-size:11px; }
}
@media(max-width:360px) { header,section,footer,.sector-strip { padding-inline:16px; } .brand { width:120px; } .header>.small { font-size:10px; gap:8px; padding:10px; } h1 { font-size:38px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; animation:none!important; } }
.concrete{background:radial-gradient(ellipse at 0 40%,#15364a44,transparent 60%),#09121a;border-bottom:1px solid var(--line)}
.concrete-lead{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;margin-bottom:40px}
.concrete-photo{overflow:hidden;border:1px solid #304b5d;border-radius:14px;background:#101f2a}
.concrete-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.concrete-photo figcaption{padding:16px 20px;font-size:10px;line-height:1.6;color:var(--muted)}
.concrete-copy .eyebrow{font-size:9px;margin-bottom:18px}
.concrete-copy h3{font-size:30px;line-height:1.2;font-weight:500;letter-spacing:-.8px;margin:0 0 20px;text-wrap:balance}
.concrete-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:0 0 20px}
.concrete-copy .button{margin-top:8px}
.concrete-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.concrete-features article{border:1px solid #294150;background:#101e28;border-radius:12px;padding:26px 22px}
.concrete-features article>span{font-size:9px;letter-spacing:1.3px;color:var(--blue)}
.concrete-features h3{font-size:21px;line-height:1.25;font-weight:500;margin:23px 0 14px;letter-spacing:-.4px}
.concrete-features p{font-size:13px;color:var(--muted);margin:0}
.concrete-flow{border-top:1px solid var(--line);margin-top:35px;padding-top:28px}
.concrete-flow strong{font-size:17px;font-weight:500}
.concrete-flow p{font-size:12px;color:var(--muted);margin:16px 0 0;line-height:2.2}
.concrete-flow span{color:var(--blue);margin:0 15px}
@media(min-width:901px) and (max-width:1250px){.header nav{gap:12px;font-size:10px}.header{gap:18px}.header .small{font-size:11px;gap:15px}}
@media(max-width:1100px){.concrete-lead{gap:30px}.concrete-features{grid-template-columns:repeat(2,minmax(0,1fr))}.concrete-copy h3{font-size:27px}}
@media(max-width:900px){.concrete-lead{grid-template-columns:1fr;gap:30px}.concrete-copy{max-width:650px}.concrete-copy h3{font-size:30px}}
@media(max-width:560px){.concrete-features{grid-template-columns:1fr}.concrete-features article{padding:25px}.concrete-copy h3{font-size:27px}.concrete-flow p{display:flex;flex-direction:column;align-items:start;line-height:1.7;gap:8px}.concrete-flow span{margin:0;transform:rotate(90deg)}}
@media(max-width:400px){.header{gap:8px}.header>.small{font-size:10px;padding:10px 9px;gap:0}.header>.small span{display:none}.menu-toggle{padding:9px}.brand{width:140px}}
@media(max-width:360px){.brand{width:120px}}
.carousel-stage{aspect-ratio:3/2;position:relative;background:#10202b}
.carousel-slide{position:absolute;inset:0;margin:0}
.carousel-slide[hidden]{display:none}
.concrete-photo .carousel-slide img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover}
.concrete-photo .carousel-slide .screen-slide{object-fit:contain;background:#edf2f2;padding-bottom:85px}
.carousel-slide figcaption{position:absolute;bottom:0;left:0;right:0;padding:48px 23px 22px;background:linear-gradient(transparent,#07121bf5 45%);color:#f0f6f9}
.carousel-slide figcaption strong{display:block;font-size:18px;line-height:1.3;font-weight:500;margin-bottom:8px}
.carousel-slide figcaption span{font-size:10px;color:#b6c9d5}
.carousel-controls{display:flex;align-items:center;gap:12px;padding:15px 18px}
.carousel-controls button{cursor:pointer;min-width:40px;min-height:40px;border:1px solid #355264;border-radius:6px;background:#172a38;color:#eaf8ff;font-size:18px}
.carousel-controls button:hover{border-color:var(--blue)}
.carousel-controls .carousel-pause{font-size:11px;padding-inline:13px;margin-left:auto}
.carousel-dots{display:flex;gap:1px}
.carousel-dots button{min-width:27px;min-height:40px;background:transparent;border:0;position:relative}
.carousel-dots button::after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#6f889a;top:50%;left:50%;transform:translate(-50%,-50%)}
.carousel-dots button[aria-current]::after{background:var(--blue);width:10px;height:10px}
.carousel-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:560px){.carousel-stage{aspect-ratio:4/3}.carousel-slide figcaption{padding:42px 18px 17px}.carousel-slide figcaption strong{font-size:16px}.carousel-controls{gap:8px;padding:12px}.carousel-dots button{min-width:23px}.concrete-photo .carousel-slide .screen-slide{padding-bottom:80px}}
