/* County Boiler Services: shared styles (Tailwind Play CDN handles utilities) */
:root { --brand:#344DA1; --navy:#002A62; --red:#ED1E3B; --leaf:#4DA06F; }
html { -webkit-text-size-adjust:100%; }
body { overflow-x:hidden; }
.eyebrow { font-family:Montserrat,sans-serif; font-weight:700; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; }
.section-title { font-family:Montserrat,sans-serif; font-weight:800; letter-spacing:-.025em; line-height:1.05; color:var(--navy); font-size:clamp(2rem,4.2vw,3.4rem); }
.btn-primary,.btn-red,.btn-white,.btn-ghost,.btn-outline { display:inline-flex; align-items:center; gap:.6rem; min-height:3rem; padding:.85rem 1.5rem; border-radius:999px; font-family:Montserrat,sans-serif; font-weight:700; font-size:.98rem; transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease; }
.btn-primary { background:var(--brand); color:#fff; }
.btn-primary:hover { background:var(--navy); transform:translateY(-2px); box-shadow:0 12px 24px -10px rgba(0,42,98,.5); }
.btn-red { background:var(--red); color:#fff; box-shadow:0 10px 24px -12px rgba(237,30,59,.8); }
.btn-red:hover { background:#d0142f; transform:translateY(-2px); box-shadow:0 16px 30px -12px rgba(237,30,59,.9); }
.btn-white { background:#fff; color:var(--navy); }
.btn-white:hover { transform:translateY(-2px); box-shadow:0 14px 28px -12px rgba(0,0,0,.4); }
.btn-ghost { color:#fff; box-shadow:inset 0 0 0 2px rgba(255,255,255,.45); }
.btn-ghost:hover { background:rgba(255,255,255,.12); box-shadow:inset 0 0 0 2px #fff; }
.btn-outline { color:var(--navy); box-shadow:inset 0 0 0 2px var(--navy); }
.btn-outline:hover { background:var(--navy); color:#fff; }
.btn-red:disabled { opacity:.6; cursor:wait; transform:none; }
.nav-link { position:relative; padding:.5rem 0; color:#1E2433; transition:color .2s; }
.nav-link::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.nav-link:hover, .nav-link[aria-current="page"] { color:var(--brand); }
.nav-link:hover::after, .nav-link[aria-current="page"]::after { transform:scaleX(1); }
.site-header.scrolled { box-shadow:0 10px 30px -18px rgba(0,42,98,.35); }
.card { transition:transform .35s ease, box-shadow .35s ease; }
.card:hover { transform:translateY(-4px); box-shadow:0 24px 48px -24px rgba(0,42,98,.35); }
.logo-chip { display:inline-flex; filter:grayscale(.15); opacity:.9; transition:opacity .2s, transform .2s, filter .2s; }
.logo-chip:hover { opacity:1; filter:none; transform:translateY(-2px); }
.field-label { display:block; margin-bottom:.4rem; font-weight:600; color:var(--navy); }
.field { width:100%; min-height:3.1rem; padding:.75rem 1rem; border-radius:.9rem; border:1.5px solid #D5DAE8; background:#fff; color:#1E2433; font-size:1rem; transition:border-color .2s, box-shadow .2s; }
.field:focus { outline:none; border-color:var(--brand); box-shadow:0 0 0 4px rgba(52,77,161,.15); }
.field.invalid { border-color:var(--red); }
.hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.grecaptcha-badge { visibility:hidden; }
.form-status.ok { color:#2f7a4f; }
.form-status.err { color:var(--red); }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.in { opacity:1; transform:none; }
:focus-visible { outline:3px solid var(--red); outline-offset:3px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
  *, *::before, *::after { transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
