/* ============================================================
   Yellow Tote Co. — shared design system (dark theme)
   One stylesheet for every page. Edit here, not per-page.
   ============================================================ */

:root{
  /* ---- brand tokens ---- */
  --bg:#111111;            /* main background, every page */
  --surface:#1B1B1B;       /* raised cards / surfaces */
  --surface-2:#232323;     /* subtle nested surface (card headers, etc.) */
  --text:#F7F5EF;          /* main text */
  --text-2:#BDBAB2;        /* secondary text */
  --text-3:#8A877D;        /* tertiary / dimmer text */
  --border:#343434;        /* subtle borders */
  --yellow:#F9D44F;        /* brand accent — matched to logo.svg's yellow */
  --yellow-deep:#E0B92E;
  --good:#5FD98A;
  --error:#FF6B6B;

  --shell:min(1200px,92vw);
  --shell-narrow:min(760px,92vw);
  --radius:12px;
  --radius-sm:8px;

  --step-lg:clamp(4.5rem,9vw,7.5rem);
  --step:clamp(3rem,6vw,5rem);
  --step-sm:clamp(2rem,4vw,3.2rem);
}

*{box-sizing:border-box;}
[hidden]{display:none !important;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;line-height:1.6;font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block;}
a{color:inherit;}
button{font-family:inherit;}
::selection{background:var(--yellow);color:var(--bg);}

/* ============ type ============ */
h1,h2,h3{margin:0;line-height:1.08;letter-spacing:-0.015em;font-weight:800;}
h1{font-size:clamp(2.4rem,6vw,4.75rem);letter-spacing:-0.02em;line-height:1.03;}
h2{font-weight:800;font-size:clamp(1.8rem,3.4vw,2.5rem);}
h3{font-weight:700;font-size:1.2rem;letter-spacing:-0.005em;}
p{margin:0 0 1rem;max-width:62ch;}
.lede{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--text-2);line-height:1.6;max-width:46ch;}
.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-2);margin-bottom:.9rem;
}
.eyebrow::before{content:"";width:18px;height:2px;background:var(--yellow-deep);}

/* ============ layout ============ */
.shell{width:var(--shell);margin-inline:auto;}
.shell-narrow{width:var(--shell-narrow);margin-inline:auto;}
.sec{padding:var(--step) 0;position:relative;}
.sec-sm{padding:var(--step-sm) 0;}
.sec-head{max-width:40ch;margin-bottom:clamp(2rem,4vw,3rem);}
.sec-head p{margin-top:.9rem;}
.center{text-align:center;margin-inline:auto;}
.paper{background:var(--bg);color:var(--text);}
.slab{background:var(--surface);}
.divider{border-top:1px solid var(--border);}

.rail{border-left:2px solid var(--yellow-deep);padding-left:clamp(1.1rem,2.6vw,2.2rem);}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.split-top{align-items:start;}
.split-wide{grid-template-columns:1.15fr .85fr;}
.split-narrow{grid-template-columns:.9fr 1.1fr;}
@media (max-width:880px){.split,.split-wide,.split-narrow{grid-template-columns:1fr;}}

