/* Lines 1–205 mirror the inline critical CSS in index.html verbatim (homepage first
   paint). KEEP THE TWO IN SYNC — edit both with identical values. */
*{box-sizing:border-box;margin:0;padding:0}
:root{
--navy:#0c1f4a;
--navy-dark:#0f264e;
--navy-mid:#132d64;
--navy-darker:#0a1838;
--gold:#e7b94e;
--gold-light:#f0c55e;
--gold-dark:#946a16;
--gold-hover:#c79a3a;
--text-body:#2a4370;
--text-secondary:#5f6a7d;
--text-muted:#c2cce4;
--text-footer:#9fabcb;
--ink:#1e2733;
--surface-card:#f8f9fb;
--white:#fff;
--border:#e5e8ed;
--border-light:#d8dce5;
}
html{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
body{font-family:'Hanken Grotesk',-apple-system,sans-serif;background:var(--white);color:var(--ink);font-weight:400;line-height:1.65;min-height:100vh;display:flex;flex-direction:column}
main{flex:1 0 auto}
/* Fraunces display type — family + optical-axis fix shared by all headings + display numerals */
h1,h2,h3,.brand,.cap .nm,.stat-slide .num,.stats-lead .lead-statement{font-family:'Fraunces',Georgia,serif;font-optical-sizing:auto;font-variation-settings:'SOFT' 0,'WONK' 0;text-wrap:balance}
/* Shared gold-underline inline links (prose / bio / closing) */
.prose a,.bio-text a,.closing a.inline{color:var(--navy);font-weight:600;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:1px}
.prose a:hover,.bio-text a:hover,.closing a.inline:hover{color:var(--navy-darker)}
.prose a:focus-visible,.bio-text a:focus-visible,.closing a.inline:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-100px;left:16px;z-index:1000;background:var(--gold);color:var(--navy);padding:12px 20px;border-radius:6px;font-weight:600;font-size:16px;text-decoration:none}
.skip-link:focus{top:16px}

/* INPUT MODE — touch sizing */
@media(pointer:coarse){
  .links a,.links .cta,.btn,.phone{min-height:44px;display:inline-flex;align-items:center}
}

/* NAV */
.nav{background:var(--navy);padding:16px 28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.brand{font-size:20px;font-weight:400;color:var(--white);letter-spacing:-.2px}
.brand span{color:var(--gold)}
.brand small{display:block;font-size:11px;letter-spacing:1.6px;color:var(--text-footer);margin-top:3px;font-family:'Hanken Grotesk',sans-serif;font-weight:500}
.links{font-size:16px;color:var(--text-muted);letter-spacing:.3px}
.links a{color:var(--text-muted);text-decoration:none;padding:10px 12px;border-radius:6px;transition:background .15s,color .15s;display:inline-block;font-weight:500;line-height:1.35;cursor:pointer;touch-action:manipulation}
.links a:hover{background:rgba(255,255,255,.08);color:var(--white)}
.links a:not(.cta)[aria-current="page"]{color:var(--gold);text-decoration:underline var(--gold);text-underline-offset:6px;text-decoration-thickness:2px;background:transparent}
.links a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.links .cta{color:var(--navy);font-weight:600;background:var(--gold);padding:12px 20px;border-radius:6px;margin-left:6px;transition:background .15s,transform .1s;display:inline-block;letter-spacing:.1px;cursor:pointer;touch-action:manipulation}
.links .cta:hover{background:var(--gold-light);transform:translateY(-1px)}
.links .cta:focus-visible{outline:2px solid var(--white);outline-offset:3px}
.links .cta:active{transform:translateY(0)}

/* HERO */
.hero{display:flex;align-items:center;gap:36px;padding:60px 28px 44px;max-width:1080px;margin:0 auto;position:relative;overflow:hidden}
.hero-map{position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);height:142%;z-index:0;pointer-events:none;opacity:.82;-webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.32) 0%,rgba(0,0,0,.32) 30%,#000 56%,#000 100%),linear-gradient(180deg,#000 0,#000 64%,transparent 86%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,rgba(0,0,0,.32) 0%,rgba(0,0,0,.32) 30%,#000 56%,#000 100%),linear-gradient(180deg,#000 0,#000 64%,transparent 86%);mask-composite:intersect}
.hero-map svg{height:100%;width:auto}
.hero .copy,.hero .photo{position:relative;z-index:1}
.copy{flex:1.25}
.eyebrow{font-size:13px;font-weight:600;color:var(--gold-dark);letter-spacing:.08em;margin-bottom:14px}
h1{font-size:clamp(28px,5vw,40px);font-weight:400;color:var(--navy-dark);line-height:1.12;margin-bottom:16px;letter-spacing:-.5px;text-wrap:balance}
.sub{font-size:17px;color:var(--text-body);line-height:1.7;max-width:60ch}
.actions{display:flex;gap:16px;margin-top:28px;align-items:center;flex-wrap:wrap}
.btn{background:var(--navy);color:var(--white);font-size:16px;font-weight:600;padding:14px 28px;border-radius:7px;text-decoration:none;transition:background .15s,transform .1s;letter-spacing:.2px}
.btn:hover{background:var(--navy-mid);transform:translateY(-1px)}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.btn:active{transform:translateY(0)}
.phone{color:var(--navy-dark);font-size:16px;font-weight:600;text-decoration:none;padding:8px 4px;transition:color .15s}
.phone:hover{color:var(--navy);text-decoration:underline}
.phone:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.photo{flex:.8;min-width:210px}
.frame{border:6px solid var(--white);outline:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 6px 22px rgba(12,31,74,.16)}
.frame img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover}
.cap{text-align:center;margin-top:14px}
.cap .nm{font-size:17px;font-weight:500;color:var(--navy-dark);letter-spacing:-.2px}
.cap .ti{font-size:13px;color:var(--gold-dark);letter-spacing:.5px;font-weight:600}

