/* ═══════════════════════════════════════════════════════════════════════════
   3DA Dumpsters site styles (index.html + every inner page).
   Brand red #991018 on black, paper/stone/dark bands, the red/white hazard tape off the bins,
   Barlow Condensed + Barlow,
   Anton for the footer signature. Icons are Phosphor (MIT) inline sprites.
   The first block is the approved homepage kit (class names are relied on by
   index.html); the inner-page additions follow it. Asset URLs root-absolute.
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  --ink:#0c0c0c; --ink-deep:#070707;
  --panel:#151515; --panel-2:#1c1c1c; --panel-3:#2b2b2b;
  --paper:#f5f5f5; --paper-2:#ebebeb; --card:#ffffff;
  --accent:#991018; --accent-lift:#EF3E48; --accent-deep:#7A0C12;
  --accent-ink:#991018; --on-accent:#ffffff;
  --sky:#EF3E48; --go:#2fbf71;
  --fg:#f5f5f5; --fg-2:#d6d6d6; --fg-3:#a3a3a3; --fg-4:#767676;
  --dark:#111111; --dark-2:#3f3f46; --dark-3:#5f5f66;
  --edge:rgba(245,245,245,.15); --edge-lt:rgba(17,17,17,.12);
  --hazard:#991018; --star:#fbbc05;
  --radius:3px;
  --disp:'Barlow Condensed','Arial Narrow',sans-serif;
  --body:'Barlow',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --sig:'Anton','Barlow Condensed',sans-serif;
  --gut:clamp(20px,5vw,56px); --max:1180px;
  --pad:clamp(62px,7vw,106px) var(--gut);
  --e-out:cubic-bezier(.16,1,.3,1);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
section[id]{scroll-margin-top:76px}
html,body{margin:0;padding:0}
body{background:var(--ink);color:var(--dark);font-family:var(--body);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2.5px solid var(--accent-lift);outline-offset:3px}
h1,h2,h3{font-family:var(--disp);font-weight:700;margin:0}
h1 em,h2 em,.vband__t em{font-style:italic;font-weight:800;color:var(--accent-ink)}
.sec--dark h2 em{color:var(--accent-lift)}
a,button{transition:background-color .28s var(--e-out),color .28s var(--e-out),border-color .28s var(--e-out)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

.wrap{max-width:var(--max);margin-inline:auto}
.sec{padding:var(--pad)}
.sec--paper{background:var(--paper)}
.sec--stone{background:var(--paper-2)}
.sec--dark{background:var(--panel-2);color:var(--fg)}
.sec--paper,.sec--stone{position:relative;isolation:isolate}
.sec--paper::before,.sec--stone::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--grain);opacity:.045}
.kicker{margin:0 0 11px;font-family:var(--disp);font-weight:700;font-size:.86rem;letter-spacing:.19em;text-transform:uppercase;color:var(--accent-ink);display:flex;align-items:center;gap:9px}
.sec--dark .kicker{color:var(--sky)}
h2{font-size:clamp(2.1rem,1.3rem + 2.9vw,3.5rem);line-height:1.02;letter-spacing:-.006em;text-wrap:balance}
.lede{margin:0;color:var(--dark-2);font-size:1.04rem}
.sec--dark .lede{color:var(--fg-3)}
.head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:20px clamp(34px,4vw,64px);align-items:end;margin-bottom:clamp(26px,3.2vw,42px)}
.ridge{position:absolute;left:0;right:0;top:0;height:4px;background:var(--accent);clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%)}

/* buttons: blue fill, white ink. One filled action per group. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--disp);font-weight:700;font-size:1.14rem;line-height:1;letter-spacing:.02em;padding:15px clamp(19px,2.2vw,26px);border:0;border-radius:var(--radius);cursor:pointer;background:var(--accent);color:var(--on-accent);white-space:nowrap;font-variant-numeric:tabular-nums}
.btn:hover{background:var(--accent-deep)}
.btn--lg{font-size:clamp(1.2rem,1rem + .6vw,1.46rem);padding:17px clamp(20px,2.4vw,30px)}
.btn--block{display:flex;width:100%}
.ghost{background:transparent;border:1.5px solid rgba(245,245,245,.45);color:var(--fg)}
.ghost:hover{background:var(--fg);color:var(--dark);border-color:var(--fg)}
.ghost--lt{border-color:rgba(17,17,17,.28);color:var(--dark)}
.ghost--lt:hover{background:var(--dark);color:#fff;border-color:var(--dark)}
.lnk{color:var(--accent-ink);border-bottom:2px solid rgba(153,16,24,.3);font-family:var(--disp);font-weight:700}
.lnk:hover{color:var(--dark);border-color:var(--dark)}
.sec--dark .lnk{color:var(--sky);border-color:rgba(239,62,72,.35)}
.stars{display:inline-flex;gap:2px;color:var(--star)}

/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;transition:background-color .35s var(--e-out),box-shadow .35s var(--e-out)}
.hdr.is-stuck{background:rgba(21,21,21,.97);box-shadow:0 6px 26px rgba(0,0,0,.45)}
.hdr__scrim{position:absolute;inset:0 0 -64px;pointer-events:none;background:linear-gradient(180deg,rgba(8,8,8,.85),rgba(8,8,8,.4) 52%,rgba(8,8,8,0));transition:opacity .35s}
.hdr.is-stuck .hdr__scrim{opacity:0}
.hdr__row{position:relative;max-width:1300px;margin-inline:auto;display:flex;align-items:center;gap:clamp(14px,2.2vw,28px);padding:12px var(--gut);min-height:84px;transition:min-height .35s var(--e-out)}
.hdr.is-stuck .hdr__row{min-height:66px}
.hdr__mark{display:flex;align-items:center;gap:11px;flex:none}
.hdr__mark img{height:48px;width:auto}
.hdr__wm{font-family:var(--disp);font-weight:700;font-size:1.42rem;line-height:1;letter-spacing:.02em;text-transform:uppercase;color:var(--fg)}
.hdr__wm b{display:block;margin-top:3px;font-weight:700;font-size:.62em;letter-spacing:.22em;color:var(--sky)}
.hdr__nav{margin-left:auto;display:flex;gap:clamp(13px,1.6vw,26px);white-space:nowrap}
.nav-a{font-family:var(--disp);font-weight:600;font-size:1.06rem;color:rgba(255,255,255,.86)}
.nav-a:hover{color:var(--sky)}
.hdr__acts{display:flex;gap:10px;flex:none}
.hdr__acts .btn{padding:11px 17px;font-size:1.04rem}
.hdr__menu{display:none}
@media (max-width:1100px){.hdr__nav{display:none}.hdr__acts{margin-left:auto}}
@media (max-width:640px){
  .hdr__acts .ghost{display:none}
  .hdr__wm{font-size:1.2rem}.hdr__mark img{height:40px}
  .hdr__row{min-height:68px}
}

/* hero */
.hero{position:relative;background:var(--ink);isolation:isolate;overflow:hidden;min-height:100svh;display:flex;flex-direction:column}
.hero__pic{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero__scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,8,8,.9) 0%,rgba(8,8,8,.42) 22%,rgba(8,8,8,.36) 46%,rgba(8,8,8,.8) 80%,rgba(8,8,8,.97) 100%)}
.hero__scrim--x{background:linear-gradient(90deg,rgba(8,8,8,.88) 0%,rgba(8,8,8,.55) 46%,rgba(8,8,8,.12) 84%)}
.hero__grid{position:relative;max-width:1300px;margin-inline:auto;width:100%;flex:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:clamp(34px,4vw,72px);align-items:end;align-content:center;padding:clamp(120px,19vh,220px) var(--gut) clamp(40px,6vh,72px)}
@media (max-width:980px){.hero__grid{grid-template-columns:1fr}}
.hero__eyebrow{margin:0 0 18px;display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:700;font-size:.88rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sky)}
.hero h1{margin:0 0 22px;max-width:15ch;font-size:clamp(2.7rem,1rem + 5.4vw,5.2rem);line-height:.95;letter-spacing:-.012em;color:rgba(245,245,245,.8);text-wrap:balance;text-shadow:0 2px 30px rgba(8,8,8,.5)}
.hero h1 em{color:#fff}
.hero__lede{margin:0 0 22px;max-width:46ch;font-size:clamp(1rem,.94rem + .3vw,1.13rem);line-height:1.56;color:rgba(255,255,255,.9);text-shadow:0 1px 3px rgba(8,8,8,.72)}
.hero__stars{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 24px;font-size:1rem;color:rgba(255,255,255,.92);text-shadow:0 1px 3px rgba(8,8,8,.8)}
.hero__stars .stars{filter:drop-shadow(0 1px 2px rgba(8,8,8,.7))}
.hero__stars b{font-family:var(--disp);font-size:1.2rem;color:#fff}
.hero__stars u{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45)}
.hero__stars:hover u{border-color:var(--accent-lift)}
.hero__acts{display:flex;flex-wrap:wrap;gap:12px}
.hero__trust{margin:20px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.93rem;color:rgba(255,255,255,.88);text-shadow:0 1px 3px rgba(8,8,8,.8)}
.hero__trust li+li::before{content:'';display:inline-block;width:4px;height:4px;background:var(--accent-lift);vertical-align:.18em;margin-right:10px}

/* hero side: the rate card. On the bones this slot is a reel; here it is the
   thing a dumpster customer actually came for: size, price, book. */
.rate{background:rgba(21,21,21,.88);backdrop-filter:blur(6px);border:1px solid var(--edge);border-radius:var(--radius);color:var(--fg);padding:22px 22px 18px;position:relative;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.rate .ridge{background:var(--accent-lift)}
.rate__h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:2px 0 12px}
.rate__h h2{font-size:1.5rem;letter-spacing:.01em}
.rate__h span{font-size:.82rem;color:var(--fg-3)}
.rate__row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--edge)}
.rate__yd{font-family:var(--disp);font-weight:800;font-size:2rem;line-height:1;width:2.4ch}
.rate__yd small{display:block;font-size:.42em;letter-spacing:.18em;color:var(--fg-3);font-weight:700}
.rate__for{font-size:.86rem;color:var(--fg-2);line-height:1.35}
.rate__for b{display:block;font-family:var(--disp);font-size:1.3rem;color:#fff;letter-spacing:.01em}
.rate__for b small{font-family:var(--body);font-size:.68em;color:var(--fg-3);font-weight:500;letter-spacing:0}
.rate__go{padding:11px 14px;font-size:1rem}
.rate__ft{margin:12px 0 0;font-size:.84rem;color:var(--fg-3)}
.rate__ft a{color:var(--sky);border-bottom:1px solid rgba(239,62,72,.35)}
@media (max-width:980px){.rate{max-width:560px}}

/* tape + trust bar */
.tape{height:9px;background:repeating-linear-gradient(135deg,#fff 0 14px,var(--hazard) 14px 28px)}
.trust{position:relative;background:var(--panel-2);padding:clamp(26px,3vw,34px) var(--gut)}
.trust__apex{position:absolute;left:50%;top:1px;transform:translate(-50%,-100%);width:clamp(112px,11vw,150px);height:clamp(30px,3.2vw,42px);background:var(--panel-2);clip-path:polygon(50% 0,100% 100%,0 100%)}
.trust__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(226px,100%),1fr));gap:clamp(20px,2.6vw,36px)}
.trust__i{display:flex;gap:12px;align-items:flex-start}
.trust__i svg{margin-top:3px;flex:none;color:var(--sky)}
.trust__i h3{font-size:1.18rem;line-height:1.18;color:var(--fg)}
.trust__i p{margin:2px 0 0;font-size:.86rem;color:var(--fg-3);line-height:1.45}

