/* High Desert Vent Care: shared stylesheet. No frameworks, no heavy assets. */
:root{
  --pine:#1e3a2a;
  --pine-deep:#122619;
  --pine-soft:#2c5240;
  --sand:#f6f0e0;
  --sand-dark:#eadfc4;
  --cream:#fffdf6;
  --rust:#b4532a;
  --rust-dark:#94421f;
  --ink:#26302a;
  --ink-soft:#4c5a52;
  --line:#ddd2b8;
  --radius:14px;
  --shadow:0 10px 30px rgba(18,38,25,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
  font-size:17px;
}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--pine-deep);line-height:1.2;margin:0 0 .5em}
h1{font-size:2.15rem}
h2{font-size:1.55rem;margin-top:1.4em}
h3{font-size:1.15rem}
p{margin:0 0 1em}
a{color:var(--rust-dark);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--rust)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.small{font-size:.88rem}
.muted{color:var(--ink-soft)}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--pine-deep);
  border-bottom:3px solid var(--rust);
}
.site-header .wrap{display:flex;align-items:center;gap:18px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--cream)}
.brand svg{flex:none}
.brand .brand-name{font-family:Georgia,serif;font-size:1.25rem;font-weight:700;letter-spacing:.2px;color:var(--cream);line-height:1.1}
.brand .brand-sub{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sand-dark)}
.main-nav{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap}
.main-nav a{color:var(--sand);text-decoration:none;font-size:.95rem;font-weight:600}
.main-nav a:hover{color:#fff;text-decoration:underline}
.header-cta{display:flex;align-items:center;gap:12px;margin-left:8px}
.header-phone{color:var(--cream);font-weight:700;text-decoration:none;white-space:nowrap}
.btn{
  display:inline-block;background:var(--rust);color:#fff !important;
  padding:11px 20px;border-radius:999px;font-weight:700;text-decoration:none !important;
  border:0;cursor:pointer;font-size:1rem;line-height:1.2;text-align:center;
}
.btn:hover{background:var(--rust-dark)}
.btn.secondary{background:var(--pine);color:var(--cream) !important}
.btn.secondary:hover{background:var(--pine-soft)}

/* Hero */
.hero{background:linear-gradient(160deg,var(--pine) 0%,var(--pine-deep) 78%);color:var(--sand);padding:44px 0 52px}
.hero h1{color:#fff}
.hero p{color:var(--sand)}
.hero .eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;font-weight:700;color:var(--sand-dark);margin-bottom:10px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:start}
.hero-points{list-style:none;margin:18px 0;padding:0}
.hero-points li{padding:6px 0 6px 30px;position:relative}
.hero-points li::before{content:"";position:absolute;left:0;top:11px;width:16px;height:9px;border-left:3px solid var(--rust);border-bottom:3px solid var(--rust);transform:rotate(-45deg)}
.price-anchor{background:rgba(255,253,246,.08);border:1px solid rgba(246,240,224,.35);border-radius:var(--radius);padding:14px 18px;margin-top:16px}
.price-anchor strong{color:#fff;font-size:1.2rem}

/* Form card */
.form-card{background:var(--cream);color:var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.form-card h2,.form-card h3{margin-top:0;color:var(--pine-deep)}
.form-card label{display:block;font-weight:600;font-size:.92rem;margin:12px 0 5px}
.form-card input,.form-card select,.form-card textarea{
  width:100%;padding:11px 12px;border:1.5px solid var(--line);border-radius:9px;
  font:inherit;font-size:1rem;background:#fff;color:var(--ink);
}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:3px solid rgba(180,83,42,.35);border-color:var(--rust)}
.form-card .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-card .field-error{border-color:#b3261e !important;background:#fdf3f2}
.error-msg{color:#b3261e;font-size:.85rem;margin-top:4px;display:none}
.error-msg.show{display:block}
.form-card .btn{width:100%;margin-top:18px;font-size:1.05rem;padding:14px}
.privacy-note{font-size:.8rem;color:var(--ink-soft);margin-top:12px}
.form-success{display:none;text-align:center;padding:18px 6px}
.form-success.show{display:block}
.form-success .check{width:58px;height:58px;border-radius:50%;background:var(--pine);margin:0 auto 14px;display:flex;align-items:center;justify-content:center}
.units-field{display:none}
.units-field.show{display:block}

/* Sections */
.section{padding:44px 0}
.section.alt{background:var(--sand)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.card h3{margin-top:0}
.card svg{margin-bottom:10px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:step;margin-top:20px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.step .num{display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--rust);color:#fff;font-weight:700;align-items:center;justify-content:center;margin-bottom:10px}
.area-list{columns:3;column-gap:28px;list-style:none;padding:0;margin:14px 0}
.area-list li{padding:4px 0;break-inside:avoid}
.area-list a{font-weight:600}
table.price-table{width:100%;border-collapse:collapse;margin:16px 0;background:#fff}
table.price-table th,table.price-table td{border:1px solid var(--line);padding:11px 13px;text-align:left;vertical-align:top}
table.price-table th{background:var(--pine);color:var(--cream)}
.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:10px}
.faq summary{font-weight:700;cursor:pointer;color:var(--pine-deep)}
.faq details p{margin-top:8px}
.callout{border-left:5px solid var(--rust);background:var(--sand);padding:16px 20px;border-radius:0 var(--radius) var(--radius) 0;margin:22px 0}
.town-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.town-links a{background:#fff;border:1.5px solid var(--pine-soft);color:var(--pine-deep);border-radius:999px;padding:6px 14px;text-decoration:none;font-weight:600;font-size:.9rem}
.town-links a:hover{background:var(--pine);color:#fff}
.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.checklist{list-style:none;padding:0;margin:0 0 1em}
.checklist li{padding:5px 0 5px 28px;position:relative}
.checklist li::before{content:"";position:absolute;left:2px;top:10px;width:14px;height:8px;border-left:3px solid var(--pine-soft);border-bottom:3px solid var(--pine-soft);transform:rotate(-45deg)}

/* Footer */
.site-footer{background:var(--pine-deep);color:var(--sand);padding:38px 0 30px;margin-top:0}
.site-footer a{color:var(--sand)}
.site-footer .cols{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}
.site-footer h3{color:#fff;font-size:1.05rem}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{padding:3px 0}
.disclosure{border-top:1px solid rgba(246,240,224,.25);margin-top:26px;padding-top:18px;font-size:.85rem;color:var(--sand-dark)}

@media (max-width:900px){
  .hero-grid,.split{grid-template-columns:1fr}
  .cards,.steps{grid-template-columns:1fr}
  .area-list{columns:2}
  .site-footer .cols{grid-template-columns:1fr}
  .main-nav{margin-left:0}
}
@media (max-width:560px){
  .form-card .row{grid-template-columns:1fr}
  .area-list{columns:1}
  h1{font-size:1.8rem}
  .header-phone{display:none}
}
