:root{
  --charcoal:#4A5056;
  --panel:#F2F0EB;
  --orange:#FF6A00;
  --ink:#161616;
}
*{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:16px;
  line-height:1.6;
}
.wrap{width:min(1180px,92vw);margin:0 auto}
h1,h2,h3,.kicker,.stamp,.btn,.brand,.idx,.step-no,.labels li,.hrow,.card-head,.specrow span,.price,.brand-mini,.nav-menu a{
  font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.06em;
}
a{color:var(--ink)}

/* ---------- status bar ---------- */
.statusbar{background:var(--ink);border-bottom:3px dashed var(--orange)}
.statusbar-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;justify-content:space-between;padding:.55rem 0}
.status-txt{color:var(--panel);font-family:"Roboto Condensed",Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem}
.stamp{
  display:inline-block;border:2px dashed var(--orange);color:var(--orange);
  padding:.1rem .55rem;font-weight:700;font-size:.68rem;letter-spacing:.22em;
  transform:rotate(-2deg);
}
.stamp.light{border-color:var(--ink);color:var(--ink)}

/* ---------- nav ---------- */
.nav{background:var(--charcoal);border-bottom:4px solid var(--ink)}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;flex-wrap:wrap}
.brand{color:var(--panel);text-decoration:none;font-weight:700;font-size:1.5rem;letter-spacing:.14em;display:flex;align-items:center;gap:.6rem;line-height:1}
.brand small{display:block;font-size:.58rem;letter-spacing:.2em;color:var(--orange);margin-top:.25rem}
.brand-mark{width:18px;height:18px;background:var(--orange);display:inline-block;transform:skewX(-14deg)}
.nav-toggle{
  display:none;background:var(--orange);color:var(--ink);border:0;font-family:"Roboto Condensed",Arial,sans-serif;
  font-weight:700;letter-spacing:.2em;padding:.5rem 1rem;cursor:pointer;
}
.nav-menu{list-style:none;display:flex;gap:1.2rem;margin:0;padding:0;align-items:center;flex-wrap:wrap}
.nav-menu a{color:var(--panel);text-decoration:none;font-size:.82rem;letter-spacing:.14em;border-bottom:2px solid transparent;padding-bottom:2px}
.nav-menu a:hover{border-bottom-color:var(--orange);color:var(--orange)}
.nav-cta{background:var(--orange);color:var(--ink) !important;padding:.42rem .8rem;font-weight:700}
.nav-cta:hover{color:var(--panel) !important;background:var(--ink)}

/* ---------- hero ---------- */
.hero{background:var(--charcoal);padding:3rem 0 3.4rem;border-bottom:4px solid var(--ink)}
.hero-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:1.6rem;align-items:start}
.kicker{color:var(--orange);font-size:.72rem;letter-spacing:.24em;margin:0 0 1rem}
h1{
  margin:0 0 1.1rem;color:var(--panel);font-size:clamp(2.4rem,7vw,4.6rem);
  line-height:.95;font-weight:700;letter-spacing:.02em;
}
h1 .hl{color:var(--orange)}
.scope{color:var(--panel);max-width:46ch;margin:0 0 1.5rem}
.btn{
  display:inline-block;background:var(--orange);color:var(--ink);text-decoration:none;
  padding:.85rem 1.6rem;font-weight:700;letter-spacing:.18em;border:3px solid var(--ink);cursor:pointer;
  font-family:"Roboto Condensed",Arial,sans-serif;font-size:1rem;
}
.btn:hover{background:var(--ink);color:var(--orange)}
.specrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:2rem;border:2px dashed var(--panel)}
.specrow div{padding:.7rem .8rem;border-right:2px dashed var(--panel)}
.specrow div:last-child{border-right:0}
.specrow span{display:block;color:var(--orange);font-size:.6rem;letter-spacing:.2em}
.specrow strong{color:var(--panel);font-family:"Roboto Condensed",Arial,sans-serif;font-size:1.05rem;letter-spacing:.06em}
.hero-card{background:var(--panel);border:4px solid var(--ink);padding:1.2rem}
.card-head{margin:0 0 .8rem;font-weight:700;font-size:.8rem;letter-spacing:.22em;color:var(--orange);border-bottom:3px solid var(--ink);padding-bottom:.4rem}
.card-head.dark{color:var(--ink)}
.daylist{list-style:none;margin:0 0 1rem;padding:0}
.daylist li{border-bottom:2px dashed var(--charcoal);padding:.5rem 0;font-size:.92rem}
.daylist b{font-family:"Roboto Condensed",Arial,sans-serif;color:var(--orange);margin-right:.5rem;letter-spacing:.08em}
.card-note{font-size:.84rem;color:var(--charcoal);margin:0}

