/* ComfortWorks PA — design system
   Palette: deep navy #10263B · heat orange #F0662B · ice blue #5FB6E0
   Type: Barlow Semi Condensed (display) · Public Sans (body)
   Signature: the "temp split" — an ice→heat gradient rule, and temperature dots. */

:root{
  --navy:#10263B; --navy2:#1B3A57; --ink:#22384C; --body:#41566B;
  --orange:#F0662B; --orange-d:#D5541D; --ice:#5FB6E0; --ice-l:#EAF5FC;
  --bg:#FAFBFC; --card:#FFFFFF; --line:#E2E9F0; --alt:#F2F6F9;
  --grad:linear-gradient(90deg,var(--ice),var(--orange));
  --r:12px; --shadow:0 2px 10px rgba(16,38,59,.08);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Public Sans',system-ui,sans-serif;color:var(--body);background:var(--bg);line-height:1.65;font-size:16.5px;padding-bottom:64px}
h1,h2,h3,h4,.brand-text,.foot-brand{font-family:'Barlow Semi Condensed',sans-serif;color:var(--ink);line-height:1.15;letter-spacing:.2px}
h1{font-size:2rem;font-weight:800}
h2{font-size:1.45rem;font-weight:700;margin-bottom:.6rem}
h3{font-size:1.12rem;font-weight:700}
p{margin-bottom:1rem}
a{color:var(--orange-d);text-decoration:none}
a:hover{text-decoration:underline}
img,svg{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:780px}

/* signature: temp split rule */
.temp-rule{height:4px;background:var(--grad)}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:baseline}
.dot-cool{background:var(--ice)}
.dot-heat{background:var(--orange)}
.dot-air{background:linear-gradient(135deg,var(--ice) 50%,var(--orange) 50%)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:18px;height:64px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none}
.brand:hover{text-decoration:none}
.mark{width:34px;height:34px;flex:0 0 auto}
.brand-text{font-size:1.28rem;font-weight:600;color:var(--navy);white-space:nowrap}
.brand-text b{font-weight:800}
.brand-text em{font-style:normal;color:var(--orange);font-weight:800;font-size:.85em;margin-left:2px}
.main-nav{display:none}
.phone-cta{margin-left:auto;display:none;flex-direction:column;align-items:flex-end;line-height:1.15;text-decoration:none}
.phone-cta:hover{text-decoration:none}
.pc-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--body)}
.pc-num{font-family:'Barlow Semi Condensed',sans-serif;font-weight:800;font-size:1.22rem;color:var(--orange-d)}
.nav-toggle{margin-left:auto;background:none;border:0;width:42px;height:42px;display:flex;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;padding:8px}
.nav-toggle span{display:block;height:2.5px;background:var(--navy);border-radius:2px;transition:.2s}
body.nav-open .nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
body.nav-open .nav-toggle span:nth-child(2){opacity:0}
body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
body.nav-open .main-nav{display:flex;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 20px 16px;box-shadow:var(--shadow)}
body.nav-open .main-nav>a,body.nav-open .nav-item>a{padding:11px 0;color:var(--ink);font-weight:600;border-bottom:1px solid var(--alt)}
body.nav-open .drop{display:flex;flex-direction:column;padding-left:14px}
body.nav-open .drop a{padding:8px 0;color:var(--body);font-size:.95rem}

/* section rhythm */
.section{padding:44px 0}
.section.alt{background:var(--alt)}
.sec-h{font-size:1.6rem;margin-bottom:.35rem}
.sec-sub{color:var(--body);margin-bottom:1.6rem;max-width:640px}
.center-link{text-align:center;margin-top:1.6rem}

