:root{
  --ink:#16202a; --muted:#5a6b7a; --line:#dfe6ec;
  --bg:#ffffff; --soft:#f4f7f9; --accent:#0b5d3b; --accent-ink:#ffffff;
  --wrap:68rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 1.25rem}
a{color:var(--accent)}
img{max-width:100%; height:auto}

/* header */
header.site{border-bottom:1px solid var(--line); background:var(--bg)}
.bar{display:flex; align-items:center; gap:1rem; flex-wrap:wrap; padding-top:.9rem; padding-bottom:.9rem}
.brand{font-weight:700; font-size:1.15rem; text-decoration:none; color:var(--ink)}
.bar nav{display:flex; gap:1rem; flex:1 1 auto; flex-wrap:wrap}
.bar nav a{text-decoration:none; color:var(--muted); font-size:.95rem}
.bar nav a:hover{color:var(--accent)}
.bar .tel{font-weight:700; text-decoration:none; white-space:nowrap}

/* type */
main{padding:2rem 1.25rem 4rem}
h1{font-size:clamp(1.7rem,4vw,2.4rem); line-height:1.2; margin:.2rem 0 1rem}
h2{font-size:clamp(1.25rem,2.6vw,1.6rem); line-height:1.25; margin:2.2rem 0 .7rem}
h3{font-size:1.06rem; margin:1.3rem 0 .4rem}
p{margin:0 0 1rem}
.lede{font-size:1.12rem; color:var(--muted)}
ul{padding-left:1.15rem}
li{margin:.3rem 0}

/* cards + columns */
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1rem}
.card{border:1px solid var(--line); border-radius:.6rem; padding:1rem 1.1rem; background:var(--soft)}
.card h3{margin-top:0}
.cols{columns:2; column-gap:2rem}
ul.trust{list-style:none; padding:0}
ul.trust li{padding-left:1.4rem; position:relative}
ul.trust li::before{content:"\2713"; position:absolute; left:0; color:var(--accent); font-weight:700}

/* forms */
.cta{border:1px solid var(--line); border-radius:.7rem; padding:1.25rem; margin:1.75rem 0; background:var(--soft)}
.cta h2{margin-top:0}
.callout{color:var(--muted)}
label{display:block; font-size:.88rem; font-weight:600; margin:.7rem 0 .25rem}
input,textarea{
  width:100%; padding:.65rem .7rem; font:inherit; color:var(--ink);
  border:1px solid var(--line); border-radius:.4rem; background:#fff;
}
input:focus,textarea:focus{outline:2px solid var(--accent); outline-offset:1px}
button,.btn{
  display:inline-block; margin-top:1rem; padding:.8rem 1.4rem; font:inherit; font-weight:700;
  color:var(--accent-ink); background:var(--accent); border:0; border-radius:.4rem;
  cursor:pointer; text-decoration:none;
}

/* bands + faq */
.band{background:var(--accent); color:var(--accent-ink); border-radius:.7rem; padding:1.5rem; margin:2rem 0; text-align:center}
.band h2{margin:0 0 .6rem; color:var(--accent-ink)}
.band .btn{background:#fff; color:var(--accent); margin-top:0}
.faq{border-top:1px solid var(--line); padding-top:.8rem; margin-top:.8rem}

/* footer */
footer.site{border-top:1px solid var(--line); background:var(--soft); margin-top:3rem; padding:2rem 0 5rem}
.fgrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(13rem,1fr)); gap:1.5rem}
.fcol h3{margin-top:0; font-size:.95rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted)}
.fcol ul{list-style:none; padding:0; margin:0}
.fcol a{text-decoration:none; font-size:.94rem}
.fine{margin-top:1.5rem; color:var(--muted); font-size:.85rem}

/* sticky mobile call bar */
.stickybar{display:none}
@media (max-width:640px){
  .cols{columns:1}
  .bar nav{order:3; width:100%}
  .stickybar{
    display:block; position:fixed; left:0; right:0; bottom:0; z-index:50;
    padding:.95rem; text-align:center; font-weight:700; text-decoration:none;
    background:var(--accent); color:var(--accent-ink);
  }
  footer.site{padding-bottom:5.5rem}
}

@media (prefers-color-scheme:dark){
  :root{--ink:#e8eef3; --muted:#9fb0bd; --line:#2b3947; --bg:#111a22; --soft:#18242e; --accent:#4bbd8b; --accent-ink:#06120d}
  input,textarea{background:#0e161d}
}

/* outbound authority/source links */
ul.sources{list-style:none; padding:0}
ul.sources li{padding-left:1.1rem; position:relative; margin:.45rem 0; font-size:.95rem}
ul.sources li::before{content:"\2197"; position:absolute; left:0; color:var(--muted)}