/* ============ buttons ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-weight:700;font-size:1rem;min-height:44px;
  padding:.85rem 1.7rem;border:1.5px solid transparent;border-radius:var(--radius-sm);
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .1s ease;
}
.btn:active{transform:translateY(1px);}
.btn-y{background:var(--yellow);color:var(--bg);}
.btn-y:hover{background:var(--yellow-deep);}
.btn-k{background:var(--surface);color:var(--text);border-color:var(--border);}
.btn-k:hover{background:var(--surface-2);}
.btn-o{background:transparent;color:var(--text);border-color:var(--border);}
.btn-o:hover{border-color:var(--yellow-deep);color:var(--yellow);}
.btn-lg{padding:1rem 2.1rem;font-size:1.06rem;min-height:52px;}
.btn-sm{padding:.6rem 1.15rem;font-size:.92rem;min-height:40px;}
.btn-block{width:100%;}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible{outline:2.5px solid var(--yellow);outline-offset:2px;}

/* ============ header ============ */
.hdr{position:sticky;top:0;z-index:90;background:rgba(17,17,17,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s;}
.hdr.on{border-bottom-color:var(--border);}
.hdr-in{display:flex;align-items:center;gap:1.8rem;padding:.7rem 0;}
.mark{display:flex;align-items:center;text-decoration:none;margin-right:auto;}
.logo-img{height:64px;width:auto;display:block;}
@media (max-width:900px){.logo-img{height:52px;}}
@media (max-width:640px){.logo-img{height:44px;}}
.nav{display:flex;gap:1.6rem;align-items:center;}
.nav a{text-decoration:none;font-weight:600;font-size:.96rem;color:var(--text);
  padding:.3rem 0;border-bottom:2px solid transparent;}
.nav a:hover{color:var(--yellow);}
.nav a.here{border-bottom-color:var(--yellow-deep);}
.hdr-actions{display:flex;align-items:center;gap:1rem;}
.tel{font-weight:700;text-decoration:none;white-space:nowrap;font-size:.96rem;color:var(--text);}
.tel:hover{color:var(--yellow);}
.burger{display:none;background:none;border:1.5px solid var(--border);color:var(--text);
  width:44px;height:44px;border-radius:var(--radius-sm);cursor:pointer;padding:0;flex-shrink:0;}
.burger span{display:block;width:19px;height:2px;background:var(--text);margin:4px auto;}
@media (max-width:1080px){
  .nav{position:fixed;inset:66px 0 auto;background:var(--bg);border-bottom:1px solid var(--border);
    flex-direction:column;align-items:flex-start;gap:0;padding:.5rem 6vw 1.4rem;display:none;
    max-height:calc(100vh - 66px);overflow-y:auto;}
  .nav.open{display:flex;}
  .nav a{width:100%;padding:.9rem 0;border-bottom:1px solid var(--border);font-size:1.08rem;}
  .burger{display:block;}
}
@media (max-width:540px){.tel{display:none;}}

/* ============ hero ============ */
.hero{padding:clamp(2.6rem,6vw,4.8rem) 0;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,3.6rem);align-items:center;}
.hero h1{margin-bottom:1.2rem;}
.hero .lede{margin-bottom:1.6rem;}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-art{order:-1;max-width:440px;margin-inline:auto;}
}
@media (prefers-reduced-motion:no-preference){
  .fade-in{opacity:0;transform:translateY(10px);animation:fadeIn .6s ease forwards;}
  .fade-in.d1{animation-delay:.05s}.fade-in.d2{animation-delay:.14s}.fade-in.d3{animation-delay:.22s}
}
@keyframes fadeIn{to{opacity:1;transform:none;}}

/* ============ ZIP / service checker ============ */
.checker{border:1.5px solid var(--border);background:var(--surface);padding:1.3rem;max-width:32rem;border-radius:var(--radius);}
.checker p{margin:0;}
.checker label{display:block;font-weight:700;font-size:.94rem;margin-bottom:.6rem;}
.zip-row{display:flex;gap:.6rem;}
.zip-row input{flex:1;min-width:0;font:inherit;padding:.76rem .9rem;border:1.5px solid var(--border);
  background:var(--bg);color:var(--text);border-radius:var(--radius-sm);letter-spacing:.06em;}
.zip-msg{font-size:.93rem;margin:.9rem 0 0;min-height:1.3em;line-height:1.5;color:var(--text-2);}
.zip-msg.yes{color:var(--good);font-weight:700;}
.zip-msg.no{color:var(--error);font-weight:700;}
.zip-big{max-width:none;}

