/* PHASE 1 · GAT living brand tokens. All motion remains progressive enhancement. */
@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/sora-display-0.woff) format('woff')}
@font-face{font-family:Sora;font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/sora-display-1.woff) format('woff')}
:root{--deep:#092b20;--forest:#0e5a2b;--lawn:#5cbf2a;--water:#38bdf8;--sand:#f6f4ee;--sun:#ffc93c;--night:#05150f;--heading:Sora,Manrope,Arial,sans-serif;--font:Inter,Arial,sans-serif;--radius:28px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:40px;--space-5:64px;--space-6:104px;--motion-ease:cubic-bezier(.16,1,.3,1);--companion-hue:0deg}
body{-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:700}h2{font-size:clamp(36px,4.7vw,66px)}.section{padding-block:clamp(64px,8vw,116px)}.eyebrow,.card-body .eyebrow,.step-label,.mini-live,.hero-plan-heading>span,.scene-label{letter-spacing:0;text-transform:none;font-size:13px;font-weight:600}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:25px;height:1px;background:currentColor;opacity:.6;flex-shrink:0}.hero .eyebrow:before{display:none}.button{border-radius:16px;background:var(--lawn);border-color:var(--lawn);color:#092b20;box-shadow:inset 0 1px 0 #ffffff50;transition:transform .25s var(--motion-ease),background .25s}.button:after{content:'';position:absolute;inset:-70% -25%;background:linear-gradient(110deg,transparent 40%,#ffffff55 50%,transparent 60%);transform:translateX(-110%);pointer-events:none;z-index:-1}.button:hover:after{transform:translateX(110%);transition:transform .65s}.button.sun{background:var(--sun);border-color:var(--sun)}.button.ghost{background:transparent;color:var(--ink);border-color:currentColor}.button:hover{box-shadow:inset 0 1px 0 #ffffff50}.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1681ab;outline-offset:5px}.header{background:#092b20ed;backdrop-filter:blur(18px)}.header>.wrap{gap:18px;height:94px}.header.scrolled>.wrap{height:76px}.header .logo,.header .logo img{width:122px}.header .logo img{height:68px}.nav{gap:19px}.nav-phone{display:none!important}.nav .button{background:transparent;color:#e6f3e0;border-color:#ffffff45}.header-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.header-actions>a:first-child{font-size:13px;font-weight:700;white-space:nowrap;min-height:44px;display:flex;align-items:center}.header-actions .button{font-size:13px;padding:13px 17px;min-height:48px}.theme-control select{min-width:64px}.header .theme-control{margin-left:auto}.mobile-actions{border-radius:20px 20px 0 0}.mobile-actions a{min-height:48px}.card,.estimate-form,.project-browser,.review-request-band{border-radius:28px}.card-body{padding:32px}.service-number{display:none}.service-image{border-bottom:1px solid var(--line)}html[data-theme=dark] .button.ghost{color:#edf3e9}html[data-theme=dark] .button{box-shadow:inset 0 1px 0 #ffffff30}
/* Yard Builder shares the same typography, spacing, buttons and focus language. */
.gat-yard-page{font-family:var(--font)}.gat-yard-page h1,.gat-yard-page h2,.gat-yard-page h3{font-family:var(--heading)}.gat-yard-page .panel{border-radius:28px;box-shadow:0 20px 70px #092b2010}.gat-yard-page .service{border-radius:16px;transition:transform .25s,border-color .25s,background .25s}.gat-yard-page .service:hover{transform:translateY(-2px)}.gat-yard-page .seg button{transition:background .25s,transform .25s}.gat-yard-page .seg button:active{transform:scale(.96)}.gat-yard-page .sticky-quote{backdrop-filter:blur(14px)}
@media(max-width:1200px){.header>.wrap{gap:16px}.header .menu{display:flex;position:relative;z-index:2}.header .nav{display:none;position:absolute;top:100%;left:0;right:0;padding:24px;background:#092b20;flex-direction:column;align-items:stretch;border-bottom:1px solid #ffffff30}.header .nav.open{display:flex}.header .theme-control{margin-left:auto}.header .header-actions{order:2}.header .menu{order:3}}
@media(max-width:600px){.header>.wrap,.header.scrolled>.wrap{height:auto;min-height:110px;display:grid;grid-template-columns:1fr auto auto;gap:6px 14px;padding-block:8px;width:calc(100% - 32px)}.header .logo,.header .logo img{width:90px;height:43px}.header .theme-control{margin:0;grid-column:2;grid-row:1}.header .menu{grid-column:3;grid-row:1;width:44px;height:44px}.header .header-actions{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:10px}.header-actions .button{min-height:44px;padding:11px 15px;font-size:13px}.header-actions>a:first-child{font-size:13px}.header .nav{top:100%}.header.scrolled .logo img{height:36px}.utility .wrap{justify-content:center;padding-block:5px}.utility .wrap>span{display:none}.wrap{width:calc(100% - 40px)}.section-head{gap:24px}.mobile-actions{grid-template-columns:repeat(3,1fr)}.mobile-actions>a:nth-child(3){display:none}.mobile-actions>a:nth-child(4){display:flex}.card-body{padding:26px}.gat-yard-page .panel{border-radius:28px 28px 0 0}.gat-yard-page .sticky-quote{backdrop-filter:none}.eyebrow{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:after{display:none}.gat-yard-page .service:hover{transform:none}}
/* PHASE 2 · One shared ambient canvas; functional preview canvases remain independent. */
.alive-atmosphere{position:fixed;inset:-20%;z-index:2;pointer-events:none;opacity:.09;background:radial-gradient(ellipse at 14% 20%,#5cbf2a66,transparent 45%),radial-gradient(ellipse at 85% 55%,#38bdf844,transparent 48%),radial-gradient(ellipse at 40% 95%,#ffc93c33,transparent 50%);transform:translate3d(0,0,0);animation:alive-mesh 36s ease-in-out infinite alternate;mix-blend-mode:soft-light}.alive-atmosphere:after{content:'';position:absolute;inset:0;background-image:url('assets/grain.svg');opacity:.45}.alive-topography{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.035;background-image:repeating-radial-gradient(ellipse at 85% 30%,transparent 0 27px,#497953 28px 29px,transparent 30px 57px);mask-image:linear-gradient(90deg,transparent 35%,#000);transform:translateY(var(--topography-y,0px));transition:transform 1s linear}.alive-particles{position:fixed;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;opacity:.65}.section{position:relative;overflow:clip}.alive-tail{position:absolute;right:-110px;top:40px;width:360px;height:360px;pointer-events:none;opacity:.035;color:#0e5a2b;z-index:0}.alive-tail path{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:1100;stroke-dashoffset:1100;transition:stroke-dashoffset 1.7s var(--motion-ease);transform-origin:center}.alive-tail.is-visible path{stroke-dashoffset:0;animation:alive-tail-turn 40s ease-in-out infinite alternate}.section>.wrap{position:relative;z-index:1}html[data-theme=dark] .alive-tail{color:#c5ed91;opacity:.045}.alive-grass-edge{height:20px;position:absolute;bottom:0;left:7%;display:flex;align-items:end;gap:9px;opacity:.25;pointer-events:none}.alive-grass-edge i{display:block;width:2px;height:15px;border-radius:100% 0;background:var(--forest);transform-origin:bottom;transform:rotate(calc(var(--wind,0deg) + var(--blade,0deg)));transition:transform .8s ease-out}.alive-grass-edge i:nth-child(3n){height:22px;--blade:14deg}.alive-grass-edge i:nth-child(2n){height:11px;--blade:-12deg}.alive-divider{position:absolute;bottom:-1px;right:7%;width:150px;height:45px;color:#38bdf8;opacity:.35;pointer-events:none}.alive-divider path{fill:none;stroke:currentColor;stroke-width:1.2;stroke-dasharray:3 6;animation:alive-spray-dash 5s linear infinite}.alive-dragonfly{position:fixed;z-index:5;top:26%;left:0;width:40px;height:35px;pointer-events:none;opacity:0;animation:alive-flight 54s linear infinite}.alive-dragonfly .wing{transform-origin:20px 18px;animation:alive-wing .16s linear infinite alternate}.alive-dew{position:absolute;right:19px;top:12px;width:5px;height:8px;border-radius:60% 60% 60% 60%;background:linear-gradient(135deg,#ffffffaa,#38bdf833);opacity:0;pointer-events:none;z-index:5}.card:hover .alive-dew{animation:alive-dew-slide 1.6s var(--motion-ease)}body[data-alive-phase=dusk] .alive-atmosphere{background:radial-gradient(ellipse at 8% 80%,#ffc93c44,transparent 50%),radial-gradient(ellipse at 85% 60%,#38bdf855,transparent 60%)}body[data-alive-phase=night] .alive-atmosphere{background:radial-gradient(ellipse at 80% 50%,#38bdf866,transparent 50%),radial-gradient(ellipse at 20% 90%,#5cbf2a66,transparent 55%)}body[data-alive-paused=true] .alive-atmosphere,body[data-alive-paused=true] .alive-tail path,body[data-alive-paused=true] .alive-dragonfly,body[data-alive-paused=true] .alive-dragonfly .wing{animation-play-state:paused}
@keyframes alive-mesh{to{transform:translate3d(4%,-3%,0) rotate(7deg) scale(1.05)}}@keyframes alive-tail-turn{to{transform:rotate(25deg)}}@keyframes alive-spray-dash{to{stroke-dashoffset:-90}}@keyframes alive-flight{0%,76%{transform:translate(-15vw,0) rotate(15deg);opacity:0}78%{opacity:.55}83%{transform:translate(30vw,-65px) rotate(-6deg)}90%{transform:translate(80vw,25px) rotate(12deg);opacity:.5}94%,100%{transform:translate(110vw,-30px);opacity:0}}@keyframes alive-wing{to{transform:scaleY(.35)}}@keyframes alive-dew-slide{10%{opacity:.7}to{transform:translateY(120px);opacity:0}}
@media(max-width:600px){.alive-tail{width:220px;height:220px}.alive-particles{opacity:.45}.alive-atmosphere{opacity:.06}.alive-topography{opacity:.025}.alive-dragonfly{width:28px}}
@media(prefers-reduced-motion:reduce){.alive-particles,.alive-dragonfly,.alive-dew,.alive-grass-edge,.alive-topography{display:none}.alive-atmosphere{animation:none}.alive-tail path{animation:none;transition:none;stroke-dashoffset:0}.alive-divider path{animation:none}}
/* PHASE 3 · A lawn coming back to life. The existing mini-builder stays fully interactive. */
.hero-inner{min-height:max(900px,calc(100svh - 105px));background:#092b20}.hero-photo{opacity:.08!important}.alive-landscape{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0) scale(1.035);transition:transform 1.4s var(--motion-ease)}.alive-hill-back{transform:translateX(calc(var(--scene-x,0px)*-.3));transition:transform 1.4s var(--motion-ease)}.alive-hill-front{transform:translateX(calc(var(--scene-x,0px)*.3));transition:transform 1.4s var(--motion-ease)}.alive-water-arcs{fill:none;stroke:#d1f6ec;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:2 8;animation:alive-water-flow 1.2s linear infinite;opacity:.65;transform-origin:bottom center}.alive-water-arcs.delayed{animation-delay:-.6s}.alive-dry-tile{animation:alive-green-return 10s ease-in-out infinite}.alive-dry-tile.second{animation-delay:-3s}.hero-copy{padding-top:92px;padding-bottom:170px}.hero h1{font-size:clamp(46px,5.7vw,86px);max-width:53%;line-height:1.04;letter-spacing:-.06em}.hero-local{font-size:clamp(15px,1.3vw,19px);display:block;letter-spacing:0;font-weight:500;margin-top:22px;line-height:1.5;color:#d7e8d2;font-family:var(--font)}.hero-copy>p{font-size:17px;max-width:42%}.hero-copy .actions{max-width:46%}.hero-copy .actions .button{background:#5cbf2a;border-color:#5cbf2a;color:#092b20;min-height:60px;font-size:15px;padding-inline:27px}.hero-call{font-size:14px;color:#ffdf82;border-color:#ffc93c66}.hero-badges{font-size:13px;max-width:44%!important;gap:10px 20px}.hero-planner{top:76px;width:min(43%,535px);background:linear-gradient(145deg,#ffffff10,#ffffff03);border:1px solid #ffffff23;border-radius:28px;padding:22px;box-shadow:0 30px 80px #05150f20,inset 0 1px 0 #ffffff17}.hero-planner .mini-scene{border-radius:20px;background:radial-gradient(ellipse at 50% 40%,#6c99552b,#092b2060);box-shadow:none}.hero-planner .planner-preview svg{max-height:290px}.hero-plan-heading{font-size:13px;letter-spacing:0}.hero-planner .hero-build{background:#c5ed91;color:#092b20;border-color:#c5ed91}.hero-quick-start{max-width:46%;margin-top:34px;pointer-events:auto}.hero-quick-start>span{font-size:13px;color:#c9dfc6;display:block;margin-bottom:10px}.hero-quick-start>div{display:flex;gap:8px;flex-wrap:wrap}.hero-quick-start a{border:1px solid #ffffff35;color:#e3efdf;font-size:13px;padding:9px 14px;border-radius:99px;min-height:44px;display:flex;align-items:center;transition:background .25s,border-color .25s,transform .25s;background:#092b2040}.hero-quick-start a:hover{background:#5cbf2a22;border-color:#b3de91;transform:translateY(-2px)}.alive-hero-mascot{position:absolute;left:46%;bottom:94px;width:130px;height:204px;z-index:7;pointer-events:none;transform:rotate(var(--mascot-lean,0deg));transform-origin:bottom;transition:transform .6s var(--motion-ease)}.mascot-face{position:relative;aspect-ratio:1;width:100%;filter:drop-shadow(0 8px 14px #05150f35)}.mascot-face img{width:100%;height:100%;object-fit:contain;filter:hue-rotate(var(--companion-hue,0deg));transition:filter 1s}.mascot-perch{position:absolute;bottom:0;left:0;width:100%;height:78px;overflow:visible}.alive-eye{position:absolute;left:74.5%;top:22.3%;width:8.1%;height:8.1%;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden}.alive-eye b{width:50%;height:50%;border-radius:50%;background:#092b20;transform:translate(var(--pupil-x,0px),var(--pupil-y,0px));transition:transform .18s}.alive-eye:after{content:'';position:absolute;inset:-2px;background:#0e5a2b;transform:scaleY(0);transform-origin:center;animation:alive-blink 5.2s ease-in-out infinite}.hero .motion-art{opacity:.08}.hero-copy .eyebrow,.hero-copy .headline-line:first-child,.hero-copy p,.hero-copy .actions,.hero-badges,.hero-planner{animation:none}.hero .reveal-word{display:inline-block;animation:alive-word .6s calc(.12s + var(--word,0)*.09s) var(--motion-ease) both}.hero h1 em{background:linear-gradient(0deg,#a3eb6e 0 49%,#ecf8de 51% 100%);background-size:100% 220%;background-position:0 0;background-clip:text;-webkit-background-clip:text;color:transparent;animation:alive-water-fill .6s .5s both}.hero .actions{animation:alive-cta-in .55s .4s var(--motion-ease) both}.header .logo img{animation:alive-logo-in .6s var(--motion-ease) both}
@keyframes alive-water-flow{to{stroke-dashoffset:-50}}@keyframes alive-green-return{0%,12%,95%,100%{fill:#927242;opacity:.42}40%,75%{fill:#67b849;opacity:.45}}@keyframes alive-blink{0%,42%,46%,100%{transform:scaleY(0)}44%{transform:scaleY(1)}}@keyframes alive-word{from{opacity:0;transform:translateY(24px);clip-path:inset(100% 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes alive-water-fill{from{background-position:0 0}to{background-position:0 100%}}@keyframes alive-cta-in{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}@keyframes alive-logo-in{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
@media(max-width:1050px) and (min-width:781px){.hero h1{font-size:59px}.hero-planner{width:43%;right:28px;padding:18px}.hero-copy{width:calc(100% - 64px)}.hero-copy .actions{gap:16px}.hero-badges{gap:8px 12px}.hero-quick-start{max-width:49%}.hero-quick-start a{padding-inline:11px}.alive-hero-mascot{left:47%;bottom:100px;width:110px;height:184px}}
@media(max-width:780px){.hero-inner{min-height:100svh;display:flex;flex-direction:column}.hero-copy{padding:48px 0 0;width:calc(100% - 40px)}.hero h1{max-width:100%;font-size:clamp(43px,8.8vw,67px);line-height:1.06;margin:20px 0}.hero-copy>p{max-width:100%;font-size:16px}.hero-copy .actions{max-width:100%;gap:20px}.hero-copy .actions .button{min-height:56px;padding-inline:23px}.hero-badges{max-width:100%!important;gap:9px 14px;font-size:13px}.hero-quick-start{max-width:100%;margin-top:28px}.hero-quick-start a{font-size:13px;padding:8px 12px}.hero-planner{position:relative;inset:auto;width:calc(100% - 40px);margin:100px auto 50px;padding:20px;background:#092b2070;backdrop-filter:none}.alive-landscape{height:100%;opacity:.75}.alive-hero-mascot{left:auto;right:30px;bottom:auto;top:550px;width:90px;height:142px}.mascot-perch{height:60px}.hero-planner .mini-controls{gap:18px}.hero-planner .planner-preview svg{max-height:270px}.hero-local{font-size:15px;margin-top:18px}.hero-copy .eyebrow{font-size:13px}.hero .motion-art{opacity:.04}.hero h1 .headline-line:first-child{max-width:100%}}
@media(max-width:390px){.hero h1{font-size:43px}.hero-copy .actions .button{font-size:14px;padding-inline:19px}.hero-copy .actions{gap:16px}.hero-call{font-size:13px}.alive-hero-mascot{top:600px}.hero-planner{margin-top:95px}.hero-planner .mini-controls{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.alive-landscape,.alive-hill-front,.alive-hill-back{transform:none;transition:none}.alive-water-arcs,.alive-dry-tile,.alive-eye:after,.hero .reveal-word,.hero h1 em,.hero .actions,.header .logo img{animation:none}.alive-dry-tile{fill:#67b849}.hero .reveal-word{opacity:1;clip-path:none;transform:none}.hero h1 em{background:none;color:#c5ed91}.alive-eye:after{display:none}.alive-hero-mascot{transform:none!important}}
/* PHASE 4 · Disciplined content, custom two-tone illustrations and tactile forms. */
.service-image{background:radial-gradient(ellipse at 60% 30%,#dbe9c9,#edf2e5);aspect-ratio:1.45}.service-illustration{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 14px #092b200b)}.service-illustration path,.service-illustration rect,.service-illustration circle{vector-effect:non-scaling-stroke}.service-illustration .service-water{stroke-dasharray:3 7;animation:alive-water-flow 2s linear infinite}.service-illustration .service-pulse{transform-box:fill-box;transform-origin:center;animation:alive-check-pulse 4s ease-in-out infinite}.service-illustration .service-orbit{stroke:#38bdf8;stroke-dasharray:4 8;animation:alive-water-flow 6s linear infinite}.service-glyph{stroke-width:2;color:#0e5a2b}.service-glyph path,.service-glyph circle,.service-glyph rect{stroke-width:2}.situations-label{font:600 13px/1.5 var(--font);color:#52635b;margin:22px 0 0}.card ul{padding-top:12px}.care-relationship{display:flex;justify-content:center;align-items:center;gap:clamp(15px,4vw,60px);margin-top:36px;border-top:1px solid var(--line);padding-top:28px;font-size:15px;font-weight:600;color:var(--ink)}.care-relationship span{display:flex;align-items:center;gap:10px}.care-relationship i{width:32px;height:32px;display:grid;place-items:center;background:#5cbf2a16;border-radius:10px;font-style:normal;color:#0e5a2b}.care-relationship>b{font-weight:400;color:#497953}.service-list-icon{position:absolute;left:0;top:10px;width:16px;height:16px;color:#0e5a2b}.card li:has(.service-list-icon):before{display:none}#symptoms .symptom-icon img[src$=".svg"]{width:32px;height:32px}#symptoms .symptom[aria-checked=true] .symptom-icon{background:#c5ed91}.steps{position:relative}.steps:before{background:#d6e4ce;width:2px}.steps:after{background:linear-gradient(#5cbf2a,#38bdf8);width:2px}.steps li{transition:opacity .4s,transform .4s}.steps li.active>span{background:#5cbf2a;box-shadow:0 0 0 7px #5cbf2a12}.steps li.active h3{color:#0e5a2b}.zip-status{min-height:80px;padding:18px 20px;border:1px solid #b8d8ab;border-radius:16px;background:#5cbf2a0c;font-size:15px;line-height:1.6}.zip-status:empty{display:none}.prepared-request{padding:26px;border-radius:24px;border:1px solid #a5ce95;background:linear-gradient(145deg,#edf4e5,#f6f4ee);box-shadow:inset 0 1px 0 #fff,0 12px 35px #092b2008}.request-card-heading{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;margin-top:20px;gap:14px}.request-card-heading svg{height:26px;width:26px;fill:none;stroke:#0e5a2b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.send-options{gap:10px;display:flex;flex-wrap:wrap}.send-options .button,.send-options .copy-request{font-size:13px;min-height:46px;padding:12px 15px;border-radius:14px}.send-options .copy-request{border:1px solid var(--line);background:transparent;color:var(--ink)}.request-preview{border-radius:16px;background:#ffffffaa;font-size:14px!important}.floating-field{position:relative;display:block;margin-top:16px}.floating-field>span.field-caption{position:absolute;left:15px;top:17px;pointer-events:none;transition:transform .2s,color .2s;font-size:15px;font-weight:400;color:var(--muted);transform-origin:top left;background:transparent;z-index:1}.floating-field input,.floating-field textarea{margin-top:0;padding-top:27px;padding-bottom:11px;min-height:62px;border-radius:16px}.floating-field input:focus,.floating-field textarea:focus{box-shadow:0 0 0 4px #38bdf815;border-color:#1778a3}.floating-field:focus-within>.field-caption,.floating-field.has-value>.field-caption{transform:translateY(-10px) scale(.8);color:#497953}.floating-field .field-error{position:relative}.estimate-form .form-heading{padding-bottom:8px}.estimate-form .form-grid{gap:12px 18px}.estimate-form>.floating-field{margin-top:20px}.request-check path{animation:alive-check-draw .5s var(--motion-ease)}.request-check{color:#0e5a2b}.alive-footer-mascot{position:absolute;right:10%;bottom:0;width:82px;transform:translateY(20px) rotate(-12deg);transition:transform .4s;pointer-events:none}footer{position:relative;overflow:hidden}footer:hover .alive-footer-mascot{transform:translateY(6px) rotate(-5deg)}.footer-label{letter-spacing:0;text-transform:none;font-size:13px}.hero .scene-label{display:none}.hero-planner .mini-scene:hover .mini-scene-art{animation-play-state:paused;transform:rotateY(6deg) rotateX(-2deg);transition:transform .6s var(--motion-ease)}.hero-planner .mini-scene{transition:border-color .3s,background .3s}.hero-planner .mini-scene:hover{border-color:#c5ed9170}.mobile-actions>a:nth-child(4){display:none}.mobile-actions>a:nth-child(5){display:flex;background:#ffc93c;color:#092b20}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/inter0.woff) format('woff')}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter1.woff) format('woff')}
@keyframes alive-check-draw{from{stroke-dashoffset:40}to{stroke-dashoffset:0}}@keyframes alive-check-pulse{50%{transform:scale(1.035)}}
html[data-theme=dark] .situations-label{color:#c0d4bd}html[data-theme=dark] .care-relationship i{color:#c5ed91;background:#5cbf2a22}html[data-theme=dark] .steps li.active h3{color:#c5ed91}html[data-theme=dark] .floating-field:focus-within>.field-caption,html[data-theme=dark] .floating-field.has-value>.field-caption{color:#b9e49a}html[data-theme=dark] .request-card-heading svg{stroke:#c5ed91}html[data-theme=dark] .zip-status{background:#143c29;color:#dbead4;border-color:#497953}html[data-theme=dark] .prepared-request{background:linear-gradient(145deg,#123e2b,#0b251b);box-shadow:inset 0 1px 0 #ffffff16}html[data-theme=dark] .service-list-icon,html[data-theme=dark] .service-glyph{color:#a8d596}
@media(max-width:780px){.service-image{aspect-ratio:1.65}.care-relationship{gap:12px;font-size:13px;flex-wrap:wrap}.care-relationship span{gap:5px}.care-relationship i{width:26px;height:26px}.care-relationship>b{font-size:13px}.prepared-request{padding:20px}.floating-field{margin-top:10px}.alive-footer-mascot{right:7%;width:65px}.mobile-actions{grid-template-columns:repeat(3,1fr)}.mobile-actions>a:nth-child(3),.mobile-actions>a:nth-child(4){display:none}.mobile-actions>a:nth-child(5){display:flex}.mobile-actions a{font-size:13px}}
@media(prefers-reduced-motion:reduce){.service-illustration .service-water,.service-illustration .service-pulse,.service-illustration .service-orbit,.request-check path{animation:none}.hero-planner .mini-scene:hover .mini-scene-art{transform:none}.floating-field>span.field-caption{transition:none}.alive-footer-mascot{transform:translateY(6px);transition:none}}
/* PHASE 5 · Chameleon companion. A searchable FAQ, explicitly not live chat. */
.gat-faq-float{width:68px;height:68px;min-width:68px;min-height:68px;right:24px;bottom:24px;border-radius:50%;background:linear-gradient(145deg,#173e2bec,#092b20ee);border:1px solid #c5ed9166;box-shadow:0 8px 30px #05150f33,inset 0 1px 0 #ffffff28;display:grid;place-items:center;z-index:48;outline-offset:5px;isolation:isolate;cursor:pointer}.gat-faq-float:before{content:'';position:absolute;inset:-4px;border:1px dashed #96e1c990;border-radius:50%;pointer-events:none;filter:hue-rotate(var(--companion-hue));transition:filter 1s;animation:companion-ring 24s linear infinite}.gat-faq-float .mascot-face{width:62px;height:62px;animation:companion-breathe 5s ease-in-out infinite,companion-wiggle 15s ease-in-out infinite}.gat-faq-float.has-interacted .mascot-face{animation:companion-breathe 5s ease-in-out infinite}.gat-faq-float .mascot-face img{width:100%;height:100%;border-radius:0;animation:none;translate:none;filter:hue-rotate(var(--companion-hue)) drop-shadow(0 2px 2px #0003)}.gat-faq-float:hover img{transform:none}.gat-faq-float>span{top:50%;right:82px;background:#f6f4ee;color:#092b20;border-color:#dce6d5;font-size:13px;line-height:1.5;font-weight:600;box-shadow:0 8px 30px #05150f15;border-radius:16px 16px 3px 16px;white-space:normal;width:178px;padding:12px 15px}.gat-faq-float.show-greeting>span{opacity:1;transform:translate(0,-50%)}.gat-faq-float[aria-expanded=true]{opacity:0;pointer-events:none}.gat-faq-float:focus-visible{outline:3px solid #38bdf8}.gat-companion-chat{position:fixed;inset:auto 24px 22px auto;margin:0;padding:0;width:min(420px,calc(100vw - 32px));height:min(680px,calc(100dvh - 60px));max-width:none;max-height:none;border-radius:28px;border:1px solid #c5ed9145;background:#f6f4ee;color:#092b20;box-shadow:0 35px 100px #05150f55;overflow:hidden;font:400 14px/1.6 Inter,Arial,sans-serif}.gat-companion-chat[open]{display:flex;flex-direction:column}.gat-companion-chat::backdrop{background:#05150f55;backdrop-filter:blur(3px)}.companion-head{background:linear-gradient(130deg,#092b20,#164a30);color:#f6f4ee;padding:24px 22px 20px;display:grid;grid-template-columns:46px 1fr 34px;gap:12px;align-items:center;flex-shrink:0}.companion-head .mascot-face{width:46px;height:46px}.companion-head h2{font-family:var(--heading);font-size:20px;line-height:1.2;letter-spacing:-.035em;color:#fff;margin:0}.companion-head p{font-size:13px;line-height:1.5;color:#d3e5ca;margin:5px 0 0}.companion-close{width:36px;height:44px;border:0;border-radius:12px;background:#ffffff0c;color:#e8f3df;font:400 25px/1 Arial;display:grid;place-items:center;align-self:start;cursor:pointer}.companion-search-wrap{padding:18px 20px 12px;flex-shrink:0}.companion-search-wrap label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.companion-search-wrap input{width:100%;min-height:46px;margin:0;border:1px solid #b8cdb0;border-radius:14px;background:#fff;color:#092b20;padding:10px 13px;font-size:16px}.companion-categories{display:flex;gap:7px;overflow-x:auto;overscroll-behavior:contain;padding:0 20px 14px;scrollbar-width:thin;flex-shrink:0}.companion-categories button{min-height:44px;padding:8px 12px;border:1px solid #cbd9c3;border-radius:99px;background:transparent;color:#254f32;font-size:13px;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background .2s,color .2s}.companion-categories button[aria-pressed=true]{background:#092b20;color:#fff;border-color:#092b20}.companion-results{padding:0 20px 20px;overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;scrollbar-width:thin}.companion-results details{border-bottom:1px solid #d8e2d0;padding:14px 0}.companion-results summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;list-style:none;min-height:44px;font-weight:600;font-size:14px;line-height:1.5}.companion-results summary::-webkit-details-marker{display:none}.companion-results summary>span{font-size:22px;font-weight:400;transition:transform .25s}.companion-results details[open] summary>span{transform:rotate(45deg)}.companion-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.16,1,.3,1)}.companion-answer>div{min-height:0;overflow:hidden}.companion-answer p{margin:0;padding-top:12px;color:#425f48;font-size:14px;line-height:1.7}.companion-results details[open]:not(.is-closing) .companion-answer{grid-template-rows:1fr}.companion-empty{padding:22px 0;line-height:1.7;color:#425f48}.companion-empty strong{display:block;font-size:17px;color:#092b20;margin-bottom:7px}.companion-foot{padding:16px 20px max(16px,env(safe-area-inset-bottom));display:grid;grid-template-columns:.8fr 1fr 1fr;gap:8px;border-top:1px solid #d8e2d0;background:#ecf2e5;flex-shrink:0}.companion-foot a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:9px;border:1px solid #bccdb4;border-radius:14px;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;color:#092b20}.companion-foot a:first-child{background:#ffc93c;border-color:#ffc93c}.companion-foot a:nth-child(2){background:#c5ed91;border-color:#c5ed91}.companion-result-count{padding:0 20px 8px;margin:0!important;font-size:13px;color:#526d51;flex-shrink:0}.companion-faq-caption{font-size:13px;color:#526d51;margin:0 0 8px}.gat-companion-chat :focus-visible{outline:3px solid #1681ab;outline-offset:3px}.gat-companion-chat button,.gat-companion-chat a{touch-action:manipulation}.gat-companion-chat input:focus-visible{outline-offset:2px}html[data-theme=dark] .gat-companion-chat{background:#0b271c;color:#e9f3e2;border-color:#497953}html[data-theme=dark] .companion-search-wrap input{background:#102f23;color:#e9f3e2;border-color:#497953}html[data-theme=dark] .companion-categories button{color:#d2e6c8;border-color:#497953}html[data-theme=dark] .companion-categories button[aria-pressed=true]{background:#c5ed91;color:#092b20;border-color:#c5ed91}html[data-theme=dark] .companion-results details{border-color:#345340}html[data-theme=dark] .companion-answer p,html[data-theme=dark] .companion-empty,html[data-theme=dark] .companion-empty strong,html[data-theme=dark] .companion-result-count,html[data-theme=dark] .companion-faq-caption{color:#c5d8bc}html[data-theme=dark] .companion-foot{background:#123b29;border-color:#345340}html[data-theme=dark] .companion-foot a:last-child{color:#e9f3e2;border-color:#497953}
@keyframes companion-ring{to{rotate:360deg}}@keyframes companion-breathe{50%{translate:0 -2px}}@keyframes companion-wiggle{0%,82%,90%,100%{rotate:0deg}84%,88%{rotate:-7deg}86%{rotate:6deg}}
@media(max-width:780px){.gat-faq-float{width:58px;height:58px;min-width:58px;min-height:58px;right:17px;bottom:calc(89px + env(safe-area-inset-bottom))}.gat-faq-float .mascot-face{width:54px;height:54px}.gat-faq-float>span{right:71px;width:166px}.gat-companion-chat{right:12px;bottom:calc(85px + env(safe-area-inset-bottom));width:calc(100vw - 24px);height:min(650px,calc(100dvh - 114px));border-radius:24px}.gat-companion-chat::backdrop{backdrop-filter:none}.companion-head{padding:18px 16px;grid-template-columns:40px 1fr 36px;gap:10px}.companion-head .mascot-face{width:40px;height:40px}.companion-head h2{font-size:19px}.companion-search-wrap{padding:14px 16px 10px}.companion-categories{padding:0 16px 12px}.companion-results{padding-inline:16px}.companion-foot{padding-inline:16px}.companion-result-count{padding-inline:16px}.companion-close{width:36px}.companion-foot a{font-size:13px}.embedded .gat-faq-float{display:none}}
@media(prefers-reduced-motion:reduce){.gat-faq-float .mascot-face,.gat-faq-float.has-interacted .mascot-face,.gat-faq-float:before{animation:none}.companion-answer,.companion-categories button,.companion-results summary>span{transition:none}}
.floating-field input::placeholder,.floating-field textarea::placeholder{opacity:0}.floating-field input:focus::placeholder,.floating-field textarea:focus::placeholder{opacity:.7}.companion-foot{position:relative;overflow:visible}.companion-foot:hover .alive-footer-mascot{display:none}.companion-close{min-width:44px;min-height:44px}.companion-head{grid-template-columns:46px 1fr 44px}
@media(max-width:780px){.companion-head{grid-template-columns:40px 1fr 44px}}
/* Clip the fill on the actual word glyphs, never on an ancestor of inline blocks. */
.hero h1 em{display:inline-block;background:none;color:#c5ed91;animation:none}
.hero h1 em .reveal-word{background:linear-gradient(0deg,#a3eb6e 0 49%,#ecf8de 51% 100%);background-size:100% 220%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:alive-word .6s calc(.12s + var(--word,0)*.09s) var(--motion-ease) both,alive-water-fill .6s .5s both}
@media(prefers-reduced-motion:reduce){.hero h1 em .reveal-word{background:none;color:#c5ed91;animation:none}}
.companion-categories{flex-wrap:wrap;overflow:visible;gap:7px;padding-bottom:12px}.companion-categories button{padding:8px;font-size:13px}
.alive-atmosphere>i{position:absolute;inset:0;opacity:0;transition:opacity 1s ease}.alive-sky-sunrise{background:radial-gradient(ellipse at 80% 20%,#ffc93c66,transparent 60%)}.alive-sky-day{background:radial-gradient(ellipse at 70% 15%,#38bdf866,transparent 60%)}.alive-sky-dusk{background:radial-gradient(ellipse at 20% 80%,#ffc93c88,transparent 60%)}.alive-sky-night{background:radial-gradient(ellipse at 70% 60%,#092b20cc,#38bdf855)}body[data-alive-phase=sunrise] .alive-sky-sunrise,body[data-alive-phase=day] .alive-sky-day,body[data-alive-phase=dusk] .alive-sky-dusk,body[data-alive-phase=night] .alive-sky-night{opacity:1}
@media(prefers-reduced-motion:reduce){.alive-atmosphere>i{transition:none}}
/* Decorative bounds never increase the document's scrollable width. */
.alive-tail{right:0;max-width:100%}.alive-atmosphere{inset:0;overflow:hidden;animation:none;transform:none}.alive-atmosphere>i{inset:-20%;animation:alive-mesh 36s ease-in-out infinite alternate}
@media(prefers-reduced-motion:reduce){.alive-atmosphere>i{animation:none}}
@media(max-width:780px){.hero-copy{order:1}.alive-hero-mascot{position:relative;order:2;inset:auto;align-self:flex-end;margin:12px 28px -40px;width:90px;height:142px}.hero-planner{order:3;margin-top:0}}
.service-card .service-water,.service-card .service-pulse,.service-card .service-orbit{animation-play-state:paused}.service-card.alive-in-view .service-water,.service-card.alive-in-view .service-pulse,.service-card.alive-in-view .service-orbit{animation-play-state:running}.hero:not(.alive-in-view) .alive-water-arcs,.hero:not(.alive-in-view) .alive-dry-tile,.hero:not(.alive-in-view) .alive-eye:after{animation-play-state:paused}body[data-alive-paused=true] .alive-atmosphere>i,body[data-alive-paused=true] .alive-water-arcs,body[data-alive-paused=true] .alive-dry-tile,body[data-alive-paused=true] .service-water,body[data-alive-paused=true] .service-pulse,body[data-alive-paused=true] .service-orbit,body[data-alive-paused=true] .alive-eye:after,body[data-alive-paused=true] .gat-faq-float .mascot-face,body[data-alive-paused=true] .gat-faq-float:before{animation-play-state:paused}
.gat-yard-page .stage-brand small,.gat-yard-page .panel .eyebrow{letter-spacing:0;text-transform:none;font-size:13px}
.alive-topography{overflow:hidden;background-image:none;transform:none}.alive-topography:before{content:'';position:absolute;inset:-20%;background-image:repeating-radial-gradient(ellipse at 85% 30%,transparent 0 27px,#497953 28px 29px,transparent 30px 57px);translate:0 var(--topography-y,0px);transition:translate 1s linear;animation:alive-topographic-drift 38s ease-in-out infinite alternate}@keyframes alive-topographic-drift{to{transform:translate3d(10px,-18px,0)}}body[data-alive-paused=true] .alive-topography:before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.alive-topography:before{animation:none;transition:none;translate:none}}
