/* All Precision Disposal — look A "Ink & Red" (Isaiah's pick, 2026-10-27).
   Black, off-white and APM red (#E1201A, calls to action and accents only). Photos run black-and-white. */
@font-face{font-family:"Barlow Condensed";font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:800;font-display:swap;src:url(../fonts/barlow-condensed-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:400;font-display:swap;src:url(../fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:600;font-display:swap;src:url(../fonts/barlow-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:700;font-display:swap;src:url(../fonts/barlow-latin-700-normal.woff2) format("woff2")}

:root{--bg:#0e0e0f;--panel:#18181a;--panel-2:#202023;--ink:#f6f5f2;--muted:#b9b7b2;--accent:#e1201a;--accent-hi:#ff3a33;
  --accent-ink:#fff;--line:#2c2c30;--field:#111113;--ok:#3ccf7a;--cond:"Barlow Condensed","Arial Narrow",sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;font:400 17px/1.6 Barlow,system-ui,sans-serif;background:var(--bg);color:var(--ink)}
img{max-width:100%;display:block}
a{color:inherit;text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-hi);outline-offset:2px}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:#fff;padding:10px 14px;z-index:50}.skip:focus{left:8px}
h1,h2,h3,.cond{font-family:var(--cond);text-transform:uppercase;letter-spacing:.01em;line-height:.95;margin:0;font-weight:800}
h2{font-size:clamp(38px,5vw,64px);margin-bottom:26px}
h3{font-size:28px}
p{margin:0 0 16px}
.kicker{display:block;font:600 15px/1.2 var(--cond);letter-spacing:.28em;text-transform:uppercase;color:var(--accent-hi);margin-bottom:12px}
.muted{color:var(--muted)}

/* Header */
.site-head{position:absolute;inset:0 0 auto;z-index:20}
.site-head.solid{position:relative;background:var(--bg);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:24px;height:84px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.logo img{height:54px;width:auto}
.logo b{display:block;font:800 23px/.9 var(--cond);letter-spacing:.04em}
.logo small{display:block;font:600 13px/1.1 var(--cond);letter-spacing:.34em;color:var(--muted)}
.links{display:flex;gap:22px;margin-left:auto;font-weight:600;font-size:15px}
.links a{text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.links a:hover,.links a[aria-current=page]{border-color:var(--accent)}
.nav-cta{display:flex;gap:10px;align-items:center}
.menu-btn{display:none;background:none;border:2px solid var(--line);color:var(--ink);border-radius:4px;padding:9px 11px;cursor:pointer}
.menu-btn span{display:block;width:20px;height:2px;background:currentColor;margin:4px 0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 24px;border-radius:4px;border:0;cursor:pointer;
  font:800 19px/1 var(--cond);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-accent:hover{background:var(--accent-hi)}
.btn-ghost{border:2px solid currentColor;padding:13px 22px;color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--bg)}
.btn-sm{padding:12px 18px;font-size:17px}
.ctas{display:flex;flex-wrap:wrap;gap:12px}

/* Hero */
.hero{position:relative;min-height:min(92vh,820px);display:flex;align-items:flex-end;overflow:hidden;background:#000}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1) brightness(.62)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,14,15,.92) 0,rgba(14,14,15,.4) 60%,transparent),linear-gradient(transparent 55%,var(--bg))}
.hero .in{position:relative;z-index:1;padding:130px 0 72px;width:100%}
.hero h1{font-size:clamp(54px,8.4vw,120px);margin:4px 0 18px}
.hero p{font-size:20px;max-width:34em;opacity:.92;margin:0 0 28px}
.page-hero{min-height:440px}
.page-hero h1{font-size:clamp(46px,6.6vw,92px)}
.page-hero p{font-size:19px}

/* Facts strip */
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{padding:26px 20px;border-right:1px solid var(--line)}.facts div:last-child{border-right:0}
.facts b{display:block;font:800 40px/1 var(--cond);color:var(--accent-hi);margin-bottom:6px}
.facts span{color:var(--muted);font-size:15px;line-height:1.35;display:block}

section{padding:88px 0}
section.tight{padding-top:0}
.lead{font-size:20px;max-width:40em;color:var(--muted)}

/* Photo cards */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:6px;background:var(--panel)}
.card img{width:100%;height:100%;object-fit:cover;filter:grayscale(.85) contrast(1.05);transition:transform .5s}
.card:hover img{transform:scale(1.04)}
.card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.88))}
.card div{position:absolute;left:18px;bottom:18px;right:18px;z-index:1}
.card h3{font-size:30px}.card p{margin:6px 0 0;font-size:15px;color:#ddd;line-height:1.4}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}
.steps.four{grid-template-columns:repeat(4,1fr)}
.step{background:var(--panel);padding:30px;border-radius:6px}
.step i{display:block;font:800 64px/1 var(--cond);color:var(--accent);font-style:normal}
.step h3{margin:12px 0 10px}.step p{color:var(--muted);margin:0}

/* Split blocks */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.top{align-items:start}
.photo{border-radius:6px;overflow:hidden;background:var(--panel)}
.photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}
.ticks{list-style:none;padding:0;margin:0 0 20px}
.ticks li{position:relative;padding:10px 0 10px 34px;border-bottom:1px solid var(--line)}
.ticks li:before{content:"";position:absolute;left:4px;top:17px;width:14px;height:8px;border-left:3px solid var(--accent-hi);border-bottom:3px solid var(--accent-hi);transform:rotate(-45deg)}
.ticks.no li:before{width:16px;height:3px;border:0;background:var(--accent-hi);transform:none;top:22px}
.panel{background:var(--panel);border-radius:6px;padding:32px}
.panel h3{margin-bottom:14px}

/* Size block */
.size{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.size svg{width:100%;height:auto}
.big-num{font:800 clamp(110px,16vw,220px)/.8 var(--cond);color:var(--accent);letter-spacing:-.01em;margin-bottom:34px}
.big-num small{font-size:.32em;color:var(--ink);letter-spacing:.05em;margin-left:6px}

/* Towns */
.towns{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;list-style:none;padding:0;margin:0 0 24px}
.towns li{background:var(--panel);padding:16px 18px;border-left:4px solid var(--accent);font:600 22px/1.1 var(--cond);text-transform:uppercase;letter-spacing:.03em}
.towns li small{display:block;font:400 14px/1.3 Barlow;text-transform:none;letter-spacing:0;color:var(--muted);margin-top:4px}

/* FAQ */
.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;font:800 26px/1.1 var(--cond);text-transform:uppercase}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:6px;top:16px;font-size:34px;color:var(--accent-hi)}
.faq details[open] summary:after{content:"–"}
.faq .a{padding:0 0 22px;color:var(--muted);max-width:44em}
.faq .a ul{margin:0 0 12px;padding-left:20px}

/* CTA band */
.band{background:#b8170f;color:#fff;padding:56px 0} /* darker red: white small text passes contrast (APM site did the same) */
.band .wrap{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.band h2{margin:0;font-size:clamp(36px,4.6vw,58px)}
.band p{margin:8px 0 0;font-size:18px}
.band .btn-dark{background:#0e0e0f;color:#fff}.band .btn-dark:hover{background:#000}
.band .btn-ghost{color:#fff}.band .btn-ghost:hover{background:#fff;color:#b8170f}

/* Booking form */
.book{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:start}
.form{background:var(--panel);border-radius:6px;padding:32px}
.form fieldset{border:0;padding:0;margin:0 0 30px}
.form legend{font:800 26px/1 var(--cond);text-transform:uppercase;margin-bottom:18px;padding:0;display:flex;gap:12px;align-items:center}
.form legend i{font-style:normal;color:var(--accent-hi)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.row.three{grid-template-columns:2fr 1.3fr 1fr}
.field{margin-bottom:16px}
.field label,.label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}
.field label .req,.label .req{color:var(--accent-hi)}
.field .hint{display:block;font-size:13px;color:var(--muted);margin-top:4px;font-weight:400}
input[type=text],input[type=tel],input[type=email],input[type=date],select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);
  background:var(--field);border:1px solid #3a3a40;border-radius:4px;padding:12px 14px;min-height:48px}
input[type=date]{color-scheme:dark}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px;background-repeat:no-repeat;padding-right:38px}
textarea{min-height:110px;resize:vertical}
input:invalid.touched,select:invalid.touched{border-color:var(--accent-hi)}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.choices.three{grid-template-columns:repeat(3,1fr)}
.choice{position:relative}
.choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice span{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 14px;border:1px solid #3a3a40;border-radius:4px;background:var(--field);cursor:pointer;font-weight:600;font-size:15px;line-height:1.25}
.choice span:before{content:"";flex:0 0 18px;height:18px;border:2px solid var(--muted);border-radius:3px}
.choice input[type=radio]+span:before{border-radius:50%}
.choice input:checked+span{border-color:var(--accent);background:#2a1413}
.choice input:checked+span:before{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--field)}
.choice input:focus-visible+span{outline:3px solid var(--accent-hi);outline-offset:2px}
.agree{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--muted);margin:6px 0 20px}
.agree input{width:22px;height:22px;flex:0 0 22px;margin-top:2px;accent-color:var(--accent)}
/* Rental agreement (Isaiah's contract) at the end of the booking form */
.terms{max-height:360px;overflow:auto;background:var(--field);border:1px solid #3a3a40;border-radius:4px;padding:4px 18px 16px;font-size:14px;line-height:1.55;color:#d9d7d2;margin-bottom:16px}
.terms h3{font-size:22px;margin:16px 0 8px;color:var(--ink)}
.terms h4{font:800 16px/1.2 var(--cond);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 6px;color:var(--ink)}
.terms ol,.terms ul{margin:0;padding-left:20px}.terms li{margin-bottom:6px}.terms p{margin:0 0 8px}
.terms .gov{color:var(--muted);font-style:italic}
.terms .orig{margin-top:16px;border-top:1px solid var(--line);padding-top:8px}.terms .orig summary{cursor:pointer;font-weight:600;color:var(--ink)}
input.sign{font-family:"Brush Script MT","Segoe Script",cursive;font-size:24px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-turnstile{margin:0 0 18px;min-height:65px}
.form .btn{width:100%;font-size:21px;padding:18px}
.form-msg{display:none;margin-top:16px;padding:14px 16px;border-radius:4px;font-weight:600}
.form-msg.err{display:block;background:#3a1210;border:1px solid var(--accent)}
.sent{display:none;text-align:center;padding:30px 10px}
.sent svg{width:72px;margin:0 auto 18px;color:var(--ok)}
.form.done form{display:none}.form.done .sent{display:block}
.aside .panel{margin-bottom:16px}
.aside .phone{font:800 40px/1 var(--cond);color:var(--accent-hi);text-decoration:none;display:block;margin:6px 0 12px}
.hours{list-style:none;padding:0;margin:0}.hours li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}
.hours li span:last-child{color:var(--muted);text-align:right}
.next{padding-left:20px;margin:0;color:var(--muted)}.next li{margin-bottom:10px}

/* Prose pages */
.prose{max-width:760px}.prose h2{font-size:34px;margin:36px 0 12px}.prose p,.prose li{color:var(--muted)}

/* Footer */
.foot{border-top:1px solid var(--line);padding:56px 0 30px;margin-top:0;background:#09090a}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.foot h4{font:800 18px/1 var(--cond);text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px}
.foot ul{list-style:none;padding:0;margin:0}.foot li{margin:0 0 8px;font-size:15px;color:var(--muted)}
.foot a{text-decoration:none}.foot a:hover{color:var(--ink);text-decoration:underline}
.foot .fam{font-size:14px;color:var(--muted);margin-top:14px;max-width:28em}
.fine{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:36px;padding-top:20px;font-size:13px;color:var(--muted)}

/* Phone call bar (phones only) */
.callbar{display:none}

@media (max-width:960px){
  .links{display:none}.menu-btn{display:block}.nav-cta .btn-ghost{display:none}
  .site-head.open{background:var(--bg)}
  .site-head.open .links{display:flex;flex-direction:column;position:absolute;top:72px;left:0;right:0;background:var(--bg);padding:8px 20px 24px;border-bottom:1px solid var(--line);gap:0}
  .site-head.open .links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:18px}
  .cards{grid-template-columns:1fr 1fr}.steps,.steps.four{grid-template-columns:1fr 1fr}
  .split,.size,.book{grid-template-columns:1fr;gap:32px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .towns{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body{font-size:16px;padding-bottom:64px}
  .nav{height:72px;gap:10px}.logo img{height:44px}.logo b{font-size:20px}.logo small{font-size:12px}
  .nav-cta{margin-left:auto}.nav .btn{padding:11px 14px;font-size:16px}
  .hero{min-height:0}.hero .in{padding:120px 0 48px}.hero h1{font-size:54px}.hero p{font-size:18px}
  .page-hero h1{font-size:46px}
  .ctas .btn{flex:1 1 100%}
  .facts{grid-template-columns:1fr 1fr}.facts div:nth-child(2){border-right:0}.facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .facts b{font-size:34px}
  section{padding:60px 0}
  .cards{gap:10px}.card h3{font-size:23px}.card p{display:none}
  .steps,.steps.four{grid-template-columns:1fr}
  .row,.row.three,.choices,.choices.three{grid-template-columns:1fr}
  .form{padding:22px 16px}
  .towns{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .faq summary{font-size:22px}
  .callbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;border-top:1px solid var(--line)}
  .callbar a{display:flex;align-items:center;justify-content:center;height:58px;font:800 18px/1 var(--cond);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;background:var(--panel);color:var(--ink)}
  .callbar a+a{background:var(--accent);color:#fff}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