/* marquee */
.mq{background:var(--accent);color:#fff;overflow:hidden;padding:11px 0}
.mq__in{display:flex;align-items:center;width:max-content;animation:mq 46s linear infinite}
.mq span{white-space:nowrap;font-family:var(--disp);font-weight:700;font-size:1rem;letter-spacing:.13em;text-transform:uppercase}
.mq i{display:block;width:5px;height:5px;margin:0 clamp(20px,3vw,40px);flex:none;background:rgba(255,255,255,.55)}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* bins: three size cards on paper */
.bins{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:clamp(12px,1.6vw,20px)}
.bin{position:relative;background:var(--card);border:1px solid var(--edge-lt);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.bin__pic{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--paper-2)}
.bin__pic img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--e-out)}
.bin:hover .bin__pic img{transform:scale(1.04)}
.bin__tag{position:absolute;left:12px;top:12px;background:var(--accent);color:#fff;font-family:var(--disp);font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:var(--radius)}
.bin__b{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.bin__b h3{font-size:1.9rem;line-height:1}
.bin__b h3 small{font-size:.5em;letter-spacing:.16em;color:var(--dark-3);margin-left:6px;text-transform:uppercase}
.bin__for{margin:8px 0 14px;font-size:.95rem;color:var(--dark-2)}
.bin__px{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--edge-lt);border-bottom:1px solid var(--edge-lt);margin:auto 0 16px}
.bin__px div{padding:10px 0}
.bin__px div+div{border-left:1px solid var(--edge-lt);padding-left:16px}
.bin__px b{display:block;font-family:var(--disp);font-size:1.9rem;line-height:1;color:var(--dark);font-variant-numeric:tabular-nums}
.bin__px span{font-size:.8rem;color:var(--dark-3)}
.bin .ridge{top:auto;bottom:0;width:0;right:auto;transition:width .52s var(--e-out)}
.bin:hover .ridge{width:100%}

/* other services: photo cards */
.svcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:clamp(12px,1.6vw,20px);margin-top:clamp(14px,1.6vw,20px)}
.svc{position:relative;aspect-ratio:4/3.4;border-radius:var(--radius);overflow:hidden;background:var(--panel-2);display:block}
.svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--e-out)}
.svc:hover img{transform:scale(1.04)}
.svc::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,8,.95) 6%,rgba(8,8,8,.66) 44%,rgba(8,8,8,.1) 76%)}
.svc__t{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:18px 20px 22px;color:#fff}
.svc__t h3{font-size:1.45rem;line-height:1.1;margin-bottom:4px}
.svc__t p{margin:0;font-size:.9rem;color:rgba(255,255,255,.85);line-height:1.45}
.svc__px{position:absolute;right:14px;top:14px;z-index:1;background:rgba(8,8,8,.82);color:#fff;font-family:var(--disp);font-weight:700;font-size:1.15rem;padding:6px 10px;border-radius:var(--radius)}
.svc__px small{font-family:var(--body);font-weight:500;font-size:.68em;color:var(--fg-3);margin-left:3px}
.svc .ridge{top:auto;bottom:0;width:0;right:auto;z-index:2;background:var(--accent-lift);transition:width .52s var(--e-out)}
.svc:hover .ridge{width:100%}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:clamp(18px,2vw,26px)}
.bar .btn{min-width:min(100%,330px)}
.bar p{margin:0;color:var(--dark-2);font-size:.98rem}

/* reviews */
.revs{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:clamp(18px,2.4vw,32px);align-items:start}
@media (max-width:900px){.revs{grid-template-columns:1fr}}
.score{background:var(--panel-2);color:var(--fg);border-radius:var(--radius);padding:26px 24px;position:relative}
.score .ridge{background:var(--accent-lift)}
.score__n{font-family:var(--disp);font-weight:800;font-size:5rem;line-height:.9;color:#fff}
.score .stars svg{width:24px;height:24px}
.score p{margin:10px 0 18px;color:var(--fg-2)}
.score .btn{width:100%;margin-top:8px}
.score .g{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--fg-3);margin-bottom:14px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:clamp(12px,1.4vw,16px)}
/* three cards: one even row beside the score card instead of 2 + 1 */
@media (min-width:1100px){.cards[data-n="3"]{grid-template-columns:repeat(3,1fr)}}
.rv{background:var(--card);border:1px solid var(--edge-lt);border-radius:var(--radius);padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px}
.rv__top{display:flex;align-items:center;gap:10px}
.rv__av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;flex:none;object-fit:cover}
.rv__n{font-weight:600;line-height:1.2}
.rv__d{font-size:.8rem;color:var(--dark-3)}
.rv__g{margin-left:auto}
.rv p{margin:0;font-size:.95rem;color:var(--dark-2);line-height:1.55}