/* STAT ROTATOR */
.stats{max-width:1080px;margin:0 auto;padding:8px 28px 32px}
/* Proof bar: $60M pinned as the permanent lead; supporting stats rotate alongside */
.stats-proof{border:1px solid var(--border);border-radius:10px;display:flex;align-items:stretch;overflow:hidden}
.stats-lead{flex:0 0 44%;background:var(--surface-card);border-right:1px solid var(--border);padding:32px 34px;display:flex;flex-direction:column;justify-content:center}
.stats-lead .lead-statement{font-size:clamp(19px,2vw,23px);font-weight:400;color:var(--navy-dark);line-height:1.4;letter-spacing:-.1px}
.stats-rotator{flex:1;min-width:0;padding:32px 28px 26px;text-align:center;display:flex;flex-direction:column;justify-content:center}
.stat-slide .num{font-size:clamp(26px,3vw,38px);font-weight:400;color:var(--navy-dark);line-height:1.05;letter-spacing:-.02em}
.stat-slide .lbl{font-size:15px;color:var(--text-body);line-height:1.5;margin-top:8px}
.stats-dashes{display:flex;gap:8px;justify-content:center;margin-top:22px}
.stats-dashes button{width:26px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;position:relative;line-height:0}
.stats-dashes button::after{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:26px;height:2px;background:var(--border-light);transition:background .3s}
.stats-dashes button.on::after{background:var(--gold)}
.stats-dashes button:hover::after{background:var(--gold-hover)}
.stats-dashes button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
/* no-JS / reduced-motion fallback: all slides visible in a row */
.stats-rotator.static{flex-direction:row;align-items:stretch;text-align:left;padding:0;gap:0}
.stats-rotator.static .stat-slide{flex:1;padding:24px 26px;display:flex;flex-direction:column;justify-content:center}
.stats-rotator.static .stat-slide+.stat-slide{border-left:1px solid var(--border)}
.stats-rotator.static .stat-slide .num{font-size:30px}
.stats-rotator.static .stats-dashes{display:none}
/* JS rotator mode */
.stats-rotator.live .stat-slide{display:none}
.stats-rotator.live .stat-slide.on{display:block;animation:statfade .6s ease}
@keyframes statfade{from{opacity:0}to{opacity:1}}

