/* The Junk Warehouse — industrial loading-dock identity */
:root{
  --steel:#26343c;      /* bay-door steel */
  --steel-2:#32444e;
  --hazard:#f2b705;     /* safety yellow */
  --kraft:#b8895a;      /* crate / cardboard */
  --concrete:#e7e7e3;   /* shop floor */
  --paper:#ffffff;
  --ink:#1c2226;
  --muted:#5b666c;
  --radius:4px;
  --wrap:72rem;
  --display:"Big Shoulders Display", "Arial Narrow", Impact, sans-serif;
  --body:"Barlow", "Segoe UI", Arial, sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--body);font-size:1.0625rem;line-height:1.6;color:var(--ink);background:var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:var(--steel)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--hazard);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.25rem}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.02;letter-spacing:.005em;margin:0 0 .6em}
h1{font-size:clamp(2.6rem,7vw,5.25rem)}
h2{font-size:clamp(2rem,4.5vw,3.1rem)}
h3{font-size:1.6rem;font-weight:700}
p{margin:0 0 1em;max-width:68ch}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--hazard);padding:.5rem 1rem;z-index:99}

/* Header */
.site-header{background:var(--steel);color:#fff;position:sticky;top:0;z-index:20}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-family:var(--display);font-weight:800;font-size:1.55rem;line-height:1}
.brand svg{flex:none}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.1rem;align-items:center}
.nav a{color:#fff;text-decoration:none;font-weight:600;font-size:.98rem}
.nav a:hover{color:var(--hazard)}
.nav a[aria-current="page"]{color:var(--hazard)}
.call-btn{display:inline-block;background:var(--hazard);color:var(--ink)!important;font-weight:700;text-decoration:none;padding:.6rem 1rem;border-radius:var(--radius);white-space:nowrap}
.call-btn:hover{background:#ffc928}
.menu{display:none}
@media (max-width:1080px){
  .nav{display:none}
  .menu{display:block;position:relative}
  .menu summary{list-style:none;cursor:pointer;border:2px solid #fff;color:#fff;padding:.35rem .8rem;border-radius:var(--radius);font-weight:600}
  .menu summary::-webkit-details-marker{display:none}
  .menu ul{position:absolute;right:0;top:calc(100% + .5rem);background:var(--steel);list-style:none;margin:0;padding:.75rem 1.25rem;min-width:14rem;border-top:4px solid var(--hazard)}
  .menu li{padding:.45rem 0}
  .menu a{color:#fff;text-decoration:none;font-weight:600}
  .header-call{display:none}
}

/* Hazard stripe — the one bold motif */
.stripe{height:14px;background:repeating-linear-gradient(-45deg,var(--hazard) 0 18px,var(--ink) 18px 36px)}

/* Hero */
.hero{background:var(--steel);color:#fff;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center;padding-top:3.5rem;padding-bottom:3.5rem}
.hero h1{color:#fff}
.hero .lede{font-size:1.2rem;color:#dfe5e8;max-width:40ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}
.btn{display:inline-block;font-weight:700;text-decoration:none;padding:.85rem 1.3rem;border-radius:var(--radius);font-size:1.05rem;border:2px solid transparent;cursor:pointer;font-family:var(--body)}
.btn-hazard{background:var(--hazard);color:var(--ink)}
.btn-hazard:hover{background:#ffc928}
.btn-ghost{border-color:#fff;color:#fff}
.btn-ghost:hover{background:#fff;color:var(--steel)}
.hero-photo{border:6px solid var(--kraft);border-radius:var(--radius);box-shadow:12px 12px 0 var(--ink)}
.hero-photo img{aspect-ratio:4/5;object-fit:cover;width:100%}
.hero .proof{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;color:#c8d1d5;font-size:.98rem}
.hero .proof span::before{content:"";display:inline-block;width:.6rem;height:.6rem;background:var(--hazard);margin-right:.5rem;vertical-align:.08em}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr;padding-top:2.25rem}.hero-photo{box-shadow:8px 8px 0 var(--ink)}}

/* Page hero (inner pages) */
.page-hero{background:var(--steel);color:#fff}
.page-hero .wrap{padding-top:2.75rem;padding-bottom:2.5rem}
.page-hero h1{color:#fff;font-size:clamp(2.3rem,6vw,4.3rem)}
.page-hero p{color:#dfe5e8;font-size:1.15rem}
.crumbs{font-size:.9rem;color:#b9c4c9;margin-bottom:1rem}
.crumbs a{color:#b9c4c9}

/* Sections */
section{padding:4rem 0}
.floor{background:var(--concrete)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.split img{border-radius:var(--radius)}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:1.75rem}}

/* Service bays: three services, one row — shipping-crate treatment */
.bays{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem;margin-top:2rem}
.bay{background:#fff;border:3px solid var(--ink);display:flex;flex-direction:column}
.bay img{aspect-ratio:4/3;object-fit:cover;width:100%;border-bottom:3px solid var(--ink)}
.bay-body{padding:1.25rem 1.25rem 1.5rem;display:flex;flex-direction:column;flex:1}
.bay-tag{align-self:flex-start;background:var(--kraft);color:var(--ink);font-weight:700;font-size:.85rem;padding:.2rem .55rem;margin-bottom:.75rem}
.bay h3{margin-bottom:.4em}
.bay p{flex:1}
.bay a.more{font-weight:700;color:var(--ink)}


/* Process — real sequence, so numbers are earned */
.steps{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:step}
.steps li{counter-increment:step;border-top:4px solid var(--ink);padding-top:1rem}
.steps li::before{content:counter(step);font-family:var(--display);font-weight:800;font-size:2.8rem;line-height:1;display:block;color:var(--steel);margin-bottom:.4rem}
.steps h3{font-size:1.35rem}
.steps p{font-size:1rem;color:var(--muted)}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* Lists */
.checks{list-style:none;padding:0;margin:0 0 1.25rem;columns:2;column-gap:2rem}
.checks li{padding:.3rem 0 .3rem 1.6rem;position:relative;break-inside:avoid}
.checks li::before{content:"";position:absolute;left:0;top:.72rem;width:.85rem;height:.85rem;background:var(--hazard);border:2px solid var(--ink)}
@media (max-width:600px){.checks{columns:1}}
.no-list li::before{background:#fff}

/* Before / after */
.ba{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}
.ba figure{margin:0}
.ba img{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:var(--radius)}
.ba figcaption{font-weight:700;margin-top:.4rem}
@media (max-width:600px){.ba{grid-template-columns:1fr}}

/* Towns */
.town-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.6rem 1.5rem;margin:1.5rem 0 0;padding:0;list-style:none}
.town-grid a{font-weight:600}
.state-block{margin-bottom:2.5rem}

/* FAQ */
.faq details{border-bottom:2px solid var(--ink);padding:1rem 0}
.faq summary{cursor:pointer;font-weight:700;font-size:1.12rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--display);font-size:1.6rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:.75rem 0 0}

/* Quote form */
.quote{background:var(--steel);color:#fff}
.quote .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem}
.quote h2{color:#fff}
.quote p{color:#dfe5e8}
.quote .big-phone{font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,5vw,3.2rem);color:var(--hazard);text-decoration:none;display:inline-block;margin:.25rem 0 1rem}
form.q{background:#fff;color:var(--ink);padding:1.75rem;border-radius:var(--radius);border-top:8px solid var(--hazard)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fields .full{grid-column:1/-1}
label{display:block;font-weight:700;font-size:.95rem;margin-bottom:.3rem}
input,select,textarea{width:100%;font:inherit;padding:.7rem .75rem;border:2px solid #9aa4a9;border-radius:var(--radius);background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{border-color:var(--steel)}
textarea{min-height:7rem;resize:vertical}
.hp{position:absolute;left:-5000px}
.form-note{font-size:.85rem;color:var(--muted);margin:.75rem 0 0}
form.q .btn{width:100%;margin-top:1rem}
@media (max-width:860px){.quote .wrap{grid-template-columns:1fr;gap:1.5rem}.fields{grid-template-columns:1fr}}

/* Sister-company note */
.handoff{border-left:8px solid var(--kraft);background:#fff;padding:1.5rem 1.75rem;margin-top:2rem}
.handoff h3{margin-bottom:.3em}

/* Footer */
.site-footer{background:var(--ink);color:#c9d0d3;padding:3rem 0 6rem;font-size:.97rem}
.site-footer .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
.site-footer h4{color:#fff;font-family:var(--display);font-size:1.3rem;margin:0 0 .6rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{padding:.2rem 0}
.site-footer a{color:#c9d0d3}
.site-footer a:hover{color:var(--hazard)}
.site-footer .legal{grid-column:1/-1;border-top:1px solid #3a4449;padding-top:1.25rem;font-size:.88rem}
@media (max-width:860px){.site-footer .wrap{grid-template-columns:1fr 1fr}}
@media (min-width:861px){.site-footer{padding-bottom:3rem}}

/* Mobile sticky call bar */
.call-bar{position:fixed;bottom:0;left:0;right:0;display:none;z-index:30;border-top:3px solid var(--ink)}
.call-bar a{flex:1;text-align:center;padding:.95rem;font-weight:700;text-decoration:none}
.call-bar .c1{background:var(--hazard);color:var(--ink)}
.call-bar .c2{background:var(--steel);color:#fff}
@media (max-width:860px){.call-bar{display:flex}}

.lead-in{font-size:1.18rem}
.center{text-align:center}
.center p{margin-left:auto;margin-right:auto}
