/* ================================================================
   FREIGHT ACCIDENT LAW — Design System
   freightaccidentlaw.com
   Palette: charcoal / highway yellow / steel white
   ================================================================ */
:root {
  --pi-black:     #080B10;
  --pi-ink:       #10151E;
  --pi-charcoal:  #1C2430;
  --pi-steel:     #2A3547;
  --pi-slate:     #475569;
  --pi-muted:     #64748B;
  --pi-fog:       #F1F3F7;
  --pi-cream:     #E8EBF2;
  --pi-white:     #FFFFFF;

  --pi-yellow:      #FAC000;
  --pi-yellow-dim:  rgba(250,192,0,0.72);
  --pi-yellow-bg:   rgba(250,192,0,0.07);
  --pi-yellow-border: rgba(250,192,0,0.30);
  --pi-yellow-dark: #C89600;

  --pi-orange:    #E85D04;
  --pi-teal:      #0D6E8C;
  --pi-teal-light:#1490B8;

  --pi-font-serif:'Playfair Display', Georgia, 'Times New Roman', serif;
  --pi-font-body: 'Source Serif 4', Georgia, serif;
  --pi-font-mono: 'JetBrains Mono', 'Courier New', monospace;

  --pi-space-1:.25rem;--pi-space-2:.5rem;--pi-space-3:.75rem;
  --pi-space-4:1rem;--pi-space-5:1.25rem;--pi-space-6:1.5rem;
  --pi-space-8:2rem;--pi-space-10:2.5rem;--pi-space-12:3rem;
  --pi-space-16:4rem;--pi-space-20:5rem;--pi-space-24:6rem;
  --pi-radius:4px;--pi-radius-lg:8px;
  --pi-shadow:0 2px 8px rgba(0,0,0,0.14);
  --pi-max-content:820px;--pi-max-wide:1200px;
}

