/* ═══════════════════════════════════════════════════════════════════
   PLDR · PHONE LAYER (≤680px) · 2026-09-30 mobile redesign
   Loaded after every page-level <style>, so these rules win on phones.
   Principle: one idea per screen, one CTA per section, one 22px gutter,
   8px spacing scale, no desktop decoration that doesn't earn its pixels.
   ═══════════════════════════════════════════════════════════════════ */
:root{--m-gutter:22px;--m-s1:8px;--m-s2:16px;--m-s3:24px;--m-s4:32px;--m-s5:48px;--m-s6:56px;--m-s7:64px}

/* ── Shared: type + rhythm ────────────────────────────────────────── */
.pad-hero h1,.pa-hero h1,.seo-hero h1{letter-spacing:-.035em}
.pad-breadcrumb,.pad-meta-card h3,.pad-meta-stat .k,.pa-card-num,.pa-attorney-meta,.pad-att-card .meta,.seo-att-card .role,.seo-eyebrow,.seo-pull cite{font-size:.7rem;letter-spacing:.14em}
.pa-attorneys,.pad-related,.pad-attorneys,.pad-faq,.seo-att,.seo-faq{padding:56px 0}
.pa-next,.pad-cta,.seo-cta,.seo-pull{padding:64px 0}
.pad-section{padding:56px 0 !important}

/* ── A3: one CTA band per page — the footer's "last word" band hides when the page has its own ── */
body:has(.pad-cta,.pa-next,.seo-cta,.ap2-final,.sf-final,.office-cta) .ft-cta{display:none}

