/* Pest Xclusion Pros — hand-written stylesheet
   Palette: workhorse blue #004aad, ink navy, paper white.
   Bright green #08f435 is used ONLY as a small accent (buttons, rules, ticks).
   Banding rule (owner spec, every page): blue band = blue background, WHITE letters;
   white band = white background, BLUE letters. Body copy defaults to brand blue. */

:root{
  --blue:#004aad;
  --blue-soft:#52779e;
  --blue-dark:#003370;
  --ink:#12212f;
  --body:#33424f;
  --muted:#64707c;
  --line:#d9e0e8;
  --paper:#ffffff;
  --wash:#f4f6f8;
  --green:#08f435;
  --green-ink:#052e10;
  --serif:"Source Serif 4", Georgia, "Times New Roman", serif;
  --sans:"Libre Franklin", "Helvetica Neue", Arial, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--blue);
  font-size:17px;
  line-height:1.65;
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}

/* ---------- Top strip ---------- */
.topbar{background:var(--ink);color:#c9d4de;font-size:13.5px;letter-spacing:.01em}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:6px 28px;align-items:center;padding-top:8px;padding-bottom:8px}
.topbar strong{color:#fff;font-weight:600}
.topbar a{color:#fff;font-weight:600}
.topbar .right{margin-left:auto}

/* ---------- Header ---------- */
header.site{background:var(--paper);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:20px;padding-top:16px;padding-bottom:16px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand:hover{text-decoration:none}
.brand img{width:58px;height:58px;object-fit:contain}
.brand .name{font-family:var(--serif);font-weight:700;font-size:23px;color:var(--ink);line-height:1.1}
.brand .sub{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:3px}
nav.main{margin-left:auto;display:flex;align-items:center;gap:30px}
nav.main a{color:var(--ink);font-size:15.5px;font-weight:500;padding:4px 0;border-bottom:2px solid transparent}
nav.main a:hover{text-decoration:none;border-bottom-color:var(--green)}
nav.main a[aria-current="page"]{border-bottom-color:var(--blue);color:var(--blue)}
.btn{
  display:inline-block;font-family:var(--sans);font-weight:600;font-size:16px;
  padding:13px 26px;border-radius:4px;border:1px solid transparent;cursor:pointer;
}
.btn:hover{text-decoration:none}
.btn-call{background:var(--green);color:var(--green-ink)}
.btn-call:hover{background:#25f553}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-dark)}
.btn-outline{border-color:#ffffff;color:#fff;background:transparent}
.btn-outline:hover{background:rgba(255,255,255,.1)}
.btn-outline-dark{border-color:var(--blue);color:var(--blue);background:transparent}
.btn-outline-dark:hover{background:#eef4fb}
header .btn{padding:11px 20px;font-size:15px}

/* ---------- Hero ---------- */
.hero{background:var(--blue-dark);color:#dbe7f5}
.hero .wrap{padding-top:72px;padding-bottom:72px;max-width:1140px}
.hero .eyebrow{
  font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#9fc0e8;
  display:flex;align-items:center;gap:12px;margin-bottom:22px;
}
.hero .eyebrow::before{content:"";width:34px;height:3px;background:var(--green);display:inline-block}
.hero h1{
  font-family:var(--serif);font-weight:700;color:#fff;
  font-size:clamp(38px,5.4vw,58px);line-height:1.08;letter-spacing:-.01em;max-width:15em;
}
.hero p.lede{font-size:19.5px;line-height:1.6;max-width:36em;margin-top:22px;color:#dbe7f5}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;align-items:center}
.hero .rating{margin-top:30px;font-size:15.5px;color:#cfe0f2;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline}
.hero .stars{color:var(--green);letter-spacing:2px;font-size:17px}
.hero .rating a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ---------- Page hero (interior pages) ---------- */
.pagehero{background:var(--wash);border-bottom:1px solid var(--line)}
.pagehero .wrap{padding-top:52px;padding-bottom:44px}
.pagehero .eyebrow{font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.pagehero h1{font-family:var(--serif);font-weight:700;color:var(--blue);font-size:clamp(32px,4.4vw,44px);line-height:1.12;max-width:20em}
.pagehero p{margin-top:14px;font-size:18.5px;max-width:42em}

/* ---------- Sections ---------- */
section{padding:64px 0}
section.tight{padding:44px 0}
section.alt{background:var(--wash)}
.kicker{font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
h2{font-family:var(--serif);font-weight:700;color:var(--blue);font-size:clamp(27px,3.4vw,34px);line-height:1.2;margin-bottom:16px}
h3{font-family:var(--serif);font-weight:700;color:var(--blue);font-size:21px;line-height:1.3;margin-bottom:8px}
.lede{font-size:18.5px;max-width:44em}
.narrow{max-width:760px}
p + p{margin-top:14px}

/* Trust strip */
.trust{border-bottom:1px solid var(--line);background:var(--paper)}
.trust .wrap{display:flex;flex-wrap:wrap;gap:10px 0;padding-top:0;padding-bottom:0}
.trust div{
  flex:1 1 180px;padding:20px 18px 20px 0;font-size:15px;color:var(--blue);font-weight:500;
  display:flex;gap:10px;align-items:baseline;
}
.trust .tick{color:var(--blue);font-weight:700}
.trust div + div{border-left:1px solid var(--line);padding-left:18px}

/* Pest / town lists — typographic, ruled columns */
.rulelist{list-style:none;columns:2;column-gap:56px;margin-top:8px}
.rulelist li{
  padding:11px 2px;border-bottom:1px solid var(--line);font-size:16.5px;color:var(--blue);
  break-inside:avoid;display:flex;justify-content:space-between;gap:16px;
}
.rulelist li span.note{color:var(--blue-soft);font-size:14.5px;text-align:right}
.townlist{list-style:none;columns:3;column-gap:48px;margin-top:6px}
.townlist li{padding:8px 2px;border-bottom:1px solid var(--line);font-size:16px;color:var(--blue);break-inside:avoid;transition:background .18s ease,color .18s ease,transform .18s ease}
.townlist li:hover,.townlist li:active{background:var(--blue);color:#fff;border-bottom:2px solid var(--green);border-radius:6px;transform:scale(1.05);padding-left:8px;padding-right:8px;font-weight:600}
.blueband .townlist li:hover,.blueband .townlist li:active{background:#fff;color:var(--blue);border-bottom:2px solid var(--green)}

/* Service rows — editorial, hairline separated, no icon cards */
.svc{border-top:1px solid var(--line)}
.svc-row{display:grid;grid-template-columns:1fr 300px;gap:14px 56px;padding:30px 0;border-bottom:1px solid var(--line)}
.svc-row h3{font-size:23px}
.svc-row .price{font-size:15.5px;color:var(--blue)}
.svc-row .price strong{display:block;font-family:var(--serif);font-size:24px;color:var(--blue);margin-bottom:2px}
.svc-row .price a{font-weight:600}

/* Two-column prose */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:20px 64px}
.cols > div{min-width:0}

/* Steps */
.steps{list-style:none;counter-reset:step;margin-top:10px}
.steps li{
  counter-increment:step;display:grid;grid-template-columns:52px 1fr;gap:18px;
  padding:20px 0;border-bottom:1px solid var(--line);
}
.steps li::before{
  content:counter(step);font-family:var(--serif);font-weight:700;font-size:30px;color:var(--blue);line-height:1;
}
.steps strong{color:var(--blue)}

/* Plain check list */
.checks{list-style:none;margin-top:6px}
.checks li{padding:9px 0 9px 30px;position:relative;border-bottom:1px solid var(--line);color:var(--blue);font-size:16.5px}
.checks li::before{content:"✓";position:absolute;left:2px;color:var(--blue);font-weight:700}
.checks li:last-child{border-bottom:none}

/* Rating band */
.ratingband{background:var(--ink);color:#d7e1ea}
.ratingband .wrap{display:flex;flex-wrap:wrap;gap:18px 48px;align-items:center;padding-top:40px;padding-bottom:40px}
.ratingband .big{font-family:var(--serif);font-size:40px;color:#fff;line-height:1}
.ratingband .stars{color:var(--green);letter-spacing:3px;font-size:20px}
.ratingband p{max-width:34em;font-size:16.5px}
.ratingband a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* Reviews section (home) — curated real Google reviews */
.reviews{background:#fff;color:var(--blue);text-align:center}
.reviews h2{color:var(--blue)}
.reviews .revsum{font-size:17px;margin-top:8px;color:var(--blue)}
.reviews .revsum .stars{color:var(--blue);letter-spacing:3px}
.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px;text-align:left}
@media (max-width:760px){.rgrid{grid-template-columns:1fr}}
.rcard{background:#f2f7fc;border:1px solid #d8e6f3;border-radius:10px;padding:22px;margin:0}
.rcard .stars{color:var(--blue);letter-spacing:2px;margin-bottom:10px}
.rcard blockquote{margin:0;font-size:15.5px;line-height:1.6;color:var(--blue)}
.rcard figcaption{margin-top:14px;color:var(--blue)}
.rcard figcaption strong{display:block}
.rcard figcaption span{color:#52779e;font-size:13.5px}
.reviews .actions{display:flex;gap:14px 22px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:30px}
.reviews .revlink{font-weight:600;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.reviews .socialrow{margin-top:24px;color:#52779e}
.reviews .socialrow a{color:var(--blue);font-weight:600}

/* Catchphrase CTA band */
.ctaband{background:var(--blue);color:#e3eefb;text-align:left}
.ctaband .wrap{padding-top:56px;padding-bottom:56px}
.ctaband .phrase{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(28px,4vw,40px);color:#fff;line-height:1.2}
.ctaband .phrase::before{content:"";display:block;width:44px;height:3px;background:var(--green);margin-bottom:22px}
.ctaband p{margin:14px 0 26px;max-width:38em;font-size:17.5px}

/* Hours table */
table.hours{border-collapse:collapse;width:100%;max-width:520px;margin-top:10px}
table.hours td{padding:11px 4px;border-bottom:1px solid var(--line);font-size:16.5px;color:var(--blue)}
table.hours td:last-child{text-align:right;font-variant-numeric:tabular-nums}
table.hours tr.today td{font-weight:700;color:var(--blue)}

/* Form (visual only in preview) */
form.contact{display:grid;gap:14px;max-width:560px;margin-top:8px}
form.contact label{font-size:14.5px;font-weight:600;color:var(--ink);display:grid;gap:6px}
form.contact input,form.contact textarea{
  font-family:var(--sans);font-size:16px;padding:11px 13px;border:1px solid #b9c5d1;border-radius:4px;background:#fff;color:var(--ink);width:100%;
}
form.contact .note{font-size:13.5px;color:var(--muted)}

/* Footer */
footer.site{background:var(--ink);color:#b9c7d3;font-size:15px}
footer.site .wrap{padding-top:52px;padding-bottom:36px}
footer .cols-foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px 56px}
footer .fname{font-family:var(--serif);font-size:21px;color:#fff;font-weight:700}
footer h4{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#8fa3b5;margin-bottom:14px;font-family:var(--sans);font-weight:600}
footer ul{list-style:none}
footer li{padding:4px 0}
footer a{color:#d7e1ea}
footer a:hover{color:#fff}
footer .catch{font-family:var(--serif);font-style:italic;color:#fff;font-size:17px;margin-top:16px}
footer .legal{border-top:1px solid #2a3d4f;margin-top:38px;padding-top:20px;font-size:13.5px;color:#8496a6;display:flex;flex-wrap:wrap;gap:6px 26px}

/* Dropdown under Commercial */
nav.main .has-drop{position:relative}
nav.main .drop{
  list-style:none;position:absolute;left:-14px;top:100%;min-width:290px;
  background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(18,33,47,.12);
  padding:8px 0;display:none;z-index:30;
}
nav.main .has-drop:hover .drop,nav.main .has-drop:focus-within .drop{display:block}
nav.main .drop a{display:block;padding:9px 16px;border-bottom:none;font-size:15px}
nav.main .drop a:hover{background:var(--wash);border-bottom:none}
.caret{font-size:11px;color:var(--muted)}

/* IPM callout on Commercial page */
.ipm-callout{border:1px solid var(--line);border-left:4px solid var(--blue);background:#fff;padding:30px 34px}
.ipm-callout h2{margin-bottom:10px}

/* Printable facility documents */
.doc-sheet{border:1px solid var(--line);background:#fff;padding:40px 44px;margin-top:26px;color:var(--ink)}
.doc-sheet h2,.doc-sheet h3{color:var(--ink)}
.doc-head{display:flex;align-items:center;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:16px}
.doc-head img{width:52px;height:52px;object-fit:contain}
.doc-head h2{font-size:27px;margin:0}
.doc-head .doc-sub{color:var(--muted);font-size:14.5px}
.doc-fields{display:flex;flex-wrap:wrap;gap:14px 34px;margin:20px 0 6px;font-size:15px;color:var(--ink)}
.doc-fields .f{border-bottom:1px solid #98a4b0;min-width:220px;padding-bottom:3px}
.doc-fields .f.wide{min-width:320px}
.doc-fields .f span{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em;display:block}
.doc-instr{font-size:15px;margin:12px 0 16px}
table.log{border-collapse:collapse;width:100%}
table.log th,table.log td{border:1px solid #5a6672;padding:0 8px;font-size:13.5px;color:var(--ink);text-align:left}
table.log th{background:#eceff2;font-weight:600;padding:7px 8px}
table.log td{height:30px}
.doc-foot{margin-top:18px;font-size:14px;color:var(--ink);border-top:1px solid var(--line);padding-top:12px}
.sign-title{font-family:var(--serif);font-weight:700;font-size:34px;color:var(--ink);line-height:1.15;text-align:center}
.sign-lines{margin:26px auto 0;max-width:640px;font-size:18px;color:var(--ink)}
.sign-lines .row{padding:13px 2px;border-bottom:1px solid #98a4b0}
.sign-lines .row span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:2px}
.sign-info{max-width:640px;margin:26px auto 0;font-size:15.5px;color:var(--ink)}
.sign-info p{margin-bottom:10px}
.sign-small{max-width:640px;margin:18px auto 0;font-size:12.5px;color:var(--muted)}
.print-actions{margin:22px 0 4px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}

/* Homepage hero logo lockup (transparent shield) + CTA band shield */
.hero-photo .hero-logo{display:block;width:236px;height:236px;object-fit:contain;box-sizing:border-box;background:#fff;padding:18px;border-radius:22px;box-shadow:0 12px 32px rgba(2,16,32,.35);margin:0 auto 28px 0}
@media (max-width:680px){.hero-photo .hero-logo{width:168px;height:168px;padding:12px;border-radius:18px;margin:0 auto 20px 0}}
.ctaband .cta-logo{display:block;width:108px;height:108px;object-fit:contain;box-sizing:border-box;background:#fff;padding:10px;border-radius:16px;margin:0 auto 18px}

/* "House in the Cloud" entrance posting sign (Michigan Reg. 637, Rule 11) */
.cloud-sign{width:5in;max-width:100%;aspect-ratio:1/1;margin:8px auto 0;background:#e9e9e6;
  border:2px solid #000;color:#000;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;padding:.3in;box-sizing:border-box;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.cloud-sign svg{width:64%;height:auto;display:block}
.cloud-sign .cs-words{font-family:var(--sans);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:20pt;line-height:1.3;margin-top:18px;color:#000}
.cloud-sign .cs-date{font-size:14.5pt;margin-top:16px;color:#000}
.cloud-sign .cs-firm{font-size:10.5pt;margin-top:20px;color:#000}

/* ---------- Media pass: photos, video, blue bands, centered sections ---------- */
section .wrap{text-align:center}
section .lede{margin-left:auto;margin-right:auto}
.doc-sheet{text-align:left}
.pagehero .wrap{text-align:center}
.pagehero h1,.pagehero p{margin-left:auto;margin-right:auto}
.rulelist{max-width:920px;margin-left:auto;margin-right:auto;text-align:left}
.townlist{max-width:920px;margin-left:auto;margin-right:auto;text-align:left}
.checks{display:inline-block;text-align:left;max-width:100%}
.svc-row{text-align:center}
.svc-row .price{text-align:center}
.steps{max-width:820px;margin-left:auto;margin-right:auto}
.steps li p{text-align:center}
form.contact{margin-left:auto;margin-right:auto;text-align:left}
table.hours{margin-left:auto;margin-right:auto}
.ratingband .wrap{justify-content:center;text-align:center}
.ratingband p{margin-left:auto;margin-right:auto}
.ctaband{text-align:center}
.ctaband .phrase::before{margin:0 auto 22px}
.ctaband p{margin-left:auto;margin-right:auto}

/* Photo hero (home) — dark scrim is used here only, for legibility */
.hero-photo{position:relative;background:var(--blue-dark)}
.hero-photo .heroimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.hero-photo .scrim{position:absolute;inset:0;background:rgba(4,22,43,.64)}
.hero-photo .wrap{position:relative;text-align:center}
.hero-photo .eyebrow{justify-content:center}
.hero-photo h1,.hero-photo p.lede{margin-left:auto;margin-right:auto}
.hero-photo .actions,.hero-photo .rating{justify-content:center}

/* Solid brand-blue band */
section.blueband{background:var(--blue);color:#dbe7f5}
.blueband h2,.blueband h3{color:#fff}
.blueband .kicker{color:#a9cdf5}
.blueband .lede{color:#dbe7f5}
.blueband a{color:#fff}
.blueband .rulelist li{border-bottom-color:rgba(255,255,255,.28);color:#fff}
.blueband .rulelist li span.note{color:#a9cdf5}
.blueband .svc{border-top-color:rgba(255,255,255,.28)}
.blueband .svc-row{border-bottom-color:rgba(255,255,255,.28)}
.blueband .svc-row p{color:#dbe7f5}
.blueband .svc-row .price{color:#dbe7f5}
.blueband .svc-row .price strong{color:var(--green)}
.blueband .svc-row .price a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.blueband p{color:#dbe7f5}
.blueband .checks li{color:#fff;border-bottom-color:rgba(255,255,255,.28)}
.blueband .checks li::before{color:var(--green)}
.blueband .steps li{border-bottom-color:rgba(255,255,255,.28)}
.blueband .steps li::before{color:var(--green)}
.blueband .steps strong{color:#fff}
.blueband .townlist li{color:#fff;border-bottom-color:rgba(255,255,255,.28)}
.blueband .photopair figcaption{color:#dbe7f5}
.blueband .photopair figcaption strong{color:#fff}
.blueband .wideband figcaption{color:#dbe7f5}
.blueband table.hours td{color:#fff;border-bottom-color:rgba(255,255,255,.28)}
.blueband table.hours tr.today td{color:var(--green)}

/* Photo tiles — "What we treat" */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1040px;margin:34px auto 4px}
.tiles figure{margin:0}
.tiles img{width:100%;height:190px;object-fit:cover;border-radius:6px}
.tiles figcaption{margin-top:11px;font-weight:600;font-size:16.5px;color:#fff}
.tiles figcaption span{display:block;font-weight:400;font-size:14px;color:#a9cdf5;margin-top:2px}

/* Video */
.videowrap{max-width:880px;margin:28px auto 0}
.videowrap.portrait{max-width:470px}
.videowrap video{width:100%;height:auto;display:block;border-radius:6px;background:#0b1c2c}
.videowrap img{width:100%;height:auto;display:block;border-radius:6px}
.vidcap{margin-top:12px;font-size:15px;color:var(--blue-soft)}

/* From-the-field strip (built for the owner's real job photos) */
.fieldstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.fieldstrip figure{margin:0}
.fieldstrip img{width:100%;height:230px;object-fit:cover;border-radius:6px}
.fieldstrip figcaption{margin-top:11px;font-size:15px}
.fieldstrip figcaption strong{display:block;font-family:var(--serif);font-size:18.5px;margin-bottom:2px}
.blueband .fieldstrip figcaption{color:#dbe7f5}
.blueband .fieldstrip figcaption strong{color:#fff}
.stripnote{margin-top:20px;font-size:13.5px;opacity:.75}

/* Photo pair (commercial) */
.photopair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.photopair figure{margin:0}
.photopair img{width:100%;height:330px;object-fit:cover;border-radius:6px}
.photopair figcaption{margin-top:11px;font-size:15px;color:var(--blue-soft)}
.photopair figcaption strong{display:block;font-family:var(--serif);font-size:18.5px;color:var(--blue)}

/* Wide photo band + side photo */
.wideband{margin:0}
.wideband img{width:100%;height:340px;object-fit:cover;border-radius:6px}
.wideband figcaption{margin-top:11px;font-size:15px;color:var(--blue-soft)}
.sidephoto{width:100%;height:100%;min-height:280px;object-fit:cover;border-radius:6px}

/* Step photos (residential method) */
.steps li.hasphoto{grid-template-columns:52px 1fr 290px}
.steps .stepimg{width:100%;height:180px;object-fit:cover;border-radius:6px}

/* Footer flag */
footer .fname{display:flex;align-items:center;gap:11px}
footer .fname .flag{width:26px;height:14px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.28);flex:none}

/* Nested item in Commercial dropdown */
nav.main .drop a.sub{padding-left:32px;font-size:14px;color:var(--muted)}
nav.main .drop a.sub::before{content:"— "}

@media (max-width:900px){
  .tiles{grid-template-columns:repeat(2,1fr)}
  .fieldstrip{grid-template-columns:1fr 1fr}
  .steps li.hasphoto{grid-template-columns:52px 1fr}
  .steps .stepimg{grid-column:2;max-width:420px}
  .photopair img{height:260px}
}
@media (max-width:680px){
  .tiles img{height:150px}
  .fieldstrip{grid-template-columns:1fr}
  .photopair{grid-template-columns:1fr}
  .wideband img{height:230px}
}

@media print{
  .topbar,header.site,footer.site,.ctaband,.pagehero,.print-actions,.no-print{display:none !important}
  body{font-size:12pt;color:#000}
  section{padding:0}
  .wrap{max-width:none;padding:0}
  .doc-sheet{border:none;padding:0;margin:0}
  .cloud-sign{width:5in;height:5in;margin:0 auto;border:2px solid #000;
    -webkit-print-color-adjust:exact;print-color-adjust:exact}
  .doc-cols-note{display:none}
}
@page{size:Letter;margin:.6in}
@media (max-width:900px){
  .townlist{columns:2}
  .svc-row{grid-template-columns:1fr}
  footer .cols-foot{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  body{font-size:16px}
  header.site .wrap{flex-wrap:wrap}
  nav.main{order:3;width:100%;gap:22px;flex-wrap:wrap;margin-left:0}
  header .btn{margin-left:auto}
  .rulelist,.townlist{columns:1}
  .cols{grid-template-columns:1fr}
  section{padding:48px 0}
  .hero .wrap{padding-top:52px;padding-bottom:52px}
  .trust div + div{border-left:none;padding-left:0}
  footer .cols-foot{grid-template-columns:1fr}
}