/* ---------- sections ---------- */
.section{padding:3.2rem 0}
.section.alt{background:var(--charcoal);border-top:4px solid var(--ink);border-bottom:4px solid var(--ink)}
.sec-head{display:flex;align-items:center;gap:1rem;justify-content:space-between;border-bottom:4px solid var(--ink);padding-bottom:.6rem;margin-bottom:1.2rem}
.sec-head h2{margin:0;font-size:clamp(1.6rem,4vw,2.5rem);letter-spacing:.08em}
.sec-head h2.on-dark{color:var(--panel)}
.section.alt .sec-head{border-bottom-color:var(--panel)}
.section.alt .sec-head h2{color:var(--panel)}
.section.alt .stamp.light{border-color:var(--panel);color:var(--panel)}
.lead{max-width:62ch;margin:0 0 1.8rem;color:var(--charcoal)}

/* ---------- spec list ---------- */
.speclist{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.speclist li{
  display:grid;grid-template-columns:70px 1fr 170px;gap:1rem;
  border:3px dashed var(--charcoal);background:var(--panel);padding:1.1rem;
}
.speclist li:hover{border-color:var(--orange)}
.idx{font-size:2rem;font-weight:700;color:var(--orange);line-height:1}
.spec-body h3{margin:0 0 .4rem;font-size:1.12rem;letter-spacing:.04em}
.spec-body p{margin:0 0 .6rem;font-size:.93rem;color:var(--charcoal)}
.ticks{list-style:none;margin:0;padding:0}
.ticks li{position:relative;padding-left:1.5rem;font-size:.86rem;margin-bottom:.25rem}
.ticks li::before{
  content:"";position:absolute;left:0;top:.42em;width:10px;height:10px;
  background:var(--orange);transform:skewX(-14deg);
}
.price{border-left:3px dashed var(--charcoal);padding-left:1rem;align-self:center}
.price span{display:block;font-size:.62rem;letter-spacing:.2em;color:var(--charcoal)}
.price strong{font-size:1.5rem;letter-spacing:.04em;display:block;line-height:1.1}

/* ---------- hours ---------- */
.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.hours-table{border:3px solid var(--panel)}
.hrow{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .9rem;border-bottom:2px dashed var(--panel);color:var(--panel);font-size:.9rem;letter-spacing:.12em}
.hrow:last-child{border-bottom:0}
.hrow b{color:var(--orange)}
.hrow.closed{background:var(--ink)}
.hrow.closed b{color:var(--panel)}
.hours-note{background:var(--panel);border:4px solid var(--ink);padding:1.2rem}
.hours-note p{font-size:.93rem}
.hours-note p:last-child{margin-bottom:0}

/* ---------- caution ---------- */
.caution-strip{background:var(--orange);border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);overflow:hidden}
.caution-row{display:flex;gap:1.6rem;padding:.5rem 0;white-space:nowrap;overflow:hidden}
.caution-row span{font-family:"Roboto Condensed",Arial,sans-serif;font-weight:700;letter-spacing:.26em;font-size:.72rem;color:var(--ink)}
.dark-sec{background:var(--ink)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2.4rem}
.step{border-top:8px solid var(--orange);background:var(--charcoal);padding:1rem}
.step-no{font-size:2.6rem;font-weight:700;color:var(--orange);margin:0;line-height:1}
.step h3{color:var(--panel);margin:.3rem 0 .5rem;font-size:1rem;letter-spacing:.1em}
.step p{color:var(--panel);font-size:.88rem;margin:0}
.labels-head{font-family:"Roboto Condensed",Arial,sans-serif;text-transform:uppercase;letter-spacing:.24em;color:var(--orange);font-size:.72rem;margin:0 0 .8rem}
.labels{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:0;padding:0}
.labels li{border:2px dashed var(--panel);color:var(--panel);text-align:center;padding:.6rem .3rem;font-size:.76rem;letter-spacing:.16em;font-weight:700}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.contact-box{border:4px solid var(--ink);padding:1.3rem;background:var(--panel)}
address{font-style:normal;font-size:1.05rem;margin-bottom:.9rem;line-height:1.8}
address a{color:var(--ink);text-decoration:none;border-bottom:2px solid var(--orange)}
.small{font-size:.84rem;color:var(--charcoal)}
.ulink{color:var(--ink);border-bottom:2px solid var(--orange);text-decoration:none}
.form label{display:block;font-family:"Roboto Condensed",Arial,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:var(--charcoal);margin-bottom:.8rem}
.form input,.form select{
  display:block;width:100%;margin-top:.3rem;padding:.6rem;border:2px dashed var(--charcoal);
  background:var(--panel);font-family:"Inter",Arial,sans-serif;font-size:.95rem;color:var(--ink);
}
.form input:focus,.form select:focus{outline:3px solid var(--orange);border-color:var(--orange)}
.form-msg{font-size:.85rem;margin:.8rem 0 0;color:var(--charcoal)}
.form-msg.ok{color:var(--ink);font-weight:600}