/* video band */
.vwrap{background:var(--panel-2);padding:0 var(--gut) clamp(44px,5vw,72px)}
.vband{position:relative;max-width:var(--max);margin-inline:auto;border-radius:var(--radius);background:var(--ink);overflow:hidden;min-height:clamp(320px,52vh,520px);display:grid;align-content:end}
.vband video,.vband img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vband::before,.vband::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1}
.vband::before{background:linear-gradient(180deg,rgba(8,8,8,.4) 0%,rgba(8,8,8,.12) 30%,rgba(8,8,8,.82) 86%,rgba(8,8,8,.95) 100%)}
.vband::after{background:linear-gradient(90deg,rgba(8,8,8,.8) 0%,rgba(8,8,8,.35) 46%,rgba(8,8,8,0) 80%)}
.vband__in{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;padding:0 clamp(22px,3vw,40px) clamp(24px,3.4vw,44px)}
.vband__t{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(1.9rem,1rem + 3vw,3.2rem);line-height:1.02;color:#fff;margin:0;max-width:18ch}
.vband__t em{color:var(--sky)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:clamp(20px,2.4vw,30px)}
.step{position:relative;padding-top:20px}
.step__n{font-family:var(--disp);font-weight:700;font-style:italic;color:var(--dark-3);font-size:.95rem}
.step h3{font-size:1.4rem;line-height:1.1;margin:4px 0 6px}
.step p{margin:0;font-size:.95rem;color:var(--dark-3);line-height:1.58}

/* who you are hiring */
.who{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,4vw,64px);align-items:start}
@media (max-width:900px){.who{grid-template-columns:1fr}}
.who__pic{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;background:var(--panel)}
.who__pic img{width:100%;height:100%;object-fit:cover}
.who__cap{position:absolute;left:0;bottom:0;right:0;padding:40px 18px 16px;background:linear-gradient(0deg,rgba(8,8,8,.92),rgba(8,8,8,0));color:#fff}
.who__cap small{display:block;font-family:var(--disp);font-weight:700;letter-spacing:.18em;font-size:.74rem;color:var(--sky);text-transform:uppercase}
.who__cap b{font-family:var(--disp);font-size:1.15rem}
.who p{color:var(--fg-2);margin:0 0 14px}
.facts{margin:22px 0 0;border-top:1px solid var(--edge)}
.facts div{display:grid;grid-template-columns:minmax(90px,130px) minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--edge)}
.facts dt{font-family:var(--disp);font-weight:700;color:var(--sky)}
.facts dd{margin:0;color:var(--fg);overflow-wrap:anywhere;min-width:0}
.facts a{border-bottom:1px solid rgba(239,62,72,.4)}
.facts--lt{border-color:var(--edge-lt)}
.facts--lt div{border-color:var(--edge-lt)}
.facts--lt dt{color:var(--accent-ink)}
.facts--lt dd{color:var(--dark)}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,17vw,230px);gap:clamp(8px,1vw,12px)}
.gal figure{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;background:var(--panel-2)}
.gal figure.w2{grid-column:span 2}.gal figure.h2{grid-row:span 2}
.gal img{width:100%;height:100%;object-fit:cover}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 12px 10px;background:linear-gradient(0deg,rgba(8,8,8,.88),rgba(8,8,8,0));color:#fff;font-family:var(--disp);font-weight:700;font-size:.98rem;line-height:1.2}
@media (max-width:760px){.gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}.gal figure.w2{grid-column:span 2}}