/* heroes */
.hero{background:var(--navy);color:#D8E4EE;padding:52px 0 46px}
.page-hero{background:var(--navy);color:#D8E4EE;padding:34px 0 32px}
.hero h1,.page-hero h1{color:#fff;margin-bottom:.7rem}
.hero-sub{font-size:1.06rem;max-width:640px;color:#C4D4E2}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--ice);margin-bottom:.8rem}
.crumbs{font-size:.8rem;margin-bottom:1rem;color:#8FA6BA}
.crumbs a{color:#B7C9D9}
.crumbs span{color:#E6EEF4}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin:1.3rem 0 .4rem}
.trust-row{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:1.2rem;font-size:.85rem;color:#A9BecD}
.trust-row li{color:#A9BECD}
.trust-row li::before{content:"✓ ";color:var(--ice);font-weight:700}

/* buttons */
.btn{display:inline-block;padding:13px 24px;border-radius:8px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.3px;text-decoration:none;transition:.15s}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-call{background:var(--orange);color:#fff;box-shadow:0 3px 12px rgba(240,102,43,.35)}
.btn-call:hover{background:var(--orange-d);color:#fff}
.btn-ghost{background:transparent;color:var(--ice);border:1.5px solid var(--ice)}
.section .btn-ghost{color:var(--orange-d);border-color:var(--orange)}

/* service cards */
.svc-grid{display:grid;grid-template-columns:1fr;gap:14px}
.svc-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 20px 16px;display:block;text-decoration:none;color:var(--body);transition:.15s;position:relative;overflow:hidden}
.svc-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);opacity:0;transition:.15s}
.svc-card:hover{text-decoration:none;box-shadow:var(--shadow);transform:translateY(-2px)}
.svc-card:hover::before{opacity:1}
.svc-card h3{margin:.45rem 0 .4rem;color:var(--ink)}
.svc-card p{font-size:.92rem;margin-bottom:.7rem}
.svc-more{font-size:.85rem;font-weight:700;color:var(--orange-d)}
.svc-dots .dot{width:11px;height:11px}

/* pa / region cards */
.pa-grid,.region-grid{display:grid;grid-template-columns:1fr;gap:14px}
.pa-card{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--ice);border-radius:var(--r);padding:20px}
.pa-card:nth-child(even){border-left-color:var(--orange)}
.pa-card h3{margin-bottom:.4rem}
.pa-card p{font-size:.94rem;margin:0}
.region-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:block;color:var(--body);text-decoration:none;transition:.15s}
.region-card:hover{text-decoration:none;box-shadow:var(--shadow);transform:translateY(-2px)}
.region-card h3{margin-bottom:.35rem}
.region-card p{font-size:.9rem;margin-bottom:.6rem}

/* why / steps */
.why-grid{display:grid;grid-template-columns:1fr;gap:16px}
.why-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.why-item h3{margin-bottom:.35rem}
.why-item p{font-size:.93rem;margin:0}
.steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:1fr;gap:14px}
.steps li{counter-increment:step;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px 18px 62px;position:relative}
.steps li::before{content:counter(step);position:absolute;left:16px;top:18px;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font-family:'Barlow Semi Condensed',sans-serif;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:1.05rem}
.steps h3{margin-bottom:.3rem}
.steps p{font-size:.93rem;margin:0}

/* lists */
.two-col{display:grid;grid-template-columns:1fr;gap:30px}
.check-list{list-style:none;margin:.8rem 0 0}
.check-list li{padding:7px 0 7px 28px;position:relative;border-bottom:1px solid var(--alt);font-size:.96rem}
.check-list li::before{content:"✓";position:absolute;left:2px;color:var(--ice);font-weight:800}
.check-list.orange li::before{color:var(--orange)}

/* faq */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden}
.faq summary{cursor:pointer;padding:14px 18px;font-weight:600;color:var(--ink);font-size:1rem;list-style:none;position:relative;padding-right:40px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--orange);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 18px 16px;font-size:.95rem;margin:0}

/* link clouds */
.city-links{display:flex;flex-wrap:wrap;gap:8px}
.city-links a{background:var(--card);border:1px solid var(--line);border-radius:100px;padding:7px 15px;font-size:.88rem;color:var(--ink);text-decoration:none;transition:.12s}
.city-links a:hover{border-color:var(--orange);color:var(--orange-d)}
.rel-links{display:flex;flex-wrap:wrap;gap:10px 22px}
.rel-links a{font-weight:600;font-size:.95rem}
.rel-links.col{flex-direction:column;gap:8px}

/* lead band */
.lead-band{background:var(--navy2);color:#D3E1ED;padding:44px 0}
.lead-inner{display:grid;grid-template-columns:1fr;gap:26px}
.lead-band h2{color:#fff;font-size:1.5rem}
.lead-band p{color:#BCCEDD}
.lead-form{background:#fff;border-radius:var(--r);padding:20px;box-shadow:0 8px 30px rgba(0,0,0,.25)}
.lead-form-title{font-family:'Barlow Semi Condensed',sans-serif;font-weight:800;font-size:1.15rem;color:var(--ink);margin-bottom:10px}

/* footer */
.site-footer{background:var(--navy);color:#9FB4C6;font-size:.9rem;padding:40px 0 90px}
.foot-grid{display:grid;grid-template-columns:1fr;gap:26px}
.foot-brand{font-size:1.25rem;color:#fff;font-weight:600;margin-bottom:.5rem}
.foot-brand b{font-weight:800}
.foot-brand em{font-style:normal;color:var(--orange);font-weight:800;font-size:.85em}
.foot-h{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;color:#fff;text-transform:uppercase;font-size:.8rem;letter-spacing:.1em;margin-bottom:.6rem}
.foot-grid a{display:block;color:#9FB4C6;padding:3px 0;text-decoration:none}
.foot-grid a:hover{color:var(--ice)}
.foot-phone a{color:var(--orange);font-family:'Barlow Semi Condensed',sans-serif;font-weight:800;font-size:1.3rem}
.foot-legal{border-top:1px solid #24425E;margin-top:28px;padding-top:18px;font-size:.78rem;color:#7C93A8}
.foot-legal a{color:#9FB4C6}

/* sticky mobile bar */
.sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:60;display:flex;box-shadow:0 -3px 14px rgba(16,38,59,.18)}
.sticky-bar a{flex:1;text-align:center;padding:15px 8px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:800;font-size:1.05rem;text-decoration:none;letter-spacing:.3px}
.sb-call{background:var(--orange);color:#fff}
.sb-quote{background:var(--navy);color:#fff}

/* prose (blog + legal) */
.prose h2{margin-top:1.9rem;font-size:1.35rem}
.prose h3{margin-top:1.3rem;margin-bottom:.4rem}
.prose ul,.prose ol{margin:0 0 1rem 1.3rem}
.prose li{margin-bottom:.5rem}
.prose strong{color:var(--ink)}
.post-grid{display:grid;grid-template-columns:1fr;gap:16px}
.post-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:block;color:var(--body);text-decoration:none;transition:.15s}
.post-card:hover{text-decoration:none;box-shadow:var(--shadow);transform:translateY(-2px)}
.post-card h2{font-size:1.2rem;margin:.5rem 0 .5rem}
.post-cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--ice);background:var(--ice-l);padding:3px 10px;border-radius:100px}
.post-meta{font-size:.83rem;font-weight:700;color:var(--orange-d)}
.post-card p{font-size:.93rem;margin:.2rem 0 .8rem}
.post-cta{background:var(--ice-l);border:1px solid #CBE5F4;border-radius:var(--r);padding:22px;margin-top:2.2rem}
.post-cta h2{margin-top:0;font-size:1.25rem}
.post-cta p{margin:0}

/* desktop */
@media(min-width:900px){
  body{padding-bottom:0;font-size:17px}
  h1{font-size:2.7rem}
  .sec-h{font-size:1.85rem}
  .section{padding:60px 0}
  .hero{padding:76px 0 66px}
  .page-hero{padding:46px 0 42px}
  .sticky-bar{display:none}
  .site-footer{padding-bottom:44px}
  .nav-toggle{display:none}
  .main-nav{display:flex;align-items:center;gap:22px;margin-left:8px}
  .main-nav>a,.nav-item>a{color:var(--ink);font-weight:600;font-size:.95rem;text-decoration:none;padding:20px 0}
  .main-nav>a:hover,.nav-item>a:hover{color:var(--orange-d)}
  .nav-item{position:relative}
  .drop{display:none;position:absolute;top:100%;left:-14px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);min-width:230px;padding:8px 0;z-index:70}
  .nav-item:hover .drop{display:block}
  .drop a{display:block;padding:8px 18px;color:var(--body);font-size:.9rem;text-decoration:none}
  .drop a:hover{background:var(--alt);color:var(--orange-d)}
  .phone-cta{display:flex}
  .svc-grid{grid-template-columns:repeat(3,1fr)}
  .pa-grid,.region-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .two-col{grid-template-columns:1fr 1fr;gap:44px}
  .lead-inner{grid-template-columns:1.1fr .9fr;align-items:center;gap:44px}
  .foot-grid{grid-template-columns:2fr 1fr 1fr 1.2fr}
  .post-grid{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:640px) and (max-width:899px){
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .post-grid{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
:focus-visible{outline:2.5px solid var(--orange);outline-offset:2px}
