/* Hybrid uses blue depth for content and neutral charcoal for supporting sections. */
body.theme-hybrid{--navy:#eef5fc;--muted:#b0becc;--paper:#081827;--surface:#1a2028;--card:#172b3b;--line:#304352;--accent:#65d7ee;--section-glow:rgba(39,151,202,.13);color-scheme:dark}
body.theme-obsidian{--navy:#f0f3f6;--muted:#b0b9c4;--paper:#090b0f;--surface:#101419;--card:#151b22;--line:#29323c;--accent:#89d8e8;--section-glow:rgba(96,153,183,.095);color-scheme:dark}
/* Carry the restrained light treatment across the entire content system. */
body[class^="theme-"] .possibilities{background:radial-gradient(ellipse at 90% 0,var(--section-glow),transparent 64%),var(--surface)}
body[class^="theme-"] .projects{background:radial-gradient(ellipse at 10% 0,var(--section-glow),transparent 68%),var(--paper)}
body[class^="theme-"] .studio{background:radial-gradient(ellipse at 70% 0,var(--section-glow),transparent 68%),var(--surface)}
body[class^="theme-"] .project-grid article{background:radial-gradient(ellipse at 50% 0,var(--section-glow),transparent 80%),var(--card)}
body.theme-obsidian .services{background:radial-gradient(ellipse at 50% 0,rgba(72,122,155,.12),transparent 66%),var(--paper)}
body.theme-obsidian .contact{background-color:#090d12}
/* All concepts share a full-width dark charcoal footer. */
footer.wrap{width:100%;padding:32px max(6%,calc((100% - 1400px)/2));background:radial-gradient(ellipse at 50% 0,#25334255,transparent 70%),#11151b;color:#b3bfcc;border-top:1px solid #2b3541}
footer.wrap .brand{color:#eef5fc}
footer.wrap a:hover{color:#8ae7fa}
.palette-switcher{display:flex;align-items:center;justify-content:center;gap:9px 16px;flex-wrap:wrap;padding:20px 5%;border-top:1px solid #29333d;background:#11151b!important;color:#b3bfcc;font-size:12px}
.palette-switcher>span{letter-spacing:.1em;font-size:10px;text-transform:uppercase}
.palette-switcher a{padding:8px 13px;border:1px solid #394552;border-radius:20px}
.palette-switcher a:hover,.palette-switcher a[aria-current=page]{background:#233443!important;color:#effaff!important;border-color:#79dcef}
/* Shared backdrop switch affects the hero and the closing invitation. */
body{--backdrop:url('assets/nebula-background.png')}

body[data-backdrop="aurora"]{--backdrop:url('assets/blue-aurora.png')}

.space-layer{background-image:var(--backdrop)}
.contact{background-image:var(--backdrop)}