/* where we haul */
.area{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,4vw,60px);align-items:stretch}
@media (max-width:900px){.area{grid-template-columns:1fr}}
.towns{margin:20px 0;border-top:1px solid var(--edge)}
.towns div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--edge)}
.towns b{font-family:var(--disp);font-size:1.4rem;color:#fff;font-style:italic}
.towns span{font-size:.9rem;color:var(--fg-3);text-align:right}
.cities{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 22px;font-size:.92rem}
.cities a{color:var(--fg-2);border-bottom:1px solid var(--edge)}
.cities a:hover{color:#fff;border-color:var(--sky)}
.map{display:flex;flex-direction:column;border:1px solid var(--edge);border-radius:var(--radius);overflow:hidden;background:var(--panel)}
.map iframe{flex:1;width:100%;min-height:380px;border:0;display:block}
.map p{margin:0;padding:12px 16px;font-size:.88rem;color:var(--fg-3);display:flex;gap:8px;align-items:center}
.map p b{color:#fff;font-family:var(--disp);font-size:1rem}

/* contact pair */
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:clamp(14px,1.8vw,22px)}
.callc{background:var(--card);border:1px solid var(--edge-lt);border-radius:var(--radius);padding:clamp(24px,3vw,36px)}
.callc h2{font-size:clamp(1.9rem,1.2rem + 2vw,2.6rem)}
.callc p{color:var(--dark-2);margin:10px 0 0}
.callc__num{display:block;margin:22px 0 20px;font-family:var(--disp);font-weight:800;font-size:clamp(2.6rem,1.4rem + 4vw,4.2rem);line-height:1;color:var(--dark);letter-spacing:-.01em}
.callc__num:hover{color:var(--accent-ink)}
.callc__acts{display:flex;flex-wrap:wrap;gap:10px}
.infoc{background:var(--panel-2);color:var(--fg);border-radius:var(--radius);padding:clamp(24px,3vw,36px);position:relative;overflow:hidden}
.infoc .kicker{color:var(--sky)}
.infoc .facts{margin-top:14px}

/* footer */
.ft{background:var(--ink-deep);color:var(--fg-3);padding:clamp(48px,6vw,80px) var(--gut) 0;overflow:hidden}
.ft__grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(24px,3vw,44px)}
@media (max-width:860px){.ft__grid{grid-template-columns:1fr 1fr}}
.ft__brand img{height:46px;width:auto;margin-bottom:14px}
.ft__brand p{font-size:.9rem;margin:0 0 14px;max-width:28em}
.ft .ft__h{line-height:1.2;margin:0 0 12px;font-family:var(--disp);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.84rem;color:var(--sky)}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:.92rem}
.ft a:hover{color:#fff}
.ft__bottom{max-width:var(--max);margin:clamp(30px,4vw,48px) auto 0;padding:16px 0;border-top:1px solid var(--edge);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.8rem}
.ft__bottom a{text-transform:uppercase;letter-spacing:.07em;text-decoration:underline;text-underline-offset:4px}
.ft__sig{font-family:var(--sig);text-transform:uppercase;font-size:clamp(4rem,15vw,13.5rem);line-height:.8;letter-spacing:.01em;color:#191919;text-align:center;white-space:nowrap;margin:8px 0 -.12em;user-select:none;pointer-events:none}

/* phone: sticky call/book bar */
.callbar{display:none}
@media (max-width:760px){
  .callbar{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(12,12,12,.97);border-top:1px solid var(--edge)}
  .callbar .btn{padding:14px 10px;font-size:1.08rem}
  body{padding-bottom:76px}
}

/* reveal */
.js .rv-in{opacity:0;transform:translateY(14px);transition:opacity .7s var(--e-out),transform .7s var(--e-out)}
.js .rv-in.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv-in{opacity:1;transform:none}}

/* ═══════════════════════════════════════════════════════════════════════════
   Inner pages: sizes, city pages, about, contact, blog
   FAQ, contact. Same kit as above; only what those pages
   need on top of the homepage blocks.
   ═══════════════════════════════════════════════════════════════════════════ */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* page head band: photo, the hero scrims, title bottom-left */
.ph{position:relative;background:var(--ink);isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(500px,74svh,680px)}
.ph__pic{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.ph__in{position:relative;max-width:1300px;margin-inline:auto;width:100%;padding:clamp(122px,17vh,180px) var(--gut) clamp(38px,6vh,64px)}
.ph h1{margin:0 0 20px;max-width:22ch;font-size:clamp(2.45rem,1rem + 4.2vw,4.5rem);line-height:.96;letter-spacing:-.012em;color:rgba(245,245,245,.8);text-wrap:balance;overflow-wrap:break-word;text-shadow:0 2px 30px rgba(8,8,8,.5)}
.ph h1 em{color:#fff}
.ph .hero__lede{max-width:58ch}
.crumbs ol{margin:0 0 18px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 8px;font-size:.86rem;color:rgba(255,255,255,.72);text-shadow:0 1px 3px rgba(8,8,8,.8)}
.crumbs li+li::before{content:'/';margin-right:8px;color:rgba(255,255,255,.4)}
.crumbs a{border-bottom:1px solid rgba(255,255,255,.3)}
.crumbs a:hover{color:#fff;border-color:var(--sky)}
.crumbs [aria-current]{color:#fff}

/* section heads that sit inside a column */
.two .head,.prose__head{display:block;margin-bottom:clamp(18px,2.2vw,26px)}
.two .head h2{font-size:clamp(1.9rem,1.3rem + 2vw,2.8rem)}
.sec--dark .lede a,.note a,.prose a{font-family:inherit;font-weight:600}

/* two columns: copy + side card */
.two{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(28px,4.4vw,72px);align-items:start}
.two--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:900px){.two,.two--even{grid-template-columns:minmax(0,1fr)}}

/* prose */
.prose{max-width:68ch}
.prose p{margin:0 0 14px;color:var(--dark-2);font-size:1.05rem}
.prose p:last-child{margin-bottom:0}
.prose a{color:var(--accent-ink);border-bottom:2px solid rgba(153,16,24,.3)}
.prose a:hover{color:var(--dark);border-color:var(--dark)}
.prose-block h2{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.25rem);margin:0 0 12px}
.prose-block+.prose-block{margin-top:clamp(26px,3vw,38px);padding-top:clamp(22px,2.6vw,32px);border-top:1px solid var(--edge-lt)}

/* side card: the dark panel beside the copy */
.sidec{position:sticky;top:92px;background:var(--panel-2);color:var(--fg);border-radius:var(--radius);padding:28px 24px 22px;box-shadow:0 24px 50px rgba(0,0,0,.2);overflow:hidden}
@media (max-width:900px){.sidec{position:relative;top:auto}}
.sidec .ridge{background:var(--accent-lift)}
.sidec .kicker{color:var(--sky)}
.sidec__big{margin:4px 0 0;font-family:var(--disp);font-weight:800;font-size:clamp(3rem,2rem + 3vw,4.4rem);line-height:.9;color:#fff;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sidec__big small{display:block;margin-top:9px;font-family:var(--body);font-weight:500;font-size:.92rem;line-height:1.35;color:var(--fg-3);letter-spacing:0}
.sidec__big--num{font-size:clamp(2.3rem,1.6rem + 2.2vw,3.1rem);white-space:nowrap;overflow-wrap:normal}
.sidec__big--num a:hover{color:var(--sky)}
.sidec__proof{margin:14px 0 0;font-size:.94rem;color:var(--fg-2)}
.sidec__proof a{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.sidec__proof a:hover{color:#fff}
.sidec__proof strong{font-family:var(--disp);font-size:1.15rem;color:#fff}
.sidec__seal{display:inline-block;margin:6px 0 2px;background:#fff;border-radius:var(--radius);padding:6px 8px}
.sidec__seal img{height:46px;width:auto}
.sidec .checks{margin:20px 0 22px}
.sidec .btn{width:100%}
.sidec__alt{display:block;margin-top:12px;text-align:center;font-size:.93rem;color:var(--fg-2)}
.sidec__alt:hover{color:#fff}

/* check lists + numbered "before you book" points */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.checks svg{flex:none;margin-top:1px;color:var(--accent)}
.sec--dark .checks svg,.sidec .checks svg{color:var(--sky)}
.sec--dark .checks li{color:var(--fg)}
.sidec .checks li{color:var(--fg-2);font-size:.95rem}
.points{list-style:none;margin:0;padding:0;border-top:1px solid var(--edge)}
.points li{padding:16px 0 17px;border-bottom:1px solid var(--edge);color:var(--fg-2);font-size:.98rem;line-height:1.58}
.points strong{display:block;margin-bottom:4px;font-family:var(--disp);font-weight:700;font-size:1.32rem;line-height:1.15;color:#fff}
.points a{color:var(--sky);border-bottom:1px solid rgba(239,62,72,.35)}
.points a:hover{color:#fff}

/* rates on inner pages: the homepage bin cards, plus a wide single card */
.bins--one{grid-template-columns:1fr}
@media (min-width:820px){
  .bins--one .bin{flex-direction:row}
  .bins--one .bin__pic{flex:0 0 46%;aspect-ratio:auto;min-height:340px}
  .bins--one .bin__pic img{position:absolute;inset:0}
  .bins--one .bin__b{padding:30px 34px 32px}
  .bins--one .bin__b h3{font-size:2.6rem}
  .bins--one .bin__for{font-size:1.05rem;max-width:44ch}
}
.bin__for strong{color:var(--dark);font-weight:600}
.sec--dark .bin{border-color:transparent;color:var(--dark)}
.note{margin:clamp(18px,2vw,26px) 0 0;max-width:86ch;color:var(--dark-2);font-size:.98rem}
.note a{color:var(--accent-ink);border-bottom:2px solid rgba(153,16,24,.3)}
.note a:hover{color:var(--dark);border-color:var(--dark)}
.sec--dark .note{color:var(--fg-3)}
.sec--dark .note a{color:var(--sky);border-color:rgba(239,62,72,.35)}
.sec--dark .note a:hover{color:#fff}
.sec--dark .lede a{color:var(--sky);border-bottom:1px solid rgba(239,62,72,.35)}

/* FAQ list */
.faqs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:0 clamp(28px,4vw,60px);border-bottom:1px solid var(--edge-lt)}
.faq{padding:20px 0 22px;border-top:1px solid var(--edge-lt)}
.faq h3{margin:0 0 8px;font-size:1.36rem;line-height:1.16;color:var(--dark)}
.faq p{margin:0;color:var(--dark-2);font-size:.98rem}
.sec--dark .faqs,.sec--dark .faq{border-color:var(--edge)}
.sec--dark .faq h3{color:#fff}
.sec--dark .faq p{color:var(--fg-2)}

/* service area hub: county groups of city cards */
.county+.county{margin-top:clamp(28px,3.4vw,44px)}
.county__h{margin:0 0 14px;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.2rem);font-style:italic}
.city-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:10px}
.city{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;height:100%;padding:16px 18px 17px;background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);overflow:hidden}
.city__n{font-family:var(--disp);font-weight:700;font-size:1.36rem;line-height:1.1;color:#fff}
.city__m{display:inline-flex;align-items:center;gap:4px;align-self:center;font-family:var(--disp);font-weight:700;font-size:.92rem;letter-spacing:.04em;color:var(--sky);white-space:nowrap}
.city__l{grid-column:1/-1;font-size:.88rem;line-height:1.45;color:var(--fg-3)}
a.city:hover{background:var(--panel-3);border-color:rgba(239,62,72,.6)}
a.city .ridge{top:auto;bottom:0;width:0;right:auto;background:var(--accent-lift);transition:width .52s var(--e-out)}
a.city:hover .ridge{width:100%}
div.city{background:transparent}
div.city .city__n{color:var(--fg-2)}

/* footer extras */
.ft__links{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 16px;font-size:.88rem}
.ft__links a{border-bottom:1px solid var(--edge)}
.ft__brand .foot-bbb{display:inline-block}
.ft__brand .foot-bbb img{height:40px;width:auto;margin:0}
.ft__bottom a,.ft__bottom span{overflow-wrap:anywhere}

/* contact map: the homepage .map block under the class name the worker tests pin */
.map-embed{display:flex;flex-direction:column;border:1px solid var(--edge);border-radius:var(--radius);overflow:hidden;background:var(--panel)}
.map-embed iframe{flex:1;width:100%;min-height:clamp(320px,46vh,460px);border:0;display:block}
.map-cap{margin:0;padding:12px 16px;font-size:.9rem;color:var(--fg-3)}
.map-cap a{color:var(--sky);border-bottom:1px solid rgba(239,62,72,.35)}
.map-cap a:hover{color:#fff}

/* ── 2026-10-09: one price per bin, job photos, size table, guides ─────────── */
/* the second price cell is now the weight included */
.bin__px b span{font-size:inherit;color:inherit}
.bin__px b small{font-family:var(--body);font-weight:600;font-size:.42em;letter-spacing:.14em;text-transform:uppercase;color:var(--dark-3);margin-left:5px}
.bin__more{align-self:flex-start;margin:-4px 0 14px;font-size:.92rem;font-weight:600;color:var(--accent-ink);border-bottom:2px solid rgba(153,16,24,.3)}
.bin__more:hover{color:var(--dark);border-color:var(--dark)}
.city__ph{grid-column:1/-1;display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-family:var(--disp);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sky)}

/* "Recent job in <City>": the real photos, captioned */
.jobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:clamp(10px,1.4vw,16px)}
.jobs--1{grid-template-columns:minmax(0,1fr);max-width:980px}
.job{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;background:var(--panel-2)}
.job img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.jobs--1 .job img{aspect-ratio:16/10}
.job figcaption{padding:11px 14px 13px;color:var(--fg-2);font-size:.9rem;line-height:1.4}

/* "Recent jobs" strip: one photo card per city, each links to its page */
.jobcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:clamp(10px,1.4vw,16px)}
.jobcs--3{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}
.jobc{position:relative;display:block;aspect-ratio:4/3.2;border-radius:var(--radius);overflow:hidden;background:var(--panel-2);isolation:isolate}
.jobc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--e-out)}
.jobc:hover img{transform:scale(1.04)}
.jobc::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,8,.92) 4%,rgba(8,8,8,.4) 38%,rgba(8,8,8,0) 64%)}
.jobc__t{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:14px 16px 16px;color:#fff}
.jobc__t b{display:block;font-family:var(--disp);font-size:1.3rem;line-height:1.1}
.jobc__t small{font-size:.84rem;color:var(--fg-2)}
.jobc .ridge{top:auto;bottom:0;width:0;right:auto;z-index:2;background:var(--accent-lift);transition:width .52s var(--e-out)}
.jobc:hover .ridge{width:100%}

/* size comparison + guide tables (scroll inside the box on phones, never the page) */
.cmp-wrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--edge-lt);border-radius:var(--radius);background:var(--card)}
.cmp{width:100%;min-width:640px;border-collapse:collapse;font-size:.98rem}
.cmp caption{caption-side:top;text-align:left;padding:14px 16px 2px;font-family:var(--disp);font-weight:700;font-size:1.12rem;color:var(--dark)}
.cmp th,.cmp td{padding:13px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--edge-lt);color:var(--dark-2);line-height:1.45}
.cmp thead th{font-family:var(--disp);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);background:var(--paper)}
.cmp tbody th{font-family:var(--disp);font-weight:700;font-size:1.3rem;color:var(--dark);white-space:nowrap}
.cmp tbody th a{border-bottom:2px solid rgba(153,16,24,.3)}
.cmp tbody th a:hover{color:var(--accent-ink)}
.cmp td b{font-family:var(--disp);font-size:1.5rem;color:var(--dark);font-variant-numeric:tabular-nums}
.cmp tbody tr:last-child>*{border-bottom:0}
.cmp .btn{padding:10px 14px;font-size:1rem}
.cmp--guide{min-width:520px}
.cmp--guide tbody th{font-size:1.06rem;white-space:normal}
.prose .cmp-wrap{margin:clamp(22px,2.6vw,32px) 0}

