/* Shared public design: preserve the emblem, navy/gold identity and bilingual type. */
:root { --mist: #fafbf9; --linen: #f0f3ef; --line: #dce2dc; --radius: 4px; --shadow: none; --step-0: 1rem; --step-3: clamp(1.5rem, 1.25rem + 1vw, 2rem); }
body { background: var(--mist); }
h1, h2, h3 { font-weight: 650; }
.site-head { position: sticky; inset-block-start: 0; background: #fff; color: var(--night); border-block-end: 1px solid var(--line); }
.site-head__bar { min-block-size: 76px; }
.brand, .brand:hover { color: var(--night); }
.brand__name small { color: var(--ink-2); }
.site-head .nav a, .lang-switch, .menu > summary { color: var(--night); border-radius: 4px; }
.site-head .nav a { padding-inline: .65rem; }
.site-head .nav a:hover, .site-head .nav a[aria-current="page"] { color: var(--night); background: var(--linen); box-shadow: none; }
.site-head .nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: .4em; }
.lang-switch { border-color: var(--line); }
.lang-switch:hover, .menu[open] > summary { color: var(--night); background: var(--linen); }
.menu__panel { background: #fff; border-block-start-color: var(--line); box-shadow: 0 12px 24px rgb(7 30 48 / .08); }
.menu__panel a { color: var(--night); border-block-end-color: var(--line); }
.menu__panel a:hover, .menu__panel a[aria-current="page"] { color: var(--river-ink); background: var(--linen); }
.site-head__cta { display: none; padding-block: .5rem; font-size: .9rem; white-space: nowrap; }
.site-head :focus-visible { outline-color: var(--river); }
.btn { border-radius: var(--radius); box-shadow: none; }
.btn--sun { background: var(--sun); color: var(--night); }
.btn--sun:hover { background: var(--sun-soft); color: var(--night); }
.section { padding-block: clamp(2.5rem, 4vw, 4rem); }
.section--tight { padding-block: clamp(2rem, 3vw, 3rem); }
.section--paper { background: var(--paper); }
.section--night { background: var(--linen); color: var(--ink); }
.section--night h2, .section--night blockquote { color: var(--night); }
.section--night p { color: var(--ink-2); }
.section-head { align-items: center; gap: 1rem 2rem; }
.section-head > div > p { max-inline-size: 65ch; }
.section .eyebrow, .page-head .eyebrow { text-transform: none; letter-spacing: 0; font-size: .85rem; color: var(--river-ink); font-weight: 500; }
.page-head { background: var(--linen); color: var(--ink); padding-block: clamp(2rem, 3.5vw, 3rem); border-block-end: 1px solid var(--line); }
.page-head::before, .page-head::after, .section--night::before, .scene { display: none; }
.page-head h1 { color: var(--night); font-size: clamp(1.85rem, 1.3rem + 2vw, 2.75rem); max-inline-size: 30ch; line-height: 1.25; text-shadow: none; margin-block-end: .55em; }
:lang(ar) .page-head h1 { line-height: 1.5; }
.page-head p { color: var(--ink-2); font-size: 1.05rem; max-inline-size: 65ch; }
.page-head p.crumbs { font-size: .85rem; margin-block-end: 1rem; }
.page-head .crumbs a, .page-head .eyebrow { color: var(--river-ink); }
.page-head .program-entry span { color: var(--ink-2); }
.page-head .btn--ghost { color: var(--river-ink); border-color: var(--river); }
.board, .board--hero { gap: 1.25rem; padding-block: 0; }
.note, [dir="rtl"] .note { --tilt: 0deg; transform: none; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: none; padding: 1.5rem; }
.note::before { display: none; }
a.note:hover, a.note:focus-visible { transform: none; box-shadow: none; border-color: var(--river); }
.note__stamp { position: static; align-self: start; transform: none; border: 0; padding: 0; margin-block-end: .75rem; background: transparent; box-shadow: none; font-weight: 500; letter-spacing: 0; text-transform: none; }
.note__title { background: none; text-align: start; padding-block-end: 0; font-size: 1.2rem; }
.note__meta { border-block-start-style: solid; }
.board-wrap { background: transparent; padding: 0; border: 0; box-shadow: none; }
.card, .facts, .form-section, .receipt, .filters, .empty { border-radius: var(--radius); box-shadow: none; }
a.card:hover, .program-row:hover { transform: none; box-shadow: none; border-color: var(--river); }
.card__media, .gallery img { border-radius: 2px; }
.card__title { font-size: 1.15rem; line-height: 1.45; }
.card__text { font-size: .95rem; }
.card__body { padding: 1.5rem; }
.card__meta { margin-block-start: auto; padding-block-start: .75rem; }
.program-row { border-radius: 0; border-inline: 0; background: transparent; padding-inline: 0; box-shadow: none; }
.program-row:hover { background: var(--linen); }
.program-row img { border-radius: 2px; }
.paths, .values { background: transparent; gap: 1.5rem 2rem; border: 0; border-radius: 0; overflow: visible; }
.path, .values > div { background: transparent; border: 0; border-block-start: 1px solid var(--line); border-radius: 0; box-shadow: none; padding: 1.25rem 0 0; }
.path .who { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: .85rem; }
.path h2 { font-size: 1.3rem; }
.pillars li { border-block-start-width: 1px; }
.community-message { max-inline-size: 800px; }
.community-message .pull-quote { margin: 0; padding: 0; text-align: start; }
.community-message .pull-quote blockquote { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem); }
.community-message .pull-quote blockquote::before { display: none; }
.community-message .pull-quote p { font-size: 1rem; }
.journey__number { background: transparent; border-radius: 0; color: var(--river-ink); justify-items: start; inline-size: 2rem; block-size: 2rem; margin-block-end: .5rem; }
.callout, input, select, textarea, .chip, .check { border-radius: var(--radius); }
.empty { border-style: solid; padding: 1.75rem; }
.empty p { max-inline-size: 65ch; margin-inline: auto; }
.detail-media { margin-inline: 0; }
.detail-media img { inline-size: 100%; block-size: auto; object-fit: contain; }
.prose, .page-head p, .kv dd { overflow-wrap: break-word; }
.kv .latin { max-inline-size: 100%; overflow-wrap: anywhere; }
.subscribe { background: var(--linen); color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: none; }
.subscribe h2 { color: var(--night); font-size: var(--step-3); }
.subscribe p { color: var(--ink-2); font-size: .95rem; }
.subscribe .check { color: var(--ink-2); border: 0; padding-inline: 0; }
.subscribe .check:has(input:checked) { background: transparent; }
.subscribe .check input { accent-color: var(--river); }
.subscribe input[type="email"] { border-color: #aebbb7; }
.subscribe a { color: var(--river-ink); }
.subscribe .field-error { color: var(--danger); }
.nl-signup { display: grid; gap: 2.5rem; }
.nl-signup .subscribe { grid-template-columns: 1fr; }
.nl-list { padding-inline-start: 1.25rem; }
.nl-list li { margin-block-end: .75rem; }
.site-foot { background: var(--linen); color: var(--ink-2); border-block-start: 1px solid var(--line); }
.site-foot a, .site-foot h2, .site-foot .tagline { color: var(--night); }
.site-foot a:hover { color: var(--river); }
.site-foot .foot-brand p { color: var(--ink-2); }
.site-foot .foot-grid h2 { text-transform: none; letter-spacing: 0; font-size: .9rem; }
.foot-grid > * { min-inline-size: 0; }
.foot-grid .latin { max-inline-size: 100%; overflow-wrap: anywhere; }
.foot-grid a { display: inline-flex; align-items: center; min-block-size: 32px; }
.foot-base { border-color: var(--line); }
.site-foot :focus-visible { outline-color: var(--river); }
@media (min-width: 900px) { .nl-signup { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1080px) { .nav { display: flex; gap: .1rem; align-items: center; } .menu { display: none; } .site-head__cta { display: inline-flex; } }
@media (max-width: 1079px) { .nav { display: none; } .menu { display: block; } }
@media (max-width: 639px) {
  .site-head__bar { min-block-size: 68px; }
  .menu__panel { max-block-size: calc(100dvh - 68px); }
  .page-head p { font-size: 1rem; }
  .section-head { align-items: start; flex-direction: column; }
  .card__body, .note, [dir="rtl"] .note { padding: 1.25rem; }
  .journey__number { inset-inline-start: 0; }
  .subscribe .row .btn { flex-grow: 1; }
}
@media print {
  .site-head, .site-foot, .subscribe { display: none; }
  .page-head, .section--night { background: #fff; }
  .section { padding-block: 1rem; }
}