/* SERVICES */
.services{max-width:1080px;margin:0 auto;padding:0 28px 8px}
.services h2{font-size:30px;font-weight:500;color:var(--navy-dark);margin-bottom:6px;letter-spacing:-.3px}
.services .lead{font-size:16px;color:var(--text-body);margin-bottom:28px;max-width:60ch}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.card{background:var(--surface-card);border-radius:10px;padding:28px 26px;display:flex;flex-direction:column}
.card h3{font-size:22px;font-weight:500;color:var(--navy-dark);margin-bottom:12px;line-height:1.2}
.card p{font-size:16px;color:var(--text-body);line-height:1.65;flex:1;margin-bottom:20px;text-wrap:pretty}
.card-featured{background:var(--surface-card);border-radius:10px;padding:32px 30px;display:flex;flex-direction:column;grid-column:1/-1}
.card-featured h3{font-size:26px;font-weight:500;color:var(--navy-dark);margin-bottom:12px;line-height:1.15;letter-spacing:-.3px}
.card-featured p{font-size:16px;color:var(--text-body);line-height:1.7;max-width:62ch;margin-bottom:20px;text-wrap:pretty}
/* "More on…" card / closing links (shared across .card, .card-featured, .closing) */
.svc-link{font-size:15px;font-weight:600;color:var(--navy);text-decoration:none;letter-spacing:.2px}
.svc-link span{border-bottom:2px solid var(--gold);padding-bottom:3px}
.svc-link:hover{color:var(--navy-darker)}
.svc-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}

/* CLOSING TEXT */
.closing{max-width:1080px;margin:0 auto;padding:44px 28px 52px}
.closing-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:center}
.closing p{font-size:16px;color:var(--text-body);line-height:1.75;max-width:56ch;margin-bottom:18px;text-wrap:pretty}
.closing-links{display:flex;flex-wrap:wrap;gap:28px;align-items:center}
.partners{background:var(--navy);border-radius:10px;padding:30px 32px}
.partners .partners-h{font-size:18px;font-weight:500;color:var(--white);margin-bottom:10px;line-height:1.3}
.partners p{font-size:15px;color:var(--text-muted);line-height:1.65}

/* FOOTER */
.footer{background:var(--navy);color:var(--text-footer);padding:28px;text-align:center;font-size:14px;letter-spacing:.3px}
.footer .lic{display:block;margin-bottom:10px;font-weight:500}
.footer .ph{color:var(--gold);font-weight:600;text-decoration:none;font-size:16px}
.footer .ph:hover{text-decoration:underline}
.footer .ph:focus-visible{outline:2px solid var(--white);outline-offset:3px;border-radius:4px}

/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* RESPONSIVE */
@media(min-width:1440px){
  .hero,.services,.closing{max-width:1200px}
  .sub{font-size:18px}
}
@media(max-width:768px){
  .hero{flex-direction:column;gap:28px;padding:44px 20px 36px}
  .hero-map{left:50%;height:118%;opacity:.32;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%)}
  .copy{text-align:center}
  .actions{justify-content:center}
  .photo{max-width:280px}
  .services,.closing{padding:0 20px 36px}
  .stats{padding:0 20px 28px}
  .stats-proof{flex-direction:column}
  .stats-lead{flex:none;border-right:0;border-bottom:1px solid var(--border);padding:24px 22px;text-align:center;align-items:center}
  .stats-rotator{padding:26px 20px 20px}
  .stats-rotator.static{flex-direction:column}
  .stats-rotator.static .stat-slide{padding:18px 22px}
  .stats-rotator.static .stat-slide+.stat-slide{border-left:0;border-top:1px solid var(--border)}
  .services h2{font-size:24px}
  .services-grid{grid-template-columns:1fr;gap:16px}
  .closing-grid{grid-template-columns:1fr;gap:28px}
  .card{padding:24px 22px}
  .card h3{font-size:20px}
  .nav{gap:12px}
  .links{font-size:15px}
  .links a{padding:9px 10px}
  .links .cta{padding:10px 16px}
}
@media(max-width:375px){
  .nav{flex-direction:column;align-items:flex-start;padding:14px 16px}
  .brand{font-size:17px}
  .links{font-size:14px;display:flex;flex-wrap:wrap;gap:4px;letter-spacing:.1px}
  .links a{padding:10px 10px}
  .links .cta{padding:12px 16px;margin-left:0;margin-top:4px}
  h1{font-size:24px;letter-spacing:-.3px}
  .sub{font-size:15px}
  .btn{font-size:15px;padding:12px 22px}
  .services,.closing{padding:0 14px 32px}
  .services h2{font-size:22px}
  .card{padding:20px 18px}
  .card h3{font-size:19px}
}
@media(max-width:320px){
  .nav{padding:12px 14px}
  .brand{font-size:15px}
  .links a{padding:10px 8px;font-size:13px}
  .links .cta{padding:11px 14px;font-size:13px}
  h1{font-size:22px}
  .hero{padding:32px 14px 24px}
  .btn{padding:12px 18px;font-size:14px}
  .phone{font-size:14px}
  .services,.closing{padding:0 12px 28px}
  .services h2{font-size:20px}
  .card{padding:18px 16px}
  .card h3{font-size:18px}
  .card p{font-size:14px}
  .card-featured{padding:20px 16px}
  .card-featured h3{font-size:20px}
  .card-featured p{font-size:14px}
  .partners{padding:22px 18px}
  .footer{font-size:13px;padding:22px 16px}
}

