:root {
  --ink: #14232d;
  --ink-strong: #0a151d;
  --ink-soft: #41505a;
  --canvas: #f4efe5;
  --paper: #f4efe5;
  --paper-deep: #e5d8c5;
  --surface: #f7efe2;
  --chrome-surface: #ece2d3;
  --card-surface: #f3eadc;
  --maroon: #723949;
  --brand-logo-maroon: #723949;
  --maroon-soft: #d9bbc4;
  --line: rgba(114, 57, 73, .20);
  --line-strong: rgba(114, 57, 73, .38);
  --brass: #b38345;
  --brass-soft: #e0c18d;
  --action-surface: #bd8b4b;
  --action-surface-hover: #c99a60;
  --action-ink: #24180c;
  --answer-accent: #4f7b68;
  --reference-accent: #6f7f8a;
  --reminder-surface: var(--surface);
  --pattern-opacity: .10;
  --content-link: #76511f;
  --content-link-hover: #503515;
  --deep-surface: #0a151d;
  --deep-ink: #f6f3ec;
  --deep-line: rgba(246, 243, 236, .22);
  --display: "Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --serif: "Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --sans: "Source Sans 3", "Segoe UI", Arial, sans-serif;
  --arabic: "KFGQPC Uthman Taha Naskh", "Amiri", serif;
  --shell: min(1240px, calc(100% - 48px));
  --catalog-shell: min(1440px, calc(100% - 48px));
  --radius: 14px;
  --shadow: 0 14px 40px rgba(20, 35, 45, .10);
  --box-shadow: inset 0 1px 0 rgba(255, 255, 255, .56), 0 3px 8px rgba(86, 62, 34, .11), 0 16px 34px rgba(86, 62, 34, .13), 0 32px 64px rgba(86, 62, 34, .09);
  --box-shadow-lift: inset 0 1px 0 rgba(255, 255, 255, .64), 0 5px 11px rgba(86, 62, 34, .13), 0 22px 44px rgba(86, 62, 34, .16), 0 40px 78px rgba(86, 62, 34, .11);
}
html {
  scroll-behavior: smooth;
  scrollbar-color: var(--maroon) var(--paper-deep);
  scrollbar-width: thin;
}
* { scrollbar-color: var(--maroon) var(--paper-deep); }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--paper-deep); }
::-webkit-scrollbar-thumb {
  min-height: 48px;
  border: 3px solid var(--paper-deep);
  border-radius: 999px;
  background: var(--maroon);
}
::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--maroon) 76%, var(--brass)); }
::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
::-webkit-scrollbar-corner { background: var(--paper-deep); }
html[data-theme="dark"] { --ink: #f7f3eb; --ink-strong: #fffdf9; --ink-soft: #c9c5bc; --canvas: #121a1c; --paper: #121a1c; --paper-deep: #202a29; --surface: #192326; --chrome-surface: #0e1719; --card-surface: #20292a; --maroon: #723949; --maroon-soft: #57303b; --line: rgba(114, 57, 73, .38); --line-strong: rgba(114, 57, 73, .64); --brass: #e0b871; --brass-soft: #4f3d25; --action-surface: #d9ac68; --action-surface-hover: #e7c184; --action-ink: #11191b; --answer-accent: #8db9a4; --reference-accent: #9dadb6; --pattern-opacity: .13; --content-link: #e6c88e; --content-link-hover: #fff2d8; --deep-surface: #071117; --deep-ink: #f7f3eb; --deep-line: rgba(114, 57, 73, .52); --shadow: 0 18px 50px rgba(0, 0, 0, .28); --box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 3px 9px rgba(0, 0, 0, .34), 0 18px 40px rgba(0, 0, 0, .28), 0 36px 72px rgba(0, 0, 0, .19); --box-shadow-lift: inset 0 1px 0 rgba(255, 255, 255, .07), 0 6px 13px rgba(0, 0, 0, .38), 0 25px 50px rgba(0, 0, 0, .33), 0 46px 88px rgba(0, 0, 0, .22); color-scheme: dark; }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.55; text-rendering: optimizeLegibility; }
.site-main { position: relative; z-index: 0; isolation: isolate; background: var(--canvas); }
.site-main { animation: ha-page-enter .26s cubic-bezier(.2, .7, .2, 1) both; }
.site-main::before { position: absolute; z-index: -1; inset: 0; background-image: url("../ha-pattern.svg"); background-position: center top; background-repeat: repeat; background-size: 680px auto; content: ""; opacity: var(--pattern-opacity); pointer-events: none; }
body::before { position: fixed; z-index: 100000; top: 0; right: 0; left: 0; height: 3px; background: linear-gradient(90deg, var(--maroon), var(--brass)); content: ""; opacity: 0; pointer-events: none; transform: scaleX(0); transform-origin: left center; }
html.is-navigating body::before { opacity: 1; animation: ha-navigation-progress 2.4s cubic-bezier(.16, 1, .3, 1) forwards; }
html.is-navigating .site-main { opacity: .28; transform: translateY(-4px); transition: opacity .12s ease, transform .12s ease; }
.is-navigation-target { color: var(--brass) !important; }
@keyframes ha-navigation-progress { 0% { transform: scaleX(.06); } 45% { transform: scaleX(.58); } 100% { transform: scaleX(.9); } }
@keyframes ha-page-enter { from { opacity: .68; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
iframe, embed, object, video { max-width: 100%; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
.shell { width: var(--shell); margin-inline: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed !important; inset: 12px auto auto 12px; width: auto; height: auto; margin: 0; padding: 10px 14px; clip: auto; background: var(--brass); color: var(--ink-strong); z-index: 1000; }
.section-kicker { color: var(--brass); font: 700 .70rem/1.2 var(--sans); letter-spacing: .16em; text-transform: uppercase; margin: 0 0 14px; }
.text-link { display: inline-flex; gap: 10px; align-items: center; color: var(--ink); font-weight: 700; font-size: .88rem; text-decoration: none; }
.text-link:hover { color: var(--brass); }

/* Header */
.site-header { position: sticky; z-index: 50; top: 0; background: var(--chrome-surface); border-bottom: 1px solid var(--line); transform: translateY(0); transition: transform .22s cubic-bezier(.2,.7,.2,1), box-shadow .22s ease; will-change: transform; }
.site-header.is-hidden { transform: translateY(calc(-100% - 4px)); }
.site-header.is-scrolled { box-shadow: 0 8px 24px rgba(20, 35, 45, .08); }
.site-header:focus-within { transform: translateY(0); }
html[data-theme="dark"] .site-header.is-scrolled { box-shadow: 0 8px 24px rgba(0, 0, 0, .22); }
body.admin-bar .site-header { top: 32px; }
.site-header__main { background: var(--chrome-surface); }
.site-header__inner { position: relative; width: var(--catalog-shell); min-height: 84px; margin-inline: auto; display: flex; gap: 16px; align-items: center; }
.site-header__identity { display: flex; flex: 0 0 190px; align-items: center; min-width: 0; padding: 10px 8px; }
.site-brand { display: inline-flex; width: 170px; align-items: center; text-decoration: none; }
.site-header--home .site-header__identity { flex-basis: 300px; }
.site-header--home .site-brand { width: 290px; }
.site-brand__home-mark { display: block; width: 290px; max-height: 58px; object-fit: contain; }
@supports ((mask-image: url("")) or (-webkit-mask-image: url(""))) {
  .site-header--home .site-brand--home {
    background: var(--brand-logo-maroon);
    -webkit-mask: url("../home-calligraphy-mask.png") center / contain no-repeat;
    mask: url("../home-calligraphy-mask.png") center / contain no-repeat;
  }
  .site-header--home .site-brand__home-mark { opacity: 0; }
}
.site-header__today { position: absolute; left: 50%; display: grid; justify-items: center; gap: 4px; color: var(--ink-soft); font-size: .68rem; line-height: 1.2; transform: translateX(-50%); }
.site-header__today-label { color: var(--brass); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.site-header__today-values { display: flex; align-items: center; gap: 0 11px; }
.site-header__today-values > * { white-space: nowrap; }
.site-header__today-values > * + *::before { margin-right: 11px; color: var(--brass); content: "·"; }
.site-navigation { flex: 0 1 auto; min-width: 0; margin-left: auto; }
.site-navigation__list { display: flex; justify-content: flex-end; align-items: center; gap: clamp(10px, 1.25vw, 20px); list-style: none; padding: 0; margin: 0; }
.site-navigation__list a, .site-navigation__menu-toggle { font-size: .84rem; font-weight: 650; text-decoration: none; white-space: nowrap; }
.site-navigation__list a:hover, .site-navigation__list .current-menu-item > a { color: var(--brass); }
.site-navigation__list a.site-navigation__cta { min-height: 40px; display: inline-flex; align-items: center; padding: 0 16px; border: 1px solid var(--brass); border-radius: 10px; background: transparent; color: var(--brass); box-shadow: none; transition: border-color .18s ease, color .18s ease, transform .18s ease; }
.site-navigation__list a.site-navigation__cta:hover, .site-navigation__list a.site-navigation__cta:focus-visible { border-color: color-mix(in srgb, var(--brass) 78%, var(--ink)); background: transparent; color: var(--content-link-hover); box-shadow: none; transform: translateY(-1px); }
.site-navigation__item--menu { position: static; }
.site-navigation__menu-toggle { display: inline-flex; align-items: center; min-height: 42px; padding: 0; border: 0; background: transparent; color: var(--ink); }
.site-navigation__menu-toggle:hover, .site-navigation__menu-toggle[aria-expanded="true"] { color: var(--brass); }
.site-navigation__dropdown { position: absolute; z-index: 20; top: calc(100% - 3px); right: 0; left: 0; display: grid; grid-template-columns: minmax(235px, .72fr) minmax(0, 2.28fr); gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(8px); transition: opacity .16s ease, transform .16s ease, visibility .16s ease; }
.site-navigation__item--menu:hover > .site-navigation__dropdown, .site-navigation__item--menu:focus-within > .site-navigation__dropdown, .site-navigation__item--menu.is-open > .site-navigation__dropdown { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.site-navigation__category-panel { min-width: 0; padding: 18px 20px 20px; border: 1px solid var(--line); border-radius: 11px; }
.site-navigation__category-panel--main { background: color-mix(in srgb, var(--paper-deep) 82%, var(--surface)); }
.site-navigation__category-panel--sub { background: color-mix(in srgb, var(--paper-deep) 34%, var(--surface)); }
html[data-theme="dark"] .site-navigation__category-panel--main { background: color-mix(in srgb, var(--deep-surface) 48%, var(--surface)); }
html[data-theme="dark"] .site-navigation__category-panel--sub { background: color-mix(in srgb, var(--paper-deep) 34%, var(--surface)); }
.site-navigation__category-panel h2 { margin: 0 0 13px; color: var(--brass); font: 750 .65rem/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.site-navigation__main-categories { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.site-navigation__subcategory-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 28px; }
.site-navigation__group ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.site-navigation__main-categories a, .site-navigation__group a { display: block; padding: 5px 0; color: var(--ink-soft); font-size: .78rem; font-weight: 550; white-space: normal; }
.site-navigation__main-categories a { color: var(--ink); font-weight: 650; }
.site-navigation__main-categories a:hover, .site-navigation__main-categories a:focus-visible, .site-navigation__group a:hover, .site-navigation__group a:focus-visible { color: var(--brass); }
.site-search { display: flex; align-items: center; gap: 10px; background: var(--paper); border: 1px solid var(--line); border-radius: 999px; min-height: 46px; padding: 5px 6px 5px 15px; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.site-search:focus-within { border-color: var(--brass); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brass) 18%, transparent); }
.site-search__icon { flex: 0 0 16px; width: 16px; height: 16px; border: 1.6px solid var(--brass); border-radius: 50%; position: relative; }
.site-search__icon::after { content: ""; position: absolute; width: 6px; height: 1.6px; background: var(--brass); right: -5px; bottom: -2px; transform: rotate(45deg); transform-origin: left center; }
.site-search input { min-width: 0; width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; -webkit-appearance: none; appearance: none; }
.site-search input::-webkit-search-decoration, .site-search input::-webkit-search-cancel-button, .site-search input::-webkit-search-results-button, .site-search input::-webkit-search-results-decoration { display: none; -webkit-appearance: none; }
.site-search input::placeholder { color: var(--ink-soft); opacity: .8; }
.site-search button { display: inline-flex; width: 38px; height: 38px; min-width: 38px; min-height: 38px; flex: 0 0 38px; align-items: center; justify-content: center; border: 0; border-radius: 50%; padding: 0; background: transparent; color: var(--brass); }
.site-search button:hover, .site-search button:focus-visible { background: transparent; color: var(--ink); }
.site-search__submit-icon { display: block; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.site-search button:hover .site-search__submit-icon, .site-search button:focus-visible .site-search__submit-icon { transform: translateX(2px); }
.site-search__submit-icon--search { display: none; }
.site-search--header { position: absolute; left: 50%; width: min(420px, 36vw); min-height: 48px; transform: translateX(-50%); }
.theme-toggle { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); }
.theme-toggle:hover { color: var(--brass); border-color: var(--brass); }
.theme-toggle__icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.theme-toggle__icon--sun { display: none; }
html[data-theme="dark"] .theme-toggle__icon--moon { display: none; }
html[data-theme="dark"] .theme-toggle__icon--sun { display: block; }
.site-menu-toggle { display: none; }

/* Approved single-piece brand lockup supplied by the client. */
.ha-archive-lockup { display: inline-flex; width: min(100%, 590px); min-width: 0; align-items: center; justify-content: center; }
.ha-archive-lockup__home-link { display: block; width: 100%; border-radius: 4px; text-decoration: none; }
.ha-archive-lockup__home-link:focus-visible { outline: 2px solid var(--brass); outline-offset: 4px; }
.ha-archive-lockup__image { display: block; width: 100%; height: auto; margin: 0; filter: none; }
.site-brand .ha-archive-lockup--header { width: 170px; }
.ha-archive-lockup--hero { width: min(100%, 520px); }

@media (min-width: 1121px) {
  .site-navigation, .site-navigation__list, .site-navigation__list > li { align-self: stretch; }
  .site-navigation, .site-navigation__list > li { display: flex; align-items: center; }
  .home-main > .home-today { display: none; }
}

@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header { transition: none; }
}

/* Homepage */
.home-hero { position: relative; z-index: 2; overflow: visible; border-bottom: 0; background: transparent; }
.home-hero__pattern { display: none; }
.home-hero__grid { position: relative; min-height: 300px; display: flex; flex-direction: column; justify-content: center; align-items: center; padding-block: 56px 12px; text-align: center; }
.home-hero__grid > * { min-width: 0; width: 100%; }
.home-hero__copy { max-width: 720px; margin-inline: auto; }
.home-hero__brand { display: flex; justify-content: center; margin: 0; line-height: 1; }
.home-search-panel { position: relative; max-width: 860px; margin: 30px auto 0; }
.site-search--hero { min-height: 76px; padding: 8px 9px 8px 24px; border-color: var(--line-strong); background: var(--surface); box-shadow: 0 20px 55px rgba(20, 35, 45, .13); }
.site-search--hero .site-search__icon { width: 19px; height: 19px; flex-basis: 19px; }
.site-search--hero input { font-size: 1.04rem; }
.site-search--hero button { width: 50px; height: 50px; min-width: 50px; min-height: 50px; flex-basis: 50px; }
.home-search-panel__support { margin: 15px 0 0; color: var(--ink-soft); font-size: .8rem; }
.home-search-info { position: relative; z-index: 4; display: inline-block; margin-top: 10px; color: var(--ink-soft); font: 600 .72rem/1.3 var(--sans); }
.home-search-info summary { display: inline-flex; align-items: center; gap: 7px; padding: 3px 2px; color: var(--ink-soft); cursor: help; list-style: none; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--brass) 48%, transparent); text-decoration-thickness: 1px; text-underline-offset: 4px; transition: color .18s ease; }
.home-search-info summary::-webkit-details-marker { display: none; }
.home-search-info summary:hover, .home-search-info summary:focus-visible, .home-search-info[open] summary { color: var(--content-link-hover); }
.home-search-info__icon { display: inline-grid; width: 17px; height: 17px; place-items: center; border: 1px solid color-mix(in srgb, var(--brass) 72%, var(--line)); border-radius: 50%; color: var(--brass); font: 700 .66rem/1 var(--sans); text-decoration: none; }
.home-search-info__popover { position: absolute; top: calc(100% + 11px); left: 50%; width: min(500px, calc(100vw - 40px)); padding: 18px 20px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface); box-shadow: 0 16px 40px color-mix(in srgb, var(--ink) 13%, transparent); color: var(--ink-soft); font: 400 .8rem/1.55 var(--sans); text-align: left; opacity: 0; pointer-events: none; transform: translate(-50%, 5px); transition: opacity .16s ease, transform .16s ease; }
.home-search-info:not([open]) .home-search-info__popover { display: block; }
.home-search-info__popover::before { position: absolute; top: -6px; left: 50%; width: 10px; height: 10px; border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); background: var(--surface); content: ""; transform: translateX(-50%) rotate(45deg); }
.home-search-info__popover p { margin: 0; }
.home-search-info__popover p + p { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.home-search-info__popover strong { color: var(--ink); font-weight: 700; }
.home-search-info:focus-within .home-search-info__popover, .home-search-info[open] .home-search-info__popover { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
@media (hover: hover) and (pointer: fine) {
  .home-search-info:hover .home-search-info__popover { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
}
.home-today { border-bottom: 1px solid var(--line); background: var(--surface); }
.home-today__inner { min-height: 48px; display: flex; justify-content: center; align-items: center; gap: 18px; color: var(--ink-soft); font-size: .72rem; }
.home-today__label { color: var(--brass); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.home-today__values { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 12px; }
.home-today__values > * { white-space: nowrap; }
.home-today__values > * + *::before { margin-right: 12px; color: var(--brass); content: "·"; }
.home-latest { padding-block: 36px 32px; }
.home-latest.shell { width: var(--catalog-shell); }
.home-latest__heading { display: flex; justify-content: space-between; gap: 30px; align-items: end; border-bottom: 1px solid var(--line); padding-bottom: 20px; }
.home-latest h2 { margin: 0; font: 700 clamp(1.9rem, 2.45vw, 2.65rem)/1 var(--display); letter-spacing: -.025em; }
.home-latest h2 a { color: inherit; text-decoration: none; }
.home-latest h2 a:hover, .home-latest h2 a:focus-visible { color: var(--brass); }
.home-latest__archive { display: flex; justify-content: center; margin-top: 36px; }
.home-latest__all { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 12px; padding: 0 22px; border: 1px solid color-mix(in srgb, var(--brass) 58%, var(--line)); border-radius: 999px; background: var(--card-surface); color: var(--ink); box-shadow: var(--box-shadow); font: 600 .82rem/1 var(--sans); text-decoration: none; transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }
.home-latest__all span { color: var(--brass); font-size: 1rem; transition: transform .18s ease; }
.home-latest__all:hover, .home-latest__all:focus-visible { border-color: var(--brass); background: var(--paper-deep); color: var(--ink-strong); box-shadow: var(--box-shadow-lift); transform: translateY(-2px); }
.home-latest__all:hover span, .home-latest__all:focus-visible span { color: currentColor; transform: translateX(3px); }
.home-popular { padding-block: 32px 84px; }
.home-popular.shell { width: var(--catalog-shell); }
.home-popular__heading { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.home-popular h2 { margin: 0; font: 700 clamp(1.9rem, 2.45vw, 2.65rem)/1 var(--display); letter-spacing: -.025em; }
.home-popular h2 a { color: inherit; text-decoration: none; }
.home-popular h2 a:hover, .home-popular h2 a:focus-visible { color: var(--brass); }
.home-categories { position: relative; padding-block: 32px 42px; }
.home-categories__inner { width: var(--catalog-shell); }
.home-categories__heading { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.home-categories__heading h2 { margin: 0; font: 700 clamp(1.9rem, 2.45vw, 2.65rem)/1 var(--display); letter-spacing: -.025em; }
.home-categories__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; list-style: none; margin: 28px 0 0; padding: 0; }
.home-categories__list li { overflow: hidden; border: 1.5px solid var(--line-strong); border-radius: 10px; background: var(--card-surface); box-shadow: inset 0 1px 0 color-mix(in srgb, white 48%, transparent), 0 4px 12px color-mix(in srgb, var(--deep-surface) 7%, transparent); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.home-categories__list a { display: grid; min-height: 76px; grid-template-columns: 38px minmax(0, 1fr) auto 20px; align-items: center; gap: 14px; padding: 0 18px; color: var(--ink); text-decoration: none; }
.home-categories__number { color: var(--brass); font: 750 .64rem/1 var(--sans); letter-spacing: .1em; }
.home-categories__list strong { font: 550 1.12rem/1.15 var(--serif); letter-spacing: -.015em; }
.home-categories__count { color: var(--ink-soft); font-size: .72rem; white-space: nowrap; }
.home-categories__list svg { width: 18px; height: 18px; fill: none; stroke: var(--brass); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: stroke .18s ease, transform .18s ease; }
.home-categories__list li:hover, .home-categories__list li:focus-within { border-color: var(--maroon); box-shadow: var(--box-shadow-lift); transform: translateY(-2px); }
html[data-theme="dark"] .home-categories__list li { box-shadow: 0 4px 12px rgba(0, 0, 0, .22); }
.home-categories__list a:hover, .home-categories__list a:focus-visible { color: var(--content-link-hover); }
.home-categories__list a:hover svg, .home-categories__list a:focus-visible svg { stroke: currentColor; transform: translateX(3px); }
.home-categories__list a:focus-visible { outline: 2px solid var(--brass); outline-offset: -4px; }
.home-question-cta { padding: 0 0 84px; }
.home-question-cta__divider { display: block; width: min(100% - 80px, 760px); margin: 0 auto 26px; }
.home-question-cta__divider--footer { margin-bottom: 32px; }
.home-question-cta__inner { display: flex; align-items: center; justify-content: center; }
.home-question-cta--search { padding: 18px 0 34px; }
.home-question-cta--search .home-question-cta__inner { width: min(390px, calc(100% - 48px)); padding: 0; text-align: center; }
.home-question-cta__inner > a { display: inline-flex; width: 100%; min-height: 58px; align-items: center; justify-content: center; gap: 14px; padding: 0 28px; border: 1.5px solid color-mix(in srgb, var(--brass) 82%, var(--line)); border-radius: 20px; background: color-mix(in srgb, var(--paper) 76%, var(--surface)); color: var(--brass); box-shadow: 0 8px 20px color-mix(in srgb, var(--deep-surface) 8%, transparent); font-size: .94rem; font-weight: 750; text-decoration: none; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease; }
.home-question-cta__inner > a:hover, .home-question-cta__inner > a:focus-visible { border-color: var(--maroon); background: color-mix(in srgb, var(--maroon) 7%, var(--surface)); color: var(--maroon); box-shadow: 0 11px 26px color-mix(in srgb, var(--deep-surface) 13%, transparent); transform: translateY(-2px); }
.home-question-cta__inner svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.home-question-cta__inner > a:hover .home-question-cta__arrow, .home-question-cta__inner > a:focus-visible .home-question-cta__arrow { transform: translateX(2px); }
.home-question-cta--footer { padding: 42px 0 84px; }
.home-question-cta--footer .home-question-cta__inner { width: var(--catalog-shell); justify-content: space-between; gap: 28px; padding: 30px 34px; border: 1.5px solid var(--line-strong); border-radius: 16px; background: var(--card-surface); box-shadow: var(--box-shadow); }
.home-question-cta--footer .home-question-cta__copy h2 { margin: 0; font: 500 clamp(1.55rem, 2vw, 2rem)/1.1 var(--serif); letter-spacing: -.025em; }
.home-question-cta--footer .home-question-cta__inner > a { width: auto; min-height: 46px; flex: 0 0 auto; padding: 0 20px; border-color: color-mix(in srgb, var(--action-surface) 82%, var(--line)); border-radius: 999px; background: var(--action-surface); color: var(--action-ink); box-shadow: 0 7px 18px color-mix(in srgb, var(--brass) 18%, transparent); font-size: .82rem; }
.home-question-cta--footer .home-question-cta__inner > a:hover, .home-question-cta--footer .home-question-cta__inner > a:focus-visible { border-color: var(--maroon); background: var(--maroon); color: #fffaf2; box-shadow: 0 10px 24px color-mix(in srgb, var(--maroon) 28%, transparent); transform: translateY(-1px); }
.topic-list { border-top: 1px solid var(--line); }
.topic-list a { display: grid; grid-template-columns: 1fr auto 24px; gap: 16px; align-items: center; min-height: 58px; border-bottom: 1px solid var(--line); text-decoration: none; }
.topic-list a:hover { color: var(--brass); padding-inline: 8px; }
.topic-list a small { color: var(--ink-soft); font-size: .75rem; }
.topic-list a b { font-size: 1.1rem; font-weight: 400; text-align: right; }
.answer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.answer-card { height: 328px; max-height: 328px; padding: 24px; display: flex; flex-direction: column; overflow: hidden; background: var(--card-surface); border: 1.5px solid var(--line-strong); border-radius: 10px; box-shadow: var(--box-shadow); cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.answer-card:hover { border-color: var(--maroon); box-shadow: var(--box-shadow-lift); transform: translateY(-3px); }
.answer-card__date { display: flex; flex-wrap: wrap; gap: 6px 10px; color: var(--ink-soft); font-size: .72rem; }
.answer-card__date span + span::before { content: "·"; margin-right: 10px; color: var(--brass); }
.answer-card__views, .answer-article__views { white-space: nowrap; }
.answer-card h2, .answer-card h3 { display: -webkit-box; overflow: hidden; margin: 22px 0 calc(9px - .12em); padding-bottom: .12em; font: 500 1.55rem/1.14 var(--serif); letter-spacing: -.025em; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; }
.answer-card h2 a, .answer-card h3 a { text-decoration: none; }
.answer-card > p { min-height: 0; flex: 1; display: flex; flex-direction: column; overflow: hidden; margin: 0; padding-bottom: .28em; color: var(--ink-soft); font-size: .92rem; line-height: 1.55; }
.answer-card__question-label { display: block; margin-bottom: 5px; color: var(--brass); font-size: .72rem; font-weight: 700; line-height: 1.2; }
.answer-card__question-copy { --question-clip: calc(100% - 2em); min-height: 0; flex: 1; display: block; overflow: hidden; padding-bottom: .32em; -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 var(--question-clip), transparent var(--question-clip), transparent 100%); mask-image: linear-gradient(to bottom, #000 0, #000 var(--question-clip), transparent var(--question-clip), transparent 100%); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.answer-card .arabic, .answer-card [lang="ar"], .answer-card [lang^="ar-"] { display: block; margin-top: 6px; font-family: var(--arabic); font-size: 1.08em; line-height: 1.6; text-align: right; direction: rtl; unicode-bidi: isolate; }
.answer-card h2 .arabic, .answer-card h2 [lang="ar"], .answer-card h2 [lang^="ar-"], .answer-card h3 .arabic, .answer-card h3 [lang="ar"], .answer-card h3 [lang^="ar-"], .answer-card .arabic--inline { display: inline-block; margin: 0 .18em; font-size: 1em; line-height: inherit; text-align: inherit; vertical-align: baseline; }
.empty-note { color: var(--ink-soft); }

/* Answer, pages, archive */
.answer-main, .page-main, .archive-main, .error-main { padding-block: 68px 104px; }
.answer-main { z-index: 1; }
.answer-layout { display: block; }
.answer-main .answer-layout { width: var(--catalog-shell); }
.answer-article { width: 100%; margin-inline: auto; }
.breadcrumbs { margin-bottom: 30px; color: var(--ink-soft); font-size: .72rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 9px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li { display: inline-flex; min-width: 0; align-items: center; gap: 9px; }
.breadcrumbs li + li::before { color: var(--brass); content: "›"; font-size: .92rem; line-height: 1; }
.breadcrumbs li[aria-current="page"] { max-width: min(52ch, 100%); }
.breadcrumbs li[aria-current="page"] span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.breadcrumbs a { color: inherit; text-decoration: none; transition: color .16s ease; }
.breadcrumbs a:hover, .breadcrumbs a:focus-visible { color: var(--brass); }
.answer-article__header { padding-bottom: 28px; border-bottom: 1px solid color-mix(in srgb, var(--maroon) 72%, transparent); }
.answer-article__header-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px 32px; }
.answer-article__header h1 { margin: 0; max-width: 1100px; font: 500 clamp(1.8rem, 2.25vw, 2.75rem)/1.1 var(--serif); letter-spacing: -.038em; }
.archive-heading h1, .page-article h1, .error-main h1 { margin: 0; max-width: 1120px; font: 700 clamp(2.5rem, 4.5vw, 4.55rem)/.98 var(--display); letter-spacing: -.035em; }
.answer-article__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 18px; margin-top: 24px; color: var(--ink-soft); font: 500 .76rem/1.3 var(--sans); }
.answer-article__meta-item { display: inline-flex; align-items: center; gap: 7px; color: inherit; text-decoration: none; }
.answer-article__meta-item + .answer-article__meta-item { position: relative; padding-left: 18px; }
.answer-article__meta-item + .answer-article__meta-item::before { position: absolute; left: 0; width: 1px; height: 15px; background: var(--line-strong); content: ""; }
.answer-article__meta-item svg { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: var(--brass); stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.answer-article__date-separator { color: var(--brass); }
.answer-article__meta a.answer-article__meta-item { transition: color .16s ease; }
.answer-article__meta a.answer-article__meta-item:hover, .answer-article__meta a.answer-article__meta-item:focus-visible { color: var(--brass); }
.answer-article__body { min-width: 0; max-width: none; margin-inline: auto; padding: 42px 0 20px; overflow-wrap: anywhere; font-family: var(--serif); font-size: 1.15rem; line-height: 1.75; }
.answer-panel { padding: clamp(24px, 4vw, 38px); border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--surface); box-shadow: var(--box-shadow); }
.answer-panel + .answer-panel { margin-top: 18px; }
.answer-panel--question { border-color: color-mix(in srgb, var(--maroon) 58%, var(--line)); border-left: 4px solid var(--maroon); background: color-mix(in srgb, var(--surface) 96%, var(--maroon)); }
.answer-panel--answer { border-color: color-mix(in srgb, var(--maroon) 44%, var(--line)); border-left: 4px solid var(--answer-accent); background: color-mix(in srgb, var(--surface) 95%, var(--answer-accent)); }
.answer-panel--references { position: relative; padding: 0; border-color: color-mix(in srgb, var(--maroon) 40%, var(--line)); border-left: 4px solid var(--reference-accent); background: color-mix(in srgb, var(--card-surface) 92%, var(--reference-accent)); }
.answer-article__body .answer-panel__heading { display: flex; align-items: center; gap: 11px; margin: 0 0 22px; color: var(--ink); font: 700 .78rem/1.2 var(--sans); letter-spacing: .035em; }
.answer-panel__icon { display: inline-grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 50%; background: var(--brass); color: var(--deep-surface); }
.answer-panel--question .answer-panel__icon { background: var(--maroon); color: var(--deep-ink); }
.answer-panel--answer .answer-panel__icon { background: var(--answer-accent); }
.answer-panel--references .answer-panel__icon { background: var(--reference-accent); }
.answer-panel__icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.answer-panel--references .answer-panel__summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: clamp(20px, 3vw, 28px) clamp(24px, 4vw, 38px); cursor: pointer; list-style: none; }
.answer-panel--references .answer-panel__summary::-webkit-details-marker { display: none; }
.answer-panel--references .answer-panel__summary::marker { content: ""; }
.answer-article__body .answer-panel--references .answer-panel__heading { margin: 0; }
.answer-panel__toggle { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; color: var(--ink-soft); font: 650 .72rem/1 var(--sans); }
.answer-panel__toggle-label::before { content: "Show references"; }
.answer-panel__toggle svg { width: 17px; height: 17px; fill: none; stroke: var(--reference-accent); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.answer-panel--references[open] .answer-panel__toggle-label::before { content: "Hide references"; }
.answer-panel--references[open] .answer-panel__toggle svg { transform: rotate(180deg); }
.answer-panel--references .answer-panel__summary:hover .answer-panel__toggle, .answer-panel--references .answer-panel__summary:focus-visible .answer-panel__toggle { color: var(--ink); }
.answer-panel--references .answer-panel__summary:focus-visible { outline: 2px solid color-mix(in srgb, var(--reference-accent) 70%, transparent); outline-offset: -5px; border-radius: calc(var(--radius) - 4px); }
.answer-panel__preview { position: absolute; z-index: 8; top: calc(100% + 10px); right: clamp(16px, 4vw, 38px); width: min(520px, calc(100% - 32px)); padding: 18px 20px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface); color: var(--ink-soft); box-shadow: 0 16px 40px color-mix(in srgb, var(--ink) 13%, transparent); font: 400 1rem/1.8 var(--arabic); text-align: right; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(5px); transition: opacity .16s ease, visibility .16s ease, transform .16s ease; }
.answer-panel__preview::after { position: absolute; right: 30px; bottom: 100%; width: 10px; height: 10px; border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); background: var(--surface); content: ""; transform: translateY(5px) rotate(45deg); }
.answer-panel__preview-label { display: block; margin-bottom: 5px; color: var(--brass); font: 700 .66rem/1.2 var(--sans); letter-spacing: .06em; }
.answer-panel--references:not([open]) .answer-panel__summary:hover .answer-panel__preview, .answer-panel--references:not([open]).is-preview-visible .answer-panel__preview { opacity: 1; visibility: visible; transform: translateY(0); }
.answer-panel--references .answer-panel__content { padding: clamp(22px, 3.4vw, 34px) clamp(24px, 4vw, 38px) clamp(26px, 4vw, 38px); border-top: 1px solid color-mix(in srgb, var(--reference-accent) 28%, var(--line)); font-size: .96em; }
.answer-panel--references .answer-panel__arabic-label { margin: 0 0 20px; color: var(--ink); font: 700 1.2rem/1.7 var(--arabic); text-align: right; }
.answer-panel--answer .answer-panel__content p[dir="rtl"],
.answer-panel--answer .answer-panel__content p[lang="ar"],
.answer-panel--answer .answer-panel__content p[lang^="ar-"],
.answer-panel--answer .answer-panel__content p[style*="lotus" i] { margin: 1.45em 0; padding: clamp(18px, 2.8vw, 28px); border: 1px solid color-mix(in srgb, var(--maroon) 30%, var(--line)); border-radius: 10px; background: color-mix(in srgb, var(--paper-deep) 72%, var(--surface)); color: var(--ink); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--surface) 70%, transparent); font-family: var(--arabic) !important; font-size: clamp(1.22rem, 1.6vw, 1.52rem) !important; line-height: 2 !important; direction: rtl; text-align: center !important; unicode-bidi: isolate; }
.answer-panel__content > :first-child { margin-top: 0; }
.answer-panel__content > :last-child { margin-bottom: 0; }
.answer-article__body h2, .answer-article__body h3 { margin-top: 2.4em; font-family: var(--serif); line-height: 1.1; }
.answer-article__body blockquote { margin: 2em 0; padding: 24px 28px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper-deep); font-family: var(--arabic); font-size: 1.55em; line-height: 1.9; direction: rtl; text-align: right; }
.answer-article__body img { border-radius: 8px; }
.answer-article__body a, .answer-article__body a:visited, .answer-article__body a *, .page-article__body a, .page-article__body a:visited, .page-article__body a * { color: var(--content-link) !important; text-decoration-color: color-mix(in srgb, var(--content-link) 48%, transparent); text-decoration-thickness: .07em; text-underline-offset: .18em; }
.answer-article__body a:hover, .answer-article__body a:focus-visible, .answer-article__body a:hover *, .answer-article__body a:focus-visible *, .page-article__body a:hover, .page-article__body a:focus-visible, .page-article__body a:hover *, .page-article__body a:focus-visible * { color: var(--content-link-hover) !important; text-decoration-color: currentColor; }
.answer-article__body span[style*="#0000ff" i], .answer-article__body span[style*="rgb(0, 0, 255)" i], .page-article__body span[style*="#0000ff" i], .page-article__body span[style*="rgb(0, 0, 255)" i] { color: inherit !important; }
.answer-article__share { display: flex; flex: 0 0 auto; justify-content: flex-end; padding-top: 0; }
.answer-article__tags { padding-bottom: 36px; }
.answer-share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: .78rem; }
.answer-share strong { margin-right: 8px; }
.answer-share__icon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 1px solid color-mix(in srgb, var(--brass) 52%, var(--line)); border-radius: 50%; background: var(--surface); color: var(--brass); text-decoration: none; transition: background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease; }
.answer-share__icon:hover, .answer-share__icon:focus-visible { border-color: var(--brass); background: var(--brass); color: var(--action-ink); box-shadow: 0 7px 18px color-mix(in srgb, var(--brass) 22%, transparent); transform: translateY(-2px); }
.answer-share__icon svg { width: 18px; height: 18px; overflow: visible; fill: currentColor; }
.answer-share__tooltip { position: absolute; z-index: 3; bottom: calc(100% + 9px); left: 50%; padding: 6px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--ink); color: var(--paper); box-shadow: var(--shadow); font: 700 .68rem/1 var(--sans); white-space: nowrap; opacity: 0; pointer-events: none; transform: translate(-50%, 4px); transition: opacity .16s ease, transform .16s ease; }
.answer-share__icon:hover .answer-share__tooltip, .answer-share__icon:focus-visible .answer-share__tooltip { opacity: 1; transform: translate(-50%, 0); }
.answer-share__icon[data-copy-feedback].is-copied .answer-share__tooltip { opacity: 0; }
.answer-share__icon[data-copy-feedback] { position: relative; }
.answer-share__icon[data-copy-feedback] svg { transition: opacity .14s ease, transform .14s ease; }
.answer-share__icon[data-copy-feedback]::before { content: ""; position: absolute; top: 47%; left: 50%; width: 6px; height: 11px; border: solid currentColor; border-width: 0 2px 2px 0; opacity: 0; transform: translate(-50%, -55%) rotate(45deg) scale(.65); transition: opacity .14s ease, transform .14s ease; }
.answer-share__icon[data-copy-feedback]::after { content: "Copied"; position: absolute; z-index: 2; bottom: calc(100% + 9px); left: 50%; padding: 6px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--ink); color: var(--paper); box-shadow: var(--shadow); font-size: .68rem; font-weight: 700; line-height: 1; white-space: nowrap; opacity: 0; pointer-events: none; transform: translate(-50%, 4px); transition: opacity .16s ease, transform .16s ease; }
.answer-share__icon[data-copy-feedback].is-copied { border-color: var(--brass); background: var(--brass); color: var(--action-ink); }
.answer-share__icon[data-copy-feedback].is-copied svg { opacity: 0; transform: scale(.65); }
.answer-share__icon[data-copy-feedback].is-copied::before { opacity: 1; transform: translate(-50%, -55%) rotate(45deg) scale(1); }
.answer-share__icon[data-copy-feedback].is-copied::after { opacity: 1; transform: translate(-50%, 0); }
.addtoany_share_save_container, .a2a_floating_style { display: none !important; }
.related-answers { padding: 34px 0 4px; border-top: 1px solid var(--line); }
.related-answers h2 { margin: 0 0 20px; color: var(--ink); font: 700 1.6rem/1.1 var(--serif); letter-spacing: -.025em; }
.related-answers__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.related-answers__list li { position: relative; min-width: 0; }
.related-answers__list li:hover, .related-answers__list li:focus-within { z-index: 5; }
.related-answers__list a { display: flex; min-height: 104px; height: 100%; align-items: center; padding: 20px 22px; border: 1.5px solid color-mix(in srgb, var(--maroon) 48%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--card-surface) 97%, var(--maroon)); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--surface) 65%, transparent), var(--box-shadow); color: var(--ink); font: 700 1.08rem/1.3 var(--serif); text-decoration: none; transition: color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.related-answers__list a:hover, .related-answers__list a:focus-visible { border-color: var(--maroon); color: var(--maroon); box-shadow: var(--box-shadow-lift); transform: translateY(-3px); }
.related-answers__title { display: block; }
.related-answers__preview { position: absolute; z-index: 4; top: calc(100% + 10px); left: 50%; width: min(330px, calc(100vw - 40px)); padding: 18px 20px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface); color: var(--ink-soft); box-shadow: 0 16px 40px color-mix(in srgb, var(--ink) 13%, transparent); font: 400 .86rem/1.55 var(--sans); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, 5px); transition: opacity .16s ease, visibility .16s ease, transform .16s ease; }
.related-answers__preview::after { position: absolute; bottom: 100%; left: 50%; width: 10px; height: 10px; border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); background: var(--surface); content: ""; transform: translate(-50%, 5px) rotate(45deg); }
.related-answers__preview strong { display: block; margin-bottom: 5px; color: var(--brass); font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.related-answers__list a:hover .related-answers__preview, .related-answers__list a:focus-visible .related-answers__preview { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.answer-tags__label { margin: 0 0 10px; color: var(--brass); font: 750 .65rem/1.2 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.answer-tags a { display: inline-flex; align-items: center; min-height: 32px; padding: 0 13px; border: 1.5px solid color-mix(in srgb, var(--maroon) 38%, var(--line)); border-radius: 999px; background: color-mix(in srgb, var(--card-surface) 97%, var(--maroon)); color: var(--ink-soft); font: 650 .74rem/1 var(--sans); text-decoration: none; transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }
.answer-tags a:hover, .answer-tags a:focus-visible { border-color: var(--maroon); background: color-mix(in srgb, var(--card-surface) 91%, var(--maroon)); color: var(--ink); box-shadow: 0 4px 12px color-mix(in srgb, var(--maroon) 15%, transparent); transform: translateY(-1px); }
.answer-tags { display: flex; flex-wrap: wrap; gap: 9px; }
.archive-heading { padding-bottom: 48px; border-bottom: 1px solid var(--line); }
.archive-heading h1 { max-width: 960px; font-size: clamp(2.45rem, 4.15vw, 4.5rem); line-height: 1.02; }
.archive-description { max-width: 65ch; margin-top: 18px; color: var(--ink-soft); }
.archive-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-top: 26px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: color-mix(in srgb, var(--surface) 88%, transparent); box-shadow: var(--box-shadow); }
.archive-filter { display: grid; min-width: 180px; flex: 1 1 190px; gap: 7px; }
.archive-filter > span { padding-left: 4px; color: var(--ink-soft); font: 700 .64rem/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.archive-filter select { width: 100%; height: 44px; padding: 0 38px 0 13px; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: var(--paper-deep); color: var(--ink); font: 500 .8rem/1 var(--sans); cursor: pointer; }
.archive-filter select:focus { border-color: var(--brass); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brass) 15%, transparent); }
.archive-filters__actions { display: flex; align-items: center; gap: 13px; }
.archive-filters__actions button { min-height: 44px; padding: 0 18px; border: 1px solid color-mix(in srgb, var(--action-surface) 76%, var(--line)); border-radius: 9px; background: var(--action-surface); color: var(--action-ink); font: 700 .78rem/1 var(--sans); cursor: pointer; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease; }
.archive-filters__actions button:hover, .archive-filters__actions button:focus-visible { border-color: var(--action-surface-hover); background: var(--action-surface-hover); color: var(--action-ink); box-shadow: 0 8px 20px color-mix(in srgb, var(--brass) 20%, transparent); transform: translateY(-1px); }
.archive-filters__actions a { color: var(--ink-soft); font: 600 .74rem/1 var(--sans); text-underline-offset: 3px; }
.archive-grid { margin-top: 40px; }
.archive-main > .shell:not(.archive-pagination) { width: var(--catalog-shell); }
.archive-pagination { width: max-content; max-width: calc(100% - 48px); display: grid; grid-template-columns: repeat(3, max-content); align-items: center; justify-content: center; gap: 12px; margin: 44px auto 0; }
.archive-pagination[hidden] { display: none; }
.archive-pagination__button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 118px; min-height: 50px; margin: 0; padding: 0 19px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink); font: 600 .82rem/1 var(--sans); text-decoration: none; cursor: pointer; transition: border-color .18s ease, color .18s ease, background .18s ease, transform .18s ease; }
.archive-pagination__button > [aria-hidden="true"] { color: var(--brass); font-size: 1rem; line-height: 1; }
.archive-pagination__previous { justify-self: start; }
.archive-pagination__next { justify-self: end; }
.archive-pagination__button:not([aria-disabled="true"]):hover, .archive-pagination__button:not([aria-disabled="true"]):focus-visible { border-color: var(--brass); background: var(--paper-deep); color: var(--ink); transform: translateY(-1px); }
.archive-pagination__button[aria-disabled="true"] { cursor: not-allowed; opacity: .36; }
.archive-pagination__jump { display: inline-flex; align-items: center; gap: 9px; min-height: 50px; margin: 0; padding: 4px 13px 4px 17px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink-soft); font: 500 .8rem/1 var(--sans); white-space: nowrap; }
.archive-pagination__jump input { width: 54px; height: 40px; padding: 0 6px; border: 1px solid var(--line); border-radius: 999px; outline: 0; background: var(--paper-deep); color: var(--ink); font: 700 .82rem/1 var(--sans); text-align: center; appearance: textfield; }
.archive-pagination__jump input::-webkit-inner-spin-button, .archive-pagination__jump input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.archive-pagination__jump input:focus { border-color: var(--brass); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brass) 18%, transparent); }
.search-main .ha-result.answer-card { height: 328px; min-height: 0; max-height: 328px; aspect-ratio: auto; margin: 0; padding: 24px; overflow: hidden; border: 1.5px solid var(--line-strong); border-radius: 10px; background: var(--card-surface); color: var(--ink); box-shadow: var(--box-shadow); font-family: var(--sans); }
.search-main .ha-result.answer-card:hover { border-color: var(--maroon); box-shadow: var(--box-shadow-lift); transform: translateY(-3px); }
.search-main .ha-result--skeleton { display: flex; height: 328px; min-height: 0; max-height: 328px; aspect-ratio: auto; flex-direction: column; margin: 0; padding: 24px; overflow: hidden; border: 1.5px solid var(--line-strong); border-radius: 10px; background: var(--card-surface); box-shadow: var(--box-shadow); }
.search-main .ha-result--skeleton i { display: block; height: 10px; margin: 0; border-radius: 999px; background: color-mix(in srgb, var(--ink-soft) 14%, var(--card-surface)); }
.search-main .ha-skeleton__date, .search-main .ha-skeleton__footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.search-main .ha-skeleton__date i:first-child { width: 31%; }
.search-main .ha-skeleton__date i:last-child { width: 24%; }
.search-main .ha-skeleton__title { display: grid; gap: 8px; margin-top: 28px; }
.search-main .ha-skeleton__title i { width: 82%; height: 20px; }
.search-main .ha-skeleton__title i:last-child { width: 58%; }
.search-main .ha-skeleton__body { display: grid; gap: 9px; margin-top: 16px; }
.search-main .ha-skeleton__body i { width: 94%; height: 11px; }
.search-main .ha-skeleton__body i:nth-child(2) { width: 86%; }
.search-main .ha-skeleton__body i:last-child { width: 64%; }
.search-main .ha-skeleton__footer { margin-top: auto; }
.search-main .ha-skeleton__footer i:first-child { width: 38%; }
.search-main .ha-skeleton__footer i:last-child { width: 25%; }
.search-main .ha-result--skeleton::after { background: linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--card-surface) 74%, transparent) 46%, transparent 72%); }
.search-main .ha-search__pagination { width: fit-content; max-width: 100%; transition: opacity .16s ease; }
.search-main .ha-search__pagination[aria-busy="true"] { opacity: .58; }
.search-main .ha-search__ask-question { width: min(100%, 330px); margin: 28px auto 0; padding: 18px 20px; border: 1px solid color-mix(in srgb, var(--brass) 42%, var(--line)); border-radius: 18px; background: color-mix(in srgb, var(--card-surface) 94%, var(--brass)); box-shadow: 0 10px 26px color-mix(in srgb, var(--ink) 9%, transparent); text-align: center; }
.search-main .ha-search__ask-question p { display: flex; flex-direction: column; align-items: center; gap: 12px; margin: 0; color: var(--ink-soft); font: 400 .84rem/1.4 var(--sans); }
.search-main .ha-search__ask-question-prompt { display: block; }
.search-main .ha-search__ask-question a { display: inline-flex; min-height: 38px; align-items: center; gap: 7px; padding: 9px 15px; border: 1px solid color-mix(in srgb, var(--action-surface) 82%, var(--line)); border-radius: 999px; background: var(--action-surface); color: var(--action-ink); font-size: .78rem; font-weight: 650; line-height: 1; text-decoration: none; box-shadow: 0 5px 14px color-mix(in srgb, var(--brass) 18%, transparent); transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }
.search-main .ha-search__ask-question a:hover, .search-main .ha-search__ask-question a:focus-visible { border-color: var(--brass); background: var(--action-surface-hover); color: var(--action-ink); box-shadow: 0 8px 18px color-mix(in srgb, var(--brass) 24%, transparent); transform: translateY(-1px); }
.search-main .ha-search__ask-question svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.search-main .ha-search__ask-question a:hover svg, .search-main .ha-search__ask-question a:focus-visible svg { transform: translateX(2px); }
.search-main .ha-search__no-results .ha-search__ask-question.is-integrated { width: min(100%, 520px); margin: 28px 0 0; padding: 24px 0 0; border: 0; border-top: 1px solid color-mix(in srgb, var(--brass) 34%, var(--line)); border-radius: 0; background: transparent; box-shadow: none; }
.search-main .ha-search__no-results .ha-search__ask-question.is-integrated p { flex-direction: row; justify-content: center; gap: 16px; font-size: .82rem; }
.search-main .ha-search__no-results .ha-search__ask-question.is-integrated a { flex: 0 0 auto; }
.search-main .ha-search.is-loading .ha-search__ask-question { display: none; }
.page-layout { width: var(--catalog-shell); max-width: none; }
.page-article__body { min-width: 0; margin-top: 40px; overflow-wrap: anywhere; font-family: var(--serif); font-size: 1.12rem; line-height: 1.8; }
.page-article__body pre, .page-article__body table, .answer-article__body pre, .answer-article__body table { display: block; max-width: 100%; overflow-x: auto; }

