/* State pages: ZIP answer box, "Next" link, not-served page, building types page and state index.
   Uses the colors defined in state-pages/styles.css (:root). */
.zip-check{margin:4px 0 26px;padding:18px 20px;background:#f2f5f8;border:1px solid var(--line);border-radius:6px;max-width:460px}
.zip-check label{display:block;font-weight:700;color:var(--ink);margin-bottom:8px}
.zip-row{display:flex;gap:10px}
.zip-row input{flex:1;min-width:0;min-height:50px;padding:10px 14px;border:1px solid #9baab8;border-radius:4px;font:inherit;font-size:18px;letter-spacing:1px}
.zip-row input:focus-visible{outline:3px solid #225eab;outline-offset:2px}
.zip-row .btn{min-height:50px;padding-inline:22px;cursor:pointer}
.zip-row .btn[disabled]{opacity:.6;cursor:wait}
.zip-result{margin:12px 0 0;font-size:17px;font-weight:600;color:var(--ink);min-height:1.5em}
.zip-result:empty{display:none}
.zip-result[data-tone="yes"]{color:var(--green)}
.zip-result[data-tone="no"]{color:var(--red)}
.zip-result[data-tone="check"],.zip-result[data-tone="warn"]{color:#7a4b00}
.zip-result a{color:inherit}
.next-step{padding-top:10px;padding-bottom:70px}
.next-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 30px;background:var(--navy);color:#fff;border-radius:6px;font-size:22px;font-weight:700;text-decoration:none}
.next-link:hover{background:var(--ink)}
.next-link span{font-size:26px}
.not-served{padding-bottom:90px}
.not-served-copy{max-width:640px;padding-top:30px}
.not-served-copy p{font-size:20px;color:var(--muted);margin:18px 0 0}
.not-served-copy .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.not-served-phone a{color:var(--navy);font-weight:700}
.types-hero{padding-bottom:40px}
.types-hero h1{margin-top:20px}
.types-intro{font-size:20px;color:var(--muted);max-width:700px;margin-top:18px}
.choose-cta{background:var(--canvas);text-align:center;padding-block:70px}
.choose-cta p{font-size:19px;color:var(--muted);margin:14px auto 28px;max-width:560px}
.choose-cta .btn{font-size:19px;padding:16px 32px}
.state-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px 24px}
.state-list a{display:block;padding:10px 0;border-bottom:1px solid var(--line);color:var(--navy);font-weight:600;text-decoration:none}
.state-list a:hover{text-decoration:underline}
.state-list .not-yet{display:block;font-size:14px;font-weight:400;color:var(--muted)}
@media(max-width:1000px){.state-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.state-list{grid-template-columns:repeat(2,1fr)}.next-link{font-size:19px;padding:22px}.zip-row{flex-wrap:wrap}.zip-row .btn{flex:1}}
