/* OBX Junk Co. — junk removal on the Outer Banks.
   DESIGN RULES (Ray's review): (1) NO emoji anywhere — line-art SVG icons only. (2) ONE accent colour, orange —
   everything else is ink / paper / hairline. No teal, no green, no purple. (3) Bigger type: 17px base, nothing
   under 15px in body copy. Plain CSS, mobile-first, one file, no build step. */
:root{
  --ink:#14161a;          /* near-black, slightly warm */
  --ink-2:#3a3d44;
  --body:#54504a;         /* warm grey body text — reads as chosen, not default #666 */
  --paper:#faf8f5;        /* warm off-white ground */
  --paper-2:#f1ede7;      /* alternating section */
  --card:#ffffff;
  --orange:#f26a1b;       /* THE accent. Used sparingly and deliberately. */
  --orange-deep:#d4530a;  /* text-on-white variant (contrast) */
  --line:#e4ded5;         /* warm hairline */
  --line-dark:rgba(255,255,255,.12);
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --shadow:0 1px 2px rgba(20,22,26,.05),0 14px 34px rgba(20,22,26,.08);
  --wrap:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-size:17px;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}

/* icons — thin line art, inherit currentColor, never emoji */
.ic{width:1.15em;height:1.15em;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.18em}
.ic-lg{width:30px;height:30px;stroke-width:1.6}

