/* DFW Cooling Pros — shared stylesheet (2026-09-26 overhaul) */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#faf9f7;
  --ink:#1c1c1c;
  --teal:#12303f;
  --teal-ink:#f5f2ea;
  --amber:#e8a13c;
  --line:#e5e0d5;
  --card:#ffffff;
  --muted:#675f53;
  --link:#7d5410;
  --sub:#cfd8dc;
  --soft:#f5f2ea;
  /* type scale: major third (1.25) on a 1rem base */
  --h3:1.25rem;
  --h2:1.563rem;
  --h1:1.953rem;
}
html{scroll-behavior:smooth}
body{font-family:Georgia,'Times New Roman',serif;color:var(--ink);line-height:1.7;background:var(--bg)}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}

/* accessibility */
.skip{position:absolute;left:-9999px;top:0;background:var(--amber);color:var(--teal);
  padding:10px 16px;font-family:Arial,Helvetica,sans-serif;font-weight:bold;z-index:100;text-decoration:none}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}

/* links */
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--ink);text-decoration-thickness:2px}

/* top bar */
.topbar{background:var(--teal);border-bottom:1px solid rgba(255,255,255,.14)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px 20px;
  padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.brand{color:var(--teal-ink);font-family:Arial,Helvetica,sans-serif;font-weight:bold;
  text-decoration:none;font-size:1.05rem;letter-spacing:.02em}
.brand .mark{color:var(--amber);margin-right:6px}
nav.site{display:flex;gap:6px 18px;flex-wrap:wrap}
nav.site a{color:var(--sub);text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-size:.9rem}
nav.site a:hover{color:#fff;text-decoration:underline}
nav.site a[aria-current="page"]{color:#fff;text-decoration:underline}

/* header */
header{background:var(--teal);color:var(--teal-ink);padding:56px 0 48px}
header.compact{padding:32px 0 28px}
header h1{font-size:clamp(1.65rem,4.5vw,var(--h1));line-height:1.25;margin:10px 0 12px;font-weight:bold}
header.compact h1{font-size:clamp(1.4rem,3.5vw,1.7rem)}
header p.sub{font-size:1.1rem;color:var(--sub);max-width:620px;margin:0}
nav.breadcrumb{font-size:.85rem;color:var(--sub);font-family:Arial,Helvetica,sans-serif;margin-bottom:4px}
nav.breadcrumb a{color:var(--amber)}
nav.breadcrumb a:hover{color:#fff}

/* main */
main section{padding:36px 0;border-bottom:1px solid var(--line)}
main section:last-child{border-bottom:none}
h2{font-size:var(--h2);margin-bottom:14px;color:var(--teal);line-height:1.35}
h3{font-size:var(--h3);margin:18px 0 8px;color:var(--teal)}
p,li{font-size:1.02rem;margin-bottom:10px}
ul,ol{padding-left:22px}

/* cards and notes */
.note{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px;margin:14px 0}
.note h3{margin:0 0 6px;font-size:1.1rem;font-family:Arial,Helvetica,sans-serif}
.note p:last-child{margin-bottom:0}
.guide-list{display:grid;gap:12px;margin:14px 0}
.guide-list a.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:8px;
  padding:16px 18px;text-decoration:none}
.guide-list a.card:hover{border-color:var(--amber)}
.guide-list a.card strong{font-family:Arial,Helvetica,sans-serif;font-size:1.05rem;display:block;margin-bottom:4px}
.guide-list a.card span{color:var(--muted);font-size:.95rem}

/* faq */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin:10px 0}
.faq summary{font-weight:bold;cursor:pointer;font-family:Arial,Helvetica,sans-serif;font-size:.98rem;
  list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::marker{content:""}
.faq summary::after{content:"+";color:var(--link);font-size:1.25rem;line-height:1;flex:none;font-weight:bold}
.faq details[open] summary::after{content:"\2212"}
.faq details p:last-child{margin-bottom:0}

/* cta */
.cta{display:inline-block;background:var(--amber);color:var(--teal);padding:12px 24px;border-radius:6px;
  text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-weight:bold;margin-top:14px}
.cta:hover{background:#d18f2b;color:var(--teal)}

/* tables */
.table-wrap{overflow-x:auto;margin:14px 0;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:480px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
th{font-family:Arial,Helvetica,sans-serif;background:var(--soft);color:var(--teal);white-space:nowrap}

/* fine print */
.fine{color:var(--muted);font-size:.9rem}
.sources{color:var(--muted);font-size:.85rem;font-family:Arial,Helvetica,sans-serif}
.sources li{margin-bottom:6px;font-size:.85rem}

/* suburb link lists */
.link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px 16px;
  list-style:none;padding:0;margin:12px 0}
.link-grid li{margin:0}
.link-grid a{font-family:Arial,Helvetica,sans-serif;font-size:.95rem}

/* footer */
footer{padding:28px 0;color:var(--muted);font-size:.85rem;font-family:Arial,Helvetica,sans-serif}
footer p{margin-bottom:8px;font-size:.85rem}
footer a{color:var(--link)}
footer a:hover{color:var(--ink)}
footer .fine-print{margin-top:10px}

@media (max-width:640px){
  header{padding:36px 0 30px}
  header.compact{padding:24px 0 20px}
  main section{padding:28px 0}
  .topbar .wrap{gap:6px 14px}
  nav.site{gap:4px 14px}
}
