@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--orange:#F6921E;--green:#335500;--deep:#003D32;--cream:#FFF8EC;--ink:#17251E;--olive:#a6ad83;--line:#dfd4c0;--ease:cubic-bezier(.22,.75,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif}a{color:inherit}button{font:inherit;cursor:pointer}h1,h2{font-family:Manrope,Inter,sans-serif;letter-spacing:-.065em}h2{font-size:clamp(2.3rem,4vw,4.2rem);line-height:.98;margin:0 0 18px}h1 em,h2 em{font-style:normal;color:var(--orange)}p{line-height:1.65}.header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(22px,6vw,92px)}.logo{display:flex;flex-direction:column;text-decoration:none;font-family:Manrope,sans-serif;font-size:23px;font-weight:800;line-height:.8;letter-spacing:-.07em;color:var(--orange)}.logo b{font-size:19px;color:var(--deep);letter-spacing:-.075em}.flower{font-size:13px;margin-left:2px}.header nav{display:flex;gap:clamp(14px,3vw,40px);font-size:12px}.header nav a,.footer-col a,.footer-bottom a{text-decoration:none}.header nav a:hover,.footer-col a:hover,.footer-bottom a:hover{color:var(--orange)}.head-actions{display:flex;align-items:center;gap:10px}.outline-link{border:1px solid #26352c;border-radius:99px;padding:11px 16px;font-size:11px;text-decoration:none;white-space:nowrap}.head-actions button{display:none;border:1px solid #26352c;background:transparent;border-radius:50%;width:40px;height:40px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;margin:0 0 20px}.eyebrow i{width:30px;height:3px;background:var(--orange);display:block}.button{display:inline-flex;align-items:center;gap:22px;background:var(--orange);color:var(--ink);border-radius:99px;padding:14px 19px;text-decoration:none;font-size:11px;font-weight:800;transition:transform .25s}.button:hover{transform:translateY(-3px)}.button b{font-size:18px;font-weight:500}.button.small{padding:11px 16px}.section-marker{position:absolute;left:clamp(15px,2.6vw,40px);top:18%;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:10px;z-index:4}.section-marker:before,.section-marker:after{content:'';height:42px;width:1px;background:currentColor;opacity:.3}.section-marker b{width:34px;height:34px;border-radius:50%;background:var(--orange);color:white;display:grid;place-items:center;font-size:12px}.section-marker.light{color:var(--cream)}
.hero{height:min(800px,100svh);min-height:650px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;padding:100px clamp(25px,8vw,128px) 60px}.hero-bg,.hero-overlay{position:absolute;inset:0;z-index:-2}.hero-bg{background:url('assets/images/hero-printing.jpg') center 48%/cover;transition:background-image .4s}.hero-overlay{z-index:-1;background:linear-gradient(90deg,#fff8ece8 0%,#fff8ec9c 33%,#fff8ec05 63%,#002b2480 100%),linear-gradient(0deg,#002b2466,transparent 40%)}.hero-copy{max-width:475px;z-index:2;margin-top:20px}.hero h1{font-size:clamp(3.4rem,6vw,6rem);line-height:.91;margin:0 0 18px;font-weight:800}.hero-copy>p:not(.eyebrow){font-size:14px;max-width:330px;color:#314035;margin:0 0 23px}.hero-gallery{position:absolute;right:6%;top:18%;width:42%;height:61%}.hero-card{position:absolute;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;overflow:hidden;border:1px solid #fff8ec8c;border-radius:12px;color:white;text-decoration:none;box-shadow:0 20px 40px #17251e30;background-size:cover;background-position:center;transition:transform .4s}.hero-card:hover{transform:translateY(-4px)}.hero-card:before{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#001b16cc)}.hero-card span{position:relative;font-size:12px;font-weight:700;padding:14px}.hero-card b{position:relative;margin:0 10px 10px 0;background:var(--orange);color:var(--ink);border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.hero-card-a{right:0;top:0;width:66%;height:46%;background-image:url('assets/images/hero-installation.jpg')}.hero-card-b{left:0;top:52%;width:53%;height:39%;background-image:url('assets/images/hero-transit.jpg')}.hero-card-c{right:0;top:51%;width:42%;height:39%;background-image:url('assets/images/hero-retail.jpg')}.hero-controls{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:7px;color:white;font-size:10px}.hero-controls i{width:22px;height:3px;background:#ffffff80}.hero-controls i.on{width:34px;background:var(--orange)}.hero-controls button{border:0;background:var(--orange);color:var(--ink);border-radius:50%;width:34px;height:34px;font-size:19px;margin-left:8px}.scroll-cue{position:absolute;left:clamp(25px,8vw,128px);bottom:18px;color:white;font-size:9px;letter-spacing:.15em;text-transform:uppercase;display:flex;align-items:center;gap:9px}.scroll-cue span{color:var(--orange);font-size:20px}
.about{padding:42px clamp(25px,5.5vw,88px) 0;position:relative;overflow:hidden}.about-grid{display:grid;grid-template-columns:.92fr 1.05fr .72fr;align-items:center;gap:clamp(22px,3vw,46px);max-width:1500px;margin:auto}.about-copy h2{font-size:clamp(2rem,3vw,3.3rem);margin-bottom:12px}.about-copy>p:not(.eyebrow){font-size:12px;color:#526054;line-height:1.65;margin-bottom:16px}.about-image{height:265px;border-radius:13px;background:url('https://images.unsplash.com/photo-1480714378408-67cf0d13bc1b?auto=format&fit=crop&w=1200&q=85') center/cover;box-shadow:0 14px 30px #17251e16}.values{display:grid;gap:20px}.values article{display:flex;gap:12px;align-items:flex-start}.values article>i{width:38px;height:38px;flex-shrink:0;border-radius:50%;background:#ffebd0;color:var(--orange);display:grid;place-items:center;font-size:21px;font-style:normal}.values b,.capabilities b{font-size:12px}.values p,.capabilities p{font-size:10px;line-height:1.5;color:#697366;margin:5px 0 0}.capabilities{max-width:1500px;margin:32px auto 0;border-top:1px solid #e6dcc9;display:grid;grid-template-columns:repeat(4,1fr)}.capabilities article{display:flex;align-items:center;gap:14px;padding:22px 18px;border-right:1px solid #e6dcc9}.capabilities article:first-child{padding-left:0}.capabilities article:last-child{border:0}.capabilities article>i{font-style:normal;font-size:25px;color:var(--orange);width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#ffecd4;flex-shrink:0}
.dark{background:radial-gradient(ellipse at 75% 0%,#084b3d,#003d32 55%,#002c25);color:var(--cream)}.machinery{position:relative;display:grid;grid-template-columns:minmax(190px,.62fr) minmax(0,1.8fr);gap:clamp(24px,3vw,48px);align-items:center;padding:68px clamp(25px,5.5vw,88px) 45px;min-height:640px;overflow:hidden}.machine-intro{max-width:325px}.machine-intro h2,.services-copy h2{font-size:clamp(2.4rem,3.4vw,3.9rem);margin-bottom:17px}.machine-intro>p:not(.eyebrow),.services-copy>p:not(.eyebrow){font-size:12px;line-height:1.7;color:#d1d8cf;margin-bottom:20px}.machine-gallery{height:460px;display:flex;gap:7px;min-width:0}.machine{position:relative;flex:1;min-width:0;overflow:hidden;border:1px solid #fff8ec40;border-radius:8px;background:#17251e;color:white;text-align:left;isolation:isolate;transition:flex .5s,border-color .3s}.machine:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#000d,transparent 65%),var(--photo) center/cover;transition:transform .6s}.machine:hover,.machine:focus-visible,.machine.selected{flex:1.7;border-color:var(--orange);outline:0}.machine:hover:before,.machine.selected:before{transform:scale(1.06)}.machine span{position:absolute;right:10px;bottom:90px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;font-weight:700}.machine>b{position:absolute;left:11px;bottom:13px;font-size:clamp(2rem,3vw,3.3rem);font-weight:400;letter-spacing:-.07em}.machine>i{position:absolute;right:9px;bottom:14px;width:24px;height:24px;border-radius:50%;background:var(--orange);color:var(--ink);display:grid;place-items:center;font-size:20px;font-style:normal}.machine-detail{display:none;position:relative;grid-column:2;padding:13px 44px 13px 17px;border:1px solid #fff8ec30;background:#002d25;border-radius:8px;margin-top:-10px}.machine-detail.show{display:block}.machine-detail small{display:block;color:var(--orange);font-size:9px;letter-spacing:.16em;margin-bottom:5px}.machine-detail b{font-size:14px}.machine-detail p{font-size:11px;color:#c9d4c8;margin:6px 0 0}.machine-detail button{position:absolute;right:12px;top:8px;border:0;background:transparent;color:white;font-size:24px}
.process{position:relative;overflow:hidden;padding:56px clamp(25px,5.5vw,88px) 42px;background:radial-gradient(ellipse at 50% 45%,#fffdf7,var(--cream) 70%,#f4e8d3);min-height:650px}.process-heading{max-width:1500px;margin:0 auto 24px}.process-heading h2{font-size:clamp(2.2rem,3.7vw,4rem)}.process-medallion{position:relative;z-index:2;width:145px;height:145px;border-radius:50%;border:1px solid #d8cbb5;box-shadow:inset 2px 2px 6px white,inset -4px -5px 9px #d7c5a5,0 10px 24px #57452a20;background:#fff9ee;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:-25px auto 5px;outline:6px solid #fff9ef}.process-medallion:before{content:'';position:absolute;inset:-9px;border-radius:50%;border:4px solid transparent;border-top-color:var(--orange);border-right-color:var(--green);transform:rotate(-20deg)}.process-medallion span{font-size:12px;color:#7b8067;font-weight:800}.process-medallion b{font-size:22px;letter-spacing:-.05em}.process-medallion i{width:28px;height:3px;background:var(--orange);margin:9px}.process-medallion small{text-align:center;font-size:7px;line-height:1.5;letter-spacing:.14em;color:#68705d;font-weight:700}.steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1.2vw,18px);align-items:start;max-width:1500px;margin:auto}.step{position:relative;min-width:0;min-height:290px;margin-top:var(--rise,0);padding:91px 12px 18px;border:1px solid #d8cbb4;border-radius:999px;background:linear-gradient(115deg,#fffaf0,#fff8ec 55%,#f5ead7);box-shadow:inset 2px 2px 4px white,inset -3px -4px 8px #dfd0b6,0 17px 23px #57452a1b,0 3px 0 white;text-align:center;color:var(--ink);transition:transform .35s,border-color .35s,box-shadow .35s}.step:nth-child(2),.step:nth-child(5){--rise:28px}.step:nth-child(3),.step:nth-child(4){--rise:48px}.step:hover,.step:focus-visible,.step.active{transform:translateY(-8px);border-color:#efb66d;box-shadow:0 22px 32px #57452a2b,0 0 0 3px #f6921e20;outline:0}.step>span{position:absolute;top:-38px;left:50%;transform:translateX(-50%);width:88px;height:88px;border-radius:50%;display:grid;place-items:center;font-size:39px;color:var(--green);background:radial-gradient(circle at 35% 25%,#fffefa,#fff9ee 58%,#eee0c7);border:1px solid #e5d8c2;box-shadow:inset 3px 4px 7px white,inset -5px -7px 12px #d6c5a7,0 15px 20px #6c573524}.step>b{display:block;color:#858a72;font-size:27px;line-height:1;margin-bottom:8px}.step>strong{display:block;font-size:14px;line-height:1.15;margin-bottom:11px}.step>i{display:block;width:29px;height:3px;background:var(--orange);margin:0 auto 11px}.step>p{font-size:10px;line-height:1.45;color:#53604f;margin:0}.step.active>b,.step.active>strong{color:var(--green)}.process-controls{max-width:1500px;margin:32px auto 0;display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:.08em}.progress{height:3px;flex:1;background:#e3d8c4}.progress i{display:block;height:100%;width:16.66%;background:var(--orange);transition:width .3s}.process-controls button{width:34px;height:34px;border:1px solid #aab19f;border-radius:50%;background:transparent;color:var(--ink);font-size:17px}.process-controls button.orange{background:var(--orange);border-color:var(--orange)}.process-controls button.reset-text{width:auto;border:0;font-size:10px;letter-spacing:.06em}.step-note{max-width:1500px;margin:12px auto 0;font-size:11px;color:#59614f}
.services{position:relative;display:grid;grid-template-columns:minmax(190px,.68fr) minmax(0,1.8fr);align-items:center;gap:clamp(24px,4vw,58px);padding:60px clamp(25px,5.5vw,88px);min-height:440px;overflow:hidden}.services-copy{max-width:330px}.services-copy>p:not(.eyebrow){font-size:12px;line-height:1.7;color:#d1d8cf;margin-bottom:20px}.service-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.service-card{position:relative;display:block;height:295px;overflow:hidden;border:1px solid #fff8ec30;border-radius:9px;color:white;text-decoration:none;isolation:isolate;transition:transform .3s,border-color .3s}.service-card:hover{transform:translateY(-5px);border-color:var(--orange)}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s}.service-card:hover img{transform:scale(1.05)}.service-card:after{content:'';position:absolute;inset:35% 0 0;z-index:-1;background:linear-gradient(transparent,#000d)}.service-card span{position:absolute;left:12px;right:38px;bottom:15px;font-size:11px;line-height:1.3;font-weight:700}.service-card b{position:absolute;right:10px;bottom:11px;display:grid;place-items:center;width:28px;height:28px;background:var(--orange);color:var(--ink);border-radius:50%;font-size:18px;font-weight:500}
.reach{position:relative;padding:60px clamp(25px,5.5vw,88px) 50px;display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:clamp(24px,4vw,65px);align-items:center;overflow:hidden}.reach-copy{max-width:490px}.reach-copy h2{font-size:clamp(3rem,5vw,5.1rem);margin:22px 0}.reach-copy>p:not(.eyebrow){font-size:13px;line-height:1.75;color:#526054}.reach-features{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:34px}.reach-features div{display:flex;flex-direction:column;gap:8px;padding:0 9px;border-right:1px solid #d8cbb5}.reach-features div:first-child{padding-left:0}.reach-features div:last-child{border:0}.reach-features span{font-size:28px;color:var(--orange)}.reach-features b{font-size:10px;line-height:1.4}.map-area{position:relative;min-height:600px;display:grid;place-items:center}.map-reset{position:absolute;right:0;top:0;z-index:5;border:1px solid #c8cdbf;background:var(--cream);padding:10px 13px;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.08em}.india-map{position:relative;width:min(100%,640px);height:570px;isolation:isolate}.india-shape{position:absolute;inset:4% 12% 5% 7%;z-index:-2;background:linear-gradient(145deg,#d7d9b8,#9aa67b 60%,#77855d);clip-path:polygon(34% 0%,46% 3%,48% 9%,58% 11%,61% 17%,72% 20%,78% 28%,70% 33%,78% 37%,74% 45%,68% 49%,66% 58%,60% 65%,57% 74%,51% 83%,48% 95%,43% 100%,38% 90%,35% 80%,29% 71%,26% 61%,19% 56%,14% 47%,7% 43%,10% 35%,19% 29%,22% 21%,28% 16%,27% 9%);filter:drop-shadow(8px 15px 12px #17251e40)}.india-shape:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(145deg,transparent 0 45px,#fff8ec55 46px 48px,transparent 49px 70px);opacity:.7}.routes{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.routes path{fill:none;stroke:var(--orange);stroke-width:1.4;stroke-dasharray:4 5;opacity:.8}.pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:2;display:flex;align-items:center;gap:6px;border:0;background:transparent;padding:4px;color:var(--ink);font-size:9px;font-weight:750}.pin i{display:block;width:13px;height:13px;flex-shrink:0;border-radius:50%;background:var(--orange);border:3px solid white;box-shadow:0 2px 8px #17251e44;transition:transform .2s}.pin span{background:#fffaf0ef;padding:5px 6px;border:1px solid #e4dece;border-radius:3px;box-shadow:0 4px 12px #17251e12;white-space:nowrap}.pin:hover,.pin:focus-visible,.pin.active{z-index:4;outline:0}.pin:hover i,.pin:focus-visible i,.pin.active i{transform:scale(1.5);box-shadow:0 0 0 6px #f6921e35}.pin.active span{background:var(--green);color:white}.map-card{position:absolute;right:0;bottom:6%;z-index:5;width:215px;padding:14px 16px;background:#fffdf7;border:1px solid #e9e1cf;box-shadow:0 18px 45px #17251e20;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.map-card.show{opacity:1;transform:none}.map-card small{display:block;font-size:8px;letter-spacing:.14em;color:var(--orange);font-weight:800}.map-card b{display:block;font-size:18px;margin:7px 0}.map-card p{font-size:11px;line-height:1.5;color:#657064;margin:0}.map-note{font-size:8px;letter-spacing:.13em;text-transform:uppercase;text-align:center;color:#687262;margin:0}
footer{padding:40px clamp(25px,6vw,92px) 20px;color:var(--cream);background:radial-gradient(ellipse at 70% 0%,#06483b,var(--deep) 62%,#002b24);position:relative}.footer-main{display:grid;grid-template-columns:1.05fr .8fr 1.3fr 1.15fr;gap:32px;max-width:1500px;margin:0 auto 32px}.footer-logo{font-size:29px}.footer-logo b{font-size:24px;color:var(--cream)}.tagline{font-size:12px;color:#e1e6dc;margin-top:12px}.footer-col{display:flex;flex-direction:column;gap:9px;font-size:11px}.footer-col>b{font-size:12px;margin:4px 0 8px}.footer-col a{color:#e1e6dc}.footer-col p{color:#d1d8cf;font-size:11px;margin:0}.footer-col .contact{color:var(--orange);margin-top:4px}.footer-bottom{max-width:1500px;margin:auto;border-top:1px solid #fff8ec55;padding-top:18px;display:flex;justify-content:space-between;gap:18px;font-size:10px;color:#e1e6dc}
@media(max-width:1100px){.header{padding-inline:5vw}.header nav{gap:15px}.hero-gallery{right:4%;width:45%}.about-grid{grid-template-columns:1fr 1.1fr}.values{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.machinery{grid-template-columns:1fr}.machine-intro{max-width:600px}.machine-gallery{height:420px}.machine-detail{grid-column:1}.services{grid-template-columns:1fr}.services-copy{max-width:650px}.service-cards{grid-template-columns:repeat(5,minmax(120px,1fr))}.service-card{height:270px}.reach{grid-template-columns:1fr}.reach-copy{max-width:760px}.map-area{min-height:570px}.footer-main{grid-template-columns:1fr 1fr 1fr}.footer-col:last-child{grid-column:3}}
@media(max-width:760px){.header{padding:15px 20px}.head-actions button{display:block}.header nav{display:none;position:absolute;top:68px;left:15px;right:15px;padding:18px;background:var(--cream);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #17251e24;flex-direction:column;align-items:flex-start;gap:17px}.header nav.open{display:flex}.header nav a{color:var(--ink)}.outline-link{font-size:10px;padding:10px 12px}.logo{font-size:20px}.logo b{font-size:17px}.hero{height:auto;min-height:825px;padding:128px 24px 55px;align-items:flex-start}.hero h1{font-size:clamp(3.1rem,11vw,5rem)}.hero-copy{max-width:520px;margin:0}.hero-gallery{top:auto;bottom:68px;left:24px;right:24px;width:auto;height:300px}.hero-card-a{width:64%;height:48%}.hero-card-b{top:54%;height:40%;width:52%}.hero-card-c{top:54%;height:40%;width:43%}.hero-card span{font-size:10px;padding:10px}.scroll-cue{left:24px;bottom:17px}.section-marker{display:none}.about{padding:35px 22px 0}.about-grid{grid-template-columns:1fr;gap:19px}.about-copy h2{font-size:2.6rem}.about-image{height:235px;grid-row:2}.values{grid-column:auto;grid-template-columns:1fr;gap:15px}.capabilities{grid-template-columns:1fr 1fr;margin-top:22px}.capabilities article{padding:17px 9px;border-bottom:1px solid #e6dcc9;gap:9px}.capabilities article:first-child{padding-left:9px}.capabilities article:nth-child(2){border-right:0}.capabilities article:nth-child(3),.capabilities article:nth-child(4){border-bottom:0}.capabilities article:nth-child(4){border-right:0}.capabilities article>i{width:39px;height:39px;font-size:20px}.machinery{padding:42px 20px 30px;gap:18px}.machine-intro h2,.services-copy h2{font-size:2.7rem}.machine-gallery{height:400px;gap:4px}.machine:hover,.machine.selected{flex:1.4}.machine span{right:5px;bottom:76px;font-size:8px}.machine>b{left:7px;bottom:12px;font-size:26px}.machine>i{right:5px;bottom:12px;width:22px;height:22px}.process{padding:40px 20px 30px}.process-medallion{width:124px;height:124px;margin:0 auto 20px}.process-medallion b{font-size:19px}.process-heading{margin-bottom:25px}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 13px}.step,.step:nth-child(n){margin-top:0;min-height:260px;padding:72px 12px 16px}.step:nth-child(even){transform:translateY(15px)}.step>span{width:74px;height:74px;top:-30px;font-size:31px}.step>b{font-size:24px}.step>strong{font-size:14px}.step>p{font-size:10px}.process-controls{margin-top:30px;flex-wrap:wrap;gap:8px}.process-controls .progress{order:3;flex-basis:100%}.step-note{font-size:10px}.services{padding:42px 20px;gap:22px}.service-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 14px;gap:12px}.service-card{flex:0 0 72vw;max-width:290px;height:320px;scroll-snap-align:start}.reach{padding:42px 20px 32px;gap:18px}.reach-copy h2{font-size:3.4rem}.reach-features{margin-top:25px;gap:5px}.reach-features div{padding:0 5px}.reach-features b{font-size:9px}.map-area{min-height:470px}.india-map{height:470px}.map-card{width:190px;bottom:2%}.pin{font-size:8px;gap:3px}.pin span{padding:4px}.pin i{width:11px;height:11px}footer{padding:32px 22px 18px}.footer-main{grid-template-columns:1fr 1fr;gap:23px 16px}.footer-col:last-child{grid-column:1/-1}.footer-bottom{font-size:9px}}
@media(max-width:420px){.outline-link{display:none}.hero{min-height:795px}.hero h1{font-size:3.1rem}.hero-gallery{height:270px}.about-copy h2{font-size:2.25rem}.machine-gallery{height:350px}.machine span{font-size:7px}.machine>b{font-size:23px}.steps{gap:40px 9px}.step{padding-inline:9px}.step>p{font-size:9px}.reach-copy h2{font-size:3rem}.map-area{min-height:425px}.india-map{height:425px}.india-shape{inset:5% 9% 5% 3%}.pin span{font-size:7px;padding:3px}.pin[data-city="Guwahati"]{left:82%!important}.pin[data-city="Ahmedabad"]{left:24%!important}.pin[data-city="Kolkata"]{left:73%!important}.footer-main{gap:21px 13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* DARK THEME PASS — preserve existing interactions and section structure */
:root{--orange:#F6921E;--green:#335500;--deep:#031f19;--cream:#f4f1e7;--ink:#f4f1e7;--olive:#a6b88a;--line:#29483d;--surface:#092c23;--muted:#b5c4b8}
html,body{background:#061f19;color:var(--cream)}
body{background:linear-gradient(180deg,#082a22 0%,#061f19 55%,#08251e 100%);color:var(--cream)}
.header{position:absolute;background:linear-gradient(180deg,#041d17d9,transparent);border-bottom:1px solid #d8e5d01c}
.logo{display:flex;width:180px;max-width:25vw;line-height:1;letter-spacing:0}
.logo img{display:block;width:100%;height:auto;object-fit:contain;object-position:left center}
.logo b,.logo span{display:none}
.header nav a{color:#f4f1e7}.outline-link{border-color:#547165;color:#f4f1e7}.head-actions button{border-color:#547165;color:#f4f1e7}
.hero{background:#06271f}.hero-overlay{background:linear-gradient(90deg,#05241df2 0%,#05241dc9 32%,#05241d55 61%,#05241d30 100%),linear-gradient(0deg,#031a15a6,transparent 48%)}
.hero-copy>p:not(.eyebrow){color:#d0ddd3}.hero-card{border-color:#8da99a55;box-shadow:0 20px 40px #0005}.hero-card:before{background:linear-gradient(transparent,#001b16e6)}.hero-controls,.scroll-cue{color:#f4f1e7}
.about,.process,.reach{background:linear-gradient(145deg,#082a22,#061f19 70%);color:var(--cream)}
.about-copy>p:not(.eyebrow),.reach-copy>p:not(.eyebrow){color:#c0cec3}.about-image{border:1px solid #547165;box-shadow:0 14px 30px #0004}.values p,.capabilities p{color:#b5c4b8}.values article>i,.capabilities article>i{background:#f6921e1c;color:var(--orange)}
.capabilities{border-color:#29483d}.capabilities article{border-color:#29483d}
.dark,.machinery,.services{background:radial-gradient(ellipse at 75% 0%,#0b4537,#06271f 56%,#031b16);color:var(--cream)}
.process{background:radial-gradient(ellipse at 50% 45%,#10372c,#08251e 70%,#061d17)}
.process-medallion{background:#0b3026;border-color:#49665a;color:var(--cream);box-shadow:inset 2px 2px 6px #ffffff0a,inset -4px -5px 9px #0003,0 10px 24px #0004;outline-color:#0b3026}.process-medallion span{color:#b5c4b8}.step{background:#0b3026!important;border-color:#345548!important;color:var(--cream)!important;box-shadow:0 15px 30px #0002}.step>p{color:#b5c4b8!important}.step.active{border-color:var(--orange)!important}.process-controls{color:var(--cream)}.progress{background:#29483d}.step-note{color:#c5d2c8}
.machine{background:#102b23;border-color:#49665a}.machine-detail{background:#09251e;border-color:#345548}.service-card{border-color:#345548}
.reach-features div{border-color:#345548}.map-area{min-height:600px;transform:translateX(-26px)}.india-map{width:min(100%,620px);height:auto;aspect-ratio:1/1;isolation:isolate}.india-map-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:0;filter:drop-shadow(0 20px 20px #0004)}
.pin{z-index:2;color:#f4f1e7;font-size:10px}.pin i{background:var(--orange);border-color:#fff8ec;box-shadow:0 2px 10px #0008}.pin span{background:#092a22ed;border-color:#47675a;color:#f4f1e7;box-shadow:0 5px 16px #0004}.pin.active span{background:var(--orange);color:#10241c;border-color:var(--orange)}.map-reset{background:#0a2b22;border-color:#547165;color:#f4f1e7;border-radius:3px}.map-card{background:#0b3026;border-color:#49665a;color:var(--cream);box-shadow:0 18px 45px #0005}.map-card p{color:#c1cec4}.map-card b{color:var(--cream)}.map-card small{color:var(--orange)}
footer{background:radial-gradient(ellipse at 70% 0%,#0b4537,#06271f 62%,#031b16);border-top:1px solid #29483d}.footer-logo{width:190px;max-width:100%}.footer-logo img{width:100%}.footer-bottom{border-color:#345548}
.button{color:#11231b}.section-marker{color:#dce7dd}.section-marker:before,.section-marker:after{background:#9eb5a6;opacity:.5}.section-marker b{color:#10251d}
@media(max-width:760px){.map-area{transform:none}.header nav{background:#092a22;border-color:#345548;box-shadow:0 12px 30px #0006}.header nav a{color:var(--cream)}.logo{width:145px;max-width:34vw}.reach-copy>p:not(.eyebrow){color:#c0cec3}.map-area{min-height:460px}.india-map{width:min(100%,480px);height:auto;aspect-ratio:1/1}.pin{font-size:8px}.map-card{background:#0b3026}.section-marker{display:none}}
@media(max-width:420px){.logo{width:125px}.india-map{width:100%}.pin span{font-size:7px}.pin[data-city="Guwahati"]{left:83%!important}.pin[data-city="Ahmedabad"]{left:21%!important}.pin[data-city="Kolkata"]{left:70%!important}}

/* Spline robot integrated into the process medallion */
.process-medallion{width:190px;height:190px;margin:-25px auto 12px;isolation:isolate;overflow:visible;outline:0;background:radial-gradient(circle at 50% 38%,#124235 0%,#0b3026 62%,#08251e 100%);border-color:#49665a;box-shadow:inset 0 0 0 1px #ffffff08,0 16px 34px #0004;}
.process-medallion:before{inset:-8px;border-width:4px;z-index:-1;pointer-events:none;}
.process-robot{position:absolute;z-index:1;top:-20px;left:50%;transform:translateX(-50%);width:178px;height:160px;display:block;background:transparent;--spline-viewer-background:transparent;}
.process-medallion-label{position:absolute;z-index:2;left:0;right:0;bottom:9px;display:flex;flex-direction:column;align-items:center;gap:0;padding:10px 0 0;background:linear-gradient(180deg,transparent 0%,#0b3026e8 20%,#0b3026 48%);border-radius:0 0 100px 100px;pointer-events:none;}
.process-medallion-label span{font-size:10px;line-height:1.2;color:#c6d7ca;font-weight:800;letter-spacing:.12em;}
.process-medallion-label b{font-size:20px;line-height:1.1;letter-spacing:-.05em;color:var(--cream);}
.process-medallion-label i{width:25px;height:2px;background:var(--orange);margin:5px 0 4px;}
.process-medallion-label small{font-size:6px;line-height:1.35;letter-spacing:.11em;color:#a9c0b1;font-weight:700;text-align:center;}
@media(max-width:760px){.process-medallion{width:170px;height:170px;margin:0 auto 24px}.process-robot{width:158px;height:140px;top:-14px}.process-medallion-label{bottom:7px;padding-top:8px}.process-medallion-label b{font-size:18px}.process-medallion-label small{font-size:5.5px}}


/* Logo visibility enhancement: preserve the supplied logo artwork and colours */
.logo{position:relative;isolation:isolate;width:220px;max-width:30vw;filter:drop-shadow(0 0 5px rgba(255,255,255,.42));}
.logo::before{content:"";position:absolute;z-index:-1;left:-14%;right:-14%;top:-32%;bottom:-32%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.94) 0%,rgba(255,255,255,.64) 30%,rgba(255,255,255,.24) 54%,rgba(255,255,255,0) 76%);filter:blur(12px);pointer-events:none;}
.logo img{position:relative;z-index:1;width:100%;height:auto;object-fit:contain;object-position:left center;}
@media(max-width:760px){.logo{width:165px;max-width:38vw;}.logo::before{filter:blur(9px);left:-12%;right:-12%;top:-28%;bottom:-28%;}}
@media(max-width:420px){.logo{width:145px;max-width:40vw;}}


/* HEADER + TYPE + PALETTE ADAPTED FROM aditya_outdoors_dark_v2 */
:root{--orange:#F6921E;--green:#335500;--deep:#031f19;--cream:#FFF8EC;--ink:#090c09;--olive:#a6ad83;--line:#ffffff22;--surface:#121713;--muted:#b9beb5}
html,body{background:#090c09;color:var(--cream)}
body{font-family:'DM Sans',Arial,sans-serif;background:linear-gradient(180deg,#0a2b22 0%,#061f19 56%,#08251e 100%);color:var(--cream)}
h1,h2,h3,.about-copy h2,.machine-intro h2,.services-copy h2,.reach-copy h2{font-family:'Manrope','DM Sans',sans-serif;letter-spacing:-.07em}
.header{position:fixed;top:18px;left:50%;right:auto;transform:translateX(-50%);width:min(1240px,calc(100% - 40px));display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 17px;border:1px solid #ffffff24;border-radius:50px;background:#101511d9;backdrop-filter:blur(18px);box-shadow:0 10px 34px #0002}
.logo{position:relative;isolation:isolate;display:flex;width:180px;max-width:23vw;filter:drop-shadow(0 0 5px rgba(255,255,255,.34))}
.logo::before{content:"";position:absolute;z-index:-1;left:-14%;right:-14%;top:-32%;bottom:-32%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.76) 0%,rgba(255,255,255,.36) 32%,rgba(255,255,255,.12) 55%,rgba(255,255,255,0) 76%);filter:blur(12px);pointer-events:none}
.logo img{display:block;position:relative;z-index:1;width:100%;height:auto;object-fit:contain;object-position:left center}
.header nav{display:flex;align-items:center;gap:clamp(12px,2vw,27px);font-size:12px;color:#e4e6df}
.header nav a{color:#e4e6df;text-decoration:none;white-space:nowrap;transition:color .2s}
.header nav a:hover,.header nav a.active{color:var(--orange)}
.outline-link{background:var(--orange);color:#17130c;border:0;border-radius:50px;padding:13px 18px;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:transform .25s,background .25s}
.outline-link:hover{transform:translateY(-2px);background:#ffad43;color:#17130c}
.head-actions button{border-color:#547165;color:var(--cream);background:#ffffff08}
.hero h1{font:800 clamp(46px,7vw,100px)/.95 'Manrope',sans-serif;letter-spacing:-.075em}
.hero-copy>p:not(.eyebrow){color:#d7dcd5}
.about,.process,.reach{color:var(--cream)}
.about-copy>p:not(.eyebrow),.reach-copy>p:not(.eyebrow){color:#c0cec3}
.section-marker{display:none!important}
@media(max-width:900px){.header{width:calc(100% - 28px);gap:12px}.header nav{gap:12px}.header nav a{font-size:11px}.logo{width:155px;max-width:20vw}.outline-link{padding:11px 13px;font-size:10px}}
@media(max-width:760px){.header{top:10px;width:calc(100% - 20px);padding:9px 13px;border-radius:24px}.logo{width:145px;max-width:34vw}.header nav{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;background:#101511f5;border:1px solid #ffffff24;border-radius:18px;padding:18px;flex-direction:column;align-items:stretch;gap:16px;box-shadow:0 12px 30px #0006}.header nav.open{display:flex}.header nav a{font-size:13px}.head-actions{gap:8px}.outline-link{padding:10px 12px;font-size:10px}.head-actions button{display:block;width:38px;height:38px;border-radius:50%;background:#ffffff08;color:var(--cream)}}
@media(max-width:420px){.logo{width:125px;max-width:34vw}.outline-link{display:none}}

/* Requested refinements: keep logo clean, orange process numbers on hover, shift only the India map */
.logo::before{display:none!important;content:none!important}
.logo{filter:none!important}
.step:hover>span,.step:focus-visible>span,.step.active>span{color:#F6921E!important}
/* Pan-India map marker calibration: exact user-approved relative percentages. */
@media (min-width: 761px) {
  .india-map { transform: none; }
}
.map-area .india-map .pin { left: var(--x) !important; top: var(--y) !important; }
.pin[data-city="Delhi NCR"] { --x: 35%; --y: 21%; }
.pin[data-city="Jaipur"] { --x: 31%; --y: 26%; }
.pin[data-city="Ahmedabad"] { --x: 18%; --y: 38%; }
.pin[data-city="Mumbai"] { --x: 22%; --y: 51%; flex-direction: row-reverse; }
.pin[data-city="Pune"] { --x: 25%; --y: 54%; flex-direction: row; }
.pin[data-city="Lucknow"] { --x: 47%; --y: 31%; }
.pin[data-city="Hyderabad"] { --x: 36%; --y: 59%; }
.pin[data-city="Kolkata"] { --x: 68%; --y: 45%; }
.pin[data-city="Guwahati"] { --x: 83%; --y: 33%; }
.pin[data-city="Bengaluru"] { --x: 35%; --y: 75%; }
.pin[data-city="Chennai"] { --x: 43%; --y: 72%; }
.pin[data-city="Kochi"] { --x: 30%; --y: 85%; }

/* On small screens, keep labels compact and the northeast marker inside the map canvas. */
@media (max-width: 420px) {
  .pin[data-city="Guwahati"] { left: 82% !important; }
}


/* Temporary coordinate labels requested for Pan-India map calibration */
.pin span { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; line-height: 1.15; }
.pin .pin-coords { display: block; font-size: 8px; font-weight: 600; letter-spacing: .015em; color: #f6921e; white-space: nowrap; opacity: .98; }
@media (max-width: 760px) { .pin .pin-coords { font-size: 7px; } }
@media (max-width: 420px) { .pin .pin-coords { font-size: 6px; } }


/* Services: portrait accordion cards, using the same expandable gallery interaction as Machinery. */
#services.services{grid-template-columns:minmax(190px,.68fr) minmax(0,1.8fr);align-items:center;}
#services .service-cards{display:flex;flex-direction:row;gap:8px;width:100%;height:clamp(360px,34vw,460px);min-width:0;overflow:visible;}
#services .service-card{appearance:none;position:relative;display:block;flex:1;min-width:0;width:auto;height:100%;min-height:0;padding:0;text-align:left;background:#102b23;border:1px solid #49665a;border-radius:9px;color:var(--cream);cursor:pointer;overflow:hidden;isolation:isolate;transition:flex .5s ease,border-color .3s ease,box-shadow .3s ease;}
#services .service-card:hover,#services .service-card:focus-visible,#services .service-card[aria-expanded="true"]{flex:1.8;border-color:var(--orange);outline:0;}
#services .service-card img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;opacity:.95;transition:transform .6s ease,opacity .35s ease;}
#services .service-card:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,#000e 0%,#0004 42%,#0001 72%);pointer-events:none;transition:background .35s ease;}
#services .service-card:hover img,#services .service-card[aria-expanded="true"] img{transform:scale(1.06);opacity:1;}
#services .service-card span{position:absolute;right:10px;left:auto;bottom:92px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;line-height:1.25;font-weight:700;letter-spacing:0;max-height:55%;}
#services .service-card:before{content:counter(service-number,decimal-leading-zero);}
#services .service-cards{counter-reset:service-number;}
#services .service-card{counter-increment:service-number;}
#services .service-card:before{position:absolute;left:12px;bottom:13px;font-size:clamp(2rem,3vw,3.3rem);font-weight:400;letter-spacing:-.07em;color:white;}
#services .service-card>b{position:absolute;right:10px;bottom:14px;display:grid;place-items:center;width:27px;height:27px;background:var(--orange);color:var(--ink);border-radius:50%;font-size:20px;font-weight:500;transition:transform .3s ease;}
#services .service-card[aria-expanded="true"]>b{transform:rotate(45deg);}
#services .service-detail{display:none;position:absolute;left:15px;right:15px;bottom:52px;max-width:none;padding:13px 12px 0 0;z-index:2;}
#services .service-detail strong{display:block;color:var(--orange);font-size:12px;line-height:1.5;margin:0 0 7px;}
#services .service-detail p{margin:0;color:#d3ddd4;font-size:11px;line-height:1.65;max-width:620px;}
#services .service-card[aria-expanded="true"] .service-detail{display:block;animation:serviceReveal .35s ease both;}
#services .service-card[aria-expanded="true"] span{writing-mode:horizontal-tb;transform:none;left:15px;right:48px;bottom:auto;top:15px;max-height:none;font-size:clamp(12px,1vw,15px);}
#services .service-card[aria-expanded="true"]:after{background:linear-gradient(0deg,#000e 0%,#0009 50%,#0005 100%);}
@keyframes serviceReveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){#services.services{grid-template-columns:1fr;gap:28px}#services .services-copy{max-width:650px}#services .service-cards{height:420px}}
@media(max-width:760px){#services.services{padding:42px 20px;gap:22px}#services .service-cards{height:360px;gap:5px;margin:0;overflow:visible}#services .service-card{border-radius:7px}#services .service-card:hover,#services .service-card:focus-visible,#services .service-card[aria-expanded="true"]{flex:2.1}#services .service-card span{right:5px;bottom:76px;font-size:8px}#services .service-card:before{left:7px;bottom:12px;font-size:clamp(20px,5vw,28px)}#services .service-card>b{right:5px;bottom:12px;width:22px;height:22px;font-size:17px}#services .service-card[aria-expanded="true"] span{left:9px;right:30px;top:10px;font-size:10px}#services .service-detail{left:9px;right:8px;bottom:43px;padding-top:8px}#services .service-detail strong{font-size:10px;margin-bottom:4px}#services .service-detail p{font-size:9px;line-height:1.5}}


/* Services layout update: intro content sits in its own full-width banner above the card gallery. */
#services.services{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding:clamp(28px,4vw,58px) clamp(25px,5.5vw,88px);min-height:0;}
#services .services-intro-panel{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center;gap:24px;min-height:220px;padding:clamp(24px,3.2vw,44px);overflow:hidden;border:1px solid #ffffff18;border-radius:16px;background:linear-gradient(90deg,#04271f 0%,#04271ff2 46%,#04271f30 100%),url('assets/images/service-card-01.jpg') right center/auto 125% no-repeat,#06271f;box-shadow:inset 0 1px 0 #ffffff08;}
#services .services-copy{position:relative;z-index:1;max-width:900px;}
#services .services-copy h2{max-width:100%;font-size:clamp(2.1rem,3.3vw,3.7rem);line-height:1.08;margin:10px 0 14px;color:var(--cream);font-weight:700;}
#services .services-copy>p:not(.eyebrow){max-width:760px;font-size:clamp(13px,1.05vw,16px);line-height:1.65;margin-bottom:20px;color:#d1d8cf;}
#services .services-intro-visual{min-height:140px;align-self:stretch;}
#services .service-cards{width:100%;height:clamp(390px,38vw,520px);gap:12px;}
#services .service-card{border-radius:12px;}
#services .service-card span{font-size:clamp(10px,.85vw,13px);}
#services .service-detail strong{font-size:clamp(12px,1vw,15px);}
#services .service-detail p{font-size:clamp(10px,.85vw,13px);}
@media(max-width:1100px){#services .services-intro-panel{grid-template-columns:minmax(0,1fr) minmax(180px,.6fr);min-height:210px}#services .service-cards{height:420px}}
@media(max-width:760px){#services.services{padding:38px 20px;gap:18px}#services .services-intro-panel{display:block;min-height:0;padding:24px 20px;background:linear-gradient(90deg,#04271ff5 0%,#04271fdb 100%),url('assets/images/service-card-01.jpg') center/cover no-repeat;border-radius:13px}#services .services-copy{max-width:100%}#services .services-copy h2{font-size:clamp(2.4rem,10vw,3.1rem);line-height:1.04}#services .services-copy>p:not(.eyebrow){font-size:12px;line-height:1.7}#services .services-intro-visual{display:none}#services .service-cards{height:360px;gap:5px;margin:0;overflow:visible}#services .service-card span{font-size:8px}}

/* Services card polish: cinematic portrait cards, numbered header, service icon and bottom copy */
#services .service-cards{display:flex;flex-direction:row;gap:12px;width:100%;height:clamp(430px,39vw,560px);min-width:0;overflow:visible;counter-reset:service-number;}
#services .service-card{counter-increment:service-number;position:relative;display:block;flex:1;min-width:0;height:100%;padding:0;text-align:left;background:#071f19;border:1px solid #49665a;border-radius:12px;color:var(--cream);cursor:pointer;overflow:hidden;isolation:isolate;box-shadow:0 10px 30px #00150f22;transition:flex .5s cubic-bezier(.2,.75,.25,1),border-color .3s,box-shadow .3s,transform .3s;}
#services .service-card:before{content:counter(service-number,decimal-leading-zero);position:absolute;z-index:3;top:16px;left:16px;bottom:auto;color:#fff8ec;font-size:clamp(1.2rem,1.7vw,2rem);font-weight:600;letter-spacing:-.06em;transition:color .3s;}
#services .service-card img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;opacity:.94;transform:scale(1);transition:transform .7s cubic-bezier(.2,.75,.25,1),opacity .35s;}
#services .service-card:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#03150d38 0%,#03150d00 30%,#03150d18 48%,#03150df2 100%);pointer-events:none;transition:background .35s;}
#services .service-card:hover,#services .service-card:focus-visible{transform:translateY(-4px);border-color:var(--orange);box-shadow:0 18px 42px #0005;outline:0;}
#services .service-card:hover img,#services .service-card:focus-visible img{transform:scale(1.07);opacity:1;}
#services .service-card[aria-expanded="true"]{flex:1.85;border-color:var(--orange);box-shadow:0 0 0 1px #f6921e33,0 18px 42px #0005;}
#services .service-card[aria-expanded="true"] img{transform:scale(1.06);opacity:1;}
#services .service-card>b{position:absolute;z-index:4;top:14px;right:14px;bottom:auto;display:grid;place-items:center;width:36px;height:36px;background:var(--orange);color:#08251c;border-radius:50%;font-size:23px;font-weight:500;transition:transform .3s,background .3s;}
#services .service-card[aria-expanded="true"]>b{transform:rotate(45deg);}
#services .service-icon{position:absolute;z-index:2;left:18px;bottom:128px;display:grid;place-items:center;width:32px;height:32px;color:#fff8ec;font-style:normal;transition:color .3s,bottom .3s;}
#services .service-icon:after{content:'';position:absolute;left:0;bottom:-10px;width:34px;height:2px;background:var(--orange);}
#services .service-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
#services .service-card>span{position:absolute;z-index:2;left:18px;right:15px;bottom:76px;top:auto;max-height:none;writing-mode:horizontal-tb;transform:none;color:#fff8ec;font-size:clamp(13px,1.05vw,19px);line-height:1.25;font-weight:750;letter-spacing:-.035em;}
#services .service-detail{display:none;position:absolute;z-index:2;left:18px;right:18px;bottom:18px;max-width:620px;padding:0;}
#services .service-detail strong{display:block;color:var(--orange);font-size:clamp(11px,.9vw,14px);line-height:1.45;margin:0 0 6px;}
#services .service-detail p{margin:0;color:#e0e5df;font-size:clamp(10px,.78vw,13px);line-height:1.55;}
#services .service-card[aria-expanded="true"] .service-detail{display:block;animation:serviceReveal .35s ease both;}
#services .service-card[aria-expanded="true"]>span{left:18px;right:55px;top:auto;bottom:112px;font-size:clamp(16px,1.25vw,22px);}
#services .service-card[aria-expanded="true"] .service-icon{bottom:164px;color:var(--orange);}
#services .service-card[aria-expanded="true"]:after{background:linear-gradient(180deg,#03150d20 0%,#03150d00 28%,#03150d50 48%,#03150df5 100%);}
@media(max-width:1100px){#services .service-cards{height:460px;gap:9px}#services .service-card[aria-expanded="true"]{flex:1.65}#services .service-card>span{font-size:13px}#services .service-detail p{font-size:11px}}
@media(max-width:760px){#services .service-cards{height:390px;gap:6px;overflow:visible}#services .service-card{border-radius:9px}#services .service-card:before{top:10px;left:8px;font-size:clamp(15px,4vw,22px)}#services .service-card>b{top:9px;right:6px;width:24px;height:24px;font-size:17px}#services .service-card[aria-expanded="true"]{flex:2.25}#services .service-card>span{left:7px;right:5px;bottom:58px;font-size:9px;line-height:1.25;overflow-wrap:anywhere}#services .service-icon{left:8px;bottom:99px;width:22px;height:22px}#services .service-icon svg{width:20px;height:20px}#services .service-icon:after{width:24px;bottom:-7px}#services .service-detail{left:8px;right:7px;bottom:8px}#services .service-card[aria-expanded="true"]>span{left:9px;right:30px;bottom:106px;font-size:11px}#services .service-card[aria-expanded="true"] .service-icon{left:9px;bottom:145px}#services .service-detail strong{font-size:9px;margin-bottom:3px}#services .service-detail p{font-size:8px;line-height:1.35}}


/* Services intro refinement: plain oversized headline, copy and CTA on the right; no hero image. */
#services .services-intro-panel{grid-template-columns:minmax(0,1fr);min-height:0;padding:clamp(30px,4vw,62px) clamp(24px,3.5vw,58px);background:linear-gradient(115deg,#041e18 0%,#063328 100%);}
#services .services-intro-visual{display:none;}
#services .services-copy{width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.7fr);column-gap:clamp(28px,6vw,100px);align-items:center;}
#services .services-copy .eyebrow{grid-column:1/-1;grid-row:1;margin:0 0 22px;color:var(--orange);}
#services .services-copy h2{grid-column:1;grid-row:2 / span 2;align-self:center;max-width:850px;font-size:clamp(3.2rem,6vw,6.4rem);line-height:.94;letter-spacing:-.075em;margin:0;color:var(--cream);font-weight:800;}
#services .services-copy>p:not(.eyebrow){grid-column:2;grid-row:2;align-self:end;max-width:460px;font-size:clamp(14px,1.15vw,18px);line-height:1.7;margin:0 0 22px;color:#d1d8cf;}
#services .services-copy>.button{grid-column:2;grid-row:3;justify-self:start;align-self:start;padding:16px 24px;font-size:12px;}
#services .service-card img{image-rendering:auto;}
@media(max-width:900px){#services .services-copy{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);column-gap:28px}#services .services-copy h2{font-size:clamp(2.8rem,6.5vw,4.6rem)}}
@media(max-width:760px){#services .services-intro-panel{padding:28px 22px;background:linear-gradient(115deg,#041e18 0%,#063328 100%);}#services .services-copy{display:flex;flex-direction:column;align-items:flex-start;gap:0}#services .services-copy .eyebrow{margin-bottom:16px}#services .services-copy h2{font-size:clamp(2.7rem,10vw,4rem);line-height:.98;margin:0 0 18px}#services .services-copy>p:not(.eyebrow){font-size:13px;line-height:1.65;margin:0 0 18px;max-width:100%}#services .services-copy>.button{margin:0;padding:14px 20px}#services .service-cards{height:390px;gap:6px}}

/* Services headline: match the scale of the other section headings. */
#services .services-copy h2{font-size:clamp(2.4rem,3.4vw,3.9rem);line-height:.98;}
@media(max-width:900px){#services .services-copy h2{font-size:clamp(2.2rem,5.2vw,3.5rem);}}
@media(max-width:760px){#services .services-copy h2{font-size:clamp(2.1rem,8vw,2.8rem);line-height:1.02;margin:0 0 16px;}}


/* Final typography and hierarchy pass: align Services with the site's section-heading system. */
#services .services-intro-panel{
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:clamp(24px,3.2vw,44px) 0 clamp(28px,3.8vw,52px);
  background:transparent;
}
#services .services-copy .eyebrow{color:var(--cream);}
#services .services-copy h2{
  max-width:760px;
  font-size:clamp(2.35rem,3.1vw,3.5rem);
  line-height:1.02;
  letter-spacing:-.065em;
  font-weight:750;
}
#services .services-copy>p:not(.eyebrow){
  max-width:430px;
  font-size:clamp(13px,.92vw,15.5px);
  line-height:1.7;
  margin:0 0 20px;
}
#services .services-copy>.button{font-size:11px;padding:14px 21px;}
@media(max-width:900px){
  #services .services-copy h2{font-size:clamp(2.15rem,4.8vw,3.1rem);}
  #services .services-copy>p:not(.eyebrow){font-size:14px;}
}
@media(max-width:760px){
  #services .services-intro-panel{padding:18px 0 26px;background:transparent;}
  #services .services-copy .eyebrow{margin-bottom:14px;}
  #services .services-copy h2{font-size:clamp(2.05rem,8vw,2.7rem);line-height:1.04;margin:0 0 14px;}
  #services .services-copy>p:not(.eyebrow){font-size:13px;line-height:1.65;margin:0 0 17px;}
  #services .services-copy>.button{padding:13px 18px;}
}

/* Hero carousel refinement: full-bleed image with three compact, clickable square previews. */
.hero{height:100svh;min-height:690px;padding:115px clamp(25px,8vw,128px) 66px;}
.hero-bg{background-position:center;background-size:cover;}
.hero-overlay{background:linear-gradient(90deg,#05241df2 0%,#05241dc9 30%,#05241d70 53%,#05241d20 100%),linear-gradient(0deg,#031a15a8,transparent 48%);}
.hero-copy{max-width:510px;margin-top:0;}
.hero h1{font-size:clamp(3.2rem,6.1vw,6rem);line-height:.94;max-width:540px;}
.hero-copy>p:not(.eyebrow){font-size:clamp(13px,.95vw,15px);line-height:1.7;color:#f0f2eb;max-width:365px;}
.hero-gallery{top:auto;right:clamp(24px,4.5vw,72px);bottom:48px;width:min(390px,30vw);height:auto;display:flex;flex-direction:column;gap:12px;z-index:3;}
.hero-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:9px;border:1px solid #d9e7ec66;border-radius:17px;background:#031b16b8;backdrop-filter:blur(14px);}
.hero-card{position:relative;inset:auto;width:auto;height:auto;aspect-ratio:1/1;border-radius:10px;border:1px solid #d9e7ec55;background-size:cover;background-position:center;box-shadow:none;cursor:pointer;padding:0;min-width:0;}
.hero-card:before{inset:30% 0 0;background:linear-gradient(transparent,#001b16e8);}
.hero-card span{font-family:'DM Sans',sans-serif;font-size:clamp(9px,.7vw,11px);font-weight:700;line-height:1.15;padding:9px 7px;white-space:normal;text-transform:uppercase;letter-spacing:.04em;}
.hero-card:hover,.hero-card:focus-visible{transform:translateY(-3px);border-color:var(--orange);outline:2px solid #f6921e55;outline-offset:1px;}
.hero-controls{position:static;display:flex;align-items:center;justify-content:flex-end;gap:9px;color:#fff;font-size:10px;}
.hero-dots{display:flex;align-items:center;gap:6px;}
.hero-controls i{display:block;width:19px;height:3px;background:#ffffff66;transition:width .25s,background .25s;}
.hero-controls i.on{width:31px;background:var(--orange);}
.hero-controls button{flex:0 0 auto;width:36px;height:36px;margin-left:5px;border:1px solid #fff8ec;border-radius:50%;background:var(--orange);color:#10261e;cursor:pointer;}
@media(max-width:900px){.hero{padding-inline:6vw;}.hero-gallery{right:5vw;width:min(350px,38vw);}.hero-copy{max-width:430px}.hero h1{font-size:clamp(3.1rem,7vw,5rem);}}
@media(max-width:760px){
 .hero{height:auto;min-height:900px;padding:125px 24px 45px;align-items:flex-start;}
 .hero-bg{background-position:58% center;}
 .hero-overlay{background:linear-gradient(90deg,#05241de8 0%,#05241db8 65%,#05241d5c 100%),linear-gradient(0deg,#031a15c7 0%,transparent 60%);}
 .hero-copy{max-width:570px;margin:0;}
 .hero h1{font-size:clamp(3rem,10.5vw,4.7rem);max-width:540px;line-height:.95;}
 .hero-copy>p:not(.eyebrow){font-size:14px;max-width:340px;}
 .hero-gallery{left:24px;right:24px;bottom:62px;width:auto;gap:10px;}
 .hero-thumbnails{gap:8px;padding:8px;border-radius:14px;}
 .hero-card{aspect-ratio:1/1;}
 .hero-card span{font-size:9px;padding:8px 5px;}
 .hero-controls{gap:7px;}
 .hero-controls button{width:34px;height:34px;}
 .scroll-cue{left:24px;bottom:17px;}
}
@media(max-width:420px){.hero{min-height:850px;padding-top:112px}.hero h1{font-size:clamp(2.8rem,11vw,3.5rem)}.hero-gallery{bottom:62px}.hero-thumbnails{gap:6px;padding:6px}.hero-card{border-radius:8px}.hero-card span{font-size:8px}.hero-controls i{width:14px}.hero-controls i.on{width:24px}}


/* Mobile service gallery: full-width swipeable portrait cards; keep the desktop accordion interaction intact. */
@media (max-width: 760px) {
  #services .service-cards {
    display: flex;
    flex-direction: row;
    height: 410px;
    gap: 12px;
    margin: 0 -20px;
    padding: 0 20px 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #f6921e55 transparent;
  }
  #services .service-card,
  #services .service-card:hover,
  #services .service-card:focus-visible,
  #services .service-card[aria-expanded="true"] {
    flex: 0 0 min(78vw, 310px);
    width: min(78vw, 310px);
    min-width: min(78vw, 310px);
    transform: none;
    scroll-snap-align: start;
  }
  #services .service-card:before { top: 12px; left: 12px; font-size: 22px; }
  #services .service-card>b { top: 10px; right: 10px; bottom: auto; width: 30px; height: 30px; font-size: 20px; }
  #services .service-card>span { left: 14px; right: 12px; bottom: 76px; font-size: 15px; line-height: 1.25; }
  #services .service-icon { left: 14px; bottom: 126px; width: 27px; height: 27px; }
  #services .service-icon svg { width: 24px; height: 24px; }
  #services .service-icon:after { width: 30px; }
  #services .service-detail { left: 14px; right: 12px; bottom: 13px; }
  #services .service-detail strong { font-size: 11px; line-height: 1.4; }
  #services .service-detail p { font-size: 10px; line-height: 1.45; }
  #services .service-card[aria-expanded="true"]>span { left: 14px; right: 48px; top: auto; bottom: 112px; font-size: 16px; }
  #services .service-card[aria-expanded="true"] .service-icon { left: 14px; bottom: 160px; }
}
@media (max-width: 420px) {
  #services .service-cards { height: 390px; gap: 10px; }
  #services .service-card,
  #services .service-card:hover,
  #services .service-card:focus-visible,
  #services .service-card[aria-expanded="true"] {
    flex-basis: 82vw;
    width: 82vw;
    min-width: 82vw;
  }
  #services .service-card>span { font-size: 14px; }
  #services .service-card[aria-expanded="true"]>span { font-size: 15px; }
}


/* Client logo carousel: clean white strip, full-colour client marks */
.client-marquee{background:#fff;color:#17211b;padding:54px 0 50px;overflow:hidden;border-top:1px solid #e9e4db;border-bottom:1px solid #e9e4db}
.client-marquee-inner{max-width:1440px;margin:0 auto;padding:0 5.5%}
.client-marquee-heading{text-align:center;margin-bottom:26px}
.client-marquee-heading .eyebrow{justify-content:center;color:#f07819}
.client-marquee-heading h2{font-size:clamp(1.65rem,2.7vw,2.45rem);line-height:1.1;margin:9px 0 0;letter-spacing:-.035em;color:#17211b}
.client-marquee-window{overflow:hidden;position:relative;mask-image:linear-gradient(to right,transparent,black 4%,black 96%,transparent)}
.client-marquee-track{display:flex;align-items:center;gap:0;width:max-content;animation:clientLogoRun 62s linear infinite;will-change:transform}
.client-marquee-window:hover .client-marquee-track{animation-play-state:paused}
.client-logo{width:190px;height:88px;flex:0 0 190px;display:flex;align-items:center;justify-content:center;padding:15px 25px;border-right:1px solid #e9e4db;background:#fff}
.client-logo img{display:block;max-width:100%;max-height:58px;width:auto;height:auto;object-fit:contain;filter:none;opacity:1;transition:opacity .25s,transform .25s}
.client-logo:hover img{opacity:1;transform:scale(1.07)}
@keyframes clientLogoRun{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:760px){.client-marquee{padding:38px 0 36px}.client-marquee-inner{padding:0 4%}.client-marquee-heading{margin-bottom:18px}.client-logo{width:145px;height:74px;flex-basis:145px;padding:11px 18px}.client-logo img{max-height:45px}.client-marquee-track{animation-duration:48s}}
@media(max-width:420px){.client-logo{width:128px;height:68px;flex-basis:128px;padding:10px 15px}.client-logo img{max-height:42px}}
@media(prefers-reduced-motion:reduce){.client-marquee-track{animation:none;transform:none}}
/* Latest client carousel update: deep-green brand section and larger logo marks */
.client-marquee{background:radial-gradient(ellipse at 75% 0%,#0b4537,#06271f 56%,#031b16)!important;color:#fff!important;border-top:1px solid rgba(246,146,30,.18)!important;border-bottom:1px solid rgba(246,146,30,.18)!important;padding:58px 0 54px!important;position:relative}
.client-marquee-heading h2{color:#fff!important}
.client-marquee-heading .eyebrow{color:#F6921E!important}
.client-marquee-window{mask-image:linear-gradient(to right,transparent,black 2%,black 98%,transparent)!important}
.client-logo{width:230px!important;height:112px!important;flex-basis:230px!important;padding:12px 17px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:15px!important;background:#fff!important;margin:0 5px!important;box-shadow:0 5px 18px rgba(0,0,0,.18)!important}
.client-logo img{max-width:100%!important;max-height:78px!important}
@media(max-width:760px){.client-marquee{padding:40px 0 38px!important}.client-marquee-inner{padding:0 4%!important}.client-logo{width:178px!important;height:92px!important;flex-basis:178px!important;padding:10px 12px!important;margin:0 4px!important;border-radius:12px!important}.client-logo img{max-height:63px!important}.client-marquee-heading h2{font-size:clamp(1.55rem,6vw,2rem)!important}}
@media(max-width:420px){.client-logo{width:158px!important;height:84px!important;flex-basis:158px!important;padding:9px 10px!important}.client-logo img{max-height:57px!important}}

/* About section refresh: local campaign image, capability counters, responsive layout */
.about-image{background-image:url('assets/images/about-city-billboard.png');background-position:center;background-size:cover;min-height:265px}
.about-stats{max-width:1500px;margin:30px auto 0;padding:20px 0 22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #29483d;border-bottom:1px solid #29483d;gap:0}
.about-stats article{display:flex;flex-direction:column;gap:5px;padding:2px clamp(12px,2vw,28px);border-right:1px solid #29483d;min-width:0}
.about-stats article:first-child{padding-left:0}.about-stats article:last-child{border-right:0}
.about-stats strong{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1;color:var(--orange);letter-spacing:-.04em}
.about-stats .stat-unit{font-size:11px;line-height:1.45;color:#c0cec3;max-width:190px}
@media(max-width:760px){.about-image{height:240px;min-height:0}.about-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px;padding:8px 0;row-gap:0}.about-stats article{padding:17px 12px;border-bottom:1px solid #29483d}.about-stats article:nth-child(odd){padding-left:4px;border-right:1px solid #29483d}.about-stats article:nth-child(even){border-right:0}.about-stats article:nth-child(3),.about-stats article:nth-child(4){border-bottom:0}.about-stats strong{font-size:2rem}.about-stats .stat-unit{font-size:10px}}


/* Cinematic motion polish: restrained reveal, image depth and tactile interactions */
@keyframes heroKenBurns{0%{transform:scale(1)}100%{transform:scale(1.045)}}
@keyframes cardFloatIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.hero-bg{will-change:transform;animation:heroKenBurns 16s ease-in-out alternate infinite}
.hero-card{box-shadow:0 18px 42px #17251e30;will-change:transform}
.hero-card-a{animation:cardFloatIn .8s .15s both}
.hero-card-b{animation:cardFloatIn .8s .32s both}
.hero-card-c{animation:cardFloatIn .8s .48s both}
.header nav a{position:relative;transition:color .25s ease}
.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--orange);transition:right .25s ease}
.header nav a:hover:after,.header nav a:focus-visible:after{right:0}
.button{position:relative;overflow:hidden;isolation:isolate;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,filter .28s ease}
.button:after{content:"";position:absolute;inset:-40% auto -40% -45%;width:28%;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,#fff8,transparent);transition:left .55s ease;z-index:-1}
.button:hover{transform:translateY(-3px);box-shadow:0 10px 24px #f6921e30;filter:saturate(1.08)}
.button:hover:after{left:130%}
.about-image,.service-card img,.machine:before{will-change:transform}
.about-image{transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .7s ease}
.about-image:hover{transform:translateY(-4px) scale(1.008);box-shadow:0 22px 42px #0005}
.values article>i,.capabilities article>i{transition:transform .3s ease,background .3s ease}
.values article:hover>i,.capabilities article:hover>i{transform:rotate(-7deg) scale(1.08);background:#f6921e2b}
.machine,.service-card,.client-logo,.step{transition-timing-function:cubic-bezier(.2,.8,.2,1)}
.service-card:hover{box-shadow:0 16px 35px #0004}
.client-logo{transition:transform .35s ease,box-shadow .35s ease}
.client-logo:hover{transform:translateY(-5px) scale(1.025);box-shadow:0 12px 26px #0003!important}
.pin i{animation:pinPulse 3s ease-in-out infinite}
@keyframes pinPulse{0%,100%{box-shadow:0 2px 10px #0008}50%{box-shadow:0 0 0 5px #f6921e25,0 2px 10px #0008}}
.motion-ready .motion-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--motion-delay,0ms)}
.motion-ready .motion-reveal.motion-visible{opacity:1;transform:translateY(0)}
@media(max-width:760px){
 .hero-bg{animation-duration:22s}
 .hero-gallery{transition:transform .35s ease}
 .about-image:hover{transform:none}
 .client-logo:hover{transform:none}
 .motion-ready .motion-reveal{transform:translateY(14px);transition-duration:.55s}
 .motion-ready .motion-reveal.motion-visible{transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
 .hero-bg,.hero-card-a,.hero-card-b,.hero-card-c,.pin i{animation:none!important}
 .motion-ready .motion-reveal{opacity:1!important;transform:none!important;transition:none!important}
 .button:after{display:none}
}


/* MOBILE RESPONSIVE POLISH — hero crop, uncluttered machinery, timed services carousel */
@media (max-width: 760px) {
  #hero {
    min-height: max(860px, 100svh);
    padding: 112px 24px 30px;
    align-items: flex-start;
    background: #061f19;
  }
  #hero .hero-bg {
    background-image: url('assets/images/mobile-hero-printing.webp');
    background-size: cover;
    background-position: center top;
    transform: none;
    animation: none;
    opacity: 1;
  }
  #hero .hero-overlay {
    background:
      linear-gradient(180deg, rgba(3,25,19,.60) 0%, rgba(3,25,19,.34) 34%, rgba(3,25,19,.25) 57%, rgba(3,25,19,.82) 100%),
      linear-gradient(90deg, rgba(3,25,19,.62) 0%, rgba(3,25,19,.18) 100%);
  }
  #hero .hero-copy { position: relative; z-index: 2; max-width: 100%; margin: 12px 0 0; }
  #hero .eyebrow { color: #fff8ec; }
  #hero h1 { max-width: 360px; font-size: clamp(2.65rem, 10.3vw, 3.6rem); line-height: .94; letter-spacing: -.055em; margin-bottom: 16px; text-wrap: balance; }
  #hero-copy em, #hero h1 em { color: #F6921E; }
  #hero .hero-copy>p:not(.eyebrow) { max-width: 320px; color: #fff8ec; font-size: 14px; line-height: 1.65; }
  #hero .button { margin-top: 3px; min-height: 50px; padding: 15px 19px; }
  #hero .hero-gallery { left: 24px; right: 24px; bottom: 62px; width: auto; height: auto; gap: 10px; }
  #hero .hero-thumbnails { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; padding: 7px; background: rgba(3,25,19,.72); border-color: rgba(255,248,236,.36); backdrop-filter: blur(8px); }
  #hero .hero-card { min-width: 0; width: auto; height: auto; aspect-ratio: .95 / 1; background-size: cover; background-position: center; }
  #hero .hero-card span { padding: 8px 5px; font-size: 8px; line-height: 1.2; }
  #hero .hero-controls { gap: 7px; }
  #hero .hero-controls button { width: 34px; height: 34px; flex: 0 0 34px; }
  #hero .scroll-cue { left: 24px; bottom: 17px; color: #fff8ec; }

  /* Machinery becomes a swipeable, one-machine-at-a-time gallery on phones. */
  #machinery .machine-gallery {
    display: flex;
    flex-direction: row;
    height: 330px;
    gap: 10px;
    margin: 0 -20px;
    padding: 0 20px 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #F6921E66 transparent;
  }
  #machinery .machine,
  #machinery .machine:hover,
  #machinery .machine:focus-visible,
  #machinery .machine.selected {
    position: relative;
    flex: 0 0 min(78vw, 320px);
    width: min(78vw, 320px);
    min-width: min(78vw, 320px);
    height: 100%;
    border-radius: 15px;
    scroll-snap-align: start;
    transform: none;
  }
  #machinery .machine:before { background-position: center; background-size: cover; }
  #machinery .machine span {
    position: absolute;
    writing-mode: horizontal-tb;
    transform: none;
    left: 16px;
    right: 48px;
    bottom: 22px;
    font-size: 15px;
    line-height: 1.25;
    letter-spacing: -.02em;
  }
  #machinery .machine>b { left: 15px; top: 14px; bottom: auto; font-size: 28px; color: #FFF8EC; text-shadow: 0 2px 12px #0008; }
  #machinery .machine>i { right: 14px; bottom: 16px; width: 30px; height: 30px; }
  #machinery .machine-detail { margin-top: 8px; }

  /* Services cards remain touch-friendly; JS advances this rail every 3 seconds. */
  #services .service-cards {
    display: flex;
    flex-direction: row;
    height: 350px;
    gap: 12px;
    margin: 0 -20px;
    padding: 0 20px 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #F6921E66 transparent;
  }
  #services .service-card,
  #services .service-card:hover,
  #services .service-card:focus-visible,
  #services .service-card[aria-expanded="true"] {
    flex: 0 0 min(78vw, 300px);
    width: min(78vw, 300px);
    min-width: min(78vw, 300px);
    height: 100%;
    transform: none;
    scroll-snap-align: start;
  }
}
@media (max-width: 420px) {
  #hero { min-height: max(820px, 100svh); padding-top: 108px; }
  #hero h1 { font-size: clamp(2.55rem, 10.6vw, 3.1rem); }
  #hero .hero-gallery { bottom: 60px; }
  #hero .hero-card span { font-size: 7.5px; }
  #machinery .machine-gallery { height: 305px; }
  #machinery .machine span { font-size: 14px; }
  #services #services-list .service-cards,
  #services .service-cards { height: 325px; }
}
@media (prefers-reduced-motion: reduce) {
  #hero .hero-bg { animation: none !important; }
  #machinery .machine, #services .service-card { scroll-behavior: auto; }
}
