:root{
  --concrete:#c9c7c2;
  --concrete-2:#dcdad4;
  --charcoal:#1c1c1a;
  --charcoal-2:#2b2b27;
  --grey:#5c5c56;
  --offwhite:#f4f2ed;
  --yellow:#f5c400;
  --orange:#e2670f;
  --line:#a19e96;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--offwhite);
  color:var(--charcoal);
  font-family:Inter,system-ui,"Segoe UI",Arial,sans-serif;
  font-size:16px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%}
a{color:inherit}
h1,h2,h3,h4,.label,.btn,.nav a,.stamp,.zone,.step-num,.brand-txt,.plan-price,thead th,summary{
  font-family:Oswald,"Arial Narrow",Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:600;
}
h1,h2,h3{margin:0 0 14px;line-height:1.05}
h1{font-size:clamp(30px,6vw,60px);font-weight:700;letter-spacing:.02em}
h2{font-size:clamp(22px,3.4vw,34px)}
h3{font-size:18px}
p{margin:0 0 14px}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.small{font-size:13px;color:var(--grey)}
.mt{margin-top:54px}

/* CAUTION TAPE */
.tape{position:relative;background:var(--yellow);overflow:hidden;border-bottom:3px solid var(--charcoal)}
.tape::before,.tape::after{content:"";position:absolute;left:0;right:0;height:6px;
  background:repeating-linear-gradient(90deg,var(--charcoal) 0 12px,transparent 12px 24px)}
.tape::before{top:0}
.tape::after{bottom:0}
.tape-track{display:flex;width:max-content;padding:11px 0;animation:tape 32s linear infinite}
.tape-track span{font-family:Oswald,"Arial Narrow",sans-serif;font-weight:600;font-size:12px;
  letter-spacing:.22em;white-space:nowrap;color:var(--charcoal)}
@keyframes tape{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tape-track{animation:none}}

/* HEADER */
.site-head{position:sticky;top:0;z-index:30;background:var(--charcoal);color:var(--offwhite);border-bottom:4px solid var(--yellow)}
.head-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--yellow);color:var(--charcoal);
  font-family:Oswald,sans-serif;font-weight:700;font-size:19px;letter-spacing:.04em;border:2px solid var(--charcoal)}
