@charset "UTF-8";
:root{--paper:#fff;--warm-paper:#faf9f5;--ink:#172a35;--ink-muted:#4f626b;--teal:#0f766e;--teal-deep:#0d5964;--coral:#fe6b5b;--coral-ink:#b84436;--butter:#f1bb63;--mist:#e6f6f2;--line:#dce6e4;--radius-card:22px;--radius-pill:999px;--shadow-soft:0 18px 50px rgba(23,42,53,.09);--width:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 "DM Sans",Arial,sans-serif}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,.brand,.big-number{font-family:"Space Grotesk","Arial",sans-serif}h1,h2,h3{letter-spacing:-.045em;line-height:1.1}h1{font-size:clamp(2.8rem,5.7vw,5.4rem);max-width:900px;margin-bottom:26px;font-weight:750}h2{font-size:clamp(2rem,3.5vw,3.5rem);margin-bottom:24px}h3{font-size:1.45rem;margin-bottom:15px}p{margin-bottom:20px}a{color:var(--teal);text-underline-offset:4px}a:hover{color:var(--teal-deep)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg{max-width:100%;height:auto}img{display:block}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--coral-ink);outline-offset:5px}.wrap{width:min(var(--width),calc(100% - 64px));margin:auto}.section{padding:100px 0}.warm{background:var(--warm-paper)}.mist{background:var(--mist)}.eyebrow{text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.15em;display:block;margin-bottom:20px;color:var(--teal)}.lead{font-size:1.17rem;color:var(--ink-muted);max-width:62ch;line-height:1.7}.muted{color:var(--ink-muted)}.small{font-size:.85rem}.measure{max-width:72ch}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}.btn{min-height:48px;padding:13px 24px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:var(--radius-pill);border:1px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;font-weight:700;line-height:1.3}.btn:hover{background:var(--mist);color:var(--ink);transform:translateY(-2px)}.btn.primary{background:var(--teal);border-color:var(--teal);color:white}.btn.primary:hover{background:var(--teal-deep);border-color:var(--teal-deep)}.btn.light{background:white}.arrow{font-size:1.25em;line-height:1}.text-link{display:inline-flex;gap:10px;align-items:center;min-height:44px;font-weight:700}.skip{position:fixed;top:8px;left:8px;z-index:99;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-150%)}.skip:focus{transform:none}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.nav-row{height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;letter-spacing:-.045em;font-size:1.18rem;line-height:1.1;font-weight:800;flex-shrink:0}.brand-mark{display:grid;place-items:center;background:var(--teal);color:white;width:42px;height:42px;border-radius:12px 12px 3px 12px;font-size:1rem;letter-spacing:-.07em;transform:rotate(-5deg)}.brand small{display:block;letter-spacing:.14em;font:700 .56rem/1.6 Arial,sans-serif;text-transform:uppercase}.nav-links{display:flex;gap:21px;align-items:center}.nav-links>a{font-size:.83rem;font-weight:700;color:var(--ink);text-decoration:none;min-height:44px;display:flex;align-items:center}.nav-links>a:hover,.nav-links>a[aria-current=page]{color:var(--teal);text-decoration:underline;text-decoration-thickness:2px}.nav-quote{font-size:.82rem;padding:12px 20px}.menu-toggle{display:none;border:1px solid var(--line);border-radius:50%;width:44px;height:44px;background:white;font-size:1.15rem}.header-actions{display:flex;gap:8px;align-items:center}.hero{padding:74px 0 62px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:45px}.hero h1{font-size:clamp(3rem,5vw,4.75rem);line-height:1.04;letter-spacing:-.065em}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--teal);font-size:1.08em}.hero .eyebrow{font-size:.7rem;letter-spacing:.06em;text-transform:none}.hero .lead{font-size:1.05rem;max-width:49ch}.hero-price{display:flex;gap:15px;align-items:center;margin-top:32px;padding-top:25px;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-muted)}.hero-price strong{font-size:1.8rem;color:var(--ink);font-weight:800;letter-spacing:-.05em}.hero-price span{display:block}.mosaic{height:510px;position:relative;margin-right:-15px;isolation:isolate}.mosaic:before{content:"";position:absolute;inset:8% 1% 4% 9%;background:var(--mist);border-radius:47% 47% 10% 43%;transform:rotate(-9deg);z-index:-2}.mosaic:after{content:"";position:absolute;inset:1% 1% 8% 2%;background-image:radial-gradient(#172a3535 1px,transparent 1px);background-size:15px 15px;z-index:-3;mask-image:linear-gradient(90deg,transparent,#000)}.browser-card{position:absolute;overflow:hidden;border:1px solid #172a3520;border-radius:12px;background:white;box-shadow:0 22px 45px #172a3526;transform:rotate(-5deg);width:86%;left:0;top:35px}.browser-bar{height:25px;padding:9px 12px;display:flex;gap:4px;background:#fff;border-bottom:1px solid #eee}.browser-bar i{width:5px;height:5px;border-radius:50%;background:#d5ddda}.mock-landscape{padding:22px;background:#f1eee5;min-height:278px}.mock-nav{display:flex;justify-content:space-between;font-size:.55rem;font-weight:800;letter-spacing:.05em}.mock-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-top:29px;align-items:center}.mock-hero b{font-family:Georgia,serif;font-size:2.8rem;line-height:.97;letter-spacing:-.07em;color:#2f4939}.mock-hero small{display:block;margin-top:12px;font-size:.55rem;line-height:1.5;max-width:155px}.mock-button{display:inline-block;background:#2f4939;color:white;border-radius:3px;padding:7px 10px;font-size:.5rem;margin-top:12px}.plant-art{height:158px;background:#bcc6ac;border-radius:60px 60px 5px 5px;position:relative;overflow:hidden}.plant-art:before{content:"";position:absolute;width:90px;height:115px;background:#647e56;border-radius:90% 0 80% 0;transform:rotate(-30deg);left:35px;top:27px}.plant-art:after{content:"";position:absolute;width:65px;height:120px;background:#8d9a76;border-radius:0 80% 0 90%;transform:rotate(27deg);left:8px;top:55px}.mock-services{display:flex;gap:8px;margin-top:19px}.mock-services span{width:33%;padding:8px 2px;background:#e6e2d6;font-size:.45rem;text-align:center}.mobile-card{position:absolute;right:2px;bottom:26px;width:35%;min-height:310px;background:#fce7d8;transform:rotate(8deg);border:5px solid var(--ink);border-radius:25px;box-shadow:0 20px 36px #172a3526;padding:20px 13px 13px}.mobile-card:before{content:"";position:absolute;top:5px;left:35%;width:30%;height:8px;border-radius:20px;background:var(--ink)}.mobile-card .mock-nav{font-size:.48rem}.mobile-card strong{display:block;font-family:Georgia,serif;font-size:1.7rem;line-height:1.05;margin:20px 0 12px;letter-spacing:-.04em}.sun-art{height:92px;border-radius:50px 50px 4px 4px;background:var(--coral);position:relative;overflow:hidden}.sun-art:after{content:"";position:absolute;border-radius:50%;width:90px;height:90px;background:var(--butter);left:34px;top:18px}.mobile-card p{font-size:.5rem;margin:10px 0}.ticket{position:absolute;left:7px;bottom:53px;background:var(--butter);border-radius:9px;transform:rotate(-9deg);padding:13px 18px;box-shadow:0 10px 20px #172a3515;border:1px dashed var(--ink);font-weight:800;line-height:1}.ticket b{font-size:2.6rem;letter-spacing:-.06em}.ticket span{font-size:.7rem;display:block;margin-top:5px;letter-spacing:.08em}.mosaic-caption{position:absolute;bottom:0;left:2px;font-size:.65rem;color:var(--ink-muted)}.spark{position:absolute;right:5%;top:7%;font-size:5.4rem;line-height:1;color:var(--coral);transform:rotate(14deg)}.confidence{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.confidence-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.8rem;font-weight:700}.confidence-row span:before{content:"+";margin-right:10px;color:var(--teal)}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:44px}.section-heading h2{margin-bottom:0;max-width:700px}.section-heading p{max-width:350px;margin:0;color:var(--ink-muted)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.card{border:1px solid var(--line);border-radius:var(--radius-card);padding:32px;background:white;min-width:0}.card p:last-child{margin-bottom:0}.number-label{font-size:.75rem;letter-spacing:.08em;color:var(--teal);font-weight:800;margin-bottom:40px;display:block}.service-card{min-height:280px;display:flex;flex-direction:column}.service-card .text-link{margin-top:auto}.service-card p{font-size:.95rem;color:var(--ink-muted)}.service-card:nth-child(2){background:var(--mist)}.service-card:nth-child(3){background:#fff0e4}.benefit-icon{width:52px;height:52px;background:var(--mist);display:grid;place-items:center;border-radius:14px;font-size:1.8rem;margin-bottom:30px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.price-intro{position:relative}.price-intro .big-number{font-size:6rem;line-height:1;letter-spacing:-.07em;font-weight:800}.price-intro .big-number small{font-size:1rem;letter-spacing:0;font-weight:500}.formula{display:inline-flex;align-items:center;gap:20px;margin:20px 0 25px;padding:17px 20px;background:var(--mist);border-radius:12px;font-size:.85rem}.formula strong{font-size:1.35rem}.calculator{border-radius:var(--radius-card);background:white;border:1px solid var(--line);padding:34px;box-shadow:var(--shadow-soft)}.calculator label,.field-label{display:block;font-weight:700;font-size:.88rem;margin-bottom:10px}.page-options{display:flex;gap:8px;margin:12px 0 26px}.page-option{position:relative;flex:1}.page-option input{position:absolute;opacity:0;inset:0}.page-option span{border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;height:48px;font-weight:800}.page-option input:checked+span{background:var(--teal);border-color:var(--teal);color:white}.page-option input:focus-visible+span{outline:3px solid var(--coral-ink);outline-offset:3px}.calc-extras{display:grid;gap:17px}.check-row{display:flex;align-items:start;gap:10px}.check-row input{width:20px;height:20px;accent-color:var(--teal);margin-top:3px;flex-shrink:0}.check-row label{margin:0;font-weight:500}.check-row label span{display:block;font-size:.8rem;color:var(--ink-muted)}select,input:not([type=checkbox]):not([type=radio]),textarea{width:100%;background:white;border:1px solid #acbebb;border-radius:9px;min-height:48px;padding:11px 13px;color:var(--ink)}textarea{resize:vertical;min-height:140px}.calc-total{padding:24px 0;margin-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.calc-total strong{display:block;font-size:2.5rem;letter-spacing:-.06em;line-height:1.2}.calc-total small{font-size:.78rem;color:var(--ink-muted)}.calculator .btn{width:100%}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}caption{text-align:left;font-weight:700;padding:0 0 15px}th,td{text-align:left;padding:16px 15px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--mist);font-weight:700}tbody tr:hover{background:var(--warm-paper)}.pricing-table{margin-top:52px}.table-note{margin-top:15px;font-size:.8rem;color:var(--ink-muted)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.project{border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:white}.project-visual{height:230px;display:grid;place-items:center;position:relative;overflow:hidden;background:#ecede5;padding:30px}.project-visual:before{content:"";width:260px;height:260px;position:absolute;background:#d7dfcb;border-radius:50%;right:-30px;top:-75px}.project-visual .project-type{position:relative;font-size:clamp(1.8rem,3vw,3.1rem);font-weight:800;letter-spacing:-.06em;line-height:1.05;max-width:90%;transform:rotate(-4deg)}.project-visual.coral{background:#fbe4dc}.project-visual.coral:before{background:var(--coral)}.project-visual.teal{background:#d6efe9}.project-visual.teal:before{background:#a2d7ca}.project-visual.butter{background:#f8efd8}.project-visual.butter:before{background:var(--butter)}.project-copy{padding:28px}.project-copy p{font-size:.92rem;color:var(--ink-muted)}.tag{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);margin-bottom:12px;display:block}.concept-label{position:absolute;bottom:13px;left:22px;font-size:.65rem;color:var(--ink-muted)}.process{counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.process article{border-top:1px solid var(--ink);padding-top:22px;counter-increment:step}.process article:before{content:"0" counter(step);font-size:.75rem;font-weight:800;color:var(--teal);display:block;margin-bottom:25px}.process p{color:var(--ink-muted);font-size:.94rem}.seo-card{display:flex;flex-direction:column}.seo-card.highlight{border:2px solid var(--teal);background:var(--mist)}.plan-price{font-size:2.6rem;font-weight:800;letter-spacing:-.05em;line-height:1.2;margin:15px 0 25px}.plan-price small{font-size:.85rem;letter-spacing:0;font-weight:500}.clean-list{list-style:none;margin:0 0 25px;padding:0}.clean-list li{padding:10px 0 10px 24px;position:relative;border-bottom:1px solid var(--line);font-size:.9rem}.clean-list li:before{content:"+";position:absolute;left:0;color:var(--teal);font-weight:800}.seo-card .btn{margin-top:auto}.area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.area-link{padding:24px;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:white;color:var(--ink);font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:80px}.area-link:hover{background:var(--mist);color:var(--teal)}.area-feature{grid-column:span 2;background:var(--teal);color:white;display:block}.area-feature:hover{background:var(--teal-deep);color:white}.area-feature strong{font-size:2rem;letter-spacing:-.04em;display:block;margin-bottom:10px}.area-feature small{font-weight:400;display:block;font-size:.82rem;line-height:1.6}.faq-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.faqs details{border-bottom:1px solid var(--line);padding:20px 0}.faqs details:first-child{border-top:1px solid var(--line)}.faqs summary{cursor:pointer;font-weight:700;min-height:30px;padding-right:25px;list-style:none;position:relative}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:"+";position:absolute;right:0;font-size:1.4rem;top:-4px;color:var(--teal)}.faqs details[open] summary:after{content:"-"}.faqs details p{margin:16px 0 0;color:var(--ink-muted);font-size:.92rem}.contact-band{background:var(--teal-deep);color:white;border-radius:26px;padding:58px;position:relative;overflow:hidden}.contact-band:after{content:"";position:absolute;width:300px;height:300px;border:50px solid #ffffff0c;border-radius:50%;right:-80px;top:-80px;pointer-events:none}.contact-band h2{max-width:720px}.contact-band p{color:#d6e9eb;max-width:60ch}.contact-band .eyebrow{color:#c2e9df}.contact-band .btn{position:relative;z-index:1}.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.quote-form{border:1px solid var(--line);border-radius:var(--radius-card);padding:32px;background:white}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full{grid-column:1/-1}.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:7px}.field label small{font-weight:400;color:var(--ink-muted)}fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}legend{font-size:.88rem;font-weight:700;margin-bottom:10px}.topic-options{display:flex;flex-wrap:wrap;gap:10px 20px}.topic-options label{font-size:.84rem;display:flex;gap:7px;align-items:center;min-height:32px}.topic-options input{width:17px;height:17px;accent-color:var(--teal)}.quote-form .form-grid{margin-bottom:20px}.notice{background:#fff2dd;border:1px solid #dcbd84;border-radius:10px;padding:14px 17px;color:var(--ink);font-size:.85rem;margin:18px 0}.form-status{margin-top:16px;font-size:.9rem}.form-status:empty{display:none}.form-status.error{padding:16px;border:1px solid var(--coral-ink);background:#fff0ed;border-radius:10px}.field-error{color:#9e3024;font-size:.8rem;display:block;margin-top:5px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.site-footer{margin-top:70px;padding:60px 0 25px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px}.footer-top .brand{margin-bottom:20px}.footer-top p{max-width:32ch;font-size:.85rem;color:var(--ink-muted)}.footer-top h2{font:800 .72rem/1.4 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-bottom:15px}.footer-top ul{padding:0;margin:0;list-style:none}.footer-top a:not(.brand){font-size:.82rem;display:inline-flex;min-height:32px;align-items:center;text-decoration:none;color:var(--ink-muted)}.footer-top a:hover{text-decoration:underline;color:var(--teal)}.footer-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:.73rem;color:var(--ink-muted)}.page-hero{padding:50px 0 70px;border-bottom:1px solid var(--line);background:var(--warm-paper)}.breadcrumb{font-size:.75rem;margin:0 0 38px;display:flex;flex-wrap:wrap;gap:9px;color:var(--ink-muted)}.breadcrumb a{color:var(--ink-muted)}.page-hero .lead{max-width:65ch;margin-bottom:0}.page-hero h1{font-size:clamp(2.8rem,5vw,4.5rem)}.article-layout{display:grid;grid-template-columns:1.5fr .65fr;gap:70px}.article-layout h2{font-size:2rem;margin-top:45px}.article-layout h2:first-child{margin-top:0}.article-layout p,.article-layout li{color:var(--ink-muted)}.aside-card{background:var(--mist);padding:30px;border-radius:var(--radius-card);align-self:start;position:sticky;top:120px}.aside-card h2{font-size:1.6rem;margin-top:0}.aside-card strong{font-size:2.7rem;letter-spacing:-.05em;display:block}.callout{border-left:4px solid var(--teal);background:var(--mist);padding:24px 28px;margin:28px 0}.callout p:last-child{margin:0}.source-note{font-size:.76rem;color:var(--ink-muted);padding-top:20px;border-top:1px solid var(--line);margin-top:30px}.directory-tools{display:flex;gap:20px;align-items:end;margin-bottom:28px;flex-wrap:wrap}.directory-tools label{font-weight:700;font-size:.85rem;flex:1;min-width:230px}.directory-tools input{margin-top:8px}.directory-count{font-size:.8rem;color:var(--ink-muted);padding:10px 0}.directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.neighborhood{border:1px solid var(--line);border-radius:15px;padding:24px;scroll-margin-top:120px}.neighborhood h3{font-size:1.15rem;letter-spacing:-.025em}.neighborhood p{font-size:.82rem;color:var(--ink-muted);margin:0 0 10px}.neighborhood a{font-size:.78rem;min-height:32px;display:inline-flex;align-items:center}.neighborhood[hidden]{display:none}.pill{display:inline-block;padding:6px 13px;background:var(--mist);color:var(--teal);font-size:.72rem;border-radius:40px;font-weight:700}.inclusions{display:grid;grid-template-columns:1fr 1fr;gap:24px}.inclusions .card{background:var(--warm-paper)}.editorial-strip{background:var(--butter);padding:35px 0}.editorial-strip p{font-size:clamp(1.3rem,2.2vw,2rem);font-weight:700;letter-spacing:-.035em;margin:0}.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.project-filters button{padding:10px 18px;min-height:44px;border:1px solid var(--line);background:white;border-radius:30px}.project-filters button[aria-pressed=true]{background:var(--teal);color:white;border-color:var(--teal)}.project[hidden]{display:none}.legal-note{background:#fff2dd;padding:22px;border:1px solid #dcbd84;border-radius:12px;margin-bottom:28px}.error-page{text-align:center;padding:90px 0}.error-page h1{margin:0 auto 24px}.error-code{font-size:8rem;line-height:1;color:var(--teal);font-weight:800;letter-spacing:-.08em;display:block;margin-bottom:25px}.error-page .actions{justify-content:center}.no-results{display:none;padding:20px;background:var(--mist);border-radius:12px}.no-results.show{display:block}
@media(min-width:1600px){.hero{padding:95px 0 80px}.mosaic{height:550px}}@media(max-width:1100px){.wrap{width:calc(100% - 44px)}.nav-links{gap:13px}.nav-links>a{font-size:.75rem}.brand{font-size:1rem}.hero-grid{gap:25px}.mosaic{height:460px}.mock-hero b{font-size:2.3rem}.hero h1{font-size:3.7rem}.section{padding:80px 0}.split{gap:40px}.faq-grid{gap:45px}.nav-quote{padding:12px 16px}.grid-3{gap:18px}.card{padding:27px}}
@media(max-width:900px){.nav-row{height:76px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;padding:20px 24px 28px;background:white;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #172a3512;max-height:calc(100dvh - 76px);overflow:auto}.nav-links.open{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.nav-links>a{font-size:.95rem;padding:8px 0}.hero{padding:50px 0}.hero-grid{grid-template-columns:1fr 1fr;gap:20px}.hero h1{font-size:3rem}.mosaic{height:420px}.browser-card{width:95%;top:50px}.mock-landscape{padding:15px;min-height:225px}.mock-hero{gap:10px;margin-top:20px}.mock-hero b{font-size:2rem}.plant-art{height:130px}.mobile-card{width:42%;min-height:265px;bottom:30px;right:-7px}.mobile-card strong{font-size:1.35rem}.sun-art{height:70px}.ticket{bottom:30px;left:10px;padding:12px}.ticket b{font-size:2.1rem}.spark{font-size:4rem;top:3%}.confidence-row{font-size:.72rem;gap:15px}.section-heading{align-items:start;flex-direction:column;gap:18px}.section-heading p{max-width:60ch}.grid-3{grid-template-columns:1fr}.service-card{min-height:0}.service-card .text-link{margin-top:10px}.split,.quote-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.calculator{max-width:650px}.area-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.article-layout{grid-template-columns:1fr;gap:35px}.aside-card{position:static}.directory{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:2fr 1fr 1fr}.footer-top>div:last-child{grid-column:2/4}.process{gap:22px}.process h3{font-size:1.2rem}.quote-form{max-width:750px}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.brand{font-size:1rem}.brand-mark{width:36px;height:36px;font-size:.9rem}.brand small{font-size:.49rem}.nav-quote{font-size:.72rem;padding:11px 14px;min-height:44px}.menu-toggle{width:42px;height:42px}.hero-grid{grid-template-columns:1fr}.hero{padding-top:38px}.hero h1{font-size:clamp(2.9rem,11vw,4rem);max-width:520px}.hero .lead{font-size:1rem}.hero .eyebrow{font-size:.65rem;letter-spacing:.01em;margin-bottom:22px}.hero-price{margin-top:25px}.mosaic{height:420px;max-width:470px;width:100%;margin:10px auto 0}.browser-card{width:85%;top:35px}.mock-landscape{min-height:245px;padding:18px}.mock-hero b{font-size:2.35rem}.plant-art{height:145px}.mobile-card{width:35%;right:1%;bottom:25px;min-height:270px}.mobile-card strong{font-size:1.45rem}.mosaic:before{inset:10% 5% 8% 5%}.mosaic-caption{bottom:0;font-size:.59rem}.ticket{left:4%;bottom:34px}.spark{right:7%;top:0}.confidence-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:.72rem}.section{padding:64px 0}.grid-2,.work-grid,.inclusions{grid-template-columns:1fr}.section-heading{margin-bottom:30px}.section-heading h2{font-size:2.2rem}.card{padding:26px}.number-label{margin-bottom:25px}.area-grid{grid-template-columns:1fr 1fr}.area-feature{grid-column:1/-1}.area-link{padding:20px;min-height:70px;font-size:.9rem}.process{grid-template-columns:1fr;gap:22px}.process article:before{margin-bottom:18px}.process p{margin-bottom:0}.contact-band{padding:32px 25px;border-radius:20px}.contact-band h2{font-size:2.3rem}.contact-band .btn{width:100%}.calculator{padding:25px}.calc-total strong{font-size:2.2rem}.price-intro .big-number{font-size:5rem}.formula{gap:14px;font-size:.75rem;padding:15px}.formula strong{font-size:1.2rem}.pricing-table th,.pricing-table td{padding:13px 9px;font-size:.8rem}.pricing-table th:last-child,.pricing-table td:last-child{max-width:120px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.quote-form{padding:24px}.quote-form .btn{width:100%}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.site-footer{padding-top:40px;margin-top:45px}.page-hero{padding:30px 0 48px}.breadcrumb{margin-bottom:28px;font-size:.7rem}.page-hero h1{font-size:2.8rem}.page-hero .lead{font-size:1rem}.directory{grid-template-columns:1fr}.neighborhood{padding:22px}.directory-tools{gap:5px}.project-visual{height:210px}.project-copy{padding:25px}.error-code{font-size:6rem}.error-page{padding:60px 0}.actions .btn{padding:13px 21px}.hero .actions .btn{font-size:.88rem}.table-scroll{border-radius:12px}.page-options{gap:6px}.page-option span{height:45px}}
.contact-band .btn.primary{background:white;border-color:white;color:var(--teal-deep)}.contact-band .btn.primary:hover{background:var(--mist)}.contact-band .btn:not(.primary){color:white;border-color:#d6e9eb}.contact-band .btn:not(.primary):hover{background:white;color:var(--ink)}
.mosaic-section{overflow:hidden}.hero-price strong{white-space:nowrap}.nojs-nav{padding:15px 24px;display:none;flex-wrap:wrap;gap:14px;border-top:1px solid var(--line)}.nojs-nav a{min-height:44px;display:flex;align-items:center;font-size:.85rem}
@media(max-width:900px){.nojs-nav{display:flex}}
@media(max-width:650px){.nav-row{gap:9px}.brand{font-size:.86rem;gap:8px}.brand small{font-size:.42rem;letter-spacing:.08em}.brand-mark{width:32px;height:32px}.nav-quote{font-size:.68rem;padding:11px;white-space:nowrap}.header-actions{gap:6px}.menu-toggle{width:40px;height:40px;flex-shrink:0}.hero-price{align-items:flex-start}.hero-price strong{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.btn:hover{transform:none}}

@media(max-width:650px){.calculator a.btn[href="contact.html?pages=custom"]{font-size:clamp(10px,2.7vw,13px);min-height:44px;padding:9px 6px;white-space:nowrap;text-align:center}}

/* Consulting and Android service presentation; reuse the existing palette. */
.services-menu{position:relative;font-size:.83rem;font-weight:700}.services-menu summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:7px}.services-menu summary:after{content:'+';font-size:1rem}.services-menu[open] summary:after{content:'-'}.services-dropdown{position:absolute;top:100%;left:-18px;width:265px;padding:12px;background:white;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-soft);z-index:40}.services-dropdown a{display:block;padding:11px 12px;color:var(--ink);text-decoration:none;border-radius:8px}.services-dropdown a:hover,.services-dropdown a[aria-current]{background:var(--mist);color:var(--teal)}
.service-spotlight{display:grid;grid-template-columns:1fr 1fr;gap:28px}.spotlight-card{border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:white;display:flex;flex-direction:column}.spotlight-copy{padding:34px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.spotlight-copy h3{font-size:2rem}.spotlight-copy>.btn{margin-top:auto}.spotlight-copy .eyebrow{font-size:.68rem}.spotlight-price{color:var(--teal-deep)}.spotlight-link{margin:14px 0 0}.spotlight-link .text-link{font-size:.82rem}.focus-art{min-height:300px;background:#f8efd6;padding:30px 38px;position:relative;overflow:hidden}.focus-art:after{content:'';position:absolute;width:215px;height:215px;border:32px solid var(--butter);border-radius:50%;right:-70px;top:-80px}.focus-art>span{font-size:.7rem;letter-spacing:.14em;font-weight:700}.focus-art>div{display:flex;gap:9px;margin:22px 0}.focus-art i{width:36px;height:10px;background:var(--teal);border-radius:5px}.focus-art i:nth-child(4){background:var(--coral)}.focus-art i:nth-child(5){background:var(--butter)}.focus-art b{font-size:3.15rem;line-height:1.04;letter-spacing:-.06em;position:relative;z-index:1}.phone-art{height:300px;background:var(--mist);position:relative;display:flex;justify-content:center;overflow:hidden;padding-top:24px}.phone-art:before{content:'';position:absolute;background:#b9dfd6;width:235px;height:235px;border-radius:50%;left:12%;top:48px}.phone-frame{position:relative;width:195px;min-height:290px;border:7px solid var(--ink);border-radius:29px;background:white;padding:25px 16px 14px;transform:rotate(6deg);box-shadow:0 15px 25px #172a351c}.phone-frame:before{content:'';position:absolute;background:var(--ink);width:60px;height:10px;top:0;left:60px;border-radius:0 0 10px 10px}.phone-brand{display:block;font-size:.55rem;font-weight:800;color:var(--teal);margin-bottom:12px;letter-spacing:.1em}.phone-frame b{display:block;font-size:1.1rem;line-height:1.15;letter-spacing:-.04em}.phone-tile{height:63px;margin:15px 0;background:var(--butter);border-radius:9px 30px 9px 9px}.phone-action{display:block;font-size:.55rem;background:var(--teal);color:white;text-align:center;padding:8px;border-radius:20px}.phone-tabs{display:flex;justify-content:space-around;margin-top:18px}.phone-tabs i{width:12px;height:12px;background:var(--line);border-radius:4px}.art-caption{position:absolute;bottom:13px;left:15px;font-size:.53rem;letter-spacing:.08em;color:var(--teal-deep);background:var(--mist);padding:3px 6px}.app-intro-art{max-width:480px}.app-intro-art .phone-art{height:380px;border-radius:var(--radius-card);padding-top:45px}.app-intro-art .phone-frame{height:300px}.service-price{font-size:3rem}.service-price small{display:block;font:400 .9rem/1.5 Arial,sans-serif;letter-spacing:0;margin-top:8px}.service-steps{counter-reset:step;list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:25px}.service-steps li:before{counter-increment:step;content:counter(step,decimal-leading-zero);display:block;font-size:2.3rem;font-weight:800;color:var(--teal);margin-bottom:12px}.service-steps h3{font-size:1.3rem}.service-steps p{font-size:.9rem}.service-intake fieldset{border:1px solid var(--line);border-radius:14px;padding:20px;margin:20px 0}.service-intake legend{font-weight:700;padding:0 6px}.service-intake [hidden]{display:none!important}
@media(max-width:900px){.services-menu{width:100%}.services-dropdown{position:static;width:100%;box-shadow:none;margin-bottom:10px}.services-menu summary{padding:8px 0}.spotlight-copy{padding:26px}.spotlight-copy h3{font-size:1.65rem}.focus-art{padding:28px;min-height:280px}.focus-art b{font-size:2.7rem}.phone-art{height:280px}}
@media(max-width:650px){.service-spotlight{grid-template-columns:1fr}.spotlight-copy>.btn{width:100%;font-size:.83rem}.spotlight-copy h3{font-size:1.9rem}.service-price{font-size:2.6rem}.service-steps{grid-template-columns:1fr}.focus-art{min-height:260px}.phone-art{height:280px}.service-intake fieldset{padding:15px}}

.hero-services{padding:22px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--warm-paper)}.hero-service-grid{display:grid;grid-template-columns:1fr 1.12fr 1fr 1fr;gap:12px}.hero-service-tile{display:flex;align-items:center;gap:13px;min-height:114px;padding:24px 22px;border:1px solid transparent;border-radius:18px;text-decoration:none;color:var(--ink);transition:transform .18s ease,box-shadow .18s ease}.hero-service-tile:hover{color:var(--ink);transform:translateY(-3px);box-shadow:var(--shadow-soft)}.service-web{background:var(--teal);color:white}.service-web:hover{background:var(--teal-deep);color:white}.service-consult{background:var(--mist);border-color:#cbe6df}.service-android{background:#f8efd6;border-color:#eddfb9}.service-tile-number{align-self:flex-start;font-size:.65rem;letter-spacing:.08em;opacity:.85;padding-top:4px}.service-tile-copy{display:flex;flex-direction:column;gap:7px}.service-tile-copy strong{font-size:1.08rem;line-height:1.25;letter-spacing:-.025em}.service-tile-copy>span{font-size:.88rem;font-weight:700;line-height:1.5}.service-tile-copy small{font-size:.73rem;font-weight:400}.service-tile-arrow{display:grid;place-items:center;flex-shrink:0;margin-left:auto;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-size:1.15rem}.hero-services a:focus-visible{outline-offset:4px}
@media(max-width:1050px){.hero-service-tile{padding:20px 16px;gap:9px}.service-tile-copy strong{font-size:.95rem}.service-tile-copy small{display:block}.service-tile-arrow{width:29px;height:29px}.service-tile-number{display:none}}
@media(max-width:650px){.hero-services{padding:16px 0 20px}.hero-service-grid{grid-template-columns:1fr;gap:10px}.hero-service-tile{min-height:84px;padding:17px 20px;gap:14px;border-radius:14px}.service-tile-number{display:block}.service-tile-copy{gap:4px}.service-tile-copy strong{font-size:1rem}.service-tile-copy small{display:inline}.service-tile-arrow{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.hero-service-tile{transition:none}.hero-service-tile:hover{transform:none}}

.hero-experience{font-size:.86rem;font-weight:700;color:var(--teal-deep);margin-top:-8px}.featured-projects{display:grid;gap:34px}.featured-project{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:white}.project-screen-pair{position:relative;background:var(--mist);padding:26px 68px 40px 24px;min-width:0}.project-desktop{width:100%;height:auto;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft)}.project-mobile{position:absolute;right:18px;bottom:20px;width:23%;height:auto;border:5px solid var(--ink);border-radius:17px;box-shadow:var(--shadow-soft)}.featured-project-copy{padding:34px}.featured-project-copy h3{font-size:1.9rem}.local-project-note{padding:24px;background:var(--mist);border-radius:16px;margin-top:24px}.aside-card a,.callout a{overflow-wrap:anywhere}@media(max-width:768px){.featured-project{grid-template-columns:1fr}.featured-project-copy{padding:25px}.project-screen-pair{padding:22px 60px 38px 20px}.project-mobile{max-height:230px;width:auto}.hero-experience{font-size:.8rem}}

/* Default-on Google Analytics notice with opt-out. */
.consent-banner{position:fixed;right:16px;bottom:16px;z-index:80;width:min(610px,calc(100vw - 32px));}
.consent-banner[hidden]{display:none!important}
.consent-banner-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 24px;padding:24px;background:white;border:1px solid var(--line);border-top:5px solid var(--teal);border-radius:18px;box-shadow:0 18px 48px #172a3530}
.consent-banner-copy h2{font-size:1.35rem;margin:8px 0 10px}
.consent-banner-copy p{font-size:.84rem;line-height:1.55;color:var(--ink-muted);margin:0;max-width:58ch}
.consent-banner-copy .tag{display:inline-block;padding:5px 10px;background:var(--mist);border-radius:30px;color:var(--teal-deep);font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.consent-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}
.consent-actions .btn{min-height:44px;padding:10px 16px;font-size:.82rem}
.consent-reject{min-height:44px;padding:10px 12px;background:white;border:0;color:var(--ink-muted);font-size:.82rem;text-decoration:underline;text-underline-offset:3px}
.consent-note{grid-column:1/-1;margin:0;color:var(--ink-muted);font-size:.72rem;line-height:1.45}
.consent-settings{padding:0;border:0;background:transparent;color:var(--teal);font:inherit;font-size:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.consent-settings:hover{color:var(--teal-deep)}
@media(max-width:650px){.consent-banner{right:12px;bottom:12px;width:calc(100vw - 24px)}.consent-banner-card{grid-template-columns:1fr;gap:12px;padding:19px;border-radius:16px}.consent-banner-copy h2{font-size:1.18rem}.consent-actions{justify-content:flex-end;gap:12px}.consent-actions .btn{min-height:42px;padding:9px 14px}.consent-note{grid-column:auto}}

/* Four compact service cards on desktop; readable stacked cards on phones. */
.hero-service-tile{min-height:96px;padding:18px 14px;gap:8px}.service-tile-copy strong{font-size:.94rem}.service-tile-copy>span{font-size:.8rem}.service-tile-copy small{font-size:.66rem}.service-tile-arrow{width:28px;height:28px;font-size:1rem}.service-ai{background:#edf0fa;border-color:#d8dfef}.ai-rate{margin-top:24px}.ai-rate strong{color:var(--teal-deep)}
@media(min-width:901px){.service-tile-copy strong{white-space:nowrap}.service-tile-number{display:none}}
@media(min-width:651px) and (max-width:900px){.hero-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.hero-service-tile{min-height:84px;padding:17px 20px;gap:14px}.service-tile-copy strong{font-size:1rem}.service-tile-copy small{font-size:.73rem}.service-tile-arrow{width:32px;height:32px}}
