:root{
  --charcoal:#2E3338;
  --panel:#E8E6E1;
  --orange:#F05A1A;
  --ink:#141414;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--panel);
  color:var(--ink);
  font-family:Inter,Arial,sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.stencil{
  font-family:Oswald,Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:600;
}
h1,h2,h3{font-family:Oswald,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin:0 0 .5em}
p{margin:0 0 1em}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:10px;top:10px;background:var(--orange);color:var(--ink);padding:8px 14px;z-index:30}

/* ---------- header ---------- */
.site-head{background:var(--charcoal);color:var(--panel);border-bottom:6px solid var(--orange)}
.statusbar{border-bottom:2px dashed rgba(232,230,225,.4)}
.statusbar-in{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.stamp{
  font-family:Oswald,Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  font-weight:700;
  padding:3px 10px;
  border:2px solid var(--orange);
  color:var(--orange);
  transform:rotate(-3deg);
}
.stamp-ok{border-color:var(--panel);color:var(--panel);transform:rotate(2deg)}
.status-txt{font-size:12px;font-weight:500;color:rgba(232,230,225,.85)}
.status-right{margin-left:auto}

.head-in{display:flex;align-items:center;gap:16px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}
.brandbox{display:flex;flex-direction:column;line-height:1}
.brand{font-size:30px;letter-spacing:.14em}
.brand-sub{font-size:11px;color:var(--orange);letter-spacing:.22em;margin-top:6px;font-weight:500}
.nav{margin-left:auto;display:flex;gap:20px;flex-wrap:wrap}
.nav a{font-size:13px;text-decoration:none;padding-bottom:3px;border-bottom:2px solid transparent}
.nav a:hover{border-bottom-color:var(--orange);color:var(--orange)}
.navtoggle{display:none;margin-left:auto;background:var(--orange);color:var(--ink);border:0;padding:9px 16px;font-size:13px;cursor:pointer}

.head-lead{padding-bottom:46px;padding-top:14px}
.head-lead h1{font-size:clamp(34px,7vw,72px);line-height:1.02;margin-bottom:18px}
.hl{color:var(--orange);-webkit-text-stroke:0}
.lead{max-width:48ch;color:rgba(232,230,225,.9)}
.cta-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}
.btn{
  display:inline-block;
  background:var(--orange);
  color:var(--ink);
  font-family:Oswald,Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:700;
  text-decoration:none;
  padding:14px 26px;
  border:2px solid var(--ink);
}
.btn:hover{background:var(--panel)}
.meta{font-size:12px;border:2px dashed rgba(232,230,225,.6);padding:10px 14px;color:var(--panel)}

/* ---------- quote ---------- */
.quote-sec{background:var(--panel);border-bottom:2px dashed var(--charcoal)}
.quote-in{padding:44px 20px;position:relative}
.quote-mark{font-size:80px;line-height:.4;color:var(--orange);margin:0 0 10px}
.quote-text{font-family:Oswald,Arial,sans-serif;font-size:clamp(22px,3.4vw,34px);line-height:1.25;text-transform:uppercase;letter-spacing:.03em;max-width:24ch;margin-bottom:14px}
.quote-by{font-size:12px;color:var(--charcoal);letter-spacing:.2em}

/* ---------- caution ---------- */
.caution{background:var(--panel)}
.tape{overflow:hidden;background:var(--ink);border-top:3px solid var(--orange);border-bottom:3px solid var(--orange)}
.tape-track{display:flex;white-space:nowrap;color:var(--orange);font-size:13px;letter-spacing:.3em;padding:9px 0;animation:slide 26s linear infinite}
.tape-track span{padding-right:14px}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-33.33%)}}
@media (prefers-reduced-motion:reduce){.tape-track{animation:none}}

.labelgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-top:34px;padding-bottom:34px}
.label-box{border:2px dashed var(--charcoal);border-right-width:0;padding:18px 16px}
.label-box:last-child{border-right-width:2px}
.label-box p{margin:0;font-size:15px}
.tag{display:inline-block;background:var(--charcoal);color:var(--panel);font-size:11px;padding:4px 9px;margin-bottom:10px}

