/* Honest HVAC Company brand layer.
   The base engine (styles.css) is DD's dark, conversion-focused design and its
   :root also carries the FONT stacks (--display, --cond, --body). Only the
   accent colours are re-mapped here. Do not redefine --display / --cond /
   --body: they are font families, not colours. */
:root{
  /* brand accents, taken from the real logo (assets/img/brand/logo.png):
     cyan = cooling, red = heating */
  --green:#12b5e8;                      /* primary action */
  --green-d:#0b93bd;
  --green-soft:rgba(18,181,232,.14);
  --orange:#ff4438;                     /* heating / urgency */
  --orange-d:#d92f24;
}

/* --- additions for this build (classes the base engine does not define) --- */
.skip{position:absolute;left:-9999px;top:0;background:var(--green);color:#04222c;
  padding:10px 14px;z-index:300;font-weight:700;border-radius:0 0 8px 0}
.skip:focus{left:0;top:0}

.ab{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-top:14px}
.ab h4{margin:0 0 10px;font-size:1.05rem;color:var(--ink)}
.ab p{margin:6px 0;font-size:.94rem;color:var(--muted)}
.ab .nap{line-height:1.7}
.ab a{color:var(--green);text-decoration:none}
.ab a:hover{text-decoration:underline}

/* Mobile call bar: the phone is the primary conversion path on this site. */
.callbar{display:none}
@media (max-width:760px){
  .callbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:120;
    background:var(--green);box-shadow:0 -6px 20px rgba(0,0,0,.45)}
  .callbar a{display:flex;align-items:center;justify-content:center;gap:9px;
    padding:15px 12px;color:#04222c;font-weight:800;text-decoration:none;font-size:1.05rem}
  body{padding-bottom:64px}
}

/* Long service-area lists stay readable and tappable */
.areas{display:flex;flex-wrap:wrap;gap:9px}
.areas a{display:inline-block;padding:9px 14px;background:var(--bg3);
  border:1px solid var(--line);border-radius:999px;font-size:.92rem;
  text-decoration:none;color:var(--ink);line-height:1.2}
.areas a:hover{background:var(--green-soft);border-color:var(--green);color:var(--green)}

/* Long headlines must not collide: the engine's .98 line-height is tuned for
   two or three short display words, and these headlines run longer. */
h1,h2,h3{line-height:1.06}
.hero h1{font-size:clamp(34px,6.2vw,74px);line-height:1.02;max-width:17ch}
.subhero h1{font-size:clamp(28px,4.6vw,52px);line-height:1.07}
.sec-head .title,.ctaband .title{line-height:1.08}

/* Readable long-form body copy on the rebuilt pages */
.prose{max-width:72ch}
.prose h2{margin:1.7em 0 .5em;font-size:clamp(21px,2.5vw,30px);line-height:1.12;color:var(--ink)}
.prose p{margin:0 0 1.05em;color:var(--muted);font-size:1.02rem;line-height:1.75}
.prose a{color:var(--green)}

.qa{border-bottom:1px solid var(--line);padding:18px 0}
.qa h3{font-size:1.05rem;margin-bottom:8px;color:var(--ink);text-transform:none;line-height:1.3}
.qa p{color:var(--muted)}

/* the header is position:fixed, so the first element on a subpage must clear it */
.crumbs{padding:104px 0 14px;font-size:.88rem;color:var(--muted2)}
@media (max-width:760px){.crumbs{padding:86px 0 12px;font-size:.8rem}}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--green)}
.crumbs i{font-style:normal;margin:0 8px;color:var(--muted2)}

.twocol{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:38px;align-items:start}
@media (max-width:900px){.twocol{grid-template-columns:1fr;gap:26px}}

.fineprint{color:var(--muted2);font-size:.83rem;line-height:1.6}
.center{text-align:center}
.row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:18px}

/* Never let a wide element scroll the whole page sideways */
img{max-width:100%;height:auto}
