/* Shared brand finish. Static layers preserve artwork, game scenes and semantic status colours. */
html:root:not([data-theme="dark"]) {
 --brand-accent:#7c3aed;--brand-link:#6d28d9;--brand-hover:#6526cf;--brand-on-accent:#fff;
 --brand-rgb:124,58,237;--brand-shadow:0 3px 8px #26104c0a,0 20px 48px #26104c14;
 --brand-inset:#ffffffd9;--brand-edge:rgba(124,58,237,.26);
 --depth-paper:#faf8fd;--depth-edge:#eee8f8;--depth-recess:#e9e0f4;--depth-hero:#f3edfa;
 --depth-blue-pool:rgba(124,58,237,.08);--depth-gold-pool:rgba(124,58,237,.055);
 --depth-contour:rgba(124,58,237,.16);--depth-grid-line:rgba(124,58,237,.035);
 --depth-seam:rgba(124,58,237,.19);--depth-sheen:#ffffffde;
}
html:root[data-theme="dark"] {
 --brand-accent:#ff2daa;--brand-link:#ff9bd3;--brand-hover:#ff70c4;--brand-on-accent:#112238;
 --brand-rgb:255,45,170;--brand-shadow:0 3px 8px #0003,0 22px 52px #0005;
 --brand-inset:#ffffff12;--brand-edge:rgba(255,45,170,.32);
 --depth-paper:#0c182a;--depth-edge:#1c2038;--depth-recess:#0a1323;--depth-hero:#172139;
 --depth-blue-pool:rgba(255,45,170,.12);--depth-gold-pool:rgba(255,45,170,.075);
 --depth-contour:rgba(255,45,170,.23);--depth-grid-line:rgba(255,45,170,.045);
 --depth-seam:rgba(255,45,170,.2);--depth-sheen:#ffffff12;
}
html:root body[data-brand-depth][data-neon-page] {
 --blue:var(--brand-link);--blue-bright:var(--brand-accent);
 --experience-accent:var(--brand-accent);--experience-hover:var(--brand-hover);
 --experience-on-accent:var(--brand-on-accent);--experience-link:var(--brand-link);
 --experience-focus:var(--brand-accent);--experience-pink:var(--brand-accent);
 --neon-accent:var(--brand-accent);--neon-rgb:var(--brand-rgb);
 --site-tile-accent:var(--brand-link);--site-depth-ink:var(--brand-accent);
 --site-depth-soft:rgba(var(--brand-rgb),.045);--site-depth-line:rgba(var(--brand-rgb),.16);
 --site-depth-glow:rgba(var(--brand-rgb),.14);
}
html:root body[data-brand-depth] :is(a,button,span,input).btn.btn-primary {
 background:var(--brand-accent)!important;color:var(--brand-on-accent)!important;
 border-color:var(--brand-accent)!important;text-shadow:none;
 box-shadow:0 4px 12px rgba(var(--brand-rgb),.16),inset 0 1px #ffffff24;
}
html:root body[data-brand-depth] :is(a,button,span,input).btn.btn-primary:not(:disabled,[aria-disabled="true"]):hover {
 background:var(--brand-hover)!important;border-color:var(--brand-hover)!important;color:var(--brand-on-accent)!important;
}
html:root body[data-brand-depth] :is(.kicker,.ny-stage,.ny-session-number,.card-link,.site-example-link a) {color:var(--brand-link);}
html:root body[data-brand-depth] :is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid var(--brand-accent);outline-offset:4px;}
html:root body[data-brand-depth] :is(input[type="checkbox"],input[type="radio"],input[type="range"]) {accent-color:var(--brand-accent);}
html:root body[data-brand-depth] :is(.header,.site-header,.footer,.site-footer) {border-color:var(--brand-edge);}
/* Keep image/video backgrounds intact; light gathers at the edges of each hero. */
html:root body[data-brand-depth] main > :is(.page-hero,.ny-hero,.international-hero,.passport-hero,.qm-hero,.london-hero,.us-business-hero) {
 border-bottom:1px solid var(--brand-edge);
 box-shadow:inset 0 -1px rgba(var(--brand-rgb),.15),0 16px 38px -24px rgba(var(--brand-rgb),.35);
}
html:root body[data-brand-depth] .ny-hero {
 background:radial-gradient(ellipse at 95% 25%,rgba(var(--brand-rgb),.12),transparent 58%),linear-gradient(120deg,var(--depth-paper),var(--depth-hero));
}
html:root body[data-brand-depth] main :is(.card,.info-card,.resource-card,.form-panel,.at-glance,.ny-note,.ny-session-card,.ny-event-status,.ny-discovery,.brand-schedule-row,.clarity-route-card) {
 border-color:var(--brand-edge);
 box-shadow:var(--brand-shadow),inset 0 1px var(--brand-inset),inset 0 3px rgba(var(--brand-rgb),.12);
}
html:root body[data-brand-depth] main :is(.card,.resource-card,.ny-session-card,.clarity-route-card):hover {border-color:rgba(var(--brand-rgb),.55);}
html:root body[data-brand-depth] .ny-hero figure img {box-shadow:var(--brand-shadow),0 0 0 1px var(--brand-edge);}
/* No extra animation; retain useful contrast in high-contrast and print modes. */
@media(forced-colors:active){html:root body[data-brand-depth] main :is(.card,.form-panel,.ny-note,.ny-session-card,.brand-schedule-row){border:1px solid CanvasText;box-shadow:none;}}
@media print{html:root body[data-brand-depth] main,html:root body[data-brand-depth] main>*{background:#fff;box-shadow:none;}html:root body[data-brand-depth] main :is(.card,.form-panel,.ny-note,.ny-session-card,.brand-schedule-row){box-shadow:none;}}
