:root{--bg:#f5f7f6;--card:#ffffff;--ink:#14211c;--muted:#5b6b63;--accent:#0f766e;--border:#dde4e0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}main{max-width:760px;margin:0 auto;padding:2.5rem 1.25rem 4rem}h1{font-size:1.75rem;margin:0 0 .25rem}.lede{color:var(--muted);margin:0 0 2rem}.brand-header{margin:0 0 1rem}.brand-logo{display:block;max-height:48px;width:auto}.brand-wordmark{margin:0;font-weight:700;font-size:1.05rem;letter-spacing:.01em;color:var(--accent)}.grid{display:grid;grid-template-columns:1fr;grid-gap:1.5rem;gap:1.5rem}@media (min-width:720px){.grid{grid-template-columns:1fr 1fr}}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}label{display:block;font-weight:600;margin:0 0 .35rem;font-size:.9rem}.field+.field{margin-top:1.1rem}input,select{width:100%;padding:.6rem .7rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:#fff;color:var(--ink)}.checkbox-field label{display:flex;align-items:center;gap:.5rem;font-weight:500;margin:0}.checkbox-field input{width:auto;margin:0}.note{color:var(--muted);font-size:.85rem;margin:.4rem 0 0}.badge{display:inline-block;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;margin-left:.5rem;vertical-align:middle}.headline{font-size:2.25rem;font-weight:800;margin:.25rem 0 0;color:var(--accent)}.headline-caption{color:var(--muted);font-size:.85rem;margin:0}.line-items{list-style:none;margin:1.25rem 0 0;padding:0}.line-items li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.totals{margin-top:1rem;font-size:.9rem}.totals div{display:flex;justify-content:space-between;padding:.2rem 0}.totals .grand{font-weight:700;font-size:1rem;border-top:1px solid var(--border);margin-top:.3rem;padding-top:.5rem}.possible-extras{margin-top:1.25rem;padding:.9rem 1rem;background:#f7f3e9;border:1px solid #e6ddc6;border-radius:8px}.possible-extras .line-items{margin-top:.5rem}.possible-extras-heading{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:#8a6d1f;margin:0}.manual-review{margin-top:1rem;font-size:.95rem}.survey-caveats{margin-top:1.25rem;padding:.9rem 1rem;background:#f7f3e9;border:1px solid #e6ddc6;border-radius:8px}.survey-caveat{margin:0;font-size:.9rem;color:#6b5518}.survey-caveat+.survey-caveat{margin-top:.5rem}.photo-capture{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.photo-heading{font-size:1rem;margin:0 0 .25rem}.photo-field input[type=file]{padding:.4rem;font-size:.85rem;background:var(--bg)}.photo-error{color:#b00020;font-size:.85rem}.disclaimer{color:var(--muted);font-size:.78rem;margin-top:1.5rem}.analyzing{margin:.75rem 0 0;font-size:.9rem;font-weight:600;color:var(--accent)}.analyze-notice,.heic-note{color:var(--muted)}.estimate-prompt{display:flex;flex-direction:column;gap:.75rem}.estimate-prompt .headline-caption{font-size:1.1rem;font-weight:700;color:var(--accent)}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.reveal-cta{margin-top:.25rem;padding:.7rem 1rem;font-size:.95rem;font-weight:700;color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer}.reveal-cta:disabled{opacity:.6;cursor:progress}.reveal-error{color:#b00020;font-size:.85rem;margin:0}.tier2{margin-top:1.5rem}.tier2 .photo-capture{margin-top:1.25rem}.tier2-success{margin:.5rem 0 0;padding:.75rem 1rem;border-radius:8px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink);font-size:.9rem}.home{--h-green:#0f766e;--h-green-dark:color-mix(in srgb,var(--h-green) 82%,#000);--h-pale:color-mix(in srgb,var(--h-green) 7%,#fff);--h-pale-border:color-mix(in srgb,var(--h-green) 16%,#fff);--h-ink:#101828;--h-muted:#667085;--h-grey-border:#e7e9ec;--h-ink-deep:#0b1f1b;max-width:none;margin:0;padding:0;color:var(--h-ink);background:#fff}.home a{text-decoration:none;color:inherit}.home-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.85rem 1.8rem;border-radius:999px;background:var(--h-green);color:#fff;font-size:1rem;font-weight:700;box-shadow:0 6px 16px color-mix(in srgb,var(--h-green) 26%,transparent);transition:background .15s ease,transform .1s ease,box-shadow .15s ease}.home-btn:hover{background:var(--h-green-dark)}.home-btn:active{transform:scale(.98)}.home-btn.is-ghost{background:#fff;color:var(--h-ink);border:1.5px solid var(--h-grey-border);box-shadow:none}.home-btn.is-ghost:hover{border-color:var(--h-green);color:var(--h-green);background:#fff}.home-btn.is-light{background:#fff;color:var(--h-ink-deep);box-shadow:0 6px 18px rgba(0,0,0,.18)}.home-btn.is-light:hover{background:var(--h-pale)}.home-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1080px;margin:0 auto;padding:1.25rem 1.5rem}.home-brand{display:inline-flex;align-items:center;gap:.55rem;font-weight:800;font-size:1.1rem;letter-spacing:-.02em;color:var(--h-ink)}.home-brand-dot{width:11px;height:11px;border-radius:999px;background:var(--h-green);flex:none}.home-nav-links{display:flex;align-items:center;gap:1.6rem;font-size:.92rem;font-weight:600;color:var(--h-muted)}.home-nav-links a:hover{color:var(--h-ink)}@media (max-width:560px){.home-nav-links a:first-child{display:none}}.home-hero{max-width:780px;margin:0 auto;padding:3.5rem 1.5rem 3rem;text-align:center}.home-eyebrow{display:inline-block;margin:0 0 1.1rem;padding:.35rem .85rem;border-radius:999px;background:var(--h-pale);border:1px solid var(--h-pale-border);color:var(--h-green);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.home-eyebrow.is-light{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:color-mix(in srgb,var(--h-green) 30%,#fff)}.home-hero-title{font-size:clamp(2.1rem,6vw,3.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.08;margin:0 0 1.1rem;color:var(--h-ink)}.home-hero-title span{color:var(--h-green)}.home-hero-lede{max-width:560px;margin:0 auto 1.9rem;font-size:clamp(1.02rem,2.5vw,1.18rem);color:var(--h-muted);line-height:1.55}.home-hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.home-hero-meta{margin:1.4rem 0 0;font-size:.85rem;color:var(--h-muted)}.home-section-title{font-size:clamp(1.5rem,4vw,2rem);font-weight:800;letter-spacing:-.02em;margin:0;color:var(--h-ink)}.home-section-head{max-width:620px;margin:0 auto 2.2rem;text-align:center}.home-section-sub{margin:.7rem 0 0;color:var(--h-muted);font-size:1.02rem;line-height:1.5}.home-steps{max-width:1080px;margin:0 auto;padding:2.5rem 1.5rem}.home-steps .home-section-title{text-align:center;margin-bottom:2.2rem}.home-steps-grid{list-style:none;margin:0;padding:0;display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:1fr}@media (min-width:720px){.home-steps-grid{grid-template-columns:repeat(3,1fr)}}.home-step{padding:1.6rem 1.5rem;border:1px solid var(--h-grey-border);border-radius:20px;background:#fff}.home-step-num{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:1rem;border-radius:999px;background:var(--h-pale);border:1px solid var(--h-pale-border);color:var(--h-green);font-weight:800;font-size:1.05rem}.home-step h3{margin:0 0 .45rem;font-size:1.1rem;font-weight:700;letter-spacing:-.01em}.home-step p{margin:0;color:var(--h-muted);font-size:.95rem;line-height:1.5}.home-directory{max-width:1080px;margin:0 auto;padding:2.5rem 1.5rem 3.5rem}.home-installer-grid{list-style:none;margin:0;padding:0;display:grid;grid-gap:1.1rem;gap:1.1rem;grid-template-columns:1fr}@media (min-width:640px){.home-installer-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:940px){.home-installer-grid{grid-template-columns:repeat(3,1fr)}}.home-installer-card{--card-accent:var(--h-green);display:flex;flex-direction:column;height:100%;padding:1.5rem;border:1px solid var(--h-grey-border);border-radius:20px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .12s ease}.home-installer-card:hover{border-color:color-mix(in srgb,var(--card-accent) 45%,var(--h-grey-border));box-shadow:0 14px 32px color-mix(in srgb,var(--card-accent) 14%,transparent);transform:translateY(-2px)}.home-installer-swatch{width:40px;height:40px;margin-bottom:1rem;border-radius:12px;background:color-mix(in srgb,var(--card-accent) 88%,#fff);box-shadow:0 4px 12px color-mix(in srgb,var(--card-accent) 30%,transparent)}.home-installer-name{font-size:1.15rem;font-weight:800;letter-spacing:-.01em;color:var(--h-ink)}.home-installer-intro{margin:.5rem 0 1.2rem;color:var(--h-muted);font-size:.92rem;line-height:1.5;flex:1 1}.home-installer-cta{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.95rem;color:var(--card-accent)}.home-installer-cta svg{width:18px;height:18px;transition:transform .15s ease}.home-installer-card:hover .home-installer-cta svg{transform:translateX(3px)}.home-pitch{background:var(--h-ink-deep);background-image:radial-gradient(120% 100% at 50% 0,color-mix(in srgb,var(--h-green) 30%,var(--h-ink-deep)),var(--h-ink-deep) 60%);color:#fff}.home-pitch-inner{max-width:1000px;margin:0 auto;padding:4rem 1.5rem;text-align:center}.home-pitch-title{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:800;letter-spacing:-.02em;margin:0 0 1rem;color:#fff}.home-pitch-lede{max-width:620px;margin:0 auto 2.5rem;font-size:clamp(1rem,2.5vw,1.15rem);line-height:1.55;color:rgba(255,255,255,.75)}.home-benefit-grid{list-style:none;margin:0 0 2.75rem;padding:0;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:1fr;text-align:left}@media (min-width:720px){.home-benefit-grid{grid-template-columns:repeat(2,1fr)}}.home-benefit{padding:1.4rem 1.5rem;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.home-benefit h3{margin:0 0 .4rem;font-size:1.05rem;font-weight:700;color:#fff}.home-benefit p{margin:0;font-size:.92rem;line-height:1.5;color:rgba(255,255,255,.72)}.home-pitch-cta{display:flex;flex-direction:column;align-items:center;gap:.85rem}.home-pitch-cta-note{font-size:.88rem;color:rgba(255,255,255,.6)}.home-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;max-width:1080px;margin:0 auto;padding:2rem 1.5rem;color:var(--h-muted);font-size:.9rem}.home-footer .home-brand{color:var(--h-ink)}