/* guides: cards, the answer-first lead, lists, byline, sources */
.gcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:clamp(12px,1.6vw,20px)}
.gcard{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--edge-lt);border-radius:var(--radius);overflow:hidden;color:var(--dark)}
.gcard__pic{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--paper-2)}
.gcard__pic img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--e-out)}
.gcard:hover .gcard__pic img{transform:scale(1.04)}
.gcard__b{display:flex;flex-direction:column;gap:6px;padding:16px 18px 20px}
.gcard__b .kicker,.sec--dark .gcard__b .kicker{margin:0;font-size:.78rem;color:var(--accent-ink)}
.gcard__b b{font-family:var(--disp);font-size:1.4rem;line-height:1.12}
.gcard__b>span:last-child{font-size:.93rem;color:var(--dark-2);line-height:1.5}
.gcard .ridge{top:auto;bottom:0;width:0;right:auto;transition:width .52s var(--e-out)}
.gcard:hover .ridge{width:100%}
.sec--dark .gcard{border-color:transparent}
.prose .answer{margin:0 0 clamp(22px,2.6vw,30px);padding:18px 20px;background:var(--card);border-left:4px solid var(--accent);border-radius:var(--radius);font-size:1.12rem;line-height:1.55;color:var(--dark)}
.prose ul,.prose ol{margin:0 0 14px;padding-left:1.25em;color:var(--dark-2);font-size:1.05rem}
.prose li{margin:5px 0}
.prose .byline{margin:clamp(24px,3vw,34px) 0 0;padding-top:14px;border-top:1px solid var(--edge-lt);font-size:.9rem;color:var(--dark-3)}
.sources{margin:0 0 clamp(34px,4vw,52px);padding-left:1.3em;display:grid;gap:8px;max-width:86ch;color:var(--dark-2)}
.sources a{color:var(--accent-ink);border-bottom:2px solid rgba(153,16,24,.3);overflow-wrap:anywhere}
.sources a:hover{color:var(--dark);border-color:var(--dark)}
.sec--dark .sources{color:var(--fg-2)}
.sec--dark .sources a{color:var(--sky);border-color:rgba(239,62,72,.35)}
.gl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:0 clamp(28px,4vw,60px);border-bottom:1px solid var(--edge-lt)}
.gl li{display:grid;gap:4px;padding:16px 0 18px;border-top:1px solid var(--edge-lt)}
.gl a{font-family:var(--disp);font-weight:700;font-size:1.3rem;line-height:1.15;color:var(--accent-ink)}
.gl a:hover{color:var(--dark)}
.gl span{font-size:.95rem;color:var(--dark-2)}

