/* A shared color layer for the reviewed pages. Layout and protected routes stay unchanged. */
.lv-vibrant-palette {
    --ui-ink: #192f43;
    --ui-muted: #485b66;
    --ui-green: #006b5d;
    --ui-deep-green: #004c43;
    --ui-gold: #f6c94c;
    --ui-blue: #2459a6;
    --ui-coral: #aa3a2a;
    --ui-mint: #e5f5ef;
    --ui-sky: #eaf2ff;
    --ui-peach: #fff0e9;
    --ui-cream: #fff3c9;
    --ui-border: #d5e2e9;
}
.lv-vibrant-palette :is(.lv-about-story, .lv-teacher-directory, .lv-contact-page, .lv-forum-index, .lv-news-page) { --story-ink: var(--ui-ink); --story-copy: var(--ui-muted); --story-line: var(--ui-border); --news-ink: var(--ui-ink); --news-text: var(--ui-muted); --news-line: var(--ui-border); color: var(--ui-ink); }
.lv-vibrant-palette :is(.lv-teacher-directory, .lv-contact-page, .lv-forum-index, .lv-news-page) { background: #f6f9fc; }
.lv-vibrant-palette :is(.lv-story-breadcrumb, .lv-directory-breadcrumb, .lv-contact-breadcrumb, .lv-news-breadcrumb, .lv-directory-specialty, .lv-directory-card-label, .lv-directory-card-content p, .lv-community-list-heading p, .lv-community-author, .lv-forum-topic-cell p, .lv-forum-activity, .lv-news-card-top time, .lv-news-card-bottom > span, .lv-contact-form-intro) { color: var(--ui-muted); }
.lv-vibrant-palette :is(.lv-story-kicker, .lv-directory-eyebrow, .lv-contact-eyebrow, .lv-community-eyebrow, .lv-news-eyebrow) { color: var(--ui-green); }
.lv-vibrant-palette :is(.lv-story-intro h1, .lv-directory-hero h1, .lv-contact-hero h1, .lv-community-list-heading h2, .lv-directory-section-head h2, .lv-contact-section-head h2, .lv-news-heading-row h1, .lv-news-list-heading h2) { color: var(--ui-ink); }
.lv-vibrant-palette :is(.lv-story-primary, .lv-directory-jump) { background: var(--ui-green); color: #fff; }
.lv-vibrant-palette :is(.lv-story-primary, .lv-directory-jump):hover { background: var(--ui-deep-green); color: #fff; }
.lv-vibrant-palette :is(.lv-story-secondary, .lv-story-contact > a, .lv-contact-text-link, .lv-directory-help > a) { color: var(--ui-blue); border-color: var(--ui-blue); }
.lv-vibrant-palette :is(.lv-about-story, .lv-teacher-directory, .lv-contact-page, .lv-forum-index, .lv-news-page) :is(a, button, summary):focus-visible { outline-color: var(--ui-blue); }

/* About: warm paper, real portraits, and a clearer coral accent. */
.lv-vibrant-palette .lv-about-story { background: #fffbf5; }
.lv-vibrant-palette .lv-story-intro h1 > span { color: var(--ui-coral); }
.lv-vibrant-palette .lv-story-kicker > span { background: #dc7157; }
.lv-vibrant-palette .lv-story-person:first-child .lv-story-photo { border: 3px solid #9dbfe9; background: var(--ui-sky); }
.lv-vibrant-palette .lv-story-person:nth-child(2) .lv-story-photo { border: 3px solid #e9bd45; background: var(--ui-cream); }
.lv-vibrant-palette .lv-story-person:nth-child(3) .lv-story-photo { border: 3px solid #78bca5; background: var(--ui-mint); }
.lv-vibrant-palette .lv-story-person-name { color: var(--ui-ink); }
.lv-vibrant-palette :is(.lv-story-person-language, .lv-story-photo-caption) { color: var(--ui-muted); }
.lv-vibrant-palette .lv-story-principles article:first-child { border-color: var(--ui-blue); }
.lv-vibrant-palette .lv-story-principles article:nth-child(2) { border-color: #da7556; }
.lv-vibrant-palette .lv-story-principles article:nth-child(3) { border-color: var(--ui-green); }
.lv-vibrant-palette .lv-story-number { color: var(--ui-blue); }
.lv-vibrant-palette .lv-story-principles h2 { color: var(--ui-ink); }
.lv-vibrant-palette .lv-story-accordions details[open] { background: var(--ui-sky); }
.lv-vibrant-palette .lv-story-accordions details[open] > div { padding-right: 12px; }
.lv-vibrant-palette .lv-story-accordions details[open] summary { color: var(--ui-blue); }
.lv-vibrant-palette .lv-story-contact { background: var(--ui-cream); border-color: #dfac29; }
.lv-vibrant-palette .lv-story-contact h2 { color: var(--ui-ink); }

/* Teachers: mint and blue above, with warm accents on the portrait cards. */
.lv-vibrant-palette .lv-directory-hero { background: linear-gradient(120deg, #e6efff 0%, #e1f5ec 60%, #fff3cc 100%); border-color: #cddfe1; }
.lv-vibrant-palette .lv-directory-hero h1 span::after { background: var(--ui-gold); }
.lv-vibrant-palette .lv-directory-hero-grid > div > p { color: var(--ui-muted); }
.lv-vibrant-palette .lv-directory-guide { background: #ffffffdb; border-color: #fff; }
.lv-vibrant-palette .lv-directory-guide h2 { color: var(--ui-blue); }
.lv-vibrant-palette .lv-directory-guide p { color: var(--ui-muted); }
.lv-vibrant-palette .lv-directory-guide > span { color: var(--ui-green); border-color: #d3e4dc; }
.lv-vibrant-palette .lv-directory-count { background: var(--ui-sky); color: var(--ui-blue); border-color: #c4d8f3; }
.lv-vibrant-palette .lv-directory-card { border-color: var(--ui-border); border-top: 4px solid var(--ui-blue); }
.lv-vibrant-palette .lv-directory-card:nth-child(3n + 2) { border-top-color: #d87959; }
.lv-vibrant-palette .lv-directory-card:nth-child(3n) { border-top-color: var(--ui-green); }
.lv-vibrant-palette .lv-directory-card h3 a { color: var(--ui-ink); }
.lv-vibrant-palette .lv-directory-card-label { color: var(--ui-coral); }
.lv-vibrant-palette .lv-directory-levels > div > span { background: var(--ui-sky); color: var(--ui-blue); border-color: #c9dbf4; }
.lv-vibrant-palette .lv-directory-levels > span { color: var(--ui-muted); }
.lv-vibrant-palette .lv-directory-profile { background: var(--ui-green); border-color: var(--ui-green); color: #fff; }
.lv-vibrant-palette .lv-directory-profile:hover { background: var(--ui-deep-green); border-color: var(--ui-deep-green); color: #fff; }
.lv-vibrant-palette .lv-directory-help { background: #fffcf2; border-color: #eedaa5; }
.lv-vibrant-palette .lv-directory-help-icon { background: var(--ui-gold); color: var(--ui-ink); }
.lv-vibrant-palette .lv-directory-help h2 { color: var(--ui-ink); }
.lv-vibrant-palette .lv-directory-help p { color: var(--ui-muted); }

/* Forum: the strongest brand area, balanced by white reading surfaces. */
.lv-vibrant-palette .lv-community-hero { background: linear-gradient(120deg, #004c43, #087764); border-color: #006655; }
.lv-vibrant-palette .lv-community-hero :is(h1, p, nav, nav a) { color: #fff; }
.lv-vibrant-palette .lv-community-hero .lv-community-eyebrow { color: #ffe18b; }
.lv-vibrant-palette .lv-community-summary { color: #ecfff8; border-color: #ffffff40; }
.lv-vibrant-palette .lv-community-ask { background: var(--ui-gold); border-color: var(--ui-gold); color: #26352a; }
.lv-vibrant-palette .lv-community-ask:hover { background: #ffda72; color: #26352a; }
.lv-vibrant-palette .lv-community-hero a:focus-visible { outline-color: var(--ui-gold); }
.lv-vibrant-palette .lv-community-count { background: var(--ui-sky); border-color: #ccdef5; color: var(--ui-blue); }
.lv-vibrant-palette .lv-community-search { background: #f7faff; border-color: #cdddf1; }
.lv-vibrant-palette .lv-community-search button { background: var(--ui-blue); }
.lv-vibrant-palette .lv-forum-tabs a.active { color: var(--ui-blue); border-color: var(--ui-blue); }
.lv-vibrant-palette .lv-forum-table-head { background: #edf3fb; color: #465b6a; }
.lv-vibrant-palette .lv-forum-topic-title { color: var(--ui-ink); }
.lv-vibrant-palette .lv-community-pinned { background: #fff7e6; border-right-color: #df8641; }
.lv-vibrant-palette .lv-community-has-replies { background: #dff4e9; color: #155c3d; }
.lv-vibrant-palette .lv-forum-tag { background: var(--ui-sky); color: var(--ui-blue); }
.lv-vibrant-palette .lv-forum-category-badge { color: var(--ui-ink); }
.lv-vibrant-palette .lv-community-welcome { background: #173f68; }
.lv-vibrant-palette .lv-community-welcome h2 { color: #fff; }
.lv-vibrant-palette .lv-community-welcome p { color: #e3efff; }
.lv-vibrant-palette .lv-community-welcome a { color: #ffe18b; }
.lv-vibrant-palette .lv-forum-side-row.is-active, .lv-vibrant-palette .lv-forum-tag-cloud a.is-active { background: var(--ui-sky); color: var(--ui-blue); }
.lv-vibrant-palette .lv-forum-pagination .current { background: var(--ui-blue); border-color: var(--ui-blue); color: #fff; }

/* News: blue reads as information; gold marks the latest update. */
.lv-vibrant-palette .lv-news-header { border-bottom-color: var(--ui-blue); }
.lv-vibrant-palette .lv-news-search button { background: var(--ui-blue); }
.lv-vibrant-palette .lv-news-card { border-color: var(--ui-border); }
.lv-vibrant-palette .lv-news-card h3 a { color: var(--ui-ink); }
.lv-vibrant-palette .lv-news-lead { background: linear-gradient(110deg, #eaf2ff, #f4f8ff); border-color: #c7daf5; border-right-color: var(--ui-blue); }
.lv-vibrant-palette .lv-news-latest { background: var(--ui-gold); border-radius: 5px; color: #40330a; padding: 4px 9px; }
.lv-vibrant-palette .lv-news-latest > span { background: #73530b; }
.lv-vibrant-palette :is(.lv-news-category, .lv-news-active-search) { background: var(--ui-mint); color: #155747; border-color: #bcded1; }
.lv-vibrant-palette .lv-news-card-bottom > a, .lv-vibrant-palette .lv-news-tags a { color: var(--ui-blue); }
.lv-vibrant-palette .lv-news-pagination [aria-current="page"] { background: var(--ui-blue); border-color: var(--ui-blue); color: #fff; }
.lv-vibrant-palette .lv-news-source-note { background: #fff8e2; border: 1px solid #ead8a1; border-radius: 8px; color: #61501d; padding: 16px; }

/* Contact: a welcoming mint header and a confident navy guidance panel. */
.lv-vibrant-palette .lv-contact-hero { background: linear-gradient(120deg, #eaf2ff, #e1f6eb 65%, #fff3cf); border-color: #d0e4de; }
.lv-vibrant-palette .lv-contact-hero h1 span::after { background: var(--ui-gold); }
.lv-vibrant-palette .lv-contact-hero p { color: var(--ui-muted); }
.lv-vibrant-palette .lv-contact-jump { background: var(--ui-green); border-color: var(--ui-green); color: #fff; }
.lv-vibrant-palette .lv-contact-jump:hover { background: var(--ui-deep-green); color: #fff; }
.lv-vibrant-palette .lv-contact-teacher { border-color: var(--ui-border); }
.lv-vibrant-palette .lv-contact-language { background: #fff; border-color: #bed4f2; color: var(--ui-blue); }
.lv-vibrant-palette .lv-contact-teacher-info h3 { color: var(--ui-ink); }
.lv-vibrant-palette .lv-contact-teacher-info p { color: var(--ui-muted); }
.lv-vibrant-palette .lv-contact-profile { color: var(--ui-blue); border-color: #d8e5f5; }
.lv-vibrant-palette .lv-contact-note { background: linear-gradient(145deg, #173f68, #102e4f); }
.lv-vibrant-palette .lv-contact-note :is(h2, strong) { color: #fff; }
.lv-vibrant-palette .lv-contact-note :is(p, li span, .lv-contact-eyebrow) { color: #deebfc; }
.lv-vibrant-palette .lv-contact-note-icon { background: var(--ui-gold); color: #233e59; }
.lv-vibrant-palette .lv-contact-note li > i { color: #ffe18b; }
.lv-vibrant-palette .lv-contact-form-panel h2 { color: var(--ui-ink); }
.lv-vibrant-palette .lv-contact-form-panel .form-control { background: #f8fbff; border-color: #cbdcea; }
.lv-vibrant-palette .lv-contact-send { background: var(--ui-gold); color: #303319; }
.lv-vibrant-palette .lv-contact-send:hover { background: #ffda72; }