@font-face{font-family:'Playfair Display';src:url('/assets/fonts/playfair-display-v40-latin-800.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:'Playfair Display';src:url('/assets/fonts/playfair-display-v40-latin-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Playfair Display';src:url('/assets/fonts/playfair-display-v40-latin-regular.woff2') format('woff2');font-weight:400;font-display:swap;}
@font-face{font-family:'Source Serif 4';src:url('/assets/fonts/source-serif-4-v14-latin-regular.woff2') format('woff2');font-weight:400;font-display:swap;}
@font-face{font-family:'Source Serif 4';src:url('/assets/fonts/source-serif-4-v14-latin-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'JetBrains Mono';src:url('/assets/fonts/jetbrains-mono-v24-latin-500.woff2') format('woff2');font-weight:500;font-display:swap;}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:var(--pi-font-body);background:var(--pi-white);color:var(--pi-ink);line-height:1.7;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,h6{font-family:var(--pi-font-serif);line-height:1.25;color:var(--pi-black);}
h1{font-size:clamp(2rem,5vw,3.25rem);font-weight:800;}
h2{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800;margin-bottom:var(--pi-space-4);}
h3{font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700;margin-bottom:var(--pi-space-3);}
p{margin-bottom:var(--pi-space-4);}
a{color:var(--pi-teal);text-decoration:underline;text-underline-offset:3px;}
a:hover{color:var(--pi-teal-light);}
ul,ol{margin-bottom:var(--pi-space-4);padding-left:var(--pi-space-6);}
li{margin-bottom:var(--pi-space-2);}

.pi-container{max-width:var(--pi-max-wide);margin:0 auto;padding:0 var(--pi-space-6);}
.pi-container--content{max-width:var(--pi-max-content);margin:0 auto;padding:0 var(--pi-space-6);}
.pi-section{padding:var(--pi-space-20) 0;}
.pi-section--sm{padding:var(--pi-space-12) 0;}

/* NAV */
.pi-nav{background:var(--pi-black);border-bottom:4px solid var(--pi-yellow);position:sticky;top:0;z-index:100;}
.pi-nav__inner{max-width:var(--pi-max-wide);margin:0 auto;padding:var(--pi-space-4) var(--pi-space-6);display:flex;align-items:center;justify-content:space-between;}
.pi-nav__logo{font-family:var(--pi-font-serif);font-weight:800;font-size:1.05rem;color:var(--pi-white);text-decoration:none;}
.pi-nav__toggle{background:none;border:none;cursor:pointer;color:var(--pi-white);display:none;}
.pi-nav__links{display:flex;gap:var(--pi-space-6);list-style:none;}
.pi-nav__links a{color:rgba(255,255,255,0.70);text-decoration:none;font-size:.875rem;transition:color .15s;}
.pi-nav__links a:hover{color:var(--pi-yellow);}
.pi-nav__cta{background:var(--pi-yellow)!important;color:var(--pi-black)!important;padding:var(--pi-space-2) var(--pi-space-4);border-radius:var(--pi-radius);font-weight:700;text-decoration:none!important;transition:background .15s!important;}
.pi-nav__cta:hover{background:var(--pi-orange)!important;color:var(--pi-white)!important;}

/* BREADCRUMB */
.pi-breadcrumb{background:var(--pi-fog);border-bottom:1px solid #D0D8E8;padding:var(--pi-space-3) var(--pi-space-6);}
.pi-breadcrumb__list{max-width:var(--pi-max-wide);margin:0 auto;list-style:none;display:flex;gap:var(--pi-space-2);flex-wrap:wrap;font-size:.8125rem;}
.pi-breadcrumb__item a{color:var(--pi-teal);text-decoration:none;}
.pi-breadcrumb__item a:hover{text-decoration:underline;}
.pi-breadcrumb__item--current{color:var(--pi-slate);}
.pi-breadcrumb__sep{color:var(--pi-muted);}

/* HERO */
.pi-hero{background:var(--pi-black);padding:var(--pi-space-24) 0 var(--pi-space-20);position:relative;overflow:hidden;}
/* Highway line pattern */
.pi-hero::before{content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,rgba(250,192,0,0.04) 0,rgba(250,192,0,0.04) 2px,transparent 2px,transparent 80px);
  pointer-events:none;}
.pi-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:8px;
  background:repeating-linear-gradient(90deg,var(--pi-yellow) 0,var(--pi-yellow) 60px,var(--pi-black) 60px,var(--pi-black) 80px);}
.pi-hero__kicker,.pi-hero__label{font-family:var(--pi-font-mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--pi-yellow-dim);margin-bottom:var(--pi-space-5);display:block;}
.pi-hero__headline{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;color:var(--pi-white);line-height:1.1;max-width:800px;margin-bottom:var(--pi-space-6);}
.pi-hero__headline em{color:var(--pi-yellow);font-style:normal;}
.pi-hero__sub{font-size:1.1rem;color:rgba(255,255,255,0.68);max-width:560px;line-height:1.65;margin-bottom:var(--pi-space-10);}
.pi-hero__meta{display:flex;gap:var(--pi-space-6);flex-wrap:wrap;align-items:center;font-size:.8125rem;color:rgba(255,255,255,0.38);}
.pi-hero__author strong{color:rgba(255,255,255,0.70);}

/* HERO STATS */
.pi-hero__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:var(--pi-space-4);max-width:820px;}
.pi-stat{border:1px solid var(--pi-yellow-border);border-radius:var(--pi-radius-lg);padding:var(--pi-space-5) var(--pi-space-6);background:rgba(250,192,0,0.05);}
.pi-stat__value{font-family:var(--pi-font-serif);font-size:2rem;font-weight:800;color:var(--pi-yellow);display:block;margin-bottom:var(--pi-space-1);}
.pi-stat__stat-label{font-size:.8rem;color:rgba(255,255,255,0.68);line-height:1.4;display:block;}
.pi-stat__source{font-family:var(--pi-font-mono);font-size:.65rem;color:rgba(255,255,255,0.30);display:block;margin-top:2px;}

/* CITY STATS */
.pi-location-stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--pi-charcoal);border-top:4px solid var(--pi-yellow);}
.pi-location-stat{padding:var(--pi-space-5) var(--pi-space-6);border-right:1px solid rgba(255,255,255,0.07);text-align:center;}
.pi-stat__number{font-family:var(--pi-font-serif);font-size:1.75rem;font-weight:800;color:var(--pi-yellow);display:block;}
.pi-stat__label{font-size:.8rem;color:rgba(255,255,255,0.58);display:block;margin-top:var(--pi-space-1);}
.pi-stat__source{font-family:var(--pi-font-mono);font-size:.65rem;color:rgba(255,255,255,0.26);display:block;margin-top:2px;}