/* small phones (<=380px): the header Book button must not push past the edge */
@media (max-width:380px){
  .hdr__row{gap:10px}
  .hdr__mark{gap:8px}
  .hdr__mark img{height:34px}
  .hdr__wm{font-size:1.04rem}
  .hdr__acts .btn{padding:10px 12px;font-size:.98rem}
}

/* ═══════════════════════════════════════════════════════════════════════════
   2026-11-02: the live 3DA site. Moved in from the homepage's inline <style>
   (bin drawings, their logo, the mountain range) plus the real navigation,
   the size/city page parts and the contact cards.
   ═══════════════════════════════════════════════════════════════════════════ */
.bin__pic--draw{background:#fff}
.bins--4{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}
.bin__pic--draw img{object-fit:contain;padding:6% 7%}
.hdr__mark img.hdr__logo{height:56px;width:auto;transition:height .35s var(--e-out)}
.hdr.is-stuck .hdr__mark img.hdr__logo{height:46px}
@media (max-width:700px){.hdr__mark img.hdr__logo{height:46px}.hdr.is-stuck .hdr__mark img.hdr__logo{height:40px}}
.mtn{position:relative;padding-bottom:calc(var(--mtn-h) + 24px)}
.mtn::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:var(--mtn-h);background:var(--mtn-c,var(--panel-2));pointer-events:none;-webkit-mask:url(/assets/mountains.webp?v=20261102) center bottom / 100% 100% no-repeat;mask:url(/assets/mountains.webp?v=20261102) center bottom / 100% 100% no-repeat}
:root{--mtn-h:clamp(54px,8vw,128px)}
.mtn--ft{--mtn-c:var(--ink-deep)}
.hero__eyebrow,.sec--dark .kicker{color:#fff}
.hero__eyebrow svg,.sec--dark .kicker svg{color:var(--accent-lift)}
.hero__local{display:inline-flex;align-items:center;gap:8px;margin:2px 0 22px;color:var(--fg-2);font-weight:600}
.hero__local svg{color:var(--accent-lift)}
.ft__brand img.ft__logo{width:230px;height:auto}

/* navigation: dropdowns on desktop, one compact panel on phones */
.hdr__nav{align-items:center}
.nav-dd{position:relative}
.nav-dd__b{display:inline-flex;align-items:center;gap:5px;padding:14px 0;margin:-14px 0;background:none;border:0;cursor:pointer}
.nav-dd__b svg{width:12px;height:12px;transition:transform .2s}
.nav-dd.open .nav-dd__b svg{transform:rotate(180deg)}
.nav-dd__m{position:absolute;left:-14px;top:calc(100% + 14px);min-width:240px;padding:8px;background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:0 24px 50px rgba(0,0,0,.5);display:none}
.nav-dd__m::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav-dd:hover .nav-dd__m,.nav-dd.open .nav-dd__m{display:block}
.nav-dd__m a{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:10px 12px;border-radius:2px;font-family:var(--disp);font-weight:600;font-size:1.1rem;color:#fff}
.nav-dd__m a small{font-family:var(--body);font-size:.82rem;color:var(--fg-3)}
.nav-dd__m a:hover{background:var(--panel-3)}
.hdr__menu{width:46px;height:46px;align-items:center;justify-content:center;padding:0;background:transparent;border:1.5px solid rgba(245,245,245,.5);border-radius:var(--radius);color:#fff;cursor:pointer}
.hdr__menu .i-x{display:none}
.hdr.menu-open .hdr__menu .i-x{display:block}
.hdr.menu-open .hdr__menu .i-m{display:none}
.mnav{display:none}
@media (max-width:1100px){
  .hdr__menu{display:inline-flex;flex:none}
  .hdr.menu-open{background:#151515}
  .hdr.menu-open .hdr__scrim{opacity:0}
  .hdr.menu-open .mnav{display:block;position:relative;max-height:calc(100svh - 70px);overflow-y:auto;padding:6px var(--gut) 28px;border-top:1px solid var(--edge)}
  .mnav .mnav__h{margin:16px 0 4px;font-family:var(--disp);font-weight:700;font-size:.84rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sky);line-height:1.2}
  .mnav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
  .mnav li a{display:block;padding:11px 0;border-bottom:1px solid var(--edge);font-family:var(--disp);font-weight:600;font-size:1.2rem;line-height:1.15;color:#fff}
  .mnav .btn{margin-top:18px;width:100%}
}
@media (max-width:760px){
  .hdr__acts{display:none}
  .hdr__menu{margin-left:auto}
}

/* inner page head: shorter than the homepage hero */
.ph{min-height:clamp(430px,60svh,600px)}
.ph__in .hero__acts{margin-top:22px}
.ph--post h1{max-width:26ch;font-size:clamp(2.1rem,1.1rem + 3.4vw,3.6rem)}
.ph--plain{min-height:0}
.ph--plain .ph__in{padding-bottom:clamp(34px,5vh,56px)}
.btn svg{flex:none}
.btn--ghost-dk{background:transparent;border:1.5px solid rgba(17,17,17,.28);color:var(--dark)}

/* prose headings, article meta */
.prose h2{margin:clamp(30px,3.4vw,44px) 0 12px;font-size:clamp(1.75rem,1.2rem + 1.7vw,2.4rem);line-height:1.04}
.prose h3{margin:24px 0 6px;font-size:clamp(1.35rem,1.1rem + .8vw,1.65rem);line-height:1.1}
.prose>:first-child,.prose h2:first-child{margin-top:0}
.prose .meta{margin:0 0 18px;font-size:.95rem;color:var(--dark-3)}
.prose .btn{margin-top:8px;color:#fff;border:0}
.prose .btn:hover{color:#fff}
.prose strong{color:var(--dark)}

/* side card extras: bin drawing, price list */
.sidec__pic{margin:0 0 20px;padding:12px 14px;background:#fff;border-radius:var(--radius)}
.sidec__pic img{width:100%;height:auto;max-height:190px;object-fit:contain}
.sidec__note{margin:12px 0 0;font-size:.9rem;color:var(--fg-3)}
.pr{list-style:none;margin:16px 0 22px;padding:0;border-top:1px solid var(--edge)}
.pr li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--edge);color:var(--fg-2);font-size:.98rem}
.pr b{font-family:var(--disp);font-size:1.4rem;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.pr small{color:var(--fg-3);font-size:.82rem}
.sidec .btn+.btn{margin-top:10px}
.sidec .ghost{margin-top:10px}

/* price tiles on size pages */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 clamp(22px,2.6vw,32px);background:var(--card);border:1px solid var(--edge-lt);border-radius:var(--radius)}
.stats div{padding:18px 20px}
.stats div+div{border-left:1px solid var(--edge-lt)}
.stats b{display:block;font-family:var(--disp);font-weight:800;font-size:clamp(2rem,1.5rem + 1.6vw,2.8rem);line-height:1;color:var(--dark);font-variant-numeric:tabular-nums}
.stats span{display:block;margin-top:5px;font-size:.92rem;color:var(--dark-3)}
@media (max-width:560px){.stats{grid-template-columns:1fr}.stats div+div{border-left:0;border-top:1px solid var(--edge-lt)}}
.draw{margin:0;padding:clamp(14px,2vw,22px);background:#fff;border:1px solid var(--edge-lt);border-radius:var(--radius)}
.draw img{width:100%;height:auto}
.draw figcaption{margin-top:8px;font-size:.92rem;color:var(--dark-3)}

/* dark section copy */
.sec--dark .intro{margin:0 0 20px;color:var(--fg-2);font-size:1.05rem;max-width:58ch}
.sec--dark h2{color:#fff}
.sec--dark .checks li{font-size:1.04rem}
.sec--dark .more{margin:26px 0 0;color:var(--fg-3);font-size:.95rem}
.sec--dark .more a{color:var(--sky);border-bottom:1px solid rgba(239,62,72,.35)}
.sec--dark .more a:hover{color:#fff}
.sec--dark .cities{margin:14px 0 0}

/* contact cards */
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:clamp(12px,1.6vw,18px)}
.opt{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px 22px 22px;background:var(--card);border:1px solid var(--edge-lt);border-radius:var(--radius);overflow:hidden}
.opt h2,.opt h3{font-size:1.55rem;line-height:1.05}
.opt p{margin:0;color:var(--dark-2);font-size:.98rem}
.opt__big{display:block;font-family:var(--disp);font-weight:800;font-size:clamp(1.6rem,1.2rem + 1vw,2rem);line-height:1.1;color:var(--dark);overflow-wrap:anywhere}
.opt .btn{margin-top:auto}
.opt .btn:first-of-type{margin-top:12px}

/* footer, three link columns */
@media (max-width:860px){.ft__brand{grid-column:1/-1}}
.ft__sub{margin-top:14px;font-size:.88rem}
.ft__bottom .credit{font-size:.74rem;opacity:.85}
.ft__bottom .credit a{text-transform:none;letter-spacing:0}
.opt__big--sm{font-size:clamp(1.1rem,.9rem + .9vw,1.45rem)}
.prose .btn{font-family:var(--disp);font-weight:700}
