/* Campus palette review: neutral foundations with plum, blue and lavender accents.
   Presentation only. No form, chat, voice, storage or indexing gates are changed. */
/* Deep charcoal is the selected site foundation in both saved theme states. */
:root[data-theme="light"],html[data-theme="light"],html[data-theme="dark"]{
 --bg:#17191e;--surface:#22252c;--panel:#2c3039;--ink:#f5f3f8;
 --muted:#c7c5ce;--accent:#d1a8f2;--line:#494c57;--cyan:#d1a8f2;
 --campus-paper:#22252c;--campus-warm:#20232a;--campus-blue:#292d35;
 --campus-charcoal:#111318;--campus-purple:#2c3039;
}
html{background:var(--bg)}
body{background:var(--bg);color:var(--ink)}
.site-header,.preview-banner{background:var(--campus-paper)}
.preview-banner{color:var(--muted);letter-spacing:.08em}
.identity-row{padding-block:30px}
.welcoming-wordmark{color:var(--ink)}
.welcoming-wordmark small{color:var(--muted)}
.navigation-row{background:var(--campus-paper);border-color:var(--line)}
.aid-top{background:var(--panel);color:var(--ink);border-bottom:1px solid var(--line)}
.aid-top a{border-color:currentColor}
html body .enrollment-hero.wrap{background:var(--campus-charcoal);color:#fff;border:1px solid #4b4857;box-shadow:0 16px 38px #292b320b}
.enrollment-copy .school-label{color:#ddd0ed}
.enrollment-copy h1{color:#fff}
.enrollment-copy h1 span{color:#d8bdf0}
.enrollment-dates{background:var(--campus-purple);border-color:var(--line);color:var(--ink)}
.enrollment-dates h2,.enrollment-date-grid strong,.enrollment-date-grid span,.enrollment-dates>a{color:var(--ink)}
.enrollment-tour{background:var(--campus-paper);border-color:var(--line);color:var(--ink)}
.enrollment-tour .eyebrow{color:var(--accent)}
.enrollment-tour h2,.enrollment-tour>p,.enrollment-tour .tour-consent,.enrollment-fields label{color:var(--ink)}
.enrollment-fields input,.enrollment-fields select{background:var(--bg);color:var(--ink);-webkit-text-fill-color:var(--ink);border-color:var(--line)}
.enrollment-tour .tour-status,.enrollment-tour .tour-note{color:var(--muted)}
.tour-contact{color:var(--accent)}
.enrollment-tour fieldset:disabled input,.enrollment-tour fieldset:disabled select{opacity:.7}
.benefit-bar{background:var(--campus-blue);color:var(--ink);border-block:1px solid var(--line)}
.benefit-bar small{font-size:10px;letter-spacing:.12em;opacity:1;color:var(--muted)}
.benefit-bar strong{font-size:15px;line-height:1.5}
.card{background:var(--campus-paper);border-color:var(--line);box-shadow:0 6px 18px #292b3204}
.card .index{color:var(--accent)}
.cards>.card:nth-child(3n+2){border-top:3px solid #717987}
.cards>.card:nth-child(3n+1){border-top:3px solid #9477b1}
.cards>.card:nth-child(3n){border-top:3px solid #8d929c}
main>.section{border-bottom-color:var(--line)}
body[data-page="home"] main>.section:nth-of-type(4),
body[data-page="home"] main>.section:nth-of-type(7){background:var(--campus-warm);padding-inline:30px;border:1px solid var(--line);border-radius:20px;margin-block:24px}
body[data-page="home"] main>.section:nth-of-type(5){background:var(--campus-blue);padding-inline:30px;border:1px solid var(--line);border-radius:20px;margin-block:24px}
.page-hero h1,.section h1{color:var(--ink)}
.page-hero{border-bottom:1px solid var(--line)}
.page-hero .lead{max-width:780px}
.page-hero .eyebrow,.section>.eyebrow{color:var(--accent);font-size:11px}
html body h2{line-height:1.15}
html body h3{line-height:1.25}
main p a:not(.button),main li a{ text-underline-offset:.2em }
.faq details{background:var(--campus-paper);border-color:var(--line)}
.faq summary{line-height:1.5}
html body .closing{background:var(--campus-blue);border-block:1px solid var(--line)}
.closing h2,.closing p{color:var(--ink)}
html[data-theme] .button.primary{background:#65309c;color:#fff;border-color:#65309c}
html[data-theme] .button.primary:hover{background:#51247f;color:#fff}
html[data-theme] .button.secondary,html[data-theme] .nav-cta{color:var(--accent);border-color:var(--accent)}
html body .site-footer{background:var(--campus-charcoal);color:#f6f4f8;border-top:1px solid #4b4857;margin-top:32px}
.site-footer p,.site-footer .fine,.site-footer .footer-bottom{color:#d0ced8}
.site-footer h2,.site-footer .footer-brand,.site-footer a{color:#f6f4f8}
.site-footer a:hover{color:#d8bdf0;text-decoration:underline}
.site-footer .footer-bottom{border-color:#51505c}
.privacy-content h2{margin-top:2rem}
main .legacy-content{overflow-wrap:anywhere}
main .legacy-content h2,main .legacy-content h3{margin-top:1.6em;margin-bottom:.65em}
@media(max-width:700px){
 .identity-row{padding-block:22px}
 body[data-page="home"] main>.section:nth-of-type(4),body[data-page="home"] main>.section:nth-of-type(5),body[data-page="home"] main>.section:nth-of-type(7){padding-inline:18px}
 .benefit-bar>.wrap{gap:18px}
 .benefit-bar strong{font-size:13px}
 .benefit-bar small{font-size:9px}
}
@media print{
 html[data-theme] body,html[data-theme] .site-header,html[data-theme] .site-footer{background:#fff!important;color:#111!important}
 .site-footer p,.site-footer a,.site-footer h2{color:#111!important}
}

/* Selected purple + graphite: silver panels, purple calls to action. */
.enrollment-tour{background:var(--panel)}
html body .closing{background:#414754;color:#fff}
.closing h2,.closing p{color:#fff}
.closing .text-link{color:#ead9ff}
html[data-theme] .closing .button.secondary{color:#fff;border-color:#d8bdf0}

html[data-theme] .aid-top{background:var(--panel);color:var(--ink)}

/* Sitewide charcoal surfaces, including interior pages, disclosures and forms. */
html[data-theme] .site-header,html[data-theme] .navigation-row,html[data-theme] .preview-banner{background:#1b1e24;color:var(--ink)}
html[data-theme] .aid-top{background:#30303d;color:var(--ink)}
html[data-theme] main>.section{background:var(--bg)}
html[data-theme] .card,html[data-theme] .form-card,html[data-theme] .faq details,
html[data-theme] .resource-card,html[data-theme] .policy-card{background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-theme] main h1,html[data-theme] main h2,html[data-theme] main h3,html[data-theme] main h4{color:var(--ink)}
html[data-theme] main .enrollment-copy h1{color:#fff}
html[data-theme] main .enrollment-copy h1 span{color:#d8b4f2}
html[data-theme] main p,html[data-theme] main li{color:var(--muted)}
html[data-theme] main strong,html[data-theme] main label,html[data-theme] summary{color:var(--ink)}
html[data-theme] main a:not(.button){color:var(--accent)}
html[data-theme] .more-nav>div{background:var(--surface);color:var(--ink)}
html[data-theme] .more-nav a,html[data-theme] .home-nav,html[data-theme] #site-nav>a{color:var(--ink)}
html[data-theme] input:not([type=checkbox]):not([type=radio]),html[data-theme] textarea,html[data-theme] select,
html[data-theme] select option{background:#191c23;color:var(--ink);-webkit-text-fill-color:var(--ink);border-color:#65616f}
html[data-theme] .enrollment-dates,html[data-theme] .enrollment-tour{background:#2b2e37;color:var(--ink);border-color:#5c5368}
html[data-theme] .enrollment-tour .tour-consent,html[data-theme] .enrollment-tour h2,html[data-theme] .enrollment-fields label{color:var(--ink)}
html[data-theme] .enrollment-date-grid strong,html[data-theme] .enrollment-date-grid span{color:var(--ink)}
html[data-theme] .enrollment-tour .button{background:#783bb3;color:#fff;border-color:#9b66c8}
html[data-theme] .closing{background:#292c35;color:var(--ink)}
html[data-theme] main .closing p{color:var(--muted)}
html[data-theme] .notice,html[data-theme] .callout,html[data-theme] .status-box{background:#30303c;color:var(--ink);border-color:#9674b3}
html[data-theme] table{background:#22252c;color:var(--ink)}
html[data-theme] th,html[data-theme] td{background:#262a32;color:var(--ink);border-color:var(--line)}
html[data-theme] tr:nth-child(even) td,html[data-theme] tr:nth-child(even) th{background:#30343e}
html[data-theme] .eyebrow,html[data-theme] .school-label{color:#d5b7ed}
html[data-theme] .button.primary{background:#7638ae;color:#fff;border-color:#a06acb}
html[data-theme] .button.primary:hover{background:#8749bd;color:#fff}
@media print{html[data-theme] main,html[data-theme] main>.section,html[data-theme] .card{background:white!important;color:#111!important}html[data-theme] main p,html[data-theme] main li,html[data-theme] main h1,html[data-theme] main h2,html[data-theme] main h3{color:#111!important}}

/* Selected smoked glass: shared presentation only; native controls preserved. */
html[data-theme]{
 --glass-surface:radial-gradient(ellipse at 64% 115%,#8c4db74d 0%,transparent 62%),linear-gradient(125deg,#454550e8 0%,#2b2d38f5 46%,#393442ee 100%);
 --glass-edge:#a99ab15e;
 --glass-shadow:inset 0 1px 0 #e7d6ef36,inset 0 -1px 0 #dcc1f02e,0 10px 25px #00000026;
}
html[data-theme] main :is(.card,.resource,.resource-card,.policy-card,.notice,.callout,.status-box,.form-card,.publication-status,.publication-source,.alumni-service,.enrollment-dates,.enrollment-tour,.checklist,.table-scroll,.calc-card,.calculator-card,.npc-notice,.chat-notice,.chat-form,.chat-message){
 background:var(--glass-surface);border:1px solid var(--glass-edge);border-radius:18px;
 box-shadow:var(--glass-shadow);color:var(--ink);background-clip:padding-box;
}
html[data-theme] .cards>.card{border:1px solid var(--glass-edge)}
html[data-theme] .aid-top,html[data-theme] .benefit-bar,html[data-theme] .closing{
 background:var(--glass-surface);border-block:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);
}
html[data-theme] main .section:is(:nth-of-type(4),:nth-of-type(5),:nth-of-type(7))[style],
html[data-theme] body[data-page="home"] main>.section:nth-of-type(4),
html[data-theme] body[data-page="home"] main>.section:nth-of-type(5),
html[data-theme] body[data-page="home"] main>.section:nth-of-type(7){
 background:var(--glass-surface);border-color:var(--glass-edge);box-shadow:var(--glass-shadow);
}
html[data-theme] main .faq{max-width:none}
html[data-theme] main .faq details{
 background:var(--glass-surface);border:1px solid var(--glass-edge);border-radius:18px;
 box-shadow:var(--glass-shadow);padding:0;margin:16px 0;overflow:clip;
}
html[data-theme] main .faq details[open]{border-color:#c6a5dc;box-shadow:var(--glass-shadow),0 0 22px #9d57cb18}
html[data-theme] main .faq summary{
 padding:24px 28px;align-items:center;gap:20px;color:#f5f3f8;
 font-size:19px;line-height:1.45;font-weight:600;cursor:pointer;
}
html[data-theme] main .faq summary::-webkit-details-marker{display:none}
html[data-theme] main .faq summary::after{
 display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;
 border:1px solid #d4c1e14a;border-radius:50%;
 background:linear-gradient(145deg,#e0c8f028,#54475d45);box-shadow:inset 0 1px 0 #ffffff24;
 color:#ddb5f7;font:400 27px/1 Arial,sans-serif;
}
html[data-theme] main .faq details>p{padding:0 28px 24px;margin:0;max-width:100%;color:#e2dde7;font-size:16px;line-height:1.7}
html[data-theme] main .faq details>ul,html[data-theme] main .faq details>ol{margin:0 28px 24px;padding-left:22px}
html[data-theme] main .faq summary:focus-visible{outline:3px solid #d8b4f2;outline-offset:-5px;border-radius:16px}
html[data-theme] .button.primary,html[data-theme] .enrollment-tour .button{
 background:linear-gradient(145deg,#9b50cb,#7432a7 65%,#622b8d);border:1px solid #c18cdb;
 box-shadow:inset 0 1px 0 #f4d9ff54,0 5px 14px #08080d33;color:#fff;border-radius:12px;
}
html[data-theme] .button.primary:hover{background:linear-gradient(145deg,#a85ed5,#8140b3 65%,#6d3298)}
html[data-theme] .button.secondary,html[data-theme] .nav-cta{
 background:var(--glass-surface);border-color:#ac86c9;box-shadow:inset 0 1px 0 #ead4f32e;border-radius:12px;
}
html[data-theme] main input:not([type=checkbox]):not([type=radio]),html[data-theme] main select,html[data-theme] main textarea{
 background:linear-gradient(120deg,#22232df5,#322c3af0);border-color:#9a839f;border-radius:10px;
 color:#f5f3f8;-webkit-text-fill-color:#f5f3f8;box-shadow:inset 0 1px 5px #00000025;
}
html[data-theme] main input::placeholder,html[data-theme] main textarea::placeholder{color:#c7c0cd;opacity:1}
html[data-theme] main select option{background:#25232e;color:#f5f3f8}
html[data-theme] main figure.suspended-photo>figcaption{background:var(--glass-surface)!important;color:#f5f3f8!important}
html[data-theme] main .table-scroll table{background:transparent}
html[data-theme] main .table-scroll :is(td,th){background:#25242f8c}
html[data-theme] main .table-scroll tr:nth-child(even) :is(td,th){background:#4d3c5c40}
@media(max-width:700px){
 html[data-theme] main .faq summary{font-size:17px;padding:20px 18px;gap:14px}
 html[data-theme] main .faq summary::after{flex-basis:32px;width:32px;height:32px;font-size:24px}
 html[data-theme] main .faq details>p{padding:0 18px 21px;font-size:15px}
 html[data-theme] main .faq details>ul,html[data-theme] main .faq details>ol{margin:0 18px 21px}
}
@media print{
 html[data-theme] main :is(.card,.resource,.notice,.form-card,.faq details,.table-scroll){background:#fff!important;color:#111!important;box-shadow:none!important;border:1px solid #aaa}
 html[data-theme] main .faq summary,html[data-theme] main .faq details>p{color:#111}
}

html[data-theme] #npc-app :is(.npc-notice,details){background:var(--glass-surface);border:1px solid var(--glass-edge);border-radius:18px;box-shadow:var(--glass-shadow);padding:20px;margin-block:18px}
