/* Summerville Accident Attorney (Frost Law Group) — site stylesheet. Same system as the main site, with a warmer accent so the injury practice reads as its own brand. */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/fraunces-var.woff2") format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/public-sans-var.woff2") format("woff2")}
@font-face{font-family:"Public Sans";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/public-sans-italic-var.woff2") format("woff2")}

:root{
  --navy:#0f2a4a;--navy-2:#173b66;--navy-3:#0b1f37;
  --ice:#3f86bd;--ice-2:#d9e9f5;--frost:#eef4f9;
  --gold:#a33a1e;--gold-2:#fbe9e2;--signal:#c0392b;
  --ink:#182131;--muted:#586478;--line:#d7dfe8;--paper:#fff;--paper-2:#f7f9fb;
  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --r:10px;--r-lg:16px;--shadow:0 10px 30px rgba(15,42,74,.08);
  --wrap:1140px;--gutter:clamp(16px,4vw,32px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--navy-2);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ice)}
:focus-visible{outline:3px solid var(--ice);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.15;color:var(--navy);margin:0 0 .5em;text-wrap:balance;font-variation-settings:"opsz" 72,"SOFT" 30}
h1{font-size:clamp(2rem,1.2rem + 2.6vw,3.2rem);letter-spacing:-.01em}
h2{font-size:clamp(1.55rem,1.1rem + 1.4vw,2.15rem);margin-top:1.8em}
h3{font-size:1.32rem;margin-top:1.5em}
h4{font-family:var(--sans);font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:1.4em}
p,ul,ol{margin:0 0 1.1em}
li{margin:.3em 0}
strong{font-weight:650}
small,.small{font-size:.9rem;color:var(--muted)}
hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
blockquote{margin:1.5rem 0;padding:0 0 0 1.2rem;border-left:3px solid var(--gold);color:var(--ink);font-style:italic}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;padding:.65rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:650}
.table-wrap{overflow-x:auto;margin:1.2rem 0}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em;background:var(--frost);padding:.1em .35em;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:.6rem 1rem;border-radius:6px;z-index:100}
.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.prose{max-width:70ch}
.prose>*:first-child{margin-top:0}
.eyebrow{font:650 .78rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 .8rem}
.lead{font-size:1.18rem;color:#33405a;line-height:1.55;max-width:62ch}
.muted{color:var(--muted)}
.right{text-align:right}
.center{text-align:center}
.tabular{font-variant-numeric:tabular-nums}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.25rem;border-radius:999px;font:650 .98rem/1 var(--sans);text-decoration:none;white-space:nowrap;border:2px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;transition:transform .12s ease,background .15s ease,color .15s ease}
.btn:hover{background:var(--navy-2);border-color:var(--navy-2);color:#fff;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn.ghost:hover{background:var(--frost);color:var(--navy)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn.gold:hover{background:#862f18;border-color:#862f18}
.btn.light{background:#fff;border-color:#fff;color:var(--navy)}
.btn.light:hover{background:var(--frost);border-color:var(--frost);color:var(--navy)}
.btn.sm{padding:.55rem .95rem;font-size:.88rem}
.btn svg{width:1.05em;height:1.05em;fill:currentColor}
.actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin:1.4rem 0 0}

/* Header */
.topbar{background:var(--navy-3);color:#cfdcea;font-size:.85rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:36px}
.topbar a{color:#fff;text-decoration:none;font-weight:600}
.topbar .tag{color:#9fc2e2;font-family:var(--display);font-style:normal;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:720px){.topbar .tag .line{display:none}}
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:74px}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--navy)}
.brand img{height:46px;width:auto}
.brand .word{font-family:var(--display);font-weight:600;font-size:1.25rem;line-height:1.05;white-space:nowrap}
.brand .word small{display:block;font:600 .68rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.nav{display:flex;align-items:center;gap:.25rem}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.1rem;align-items:center}
.nav li{position:relative}
.nav a{display:block;padding:.7rem .65rem;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:550;font-size:.93rem;white-space:nowrap}
.nav a:hover{background:var(--frost);color:var(--navy)}
.nav .has-sub>a::after{content:"";display:inline-block;width:.42em;height:.42em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-.2em);margin-left:.45em;opacity:.7}
.nav .sub{position:absolute;left:0;top:100%;min-width:250px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:.5rem;display:none;flex-direction:column;gap:0;z-index:60}
.nav .sub a{padding:.55rem .75rem;font-weight:500;font-size:.92rem;white-space:normal}
.nav .sub .all{font-weight:650;border-bottom:1px solid var(--line);border-radius:8px 8px 0 0;margin-bottom:.25rem}
.nav .has-sub:hover .sub,.nav .has-sub:focus-within .sub{display:flex}
.nav .cta{margin-left:.5rem}
.nav a.btn{color:#fff;background:var(--navy);border-color:var(--navy)}
.nav a.btn:hover{background:var(--navy-2);border-color:var(--navy-2);color:#fff}
.nav-toggle{display:none;background:none;border:2px solid var(--navy);border-radius:8px;padding:.45rem .6rem;font:650 .85rem var(--sans);color:var(--navy);cursor:pointer}
.phone-hdr{display:none;font-weight:700;color:var(--navy);text-decoration:none;white-space:nowrap}
@media (max-width:1060px){
  .nav-toggle{display:inline-flex;align-items:center;gap:.4rem}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:.75rem var(--gutter) 1.25rem;max-height:calc(100vh - 110px);overflow:auto}
  .nav.open{display:block}
  .nav ul{flex-direction:column;align-items:stretch;gap:0}
  .nav .sub{position:static;display:flex;border:0;box-shadow:none;padding:0 0 .5rem .75rem;min-width:0}
  .nav .sub .all{border:0}
  .nav .has-sub>a::after{display:none}
  .nav .cta{margin:.75rem 0 0}
  .phone-hdr{display:none}
}

/* Hero */
.hero{background:linear-gradient(180deg,var(--frost),#fff 92%);border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;padding-top:clamp(2.2rem,5vw,4.5rem);padding-bottom:clamp(2.2rem,5vw,4.5rem)}
.hero.plain .wrap{grid-template-columns:1fr;padding-top:clamp(1.8rem,4vw,3rem);padding-bottom:clamp(1.6rem,3vw,2.6rem)}
.hero h1{margin-bottom:.6rem}
.hero .kicker{font-family:var(--display);font-weight:500;font-size:clamp(1.15rem,.95rem + .7vw,1.45rem);color:var(--ice);margin:0 0 .35rem;font-variation-settings:"opsz" 40,"SOFT" 60}
.hero .kicker b{color:var(--navy);font-weight:600}
.hero figure{margin:0;position:relative}
.hero figure img{border-radius:var(--r-lg);box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover;width:100%}
.hero .quote{margin:1.4rem 0 0;font-family:var(--display);font-weight:500;color:var(--muted);font-size:1rem;font-style:normal}
@media (max-width:820px){.hero .wrap{grid-template-columns:1fr}.hero figure{order:-1}.hero figure img{aspect-ratio:16/10}}
.hero.photo{position:relative;background:var(--navy-3);border:0;overflow:hidden;color:#fff}
.hero.photo .media{position:absolute;inset:0}
.hero.photo .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left 22%}
/* Large screens use the widened photo: the family stays on the left, untouched, and the text sits in the extended wall on the right. */
.hero.photo .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,31,55,.05) 0%,rgba(11,31,55,.08) 46%,rgba(11,31,55,.62) 58%,rgba(11,31,55,.84) 74%,rgba(11,31,55,.88) 100%)}
.hero.photo .wrap{position:relative;display:grid;grid-template-columns:1fr minmax(0,46%);gap:0;align-items:center;min-height:clamp(540px,66vh,680px);padding-top:clamp(2.5rem,5vw,3.5rem);padding-bottom:clamp(2.5rem,5vw,3.5rem)}
.hero.photo .wrap>div{grid-column:2;text-align:center;justify-self:center}
.hero.photo .eyebrow{color:#e8c76a;text-shadow:0 1px 12px rgba(0,0,0,.45);margin-bottom:.7rem}
.hero.photo h1{color:#fff;font-size:clamp(1.8rem,1.15rem + 2vw,2.9rem);line-height:1.08;text-shadow:0 2px 24px rgba(0,0,0,.55);margin-bottom:.4rem}
.hero.photo h1 .sub{display:block;font-size:.56em;font-weight:500;color:#dbe7f3;margin-top:.4em;letter-spacing:.01em}
.hero.photo .lead{color:#e6eef7;max-width:none;font-size:1.08rem;line-height:1.55;text-shadow:0 1px 14px rgba(0,0,0,.5)}
.hero.photo .actions{justify-content:center;margin-top:1.2rem}
.hero.photo .btn.ghost{color:#fff;border-color:rgba(255,255,255,.75)}
.hero.photo .btn.ghost:hover{background:rgba(255,255,255,.12);color:#fff}
@media (min-width:2000px){.hero.photo .wrap{min-height:min(76vh,860px)}}
@media (max-width:1100px){
  /* Tablets and phones: the original photo as a banner, text on navy beneath it. */
  .hero.photo .media{position:relative;aspect-ratio:21/9}
  .hero.photo .bg{object-position:center 20%}
  .hero.photo .shade{background:linear-gradient(180deg,rgba(11,31,55,.06) 0%,rgba(11,31,55,.04) 68%,var(--navy-3) 100%)}
  .hero.photo .wrap{grid-template-columns:1fr;min-height:0;padding-top:1.6rem;padding-bottom:2.2rem}
  .hero.photo .wrap>div{grid-column:1;justify-self:stretch;text-align:left}
  .hero.photo .lead{max-width:62ch}
  .hero.photo .actions{justify-content:flex-start}
}
@media (max-width:720px){
  .hero.photo .media{aspect-ratio:3/2}
  .hero.photo .bg{object-position:center 12%}
  .hero.photo .wrap{padding-top:1.4rem;padding-bottom:2rem}
  .hero.photo .eyebrow .eb2{display:none}
}
.quote-band{background:var(--navy-3);color:#dbe7f3;text-align:center;padding:1rem 0;font-family:var(--display);font-style:italic;font-size:1.05rem;border-bottom:1px solid rgba(255,255,255,.08)}
.crumbs{font-size:.85rem;color:var(--muted);margin:0 0 1rem}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem}
.crumbs li+li::before{content:"›";margin-right:.35rem;color:#9aa6b8}
.crumbs a{color:var(--muted)}

/* Layout */
.section{padding:clamp(2.4rem,5vw,4.5rem) 0}
.section.tint{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section.navy{background:var(--navy);color:#e6eef7}
.section.navy h2,.section.navy h3{color:#fff}
.section.navy .eyebrow{color:#e8c76a}
.section.navy a{color:#fff}
.section-head{max-width:70ch;margin-bottom:1.8rem}
.section-head h2{margin-top:0}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(2rem,4vw,4rem);align-items:start;padding:clamp(2rem,4vw,3.5rem) var(--gutter) clamp(2.4rem,5vw,4.5rem)}
.layout.single{grid-template-columns:minmax(0,1fr)}
.aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:1.2rem}
@media (max-width:920px){.layout{grid-template-columns:1fr}.aside{position:static}}
.main>h2:first-child{margin-top:0}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:1.1rem;margin:1.4rem 0;padding:0;list-style:none}
.cards.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.35rem 1.35rem 1.25rem;display:flex;flex-direction:column;gap:.45rem;transition:transform .15s ease,box-shadow .15s ease}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.card h3{margin:0;font-size:1.18rem}
.card h3 a{text-decoration:none;color:var(--navy)}
.card p{margin:0;color:#3d4960;font-size:.97rem}
.card .more{margin-top:auto;padding-top:.5rem;font-weight:650;font-size:.92rem;text-decoration:none}
.card .more::after{content:" →"}
.card.new::before{content:"New";align-self:flex-start;font:650 .68rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);background:var(--gold-2);padding:.35rem .5rem;border-radius:999px}
.card .icon{width:42px;height:42px;border-radius:10px;background:var(--frost);display:grid;place-items:center;color:var(--navy);margin-bottom:.35rem}
.card .icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tile{background:var(--frost);border-radius:var(--r-lg);padding:1.35rem}
.tile h3{margin-top:0}

/* Aside cards */
.acard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.25rem}
.acard h3{font-size:1.1rem;margin:0 0 .6rem}
.acard.navy{background:var(--navy);color:#e6eef7;border-color:var(--navy)}
.acard.navy h3{color:#fff}
.acard.navy a{color:#fff}
.acard.navy .btn.light{color:var(--navy)}
.acard .big{font-family:var(--display);font-size:1.5rem;font-weight:600;text-decoration:none;display:block;margin:.2rem 0 .6rem}
.acard ul{list-style:none;padding:0;margin:0}
.acard li{padding:.4rem 0;border-top:1px solid var(--line);margin:0;font-size:.95rem}
.acard li:first-child{border-top:0}
.acard li a{text-decoration:none}
.acard li.here a{font-weight:700}
.acard .hours{font-size:.9rem;color:var(--muted);margin:.4rem 0 0}
.person{display:flex;gap:.9rem;align-items:center}
.person img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}
.person b{display:block;color:var(--navy)}
.person small{display:block;color:var(--muted);font-size:.85rem}

/* Content blocks */
.steps{counter-reset:s;list-style:none;padding:0;margin:1.4rem 0}
.steps li{counter-increment:s;position:relative;padding:0 0 1.2rem 3.2rem;margin:0}
.steps li::before{content:counter(s);position:absolute;left:0;top:-.1rem;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:650 .95rem var(--sans)}
.steps li::after{content:"";position:absolute;left:1.08rem;top:2.3rem;bottom:.2rem;border-left:2px solid var(--line)}
.steps li:last-child::after{display:none}
.steps b{display:block;color:var(--navy);font-size:1.05rem}
.checks{list-style:none;padding:0;margin:1rem 0}
.checks li{padding-left:1.8rem;position:relative}
.checks li::before{content:"";position:absolute;left:.15rem;top:.55rem;width:.5rem;height:.9rem;border-right:2.5px solid var(--ice);border-bottom:2.5px solid var(--ice);transform:rotate(45deg)}
.callout{border-left:4px solid var(--gold);background:var(--gold-2);padding:1rem 1.2rem;border-radius:0 var(--r) var(--r) 0;margin:1.4rem 0}
.callout.blue{border-color:var(--ice);background:var(--ice-2)}
.callout p:last-child{margin:0}
.answer{background:var(--frost);border-radius:var(--r-lg);padding:1.3rem 1.4rem;margin:0 0 1.6rem;border:1px solid var(--ice-2)}
.answer .eyebrow{margin-bottom:.4rem}
.answer p{margin:0;font-size:1.08rem}
.faq{margin:1.2rem 0}
.faq details{border-top:1px solid var(--line);padding:.2rem 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:.9rem 2rem .9rem 0;font-weight:650;color:var(--navy);list-style:none;position:relative;font-size:1.03rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:.7rem;font-size:1.4rem;color:var(--ice);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 0 1rem;color:#33405a}
.faq .a p:last-child{margin-bottom:0}
.twocol{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.5rem 2.5rem}
.stat{display:flex;flex-direction:column;gap:.15rem}
.stat b{font-family:var(--display);font-size:2rem;color:var(--navy);line-height:1}
.stat span{font-size:.9rem;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.2rem;margin:1.5rem 0}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1.4rem;margin:1.5rem 0}
.team figure{margin:0}
.team img{border-radius:var(--r-lg);aspect-ratio:4/5;object-fit:cover;width:100%}
.team figcaption{padding:.8rem .2rem 0}
.team figcaption b{display:block;font-family:var(--display);font-size:1.15rem;color:var(--navy)}
.team figcaption span{color:var(--muted);font-size:.9rem}
.review{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem 1.4rem;margin:0;display:flex;flex-direction:column;gap:.6rem}
.review .stars{color:var(--gold);letter-spacing:.1em;font-size:.95rem}
.review p{margin:0;font-style:italic;color:#2b3648}
.review footer{font-size:.9rem;color:var(--muted);font-style:normal}
.review footer b{color:var(--navy);font-style:normal}
.band{background:var(--navy);color:#e6eef7;border-radius:var(--r-lg);padding:clamp(1.6rem,4vw,2.6rem);display:grid;grid-template-columns:1.3fr .7fr;gap:1.5rem;align-items:center;margin:2rem 0 0}
.band h2,.band h3{color:#fff;margin:0 0 .4rem}
.band p{margin:0;color:#cfdcea}
.band .actions{margin:0;justify-content:flex-end}
@media (max-width:760px){.band{grid-template-columns:1fr}.band .actions{justify-content:flex-start}}
.ff{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.ff .word{font-family:var(--display);font-weight:600;font-size:clamp(3rem,2rem + 5vw,6rem);line-height:.95;color:#fff;letter-spacing:-.02em;font-variation-settings:"opsz" 144,"SOFT" 60}
.ff .word span{color:#e8c76a}
.ff ul{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.7rem}
.ff li{padding-left:1.6rem;position:relative;color:#e6eef7}
.ff li::before{content:"★";position:absolute;left:0;color:#e8c76a;font-size:.85rem;top:.15rem}
@media (max-width:760px){.ff{grid-template-columns:1fr}}

/* NAP / find us */
.nap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1.4rem;margin:1.4rem 0}
.nap h3{font-size:1.05rem;margin:0 0 .4rem}
.nap p{margin:0 0 .4rem}
.nap .hours{list-style:none;padding:0;margin:0;font-size:.95rem}
.nap .hours li{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:.3rem 0;margin:0}
.nap .hours li:first-child{border-top:0}
.map{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--frost);min-height:320px;display:grid;place-items:center;text-align:center;padding:1.5rem}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map .inner{max-width:34ch;display:grid;gap:.7rem;justify-items:center}
.map .pin{width:46px;height:46px;color:var(--navy)}
.map .pin svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.map p{margin:0;font-size:.95rem;color:var(--muted)}
.directions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.2rem;margin:1.4rem 0}
.directions article{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem}
.directions h3{font-size:1.05rem;margin:0 0 .5rem}
.directions p{margin:0;font-size:.95rem;color:#33405a}
.directions .dist{display:block;font-size:.8rem;color:var(--muted);margin-top:.5rem;text-transform:uppercase;letter-spacing:.08em;font-weight:650}
.links{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
.links a{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:999px;padding:.5rem .9rem;text-decoration:none;font-size:.9rem;font-weight:600;color:var(--navy);background:#fff}
.links a:hover{border-color:var(--ice);background:var(--frost)}
.links svg{width:1em;height:1em;fill:currentColor}

/* Blog */
.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.3rem;margin:1.4rem 0;padding:0;list-style:none}
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem;display:flex;flex-direction:column;gap:.5rem}
.post-card .cat{font:650 .72rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.post-card h3{margin:0;font-size:1.2rem}
.post-card h3 a{text-decoration:none;color:var(--navy)}
.post-card p{margin:0;color:#3d4960;font-size:.96rem}
.post-card .meta{margin-top:auto;padding-top:.6rem;font-size:.85rem;color:var(--muted)}
.post-meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.9rem;color:var(--muted);margin:0 0 1.4rem;align-items:center}
.post-meta .cat{color:var(--gold);font-weight:650;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}
.byline{display:flex;gap:.8rem;align-items:center;background:var(--frost);border-radius:var(--r-lg);padding:1rem 1.2rem;margin:2rem 0}
.byline img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.byline p{margin:0;font-size:.95rem}
.sources{font-size:.92rem;color:#33405a;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem;margin:1.5rem 0}
.sources h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .5rem;font-family:var(--sans);color:var(--muted)}
.sources ul{margin:0;padding-left:1.1rem}
.sources li{margin:.25rem 0;overflow-wrap:anywhere}

/* Service areas */
.areas{columns:3;column-gap:2rem;list-style:none;padding:0;margin:1rem 0}
.areas li{break-inside:avoid;padding:.35rem 0;border-bottom:1px solid var(--line);margin:0}
.areas a{text-decoration:none;font-weight:550}
.areas small{display:block;color:var(--muted);font-size:.82rem}
@media (max-width:820px){.areas{columns:2}}
@media (max-width:520px){.areas{columns:1}}
.county-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.4rem;margin:1.4rem 0}
.court{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem}
.court h3,.court h4{margin:0 0 .35rem;font-size:1.02rem;text-transform:none;letter-spacing:0;font-family:var(--display);color:var(--navy)}
.court p{margin:0;font-size:.93rem;color:#33405a}

/* Forms */
.form{display:grid;gap:.9rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem}
.form label{display:grid;gap:.3rem;font-weight:600;font-size:.92rem;color:var(--navy)}
.form input,.form textarea,.form select{font:400 1rem var(--sans);padding:.7rem .8rem;border:1px solid #b8c4d2;border-radius:8px;width:100%;background:#fff;color:var(--ink)}
.form textarea{min-height:130px;resize:vertical}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
@media (max-width:560px){.form .row{grid-template-columns:1fr}}
.form .hp{position:absolute;left:-9999px}
.form .fine{font-size:.82rem;color:var(--muted);margin:0}

/* Footer */
.foot{background:var(--navy-3);color:#c9d6e5;padding:3.2rem 0 2rem;margin-top:0}
.foot a{color:#fff;text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot .grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
@media (max-width:900px){.foot .grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.foot .grid{grid-template-columns:1fr}}
.foot h3{color:#fff;font:650 .78rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9rem}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{margin:.35rem 0;font-size:.95rem}
.foot .brand{color:#fff;margin-bottom:.9rem}
.foot .brand .word small{color:#e8c76a}
.foot .tagline{font-family:var(--display);font-size:1.25rem;color:#fff;margin:.2rem 0 .8rem}
.foot address{font-style:normal;font-size:.95rem;line-height:1.5}
.foot .legal{border-top:1px solid rgba(255,255,255,.12);margin-top:2.4rem;padding-top:1.4rem;font-size:.82rem;color:#93a4ba;display:grid;gap:.6rem}
.foot .legal a{color:#c9d6e5}
.soc{display:flex;gap:.6rem;margin-top:.8rem}
.soc a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08)}
.soc a:hover{background:rgba(255,255,255,.18);text-decoration:none}
.soc svg{width:18px;height:18px;fill:#fff}

/* Preview-only chrome (used by the single-file preview) */
.pv-bar{position:fixed;right:16px;bottom:16px;z-index:90;display:flex;gap:.5rem}
.pv-bar button{background:var(--gold);color:#fff;border:0;border-radius:999px;padding:.7rem 1.1rem;font:650 .9rem var(--sans);cursor:pointer;box-shadow:var(--shadow)}
.pv-drawer{position:fixed;inset:0 0 0 auto;width:min(420px,100%);background:#fff;z-index:95;box-shadow:-10px 0 40px rgba(0,0,0,.2);overflow:auto;padding:1.2rem 1.4rem 2rem;display:none}
.pv-drawer.open{display:block}
.pv-drawer h2{font-size:1.2rem;margin:0 0 .4rem}
.pv-drawer h3{font:650 .75rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:1.4rem 0 .4rem}
.pv-drawer ul{list-style:none;padding:0;margin:0}
.pv-drawer li{padding:.3rem 0;border-bottom:1px solid var(--line);font-size:.93rem;margin:0}
.pv-drawer li a{text-decoration:none}
.pv-drawer .close{float:right;background:none;border:1px solid var(--line);border-radius:8px;padding:.35rem .6rem;cursor:pointer;font:600 .85rem var(--sans)}
.pv-note{background:var(--gold-2);border-bottom:1px solid #e6d5a8;color:#5a4410;font-size:.85rem;text-align:center;padding:.45rem var(--gutter)}

/* Injury-site additions */
.topbar .xsite{color:#dbe7f3;font-weight:500;text-decoration:none;white-space:nowrap}
.topbar .xsite:hover{color:#fff;text-decoration:underline}
.xsite-box{margin-top:1.1rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:.8rem .95rem;font-size:.88rem;color:#c9d6e5}
.xsite-box b{color:#fff;display:block;margin-bottom:.2rem;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.xsite-box p{margin:0}
.promises{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin:1.2rem 0 0;padding:0;list-style:none;font-weight:650;font-size:.95rem;color:var(--navy)}
.promises li{padding-left:1.5rem;position:relative}
.promises li::before{content:"";position:absolute;left:.1rem;top:.5rem;width:.45rem;height:.85rem;border-right:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(45deg)}
.hero.photo .promises{color:#fff;justify-content:center}
.hero.photo .promises li::before{border-color:#e8c76a}
@media (max-width:1100px){.hero.photo .promises{justify-content:flex-start}}
.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}
.stat b{color:var(--gold)}
.section.navy .stat b{color:#e8c76a}
.section.navy .stat span{color:#cfdcea}
.form .btn{background:var(--gold);border-color:var(--gold)}
.form .btn:hover{background:#862f18;border-color:#862f18}
.nav a.btn{background:var(--gold);border-color:var(--gold)}
.nav a.btn:hover{background:#862f18;border-color:#862f18}
.alert{border-left:4px solid var(--signal);background:#fdf1ef;padding:1rem 1.2rem;border-radius:0 var(--r) var(--r) 0;margin:1.4rem 0}
.alert p:last-child{margin:0}
.roads{columns:2;column-gap:2rem;padding-left:1.1rem}
@media (max-width:640px){.roads{columns:1}}
/* Small screens: the wordmark is long, so let it shrink and wrap instead of pushing the menu button off-screen. */
.topbar a{white-space:nowrap}
@media (max-width:720px){.topbar .tag .line{display:inline}.topbar .xsite{display:none}}
@media (max-width:640px){.hdr .wrap{gap:.6rem}.brand{gap:.5rem;min-width:0}.brand img{height:38px}.brand .word{font-size:1rem;white-space:normal;line-height:1.05}.brand .word small{font-size:.56rem;letter-spacing:.08em}}
/* Desktop header: the wordmark and seven menu items share one row inside the 1140px container, which is too narrow for both at their base sizes.
   The wordmark never shrinks under its own text, and both run a size down so the row fits at every width until the menu button takes over. */
@media (min-width:1061px){.hdr .wrap{gap:.6rem}.brand{flex-shrink:0}.brand .word{font-size:1.12rem}.brand img{height:42px}.nav a{padding:.7rem .5rem;font-size:.9rem}.nav .cta{margin-left:.4rem}}
@media (min-width:1061px) and (max-width:1140px){.brand .word{font-size:1.05rem}.brand img{height:40px}.nav a{padding:.7rem .38rem;font-size:.88rem}.nav .cta{margin-left:.25rem}}
/* Footer wordmark: let it wrap inside its column so it never runs into the next column heading. */
.foot .brand{min-width:0;flex-shrink:1}.foot .brand .word{white-space:normal}

/* ===================================================================== Page design, October 2026
   Long-form pages: a photo hero, an intro with the call box, a table of contents, sections with a photo under the H2,
   H3 accordions, a navy call-to-action panel, attorney cards and navigation cards. Built by site/design.py. */

/* Hero with the page photo */
.hero.has-photo .wrap{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;padding-top:clamp(1.8rem,4vw,3.4rem);padding-bottom:clamp(2rem,4.5vw,3.8rem)}
.hero.has-photo h1{font-size:clamp(2rem,1.3rem + 2.3vw,3rem)}
.hero-fig{margin:0;position:relative}
.hero-fig::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:2px solid var(--gold);border-radius:var(--r-lg);opacity:.35;pointer-events:none}
.hero-fig img{position:relative;border-radius:var(--r-lg);box-shadow:0 18px 40px rgba(15,42,74,.18);aspect-ratio:4/3;object-fit:cover;width:100%}
.hero .promises{margin-top:1.2rem;font-size:.9rem;color:var(--navy-2);gap:.45rem 1.2rem}
@media (max-width:820px){
  .hero.has-photo .wrap{grid-template-columns:1fr;gap:1.4rem;padding-top:1.4rem}
  .hero-fig{order:-1}
  .hero-fig::before{display:none}
  .hero-fig img{aspect-ratio:16/9}
}

/* Two columns with a sticky call box and table of contents */
.layout.long{grid-template-columns:minmax(0,1fr) 320px}
.aside.long{position:static;align-self:stretch}
.aside-stick{position:sticky;top:94px;display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 110px)}
.acard .k{font:650 .74rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 .5rem}
.acard.navy .k{color:#e8c76a}
.cta-card .big{margin:.1rem 0 .5rem}
.cta-card .blurb{margin:0 0 .9rem;font-size:.93rem;color:#cfdcea}
.cta-card .btn svg{fill:currentColor}
.mini-promises{list-style:none;padding:0;margin:.9rem 0 0;display:grid;gap:.25rem;font-size:.84rem;color:#cfdcea}
.mini-promises li{display:flex;align-items:center;gap:.45rem;border:0;padding:0}
.mini-promises svg{width:15px;height:15px;fill:none;stroke:#e8c76a;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.toc{min-height:0;display:flex;flex-direction:column}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:t;overflow:auto;min-height:0}
.toc li{counter-increment:t;margin:0;padding:0;border:0}
.toc a{display:grid;grid-template-columns:1.6rem 1fr;gap:.2rem;padding:.42rem .5rem .42rem .4rem;border-left:2px solid var(--line);font-size:.86rem;line-height:1.35;color:#3d4960;text-decoration:none}
.toc a::before{content:counter(t,decimal-leading-zero);font:650 .72rem/1.6 var(--sans);color:#9aa6b8;letter-spacing:.04em}
.toc a:hover{background:var(--frost);color:var(--navy)}
.toc a.active{border-left-color:var(--gold);color:var(--navy);font-weight:650;background:linear-gradient(90deg,var(--gold-2),transparent)}
.toc a.active::before{color:var(--gold)}
.accall{margin:.7rem 0 0;align-self:flex-start;background:none;border:1px solid var(--line);border-radius:999px;padding:.4rem .8rem;font:600 .8rem var(--sans);color:var(--navy);cursor:pointer}
.accall:hover{border-color:var(--ice);background:var(--frost)}
@media (max-width:920px){.layout.long{grid-template-columns:1fr}.aside.long{display:none}}

/* Mobile table of contents */
.toc-m{display:none;margin:1.6rem 0 0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper-2)}
.toc-m.always{display:block}
.toc-m summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;font:650 .8rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.toc-m summary::-webkit-details-marker{display:none}
.toc-m ol{margin:0;padding:.2rem 1.1rem 1rem 2.4rem;font-size:.95rem}
.toc-m li{margin:.35rem 0}
.toc-m a{text-decoration:none;color:var(--navy-2)}
@media (max-width:920px){.toc-m{display:block}}

/* Intro */
.prose.long{max-width:none}
.intro>p,.intro .intro-cta,.sec-intro,.acc-group,.sec>h2,.sec-fig{max-width:760px}
.lead-p{font-size:1.13rem;line-height:1.65;color:#25314a}
.intro .answer{max-width:760px}
.intro-cta{display:flex;gap:1rem;align-items:center;background:var(--gold-2);border:1px solid #f1cfc2;border-radius:var(--r-lg);padding:1rem 1.2rem;margin:1.4rem 0 0}
.intro-cta p{margin:0;font-weight:500;color:#3a2a24}
.intro-cta a{color:var(--gold);font-weight:700;white-space:nowrap}
.intro-cta .ic{flex:none;width:46px;height:46px;border-radius:50%;background:var(--gold);display:grid;place-items:center}
.intro-cta .ic svg{width:22px;height:22px;fill:#fff}

/* Sections */
.sec{margin-top:3rem;padding-top:2.4rem;border-top:1px solid var(--line)}
.sec>h2,.cta-text>h2{margin-top:0;position:relative}
.sec>h2::before{content:"";display:block;width:44px;height:3px;border-radius:3px;background:var(--gold);margin:0 0 .9rem}
.sec-fig{margin:.4rem 0 1.4rem}
.sec-fig img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow);background:var(--frost)}
.sec-intro>*:last-child{margin-bottom:0}

/* Accordions: the H3 stays a real heading inside the summary */
.acc-group{margin:1.6rem 0 0;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.acc{border-top:1px solid var(--line)}
.acc:first-child{border-top:0}
.acc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;transition:background .15s ease}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary:hover{background:var(--frost)}
.acc>summary h3{margin:0;font-size:1.1rem;line-height:1.3;color:var(--navy)}
.acc.q>summary h3::before{content:"Q";display:inline-grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:6px;background:var(--ice-2);color:var(--navy);font:700 .78rem/1 var(--sans);margin-right:.6rem;vertical-align:.12em}
.chev{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);position:relative;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.chev::before{content:"";position:absolute;left:50%;top:45%;width:8px;height:8px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:translate(-50%,-50%) rotate(45deg)}
.acc[open]>summary{background:var(--paper-2)}
.acc[open]>summary .chev,.toc-m[open] .chev{transform:rotate(180deg);background:var(--navy);border-color:var(--navy)}
.acc[open]>summary .chev::before,.toc-m[open] .chev::before{border-color:#fff}
.toc-m .chev{width:26px;height:26px}
.acc-body{padding:.3rem 1.2rem 1.2rem}
.acc-body>*:last-child{margin-bottom:0}
.acc-body h4{margin:1.3rem 0 .45rem;font-size:.82rem;color:var(--gold);letter-spacing:.1em}
.acc-body h5{font:650 1rem/1.35 var(--sans);color:var(--navy);margin:1.1rem 0 .4rem;padding-left:.8rem;border-left:3px solid var(--ice-2)}
.acc-body h6{font:650 .95rem var(--sans);color:var(--navy);margin:1rem 0 .3rem}

/* Call-to-action section */
.sec-cta{background:var(--navy);color:#dfe8f2;border:0;border-radius:20px;padding:clamp(1.6rem,4vw,2.6rem);margin-top:3.2rem;display:grid;gap:1.6rem 2.2rem;align-items:center;position:relative;overflow:hidden}
.sec-cta::after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(232,199,106,.16),transparent 70%);pointer-events:none}
.sec-cta.has-fig{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.sec-cta h2{color:#fff}
.sec-cta h2::before{content:"";display:block;width:44px;height:3px;border-radius:3px;background:#e8c76a;margin:0 0 .9rem}
.sec-cta p{color:#dfe8f2}
.sec-cta a{color:#fff}
.sec-cta .sec-intro a[href^="tel:"]{color:#e8c76a;font-weight:700}
.sec-cta .actions{margin-top:1.4rem}
.sec-cta .btn.light{color:var(--navy)}
.btn.on-dark{color:#fff;border-color:rgba(255,255,255,.6);background:transparent}
.btn.on-dark:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.btn.on-dark svg{fill:currentColor}
.sec-cta .sec-fig{margin:0;max-width:none;align-self:stretch;position:relative;z-index:1}
.sec-cta .sec-fig img{height:100%;min-height:260px;aspect-ratio:auto;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.sec-cta .acc-group{grid-column:1/-1;color:var(--ink)}
@media (max-width:1100px){.sec-cta.has-fig{grid-template-columns:1fr}.sec-cta .sec-fig{order:-1}.sec-cta .sec-fig img{aspect-ratio:16/9;min-height:0}}
/* beside the sidebar the panel is too narrow for two columns, so the photo becomes a banner above the text */
.layout.long .sec-cta.has-fig{grid-template-columns:1fr}
.layout.long .sec-cta .sec-fig{order:-1;align-self:auto}
.layout.long .sec-cta .sec-fig img{aspect-ratio:16/9;height:auto;min-height:0}

/* Attorneys and navigation cards after the copy */
.ex-title{font-family:var(--display);font-weight:600;font-size:1.35rem;color:var(--navy);margin:2.6rem 0 1rem;font-variation-settings:"opsz" 72,"SOFT" 30}
.ex-title.center{text-align:center}
.attys{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem;margin:0}
.atty{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.1rem;text-decoration:none;color:var(--ink);transition:box-shadow .15s ease,transform .15s ease}
.atty:hover{box-shadow:var(--shadow);transform:translateY(-2px);color:var(--ink)}
.atty .hs{width:76px;height:76px;border-radius:50%;object-fit:cover;flex:none;border:3px solid var(--frost)}
.atty b{display:block;font-family:var(--display);font-size:1.1rem;color:var(--navy)}
.atty small{display:block;color:var(--gold);font-size:.8rem;font-weight:600;margin:.1rem 0 .4rem;line-height:1.35}
.atty .bio{display:block;font-size:.9rem;color:#3d4960;line-height:1.5}
.pcards{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:1rem}
.pcards.three{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.pcards.four{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
/* two or four cards fill one row rather than leaving an orphan */
@media (min-width:600px){.pcards.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.pcards.n4{grid-template-columns:repeat(4,minmax(0,1fr))}.pcards.n4 .t{font-size:.9rem;padding:.65rem .75rem}}
.pcards li{margin:0}
.pcards a{display:block;position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;background:var(--navy-2);text-decoration:none;box-shadow:0 6px 18px rgba(15,42,74,.10)}
.pcards img,.pcards .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.pcards .ph{background:linear-gradient(135deg,var(--navy-2),var(--ice))}
.pcards a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,55,0) 35%,rgba(11,31,55,.88) 100%)}
.pcards .t{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:.8rem .95rem;color:#fff;font:650 1rem/1.25 var(--sans);display:flex;justify-content:space-between;align-items:flex-end;gap:.5rem}
.pcards .t::after{content:"→";font-weight:400;opacity:.85;transition:transform .2s ease}
.pcards a:hover img{transform:scale(1.05)}
.pcards a:hover .t::after{transform:translateX(3px)}
.qlist{list-style:none;padding:0;margin:.4rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:.1rem 1.6rem}
.qlist li{margin:0;border-bottom:1px solid var(--line)}
.qlist a{display:flex;justify-content:space-between;gap:.8rem;padding:.7rem 0;text-decoration:none;font-weight:550;color:var(--navy-2);font-size:.97rem}
.qlist a::after{content:"→";color:var(--gold)}
.qlist a:hover{color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0}
.chips a{border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;text-decoration:none;font-size:.9rem;font-weight:600;color:var(--navy);background:#fff}
.chips a:hover{border-color:var(--gold);color:var(--gold)}
.atty-block,.explore{border-top:1px solid var(--line);margin-top:3rem}
.explore .ex-title,.atty-block .ex-title{margin-top:2rem}

/* Home page bands */
main.home .hsec{padding:clamp(2.6rem,5vw,4.4rem) 0}
main.home .hsec.tint{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
main.home .hsec.sec{margin:0;border-top:0}
main.home .hsec.tint.sec{border-top:1px solid var(--line)}
main.home .intro-band{padding-bottom:1rem}
main.home .intro>p,main.home .intro .intro-cta,main.home .sec-intro,main.home .acc-group,main.home .hsec h2{max-width:780px}
main.home .hsec .pcards,main.home .hsec .attys{margin:1.8rem 0 .4rem}
main.home .cta-band{padding:1rem 0 clamp(2.6rem,5vw,4.4rem)}
main.home .cta-band .sec-cta{margin-top:0}
/* Home closing panel: the firm photo runs edge to edge across the top, anchored high so every face stays in frame,
   and the four paragraphs sit in two columns under the heading, each paragraph whole. One column below 900px. */
main.home .cta-band .sec-cta{--pad:clamp(1.6rem,4vw,2.6rem);padding:var(--pad)}
main.home .cta-band .sec-cta.has-fig{grid-template-columns:1fr;row-gap:0}
main.home .cta-band .sec-cta .sec-fig{order:-1;align-self:auto;margin:calc(-1*var(--pad)) calc(-1*var(--pad)) clamp(1.6rem,3vw,2.2rem)}
main.home .cta-band .sec-cta .sec-fig img{aspect-ratio:5/2;height:auto;min-height:0;object-position:center 6%;border-radius:0;box-shadow:none}
main.home .cta-band .sec-cta .cta-text>h2{max-width:none}
main.home .cta-band .sec-cta .sec-intro{max-width:none;columns:2;column-gap:clamp(2rem,4vw,3.2rem)}
main.home .cta-band .sec-cta .sec-intro p{break-inside:avoid}
@media (max-width:900px){main.home .cta-band .sec-cta .sec-intro{columns:1;max-width:62ch}}
@media (max-width:760px){main.home .cta-band .sec-cta .sec-fig img{aspect-ratio:16/9;object-position:center 10%}}
.reviews-band{background:var(--frost);border-top:1px solid var(--ice-2);border-bottom:1px solid var(--ice-2);padding:clamp(2.4rem,5vw,3.8rem) 0}
.reviews-band .ex-title{margin-top:0}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1.1rem;margin:1.2rem 0}
.reviews-band .small{margin:0}

/* Header: wide dropdowns, mobile submenus, reading bar */
.nav .sub.wide{min-width:470px;display:none;grid-template-columns:1fr 1fr;column-gap:.3rem}
.nav .has-sub:hover .sub.wide,.nav .has-sub:focus-within .sub.wide{display:grid}
.nav .sub.wide .all{grid-column:1/-1}
.sub-toggle{display:none}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;pointer-events:none}
.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),#d4643f);transition:width .1s linear}
@media (max-width:1060px){
  .nav .has-sub{display:grid;grid-template-columns:1fr auto;align-items:center}
  .nav .sub,.nav .sub.wide{display:none;grid-column:1/-1;min-width:0;grid-template-columns:1fr}
  .nav .has-sub.open .sub{display:flex}
  .nav .has-sub:hover .sub.wide,.nav .has-sub:focus-within .sub.wide{display:none}
  .nav .has-sub.open .sub.wide{display:flex}
  .sub-toggle{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}
  .sub-toggle span{width:8px;height:8px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s ease}
  .has-sub.open .sub-toggle span{transform:rotate(225deg) translate(-2px,-2px)}
}

/* Phone bar on small screens, and back to top */
.mbar{display:none}
@media (max-width:760px){
  body{padding-bottom:64px}
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(15,42,74,.12);padding:.5rem .6rem calc(.5rem + env(safe-area-inset-bottom));gap:.5rem}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:.45rem;border-radius:999px;padding:.72rem .5rem;font:650 .95rem/1 var(--sans);text-decoration:none;white-space:nowrap}
  .mbar-call{background:var(--navy);color:#fff}
  .mbar-call svg{width:17px;height:17px;fill:currentColor}
  .mbar-cta{background:var(--gold);color:#fff}
}
.totop{position:fixed;right:18px;bottom:18px;z-index:70;width:44px;height:44px;border-radius:50%;background:var(--navy);display:grid;place-items:center;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}
.totop.show{opacity:.92;pointer-events:auto;transform:none}
.totop svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){.totop{bottom:78px;right:12px;width:40px;height:40px}}

/* Print every section open */
@media print{.mbar,.totop,.aside,.toc-m,.hdr,.topbar,.progress{display:none!important}details.acc>.acc-body{display:block}.acc>summary .chev{display:none}}
.atty .hs{object-position:center 18%}
.cta-card{padding:1.1rem 1.2rem}
.cta-card .big{font-size:1.45rem;margin:.1rem 0 .7rem}
.mini-promises{grid-template-columns:1fr;margin-top:.8rem}
/* Home: the H2 beside its paragraphs on wide screens, so each band uses the full width */
.pcards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.pcards.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.pcards.three,.pcards.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.explore .pcards{grid-template-columns:1fr 1fr;gap:.6rem}.explore .pcards .t{font-size:.88rem;padding:.6rem .65rem}.explore .pcards li:last-child:nth-child(odd){grid-column:1/-1}.explore .pcards li:last-child:nth-child(odd) a{aspect-ratio:16/7}}
/* in two columns an odd last card spans the row instead of sitting alone */
@media (max-width:900px){.pcards.three li:last-child:nth-child(odd),.pcards.four li:last-child:nth-child(odd){grid-column:1/-1}.pcards.three li:last-child:nth-child(odd) a,.pcards.four li:last-child:nth-child(odd) a{aspect-ratio:16/7}}
@media (max-width:460px){.pcards.three,.pcards.four{grid-template-columns:1fr 1fr;gap:.6rem}.pcards .t{font-size:.88rem;padding:.6rem .65rem}}
main.home .intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:clamp(2rem,5vw,4rem);align-items:center}
.intro-fig{margin:0;position:relative}
.intro-fig::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border-radius:var(--r-lg);background:var(--gold-2);z-index:0}
.intro-fig img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:var(--r-lg);box-shadow:0 18px 40px rgba(15,42,74,.18)}
@media (min-width:1000px){
  main.home .hsec.sec>.wrap{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);column-gap:clamp(2.4rem,5vw,4.5rem);row-gap:0;align-items:start}
  main.home .hsec.sec>.wrap>*{grid-column:2;max-width:none}
  main.home .hsec.sec>.wrap>h2{grid-column:1;grid-row:1/span 8;position:sticky;top:110px;align-self:start}
}
@media (max-width:900px){main.home .intro-grid{grid-template-columns:1fr}.intro-fig{max-width:420px}}
/* Blog posts: the H3 to H5 subheads inside an open section */
.prose.long .sec-intro h3{margin-top:1.6em}
.prose.long .sec-intro h4{margin-top:1.4em}
.prose.long .sec-intro h5{font:650 1rem/1.35 var(--sans);color:var(--navy);margin:1.2rem 0 .4rem;padding-left:.8rem;border-left:3px solid var(--ice-2)}
.explore .posts{margin-top:.4rem}
/* related posts under an article: three compact cards in one row */
@media (min-width:700px){.explore .posts{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.explore .post-card{padding:1rem}.explore .post-card .cover{margin:-1rem -1rem .4rem}.explore .post-card h3{font-size:1.02rem}.explore .post-card p{display:none}}
.post-card{transition:box-shadow .15s ease,transform .15s ease}
.post-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.post-card{overflow:hidden}
.post-card .cover{display:block;margin:-1.3rem -1.3rem .5rem;aspect-ratio:16/9;overflow:hidden;background:var(--frost)}
.post-card .cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.post-card:hover .cover img{transform:scale(1.04)}

/* ===================================================================== Visual polish, October 2026
   Fixes from the site-wide visual sweep. Design only, no copy changes. */

/* Promise check marks sit on the text baseline instead of hanging below it */
.promises li::before{top:.28em;width:.42em;height:.8em}
.checks li::before{top:.42em;height:.85em;width:.48em}

/* Breadcrumbs wrap as text, so a long last crumb never starts a line with its separator */
.crumbs ol{display:block}
.crumbs li{display:inline;margin:0}
.crumbs li+li::before{margin:0 .4rem 0 .35rem}

/* Wordmarks and short centered titles wrap in balanced lines */
.brand .word,.ex-title,.foot .tagline{text-wrap:balance}
.nw{white-space:nowrap}

/* Top bar: show only what fits, never a cut-off line. Tablets keep the cross-link and the phone,
   phones keep the promises and the phone, and the narrowest phones center the promises alone
   (the phone stays in the bar fixed to the bottom of the screen). */
@media (min-width:721px) and (max-width:860px){.topbar .tag .line{display:none}}
@media (max-width:720px){.topbar .tag .line .sep{display:none}}
@media (max-width:520px){
  .topbar .wrap{justify-content:center;min-height:34px;padding-top:.35rem;padding-bottom:.35rem}
  .topbar .wrap>a[href^="tel:"]{display:none}
  .topbar .tag{white-space:normal;overflow:visible;text-align:center;font-size:.8rem;line-height:1.35;text-wrap:balance}
}

/* Home bands: the band heading lines up with the first paragraph beside it and carries the section rule */
main.home .hsec.sec>.wrap>h2{margin-top:0}
main.home .hsec.sec>.wrap>h2::before{content:"";display:block;width:44px;height:3px;border-radius:3px;background:var(--gold);margin:0 0 .9rem}
/* review names line up across a row of quotes */
.review footer{margin-top:auto}

/* Posts that open straight into a section: no rule and gap above the first heading beside the sidebar */
@media (min-width:921px){.prose.long>.toc-m:first-child+.sec{margin-top:0;padding-top:0;border-top:0}}

/* Navigation cards after the copy: two columns under 700px, three above (four for a set of four),
   and a card left alone on the last row runs as a wide banner instead of sitting beside empty space */
.explore .pcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
@media (min-width:700px){
  .explore .pcards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
  .explore .pcards.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .explore .pcards.n4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .explore .pcards:not(.n4) li:last-child:nth-child(3n+1){grid-column:1/-1}
  .explore .pcards:not(.n4) li:last-child:nth-child(3n+1) a{aspect-ratio:3/1}
  .explore .pcards:not(.n4) li:last-child:nth-child(3n+1) .t{font-size:1.1rem;padding:1rem 1.2rem}
}
@media (max-width:699px){
  .explore .pcards .t{font-size:.88rem;padding:.6rem .65rem}
  .explore .pcards li:last-child:nth-child(odd){grid-column:1/-1}
  .explore .pcards li:last-child:nth-child(odd) a{aspect-ratio:16/7}
}

/* Blog index: three columns on wide screens, two on tablets, one on phones. When the count would leave a
   short last row, the newest post runs wide with its photo beside the text. */
.posts.idx{grid-template-columns:1fr}
@media (min-width:600px){.posts.idx{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.posts.idx{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:600px) and (max-width:999px){.posts.idx.f2>li:first-child{grid-column:1/-1}}
@media (min-width:1000px){.posts.idx.f3-2>li:first-child{grid-column:span 2}.posts.idx.f3-3>li:first-child{grid-column:1/-1}}
@media (min-width:600px) and (max-width:999px){
  .posts.idx.f2>li:first-child{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:1fr repeat(4,auto) 1fr;column-gap:1.6rem;padding:1.6rem 1.6rem 1.4rem 0}
  .posts.idx.f2>li:first-child .cover{grid-column:1;grid-row:1/-1;margin:-1.6rem 0 -1.4rem;aspect-ratio:auto;min-height:100%}
  .posts.idx.f2>li:first-child>:not(.cover){grid-column:2}
  .posts.idx.f2>li:first-child h3{font-size:1.5rem;margin:.1rem 0 .3rem}
}
@media (min-width:1000px){
  .posts.idx.f3-2>li:first-child,.posts.idx.f3-3>li:first-child{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:1fr repeat(4,auto) 1fr;column-gap:1.6rem;padding:1.6rem 1.6rem 1.4rem 0}
  .posts.idx.f3-2>li:first-child .cover,.posts.idx.f3-3>li:first-child .cover{grid-column:1;grid-row:1/-1;margin:-1.6rem 0 -1.4rem;aspect-ratio:auto;min-height:100%}
  .posts.idx.f3-2>li:first-child>:not(.cover),.posts.idx.f3-3>li:first-child>:not(.cover){grid-column:2}
  .posts.idx.f3-2>li:first-child h3,.posts.idx.f3-3>li:first-child h3{font-size:1.75rem;margin:.1rem 0 .3rem}
  .posts.idx.f3-2>li:first-child p,.posts.idx.f3-3>li:first-child p{font-size:1.04rem;line-height:1.6}
}
/* the wide card's text sits as one block, centered beside the photo */
@media (min-width:600px) and (max-width:999px){
  .posts.idx.f2>li:first-child>.cat{grid-row:2}.posts.idx.f2>li:first-child>h3{grid-row:3}.posts.idx.f2>li:first-child>p{grid-row:4}
  .posts.idx.f2>li:first-child>.meta{grid-row:5;margin-top:0;padding-top:.7rem}
}
@media (min-width:1000px){
  .posts.idx:is(.f3-2,.f3-3)>li:first-child>.cat{grid-row:2}.posts.idx:is(.f3-2,.f3-3)>li:first-child>h3{grid-row:3}
  .posts.idx:is(.f3-2,.f3-3)>li:first-child>p{grid-row:4}.posts.idx:is(.f3-2,.f3-3)>li:first-child>.meta{grid-row:5;margin-top:0;padding-top:.7rem}
}

/* A photo set on its own line in page copy (the office on Our Team) matches the other photos */
.prose p>img:only-child{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 62%;border-radius:var(--r-lg);box-shadow:var(--shadow)}

/* Phone menu: the call-to-action button reads centered */
@media (max-width:1060px){.nav .cta a.btn{text-align:center;justify-content:center}}

/* Phones: buttons in a row fill it, and stack at full width when they wrap */
@media (max-width:460px){.actions .btn{flex:1 1 auto;justify-content:center}}

/* Phones: the space kept for the fixed call bar sits inside the navy footer, not under it as a white strip */
@media (max-width:760px){body{padding-bottom:0}.foot{padding-bottom:calc(2rem + 64px + env(safe-area-inset-bottom))}}

/* Our Team on phones: two portraits across instead of four full-screen photos in a column */
@media (max-width:599px){.team{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem .8rem}.team figcaption{padding-top:.55rem}.team figcaption b{font-size:1.02rem;line-height:1.2}.team figcaption span{display:block;font-size:.82rem;line-height:1.4;margin-top:.15rem}}

/* ===================================================================== Final QA, October 2026
   Fixes from the pre-launch QA. Design and markup only, no copy changes. */

/* Footer promises stack one per line, so no line starts or ends with a separator dot */
.foot .tagline .nw{display:block}
.foot .tagline .dot{display:none}

/* Footer column labels are plain text, not headings, so the footer adds nothing to any page's outline (October 12, 2026) */
.foot .fh{color:#fff;font:650 .78rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9rem}

/* Blog index cards carry H2 titles under the H1; they keep the card title sizes */
.post-card h2{margin:0;font-size:1.2rem}
.post-card h2 a{text-decoration:none;color:var(--navy)}
@media (min-width:600px) and (max-width:999px){.posts.idx.f2>li:first-child h2{font-size:1.5rem;margin:.1rem 0 .3rem}.posts.idx.f2>li:first-child>h2{grid-row:3}}
@media (min-width:1000px){
  .posts.idx.f3-2>li:first-child h2,.posts.idx.f3-3>li:first-child h2{font-size:1.75rem;margin:.1rem 0 .3rem}
  .posts.idx:is(.f3-2,.f3-3)>li:first-child>h2{grid-row:3}
}

/* The main firm site link in the footer box is underlined, so it never relies on color alone */
.xsite-box a{text-decoration:underline;text-underline-offset:2px}

/* A link to an H3 lands with its accordion row clear of the sticky header */
.acc>summary h3[id]{scroll-margin-top:1.5rem}

/* Print: closed accordions print open (current browsers ignore display on the body of a closed details) */
@media print{details.acc::details-content{content-visibility:visible}h2,h3,h4,.acc>summary{break-after:avoid}figure,.sec-fig,.prose img{break-inside:avoid}}

/* Phone numbers never break at their hyphen; statute numbers, form names and hyphenated heading words stay on one line
   (the build wraps them in .nw); breadcrumbs avoid a one-word last line */
a[href^="tel:"]{white-space:nowrap}
.crumbs{text-wrap:pretty}

/* The call card's promises stack one per line, like the footer, so no line ends on a separator dot */
.acard .hours .nw{display:block}
.acard .hours .dot{display:none}

/* Contact hours: the day stays on one line and every time sits flush right, wrapped or not */
.nap .hours li>span:first-child{flex:none}
.nap .hours li>span:last-child{text-align:right}

/* Call-to-action bands: on wide screens the two buttons stack at one equal width */
@media (min-width:761px){.band .actions{display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch;gap:.6rem}.band .actions .btn{justify-content:center;text-align:center}}

/* Short headings, question rows and buttons wrap in balanced lines instead of leaving one word alone */
h5,h6,summary,.btn{text-wrap:balance}

/* Attorney portraits in the bio hero keep the whole head in the 4:3 and 16:10 crops */
.hero.bio figure img{object-position:center 15%}

/* Under 921px the sidebar follows the page's own call-to-action band, so its call card turns light
   instead of stacking a second navy box under the first */
@media (max-width:920px){
  .layout:not(.long) .acard.navy{background:var(--frost);color:var(--ink);border-color:var(--line)}
  .layout:not(.long) .acard.navy h3,.layout:not(.long) .acard.navy a.big{color:var(--navy)}
  .layout:not(.long) .acard.navy .btn.light{background:var(--navy);border-color:var(--navy);color:#fff}
  .layout:not(.long) .acard.navy p.hours{color:var(--muted)!important}
}

/* Related posts under an article: the compact cards put the date and the author on two lines, with no separator dot */
@media (min-width:700px){.explore .post-card .meta .dot{display:none}.explore .post-card .meta .nw{display:block}}

/* A contents list too long for the sticky sidebar fades at its bottom edge, so the scroll reads as intended
   and no entry looks cut off; the padding lets the last entry scroll clear of the fade */
.aside-stick .toc ol{padding-bottom:1.75rem;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 1.75rem),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 1.75rem),transparent);scrollbar-width:thin}
/* the space between crumbs is the break point; the separator's left margin shrinks by about that space */
.crumbs li+li::before{margin-left:.12rem}

/* Final QA, tablet and narrow-phone widths */

/* The narrowest phones: the top bar's promises wrap with check marks instead of a separator dot ending a line */
@media (max-width:389px){
  .topbar .tag .line .dot{display:none}
  .topbar .tag .line .nw{display:inline-block;margin:0 .4rem}
  .topbar .tag .line .nw::before{content:"";display:inline-block;width:.3em;height:.6em;margin:0 .45em .15em 0;border-right:2px solid #e8c76a;border-bottom:2px solid #e8c76a;transform:rotate(45deg)}
}

/* Review quotes: one column on phones, two on tablets with an odd last quote running full width, three on wide screens;
   the reviews page keeps two columns so eight quotes fill four even rows */
.rev-grid{grid-template-columns:1fr}
@media (min-width:600px){.rev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rev-grid>:last-child:nth-child(odd){grid-column:1/-1}}
@media (min-width:1000px){.rev-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rev-grid>:last-child:nth-child(odd){grid-column:auto}}
.cards.revs{grid-template-columns:1fr}
@media (min-width:600px){.cards.revs{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.revs>:last-child:nth-child(odd){grid-column:1/-1}}

/* Photo card labels stay readable over bright photos */
.pcards a::after{background:linear-gradient(180deg,rgba(11,31,55,0) 25%,rgba(11,31,55,.5) 58%,rgba(11,31,55,.92) 100%)}
.pcards .t{text-shadow:0 1px 6px rgba(0,0,0,.45)}

/* Nine practice cards on tablets: three across, so no card is left alone on a last row */
@media (min-width:600px) and (max-width:900px){.pcards.three.n9{grid-template-columns:repeat(3,minmax(0,1fr))}.pcards.three.n9 li:last-child:nth-child(odd){grid-column:auto}.pcards.three.n9 li:last-child:nth-child(odd) a{aspect-ratio:4/3}}

/* A set of four help cards beside the sidebar runs two by two, so each label sits on a photo wide enough to read */
@media (min-width:700px){.layout.long .explore .pcards.n4{grid-template-columns:repeat(2,minmax(0,1fr))}.layout.long .explore .pcards.n4 a{aspect-ratio:16/9}}

/* Legal and other one-column pages keep text at a readable line length; grids still use the full width */
.layout.single:not(.long)>.main.prose>:is(p,h2,h3,h4,blockquote,ul:not([class]),ol:not([class]),ul.checks,ol.steps,.callout){max-width:72ch}

/* Attorney bio hero on tablets and phones: a portrait-shaped photo at its own size instead of a stretched wide crop */
@media (max-width:820px){.hero.bio figure{max-width:340px}.hero.bio figure img{aspect-ratio:4/5;object-position:center 20%}}

/* Home intro portrait: centered when the band stacks, and its frame stays inside the screen on phones */
@media (max-width:900px){.intro-fig{margin-inline:auto}}
@media (max-width:460px){.intro-fig::before{inset:-8px 8px 8px -8px}}

/* Accordion titles fill their row before wrapping */
.acc>summary h3{text-wrap:pretty}

/* Contact details on tablets: office and phone side by side, hours across the full width */
@media (min-width:600px) and (max-width:1023px){.nap{grid-template-columns:repeat(2,minmax(0,1fr))}.nap>:nth-child(3):last-child{grid-column:1/-1}}

/* Footer: two columns up to small laptops, four only when each column has room */
@media (max-width:1100px){.foot .grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.foot .grid{grid-template-columns:1fr}}


/* "From the blog" on practice parents: the wide card keeps its summary */
@media (min-width:600px){.explore .posts.idx .post-card p{display:block}}
@media (min-width:1000px){.posts.idx.two{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ===================================================================== Review fixes, October 12, 2026
   The co-worker review: the short inline form, "Se habla español" in the top bar, and the footer disclosures. */

/* Top bar: "Se habla español" sits beside the phone and links the Spanish page */
.topbar .es-note{margin-left:auto;color:#e8c76a;font-weight:600;white-space:nowrap}
.topbar a.es-note:hover{color:#fff;text-decoration:underline}
.topbar .es-note+a[href^="tel:"]{padding-left:1rem;border-left:1px solid rgba(255,255,255,.22)}
/* Each width still shows only what fits in full. Small laptops and tablets show the cross-link, Se habla español and the
   phone. Phones show the promises and Se habla español, and the phone stays in the bar fixed to the bottom of the screen. */
@media (min-width:721px) and (max-width:1023px){.topbar .tag .line{display:none}}
@media (max-width:720px){.topbar .wrap>a[href^="tel:"]{display:none}}
@media (max-width:600px){.topbar .wrap{column-gap:.6rem}.topbar .es-note{font-size:.8rem}}
@media (max-width:520px){.topbar .wrap{flex-wrap:wrap;column-gap:.9rem;row-gap:.15rem}.topbar .es-note{margin-left:0;font-size:.8rem;line-height:1.35}}

/* The short free-case-review form after the intro of the home, practice and county pages */
.iform-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:1.3rem 1.4rem 1.4rem;margin:1.6rem 0 0;max-width:760px}
.iform-card .k{font:650 .74rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 .45rem}
.iform-card .iform-blurb{margin:0 0 1rem;color:#25314a;font-size:1rem;line-height:1.55}
.form.iform{border:0;border-radius:0;padding:0;background:none;gap:.8rem}
.form .row.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.form.iform textarea{min-height:92px}
.iform-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.4rem}
.iform-foot .fine{max-width:46ch}
.iform-foot .btn{flex:none}
@media (max-width:700px){.form .row.three{grid-template-columns:1fr 1fr}.form .row.three>label:last-child{grid-column:1/-1}}
@media (max-width:560px){.form .row.three{grid-template-columns:1fr}.iform-foot{flex-direction:column;align-items:stretch}.iform-foot .btn{justify-content:center}.iform-foot .fine{max-width:none}}
/* The row follows the form's own width, since the sidebar and the home band narrow it at widths the viewport rules miss */
.form.iform{container-type:inline-size}
@container (max-width:540px){.iform .row.three{grid-template-columns:1fr 1fr}.iform .row.three>label:last-child{grid-column:1/-1}}
@container (max-width:380px){.iform .row.three{grid-template-columns:1fr}}
@supports (-webkit-touch-callout:none){.form input[type=date]{-webkit-appearance:none;appearance:none;min-height:2.95rem}.form input[type=date]::-webkit-date-and-time-value{text-align:left}}

/* Home: the form runs in its own band, text beside the fields on wide screens */
main.home .form-band{padding:clamp(2rem,4vw,3.2rem) 0}
main.home .form-band .iform-card{max-width:none;margin:0}
@media (min-width:900px){
  main.home .form-band .iform-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);column-gap:clamp(1.8rem,4vw,3.2rem);align-items:start;padding:1.8rem 2rem}
  main.home .form-band .iform-text{align-self:center}
  main.home .form-band .iform-blurb{font-family:var(--display);font-size:1.4rem;line-height:1.35;color:var(--navy);margin:0}
}

@media print{.iform-card{display:none}}
