/* Quick Fix Plumbing Co – boiler servicing site. Shared styles. */
  :root{--navy:#0b2a4a;--blue:#1565c0;--accent:#ff8f00;--ink:#1d2733;--muted:#5b6775;--bg:#f5f8fb;--card:#fff;--ok:#2e7d32;--radius:12px}
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;font-size:17px;padding-bottom:72px}
  a{color:var(--blue)}
  .wrap{max-width:1040px;margin:0 auto;padding:0 18px}
  header.top{background:var(--navy);color:#fff}
  header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px}
  .brand{font-weight:800;font-size:1.05rem;letter-spacing:.2px}
  .brand small{display:block;font-weight:400;font-size:.78rem;opacity:.85}
  .call-top{color:#fff;text-decoration:none;font-weight:700;border:2px solid rgba(255,255,255,.6);padding:8px 12px;border-radius:999px;white-space:nowrap}
  .hero{background:linear-gradient(160deg,var(--navy),#123d6b 60%,var(--blue));color:#fff;padding:36px 0 44px}
  .hero h1{font-size:1.9rem;line-height:1.2;margin:0 0 12px}
  .hero p.lead{font-size:1.1rem;margin:0 0 20px;opacity:.95}
  .price-badge{display:inline-block;background:#fff;color:var(--navy);border-radius:var(--radius);padding:14px 18px;margin:0 0 20px;box-shadow:0 6px 20px rgba(0,0,0,.18)}
  .price-badge strong{font-size:2.1rem;line-height:1}
  .price-badge span{display:block;font-size:.9rem;color:var(--muted)}
  .btn{display:inline-block;text-align:center;text-decoration:none;font-weight:700;border-radius:10px;padding:14px 20px;font-size:1.05rem;border:0;cursor:pointer}
  .btn-primary{background:var(--accent);color:#1b1200}
  .btn-ghost{background:transparent;color:#fff;border:2px solid #fff}
  .btn-block{display:block;width:100%}
  .hero .ctas{display:grid;gap:10px}
  .trust{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:18px;font-size:.92rem;opacity:.95;padding:0;list-style:none}
  .trust li::before{content:"✓ ";font-weight:700}
  section{padding:36px 0}
  h2{font-size:1.5rem;margin:0 0 14px;color:var(--navy)}
  .card{background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:0 2px 10px rgba(11,42,74,.07)}
  .grid{display:grid;gap:14px}
  ul.ticks{padding:0;margin:0;list-style:none}
  ul.ticks li{padding:8px 0 8px 30px;position:relative;border-bottom:1px solid #eef2f6}
  ul.ticks li::before{content:"✓";position:absolute;left:4px;color:var(--ok);font-weight:800}
  .note{font-size:.88rem;color:var(--muted)}
  .placeholder{background:#fff3cd;border:1px dashed #c69500;padding:1px 6px;border-radius:4px;font-weight:600;color:#6b4e00}
  .steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:12px}
  .steps li{background:#fff;border-radius:var(--radius);padding:16px 16px 16px 60px;position:relative;box-shadow:0 2px 10px rgba(11,42,74,.07)}
  .steps li::before{counter-increment:s;content:counter(s);position:absolute;left:16px;top:14px;width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
  .price-table{width:100%;border-collapse:collapse}
  .price-table th,.price-table td{text-align:left;padding:10px;border-bottom:1px solid #e6ebf1;vertical-align:top}
  .price-table th{background:#eef4fb;color:var(--navy)}
  details{background:#fff;border-radius:10px;margin:0 0 10px;box-shadow:0 1px 6px rgba(11,42,74,.06)}
  summary{cursor:pointer;padding:16px;font-weight:700;list-style:none}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+";float:right;font-weight:800;color:var(--blue)}
  details[open] summary::after{content:"–"}
  details .a{padding:0 16px 16px}
  form .row{display:grid;gap:14px}
  label{display:block;font-weight:600;margin:0 0 6px;font-size:.95rem}
  .req{color:#c62828}
  input,select,textarea{width:100%;font:inherit;padding:12px;border:1.5px solid #c7d1dc;border-radius:8px;background:#fff}
  input:focus,select:focus,textarea:focus{outline:3px solid rgba(21,101,192,.25);border-color:var(--blue)}
  fieldset{border:0;padding:0;margin:0 0 16px}
  legend{font-weight:700;margin-bottom:8px}
  .choice{display:flex;gap:10px;align-items:flex-start;background:#f3f7fb;border:1.5px solid #d5dee8;border-radius:10px;padding:12px;margin-bottom:8px;font-weight:400}
  .choice input{width:auto;margin-top:5px}
  .sub-note{display:block;font-size:.75rem;opacity:.85;font-weight:400;margin-top:2px}
  .pay-slot{border:2px dashed var(--blue);border-radius:var(--radius);padding:18px;background:#f0f6ff;margin:18px 0}
  .consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.92rem}
  .consent input{width:auto;margin-top:4px}
  #form-msg{display:none;margin-top:14px;padding:14px;border-radius:10px;background:#e8f5e9;border:1px solid #a5d6a7}
  .oneoff{background:#fff8ec;border-left:5px solid var(--accent)}
  footer{background:var(--navy);color:#dfe7ef;padding:28px 0;font-size:.9rem}
  footer a{color:#fff}
  .callbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;background:rgba(255,255,255,.97);box-shadow:0 -4px 16px rgba(0,0,0,.12);z-index:10}
  .callbar a{padding:12px 8px;font-size:1rem}
  .callbar .call{background:var(--ok);color:#fff}
  .areas{columns:2;padding-left:18px;margin:8px 0}
  @media (min-width:760px){
    body{padding-bottom:0}
    .callbar{display:none}
    .hero h1{font-size:2.6rem}
    .hero .ctas{grid-template-columns:auto auto;justify-content:start}
    .grid-2{grid-template-columns:1fr 1fr}
    .steps{grid-template-columns:repeat(4,1fr)}
    form .row.two{grid-template-columns:1fr 1fr}
    .areas{columns:3}
  }

  /* --- site additions --- */
  .pay-btn{display:inline-block;margin-top:10px}
  .area-links{display:grid;gap:10px;grid-template-columns:1fr 1fr;padding:0;margin:14px 0 0;list-style:none}
  .area-links a{display:block;background:#fff;border:1.5px solid #d5dee8;border-radius:10px;padding:14px;font-weight:700;text-decoration:none;color:var(--navy);text-align:center}
  .area-links a:hover,.area-links a:focus{border-color:var(--blue)}
  .breadcrumb{font-size:.85rem;margin:0 0 10px;opacity:.9}
  .breadcrumb a{color:#fff}
  .local p{margin:0 0 12px}
  footer .sub-note{opacity:.8}
  @media (min-width:760px){.area-links{grid-template-columns:repeat(3,1fr)}}
  .mt8{margin-top:8px}.mt12{margin-top:12px}.mt14{margin-top:14px}.mt18{margin-top:18px}
  .note-tight{margin:6px 0 0}
  .btn-outline{background:#fff;border:2px solid var(--accent);color:#6b4100}
  .legal h1{font-size:1.8rem;color:var(--navy);margin:0 0 10px}
  .legal h2{font-size:1.2rem;margin:22px 0 8px}
  .legal ul{padding-left:20px}
  .legal li{margin:0 0 6px}
  .breadcrumb-dark{font-size:.85rem;margin:0 0 8px}
  body.simple{padding-bottom:0}