/* ===== INTERIOR PAGES ===== */
/* Attorney bio photo + education (bio photo uses the shared .frame styles) */
.bio-photo{width:240px;max-width:100%}
.bio-photo .cap{text-align:center;margin-top:12px}
.bio-photo .cap .nm{font-size:16px;font-weight:500;color:var(--navy-dark)}
.bio-photo .cap .ti{font-size:12px;color:var(--gold-dark);letter-spacing:.5px;font-weight:600;margin-top:2px}
/* Attorney bio grids (about page) */
.bio{max-width:1080px;margin:0 auto;padding:8px 28px 44px}
.bio-outer{display:grid;grid-template-columns:1.7fr 1fr;gap:44px;align-items:start}
.bio-solo{max-width:760px}
.bio-grid{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start}
.bio-text{max-width:62ch}
.bio-text h2{font-size:24px;font-weight:500;color:var(--navy-dark);margin:0 0 16px;letter-spacing:-.3px}
.bio-text p{font-size:16px;color:var(--text-body);line-height:1.75;margin-bottom:18px;text-wrap:pretty}
.bio-text p:last-child{margin-bottom:0}
.bio-outer .sidecard{position:sticky;top:20px}
.edu{background:var(--surface-card);border-radius:10px;padding:22px 26px;margin:24px 0 8px}
.edu h3{font-size:15px;font-weight:500;color:var(--navy-dark);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.edu-item{margin-bottom:14px}
.edu-item:last-child{margin-bottom:0}
.edu-item .deg{font-size:15px;font-weight:600;color:var(--navy-dark);line-height:1.4}
.edu-item .sch{font-size:14px;color:var(--text-body);line-height:1.5;margin-top:2px}
.edu-item .note{font-size:13px;color:var(--text-secondary);font-style:italic;margin-top:2px}
.trust-banner{max-width:1080px;margin:0 auto;padding:0 28px 24px}
.trust-banner .inner{background:var(--navy);border-radius:10px;padding:20px 26px;display:flex;align-items:center;gap:14px}
.trust-banner svg{flex-shrink:0}
.trust-banner p{font-size:16px;color:var(--text-muted);line-height:1.5;margin:0}
.trust-banner strong{color:var(--white);font-weight:600}
.trust-shield{color:var(--gold)}
.page-hero{max-width:1080px;margin:0 auto;padding:52px 28px 16px}
.page-hero .eyebrow{font-size:13px;font-weight:600;color:var(--gold-dark);letter-spacing:1.6px;margin-bottom:14px}
.page-hero .sub{margin-top:14px}
.page-hero h1{font-size:clamp(28px,5vw,40px);font-weight:400;color:var(--navy-dark);line-height:1.12;letter-spacing:-.5px;text-wrap:balance}
.content{max-width:1080px;margin:0 auto;padding:24px 28px 52px}
.content-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:start}
.prose p{font-size:16px;color:var(--text-body);line-height:1.75;margin-bottom:18px;max-width:62ch;text-wrap:pretty}
.prose ul{font-size:16px;color:var(--text-body);line-height:1.75;margin:0 0 18px;padding-left:22px;max-width:62ch}
.prose ul li{margin-bottom:8px}
.prose ul li:last-child{margin-bottom:0}
.prose ul li strong{color:var(--navy-dark)}
.prose h2{font-size:24px;font-weight:500;color:var(--navy-dark);margin:8px 0 16px;letter-spacing:-.3px}
.sidecard{background:var(--navy);border-radius:10px;padding:30px 32px;color:var(--text-muted)}
.sidecard h2{font-size:18px;font-weight:500;color:var(--white);margin-bottom:12px;line-height:1.3}
.sidecard p{font-size:15px;line-height:1.65;margin-bottom:14px}
.sidecard a{color:var(--gold);font-weight:600;text-decoration:none;display:inline-flex;flex-direction:column;align-items:flex-start;min-height:44px;padding:0 4px}
.sidecard a:hover{text-decoration:underline}
.sidecard a:focus-visible{outline:2px solid var(--white);outline-offset:3px;border-radius:4px}
/* Inline variant: a gold text link inside a sentence (not a stacked label+value) */
.sidecard a.inline{display:inline;min-height:0;padding:0}
.sidecard .big{display:block;font-size:18px;color:var(--white);font-weight:600;margin-top:4px}

