/* AV Boost — Connecticut town/county landing pages (generated by build_towns.py).
   Loads AFTER assets/avb-core.css (the homepage design system) and only adds
   layout for the pieces the homepage doesn't have: breadcrumbs, fact strip,
   link grids, the audit form. Uses the homepage tokens so light/dark both work. */

.t-hero{padding:clamp(56px,8vw,112px) 0 clamp(36px,5vw,64px)}
.t-hero h1{font-stretch:115%;font-size:clamp(2.2rem,5.6vw,4.2rem);line-height:1.02;margin:16px 0 18px;max-width:20ch}
.t-hero .lead{max-width:60ch}
.t-hero .cta-row{margin-top:30px}
.crumbs{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:14px;display:flex;flex-wrap:wrap;gap:8px}
.crumbs a{color:var(--dim);text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.crumbs span[aria-hidden]{color:var(--gold)}
.t-sec{padding:clamp(44px,6vw,84px) 0}
.t-sec .sec-head{margin-bottom:clamp(24px,3.6vw,40px)}
.t-sec h2{font-size:clamp(1.6rem,3.4vw,2.5rem)}
.t-prose{max-width:68ch}
.t-prose p+p{margin-top:1.05em}
.t-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:34px}
.t-fact{border:1px solid var(--line);border-radius:var(--r-sm);background:linear-gradient(var(--glass-a),var(--glass-b));padding:16px 18px}
.t-fact .mono{display:block;color:var(--dim);margin-bottom:6px}
.t-fact b{color:var(--ink);font-weight:600}
.t-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;list-style:none}
.t-grid a{display:flex;flex-direction:column;gap:2px;height:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;background:linear-gradient(var(--glass-a),var(--glass-b));text-decoration:none!important;transition:border-color .2s,transform .2s}
.t-grid a:hover{border-color:var(--flare);transform:translateY(-2px)}
.t-grid a strong{color:var(--ink);font-weight:620}
.t-grid a span{font-size:.86rem;color:var(--dim)}
.t-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.t-chips li,.t-chips a{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:.92rem;color:var(--body);background:rgba(var(--tint-rgb),.05);text-decoration:none!important}
.t-chips a:hover{border-color:var(--flare);color:var(--ink)}
.t-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,56px)}
.t-county-block + .t-county-block{margin-top:clamp(30px,4vw,52px)}
.t-county-block h3{font-size:1.25rem;margin-bottom:14px}

/* phone line */
.t-phone{display:inline-flex;align-items:center;gap:10px;font-weight:650;color:var(--ink)}
.t-phone svg{color:var(--flare)}
.t-phone:hover{color:var(--accent-text)}

/* audit form */
.t-form-wrap{border:1px solid var(--line-2);border-radius:var(--r);background:linear-gradient(var(--glass-a),var(--glass-b));box-shadow:var(--sh-card);padding:clamp(22px,4vw,44px);display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,54px);align-items:start}
.t-form-wrap h2{margin-top:10px}
.t-form-wrap ul{list-style:none;margin-top:18px;display:grid;gap:9px}
.t-form-wrap li{padding-left:22px;position:relative}
.t-form-wrap li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:2px;transform:rotate(45deg);background:var(--apex-grad)}
.t-form{display:grid;gap:14px}
.t-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.t-form label{display:grid;gap:6px;font-size:.88rem;color:var(--dim);font-weight:560}
.t-form input,.t-form select{width:100%;min-height:48px;border-radius:12px;border:1px solid var(--line-2);background:rgba(var(--inset-rgb),.5);color:var(--ink);padding:10px 14px;font:inherit;font-size:1rem}
.t-form input::placeholder{color:var(--dim);opacity:.8}
.t-form input:focus-visible,.t-form select:focus-visible{outline:2px solid var(--flare-soft);outline-offset:2px;border-color:var(--flare)}
.t-form .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.t-form .fine{font-size:.82rem;color:var(--dim)}
.t-form .err{display:none;color:#ff8a8a;font-size:.92rem}
[data-theme="light"] .t-form .err{color:#b42318}
.t-form-ok{display:none;padding:10px 4px}
.t-form-ok.show{display:block}
.t-form-ok h3{font-size:1.5rem;margin-bottom:8px}

@media (max-width:860px){
  .t-two,.t-form-wrap{grid-template-columns:1fr}
  .t-form .row{grid-template-columns:1fr}
  .t-hero h1{max-width:none}
}