/* Standard information pages */
.page-article--card .page-article__header { margin-bottom: 32px; }
.page-article--card .page-article__body { position: relative; margin-top: 0; padding: clamp(26px, 4vw, 42px); overflow: hidden; border: 1px solid color-mix(in srgb, var(--maroon) 46%, var(--line)); border-left: 4px solid var(--maroon); border-radius: 20px; background: color-mix(in srgb, var(--surface) 96%, var(--maroon)); box-shadow: var(--box-shadow); }
.page-article--card .page-article__body::before { position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--maroon), var(--brass), transparent 78%); content: ""; }
.page-article--card .page-article__body > :first-child { margin-top: 0; }
.page-article--card .page-article__body > :last-child { margin-bottom: 0; }
.page-article--disclaimer .page-article__body > p { margin-block: 0 1.35em; }
.page-article--disclaimer .page-article__body > p + .ha-disclaimer-list { margin-top: 1.5em; }
.ha-disclaimer-list { display: grid; gap: 1.45em; margin: 0; padding-inline-start: 1.7em; }
.ha-disclaimer-list li { padding-inline-start: .45em; }
.ha-disclaimer-list li::marker { color: var(--maroon); font-family: var(--sans); font-size: .86em; font-weight: 700; }
.ha-disclaimer-list li > p { margin: 0; }
.ha-disclaimer-list li > p + p { margin-top: .8em; }
.ha-disclaimer-closing { margin-top: 1.7em !important; }

