/* Spokane Local Plumber Pros — static site stylesheet */
:root{
  --blue-900:#0b2545;
  --blue-800:#123a6b;
  --blue-700:#1b4f8c;
  --blue-600:#2166b0;
  --blue-100:#e8f1fb;
  --ink:#16202b;
  --ink-soft:#3c4a58;
  --paper:#ffffff;
  --paper-soft:#f4f7fa;
  --border:#d7e0e8;
  --amber:#c9720c;
  --amber-dark:#9c580a;
  --green:#1c7a4d;
  --radius:10px;
  --max:1120px;
  font-size:17px;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;}
a{color:var(--blue-700);text-decoration:underline;text-decoration-thickness:1px;}
a:hover{color:var(--blue-800);}
h1,h2,h3,h4{color:var(--blue-900);line-height:1.25;margin:1.4em 0 .5em;}
h1{font-size:2rem;margin-top:0;}
h2{font-size:1.5rem;border-top:1px solid var(--border);padding-top:1.6rem;}
h3{font-size:1.15rem;}
p{margin:.9em 0;}
ul,ol{padding-left:1.3em;}
li{margin:.35em 0;}
.container{max-width:var(--max);margin:0 auto;padding:0 1.1rem;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip-link{position:absolute;left:-999px;top:0;background:var(--blue-900);color:#fff;padding:.6em 1em;z-index:200;}
.skip-link:focus{left:.5rem;top:.5rem;}

/* Header */
.site-header{background:var(--blue-900);color:#fff;border-bottom:3px solid var(--amber);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.1rem;max-width:var(--max);margin:0 auto;gap:.75rem;}
.brand{color:#fff;text-decoration:none;font-weight:800;font-size:1.15rem;letter-spacing:.2px;}
.brand span{display:block;font-size:.72rem;font-weight:500;color:#bcd2ee;letter-spacing:.3px;}
.header-call{display:none;}
.nav-toggle{background:var(--blue-700);color:#fff;border:1px solid var(--blue-600);border-radius:8px;padding:.5rem .7rem;font-size:.95rem;font-weight:700;cursor:pointer;}
.site-nav{display:none;background:var(--blue-800);}
.site-nav.open{display:block;}
.site-nav ul{list-style:none;margin:0;padding:.4rem 1.1rem 1rem;max-width:var(--max);margin:0 auto;}
.site-nav li{margin:0;border-bottom:1px solid rgba(255,255,255,.12);}
.site-nav a{display:block;padding:.7rem .2rem;color:#eaf1fa;text-decoration:none;font-weight:600;}
.site-nav a:hover{color:#fff;}
.header-call-btn{display:inline-block;background:var(--amber);color:#221200;font-weight:800;padding:.55rem .95rem;border-radius:8px;text-decoration:none;white-space:nowrap;}
.header-call-btn:hover{background:var(--amber-dark);color:#fff;}

@media (min-width:900px){
  .nav-toggle{display:none;}
  .site-nav{display:block;background:var(--blue-800);}
  .site-nav ul{display:flex;flex-wrap:wrap;gap:.2rem;padding:0 1.1rem;}
  .site-nav li{border-bottom:none;}
  .site-nav a{padding:.85rem .75rem;}
  .header-inner{padding:1rem 1.1rem;}
}

/* Hero */
.hero{background:linear-gradient(180deg,var(--blue-900),var(--blue-800));color:#fff;padding:2.4rem 0 2.2rem;}
.hero h1{color:#fff;font-size:1.85rem;}
.hero p.lead{color:#d8e6f7;font-size:1.08rem;max-width:60ch;}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.1rem;}

/* Buttons */
.btn{display:inline-block;text-decoration:none;font-weight:800;padding:.85rem 1.3rem;border-radius:9px;text-align:center;border:2px solid transparent;}
.btn-call{background:var(--amber);color:#221200;font-size:1.05rem;}
.btn-call:hover{background:var(--amber-dark);color:#fff;}
.btn-outline{background:transparent;color:#fff;border-color:#7ea6d6;}
.btn-outline:hover{border-color:#fff;}
.btn-secondary{background:var(--blue-700);color:#fff;}
.btn-secondary:hover{background:var(--blue-800);}

/* Sections */
section.block{padding:2.1rem 0;}
section.block.alt{background:var(--paper-soft);}
.grid{display:grid;gap:1rem;grid-template-columns:1fr;}
@media (min-width:680px){.grid.cols-2{grid-template-columns:1fr 1fr;}}
@media (min-width:820px){.grid.cols-3{grid-template-columns:repeat(3,1fr);}}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.2rem;}
.card h3{margin-top:0;}
.card a.card-link{font-weight:700;}

/* Phone banner */
.phone-banner{background:var(--blue-100);border:1px solid #c4d9f1;border-radius:var(--radius);padding:1rem 1.2rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;margin:1.6rem 0;}
.phone-banner strong{font-size:1.2rem;color:var(--blue-900);}

/* Breadcrumbs */
.breadcrumbs{font-size:.9rem;color:var(--ink-soft);padding:.8rem 0 0;}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;padding:0;margin:0;gap:.3rem;}
.breadcrumbs li:not(:last-child)::after{content:"›";margin-left:.3rem;color:#8aa0b3;}
.breadcrumbs a{text-decoration:none;}

/* FAQ */
.faq-item{border:1px solid var(--border);border-radius:var(--radius);margin:.6rem 0;overflow:hidden;background:#fff;}
.faq-q{width:100%;text-align:left;background:var(--paper-soft);border:none;padding:.95rem 1.1rem;font-weight:700;font-size:1rem;color:var(--blue-900);cursor:pointer;display:flex;justify-content:space-between;gap:.6rem;}
.faq-q::after{content:"+";font-size:1.3rem;color:var(--blue-700);}
.faq-item.open .faq-q::after{content:"–";}
.faq-a{padding:0 1.1rem;max-height:0;overflow:hidden;transition:max-height .2s ease;}
.faq-item.open .faq-a{padding:.2rem 1.1rem 1rem;max-height:600px;}

/* Service area list */
.area-list{columns:2;column-gap:1.4rem;list-style:none;padding:0;}
@media (min-width:680px){.area-list{columns:3;}}
.area-list li{padding:.3rem 0;border-bottom:1px dashed var(--border);break-inside:avoid;}

/* Footer */
.site-footer{background:var(--blue-900);color:#cfe0f2;padding:2.2rem 0 5.5rem;font-size:.94rem;}
.site-footer h2,.site-footer h3{color:#fff;}
.footer-grid{display:grid;gap:1.4rem;grid-template-columns:1fr;}
@media (min-width:760px){.footer-grid{grid-template-columns:1.2fr 1fr 1fr;}}
.site-footer a{color:#cfe0f2;}
.site-footer a:hover{color:#fff;}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer li{margin:.3rem 0;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:1.6rem;padding-top:1rem;font-size:.85rem;color:#9fb7d1;}

/* Sticky mobile call bar */
.sticky-call{position:fixed;left:0;right:0;bottom:0;background:var(--amber);z-index:150;box-shadow:0 -2px 10px rgba(0,0,0,.18);}
.sticky-call a{display:block;text-align:center;padding:.85rem .6rem;font-weight:800;color:#221200;text-decoration:none;font-size:1.02rem;}
@media (min-width:900px){.sticky-call{display:none;}.site-footer{padding-bottom:2.2rem;}}

/* Misc */
.disclaimer{font-size:.85rem;color:var(--ink-soft);background:var(--paper-soft);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem;}
table{border-collapse:collapse;width:100%;}
th,td{text-align:left;padding:.5rem .6rem;border:1px solid var(--border);}
.tag{display:inline-block;background:var(--blue-100);color:var(--blue-800);border-radius:99px;padding:.2rem .7rem;font-size:.8rem;font-weight:700;margin:.15rem .25rem .15rem 0;}
.blog-list{list-style:none;padding:0;}
.blog-list li{border-bottom:1px solid var(--border);padding:1rem 0;}
.blog-list h3{margin:.1rem 0 .3rem;}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;}