/* ============ steps ============ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.4rem,2.6vw,2.2rem);}
.step{padding-top:1.1rem;border-top:2px solid var(--border);}
.step:first-child{border-top-color:var(--yellow-deep);}
.step .num{display:block;font-size:.85rem;font-weight:800;letter-spacing:.06em;color:var(--yellow-deep);margin-bottom:.7rem;}
.step h3{margin-bottom:.4rem;font-size:1.15rem;}
.step p{font-size:.97rem;color:var(--text-2);margin:0;}
@media (max-width:880px){.steps{grid-template-columns:1fr 1fr;}}
@media (max-width:540px){.steps{grid-template-columns:1fr;}}

/* ============ offers (realtor / dumpster) ============ */
.offers-grid{display:grid;grid-template-columns:1fr 1fr;}
.offer{padding:0 clamp(1.6rem,3vw,3rem);}
.offer:first-child{padding-left:0;}
.offer:last-child{padding-right:0;border-left:1px solid var(--border);}
.offer h3{font-size:1.15rem;margin-bottom:.5rem;color:var(--text);}
.offer p{font-size:.95rem;color:var(--text-2);margin-bottom:.9rem;max-width:34ch;}
.offer-links{display:flex;gap:1.6rem;flex-wrap:wrap;}
.offer-link{color:var(--yellow);font-weight:700;text-decoration:none;display:inline-block;padding:.2rem 0;}
.offer-link:hover{color:var(--yellow-deep);text-decoration:underline;}
@media (max-width:720px){
  .offers-grid{grid-template-columns:1fr;row-gap:1.8rem;}
  .offer{padding:0;}
  .offer:last-child{border-left:0;border-top:1px solid var(--border);padding-top:1.8rem;}
}

/* ============ benefit rows ============ */
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,2.6vw,2.2rem);}
@media (max-width:880px){.benefits{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.benefits{grid-template-columns:1fr;}}
.benefit h3{margin-bottom:.45rem;font-size:1.08rem;}
.benefit p{font-size:.96rem;color:var(--text-2);margin:0;}
.benefit .ico{width:38px;height:38px;margin-bottom:1rem;color:var(--yellow-deep);}

/* ============ package cards ============ */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
.tier{background:var(--surface);border:1.5px solid var(--border);padding:1.6rem 1.4rem;border-radius:var(--radius);
  display:flex;flex-direction:column;position:relative;}
.tier.lead{border-color:var(--yellow-deep);}
.tier .fit{font-weight:700;font-size:.85rem;color:var(--yellow-deep);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.03em;}
.tier h3{font-size:1.5rem;margin-bottom:.15rem;}
.tier .cap{font-size:.92rem;color:var(--text-2);margin-bottom:1.1rem;}
.tier .cost{display:flex;align-items:baseline;gap:.35rem;margin-bottom:.3rem;}
.tier .cost b{font-size:2.3rem;font-weight:800;line-height:1;letter-spacing:-.02em;}
.tier .cost span{color:var(--text-2);font-size:.92rem;}
.tier .ext{font-size:.86rem;color:var(--text-2);margin-bottom:1.2rem;}
.tier ul{list-style:none;margin:0 0 1.4rem;padding:0;font-size:.94rem;}
.tier li{padding:.32rem 0 .32rem 1.25rem;position:relative;color:var(--text);}
.tier li::before{content:"";position:absolute;left:0;top:.85em;width:6px;height:6px;border-radius:50%;background:var(--yellow-deep);}
.tier .btn{margin-top:auto;width:100%;}
@media (max-width:980px){.tiers{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.tiers{grid-template-columns:1fr;}}

/* ============ tables ============ */
.tbl{width:100%;border-collapse:collapse;font-size:.96rem;}
.tbl th{text-align:left;font-weight:700;font-size:.85rem;letter-spacing:.02em;
  padding:.75rem .9rem;background:var(--yellow);color:var(--bg);}
.tbl td{padding:.75rem .9rem;border-bottom:1px solid var(--border);}
.tbl tr:last-child td{border-bottom:0;}
.tbl td.r{text-align:right;font-weight:700;}
.tbl-wrap{overflow-x:auto;border-radius:var(--radius);}

/* ============ product spec ============ */
.spec{border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);}
.spec-top{padding:1.3rem 1.4rem;background:var(--surface-2);border-bottom:1px solid var(--border);}
.spec-top h3{font-size:1.2rem;}
.spec-row{display:flex;justify-content:space-between;gap:1rem;padding:.68rem 1.4rem;
  border-bottom:1px solid var(--border);font-size:.95rem;}
.spec-row:last-child{border-bottom:0;}
.spec-row dt{color:var(--text-2);margin:0;}
.spec-row dd{margin:0;font-weight:700;text-align:right;}

/* ============ generic grids ============ */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.6vw,2rem);}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.2vw,1.6rem);}
@media (max-width:880px){.grid3{grid-template-columns:1fr 1fr;}.grid4{grid-template-columns:1fr 1fr;}}
@media (max-width:540px){.grid3,.grid4{grid-template-columns:1fr;}}
.item{border-left:2px solid var(--yellow-deep);padding-left:1rem;}
.item h3{margin-bottom:.35rem;font-size:1.02rem;}
.item p{font-size:.94rem;color:var(--text-2);margin:0;}