/* Contact page */
.page-layout--contact { max-width: 1180px; }
.page-article--contact .page-article__header { position: relative; padding-bottom: 30px; }
.page-article--contact .page-article__ornament { display: block; width: min(330px, 60vw); height: 42px; margin-top: 20px; }
.page-article--contact .page-article__ornament::before { background: linear-gradient(90deg, color-mix(in srgb, var(--brass) 68%, transparent), color-mix(in srgb, var(--brass) 68%, transparent) calc(50% - 31px), transparent calc(50% - 31px), transparent calc(50% + 31px), color-mix(in srgb, var(--brass) 68%, transparent) calc(50% + 31px), color-mix(in srgb, var(--brass) 68%, transparent)); }
.page-article--contact .page-article__ornament::after { width: 42px; height: 42px; }
.page-article--contact .page-article__body { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.55fr); grid-template-rows: auto 1fr; gap: 18px; margin-top: 4px; font-family: var(--sans); font-size: 1rem; line-height: 1.55; }
.page-article--contact .page-article__body > p { margin: 0; padding: clamp(24px, 3vw, 36px); border: 1px solid color-mix(in srgb, var(--maroon) 32%, var(--line)); border-radius: 16px; background: color-mix(in srgb, var(--surface) 92%, var(--paper)); box-shadow: var(--shadow); }
.page-article--contact .page-article__body > p:first-child { grid-column: 2; grid-row: 1 / span 2; min-height: 440px; padding: 0; overflow: hidden; }
.page-article--contact .page-article__body > p:nth-child(2) { grid-column: 1; grid-row: 1; border-left: 4px solid var(--maroon); }
.page-article--contact .page-article__body > p:nth-child(3) { grid-column: 1; grid-row: 2; align-self: stretch; border-left: 4px solid var(--brass); }
.page-article--contact .page-article__body strong { display: block; margin-bottom: 10px; color: var(--ink); font: 700 1.5rem/1.05 var(--display); }
.page-article--contact .page-article__body iframe { display: block; width: 100% !important; height: 100% !important; min-height: 440px; border: 0 !important; filter: saturate(.72) sepia(.08); }

