/* Three monochrome studies; existing color palettes keep their original material. */
[data-theme="monochrome"]{
  color-scheme:light;
  --ink:#191919;--ink-dark:#080808;--gold:#dedede;--accent:#454545;
  --paper:#fafafa;--surface:#eeeeee;--text:#262626;--muted:#656565;
  --line:#d9d9d9;--tint:#e3e3e3;--portrait-bg:#e7e7e7;--glass:#ffffffe0;
  --glass-glow:#d1d1d1;--glass-warm:#f6f6f6;
  --glass-surface:linear-gradient(145deg,#ffffff75,#ffffff30 56%,#ffffff50);
}
[data-theme="silver"]{
  color-scheme:light;
  --ink:#292c30;--ink-dark:#16181b;--gold:#d5d7da;--accent:#4f555c;
  --paper:#e4e6e9;--surface:#dadde1;--text:#30343a;--muted:#5e646d;
  --line:#c1c5cb;--tint:#bfc4cb;--portrait-bg:#cdd1d7;--glass:#edf0f4df;
  --glass-glow:#aeb5bf;--glass-warm:#eef0f3;
  --glass-surface:linear-gradient(145deg,#ffffff50,#ffffff12 56%,#ffffff30);
}
[data-theme="graphite"]{
  color-scheme:dark;
  --ink:#f1f1f1;--ink-dark:#0c0c0d;--gold:#bcbcbc;--accent:#d1d1d1;
  --paper:#181819;--surface:#282829;--text:#eaeaea;--muted:#b5b5b7;
  --line:#454547;--tint:#343436;--portrait-bg:#424244;--glass:#222224e6;
  --glass-glow:#373739;--glass-warm:#29292b;
  --glass-surface:linear-gradient(145deg,#ffffff10,#ffffff04 56%,#ffffff09);
  --glass-shadow:0 16px 38px #00000030,0 3px 9px #00000014;
}
/* Themes style the interface only; supplied photos retain their original color. */
:is([data-theme="monochrome"],[data-theme="silver"],[data-theme="graphite"]) :is(.hero-visual>img,.editorial-photo img,.faculty-portrait img,.faculty-card:hover img){filter:none}
:is([data-theme="monochrome"],[data-theme="silver"],[data-theme="graphite"]) .campus-art{background:none}
:is([data-theme="monochrome"],[data-theme="silver"],[data-theme="graphite"]) .faq summary:after{color:var(--accent)}

/* Smoked glass keeps its dark substrate, including hover and fixed overlays. */
[data-theme="graphite"] .header{background:linear-gradient(130deg,#1d1d1eed,#202021c9)}
[data-theme="graphite"] .header.is-scrolled{box-shadow:0 8px 30px #00000025}
[data-theme="graphite"] .brand-logo{filter:invert(1)}
[data-theme="graphite"] .dropdown{background:linear-gradient(135deg,#242426fa,#28282af5);border:0;box-shadow:0 18px 46px #00000050}
[data-theme="graphite"] .mobile-nav{background:linear-gradient(145deg,#202022,#29292b)}
[data-theme="graphite"] :is(.hero,.faculty-section,.campus-visit-section)::after{display:none}
[data-theme="graphite"] :is(.hero-copy,.subject-card,.faculty-card,.campus-card,.curriculum-item,.contact-step,.map-panel,.campus-page-details):before{background:radial-gradient(ellipse at 18% 0%,#ffffff09,transparent 68%)}
[data-theme="graphite"] .campus-visit-section{--visit-glow:#373739;--visit-warm:#29292b}
[data-theme="graphite"] .hero-glass{background:linear-gradient(135deg,#272729df,#202022bd)}
[data-theme="graphite"] :is(.faculty-card,.contact-page .campus-card){background:var(--glass-surface);box-shadow:var(--glass-shadow)}
[data-theme="graphite"] .faculty-portrait:before{background:radial-gradient(ellipse at 28% 18%,#ffffff12,#ffffff03)}
[data-theme="graphite"] .faculty-card-copy{background:linear-gradient(135deg,#ffffff0e,#ffffff04);box-shadow:0 8px 22px #00000015}
[data-theme="graphite"] :is(.round-arrow,.subject-symbol,.faculty-index,.faculty-toolbar>span,.header-consult,.consult-option,.dialog-close,.footer-campus>div,.campus-visit-section .tag){background:#ffffff0c}
[data-theme="graphite"] :is(.campus-shortcut:hover,.news-item:hover,.sub-tabs a:hover){background:#ffffff0e}
[data-theme="graphite"] :is(.faculty-card:hover,.campus-card:hover){box-shadow:0 22px 42px #00000038}
[data-theme="graphite"] .subject-card:hover{background:linear-gradient(135deg,#ffffff16,#ffffff09);box-shadow:0 18px 45px #00000030}
[data-theme="graphite"] .campus-visit-section .detail-list>div{background:linear-gradient(115deg,#ffffff0b,#ffffff04)}
[data-theme="graphite"] .campus-visit-section .detail-list>div:nth-child(3){background:linear-gradient(115deg,#ffffff15,#ffffff08)}
[data-theme="graphite"] .campus-visit-section .detail-list>div:hover{background:#ffffff14}
[data-theme="graphite"] .campus-visit-section .faq{background:var(--glass-surface)}

/* Positive/negative controls have their own foregrounds instead of inheriting white. */
[data-theme="graphite"] :is(.button,.hero .button,.campus-visit-section .button:not(.button-outline),.filter-button[aria-pressed=true],.campus-visit-section .filter-button[aria-pressed=true],.sub-tabs a.active){
  background:linear-gradient(135deg,#eeeeee,#c9c9cc);color:#202022;box-shadow:0 5px 14px #00000020;
}
[data-theme="graphite"] :is(.button:hover,.hero .button:hover,.campus-visit-section .button:not(.button-outline):hover,.filter-button[aria-pressed=true]:hover,.sub-tabs a.active:hover){background:#fff;color:#181819}
[data-theme="graphite"] :is(.button-outline,.campus-visit-section .button-outline,.filter-button:not([aria-pressed=true]),.campus-visit-section .filter-button:not([aria-pressed=true]),.map-reset,.directions-copy){
  background:linear-gradient(135deg,#ffffff15,#ffffff08);color:var(--text);box-shadow:0 4px 14px #00000018;
}
[data-theme="graphite"] :is(.button-outline:hover,.campus-visit-section .button-outline:hover,.map-reset:hover,.directions-copy:hover){background:#ffffff21;color:var(--ink)}
[data-theme="graphite"] :is(.header-consult:hover,.floating-consult:hover,.hero-glass>a:hover){background:#e6e6e8;color:#202022}
[data-theme="graphite"] :is(.theme-dock,.floating-consult){box-shadow:0 8px 24px #00000040}
[data-theme="graphite"] .toast{background:#e6e6e8;color:#202022}
[data-theme="graphite"] .contact-banner{background:radial-gradient(ellipse at 80% 90%,#323234,#171719)}
[data-theme="graphite"] .contact-banner:before{opacity:.15}
[data-theme="graphite"] .contact-banner .eyebrow{color:var(--accent)}
[data-theme="graphite"] .consult-dialog{background:linear-gradient(135deg,#29292bfa,#202022f5);color:var(--text);box-shadow:0 30px 100px #00000080}
[data-theme="graphite"] .consult-dialog::backdrop{background:#00000099}
[data-theme="graphite"] .skip-link{background:var(--surface);color:var(--text)}

/* Keep map controls and attribution readable against the original geographic tiles. */
[data-theme="graphite"] .interactive-map .leaflet-control-zoom{background:#252527e6}
[data-theme="graphite"] .interactive-map .leaflet-control-zoom a{background:transparent;color:#ededed;border-color:#ffffff20}
[data-theme="graphite"] .interactive-map .leaflet-control-zoom a:hover{background:#454547}
[data-theme="graphite"] .sedam-map-popup .leaflet-popup-content-wrapper,
[data-theme="graphite"] .sedam-map-popup .leaflet-popup-tip{background:#242426ed;color:#f1f1f1}
[data-theme="graphite"] .sedam-map-popup .leaflet-popup-content>span{color:#d5d5d7}
[data-theme="graphite"] .sedam-map-pin svg{fill:#242426;stroke:#f1f1f1}
[data-theme="graphite"] .interactive-map .leaflet-control-attribution{background:#ffffffed;color:#444}
[data-theme="graphite"] .interactive-map .leaflet-control-attribution a{color:#444}
[data-theme="graphite"] .map-status{background:#333335;color:var(--text);border-color:var(--line)}

/* A second compact row on phones keeps all seven options clear of consultation. */
.theme-dock-label{min-width:43px}
.theme-swatch[data-theme-choice="monochrome"]{margin-left:7px}
.theme-swatch{flex-shrink:0}
@media(max-width:600px){
  .theme-dock{border-radius:19px;gap:12px;padding:10px 13px;bottom:15px}
  .theme-swatches{display:grid;grid-template-columns:repeat(4,26px);gap:7px}
  .theme-swatch[data-theme-choice="monochrome"]{margin-left:0}
  .theme-dock-label strong{font-size:10px}
  .toast{bottom:105px}
  .footer-bottom{padding-bottom:105px}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  [data-theme="graphite"] :is(.hero-copy,.hero-glass,.campus-strip-inner,.principle,.subject-card,.faculty-card,.campus-card,.news-grid,.curriculum-item,.contact-step,.teachers-banner,.faculty-consult,.sub-tabs,.editorial-intro>div,.quote-section>.wrap,.faq,.faculty-card-copy,.map-panel,.campus-page-details,.consult-dialog){background:#29292b}
}