/* ============ use-case chips ============ */
.chips{display:flex;flex-wrap:wrap;gap:.6rem;}
.chip{border:1.5px solid var(--border);border-radius:999px;padding:.55rem 1.1rem;font-size:.92rem;font-weight:600;color:var(--text);background:var(--surface);}

/* ============ reviews ============ */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
@media (max-width:880px){.review-grid{grid-template-columns:1fr;}}
.review-card{border:1.5px solid var(--border);border-radius:var(--radius);padding:1.4rem;background:var(--surface);}
.review-card p{font-size:.98rem;margin-bottom:.9rem;}
.review-card cite{font-style:normal;font-weight:700;font-size:.9rem;display:block;}
.review-card cite small{display:block;font-weight:400;color:var(--text-2);margin-top:.15rem;}
.review-tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-3);border:1px dashed var(--border);border-radius:999px;padding:.2rem .7rem;margin-bottom:.9rem;}
.stars{display:flex;gap:.2rem;color:var(--yellow-deep);margin-bottom:1rem;}
.stars svg{width:17px;height:17px;}

/* ============ FAQ ============ */
.faq{max-width:56rem;}
.faq details{border-top:1px solid var(--border);}
.faq details:last-of-type{border-bottom:1px solid var(--border);}
.faq summary{cursor:pointer;list-style:none;padding:1.15rem 2.6rem 1.15rem 0;
  font-weight:700;font-size:1.05rem;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"";position:absolute;right:.5rem;top:1.55rem;width:10px;height:10px;
  border-right:2.5px solid var(--yellow-deep);border-bottom:2.5px solid var(--yellow-deep);
  transform:rotate(45deg);transition:transform .2s ease;}
.faq details[open] summary::after{transform:rotate(-135deg);}
.faq details p{padding-bottom:1.2rem;margin:0;color:var(--text-2);}

/* ============ forms ============ */
.form{display:grid;gap:1rem;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.frow3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;}
.f{display:grid;gap:.4rem;}
.f label{font-size:.87rem;font-weight:700;}
.f .hint{font-size:.8rem;color:var(--text-2);font-weight:400;}
.f input,.f select,.f textarea{
  font:inherit;width:100%;padding:.8rem .9rem;border-radius:var(--radius-sm);
  border:1.5px solid var(--border);background:var(--surface);color:var(--text);min-height:44px;
}
.f input::placeholder,.f textarea::placeholder{color:var(--text-3);}
.f select{color-scheme:dark;}
.f textarea{min-height:6.5rem;resize:vertical;}
.f.error input,.f.error select,.f.error textarea{border-color:var(--error);}
.err-msg{font-size:.83rem;color:var(--error);margin:.3rem 0 0;}
.fnote{font-size:.86rem;color:var(--text-2);margin:0;}
.sent{background:var(--yellow);color:var(--bg);padding:1rem 1.1rem;font-weight:700;font-size:.95rem;border-radius:var(--radius-sm);}
@media (max-width:640px){.frow,.frow3{grid-template-columns:1fr;}}

.toggle-row{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;}
.toggle{display:inline-flex;border:1.5px solid var(--border);border-radius:999px;overflow:hidden;}
.toggle button{background:transparent;color:var(--text-2);border:0;padding:.55rem 1.2rem;font-weight:700;font-size:.92rem;cursor:pointer;min-height:44px;}
.toggle button.active{background:var(--yellow);color:var(--bg);}