/* Scholars */
.scholars-heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: clamp(40px, 9vw, 130px); align-items: end; padding-bottom: 48px; border-bottom: 1px solid var(--line); }
.scholars-heading h1 { margin: 0; font: 700 clamp(2.5rem, 4.5vw, 4.55rem)/.98 var(--display); letter-spacing: -.035em; }
.scholars-heading > p { max-width: 39ch; margin: 0 0 6px; color: var(--ink-soft); font-size: 1rem; }
.scholar-directory { padding-top: 36px; }
.scholar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.scholar-card { min-width: 0; }
.scholar-card__link { position: relative; min-height: 280px; height: 100%; display: flex; flex-direction: column; padding: 24px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--box-shadow); color: var(--ink); text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.scholar-card__link::after { position: absolute; right: -42px; bottom: -56px; width: 150px; height: 150px; border: 1px solid color-mix(in srgb, var(--brass) 22%, transparent); border-radius: 50%; content: ""; transition: transform .35s ease, border-color .2s ease; }
.scholar-card__link:hover, .scholar-card__link:focus-visible { border-color: var(--maroon); box-shadow: var(--box-shadow-lift); transform: translateY(-3px); }
.scholar-card__link:hover::after, .scholar-card__link:focus-visible::after { border-color: color-mix(in srgb, var(--brass) 52%, transparent); transform: scale(1.12); }
.scholar-card__top { display: flex; justify-content: space-between; gap: 18px; align-items: start; }
.scholar-card__number { padding-top: 4px; color: var(--brass); font: 700 .7rem/1 var(--sans); letter-spacing: .14em; }
.scholar-card__monogram { display: inline-grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--brass); font: 500 1.2rem/1 var(--serif); letter-spacing: -.02em; }
.scholar-card__body { padding-top: 42px; }
.scholar-card__body h2 { max-width: 12ch; margin: 0; font: 500 clamp(1.65rem, 2.4vw, 2.2rem)/1.04 var(--serif); letter-spacing: -.035em; }
.scholar-card__body p { display: -webkit-box; margin: 14px 0 0; overflow: hidden; color: var(--ink-soft); font-size: .86rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.scholar-card__footer { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 16px; align-items: end; margin-top: auto; padding-top: 34px; color: var(--ink-soft); font-size: .74rem; }
.scholar-card__action { color: var(--ink); font-weight: 700; white-space: nowrap; }
.scholar-card__link:hover .scholar-card__action, .scholar-card__link:focus-visible .scholar-card__action { color: var(--brass); }

/* Ask a question */
.ask-layout { width: min(940px, calc(100% - 48px)); }
.ask-intro { max-width: 820px; margin-bottom: 42px; }
.ask-intro h1 { max-width: 900px; margin: 0; font: 700 clamp(2.5rem, 4.5vw, 4.55rem)/.98 var(--display); letter-spacing: -.035em; }
.ask-intro .page-lede { max-width: 650px; margin: 20px 0 0; color: var(--ink-soft); font-size: 1.05rem; }
.ask-reminder { position: relative; margin: -12px 0 28px; padding: clamp(22px, 3.4vw, 32px); overflow: hidden; border: 1px solid color-mix(in srgb, var(--maroon) 52%, var(--line)); border-left: 4px solid var(--maroon); border-radius: 16px; background: var(--reminder-surface); box-shadow: var(--shadow); }
.ask-reminder__header { display: flex; align-items: center; gap: 11px; margin-bottom: 18px; }
.ask-reminder__header h2 { margin: 0; color: var(--ink); font: 750 .76rem/1.25 var(--sans); letter-spacing: .075em; text-transform: uppercase; }
.ask-reminder__icon { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 50%; background: var(--brass); color: var(--deep-surface); }
.ask-reminder__icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ask-reminder > p { max-width: 74ch; margin: 0; color: var(--ink-soft); font-size: .94rem; line-height: 1.65; }
.ask-reminder__notes { display: grid; gap: 12px; max-width: 76ch; margin: 20px 0; padding: 0; list-style: none; }
.ask-reminder__notes li { padding-top: 12px; border-top: 1px solid color-mix(in srgb, var(--brass) 22%, var(--line)); color: var(--ink-soft); font-size: .94rem; line-height: 1.65; }
.ask-reminder__notes strong { color: var(--ink); font-weight: 700; }
.ask-reminder .ask-reminder__closing { color: var(--ink); font-weight: 600; }
.ask-form-card { position: relative; padding: clamp(24px, 4vw, 44px); overflow: hidden; border: 1px solid var(--line-strong); border-radius: 20px; background: var(--surface); box-shadow: var(--box-shadow); }
.ask-form-card::before { position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--maroon), var(--brass), transparent 78%); content: ""; }
.ask-form-card .wpforms-container { margin: 0 !important; }
.ask-form-card .wpforms-field { padding: 0 0 24px !important; }
.ask-form-card .wpforms-field-label { margin: 0 0 9px !important; color: var(--ink) !important; font: 700 .76rem/1.25 var(--sans) !important; letter-spacing: .055em; text-transform: uppercase; }
.ask-form-card .wpforms-required-label { color: var(--brass) !important; }
.ask-form-card .wpforms-field-sublabel { display: block; margin: 7px 2px 0 !important; color: var(--ink-soft) !important; font-size: .73rem !important; }
.ask-form-card .wpforms-field-description { margin: 9px 0 0 !important; color: var(--ink-soft) !important; font-size: .82rem !important; line-height: 1.5 !important; }
.ask-form-card .wpforms-form input[type="text"],
.ask-form-card .wpforms-form input[type="email"],
.ask-form-card .wpforms-form input[type="tel"],
.ask-form-card .wpforms-form input[type="url"],
.ask-form-card .wpforms-form input[type="number"],
.ask-form-card .wpforms-form select,
.ask-form-card .wpforms-form textarea,
.ask-form-card .choices__inner { width: 100% !important; border: 1px solid var(--line) !important; border-radius: 11px !important; outline: 0; background: var(--paper) !important; color: var(--ink) !important; box-shadow: inset 0 1px 0 rgba(255, 248, 232, .36); transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.ask-form-card .wpforms-form input[type="text"],
.ask-form-card .wpforms-form input[type="email"],
.ask-form-card .wpforms-form input[type="tel"],
.ask-form-card .wpforms-form input[type="url"],
.ask-form-card .wpforms-form input[type="number"],
.ask-form-card .wpforms-form select { min-height: 52px !important; padding: 0 15px !important; }
.ask-form-card .wpforms-form textarea { min-height: 230px !important; padding: 14px 15px !important; resize: vertical; line-height: 1.55; }
.ask-form-card .wpforms-form input:focus,
.ask-form-card .wpforms-form select:focus,
.ask-form-card .wpforms-form textarea:focus,
.ask-form-card .choices.is-focused .choices__inner,
.ask-form-card .choices.is-open .choices__inner { border-color: var(--brass) !important; background: var(--surface) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--brass) 18%, transparent) !important; }
.ask-form-card .choices { margin-bottom: 0; }
.ask-form-card .choices__inner { display: flex; align-items: center; min-height: 52px; padding: 7px 42px 7px 14px !important; }
.ask-form-card .choices__list--single { padding: 0 !important; }
.ask-form-card .choices__list--single .choices__item { color: var(--ink) !important; }
.ask-form-card .choices[data-type*="select-one"] .choices__button { border-color: var(--ink-soft) !important; opacity: .65; }
.ask-form-card .choices[data-type*="select-one"]::after { right: 18px; border-color: var(--ink-soft) transparent transparent !important; }
.ask-form-card .choices__list--dropdown { z-index: 20; margin-top: 7px; overflow: hidden; border: 1px solid var(--line) !important; border-radius: 12px !important; background: var(--surface) !important; box-shadow: var(--shadow); }
.ask-form-card .choices__input { border: 0 !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; background: var(--paper) !important; }
.ask-form-card .choices__item--choice { padding: 9px 14px !important; color: var(--ink) !important; font-size: .86rem; }
.ask-form-card .choices__item--choice.is-highlighted { background: var(--paper-deep) !important; }
.ask-form-card .wpforms-field-checkbox ul { margin: 0 !important; padding: 0 !important; }
.ask-form-card .wpforms-field-checkbox li { display: flex; align-items: flex-start; gap: 10px; }
.ask-form-card .wpforms-field-checkbox input[type="checkbox"] { width: 19px !important; height: 19px !important; flex: 0 0 19px; margin: 2px 0 0 !important; accent-color: var(--brass); }
.ask-form-card .wpforms-field-label-inline { color: var(--ink) !important; font-weight: 650 !important; }
.ask-form-card .wpforms-error { color: #b6473d !important; font-size: .76rem !important; }
.ask-form-card input.wpforms-error, .ask-form-card textarea.wpforms-error, .ask-form-card select.wpforms-error { border-color: #b6473d !important; }
.ask-form-card .wpforms-submit-container { display: flex; align-items: center; gap: 12px; padding: 4px 0 0 !important; }
.ask-form-card button.wpforms-submit { display: inline-flex !important; align-items: center; justify-content: center; gap: 12px; min-height: 50px; padding: 0 22px !important; border: 1px solid color-mix(in srgb, var(--action-surface) 76%, var(--line)) !important; border-radius: 999px !important; background: var(--action-surface) !important; color: var(--action-ink) !important; font: 750 .75rem/1 var(--sans) !important; letter-spacing: .07em; text-transform: uppercase; box-shadow: 0 8px 20px color-mix(in srgb, var(--brass) 18%, transparent) !important; transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.ask-form-card button.wpforms-submit::after { content: "→"; font-size: 1rem; line-height: 1; }
.ask-form-card button.wpforms-submit:hover, .ask-form-card button.wpforms-submit:focus-visible { border-color: var(--action-surface-hover) !important; background: var(--action-surface-hover) !important; color: var(--action-ink) !important; transform: translateY(-1px); }
html[data-theme="dark"] .ask-form-card { box-shadow: var(--box-shadow); }
html[data-theme="dark"] .ask-form-card .wpforms-form input,
html[data-theme="dark"] .ask-form-card .wpforms-form select,
html[data-theme="dark"] .ask-form-card .wpforms-form textarea,
html[data-theme="dark"] .ask-form-card .choices__inner { background: var(--paper-deep) !important; }

.similar-answers { width: min(680px, calc(100% - 32px)); max-height: min(760px, calc(100vh - 32px)); padding: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--maroon) 58%, var(--line)); border-radius: 20px; background: var(--surface); color: var(--ink); box-shadow: 0 30px 90px rgba(20, 12, 16, .30); }
.similar-answers::backdrop { background: rgba(20, 13, 15, .54); backdrop-filter: blur(4px); }
.similar-answers[open] { animation: similar-answers-enter .2s cubic-bezier(.2, .72, .2, 1); }
.similar-answers__inner { max-height: min(760px, calc(100vh - 32px)); padding: clamp(22px, 4vw, 34px); overflow-y: auto; }
.similar-answers__header { display: grid; grid-template-columns: 42px minmax(0, 1fr) 38px; gap: 13px; align-items: center; }
.similar-answers__header .section-kicker { margin-bottom: 5px; color: var(--maroon); }
.similar-answers__header h2 { margin: 0; font: 500 clamp(1.65rem, 4vw, 2.15rem)/1 var(--serif); letter-spacing: -.025em; }
.similar-answers__mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--maroon); color: var(--deep-ink); }
.similar-answers__mark svg, .similar-answers__close svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.similar-answers__close { display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink-soft); }
.similar-answers__close:hover, .similar-answers__close:focus-visible { border-color: var(--maroon); color: var(--maroon); }
.similar-answers__description { max-width: 58ch; margin: 20px 0 18px; color: var(--ink-soft); font-size: .94rem; line-height: 1.55; }
.similar-answers__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.similar-answers__list a { position: relative; display: grid; gap: 6px; padding: 17px 48px 16px 18px; border: 1px solid color-mix(in srgb, var(--maroon) 40%, var(--line)); border-radius: 13px; background: color-mix(in srgb, var(--card-surface) 96%, var(--maroon)); color: var(--ink); text-decoration: none; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease; }
.similar-answers__list a::after { position: absolute; top: 18px; right: 18px; color: var(--maroon); content: "↗"; font-size: 1rem; line-height: 1; }
.similar-answers__list a:hover, .similar-answers__list a:focus-visible { border-color: var(--maroon); background: color-mix(in srgb, var(--card-surface) 91%, var(--maroon)); box-shadow: 0 10px 24px color-mix(in srgb, var(--maroon) 12%, transparent); transform: translateY(-1px); }
.similar-answers__list strong { font: 600 1.12rem/1.18 var(--serif); }
.similar-answers__list a > span:not(.similar-answers__result-action) { display: -webkit-box; overflow: hidden; color: var(--ink-soft); font-size: .8rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.similar-answers__list .similar-answers__arabic { display: inline; margin: 0 .12em; font: 400 1.08em/1.6 var(--arabic); direction: rtl; unicode-bidi: isolate; }
.similar-answers__result-action { margin-top: 3px; color: var(--brass); font-size: .73rem; font-weight: 750; letter-spacing: .03em; }
.similar-answers__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.similar-answers__actions button { min-height: 44px; padding: 0 17px; border-radius: 999px; font-size: .76rem; font-weight: 750; }
.similar-answers__edit { border: 1px solid var(--line-strong); background: transparent; color: var(--ink); }
.similar-answers__edit:hover, .similar-answers__edit:focus-visible { border-color: var(--maroon); color: var(--maroon); }
.similar-answers__submit { border: 1px solid var(--action-surface); background: var(--action-surface); color: var(--action-ink); }
.similar-answers__submit:hover, .similar-answers__submit:focus-visible { border-color: var(--action-surface-hover); background: var(--action-surface-hover); }
.ask-form-card button.wpforms-submit.is-checking-answers { min-width: 245px; cursor: wait; opacity: .82; }
.ask-form-card button.wpforms-submit.is-checking-answers::after { width: 14px; height: 14px; border: 2px solid color-mix(in srgb, var(--action-ink) 30%, transparent); border-top-color: var(--action-ink); border-radius: 50%; content: ""; animation: similar-answers-spin .7s linear infinite; }
@keyframes similar-answers-enter { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes similar-answers-spin { to { transform: rotate(360deg); } }

/* Search plugin integration */
.search-main { padding: 0; }
.search-main .ha-search { width: 100%; min-height: 0; margin-left: 0; background: transparent; color: var(--ink); }
.search-main .ha-search__results-shell { width: var(--catalog-shell); max-width: none; margin: 0 auto; padding: 28px 0 100px; border-top: 1px solid var(--line); }
.search-main .ha-search.has-search .ha-search__results-shell { padding-top: 48px; border-top: 0; }
.search-main .ha-search__results-head { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 24px; }
.search-main .ha-search__results-head h1 { margin: 0; font: 700 clamp(1.85rem, 2.55vw, 2.5rem)/1 var(--display); letter-spacing: -.025em; }
.search-main .ha-search__meta { color: var(--ink-soft); font-size: .78rem; }
.search-main .ha-search__notice { position: relative; margin: 0 0 22px; padding: 14px 18px 14px 46px; border: 1px solid var(--line); border-radius: 10px; background: color-mix(in srgb, var(--brass) 7%, var(--surface)); color: var(--ink-soft); font: 600 .8rem/1.5 var(--sans); }
.search-main .ha-search__notice::before { position: absolute; top: 50%; left: 20px; width: 8px; height: 8px; border-radius: 50%; background: var(--brass); box-shadow: 0 0 0 5px color-mix(in srgb, var(--brass) 13%, transparent); content: ""; transform: translateY(-50%); }
.search-main .ha-search__results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.search-main .ha-search__result { min-height: 280px; padding: 24px; border: 1.5px solid var(--line-strong); border-radius: 10px; background: var(--surface); box-shadow: var(--box-shadow); }
.search-main .ha-search__result h3 { font: 500 1.45rem/1.08 var(--serif); }
.search-main .ha-search__result a { text-decoration: none; }
.search-main .ha-search__no-results { position: relative; isolation: isolate; grid-column: 1 / -1; justify-self: center; width: min(100%, 760px); min-height: 290px; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 52px clamp(24px, 6vw, 70px); border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--card-surface); box-shadow: var(--box-shadow); color: var(--ink); text-align: center; }
.search-main .ha-search__no-results > span { position: relative; display: flex; flex-direction: column; align-items: center; color: var(--ink); font: 500 clamp(1.75rem, 3vw, 2.35rem)/1.08 var(--serif); letter-spacing: -.025em; }
.search-main .ha-search__no-results > span::before { width: 38px; height: 2px; margin-bottom: 20px; background: var(--brass); content: ""; }
.search-main .ha-search__no-results > p { position: relative; max-width: 48ch; margin: 16px auto 0; color: var(--ink-soft); font: 400 .96rem/1.6 var(--sans); }
.search-main .ha-search__more { display: flex; justify-content: center; margin-top: 34px; }
.search-main .ha-search__more button { padding: 12px 18px; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--brass); color: var(--ink-strong); font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.search-main .ha-search__more button:hover, .search-main .ha-search__more button:focus-visible { border-color: var(--action-surface-hover) !important; background: var(--action-surface-hover) !important; color: var(--action-ink) !important; }

.scroll-to-top { position: fixed; z-index: 45; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); width: 48px; height: 48px; display: grid; place-items: center; padding: 0; border: 1px solid color-mix(in srgb, var(--maroon) 82%, var(--line)); border-radius: 50%; background: var(--maroon); color: #fffaf2; box-shadow: 0 12px 28px color-mix(in srgb, var(--maroon) 30%, transparent); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px); transition: opacity .2s ease, visibility .2s ease, transform .2s ease, background .18s ease, box-shadow .18s ease; }
.scroll-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.scroll-to-top:hover, .scroll-to-top:focus-visible { background: color-mix(in srgb, var(--maroon) 82%, var(--deep-surface)); box-shadow: 0 15px 32px color-mix(in srgb, var(--maroon) 38%, transparent); transform: translateY(-2px); }
.scroll-to-top svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

/* Footer */
.ha-ornament-divider { position: relative; height: 52px; }
.ha-ornament-divider::before { position: absolute; top: 50%; right: 0; left: 0; height: 1px; background: linear-gradient(90deg, transparent 0, color-mix(in srgb, var(--brass) 55%, transparent) 8%, color-mix(in srgb, var(--brass) 72%, transparent) calc(50% - 38px), transparent calc(50% - 38px), transparent calc(50% + 38px), color-mix(in srgb, var(--brass) 72%, transparent) calc(50% + 38px), color-mix(in srgb, var(--brass) 55%, transparent) 92%, transparent 100%); content: ""; transform: translateY(-50%); }
.ha-ornament-divider::after { position: absolute; top: 50%; left: 50%; width: 50px; height: 50px; background: url("../footer-rosette.png") center / contain no-repeat; content: ""; transform: translate(-50%, -50%); }
.site-footer { position: relative; z-index: 0; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; padding-block: 34px 0; border-top: 1px solid var(--line); background: var(--chrome-surface); color: var(--ink); }
.site-footer > .shell { width: var(--catalog-shell); }
.site-footer::before { content: none; }
.site-footer__ornament, .site-footer__grid, .site-footer__bottom { position: relative; z-index: 2; }
.site-footer__ornament--top { margin-bottom: 26px; }
.site-footer__ornament--mobile { display: none; }
.site-footer__edge-ornament { position: absolute; z-index: 1; top: 70px; width: clamp(170px, 20vw, 300px); aspect-ratio: 1; background: url("../footer-rosette.png") center / contain no-repeat; opacity: .055; pointer-events: none; }
.site-footer__edge-ornament--left { left: 0; transform: translateX(-58%) rotate(22.5deg); }
.site-footer__edge-ornament--right { right: 0; transform: translateX(58%) rotate(22.5deg); }
.site-footer__grid { display: grid; grid-template-columns: 1.35fr repeat(3, .85fr); gap: 36px; }
.site-footer__about > img { width: 210px; margin-bottom: 18px; filter: none; }
html[data-theme="dark"] .site-footer__about > img { filter: invert(1); }
.ha-archive-lockup--footer { width: min(100%, 320px); margin-bottom: 24px; }
.site-footer__about p { max-width: 28ch; color: var(--ink-soft); font-size: .88rem; }
.site-footer__newsletter { width: min(100%, 320px); margin-top: 0; }
.site-footer__about .site-footer__newsletter-title { max-width: none; margin: 0 0 10px; color: var(--ink); font: 500 1.08rem/1.2 var(--serif); letter-spacing: -.012em; }
.site-footer__newsletter-form { position: relative; }
.site-footer__newsletter-field { display: flex; min-height: 50px; align-items: center; gap: 10px; padding: 5px 5px 5px 15px; border: 1px solid var(--line-strong); border-radius: 999px; background: color-mix(in srgb, var(--paper) 68%, var(--surface)); box-shadow: inset 0 1px 0 color-mix(in srgb, white 42%, transparent); transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.site-footer__newsletter-field:focus-within { border-color: var(--brass); background: var(--surface); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brass) 15%, transparent), inset 0 1px 0 color-mix(in srgb, white 42%, transparent); }
html[data-theme="dark"] .site-footer__newsletter-field { box-shadow: none; }
html[data-theme="dark"] .site-footer__newsletter-field:focus-within { box-shadow: 0 0 0 3px color-mix(in srgb, var(--brass) 15%, transparent); }
.site-footer__newsletter-icon { display: inline-flex; width: 17px; height: 17px; flex: 0 0 17px; color: var(--brass); }
.site-footer__newsletter-icon svg { width: 100%; height: 100%; overflow: visible; fill: currentColor; }
.site-footer__newsletter input[type="email"] { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: .86rem; }
.site-footer__newsletter input[type="email"]::placeholder { color: var(--ink-soft); opacity: .72; }
.site-footer__newsletter button { position: relative; display: grid; width: 39px; height: 39px; min-width: 39px; flex: 0 0 39px; place-items: center; padding: 0; border: 1px solid color-mix(in srgb, var(--brass) 78%, var(--line)); border-radius: 50%; background: var(--brass); color: var(--action-ink); transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.site-footer__newsletter button:hover, .site-footer__newsletter button:focus-visible { border-color: var(--action-surface-hover); background: var(--action-surface-hover); transform: translateX(1px); }
.site-footer__newsletter button:focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; }
.site-footer__newsletter button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.site-footer__newsletter-check { display: none; }
.site-footer__about .site-footer__newsletter-status, .site-footer__about .site-footer__newsletter-fallback { max-width: none; min-height: 1.25em; margin: 8px 4px 0; color: var(--ink-soft); font-size: .69rem; line-height: 1.35; }
.site-footer__newsletter-status:empty { display: none; }
.site-footer__newsletter-fallback a { color: var(--content-link); }
.site-footer__newsletter-trap { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.site-footer__newsletter[data-state="loading"] button { pointer-events: none; }
.site-footer__newsletter[data-state="loading"] .site-footer__newsletter-arrow { display: none; }
.site-footer__newsletter[data-state="loading"] button::after { width: 14px; height: 14px; border: 1.7px solid color-mix(in srgb, currentColor 32%, transparent); border-top-color: currentColor; border-radius: 50%; content: ""; animation: ha-newsletter-spin .72s linear infinite; }
.site-footer__newsletter[data-state="success"] .site-footer__newsletter-field { border-color: color-mix(in srgb, var(--answer-accent) 75%, var(--line)); background: color-mix(in srgb, var(--answer-accent) 7%, var(--surface)); }
.site-footer__newsletter[data-state="success"] button { border-color: var(--answer-accent); background: var(--answer-accent); color: var(--surface); }
.site-footer__newsletter[data-state="success"] .site-footer__newsletter-arrow { display: none; }
.site-footer__newsletter[data-state="success"] .site-footer__newsletter-check { display: block; }
.site-footer__newsletter[data-state="success"] .site-footer__newsletter-status { color: var(--answer-accent); }
.site-footer__newsletter[data-state="error"] .site-footer__newsletter-field { border-color: color-mix(in srgb, #9a4e42 72%, var(--line)); }
.site-footer__newsletter[data-state="error"] .site-footer__newsletter-status { color: color-mix(in srgb, #9a4e42 82%, var(--ink)); }
@keyframes ha-newsletter-spin { to { transform: rotate(1turn); } }
.site-footer__links { list-style: none; margin: 0; padding: 0; }
.site-footer__links li + li { margin-top: 9px; }
.site-footer__links a { color: var(--ink); font-size: .84rem; text-decoration: none; }
.site-footer__links a:hover { color: var(--brass); }
.site-footer__social { display: inline-flex; align-items: center; gap: 10px; }
.site-footer__social svg { width: 17px; height: 17px; flex: 0 0 17px; overflow: visible; fill: currentColor; color: var(--brass); }
.site-footer__social:hover svg, .site-footer__social:focus-visible svg { color: currentColor; }
.site-footer__media { display: grid; width: 100%; min-height: 56px; grid-template-columns: 34px minmax(0, 1fr) 17px; align-items: center; gap: 10px; margin-top: 18px; padding: 8px 10px 8px 8px; border: 1px solid color-mix(in srgb, var(--maroon) 34%, var(--line)); border-radius: 11px; background: color-mix(in srgb, var(--maroon) 6%, var(--chrome-surface)); color: var(--ink); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--surface) 62%, transparent); font: 700 .76rem/1.2 var(--sans); letter-spacing: .01em; text-decoration: none; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease; }
.site-footer__media-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--maroon) 13%, var(--surface)); color: var(--maroon); transition: background .18s ease, color .18s ease, transform .18s ease; }
.site-footer__media-icon svg, .site-footer__media-arrow { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.site-footer__media-label { min-width: 0; }
.site-footer__media-arrow { color: var(--brass); transition: color .18s ease, transform .18s ease; }
.site-footer__media:hover, .site-footer__media:focus-visible { border-color: color-mix(in srgb, var(--maroon) 72%, var(--brass)); background: color-mix(in srgb, var(--maroon) 10%, var(--chrome-surface)); box-shadow: 0 9px 20px color-mix(in srgb, var(--deep-surface) 10%, transparent); color: var(--maroon); transform: translateY(-1px); }
.site-footer__media:hover .site-footer__media-icon, .site-footer__media:focus-visible .site-footer__media-icon { background: var(--maroon); color: var(--surface); transform: scale(1.04); }
.site-footer__media:hover .site-footer__media-arrow, .site-footer__media:focus-visible .site-footer__media-arrow { color: var(--maroon); transform: translateX(2px); }
.site-footer__media:focus-visible { outline: 2px solid var(--maroon); outline-offset: 4px; }
html[data-theme="dark"] .site-footer__media { background: color-mix(in srgb, var(--maroon) 8%, var(--chrome-surface)); }
.site-footer .section-kicker { color: var(--brass); }
.site-footer__partner-logos { display: grid; justify-items: start; gap: 15px; width: min(100%, 210px); }
.site-footer__partner { display: block; width: 100%; color: var(--brass); border-radius: 8px; transition: opacity .18s ease, transform .18s ease; }
.site-footer__partner img { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; object-position: left center; filter: brightness(1.28) saturate(.57); opacity: 1; }
.site-footer__partner:hover, .site-footer__partner:focus-visible { opacity: 1; transform: translateY(-1px); }
.site-footer__partner:hover img, .site-footer__partner:focus-visible img { opacity: 1; }
.site-footer__partner:focus-visible { outline: 2px solid var(--brass); outline-offset: 5px; }
html[data-theme="dark"] .site-footer__partner img { filter: brightness(1.28) saturate(.57); opacity: 1; }
.site-footer__bottom { order: 2; display: flex; justify-content: space-between; gap: 18px; margin-top: 0; padding-block: 18px 26px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .72rem; }
.site-footer__bottom-ornament { order: 1; position: relative; z-index: 1; height: 58px; margin-top: 54px; background-image: linear-gradient(to bottom, var(--chrome-surface), transparent 24%), url("../footer-rosette.png"); background-position: center, center 11px; background-repeat: repeat-x; background-size: auto, 50px 50px; opacity: .13; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); pointer-events: none; }
.site-footer__credit { color: inherit; }
.site-footer__credit a { color: inherit; text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 3px; }
.site-footer__credit a:hover, .site-footer__credit a:focus-visible { color: var(--brass); text-decoration-color: currentColor; }

