/* Shared theme controls and assets. */
.header-actions{display:flex;align-items:center;gap:16px}
.theme-toggle{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-around;flex-shrink:0;width:88px;height:44px;padding:4px;border:1px solid #ccd4e2;border-radius:99px;background:#e6ebf4;color:#778298;transition:background .25s,border-color .25s;touch-action:manipulation}
.theme-toggle svg{position:relative;z-index:1;width:19px;height:19px;flex-shrink:0;transition:color .25s}
.theme-thumb{position:absolute;left:6px;top:4px;width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:0 2px 7px #26395520;transition:transform .28s cubic-bezier(.2,.8,.2,1),background .25s}
.theme-toggle .theme-sun{color:#b87917}
[data-theme="dark"] .theme-toggle{background:#181e2e;border-color:#343e55;color:#8791a8}
[data-theme="dark"] .theme-thumb{transform:translateX(40px);background:#3d65ff;box-shadow:0 2px 10px #254bd540}
[data-theme="dark"] .theme-toggle .theme-sun{color:#8791a8}
[data-theme="dark"] .theme-toggle .theme-moon{color:#fff}
.theme-toggle:hover{border-color:var(--blue)}
.logo .logo-light{display:none}
[data-theme="light"] .logo .logo-dark{display:none}
[data-theme="light"] .logo .logo-light{display:block}
.marquee,.contact,.nexus{color:#f5f5f4}
.skip{color:#fff}

/* Light surfaces keep the blue brand accents. */
:root[data-theme="light"]{--bg:#f8f9fc;--surface:#eef1f8;--text:#151923;--muted:#5c6373;--blue:#354de0;--line:#d6dce7;color-scheme:light}
[data-theme="light"] .header{border-bottom-color:var(--line)}
[data-theme="light"] .header-contact,[data-theme="light"] .menu-toggle{border-color:#b7bfce}
[data-theme="light"] .header-contact:hover{color:#fff;border-color:var(--blue)}
[data-theme="light"] .outline{-webkit-text-stroke-color:#414b60}
[data-theme="light"] .period,[data-theme="light"] .hero-bottom a span{color:var(--text)}
[data-theme="light"] .hero-art img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:multiply}
[data-theme="light"] .hero-art{mix-blend-mode:multiply}
[data-theme="light"] .nexus{background:#f1f2f4;border-color:var(--line);color:var(--text)}
[data-theme="light"] .nexus img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:multiply}
[data-theme="light"] .nexus-copy span{color:var(--blue)}
[data-theme="light"] .nexus .mock-caption{color:#596579}
[data-theme="light"] .nexus .view-circle{background:var(--text);color:#fff}
[data-theme="light"] .work-card:hover .nexus .view-circle{background:var(--blue)}
[data-theme="light"] .art-cross,[data-theme="light"] .art-label{color:#626c80}
[data-theme="light"] .concept-note,[data-theme="light"] .footer-bottom{color:var(--muted)}
[data-theme="light"] .service-detail p{color:#4d5668}
[data-theme="light"] .tags span{border-color:#c8d0e0;color:#4d5668}
[data-theme="light"] .approach{background-color:#eaf0fc;background-image:linear-gradient(#354de009 1px,transparent 1px),linear-gradient(90deg,#354de009 1px,transparent 1px)}
[data-theme="light"] .approach-bottom>span:not(.spinning-star){color:#566178}
[data-theme="light"] .process-grid article{border-color:#b7c1d4}
[data-theme="light"] dialog{background:#fff;color:var(--text);border-color:var(--line);box-shadow:0 24px 100px #172e5b26}
[data-theme="light"] dialog::backdrop{background:#18243d66}
[data-theme="light"] .dialog-close{color:#414b60}
[data-theme="light"] dialog p,[data-theme="light"] form small{color:var(--muted)}
[data-theme="light"] form select,[data-theme="light"] form textarea,[data-theme="light"] #brief-form input:not([type=checkbox]){background:#f5f7fb;color:var(--text);border-color:#b7bfce}
[data-theme="light"] form textarea::placeholder{color:#697386}
[data-theme="light"] #brief-status,[data-theme="light"] .text-button{color:#2940b5}
[data-theme="light"] .menu-toggle span{background:var(--text)}
[data-theme="light"] #mobile-nav:not([hidden]){background:var(--bg);box-shadow:0 20px 30px #172e5b12}
@media(max-width:1000px){.header-actions{gap:10px}.desktop-nav{gap:18px}}
@media(max-width:700px){.header-actions{gap:10px}}
@media(max-width:360px){.header-actions{gap:8px}.header .logo img{width:145px}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle svg,.theme-thumb{transition:none}}