.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--border);border-radius:var(--radius-sm);}
.stepper button{background:transparent;border:0;color:var(--text);width:44px;height:44px;font-size:1.1rem;cursor:pointer;}
.stepper button:hover{color:var(--yellow);}
.stepper output{min-width:2.2rem;text-align:center;font-weight:700;}

.check-row{display:flex;align-items:flex-start;gap:.7rem;font-size:.92rem;color:var(--text-2);}
.check-row input{margin-top:.25rem;width:18px;height:18px;flex-shrink:0;accent-color:var(--yellow);}

/* ============ order summary ============ */
.summary{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1.4rem;position:sticky;top:5.5rem;}
.summary h3{margin-bottom:1rem;}
.order-review{border:2px solid var(--yellow-deep);border-radius:var(--radius);background:var(--surface);padding:1.6rem 1.8rem;}
.order-review h3{margin-bottom:1rem;font-size:1.3rem;}
.order-review .sum-row.total{font-size:1.5rem;}
.sum-row{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;font-size:.94rem;border-bottom:1px solid var(--border);}
.sum-row:last-of-type{border-bottom:0;}
.sum-row.total{font-size:1.15rem;font-weight:800;padding-top:.9rem;border-top:2px solid var(--border);border-bottom:0;}
.sum-row span:first-child{color:var(--text-2);}
.sum-row.total span:first-child{color:var(--text);}
.sum-note{font-size:.82rem;color:var(--text-2);margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--border);}
@media (max-width:880px){.summary{position:static;}}

.notice{border:1.5px solid var(--yellow-deep);background:#2A2410;border-radius:var(--radius);
  padding:1rem 1.2rem;font-size:.92rem;color:var(--text);}
.notice strong{color:var(--yellow);}

/* ============ contact rows ============ */
.ways{display:grid;gap:0;border-top:1px solid var(--border);}
.way{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;
  padding:1.15rem 0;border-bottom:1px solid var(--border);}
.way b{font-size:1.05rem;}
.way span{color:var(--text-2);font-size:.94rem;text-align:right;}
.way a{color:var(--yellow);text-decoration:none;font-weight:700;}

/* ============ cta band ============ */
.cta{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:clamp(2.8rem,5vw,4.2rem) 0;}
.cta h2{margin-bottom:.9rem;}
.cta p{color:var(--text-2);max-width:44ch;}
.cta-in{display:flex;flex-wrap:wrap;gap:1.6rem 2.5rem;justify-content:space-between;align-items:center;}

/* ============ legal pages ============ */
.legal{max-width:72ch;}
.legal h1{font-size:clamp(2rem,4.2vw,2.8rem);margin-bottom:1.4rem;}
.legal h2{font-size:1.35rem;margin:2.2rem 0 .8rem;color:var(--yellow);}
.legal h3{font-size:1.05rem;margin:1.5rem 0 .5rem;}
.legal p,.legal li{color:var(--text-2);}
.legal strong{color:var(--text);}
.legal a{color:var(--yellow);}
.legal ul,.legal ol{padding-left:1.2rem;}
.legal li{margin-bottom:.4rem;}
.legal hr{border:0;border-top:1px solid var(--border);margin:2rem 0;}

/* ============ footer ============ */
.ftr{background:var(--bg);border-top:1px solid var(--border);padding:clamp(2.4rem,4.5vw,3.2rem) 0 1.6rem;}
.ftr-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem;}
.ftr-brand .logo-img{height:44px;margin-bottom:.9rem;}
.ftr h4{font-size:.8rem;font-weight:800;letter-spacing:.08em;color:var(--text-3);
  margin:0 0 .9rem;text-transform:uppercase;}
.ftr ul{list-style:none;margin:0;padding:0;font-size:.95rem;}
.ftr li{padding:.24rem 0;}
.ftr a{color:var(--text);text-decoration:none;}
.ftr a:hover{color:var(--yellow);}
.ftr-note{color:var(--text-2);font-size:.92rem;margin-top:.6rem;max-width:32ch;}
.ftr-contact{font-size:.92rem;color:var(--text);line-height:1.7;}
.ftr-legal{border-top:1px solid var(--border);margin-top:2.2rem;padding-top:1.2rem;
  font-size:.83rem;color:var(--text-3);display:flex;flex-wrap:wrap;gap:.7rem 1.3rem;
  justify-content:space-between;}