/* ---------- footer ---------- */
.footer{background:var(--ink);margin-top:3rem;border-top:4px solid var(--orange)}
.footer-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.4rem;padding:2rem 0}
.brand-mini{color:var(--orange);font-weight:700;letter-spacing:.2em;margin:0 0 .4rem}
.small.on-dark{color:var(--panel)}
.social,.foot-links{list-style:none;margin:0;padding:0}
.social a,.foot-links a{color:var(--panel);text-decoration:none;display:flex;align-items:center;gap:.5rem;padding:.3rem 0;font-size:.88rem}
.social a:hover,.foot-links a:hover{color:var(--orange)}
.foot-bottom{display:flex;gap:1rem;justify-content:space-between;flex-wrap:wrap;border-top:2px dashed var(--charcoal);padding:.7rem 0}
.foot-bottom span{color:var(--panel);font-family:"Roboto Condensed",Arial,sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:.66rem}

/* ---------- doc page ---------- */
.doc{background:var(--panel);border:4px solid var(--ink);padding:1.6rem;max-width:80ch}
.doc h1{color:var(--ink);font-size:clamp(1.8rem,5vw,2.6rem);margin-bottom:1rem}
.doc h2{font-size:1.05rem;letter-spacing:.12em;margin:1.4rem 0 .4rem;border-bottom:2px dashed var(--charcoal);padding-bottom:.3rem}
.doc p{font-size:.95rem}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .hero-grid,.hours-grid,.contact-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .footer-row{grid-template-columns:1fr}
  .speclist li{grid-template-columns:50px 1fr}
  .price{grid-column:1 / -1;border-left:0;border-top:3px dashed var(--charcoal);padding:.7rem 0 0}
  .specrow{grid-template-columns:repeat(2,1fr)}
  .specrow div{border-bottom:2px dashed var(--panel)}
  .specrow div:nth-child(2){border-right:0}
  .labels{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  .nav-toggle{display:block}
  .nav-menu{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:.2rem;border-top:2px dashed var(--panel);margin-top:.7rem;padding-top:.7rem}
  .nav-menu.is-open,.nav-menu.open-static{display:flex}
  .steps{grid-template-columns:1fr}
  .statusbar-row{justify-content:flex-start}
}