/* top bar */
.topbar{background:var(--ink);color:#a9adb5;font-size:14.5px}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding:10px 22px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:700}
.topbar .sep{color:#5b6068}

/* header / nav */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{max-width:var(--wrap);margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.navlinks{display:flex;gap:26px;font-weight:600;font-size:16.5px}
.navlinks a{color:var(--ink-2)}
.navlinks a:hover{color:var(--orange-deep)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--orange);color:#fff;font-weight:800;padding:13px 22px;border-radius:10px;font-size:16.5px;border:0;cursor:pointer;line-height:1.2}
.btn:hover{background:var(--orange-deep)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn.ghost:hover{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn.onDark{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.28)}
.btn.onDark:hover{background:rgba(255,255,255,.08);color:#fff}
.btn.big{font-size:18px;padding:16px 28px;border-radius:11px}
#nav-check,.menu-toggle,.mobilemenu{display:none}
@media(max-width:860px){
  .navlinks,.navcta{display:none}
  .menu-toggle{display:flex;align-items:center;font-size:15px;font-weight:800;cursor:pointer;border:1.5px solid var(--line);border-radius:9px;padding:9px 14px}
  #nav-check:checked~.mobilemenu{display:flex;flex-direction:column}
  .mobilemenu{background:#fff;border-top:1px solid var(--line);padding:8px 22px 18px}
  .mobilemenu a{padding:15px 0;font-weight:700;font-size:17px;border-bottom:1px solid var(--line)}
  .mobilemenu a:last-child{border:0;color:var(--orange-deep)}
}

/* hero */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:74px 0 78px}
.hero:before{content:"";position:absolute;right:-180px;top:-150px;width:560px;height:560px;background:radial-gradient(closest-side,rgba(242,106,27,.20),transparent 70%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center}
.kicker{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--orange);margin-bottom:18px}
.kicker:before{content:"";width:30px;height:2px;background:var(--orange);flex:0 0 auto}
h1{font-size:clamp(40px,6.6vw,66px);font-weight:900;line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
h1 em{font-style:normal;color:var(--orange)}
.hero p.sub{margin-top:22px;font-size:clamp(17.5px,2.1vw,20px);color:#c3c7cd;max-width:38ch;line-height:1.55}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero .note{margin-top:18px;font-size:15px;color:#9298a1;display:flex;align-items:center;gap:8px}
.panel{background:#1c1f25;border:1px solid var(--line-dark);border-radius:16px;padding:28px}
.panel h3{font-size:14px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#8a9098}
.panel ul{list-style:none;margin-top:18px;display:grid;gap:15px}
.panel li{display:flex;gap:13px;font-size:16.5px;color:#c9cdd3;line-height:1.45}
.panel li b{color:#fff;font-weight:700}
.panel li .ic{color:var(--orange);width:21px;height:21px;margin-top:2px}
.stamp{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line-dark);font-size:14.5px;color:#8a9098;font-weight:600;letter-spacing:.02em}
@media(max-width:860px){.hero{padding:56px 0 60px}.hero-grid{grid-template-columns:1fr;gap:34px}.hero p.sub{max-width:none}.panel{order:2}}

/* trust strip — same ink family, NOT a second colour */
.trust{background:#20242a;color:#cfd3d8;border-top:1px solid var(--line-dark)}
.trust .wrap{display:flex;flex-wrap:wrap;gap:12px 34px;justify-content:center;padding:18px 22px;font-size:15.5px;font-weight:600}
.trust span{display:inline-flex;align-items:center;gap:9px}
.trust .ic{color:var(--orange);width:18px;height:18px}

/* sections */
section{padding:74px 0}
.center{text-align:center}
.alt{background:var(--paper-2)}
.eyebrow{font-size:13px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--orange-deep);text-align:center}
h2{font-size:clamp(28px,4.3vw,42px);font-weight:900;letter-spacing:-.022em;text-align:center;margin-top:10px;text-wrap:balance;line-height:1.1}
h3{font-size:20px;font-weight:800;letter-spacing:-.01em}
.lede{text-align:center;color:var(--body);max-width:58ch;margin:16px auto 0;font-size:18px}

/* cards */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px}
.grid.g3{grid-template-columns:repeat(3,1fr)}
.grid.g2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px 22px;transition:transform .13s ease,box-shadow .13s ease,border-color .13s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d8d1c6}
.card .ic-lg{color:var(--orange)}
.card h3{margin-top:16px;font-size:18.5px}
.card p{font-size:15.5px;color:var(--body);margin-top:7px;line-height:1.5}
@media(max-width:900px){.grid,.grid.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.grid,.grid.g3,.grid.g2{grid-template-columns:1fr}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.step{background:var(--ink);color:#fff;border-radius:15px;padding:32px 26px}
.step .n{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:rgba(242,106,27,.16);color:var(--orange);font-size:19px;font-weight:900}
.step h3{margin-top:16px;color:#fff;font-size:20px}
.step p{font-size:16px;color:#b9bec5;margin-top:9px;line-height:1.5}
@media(max-width:820px){.steps{grid-template-columns:1fr}}

/* price band — the one place orange goes full-bleed */
.band{background:var(--orange);color:#fff;border-radius:18px;padding:52px 36px;text-align:center}
.band h2{color:#fff}
.band .eyebrow{color:rgba(255,255,255,.9)}
.band p{max-width:56ch;margin:16px auto 0;font-size:18px;color:#fff8f3;line-height:1.55}
.band .pill{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;font-weight:800;padding:14px 24px;border-radius:10px;margin-top:26px;font-size:17px}

/* towns */
.towns{display:flex;flex-wrap:wrap;justify-content:center;gap:11px;margin-top:36px}
.town{display:inline-flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:12px 22px;font-weight:700;font-size:16px}
.town:hover{border-color:var(--orange);color:var(--orange-deep)}
.town .ic{width:16px;height:16px;color:var(--orange)}

/* checklists */
.checkrow{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 32px;margin-top:32px;list-style:none}
.checkrow li{display:flex;gap:12px;font-size:17px;align-items:flex-start;line-height:1.45}
.checkrow li .ic{color:var(--orange);margin-top:3px;width:20px;height:20px}
.checkrow.no li .ic{color:#9a948c}
@media(max-width:700px){.checkrow{grid-template-columns:1fr}}

/* pm strip */
.pm{background:var(--ink);color:#fff;border-radius:18px;padding:40px 34px;display:flex;gap:28px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.pm h3{font-size:24px;color:#fff}
.pm p{color:#b9bec5;margin-top:10px;max-width:48ch;font-size:16.5px;line-height:1.55}

/* form */
.formcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:var(--shadow);max-width:640px;margin:34px auto 0}
.formcard label{display:block;font-weight:700;font-size:15.5px;margin:18px 0 6px}
.formcard input,.formcard textarea,.formcard select{width:100%;padding:14px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:16.5px;background:#fff;color:var(--ink)}
.formcard input:focus,.formcard textarea:focus,.formcard select:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange)}
.formcard .btn{width:100%;margin-top:22px}
.hp{position:absolute;left:-9999px}

/* final cta */
.final{background:var(--ink);color:#fff;text-align:center;padding:80px 0}
.final h2{color:#fff}
.final .phone{display:inline-flex;align-items:center;gap:14px;font-size:clamp(30px,5.6vw,48px);font-weight:900;color:var(--orange);margin-top:22px;letter-spacing:-.02em}
.final .phone .ic{width:.8em;height:.8em;stroke-width:2}
.final small{display:block;color:#9298a1;margin-top:16px;font-size:16px}

/* footer */
footer.site{background:#0d0f12;color:#7d838b;padding:38px 0;font-size:15px}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}
footer.site b{color:#b6bbc2}

/* sticky mobile call bar */
.callbar{position:fixed;left:14px;right:14px;bottom:14px;z-index:60;display:none}
.callbar a{display:flex;align-items:center;justify-content:center;gap:11px;background:var(--orange);color:#fff;font-weight:800;font-size:18px;padding:17px;border-radius:12px;box-shadow:0 8px 26px rgba(212,83,10,.42)}
@media(max-width:760px){.callbar{display:block}body{padding-bottom:86px}section{padding:56px 0}}
