:root{--ink:#09251a;--forest:#0d4028;--leaf:#267947;--lime:#c9f24f;--cream:#f5f1e7;--sand:#e9e0cb;--orange:#ff8a3d;--white:#fffdf7;--muted:#58645c;--line:rgba(9,37,26,.14);--radius:1.5rem;--shadow:0 24px 70px rgba(9,37,26,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;line-height:1.55}a{color:inherit}img,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.wrap{width:min(1160px,calc(100% - 2rem));margin:auto}.section{padding:clamp(4.5rem,8vw,7rem) 0}.eyebrow{color:var(--leaf);font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.display,h1,h2,h3{font-family:"Sora","DM Sans",sans-serif}.display,h1,h2{letter-spacing:-.05em;line-height:1}.display{font-size:clamp(3.2rem,6vw,6.4rem);margin:.8rem 0 1.2rem}.section-title{font-size:clamp(2.25rem,4vw,4rem);max-width:13ch;margin:.45rem 0 1rem}.lede{font-size:1.08rem;color:var(--muted);max-width:42rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.25rem;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid transparent;transition:.2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--lime);box-shadow:0 5px 0 #90b434;color:var(--ink)}.btn-dark{background:var(--forest);color:#fff}.btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.7rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(10,34,24,.95);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.1);color:#fff}.nav{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:800}.brand-mark{width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,#d7ff6f,#4f9f60);display:grid;place-items:center;color:var(--ink);font-weight:900;box-shadow:inset 0 0 0 6px rgba(255,255,255,.15)}.brand span{color:var(--lime)}.nav-links{display:flex;align-items:center;gap:1.25rem;list-style:none;padding:0;margin:0}.nav-links a{font-size:.88rem;font-weight:800;text-decoration:none;color:rgba(255,255,255,.78)}.nav-links a:hover,.nav-links a.is-active{color:var(--lime)}.nav-toggle{display:none;border:0;background:transparent;color:#fff;font-weight:800}.hero,.inner-hero{position:relative;overflow:hidden;background:var(--ink);color:#fff}.hero{min-height:760px;display:grid;align-items:center}.hero::before,.inner-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 18%,rgba(201,242,79,.18),transparent 24rem),radial-gradient(circle at 82% 24%,rgba(255,138,61,.13),transparent 20rem);pointer-events:none}.hero-grid,.inner-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem}.hero-grid{padding:5rem 0}.inner-hero{padding:5rem 0 4rem}.hero-art{position:relative;min-height:480px;border-radius:2rem;background:linear-gradient(150deg,#1c5b3b,#102d21);box-shadow:0 30px 90px rgba(0,0,0,.32);overflow:hidden}.hero-art::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.5)),url('https://raw.githubusercontent.com/Teddyjday94/Helping_hands/main/assets/hero-bg-poster.jpg') center/cover;opacity:.92}.hero-art::after{content:"Local crew. Real work.";position:absolute;right:1.3rem;bottom:1.3rem;background:var(--lime);color:var(--ink);padding:.65rem .9rem;font-size:.8rem;font-weight:900;transform:rotate(-3deg)}.trust{background:var(--forest);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:1.15rem 1.4rem;border-left:1px solid rgba(255,255,255,.15);font-size:.85rem}.trust-item:first-child{border-left:0}.trust-item strong{display:block;color:var(--lime);font-size:1rem}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;box-shadow:0 12px 32px rgba(9,37,26,.06);transition:.22s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card .num{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--leaf);color:#fff;font-weight:800;font-size:.78rem}.card h3{font-size:1.35rem;margin:1.3rem 0 .65rem}.card p{color:var(--muted)}.card a{color:var(--leaf);font-weight:800;text-decoration:none}.split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.photo-panel{min-height:430px;border-radius:var(--radius);background:#cbd8c7 center/cover no-repeat;box-shadow:var(--shadow)}.comparison{background:var(--white);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.comparison-stage{--reveal:58%;position:relative;aspect-ratio:4/3;overflow:hidden;background:#d5ddd0}.comparison-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison-after{clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}.comparison-range{position:absolute;inset:0;width:100%;height:100%;opacity:.001;cursor:ew-resize}.comparison-divider{position:absolute;top:0;bottom:0;left:var(--reveal);width:3px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15)}.comparison-divider::after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--ink);font-weight:900;border:3px solid #fff}.comparison-copy{padding:1.2rem}.work-gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:230px 230px;gap:1rem}.work-gallery figure{margin:0;border-radius:var(--radius);overflow:hidden;position:relative;background:#d9e3d4}.work-gallery figure:first-child{grid-row:span 2}.work-gallery img{width:100%;height:100%;object-fit:cover}.work-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:2rem 1rem .8rem;color:#fff;font-weight:800;background:linear-gradient(transparent,rgba(0,0,0,.68))}.service-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:center;padding:2rem 0}.service-detail:nth-child(even){grid-template-columns:1.1fr .9fr}.service-detail:nth-child(even) .service-copy{order:2}.service-photo{min-height:380px;border-radius:var(--radius);background:#d8e2d4 center/cover no-repeat}.pill{display:inline-flex;padding:.4rem .7rem;border-radius:999px;background:#e9f0dd;color:var(--forest);font-size:.75rem;font-weight:900}.video-grid,.team-grid,.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.video-card{background:#163727;color:#fff;border-radius:var(--radius);overflow:hidden}.video-card video{width:100%;aspect-ratio:16/9;background:#000}.video-copy{padding:1.2rem}.team-photo{min-height:520px;border-radius:var(--radius);background:url('https://raw.githubusercontent.com/Teddyjday94/Helping_hands/main/assets/crew-team.jpg') center/cover no-repeat}.person{background:var(--white);border:1px solid var(--line);border-radius:1rem;padding:1.25rem}.person a{font-weight:900;text-decoration:none;color:var(--leaf)}.service-area-list{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.4rem 0}.service-area-list span{background:#e7eddf;border:1px solid var(--line);padding:.6rem .85rem;border-radius:999px;font-weight:800;font-size:.85rem}.request{background:var(--forest);color:#fff}.request-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:2.5rem;align-items:start}.form{background:var(--white);color:var(--ink);border-radius:var(--radius);padding:1.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:grid;gap:.4rem}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.86rem}.field input,.field select,.field textarea{width:100%;padding:.85rem 1rem;border:1px solid #c9d0c7;border-radius:.9rem;background:#fff}.field textarea{min-height:120px;resize:vertical}.form-honey{position:absolute!important;left:-9999px!important}.form-message{min-height:1.4em;font-weight:700;color:var(--leaf)}footer{background:#071d14;color:#fff;padding:2.2rem 0}.footer-grid{display:flex;justify-content:space-between;gap:2rem;align-items:center}.footer-links{display:flex;gap:1rem;flex-wrap:wrap}.footer-links a{text-decoration:none;color:rgba(255,255,255,.78)}.cta-band{background:linear-gradient(120deg,#123b29,#205c3d);color:#fff;border-radius:2rem;padding:2rem}.reveal{opacity:0;transform:translateY(18px);transition:.6s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.nav-toggle{display:block}.nav-links{position:absolute;left:1rem;right:1rem;top:82px;background:#0b2b1e;border:1px solid rgba(255,255,255,.12);border-radius:1rem;padding:1rem;display:none;flex-direction:column;align-items:stretch}.nav-links.is-open{display:flex}.hero-grid,.inner-grid,.split,.request-grid,.service-detail,.service-detail:nth-child(even){grid-template-columns:1fr}.service-detail:nth-child(even) .service-copy{order:0}.grid-4{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(2,1fr)}.work-gallery{grid-template-columns:1fr 1fr;grid-template-rows:230px 230px 230px}.work-gallery figure:first-child{grid-row:span 2}.video-grid,.team-grid,.contact-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.grid-4,.trust-grid,.work-gallery{grid-template-columns:1fr}.work-gallery{grid-template-rows:repeat(5,230px)}.work-gallery figure:first-child{grid-row:auto}.display{font-size:clamp(2.8rem,16vw,4.8rem)}.hero{min-height:auto}.hero-art{min-height:360px}.section{padding:4rem 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.mower-runner{position:fixed;z-index:40;bottom:2px;left:-150px;width:118px;height:78px;background:url('https://raw.githubusercontent.com/Teddyjday94/Helping_hands/main/assets/mower-sprite-cutting-v1.png') center/contain no-repeat;filter:drop-shadow(0 8px 10px rgba(0,0,0,.18));pointer-events:none;animation:mowerCross 18s linear infinite}
@keyframes mowerCross{0%,12%{transform:translateX(-160px)}78%,100%{transform:translateX(calc(100vw + 300px))}}
@media(prefers-reduced-motion:reduce){.mower-runner{display:none}}

/* Client revision pass: authentic brand + hero imagery */
.brand{min-width:96px}.brand-logo{width:92px;height:68px;object-fit:contain;filter:drop-shadow(0 5px 12px rgba(0,0,0,.22))}.site-header .brand-logo{transform:scale(1.08);transform-origin:left center}
.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.42;filter:saturate(.9) contrast(1.05)}
.hero::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(5,24,16,.92) 0%,rgba(5,24,16,.73) 46%,rgba(5,24,16,.44) 100%),linear-gradient(0deg,rgba(5,24,16,.28),rgba(5,24,16,.08));pointer-events:none}
.hero::before{z-index:1}.hero-grid{z-index:2}.hero-photo::before{background:linear-gradient(transparent 50%,rgba(0,0,0,.48)),url('https://raw.githubusercontent.com/Teddyjday94/Helping_hands/main/assets/work-06.jpg') center/cover;opacity:1}.work-hero-photo::before{background:linear-gradient(transparent 52%,rgba(0,0,0,.5)),url('https://raw.githubusercontent.com/Teddyjday94/Helping_hands/main/assets/yard-finished.jpg') center/cover;opacity:1}
@media(max-width:620px){.brand-logo{width:78px;height:58px}.hero-bg-video{opacity:.36}.hero::after{background:linear-gradient(180deg,rgba(5,24,16,.88) 0%,rgba(5,24,16,.66) 58%,rgba(5,24,16,.5) 100%)}}

