/* Public marketing routes only. Scoped exceptions to legacy global !important rules.
   No dashboard, authentication, data, or product-action changes. */
body.av-responsive-public { --rp-gutter:clamp(16px,3vw,32px); }
body.av-responsive-public :is(#av-guides,#avx2,#szr,.na) { overflow-wrap:break-word; }
body.av-responsive-public :is(#av-guides,#avx2,#szr,.na) *,
body.av-responsive-public #av-footer * { box-sizing:border-box; }
body.av-responsive-public :is(.ag-hero,.ag-reading,.ag-related>div,.fz2-grid,.ab-stats,.na-fgrid)>* { min-width:0; }
body.av-responsive-public :is(#av-guides,#avx2,#szr,.na) :is(a,button,summary):focus-visible {
  outline:3px solid #0066ac!important; outline-offset:4px; }
body.av-responsive-public :is(.ag-provider,.ag-note,.ab-firm-info,.na-cat) a { overflow-wrap:anywhere; }
body.av-responsive-public #av-guides { padding:0!important; width:100%; }
body.av-responsive-public #av-guides.ag>.ag-wrap {
  width:100%; max-width:1220px!important; padding:0 var(--rp-gutter) 64px!important; }
body.av-responsive-public #avx2 { padding:48px 0 64px!important; }
body.av-responsive-public #avx2 :is(.fz2-wrap,.ab-wrap) {
  width:100%; max-width:1220px!important; margin-inline:auto!important; padding:0 var(--rp-gutter)!important; }
body.av-responsive-public :is(#av-guides h1,#avx2 .sf-head h1,#szr h1,.na h1) {
  font-size:clamp(30px,4.2vw,54px)!important; line-height:1.16!important; letter-spacing:-.025em;
  overflow-wrap:normal; word-break:normal; text-wrap:balance; }
body.av-responsive-public .ag-hero { gap:clamp(28px,4vw,56px); padding:30px 0 48px; }
body.av-responsive-public .ag-example { border-radius:14px; padding:28px; }
body.av-responsive-public .ag-example h2 { font-size:17px!important; line-height:1.5!important; }
body.av-responsive-public .ag-stats { grid-template-columns:1.3fr 1.3fr 1fr 1fr; gap:20px; border:0!important; padding:0!important; box-shadow:none!important; }
body.av-responsive-public .ag-stats dd { white-space:nowrap; font-size:clamp(24px,2.5vw,32px); line-height:1.3; }
body.av-responsive-public .ag-stats dt { font-size:13px; line-height:1.5; }
body.av-responsive-public .ag-stats>div { min-width:0; gap:8px; }
body.av-responsive-public .ag :is(.ag-kicker,.ag-note,.ag-review,.ag-example-foot,.ag-labelrow>span) { line-height:1.7; }
body.av-responsive-public .ag-toc a { min-height:44px; display:flex; align-items:center; }
body.av-responsive-public .ag :is(.ag-textlink,.ag-links a) { display:inline-flex; align-items:center; min-height:44px; }
body.av-responsive-public .ag :is(.ag-section h2,.ag-answer h2,.ag-related h2,.ag-end h2) { line-height:1.35!important; text-wrap:balance; }
body.av-responsive-public .ag-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.av-responsive-public .ag-steps li>span { flex:0 0 auto; }
body.av-responsive-public .ag-steps li>div { min-width:0; }
body.av-responsive-public .ag a.ag-button { white-space:normal!important; height:auto!important; min-height:48px!important; padding:12px 20px!important; }
body.av-responsive-public .ag-archive-table { max-width:100%; overscroll-behavior-inline:contain; }
body.av-responsive-public #szr { padding:32px var(--rp-gutter) 48px!important; }
/* The global form skin resets textarea min-height to 44px. Restore a real editor. */
body.av-responsive-public #szr #szrText {
  width:100%!important; min-width:0; min-height:220px!important; height:220px; max-width:100%;
  padding:14px 16px!important; font-size:16px!important; line-height:1.65!important;
  border:1.5px solid #b9d1e4!important; border-radius:10px!important; resize:vertical; }
body.av-responsive-public #szr .szr-card { padding:24px; overflow:visible!important; }
body.av-responsive-public #szr label { font-size:14px!important; line-height:1.5; text-transform:none!important; }
body.av-responsive-public #szr :is(.szr-go,.szr-samples button,.szr-aktar-dgm) {
  white-space:normal!important; height:auto!important; min-height:48px!important; padding:12px 16px!important; line-height:1.5!important; }