/* Contact specifics */
.contact-row{display:flex;flex-wrap:wrap;gap:32px;margin-top:8px}
.contact-block{min-width:200px}
.contact-block .lbl{font-size:13px;font-weight:600;color:var(--gold-dark);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.contact-block p,.contact-block a{font-size:17px;color:var(--text-body);line-height:1.6;text-decoration:none}
.contact-block a{color:var(--navy);font-weight:600}
.contact-block a:hover{text-decoration:underline}

/* ===== SERVICES PAGE ===== */
/* Georgia map motif — a quiet brand backdrop in the hero, echoing the homepage
   hero map and tying the page to the firm's statewide story. Decorative only. */
.svc-hero{position:relative;overflow:hidden}
.svc-hero h1,.svc-hero .sub{position:relative;z-index:1}
.svc-hero-map{position:absolute;z-index:0;top:50%;right:-6px;transform:translateY(-50%);height:172%;width:auto;opacity:.85;pointer-events:none;user-select:none}
@media(max-width:900px){.svc-hero-map{height:125%;right:-44px;opacity:.42}}
@media(max-width:560px){.svc-hero-map{display:none}}

/* Two-column shell: services in the main column, a sticky record + contact rail
   on the right so the column stays full instead of trailing into dead space. */
.svc-section{padding-top:28px}
.svc-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:48px;align-items:start}
.svc-main{min-width:0}
.svc-intro{margin-bottom:40px}
.svc-intro h2{margin-top:0}
.svc-intro p:last-child{margin-bottom:0}

/* Section heading above the practice-area cards (Fraunces via h2) */
.svc-areas-h{font-size:24px;font-weight:500;color:var(--navy-dark);margin:0 0 18px;letter-spacing:-.3px}

