/*
 * AppealArmor content-page brand layer (below the fold): the homepage system
 * for every content page (articles, insurer/denial guides, state pages,
 * glossary, report, tools, about, press, resources, legal pages).
 *
 * The above-the-fold layer (tokens, header, hero, Quick answer, page frame) is
 * aa-critical.css, inlined into each page by scripts/apply-content-brand.js;
 * this file loads without blocking render. The body carries .aac-page, which
 * scopes the restyle of the older Tailwind markup. Colours mirror the --aa-*
 * tokens in public/index.html.
 */

/* ---- The older Tailwind markup, re-toned to the homepage palette -------- */
.aac-page .text-gray-900 { color: var(--aac-ink); }
.aac-page .text-gray-800, .aac-page .text-gray-700 { color: var(--aac-ink-soft); }
.aac-page .text-gray-600 { color: #3D4C63; }
.aac-page .text-gray-500 { color: var(--aac-mute); }
.aac-page .text-gray-400 { color: #66758C; }
.aac-page .text-medical-blue { color: var(--aac-link); text-decoration: underline; text-underline-offset: 3px; }
.aac-page .border-gray-200, .aac-page .border-gray-100 { border-color: var(--aac-line); }
.aac-page .bg-white.rounded-lg, .aac-page .bg-white.rounded-xl, .aac-page .bg-white.rounded-2xl { border-radius: var(--aac-radius); }
.aac-page .bg-white.rounded-lg.shadow-sm, .aac-page .bg-white.rounded-lg.border { border: 1px solid var(--aac-line); box-shadow: var(--aac-shadow-sm); }
.aac-page .bg-white.rounded-lg.shadow-lg { box-shadow: var(--aac-shadow-md); border: 1px solid var(--aac-line); }
.aac-page h2.text-2xl, .aac-page h2.text-xl { font-size: clamp(1.45rem, 2.2vw, 1.75rem); letter-spacing: -.02em; }
.aac-page h2 > i.fas, .aac-page h2 > i.far { color: var(--aac-warm-deep) !important; font-size: .8em; }
/* Links and blue accents -> homepage ink / link blue / terracotta. */
.aac-page p a:not([class*="btn"]):not(.aac-btn), .aac-page a.text-blue-600, .aac-page a.text-blue-700 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.aac-page a.border.rounded-lg, .aac-page a.block { text-decoration: none; }
.aac-page .text-blue-600, .aac-page .text-blue-700, .aac-page .text-blue-800 { color: var(--aac-link); }
.aac-page i.text-blue-500, .aac-page i.text-blue-600, .aac-page i.text-blue-700 { color: var(--aac-warm-deep); }
.aac-page .text-blue-900, .aac-page .text-indigo-900 { color: var(--aac-ink); }
.aac-page .text-green-500, .aac-page .text-green-600, .aac-page .text-green-700 { color: var(--aac-success); }
.aac-page .text-red-600, .aac-page .text-red-700 { color: var(--aac-danger); }
.aac-page .text-amber-600, .aac-page .text-orange-700 { color: var(--aac-warning); }
.aac-page .text-purple-700, .aac-page .text-purple-600 { color: var(--aac-link); }
.aac-page .border-blue-500, .aac-page .border-blue-600, .aac-page .border-blue-200 { border-color: var(--aac-warm); }
.aac-page .bg-blue-600.rounded-full, .aac-page .bg-blue-600.text-white { background-color: var(--aac-ink); }
.aac-page .bg-amber-500.rounded-full { background-color: var(--aac-warning); }
.aac-page .bg-red-500.rounded-full { background-color: var(--aac-warm-deep); }
.aac-page .bg-blue-200.w-0\.5 { background-color: var(--aac-line); }
.aac-page .bg-blue-100.text-blue-800, .aac-page .bg-blue-100 { background-color: #EAF0FF; color: var(--aac-link); }
.aac-page .bg-amber-100.text-amber-800 { color: #7A3B06; }
.aac-page a.hover\:border-blue-500:hover, .aac-page a.hover\:border-blue-300:hover { border-color: var(--aac-warm); }
.aac-page a.border.rounded-lg, .aac-page a.border-gray-200.rounded-lg { border-radius: 12px; transition: border-color .18s var(--aac-ease), box-shadow .18s var(--aac-ease), transform .18s var(--aac-ease); }
.aac-page a.border.rounded-lg:hover, .aac-page a.border-gray-200.rounded-lg:hover { transform: translateY(-2px); box-shadow: var(--aac-shadow-lg); }
.aac-page a h3.text-blue-700, .aac-page a .font-semibold.text-blue-700 { color: var(--aac-ink); }
/* Stat tiles (bg-*-50 boxes with a big number): paper tiles, serif numbers. */
.aac-page .text-center.rounded-lg[class*="bg-"][class*="-50"] { background: var(--aac-paper); border: 1px solid var(--aac-line); border-radius: 14px; }
.aac-page .text-4xl.font-bold, .aac-page .text-3xl.font-bold, .aac-page .text-2xl.font-bold:not(h2):not(h3) { font-family: var(--aac-font-display); font-weight: 600; letter-spacing: -.02em; }
/* Callouts: the blue "Ready to fight" box becomes the homepage warm card. */
.aac-page .bg-blue-50.border-l-4 { background: var(--aac-warm-soft); border-color: var(--aac-warm); }
.aac-page .bg-blue-50.border-l-4 .text-blue-900 { color: var(--aac-ink); }
/* Breadcrumb bar (state / programmatic / glossary pages). */
/* Programmatic pages: their quick-facts band. */
.aac-page section.bg-white.border-b { background: var(--aac-surface); border-color: var(--aac-line); }
.aac-page .prose-appeal h2 { font-family: var(--aac-font-display); font-weight: 600; color: var(--aac-ink); font-size: clamp(1.45rem, 2.2vw, 1.75rem); letter-spacing: -.02em; }
.aac-page .prose-appeal h3 { font-family: var(--aac-font-display); font-weight: 600; color: var(--aac-ink); }
.aac-page .prose-appeal p, .aac-page .prose-appeal li { color: var(--aac-ink-soft); }
.aac-page .prose-appeal a { color: var(--aac-link); }

/* ---- Article reading column -------------------------------------------- */
.aac-page .aac-article .prose { max-width: 68ch; font-size: 1.125rem; line-height: 1.72; color: var(--aac-ink-soft); }
.aac-page .aac-article .prose p.text-lg { font-size: 1.25rem; line-height: 1.6; color: var(--aac-ink); }
.aac-page .aac-article .prose h2 { font-size: clamp(1.5rem, 2.4vw, 1.875rem); line-height: 1.2; margin-top: 2.4rem; }
.aac-page .aac-article .prose h3 { font-size: 1.25rem; color: var(--aac-ink); }
.aac-page .aac-article .prose strong { color: var(--aac-ink); }
.aac-page .aac-article .prose a { color: var(--aac-link); text-decoration: underline; text-underline-offset: 3px; }
.aac-page .aac-article .prose li::marker { color: var(--aac-warm-deep); }
.aac-page .aac-article .prose blockquote { font-family: var(--aac-font-doc); }
.aac-page .aac-article-main section h2.text-2xl { text-align: left; }
@media (max-width: 640px) {
  .aac-page .aac-article .prose { font-size: 1.0625rem; line-height: 1.68; }
  .aac-page .aac-article .prose p.text-lg { font-size: 1.125rem; }
}

/* ---- FAQ as cards -------------------------------------------------------- */
.aac-page .aac-faq > div, .aac-page .aac-faq > article, .aac-page .aac-faq > div.bg-white.rounded-lg, .aac-page .aac-faq > article.bg-white.rounded-lg { background: transparent; border: 0; box-shadow: none; padding-left: 0; padding-right: 0; }
.aac-page .aac-faq h2 { margin-bottom: 18px; }
.aac-page .aac-faq .space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 12px; }
.aac-page .aac-faq .space-y-6 > div, .aac-page .aac-faq .space-y-4 > div {
  background: var(--aac-surface); border: 1px solid var(--aac-line); border-radius: 14px; padding: 20px 22px 18px; box-shadow: var(--aac-shadow-sm);
}
.aac-page .aac-faq .space-y-6 > div.border-t { border-top: 1px solid var(--aac-line); padding-top: 20px; }
.aac-page .aac-faq h3 { position: relative; padding-left: 30px; font-size: 1.125rem; line-height: 1.35; }
.aac-page .aac-faq h3::before { content: "Q"; position: absolute; left: 0; top: .05em; width: 22px; height: 22px; border-radius: 6px; background: var(--aac-warm-soft); color: var(--aac-warm-text); font: 700 .75rem/22px var(--aac-font-body); text-align: center; }
.aac-page .aac-faq h3 + p { padding-left: 30px; margin-top: 8px; }
/* Programmatic pages: h3/p pairs split by rule divs inside one article. */
.aac-page .aac-faq.prose-appeal, .aac-page .aac-faq > .prose-appeal { padding: 0; }
.aac-page .aac-faq .prose-appeal > .border-t { border: 0; margin: 10px 0; height: 0; }
@media (max-width: 640px) {
  .aac-page .aac-faq .space-y-6 > div, .aac-page .aac-faq .space-y-4 > div { padding: 16px 16px 14px; }
}

/* ---- State law (aa:state-law block): reads like a legal excerpt -------- */
.aac-page .aa-law__card { background: var(--aac-surface); }
.aac-page .aa-law__intro { color: #3D4C63; max-width: 72ch; }
.aac-page .aa-law__list { list-style: none; padding: 0; margin: 0; }
.aac-page .aa-law__item { border-left: 0 !important; padding: 20px 22px !important; background: var(--aac-paper); border: 1px solid var(--aac-line) !important; border-radius: 14px; }
.aac-page .aa-law__name { font-family: var(--aac-font-display); font-size: 1.125rem; font-weight: 600; color: var(--aac-ink); margin: 0; }
/* Citations keep their own capitals: subsection letters are case-significant
   (Texas numbers (a), (1), (A) at different levels), so no small-caps transform. */
.aac-page .aa-law__cite { font-family: var(--aac-font-body) !important; font-size: .8125rem !important; letter-spacing: .03em; font-weight: 600; color: var(--aac-warm-text) !important; margin: 4px 0 0; font-variant-numeric: tabular-nums; }
.aac-page .aa-law__quote { position: relative; margin: 14px 0 0; padding: 14px 18px 14px 22px; background: var(--aac-surface); border-left: 3px solid var(--aac-ink); border-radius: 0 10px 10px 0; font-family: var(--aac-font-doc); font-size: 1.0625rem; line-height: 1.65; color: var(--aac-ink) !important; }
.aac-page .aa-law__quote p { margin: 0; }
.aac-page .aa-law__quote p + p { margin-top: .6em; }
.aac-page .aa-law__when { color: #3D4C63 !important; }
.aac-page .aa-law__when strong { color: var(--aac-ink); }
.aac-page .aa-law__source { color: var(--aac-mute); font-size: .8125rem !important; }
.aac-page .aa-law__source a { color: var(--aac-link) !important; }
.aac-page .aa-law__retrieved { color: var(--aac-mute) !important; }
.aac-page .aa-law__note { color: var(--aac-mute) !important; }

/* ---- Compact and bridge calls-to-action -------------------------------- */
.aac-bridge { box-sizing: border-box; margin: 1.75rem 0; padding: 22px 22px 20px; background: var(--aac-warm-soft); border: 1px solid #F5C9B8; border-radius: 14px; font-family: var(--aac-font-body); }
.aac-bridge__title { margin: 0 0 6px; font-family: var(--aac-font-display); font-size: 1.25rem; font-weight: 600; line-height: 1.25; color: var(--aac-ink); }
.aac-bridge__body { margin: 0 0 14px; font-size: 1rem; line-height: 1.55; color: var(--aac-ink-soft); }

/* ---- Closing card (the homepage founder-story card) -------------------- */
.aac-end-cta { box-sizing: border-box; max-width: 56rem; margin: 3.5rem auto; padding: 40px 44px 38px; background: var(--aac-warm-soft); color: var(--aac-ink); border-left: 4px solid var(--aac-warm); border-radius: 0 20px 20px 0; font-family: var(--aac-font-body); }
.aac-page .aac-end-cta h2, .aac-end-cta h2 { margin: 0 0 12px; font-family: var(--aac-font-display); font-size: clamp(1.5rem, 2.6vw, 1.95rem); font-weight: 600; line-height: 1.18; letter-spacing: -.02em; color: var(--aac-ink); }
.aac-end-cta p.aac-end-cta__body { margin: 0 0 24px; max-width: 40rem; font-size: 1.0625rem; line-height: 1.6; color: var(--aac-ink-soft); }
.aac-end-cta .aac-promise, .aac-end-cta .aac-promise--on-dark { color: var(--aac-ink-soft); margin-left: 0; max-width: 40rem; }
.aac-end-cta__note { margin: 14px 0 0; font-size: .8125rem; color: var(--aac-mute); }
@media (max-width: 640px) {
  .aac-inline-cta, .aac-bridge { padding: 16px; }
  .aac-inline-cta .aac-btn, .aac-bridge .aac-btn, .aac-end-cta .aac-btn { width: 100%; }
  .aac-end-cta { margin: 2rem 16px; padding: 26px 20px 24px; border-radius: 0 16px 16px 0; }
}

/* ---- Footer (the homepage footer) -------------------------------------- */
.aac-footer { background: var(--aac-footer-bg); color: var(--aac-footer-link); padding: 56px 0 32px; font-family: var(--aac-font-body); margin-top: 0 !important; text-align: left; }
.aac-footer__wrap { box-sizing: border-box; max-width: 1228px; margin: 0 auto; padding: 0 24px; }
.aac-footer a { color: var(--aac-footer-link); text-decoration: none; transition: color .18s var(--aac-ease); }
.aac-footer a:hover { color: #fff; }
.aac-footer .aac-footer__head { color: #fff; font-family: var(--aac-font-body); font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; margin: 0 0 16px; line-height: 1.4; }
.aac-footer__cols { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 40px; margin-bottom: 40px; }
.aac-footer__brand p { font-size: .875rem; line-height: 1.6; color: var(--aac-footer-link); margin: 0 0 12px; max-width: 320px; }
.aac-footer__logo { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.aac-footer__logo span { font-family: var(--aac-font-display); font-size: 1.25rem; font-weight: 600; color: #fff; }
.aac-footer__brand p.aac-footer__fine { font-size: .75rem; color: rgba(200, 209, 226, .72); margin: 12px 0 0; }
.aac-footer__list { list-style: none; margin: 0; padding: 0; }
.aac-footer__list li { margin-bottom: 10px; font-size: .875rem; }
.aac-footer__list--inline { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.aac-footer__states { border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 24px; margin-bottom: 28px; }
.aac-footer__note { border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 20px; margin-bottom: 24px; font-size: .8125rem; line-height: 1.6; color: rgba(200, 209, 226, .82); }
.aac-footer__note p { margin: 0 0 8px; max-width: 72rem; }
.aac-footer__more a { text-decoration: underline; text-underline-offset: 2px; }
.aac-footer__legal { border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 24px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; font-size: .8125rem; color: rgba(200, 209, 226, .78); }
.aac-footer__legal p { margin: 0; }
.aac-footer__legal strong { color: #fff; }
.aac-founder-card { background: rgba(242, 106, 80, .08); border-left: 3px solid var(--aac-warm); border-radius: 0 12px 12px 0; padding: 18px 22px; margin-bottom: 32px; display: flex; align-items: center; gap: 16px; }
.aac-founder-card__avatar { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, var(--aac-warm) 0%, var(--aac-warm-deep) 100%); display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--aac-font-display); font-weight: 600; font-size: .9375rem; flex-shrink: 0; }
.aac-founder-card p { margin: 0; font-size: .875rem; color: #E1E7F2; line-height: 1.55; }
.aac-founder-card strong { color: #fff; font-weight: 600; }
@media (max-width: 720px) {
  .aac-footer { padding: 44px 0 28px; }
  .aac-footer__wrap { padding: 0 18px; }
  .aac-footer__cols { grid-template-columns: 1fr 1fr; gap: 28px; }
  .aac-footer__brand { grid-column: 1 / -1; }
  .aac-footer__list li { margin-bottom: 4px; }
  .aac-footer__list a, .aac-footer__logo, .aac-footer__more a { display: inline-flex; align-items: center; min-height: 44px; }
  .aac-page .aac-az a { min-width: 44px; height: 44px; }
  .aac-page .aac-gl-list a, .aac-page a.text-blue-600 { display: inline-flex; align-items: center; min-height: 44px; }
}


/* No horizontal scroll at phone width (comparison grids and tables on a few guides). */
@media (max-width: 640px) {
  .aac-page .comparison-grid { grid-template-columns: 1fr !important; }
  .aac-page .comparison-column { min-width: 0; }
  .aac-page table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

.aac-page .floating-cta { position: fixed; right: 24px; bottom: 24px; z-index: 50; display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 999px; background: var(--aac-warm-deep) !important; color: #fff !important; font-weight: 600; text-decoration: none; box-shadow: 0 14px 30px -10px rgba(201, 68, 42, .55) !important; }
@media (max-width: 640px) { .aac-page .floating-cta { left: 16px; right: 16px; bottom: 16px; justify-content: center; } }
/* A few landing guides carry their own sub-nav (a back link + start link). */
.aac-page .nav-sticky { background: var(--aac-paper) !important; border-bottom: 1px solid var(--aac-line); box-shadow: none !important; }
.aac-page .nav-sticky .nav-logo { display: none; }
.aac-page .nav-sticky a { color: var(--aac-ink-soft) !important; }

/* Deadline calculator: its green button and navy result card. */
.aac-page .btn-primary { background: var(--aac-warm-deep); box-shadow: 0 14px 30px -10px rgba(242, 106, 80, .45); color: #fff; }
.aac-page .btn-primary:hover { background: var(--aac-warm-hover); box-shadow: 0 18px 36px -12px rgba(201, 68, 42, .55); }
.aac-page .text-navy-dark { color: var(--aac-ink); }
.aac-page .text-success-green { color: var(--aac-success); }
.aac-page .bg-gradient-to-br.from-navy-dark { background: var(--aac-ink); }

/* shared.css pages (resources, guides index, about, press): its green tokens -> homepage palette. */
.aac-page .navbar + main, .aac-page .container { font-family: var(--aac-font-body); }
.aac-page .cta-button, .aac-page a.btn { background: var(--aac-warm-deep) !important; color: #fff !important; border-radius: 12px; font-weight: 600; box-shadow: 0 14px 30px -10px rgba(242, 106, 80, .45); }
.aac-page .cta-button:hover, .aac-page a.btn:hover { background: var(--aac-warm-hover) !important; }
.aac-page .resource-section h2, .aac-page .category-section h2, .aac-page .about-section h2 { font-family: var(--aac-font-display); font-weight: 600; letter-spacing: -.02em; border-bottom-color: var(--aac-line); }
.aac-page .resource-section, .aac-page .about-section { background: var(--aac-surface); border: 1px solid var(--aac-line); border-radius: var(--aac-radius); padding: 28px 30px 12px; box-shadow: var(--aac-shadow-sm); }
.aac-page .resource-list li { border-bottom-color: var(--aac-line); }
.aac-page .resource-list a { color: var(--aac-ink); text-decoration: underline; text-decoration-color: rgba(201, 68, 42, .45); text-underline-offset: 4px; }
.aac-page .resource-list a:hover { color: var(--aac-warm-deep); }
.aac-page .state-link { background: var(--aac-paper); border: 1px solid var(--aac-line); }
.aac-page .state-link:hover { background: var(--aac-warm-soft); }
.aac-page .state-link .name { color: var(--aac-ink); }
.aac-page .breadcrumb { color: var(--aac-mute); font-size: .8125rem; }
.aac-page .breadcrumb a { color: var(--aac-ink-soft); text-decoration: underline; text-decoration-color: var(--aac-line); text-underline-offset: 3px; }
.aac-page .article-card, .aac-page .stat-card, .aac-page .founder-card { border-radius: 14px; border-color: var(--aac-line); }
.aac-page .article-card h3, .aac-page .stat-card .number { font-family: var(--aac-font-display); font-weight: 600; color: var(--aac-ink); }
.aac-page .stat-card .number { color: var(--aac-warm-deep); }
.aac-page .about-hero { background: transparent; }
.aac-page .about-hero h1 { font-size: clamp(2rem, 3.6vw, 3rem); }
/* Closing card chips (a few articles). */
.aac-end-cta__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.aac-end-cta__chips span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--aac-surface); border: 1px solid #F5C9B8; font-size: .8125rem; font-weight: 500; color: var(--aac-ink-soft); }
.aac-end-cta__chips i { color: var(--aac-warm-deep); }

/* Hero bands not rebuilt by the transform keep their white text on the homepage ink. */
.professional-gradient { background: var(--aac-ink) !important; }

@media (prefers-reduced-motion: reduce) {
  .aac-btn, .aac-hero__art img, .aac-page a.border.rounded-lg { transition: none; }
  .aac-hero__art:hover img { transform: scale(1.01); }
}


/* ---- Stray Tailwind colours -> the homepage palette --------------------- */
.aac-page .bg-red-50, .aac-page .bg-rose-50, .aac-page .bg-pink-50 { background-color: #FBE4E8; }
.aac-page .border-red-200, .aac-page .border-red-300, .aac-page .border-red-400, .aac-page .border-rose-200 { border-color: #F2B8C3; }
.aac-page .border-red-500, .aac-page .border-red-600 { border-color: var(--aac-danger); }
.aac-page .text-red-800, .aac-page .text-red-900, .aac-page .text-red-500 { color: var(--aac-danger); }
.aac-page .bg-red-100 { background-color: #FBE4E8; }
.aac-page .bg-amber-50, .aac-page .bg-yellow-50, .aac-page .bg-orange-50 { background-color: #FCEFD8; }
.aac-page .border-amber-200, .aac-page .border-amber-300, .aac-page .border-yellow-200, .aac-page .border-yellow-300, .aac-page .border-orange-200 { border-color: #F1D3A2; }
.aac-page .border-amber-400, .aac-page .border-amber-500, .aac-page .border-yellow-400, .aac-page .border-yellow-500, .aac-page .border-orange-500 { border-color: #B65A0C; }
.aac-page .text-amber-700, .aac-page .text-amber-800, .aac-page .text-amber-900, .aac-page .text-yellow-800, .aac-page .text-orange-800 { color: #7A3B06; }
.aac-page .bg-amber-100, .aac-page .bg-yellow-100 { background-color: #FCEFD8; }
.aac-page .bg-green-50, .aac-page .bg-emerald-50, .aac-page .bg-teal-50 { background-color: #E6F4EE; }
.aac-page .border-green-200, .aac-page .border-green-300, .aac-page .border-emerald-200, .aac-page .border-teal-200 { border-color: #B5DEC9; }
.aac-page .border-green-500, .aac-page .border-green-600, .aac-page .border-teal-500, .aac-page .border-emerald-500 { border-color: var(--aac-success); }
.aac-page .text-green-800, .aac-page .text-green-900, .aac-page .text-emerald-700, .aac-page .text-teal-700, .aac-page .text-teal-800 { color: #0B5E41; }
.aac-page .bg-green-100 { background-color: #E6F4EE; }
.aac-page .bg-blue-50:not(.border-l-4), .aac-page .bg-indigo-50:not(.border-l-4), .aac-page .bg-purple-50, .aac-page .bg-sky-50 { background-color: #EEF2FB; }
.aac-page .bg-indigo-50.border-l-4 { background: var(--aac-warm-soft); border-color: var(--aac-warm); }
.aac-page .border-indigo-200, .aac-page .border-purple-200, .aac-page .border-blue-100, .aac-page .border-blue-300 { border-color: #CBD6F2; }
.aac-page .border-indigo-500, .aac-page .border-purple-500 { border-color: var(--aac-warm); }
.aac-page .text-indigo-600, .aac-page .text-indigo-700, .aac-page .text-indigo-800, .aac-page .text-purple-800, .aac-page .text-purple-900 { color: var(--aac-link); }
.aac-page .bg-purple-100, .aac-page .bg-indigo-100 { background-color: #EEF2FB; color: var(--aac-link); }
.aac-page i.text-red-600, .aac-page i.text-red-500 { color: var(--aac-danger); }
.aac-page i.text-amber-600, .aac-page i.text-amber-500, .aac-page i.text-purple-600 { color: var(--aac-warm-deep); }
.aac-page .text-gray-300 { color: #A3AEC0; }
.aac-page .bg-gray-50:not(body) { background-color: var(--aac-paper); }
.aac-page .bg-gray-100:not(nav) { background-color: #F1EFEA; }
.aac-page .border-gray-300 { border-color: #D3DAE5; }
/* Callout boxes read as cards, not slabs. */
.aac-page [class*="bg-"][class*="-50"].border-l-4 { border-radius: 0 12px 12px 0; }
.aac-page [class*="bg-"][class*="-50"].border.rounded-lg:not(.text-center) { border-radius: 12px; }

/* ---- Long guides: rhythm between sections -------------------------------- */
/* Alternate sections drop the card and sit on the paper under a terracotta rule,
   so a long page reads as chapters, not a stack of identical boxes. */
.aac-flow > section:nth-of-type(even):not(.aac-faq):not(.aa-law) > .bg-white.rounded-lg {
  background: transparent; border: 0 !important; box-shadow: none !important; padding-left: 0; padding-right: 0; border-radius: 0;
}
.aac-flow > section:nth-of-type(even):not(.aac-faq):not(.aa-law) > .bg-white.rounded-lg > h2:first-child::before {
  content: ""; display: block; width: 44px; height: 3px; border-radius: 2px; background: var(--aac-warm); margin: 0 0 16px;
}
.aac-flow > section { scroll-margin-top: 24px; }
.aac-flow h2[id] { scroll-margin-top: 24px; }
.aac-flow > .aa-law > .aa-law__card { background: #FFFDF9; border-color: var(--aac-line-warm) !important; }

/* ---- FAQ items (programmatic pages and their generator) ------------------ */
.aac-page .aac-faq__item { background: var(--aac-surface); border: 1px solid var(--aac-line); border-radius: 14px; padding: 20px 22px 18px; box-shadow: var(--aac-shadow-sm); margin: 0 0 12px; }
.aac-page .aac-faq__item h3 { margin-top: 0 !important; }
.aac-page .aac-faq__item p { margin-bottom: 0 !important; }

/* ---- Glossary: A-Z bar and letter groups --------------------------------- */
.aac-az { position: sticky; top: 0; z-index: 20; display: flex; flex-wrap: wrap; gap: 3px; padding: 10px 12px; margin: 0 0 24px; background: rgba(251, 250, 247, .96); border: 1px solid var(--aac-line); border-radius: 14px; box-shadow: var(--aac-shadow-sm); font-family: var(--aac-font-body); }
.aac-az a, .aac-az span { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 32px; border-radius: 8px; font-size: .875rem; font-weight: 600; }
.aac-az a { color: var(--aac-ink) !important; text-decoration: none !important; background: var(--aac-surface); border: 1px solid var(--aac-line); }
.aac-az a:hover { background: var(--aac-warm-soft); border-color: #F5C9B8; }
.aac-gl-group { margin: 0 0 28px; scroll-margin-top: 72px; }
.aac-page .aac-gl-group > h2 { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; font-size: 1.75rem; color: var(--aac-warm-deep); }
.aac-gl-group > h2::after { content: ""; flex: 1; height: 1px; background: var(--aac-line); }
.aac-gl-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; }
.aac-page .aac-gl-list > div { background: var(--aac-surface); border: 1px solid var(--aac-line) !important; border-radius: 14px; padding: 18px 20px !important; box-shadow: var(--aac-shadow-sm); scroll-margin-top: 72px; }
.aac-page .aac-gl-list dt { font-family: var(--aac-font-display); font-weight: 600 !important; font-size: 1.125rem !important; color: var(--aac-ink); }
.aac-page .aac-gl-list dd { margin: 6px 0 0; color: #3D4C63; line-height: 1.6; }
.aac-page .aac-gl-list > div:target { border-color: var(--aac-warm) !important; box-shadow: 0 0 0 3px var(--aac-warm-soft); }
@media (max-width: 720px) { .aac-gl-list { grid-template-columns: 1fr; } .aac-az { position: static; } }

/* ---- Resources: grouped cards -------------------------------------------- */
.aac-page .resource-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 18px; }
.aac-page .resource-list li { padding: 16px 18px !important; border: 1px solid var(--aac-line) !important; border-radius: 12px; background: var(--aac-paper); transition: border-color .18s var(--aac-ease), background .18s var(--aac-ease); }
.aac-page .resource-list li:hover { border-color: #F5C9B8 !important; background: var(--aac-warm-soft); }
.aac-page .resource-list li:last-child { border-bottom: 1px solid var(--aac-line) !important; }
.aac-page .resource-list a { font-size: 1rem; }
.aac-page .resource-list .desc { font-size: .875rem; line-height: 1.5; }
.aac-page .resource-section { padding-bottom: 20px; }
.aac-page .resource-section h2 { border-bottom: 0; padding-bottom: 0; }
@media (max-width: 720px) { .aac-page .resource-list { grid-template-columns: 1fr; } }

/* ---- Deadline calculator form in the system ------------------------------ */
.aac-page #calcForm input[type="date"], .aac-page #calcForm select { border: 1.5px solid #C9D1DE; border-radius: 12px; background: var(--aac-surface); color: var(--aac-ink); min-height: 48px; font-family: var(--aac-font-body); }
.aac-page #calcForm input:focus, .aac-page #calcForm select:focus { outline: none; border-color: var(--aac-ink); box-shadow: 0 0 0 3px rgba(242, 106, 80, .25); }
.aac-page #calcForm label.block, .aac-page #calcForm legend { font-family: var(--aac-font-display); font-size: 1.125rem; font-weight: 600; color: var(--aac-ink); }
.aac-page .radio-card { border: 1.5px solid #D3DAE5; border-radius: 12px; padding: 12px 14px; background: var(--aac-surface); cursor: pointer; transition: border-color .18s var(--aac-ease), background .18s var(--aac-ease); }
.aac-page .radio-card:hover { border-color: #F5C9B8; background: var(--aac-warm-soft); }
.aac-page .radio-card:has(input:checked) { border-color: var(--aac-warm-deep); background: var(--aac-warm-soft); }
.aac-page .radio-card input { accent-color: var(--aac-warm-deep); }
.aac-page .btn-secondary { background: var(--aac-surface); color: var(--aac-ink); border: 1.5px solid #D3DAE5; }
.aac-page .deadline-card { border-radius: 14px; border-color: var(--aac-line); }
.aac-page .deadline-card.warn { border-color: #F2B8C3; background: #FBE4E8; }
.aac-page .deadline-card.ok { border-color: #B5DEC9; background: #E6F4EE; }
.aac-page .bg-gradient-to-br.from-navy-dark .aac-promise { color: #E1E7F2; }
.aac-page section[aria-label="Deadline calculator form"] { border-radius: 20px; border-color: var(--aac-line); box-shadow: var(--aac-shadow-md); }
.aac-tool-hero .aac-hero__art img { object-position: 74% 50%; }
/* Callout body text in ink; only the callout's title carries the alert colour. */
.aac-page .bg-red-50 p:not(.font-semibold):not(.font-bold), .aac-page .bg-amber-50 p:not(.font-semibold):not(.font-bold) { color: var(--aac-ink-soft); }
/* GLP-1 guide (its own stylesheet, no Tailwind): readable greens and real tap targets. */
.aac-page .success-rate, .aac-page .savings-badge { background: #0B6E4C !important; }
.aac-page [style*="color: #28a745"] { color: #0B6E4C !important; }
.aac-page .cost-shock[style*="#28a745"] { background: #0B6E4C !important; }
.aac-page a.block.p-4 { display: block; padding: 1rem; }
.aac-page a.text-indigo-600 { display: inline-block; padding: 4px 0; }

/* Closing card inside the content column (pages with the contents rail): same
   left edge and width as the sections above it, at every width. */
.aac-flow > .aac-end-cta { max-width: 52rem; margin: 3rem 0 1.5rem; }
@media (max-width: 1100px) { .aac-flow > .aac-end-cta { max-width: 54rem; margin: 2.5rem auto 1.5rem; width: calc(100% - 2rem); } }
@media (max-width: 640px) { .aac-flow > .aac-end-cta { margin: 2rem 16px 1rem; width: auto; } }

/* ---- One palette (homepage tokens only) --------------------------------- */
/* Stat cards and the four-step band: ink figures, terracotta step numbers. */
.aac-page .text-center.rounded-lg[class*="-50"] .font-bold { color: var(--aac-ink) !important; }
.aac-page section.bg-white.border-b .text-2xl.font-bold { color: var(--aac-warm-deep) !important; }
/* Timeline: ink markers, one badge style. */
.aac-page .rounded-full.w-12.h-12, .aac-page .rounded-full.w-10.h-10 { background-color: var(--aac-ink) !important; color: #fff; }
.aac-page .bg-blue-100.text-blue-800, .aac-page .bg-amber-100.text-amber-800, .aac-page .bg-red-100.text-red-800, .aac-page .bg-green-100.text-green-800, .aac-page .bg-purple-100.text-purple-800 { background: var(--aac-warm-soft) !important; color: var(--aac-warm-text) !important; }
.aac-page .rounded-full.w-8.h-8[class*="bg-"][class*="-100"] { background: var(--aac-warm-soft) !important; }
.aac-page .rounded-full.w-8.h-8 i { color: var(--aac-warm-deep) !important; }
/* Deadline calculator results: white cards with a status rule; the box below is the closing card. */
.aac-page .deadline-card { background: var(--aac-surface) !important; border: 1px solid var(--aac-line) !important; border-left: 4px solid var(--aac-ink) !important; }
.aac-page .deadline-card.ok { border-left-color: var(--aac-success) !important; }
.aac-page .deadline-card.urgent { background: var(--aac-warm-soft) !important; border-color: #F5C9B8 !important; border-left-color: var(--aac-warm) !important; }
.aac-page .deadline-card.warn { background: #FBE4E8 !important; border-color: #F2B8C3 !important; border-left-color: var(--aac-danger) !important; }
.aac-page .deadline-card .dc-title, .aac-page .deadline-card .dc-date { color: var(--aac-ink); font-family: var(--aac-font-display); font-weight: 600; }
.aac-page .deadline-card .dc-badge-urgent { color: var(--aac-warm-text); }
.aac-page .deadline-card .dc-badge-warn { color: var(--aac-danger); }
.aac-page .bg-gradient-to-br.from-navy-dark { background: var(--aac-warm-soft) !important; color: var(--aac-ink) !important; border-left: 4px solid var(--aac-warm); border-radius: 0 20px 20px 0 !important; }
.aac-page .bg-gradient-to-br.from-navy-dark h3 { color: var(--aac-ink); }
.aac-page .bg-gradient-to-br.from-navy-dark .text-slate-200, .aac-page .bg-gradient-to-br.from-navy-dark .aac-promise { color: var(--aac-ink-soft) !important; }
/* Legal pages and resources notes. */
.aac-page .terms-header { border-bottom-color: var(--aac-warm) !important; }
.aac-page .terms-highlight, .aac-page .legal-disclaimer, .aac-page .disclaimer { background: var(--aac-warm-soft) !important; border-left-color: var(--aac-warm) !important; color: var(--aac-ink) !important; }
.aac-page .terms-highlight p, .aac-page .legal-disclaimer p, .aac-page .legal-disclaimer p strong, .aac-page .disclaimer strong { color: var(--aac-ink) !important; }
.aac-page .disclaimer-reminder { background: var(--aac-paper) !important; border-left-color: var(--aac-ink) !important; }
.aac-page .disclaimer-reminder p { color: var(--aac-ink-soft) !important; }

/* ---- State-law block on phones: one card deep, quotes at a readable width -- */
@media (max-width: 640px) {
  .aac-page .aa-law { padding-left: 16px !important; padding-right: 16px !important; }
  .aac-page .aa-law__card { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
  .aac-page .aa-law__item { padding: 18px 0 0 !important; background: transparent; border: 0 !important; border-top: 1px solid var(--aac-line) !important; border-radius: 0; }
  .aac-page .aa-law__quote { background: transparent; padding: 4px 0 4px 12px; margin-top: 10px; border-radius: 0; font-size: 1rem; }
}
/* Breadcrumb that wraps on phones: no indent on the second line. */
.aac-page nav[aria-label="Breadcrumb"] ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.aac-page nav[aria-label="Breadcrumb"] ol > * + * { margin-left: 0 !important; }
@media (max-width: 560px) { .aac-page .about-hero h1 { font-size: 1.75rem; } }
.aac-page .bg-gradient-to-br.from-navy-dark .aac-promise { margin-left: 0; max-width: 40rem; }

/* State timelines: step badges and duration tags in the site palette (navy steps,
   warm tags) instead of blue / amber / red. */
.aac-page h2[id$="-appeal-process-timeline"] ~ div .rounded-full.text-white { background: var(--aac-ink) !important; }
.aac-page h2[id$="-appeal-process-timeline"] ~ div span.rounded { background: var(--aac-warm-soft) !important; color: var(--aac-warm-text) !important; }
.aac-page h2[id$="-appeal-process-timeline"] ~ div .w-0\.5 { background: var(--aac-line) !important; }
.aac-page h2[id$="-appeal-process-timeline"] i.fas { color: var(--aac-warm-deep) !important; }

