/* ============================================================================
   CA5 — content page kit — stylesheet
   The shared stylesheet for interior content pages (history, general
   information, office info, etc.). Load it ONCE site-wide (or attach it to the
   pages that need it). Every rule is namespaced under .ca5-page, so it cannot
   affect anything outside the page markup.

   FONTS & COLORS — this file ships NONE of its own. It inherits the site's
   active theme by mapping its internal variables onto the site design tokens
   (--c-bg, --c-ink, --c-accent, --f-serif, --f-sans, …). When the site switches
   theme or dark mode, these pages follow automatically. The var() fallbacks are
   only a safety net for standalone preview; on the real site the tokens win.

   BUILDING BLOCKS (mix and match per page):
     __crumbs ........ breadcrumb
     __header ........ eyebrow + title + lead
     __section ....... titled content section (__h2 / __h3 / p / __note)
     __grid .......... two columns: __main (wide) + __aside (sticky sidebar)
     __card .......... bordered surface card  (+ __panel head/body variant)
     __address ....... courthouse identity block (serif lines)
     __btn ........... primary accent button (e.g. Get Directions)
     __row / __chip .. icon-chip + text row (contact lines)
     __steps ......... numbered route / instruction list (__steps-group label)
     __callout ....... highlighted note with an icon
     __hours ......... prominent hours value
     __holidays ...... 2-col schedule grid with status __pill (closed/reduced)
     __doclist ....... list of document/report links (PDF tag + download)
     __figure ........ framed image with optional caption
     __table ......... data table (captioned group + right-aligned amounts)
     __list .......... divided bullet list for rules / guidance points
     __people ........ directory grid of judges/people (avatar + name + role)
     __roster ........ succession/membership list (name + years; .name .sub for
                       a secondary court line; current highlighted)
     __cards ......... responsive card directory grid (e.g. committees)
     __cttee-* ....... committee card body + member name inside __cards
     __tl ............ vertical timeline chronology
     __chart ......... horizontal bar chart
     __toc ........... "on this page" contents (grouped links; use in __aside)
     __faq ........... Q&A list ("Q" marker, deep-link :target highlight)
   ============================================================================ */