/* Hero photo refresh */
.services-hero-stack{display:grid;gap:1rem}
.services-hero-photo::before{background:linear-gradient(transparent 52%,rgba(0,0,0,.48)),url('https://raw.githubusercontent.com/Teddyjday94/Helping_hands/main/assets/work-01.jpg') center/cover;opacity:1}
.services-hero-photo::after{content:"Helping Hands service in action"}
.video-subhead{margin:2.5rem 0 1rem;font-size:.82rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}.walkthrough-card{background:#163727;color:#fff;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.walkthrough-card h3{margin:.45rem 0 .35rem;font-size:1.15rem}.walkthrough-card p{margin:0;color:rgba(255,255,255,.72);font-size:.92rem}.reel-tag{display:inline-flex;padding:.25rem .6rem;border-radius:999px;background:var(--lime);color:var(--ink);font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.walkthrough-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.walkthrough-card{flex-direction:row;align-items:stretch}.walkthrough-card video{width:min(46%,260px);flex:none;aspect-ratio:9/16;object-fit:cover;background:#000}.walkthrough-card .video-copy{display:flex;flex-direction:column;justify-content:center;padding:1.4rem}.walkthrough-card .reel-tag{align-self:flex-start}.walkthrough-card h3{font-size:1.35rem}.featured-video{margin-bottom:.5rem}.featured-video video{width:min(40%,340px)}.featured-video .video-copy{padding:2rem;max-width:34rem}.featured-video h3{font-size:clamp(1.5rem,2.6vw,2.1rem)}.featured-video p{font-size:1rem}
@media(max-width:900px){.walkthrough-grid{grid-template-columns:1fr}}
@media(max-width:620px){.walkthrough-card{flex-direction:column}.walkthrough-card video{width:100%;aspect-ratio:4/5}}

/* Professional polish: brand lockup, header call link, footer, how it works, mobile call bar */
.brand{gap:.75rem;min-width:0}.site-header .brand-logo{width:104px;height:70px;transform:none;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}.brand-text{display:grid;line-height:1.1}.brand-text strong{font-family:"Sora","DM Sans",sans-serif;font-size:1.08rem;letter-spacing:-.02em;color:#fff}.brand-text small{margin-top:.2rem;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.nav-call{display:inline-flex;align-items:center;gap:.45rem;color:#fff!important;white-space:nowrap}.nav-call svg{width:18px;height:18px;fill:var(--lime)}.nav-call:hover span{color:var(--lime)}
footer{padding:3.5rem 0 0}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr .8fr 1fr;gap:2rem;align-items:start}.footer-brand .brand-logo{width:150px;height:auto}.footer-brand p,.footer-col p{color:rgba(255,255,255,.68);margin:.9rem 0 0;max-width:22rem}.footer-col{display:grid;gap:.55rem}.footer-col a{text-decoration:none;color:rgba(255,255,255,.82);font-weight:700}.footer-col a:hover{color:var(--lime)}.footer-col a span{display:block;font-size:.75rem;font-weight:600;color:rgba(255,255,255,.55)}.footer-head{margin:0 0 .35rem!important;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--lime)!important}.footer-request{color:var(--lime)!important}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;padding:1.2rem 0 1.6rem;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem;color:rgba(255,255,255,.5)}
.how-it-works{padding-top:0}.steps{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;position:relative}.steps::before{content:"";position:absolute;top:32px;left:12%;right:12%;border-top:2px dashed rgba(38,121,71,.35)}.step{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;text-align:center}.step-icon{display:grid;place-items:center;width:64px;height:64px;margin:-3rem auto .9rem;border-radius:50%;background:var(--lime);box-shadow:0 5px 0 #90b434,0 0 0 6px var(--cream)}.step-icon svg{width:28px;height:28px;fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.step-num{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--leaf)}.step h3{margin:.35rem 0 .5rem;font-size:1.3rem}.step p{margin:0;color:var(--muted)}.steps{padding-top:2rem}
.mobile-cta{display:none}
@media(max-width:1100px) and (min-width:901px){.brand-text{display:none}.nav-links{gap:1rem}}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr;gap:2.5rem}.steps::before{display:none}
.mobile-cta{display:grid;grid-template-columns:1fr 1.4fr;gap:.6rem;position:fixed;z-index:60;left:0;right:0;bottom:0;padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));background:rgba(9,37,26,.97);border-top:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px)}.mobile-cta .btn{padding:.8rem 1rem}.mobile-cta-call{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff;font-weight:800;text-decoration:none}.mobile-cta-call svg{width:18px;height:18px;fill:var(--lime)}
body{padding-bottom:76px}.mower-runner{bottom:78px}}
@media(max-width:620px){.site-header .brand-logo{width:78px;height:52px}.brand-text strong{font-size:.98rem}.footer-grid{grid-template-columns:1fr}}
.nav-links a.btn-primary,.nav-links a.btn-primary:hover{color:var(--ink)}

