:root[data-palette='jade'] { --palette-h: 154; --palette-s: 28%; --secondary-h: 42; }
:root[data-palette='amber'] { --palette-h: 28; --palette-s: 53%; --secondary-h: 8; }
:root[data-palette='orchid'] { --palette-h: 270; --palette-s: 35%; --secondary-h: 181; }
:root[data-palette='rose'] { --palette-h: 340; --palette-s: 35%; --secondary-h: 253; }
:root:where([data-palette]:not([data-palette='blue'])) {
  --paper: hsl(var(--palette-h) 30% 97%);
  --ink: hsl(var(--palette-h) 32% 18%);
  --muted: hsl(var(--palette-h) 15% 37%);
  --blue: hsl(var(--palette-h) var(--palette-s) 34%);
  --ice: hsl(var(--secondary-h) 58% 80%);
  --line: hsl(var(--palette-h) 22% 83%);
  --accent: hsl(var(--palette-h) var(--palette-s) 35%);
  --surface: hsl(var(--palette-h) 24% 93%);
  --surface-hover: hsl(var(--palette-h) 30% 88%);
  --panel: hsl(var(--palette-h) 28% 89%);
  --header: hsl(var(--palette-h) 30% 97% / .97);
  --deep: hsl(var(--palette-h) 35% 19%);
  --pale: hsl(var(--palette-h) 35% 91%);
  --hero-start: hsl(var(--palette-h) 30% 91%);
  --hero-end: hsl(var(--palette-h) 22% 80%);
  --ribbon: hsl(var(--palette-h) var(--palette-s) 44%);
}
:root:where([data-palette]:not([data-palette='blue']))[data-theme='dark'] {
  --paper: hsl(var(--palette-h) 22% 9%);
  --ink: hsl(var(--palette-h) 26% 93%);
  --muted: hsl(var(--palette-h) 18% 73%);
  --line: hsl(var(--palette-h) 19% 26%);
  --accent: hsl(var(--palette-h) 48% 74%);
  --surface: hsl(var(--palette-h) 22% 13%);
  --surface-hover: hsl(var(--palette-h) 25% 19%);
  --panel: hsl(var(--palette-h) 24% 18%);
  --header: hsl(var(--palette-h) 22% 9% / .97);
  --hero-start: hsl(var(--palette-h) 28% 25%);
  --hero-end: hsl(var(--palette-h) 24% 15%);
}
html[data-palette]:not([data-palette='blue']) :is(.announcement, .finance-section, .trust-art) { background: var(--deep); color: var(--pale); }
html[data-palette]:not([data-palette='blue']) :is(.announcement a, .announcement .status-dot, .finance-copy .eyebrow, .finance-copy h2 .serif, .trust-word em, .finance-topics span, .book-caption, .finance-bottom) { color: var(--ice); }
html[data-palette]:not([data-palette='blue']) :is(.finance-copy>p:not(.eyebrow), .book-intro em, .trust-word) { color: var(--pale); }
html[data-palette]:not([data-palette='blue']) :is(.finance-topics span, .finance-copy .book-intro) { border-color: var(--ice); }
html[data-palette]:not([data-palette='blue']) .button-dark { background: var(--accent); color: var(--paper); }
html[data-palette]:not([data-palette='blue']) .button-dark:hover { background: var(--ink); }
html[data-palette]:not([data-palette='blue']) :is(.button-ice, .book-badge, .avatar-mini) { background: var(--ice); color: var(--deep); }
html[data-palette]:not([data-palette='blue']) .book-badge { outline-color: var(--line); }
html[data-palette]:not([data-palette='blue']) :is(.programme-visual, .prompt-art, .contact-section, .founder-monogram) { background: var(--panel); }
html[data-palette]:not([data-palette='blue']) :is(.contact-mark, .contact-section h2 .serif, .prompt-bracket) { color: var(--accent); }
html[data-palette]:not([data-palette='blue']) :is(.contact-section>p:not(.eyebrow), .contact-note) { color: var(--muted); }
html[data-palette]:not([data-palette='blue']) :is(.orbit, .contact-section:before, .contact-section:after) { border-color: var(--line); }
html[data-palette]:not([data-palette='blue']) .orbit-core { background: var(--deep); color: var(--ice); }
html[data-palette]:not([data-palette='blue']) .hero-art { background: radial-gradient(ellipse at 62% 40%, var(--hero-start), var(--hero-end)); }
html[data-palette]:not([data-palette='blue']) .art-card { background: var(--paper); border-color: var(--line); }
html[data-palette]:not([data-palette='blue']) .card-icon { background: var(--panel); color: var(--ink); }
html[data-palette]:not([data-palette='blue']) .micro-label { color: var(--muted); }
html[data-palette]:not([data-palette='blue']) .art-topline i { background: var(--accent); }
html[data-palette]:not([data-palette='blue']) #ribbon stop:first-child { stop-color: var(--deep); }
html[data-palette]:not([data-palette='blue']) #ribbon stop:nth-child(2) { stop-color: var(--ribbon); }
html[data-palette]:not([data-palette='blue']) #ribbon stop:nth-child(3) { stop-color: var(--ice); }
html[data-palette]:not([data-palette='blue']) #ribbon stop:nth-child(4) { stop-color: var(--ribbon); }
html[data-palette]:not([data-palette='blue']) #ribbon stop:last-child { stop-color: var(--deep); }
html[data-palette]:not([data-palette='blue']) #arrow stop:first-child { stop-color: var(--ribbon); }
html[data-palette]:not([data-palette='blue']) #arrow stop:not(:first-child) { stop-color: var(--deep); }
html[data-palette]:not([data-palette='blue']) .growth-art>path:nth-last-child(2) { fill: var(--ice); }
html[data-palette]:not([data-palette='blue']) .growth-art>path:last-child { fill: var(--deep); }
/* Allow faithful translations to expand without clipping or shrinking body copy. */
html:not([lang='en-US']) .hero h1 { font-size: clamp(38px, 5.2vw, 74px); }
html:not([lang='en-US']) .art-card-top { right: 5%; }
html:not([lang='en-US']) .art-card-top .tiny-star { margin-left: auto; }
html:not([lang='en-US']) .art-card strong { font-size: 15px; }
html:not([lang='en-US']) .book-badge strong { font-size: 28px; }
html[lang='es'] .book-badge strong { font-size: 22px; }
html:not([lang='en-US']) .orbit-label { max-width: 48%; white-space: normal; text-align: center; line-height: 1.4; }
.button { white-space: normal; }
.section-heading>div { min-width: 0; max-width: 100%; }
html:is([lang='af-ZA'],[lang='zu-ZA']) :is(h1,h2,h3) { overflow-wrap: anywhere; hyphens: auto; }
html { scroll-padding-top: 110px; }
@media (max-width: 900px) {
  .nav-wrap nav { top: 100%; max-height: calc(100dvh - 100px); }
}
@media (max-width: 1100px) and (min-width: 901px) {
  html:not([lang='en-US']) .nav-wrap { gap: 12px; }
  html:not([lang='en-US']) .nav-wrap nav { gap: 12px; font-size: 13px; }
}
@media (max-width: 640px) {
  html:not([lang='en-US']) .hero h1 { font-size: clamp(32px, 8.6vw, 54px); }
  html:not([lang='en-US']) .art-bottomline { font-size: 10px; letter-spacing: 0; gap: 3px; }
  html:not([lang='en-US']) .art-bottomline .art-mark { font-size: 18px; }
  html:not([lang='en-US']) .art-card-top { left: 5%; right: 5%; gap: 6px; padding: 10px; }
  html:not([lang='en-US']) .art-card-top strong { font-size: 13px; }
  html:not([lang='en-US']) .art-card-top .micro-label { font-size: 10px; }
  html:not([lang='en-US']) .art-card-top .tiny-star { font-size: 22px; padding-left: 0; }
  html[data-palette]:not([data-palette='blue']) .art-bottomline { background: var(--hero-end); }
  html:not([lang='en-US']) .nav-cta { font-size: 11px; padding-inline: 6px; }
  html:not([lang='en-US']) .contact-section h2 { font-size: 40px; }
  html:not([lang='en-US']) .programme-tabs button { font-size: 13px; }
}
.palette-picker { position: relative; flex: 0 0 44px; }
.palette-toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 5px; background: var(--paper); color: var(--ink); }
.palette-toggle:hover, .palette-toggle[aria-expanded='true'] { background: var(--surface); border-color: var(--accent); }
.palette-toggle svg { width: 23px; height: 23px; }
.palette-panel { position: absolute; top: calc(100% + 12px); right: 0; width: 230px; max-width: calc(100vw - 32px); padding: 12px; background: var(--paper); color: var(--ink); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 14px 40px #0003; z-index: 60; }
.palette-panel[hidden] { display: none; }
.palette-panel { max-height: min(650px, calc(100dvh - 150px)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scroll-padding-block: 8px; }
.palette-panel>p { font-size: 12px; color: var(--muted); margin: 2px 8px 8px; }
.palette-panel>button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 8px; min-height: 44px; text-align: left; background: none; color: var(--ink); border: 0; border-radius: 4px; font: inherit; font-size: 14px; }
.palette-panel>button:hover, .palette-panel>button[aria-pressed='true'] { background: var(--surface); }
.palette-selected { margin-left: auto; opacity: 0; color: var(--accent); }
[aria-pressed='true']>.palette-selected { opacity: 1; }
.palette-swatch { width: 23px; height: 23px; border-radius: 50%; flex-shrink: 0; border: 1px solid #0002; }
.swatch-blue { background: linear-gradient(135deg,#386daf 50%,#eaf0f8 50%); }
.swatch-jade { background: linear-gradient(135deg,#407e62 50%,#e7d5ab 50%); }
.swatch-amber { background: linear-gradient(135deg,#98622d 50%,#eab5ac 50%); }
.swatch-orchid { background: linear-gradient(135deg,#8052ac 50%,#afe0df 50%); }
.swatch-rose { background: linear-gradient(135deg,#a95372 50%,#c3b1e8 50%); }
.swatch-hispanidad { background: linear-gradient(#aa151b 25%,#f1bf00 25% 75%,#aa151b 75%); }
.swatch-herois { background: linear-gradient(90deg,#006600 40%,#ffca32 40% 46%,#c52c36 46%); }
.swatch-cielito { background: linear-gradient(90deg,#006847 33%,#fff 33% 66%,#ce1126 66%); }
.swatch-etihad { background: linear-gradient(90deg,#e32b35 25%,transparent 25%),linear-gradient(#00965e 33%,#fff 33% 66%,#151515 66%); }
.swatch-alma { background: linear-gradient(#ffce00 33%,#003da5 33% 66%,#d92332 66%); }
.swatch-rainbow { background: conic-gradient(#de3831 0 17%,#fff 17% 22%,#007a4d 22% 44%,#002395 44% 61%,#fff 61% 66%,#ffb612 66% 80%,#141414 80%); }
.swatch-alfred { background: linear-gradient(90deg,transparent 38%,#c8102e 38% 62%,transparent 62%),linear-gradient(transparent 38%,#c8102e 38% 62%,transparent 62%),linear-gradient(45deg,#012169 40%,#fff 40% 60%,#012169 60%); }
.swatch-uncle-sam { background: linear-gradient(#3c3b6e,#3c3b6e) top left / 48% 55% no-repeat,repeating-linear-gradient(#b22234 0 3px,#fff 3px 6px); }
.footer-main { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr) minmax(0,.6fr) minmax(0,1fr); gap: 30px; }
.footer-languages { display: flex; flex-direction: column; gap: 8px; padding-top: 2px; font-size: 15px; }
.footer-languages a { width: fit-content; text-underline-offset: 5px; }
.footer-languages a:hover, .footer-languages a[aria-current] { color: var(--accent); text-decoration: underline; }
@media (max-width: 1100px) and (min-width: 901px) {
  .nav-wrap { gap: 12px; }
  .nav-wrap nav { gap: 14px; }
  .nav-cta { padding-inline: 12px; gap: 10px; margin-left: 0; }
}
@media (max-width: 640px) {
  .nav-wrap .nav-cta { display: none; }
  .nav-wrap .theme-toggle { margin-left: auto; }
  .footer-main { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; }
  .footer-main>div:first-child, .footer-contact { grid-column: 1 / -1; }
  .footer-languages { padding-top: 0; gap: 9px; }
  .footer-languages a { min-height: 44px; display: inline-flex; align-items: center; }
}
