/* Trucking Startup Cost: "interstate" theme. Highway blue + safety amber on warm off-white. */
:root{
  --blue:#0B3D91; --blue-dk:#072a66; --blue-lt:#e8eef9;
  --amber:#F2A900; --amber-dk:#c98c00; --amber-lt:#fff4d6;
  --ink:#1F2328; --muted:#5b6370; --line:#d9dce2; --paper:#F7F5EF; --white:#fff; --red:#C8102E;
  --cond:"Roboto Condensed","Arial Narrow","Helvetica Neue Condensed",Arial,sans-serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --radius:10px; --wrap:1120px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue)} a:hover{color:var(--blue-dk)}
.container{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--amber);color:#000;padding:8px 12px;z-index:9}
.skip-link:focus{left:8px}
h1,h2,h3{font-family:var(--cond);line-height:1.15;letter-spacing:.2px;color:var(--ink)}
h1{font-size:clamp(2rem,4.2vw,3rem);margin:.2em 0 .35em;font-weight:800}
h2{font-size:1.65rem;margin:2.1rem 0 .7rem;font-weight:800}
h3{font-size:1.2rem;margin:1.4rem 0 .4rem}

/* header */
.site-header{background:var(--blue);color:#fff;position:relative}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-family:var(--cond);font-size:1.35rem;letter-spacing:.3px;text-transform:uppercase}
.logo b{color:var(--amber)} .logo:hover{color:#fff}
.logo .shield{flex:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.nav{list-style:none;display:flex;gap:4px;margin:0;padding:0;flex-wrap:wrap}
.nav a{color:#fff;text-decoration:none;font-family:var(--cond);text-transform:uppercase;font-size:.95rem;letter-spacing:.5px;padding:8px 12px;border-radius:6px}
.nav a:hover{background:rgba(255,255,255,.12);color:var(--amber)}
.lane-stripe{height:6px;background:repeating-linear-gradient(90deg,var(--amber) 0 42px,transparent 42px 70px),#082f70}

/* hero */
.hero{position:relative;color:#fff;background:var(--blue-dk);overflow:hidden}
.hero-img{width:100%;height:clamp(420px,52vw,560px);object-fit:cover;object-position:center 55%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(7,30,72,.94) 0%,rgba(7,30,72,.82) 40%,rgba(7,30,72,.15) 72%,rgba(7,30,72,0) 100%)}
.hero-body{position:absolute;inset:0;z-index:1;display:flex;align-items:center}
.hero-body .container{width:100%}
.hero-copy{max-width:580px;margin-left:auto}
.hero .eyebrow{color:var(--amber)}
.hero h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.4rem);text-transform:uppercase;margin:.15em 0 .3em}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero p{font-size:1.1rem;color:#e9eef8;margin:.4em 0 1em}
.hero-credit{position:absolute;left:10px;bottom:8px;z-index:2;font-size:.72rem;color:rgba(255,255,255,.85);margin:0;background:rgba(0,0,0,.35);padding:2px 7px;border-radius:4px}
.hero-credit a,.featured-image figcaption a{color:#fff}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-block;font-family:var(--cond);text-transform:uppercase;letter-spacing:.5px;font-weight:700;text-decoration:none;padding:12px 20px;border-radius:8px;border:2px solid transparent;font-size:1rem}
.btn-amber{background:var(--amber);color:#111;border-color:var(--amber)} .btn-amber:hover{background:#ffbd1f;color:#000}
.btn-ghost{color:#fff;border-color:rgba(255,255,255,.7)} .btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}

/* eyebrow / meta */
.eyebrow{font-family:var(--cond);text-transform:uppercase;letter-spacing:1.5px;font-weight:700;color:var(--amber-dk);font-size:.9rem;margin:0}
.meta{margin:.4rem 0 0;display:flex;gap:8px;flex-wrap:wrap}
.meta-pill{display:inline-block;background:var(--blue-lt);color:var(--blue);border-radius:99px;padding:3px 12px;font-size:.85rem;font-weight:600}
.meta-pill--amber{background:var(--amber-lt);color:#7a5600}
.lede{font-size:1.18rem;color:#3a414c;margin:.2rem 0 .6rem;max-width:780px}

/* home sections */
.section{padding:8px 0 10px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.road{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px 14px;counter-reset:exit}
.road li{counter-increment:exit;background:#1d6b3a;color:#fff;border:3px solid #fff;outline:2px solid #1d6b3a;border-radius:10px;padding:14px 14px 12px;position:relative;box-shadow:0 2px 0 rgba(0,0,0,.08)}
.road li::before{content:"EXIT " counter(exit);position:absolute;top:-13px;left:12px;background:#fff;color:#1d6b3a;font:700 .72rem/1 var(--cond);letter-spacing:1px;padding:4px 8px;border-radius:4px;border:2px solid #1d6b3a}
.road strong{display:block;font-family:var(--cond);font-size:1.1rem;text-transform:uppercase;letter-spacing:.3px}
.road span{font-size:.92rem;color:#e3f3e8}
.road a{color:#fff}
.band{background:var(--white);border-top:4px solid var(--amber);border-bottom:1px solid var(--line);margin:34px 0;padding:6px 0 26px}

/* cards */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:14px}
.card{display:block;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--ink);overflow:hidden;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(11,61,145,.14);color:var(--ink)}
.card-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:4px solid var(--amber)}
.card .tag{display:inline-block;margin:14px 16px 0;font:700 .75rem/1 var(--cond);text-transform:uppercase;letter-spacing:1px;color:var(--blue);background:var(--blue-lt);padding:5px 8px;border-radius:4px}
.card h3{margin:8px 16px 6px;font-size:1.25rem}
.card p{margin:0 16px 16px;color:var(--muted);font-size:.95rem}
.card--thumb h3:last-child{margin-bottom:16px}

/* guide */
.crumbs{font-size:.88rem;color:var(--muted);margin:18px 0 4px}
.crumbs a{color:var(--muted)}
.guide{max-width:860px;margin:0 auto}
.guide-header{margin:6px 0 16px}
.featured-image{margin:0 0 14px;border-radius:var(--radius);overflow:hidden;background:#dfe5ef;position:relative;border-bottom:6px solid var(--amber)}
.featured-image img{width:100%;aspect-ratio:16/9;object-fit:cover}
.featured-image figcaption{position:absolute;right:8px;bottom:6px;font-size:.72rem;color:#fff;background:rgba(0,0,0,.45);padding:2px 7px;border-radius:4px}
.disclosure-inline{font-size:.88rem;color:#4b5260;background:#fff;border-left:4px solid var(--amber);padding:8px 12px;margin:0 0 18px;border-radius:0 6px 6px 0}
.disclaimer-inline{font-size:.88rem;color:var(--muted);margin:26px 0}
.key-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:8px 0 22px}
.fact{background:var(--white);border:1px solid var(--line);border-top:5px solid var(--blue);border-radius:8px;padding:12px 14px}
.fact:nth-child(2n){border-top-color:var(--amber)}
.fact-label{display:block;font:700 .78rem/1.2 var(--cond);text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.fact-value{display:block;font:800 1.7rem/1.15 var(--cond);color:var(--blue);margin:4px 0 2px}
.fact-note{display:block;font-size:.83rem;color:var(--muted)}

/* prose */
.prose p,.prose li{max-width:780px}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin:.25em 0}
.prose blockquote{margin:1.2em 0;padding:12px 16px;background:var(--amber-lt);border-left:5px solid var(--amber);border-radius:0 8px 8px 0}
.prose blockquote p{margin:.2em 0}
.prose .table-wrap,.prose table{width:100%}
.prose table{border-collapse:separate;border-spacing:0;margin:1rem 0 1.4rem;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;font-size:.95rem;display:block;overflow-x:auto}
.prose thead th{background:var(--blue);color:#fff;font-family:var(--cond);text-transform:uppercase;letter-spacing:.5px;font-size:.88rem;text-align:left;padding:10px 12px;white-space:nowrap}
.prose td{padding:9px 12px;border-top:1px solid var(--line);vertical-align:top}
.prose tbody tr:nth-child(even) td{background:#f6f8fc}
.prose td:nth-child(2){color:#0a2f6e;font-weight:700}
.prose tfoot td,.prose tr.total td{background:var(--amber-lt)!important;font-weight:700}
.steps{list-style:none;counter-reset:step;padding:0!important;margin:1rem 0 1.4rem}
.steps li{counter-increment:step;position:relative;padding:12px 14px 12px 64px;margin:0 0 10px;background:#fff;border:1px solid var(--line);border-radius:8px;max-width:none}
.steps li::before{content:counter(step);position:absolute;left:12px;top:12px;width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;font:800 1.15rem/38px var(--cond);text-align:center;box-shadow:0 0 0 3px var(--amber)}
.steps strong{display:block;font-family:var(--cond);font-size:1.08rem}
.callout{background:var(--blue-lt);border:1px solid #c9d6ef;border-radius:8px;padding:12px 16px;margin:1.2rem 0}
.callout strong:first-child{color:var(--blue)}

/* CTA */
.cta-box{background:linear-gradient(135deg,var(--blue) 0%,#123f8f 100%);color:#fff;border-radius:12px;padding:18px 18px 10px;margin:22px 0;border-bottom:6px solid var(--amber)}
.cta-kicker{margin:0 0 8px;font:700 .82rem/1 var(--cond);letter-spacing:1.5px;text-transform:uppercase;color:var(--amber)}
.cta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.cta-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:14px}
.cta-card h3{color:#fff;margin:6px 0 4px;font-size:1.15rem}
.cta-card p{color:#dfe7f6;font-size:.92rem;margin:0 0 12px}
.cta-cat{font:700 .72rem/1 var(--cond);text-transform:uppercase;letter-spacing:1px;color:var(--amber)}
.cta-note{font-size:.78rem;color:#c6d3ee;margin:10px 0 4px} .cta-note a{color:#fff}

/* FAQ + sources */
.faqs details{background:#fff;border:1px solid var(--line);border-radius:8px;margin:0 0 10px;padding:0 14px}
.faqs summary{cursor:pointer;font-family:var(--cond);font-weight:700;font-size:1.08rem;padding:12px 0;list-style:none;position:relative;padding-right:28px}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::after{content:"+";position:absolute;right:2px;top:8px;font-size:1.4rem;color:var(--amber-dk)}
.faqs details[open] summary::after{content:"–"}
.faq-a{padding:0 0 12px;color:#333a45}
.sources ol{padding-left:1.3em;font-size:.93rem}
.sources li{margin:.3em 0}
.sources-note,.src-pub{color:var(--muted);font-size:.88rem}
.related{margin-top:30px}
.card-grid--3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* snapshot table on home */
.snapshot{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:12px}
.snapshot th{background:var(--blue);color:#fff;text-align:left;font-family:var(--cond);text-transform:uppercase;letter-spacing:.5px;font-size:.88rem;padding:10px 12px}
.snapshot td{padding:10px 12px;border-top:1px solid var(--line)}
.snapshot td.num{font-family:var(--mono);font-weight:700;color:var(--blue);white-space:nowrap}
.snapshot tbody tr:nth-child(even) td{background:#f6f8fc}
.small{font-size:.88rem;color:var(--muted)}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* simple pages */
.page{max-width:820px;margin:26px auto 40px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 28px 24px}
.page-banner{margin:0 -28px 10px;height:10px;background:repeating-linear-gradient(90deg,var(--amber) 0 42px,var(--blue) 42px 70px);border-radius:12px 12px 0 0}

/* footer */
.site-footer{background:#0a1f45;color:#c9d3e6;margin-top:50px;border-top:6px solid var(--amber)}
.footer-inner{padding:28px 20px 18px;display:grid;gap:14px}
.footer-brand p,.footer-notes p{font-size:.88rem;margin:.4em 0;max-width:900px}
.site-footer a{color:#fff}
.logo--footer{font-size:1.15rem}
.footer-links{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;padding:0;margin:4px 0}
.footer-links a{text-decoration:none;font-size:.92rem}
.copy{font-size:.8rem;color:#8796b3;margin:0}

@media (max-width:900px){.road{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){
  body{font-size:16px}
  .header-inner{padding-top:8px;padding-bottom:8px}
  .nav a{padding:6px 8px;font-size:.85rem}
  .hero-img{height:560px;object-position:12% center}
  .hero::after{background:linear-gradient(180deg,rgba(7,30,72,.55) 0%,rgba(7,30,72,.9) 55%)}
  .hero-body{align-items:flex-end;padding-bottom:30px;bottom:auto;height:560px}
  .snapshot td.num{white-space:normal}
  .prose thead th{white-space:normal}
  .hero::after{background:linear-gradient(180deg,rgba(7,30,72,.25) 0%,rgba(7,30,72,.85) 45%,rgba(7,30,72,.95) 100%)}
  .hero-credit{position:relative;left:auto;bottom:auto;display:block;font-size:.68rem;border-radius:0;background:#071e48;padding:5px 12px}
  .hero-copy{margin-left:0}
  .page{padding:6px 16px 18px}.page-banner{margin:0 -16px 10px}
}