/* Arabic content in the imported archive carries legacy inline Lotus styles.
   The rebuild owns the reading face, so the bundled KFGQPC font wins. */
.answer-article__body [dir="rtl"], .answer-article__body [dir="rtl"] *, .answer-article__body [lang="ar"], .answer-article__body [lang="ar"] *, .answer-article__body [lang^="ar-"], .answer-article__body [lang^="ar-"] *, .answer-article__body .arabic, .answer-article__body .arabic *, .answer-article__body .is-style-ha-arabic, .answer-article__body .is-style-ha-arabic * { font-family: var(--arabic) !important; }
.answer-article__body [dir="rtl"], .answer-article__body [lang="ar"], .answer-article__body [lang^="ar-"], .answer-article__body .arabic, .answer-article__body .is-style-ha-arabic { direction: rtl; text-align: right; }

/* Keep the plugin's search surface inside the theme's light/dark system. */
html[data-theme="dark"] .search-main .ha-search { --ha-ink: var(--ink); --ha-ink-soft: var(--ink-soft); --ha-paper: var(--paper); --ha-paper-deep: var(--paper-deep); --ha-white: var(--surface); --ha-rule: var(--line); --ha-search-pill: var(--surface); --ha-search-pill-focus: var(--surface); }
html[data-theme="dark"] .search-main .ha-search__input-wrap { box-shadow: 0 18px 50px rgba(0, 0, 0, .26); }
html[data-theme="dark"] .search-main .ha-search__input-wrap textarea::placeholder { color: var(--ink-soft); }

