/* Blue gradient theme, refined to the user's supplied #2A79FF → #63A3FF reference. */
:root {
  --green: #1d53a8;
  --deep: #153166;
  --forest: #3167b9;
  --gold: #a3cafd;
  --ink: #1f3a62;
  --muted: #566784;
  --cream: #f3f7ff;
  --line: #d4e0f2;
}
body { background: #fff; }
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible {
  outline-color: #1954ac;
}
.utility { background: linear-gradient(100deg, #f4f8ff, #e9f1ff); border-color: #dbe7f6; }
.utility, .utility a, .utility button, .prototype { color: #45608a; }
.prototype > span { background: #4b84d4; }
.header { background: rgba(255,255,255,.98); box-shadow: 0 3px 18px #194a9810; }
.brand strong { color: #214172; }
.brand small { color: #536a8d; }
.nav { border-color: #e5edf8; }
.nav a { color: #4d6282; }
.nav a.active, .nav a:hover { color: #1956ae; }
.nav a.active:after { background: linear-gradient(90deg, #91c1f8, #3368bc); }
.button-green, .button-gold {
  background: linear-gradient(115deg, #2860b8, #194b9e);
  color: #fff;
  border-color: #275cac;
  box-shadow: 0 5px 14px #3067c114;
}
.button-green:hover, .button-gold:hover {
  background: linear-gradient(115deg, #1e51a3, #123b85);
}
.text-link, .hero-link { color: #214d90; }
.text-link:hover, .hero-link:hover { color: #143570; }
.icon-button:hover { background: #e9f2fe; }
.eyebrow, .eyebrow.light { color: #3a629a; }

/* Pale, luminous hero with contrasting navy type. */
.hero {
  background: linear-gradient(115deg, #f1f8ff 0%, #e0edff 38%, #cbe0fd 72%, #a9c8f6 100%);
  color: #163263;
}
.hero:before {
  background: radial-gradient(ellipse at 76% 25%, #ffffffa6 0%, transparent 55%),
    linear-gradient(170deg, transparent 65%, #82b2f220 100%);
}
.hero h1 { color: #1e3d6c; }
.hero h1 span { color: #2358ae; }
.hero-copy > p { color: #4a668d; }
.hero .eyebrow { color: #2e5ca0; }
.hero-bottom { color: #40608e; }
.emblem-wrap { filter: drop-shadow(0 18px 24px #416eac31); }
.orbit-one { border-color: #6797d86b; }
.orbit-two { border-color: #71a2e33d; }
.orbit-one:before, .orbit-two:before { background: #5184ce; }
.spark { color: #5485ce; }
.art-caption, .art-caption b { color: #2f5186; }
.gold-line { background: #7299d1; }
.hero-side-text { color: #456193; }
.quick-grid { border-color: #dbe5f4; box-shadow: 0 8px 32px #2d64b112; }
.quick-icon { color: #3368b2; }
.quick-link:hover { background: #f1f6ff; color: #21539f; }
.quick-link small { color: #586e90; }
.notice { background: linear-gradient(105deg, #f8fbff, #ecf4ff); border-color: #d7e4f9; }
.notice, .notice > span { color: #476390; }

.section-heading p, .faq-section > div > p, .muted { color: #566784; }
.filter { color: #4e6588; border-color: #d5e1f4; }
.filter:hover { background: #edf3ff; }
.filter.active {
  background: linear-gradient(110deg, #2963bc, #2055a9);
  border-color: #295faf;
  color: #fff;
}
.subtle-label, .section-index { color: #5b6e8b; }
.news-feature { background: linear-gradient(145deg, #f3f7ff, #e9f1fe); }
.news-visual { background: linear-gradient(135deg, #e4f0ff, #bad5fa); }
.news-visual:before { background: #edf5ff; }
.visual-top, .visual-bottom { color: #405e8c; }
.visual-book, .visual-book .icon { color: #4d76b6; }
.visual-title { color: #234273; }
.feature-copy p, .news-row p { color: #53688c; }
.tag { color: #2e5695; background: #e0ebfd; }
.tag-neutral { color: #5b6d88; background: transparent; }
.news-row h3 button:hover { color: #245bae; }
.sand { background: linear-gradient(135deg, #e8f1ff, #d7e3ff); color: #4f77b5; }
.mint { background: linear-gradient(135deg, #e3f0ff, #d4e7ff); color: #3d6cb1; }

.service-section { background: linear-gradient(160deg, #f7faff 0%, #edf4ff 52%, #f5f8ff 100%); }
.service-card { background: #ffffffeb; border-color: #dbe6f6; }
.service-icon { border-color: #c8daf4; color: #3d6db3; background: #f4f8ff; }
.card-number { color: #59739a; }
.service-card p, .service-card ul { color: #50688d; }
.service-card li:before { color: #3f6baf; }
.service-card-dark {
  background: linear-gradient(145deg, #d0e3fc 0%, #b5cefc 50%, #dce9ff 100%);
  border-color: #adc8f0;
  color: #1d4078;
}
.service-card-dark p, .service-card-dark ul { color: #334f7c; }
.service-card-dark .service-icon { border-color: #9dbae6; color: #2d5aa2; background: #eef5ffb3; }
.service-card-dark .card-number { color: #41608f; }
.service-card-dark .text-link { color: #234d8f; border-color: #9ab9e8; }
.section-footnote { color: #566c8e; }
.rates-panel, .calculator-panel { border-color: #d6e2f4; box-shadow: 0 6px 20px #3572c706; }
.panel-heading > .icon { color: #4975b3; }
.status-chip { background: #e9f0ff; color: #45628f; }
.tabs button { color: #567098; }
.tabs button[aria-selected=true] { color: #1f57a9; border-color: #386dbd; }
th { color: #536b90; background: #f4f8ff; }
th, td { border-color: #e0eaf8; }
td:last-child { color: #385e96; }
.field label span { color: #526b8f; }
.field input { border-color: #ccdaed; }
.field input::placeholder { color: #596f92; }
.calculation-result { background: linear-gradient(110deg, #eef5ff, #dee8fd); }
.calculation-result > span:first-child,
.calculation-result > span:last-child,
.calculator-disclaimer { color: #51698f; }
.calculation-result strong { color: #2055a3; }

.welfare-intro > p, .welfare-intro > p.small { color: #566d90; }
.welfare-stamp { color: #4972ad; }
.welfare-item .round-icon { background: linear-gradient(135deg, #eaf3ff, #d7e6fd); color: #4770b2; }
.welfare-item small { color: #586c8c; }
.welfare-item > .icon, .welfare-item:hover strong { color: #3468b4; }
.member-banner {
  background: linear-gradient(110deg, #d4e6fe 0%, #b7d3fa 52%, #dde6ff 100%);
  color: #1e3e72;
  border: 1px solid #b4cff3;
}
.member-banner:after { border-color: #7ca1d256; box-shadow: 0 0 0 35px #98b7e122; }
.member-banner p, .member-note { color: #2f4e7e; }
.document-search .icon, .document-row .text-link { color: #3b67af; }
.document-search:focus-within, .search-input-wrap:focus-within { outline-color: #2458a9; }
.doc-file-icon { background: #e9f2fe; color: #4873b3; }
.doc-title small, .document-status { color: #586e8f; }
.empty-state { background: #f1f6ff; color: #506991; }

.transparency-section { background: linear-gradient(110deg, #edf4ff, #e1ebfd 60%, #eef4ff); }
.large-icon.icon { color: #7599d2; }
.report-grid, .report-item:not(:first-child) { border-color: #c3d5ee; }
.report-number, .report-item p, .report-item span:not(.report-number) { color: #506b93; }
.report-item:hover h3 { color: #285fb2; }
.about-art { background: radial-gradient(circle at 50% 38%, #fff 0%, #e6f1ff 50%, #ccddfa 100%); }
.about-art:before { border-color: #a9c5ed; }
.about-art:after { border-color: #bfd6f6; }
.about-art img { box-shadow: 0 10px 22px #5278b525; }
.about-art span, .about-art strong { color: #426192; }
.about-description, details p { color: #50688d; }
summary .icon { color: #557ab4; }

.contact-section {
  background: linear-gradient(110deg, #e5f0ff 0%, #c8ddfb 48%, #adcaf8 100%);
  color: #1c3d72;
  border-top: 1px solid #c6d8f5;
}
.contact-grid > div > p, .contact-caption { color: #35507c; }
.contact-phone { color: #2056a3; }
.contact-card { background: #ffffffeb; border: 1px solid #d6e2f8; box-shadow: 0 10px 30px #3e6ba615; }
.contact-info > .icon { color: #5b81bb; }
.contact-info p, .contact-info .small { color: #526b91; }
.footer { background: linear-gradient(110deg, #f7fbff, #eaf2ff); }
.footer-links, .footer-bottom { color: #536b90; }
.back-top { background: #275cae; color: #fff; box-shadow: 0 4px 16px #2153a224; }
.back-top:hover { background: #1a478e; }

dialog { border-color: #d7e4f6; color: #234170; }
dialog::backdrop { background: #153065ad; }
#dialog-content p, #dialog-content li { color: #4c6385; }
#dialog-content a { color: #1d58ac; }
#dialog-content .dialog-note { background: linear-gradient(105deg, #edf5ff, #e4ecff); color: #40608d; }
#dialog-content .source-list small { color: #596f92; }
.member-service { background: #eef4fe; }
.member-service .icon { color: #4b76b3; }
.search-input-wrap { border-color: #bcd0ee; }
#search-results a:hover { color: #2157a6; }
#search-results p { color: #566d8e; }
.noscript-notice { background: #e9f1ff; color: #305182; }
::selection { background: #aaccf9; color: #143063; }

/* Reference-matched bright blue surfaces and contrasting controls. */
:root {
  --green: #2563d7;
  --deep: #16429a;
  --forest: #347cf0;
  --gold: #bad5ff;
  --ink: #203c66;
  --muted: #546b8a;
  --cream: #f3f7ff;
  --line: #dae5f8;
  --reference-blue-gradient: linear-gradient(100deg, #2a79ff 0%, #438bff 52%, #63a3ff 100%);
}
.header {
  background: var(--reference-blue-gradient);
  box-shadow: 0 3px 18px #2659b31c;
}
.header .brand strong { color: #fff; font-weight: 700; }
.header .brand small { color: #06132b; font-weight: 600; }
.header .brand img { box-shadow: 0 0 0 1px #ffffff6b, 0 3px 10px #18419b20; }
.header-actions > .icon-button { color: #12376f; border-color: #b8d4ff; background: #e5efffd9; }
.header-actions > .icon-button:hover { background: #fff; }
.header-actions .button-green {
  color: #1d54b5;
  background: #fff;
  border-color: #ffffffb8;
  box-shadow: 0 4px 12px #1f4c9b1a;
}
.header-actions .button-green:hover { background: #edf4ff; }
.nav { background: #fff; border-top-color: #ffffff59; }
.nav a { color: #4b6386; }
.nav a.active, .nav a:hover { color: #2563d7; }
.nav a.active:after { background: var(--reference-blue-gradient); }
.hero {
  background: linear-gradient(110deg, #205dd0 0%, #2568e6 42%, #418aff 72%, #63a3ff 100%);
  color: #fff;
}
.hero:before {
  background: radial-gradient(ellipse at 90% 8%, #b6d7ff33 0%, transparent 53%),
    linear-gradient(165deg, transparent 68%, #ffffff0c 100%);
}
.hero h1 { color: #fff; }
.hero h1 span { color: #e3f0ff; }
.hero-copy > p, .hero .eyebrow, .hero-bottom { color: #fff; }
.hero .button-gold {
  background: #fff;
  border-color: #fff;
  color: #1d54b5;
  box-shadow: 0 8px 20px #1948a224;
}
.hero .button-gold:hover { background: #edf4ff; }
.hero-link, .hero-link:hover { color: #fff; }
.emblem-wrap { filter: drop-shadow(0 18px 26px #1b429d45); }
.orbit-one { border-color: #d8eaff70; }
.orbit-two { border-color: #d8eaff38; }
.orbit-one:before, .orbit-two:before, .gold-line { background: #e2efff; }
.spark { color: #e1efff; }
.art-caption, .art-caption b, .hero-side-text { color: #12336d; }
.art-caption { background: #e3efffe6; padding: 7px 15px; border-radius: 7px; }
.art-caption .gold-line { background: #668dcc; }
.button-green, .button-gold, .filter.active {
  background: linear-gradient(110deg, #2469df 0%, #1b55c6 100%);
  color: #fff;
  border-color: #2560d0;
}
.button-green:hover, .button-gold:hover { background: linear-gradient(110deg, #1e59c7, #1646ab); }
.member-banner {
  background: var(--reference-blue-gradient);
  border-color: #82b4ff;
  color: #fff;
}
.member-banner .eyebrow, .member-banner p, .member-note { color: #06132b; }
.member-banner h2 { color: #fff; font-weight: 700; }
.member-banner:after { border-color: #dbeaff55; box-shadow: 0 0 0 35px #dbeaff1c; }
.member-banner .button-gold { background: #fff; color: #1d54b5; border-color: #fff; }
.member-banner .button-gold:hover { background: #edf4ff; }
.service-card-dark { background: linear-gradient(140deg, #dae8ff, #bcd5ff 55%, #e1ecff); border-color: #bed5fb; }
.news-visual { background: linear-gradient(135deg, #e7f0ff, #bad7ff); }
.calculation-result { background: linear-gradient(110deg, #edf4ff, #dceaff); }
.contact-section { background: linear-gradient(110deg, #e7f0ff, #c5dcff 55%, #afd0ff); }
.contact-phone { color: #215ac1; }
.back-top { background: #2a6de5; }
.back-top:hover { background: #2057c1; }
::selection { background: #b6d5ff; color: #16376f; }

@media (max-width:850px) {
  .header .brand strong, .header .brand small { color: #06132b; }
  .hero { background: linear-gradient(110deg, #205dd0 0%, #2567df 63%, #63a3ff 100%); }
  .report-item, .report-item:not(:first-child) { border-color: #c3d5ee; }
}
@media (max-width:600px) {
  .hero { background: linear-gradient(165deg, #205dd0 0%, #2568e6 64%, #63a3ff 100%); }
}
@media print {
  .hero, .service-section, .member-banner, .transparency-section, .contact-section, .footer { background: #fff; }
  .hero, .hero h1, .hero h1 span, .hero-copy > p, .contact-section, .contact-phone { color: #143063; }
}
