/* Extra Wrench — site styles. Colors taken from the Wix site. */
:root{
  --navy:#134071;        /* page background (Wix) */
  --navy-dark:#0c2b4f;
  --sky:#a4c2e3;         /* light blue accent text (Wix) */
  --sky-2:#749bc6;
  --red:#e21c21;         /* alert red (Wix) */
  --ink:#ffffff;
  --muted:#d6e2f0;
  --card:#ffffff;
  --card-ink:#111;
  --maxw:1100px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--navy);color:var(--muted);font:18px/1.6 Helvetica,Arial,sans-serif}
a{color:var(--sky)}
img{max-width:100%;height:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;color:#000;padding:8px;z-index:9}

/* header */
.site-header{max-width:var(--maxw);margin:0 auto;padding:0 16px}
.hours{color:#fff;font-weight:700;text-align:center;padding:10px 0;font-size:clamp(14px,2.2vw,22px)}
.nav{position:relative;z-index:5}
.menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;
  background:linear-gradient(#3b4a5c,#0f1a26);border-radius:8px;overflow:visible}
.menu>li{position:relative}
.menu>li>a{display:block;padding:14px 16px;color:#fff;text-decoration:none;font:15px Arial,sans-serif;letter-spacing:.02em;border-right:1px solid #2b3a4b}
.menu>li.active>a,.menu>li>a:hover{background:linear-gradient(#8fb3d9,#4f7aa8);color:#8b0000}
.sub{display:none;position:absolute;left:0;top:100%;min-width:250px;list-style:none;margin:0;padding:6px 0;background:#0f1a26;border-radius:0 0 8px 8px;box-shadow:0 6px 16px rgba(0,0,0,.4)}
.sub a{display:block;padding:8px 16px;color:#fff;text-decoration:none;font-size:15px}
.sub a:hover{background:#294868}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:block}
.nav-toggle{display:none}
.nav-toggle summary{cursor:pointer;list-style:none;color:#fff;background:#0f1a26;border-radius:8px;padding:12px 16px;font-weight:700}
.nav-toggle summary::-webkit-details-marker{display:none}
.nav-toggle summary::before{content:"\2630  "}
.brand{display:flex;justify-content:center;margin:16px 0 8px}
.logo img{display:block;border:4px solid #000;background:#fff;max-height:126px;width:auto}
.badges{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0}
.badges img{display:block;max-height:83px;width:auto}
.callbar{display:block;background:#fff;color:#000;text-align:center;font-weight:700;text-decoration:none;
  border-radius:10px;padding:6px 10px;font-size:clamp(18px,3vw,30px);margin:6px 0 24px}

/* content */
main{max-width:var(--maxw);margin:0 auto;padding:8px 16px 40px}
h1,h2,h3,h4{color:#fff;line-height:1.2;font-family:Helvetica,Arial,sans-serif}
h1{font-size:clamp(30px,5vw,56px);text-align:center;margin:.4em 0 .6em}
h2{font-size:clamp(24px,3.4vw,38px);margin:1.4em 0 .5em}
h3{font-size:clamp(19px,2.4vw,26px);color:var(--sky)}
h4{font-size:20px;color:var(--sky)}
main p,main li{max-width:72ch}
main ul,main ol{padding-left:1.3em}
li{margin:.35em 0}
li strong:first-child{color:#fff}
.lead{font-size:clamp(20px,2.6vw,30px);color:var(--sky);text-align:center;max-width:none}
.alert{color:#ff6b6e}
.center{text-align:center}
.small{font-size:15px}
.cta{margin:18px 0}
.btn{display:inline-block;background:#fff;color:#0c2b4f;font-weight:700;text-decoration:none;padding:12px 22px;border-radius:999px;border:2px solid #fff}
.btn:hover{background:var(--sky)}
.photo img{display:block;margin:16px auto;border-radius:6px;max-height:520px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.grid img{width:100%;height:220px;object-fit:cover;border-radius:6px}
.contain img{object-fit:contain}
.reviews img{height:auto;object-fit:contain;background:#fff}
.brandgrid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.brandgrid li{background:#fff;color:#0c2b4f;font-weight:700;text-align:center;border-radius:6px;padding:10px;margin:0}
.pricebox,.policy,.note,.hoursbox,.towns{background:var(--navy-dark);border:1px solid #2f5585;border-radius:10px;padding:16px 20px;margin:20px 0}
.pricebox-h,.policy-h,.towns-h{color:#fff;font-weight:700;font-size:20px;margin-top:0}
.policy{border-color:var(--sky-2)}
.towns p{max-width:none}
table.prices{border-collapse:collapse;width:100%;max-width:760px;background:var(--navy-dark)}
table.prices th,table.prices td{border:1px solid #2f5585;padding:10px 12px;text-align:left;vertical-align:top}
table.prices th{color:#fff}
.services-list h2{margin-top:1.2em}
.svc{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:start;margin:18px 0}
.svc img{border-radius:6px}

/* form */
.form{background:#fff;color:#111;border-radius:10px;padding:20px;max-width:760px;margin:20px auto}
.form h2{color:#0c2b4f;margin-top:0}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form label{display:block;font-weight:700;font-size:15px;margin:10px 0 4px;color:#0c2b4f}
.form input,.form select,.form textarea{width:100%;font:16px Arial,sans-serif;padding:10px;border:1px solid #8aa;border-radius:6px}
.form textarea{min-height:110px}
.form .req{color:#b00}
.form .hp{position:absolute;left:-5000px}
.form button{margin-top:16px;background:#0c2b4f;color:#fff;border:0;border-radius:999px;padding:14px 26px;font-weight:700;font-size:17px;cursor:pointer}
.form button[disabled]{opacity:.6}
.form .msg{margin-top:12px;font-weight:700}
.form .hint{font-size:14px;color:#345}

/* footer */
.site-footer{background:var(--navy-dark);border-top:4px solid #000;text-align:center;padding:24px 16px;color:var(--muted)}
.footer-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:14px}
.footer-badges a{background:#fff;color:#0c2b4f;text-decoration:none;font-weight:700;border-radius:8px;padding:8px 12px;font-size:14px}
.social{display:flex;gap:18px;justify-content:center;margin:10px 0}
.social a{color:#fff}
.nap,.copy{font-size:15px;margin:6px 0}

@media (max-width:820px){
  .nav-wide{display:none}
  .nav-toggle{display:block}
  .nav-toggle .menu{flex-direction:column;margin-top:6px}
  .nav-toggle .sub{display:block;position:static;box-shadow:none;padding-left:12px;background:transparent}
  .menu>li>a{border-right:0;border-bottom:1px solid #2b3a4b}
  .badges img{max-height:60px}
  .form .row{grid-template-columns:1fr}
  .svc{grid-template-columns:1fr}
}

/* reviews */
.revsum{text-align:center;margin:24px 0}
.revsum-h{color:#ffd54a;font-size:clamp(20px,2.6vw,28px);font-weight:700;max-width:none}
.revcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:12px}
.revcard{display:flex;flex-direction:column;gap:2px;background:#fff;color:#0c2b4f;text-decoration:none;border-radius:10px;padding:14px}
.rc-name{font-weight:700}.rc-stars{color:#d49b00;font-size:22px;font-weight:700}.rc-count{font-size:15px}
.quotes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:20px 0}
.quote{margin:0;background:var(--navy-dark);border:1px solid #2f5585;border-left:4px solid #ffd54a;border-radius:8px;padding:14px 16px}
.quote blockquote{margin:0 0 8px;color:#fff;font-size:17px}
.quote figcaption{font-size:14px;color:var(--sky)}
.awards{text-align:center;margin:24px 0}
.awards-h{font-weight:700;font-size:20px;color:#ffd54a;margin-bottom:12px}
.awards-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.awards-row img{width:250px;max-width:40vw;height:auto;border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.4)}
