@font-face{font-family:Gelitte;src:url('assets/gelitte.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#f6f7f0;--ink:#254d37;--muted:#657361;--line:#c9d3bd;--clay:#217e56;--moss:#65862c;--dark:#173e2d;--serif:Gelitte,'Helvetica Neue',Helvetica,Arial,sans-serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:6px}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}img{max-width:100%}.skip{position:fixed;top:-100px;z-index:30;background:var(--paper);padding:15px}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
header{position:absolute;top:0;left:0;z-index:20;width:100%;height:118px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff;border-bottom:1px solid #ffffff40}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand img{width:100px;height:auto}.brand-name{font-family:Gelitte,cursive;font-size:30px;line-height:1.2;white-space:nowrap;color:#fff;font-weight:400}nav{display:flex;gap:28px;font-size:11px;text-transform:uppercase;letter-spacing:1.1px}nav a{padding:12px 0}nav a:hover{border-bottom:1px solid #fff}.header-cta{font-size:11px;letter-spacing:.4px;border-bottom:1px solid #ffffff80;padding:12px 0;white-space:nowrap}.header-cta span{margin-left:18px}.menu-toggle{display:none;min-width:44px;min-height:44px;background:none;border:0;color:white;font-size:24px}#mobile-menu{position:absolute;top:100px;left:0;right:0;z-index:25;background:var(--dark);padding:20px 7%}#mobile-menu a{display:block;padding:15px 0;border-bottom:1px solid #ffffff20;color:white;font-size:14px}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-1.5px}h2{font-size:clamp(44px,5.2vw,76px);line-height:1.03;margin-bottom:0}h2 em{font-weight:400;font-style:italic;color:var(--clay)}h3{line-height:1.12}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.2px;margin:0 0 30px;text-transform:uppercase}.eyebrow.dark{color:var(--clay)}.dot{display:inline-block;width:24px;height:1px;background:#fff;margin:0 12px 3px 0}.section{padding:110px 8%}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:18px 24px;border:1px solid transparent;border-radius:0;font-size:12px;font-weight:500;transition:background .25s,color .25s}.button span{font-size:22px;line-height:1}.lime{background:var(--paper);color:var(--ink)}.lime:hover{background:#d9d0bb}.green{background:var(--clay);color:#fff}.green:hover{background:#88422c}.text-link{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.text-link span{font-size:24px}.text-link:hover{color:var(--clay)}
.hero{--panel-height:max(730px,100svh);height:auto;position:relative;background:var(--dark);color:#fff}.hero-stage{position:relative}.hero-slide{position:relative;height:var(--panel-height);overflow:hidden;background:var(--dark)}.slide-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#17261bd1,#17261b22 85%),linear-gradient(180deg,#17261b55,transparent 35%,#17261b77)}.hero-content{position:relative;z-index:2;padding:clamp(185px,25svh,280px) 8% 180px;max-width:1100px}.hero-content .eyebrow{font-size:10px;color:#eee9dd}.hero-content h2{font-size:clamp(60px,7vw,104px);line-height:.95;letter-spacing:-2.6px;color:#fff}.hero-content h2 em{color:#e7d7b5}.hero-copy{font-size:15px;line-height:1.75;color:#eee9df;margin:28px 0 30px;max-width:530px}.scroll-hero{height:calc(var(--panel-height) * 4)}.scroll-hero .hero-stage{position:sticky;top:0;height:var(--panel-height);overflow:hidden}.scroll-hero .hero-slide{position:absolute;inset:0;will-change:transform;pointer-events:none;box-shadow:0 8px 40px #0003}.scroll-hero .hero-slide.is-active{pointer-events:auto}.hero-controls{position:absolute;left:8%;right:8%;bottom:32px;z-index:10}.slide-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.slide-tabs button{background:none;border:0;border-top:1px solid #ffffff60;color:#fff;padding:19px 0 0;text-align:left;font-size:11px;letter-spacing:.2px}.slide-tabs button span{display:inline-block;font-family:var(--serif);font-size:23px;margin-right:12px;color:#dfcfb1}.slide-tabs button[aria-pressed=true]{border-color:#e7d7b5;border-top-width:2px;color:#e7d7b5;padding-top:18px}.hero-side{position:absolute;right:28px;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:24px;border:0;background:transparent;color:#fff;padding:12px}.scroll-caption{writing-mode:vertical-rl;text-transform:uppercase;font-size:9px;letter-spacing:2.5px}.scroll-arrow{font-size:32px;font-weight:400;line-height:1;transition:transform .25s}.hero-side:hover .scroll-arrow{transform:translateY(6px)}
.vision{background:var(--dark);color:var(--paper);padding-top:100px;padding-bottom:100px}.vision>.eyebrow{color:#c9bc9a}.vision-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.vision h2 em{color:#cdbb93}.vision-intro p{color:#c2c8ba;font-size:14px;line-height:1.85;margin-bottom:22px}.vision-intro .lead{font-family:var(--serif);font-size:29px;line-height:1.25;color:var(--paper);letter-spacing:-.3px}.vision-values{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:65px}.vision-values article{border-top:1px solid #c2c8ba44;padding-top:27px}.vision-icon{width:58px;height:58px;display:block;margin:0 0 28px;color:#cdbb93;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.vision-values article>span{font-size:9px;letter-spacing:1.5px;color:#b7bfae}.vision-values h3{font-size:31px;letter-spacing:-.6px;margin:19px 0 16px}.vision-values p{font-size:13px;line-height:1.9;color:#c2c8ba;margin:0}
.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.intro-grid p{color:var(--muted);font-size:14px;line-height:1.85;margin-bottom:22px}.intro-grid .lead{font-family:var(--serif);font-size:29px;line-height:1.25;letter-spacing:-.3px;color:var(--ink)}.services{border-top:1px solid var(--line);padding-top:90px;background:#e8e5da}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px}.section-top>p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 6px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:440px;padding:24px 20px;color:#fff;overflow:hidden;background:var(--dark)}.service:nth-child(even){margin-top:45px;margin-bottom:-45px}.service img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}.service:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#18281b33,transparent 30%,#14251bd9)}.service:hover img{transform:scale(1.06)}.service-num,.service>div,.circle{position:relative;z-index:1}.service-num{font-size:9px;letter-spacing:1.3px}.service h3{font-size:34px;letter-spacing:-.8px;margin-bottom:12px}.service p{font-size:11px;line-height:1.6;margin:0;padding-bottom:28px}.circle{position:absolute;bottom:20px;right:20px;font-size:23px;transition:transform .3s}.service:hover .circle{transform:translate(3px,-3px)}.image-note{font-size:10px;color:var(--muted);margin:70px 0 0}.detail-row{display:grid;grid-template-columns:35px 1fr 1.3fr 35px;gap:24px;padding:36px 0;border-bottom:1px solid var(--line);scroll-margin-top:25px}.detail-row>span{font-family:var(--serif);font-size:25px;color:var(--clay)}.detail-row h3{font-size:36px;letter-spacing:-.7px;margin:0}.detail-row p{font-size:14px;line-height:1.85;color:var(--muted);margin:0}.detail-row>a{font-size:28px;color:var(--clay)}.tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.tags span{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--moss);border-bottom:1px solid var(--line);padding-bottom:5px}
.contact{border-top:1px solid var(--line);display:grid;grid-template-columns:1.15fr 1fr;gap:100px;background:#ece5d8}.contact p{font-size:14px;color:var(--muted);line-height:1.8;max-width:400px;margin-top:25px}.contact .draft-note{font-size:11px;border-left:1px solid var(--clay);padding-left:16px}form{display:flex;flex-direction:column;gap:12px}label{font-size:11px;letter-spacing:.4px;margin-top:5px}input,select,textarea{width:100%;border:0;border-bottom:1px solid #9da38e;background:transparent;padding:12px 0;border-radius:0;color:var(--ink);font-size:14px}textarea{resize:vertical}form .button{align-self:flex-start;margin-top:15px}#form-status{min-height:22px;margin:0;font-size:12px}footer{background:#202d25;color:var(--paper);padding:50px 8% 25px}.footer-brand{display:inline-block;background:#fff;padding:12px}.footer-brand img{display:block;width:140px;height:140px;object-fit:contain}footer>p{font-family:var(--serif);font-size:24px;margin:25px 0;color:#d2c7ad}footer>div{display:flex;justify-content:space-between;gap:20px;margin-top:35px;border-top:1px solid #ffffff26;padding-top:22px;font-size:10px;color:#b5bdad}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:none}
@media(min-width:1600px){.section{padding-left:max(8%,calc((100% - 1350px)/2));padding-right:max(8%,calc((100% - 1350px)/2))}}
@media(max-width:1150px){.header-cta{display:none}.brand-name{font-size:28px}.brand img{width:90px}.service-grid{grid-template-columns:repeat(2,1fr);gap:25px}.service{min-height:420px;padding:28px}.service:nth-child(even){margin:0}.service:nth-child(2){margin-top:40px;margin-bottom:-40px}.service:nth-child(3),.service:nth-child(4){margin-top:40px}.service:nth-child(4){margin-top:80px;margin-bottom:-40px}.image-note{margin-top:65px}.service h3{font-size:42px}.service p{font-size:12px}.vision-intro,.intro-grid{gap:40px}.vision-values{gap:26px}.contact{gap:50px}}
@media(max-width:700px){header{height:100px;padding:0 6%;gap:12px}.brand{gap:10px}.brand img{width:74px}.brand-name{font-size:23px}nav{display:none}.menu-toggle{display:block;flex-shrink:0}.hero{--panel-height:max(730px,100svh)}.hero-content{padding:165px 7% 190px}.hero-content h2{font-size:clamp(48px,11vw,68px);letter-spacing:-1.6px;line-height:1}.hero-copy{font-size:13px;line-height:1.8;margin:24px 0 27px;max-width:300px}.hero-content .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:25px}.button{padding:16px 20px;gap:28px;font-size:11px}.hero-controls{left:7%;right:7%;bottom:27px}.slide-tabs{gap:12px}.slide-tabs button{font-size:9px;line-height:1.5;padding-top:10px;letter-spacing:0}.slide-tabs button[aria-pressed=true]{padding-top:9px}.slide-tabs button span{display:block;font-size:22px;margin:0 0 5px}.hero-side{top:auto;bottom:130px;right:7%;transform:none;flex-direction:row;gap:18px;padding:8px 0}.scroll-caption{writing-mode:horizontal-tb;font-size:8px;letter-spacing:1.5px}.scroll-arrow{font-size:28px}.section{padding:65px 7%}h2{font-size:48px;letter-spacing:-1.5px}.eyebrow{font-size:9px;margin-bottom:25px}.vision-intro,.intro-grid,.contact{grid-template-columns:1fr;gap:30px}.vision-intro .lead,.intro-grid .lead{font-size:27px}.vision-values{grid-template-columns:1fr;gap:32px;margin-top:40px}.vision-values article{position:relative;padding-left:75px;padding-top:25px;min-height:100px}.vision-icon{position:absolute;left:0;top:28px;width:48px;height:48px}.vision-values h3{font-size:30px;margin-top:14px}.vision-values p{font-size:13px}.section-top{display:block}.section-top>p{margin-top:25px}.service-grid{gap:14px}.service{min-height:340px;padding:18px 14px}.service h3{font-size:30px}.service p{font-size:10px}.service-num{font-size:8px;letter-spacing:.5px}.service:nth-child(2){margin-top:25px;margin-bottom:-25px}.service:nth-child(3){margin-top:25px}.service:nth-child(4){margin-top:50px;margin-bottom:-25px}.circle{right:14px;bottom:16px}.image-note{margin-top:50px;line-height:1.6}.detail-row{grid-template-columns:25px 1fr 25px;gap:10px;padding:27px 0}.detail-row h3{font-size:32px}.detail-row>div{grid-column:2;grid-row:2}.detail-row>a{grid-column:3;grid-row:1}.detail-row p{font-size:13px}.contact p{margin-top:24px}.contact form{margin-top:0}footer{padding:40px 7% 25px}footer>div{flex-direction:column;gap:14px}.footer-brand img{width:120px;height:120px}}
@media(max-width:360px){.brand img{width:62px}.brand-name{font-size:21px}.service-grid{grid-template-columns:1fr}.service:nth-child(n){margin:0;min-height:350px}.service h3{font-size:40px}.service p{font-size:12px}.image-note{margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.reveal{opacity:1;transform:none}.scroll-hero .hero-slide{visibility:hidden;will-change:auto}.scroll-hero .hero-slide.is-active{visibility:visible}}

/* Pronto Giardino: bold Gelitte titles, Helvetica Neue supporting text. */
h1,h2,h3{font-family:Gelitte,'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;letter-spacing:-.5px}h2{font-size:clamp(32px,3.7vw,52px);line-height:1.13}h2 em{font-style:normal;color:#217e56}.hero-content h2{font-size:clamp(44px,5.4vw,74px);line-height:1.1;letter-spacing:-1.3px}.hero-content h2 em{color:#217e56}.hero-shade{background:radial-gradient(ellipse 85% 85% at 0% 48%,rgba(12,35,23,.62) 0%,rgba(12,35,23,.58) 15%,rgba(12,35,23,.47) 30%,rgba(12,35,23,.32) 45%,rgba(12,35,23,.17) 60%,rgba(12,35,23,.065) 75%,rgba(12,35,23,.015) 88%,rgba(12,35,23,0) 100%)}.hero-content .eyebrow{font-weight:600}.button{border-radius:5px;font-weight:600}.lime{background:#217e56;color:#fff}.lime:hover{background:#185f41}.green{background:#217e56}.green:hover{background:#185f41}.scroll-caption{font-weight:500}.slide-tabs button span{font-family:var(--sans);font-size:11px;font-weight:600;color:#217e56}.slide-tabs button[aria-pressed=true]{color:#217e56;border-color:#217e56}.vision{background:#173e2d}.vision h2{font-size:clamp(30px,3.3vw,46px);line-height:1.18}.vision h2 em{color:#217e56}.vision>.eyebrow,.vision-icon{color:#217e56}.vision-intro .lead,.intro-grid .lead{font-family:var(--sans);font-size:23px;line-height:1.45;letter-spacing:0}.vision-values h3{font-size:22px;line-height:1.2;letter-spacing:-.4px}.vision-values article>span{color:#217e56}.vision-values p{color:#d2decb}.services{background:#eaf0df}.service-grid{gap:20px}.service:nth-child(n){margin:0}.service{border-radius:8px;min-height:440px}.service h3{font-size:27px;line-height:1.15;letter-spacing:-.3px}.image-note{margin-top:22px}.detail-row>span{font-family:var(--sans);font-size:12px;font-weight:600;padding-top:8px}.detail-row h3{font-size:27px;line-height:1.2}.contact{background:#edf2e5}footer>p{font-family:var(--sans);font-size:15px;color:#217e56}.vision-icon{width:60px;height:60px;stroke-width:1.7}
@media(max-width:1150px){.service:nth-child(n){margin:0}.service{min-height:400px}.service h3{font-size:30px}.image-note{margin-top:22px}}
@media(max-width:700px){.hero-content h2{font-size:clamp(35px,9.5vw,50px);line-height:1.13;letter-spacing:-.8px}h2{font-size:33px;line-height:1.15;letter-spacing:-.4px}.vision-intro .lead,.intro-grid .lead{font-size:21px;line-height:1.45}.vision h2{font-size:30px}.vision-values h3{font-size:21px}.vision-icon{width:47px;height:47px}.service-grid{grid-template-columns:1fr;gap:18px}.service:nth-child(n){margin:0;min-height:370px;padding:25px}.service h3{font-size:32px}.service p{font-size:12px}.service-num{font-size:9px;letter-spacing:1px}.detail-row h3{font-size:25px}.slide-tabs button span{font-size:10px;margin-bottom:7px}.vision-values article{padding-left:70px}}

/* Service stories: alternating imagery and copy, revealed with native scroll. */
.service-story{background:var(--paper);padding-bottom:85px}.service-index{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:0 0 70px;font-size:12px;text-transform:none;letter-spacing:0}.service-index a{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:18px 0}.service-index a>span:first-child{color:#217e56;font-size:10px}.service-index a>span:last-child{margin-left:auto;font-size:24px}.service-index a:hover{color:#217e56;border-color:#217e56}.service-chapter{display:grid;grid-template-columns:1.25fr 1fr;gap:8%;align-items:center;margin:0 0 105px;scroll-margin-top:45px}.service-chapter:nth-child(even){grid-template-columns:1fr 1.25fr}.service-chapter:nth-child(even) .chapter-media{order:2}.chapter-media{position:relative;overflow:hidden;aspect-ratio:1.12;background:#dce5d6}.chapter-media img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.035);transition:transform 1.2s cubic-bezier(.2,.65,.3,1)}.service-chapter:hover .chapter-media img{transform:scale(1.085)}.chapter-number{position:absolute;left:24px;bottom:12px;font-family:Gelitte,var(--sans);font-size:90px;line-height:1;color:white}.chapter-copy h3{font-size:clamp(30px,3.4vw,46px);line-height:1.15;margin-bottom:25px}.chapter-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;color:var(--muted)}.chapter-copy .text-link{margin-top:35px}.chapter-copy .eyebrow{margin-bottom:22px}.service-chapter.reveal .chapter-media img{transform:scale(1.16)}.service-chapter.reveal.is-visible .chapter-media img{transform:scale(1.035)}.service-chapter:last-child{margin-bottom:0}
@media(max-width:700px){.service-index{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-bottom:40px}.service-chapter,.service-chapter:nth-child(even){grid-template-columns:1fr;gap:30px;margin-bottom:65px}.service-chapter:nth-child(even) .chapter-media{order:0}.chapter-media{aspect-ratio:1.2}.chapter-number{font-size:65px}.chapter-copy h3{font-size:32px}.chapter-copy>p:not(.eyebrow){font-size:14px}.service-story{padding-bottom:65px}}

/* Accent sampled from the light green in the Pronto Giardino logo. */
:root{--logo-lime:#9eca3b}
.hero-content h2 em,.vision h2 em,.vision>.eyebrow,.vision-icon,.vision-values article>span,.slide-tabs button span,footer>p{color:var(--logo-lime)}
.slide-tabs button[aria-pressed=true]{color:var(--logo-lime);border-color:var(--logo-lime)}
.lime{background:var(--logo-lime);color:#173e2d}.lime:hover{background:#acd64d}

/* Extra contrast for the bright garden and nursery footage. */
.hero-slide:nth-of-type(1) .hero-shade,.hero-slide:nth-of-type(4) .hero-shade{background:radial-gradient(ellipse 100% 90% at 5% 44%,rgba(8,27,17,.78) 0%,rgba(8,27,17,.69) 20%,rgba(8,27,17,.48) 40%,rgba(8,27,17,.22) 60%,rgba(8,27,17,.055) 80%,rgba(8,27,17,0) 100%),linear-gradient(180deg,rgba(8,27,17,.42) 0%,rgba(8,27,17,.16) 13%,transparent 29%,transparent 73%,rgba(8,27,17,.12) 88%,rgba(8,27,17,.28) 100%)}
.hero-side{isolation:isolate;text-shadow:0 1px 5px rgba(0,0,0,.5)}.hero-side:before{content:'';position:absolute;inset:-35px -28px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse closest-side at center,rgba(8,27,17,.36) 0%,rgba(8,27,17,.22) 40%,rgba(8,27,17,.07) 65%,transparent 85%)}
@media(max-width:700px){.hero-side:before{inset:-22px -30px}}

/* About: generous imagery, offset text and a brand-colored caption. */
.company{overflow:hidden;padding-top:100px;padding-bottom:120px}.company-heading{position:relative;z-index:1;margin-bottom:45px}.company-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center}.company-photo{position:relative;margin:0 0 28px}.company-photo-frame{overflow:hidden;aspect-ratio:1.18;background:#dce5d6}.company-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:44% center;transform:scale(1.025);transition:transform 1.5s cubic-bezier(.2,.65,.3,1)}.company-photo:hover img{transform:scale(1.065)}.company-photo figcaption{position:relative;z-index:1;display:flex;flex-direction:column;margin:-38px -24px 0 auto;width:78%;padding:24px 62px 24px 26px;background:var(--logo-lime);color:#173e2d;font-family:Gelitte,var(--sans);font-size:clamp(21px,2.1vw,29px);line-height:1.2}.company-photo-arrow{position:absolute;right:24px;top:50%;transform:translateY(-50%);font-family:var(--sans);font-size:37px}.company-copy{padding-top:38px}.company-copy p{font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:22px}.company-copy .lead{font-size:23px;line-height:1.45;color:var(--ink)}.company-copy .text-link{margin-top:30px}.company-photo.reveal{transform:translateY(36px);transition-duration:1s}.company-photo.reveal img{transform:scale(1.13)}.company-photo.reveal.is-visible{transform:none}.company-photo.reveal.is-visible img{transform:scale(1.025)}.company-copy.reveal{transition-delay:.14s}
@media(max-width:700px){.company{padding-top:65px;padding-bottom:65px}.company-heading{margin-bottom:30px}.company-layout{grid-template-columns:1fr;gap:30px}.company-photo{margin-bottom:0}.company-photo-frame{aspect-ratio:1.2}.company-photo figcaption{margin:-30px -10px 0 auto;width:88%;font-size:23px;padding:22px 50px 22px 22px}.company-photo-arrow{right:18px;font-size:30px}.company-copy{padding-top:0}.company-copy .lead{font-size:21px}.company-copy.reveal{transition-delay:0s}}

/* SF Pro Display / San Francisco system typography, as in the reference. */
:root{--display:'SF Pro Display',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Helvetica,Arial,sans-serif;--serif:var(--display)}
h1,h2,h3,h4,h5,h6,.company-photo figcaption{font-family:var(--display);font-style:normal;font-weight:600;letter-spacing:-.025em}
h2 em{font-family:inherit;font-style:normal;font-weight:inherit}
nav,#mobile-menu,.header-cta,.menu-toggle,.scroll-caption,.eyebrow{font-family:var(--display)}
header nav,#mobile-menu,.header-cta{font-weight:400}
.chapter-number{font-family:var(--display);font-weight:600}

/* Gelitte is reserved for hero and section headings. */
.hero-content h2,.section h2{font-family:Gelitte,'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;font-style:normal;letter-spacing:-.5px}
.hero-content h2{letter-spacing:-1.3px}
.hero-content h2 em,.section h2 em{font-family:inherit;font-weight:inherit;font-style:normal}
.brand-name{font-family:Gelitte,cursive;font-weight:400}
@media(max-width:700px){.hero-content h2{letter-spacing:-.8px}.section h2{letter-spacing:-.4px}}

/* Scroll-linked services: tractor on the left, rising panels on the right. */
.services-experience{--services-height:max(760px,100svh);position:relative;background:#102e21;color:#fff}
.services-stage{position:relative;overflow:hidden;padding:75px 7%}.services-film{position:absolute;inset:0 auto 0 0;width:70%;height:100%;object-fit:cover;object-position:52% center}.services-film-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,30,18,.16) 0%,rgba(8,30,18,.08) 30%,rgba(16,46,33,.68) 51%,#102e21 72%),linear-gradient(180deg,rgba(8,30,18,.55),transparent 45%)}
.services-intro{position:relative;width:40%;z-index:1}.services-intro .eyebrow{color:var(--logo-lime)}.services-intro h2{font-family:Gelitte,var(--sans);font-weight:400;font-size:clamp(32px,3.5vw,50px);line-height:1.13;letter-spacing:-.5px}.services-intro>p:last-child{font-size:14px;line-height:1.65;margin-top:24px;color:#edf2e5}
.services-window{position:relative;margin-left:55%;z-index:2}.services-panel{padding:45px 0;border-top:1px solid #ffffff30;scroll-margin-top:30px}.services-panel .eyebrow{font-size:11px;letter-spacing:1.5px;color:var(--logo-lime);margin-bottom:27px}.services-panel h3{font-family:var(--display);font-size:clamp(32px,3.5vw,48px);font-weight:600;line-height:1.12;letter-spacing:-.025em;margin-bottom:27px}.services-panel>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#e0e8db;max-width:500px}.services-panel .tags span{color:var(--logo-lime);border-color:#ffffff30}.services-panel .text-link{margin-top:30px;color:white;border-color:#ffffff50}.services-panel .text-link:hover{color:var(--logo-lime)}
.services-progress,.services-scroll-note{display:none}.scroll-services{height:calc(var(--services-height)*var(--service-count,4.4))}.scroll-services .services-stage{position:sticky;top:0;height:var(--services-height);padding:0}.scroll-services .services-intro{position:absolute;top:9%;left:7%;width:38%}.scroll-services .services-window{position:absolute;top:21%;bottom:13%;left:56%;right:7%;margin:0;overflow:hidden}.scroll-services .services-panel{position:absolute;inset:0;padding:22px 0 12px;border:0;display:flex;flex-direction:column;justify-content:center;will-change:transform;pointer-events:none}.scroll-services .services-panel.is-current{pointer-events:auto}.scroll-services .services-progress{display:flex;position:absolute;bottom:8%;left:56%;right:7%;align-items:center;gap:18px;font-size:11px;color:#dbe8d6}.services-progress-track{height:2px;flex:1;background:#ffffff30;overflow:hidden}.services-progress-track>span{display:block;width:100%;height:100%;background:var(--logo-lime);transform-origin:left;transform:scaleX(.25)}.scroll-services .services-scroll-note{display:flex;position:absolute;left:7%;bottom:7%;gap:30px;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:1.5px}.services-scroll-note>span{font-size:28px}
@media(max-width:700px){.services-experience{--services-height:max(820px,100svh)}.services-stage{padding:45px 7%}.services-film{width:100%;height:380px;object-position:52% 45%}.services-film-shade{background:linear-gradient(180deg,rgba(8,30,18,.3),rgba(16,46,33,.15) 18%,#102e21 42%)}.services-intro{width:100%;min-height:330px}.services-intro h2{font-size:31px}.services-intro>p:last-child{display:none}.services-window{margin-left:0}.services-panel h3{font-size:32px}.services-panel>p:not(.eyebrow){font-size:14px;line-height:1.7}.scroll-services .services-intro{top:5%;left:7%;width:85%}.scroll-services .services-window{top:38%;bottom:10%;left:7%;right:7%}.scroll-services .services-progress{bottom:5%;left:7%;right:7%}.scroll-services .services-scroll-note{display:none}.services-panel .eyebrow{margin-bottom:18px}.services-panel h3{margin-bottom:20px}.services-panel .text-link{margin-top:20px}.services-panel .tags{gap:9px;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.services-film{display:none}.services-stage{background:linear-gradient(90deg,#102e21dd,#102e21),url('assets/tractor-scroll-poster.jpg') left top/cover}.services-panel{will-change:auto}}

.sport-page header{position:relative;background:var(--dark)}.sport-page #mobile-menu{top:118px}.sport-opening{padding-top:65px;padding-bottom:65px}.sport-back{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:38px}.sport-opening h1{font-family:Gelitte,var(--sans);font-weight:400;font-size:clamp(38px,5vw,68px);line-height:1.13;letter-spacing:-.7px;margin-bottom:25px}.sport-opening h1 em{font-style:normal;color:#217e56}.sport-opening-copy{font-size:17px;line-height:1.7;color:var(--muted)}.work-index{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px;text-transform:none;letter-spacing:0;font-size:12px}.work-index a{padding:11px 15px;border:1px solid var(--line);border-radius:3px;display:flex;gap:20px;align-items:center}.work-index a:hover{background:var(--logo-lime);border-color:var(--logo-lime)}
@media(max-width:700px){.sport-page #mobile-menu{top:100px}.sport-opening{padding-top:38px;padding-bottom:45px}.sport-opening-copy{font-size:15px}.work-index{display:flex;gap:8px}.work-index a{font-size:11px;padding:10px 12px;gap:12px}}

/* Clipping must not create an inner scroller when opening a service anchor. */
.services-stage,.scroll-services .services-window{overflow:clip}

/* Home service scenes: one film at a time, blended between services. */
.home-service-scenes .scene-film{opacity:0;transition:opacity .85s ease;pointer-events:none}.home-service-scenes .scene-film.is-visible{opacity:1}.home-service-scenes .services-film-shade{background:linear-gradient(90deg,rgba(16,46,33,.06) 0%,rgba(16,46,33,.10) 15%,rgba(16,46,33,.22) 28%,rgba(16,46,33,.40) 40%,rgba(16,46,33,.63) 52%,rgba(16,46,33,.82) 64%,rgba(16,46,33,.94) 77%,#102e21 94%),linear-gradient(180deg,rgba(8,30,18,.58) 0%,rgba(8,30,18,.35) 18%,rgba(8,30,18,.12) 38%,transparent 65%)}.home-service-scenes .scene-film:nth-of-type(3){object-position:58% center}.home-service-scenes .services-panel h3{font-family:Gelitte,var(--sans);font-weight:400;font-size:clamp(30px,3.3vw,46px);letter-spacing:-.5px}
@media(max-width:700px){.home-service-scenes .services-film-shade{background:linear-gradient(180deg,rgba(16,46,33,.65) 0%,rgba(16,46,33,.51) 12%,rgba(16,46,33,.45) 22%,rgba(16,46,33,.56) 31%,rgba(16,46,33,.72) 40%,rgba(16,46,33,.88) 49%,rgba(16,46,33,.97) 58%,#102e21 68%)}.home-service-scenes .services-panel h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.home-service-scenes .services-stage{background:linear-gradient(90deg,#102e21dd,#102e21),url('assets/services-garden-poster.jpg') left top/cover}}

/* Let footage fade out before its physical edge, with no visible seam. */
.home-service-scenes .scene-film{width:100%;mask-image:linear-gradient(90deg,#000 0%,#000 25%,rgba(0,0,0,.97) 40%,rgba(0,0,0,.8) 55%,rgba(0,0,0,.45) 72%,rgba(0,0,0,.12) 88%,transparent 100%)}
.home-service-scenes .scene-film:first-of-type{transform:scaleX(-1);mask-image:linear-gradient(270deg,#000 0%,#000 25%,rgba(0,0,0,.97) 40%,rgba(0,0,0,.8) 55%,rgba(0,0,0,.45) 72%,rgba(0,0,0,.12) 88%,transparent 100%)}
@media(max-width:700px){.home-service-scenes .scene-film,.home-service-scenes .scene-film:first-of-type{height:560px;mask-image:linear-gradient(180deg,#000 0%,#000 24%,rgba(0,0,0,.95) 40%,rgba(0,0,0,.72) 58%,rgba(0,0,0,.35) 76%,rgba(0,0,0,.08) 91%,transparent 100%)}}


/* Two-stage sod button: lay the lawn, then mow it with the label. */
.turf-button{--roll-x:0px;--roll-scale:1;--roll-turn:0deg;--label-x:0px;--cut:0%;position:relative;isolation:isolate;display:flex;align-items:center;min-height:76px;width:100%;margin-top:32px;padding:10px 88px 10px 22px;color:#fff;text-decoration:none;border:1px solid rgba(158,202,59,.38);border-radius:6px;background:rgba(16,46,33,.45);font-size:13px;overflow:visible;cursor:pointer}
.turf-button:hover{border-color:#9eca3b;background:rgba(33,126,86,.3)}.turf-button:focus-visible{outline:3px solid #9eca3b;outline-offset:5px}.turf-arrow{display:none}
.turf-roll{position:absolute;width:74px;height:60px;left:calc(100% - 78px);bottom:6px;z-index:2;transform:translateX(var(--roll-x)) scale(var(--roll-scale));transform-origin:50% 100%;pointer-events:none}
.turf-roll svg{display:block;width:100%;height:100%;transform:scaleX(-1);filter:drop-shadow(0 3px 3px #0005)}.turf-face-spin{transform-box:view-box;transform-origin:54px 65px;transform:rotate(var(--roll-turn))}
.turf-bed{position:absolute;left:18px;right:35px;bottom:5px;height:26px;background:url('assets/turf-grass-strip.svg') left bottom/80px 32px repeat-x;clip-path:polygon(calc(100% + 26px) 0,100% 0,100% 100%,calc(100% + 52px) 100%);z-index:0;pointer-events:none}
.turf-label{position:relative;z-index:3;display:block;line-height:1.35;transform:translateX(var(--label-x));white-space:nowrap;pointer-events:none}
.turf-button.is-mowing .turf-label,.turf-button.is-mown .turf-label{transform:translateX(var(--label-x)) translateY(var(--mow-y,16px))}
.turf-stubble{position:absolute;left:18px;right:35px;bottom:5px;height:16px;background:url('assets/turf-grass-strip.svg') left bottom/80px 32px repeat-x;clip-path:inset(0 calc(100% - var(--cut)) 0 0);pointer-events:none}
.turf-clippings{position:absolute;inset:0;pointer-events:none;z-index:4}
.turf-clipping{position:absolute;bottom:21px;width:3px;height:11px;border-radius:100% 0 100% 0;background:var(--blade-color,#9eca3b);transform-origin:bottom;animation:grass-flight .7s ease-out forwards;pointer-events:none}
@keyframes grass-flight{0%{opacity:0;transform:translate(0,0) rotate(0)}12%{opacity:1}65%{opacity:1}100%{opacity:0;transform:translate(var(--drift),var(--lift)) rotate(var(--twist))}}
@media(max-width:700px){.turf-button{margin-top:20px;min-height:72px;font-size:12px;padding-left:16px;padding-right:80px}}
@media(prefers-reduced-motion:reduce){.turf-clippings{display:none}.turf-roll{transform:none}.turf-face-spin{transform:none}}
/* Reserved full-width cookie transition. */
.lawn-sweep{position:fixed;z-index:1000;left:0;right:0;bottom:0;height:150px;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .35s}.lawn-sweep.is-active{visibility:visible;opacity:1}.lawn-sweep.is-leaving{opacity:0}
.lawn-sweep-strip{position:absolute;inset:auto 0 0;height:64px;background:url('assets/turf-grass-strip.svg') left bottom/160px 64px repeat-x;clip-path:polygon(calc(100% - 32px) 0,100% 0,100% 100%,calc(100% + 32px) 100%)}
.lawn-sweep-roll{position:absolute;width:150px;height:120px;bottom:8px;left:calc(100% - 20px);transform:scaleX(-1);filter:drop-shadow(0 6px 6px #0006)}.lawn-sweep-roll svg{display:block;width:100%;height:100%}
.lawn-sweep.is-active .lawn-sweep-strip{animation:lay-lawn 2.5s linear forwards}.lawn-sweep.is-active .lawn-sweep-roll{animation:travel-roll 2.5s linear forwards}.lawn-sweep.is-active .turf-face-spin{animation:spin-winding 2.5s linear forwards}
@keyframes lay-lawn{to{clip-path:polygon(-96px 0,100% 0,100% 100%,-32px 100%)}}@keyframes travel-roll{from{left:calc(100% - 20px);transform:scaleX(-1)}to{left:-125px;transform:scaleX(-1)}}@keyframes spin-winding{to{transform:rotate(1080deg)}}
@media(prefers-reduced-motion:reduce){.lawn-sweep{display:none}}

.turf-button .turf-label{font-family:Gelitte,var(--sans);font-weight:400;font-size:26px;line-height:1.1;letter-spacing:0}
@media(max-width:700px){.turf-button .turf-label{font-size:24px}}

.turf-button .turf-roll{opacity:var(--roll-opacity,1)}
.turf-button.is-mowing .turf-roll,.turf-button.is-mown .turf-roll{opacity:0}

/* A scroll-driven journey: globe, black, one service, black, globe again. */
.globe-home header{color:#254d37;border-bottom-color:#254d372b}.globe-home header .brand-name,.globe-home header .menu-toggle{color:#254d37}.globe-home header .header-cta{border-color:#254d3766}
.planet-hero{--planet-height:max(700px,100svh);height:calc(var(--planet-height) * 17.8);background:#fff}
.planet-hero .hero-stage{height:var(--planet-height);position:sticky;top:0;overflow:clip;background:#fff}
.planet-hero .globe-world{position:absolute;inset:0;background:#cdd5c8;overflow:hidden;opacity:1;pointer-events:none}
.globe-visual{position:absolute;inset:0;transform-origin:70% 50%;will-change:transform}
.globe-visual video{position:absolute;top:0;right:-20%;width:100%;height:100%;object-fit:cover;mask-image:linear-gradient(90deg,transparent 0%,#000 25%)}
.globe-copy{position:absolute;left:7%;top:clamp(130px,19svh,190px);transform:none;width:48%;max-width:700px;color:#173e2d}
.globe-copy .eyebrow{color:#346638;font-size:10px;letter-spacing:2.5px;margin-bottom:28px}
.globe-copy h1{font-family:Gelitte,var(--sans);font-size:clamp(38px,4.4vw,67px);line-height:1.15;letter-spacing:-1px;margin:0 0 28px}.globe-copy h1 em{font-style:normal;color:#217e56}
.globe-copy>p:last-child{font-size:16px;line-height:1.8;max-width:340px;margin:0}
.planet-hero .hero-slide{position:absolute;inset:0;height:100%;opacity:0;pointer-events:none;box-shadow:none;transform:none;background:#fff;will-change:opacity}
.planet-hero .hero-slide.is-active{pointer-events:auto}.planet-hero .hero-content{padding-top:clamp(170px,26svh,270px)}
.planet-hero .hero-side{top:auto;bottom:38px;right:5%;transform:none;flex-direction:row;gap:20px;color:#fff}.planet-hero .scroll-caption{writing-mode:horizontal-tb}.planet-hero.showing-globe .hero-side{color:#254d37;text-shadow:none}.planet-hero.showing-globe .hero-side:before{background:none}
@media(max-width:700px){.planet-hero{--planet-height:max(740px,100svh)}.globe-visual{transform-origin:50% 67%}.globe-visual video{right:0;top:35%;height:65%;width:100%;object-fit:cover;mask-image:linear-gradient(180deg,transparent,#000 18%,#000 70%,transparent)}.globe-copy{top:120px;bottom:auto;left:7%;width:86%;transform:none;max-width:none}.globe-copy h1{font-size:clamp(31px,8.5vw,42px);line-height:1.12;margin-bottom:18px}.globe-copy .eyebrow{font-size:8px;margin-bottom:16px}.globe-copy>p:last-child{font-size:13px;line-height:1.65}.planet-hero .hero-side{bottom:30px;right:7%}.planet-hero .hero-content{padding-top:175px;padding-bottom:100px}}
.planet-hero.planet-static{height:auto}.planet-static .hero-stage{position:relative;height:auto;overflow:hidden}.planet-static .globe-world{position:relative;height:var(--planet-height)}.planet-static .hero-slide{position:relative;height:var(--planet-height);opacity:1!important;visibility:visible;pointer-events:auto}.planet-static .hero-side{display:none}

/* A little more breathing room around the globe on desktop and tablet. */
@media(min-width:600px){.globe-visual video{transform:scale(.9);transform-origin:50% 50%}}

@media(min-width:701px){.globe-visual video{mask-image:linear-gradient(90deg,transparent 0%,#000 25%),linear-gradient(180deg,transparent 0%,#000 9%,#000 91%,transparent 100%);mask-composite:intersect}}

/* Hero palette: forest on the globe, ivory and logo lime over service films. */
.planet-hero .globe-copy{color:#173e2d}
.planet-hero .globe-copy h1 em{color:#185f41}
.planet-hero .globe-copy .eyebrow,.planet-hero .globe-copy>p:last-child{color:#254d37}
.planet-hero .hero-content h2{color:#f7faef;text-shadow:0 2px 18px rgba(5,22,13,.35)}
.planet-hero .hero-content h2 em{color:var(--logo-lime)}
.planet-hero .hero-copy{color:#f7faef;text-shadow:0 1px 8px rgba(5,22,13,.65)}
.planet-hero .hero-content .eyebrow{color:#f7faef;text-shadow:0 1px 7px rgba(5,22,13,.65)}
.planet-hero .hero-content .dot{background:var(--logo-lime)}
.planet-hero .hero-shade:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 85% 90% at 5% 42%,rgba(8,27,17,.3),rgba(8,27,17,.2) 28%,rgba(8,27,17,.08) 48%,transparent 75%)}

/* Interludes show only the centered globe; the opening composition is unchanged. */
.globe-interlude .globe-visual{transform-origin:50% 50%}
.globe-interlude .globe-visual video{right:0;mask-image:linear-gradient(180deg,transparent 0%,#000 9%,#000 91%,transparent 100%);mask-composite:add}
.globe-interlude .globe-copy{visibility:hidden}
.globe-interlude.showing-globe .scroll-caption{visibility:hidden}
@media(max-width:700px){.globe-interlude .globe-visual video{top:17.5%;height:65%;mask-image:linear-gradient(180deg,transparent,#000 18%,#000 70%,transparent)}}

.home-service-scenes.scroll-services .services-panel>:not(.turf-button){transform:translate3d(var(--service-text-x,0%),0,0);will-change:transform}
.home-service-scenes.scroll-services .services-panel>.turf-button{transform:translate3d(var(--service-button-x,0%),var(--service-button-y,0px),0);will-change:transform}
@media(prefers-reduced-motion:reduce){.home-service-scenes .services-panel>*{transform:none!important;will-change:auto}}

/* Feather the film on every edge, including while the globe is enlarged. */
.planet-hero .globe-visual video{mask-image:radial-gradient(ellipse closest-side at 50% 50%,#000 0%,#000 70%,rgba(0,0,0,.94) 78%,rgba(0,0,0,.55) 90%,transparent 100%);mask-composite:add}
