/* IRONHAUL shared styles — used by all interior service & city pages */
:root{
  --asphalt:#15171a;
  --asphalt-2:#1d2024;
  --steel:#8b929c;
  --steel-d:#5a616b;
  --haul:#ff5a1f;
  --haul-d:#e6440c;
  --bone:#f4f2ee;
  --line:#2b2f35;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Archivo',system-ui,sans-serif;background:var(--asphalt);color:var(--bone);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,.display{font-family:'Archivo Black',sans-serif;line-height:.95;letter-spacing:-.02em;text-transform:uppercase}
.eyebrow{font-family:'Archivo Narrow',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;color:var(--haul)}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.ico{width:1em;height:1em;display:inline-block;vertical-align:-.12em;flex:none}
.btn-call .ico,.mobile-call .ico{width:1.05em;height:1.05em;margin-right:.1em}

.hazard{height:14px;background:repeating-linear-gradient(135deg,var(--haul) 0 26px,var(--asphalt) 26px 52px)}

/* nav */
nav{position:sticky;top:0;z-index:50;background:rgba(21,23,26,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-family:'Archivo Black';font-size:1.35rem;letter-spacing:-.03em}
.brand span{color:var(--haul)}
.nav-links{display:flex;gap:26px;align-items:center;font-family:'Archivo Narrow',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.86rem}
.nav-links a{color:var(--steel);transition:color .15s}
.nav-links a:hover{color:var(--bone)}
.nav-cta{background:var(--haul);color:#fff;font-family:'Archivo Narrow';font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:11px 20px;font-size:.95rem;transition:background .15s}
.nav-cta:hover{background:var(--haul-d)}

/* interior hero */
.ihero{position:relative;padding:64px 0 60px;overflow:hidden;border-bottom:1px solid var(--line)}
.ihero::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 500px at 80% 8%,rgba(255,90,31,.16),transparent 60%),linear-gradient(180deg,var(--asphalt),var(--asphalt-2));z-index:-1}
.crumb{font-family:'Archivo Narrow',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:var(--steel-d);margin-bottom:18px}
.crumb a{color:var(--steel)}
.crumb a:hover{color:var(--haul)}
.ihero h1{font-size:clamp(2.4rem,5.5vw,4.2rem);margin:10px 0 20px;max-width:16ch}
.ihero h1 em{font-style:normal;color:var(--haul)}
.ihero p.lede{font-size:1.15rem;color:var(--steel);max-width:52ch;margin-bottom:30px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn-call{display:inline-flex;align-items:center;gap:10px;background:var(--haul);color:#fff;font-family:'Archivo Black';font-size:1.12rem;padding:15px 26px;text-transform:uppercase;letter-spacing:.01em;transition:transform .12s,background .15s}
.btn-call:hover{background:var(--haul-d);transform:translateY(-2px)}
.btn-ghost{display:inline-flex;align-items:center;font-family:'Archivo Narrow';font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:15px 22px;border:1.5px solid var(--steel-d);color:var(--bone);transition:border-color .15s}
.btn-ghost:hover{border-color:var(--haul)}
.trust-row{display:flex;gap:22px;margin-top:30px;flex-wrap:wrap;font-family:'Archivo Narrow';font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;color:var(--steel)}
.trust-row b{color:var(--haul);font-family:'Archivo Black'}

section{padding:72px 0}
.sec-head{margin-bottom:40px;max-width:52ch}
.sec-head h2{font-size:clamp(1.9rem,4.2vw,2.9rem);margin:12px 0}
.sec-head p{color:var(--steel);font-size:1.06rem}

/* prose + content columns */
.cols{display:grid;grid-template-columns:1.4fr .6fr;gap:56px;align-items:start}
.prose{max-width:70ch}
.prose h2{font-size:clamp(1.6rem,3.4vw,2.3rem);margin:36px 0 14px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.2rem;margin:24px 0 8px}
.prose p{color:var(--steel);font-size:1.05rem;margin-bottom:18px}
.prose p b{color:var(--bone);font-weight:600}
.prose ul{list-style:none;margin:0 0 20px}
.prose ul li{color:var(--steel);padding:9px 0 9px 30px;position:relative;border-bottom:1px solid var(--line)}
.prose ul li::before{content:"✓";position:absolute;left:0;top:9px;color:var(--haul);font-family:'Archivo Black',sans-serif}

/* sidebar card */
.side{position:sticky;top:88px;border:1px solid var(--line);background:var(--asphalt-2);padding:28px 26px}
.side h3{font-size:1.25rem;margin-bottom:8px}
.side p{color:var(--steel);font-size:.96rem;margin-bottom:18px}
.side .btn-call{width:100%;justify-content:center;margin-bottom:12px}
.side .foot-call{font-family:'Archivo Black';font-size:1.5rem;color:var(--haul);display:block;text-align:center}
.side .hours{color:var(--steel);font-size:.86rem;text-align:center;margin-top:4px}

/* service tiles / related links */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.svc{background:var(--asphalt);padding:28px 24px;transition:background .18s;display:block}
.svc:hover{background:var(--asphalt-2)}
.svc h3{font-size:1.18rem;margin:0 0 8px}
.svc h3 span{color:var(--haul)}
.svc p{color:var(--steel);font-size:.95rem}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.step{border-top:3px solid var(--haul);padding-top:20px}
.step .n{font-family:'Archivo Black';font-size:3.2rem;color:var(--line);line-height:1}
.step h3{font-size:1.25rem;margin:6px 0 10px}
.step p{color:var(--steel)}

/* price band */
.band{background:var(--haul);color:#fff}
.band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-top:48px;padding-bottom:48px}
.band h2{font-size:clamp(1.7rem,3.6vw,2.6rem)}
.band p{font-family:'Archivo Narrow';font-weight:700;text-transform:uppercase;letter-spacing:.08em;max-width:40ch}
.band .btn-call{background:#15171a}
.band .btn-call:hover{background:#000}

/* FAQ */
.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;position:relative;font-family:'Archivo',sans-serif;font-weight:600;font-size:1.06rem;color:var(--bone)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:'Archivo Black';color:var(--haul);font-size:1.5rem;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details[open] summary{color:var(--haul)}
.faq .ans{padding:0 0 22px;color:var(--steel);font-size:1rem;max-width:70ch}

/* footer */
footer{background:var(--asphalt-2);border-top:1px solid var(--line);padding:54px 0 30px}
.foot-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:34px}
.foot-grid h4{font-family:'Archivo Narrow';font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--steel);margin-bottom:12px}
.foot-grid a,.foot-grid p{color:var(--bone);display:block;margin-bottom:6px;font-size:.96rem}
.foot-grid a:hover{color:var(--haul)}
.foot-call{font-family:'Archivo Black';font-size:1.6rem;color:var(--haul)}
.legal{border-top:1px solid var(--line);padding-top:22px;color:var(--steel-d);font-size:.82rem}

.mobile-call{display:none}

@media(max-width:860px){
  .cols{grid-template-columns:1fr;gap:38px}
  .grid3,.steps{grid-template-columns:1fr}
  .ihero{padding:44px 0 44px}
  section{padding:52px 0}
  .side{position:static}
  .nav-links{display:none}
  .mobile-call{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--haul);color:#fff;justify-content:center;align-items:center;gap:8px;padding:15px;font-family:'Archivo Black';text-transform:uppercase;letter-spacing:.02em;border-top:2px solid #fff}
  body{padding-bottom:58px}
  .nav-cta{display:none}
}