/* WordPress form controls need the same explicit surface in dark mode. */
html[data-theme="dark"] .wpforms-container input, html[data-theme="dark"] .wpforms-container select, html[data-theme="dark"] .wpforms-container textarea { border-color: var(--line) !important; background: var(--surface) !important; color: var(--ink) !important; }
html[data-theme="dark"] .wpforms-container label, html[data-theme="dark"] .wpforms-container .wpforms-field-description { color: var(--ink-soft) !important; }

@media (max-width: 1120px) {
  html.has-site-menu-open { overflow: hidden; }
  .site-header__inner { min-height: 68px; gap: 12px; }
  .site-header__identity { flex-basis: 168px; padding: 7px 6px; }
  .site-brand, .site-brand .ha-archive-lockup--header { width: 148px; }
  .site-header--home .site-header__identity { flex-basis: 240px; }
  .site-header--home .site-brand, .site-header--home .site-brand__home-mark { width: 230px; }
  .site-header__today { display: none; }
  .site-navigation { position: absolute; z-index: 30; inset: calc(100% + 8px) 0 auto; display: none; max-height: calc(100vh - 92px); overflow-y: auto; margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow); }
  .site-navigation.is-open { display: block; }
  .site-navigation__list { display: grid; justify-content: stretch; gap: 0; }
  .site-navigation__list > li + li { border-top: 1px solid var(--line); }
  .site-navigation__list > li > a, .site-navigation__menu-toggle { display: flex; width: 100%; min-height: 46px; align-items: center; justify-content: space-between; padding: 8px 4px; }
  .site-navigation__list > li > a.site-navigation__cta { min-height: 46px; justify-content: center; margin: 9px 0 2px; padding-inline: 14px; }
  .site-navigation__dropdown { position: static; display: none; grid-template-columns: 1fr; gap: 10px; padding: 14px 0 18px; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: none; }
  .site-navigation__category-panel { padding: 16px; }
  .site-navigation__subcategory-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 24px; }
  .site-navigation__item--menu:hover > .site-navigation__dropdown, .site-navigation__item--menu:focus-within > .site-navigation__dropdown { display: none; }
  .site-navigation__item--menu.is-open > .site-navigation__dropdown { display: grid; }
  .site-menu-toggle { display: inline-flex; flex-direction: column; gap: 5px; justify-content: center; width: 44px; height: 44px; margin-left: auto; border: 1px solid color-mix(in srgb, var(--brass) 52%, var(--line)); border-radius: 50%; background: transparent; color: var(--brass); }
  .site-menu-toggle i { display: block; width: 14px; height: 1px; margin-inline: auto; background: currentColor; }
  .site-search--header { width: min(420px, 46vw); }
  .site-search--header, .theme-toggle { border-color: color-mix(in srgb, var(--brass) 52%, var(--line)); color: var(--brass); }
  .theme-toggle { display: inline-grid; flex: 0 0 44px; align-items: center; justify-content: center; padding: 0; line-height: 0; }
  .theme-toggle__icon { grid-area: 1 / 1; place-self: center; margin: 0; }
}