.brand-txt{display:block;font-size:19px;line-height:1;letter-spacing:.1em}
.brand-txt em{font-style:normal;color:var(--yellow)}
.brand-txt small{display:block;font-family:Inter,sans-serif;font-weight:400;text-transform:none;
  letter-spacing:.02em;font-size:11px;color:#a6a49d;margin-top:4px}
.nav a{font-size:13px;text-decoration:none;color:#cfccc4}
.nav a:hover{color:var(--yellow)}
.nav a.is-active{color:var(--charcoal);background:var(--yellow);padding:4px 8px}
.nav .nav-cta{border:2px solid var(--yellow);color:var(--yellow);padding:7px 12px}
.nav .nav-cta:hover{background:var(--yellow);color:var(--charcoal)}
.nav-toggle{display:none;background:none;border:2px solid var(--offwhite);color:var(--offwhite);
  font-family:Oswald,sans-serif;font-size:13px;letter-spacing:.16em;padding:8px 14px;cursor:pointer}
@media (min-width:901px){.nav{display:flex;align-items:center;gap:20px}}
@media (max-width:900px){
  .head-inner{flex-wrap:wrap}
  .nav-toggle{display:block}
  .nav{display:none;width:100%;flex-direction:column;border-top:1px dashed #56534c;margin-top:10px}
  .nav.open{display:flex}
  .nav a{padding:13px 2px;border-bottom:1px dashed #3d3a34}
  .nav a.is-active{display:inline-block}
  .nav .nav-cta{margin:12px 0;text-align:center}
}

/* STATUS BAR */
.statusbar{background:var(--concrete);border-bottom:2px dashed var(--charcoal)}
.statusbar-inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 20px}
.st-item{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.st-item b{font-family:Oswald,sans-serif}
.stamp{display:inline-block;border:2px solid var(--orange);color:var(--orange);font-size:11px;
  letter-spacing:.2em;padding:3px 9px;transform:rotate(-3deg)}
.stamp-ok{border-color:var(--charcoal);color:var(--charcoal)}

/* HERO */
.hero{
  background-color:var(--charcoal);
  background-image:
    repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 54px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 54px);
  color:var(--offwhite);
  border-bottom:6px solid var(--yellow);
}
.hero-inner{padding:58px 20px 46px}
.kicker{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--yellow);margin-bottom:18px}
.hero h1{max-width:18ch}
.hollow{color:var(--yellow)}
@supports (-webkit-text-stroke:2px #000){.hollow{-webkit-text-stroke:2px var(--yellow);color:transparent}}
.lead{max-width:62ch;font-size:17px;color:#d8d5ce}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 34px}
.btn{display:inline-block;padding:14px 22px;font-size:13px;letter-spacing:.14em;text-decoration:none;
  border:2px solid var(--charcoal);background:var(--yellow);color:var(--charcoal);cursor:pointer}
.btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--charcoal)}
.btn-ghost{background:transparent;color:var(--offwhite);border-color:var(--offwhite)}
.btn-ghost:hover{box-shadow:4px 4px 0 var(--yellow)}
.btn-dark{background:var(--charcoal);color:var(--yellow);border-color:var(--charcoal)}
.btn-dark:hover{box-shadow:4px 4px 0 var(--yellow)}
.spec-row{list-style:none;margin:0;padding:0;display:grid;gap:0;grid-template-columns:repeat(4,1fr);
  border:2px dashed #6f6c63}
.spec-row li{padding:16px 14px;border-right:2px dashed #6f6c63}
.spec-row li:last-child{border-right:0}
.spec-row b{display:block;font-family:Oswald,sans-serif;font-size:23px;color:var(--yellow);letter-spacing:.04em}
.spec-row span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#b3b0a8}
@media (max-width:760px){.spec-row{grid-template-columns:repeat(2,1fr)}
  .spec-row li:nth-child(2n){border-right:0}
  .spec-row li:nth-child(-n+2){border-bottom:2px dashed #6f6c63}}

/* PAGE HEAD (subpages) */
.page-head{background:var(--charcoal);color:var(--offwhite);padding:46px 0 40px;border-bottom:6px solid var(--yellow)}
.page-head h1{max-width:20ch}

/* SECTIONS */
.sec{padding:62px 0}
.sec-grey{background:var(--concrete-2);border-top:2px dashed var(--line);border-bottom:2px dashed var(--line)}
.sec-dark{background:var(--charcoal-2);color:var(--offwhite)}
.sec-head{margin-bottom:30px;border-top:6px solid var(--charcoal);padding-top:14px}
.sec-head-inv{border-top-color:var(--yellow)}
.label{display:block;font-size:11px;letter-spacing:.24em;color:var(--orange);margin:0 0 8px}
.sec-head-inv .label{color:var(--yellow)}
.sec-sub{max-width:68ch;color:var(--grey)}
.sec-dark .sec-sub{color:#c3c0b8}
.after-list{margin-top:30px}

/* CHECKLIST */
.checklist{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.chk{border:2px dashed var(--line);background:#fffefb;padding:22px}
.chk h3{margin-bottom:10px}
.chk p{font-size:14.5px;margin-bottom:8px}
.chk .meta{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:11px;letter-spacing:.16em;
  color:var(--charcoal);background:var(--yellow);display:inline-block;padding:3px 8px;margin:0}
.ico{width:26px;height:26px;color:var(--orange);display:block;margin-bottom:10px}
.checklist-tight .chk{background:transparent}
.tick{list-style:none;margin:0 0 6px;padding:0}
.tick li{position:relative;padding-left:22px;font-size:14.5px;margin-bottom:7px}
.tick li::before{content:"";position:absolute;left:0;top:7px;width:9px;height:9px;
  background:var(--orange);transform:rotate(45deg)}

/* STEPS */
.steps{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.step{border-top:7px solid var(--yellow);padding-top:14px}
.step-num{display:block;font-size:46px;line-height:1;color:var(--yellow);font-weight:700;letter-spacing:.02em}
.step h3{margin:8px 0 8px}
.step p{font-size:14.5px;color:#c6c3bb}

/* ZONES */
.zones{display:flex;flex-wrap:wrap;gap:10px}
.zone{border:2px dashed var(--charcoal);padding:8px 12px;font-size:12px;letter-spacing:.14em;background:#fffefb}
.zone:hover{background:var(--yellow)}
.zones-alt .zone{border-style:solid;border-color:var(--line);background:transparent}

/* NOTES */
.notes{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.note{border:2px solid var(--charcoal);background:#fffefb;padding:22px}
.note p{font-size:14.5px}
.note-by{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:11px;letter-spacing:.14em;color:var(--grey);margin:0}
.note .stamp{margin-bottom:12px}

/* TABLE */
.table-wrap{overflow-x:auto;border:2px solid var(--charcoal)}
.spec-table{width:100%;border-collapse:collapse;min-width:640px;background:#fffefb}
.spec-table thead th{background:var(--charcoal);color:var(--offwhite);font-size:11px;letter-spacing:.18em;
  text-align:left;padding:12px 14px}
.spec-table td{padding:12px 14px;border-bottom:1px dashed var(--line);font-size:14.5px;vertical-align:top}
.spec-table tbody tr:last-child td{border-bottom:0}
.spec-table td:last-child{font-family:Oswald,sans-serif;font-weight:600;white-space:nowrap}
.spec-table tbody tr:hover{background:#f7f3e2}

/* PLANS */
.plans{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.plan{border:2px dashed var(--charcoal);background:#fffefb;padding:24px}
.plan-hi{border-style:solid;border-width:4px;background:var(--charcoal);color:var(--offwhite)}
.plan-hi .tick li{color:#dedbd3}
.plan-hi .stamp{border-color:var(--yellow);color:var(--yellow)}
.plan h3{margin:12px 0 6px;font-size:22px}
.plan-price{font-size:26px;margin:0 0 14px}
.plan-price small{font-family:Inter,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--grey)}
.plan-hi .plan-price small{color:#b0ada5}

/* FAQ */
.faq{border-top:2px dashed #5d5a52}
.faq details{border-bottom:2px dashed #5d5a52;padding:6px 0}
.faq summary{cursor:pointer;padding:14px 0;font-size:15px;letter-spacing:.08em;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+ ";color:var(--yellow)}
.faq details[open] summary::before{content:"– "}
.faq p{font-size:14.5px;color:#c6c3bb;max-width:75ch;padding-bottom:10px}

/* PANEL + FORM */
.panel{border:4px solid var(--charcoal);background:#fffefb;padding:28px}
.panel-grid{display:grid;gap:30px;grid-template-columns:1.25fr .85fr}
.panel-h{margin-bottom:12px}
@media (max-width:860px){.panel-grid{grid-template-columns:1fr}}
.panel-side{background:var(--charcoal);color:var(--offwhite);padding:24px;border:2px dashed var(--yellow)}
.panel-side .label{color:var(--yellow)}
.panel-side a{color:var(--yellow)}
.addr{font-size:15px;line-height:1.5}
.big-tel{font-family:Oswald,sans-serif;font-size:22px;letter-spacing:.04em;margin:10px 0}
.big-tel a{text-decoration:none}
.hours{list-style:none;padding:0;margin:0 0 6px}
.hours li{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:5px 0;border-bottom:1px dashed #4a473f}
.hours b{font-family:Oswald,sans-serif;font-weight:500}
.dash{border:0;border-top:2px dashed #4a473f;margin:18px 0}
.panel-side .small{color:#b0ada5}
.form{margin-top:18px}
.f-row{margin-bottom:14px}
.f-two{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media (max-width:620px){.f-two{grid-template-columns:1fr}}
.form label{display:block;font-family:Oswald,sans-serif;text-transform:uppercase;font-size:11px;
  letter-spacing:.16em;margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;border:2px solid var(--charcoal);background:var(--offwhite);
  padding:11px 12px;font:inherit;font-size:15px;border-radius:0;color:var(--charcoal)}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid var(--yellow);outline-offset:1px}
.form textarea{resize:vertical}
.f-check{display:flex;align-items:flex-start;gap:10px;margin:6px 0 18px}
.f-check input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--orange)}
.f-check span{font-family:Inter,sans-serif;text-transform:none;letter-spacing:0;font-size:13px;color:var(--grey)}
.form .invalid{border-color:var(--orange);background:#fdf0e5}
.form-msg{margin-top:14px;font-family:Oswald,sans-serif;text-transform:uppercase;font-size:12px;letter-spacing:.14em}
.form-msg.ok{background:var(--yellow);border:2px solid var(--charcoal);padding:10px 12px}
.form-msg.err{color:var(--orange)}

/* DOC */
.doc{max-width:860px}
.doc h2{margin-top:32px;font-size:20px;border-left:7px solid var(--yellow);padding-left:12px}
.doc p,.doc li{font-size:15px}
.doc a{color:var(--orange)}

/* FOOTER */
.site-foot{background:var(--charcoal);color:#cfccc4;padding-top:46px;border-top:6px solid var(--yellow)}
.foot-grid{display:grid;gap:28px;grid-template-columns:1.4fr .8fr .9fr 1fr;padding-bottom:34px}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.foot-grid{grid-template-columns:1fr}}
.foot-brand{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:18px;
  margin:12px 0 8px;color:var(--offwhite)}
.site-foot .label{color:var(--yellow)}
.site-foot .small{color:#98958e}
.foot-list{list-style:none;padding:0;margin:0;font-size:14px}
.foot-list li{padding:4px 0}
.foot-list a{text-decoration:none}
.foot-list a:hover{color:var(--yellow)}
.social{display:flex;flex-wrap:wrap;gap:8px}
.social a{border:2px dashed #5d5a52;padding:6px 10px;font-family:Oswald,sans-serif;font-size:11px;
  letter-spacing:.16em;text-decoration:none;color:#cfccc4}
.social a:hover{border-color:var(--yellow);color:var(--yellow)}
.social-dark a{color:var(--yellow);border-color:var(--yellow)}
.foot-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  border-top:2px dashed #45423b;padding-top:16px;padding-bottom:22px;font-size:12px;
  text-transform:uppercase;letter-spacing:.1em}
.foot-bottom p{margin:0}