/* Function + finish pass: anchors, comparison labels, gallery lightbox, hover motion, 404 */
[id]{scroll-margin-top:110px}
.comparison-label,.comparison-hint{position:absolute;z-index:2;pointer-events:none;font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.comparison-label{top:.9rem;padding:.35rem .65rem;border-radius:999px;background:rgba(9,37,26,.78);color:#fff;backdrop-filter:blur(6px)}.comparison-label.is-after{left:.9rem;background:var(--lime);color:var(--ink)}.comparison-label.is-before{right:.9rem}
.comparison-hint{left:50%;bottom:1rem;transform:translateX(-50%);padding:.45rem .8rem;border-radius:999px;background:rgba(9,37,26,.82);color:#fff;letter-spacing:.06em;white-space:nowrap;transition:opacity .4s ease}.comparison-stage.is-touched .comparison-hint{opacity:0}
.comparison-stage:has(.comparison-range:focus-visible){outline:3px solid var(--lime);outline-offset:3px}
.work-gallery figure{cursor:zoom-in}.work-gallery figure:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.work-gallery figure::after{content:"⤢";position:absolute;top:.75rem;right:.75rem;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(9,37,26,.7);color:#fff;font-weight:900;opacity:0;transition:opacity .2s ease}
.lightbox{width:min(1100px,calc(100% - 2rem));max-height:calc(100vh - 2rem);padding:0;border:0;border-radius:var(--radius);background:#071d14;color:#fff;overflow:hidden}.lightbox::backdrop{background:rgba(4,16,11,.86);backdrop-filter:blur(4px)}
.lightbox figure{margin:0;display:grid}.lightbox img{width:100%;max-height:calc(100vh - 7rem);object-fit:contain;background:#000;touch-action:pan-y}.lightbox figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1.2rem;font-weight:800}.lightbox figcaption span{color:rgba(255,255,255,.55);font-weight:600}
.lightbox-btn{position:absolute;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:rgba(9,37,26,.82);color:#fff;font-size:1.4rem;font-weight:900;cursor:pointer}.lightbox-btn:hover{background:var(--lime);color:var(--ink)}.lightbox-close{top:.8rem;right:.8rem}.lightbox-prev{left:.8rem;top:calc(50% - 2.5rem)}.lightbox-next{right:.8rem;top:calc(50% - 2.5rem)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.work-gallery img,.service-photo,.team-photo{transition:transform .5s ease}.work-gallery figure:hover img{transform:scale(1.045)}.work-gallery figure:hover::after{opacity:1}.service-photo:hover{transform:scale(1.015)}.step{transition:transform .22s ease,box-shadow .22s ease}.step:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.btn-primary:hover{box-shadow:0 7px 0 #90b434}}
.not-found{min-height:62vh;display:grid;align-items:center}.not-found .wrap{position:relative}