@media (max-width: 980px) {
  :root { --shell: min(100% - 32px, 760px); --catalog-shell: var(--shell); }
  .home-hero__grid { min-height: 0; padding-block: 44px 14px; }
  .home-search-panel { max-width: 720px; }
  .answer-grid, .search-main .ha-search__results { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .scholar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  /* Touch navigation should act immediately. Desktop keeps the contextual
     reference and related-answer previews; mobile taps open or navigate. */
  .answer-panel__preview, .related-answers__preview { display: none !important; }
  .site-search--header { position: relative; left: auto; width: 44px; height: 44px; min-height: 44px; flex: 0 0 44px; gap: 0; padding: 0; border-radius: 50%; background: transparent; transform: none; }
  .site-search--header input { display: none; }
  .site-search--header .site-search__icon { display: none; }
  .site-search--header button { position: absolute; inset: 0; display: grid; width: 100%; height: 100%; min-height: 0; padding: 0; place-items: center; border-radius: 50%; background: transparent; color: var(--brass); }
  .site-search--header button:hover, .site-search--header button:focus-visible { background: transparent; }
  .site-search--header .site-search__submit-icon--arrow { display: none; }
  .site-search--header .site-search__submit-icon--search { display: block; width: 20px; height: 20px; }
  .site-search--header.is-expanded { position: absolute; z-index: 40; inset: 10px 0 auto; width: 100%; height: 48px; min-height: 48px; display: flex; gap: 10px; padding: 5px 6px 5px 15px; border-radius: 999px; background: var(--surface); box-shadow: var(--shadow); }
  .site-search--header.is-expanded input { display: block; }
  .site-search--header.is-expanded .site-search__icon { display: block; }
  .site-search--header.is-expanded button { position: static; width: 38px; height: 38px; min-width: 38px; min-height: 38px; flex: 0 0 38px; background: transparent; color: var(--brass); }
  .site-search--header.is-expanded button:hover, .site-search--header.is-expanded button:focus-visible { background: transparent; color: var(--ink); }
  .site-search--header.is-expanded .site-search__submit-icon--search { display: none; }
  .site-search--header.is-expanded .site-search__submit-icon--arrow { display: block; }
}
@media (max-width: 620px) {
  :root { --shell: calc(100% - 28px); }
  body { font-size: 15px; }
  .site-header__identity { flex-basis: 154px; padding: 8px 6px; }
  .site-brand, .site-brand .ha-archive-lockup--header { width: 138px; }
  .site-header--home .site-header__identity { flex-basis: 174px; }
  .site-header--home .site-brand, .site-header--home .site-brand__home-mark { width: 174px; }
  .site-navigation__subcategory-columns { grid-template-columns: 1fr; }
  .home-hero__grid { padding-block: 34px 14px; }
  .ha-archive-lockup--hero { width: min(100%, 360px); }
  .home-search-panel { margin-top: 24px; }
  .site-search--hero { min-height: 58px; padding: 7px 7px 7px 14px; }
  .site-search--hero input { font-size: .84rem; }
  .site-search--hero input::placeholder { color: var(--ink-soft); opacity: .8; }
  .site-search--hero button { width: 44px; height: 44px; min-width: 44px; min-height: 44px; flex: 0 0 44px; padding: 0; border-radius: 50%; }
  .site-search--hero button span:first-child { display: none; }
  .home-search-panel__support { margin-top: 12px; font-size: .76rem; }
  .home-search-info { display: block; width: fit-content; max-width: 100%; margin: 9px auto 0; font-size: .7rem; }
  .home-search-info__popover { width: min(430px, calc(100vw - 32px)); padding: 16px; font-size: .76rem; }
  .home-today__inner { min-height: 58px; flex-direction: column; gap: 3px; padding-block: 10px; }
  .home-today__values { gap: 4px 8px; font-size: .68rem; }
  .home-today__values > * + *::before { margin-right: 8px; }
  .search-main .ha-search__no-results { min-height: 240px; padding: 42px 24px; }
  .search-main .ha-search__ask-question { margin-top: 24px; }
  .search-main .ha-search__no-results .ha-search__ask-question.is-integrated { margin-top: 24px; padding-top: 22px; }
  .search-main .ha-search__no-results .ha-search__ask-question.is-integrated p { flex-direction: column; gap: 11px; }
  .home-latest { padding-block: 34px 28px; }
  .home-latest__heading { display: block; }
  .home-latest__heading .text-link { margin-top: 18px; }
  .home-latest__all { width: 100%; max-width: 250px; }
  .home-popular { padding-block: 30px 58px; }
  .home-categories { display: none; }
  .home-categories__list { grid-template-columns: 1fr; }
  .home-categories__list a { min-height: 68px; grid-template-columns: 32px minmax(0, 1fr) auto 18px; gap: 10px; padding-inline: 14px; }
  .home-question-cta { padding-bottom: 58px; }
  .home-question-cta__divider { display: block; width: min(100% - 56px, 430px); margin: 0 auto 24px; }
  .home-question-cta__divider--footer { display: none; }
  .home-question-cta__inner { padding: 0; }
  .home-question-cta--footer { padding: 32px 0 58px; }
  .home-question-cta--footer .home-question-cta__inner { display: grid; gap: 22px; padding: 26px 22px; text-align: left; }
  .home-question-cta--footer .home-question-cta__inner > a { width: fit-content; }
  .archive-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 20px; padding: 12px; }
  .archive-filter { min-width: 0; }
  .archive-filters__actions { grid-column: 1 / -1; }
  .archive-filters__actions button { flex: 1; }
  .topic-list a { grid-template-columns: 1fr auto; }
  .topic-list a b { display: none; }
  .answer-grid, .search-main .ha-search__results { grid-template-columns: 1fr; }
  .search-main .ha-search.is-loading .ha-search__results { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .scholars-heading { grid-template-columns: 1fr; gap: 20px; padding-bottom: 30px; }
  .scholars-heading h1 { font-size: clamp(3rem, 15vw, 4.4rem); }
  .scholars-heading > p { margin: 0; }
  .scholar-directory { padding-top: 22px; }
  .scholar-grid { grid-template-columns: 1fr; }
  .scholar-card__link { min-height: 230px; padding: 21px; }
  .scholar-card__body { padding-top: 28px; }
  .answer-card { height: 320px; max-height: 320px; }
  .search-main .ha-result.answer-card { height: 320px; max-height: 320px; padding: 22px; }
  .search-main .ha-result--skeleton { height: 300px; max-height: 300px; padding: 22px; }
  .search-main .ha-search.is-loading .ha-result--skeleton { height: 220px; max-height: 220px; padding: 16px; }
  .search-main .ha-search.is-loading .ha-skeleton__date { gap: 8px; }
  .search-main .ha-search.is-loading .ha-skeleton__title { gap: 6px; margin-top: 20px; }
  .search-main .ha-search.is-loading .ha-skeleton__title i { height: 14px; }
  .search-main .ha-search.is-loading .ha-skeleton__body { gap: 7px; margin-top: 13px; }
  .archive-pagination { max-width: calc(100% - 28px); grid-template-columns: 44px max-content 44px; gap: 10px; }
  .archive-pagination__button { min-width: 44px; min-height: 44px; padding: 0; border-radius: 999px; }
  .archive-pagination__label { display: none; }
  .archive-pagination__jump { min-height: 44px; gap: 7px; padding: 4px 10px; border-radius: 999px; font-size: .72rem; }
  .archive-pagination__jump input { width: 46px; height: 34px; }
  .answer-article__header h1, .archive-heading h1, .page-article h1, .error-main h1 { font-size: clamp(2.55rem, 13vw, 4.1rem); }
  .answer-article__header h1 { font-size: clamp(1.65rem, 6.6vw, 2.1rem); line-height: 1.12; }
  .archive-heading h1 { font-size: clamp(2.2rem, 10vw, 3.45rem); line-height: 1.04; }
  .answer-main, .page-main, .archive-main, .error-main { padding-block: 44px 70px; }
  .page-article--card .page-article__header { margin-bottom: 24px; }
  .page-article--card .page-article__body { padding: 24px 20px; border-radius: 16px; }
  .ha-disclaimer-list { gap: 1.25em; padding-inline-start: 1.45em; }
  .ha-disclaimer-list li { padding-inline-start: .25em; }
  .page-article--contact .page-article__header { padding-bottom: 20px; }
  .page-article--contact .page-article__ornament { margin-top: 20px; }
  .page-article--contact .page-article__body { display: flex; flex-direction: column; gap: 14px; margin-top: 0; }
  .page-article--contact .page-article__body > p { padding: 22px 20px; border-radius: 14px; }
  .page-article--contact .page-article__body > p:first-child { min-height: 300px; padding: 0; order: 3; }
  .page-article--contact .page-article__body > p:nth-child(2) { order: 1; }
  .page-article--contact .page-article__body > p:nth-child(3) { order: 2; }
  .page-article--contact .page-article__body iframe { min-height: 300px; }
  .ask-layout { width: var(--shell); }
  .ask-intro { margin-bottom: 28px; }
  .ask-intro h1 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .ask-reminder { margin-top: -8px; padding: 20px 18px; border-radius: 14px; }
  .ask-form-card { padding: 22px 18px; border-radius: 16px; }
  .ask-form-card .wpforms-field-row { display: grid !important; gap: 16px; }
  .ask-form-card .wpforms-field-row-block { width: 100% !important; margin: 0 !important; }
  .ask-form-card .wpforms-form textarea { min-height: 190px !important; }
  .similar-answers { width: calc(100% - 24px); max-height: calc(100vh - 24px); border-radius: 16px; }
  .similar-answers__inner { max-height: calc(100vh - 24px); padding: 20px 17px 18px; }
  .similar-answers__header { grid-template-columns: 36px minmax(0, 1fr) 36px; gap: 10px; }
  .similar-answers__mark { width: 36px; height: 36px; }
  .similar-answers__header h2 { font-size: 1.55rem; }
  .similar-answers__description { margin-top: 17px; font-size: .86rem; }
  .similar-answers__list a { padding: 15px 40px 14px 15px; }
  .similar-answers__list a::after { top: 16px; right: 15px; }
  .similar-answers__actions { display: grid; grid-template-columns: 1fr; }
  .similar-answers__actions button { width: 100%; }
  .similar-answers__submit { order: -1; }
  .answer-article__body { font-size: 1.06rem; }
  .answer-article__meta { display: flex; gap: 10px 14px; }
  .answer-article__meta-item + .answer-article__meta-item { padding-left: 0; }
  .answer-article__meta-item + .answer-article__meta-item::before { display: none; }
  .answer-article__header-row { display: block; }
  .answer-article__share { align-items: flex-start; justify-content: flex-start; padding-top: 18px; }
  .related-answers__list { grid-template-columns: 1fr; }
  .related-answers__list a { min-height: 0; }
  .search-main .ha-search__results-head { display: block; }
  .site-footer { display: flex; flex-direction: column; padding-top: 24px; }
  .site-footer__ornament--top { margin-bottom: 22px; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 0 20px; }
  .site-footer__about { grid-column: 1 / -1; }
  .site-footer__about .ha-archive-lockup--footer { display: flex; margin-inline: auto; }
  .site-footer__newsletter { margin-inline: auto; }
  .site-footer__newsletter-title { text-align: center; }
  .site-footer__ornament--mobile { display: block; grid-column: 1 / -1; width: 100%; margin: 26px 0 18px; }
  .site-footer__ornament--mobile::after { width: 42px; height: 42px; }
  .site-footer__explore, .site-footer__connect { min-width: 0; padding-block: 0 8px; }
  .site-footer__explore { position: relative; padding-right: 18px; }
  .site-footer__explore::after { position: absolute; top: 0; right: -10px; bottom: 0; width: 1px; background: color-mix(in srgb, var(--brass) 32%, transparent); content: ""; }
  .site-footer__connect { padding-left: 0; }
  .site-footer__links li + li { margin-top: 0; }
  .site-footer__links li { border-bottom: 1px solid color-mix(in srgb, var(--brass) 24%, transparent); }
  .site-footer__links a { display: flex; min-height: 43px; align-items: center; justify-content: space-between; gap: 10px; }
  .site-footer__links a::after { color: var(--brass); content: "›"; font: 500 1.2rem/1 var(--sans); }
  .site-footer__social { width: 100%; justify-content: flex-start !important; }
  .site-footer__social::after { margin-left: auto; }
  .site-footer__media { margin-top: 12px; }
  .site-footer__websites { grid-column: 1 / -1; }
  .site-footer__partner-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 18px; width: 100%; max-width: 430px; }
  .site-footer__bottom { order: 2; display: grid; gap: 8px; margin-top: 0; padding-bottom: 24px; }
  .site-footer__bottom-ornament { order: 1; height: 52px; margin-top: 28px; background-size: auto, 44px 44px; }
  .site-footer__edge-ornament { top: 145px; width: 180px; opacity: .045; }
  .scroll-to-top { right: max(14px, env(safe-area-inset-right)); bottom: max(14px, env(safe-area-inset-bottom)); width: 44px; height: 44px; }
}
@media (max-width: 380px) {
  .site-header__inner { gap: 6px; }
  .site-header__identity { flex-basis: 124px; padding: 7px 5px; }
  .site-brand, .site-brand .ha-archive-lockup--header { width: 110px; }
  .site-header--home .site-header__identity { flex-basis: 148px; }
  .site-header--home .site-brand, .site-header--home .site-brand__home-mark { width: 148px; }
  .home-categories__count { display: none; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
@font-face { font-family: "Cormorant Garamond"; src: url("../fonts/cormorant-garamond-bold-latin-ext.woff2") format("woff2"); font-display: swap; font-style: normal; font-weight: 700; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Cormorant Garamond"; src: url("../fonts/cormorant-garamond-bold-latin.woff2") format("woff2"); font-display: swap; font-style: normal; font-weight: 700; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "KFGQPC Uthman Taha Naskh"; src: url("../fonts/kfgqpc-uthman-taha-naskh.woff2") format("woff2"); font-display: swap; font-weight: 400; font-style: normal; }
[dir="rtl"], .arabic, .is-style-ha-arabic, [lang="ar"], [lang^="ar-"] { font-family: var(--arabic); }
.answer-article__body [lang="ar"], .answer-article__body [lang^="ar-"], .answer-article__body .arabic, .answer-article__body .is-style-ha-arabic { direction: rtl; text-align: right; }