/* SELECTOR */
.pi-selector{background:var(--pi-steel);padding:var(--pi-space-16) 0;}
.pi-selector__heading{font-size:clamp(1.75rem,4vw,2.75rem);color:var(--pi-white);margin-bottom:var(--pi-space-3);}
.pi-selector__sub{color:rgba(255,255,255,0.60);margin-bottom:var(--pi-space-10);max-width:560px;}
.pi-selector__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--pi-space-3);}
.pi-selector__btn{background:var(--pi-charcoal);border:1px solid rgba(250,192,0,0.22);border-radius:var(--pi-radius);padding:var(--pi-space-5) var(--pi-space-6);color:var(--pi-white);text-decoration:none;display:block;transition:border-color .15s,background .15s;}
.pi-selector__btn:hover{border-color:var(--pi-yellow);background:rgba(250,192,0,0.10);color:var(--pi-white);}
.pi-selector__btn-icon{font-size:1.5rem;display:block;margin-bottom:var(--pi-space-2);}
.pi-selector__btn-label{font-size:.9rem;font-weight:600;display:block;}

/* LABEL */
.pi-label{font-family:var(--pi-font-mono);font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--pi-muted);}

/* ARTICLE */
.pi-article{max-width:var(--pi-max-content);margin:0 auto;}
.pi-article p{font-size:1.0625rem;}
.pi-article h2{margin-top:var(--pi-space-12);border-top:1px solid #D0D8E8;padding-top:var(--pi-space-8);}
.pi-article h3{margin-top:var(--pi-space-6);color:var(--pi-steel);}
.pi-lead{font-size:1.1875rem;font-style:italic;color:var(--pi-steel);border-left:4px solid var(--pi-yellow);padding-left:var(--pi-space-5);margin-bottom:var(--pi-space-6);}

/* TOC */
.pi-toc{background:var(--pi-fog);border:1px solid #D0D8E8;border-left:4px solid var(--pi-yellow);border-radius:var(--pi-radius-lg);padding:var(--pi-space-6);margin-bottom:var(--pi-space-8);}
.pi-toc__heading{font-family:var(--pi-font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--pi-muted);margin-bottom:var(--pi-space-3);}
.pi-toc__list{list-style:none;padding:0;}
.pi-toc__item{margin-bottom:var(--pi-space-2);}
.pi-toc__item a{font-size:.9rem;color:var(--pi-teal);text-decoration:none;}
.pi-toc__item a:hover{text-decoration:underline;}

/* STATUTE */
.pi-statute{background:var(--pi-yellow-bg);border:1px solid var(--pi-yellow-border);border-left:4px solid var(--pi-yellow);border-radius:var(--pi-radius);padding:var(--pi-space-5) var(--pi-space-6);margin:var(--pi-space-8) 0;}
.pi-statute__cite{font-family:var(--pi-font-mono);font-size:.75rem;color:var(--pi-yellow-dark);margin-bottom:var(--pi-space-2);font-weight:600;}
.pi-statute__cite a{color:var(--pi-yellow-dark);}
.pi-statute__text{font-size:.9375rem;font-style:italic;color:var(--pi-charcoal);line-height:1.65;margin:0;}

/* DISCLAIMER */
.pi-disclaimer{background:var(--pi-fog);border:1px solid #D0D8E8;border-radius:var(--pi-radius);padding:var(--pi-space-5) var(--pi-space-6);margin-bottom:var(--pi-space-8);}
.pi-disclaimer__label{font-family:var(--pi-font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--pi-yellow-dark);margin-bottom:var(--pi-space-2);}
.pi-disclaimer p{font-size:.8125rem;color:var(--pi-slate);margin:0;}

/* FAQ */
.pi-faq{border-top:1px solid #D0D8E8;}
.pi-faq__item{border-bottom:1px solid #D0D8E8;}
.pi-faq__question{width:100%;background:none;border:none;cursor:pointer;padding:var(--pi-space-5) 0;display:flex;justify-content:space-between;align-items:center;font-family:var(--pi-font-serif);font-size:1rem;font-weight:400;color:var(--pi-black);text-align:left;gap:var(--pi-space-4);}
.pi-faq__question:hover{color:var(--pi-teal);}
.pi-faq__icon{font-size:1.25rem;color:var(--pi-yellow-dark);flex-shrink:0;}
details.pi-faq__item summary.pi-faq__question{list-style:none;}
details.pi-faq__item summary.pi-faq__question::-webkit-details-marker{display:none;}
.pi-faq__answer{padding-bottom:var(--pi-space-5);}
.pi-faq__answer-inner p{font-size:.9375rem;color:var(--pi-charcoal);margin-bottom:var(--pi-space-3);}

/* SITUATION CARDS */
.pi-situation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--pi-space-5);}
.pi-situation-card{border:1px solid #D0D8E8;border-radius:var(--pi-radius-lg);padding:var(--pi-space-6);background:var(--pi-white);transition:border-color .15s,box-shadow .15s;}
.pi-situation-card:hover{border-color:var(--pi-yellow);box-shadow:var(--pi-shadow);}
.pi-situation-card__icon{font-size:1.75rem;margin-bottom:var(--pi-space-3);display:block;}
.pi-situation-card__title{font-size:1.1rem;margin-bottom:var(--pi-space-2);}
.pi-situation-card__desc{font-size:.875rem;color:var(--pi-slate);line-height:1.6;margin-bottom:var(--pi-space-4);}
.pi-situation-card__link{font-size:.875rem;color:var(--pi-teal);text-decoration:none;font-weight:600;}
.pi-situation-card__link:hover{text-decoration:underline;}

/* GRID */
.pi-grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--pi-space-4);}
.pi-card{border:1px solid #D0D8E8;border-radius:var(--pi-radius);padding:var(--pi-space-5);background:var(--pi-white);text-decoration:none;display:block;transition:border-color .15s,box-shadow .15s;}
.pi-card:hover{border-color:var(--pi-yellow);box-shadow:var(--pi-shadow);}
.pi-card__name{font-family:var(--pi-font-serif);font-size:1.0625rem;font-weight:800;color:var(--pi-black);display:block;margin-bottom:var(--pi-space-1);}
.pi-card__sub{font-size:.8125rem;color:var(--pi-muted);}

/* BYLINE */
.pi-byline{display:flex;align-items:center;gap:var(--pi-space-4);padding:var(--pi-space-5) 0;border-top:1px solid #D0D8E8;margin-top:var(--pi-space-8);}
.pi-byline__avatar{width:44px;height:44px;border-radius:50%;background:var(--pi-yellow);color:var(--pi-black);display:flex;align-items:center;justify-content:center;font-family:var(--pi-font-serif);font-weight:800;font-size:.875rem;flex-shrink:0;}
.pi-byline__name{font-weight:700;display:block;}
.pi-byline__title{font-size:.8125rem;color:var(--pi-muted);display:block;}

/* FINDER */
.pi-finder{background:var(--pi-charcoal);border-radius:var(--pi-radius-lg);padding:var(--pi-space-8);}
.pi-finder__heading{color:var(--pi-white);margin-bottom:var(--pi-space-3);}
.pi-finder__sub{color:rgba(255,255,255,0.60);margin-bottom:var(--pi-space-6);font-size:.9375rem;}
.pi-finder__links{display:flex;flex-wrap:wrap;gap:var(--pi-space-3);}
.pi-finder__link{background:var(--pi-steel);border:1px solid rgba(250,192,0,0.25);color:var(--pi-white);text-decoration:none;padding:var(--pi-space-3) var(--pi-space-5);border-radius:var(--pi-radius);font-size:.875rem;transition:border-color .15s;}
.pi-finder__link:hover{border-color:var(--pi-yellow);color:var(--pi-white);}

/* FOOTER */
.pi-footer{background:var(--pi-black);border-top:4px solid var(--pi-yellow);padding:var(--pi-space-16) 0 var(--pi-space-10);}
.pi-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--pi-space-12);}
.pi-footer__brand{font-family:var(--pi-font-serif);font-weight:800;font-size:1rem;color:var(--pi-white);display:block;margin-bottom:var(--pi-space-4);}
.pi-footer__disclaimer{font-size:.8125rem;color:rgba(255,255,255,0.36);line-height:1.65;margin-bottom:var(--pi-space-4);}
.pi-footer__heading{font-size:.7rem;font-family:var(--pi-font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--pi-yellow-dim);margin-bottom:var(--pi-space-4);}
.pi-footer__links{list-style:none;padding:0;}
.pi-footer__links li{margin-bottom:var(--pi-space-2);}
.pi-footer__links a{color:rgba(255,255,255,0.46);text-decoration:none;font-size:.875rem;}
.pi-footer__links a:hover{color:var(--pi-yellow);}
.pi-footer__bar{border-top:1px solid rgba(255,255,255,0.07);margin-top:var(--pi-space-10);padding-top:var(--pi-space-6);font-size:.75rem;color:rgba(255,255,255,0.24);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--pi-space-3);}
.pi-footer__xprts a{color:rgba(250,192,0,0.35);text-decoration:none;}

@media(max-width:768px){
  .pi-footer__grid{grid-template-columns:1fr;}
  .pi-nav__links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--pi-black);flex-direction:column;padding:var(--pi-space-4) var(--pi-space-6);border-top:1px solid rgba(255,255,255,0.08);}
  .pi-nav__links.is-open{display:flex;}
  .pi-nav__toggle{display:block;}
  .pi-location-stats{grid-template-columns:repeat(2,1fr);}
  .pi-hero__stats{grid-template-columns:repeat(2,1fr);}
}