

:root{--paper:#f4f2ec;--ink:#252620;--orange:#f35d2b;--line:#d5d4cc;--muted:#72736c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}.brand{font-size:23px;font-weight:800;letter-spacing:-1px;display:flex;gap:12px;align-items:center}.mark{background:var(--orange);color:var(--paper);font-size:28px;line-height:38px;text-align:center;width:38px;height:38px;transform:skew(-8deg)}nav{display:flex;gap:30px;font-size:13px;font-weight:700}.nav-cta{border-bottom:2px solid var(--orange)}.wrap{max-width:1440px;margin:auto;padding:0 5%}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:800;display:flex;gap:12px;align-items:center}.eyebrow:before{content:'';width:7px;height:7px;background:var(--orange)}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;text-transform:uppercase;line-height:.98;margin:0;font-weight:700}h1{font-size:clamp(66px,7.9vw,118px);letter-spacing:-2px;margin:27px 0}h1 em{font-style:normal;color:var(--orange)}h2{font-size:clamp(44px,5vw,72px);letter-spacing:-1px}h3{font-size:32px}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:6%;padding-top:58px;padding-bottom:54px}.hero-copy{padding:20px 0}.hero-copy>p{max-width:420px;color:#66685f;font-size:16px}.actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--orange);color:#fff;padding:15px 22px;border:0;font-size:13px;font-weight:800}.text-link{font-weight:800;font-size:13px;border-bottom:1px solid #999b90;padding:8px 0}.hero-meta{display:flex;gap:20px;border-top:1px solid var(--line);margin-top:38px;padding-top:16px;font-size:11px;color:var(--muted)}.hero-art{position:relative;min-height:530px;background:#2a302d;overflow:hidden}.hero-art svg{width:100%;height:100%;position:absolute;inset:0}.art-label{position:absolute;bottom:23px;left:23px;color:#fff;font-size:10px;letter-spacing:1px}.badge{position:absolute;right:18px;top:18px;background:var(--paper);padding:13px 17px;font-size:11px;line-height:1.6;box-shadow:4px 4px 0 #0002}.badge b{display:block;font-size:14px}.strip{background:var(--ink);color:var(--paper);padding:20px 5%;display:flex;justify-content:space-between;gap:20px;font-family:'Barlow Condensed',Arial,sans-serif;font-size:21px;letter-spacing:1px;text-transform:uppercase}.strip span{color:var(--orange)}section{padding:86px 0}.section-top{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:38px}.section-top p{max-width:350px;color:var(--muted);margin-bottom:0}.section-top .eyebrow{margin-bottom:18px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{padding:28px 30px 32px 0}.service+.service{border-left:1px solid var(--line);padding-left:30px}.num{font-size:11px;color:var(--muted);display:block;margin-bottom:32px}.service p{font-size:14px;color:var(--muted);min-height:69px}.tags{display:flex;gap:8px;flex-wrap:wrap;font-size:10px;font-weight:700}.tags span{border:1px solid var(--line);padding:5px 9px}.weekend{background:#e7e9e2;display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:55px;margin-top:54px;position:relative}.weekend h2{font-size:58px;margin:18px 0}.weekend p{color:#64665d}.weekbox{background:var(--paper);padding:22px 26px;align-self:center}.days{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:17px 0}.day{border:1px solid var(--line);padding:18px}.day strong{font-family:'Barlow Condensed',sans-serif;font-size:42px;display:block}.day span{font-size:11px;color:#3f6848}.small{font-size:11px!important;color:var(--muted)}.gallery-section{padding-top:20px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.filters button{background:transparent;border:1px solid var(--line);border-radius:20px;padding:8px 18px;font-size:12px;color:var(--ink)}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project{background:none;border:0;padding:0;text-align:left;color:var(--ink)}.project[hidden]{display:none}.thumb{height:260px;background:#d8dbd1;overflow:hidden;position:relative}.thumb svg{width:100%;height:100%;transition:transform .4s}.project:hover svg{transform:scale(1.04)}.thumb small{position:absolute;left:12px;bottom:12px;background:#f4f2ecdd;padding:4px 8px;font-size:9px}.project-head{display:flex;justify-content:space-between;margin-top:17px}.project h3{font-size:28px}.project p{font-size:11px;color:var(--muted);margin-top:7px}.project-head span{color:var(--orange);font-size:23px}.robot{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.05fr 1fr;margin-top:72px}.robot-art{min-height:365px;background:#30372d;position:relative}.robot-art svg{width:100%;height:100%;position:absolute}.robot-copy{padding:46px}.robot h2{margin:22px 0;font-size:57px}.robot p{color:#bdc0b6;font-size:14px}.robot .text-link{display:inline-block}.process{padding-top:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:35px}.step{border-top:1px solid var(--line);padding-top:23px}.step h3{font-size:25px;margin:12px 0}.step p{color:var(--muted);font-size:13px}.contact{background:#e7e5dc;padding:65px 5%;display:grid;grid-template-columns:1fr 1fr;gap:8%}.contact h2{margin:22px 0}.contact p{max-width:390px;color:#65665d}.socials{display:flex;gap:22px;margin-top:30px}.social{font-weight:800;font-size:14px}.social small{display:block;font-size:10px;font-weight:500;color:var(--muted)}form{display:grid;gap:13px}label{font-size:12px;font-weight:700;display:block}input,select,textarea{display:block;width:100%;margin-top:6px;background:var(--paper);border:1px solid #cdcdc3;padding:12px;color:var(--ink);border-radius:0}textarea{resize:vertical;min-height:98px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}#inquiry{white-space:pre-wrap;background:var(--paper);border:1px solid var(--line);padding:18px}footer{padding:25px 5%;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;color:var(--muted)}dialog{max-width:650px;width:90%;border:0;background:var(--paper);padding:35px}dialog::backdrop{background:#171b18bf}dialog h2{font-size:43px;margin-top:15px}dialog .close{float:right;border:0;background:transparent;font-size:24px}.menu{display:none}@media(max-width:900px){nav{gap:16px}.hero{gap:30px}.hero-art{min-height:480px}.weekend{gap:35px;padding:30px}.thumb{height:200px}.robot-copy{padding:30px}}@media(max-width:680px){header{height:70px}.brand{font-size:19px}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu{display:block;border:0;background:transparent;font-size:24px}.hero{grid-template-columns:1fr;padding-top:20px;gap:15px}h1{font-size:clamp(52px,13vw,78px)}.hero-art{min-height:380px}.hero-copy{padding-bottom:0}.strip{font-size:15px;flex-wrap:wrap;gap:8px 20px}section{padding:58px 0}.section-top{display:block}.section-top p{margin-top:18px}.services,.gallery,.weekend,.robot,.contact,.steps{grid-template-columns:1fr}.service+.service{border-left:0;border-top:1px solid var(--line);padding-left:0}.service{padding:25px 0}.num{margin-bottom:16px}.service p{min-height:0}.weekend{padding:26px;margin-top:35px}.weekend h2{font-size:51px}.gallery{gap:28px}.thumb{height:280px}.robot{margin-top:45px}.robot-art{min-height:290px}.robot-copy{padding:30px}.steps{gap:15px}.contact{padding-top:45px;padding-bottom:45px;gap:35px}footer{align-items:start;flex-direction:column}.form-row{grid-template-columns:1fr}.hero-meta{flex-wrap:wrap}h2{font-size:51px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.thumb svg{transition:none}}
.hero-art>img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-art:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.art-label,.badge{z-index:1}.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project:hover img{transform:scale(1.04)}#detailPhoto{max-width:100%;max-height:62vh;display:block;object-fit:contain;margin:20px auto}.specs{display:flex;gap:30px;padding:25px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.specs strong{font-size:28px;display:block}.specs small{color:var(--muted)}.prices{padding:25px;background:#e7e9e2;margin-top:25px}.prices p{margin:8px 0}.prices a{text-decoration:underline}.stock-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stock-grid figure{margin:0}.stock-grid img{width:100%;height:350px;object-fit:cover}.stock-grid figcaption{padding:20px 0}.stock-grid a{text-decoration:underline}@media(max-width:680px){.stock-grid{grid-template-columns:1fr}.stock-grid img{height:290px}}.robot-art>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 60%}.mower-videos{margin-top:55px}.mower-videos video{width:100%;max-height:520px;background:#20251e;display:block}.mower-videos figcaption{font-size:12px;color:var(--muted)}
.detail-page h1{font-size:clamp(45px,6vw,88px)}.detail-page .hero-art{min-height:420px}.article{max-width:940px;padding:20px 0 60px}.article h2{font-size:36px;margin:35px 0 18px}.article p,.article li{line-height:1.9}.article a{text-decoration:underline}.page-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px}.page-photos figure,figure{margin:0}.page-photos img{width:100%;height:340px;object-fit:cover}.page-photos video{width:100%;height:440px;background:#252620}.project-image{max-width:100%;height:430px;object-fit:contain}figcaption{font-size:12px;color:var(--muted)}details{padding:17px 0;border-bottom:1px solid var(--line)}summary{font-weight:800;cursor:pointer}.topic-links{display:flex;flex-wrap:wrap;gap:20px;padding:24px 0}.topic-links a{text-decoration:underline;font-weight:700}.page-contact{padding:35px;background:#e7e5dc}.breadcrumbs{font-size:12px;padding-top:25px}@media(max-width:680px){.page-photos{grid-template-columns:1fr}.detail-page .hero-art{min-height:330px}}.topic-links{position:static;inset:auto;width:auto;flex-wrap:wrap}.detail-page{min-width:0}.detail-page .hero>*{min-width:0}

/* Team and expanded services */
.brand-name{font-size:20px;line-height:1.02;letter-spacing:-.5px}.service:nth-child(n+4){border-top:1px solid var(--line)}.service:nth-child(3n+1){border-left:0;padding-left:0}.service-contact{display:inline-block;margin-top:18px}.team-section{padding-top:0}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.team-card{border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;align-items:flex-start}.team-card h3{font-size:32px;overflow-wrap:anywhere}.team-card p{color:var(--muted);font-size:14px;flex:1}.team-card .num{margin-bottom:22px}.team-card a{margin-top:12px}.work-caption{font-family:Barlow Condensed,Arial,sans-serif!important;font-size:34px!important;line-height:1!important;color:var(--orange)!important;margin:12px 0 0!important;font-weight:700}.additional-contacts{border-block:1px solid #cdcdc3;margin:24px 0;padding:8px 0}.additional-contacts a{font-size:23px;font-weight:800}.additional-contacts strong,.contact-name{font-size:12px}#serviceContact a{font-weight:700;text-decoration:underline}.strip{flex-wrap:wrap}.hero>*{min-width:0}@media(max-width:1100px){header nav{gap:15px;font-size:12px}.brand-name{font-size:18px}}@media(max-width:800px){.team-grid{grid-template-columns:1fr}.team-card{padding:25px}.services{grid-template-columns:1fr}.service+.service{border-left:0;border-top:1px solid var(--line);padding-left:0}.service{padding-right:0}.service p{min-height:0}}@media(max-width:680px){.brand-name{font-size:17px}.brand{gap:8px}.team-section{padding-top:0}}