body.av-responsive-public #szr .szr-kick { white-space:normal; line-height:1.5; }
body.av-responsive-public #szr #szrHp { width:1px!important; min-width:0!important; height:1px!important; min-height:0!important; padding:0!important; border:0!important; }
body.av-responsive-public #avc .ls-line { gap:8px; padding:6px 8px 6px 12px; }
body.av-responsive-public #avc .ls-line #lsq { min-width:0; min-height:48px!important; padding:12px 4px!important; line-height:1.5!important; }
body.av-responsive-public #avc #lsgo { min-height:48px!important; height:auto!important; margin:0; padding:12px 18px!important; line-height:1.5!important; }
body.av-responsive-public #avc .ls-tags button { min-height:44px!important; height:auto!important; white-space:normal!important; line-height:1.5!important; }
/* Eight-digit source counts need wider tiles even in the desktop split column. */
body.av-responsive-public #avc .av-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.av-responsive-public #avc .av-tile.big { grid-column:1/-1; }
body.av-responsive-public :is(#avx2 .fz2-card,#avx2 .ab-concept,#avx2 .ab-value,.na-fcard,.na-cat) {
  min-width:0; border-radius:12px; }
body.av-responsive-public .na-fgrid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body.av-responsive-public .na-fcard { padding:22px 18px; }
body.av-responsive-public .na-fcard h4 { font-size:15px; line-height:1.5; }
body.av-responsive-public .na-fcard p { font-size:13px; line-height:1.65; }
body.av-responsive-public .na-fcard-check { font-size:11px; flex-wrap:wrap; }
body.av-responsive-public :is(.na-reality-p,.na-reality-list li,.na-cat p) { font-size:14px; line-height:1.75; }
body.av-responsive-public #av-footer .fmain { gap:24px; }
body.av-responsive-public #av-footer :is(.fcol,.fbot) { min-width:0; overflow-wrap:anywhere; }
body.av-responsive-public #av-footer :is(a.fl,.fsoc a) { min-height:44px; }
@media(max-width:1000px) {
  body.av-responsive-public .ag-hero { grid-template-columns:1fr; }
  body.av-responsive-public .ag-example { max-width:none; }
  body.av-responsive-public .ag-mark { font-size:32px; margin-bottom:18px; }
  body.av-responsive-public .ag-example-foot { margin-top:18px; }
  body.av-responsive-public .ag-reading { grid-template-columns:180px minmax(0,1fr); gap:28px; }
  body.av-responsive-public .na-fgrid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
  body.av-responsive-public #avx2 { padding-block:32px 48px!important; }
  body.av-responsive-public #av-guides.ag>.ag-wrap { padding-bottom:48px!important; }
  body.av-responsive-public .ag-breadcrumb { padding:16px 0; line-height:1.7; }
  body.av-responsive-public .ag-hero { padding:20px 0 32px; gap:24px; }
  body.av-responsive-public .ag .ag-kicker { margin-bottom:14px; letter-spacing:.07em; }
  body.av-responsive-public .ag .ag-lead { font-size:17px; margin-bottom:22px; }
  body.av-responsive-public .ag-example { padding:22px; }
  body.av-responsive-public .ag-evidence { padding:20px; }
  body.av-responsive-public .ag-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px; }
  body.av-responsive-public .ag-reading { display:flex; gap:28px; }
  body.av-responsive-public .ag-toc { width:100%; position:static; max-height:none; }
  body.av-responsive-public .ag-toc nav { padding:16px; }
  body.av-responsive-public .ag-article { width:100%; }
  body.av-responsive-public .ag-steps { grid-template-columns:1fr; }
  body.av-responsive-public .ag-section h2 { font-size:25px!important; }
  body.av-responsive-public .ag-answer h2 { font-size:22px!important; }
  body.av-responsive-public .ag :is(.ag-section p,.ag-section li,.ag-answer p) { font-size:16px; line-height:1.8; }
  body.av-responsive-public .ag-faq summary { min-height:44px; line-height:1.6; }
  body.av-responsive-public .ag :is(.ag-note,.ag-review) { font-size:12px; }
  body.av-responsive-public #avx2 :is(.fz2-card,.ab-concept,.ab-value) { padding:22px 20px; }
  body.av-responsive-public #avx2 :is(.fz2-grid.col3,.fz2-grid.col2) { grid-template-columns:1fr!important; gap:16px; }
  body.av-responsive-public #avx2 :is(.fz2-sec-hd h2,.ab-sh h2,.fz2-cta-panel h2,.ab-cta-card h2) { font-size:26px!important; line-height:1.3!important; }
  body.av-responsive-public #avx2 :is(.fz2-cta-btns,.ab-cta-btns) a { white-space:normal!important; min-height:48px!important; height:auto!important; padding:12px 18px!important; line-height:1.5!important; }
  body.av-responsive-public #szr .szr-card { padding:20px 16px; }
  body.av-responsive-public #szr .szr-meta { align-items:stretch; }
  body.av-responsive-public #szr #szrGo { width:100%; }
  body.av-responsive-public .na { padding:32px var(--rp-gutter) 48px; }
  body.av-responsive-public .na-fgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.av-responsive-public .na-result-badge { max-width:100%; white-space:normal; padding:12px 16px; }
  body.av-responsive-public .na-sec-ttl { line-height:1.5; }
  body.av-responsive-public #av-footer .fmain { padding-inline:var(--rp-gutter); }
  body.av-responsive-public #avBurger { min-width:44px!important; min-height:44px!important; padding:10px!important; }
}
@media(max-width:480px) {
  body.av-responsive-public .ag-stats>div:nth-child(-n+2) { grid-column:1/-1; border-bottom:1px solid #d9e5ee; padding-bottom:16px; }
  body.av-responsive-public .ag-stats dd { font-size:30px; }
  body.av-responsive-public #avx2 :is(.fz2-stats,.ab-stats) { grid-template-columns:1fr!important; gap:12px; }
  body.av-responsive-public #avx2 :is(.fz2-stat,.ab-stat) { padding:22px 18px; }
  body.av-responsive-public #avx2 .ab-firm-info>div { grid-template-columns:1fr; gap:4px; }
  body.av-responsive-public #avc .ls-mag { display:none; }
  body.av-responsive-public #avc .ls-line { padding:6px; }
  body.av-responsive-public #avc #lsgo { padding-inline:16px!important; }
  body.av-responsive-public #avc .av-tile b { white-space:nowrap; }
  body.av-responsive-public #av-footer .fbot { align-items:flex-start; gap:18px; }
}
@media(max-width:360px) {
  body.av-responsive-public .na-fgrid { grid-template-columns:1fr; }
  body.av-responsive-public .ag :is(.ag-example,.ag-evidence,.ag-provider,.ag-end) { padding:18px; }
}
@media(prefers-reduced-motion:reduce) {
  body.av-responsive-public :is(#av-guides,#avx2,#szr,.na) * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
/* FAQ component: the legacy [class*="-faq"] skin adds a black outline and
   clips focus rings. Own the wrapper, question and answer spacing explicitly.
   The guide selector also serves the signed-in contract view. Native details
   semantics and keyboard operation are preserved; no accordion script. */
#av-guides.ag .ag-section.ag-faq {
  border:0!important; border-radius:16px!important; padding:28px!important;
  background:#f3f7fb!important; overflow:visible!important; box-shadow:none!important;
}
#av-guides.ag .ag-faq>h2 {
  margin:0 0 22px!important; padding:0!important; font-size:28px!important;
  line-height:1.35!important; color:#0b2338!important;
}
body.av-responsive-public :is(#avx2 .fz2-faq,#avc .faq) {
  display:grid; gap:12px; border:0!important; padding:0!important;
  background:transparent!important; overflow:visible!important; box-shadow:none!important;
}
#av-guides.ag .ag-faq>details,
body.av-responsive-public :is(#avx2 .fz2-faq,#avc .faq)>details {
  margin:0; padding:0!important; border:1px solid #d5e2ed!important;
  border-radius:10px!important; background:#fff!important; overflow:visible!important;
}
#av-guides.ag .ag-faq>details+details { margin-top:12px; }
#av-guides.ag .ag-faq>details[open],
body.av-responsive-public :is(#avx2 .fz2-faq,#avc .faq)>details[open] {
  border-color:#8eb8d6!important;
}
#av-guides.ag .ag-faq>details>summary,
body.av-responsive-public :is(#avx2 .fz2-faq,#avc .faq)>details>summary {
  display:flex; align-items:center; position:relative; list-style:none;
  min-height:64px; height:auto; margin:0!important; padding:18px 62px 18px 20px!important;
  border-radius:10px; cursor:pointer; color:#0b2338!important;
  font:650 16px/1.65 Inter,system-ui,sans-serif!important;
  white-space:normal; overflow-wrap:break-word;
}
#av-guides.ag .ag-faq>details>summary::-webkit-details-marker,
body.av-responsive-public :is(#avx2 .fz2-faq,#avc .faq)>details>summary::-webkit-details-marker { display:none; }
#av-guides.ag .ag-faq>details>summary::marker,
body.av-responsive-public :is(#avx2 .fz2-faq,#avc .faq)>details>summary::marker { content:""; }
#av-guides.ag .ag-faq>details>summary::after,
body.av-responsive-public :is(#avx2 .fz2-faq,#avc .faq)>details>summary::after {
  content:"+"; position:absolute; right:18px; top:50%; transform:translateY(-50%);
  display:grid; place-items:center; width:28px; height:28px; margin:0;
  border:0; border-radius:7px; background:#eaf3fa; color:#0066ac;
  font:400 23px/1 Inter,system-ui,sans-serif; transition:none;
}
#av-guides.ag .ag-faq>details[open]>summary::after,
body.av-responsive-public :is(#avx2 .fz2-faq,#avc .faq)>details[open]>summary::after {
  content:"−"; background:#0066ac; color:#fff;
}
#av-guides.ag .ag-faq>details>summary:hover,
body.av-responsive-public :is(#avx2 .fz2-faq,#avc .faq)>details>summary:hover { background:#f7fbfe; }
#av-guides.ag .ag-faq>details>summary:focus-visible,
body.av-responsive-public :is(#avx2 .fz2-faq,#avc .faq)>details>summary:focus-visible {
  outline:3px solid #0066ac!important; outline-offset:3px!important;
}
#av-guides.ag .ag-faq>details>p,
body.av-responsive-public #avx2 .fz2-faq-item .fz2-faq-a,
body.av-responsive-public #avc .faq .fa {
  max-width:none; margin:0!important; padding:0 20px 20px!important;
  font-size:15px!important; line-height:1.8!important; color:#425c70!important;
  overflow-wrap:break-word;
}
@media(max-width:600px) {
  #av-guides.ag .ag-section.ag-faq { padding:18px 14px!important; border-radius:12px!important; }
  #av-guides.ag .ag-faq>h2 { font-size:24px!important; margin-bottom:18px!important; }
  #av-guides.ag .ag-faq>details>summary,
  body.av-responsive-public :is(#avx2 .fz2-faq,#avc .faq)>details>summary {
    min-height:60px; padding:16px 52px 16px 16px!important; font-size:15px!important;
  }
  #av-guides.ag .ag-faq>details>summary::after,
  body.av-responsive-public :is(#avx2 .fz2-faq,#avc .faq)>details>summary::after { right:12px; width:26px; height:26px; }
  #av-guides.ag .ag-faq>details>p,
  body.av-responsive-public #avx2 .fz2-faq-item .fz2-faq-a,
  body.av-responsive-public #avc .faq .fa { padding:0 16px 18px!important; }
}
@media print {
  body.av-responsive-public #av-guides.ag>.ag-wrap { max-width:none!important; padding:0!important; }
  body.av-responsive-public :is(#avx2,#szr,.na) { padding:0!important; }
}

/* Phase 2 measured fixes: long synthetic counters, archive toggle, about CTA. */
body.av-responsive-public .ag-courts > summary { min-height:44px; padding:11px 0; cursor:pointer; }
body.av-responsive-public #avx2 .ab-cta-btns { display:flex!important; flex-wrap:wrap!important; max-width:100%; height:auto!important; max-height:none!important; }
@media(max-width:900px) {
  body.av-responsive-public .ag-stats dd { font-size:22px; }
}
@media(max-width:640px) {
  body.av-responsive-public #avx2 .ab-cta-btns { flex-direction:column!important; flex-wrap:nowrap!important; align-items:stretch; }
  body.av-responsive-public #avx2 .ab-cta-btns .ab-btn { width:100%!important; min-width:0!important; max-width:100%; box-sizing:border-box; }
}
@media(max-width:480px) {
  body.av-responsive-public .ag-stats>div:nth-child(-n+2) dd { font-size:28px; }
}