/* ── B: /practice-areas.html ─────────────────────────────────────── */
.pa-hero{padding:88px 0 40px}
.pa-stats{display:none}
.pa-filter{padding:12px 0;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}
.pa-filter .container{gap:0}
.pa-filter-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -22px;padding:0 22px}
.pa-filter-tabs::-webkit-scrollbar{display:none}
.pa-tab{flex:0 0 auto;padding:10px 14px;min-height:40px;font-size:.66rem}
.pa-search{display:none}
.pa-bucket-num,.pa-bucket-meta{display:none}
.pa-bucket-head{margin-bottom:24px;padding-bottom:16px}
.pa-grid{gap:10px}
.pa-card{display:grid;grid-template-columns:96px 1fr;gap:0 16px;min-height:0;padding:0;border-radius:14px;align-items:center;opacity:1;transform:none;transition:none}
.pa-card-thumb{aspect-ratio:1/1;height:100%;border-bottom:0;border-right:1px solid var(--hairline)}
.pa-card-thumb::after,.pa-card-thumb-icon,.pa-card-num,.pa-card-link{display:none}
.pa-card-body{padding:14px 16px 14px 0;gap:4px}
.pa-card h3{margin:0;font-size:1.05rem;line-height:1.2}
.pa-card-desc{font-size:.86rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pa-section{padding:48px 0 0}
.pa-section:last-of-type{padding-bottom:56px}
.pa-attorney-grid{display:flex;gap:10px;overflow-x:auto;margin:0 -22px;padding:0 22px 8px;scrollbar-width:none}
.pa-attorney-grid::-webkit-scrollbar{display:none}
.pa-attorney-card{flex:0 0 150px;padding:16px}
.pa-attorney-avatar{width:64px;height:64px}
.pa-attorney-meta{font-size:.62rem}
.pa-attorneys{padding:64px 0}
.pa-flow{display:none}
.pa-next{padding:64px 0}
.pa-next-actions{flex-direction:column}
.pa-next .btn{width:100%;justify-content:center}
.pa-next .btn-ghost{display:none}

/* ── A2 + C: practice pages (layouts/practice.njk) ───────────────── */
.pad-hero-media{margin:28px 0 0 !important;aspect-ratio:4/3 !important;width:100% !important}
.pad-breadcrumb{display:none}
.pad-hero{padding:88px 0 0}
.pad-hero h1{font-size:clamp(2.1rem,9vw,2.5rem);margin:12px 0 16px}
.pad-hero .lead{font-size:1.02rem;line-height:1.55}
.pad-meta-card{padding:18px 20px;gap:0;border-radius:14px;margin-top:8px}
.pad-meta-card h3{font-size:.7rem;margin-bottom:6px}
.pad-meta-card .pad-meta-stat{flex-direction:column;align-items:flex-start;gap:2px;padding:10px 0}
.pad-meta-card .pad-meta-stat .k{font-size:.66rem}
.pad-meta-card > p{display:none}
.pad-label .num{display:none}
.pad-label .title br{display:none}
.pad-label{margin-bottom:12px}
.pad-label .title{font-size:1.35rem}
.pad-services li{padding:11px 0;font-size:.95rem;line-height:1.45}
.pad-services li.grp{border-top:0;padding:18px 0 6px;font-weight:700;color:var(--ink);font-family:var(--font-display)}
.pad-services li.grp::before{display:none}
.pad-if li{border:0;background:none;padding:8px 0 8px 34px;border-radius:0}
.pad-if li::before{left:0;width:22px;height:22px}
.pad-if li::after{left:5px}
.pad-body-figure figcaption{display:none}
.pad-body-figure{aspect-ratio:3/2}
.pad-faq{padding:56px 0}
.pad-faq-head .head-label{display:none}
.pad-faq-head{margin-bottom:8px;padding-bottom:0;border-bottom:0}
.pad-faq-items{gap:0}
.pad-faq-item summary{padding:16px 40px 16px 0;font-size:1rem}
.pad-faq-item summary::after{top:16px}
.pad-faq-foot{font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:.86rem;line-height:1.5;padding:14px 16px;margin-top:20px}
.pad-related-card{padding:20px;min-height:0}
.pad-related-card .tag,.pad-related-card .arrow{display:none}
.pad-att-card{display:grid;grid-template-columns:88px 1fr;gap:0 16px;padding:16px;align-items:center}
.pad-att-card .pad-att-avatar{aspect-ratio:1/1;border-radius:12px;border:0}
.pad-att-card h3{margin:0;font-size:1.05rem}
.pad-att-card .meta{font-size:.62rem}
.pad-att-card .role{font-size:.86rem;line-height:1.45;grid-column:1/-1;margin-top:4px}
.pad-cta .eyebrow{display:none}
.pad-cta{padding:64px 0}
.pad-cta .btn-ghost{display:none}

/* ── D: SEO landing / answer pages (layouts/seo-landing.njk) ─────── */
.seo-eyebrow{letter-spacing:.18em;font-size:.66rem;gap:10px;margin-bottom:18px}
.seo-eyebrow::before{width:28px}
.seo-hero{min-height:auto}
.seo-hero .container{padding:150px 22px 40px}
.seo-bar{display:none}
.seo-side{gap:12px}
.seo-side-card:last-child{display:none}
.seo-side-card .btn{display:flex;justify-content:center;width:100%;padding:14px}
.seo-body{padding:56px 0 48px}
.seo-prose h2{margin:36px 0 12px}
.seo-break{height:220px;min-height:0}
.seo-break-meta{display:none}
.seo-att{padding:56px 0}
.seo-att-head{margin-bottom:24px}
.seo-att-card{display:grid;grid-template-columns:56px 1fr;gap:4px 14px;padding:16px}
.seo-att-card .photo{width:56px;height:56px;grid-row:1/3}
.seo-att-card .desc{grid-column:1/-1;font-size:.88rem}
.seo-att-card .arr{display:none}
.seo-pull{padding:56px 0;background:var(--ink)}
.seo-pull-bg{display:none}
.seo-pull blockquote{font-size:1.5rem;line-height:1.3}
.seo-pull-eyebrow{display:none}
.seo-faq{padding:56px 0}
.seo-faq-q{padding:16px 18px;font-size:1rem}
.seo-faq-list{gap:8px}
.seo-cta{padding:64px 0}
.seo-cta-actions{flex-direction:column}
.seo-cta-actions .btn-primary{width:100%;justify-content:center}
.seo-cta-actions .btn-ghost{display:none}

/* ═══ MOBILE SYSTEM · one gutter, one rhythm, one type scale (art direction 2026-09-30) ═══ */
:root{--m-1:4px;--m-2:8px;--m-3:12px;--m-4:16px;--m-5:24px;--m-6:32px;--m-7:48px;--m-8:64px;--m-section:64px;--m-section-sm:56px;--m-h1:clamp(2.25rem,9.4vw,2.5rem);--m-h2:clamp(1.75rem,7.6vw,1.875rem);--m-h3:1.25rem;--m-body:1.0625rem;--m-label:.6875rem;--m-radius:16px}
/* 1 · Gutter */
.container,.container-narrow,.container-tight,.manifesto-inner,.h-essay-head,.h-essay-track,.h-essay-foot,.flow-intro,.flow-stack,.h-roster-head,.h-roster-rail,.h-roster-foot,.va-reach-inner,.h-stats-inner,.ft-service-area,.ft-legal-disclaimer,.site-footer-bottom,.th-content,.about-rail-track{padding-left:var(--m-gutter)!important;padding-right:var(--m-gutter)!important}
/* 2 · Rhythm */
main>section{padding-top:var(--m-section)!important;padding-bottom:var(--m-section)!important}
main>section.hero,main>section.team-hero,main>section.about-hero-cine,main>section.ap2-opening,main>section.sf-opening{padding-top:0!important;padding-bottom:0!important}
.editorial-pullquote,.team-work-together,.about-numbers{padding-top:var(--m-section-sm)!important;padding-bottom:var(--m-section-sm)!important}
/* 3 · Type */
p,.lead,.descriptor,.intent-sub,.hgc-body,.flow-card p,.process-step p,.h-stat-label,.about-value p,.community-card p{font-size:var(--m-body)!important;line-height:1.55!important}
h1,.ahc-h1,.team-hero h1{font-size:var(--m-h1)!important;line-height:1.02!important;letter-spacing:-.035em!important}
h2,.manifesto h2,.intents-head h2,.h-essay-head h2,.flow-h2,.hgc-h3,.process-head h2,.h-roster-h2,.va-reach-h2,.band h2,.h-voices h2,.recent-head h2,.final-cta h2,.ft-cta-headline,.rec-headline,.about-feature h2,.about-values h2,.about-story h2,.about-locations h2,.about-build h2,.about-community h2,.about-cta h2,.rail-intro h2,.section-eyebrow h2,.tm-voices h2,.team-work-together h2,.team-join h2{font-size:var(--m-h2)!important;line-height:1.08!important;letter-spacing:-.03em!important;margin-top:var(--m-3)!important;margin-bottom:var(--m-4)!important}
h3,.intent-card h3,.flow-card h3,.about-value h3,.attorney-card-body h3,.office-name{font-size:var(--m-h3)!important;line-height:1.2!important}
/* 4 · Labels */
.eyebrow,.hero-tag,.manifesto-eyebrow,.flow-eyebrow,.flow-num,.intent-num,.step-num,.h-roster-eyebrow,.va-reach-eyebrow,.hgc-eyebrow,.hh-feature-eyebrow,.rec-eyebrow,.role-pill,.post-meta,.about-value-num,.about-feature-eyebrow,.rail-intro .eyebrow-r,.community-card-tag,.about-loc-card-tag,.section-eyebrow .meta,.ft-cta-eyebrow,.ft-grid h3,.ft-service-eyebrow,.oc-h,.office-eyebrow,.team-hero-jointag,.attorney-card-foot .practice,.staff-card-foot .focus,.tm-voice-card .who .role,.h-stat-top,.va-reach-stat .l,.team-join-stat .label,.ts-label{font-size:var(--m-label)!important;letter-spacing:.14em!important;line-height:1.4!important}
.eyebrow::before,.hero-tag::before,.manifesto-eyebrow::before,.about-feature-eyebrow::before,.rail-intro .eyebrow-r::before,.hh-feature-eyebrow .hh-rule,.h-roster-eyebrow::before,.va-reach-eyebrow::before,.ft-grid h3::before{display:none!important}
.eyebrow{gap:0!important;padding-left:0!important}
/* 5 · Alignment */
.intents-head,.process-head,.about-values-head,.about-build .container,.about-cta .container,.team-work-together .container,.final-cta .container,.flow-intro,.band .container,.th-content{text-align:left!important}
.eyebrow.center,.eyebrow.no-line{justify-content:flex-start!important}
.intents-head .lead,.process-head h2,.about-cta p,.team-work-together p{margin-left:0!important;margin-right:0!important}
/* 6 · Buttons: full width, ≤2 per group */
.btn{display:flex!important;width:100%!important;justify-content:center!important;min-height:52px!important;padding:14px 20px!important;font-size:.95rem!important;border-radius:999px!important}
.hero-actions,.intents-cta,.process-cta,.va-reach-cta,.band-actions,.about-cta-actions,.team-join-actions,.ahc-ctas,.final-cta .reveal.delay-3{display:flex!important;flex-direction:column!important;gap:var(--m-3)!important;width:100%!important;max-width:none!important;margin-top:var(--m-6)!important}
.hero-actions .btn:nth-child(n+3),.intents-cta .btn:nth-child(n+3),.process-cta .btn:nth-child(n+3),.va-reach-cta .btn:nth-child(n+3),.band-actions .btn:nth-child(n+3){display:none!important}
/* 7 · Cards */
.intent-card,.process-step,.post-card,.office-card,.h-voice,.tm-voice-card,.about-value,.community-card,.about-loc-card,.attorney-card,.staff-card,.flow-card-inner,.hh-plate-frame{border-radius:var(--m-radius)!important}
.intent-card,.process-step,.office-card,.h-voice,.tm-voice-card,.about-value,.about-loc-card,.post-card-body,.community-card-body,.attorney-card-body,.staff-card-body,.flow-card-body{padding:var(--m-5) var(--m-gutter)!important}
/* 8 · Stats: 2×2 */
.h-stats-inner,.va-reach-stats,.team-stat-strip,.about-numbers-grid,.team-join-stats{grid-template-columns:1fr 1fr!important;gap:var(--m-5) var(--m-4)!important}
.h-stat:nth-child(n+5){display:none!important}
/* 9 · Chrome — the header keeps its own compact rules; the full-width .btn rule must not un-hide its CTA */
.site-header .btn,.site-cta .btn-ink{display:none!important}
.mobile-nav .btn,.pca-panel .btn{width:auto!important;min-height:0!important;display:inline-flex!important}
.site-header-inner{background:rgba(251,248,244,.96)!important}
.a11y-toggle{width:40px!important;height:40px!important;opacity:.85}
/* 10 · Footer compaction */
.ft-signature,.ft-service-area,.ft-brand p,.ft-tagline,.ft-brand-cta,.ft-brand-socials,.ft-col-practice,.ft-office-fax{display:none!important}
.ft-grid{padding:var(--m-7) 0 var(--m-6)!important;gap:var(--m-6)!important;margin-bottom:0!important}
.ft-grid h3{margin-bottom:var(--m-3)!important}
.ft-col ul li a{min-height:40px;display:flex;align-items:center}
.ft-col h3[style]{margin-top:var(--m-5)!important}
.ft-cta{padding:var(--m-section) 0!important}
.ft-cta-primary{width:100%;justify-content:center}
.ft-legal-disclaimer{padding-top:var(--m-5)!important;padding-bottom:var(--m-3)!important;margin-bottom:0!important}
.ft-legal-disclaimer p{font-size:.75rem!important;line-height:1.55!important}
.site-footer-bottom{padding-top:var(--m-4)!important;padding-bottom:var(--m-5)!important;margin-bottom:0!important;font-size:.72rem!important;letter-spacing:.06em!important}
/* 11 · One closer per page: page-level closing bands drop; the footer's .ft-cta is the closer — except where a page keeps its own specific band (rule earlier in this file). */
.final-cta,.about-cta{display:none!important}
/* hover-only copy has no meaning on touch */
@media (hover:none){.hint-fine,.meta-hint,.h-essay-foot,.ap2-essay-foot,.og-hint,.rail-scrollhint{display:none!important}}

/* ═══ HOME ═══ */
.hero-marquee-wrap,.hero-trust-slim{display:none!important}
.hero{padding-bottom:0!important}
.hero-content{padding:112px 0 48px!important}
.hero-actions{flex-direction:column!important;max-width:none!important}
main#main{display:flex;flex-direction:column}
main#main>*{order:50}
main#main>.hero{order:1}main#main>.intents{order:2}main#main>.flow{order:3}main#main>.h-honors{order:4}main#main>.h-roster{order:5}main#main>.h-voices{order:6}main#main>.va-reach{order:7}main#main>.process{order:8}
.manifesto,.h-essay,.h-grow-callout,.h-stats,.band,.recent{display:none!important}
.intents-head .eyebrow{display:none!important}
.intents-head h2{margin-top:0!important}
.intent-card{padding:var(--m-5) var(--m-gutter)!important;gap:var(--m-2)!important}
.intent-num{margin-bottom:var(--m-2)}
.intents-cta .btn-ghost-light{display:none!important}
.intents-cta{margin-top:var(--m-6)!important}
.flow-intro{padding-bottom:var(--m-6)!important;text-align:left!important}
.flow-eyebrow{justify-content:flex-start!important}
.flow-card .flow-card-media{min-height:150px!important;max-height:190px}
.flow-card-body{padding:var(--m-5) var(--m-gutter)!important}
.flow-num{margin-bottom:var(--m-3)!important}
.flow-card h3{margin-bottom:var(--m-3)!important}
.hh-plate-credit,.hh-plate-cap,.hh-feature-meta,.rec-controls,.hh-feature-eyebrow{display:none!important}
.hh-plate-frame{aspect-ratio:4/5;max-height:440px;overflow:hidden}
.hh-plate-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.hh-feature-head{margin-bottom:var(--m-4)!important;padding-bottom:0!important;border:0!important}
.rec-body{font-size:var(--m-body)!important}
.hh-dropcap{font-size:2.6rem!important}
.hh-feature-link{padding:var(--m-2) 0!important}
.h-roster-meta-tag,.h-roster-progress{display:none!important}
.h-roster-meta{padding-top:0!important;margin-top:var(--m-4)!important;border:0!important}
.h-roster-head{padding-bottom:var(--m-5)!important}
.h-roster-card{width:min(72vw,260px)!important}
.h-voices-stack .h-voice:nth-child(2){display:none!important}
.h-voice{padding:var(--m-5) var(--m-gutter)!important}
.h-voice.featured blockquote{font-size:1.15rem!important;line-height:1.5!important}
.va-reach-h2 br{display:none}
.office-counties,.va-reach-footnote{display:none!important}
.va-reach-cta .btn-ghost{display:none!important}
.va-reach-inner{gap:var(--m-6)!important}
.office-card{padding:var(--m-5) var(--m-gutter)!important}
.process-step{padding:var(--m-4) 0!important;border:0!important;border-bottom:1px solid var(--hairline)!important;border-radius:0!important;background:none!important;min-height:0!important;gap:var(--m-1)!important}
.process-step::after,.process-ico{display:none!important}
.process-grid{gap:0!important}
.process-cta .btn-ghost{display:none!important}

/* ═══ ATTORNEY PROFILE (attorney-v3 + Sarah's fork share class names) ═══ */
.ap2-opening{height:auto!important;min-height:0!important}
.ap2-opening-bg{position:relative!important;inset:auto!important;aspect-ratio:4/5}
.ap2-opening-bg::after{background:linear-gradient(180deg,transparent 55%,#0a0807 100%)!important}
.ap2-opening-bg::before{display:none}
.ap2-opening-content{position:relative!important;top:auto!important;bottom:auto!important;padding:0 22px 40px!important;margin-top:-64px}
.ap2-opening-inner{max-width:100%!important}
.ap2-frame-meta,.ap2-scrollcue,.ap2-opening-meta .meta-right{display:none!important}
.ap2-eyebrow{font-size:.66rem!important;margin-bottom:14px!important}
.ap2-massive{font-size:clamp(2.6rem,11vw,3.2rem)!important;line-height:.95!important}
.ap2-massive .underline{height:3px;margin-top:14px}
.ap2-massive .underline.in{width:120px}
.ap2-opening-meta{gap:0}
.ap2-opening-meta .deck{font-size:1rem!important;line-height:1.5!important;margin-top:16px}
.ap2-tabs-nav{display:none!important}
.ap2-tab-panel{display:block!important;animation:none!important;padding-top:8px}
.ap2-tab-panel + .ap2-tab-panel{margin-top:40px;padding-top:32px;border-top:1px solid var(--hairline)}
.ap2-tab-panel:has(> .ap2-tab-pending:only-child){display:none!important}
.ap2-tab-panel h2{font-size:1.75rem!important;margin-bottom:18px}
.ap2-lead{font-size:1rem!important;line-height:1.6!important}
.ap2-lead::first-letter{font-size:3rem;padding-right:10px}
.ap2-tab-panel p{font-size:1rem!important;line-height:1.6!important}
.ap2-tab-panel .ap2-section-mark{margin:28px 0 14px;font-size:.66rem}
.ap2-inline-img{margin:24px 0 20px}
.ap2-inline-img-cap,.ap2-fieldnote{display:none!important}
.ap2-body{padding:48px 0 56px!important}
.ap2-body .container{gap:40px}
.ap2-sidebar{gap:28px}
.ap2-side-block h3{font-size:.7rem;margin-bottom:10px;padding-bottom:10px}
.ap2-side-item{padding:10px 0;gap:12px}
.ap2-side-ico{width:30px;height:30px}
.ap2-side-text .label{font-size:.94rem;text-transform:none}
.ap2-bar-item{padding:7px 0;font-size:.94rem}
.ap2-consult{padding:20px 22px;gap:14px}
.ap2-consult-bottom .available{font-size:.7rem}
.ap2-pullshot{min-height:0!important;height:auto!important;padding:56px 0!important}
.ap2-pullshot img{opacity:.35}
.ap2-pullshot-meta{display:none!important}
.ap2-pullshot blockquote{font-size:1.5rem!important;line-height:1.3!important}
.ap2-pullshot cite{margin-top:16px}
.ap2-info{padding:48px 0!important}
.ap2-info-num{display:none!important}
.ap2-info h3{font-size:1.6rem!important}
.ap2-info>.container>.ap2-info-block>p{display:none}
.ap2-practice-line{padding:12px 0}
.ap2-practice-line .pl-num{display:none}
.ap2-stats{display:none!important}
.ap2-voices{padding:56px 0!important}
.ap2-voices-head{margin-bottom:24px}
.ap2-voice{padding:22px 20px;gap:14px}
.ap2-voice blockquote{font-size:1rem!important;line-height:1.55!important}
.ap2-voice:first-child blockquote{font-size:1.08rem!important}
.ap2-voice .vm{font-size:.7rem}
.ap2-voice:nth-child(n+3){display:none}
.ap2-essay-row{padding:48px 0 40px!important}
.ap2-essay-head{margin-bottom:20px;padding:0 22px}
.ap2-essay-head h2{font-size:1.6rem!important}
.ap2-essay-head .meta,.ap2-essay-foot,.ap2-essay-num{display:none!important}
.ap2-essay-track{padding:0 22px;gap:10px}
.ap2-essay-card.portrait .frame,.ap2-essay-card.tall .frame{width:220px}
.ap2-essay-card.landscape .frame,.ap2-essay-card.wide .frame{width:300px}
.ap2-final{padding:56px 0 64px!important}
.ap2-final-eyebrow{display:none!important}
.ap2-final h2{font-size:1.9rem!important}
.ap2-final p{margin-bottom:24px}
.ap2-final-cta{flex-direction:column;padding:0 22px}
.ap2-cta-primary{width:100%;justify-content:center;font-family:var(--font-display);text-transform:none;letter-spacing:0;font-size:1rem}
.ap2-cta-outline{display:none!important}

/* ═══ STAFF PROFILE ═══ */
.sf-body{padding:48px 0 56px!important}
.sf-body .container{gap:40px;padding:0 22px}
.sf-num{display:none!important}
.sf-block h3{font-size:1.75rem!important;margin-bottom:14px}
.sf-block p{font-size:1rem!important;line-height:1.6!important}
.sf-focus-item{padding:12px 0;gap:12px}
.sf-focus-item .ic{width:28px;height:28px}
.sf-focus-item .body span{font-size:.86rem}
.sf-contact-line{padding:14px 0;gap:12px}
.sf-contact-line .ic{width:32px;height:32px}
.sf-contact-line .label{font-size:.7rem}
.sf-final{padding:56px 0 64px!important}
.sf-final-eyebrow{display:none!important}
.sf-final h2{font-size:1.9rem!important}
.sf-cta-row{flex-direction:column;padding:0 22px}
.sf-cta-primary{width:100%;justify-content:center;font-family:var(--font-display);text-transform:none;letter-spacing:0;font-size:1rem}
.sf-cta-outline{display:none!important}

/* ═══ /lynchburg ═══ */
.office-hero{height:auto!important;min-height:0!important;padding:140px 0 48px!important}
.office-hero-actions .btn-ghost{display:none!important}
.office-visit{padding:40px 0 56px!important}
.visit-card{padding:22px 20px}
.visit-row{padding:10px 0}
.visit-row.fax{display:none}
.visit-hours{font-family:var(--font-display);text-transform:none;letter-spacing:0;font-size:.95rem;line-height:1.5}
.visit-k{font-size:.7rem}
.visit-actions .btn-ghost{display:none!important}
.office-map{aspect-ratio:4/3;height:auto}
.office-map-cap{display:none}
.office-gallery{padding:56px 0!important}
.office-gallery .og-cap,.office-gallery .og-hint{display:none!important}
.office-team{padding:56px 0!important}
.office-team-head{margin-bottom:20px}
.office-team-head .meta{display:none}
.office-attorneys,.office-staff{grid-template-columns:1fr!important;gap:8px!important;margin-bottom:28px}
.office-team .attorney-card,.office-team .staff-card{display:grid!important;grid-template-columns:72px 1fr;gap:0 14px;align-items:center;border-radius:14px!important}
.office-team .attorney-card-img,.office-team .staff-card-img{aspect-ratio:1/1!important;height:100%}
.office-team .attorney-card-body,.office-team .staff-card-body{padding:12px 14px 12px 0!important;gap:2px}
.office-team .attorney-card-body h3,.office-team .staff-card-body h3{font-size:1rem!important}
.office-team .attorney-card-foot,.office-team .staff-card-foot{margin-top:4px;padding-top:0;border-top:0}
.office-team .attorney-card-foot .arrow,.office-team .staff-card-foot .arrow{display:none}
.office-counties{padding:56px 0!important}
.county-chips{gap:8px;justify-content:flex-start}
.county-chip{padding:10px 14px;width:auto;flex:0 0 auto}
.county-chip .ct{display:none}
.county-chip .cn{font-size:.92rem}
.pa-tile-grid{grid-template-columns:1fr!important;gap:6px}
.pa-tile{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}
.pa-tile .pt-num{display:none}
.pa-tile h3{font-size:1rem!important;margin:0}
.pa-tile .pt-link{font-size:.66rem}
.office-practice{padding:56px 0!important}
.office-practice-head .num,.office-practice-head .meta{display:none}
.office-cta{padding:56px 0!important}
.office-cta-side{display:none!important}
.office-cta-actions{flex-direction:column}

/* ═══ /news ═══ */
.news-issue{display:none!important}
.news-hero{padding:88px 0 32px!important}
.news-topics{padding:40px 0 48px!important}
.topics-grid{gap:10px}
.topic-card-art{aspect-ratio:16/9}
.topic-card-body{padding:16px 18px 18px;gap:6px}
.topic-card h3{font-size:1.05rem!important}
.topic-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.88rem!important}
.topic-card .topic-foot{display:none}
#firmGrid .topic-card:nth-child(n+4){display:none}
.na-row{padding:12px 0;gap:2px}
.na-row .c{display:none}
.na-row .d{font-size:.7rem}
.na-cats{flex-wrap:nowrap;overflow-x:auto;margin:0 -22px;padding:0 22px 6px;scrollbar-width:none}
.na-cats::-webkit-scrollbar{display:none}
.na-cat{flex:0 0 auto}
.news-archive{padding:48px 0!important}
section.news-topics:not(#fromFirm){display:none!important}
.news-subscribe{padding:56px 0!important}
.subscribe-foot{font-size:.7rem}

/* ═══ Blog post (function-rendered; template links this file) ═══ */
.art-breadcrumb{display:none!important}
.art-hero{padding-top:96px!important}
.art-title{font-size:clamp(1.9rem,8vw,2.4rem)!important;letter-spacing:-.035em!important;margin-bottom:14px!important}
.art-lede{display:none!important}
.art-byline{padding:6px 0 20px;font-size:.7rem;gap:8px}
.art-herofig{aspect-ratio:16/9;border-radius:14px;border-bottom:1px solid var(--hairline)}
.art-wrap{padding:32px 0 8px!important}
.art-cta{padding:40px 0 56px!important}
.art-cta-card{padding:24px 22px;gap:18px}
.art-cta-card .btn-row{width:100%}
.art-cta-card .btn-ghost{display:none!important}
body:has(.art-cta) .ft-cta{display:none}

/* ═══ TEAM (the roster is the page) ═══ */
.team-stat-strip,.team-hero-cta{display:none!important}
.team-hero-top{justify-content:space-between!important;margin-bottom:var(--m-3)!important}
.team-hero-cinema .th-content{padding:104px var(--m-gutter) var(--m-5)!important;text-align:left!important}
.team-hero-cinema .lead{margin:0!important;max-width:none!important;font-size:var(--m-body)!important}
.th-bgwall{height:132px!important}
.team-hero-cinema{padding-bottom:var(--m-4)!important}
.team-filter{position:sticky!important;top:84px;z-index:50;padding:var(--m-3) 0!important;background:rgba(251,248,244,.97)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.nav-hidden .team-filter{top:0}
.team-toggle{display:grid!important;grid-template-columns:1fr 1fr 1fr;width:100%!important;padding:3px!important}
.team-toggle button{padding:10px 0!important;font-size:var(--m-label)!important;letter-spacing:.1em!important;white-space:nowrap}
.team-practice-tabs{display:flex!important;flex-wrap:nowrap!important;gap:var(--m-2)!important;overflow-x:auto;margin:var(--m-3) calc(-1*var(--m-gutter)) 0!important;padding:0 var(--m-gutter)!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.team-practice-tabs::-webkit-scrollbar{display:none}
.team-practice-tabs button{flex:0 0 auto;white-space:nowrap;padding:9px 14px!important;font-size:var(--m-label)!important;letter-spacing:.1em!important}
.attorneys-grid,.staff-grid{grid-template-columns:1fr 1fr!important;gap:var(--m-3)!important}
.attorney-card-img,.staff-card-img{aspect-ratio:1/1!important}
.attorney-card-img img,.staff-card-img img{object-position:50% 12%!important;transform:scale(calc(var(--ps,1)*.96))!important}
.attorney-card-body,.staff-card-body{padding:var(--m-3) var(--m-3) var(--m-4)!important;gap:2px!important}
.attorney-card-body h3,.staff-card-body h3{font-size:1rem!important;line-height:1.15!important;letter-spacing:-.02em!important}
.attorney-card-body .role-pill,.staff-card-body .role-pill{font-size:.625rem!important;letter-spacing:.1em!important;margin-bottom:var(--m-1)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attorney-card-body .descriptor,.staff-card-body .descriptor,.attorney-card-foot .arrow,.staff-card-foot .arrow,.staff-card-overlay{display:none!important}
.attorney-card-foot,.staff-card-foot{padding-top:var(--m-2)!important;border:0!important;margin-top:var(--m-1)!important}
.attorney-card-foot .practice,.staff-card-foot .focus{font-size:.625rem!important;letter-spacing:.08em!important;line-height:1.35!important}
.section-eyebrow{margin-bottom:var(--m-4)!important;padding-bottom:var(--m-3)!important;flex-direction:row!important;align-items:baseline!important;justify-content:space-between}
.section-eyebrow::after{width:40px}
.tm-voice-card:nth-child(n+3){display:none!important}
.tm-voices-head .meta{display:none!important}
.tm-voice-feature{padding:var(--m-5) 0 var(--m-6)!important;margin-bottom:var(--m-5)!important}
.tm-voice-feature blockquote{padding-top:var(--m-6)!important}
.tm-voice-feature blockquote p{font-size:1.25rem!important;line-height:1.45!important}
.team-work-together p.kicker{margin-top:var(--m-3)!important}
.team-join-stats{display:none!important}
.team-join .container{gap:0!important}
.team-join p{margin-bottom:var(--m-5)!important}

/* ═══ ABOUT ═══ */
.ahc-sub,.ahc-meta,.ahc-ghost{display:none!important}
.about-hero-cine{min-height:0!important}
.ahc-content{padding-top:120px!important;padding-bottom:var(--m-7)!important}
.ahc-ctas{margin-top:var(--m-5)!important}
.about-feature{display:none!important}
.editorial-pullquote .container{text-align:left!important}
.ep-mark{transform:scale(.6);transform-origin:left top;margin-bottom:var(--m-2)}
.editorial-pullquote blockquote{text-align:left!important;font-size:1.25rem!important;line-height:1.45!important}
.an-num .suf{display:none}
.an-num{font-size:2.5rem!important}
.about-values-grid.reveal{transition-delay:0s!important}
.about-story .about-story-intro .eyebrow,.about-story .btn-ghost{display:none!important}
.rail-intro-m{display:block!important;padding:0 var(--m-gutter) var(--m-5)}
.about-rail-track .rail-intro,.rail-scrollhint{display:none!important}
.rail-item{width:calc(100vw - 66px)!important}
.rail-item-frame,.rail-cta a{height:auto!important;aspect-ratio:4/5!important}
.rail-cap{margin-top:var(--m-3)!important}
.about-rail-sticky{padding:0 0 var(--m-4)!important}
.about-locations .bleed-photo{display:none!important}
.about-build{display:none!important}
.community-card-img{display:none!important}
.community-grid{gap:var(--m-3)!important}
.about-community-head{margin-bottom:var(--m-5)!important}

/* ═══ DRAWER ═══ */
.mobile-nav{padding:92px var(--m-gutter) var(--m-5)!important;gap:var(--m-4)!important}
.mn-brand{left:var(--m-gutter)!important}
.mn-close{right:var(--m-gutter)!important;width:44px!important;height:44px!important}
.mobile-nav .mn-item,.mn-summary{font-size:1.625rem!important;letter-spacing:-.03em!important;padding:14px 0!important;min-height:56px!important;font-weight:700}
.mobile-nav .mn-item em,.mn-summary-label em{color:#fff!important;font-style:normal!important}
.mn-summary-meta,.mn-item-arr{display:none!important}
.mn-summary-icon{width:28px!important;height:28px!important}
.mn-list{gap:0!important}
.mn-reach{padding-bottom:var(--m-4)!important;gap:var(--m-1)!important}
.mn-reach-tel{font-size:1.5rem!important}
.mn-reach-book{display:none!important}
.mn-cta{position:sticky;bottom:0;margin-top:auto;width:100%!important;justify-content:center;min-height:52px!important;box-shadow:0 -12px 24px rgba(26,22,18,.9)}
.mn-foot{display:none!important}
.mn-sub{padding:0 0 var(--m-4)!important;gap:0!important}
.mn-sub ul li a{padding:11px var(--m-3)!important;margin:0 calc(-1*var(--m-3));font-size:var(--m-body)!important;min-height:44px}
.mn-sub-top{margin:var(--m-2) 0!important;padding:12px var(--m-3)!important;font-size:.9375rem!important}
.mn-sub-eyebrow{margin:var(--m-4) 0 var(--m-1)!important;font-size:var(--m-label)!important;letter-spacing:.14em!important}
.mn-sub-att li a{padding:6px 0!important;gap:var(--m-3)!important}
.mn-att-photo{width:36px;height:36px}
.mobile-nav [data-mn-stagger]{transition-delay:calc(40ms + 25ms*var(--mn-i,0))!important;transform:translateY(16px)}
.mobile-nav.open [data-mn-stagger]{transition-delay:calc(80ms + 25ms*var(--mn-i,0))!important}

/* ═══ HEADER: tap-to-call icon beside the menu ═══ */
.site-cta .phone{display:inline-flex!important;align-items:center;justify-content:center;width:40px;height:40px;padding:0!important;border-radius:50%;font-size:0}
.site-cta .phone .phone-ico{width:18px;height:18px}
.site-cta .phone-num{display:none!important}
.site-cta{gap:6px!important}
.menu-toggle{width:44px!important;height:44px!important}

/* ═══ FORMS: widgets step aside while typing; sticky nav rows ═══ */
html.is-typing .pca-launch,html.is-typing .pca-nudge,html.is-typing .a11y-toggle{opacity:0!important;pointer-events:none!important}
body.page-book .pca-launch,body.page-book .pca-nudge,body.page-careers .pca-nudge,body.page-contact .pca-nudge{display:none!important}
body.page-book .a11y-toggle{display:none!important}
.field input,.field select,.field textarea,.bk-input,.bk-textarea{scroll-margin-top:84px}

/* ═══ BOOK ═══ */
.bk-context{padding:72px 22px 28px!important;min-height:0!important}
.bk-ctx-foot{display:none!important}
.bk-ctx-h{font-size:clamp(1.6rem,7vw,1.9rem)!important}
.bk-ctx-sub{font-size:.95rem!important}
.bk-ctx-brand{min-height:44px;align-items:center}
.bk.is-past-intro .bk-context{padding:64px 22px 20px!important}
.bk.is-past-intro .bk-ctx-mid{display:none!important}
.bk-progress{margin-bottom:32px!important}
.bk-foot{position:sticky!important;bottom:0;z-index:5;margin:0 -22px;padding:12px 22px calc(12px + env(safe-area-inset-bottom))!important;background:var(--bg);border-top:1px solid var(--hairline);gap:10px!important}
.bk-form-shell{padding:40px 22px 0!important}
.bk-meta{display:none!important}
.bk-btn{min-height:50px;flex:1 1 0;justify-content:center}
#bkBack{flex:0 0 auto;padding:14px 18px}
.bk-label{font-size:.74rem!important;letter-spacing:.12em!important}
.bk-step-num{font-size:.7rem!important;letter-spacing:.16em!important}
.bk-tile-num{display:none!important}
.bk-att-role{display:none!important}
.bk-tiles{gap:10px!important}
.bk-tile{display:grid!important;grid-template-columns:40px 1fr;grid-template-areas:"ic t" "ic d";column-gap:14px;row-gap:3px;padding:16px 18px!important;border-radius:14px!important}
.bk-tile-ic{grid-area:ic;width:40px!important;height:40px!important;border-radius:10px!important}
.bk-tile-t{grid-area:t;font-size:1.15rem!important;line-height:1.15!important}
.bk-tile-d{grid-area:d;font-size:.86rem!important;line-height:1.4!important}
.bk-tile .check{top:12px;right:12px}
.bk-input{padding:13px 16px!important;font-size:1rem!important}
.bk-textarea{min-height:120px!important}
#bkParties{min-height:88px!important}
.bk-hint{font-size:.84rem!important}
.bk-atts{display:flex!important;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -22px;padding:4px 22px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.bk-atts::-webkit-scrollbar{display:none}
.bk-att{flex:0 0 128px;scroll-snap-align:start;padding:14px 10px!important}
.bk-step-h{font-size:clamp(1.8rem,7.6vw,2.2rem)!important}

/* ═══ CONTACT ═══ */
.page-hero{padding:88px 0 28px!important}
.contact-section{padding:20px 0 56px!important}
.contact-form-wrap{padding:22px 18px 20px!important;border-radius:18px!important}
.contact-form-wrap .lead{font-size:.95rem!important;margin-bottom:16px!important}
.contact-maps-section{padding:56px 0!important}
.disclaimer-band{padding:48px 0 56px!important}
.field label{font-family:var(--font-display)!important;font-size:.95rem!important;font-weight:600!important;text-transform:none!important;letter-spacing:-.005em!important;color:var(--ink)!important}
.field-hint{font-size:.82rem;color:var(--text-soft);margin:-2px 0 6px}
.consent input{width:22px!important;height:22px!important;margin-top:0!important}
.consent{font-size:.9rem!important;gap:12px!important}
.cm-open{font-size:.72rem!important;min-height:44px;display:inline-flex;align-items:center}
.op-text{font-size:.68rem!important}
.info-card .hours{font-size:.8rem!important;text-transform:none!important;letter-spacing:.02em!important}
.ns-n{font-size:.66rem!important}
.disc-icon{font-size:.7rem!important}

/* ═══ CAREERS ═══ */
.jt-back{min-height:48px!important;font-size:.78rem!important;padding:12px 14px!important}
.jt-form-section{padding-bottom:104px!important}
.jt-review-row:has(dd:empty){display:none}
.jt-review-row dt{font-size:.7rem!important}
.jt-step{padding:24px 20px!important}
.jt-step-label{font-size:.7rem!important}

/* ═══ FOR CLIENTS / LOCATIONS / FAQS / THANKS ═══ */
.fc-actions,.fc-tutorial,.fc-resources,.fc-payments{padding:64px 0!important}
.fc-experience{padding:56px 0!important}
.fc-portal-features-label,.fc-payment-method-eyebrow,.fc-payment-tag,.fc-exp-num,.fc-resource-tag,.fc-resources .ext,.fc-quick .k{font-size:.7rem!important}
.omh-cta{font-size:.72rem!important;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
.omh-head{flex-wrap:wrap;gap:8px}
.cir-cap,.map-stats .label{font-size:.7rem!important}
.faq-nav a{min-height:44px;font-size:.92rem!important;padding:10px 14px!important;display:inline-flex;align-items:center}
.faq-nav ul{display:flex;gap:8px;overflow-x:auto;margin:0 -22px;padding:0 22px 8px;scrollbar-width:none}
.faq-nav ul::-webkit-scrollbar{display:none}
.faq-nav li{flex:0 0 auto}
.faq-nav-title{display:none}
.faq-hero{padding:96px 0 56px!important}
.faq-section{padding:56px 0!important}
.faq-cta{padding:72px 0!important}
.group-num,.faq-nav .count{font-size:.7rem!important}
.tk-rule,.tk-d-num,.tk-foot-tag{font-size:.7rem!important}
.tk-back{font-size:.78rem!important;min-height:44px;display:inline-flex;align-items:center}
.tk{padding:88px 0 56px!important}
.tk-foot{padding:56px 0!important}

/* ═══ FOOTER leftovers ═══ */
.ftb-socials{width:100%;margin:0 0 6px}
.ftb-links{gap:8px 18px}
.ftb-left{font-size:.7rem!important;letter-spacing:.04em!important;text-transform:none!important}
.ft-status{font-size:.66rem!important;padding:5px 10px}
.ft-cta-or{font-size:.68rem!important}
.ft-col h3{font-size:.72rem!important}
