/* Garden State Exterior Solutions — shared styles for standalone pages */
:root{
  --sky-1:#5bb6f4; --sky-2:#9bd9ff; --sky-3:#d7f1ff;
  --bg:#bfe7ff; --bg-2:#e9f7ff; --card:#fff;
  --ink:#0e2a44; --muted:#4f6b80;
  --accent:#9ae53a; --accent-2:#2bd1a3; --water:#2ea7ff;
  --sun:#ffd23e; --coral:#ff7a8a;
  --shadow:8px 8px 0 rgba(14,42,68,.92);
  --shadow-sm:5px 5px 0 rgba(14,42,68,.9);
  --r:22px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%;overscroll-behavior:none}
body{background:linear-gradient(180deg,var(--sky-1) 0%,var(--sky-2) 30%,var(--sky-3) 60%,#fff 100%);
  background-attachment:scroll;min-height:100vh;
  color:var(--ink);font-family:'Manrope',system-ui,sans-serif;font-weight:600;line-height:1.65;
  overflow-x:hidden;max-width:100%;-webkit-font-smoothing:antialiased}
h1,h2,h3,.display{font-family:'Baloo 2','Fredoka',system-ui,cursive;line-height:1.08;letter-spacing:-.01em;font-weight:800}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:860px;margin:0 auto;padding:0 20px}

/* header */
.hd{position:sticky;top:0;z-index:50;background:#fff;border-bottom:3px solid var(--ink)}
.hd .wrap{max-width:1180px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;padding-bottom:10px}
.hd-brand{display:flex;align-items:center;gap:10px}
.hd-brand img{width:44px;height:44px;border-radius:12px;border:3px solid var(--ink)}
.hd-name{font-family:'Baloo 2',cursive;font-weight:800;font-size:18px;line-height:1}
.hd-tel{display:inline-block;margin-top:3px;background:var(--accent);border:2px solid var(--ink);
  border-radius:99px;padding:1px 10px;font-size:13px;font-weight:800}
.hd-cta{background:var(--sun);border:3px solid var(--ink);border-radius:99px;padding:10px 18px;
  font-weight:800;box-shadow:var(--shadow-sm);white-space:nowrap}
@media(max-width:560px){.hd-name{font-size:15px}.hd-cta{padding:9px 14px;font-size:14px}}

/* breadcrumb */
.crumb{font-size:13px;color:var(--muted);padding:16px 0 0;font-weight:700}
.crumb a{text-decoration:underline}

/* hero */
.phead{padding:14px 0 26px}
.kicker{display:inline-block;background:var(--coral);color:#fff;border:3px solid var(--ink);
  border-radius:99px;padding:5px 14px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.phead h1{font-size:clamp(30px,6.5vw,46px);margin:14px 0 12px}
.sub{font-size:17px;color:#26455f;max-width:62ch}
.cover{border:4px solid var(--ink);border-radius:var(--r);box-shadow:var(--shadow);margin:22px 0 6px;
  aspect-ratio:16/7;object-fit:cover;width:100%;background:var(--bg)}
.meta{font-size:13px;color:var(--muted);font-weight:700;margin-top:10px}

/* article body */
.art{background:#fff;border:4px solid var(--ink);border-radius:var(--r);box-shadow:var(--shadow);
  padding:26px 24px;margin:24px 0}
.art h2{font-size:clamp(22px,4.4vw,30px);margin:26px 0 10px}
.art h3{font-size:clamp(19px,3.8vw,24px);margin:24px 0 8px}
.art h2:first-child,.art h3:first-child{margin-top:0}
.art p{margin:0 0 14px}
.art ul,.art ol{margin:0 0 16px 20px}
.art li{margin:0 0 8px}
.art a{color:#0b6fbf;text-decoration:underline;font-weight:800}
.art tip,.art .tip{display:block;background:#fff7d6;border:3px solid var(--ink);border-left-width:9px;
  border-radius:14px;padding:14px 16px;margin:18px 0;font-weight:700}
.art b,.art strong{font-weight:800}

/* faq */
.faq{background:var(--bg-2);border:4px solid var(--ink);border-radius:var(--r);box-shadow:var(--shadow);
  padding:24px;margin:24px 0}
.faq h2{font-size:clamp(22px,4.4vw,28px);margin-bottom:6px}
.qa{border-top:2px dashed rgba(14,42,68,.25);padding:16px 0 4px}
.qa h3{font-size:17px;margin-bottom:6px}
.qa p{margin:0;color:#26455f}

/* cta */
.cta{background:var(--ink);color:#fff;border:4px solid var(--ink);border-radius:var(--r);
  box-shadow:var(--shadow);padding:26px 24px;margin:24px 0;text-align:center}
.cta h2{font-size:clamp(22px,4.6vw,30px);margin-bottom:8px}
.cta p{color:#cfe6f7;margin-bottom:18px}
.btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;border:3px solid #0e2a44;border-radius:99px;padding:13px 22px;font-weight:800;
  box-shadow:5px 5px 0 rgba(0,0,0,.35)}
.b1{background:var(--accent)}.b2{background:var(--sun)}.b3{background:#fff}

/* town / service extras */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
@media(max-width:700px){.grid2{grid-template-columns:1fr}}
.tile{background:#fff;border:3px solid var(--ink);border-radius:16px;box-shadow:var(--shadow-sm);padding:16px 18px}
.tile h3{font-size:18px;margin-bottom:6px}
.tile p{font-size:15px;color:#26455f;margin:0}
.pricebox{background:#fff;border:4px solid var(--ink);border-radius:var(--r);box-shadow:var(--shadow);padding:22px;margin:22px 0}
.pricebox table{width:100%;border-collapse:collapse;font-size:15px}
.pricebox td{padding:9px 4px;border-bottom:2px dashed rgba(14,42,68,.2)}
.pricebox td:last-child{text-align:right;font-weight:800;white-space:nowrap}
.note{font-size:13px;color:var(--muted);margin-top:10px}

/* related */
.rel{margin:26px 0}
.rel h2{font-size:22px;margin-bottom:12px}
.rel ul{list-style:none;display:grid;gap:10px}
.rel a{display:block;background:#fff;border:3px solid var(--ink);border-radius:14px;
  box-shadow:var(--shadow-sm);padding:13px 16px;font-weight:800}
.rel a small{display:block;font-weight:600;color:var(--muted);margin-top:2px;font-size:13px}

/* footer */
.ft{background:var(--ink);color:#cfe6f7;border-top:4px solid var(--ink);margin-top:40px;padding:30px 0}
.ft .wrap{max-width:1180px}
.ft a{color:#fff;text-decoration:underline}
.ft p{margin-bottom:8px;font-size:14px}
.ft .big{font-family:'Baloo 2',cursive;font-weight:800;font-size:20px;color:#fff;margin-bottom:10px}