/* One featured card + two standard cards — deliberately uneven, not a 3-up grid */
.svc-areas{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.svc-areas .card-featured{grid-column:1/-1}
.svc-areas .card p:last-child,.svc-card-collections p:last-child{margin-bottom:0}
.svc-card-collections>p:first-of-type{margin-bottom:14px;max-width:none}

/* Collections remedies — 2×2 term/description pairs, no icons, no stripes */
.svc-remedies{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;margin:0 0 18px}
.svc-remedy dt{font-size:15px;font-weight:600;color:var(--navy-dark);line-height:1.3;margin-bottom:3px}
.svc-remedy dd{font-size:14.5px;color:var(--text-body);line-height:1.55;margin:0}
.svc-card-collections .svc-card-note{font-size:15px;color:var(--text-secondary);margin:0;max-width:none}

/* Closing */
.svc-closing{margin-top:36px;padding-top:30px;border-top:1px solid var(--border)}
.svc-closing p{font-size:16px;color:var(--text-body);line-height:1.75;max-width:58ch;margin:0 0 20px}
.svc-closing-actions{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}

/* Sticky right rail: record block + contact card */
.svc-rail{position:sticky;top:20px;display:flex;flex-direction:column;gap:20px}
.svc-proof{background:var(--surface-card);border:1px solid var(--border);border-radius:12px;padding:26px 28px}
.svc-proof-h{font-size:18px;font-weight:500;color:var(--navy-dark);margin:0 0 6px;line-height:1.25;letter-spacing:-.2px}
.svc-stats{margin:0}
.svc-stat{padding:16px 0;border-top:1px solid var(--border-light)}
.svc-stat:first-of-type{padding-top:18px}
.svc-stat dt{font-family:'Fraunces',Georgia,serif;font-optical-sizing:auto;font-variation-settings:'SOFT' 0,'WONK' 0;font-size:30px;font-weight:400;color:var(--navy-dark);line-height:1.1;letter-spacing:-.02em}
.svc-stat dd{font-size:14px;color:var(--text-body);line-height:1.5;margin:6px 0 0}
.svc-proof-foot{font-size:13px;color:var(--text-secondary);line-height:1.55;margin:16px 0 0;padding-top:16px;border-top:1px solid var(--border-light)}

@media(max-width:900px){
  .svc-grid{grid-template-columns:1fr;gap:30px}
  /* Rail leads on small screens: record + tap-to-call before the long detail */
  .svc-rail{position:static;order:-1;gap:16px}
}
@media(max-width:768px){
  .svc-areas{grid-template-columns:1fr}
  .svc-remedies{grid-template-columns:1fr;gap:14px}
  .svc-intro{margin-bottom:32px}
  .svc-areas-h{font-size:22px}
}
@media(max-width:375px){
  .svc-proof{padding:22px 20px}
  .svc-stat dt{font-size:27px}
  .svc-closing-actions{gap:14px}
}

/* ===== PAY PAGE ===== */
.pay-notice{background:#fbf6ea;border:4px solid var(--gold);border-radius:8px;margin-bottom:36px;overflow:hidden}
.pay-notice summary{font-size:15px;color:#4a4233;padding:18px 24px;cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;user-select:none;transition:background .15s}
.pay-notice summary::-webkit-details-marker{display:none}
.pay-notice summary::before{content:"›";flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;color:#b8862e;line-height:1;transition:transform .2s ease;border:1.5px solid #d8b259;border-radius:4px}
.pay-notice[open] summary::before{transform:rotate(90deg)}
.pay-notice summary:hover{background:rgba(231,185,78,.1)}
.pay-notice summary strong{color:var(--navy-dark);font-weight:600}
.pay-notice[open] summary{border-bottom:1px solid var(--gold)}
.pay-notice-body{padding:18px 24px 22px}
.pay-notice-body p{font-size:14px;color:#4a4233;line-height:1.6;margin-bottom:12px}
.pay-notice-body p:last-child{margin-bottom:0}
.pay-notice-body strong{color:var(--navy-dark)}
/* Plain-language summary at the top of the terms notice */
.pay-notice-summary{list-style:none;margin:0 0 16px;padding:0 0 16px;border-bottom:1px solid #e6d7ad;display:flex;flex-direction:column;gap:9px}
.pay-notice-summary li{position:relative;padding-left:22px;font-size:14.5px;color:#4a4233;line-height:1.55}
.pay-notice-summary li::before{content:"";position:absolute;left:2px;top:8px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.pay-notice-summary strong{color:var(--navy-dark)}
.pay-notice-sub{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--navy-dark);margin:0 0 8px!important}

/* Payment-terms agreement gate */
.pay-gate{margin:0 0 32px}
.pay-agree{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:var(--white);border:1.5px solid var(--border-light);border-radius:8px;transition:border-color .15s}
.pay-agree:focus-within{border-color:var(--gold)}
.pay-agree-check{flex-shrink:0;width:24px;height:24px;margin:0;accent-color:var(--navy);cursor:pointer}
.pay-agree-check:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.pay-agree label{font-size:15px;font-weight:600;color:var(--navy-dark);line-height:1.45;cursor:pointer;user-select:none}
.pay-agree--pulse{animation:payAgreePulse 1.1s ease}
@keyframes payAgreePulse{0%,100%{box-shadow:0 0 0 0 rgba(231,185,78,0)}30%{box-shadow:0 0 0 5px rgba(231,185,78,.6)}}
.pay-agree-hint{font-size:13px;font-weight:500;color:var(--text-secondary);margin:10px 0 0;padding-left:2px}
.pay-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Locked state: <html> gets .gate-locked via JS until the box is checked */
.gate-locked .pay-card-featured .pay-btn,
.gate-locked .pay-plans a{opacity:.5;filter:grayscale(.35);cursor:not-allowed}
.gate-locked .pay-card-featured .pay-btn:hover{transform:none;background:var(--gold);box-shadow:0 8px 20px rgba(0,0,0,.25)}
.gate-locked .pay-plans a:hover{border-color:var(--border-light);background:transparent;color:var(--navy)}
@media (prefers-reduced-motion:reduce){.pay-agree--pulse{animation:none;background:#f3e4ba}}

/* Featured CTA card — full width, prominent */
.pay-card-featured{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);border-radius:12px;padding:36px 36px;grid-column:1/-1;display:flex;align-items:center;gap:32px;justify-content:space-between}
.pay-featured-body{flex:1}
.pay-card-featured h2{font-size:22px;font-weight:500;color:var(--white);margin-bottom:10px;line-height:1.25;letter-spacing:-.3px}
.pay-card-featured p{font-size:15px;color:var(--text-muted);line-height:1.65;margin:0;max-width:54ch}
.pay-card-featured .pay-btn{flex-shrink:0;display:inline-flex;align-items:center;background:var(--gold);color:var(--navy);font-size:17px;font-weight:700;padding:16px 34px;border-radius:8px;text-decoration:none;letter-spacing:.2px;box-shadow:0 8px 20px rgba(0,0,0,.25);transition:background .15s,transform .12s,box-shadow .15s;white-space:nowrap}
.pay-card-featured .pay-btn:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.32)}
.pay-card-featured .pay-btn:active{transform:translateY(0);box-shadow:0 4px 12px rgba(0,0,0,.25)}
.pay-card-featured .pay-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* Pay grid */
.pay-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;align-items:start}

/* Standard card */
.pay-card{background:var(--surface-card);border-radius:10px;padding:32px 32px}
.pay-card h2{font-size:20px;font-weight:500;color:var(--navy-dark);margin-bottom:14px;line-height:1.25;letter-spacing:-.25px}
.pay-card p{font-size:15px;color:var(--text-body);line-height:1.65;margin-bottom:14px}
.pay-card p:last-child{margin-bottom:0}

/* Plan tiers */
.pay-tiers{display:flex;flex-direction:column;gap:16px;margin-top:18px}
.pay-tier{border:1px solid var(--border);border-radius:8px;padding:16px 20px}
.pay-tier-h{font-size:13px;font-weight:600;color:var(--gold-dark);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px}
.pay-plans{list-style:none;margin:0!important;padding:0!important;display:flex;flex-wrap:wrap;gap:4px 6px}
.pay-plans li{margin:0!important}
.pay-plans a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:600;color:var(--navy);text-decoration:none;padding:8px 14px;border:1.5px solid var(--border-light);border-radius:6px;transition:border-color .15s,background .15s;line-height:1.35}
.pay-plans a:hover{border-color:var(--gold);background:var(--white);color:var(--navy-darker)}
.pay-plans a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}

/* Sidebar card (mail / phone) */
.pay-card-sidebar{background:var(--surface-card);border-radius:10px;padding:28px 28px}
.pay-card-sidebar h2{font-size:18px;font-weight:500;color:var(--navy-dark);margin-bottom:14px;line-height:1.25;letter-spacing:-.2px}
.pay-card-sidebar p{font-size:15px;color:var(--text-body);line-height:1.6;margin-bottom:8px}
.pay-card-sidebar p:last-child{margin-bottom:0}
.pay-label{font-size:12px;font-weight:600;color:var(--gold-dark);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px!important}
.pay-card-sidebar p:not(.pay-label) + .pay-label{margin-top:16px}
.pay-phone{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);font-size:17px;font-weight:700;text-decoration:none;letter-spacing:-.3px}
.pay-phone:hover{text-decoration:underline}
.pay-phone:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}

/* Secondary cards (security, privacy) */
.pay-card-secondary{background:var(--surface-card);border-radius:8px;padding:24px 26px}
.pay-card-secondary h2{font-size:16px;font-weight:600;color:var(--navy-dark);margin-bottom:10px;line-height:1.3;letter-spacing:-.1px}
.pay-card-secondary p{font-size:14px;color:var(--text-secondary);line-height:1.65;margin:0}

/* Privacy — collapsible */
.pay-privacy{border:1px solid var(--border);padding:0;background:var(--white)}
.pay-privacy summary{font-size:15px;font-weight:600;color:var(--navy-dark);padding:16px 20px;cursor:pointer;list-style:none;user-select:none;transition:background .15s;border-radius:7px;display:flex;align-items:center;gap:10px}
.pay-privacy summary::-webkit-details-marker{display:none}
.pay-privacy summary::before{content:"›";flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;color:var(--navy);line-height:1;transition:transform .2s ease;border:1.5px solid #c8cdd8;border-radius:4px}
.pay-privacy[open] summary::before{transform:rotate(90deg)}
.pay-privacy summary:hover{background:#f0f2f5}
.pay-privacy[open] summary{border-bottom:1px solid var(--border);border-radius:7px 7px 0 0}
.pay-privacy-body{padding:16px 20px 20px}
.pay-privacy-body p{font-size:14px;color:var(--text-secondary);line-height:1.65;margin-bottom:12px}
.pay-privacy-body p:last-child{margin-bottom:0}
.pay-privacy-body h3{font-size:14px;font-weight:600;color:var(--navy-dark);margin:14px 0 6px;line-height:1.3}
.pay-privacy-body ul{margin:0 0 0 16px;padding:0}
.pay-privacy-body ul li{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:6px}

/* Tablet/landscape: collapse the bio's OUTER grid (bio column + sidecard) to one
   column before the nested photo+text grid is forced active too. Above this the
   two grids stack and crush the reading column to ~180px; below it the bio-grid
   keeps full width and the sidecard drops underneath. */
@media(max-width:1024px){
  .bio-outer{grid-template-columns:1fr;gap:32px}
  .bio-outer .sidecard{position:static}
}
@media(max-width:768px){
  .page-hero,.content,.bio{padding-left:20px;padding-right:20px}
  .bio-outer{grid-template-columns:1fr;gap:28px}
  .bio-grid{grid-template-columns:1fr;gap:20px}
  .bio-photo{margin:0 auto}
  .bio-outer .sidecard{position:static}
  .bio-text h2{font-size:22px}
  .trust-banner{padding-left:20px;padding-right:20px}
  .trust-banner .inner{align-items:flex-start;gap:12px;padding:18px 20px}
  .pay-grid{grid-template-columns:1fr;gap:20px}
  .pay-card{padding:24px 22px}
  .pay-card-featured{flex-direction:column;align-items:flex-start;gap:20px;padding:28px 24px}
  .pay-card-featured .pay-btn{white-space:normal;width:100%;justify-content:center}
  .pay-card-sidebar{padding:24px 22px}
  .pay-card-secondary{padding:20px 22px}
  .pay-agree{padding:14px 16px}
  .pay-notice summary{padding:14px 18px;font-size:14px}
  .pay-notice-body{padding:14px 18px 18px}
  .pay-tier{padding:14px 16px}
  .content-grid{grid-template-columns:1fr;gap:28px}
  .content-grid>.sidecard{order:1}
  .prose h2{font-size:22px}
}
@media(max-width:375px){
  .page-hero,.content,.bio{padding-left:14px;padding-right:14px}
  .sidecard{padding:22px 18px}
}

/* CONTACT FORM (subrogation_contact_form.php) */
.contact-form{max-width:600px}
.form-hint{font-size:14px;color:var(--text-secondary);margin-bottom:22px}
.form-hint span{color:var(--gold-dark);font-weight:700}
.contact-form .field{margin-bottom:20px}
.contact-form label{display:block;font-size:13px;font-weight:600;color:var(--gold-dark);letter-spacing:.6px;text-transform:uppercase;margin-bottom:7px}
.contact-form .req{color:var(--gold-dark)}
.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{width:100%;font-family:inherit;font-size:16px;color:var(--navy-dark);background:var(--white);border:1.5px solid var(--border-light);border-radius:7px;padding:12px 14px;line-height:1.5;transition:border-color .15s,box-shadow .15s}
.contact-form input[type=text],.contact-form input[type=email]{min-height:48px}
.contact-form textarea{min-height:168px;resize:vertical}
.contact-form input:hover,.contact-form textarea:hover{border-color:#c2c9d6}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(231,185,78,.28)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#737d8c}
.contact-form [aria-invalid=true]{border-color:#b3261e}
.contact-form [aria-invalid=true]:focus-visible{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.22)}
.field-error{margin-top:7px;font-size:14px;font-weight:500;color:#b3261e}
.btn-submit{border:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;min-height:48px;margin-top:4px}
.btn-submit:hover{background:var(--navy-mid);transform:translateY(-1px)}
.btn-submit:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.form-error-summary{max-width:600px;margin:0 0 26px;padding:16px 18px;background:#fdecea;border:1px solid #f3b4ad;border-radius:8px;color:#8a1c14}
.form-error-summary h2{font-size:16px;font-weight:600;color:#8a1c14;margin-bottom:8px}
.form-error-summary ul{margin:0;padding-left:20px}
.form-error-summary li{font-size:14px;line-height:1.65}
.form-success{max-width:600px;background:var(--surface-card);border:1px solid var(--border);border-radius:10px;padding:28px 30px}
.form-success h2{font-size:22px;font-weight:500;color:var(--navy-dark);margin-bottom:10px;letter-spacing:-.3px;line-height:1.25}
.form-success p{font-size:16px;color:var(--text-body);line-height:1.7}
.form-success a{color:var(--navy);font-weight:600;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:1px}
.form-success a:hover{color:var(--navy-darker)}
.form-success a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.hp-field{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
