.hero-stage{height:100%;position:relative}.hero-color{position:absolute;inset:0;overflow:hidden;clip-path:polygon(0 0,calc(var(--reveal,110%) + 12%) 0,var(--reveal,110%) 100%,0 100%)}.hero-base{filter:saturate(.2)}.hero-divider{position:absolute;top:0;bottom:0;width:1px;left:var(--reveal,110%);background:#ffffff70;transform:rotate(7deg);transform-origin:bottom;opacity:var(--divider-opacity,0)}.hero-motion{display:flex;align-items:center;gap:18px}.scroll-cue{display:flex;align-items:center;gap:11px;font-size:.65rem;letter-spacing:.1em;font-weight:600;color:#f3f7e9}.scroll-mouse{width:15px;height:23px;border:1px solid #ffffffa0;border-radius:9px;position:relative}.scroll-mouse::after{content:'';position:absolute;top:4px;left:6px;width:1px;height:5px;background:white;animation:scroll-dot 1.8s infinite}.motion-toggle{display:grid;place-items:center;border:1px solid #ffffff70;background:#ffffff16;backdrop-filter:blur(10px);border-radius:50%;width:36px;height:36px;color:white}.motion-toggle svg{width:15px;height:15px}.motion-toggle:hover{background:#ffffff30}.hero h1 .type-line{display:inline-block;min-height:1.08em}.type-caret{display:inline-block;background:var(--lime);width:2px;height:.8em;margin-left:5px;vertical-align:-.04em;animation:caret .85s steps(1) infinite}.hero-stat strong>.counter-number{color:white;font-weight:inherit}.motion-active .hero{height:195svh;min-height:1450px;max-height:none;overflow:visible}.motion-active .hero-stage{position:sticky;top:0;height:100svh;min-height:720px;overflow:hidden}.motion-active .hero-inner{height:100%;min-height:0}.motion-active .hero-image{animation:none;transform:scale(var(--hero-scale,1.04));will-change:transform}.motion-active .hero-color{will-change:clip-path}.nav::after{content:'';position:absolute;bottom:0;left:32px;right:32px;height:2px;background:#67904d;transform:scaleX(var(--page-progress,0));transform-origin:left;transition:transform .1s linear}.nav{position:relative}.service-ribbon{padding-inline:0;justify-content:flex-start}.ribbon-track{display:flex;width:max-content}.ribbon-track>div{display:flex;gap:35px;align-items:center;padding-right:35px;flex-shrink:0}.motion-active .ribbon-track{animation:marquee 34s linear infinite}.motion-active .service-ribbon:hover .ribbon-track{animation-play-state:paused}.motion-active .reveal-item{opacity:0;transform:translateY(35px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}.motion-active .reveal-item.revealed{opacity:1;transform:translateY(0)}.button{transition:background .22s,transform .22s,box-shadow .22s}.button:hover{box-shadow:0 9px 22px #102d2122}.service-orb{display:none;position:absolute;width:74px;height:74px;border-radius:50%;background:var(--lime);color:var(--forest);font-size:.75rem;font-weight:600;align-items:center;justify-content:center;left:var(--orb-x,50%);top:var(--orb-y,50%);pointer-events:none;transform:translate(-50%,-50%) scale(.7);opacity:0;z-index:4;transition:opacity .2s,transform .25s}.scroll-story{background:var(--cream);padding:18px 0 70px;position:relative}.story-stage{position:relative;height:650px;min-height:590px;border-radius:30px;overflow:hidden;color:white;background:var(--forest);isolation:isolate}.story-photos,.story-shade{position:absolute;inset:0;z-index:-1}.story-photos{z-index:-2}.story-photo{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .75s ease,transform 1.5s ease}.story-photo.active{opacity:1;transform:scale(1)}.story-shade{background:linear-gradient(0deg,#092218e8,transparent 90%),linear-gradient(90deg,#0d2f2030,transparent)}.story-eyebrow{position:absolute;top:32px;left:38px;padding:9px 14px;border:1px solid #ffffff65;background:#183e2b44;border-radius:40px;backdrop-filter:blur(9px);font-size:.67rem}.story-captions{position:absolute;bottom:119px;left:48px;right:48px;min-height:245px}.story-caption{position:absolute;bottom:0;opacity:0;transform:translateY(22px);pointer-events:none;transition:opacity .5s,transform .6s}.story-caption.active{opacity:1;transform:translateY(0);pointer-events:auto}.story-caption>span{font-size:.73rem;letter-spacing:.1em;color:var(--lime);font-weight:600}.story-caption h2{font-size:clamp(2.7rem,4.3vw,4.5rem);line-height:1.04;margin:17px 0 19px;max-width:780px}.story-caption p{max-width:485px;color:#eff3e9;font-size:1rem;line-height:1.7}.story-nav{position:absolute;bottom:30px;left:48px;right:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.story-nav button{border:0;background:none;text-align:left;color:#dce5d7;position:relative;padding:15px 0 0;border-top:1px solid #ffffff45;font-size:.81rem}.story-nav button>span{color:var(--lime);margin-right:10px;font-weight:600}.story-nav button>i{position:absolute;left:0;top:-1px;width:100%;height:2px;transform:scaleX(var(--step-progress,0));transform-origin:left;background:var(--lime)}.story-nav button.active{color:white;font-weight:600}.motion-active .scroll-story{height:235svh;min-height:1650px;padding:0 0 80px}.motion-active .story-stage{position:sticky;top:115px;height:calc(100svh - 145px);min-height:560px;max-height:800px}.seasons-section{--season-accent:#46713b;--season-bg:#eaf0e0;background:var(--season-bg);padding:90px 0;transition:background .6s}.seasons-section .section-heading{margin-bottom:45px}.seasons-section h2 em{color:var(--season-accent);transition:color .5s}.season-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px}.season-tabs{display:flex;gap:7px;flex-wrap:wrap}.season-tabs button{border:1px solid #183e2b19;border-radius:100px;background:#ffffff9c;padding:9px 15px;font-size:.81rem;line-height:1.4;transition:background .25s,color .25s;min-height:40px}.season-tabs button[aria-selected=true]{background:var(--season-accent);color:white;border-color:transparent}.season-intro{position:relative;margin-top:35px}.season-intro>span{font-family:Archivo,sans-serif;font-size:7rem;color:var(--season-accent);opacity:.09;line-height:1;position:absolute;right:0;top:-7px;font-weight:800;pointer-events:none}.season-intro h3{font-size:2.8rem;line-height:1.06;position:relative;max-width:440px}.season-intro>p{color:var(--muted);font-size:1rem;margin-top:20px;max-width:380px;position:relative}.season-panel{display:flex;flex-direction:column;gap:13px}.season-panel article{display:flex;gap:20px;background:#fffffff0;border-radius:18px;padding:22px 24px}.season-panel article>span{font-size:.72rem;font-weight:600;color:var(--season-accent);padding-top:3px}.season-panel h4{font-family:Archivo,sans-serif;margin:0 0 6px;font-size:1.06rem;line-height:1.3}.season-panel p{color:var(--muted);font-size:1rem;line-height:1.55}.motion-paused .ribbon-track,.motion-paused .scroll-mouse::after,.motion-paused .type-caret{animation-play-state:paused}.motion-paused .type-caret{opacity:0}.motion-paused .hero-base{filter:none}.motion-paused .hero-image{animation:none}.motion-paused .hero-color{clip-path:none}.motion-paused .hero-divider{display:none}.motion-paused .story-photo,.motion-paused .story-caption,.motion-paused .seasons-section,.motion-paused .seasons-section h2 em{transition:none}
@media(hover:hover) and (pointer:fine){.motion-active .service-orb{display:flex}.motion-active .photo-card.orb-visible .service-orb{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes marquee{to{transform:translateX(-50%)}}@keyframes caret{50%{opacity:0}}@keyframes scroll-dot{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(7px)}}
@media(max-width:900px){.season-layout{gap:38px}.season-tabs{gap:5px}.season-tabs button{font-size:.75rem;padding:8px 11px}.season-intro h3{font-size:2.4rem}.hero-copy{padding:37px 0}.story-captions{left:35px;right:35px}.story-nav{left:35px;right:35px}.story-caption h2{font-size:2.8rem}}
@media(max-width:650px){.hero-stage{min-height:810px}.motion-active .hero{height:175svh;min-height:1350px}.motion-active .hero-stage{height:100svh;min-height:780px}.motion-active .hero-inner{min-height:0}.hero-motion{gap:8px}.scroll-cue{display:none}.motion-toggle{width:32px;height:32px}.hero-copy{padding-top:70px;padding-bottom:35px;margin-block:auto}.hero h1 .type-line{white-space:nowrap}.type-caret{width:1.5px;margin-left:2px}.ribbon-track>div{gap:22px;padding-right:22px}.story-stage{height:680px;min-height:600px;border-radius:23px}.motion-active .scroll-story{height:220svh;min-height:1500px}.motion-active .story-stage{top:100px;height:calc(100svh - 130px);min-height:560px}.story-eyebrow{top:25px;left:23px;font-size:.61rem;padding:8px 11px}.story-captions{left:25px;right:25px;bottom:115px;min-height:300px}.story-caption h2{font-size:2.3rem;line-height:1.07;margin-block:17px}.story-caption>span{font-size:.63rem}.story-caption p{font-size:.94rem;line-height:1.65}.story-nav{left:25px;right:25px;bottom:29px;gap:12px}.story-nav button{font-size:.68rem;padding-top:12px}.story-nav button>span{display:block;margin-bottom:5px}.seasons-section{padding:65px 0}.seasons-section .section-heading h2{font-size:2.55rem}.season-layout{grid-template-columns:1fr;gap:28px}.season-tabs{gap:6px}.season-tabs button{font-size:.76rem;padding:9px 11px;min-height:40px}.season-intro{margin-top:28px}.season-intro h3{font-size:2.5rem;max-width:320px}.season-intro>p{max-width:100%}.season-intro>span{font-size:6rem;right:4px}.season-panel article{padding:22px 20px;gap:16px}.season-panel h4{font-size:1rem}.season-panel p{font-size:.94rem}.hero-stat .counter-number{font-size:inherit}}
@media(max-width:380px){.hero h1{font-size:2.35rem}.season-tabs button{font-size:.72rem;padding-inline:10px}.story-caption h2{font-size:2rem}.hero-actions{gap:8px}.hero-actions .button{padding-inline:13px;font-size:.73rem}}
@media(max-height:680px) and (min-width:651px){.motion-active .hero{height:auto;min-height:800px}.motion-active .hero-stage{position:relative;height:800px}.motion-active .story-stage{height:550px;min-height:550px;top:110px}}
@media(prefers-reduced-motion:reduce){.type-caret{display:none}.scroll-mouse::after{animation:none}.hero-base{filter:none}.hero-color{clip-path:none}.hero-divider{display:none}.story-photo,.story-caption,.seasons-section,.seasons-section h2 em{transition:none}.hero-image{animation:none}}
@media(max-width:650px){.hero h1{font-size:clamp(2rem,10.2vw,3.8rem)}}