/* ───────── Map component vars → host site tokens (the only theming layer) ─── */
.ca5-page{
  --bg:          var(--c-bg, #f7f5ef);
  --surface:     var(--c-surface, var(--c-bg-elev, #fff));
  --surface-alt: var(--c-bg-sunk, color-mix(in srgb, var(--c-ink, #1a1814) 6%, var(--c-bg, #fff)));
  --ink:         var(--c-ink, #1a1814);
  --ink-soft:    var(--c-ink-2, color-mix(in srgb, var(--c-ink, #1a1814) 80%, var(--c-bg, #fff)));
  --ink-muted:   var(--c-ink-3, color-mix(in srgb, var(--c-ink, #1a1814) 58%, var(--c-bg, #fff)));
  --border:      var(--c-line, color-mix(in srgb, var(--c-ink, #1a1814) 14%, transparent));
  --border-soft: var(--c-line-soft, color-mix(in srgb, var(--c-ink, #1a1814) 8%, transparent));
  --accent:      var(--c-accent, #6b1f2a);
  --accent-soft: var(--c-accent-soft, color-mix(in srgb, var(--c-accent, #6b1f2a) 14%, var(--c-bg, #fff)));
  --accent-ink:  var(--c-accent-ink, #fff);
  --link:        var(--c-link, var(--c-accent, #2b4a7a));
  --focus:       var(--c-focus, var(--c-accent, #1a6f8e));
  /* Type — inherit the site's self-hosted faces via its tokens (never name a
     specific family here). Fallbacks are a safety net for standalone preview. */
  --font-serif:  var(--f-serif, Georgia, 'Times New Roman', serif);
  --font-sans:   var(--f-sans, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif);
  --font-mono:   var(--f-mono, ui-monospace, SFMono-Regular, Menlo, monospace);

  box-sizing:border-box; max-width:1180px; margin:0 auto;
  padding:34px 40px 64px; background:var(--bg); color:var(--ink);
  font-family:var(--font-sans); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.ca5-page *{box-sizing:border-box;}
.ca5-page a{color:var(--link); text-decoration:none;}
.ca5-page a:hover{text-decoration:underline;}
.ca5-page :focus-visible{outline:2px solid var(--focus); outline-offset:2px; border-radius:3px;}
.ca5-page svg.i{display:inline-block; width:18px; height:18px; fill:none; stroke:currentColor;
  stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle;}

/* ───────── Breadcrumb ───────── */
.ca5-page__crumbs{display:flex; flex-wrap:wrap; align-items:center; gap:9px;
  font-size:13px; color:var(--ink-muted); margin-bottom:30px;}
.ca5-page__crumbs a{color:inherit;}
.ca5-page__crumbs [aria-current]{color:var(--ink);}
.ca5-page__crumbs svg.i{width:11px; height:11px; opacity:.7;}

/* ───────── Title block ───────── */
.ca5-page__header{border-bottom:1px solid var(--border); padding-bottom:34px; max-width:900px;}
.ca5-page__eyebrow{font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent); margin-bottom:16px;}
.ca5-page__title{font-family:var(--font-serif); font-weight:400; font-size:54px; line-height:1.04;
  letter-spacing:-.015em; margin:0;}
.ca5-page__lead{font-family:var(--font-serif); font-weight:400; font-size:23px; line-height:1.5;
  color:var(--ink-soft); margin:22px 0 0; max-width:720px;}

/* ───────── Body + sections ───────── */
.ca5-page__body{margin-top:30px;}
.ca5-page__section{padding-top:34px; margin-top:34px; border-top:1px solid var(--border-soft);}
.ca5-page__section:first-child{border-top:0; padding-top:0; margin-top:0;}
.ca5-page__h2{font-family:var(--font-serif); font-weight:500; font-size:30px; line-height:1.15;
  letter-spacing:-.01em; margin:0 0 8px; color:var(--ink);}
.ca5-page__h3{font-family:var(--font-sans); font-weight:600; font-size:15px; letter-spacing:.02em;
  color:var(--ink); margin:28px 0 12px;}
.ca5-page__body p{font-size:17px; line-height:1.72; color:var(--ink-soft); margin:0 0 20px; max-width:720px;}
.ca5-page__note{font-size:15px; line-height:1.6; color:var(--ink-muted); margin:0 0 24px; max-width:680px;}
.ca5-page__prose{max-width:720px;}

/* ───────── Divided bullet list (rules / guidance points) ───────── */
.ca5-page__list{list-style:none; margin:10px 0 0; padding:0; max-width:760px;}
.ca5-page__list li{position:relative; padding:16px 0 16px 28px; border-bottom:1px solid var(--border-soft);
  font-size:17px; line-height:1.7; color:var(--ink-soft);}
.ca5-page__list li:last-child{border-bottom:0;}
.ca5-page__list li::before{content:""; position:absolute; left:3px; top:25px; width:7px; height:7px;
  border-radius:50%; background:var(--accent);}
.ca5-page__list strong{color:var(--ink); font-weight:600;}

/* ───────── Framed image (with optional caption) ───────── */
.ca5-page__figure{margin:0; border:1px solid var(--border); border-radius:12px; overflow:hidden; background:var(--surface);}
.ca5-page__figure img{display:block; width:100%; height:auto;}
.ca5-page__figure figcaption{padding:10px 16px; font-size:13px; line-height:1.5; color:var(--ink-muted);
  border-top:1px solid var(--border-soft);}

/* ───────── Visually-hidden (screen-reader only) ───────── */
.ca5-page__sr{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; border:0;}

/* ───────── Data table (fee schedule, etc.) ───────── */
.ca5-page__table{width:100%; max-width:760px; border-collapse:collapse; border-top:1px solid var(--border);
  margin:0 0 30px; font-variant-numeric:tabular-nums;}
.ca5-page__table caption{caption-side:top; text-align:left; font-family:var(--font-sans); font-weight:600;
  font-size:12.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--ink-muted); padding:0 0 12px;}
.ca5-page__table thead th{text-align:left; font-family:var(--font-sans); font-size:12px; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); padding:2px 6px 11px; border-bottom:1px solid var(--border);}
.ca5-page__table td{padding:13px 6px; border-bottom:1px solid var(--border-soft); font-size:15.5px;
  line-height:1.5; color:var(--ink); vertical-align:top;}
.ca5-page__table td.amount{text-align:right; white-space:nowrap; padding-left:28px; font-weight:600;
  color:var(--ink); font-variant-numeric:tabular-nums;}
.ca5-page__table td sup{color:var(--ink-muted); font-size:11px;}

/* ───────── Two-column layout ───────── */
.ca5-page__grid{display:grid; grid-template-columns:1.55fr 1fr; gap:52px; align-items:start; margin-top:8px;}
.ca5-page__aside{position:sticky; top:24px; align-self:start; display:flex; flex-direction:column; gap:22px;}
/* Use --flow when the sidebar is taller than the viewport (several stacked
   panels): it scrolls with the page instead of pinning lower panels off-screen. */
.ca5-page__aside--flow{position:static;}

/* ───────── Card + sidebar panel ───────── */
.ca5-page__card{background:var(--surface); border:1px solid var(--border); border-radius:12px; overflow:hidden;}
.ca5-page__card--pad{padding:22px 24px;}
.ca5-page__panel-head{padding:16px 22px; border-bottom:1px solid var(--border); background:var(--surface-alt);}
.ca5-page__panel-label{font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-muted);}
.ca5-page__panel-title{font-family:var(--font-serif); font-weight:500; font-size:19px; line-height:1.25; margin-top:6px; color:var(--ink);}
.ca5-page__panel-body{padding:22px; display:flex; flex-direction:column; gap:18px;}

/* ───────── Icon-chip + text row ───────── */
.ca5-page__row{display:flex; gap:14px; align-items:flex-start;}
.ca5-page__chip{flex:0 0 auto; width:36px; height:36px; border-radius:9px; background:var(--accent-soft);
  color:var(--accent); display:flex; align-items:center; justify-content:center;}
.ca5-page__row-body{font-size:15px; line-height:1.55; color:var(--ink); padding-top:1px;}
.ca5-page__row-body a{word-break:break-word;}

/* ───────── Address identity block ───────── */
.ca5-page__address{font-style:normal; line-height:1.5;}
.ca5-page__address .org{font-size:14px; font-weight:600; letter-spacing:.01em; color:var(--ink); margin-bottom:6px;}
.ca5-page__address .bldg{font-family:var(--font-serif); font-size:18px; line-height:1.3; color:var(--ink); margin-bottom:6px;}
.ca5-page__address .street{font-size:15px; color:var(--ink-soft);}

/* ───────── Primary button ───────── */
/* Scoped with the wrapper class so it outranks the `.ca5-page a` link-color
   rule (otherwise the link color would override the white button text). */
.ca5-page .ca5-page__btn{display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:12px 18px; border-radius:9px; background:var(--accent); color:var(--accent-ink);
  font-size:15px; font-weight:600; border:1px solid var(--accent); cursor:pointer;}
.ca5-page .ca5-page__btn:hover{text-decoration:none; color:var(--accent-ink); filter:brightness(1.07);}
.ca5-page__btn svg.i{width:18px; height:18px;}

/* ───────── Numbered steps / directions ───────── */
.ca5-page__steps-group{margin:0 0 30px; max-width:680px;}
.ca5-page__steps-group:last-child{margin-bottom:0;}
.ca5-page__steps-label{font-family:var(--font-sans); font-weight:600; font-size:15px; color:var(--ink);
  margin:0 0 12px;}
.ca5-page__steps{counter-reset:step; list-style:none; margin:0; padding:0;}
.ca5-page__steps li{counter-increment:step; position:relative; padding:11px 4px 11px 38px;
  border-bottom:1px solid var(--border-soft); font-size:16px; line-height:1.55; color:var(--ink-soft);}
.ca5-page__steps li::before{content:counter(step); position:absolute; left:0; top:10px; width:24px; height:24px;
  border-radius:50%; background:var(--surface-alt); color:var(--ink-muted); font-size:12.5px; font-weight:600;
  font-variant-numeric:tabular-nums; display:flex; align-items:center; justify-content:center;}

/* ───────── Callout (highlighted note with icon) ───────── */
.ca5-page__callout{display:flex; gap:14px; align-items:flex-start; background:var(--surface-alt);
  border:1px solid var(--border-soft); border-radius:12px; padding:18px 20px; max-width:720px; margin:0 0 20px;}
.ca5-page__callout:last-child{margin-bottom:0;}
.ca5-page__callout .chip{flex:0 0 auto; width:34px; height:34px; border-radius:9px; background:var(--accent-soft);
  color:var(--accent); display:flex; align-items:center; justify-content:center;}
.ca5-page__callout p{margin:0; font-size:16px; line-height:1.6; color:var(--ink-soft); max-width:none;}

/* ───────── Hours value ───────── */
.ca5-page__hours{display:flex; gap:14px; align-items:flex-start;}
.ca5-page__hours .chip{flex:0 0 auto; width:40px; height:40px; border-radius:10px; background:var(--accent-soft);
  color:var(--accent); display:flex; align-items:center; justify-content:center;}
.ca5-page__hours-label{font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-muted);}
.ca5-page__hours-value{font-family:var(--font-serif); font-weight:500; font-size:21px; line-height:1.3; color:var(--ink); margin-top:6px;}

/* ───────── Holiday schedule grid ───────── */
.ca5-page__holidays{display:grid; grid-template-columns:1fr 1fr;}
.ca5-page__holiday{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 20px;}
.ca5-page__holiday:nth-child(n+3){border-top:1px solid var(--border-soft);}
.ca5-page__holiday:nth-child(even){border-left:1px solid var(--border-soft);}
.ca5-page__holiday .name{font-size:15px; line-height:1.35; color:var(--ink);}
.ca5-page__pill{display:inline-flex; align-items:center; gap:7px; padding:4px 11px; border-radius:999px;
  font-size:12px; font-weight:600; white-space:nowrap;}
.ca5-page__pill::before{content:""; width:7px; height:7px; border-radius:999px; background:currentColor;}
.ca5-page__pill--reduced{background:var(--accent-soft); color:var(--accent);}
.ca5-page__pill--closed{border:1px solid var(--border); color:var(--ink-soft);}
.ca5-page__pill--closed::before{background:var(--ink-muted);}

/* ───────── Document / resource list (reports, forms, PDFs) ───────── */
.ca5-page__doclist{list-style:none; margin:8px 0 0; padding:0; max-width:760px;
  border:1px solid var(--border); border-radius:12px; overflow:hidden; background:var(--surface);}
.ca5-page__doclist li + li{border-top:1px solid var(--border-soft);}
/* scoped with wrapper so it outranks the `.ca5-page a` link-color rule */
.ca5-page .ca5-page__doc{display:flex; align-items:center; gap:16px; padding:17px 20px; color:var(--ink);}
.ca5-page .ca5-page__doc:hover{text-decoration:none; background:var(--surface-alt);}
.ca5-page__doc .chip{flex:0 0 auto; width:38px; height:38px; border-radius:9px; background:var(--accent-soft);
  color:var(--accent); display:flex; align-items:center; justify-content:center;}
.ca5-page__doc-main{flex:1; min-width:0;}
.ca5-page__doc-title{display:block; font-family:var(--font-serif); font-size:19px; line-height:1.3; color:var(--ink);}
.ca5-page__doc-meta{font-size:13.5px; color:var(--ink-muted); margin-top:3px; font-variant-numeric:tabular-nums;}
.ca5-page__doc-type{flex:0 0 auto; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink-muted); border:1px solid var(--border); border-radius:6px; padding:3px 8px; white-space:nowrap;}
.ca5-page__doc .arrow{flex:0 0 auto; color:var(--accent);}
.ca5-page__doc:hover .arrow{transform:translateY(2px);}
.ca5-page__doc .arrow svg.i{transition:transform .12s;}

/* ───────── People directory (judges, staff) ───────── */
.ca5-page__people{display:grid; grid-template-columns:repeat(auto-fill, minmax(238px, 1fr)); gap:12px; margin-top:8px;}
/* scoped with wrapper so it outranks the `.ca5-page a` link-color rule */
.ca5-page .ca5-page__person{display:flex; align-items:center; gap:14px; padding:14px 16px;
  border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--ink);}
.ca5-page a.ca5-page__person:hover{text-decoration:none; background:var(--surface-alt); border-color:var(--ink-muted);}
.ca5-page__avatar{flex:0 0 auto; width:44px; height:44px; border-radius:50%; background:var(--accent-soft);
  color:var(--accent); display:flex; align-items:center; justify-content:center; font-family:var(--font-serif);
  font-weight:600; font-size:16px; letter-spacing:.02em;}
.ca5-page__person.is-chief .ca5-page__avatar{background:var(--accent); color:var(--accent-ink);}
.ca5-page__person-main{min-width:0;}
.ca5-page__person-name{display:block; font-family:var(--font-serif); font-size:17px; line-height:1.25; color:var(--ink);}
.ca5-page__person-role{display:block; font-size:12.5px; color:var(--ink-muted); margin-top:2px;}
.ca5-page__person.is-chief .ca5-page__person-role{color:var(--accent); font-weight:600;}

/* ───────── Succession roster ───────── */
.ca5-page__roster-label{font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-muted); margin:30px 0 4px;}
.ca5-page__roster{list-style:none; margin:8px 0 0; padding:0; max-width:720px; border-top:2px solid var(--ink);}
.ca5-page__roster li{display:flex; align-items:baseline; gap:18px; padding:13px 4px; border-bottom:1px solid var(--border-soft);}
.ca5-page__roster .num{font-variant-numeric:tabular-nums; font-size:12px; font-weight:600; color:var(--ink-muted);
  width:26px; flex:0 0 26px; padding-top:3px;}
.ca5-page__roster .name{font-family:var(--font-serif); font-size:19px; line-height:1.3; color:var(--ink); flex:1;}
.ca5-page__roster .years{font-variant-numeric:tabular-nums; font-size:15px; font-weight:500; color:var(--ink-muted);
  white-space:nowrap; letter-spacing:.01em;}
.ca5-page__roster li.current{background:var(--accent-soft); margin:0 -16px; padding-left:20px; padding-right:16px;
  border-radius:8px; border-bottom-color:transparent;}
.ca5-page__roster li.current .name,
.ca5-page__roster li.current .years,
.ca5-page__roster li.current .num{color:var(--accent);}
.ca5-page__roster li.current .name{font-weight:600;}
/* Solid accent inline label (e.g. the sitting officeholder's "Current") */
.ca5-page__badge{display:inline-flex; align-items:center; margin-left:12px; padding:2px 10px; border-radius:999px;
  background:var(--accent); color:var(--accent-ink); font-size:11px; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; vertical-align:middle;}

/* ───────── Timeline chronology ───────── */
.ca5-page__tl{list-style:none; margin:0; padding:0; max-width:900px;}
.ca5-page__tl li{position:relative; padding-left:38px; padding-bottom:34px;}
.ca5-page__tl li:last-child{padding-bottom:0;}
.ca5-page__tl li::before{content:""; position:absolute; left:6px; top:9px; bottom:-9px; width:2px; background:var(--border);}
.ca5-page__tl li:last-child::before{display:none;}
.ca5-page__tl li::after{content:""; position:absolute; left:0; top:6px; width:14px; height:14px; border-radius:50%;
  background:var(--bg); border:2px solid var(--accent);}
.ca5-page__tl li.key::after{background:var(--accent);}
.ca5-page__tl-row{display:grid; grid-template-columns:170px 1fr; gap:36px; align-items:start;}
.ca5-page__tl-when{padding-top:1px;}
.ca5-page__tl-date{font-family:var(--font-serif); font-weight:600; font-size:18px; line-height:1.25; color:var(--ink);}
.ca5-page__tl li.key .ca5-page__tl-date{color:var(--accent);}
.ca5-page__tl-cite{font-family:var(--font-mono); font-size:12.5px; letter-spacing:.01em; color:var(--ink-muted); margin-top:5px;}
.ca5-page__tl-tag{display:inline-block; margin-top:9px; padding:2px 9px; border-radius:999px; background:var(--accent-soft);
  color:var(--accent); font-size:11px; font-weight:600; letter-spacing:.05em; text-transform:uppercase;}
.ca5-page__tl-desc{font-size:16.5px; line-height:1.72; color:var(--ink-soft); margin:0;}

/* ───────── Bar chart ───────── */
.ca5-page__chart{max-width:620px; margin-top:6px; border-top:2px solid var(--ink);}
.ca5-page__jrow{display:grid; grid-template-columns:58px 1fr 34px; gap:20px; align-items:center;
  padding:10px 4px; border-bottom:1px solid var(--border-soft);}
.ca5-page__jrow .yr{font-variant-numeric:tabular-nums; font-size:15px; font-weight:500; color:var(--ink-soft);}
.ca5-page__jrow .track{height:13px; background:var(--surface-alt); border-radius:4px; overflow:hidden;}
.ca5-page__jrow .bar{display:block; height:100%; background:var(--accent); border-radius:4px; min-width:3px;}
.ca5-page__jrow.drop .bar{background:color-mix(in srgb, var(--accent) 45%, var(--ink-muted));}
.ca5-page__jrow .ct{font-variant-numeric:tabular-nums; font-size:15px; font-weight:600; text-align:right; color:var(--ink);}
.ca5-page__caption{font-size:13.5px; line-height:1.6; color:var(--ink-muted); margin:16px 0 0; max-width:560px;}

/* ───────── Roster secondary line (e.g. the court a member represents) ───────── */
.ca5-page__roster .name .sub{display:block; font-family:var(--font-sans); font-size:11.5px;
  font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-muted); margin-top:3px;}

/* ───────── Card directory grid + committee card (council, committees) ───────── */
.ca5-page__cards{display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:16px; margin-top:10px;}
.ca5-page__cttee-body{padding:18px 22px; display:flex; flex-direction:column; gap:11px;}
.ca5-page__cttee-name{font-family:var(--font-serif); font-size:17px; line-height:1.3; color:var(--ink);}

/* ───────── "On this page" contents (grouped link list; lives in __aside) ───────── */
.ca5-page__toc{display:flex; flex-direction:column; gap:20px;}
.ca5-page__toc-group-label{font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-muted); margin:0 0 8px;}
.ca5-page .ca5-page__toc a{display:block; font-size:14px; line-height:1.45; color:var(--ink-soft);
  padding:7px 0 7px 14px; border-left:2px solid var(--border);}
.ca5-page .ca5-page__toc a:hover{color:var(--accent); border-left-color:var(--accent);
  text-decoration:none; background:var(--surface-alt);}

/* ───────── FAQ — Q&A list ───────── */
.ca5-page__faq{list-style:none; margin:6px 0 0; padding:0; border-top:1px solid var(--border);}
.ca5-page__faq-item{padding:26px 2px; border-bottom:1px solid var(--border-soft); scroll-margin-top:24px;}
.ca5-page__faq-item:target{background:var(--accent-soft); border-radius:12px; border-bottom-color:transparent;
  margin:0 -18px; padding-left:18px; padding-right:18px;}
.ca5-page__faq-q{display:flex; gap:14px; align-items:flex-start; margin:0 0 12px;
  font-family:var(--font-serif); font-weight:500; font-size:21px; line-height:1.32; color:var(--ink);}
.ca5-page__faq-q .q{flex:0 0 auto; width:28px; height:28px; border-radius:50%; margin-top:1px;
  background:var(--accent-soft); color:var(--accent); font-family:var(--font-sans); font-weight:700;
  font-size:13px; display:flex; align-items:center; justify-content:center;}
.ca5-page__faq-a{padding-left:42px;}
.ca5-page__faq-a p{font-size:16.5px; line-height:1.7; color:var(--ink-soft); margin:0 0 12px; max-width:680px;}
.ca5-page__faq-a p:last-child{margin-bottom:0;}
.ca5-page__faq-a strong{color:var(--ink); font-weight:600;}

/* ───────── Responsive ───────── */
@media (max-width:880px){
  .ca5-page{padding:24px 18px 48px;}
  .ca5-page__title{font-size:36px;}
  .ca5-page__lead{font-size:20px;}
  .ca5-page__h2{font-size:25px;}
  .ca5-page__body p,.ca5-page__tl-desc{font-size:16px;}
  .ca5-page__grid{grid-template-columns:1fr; gap:36px;}
  .ca5-page__aside{position:static;}
  .ca5-page__holidays{grid-template-columns:1fr;}
  .ca5-page__holiday:nth-child(2){border-top:1px solid var(--border-soft);}
  .ca5-page__holiday:nth-child(even){border-left:none;}
  .ca5-page__tl-row{grid-template-columns:1fr; gap:8px;}
  .ca5-page__tl-cite{margin-top:3px;}
  .ca5-page__roster li.current{margin:0 -10px; padding-left:14px; padding-right:10px;}
  .ca5-page__btn{width:100%;}
  .ca5-page__doc-title{font-size:17px;}
  .ca5-page__faq-q{font-size:19px;}
  .ca5-page__faq-a{padding-left:0;}
  .ca5-page__faq-a p{font-size:16px;}
}
@media (prefers-reduced-motion:reduce){
  .ca5-page *{transition:none !important;}
}
