﻿/* YDA ??Midnight / Platinum / Champagne. Shared by every HTML page. */
:root{--bg:#f0f3f6;--white:#fff;--ink:#152439;--muted:#58677a;--line:#d5dce5;--red:#805d24;--navy:#101e31;--navy-deep:#0b1525;--navy-raised:#1a2c43;--gold:#dbbd83;--gold-dark:#805d24;--gold-pale:#f5eddc;--platinum:#e8edf3;--on-dark:#f3f6fa;--muted-dark:#becadb;--border-dark:#35465d;--error:#a32638;--success:#246447;--focus:#946d28;--shadow:0 10px 32px rgba(16,30,49,.045)}
body{background:var(--bg);color:var(--ink)}
.sidebar{background:var(--navy-deep);border-color:var(--border-dark)}
.brand{border-color:var(--border-dark);color:var(--on-dark);padding-top:34px;padding-bottom:30px}
.brandmark span,.brandmark i,.tinyflag{color:var(--gold)}
.brand small,.nav-label,.side-bottom small{color:var(--muted-dark)}
.brand small{font-size:.7rem;letter-spacing:.075em}
.side-bottom{color:var(--on-dark);border-top:1px solid var(--border-dark);margin-top:18px}
.side-bottom small{font-size:.67rem;line-height:1.8}
.nav-label{font-size:.7rem}.sidebar nav a{color:var(--muted-dark);font-size:.875rem}
.sidebar nav a:hover{background:var(--navy-raised);color:var(--on-dark)}
.sidebar nav a[aria-current]{background:var(--navy-raised);color:var(--gold)}
.sidebar nav a[aria-current]:before{background:var(--gold)}
.sidebar .navnum{color:var(--muted-dark)}.sidebar nav a[aria-current] .navnum{color:var(--gold)}
.topbar{background:var(--white);border-color:var(--line)}
.topbar>span,.local-badge{color:var(--muted)}.topbar>span{font-size:.73rem;letter-spacing:.12em}
.avatar{background:var(--navy);border-color:var(--navy);color:var(--gold)}
.eyebrow{color:var(--gold-dark);font-size:.75rem;letter-spacing:.1em}
.edition{color:var(--muted);font-size:.75rem}.subtitle{color:var(--muted)}
.hero,.model-intro,.progress-panel,.pathway-banner{background:linear-gradient(115deg,var(--navy-deep),var(--navy-raised));color:var(--on-dark);border:1px solid var(--border-dark);box-shadow:var(--shadow)}
.hero .eyebrow,.model-intro .eyebrow,.pathway-banner .eyebrow,.progress-panel .eyebrow{color:var(--gold)}
.hero h2 em,.lettermark{color:var(--gold)}
.hero-copy>p:not(.eyebrow),.model-intro p:not(.eyebrow),.pathway-banner p,.progress-panel small,.lettermark span{color:var(--muted-dark)}
.hero-meta{border-color:var(--border-dark)}.hero-meta span{color:var(--muted-dark);font-size:.75rem}.hero-meta b{color:var(--on-dark)}
.hero-image>span{background:var(--navy);color:var(--on-dark);bottom:0;left:0;right:0;padding:10px 14px;font-size:.7rem}
.button.primary{background:var(--gold-dark);color:var(--white);border-color:var(--gold-dark)}
.button.primary:hover{background:var(--navy);border-color:var(--navy)}
.hero .button.primary,.pathway-banner .button.primary{background:var(--gold);color:var(--navy-deep);border-color:var(--gold)}
.hero .button.primary:hover,.pathway-banner .button.primary:hover{background:var(--gold-pale);border-color:var(--gold-pale)}
.button.secondary{background:var(--white);color:var(--ink);border-color:var(--line)}
.button.secondary:hover{background:var(--platinum);border-color:var(--gold-dark)}
.button.ghost{background:transparent;color:var(--on-dark);border-color:var(--muted-dark)}
.button.ghost:hover{background:var(--navy-raised)}
.panel,.program-card,.quick-grid>a,.competency,.pathway-card,.note-card,.library-card,.learning-tools>a,.timeline,.empty{background:var(--white);border-color:var(--line);box-shadow:var(--shadow);border-radius:9px}
.program-card:hover,.quick-grid>a:hover,.competency:hover,.library-card:hover{border-color:var(--gold-dark);box-shadow:0 12px 30px rgba(16,30,49,.08)}
.card-top .eyebrow,.card-foot,.quick-grid p,.program-card>p,.library-card>div>span:last-child,.note-meta,.pathway-card p:not(.eyebrow),.session-stats small,.course-facts dt{color:var(--muted)}
.card-top .eyebrow,.card-foot,.quick-grid p,.tag,.library-card>div>span:last-child,.note-meta{font-size:.8rem}
.tag{background:var(--platinum);color:var(--muted)}
.card-foot,.finder-card-footer,.outline li,.timeline article,.course-facts,.course-facts>div,.lesson-nav,.faq details,.assessment-row{border-color:var(--line)}
.circle-arrow{background:var(--gold-pale);color:var(--gold-dark)}
.resource-teaser,.notice{background:var(--platinum);border-color:var(--line);color:var(--ink)}
.resource-teaser .eyebrow{color:var(--gold-dark)}.resource-teaser>div{font-size:.85rem}
.resource-teaser{border-top:3px solid var(--gold-dark)}
.steps li{border-color:var(--line)}.fine{color:var(--muted);font-size:.84rem}
.discovery-strip{background:var(--white);border-color:var(--line);border-left-color:var(--gold-dark);box-shadow:var(--shadow)}
.pathway-card{border-top-color:var(--gold-dark)}.path-number{color:var(--gold-dark)}
.letter-small,.letter,.quick-icon,.session-stats strong,.form-error,.note-card button{color:var(--gold-dark)}
.form-error{color:var(--error)}
.global-card .applied,.session-stats>div,.table-scroll th{background:var(--platinum)}
.table-scroll td,.table-scroll th{border-color:var(--line)}.table-scroll thead th{background:var(--navy);color:var(--on-dark)}
.progress-track{background:var(--border-dark)}#progress-fill{background:var(--gold)}
.result-bar{background:var(--platinum)}.result-bar>span{background:var(--gold-dark)}
.lesson-list{border-color:var(--line)}.lesson-list>a{background:var(--white);border-color:var(--line)}
.lesson-list>a:hover{background:var(--gold-pale)}.lesson-num{color:var(--muted)}
.lesson-list p,.lesson-list p.eyebrow{color:var(--muted)}.lesson-state{color:var(--gold-dark)}
input:not([type=range]),select,textarea{color:var(--ink);background:var(--white);border-color:var(--line)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input[type=range],.compare-check input[type=checkbox]{accent-color:var(--gold-dark)}
.search{background:var(--white);border-color:var(--line)}.search span{color:var(--muted)}
.filters button{background:var(--platinum);color:var(--ink)}.filters button[aria-pressed=true]{background:var(--navy);color:var(--gold)}
.note-card button{background:var(--gold-pale)}
dialog{background:var(--white);color:var(--ink)}dialog::backdrop{background:rgba(11,21,37,.85)}
.dialog-head,.dialog-foot{background:var(--white);border-color:var(--line)}
.dialog-head button,.dialog-foot button,.menu-toggle{background:var(--platinum);color:var(--ink)}
#toast{background:var(--navy);color:var(--on-dark);border:1px solid var(--gold)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:var(--focus)}
.sidebar a:focus-visible,.premium-footer a:focus-visible{outline-color:var(--gold)}
/* Shared premium footer. Semantic HTML is embedded in all 28 independent pages. */
footer.premium-footer{display:block;margin:0;padding:0;background:var(--navy-deep);color:var(--on-dark);border-top:0;font-size:1rem}
.premium-footer *{box-sizing:border-box}
.footer-inner{max-width:1540px;margin:0 auto;padding:48px 40px 25px}
.footer-intro{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:32px;border-bottom:1px solid var(--border-dark)}
.premium-footer .footer-kicker{color:var(--gold);font-size:.75rem;letter-spacing:.15em;margin:0 0 12px}
.premium-footer .footer-intro h2{color:var(--on-dark);font-size:clamp(1.5rem,2.2vw,2.15rem);letter-spacing:-.045em;line-height:1.5;margin:0}
.premium-footer .footer-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:13px 21px;border:1px solid var(--gold);border-radius:4px;color:var(--gold);font-size:.9rem;white-space:nowrap}
.premium-footer .footer-cta:hover{background:var(--gold);color:var(--navy-deep)}
.footer-columns{display:grid;grid-template-columns:1.65fr 1fr 1fr 1fr;gap:35px;padding:34px 0 32px}
.footer-identity .footer-wordmark{display:inline-flex;align-items:baseline;gap:7px;font-weight:900;font-style:italic;font-size:2.5rem;line-height:1.2;letter-spacing:-.08em;color:var(--on-dark)}
.footer-wordmark span{color:var(--gold)}
.premium-footer .footer-name{display:block;font-size:.96rem;font-weight:700;color:var(--on-dark);margin:14px 0 10px}
.premium-footer .footer-identity p{font-size:.86rem;line-height:1.9;color:var(--muted-dark);margin:0;max-width:290px}
.premium-footer .footer-column h3{font-size:.79rem;font-weight:700;color:var(--gold);letter-spacing:.07em;margin:4px 0 15px}
.footer-column ul{list-style:none;padding:0;margin:0}.footer-column li{margin:0 0 9px}
.premium-footer .footer-column a{color:var(--muted-dark);font-size:.87rem;line-height:1.8}
.premium-footer .footer-column a:hover{color:var(--gold);text-decoration:underline;text-underline-offset:5px}
.footer-information{display:flex;gap:22px;justify-content:space-between;padding:18px 0;border-top:1px solid var(--border-dark);border-bottom:1px solid var(--border-dark)}
.premium-footer .footer-information p{color:var(--muted-dark);font-size:.79rem;line-height:1.85;margin:0}
.premium-footer .footer-information strong{color:var(--on-dark);font-size:inherit;font-style:normal;margin:0;font-weight:600}
.footer-bottom{display:flex;gap:18px;justify-content:space-between;align-items:center;padding-top:20px}
.premium-footer .footer-bottom p{color:var(--muted-dark);font-size:.75rem;letter-spacing:.025em;margin:0}
.premium-footer .footer-top-link{font-size:.8rem;color:var(--gold);white-space:nowrap}
@media(max-width:1200px){.footer-columns{grid-template-columns:1.4fr 1fr 1fr;gap:25px}.footer-identity{grid-column:1/-1}.premium-footer .footer-identity p{max-width:650px}.footer-inner{padding:38px 26px 24px}}
@media(max-width:720px){.brand{padding:12px 18px}.brand small{font-size:.6rem}.topbar>span{font-size:.6rem}.topbar .local-badge{font-size:.7rem}.hero-meta{flex-wrap:wrap}.hero-meta span{font-size:.72rem}.hero-meta b{font-size:.86rem}.footer-inner{padding:32px 22px 24px}.footer-intro{align-items:flex-start;flex-direction:column;gap:22px}.footer-columns{grid-template-columns:1fr 1fr;gap:26px 20px}.footer-identity{grid-column:1/-1}.footer-information{flex-direction:column;gap:12px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:14px}.premium-footer .footer-bottom p{order:initial;width:auto}.premium-footer .footer-information p{width:auto;order:initial}.footer-name{letter-spacing:-.04em}.quick-grid p{font-size:.8rem}}
