:root{--ink:#111315;--ink-soft:#2b2f33;--paper:#f7f5ef;--surface:#fff;--muted:#6d706d;--line:#dedbd2;--line-soft:#ece8dd;--accent:#1c5a86;--accent-dark:#164a6e;--amber:#f0a020;--amber-dark:#cf8514;--green:#1fae60;--green-dark:#1a9954;--steel:#dbe6ee;--blue:#1c5a86;--max:1380px;--font-sans:"Avenir Next", Avenir, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Inter, sans-serif;--font-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);margin:0;line-height:1.5;overflow-x:hidden}body.qv-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(100% - 40px, var(--max));margin:0 auto}.hairline{background:var(--line);flex:1;height:1px}.eyebrow,.section-head span{color:var(--muted);font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.btn{letter-spacing:.01em;cursor:pointer;border:1.5px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:13px 22px;font-family:inherit;font-size:14px;font-weight:700;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s,color .16s;display:inline-flex}.btn svg{transition:transform .16s}.btn:active{transform:translateY(0)}.btn-dark{background:var(--ink);color:#fff;box-shadow:0 6px 18px #11131529}.btn-dark:hover{background:#000;transform:translateY(-2px);box-shadow:0 10px 26px #1113153d}.btn-accent{background:var(--accent);color:#fff;box-shadow:0 6px 18px #1c5a864d}.btn-accent:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 12px 28px #1c5a8661}.btn-accent:hover svg{transform:translate(3px)}.btn-ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn-ghost:hover{border-color:var(--ink);background:#11131509;transform:translateY(-2px)}.icon-button{border:1.5px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;transition:border-color .16s,background .16s;display:inline-flex}.icon-button:hover{border-color:var(--ink)}.nav{z-index:50;transition:background .18s,border-color .18s,-webkit-backdrop-filter .18s,backdrop-filter .18s;position:fixed;inset:0 0 auto}.nav.scrolled{-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);background:#f7f5efdb;border-bottom:1px solid #11131514}.nav-inner{width:min(100% - 32px, var(--max));justify-content:space-between;align-items:center;gap:24px;min-height:76px;margin:0 auto;display:flex}.logo{align-items:center;gap:12px;min-width:0;display:inline-flex}.logo-mark{background:var(--ink);color:#fff;width:44px;height:44px;font-family:var(--font-sans);letter-spacing:-.03em;border-radius:50%;place-items:center;font-size:20px;font-weight:700;display:grid}.logo-copy{gap:1px;display:grid}.logo-copy strong{letter-spacing:-.02em;font-size:15px}.logo-copy small{color:var(--muted);font-size:11px}.nav-links{align-items:center;gap:32px;display:flex}.nav-link{color:var(--ink-soft);font-size:14px;position:relative}.nav-link:after{content:"";background:var(--accent);width:0;height:2px;transition:width .18s;position:absolute;bottom:-8px;left:0;right:auto}.nav-link:hover:after{width:100%}.nav-actions{align-items:center;gap:10px;display:flex}.menu-button{display:none}.mobile-menu{z-index:80;background:var(--ink);color:#fff;padding:20px;transition:transform .22s;display:none;position:fixed;inset:0;transform:translate(100%)}.mobile-menu.open{transform:translate(0)}.mobile-menu-head{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.mobile-menu a{min-height:56px;font-family:var(--font-sans);border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;font-size:clamp(25px,7vw,34px);font-weight:500;display:flex}.hero{background:linear-gradient(90deg, #1113150d 1px, transparent 1px), linear-gradient(180deg, #fbfaf6 0%, var(--paper) 82%);background-size:72px 72px,auto;padding:136px 0 72px}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:54px;display:grid}.hero-copy{padding:8px 0}.hero-eyebrow{color:var(--muted);font-family:var(--font-sans);letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:28px;font-size:11px;font-weight:700;display:inline-flex}.status-dot{background:var(--amber);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #f0a02029}.hero h1,.section h2,.contact h2{font-family:var(--font-sans);letter-spacing:0;margin:0;font-weight:600;line-height:1}.hero h1{max-width:820px;font-size:clamp(36px,4.8vw,62px);line-height:1.04}.lede{max-width:660px;color:var(--ink-soft);margin:28px 0 32px;font-size:clamp(16px,1.5vw,19px)}.actions{flex-wrap:wrap;gap:12px;display:flex}.hero-panel{gap:14px;display:grid;position:relative}.hero-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb8;border-radius:8px;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:28px;min-height:122px;padding:22px 28px;display:grid}.brand-lockup{align-items:center;gap:14px;min-width:0;display:inline-flex}.brand-lockup-mark{background:var(--ink);color:#fff;width:58px;height:58px;font-family:var(--font-sans);letter-spacing:-.03em;border-radius:50%;flex:none;place-items:center;font-size:25px;font-weight:700;display:grid}.brand-lockup span:last-child{gap:3px;min-width:0;display:grid}.brand-lockup strong{letter-spacing:.02em;font-size:clamp(21px,2.3vw,30px);font-weight:500;line-height:1.08}.brand-lockup small{color:var(--muted);font-size:13px}.metric-row{gap:2px;min-width:82px;display:grid}.metric-row span{font-family:var(--font-sans);font-size:30px;font-weight:500;line-height:1}.metric-row small{color:var(--muted);font-size:11px}.image-frame{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden}.image-frame img{object-fit:cover;width:100%;height:100%}.image-frame.contain img{object-fit:contain;padding:18px}.hero-image{aspect-ratio:16/10}.marquee-wrap{border-block:1px solid var(--line);background:var(--surface);padding:26px 0;overflow:hidden}.marquee{gap:38px;width:max-content;animation:42s linear infinite marquee;display:flex}.word{color:var(--muted);font-family:var(--font-sans);white-space:nowrap;font-size:clamp(22px,3vw,32px);font-style:italic;font-weight:500}.dot{color:var(--accent)}@keyframes marquee{to{transform:translate(-50%)}}.section{padding:88px 0}.section-head{align-items:center;gap:14px;margin-bottom:34px;display:flex}.section h2{font-size:clamp(28px,3.7vw,48px)}.section-intro{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end;gap:42px;margin-bottom:44px;display:grid}.section-intro p,.location-grid p{color:var(--ink-soft);font-size:16px}.wide-machine{aspect-ratio:16/7;margin-bottom:22px}.parts-section,.location-section,.faq-section{background:var(--surface);border-top:1px solid var(--line)}.cat-nav{z-index:10;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f5efe6;border-radius:8px;flex-wrap:wrap;gap:8px;margin-bottom:52px;padding:12px;display:flex;position:sticky;top:86px}.cat-nav button{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:650;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.cat-nav button:hover{border-color:var(--ink)}.cat-nav button.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 6px 16px #1c5a8642}.cat-nav span{color:var(--accent);font-family:var(--font-mono)}.cat-nav button.active span{color:var(--amber);opacity:1}.cat-block{margin-bottom:62px;scroll-margin-top:150px;animation:.42s both catBlockIn}@keyframes catBlockIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.cat-block-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;padding-bottom:18px;display:flex}.cat-block-head h3{font-family:var(--font-sans);margin:0 0 8px;font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.04}.cat-block-head p{max-width:600px;color:var(--muted);margin:0}.cat-block-head>span{color:var(--muted);font-family:var(--font-sans);text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:700}.parts-grid{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:16px;display:grid}.card{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;flex-direction:column;min-width:0;padding:0;transition:transform .2s,box-shadow .2s,border-color .2s;animation:.32s both cardFade;display:flex;overflow:hidden}@keyframes cardFade{0%{opacity:0}to{opacity:1}}.card:hover{border-color:#0000;transform:translateY(-4px);box-shadow:0 20px 44px #11131521}.card-image{aspect-ratio:1;background:#fff;position:relative;overflow:hidden}.card-image img{object-fit:contain;width:100%;height:100%;padding:4px;transition:transform .3s}.card:hover .card-image img{transform:scale(1.05)}.card-body{flex-direction:column;flex:1;gap:9px;padding:14px 16px 16px;display:flex}.card-name{font-family:var(--font-sans);color:var(--ink);font-size:15px;font-weight:600;line-height:1.28}.card-more{color:var(--accent);opacity:0;align-items:center;gap:4px;margin-top:auto;font-size:12px;font-weight:700;transition:opacity .18s,transform .18s;display:inline-flex;transform:translateY(2px)}.card:hover .card-more,.card:focus-visible .card-more{opacity:1;transform:none}.show-more{border:1.5px solid var(--line);width:fit-content;color:var(--accent);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:8px;margin:26px auto 0;padding:12px 22px;font-family:inherit;font-size:13px;font-weight:700;transition:border-color .16s,background .16s,transform .16s;display:flex}.show-more:hover{border-color:var(--accent);background:#1c5a860a;transform:translateY(-1px)}.show-more svg{color:var(--accent)}.show-more span{color:var(--muted);font-family:var(--font-mono);font-size:11px}.stock-pill{z-index:2;color:var(--ink);text-transform:uppercase;letter-spacing:.07em;background:#ffffffe6;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:800;position:absolute;top:12px;left:12px}.stock-pill.on-request{color:#855200}.card-meta{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.id{border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);border-radius:4px;padding:4px 8px;font-size:10px}.tag{background:var(--steel);color:var(--blue);white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800}.cat-hotmix .tag,.tag.cat-hotmix{color:#a55212;background:#fbead9}.cat-paver .tag,.tag.cat-paver{color:#6d5711;background:#f5f0d4}.cat-sensors .tag,.tag.cat-sensors{color:#176c3a;background:#e9f6ee}.cat-controls .tag,.tag.cat-controls{color:#4541a4;background:#eff0ff}.why-section{background:var(--paper)}.why-headline{max-width:980px;margin-bottom:42px!important}.pillars{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.pillar{background:var(--surface);min-height:250px;padding:28px}.pillar span{color:var(--accent);font-family:var(--font-sans);font-size:32px;font-weight:500}.pillar h3{margin:20px 0 10px;font-size:18px}.pillar p{color:var(--muted);margin:0;font-size:14px}.location-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);align-items:center;gap:70px;display:grid}.location-grid h2{margin:10px 0 24px}.address-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;align-items:flex-start;gap:12px;width:fit-content;max-width:620px;margin-top:24px;padding:18px;display:flex}.location-image{aspect-ratio:3/2}.faq-grid{max-width:940px}.faq-item{border-bottom:1px solid var(--line);padding:24px 0}.faq-item:first-child{border-top:1px solid var(--line)}.faq-item summary{cursor:pointer;font-family:var(--font-sans);justify-content:space-between;align-items:center;gap:18px;font-size:clamp(19px,2.1vw,24px);font-weight:500;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{border:1px solid var(--line);width:32px;height:32px;font-family:var(--font-sans);color:var(--muted);border-radius:50%;place-items:center;font-size:20px;transition:transform .18s;display:grid}.faq-item[open] summary span{color:var(--accent);border-color:var(--accent);transform:rotate(45deg)}.faq-item p{max-width:780px;color:var(--ink-soft);margin:14px 0 0}.contact,.footer{background:var(--ink);color:#fff}.contact{padding:88px 0}.contact .section-head .hairline{background:#ffffff26}.contact h2{max-width:1120px;margin-bottom:40px;font-size:clamp(30px,4.2vw,54px)}.contact-grid{background:#ffffff1f;border:1px solid #ffffff1f;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:42px;display:grid}.contact-item{background:#171a1d;flex-direction:column;gap:10px;min-height:220px;padding:24px;display:flex}.contact-icon{width:38px;height:38px;color:var(--accent);border:1px solid #ffffff29;border-radius:50%;place-items:center;display:grid}.contact-item .label{color:#ffffff75;text-transform:uppercase;letter-spacing:.14em;font-size:11px}.contact-item strong{font-family:var(--font-sans);word-break:break-word;margin-top:10px;font-size:24px;font-weight:500;line-height:1.05}.contact-item small{color:#ffffff85;font-size:13px}.quote-form{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;grid-template-columns:repeat(2,1fr);gap:16px;padding:28px;display:grid}.quote-form-head,.quote-form .full{grid-column:1/-1}.quote-form-head h3{font-family:var(--font-sans);margin:0 0 4px;font-size:28px;font-weight:500}.quote-form-head p{color:#ffffff8a;margin:0 0 10px}.quote-form label{color:#ffffff8f;letter-spacing:.12em;text-transform:uppercase;gap:7px;font-size:11px;font-weight:800;display:grid}.quote-form input,.quote-form select,.quote-form textarea{color:#fff;letter-spacing:0;text-transform:none;background:#ffffff14;border:1px solid #ffffff29;border-radius:6px;outline:none;width:100%;padding:13px 14px}.quote-form select option{color:#111315}.quote-form textarea{resize:vertical;min-height:104px}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--accent);background:#ffffff1f}.quote-form button{justify-self:start}.footer{border-top:1px solid #ffffff1a;padding:34px 0}.footer-inner{justify-content:space-between;align-items:center;gap:28px;display:flex}.footer strong{font-family:var(--font-sans);font-size:24px;font-weight:500}.footer p,.footer small{color:#ffffff80}.footer p{margin:2px 0 0}.footer-links{color:#ffffffa8;align-items:center;gap:22px;font-size:14px;display:flex}.footer-links a{align-items:center;gap:6px;display:inline-flex}.sticky-cta{display:none}.qv-overlay{z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.qv-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1113159e;border:0;animation:.2s qvFade;position:absolute;inset:0}.qv-modal{z-index:1;background:var(--surface);border-radius:20px;grid-template-columns:1.05fr 1fr;width:min(920px,100%);max-height:min(640px,100vh - 48px);animation:.26s cubic-bezier(.2,.8,.2,1) qvPop;display:grid;position:relative;overflow:hidden;box-shadow:0 40px 120px #0006}@keyframes qvFade{0%{opacity:0}to{opacity:1}}@keyframes qvPop{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}.qv-close{z-index:3;cursor:pointer;width:38px;height:38px;color:var(--ink);background:#ffffffeb;border:0;border-radius:50%;justify-content:center;align-items:center;transition:background .16s;display:inline-flex;position:absolute;top:14px;right:14px;box-shadow:0 2px 12px #00000024}.qv-close:hover{background:#fff}.qv-media{background:linear-gradient(#f8f7f2 0%,#e9e5db 100%);justify-content:center;align-items:center;padding:30px;display:flex;position:relative}.qv-media img{object-fit:contain;width:100%;height:100%;max-height:460px}.qv-tag{position:absolute;top:16px;left:16px}.qv-panel{flex-direction:column;min-height:0;display:flex}.qv-panel-scroll{flex:1;padding:36px 30px 22px;overflow-y:auto}.qv-code{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:12px}.qv-panel h2{font-family:var(--font-sans);margin:10px 0 14px;font-size:clamp(24px,3vw,32px);font-weight:600;line-height:1.08}.qv-desc{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.55}.qv-specs{border-top:1px solid var(--line);margin:24px 0 0;display:grid}.qv-specs div{border-bottom:1px solid var(--line-soft);grid-template-columns:110px 1fr;gap:16px;padding:12px 0;display:grid}.qv-specs dt{color:var(--muted);font-size:12px}.qv-specs dd{font-family:var(--font-mono);margin:0;font-size:13px}.qv-cta{border-top:1px solid var(--line);background:var(--surface);padding:18px 30px 26px}.qv-wa,.qv-call{border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:50px;font-size:14px;font-weight:700;transition:transform .16s,background .16s,box-shadow .16s;display:flex}.qv-wa{background:var(--green);color:#fff;box-shadow:0 6px 18px #1fae604d}.qv-wa:hover{background:var(--green-dark);transform:translateY(-2px);box-shadow:0 12px 26px #1fae605c}.qv-call{background:var(--ink);color:#fff;margin-top:10px}.qv-call:hover{background:#000;transform:translateY(-2px)}.qv-hint{color:var(--muted);text-align:center;margin:14px 0 0;font-size:12px}.reveal{opacity:0;transform:translateY(18px)}.reveal.in{opacity:1;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(0)}.reveal-1.in{transition-delay:70ms}.reveal-2.in{transition-delay:.14s}.reveal-3.in{transition-delay:.21s}@media (width<=1180px){.pillars,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=920px){.nav-links,.nav-actions .btn{display:none}.menu-button,.mobile-menu{display:flex}.mobile-menu{flex-direction:column}.hero-grid,.section-intro,.location-grid{grid-template-columns:1fr}.hero{padding-top:116px}.hero-card{grid-template-columns:1fr 1fr}.brand-lockup{grid-column:1/-1}.wide-machine{aspect-ratio:4/3}.cat-nav{position:static}.footer-inner{flex-direction:column;align-items:flex-start}body{padding-bottom:74px}.sticky-cta{z-index:75;background:var(--ink);border-top:1px solid #ffffff1f;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;display:grid;position:fixed;inset:auto 0 0}.sticky-cta a{color:#fff;background:#ffffff1a;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:48px;font-size:13px;font-weight:700;display:inline-flex}.sticky-cta a:nth-child(2){background:var(--green)}.sticky-cta a:nth-child(3){background:var(--accent)}}@media (width<=640px){.container{width:min(100% - 28px, var(--max))}.nav-inner{width:min(100% - 24px, var(--max))}.logo-copy small{display:none}.section,.contact{padding:64px 0}.hero h1{font-size:33px}.hero-eyebrow{align-items:flex-start;line-height:1.5}.pillars,.contact-grid,.quote-form{grid-template-columns:1fr}.parts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cat-block-head{flex-direction:column;align-items:flex-start}.card-name{font-size:14px}.qv-overlay{align-items:flex-end;padding:0}.qv-modal{border-radius:20px 20px 0 0;grid-template-columns:1fr;width:100%;max-height:92vh;animation:.28s cubic-bezier(.2,.8,.2,1) qvSheet}.qv-media{aspect-ratio:16/11;padding:22px}.qv-media img{max-height:none}@keyframes qvSheet{0%{transform:translateY(100%)}to{transform:none}}}
