:root{--ink:#151816;--paper:#f2f0e9;--muted:#aaa9a2;--lime:#d7ed48;--line:rgba(21,24,22,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans TC",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:88px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(242,240,233,.94);position:fixed;z-index:20;top:0;left:0;right:0;border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{height:72px;border-color:var(--line);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-family:Oswald;font-weight:600;font-size:23px;border:2px solid;letter-spacing:-2px;width:48px;height:40px;display:grid;place-items:center}.brand strong{display:block;font-size:17px;letter-spacing:.16em}.brand small{display:block;font-family:Oswald;font-size:9px;letter-spacing:.18em}.site-header nav{display:flex;gap:38px;font-size:14px;font-weight:600}.site-header nav a{position:relative}.site-header nav a:after{content:"";height:2px;background:var(--ink);position:absolute;left:0;right:100%;bottom:-8px;transition:.25s}.site-header nav a:hover:after{right:0}.header-cta{background:var(--ink);color:white;padding:12px 18px;font-size:12px}.header-cta span{color:var(--lime);margin-left:8px}.menu-toggle{display:none;background:none;border:0}.hero{margin-top:88px;height:calc(100vh - 88px);min-height:680px;color:white;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0;background:url("assets/pic08.webp") center/cover no-repeat;animation:reveal 1.2s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,11,.94) 0%,rgba(8,12,11,.75) 37%,rgba(8,12,11,.08) 72%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%)}.hero-content{position:absolute;left:8vw;top:48%;transform:translateY(-50%);max-width:740px}.eyebrow,.kicker{font-family:Oswald,"Noto Sans TC";letter-spacing:.2em;font-size:12px;font-weight:600}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow span{width:34px;height:2px;background:var(--lime)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(54px,6.4vw,100px);line-height:1.04;letter-spacing:-.055em;margin:28px 0}.hero h1 em,.contact h2 em{font-style:normal;color:var(--lime)}.hero-copy{max-width:590px;color:#d7d7d3;font-size:17px;letter-spacing:.04em}.hero-actions{display:flex;align-items:center;gap:36px;margin-top:42px}.btn{padding:16px 22px;font-weight:700}.btn.primary{background:var(--lime);color:var(--ink)}.btn b{margin-left:40px}.text-link{border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:8px}.text-link span{margin-left:25px;color:var(--lime)}.hero-stats{position:absolute;bottom:0;right:0;display:flex;background:rgba(15,19,17,.78);backdrop-filter:blur(10px)}.hero-stats div{min-width:155px;padding:24px 28px;border-left:1px solid rgba(255,255,255,.13)}.hero-stats strong{font:600 34px Oswald;display:block}.hero-stats sup{color:var(--lime)}.hero-stats span{font-size:11px;color:#b7b9b6}.scroll-cue{position:absolute;left:3.5vw;bottom:25px;display:flex;flex-direction:column;align-items:center;font:10px Oswald;letter-spacing:.2em}.scroll-cue i{font-style:normal;margin-top:8px;color:var(--lime)}.section{padding:120px 8vw}.section-label{font:600 11px Oswald;letter-spacing:.18em;color:#6d716e}.intro{display:grid;grid-template-columns:140px 1.25fr 1fr;gap:5vw}.kicker{color:#666b67}.intro h2,.section-head h2,.process h2{font-size:clamp(38px,4.3vw,66px);line-height:1.18;letter-spacing:-.045em}.intro-copy{padding-top:42px}.intro-copy p{color:#5f6460;line-height:2;max-width:520px}.line-link{display:inline-flex;gap:55px;margin-top:24px;font-weight:700;border-bottom:1px solid;padding-bottom:8px}.products{background:var(--ink);color:white}.section-head{display:flex;align-items:end;justify-content:space-between}.section-head>p{max-width:400px;color:#aeb1ae}.section-label.light{color:#8a8d8a}.products h2{margin-bottom:0}.filters{display:flex;gap:8px;margin:60px 0 25px}.filters button{color:#bbb;background:transparent;border:1px solid #454946;padding:9px 18px;cursor:pointer}.filters button.active,.filters button:hover{color:var(--ink);background:var(--lime);border-color:var(--lime)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#3b3f3c}.product-card{background:#202421;transition:.3s}.product-card.hidden{display:none}.product-card.feature{grid-column:span 2}.product-visual{height:260px;background:#d8d6ce;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.feature .product-visual{height:360px}.product-info{padding:24px 26px;position:relative}.product-info span{font:10px Oswald;letter-spacing:.15em;color:#7f837f}.product-info h3{font-size:21px;margin:8px 0 4px}.product-info p{color:#8e928f;font-size:13px;margin:0}.product-info a{position:absolute;right:25px;top:36px;color:var(--lime);font-size:22px}.pipe{gap:20px;background:radial-gradient(circle at 52% 35%,#f4f2ec,#bbb9b0)}.pipe span{width:31%;aspect-ratio:1;border:32px solid #84837d;border-radius:50%;box-shadow:12px 15px 20px #8c8a82}.ditch i{width:70%;height:70%;border:35px solid #8b8982;border-top:0;transform:perspective(400px) rotateX(15deg)}.curb{gap:9px}.curb i{width:25%;height:45%;background:#8c8a83;transform:skewY(-4deg);box-shadow:8px 10px 0 #71706a}.block{display:grid;grid-template-columns:repeat(2,85px);gap:12px}.block i{height:75px;border:20px solid #85837c}.manhole i{width:56%;aspect-ratio:1;border-radius:50%;background:#85837c;border:24px solid #a5a39b;box-shadow:0 18px 25px #9b9991}.barrier i{width:70%;height:45%;background:#87857e;clip-path:polygon(8% 0,92% 0,100% 100%,0 100%)}.all-products{border-top:1px solid #454945;margin-top:40px;padding-top:25px}.all-products summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-weight:700}.all-products p{color:#aaa;max-width:850px;margin-top:20px}.process{display:grid;grid-template-columns:1fr 1.1fr;gap:10vw}.process ol{list-style:none;margin:0;padding:0}.process li{display:grid;grid-template-columns:70px 1fr;padding:26px 0;border-top:1px solid var(--line)}.process li b{font:500 14px Oswald;color:#979a96}.process li h3{margin-bottom:4px}.process li p{margin:0;color:#737773}.contact{background:#272c29;color:white;padding:110px 8vw;display:grid;grid-template-columns:1.2fr 1fr;gap:10vw}.contact h2{font-size:clamp(44px,5vw,76px);line-height:1.12;margin:30px 0}.contact>div>p:last-child{color:#aeb2ae;max-width:560px}.contact-actions a{border-top:1px solid #505450;padding:28px 0;display:grid;grid-template-columns:1fr auto;position:relative}.contact-actions small{color:#919590}.contact-actions strong{font:500 clamp(22px,2.2vw,34px) Oswald;grid-row:2}.contact-actions span{grid-row:1/3;grid-column:2;align-self:center;color:var(--lime);font-size:24px}footer{padding:55px 8vw;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;font-size:12px}footer p{margin:4px 0;color:#686c68}footer>a{border-bottom:1px solid}.reveal{opacity:0;transform:translateY(24px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}@keyframes reveal{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.site-header nav,.header-cta{display:none}.menu-toggle{display:grid;gap:6px;padding:12px}.menu-toggle span{display:block;width:26px;height:2px;background:var(--ink)}.site-header.open nav{display:flex;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:28px 6vw;flex-direction:column}.hero{min-height:700px}.hero-content{left:7vw;right:7vw}.hero-stats div{min-width:120px;padding:18px}.scroll-cue{display:none}.intro{grid-template-columns:1fr}.intro-copy{padding-top:0}.section-head{display:block}.section-head>p{margin-top:25px}.product-grid{grid-template-columns:1fr 1fr}.product-card.feature{grid-column:span 2}.process,.contact{grid-template-columns:1fr}.contact{gap:50px}}
@media(max-width:600px){.site-header{height:72px;padding:0 5vw}.brand strong{font-size:15px}.hero{margin-top:72px;height:calc(100svh - 72px);min-height:660px}.hero-media{background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(8,12,11,.94),rgba(8,12,11,.42)),linear-gradient(0deg,rgba(0,0,0,.65),transparent)}.hero-content{top:42%}.hero h1{font-size:48px}.hero-copy{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px;margin-top:30px}.hero-stats{left:0;right:0}.hero-stats div{min-width:0;flex:1;padding:14px}.hero-stats strong{font-size:24px}.hero-stats span{font-size:9px}.section{padding:80px 6vw}.section-label{margin-bottom:25px}.product-grid{grid-template-columns:1fr}.product-card.feature{grid-column:auto}.product-visual,.feature .product-visual{height:240px}.filters{overflow:auto;margin-top:40px}.filters button{white-space:nowrap}.process{gap:40px}.contact{padding:80px 6vw}footer{grid-template-columns:1fr;gap:30px;align-items:start}}

/* Original Haolin product photography */
.product-card{overflow:hidden}
.product-card:hover{background:#292e2a}
.hero-media{background-image:url("assets/haolin-hero.webp"),url("assets/pic08.webp");background-color:#252a27}
.product-card>img{display:block;width:100%;height:260px;object-fit:cover;filter:saturate(.78) contrast(1.05);transition:transform .55s ease,filter .35s}
.product-card.feature>img{height:360px}
.product-card:hover>img{transform:scale(1.025);filter:saturate(1) contrast(1.02)}
@media(max-width:600px){.product-card>img,.product-card.feature>img{height:240px}}
