/* Gutter Guard Ratings - stylesheet
   Navy band, blue oval buttons with white letters, light panels.
   The header is NOT pinned; it scrolls away with the page. */
:root{
  --navy:#0D1F3C; --blue:#1976D2; --blue-dark:#115293; --page:#eef2f7; --panel:#fff;
  --ink:#1B2330; --muted:#4A576D; --line:#d5dce6; --soft:#e5f0fe;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--ink);font:17px/1.55 "Helvetica Neue",Helvetica,Arial,sans-serif}
a{color:var(--blue-dark)}
h1,h2,h3{font-weight:700;color:var(--navy);line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(28px,4.6vw,46px)}
h2{font-size:clamp(23px,3vw,32px);margin-top:1.5em}
h3{font-size:clamp(18px,2.2vw,21px);margin-top:1.2em}
p{margin:0 0 1em}
ul{padding-left:1.2em;margin:0 0 1em}
li{margin-bottom:.35em}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}

.mast{position:static;background:var(--navy);color:#fff}
.mast .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding-top:16px;padding-bottom:16px}
.brand{color:#fff;text-decoration:none;font-weight:700;font-size:clamp(24px,3.4vw,34px);letter-spacing:-.01em}
.mast nav{display:flex;flex-wrap:wrap;gap:6px 8px}
.mast nav a{color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:6px 14px;border-radius:999px}
.mast nav a:hover,.mast nav a[aria-current="page"]{background:rgba(255,255,255,.16)}
.mast .tel{color:#fff;text-decoration:none;font-weight:700;font-size:15px;white-space:nowrap}

.hero{background:var(--navy);color:#fff;text-align:center}
.hero .wrap{padding-top:18px;padding-bottom:44px;max-width:860px}
.hero h1{color:#fff}
.hero p.lead{font-size:clamp(18px,2.2vw,22px);color:#dbe8f7}
.hero.small .wrap{padding-bottom:30px}
.crumbs{font-size:14px;color:#b9cde6;margin:0 0 10px}
.crumbs a{color:#b9cde6}

.btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;border-radius:999px;padding:12px 26px;border:2px solid var(--blue)}
.btn:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}
.btn.big{font-size:clamp(18px,2.3vw,22px);padding:15px 34px}
.btn.alt{background:transparent;color:#fff;border-color:#fff}
.btn.alt:hover{background:#fff;color:var(--navy)}
.btn.alt.dark{color:var(--blue-dark);border-color:var(--blue)}
.btn.alt.dark:hover{background:var(--blue);color:#fff}
.btnrow{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:22px}
.btnrow.left{justify-content:flex-start}

main .wrap{padding-top:14px;padding-bottom:40px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px 22px;margin:20px 0}
.panel h2:first-child,.panel h3:first-child{margin-top:0}
.topcard{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;background:var(--soft);border:1px solid #c5dbf5;border-radius:8px;padding:18px 22px;margin:22px 0 20px}
.topcard .big{font-size:clamp(34px,5vw,48px);font-weight:700;color:var(--navy);line-height:1}
.topcard p{margin:0}

.stars{display:inline-block;font-size:20px;letter-spacing:2px;line-height:1;white-space:nowrap;
  background:linear-gradient(90deg,#e0a100 var(--p),#c9d1dc var(--p));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.bar{display:block;height:6px;background:#dde4ee;border-radius:3px;margin-top:4px;min-width:44px}
.bar i{display:block;height:100%;background:var(--blue);border-radius:3px}
.num{font-variant-numeric:tabular-nums;font-weight:700}

table.glance{width:100%;border-collapse:collapse;font-size:16px}
table.glance th,table.glance td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
table.glance thead th{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
table.glance tr.top{background:var(--soft)}
table.glance .rk{width:36px;font-weight:700;color:var(--blue-dark)}
table.glance .num{margin-left:8px}

.guard{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px 22px;margin:16px 0}
.guard.top{border-color:var(--blue);box-shadow:0 0 0 2px var(--soft)}
.guard h2{margin:0 0 .2em;font-size:clamp(21px,2.6vw,26px)}
.guard .meta{color:var(--muted);font-size:14px;margin-bottom:.6em}
.guard .overall{display:flex;align-items:center;gap:10px;margin-bottom:.5em}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px 18px;margin:.8em 0 .4em}
.cats div b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.cats div span.n{font-weight:700}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:16px 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.card h3{margin-top:0}

/* zip checker */
.zipbox form{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 6px}
.zipbox label{flex:0 0 100%;font-weight:700}
.zipbox input{flex:1 1 150px;max-width:230px;font:inherit;padding:11px 14px;border:2px solid #9db4d1;border-radius:999px}
.zipbox input:focus{outline:3px solid var(--soft);border-color:var(--blue)}
.zipbox button{font:inherit;font-weight:700;color:#fff;background:var(--navy);border:0;border-radius:999px;padding:12px 26px;cursor:pointer}
.zipbox button:hover{background:#000}
.zipresult{margin-top:12px;padding:14px 16px;border-radius:8px;background:var(--soft);border:1px solid #c5dbf5}
.zipresult[hidden]{display:none}
.zipresult p{margin:0 0 .8em;font-weight:700}
.zipresult .btnrow{margin-top:6px}

.booking{border:2px dashed #9db4d1;background:#f7faff;text-align:center;padding:30px 20px}

details.faq{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:10px 0}
details.faq summary{cursor:pointer;font-weight:700;font-size:18px;color:var(--navy)}
details.faq p{margin:.7em 0 0}
.note{font-size:14px;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:10px 0 0}
.chips a{display:inline-block;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:14px;text-decoration:none}
footer{background:var(--navy);color:#c9d8ec;font-size:14px}
footer .wrap{padding-top:24px;padding-bottom:28px}
footer a{color:#fff}
footer p{margin:0 0 .7em}
@media (max-width:620px){
  table.glance .hide-s{display:none}
}
