/* ================================================================
   DOG BITE ATTORNEY LAW — Design System
   dogbiteattorneylaw.com
   Palette: forest green / warm amber / clean white
   Distinct from gold/cream (accident), steel/orange (construction),
   navy/red (delivery)
   ================================================================ */

:root {
  --pi-black:      #080E06;
  --pi-ink:        #0F1A0D;
  --pi-charcoal:   #1A2E17;
  --pi-forest:     #1D4A1A;
  --pi-green:      #2D6B28;
  --pi-green-mid:  #3D8C36;
  --pi-slate:      #4A5E48;
  --pi-muted:      #6B7E68;
  --pi-sage:       #F0F5EF;
  --pi-cream:      #EBF0EA;
  --pi-white:      #FFFFFF;

  --pi-amber:      #C8820A;
  --pi-amber-dim:  rgba(200,130,10,0.72);
  --pi-amber-bg:   rgba(200,130,10,0.07);
  --pi-amber-border: rgba(200,130,10,0.28);

  --pi-teal:       #1A6B5A;
  --pi-teal-light: #24917A;

  --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.10);
  --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:3px solid var(--pi-green-mid);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-amber);}
.pi-nav__cta{background:var(--pi-amber)!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-green-mid)!important;color:var(--pi-white)!important;}

/* ── BREADCRUMB ───────────────────────────────────────────────────── */
.pi-breadcrumb{background:var(--pi-sage);border-bottom:1px solid #C8D8C4;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;}
/* Paw-print texture suggestion via subtle radial dots */
.pi-hero::before{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 20% 80%,rgba(45,107,40,0.18) 0%,transparent 55%),
             radial-gradient(ellipse at 80% 20%,rgba(200,130,10,0.08) 0%,transparent 50%);
  pointer-events:none;}
.pi-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:5px;
  background:linear-gradient(90deg,var(--pi-green-mid) 0%,var(--pi-amber) 50%,var(--pi-green-mid) 100%);}
.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-amber-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-amber);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:800px;}
.pi-stat{border:1px solid var(--pi-amber-border);border-radius:var(--pi-radius-lg);padding:var(--pi-space-5) var(--pi-space-6);background:rgba(200,130,10,0.05);}
.pi-stat__value{font-family:var(--pi-font-serif);font-size:2rem;font-weight:800;color:var(--pi-amber);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 STRIP ─────────────────────────────────────────────── */
.pi-location-stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--pi-charcoal);border-top:3px solid var(--pi-green-mid);border-bottom:1px solid rgba(255,255,255,0.06);}
.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-amber);display:block;}
.pi-stat__label{font-size:.8rem;color:rgba(255,255,255,0.60);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.28);display:block;margin-top:2px;}

/* ── SELECTOR ─────────────────────────────────────────────────────── */
.pi-selector{background:var(--pi-forest);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(200,130,10,0.20);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-amber);background:rgba(200,130,10,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 #C8D8C4;padding-top:var(--pi-space-8);}
.pi-article h3{margin-top:var(--pi-space-6);color:var(--pi-forest);}
.pi-lead{font-size:1.1875rem;font-style:italic;color:var(--pi-forest);border-left:4px solid var(--pi-amber);padding-left:var(--pi-space-5);margin-bottom:var(--pi-space-6);}

/* ── TOC ──────────────────────────────────────────────────────────── */
.pi-toc{background:var(--pi-sage);border:1px solid #C8D8C4;border-left:4px solid var(--pi-green-mid);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-amber-bg);border:1px solid var(--pi-amber-border);border-left:4px solid var(--pi-amber);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-amber);margin-bottom:var(--pi-space-2);font-weight:600;}
.pi-statute__cite a{color:var(--pi-amber);}
.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-sage);border:1px solid #C8D8C4;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-green);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 #C8D8C4;}
.pi-faq__item{border-bottom:1px solid #C8D8C4;}
.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-amber);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 #C8D8C4;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-amber);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 / CARD ──────────────────────────────────────────────────── */
.pi-grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--pi-space-4);}
.pi-card{border:1px solid #C8D8C4;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-amber);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 #C8D8C4;margin-top:var(--pi-space-8);}
.pi-byline__avatar{width:44px;height:44px;border-radius:50%;background:var(--pi-green);color:var(--pi-white);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-forest);border:1px solid rgba(200,130,10,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-amber);color:var(--pi-white);}

/* ── FOOTER ───────────────────────────────────────────────────────── */
.pi-footer{background:var(--pi-black);border-top:3px solid var(--pi-green-mid);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-amber-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-amber);}
.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(200,130,10,0.38);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);}
}