/* A continuous, native-scroll story in PR green, graphite and silver. */
:root{--ease-out:cubic-bezier(.16,1,.3,1)}
html{scroll-padding-top:92px}
body{overflow-x:clip}
main{position:relative}
.header{background:linear-gradient(#101210a6,transparent);transition:background .35s,height .35s}
.header nav a{position:relative;padding:12px 0}
.header nav a::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.header nav a:hover::after,.header nav a[aria-current]::after{transform:scaleX(1)}
.scroll-progress{width:100%;transform:scaleX(0);transform-origin:left}
.hero-scroll{position:relative}
.hero{min-height:740px;max-height:none}
.hero-visual{will-change:auto}
.hero-scroll-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff18;z-index:4}
.hero-scroll-line span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.hero-content{transform-origin:left center}
.hero-index{color:#a8b0a9}
.hero-index i{color:var(--accent)}
.ticker{position:relative;z-index:2;padding:22px 0;background:var(--accent);border-top:1px solid #80cf78;border-bottom:1px solid #172519}
.ticker div{font-size:clamp(28px,3vw,48px);letter-spacing:-.5px}
.ticker span{color:#173218;font-size:28px}
.section-top{position:relative}
.section-top::after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--accent);transform:scaleX(var(--section-line,0));transform-origin:left}
.section-heading h2{letter-spacing:-.6px}
.services-stage{position:relative}
.services-window{min-width:0}
.rail-status{display:none}
.service h3{transition:color .25s}
.service{transition:background .3s,border-color .3s}
.service:hover{border-top-color:var(--accent)}
.garage-sticky{min-height:620px}
.garage-frame{clip-path:none;will-change:auto;transform-origin:center}
.garage-frame img{will-change:auto}
.garage-line{display:block}
.garage-caption{position:relative;z-index:2}
.garage-caption h2{font-size:clamp(72px,10vw,160px);letter-spacing:-1px}
.garage-outline{position:absolute;left:-2%;bottom:3%;font:700 clamp(85px,16vw,270px)/.85 var(--display);letter-spacing:-2px;white-space:nowrap;color:transparent;-webkit-text-stroke:1px #ffffff22;z-index:-1;pointer-events:none}
.garage-label{bottom:6%;z-index:2}
.scene-indicator{bottom:6%;width:150px}
.scene-indicator span{width:100%;transform:scaleX(0);transform-origin:left}
.care{position:relative;align-items:start;gap:8%}
.care h2{font-size:clamp(64px,6.8vw,110px);letter-spacing:-1px;line-height:1.02}
.scroll-word{display:block;color:#d6dcd7}
.motion-ready .scroll-word{--word-color:var(--text);background:linear-gradient(90deg,var(--word-color) var(--word-fill,0%),#717a73 var(--word-fill,0%));background-clip:text;-webkit-background-clip:text;color:transparent}
.motion-ready .scroll-word.word-accent{--word-color:var(--accent)}
.care .care-title .word-accent{color:var(--accent)}
.motion-ready .care .care-title .word-accent{color:transparent}
.care-points>div{padding:30px 0;position:relative}
.care-points>div::before{content:'';position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(var(--point-line,0));transform-origin:left}
.care-points strong{font-size:20px;margin-bottom:10px}
.care-points p{font-size:16px}
.care-points>div>span{font:600 20px var(--display)}
.care-photo{width:100%;align-self:start}
.care-photo-window{overflow:hidden;background:#171d18}
.care-photo-window>img{width:100%;height:600px;object-fit:cover;transform:scale(1.06)}
.care-photo figcaption{gap:15px}
.ecosystem{position:relative;z-index:2;background:#e3e7e4}
.ecosystem .section-heading{margin-bottom:70px}
.business-links{border-top:0;gap:30px}
.business-card,.business-card+.business-card{border:0;border-top:1px solid #aebdb1;padding:30px 0 0}
.business-card{transition:transform .65s var(--ease-out),opacity .65s var(--ease-out);transform:translate3d(0,var(--card-rise,0px),0)}
.business-card h3{font-size:clamp(34px,3.1vw,52px);transition:color .25s}
.business-card p{font-size:16px;line-height:1.7}
.business-bottom{transition:border-color .3s;padding-bottom:12px}
.business-bottom>span{transition:transform .3s}
.business-card:hover .business-bottom{border-color:#2c7528}
.business-card:hover .business-bottom>span{transform:translate(4px,-4px)}
.contact{position:relative;isolation:isolate;overflow:hidden;background:#111713;padding-top:140px;padding-bottom:130px}
.contact-watermark{position:absolute;bottom:-.1em;left:-.03em;font:700 clamp(120px,21vw,350px)/1 var(--display);letter-spacing:-.02em;white-space:nowrap;-webkit-text-stroke:1px #76967b20;color:transparent;pointer-events:none;z-index:-1}
.contact::before{content:'';position:absolute;left:20%;right:-30%;top:-65%;height:130%;background:radial-gradient(ellipse,#315d3038,transparent 65%);pointer-events:none;z-index:-1;transform:translateY(var(--contact-glow,0px))}
.contact-heading h2{font-size:clamp(60px,8.4vw,136px)}
.contact-grid{position:relative;z-index:1}
.contact-heading>p{max-width:310px}
.contact .button{position:relative;overflow:hidden}
.contact .button::before{content:'';position:absolute;inset:-100% auto -100% -30%;width:20%;background:#ffffff30;transform:rotate(20deg);transition:left .6s}
.contact .button:hover::before{left:120%}
.chapter-nav{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:18;display:none;flex-direction:column;gap:6px;mix-blend-mode:normal}
.chapter-nav a{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:12px;width:36px;height:38px;color:#b6beb8;font-size:12px}
.chapter-nav i{font:600 12px var(--body);display:grid;place-items:center;width:30px;height:30px;border:1px solid #6b756c60;border-radius:50%;background:#101710d9;transition:background .3s,color .3s,border-color .3s}
.chapter-nav span{position:absolute;right:42px;background:#101710f5;border:1px solid #4d604e;color:#eef3ef;padding:6px 10px;opacity:0;transform:translateX(6px);pointer-events:none;transition:opacity .25s,transform .25s;letter-spacing:1px}
.chapter-nav a:hover span,.chapter-nav a:focus-visible span{opacity:1;transform:none}
.chapter-nav a[aria-current] i{background:var(--accent);color:#101710;border-color:var(--accent)}
.motion-ready .reveal{transition:transform .85s var(--ease-out),opacity .85s var(--ease-out)}
.motion-ready .reveal:not(.visible){opacity:0;transform:translate3d(0,42px,0)}
.motion-ready .reveal:focus-within{opacity:1;transform:none}
@keyframes arrival{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.motion-ready .hero-content>.eyebrow{animation:arrival .9s .05s both}.motion-ready .hero-content>h1{animation:arrival 1.1s .14s both}.motion-ready .hero-description{animation:arrival 1.1s .24s both}.motion-ready .hero-actions{animation:arrival 1.1s .32s both}}
/* Pinned scenes are enabled only once their geometry is ready. */
@media(min-width:1100px) and (min-height:720px){
 .cinematic .hero-scroll{height:165svh}
 .cinematic .hero{position:sticky;top:0;height:100svh;min-height:0;padding-top:120px;padding-bottom:120px}
 .cinematic .hero h1{font-size:clamp(76px,7.8vw,126px)}
 .cinematic .hero-visual{will-change:transform}
 .cinematic .services{padding:0;height:calc(100svh + var(--rail-distance,0px))}
 .cinematic .services-stage{position:sticky;top:0;height:100svh;padding:94px 6% 26px;display:flex;flex-direction:column;gap:18px;overflow:hidden}
 .cinematic .services .section-top{padding-bottom:12px;flex-shrink:0}
 .cinematic .services .section-heading{margin:0;flex-shrink:0;gap:40px}
 .cinematic .services .section-heading h2{font-size:clamp(40px,3.6vw,62px);line-height:.97}
 .cinematic .services .section-heading>p{max-width:310px;font-size:14px;line-height:1.65}
 .cinematic .services-window{overflow:hidden;overflow:clip;flex:1;min-height:286px;margin-right:-6.82%;padding-right:6.38%;}
 .cinematic .service-list{display:flex;gap:24px;height:100%;width:max-content;will-change:transform}
 .cinematic .service{position:relative;flex:0 0 clamp(330px,34vw,500px);width:clamp(330px,34vw,500px);height:100%;padding:22px 26px;background:linear-gradient(140deg,#222a23,#161a17);border:1px solid #3a443b;overflow:auto;scrollbar-width:thin;scrollbar-color:#4ca745 #161a17;opacity:1;transform:none;transition:border-color .3s,background .3s}
 .cinematic .service::after{content:'';position:absolute;left:0;top:0;width:3px;height:100%;background:var(--accent);opacity:var(--card-active,.2);pointer-events:none}
 .cinematic .service summary{grid-template-columns:1fr 36px;gap:10px;padding:0;align-items:start}
 .cinematic .service summary .number{grid-column:1;font:600 25px/1 var(--display);color:var(--accent);margin-bottom:6px}
 .cinematic .service h3{grid-column:1;grid-row:2;font-size:clamp(30px,2.8vw,44px);line-height:1.04}
 .cinematic .service-teaser{grid-column:1/-1;font-size:14px;line-height:1.5;margin-top:4px;color:#bac4bc}
 .cinematic .detail-plus{grid-column:2;grid-row:1;width:32px;height:32px;font-size:21px}
 .cinematic .service-details{max-width:none;padding:16px 0 0}
 .cinematic .service-details p{font-size:15px;line-height:1.65;margin:0 0 16px;color:#b9c3bb}
 .cinematic .service-details .text-link{font-size:14px}
 .cinematic .service-foot{align-items:center;padding:0;flex-shrink:0;gap:20px;font-size:14px}
 .cinematic .service-foot>span{display:none}
 .cinematic .rail-status{display:flex;align-items:center;gap:12px;font:600 14px var(--body);color:#8e9c91}
 .cinematic .rail-current{color:var(--accent)}
 .cinematic .rail-meter{width:130px;height:2px;background:#354237}
 .cinematic .rail-meter i{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(.1667);transform-origin:left}
 .cinematic .garage-scroll{height:195svh}
 .cinematic .garage-sticky{height:100svh;min-height:0;padding:110px 8%}
 .cinematic .garage-caption h2{font-size:clamp(80px,10vw,160px)}
 .cinematic .care{min-height:1200px;padding-top:160px;padding-bottom:160px}
 .cinematic .care-photo{position:sticky;top:120px}
 .cinematic .care-photo-window{height:min(68svh,680px)}
 .cinematic .care-photo-window>img{height:100%}
 .cinematic .care-points>div{min-height:156px;align-items:flex-start;padding-top:35px;padding-bottom:35px}
}
@media(min-width:1450px){.chapter-nav{display:flex}.section,.cinematic .services-stage{padding-left:7%;padding-right:7%}.cinematic .services-window{margin-right:-8.14%;padding-right:7%}}
@media(max-width:1099px){
 .hero-content{max-width:730px}.hero{min-height:740px}
 .services .section-heading{gap:30px}.service summary{padding:28px 0}
 .garage-scroll{height:150svh}.garage-sticky{height:100svh}
 .care{padding-top:100px;padding-bottom:100px}.care h2{font-size:clamp(50px,6.5vw,80px)}
 .care-photo-window>img{height:570px}.care-points>div{padding:24px 0}
 .business-links{gap:25px}.business-card h3{font-size:38px}
 .contact{padding-top:100px;padding-bottom:100px}
}
@media(max-width:700px){
 .hero{min-height:780px;padding-bottom:140px}.hero h1{font-size:clamp(45px,13.6vw,85px)}
 .hero-content .eyebrow{font-size:11px;line-height:1.7;max-width:300px}
 .hero-description{font-size:16px}.hero-media-controls{bottom:89px}
 .ticker{padding:16px 0}.ticker div{font-size:30px}
 .section-heading h2{font-size:clamp(42px,10.5vw,68px)}
 .services .service-foot{gap:12px}.service summary{padding:26px 0}
 .service h3{font-size:31px}.service-teaser{font-size:14px}.service-details p{font-size:16px}
 .garage-scroll{height:135svh}.garage-sticky{min-height:650px;padding:95px 6%}
 .garage-caption h2{font-size:clamp(59px,14vw,95px);letter-spacing:-.5px}
 .garage-caption>.eyebrow{font-size:11px}.garage-caption>p:last-child{font-size:16px;max-width:310px}
 .garage-outline{font-size:24vw;bottom:12%}.garage-label{left:6%;bottom:9%;font-size:10px;letter-spacing:1px}.scene-indicator{left:6%;bottom:6%}
 .care{display:flex;flex-direction:column;gap:45px;padding-top:85px;padding-bottom:85px}
 .care-copy{width:100%}.care h2{font-size:clamp(54px,12.5vw,86px)}
 .care-photo-window>img{height:460px}.care-points>div{padding:25px 0}.care-points strong{font-size:19px}
 .ecosystem .section-heading{margin-bottom:45px}.business-links{gap:0}
 .business-card,.business-card+.business-card{padding:30px 0}.business-card h3{font-size:42px}
 .business-card p{font-size:16px}.business-bottom{margin-top:25px}
 .contact{padding-top:85px;padding-bottom:100px}.contact-heading h2{font-size:clamp(48px,11.6vw,80px)}
 .contact .section-top{margin-bottom:40px}.contact-watermark{font-size:27vw;bottom:8px}
 .contact-grid{padding-top:30px}.contact-heading>p{margin-top:24px}
}
@media(max-height:719px) and (min-width:701px){.garage-scroll{height:auto}.garage-sticky{position:relative;height:740px}.hero{min-height:760px}.care-photo-window>img{height:510px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .hero-scroll,.garage-scroll,.services{height:auto!important}
 .hero,.garage-sticky,.services-stage,.care-photo{position:relative!important;top:auto!important}
 .hero,.hero-visual,.hero-content,.garage-frame,.garage-frame img,.garage-line,.garage-caption,.garage-outline,.service-list,.business-card,.care-photo-window>img,.ticker div,.contact-watermark{transform:none!important;opacity:1!important;clip-path:none!important}
 .garage-sticky{height:auto;min-height:650px}
 .scroll-word{--word-fill:100%!important}.section-top{--section-line:1!important}.care-points>div{--point-line:1!important}
 .motion-ready .reveal{opacity:1!important;transform:none!important}
 .hero-scroll-line{display:none}
}
.cinematic .service-list{position:relative}
.cinematic .service.reveal:not(.visible){opacity:1;transform:none}
