/* Official foundation palette: primary #003763, amber #f6b333. */
:root {
  color-scheme: dark;
  --bg: #003763;
  --panel: #052d50;
  --line: #365d7b;
  --muted: #c0cfdb;
  --text: #f7fbff;
  --accent: #f6b333;
  --navy: #003763;
  --deep: #002744;
  --control-border: #7892a8;
  font-family: Helvetica, Arial, sans-serif;
}
.brand-logo { display: block; width: 245px; height: auto; }
.site-header .brand { padding: 7px 12px 7px 0; }
.site-header { gap: 28px; }
.hero-art .ntg-art { --ntg-muted: .36; }
.hero-art .ntg-accent { stroke: var(--accent); }
.orange, .light { background: var(--accent); color: var(--navy); }
.orange:hover, .light:hover { background: #ffcc68; }
.outline, .text-link, .play, .motion-control, .remove-preview { border-color: var(--control-border); }
.play { color: var(--text); }
.star-visual { background: linear-gradient(145deg, #0b456f, #052d50); }
.placeholder-tag { color: var(--muted); border-color: var(--control-border); background: #003763; }
.star-initial { color: #8aa3b8; }
.card-button:hover .star-initial { color: #afc7db; }
.star-visual .play, .video-cover .play { background: var(--accent); color: var(--navy); border-color: var(--accent); }
.video-cover { background: var(--deep); border-bottom: 1px solid var(--line); }
.video-cover .number { color: #8aa3b8; }
.tabs { border-color: var(--control-border); background: var(--deep); }
.tabs button[aria-selected=true] { background: var(--accent); color: var(--navy); }
.tabs button[aria-selected=false]:hover { background: #124b75; }
.empty, .user-placeholder { border-color: var(--control-border); background: var(--panel); }
.user-placeholder span:first-child { color: var(--muted); }
input, select { color: var(--text); background: var(--deep); border-color: var(--control-border); }
input::placeholder { color: #afc1d0; opacity: 1; }
.form-panel { background: var(--panel); border-color: var(--line); }
.demo-label { color: var(--muted); background: var(--navy); border-color: var(--control-border); }
.amounts button { background: var(--deep); color: var(--text); border-color: var(--control-border); }
.amounts button[aria-pressed=true] { color: var(--navy); background: var(--accent); border-color: var(--accent); }
.amounts button[aria-pressed=false]:hover { background: #124b75; }
.translator { background: var(--deep); color: var(--text); border-block: 1px solid var(--line); }
.translator .eyebrow, .translator p { color: var(--muted); }
.translator .eyebrow span, .translator h2 em { color: var(--accent); }
.translator input { color: var(--text); background: #003763; border-color: var(--control-border); }
.chips button { color: var(--text); background: #003763; border-color: var(--control-border); }
.chips button:hover { background: #124b75; }
.gesture-stage { background: var(--navy); border-color: var(--line); }
.gesture-stage img { filter: brightness(0) invert(1); opacity: .8; }
.donate-section { background: var(--deep); border-color: var(--line); }
dialog { background: var(--panel); color: var(--text); border-color: var(--control-border); }
dialog::backdrop { background: #00182be6; }
.modal-empty { background: var(--deep); border-color: var(--control-border); }
.video-frame { background: #00182b; }
.noscript-notice { color: var(--text); background: var(--deep); }
::selection { background: var(--accent); color: var(--navy); }
.about-copy { margin-bottom: 24px; }
.about-copy p { color: #fff; }
.source-link { font-size: 16px; color: var(--muted); text-decoration: underline; text-underline-offset: 4px; }
.official-donation { margin-top: 30px; }
footer .footer-top { grid-template-columns: 1.1fr .8fr 1fr; gap: 32px; }
.footer-contact { display: flex; flex-direction: column; gap: 10px; font-size: 16px; overflow-wrap: anywhere; }
.footer-contact h3 { margin-bottom: 8px; font-size: 18px; }
.footer-contact .contact-phone { font-size: 22px; line-height: 1.3; }
.footer-foundation p { color: var(--muted); font-size: 16px; max-width: 340px; margin-top: 20px; }
.footer-support { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; border-top: 1px solid var(--line); padding-top: 42px; margin-top: 42px; }
.footer-support-copy h3 { font-size: 24px; }
.footer-support-copy > p { color: var(--muted); max-width: 480px; }
.requisites { margin-top: 28px; border-block: 1px solid var(--line); }
.requisites summary { padding: 18px 0; cursor: pointer; font-size: 16px; color: var(--text); }
.requisites dl { margin: 0 0 20px; font-size: 16px; }
.requisites dl > div { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 16px; padding: 9px 0; }
.requisites dt { color: var(--muted); }
.requisites dd { margin: 0; overflow-wrap: anywhere; }
.requisites > p { margin: 0 0 20px; }
.partner-space { margin-top: 32px; padding: 23px; border: 1px dashed var(--control-border); border-radius: 8px; }
.partner-space p { margin: 10px 0 0; font-size: 16px; color: var(--muted); }
#footer-donation-form { padding: 24px; }
.footer-bottom { align-items: center; }
@media(max-width:1050px) { .brand-logo { width: 210px; } .footer-support { gap: 38px; } }
@media(max-width:760px) {
  .site-header { gap: 14px; }
  .site-header .brand { padding: 5px 0; }
  .site-header .brand-logo { width: 170px; }
  footer .footer-top { grid-template-columns: 1fr 1fr; gap: 30px; }
  .footer-foundation { grid-column: 1/-1; }
  .footer-support { grid-template-columns: 1fr; gap: 30px; }
  .footer-contact .contact-phone { font-size: 17px; }
  .footer-contact { font-size: 15px; }
}
@media(max-width:380px) { .site-header .brand-logo { width: 150px; } footer .footer-top { grid-template-columns: 1fr; } }