/* ---------- services ---------- */
.services{background:var(--charcoal);color:var(--panel);padding:52px 0 60px;border-top:6px solid var(--orange)}
.sec-head{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.sec-head h2{font-size:clamp(24px,4vw,40px);margin:0}
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.spec{border:2px dashed rgba(232,230,225,.55);padding:20px;position:relative;background:rgba(20,20,20,.18)}
.spec-no{font-size:40px;line-height:1;color:var(--orange);margin-bottom:8px}
.spec h3{font-size:19px;margin-bottom:12px}
.spec p{font-size:15px;color:rgba(232,230,225,.9)}
.spec-rows{list-style:none;margin:16px 0 0;padding:0;border-top:2px solid rgba(232,230,225,.3)}
.spec-rows li{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:9px 0;border-bottom:1px dashed rgba(232,230,225,.3)}
.spec-rows li span:first-child{font-size:11px;color:var(--orange);letter-spacing:.14em}
.price{font-family:Oswald,Arial,sans-serif;font-weight:700;letter-spacing:.06em;color:var(--panel)}

.checklist{margin-top:44px;background:var(--panel);color:var(--ink);border:4px solid var(--ink);padding:26px}
.checklist-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.checklist-head h2{font-size:clamp(20px,3vw,30px);margin:0}
.checks{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.check{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;border:2px dashed var(--charcoal);padding:12px 14px;cursor:pointer;font:inherit;color:inherit}
.check .box{width:18px;height:18px;border:2px solid var(--ink);flex:0 0 18px;position:relative}
.check .txt{font-size:13px}
.check[aria-pressed="true"]{border-style:solid;border-color:var(--orange)}
.check[aria-pressed="true"] .box{background:var(--orange)}
.check[aria-pressed="true"] .box::after{content:"";position:absolute;left:4px;top:0;width:6px;height:11px;border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(42deg)}
.note{font-size:14px;margin:0;border-top:2px dashed var(--charcoal);padding-top:14px}

/* ---------- contact ---------- */
.contact{background:var(--panel);padding:52px 0 30px}
.contact-panel{border:5px solid var(--ink);display:grid;grid-template-columns:1.2fr 1fr}
.contact-col{padding:26px}
.contact-col:first-child{background:var(--charcoal);color:var(--panel)}
.contact-col h2{font-size:clamp(24px,4vw,36px)}
.contact-col h3{font-size:18px}
.addr{font-size:17px;line-height:1.5;border-left:4px solid var(--orange);padding-left:12px}
.maillink{font-size:14px}
.hours{list-style:none;margin:0 0 12px;padding:0}
.hours li{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:8px 0;border-bottom:1px dashed var(--charcoal)}
.hours li span:first-child{font-size:11px;letter-spacing:.14em}
.small{font-size:14px}
.social{display:flex;gap:10px;margin-top:6px}
.social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:2px solid var(--ink);color:var(--ink)}
.social a:hover{background:var(--orange)}

.foot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:2px dashed var(--charcoal);margin-top:30px;padding:18px 0;font-size:12px;letter-spacing:.1em}
.foot-links{display:flex;gap:18px}
.foot a{text-decoration:none;border-bottom:2px solid var(--orange)}

/* ---------- policy ---------- */
.policy{padding:44px 20px 10px;max-width:780px}
.policy h1{font-size:clamp(26px,5vw,44px)}
.policy h2{font-size:18px;margin-top:28px}
.policy p{font-size:16px}
.policy-back{margin-top:30px}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .labelgrid{grid-template-columns:repeat(2,1fr)}
  .label-box{border-right-width:2px;border-bottom-width:0}
  .label-box:nth-last-child(-n+2){border-bottom-width:2px}
  .spec-grid{grid-template-columns:1fr}
  .contact-panel{grid-template-columns:1fr}
}
@media (max-width:640px){
  .navtoggle{display:block}
  .nav{display:none;width:100%;flex-direction:column;gap:10px;border-top:2px dashed rgba(232,230,225,.4);padding-top:14px;margin-left:0}
  .nav.nav-open{display:flex}
  .status-right{margin-left:0}
  .checks{grid-template-columns:1fr}
  .labelgrid{grid-template-columns:1fr}
  .label-box{border-bottom-width:0}
  .label-box:last-child{border-bottom-width:2px}
  .cta-row{gap:12px}
}
