:root{--ink:#1c2b24;--ink-2:#1f4a37;--slate:#44554c;--accent:#e8c36a;--accent-d:#2f6b4f;--cream:#f6f1e7;--paper:#fff;--line:#d7e3db;--muted:#5a6a62;--amber:#f5b942;--danger:#8b2e2e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font-family:DM Sans,system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55;overflow-x:hidden}img{max-width:100%;display:block}.btn,a{color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;min-height:48px;border:0;border-radius:12px;font:inherit;font-size:16px;font-weight:800;letter-spacing:.04em;text-decoration:none;cursor:pointer;text-align:center}h1,h2,h3{font-family:Playfair Display,serif;line-height:1.12;margin:0}.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}.btn:disabled{opacity:.55;cursor:not-allowed}main.page .panel input,main.page .panel select,main.page .panel textarea{width:100%;padding:12px 13px;font:inherit;font-size:16px;border:1px solid var(--line);border-radius:10px;background:#fff}main.page .panel label{display:block;font-size:13px;font-weight:700;margin-top:12px}main.page .panel .btn{margin-top:16px}.btn.primary{background:var(--accent-d);color:#fff}.btn.primary:hover{background:#1f4a37}.btn.ghost{background:transparent;color:#fff;border:1.5px solid hsla(0,0%,100%,.55)}.btn.ghost:hover{border-color:#fff;background:hsla(0,0%,100%,.08)}.btn.dark{background:var(--ink);color:#fff}.btn.dark:hover{background:#000}.btn.outline{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}.btn.outline:hover{background:var(--cream)}.ic{width:16px;height:16px;flex:none}.kicker{display:block;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:lowercase;color:var(--accent-d);margin-bottom:10px}.topnav{position:absolute;top:0;left:0;right:0;z-index:60;display:flex;align-items:flex-start;gap:14px;padding:0 clamp(16px,3vw,36px)}nav.menu{display:flex;align-items:center;flex-wrap:wrap;gap:2px 4px;padding-top:24px;max-width:60%}nav.menu>div{position:relative}nav.menu a.tab{display:flex;align-items:center;gap:7px;padding:8px 13px;font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none;border-radius:8px;white-space:nowrap}nav.menu a.tab:hover{background:hsla(0,0%,100%,.14)}.caret{width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg) translateY(-2px);opacity:.85}.drop{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px rgba(20,24,28,.3);padding:10px;display:none;min-width:250px}nav.menu>div:focus-within .drop,nav.menu>div:hover .drop{display:block}.drop a{display:block;font-size:14px;color:var(--ink-2);text-decoration:none;padding:9px 12px;border-radius:8px;font-weight:600}.drop a:hover{background:var(--cream);color:var(--accent-d)}.hangboxes{margin-left:auto;display:flex;gap:8px;align-items:stretch}.hangboxes a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-decoration:none;font-weight:800;text-align:center;padding:20px;border-radius:0 0 14px 14px;font-size:13.5px;letter-spacing:.05em;line-height:1.3;min-width:118px;box-shadow:0 10px 30px rgba(0,0,0,.25)}.quote-box{background:var(--accent-d);color:#fff;text-transform:uppercase}.quote-box:hover{background:#1f4a37}.phone-box{background:#fff;color:var(--ink)}.phone-box svg,.phone-box:hover{color:var(--accent-d)}.phone-box svg{width:16px;height:16px}.burger{display:none;background:rgba(0,0,0,.35);border:1.5px solid hsla(0,0%,100%,.55);border-radius:9px;padding:8px 10px;cursor:pointer;margin-top:18px}.burger span{display:block;width:20px;height:2px;background:#fff;margin:4px 0;border-radius:2px}.hero{position:relative;color:#fff;overflow:hidden;background:var(--ink)}.hero .bg{background:url(/img/hero-yard.jpg) center 52%/cover no-repeat;filter:saturate(.92);transform:scale(1.03)}.hero .bg,.hero .shade{position:absolute;inset:0}.hero .shade{background:linear-gradient(100deg,rgba(18,21,24,.93),rgba(18,21,24,.82) 42%,rgba(18,21,24,.55)),linear-gradient(0deg,rgba(18,21,24,.9),transparent 40%)}.hero .wrap{position:relative;display:grid;grid-template-columns:1.22fr .88fr;grid-gap:clamp(24px,5vw,60px);gap:clamp(24px,5vw,60px);padding-top:0;padding-bottom:clamp(44px,6.5vw,84px);align-items:start}.hero .wrap>*{min-width:0}.hero .hero-left{padding-top:clamp(150px,17vw,215px)}.hero .card{margin-top:clamp(115px,13vw,160px)}.hero h1{font-size:clamp(34px,4.9vw,56px);font-weight:800;letter-spacing:.2px}.hero h1 em{font-style:italic;color:var(--accent)}.mobile-break{display:none}.hero .sub{margin:18px 0 20px;font-size:clamp(15px,1.6vw,17.5px);color:#dfe3e6;max-width:56ch}.gbadge{display:inline-flex;align-items:center;gap:10px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.22);border-radius:999px;padding:8px 16px;font-size:14px;margin:0 0 22px}.gbadge .g{font-weight:800;font-size:15px;background:conic-gradient(from -45deg,#4285f4 0 25%,#ea4335 0 50%,#fbbc05 0 75%,#34a853 0);-webkit-background-clip:text;background-clip:text;color:transparent}.gbadge .stars{color:var(--amber);letter-spacing:2px;font-size:13px}.brand-proof{display:flex;align-items:center;gap:14px;margin:0 0 22px;max-width:520px;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.24);border-radius:16px;padding:12px 14px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.brand-proof .mark{width:76px;height:76px;border-radius:13px;background:var(--ink);border:1.5px solid var(--accent);color:var(--accent);display:grid;place-items:center;font-family:Playfair Display,serif;font-weight:700;font-size:28px;flex:none}main.page .btn{background:var(--accent-d);color:#fff}main.page .btn.secondary{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}.brand-proof b{display:block;font-family:Playfair Display,serif;font-size:18px;line-height:1.15;color:#fff}.brand-proof span{display:block;color:#dfe3e6;font-size:13px;margin-top:3px}.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}.card{background:#1d2125;border:1px solid #343a40;border-radius:18px;padding:26px 24px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.card .cardmark{width:52px;height:52px;border-radius:13px;background:var(--ink);border:1.5px solid var(--accent);color:var(--accent);display:grid;place-items:center;font-family:Playfair Display,serif;font-weight:700;font-size:21px;margin:0 auto 12px}.card .cardmark.logo{background:#fff;overflow:hidden;padding:0;border-color:#fff}.card .cardmark.logo img{width:100%;height:100%;object-fit:cover}.card h3{color:#fff;text-align:center;font-size:21px;margin-bottom:4px}.card .cardsub{color:#9aa3ab;font-size:13px;text-align:center;margin:0 0 18px}.card label{display:block;font-size:12.5px;font-weight:700;color:#cfd4d9;margin:13px 0 6px}.card input,.card textarea{width:100%;min-width:0;background:#fff;border:1px solid #444;border-radius:10px;padding:12px 13px;font:inherit;font-size:16px;color:var(--ink)}.card textarea{min-height:92px;resize:vertical}.card ::placeholder{color:#9aa0a6}.consent{display:flex;gap:10px;align-items:flex-start;margin:15px 0 16px}.consent input{width:auto;margin-top:3px}.consent span{font-size:12px;color:#aab2b9;line-height:1.5}.consent a{color:#d6dbe0}.card .send{width:100%;justify-content:center;font-size:16px;padding:14px;text-transform:uppercase;letter-spacing:.06em}.card .ok{display:none;text-align:center;color:#8fd6b4;font-size:14.5px;padding:14px 6px 4px}.badges{background:var(--cream);border-bottom:1px solid var(--line)}.badges .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(14px,3.5vw,44px);padding-top:22px;padding-bottom:22px}.badge{display:flex;align-items:center;gap:9px;font-weight:800;font-size:13.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}.badge svg{width:17px;height:17px;color:var(--accent-d);flex:none}section{padding:clamp(52px,7vw,86px) 0}.sec-head{max-width:780px;margin-bottom:clamp(26px,4vw,42px)}.sec-head h2{font-size:clamp(27px,3.6vw,40px);font-weight:800}.sec-head h2 em{font-style:italic;color:var(--accent-d)}.sec-head p{color:var(--muted);font-size:15.5px;margin:12px 0 0}.center{text-align:center}.center .sec-head{margin-left:auto;margin-right:auto}.about{background:#fff}.about .wrap{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:clamp(28px,5vw,60px);gap:clamp(28px,5vw,60px);align-items:center}.about p{color:var(--ink-2);font-size:15.5px;margin:0 0 14px}.about .photo{border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 60px rgba(30,34,38,.14);aspect-ratio:4/3}.about .photo img{width:100%;height:100%;object-fit:cover}.services{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:18px;gap:18px}.svc{background:#fff;border:1px solid var(--line);border-radius:15px;padding:26px 24px;display:flex;flex-direction:column;transition:box-shadow .18s,border-color .18s;overflow:hidden}.svc .svc-photo{height:150px;margin:-26px -24px 22px;overflow:hidden;background:#d9dee1}.svc .svc-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.svc:hover .svc-photo img{transform:scale(1.045)}.svc:hover{box-shadow:0 14px 44px rgba(30,34,38,.1);border-color:#d8cdb8}.svc h3{font-size:20px;margin-bottom:10px}.svc p{font-size:14px;color:var(--ink-2);margin:0 0 16px;flex:1 1}.svc a{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-d);text-decoration:none}.svc a:hover{text-decoration:underline}.steps{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:18px;gap:18px;counter-reset:step}.step{background:#fff;border:1px solid var(--line);border-radius:15px;padding:24px 22px}.step .num{font-family:Playfair Display,serif;font-size:32px;font-weight:800;color:var(--accent);line-height:1}.step h3{font-size:17px;margin:10px 0 7px}.step p{font-size:13.5px;color:var(--muted);margin:0}.work{background:var(--ink);color:#fff}.work .sec-head h2 em{color:var(--accent)}.work .sec-head p{color:#b9c0c6}.gal{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.shot{position:relative;border-radius:15px;overflow:hidden;border:1px solid #343a40;aspect-ratio:16/10;background:#1d2125}.shot.featured{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;min-height:430px}.shot img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.shot:hover img{transform:scale(1.045)}.shot .tag{position:absolute;left:12px;bottom:12px;background:rgba(18,21,24,.85);color:#fff;font-size:12.5px;font-weight:600;border-radius:999px;padding:6px 14px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.work .more{text-align:center;margin-top:26px}.reviews{background:#fff;overflow:hidden}.reviews .sec-head{margin-bottom:22px}.review-summary{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px;color:var(--ink-2)}.review-summary .g{font-weight:800;font-size:22px;background:conic-gradient(from -45deg,#4285f4 0 25%,#ea4335 0 50%,#fbbc05 0 75%,#34a853 0);-webkit-background-clip:text;background-clip:text;color:transparent}.review-stars,.review-summary .stars{color:var(--amber);letter-spacing:2px}.review-summary strong{font-size:18px}.review-controls{display:flex;justify-content:center;margin-bottom:18px}.carousel-toggle{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(30,34,38,.08)}.carousel-toggle:hover{border-color:var(--accent-d);color:var(--accent-d)}.carousel-toggle svg{width:17px;height:17px}.carousel-toggle .play-icon,.carousel-toggle.is-paused .pause-icon{display:none}.carousel-toggle.is-paused .play-icon{display:block}.review-viewport{width:100%;overflow:hidden;padding:8px 0 20px}.review-track{display:flex;width:max-content;gap:18px;animation:review-scroll 125s linear infinite;will-change:transform}.review-group{display:flex;align-items:stretch;gap:18px}.review-card{width:clamp(300px,34vw,420px);flex:none;border:1px solid var(--line);border-radius:8px;background:#fff;padding:24px;box-shadow:0 12px 34px rgba(30,34,38,.08);text-align:left;display:flex;flex-direction:column}.review-card .review-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}.review-card h3{font-family:DM Sans,system-ui,sans-serif;font-size:16px;line-height:1.3}.review-card time{display:block;color:var(--muted);font-size:12.5px;margin-top:3px}.review-card blockquote{margin:0;color:var(--ink-2);font-size:14px;line-height:1.58;flex:1 1}.review-card .rating-only{color:var(--muted);font-style:italic}.review-card .google-source{font-size:12px;font-weight:700;color:var(--muted);margin-top:18px;display:flex;align-items:center;gap:6px}.review-card .google-source .g{color:#4285f4;font-size:14px;font-weight:800}.review-track.is-paused,.review-viewport:focus-within .review-track,.review-viewport:hover .review-track{animation-play-state:paused}@keyframes review-scroll{to{transform:translateX(calc(-50% - 9px))}}.rev-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}@media (prefers-reduced-motion:reduce){.review-viewport{overflow-x:auto}.review-track{animation:none}.review-group[aria-hidden=true]{display:none}}.faq{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.faq-list{max-width:840px;margin:0 auto}details{border:1px solid var(--line);border-radius:13px;background:#fff;padding:0 20px;margin-bottom:11px}details summary{cursor:pointer;font-weight:700;font-size:15.5px;padding:17px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}details summary::-webkit-details-marker{display:none}details summary:after{content:"+";font-size:21px;color:var(--accent-d);transition:transform .18s}details[open] summary:after{transform:rotate(45deg)}details p{margin:0;padding:0 0 17px;color:var(--muted);font-size:14.5px}.areas-list{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px 26px;gap:10px 26px;max-width:860px;margin:0 auto}.area{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;padding:8px 0;border-bottom:1px solid var(--line)}.area:before{content:"";width:7px;height:7px;border-radius:2px;background:var(--accent);flex:none}.areas-note{margin-top:22px;color:var(--muted);font-size:14px;text-align:center}.areas-note a{color:var(--accent-d);font-weight:700;text-decoration:none}.final{background:var(--ink);color:#fff}.final .wrap{display:grid;grid-template-columns:1fr .95fr;grid-gap:clamp(28px,5vw,56px);gap:clamp(28px,5vw,56px);align-items:center}.final h2{font-size:clamp(28px,3.8vw,42px);font-weight:800}.final h2 em{font-style:italic;color:var(--accent)}.final .sub{color:#b9c0c6;font-size:16px;margin:14px 0 22px}.final .phone-big{display:inline-flex;align-items:center;gap:10px;font-family:Playfair Display,serif;font-size:26px;font-weight:700;color:#fff;text-decoration:none}.final .phone-big:hover{color:var(--accent)}.final .phone-big svg{width:20px;height:20px;color:var(--accent)}footer.site{background:#17191c;color:#aab2b9;padding:52px 0 26px;font-size:14px}.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;grid-gap:30px;gap:30px;margin-bottom:36px}.foot-grid h4{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 13px}.foot-grid a{display:block;color:#aab2b9;text-decoration:none;padding:4px 0}.foot-grid a:hover{color:var(--accent)}.foot-brand .logo-line{display:flex;align-items:center;gap:10px;margin-bottom:12px}.foot-brand .mark{width:38px;height:38px;border-radius:9px;background:var(--ink);border:1px solid var(--accent);color:var(--accent);display:grid;place-items:center;font-weight:700}.foot-brand .mark,.foot-brand b{font-family:Playfair Display,serif;font-size:16px}.foot-brand b{color:#fff;line-height:1.2}.foot-brand a.tel{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700;text-decoration:none;margin-top:6px}.foot-brand a.tel:hover,.foot-brand svg{color:var(--accent)}.foot-brand svg{width:15px;height:15px}.foot-hours{line-height:1.9}.foot-bottom{border-top:1px solid #2b2e33;padding-top:20px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px}.foot-bottom a{color:#8f979e;text-decoration:none}.foot-bottom a:hover{color:var(--accent)}@media (max-width:1020px){.about .wrap,.final .wrap,.hero .wrap{grid-template-columns:1fr}.hero .hero-left{padding-top:clamp(170px,22vw,220px)}.hero .card{margin-top:0;max-width:560px}.gal,.steps,.svc-grid{grid-template-columns:repeat(2,1fr)}.shot.featured{grid-column:span 2;min-height:360px}.areas-list,.foot-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:860px){nav.menu{display:none;position:absolute;top:70px;left:12px;right:12px;background:#fff;border:1px solid var(--line);border-radius:14px;flex-direction:column;align-items:stretch;padding:12px 18px 18px;gap:2px;box-shadow:0 24px 60px rgba(20,24,28,.35);max-width:none}nav.menu.open{display:flex}nav.menu a.tab{justify-content:space-between;padding:12px 8px;color:var(--ink-2)}nav.menu a.tab:hover{background:var(--cream)}.drop{position:static;display:none;box-shadow:none;border:none;padding:2px 8px 10px;min-width:0}.burger,nav.menu>div.open .drop{display:block}.hangboxes a{min-width:96px;padding:14px 12px;font-size:12px}.hangboxes .phone-box{display:none}.mobile-break{display:inline}.hero .wrap{display:block;width:100%;max-width:100vw}.hero .ctas{display:grid;grid-template-columns:1fr;max-width:280px}.brand-proof{align-items:flex-start}.brand-proof img{width:62px;height:62px}.hero .card{margin-top:24px;max-width:calc(100vw - 40px)}.hero .hero-left{padding-top:150px}}@media (max-width:560px){.wrap{padding-left:20px;padding-right:20px}.topnav{padding-left:16px;padding-right:16px}.hero h1{font-size:clamp(29px,8.6vw,34px)}.hero .sub{font-size:15.5px}.hero .hero-left{padding-top:132px}.hero .ctas{max-width:260px}.card{width:100%;max-width:calc(100vw - 40px);min-width:0;padding:24px 20px}.gal,.steps,.svc-grid{grid-template-columns:1fr}.shot.featured{grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:16/10}.areas-list{grid-template-columns:1fr}.hangboxes a{min-width:82px;padding:12px 10px;font-size:11px}.foot-grid{grid-template-columns:1fr}}.skip{position:absolute;left:-999px;top:0}.skip:focus{left:8px;background:#fff;padding:8px;z-index:99}.card select{width:100%;min-width:0;background:#fff;border:1px solid #444;border-radius:10px;padding:12px 13px;font:inherit;font-size:16px;color:var(--ink)}.card .checkrow{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;color:#cfd4d9;font-size:13px;font-weight:600;min-height:44px;padding:8px 0}.card .checkrow input{width:auto;margin-top:3px}.card .price{font-size:2rem;font-weight:800;color:#fff;margin-top:12px}.card .muted{color:#9aa3ab;font-size:13.5px}.card .error{color:#f0a8a8;margin-top:.6rem}.card .form-pill{display:inline-block;background:var(--accent);color:var(--ink);padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.04em}.card .send{margin-top:16px}body:has(main.page) .topnav{position:-webkit-sticky;position:sticky;background:var(--ink);box-shadow:0 8px 30px rgba(0,0,0,.25)}body:has(main.page) nav.menu{padding-top:14px}body:has(main.page) .burger{margin-top:10px}main.page .muted{color:var(--muted)}main.page .error{color:var(--danger)}main.page h1{font-size:clamp(2rem,5vw,2.8rem);margin:0 0 .7rem}main.page .lede{font-size:1.12rem;max-width:40rem;color:var(--ink-2)}main.page .panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.1rem;margin-bottom:12px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;min-width:520px}#quote{scroll-margin-top:88px}.table td,.table th{text-align:left;padding:.55rem .45rem;border-bottom:1px solid var(--line);font-size:15px}.notice{background:#fff6d8;border:1px solid var(--accent);padding:.8rem 1rem;border-radius:10px}.founding-box{max-width:720px;margin:0 auto;background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:28px 26px;text-align:left}.founding-box p{color:var(--ink-2);font-size:15.5px;margin:0 0 12px}main.page .crumbs{font-size:13px;color:#5d6b7a;margin:0 0 18px;letter-spacing:.01em}main.page .crumbs a{color:var(--accent-d);text-decoration:none}main.page .crumbs a:hover{text-decoration:underline}main.page .crumbs span[aria-hidden]{margin:0 6px;opacity:.5}