@media (max-width:820px){.ftr-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.ftr-grid{grid-template-columns:1fr;}}

/* ============ page banner ============ */
.banner{padding:clamp(2.4rem,5vw,3.6rem) 0 0;}
.banner h1{margin-bottom:1rem;}
.crumb{font-size:.85rem;color:var(--text-3);margin-bottom:1.1rem;}
.crumb a{color:var(--text-2);text-decoration:none;}
.crumb a:hover{color:var(--yellow);}

/* ============ sticky mobile CTA ============ */
.mobile-cta{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:95;
  background:var(--bg);border-top:1px solid var(--border);
  padding:.7rem 5vw;padding-bottom:calc(.7rem + env(safe-area-inset-bottom));
}
@media (max-width:720px){.mobile-cta{display:block;}body{padding-bottom:64px;}}

/* ============ town strip (ticker) ============ */
.strip{background:var(--yellow);padding:1.1rem 0;position:relative;}
.strip-label{text-align:center;font-weight:800;font-size:.8rem;letter-spacing:.12em;color:var(--bg);text-transform:uppercase;margin-bottom:.8rem;}
.strip-track{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.strip-row{display:flex;width:max-content;}
.strip-row span.town{font-weight:700;font-size:1rem;letter-spacing:.01em;color:var(--bg);padding:0 1.5rem;white-space:nowrap;position:relative;}
.strip-row span.town::after{content:"•";position:absolute;right:-.15rem;top:0;color:var(--bg);opacity:.45;}
.strip-pause{
  position:absolute;right:calc((100% - var(--shell))/2);top:50%;transform:translateY(-50%);
  background:var(--bg);color:var(--yellow);border:0;border-radius:999px;
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;
  font-size:.8rem;z-index:2;
}
@media (max-width:900px){.strip-pause{right:.8rem;}}
.strip.paused .strip-row{animation-play-state:paused;}
@media (prefers-reduced-motion:no-preference){
  .strip-row{animation:stripScroll 46s linear infinite;}
}
@keyframes stripScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .strip-track{overflow-x:auto;-webkit-mask-image:none;mask-image:none;}
  .strip-row{width:auto;flex-wrap:wrap;justify-content:center;}
  .strip-pause{display:none;}
}
.strip-note{text-align:center;color:#5C4E12;font-size:.82rem;margin-top:.9rem;}
@media (max-width:640px){.strip-row span.town{font-size:.92rem;padding:0 1.1rem;}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ============ announcement strips (realtor / dumpster) ============ */
.announce{background:var(--yellow);padding:.85rem 0;}
.announce p{margin:0;text-align:center;font-size:.92rem;font-weight:600;color:var(--bg);line-height:1.6;}
.announce strong{font-weight:800;}
.announce a{color:var(--bg);font-weight:800;text-decoration:underline;text-underline-offset:2px;
  padding:.2rem 0;display:inline-block;}
.announce a:hover{opacity:.7;}
.announce-divider{height:3px;background:var(--bg);}
@media (max-width:640px){.announce p{font-size:.86rem;padding:0 .5rem;}}

/* ============ booking page ============ */
.pkg-card{cursor:pointer;transition:border-color .12s ease;}
.pkg-card:hover{border-color:var(--text-3);}
.pkg-card.pkg-selected{border-color:var(--yellow-deep);border-width:2px;}
.pickup-date-box{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.8rem .9rem;background:var(--surface);font-weight:700;}
.book-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(1.6rem,3vw,3rem);align-items:start;}
@media (max-width:960px){.book-cols{grid-template-columns:1fr;}}

/* ============ hero illustration ============ */
.hero-art{position:relative;}
.hero-art svg{width:100%;height:auto;}

/* ============ misc ============ */
.na{color:var(--error);font-weight:700;}
.center-text{text-align:center;}
