/* Northern Junk Removal - shared dark theme
   Linked at the end of <head> on every page except the homepage
   (the homepage has the same rules inline). Overrides the older light sections. */
:root{--bg-a:#0d0d0d;--bg-b:#121412;--card:#161616;--line:#242424;--text:#ececec;--muted:#9a9a9a;--dim:#6f6f6f;--accent:#4ade80}

body{background:var(--bg-a);color:var(--text)}
.page-hero{border-bottom:1px solid #1b1b1b}
.how-bg,.services-bg,.map-bg,.why-bg,.faq-bg{background:var(--bg-b);border-top:1px solid #1b1b1b;border-bottom:1px solid #1b1b1b}
.section-title{color:#fff}
.section-sub{color:var(--muted)}
.eyebrow{color:var(--accent)}

/* long-form text on service + city pages */
.prose p,.prose li{color:#b4b4b4}
.prose h3,.prose strong{color:#fff}
.prose a{color:var(--accent)}

/* reviews */
.mini-review,.review-card{background:var(--card);border-color:var(--line)}
.review-card::before{color:#2a2a2a}
.review-text{color:#b8b8b8}
.review-name{color:#fff}
.review-location,.review-platform{color:var(--dim)}
.review-author{border-top-color:var(--line)}
.review-arrow{background:var(--card);border:1px solid var(--line)}
.review-arrow:hover{background:#1a6b3a;border-color:#1a6b3a}
.review-dots .dot{background:#333}
.review-dots .dot.active{background:var(--accent)}
.reviews-cta p{color:var(--muted)}
.btn-outline-green{border-color:var(--accent);color:var(--accent)}
.btn-outline-green:hover{background:var(--accent);color:#0b2414}

/* service cards */
.service-card{background:var(--card);border-color:var(--line)}
.service-card:hover{border-color:#1a6b3a;box-shadow:0 10px 30px -12px rgba(74,222,128,0.25)}
.service-card h3{color:#fff}
.service-card p{color:var(--muted)}
.s-icon{color:var(--accent)}
.why-card{background:var(--card);border-color:var(--line)}
.why-icon{color:var(--accent)}

/* service area lists */
.area-list li,.area-list a{color:#cfcfcf}
.area-list a:hover{color:var(--accent)}
.area-list li::before{color:var(--accent)}
.map-visual{background:var(--card);border:1px solid var(--line)}

/* review / rating pages */
.rate-card{background:var(--card);border:1px solid var(--line);box-shadow:0 30px 70px -25px rgba(0,0,0,0.9)}
.star-btn{color:#3a3a3a}
.star-btn:hover,.star-btn:focus-visible,.star-btn.selected{color:#f5a623}
.rate-hint{color:var(--dim)}
.rate-response{border-top-color:var(--line)}
.rate-response h2{color:#fff}
.rate-response p{color:var(--muted)}
.rate-btn-secondary{color:#8a8a8a}
.rate-btn-secondary:hover{color:var(--accent)}
.below-copy p{color:var(--dim)}
.fb-form label{color:#d0d0d0}
.fb-form label span.opt{color:#666}
.fb-form input,.fb-form textarea{background:#111;border-color:var(--line);color:#fff}
.fb-form input:focus,.fb-form textarea:focus{background:#0f0f0f;border-color:var(--accent);box-shadow:0 0 0 3px rgba(74,222,128,0.12)}
.fb-form input::placeholder,.fb-form textarea::placeholder{color:#4d4d4d}
.fb-error{color:#f87171}
.redirect-spinner{border-color:#2a2a2a;border-top-color:var(--accent)}

/* privacy policy */
.wrap h1,.wrap h2{color:#fff}
.wrap p,.wrap li{color:#b4b4b4}
.wrap a{color:var(--accent)}
.updated{color:var(--dim)}
.contact-box{background:var(--card);border:1px solid var(--line)}

/* service page: "What we take" grid */
.take-title{font-family:'Oswald',sans-serif;font-size:19px;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;color:#fff;margin:36px 0 14px}
.take-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;max-width:760px}
@media(max-width:600px){.take-grid{grid-template-columns:1fr 1fr;gap:8px}.take-grid span{padding:10px 11px;font-size:13px;gap:8px}}
.take-grid span{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:14px;color:#d4d4d4}
.take-grid span::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 8px rgba(74,222,128,0.6)}
.take-note{font-size:13px;color:var(--dim);margin-top:14px}
.take-note a{color:var(--accent);text-decoration:none}

/* all-services hub */
.hub-jumps{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 30px}
.hub-jump{font-size:13px;color:#d4d4d4;text-decoration:none;border:1px solid #2a2a2a;background:#151515;padding:8px 14px;border-radius:30px;transition:border-color .2s,color .2s}
.hub-jump:hover{border-color:var(--accent);color:var(--accent)}
[id="items"],[id="cleanout"],[id="outdoor"],[id="demo"],[id="commercial"]{scroll-margin-top:80px}

/* forms (careers, partners) */
.form-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 24px;box-shadow:0 30px 70px -25px rgba(0,0,0,0.9)}
.form-title{font-family:'Oswald',sans-serif;font-size:22px;font-weight:600;text-transform:uppercase;color:#fff;margin-bottom:4px}
.fb-form{display:flex;flex-direction:column;gap:14px;text-align:left}
.fb-form label{font-size:13px;font-weight:500;color:#d0d0d0;display:flex;flex-direction:column;gap:6px}
.fb-form label span.opt{font-weight:400;color:#666}
.fb-form input,.fb-form textarea,.fb-form select{font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#111;color:#fff;width:100%}
.fb-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#888 50%),linear-gradient(135deg,#888 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.fb-form textarea{min-height:100px;resize:vertical}
.fb-hidden{display:none}
.fb-error{display:none;font-size:13px;text-align:center}
.btn-submit{background:var(--accent);color:#0b2414;border:none;border-radius:10px;padding:15px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}
.btn-submit:hover{background:#6ee79a}
.btn-submit:disabled{opacity:.6;cursor:wait}

/* split layouts + lists */
.city-split{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}
.note-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:10px}
.note-list li{display:flex;gap:10px;font-size:15px;color:#b4b4b4;line-height:1.7}
.note-list li span:first-child{color:var(--accent);flex-shrink:0}
.city-notes{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}
.city-drive{margin-top:16px;font-size:13px;color:var(--dim)}
.area-chips{display:flex;flex-wrap:wrap;gap:8px}
.area-chips a{font-size:14px;color:#d4d4d4;text-decoration:none;border:1px solid #2a2a2a;background:#151515;padding:9px 15px;border-radius:30px;transition:border-color .2s,color .2s}
.area-chips a:hover,.area-chips a.more{color:var(--accent)}
.area-chips a:hover{border-color:var(--accent)}
@media(max-width:860px){.city-split{grid-template-columns:1fr;gap:28px}}

/* pricing */
.price-factors{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.price-factors .why-card p{font-size:14px;line-height:1.6}
.price-floor{margin-top:28px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(90deg,rgba(74,222,128,0.12),transparent);border:1px solid rgba(74,222,128,0.35);border-radius:14px;padding:20px 24px}
.price-floor strong{font-family:'Oswald',sans-serif;font-size:44px;color:var(--accent);line-height:1}
.price-floor span{color:#cfcfcf;font-size:14px}
.price-floor span:first-child{text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--accent)}
.job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:30px}
.job-card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.job-card .ba-frame{border-radius:0;border:none;box-shadow:none;aspect-ratio:4/5}
.job-meta{display:flex;justify-content:space-between;gap:14px;padding:18px}
.job-meta h3{font-family:'Oswald',sans-serif;font-size:16px;font-weight:600;text-transform:uppercase;color:#fff;margin-bottom:6px}
.job-meta p{font-size:13.5px;color:var(--muted);line-height:1.6;margin-bottom:8px}
.job-meta a{font-size:13px;color:var(--accent);text-decoration:none}
.job-price{font-family:'Oswald',sans-serif;font-size:28px;font-weight:700;color:var(--accent);white-space:nowrap}

/* gallery */
.gal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:28px}
.gal-ba figcaption,.gal-photo figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.gal-ba .ba-frame{aspect-ratio:4/5}
.gal-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:28px}
.gal-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;border:1px solid var(--line);display:block}

/* partners */
.partner-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.partner-card{text-decoration:none;display:flex;flex-direction:column}
.partner-card h3{font-size:15px}
.partner-card p{font-size:14px;line-height:1.6;flex:1}
.partner-card span{font-size:13px;color:var(--accent);margin-top:12px}

/* site menu */
.nav-links{display:flex;gap:2px;margin-left:auto;margin-right:16px}
.nav-links a{color:#cfcfcf;text-decoration:none;font-size:14px;font-weight:500;padding:8px 12px;border-radius:8px;transition:color .2s,background .2s}
.nav-links a:hover{color:#fff;background:#1a1a1a}
.nav-menu{display:none;position:relative;margin-left:10px}
.nav-menu summary{list-style:none;cursor:pointer;width:42px;height:42px;border:1px solid #2a2a2a;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#151515}
.nav-menu summary::-webkit-details-marker{display:none}
.nav-menu summary span{width:18px;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .25s}
.nav-menu[open] summary span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-menu[open] summary span:nth-child(2){opacity:0}
.nav-menu[open] summary span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-drop{position:absolute;right:0;top:calc(100% + 14px);min-width:240px;background:#111;border:1px solid #262626;border-radius:14px;padding:8px;display:flex;flex-direction:column;box-shadow:0 24px 50px -10px rgba(0,0,0,.8);animation:navDrop .2s ease}
@keyframes navDrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.nav-drop a{color:#e5e5e5;text-decoration:none;font-size:15px;padding:12px 14px;border-radius:9px}
.nav-drop a:hover{background:#1c1c1c;color:#fff}
.nav-drop .nav-drop-call{margin-top:6px;background:#4ade80;color:#0b2414;font-weight:600;text-align:center}
.nav-drop .nav-drop-text{border:1px solid #1a6b3a;color:#4ade80;text-align:center;margin-top:6px}
@media(max-width:980px){.nav-links{display:none}.nav-menu{display:block}}
@media(max-width:768px){.nav-phone{display:none}}
@media(max-width:400px){.nav-logo-text{font-size:15px}.nav-logo-text span{font-size:9.5px}.nav-logo img{width:54px;height:54px}}

/* footer with four columns */
.footer-top{grid-template-columns:1.4fr 1fr 1fr 1fr}
@media(max-width:860px){.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}

/* homepage: compact FAQ + how-it-works links */
.faq-wrap{display:grid;grid-template-columns:0.8fr 1.2fr;gap:48px;align-items:start}
.faq-list{display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--card);border:1px solid var(--line);border-radius:12px;transition:border-color .2s}
.faq-item[open]{border-color:#2f4d38}
.faq-item summary{list-style:none;cursor:pointer;padding:16px 48px 16px 18px;position:relative;font-family:'Oswald',sans-serif;font-size:16px;font-weight:600;color:#fff}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:22px;font-weight:400;transition:transform .25s}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-item p{padding:0 18px 18px;font-size:14.5px;color:var(--muted);line-height:1.7}
.faq-item p a{color:var(--accent)}
@media(max-width:860px){.faq-wrap{grid-template-columns:1fr;gap:24px}}
.how-links{display:flex;flex-wrap:wrap;gap:12px 22px;justify-content:center;align-items:center;margin-top:40px;font-size:14.5px}
.how-links span{color:#cfcfcf}
.how-links strong{color:var(--accent);font-family:'Oswald',sans-serif;font-size:18px}
.how-links a{color:var(--accent);text-decoration:none;font-weight:500}
.how-links a:hover{text-decoration:underline}
