/* Shared ANT visual language: matte black, white light, spheres and orbital paths. */
:root { --solar-black:#050505; --solar-surface:#111; --solar-line:#ffffff26; --solar-light:#f5f5f5; }
body:has(.hero),body:has(.public-main),body:has(.admin-layout),body:has(.auth-screen) { background:var(--solar-black); color:var(--solar-light); }
body .hero { isolation:isolate; }
body #hero-canvas { z-index:2; }
body .hero-bg-img { filter:grayscale(1) brightness(.48) !important; }
body .service-card,body .about-stat-box,body .office-card { background:radial-gradient(ellipse at 95% 0%,#ffffff0b,transparent 65%),#0b0b0b; border-color:#ffffff20; border-radius:18px; }
body .service-card:hover,body .about-stat-box:hover { background:radial-gradient(ellipse at 95% 0%,#ffffff17,transparent 65%),#101010; }
body .service-icon { width:78px; height:78px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle at 29% 23%,#303030,#060606 65%); box-shadow:inset 1px 1px 2px #ffffff50,0 0 22px #ffffff08; position:relative; margin-bottom:24px; }
body .service-icon::after { content:''; position:absolute; width:120%; height:37%; border:1px solid #ffffff38; border-radius:50%; transform:rotate(-25deg); pointer-events:none; }
body .service-icon svg { width:42px; height:42px; }
body .section-label::before,body .eyebrow::before { content:''; display:inline-block; width:8px; height:8px; margin-right:10px; border-radius:50%; background:#eee; box-shadow:0 0 0 4px #ffffff0a,0 0 15px #ffffff45; }
body .project-art img { filter:grayscale(1) brightness(.8) !important; }
body .project-card:hover .project-art img { filter:grayscale(1) brightness(1) !important; }
body .project-card { border-radius:16px; }
body .btn,body .btn-primary,body .btn-outline,body .submit-btn,body .project-filter-btn,body .office-tab { border-radius:40px; }
body .nav-mobile-menu { background:radial-gradient(ellipse at 100% 10%,#252525,#080808 55%); }
body .nav-mobile-menu a::before { content:'○'; display:inline-block; font-size:.5em; margin-right:18px; vertical-align:middle; color:#aaa; }
body section[id] { scroll-margin-top:90px; }
.solar-waypoints { position:fixed; z-index:50; right:18px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:18px; padding:16px 10px; background:#080808b8; border:1px solid #ffffff1a; border-radius:30px; }
.solar-waypoints a { position:relative; display:block; width:12px; height:12px; border-radius:50%; border:1px solid #ffffff55; background:#151515; }
.solar-waypoints a[aria-current='location'] { background:#fff; box-shadow:0 0 0 4px #ffffff12,0 0 18px #ffffff80; }
.solar-waypoints span { position:absolute; right:24px; top:-5px; white-space:nowrap; color:#fff; background:#111; border:1px solid #ffffff30; padding:4px 8px; border-radius:12px; opacity:0; pointer-events:none; font:10px Inter,sans-serif; }
.solar-waypoints a:hover span,.solar-waypoints a:focus-visible span { opacity:1; }
.solar-replay { display:inline-flex; align-items:center; gap:10px; margin:12px; padding:11px 18px; border:1px solid #ffffff40; border-radius:30px; background:#0b0b0b; color:#fff; cursor:pointer; font:11px Inter,sans-serif; }
.solar-replay::before { content:'◉'; font-size:19px; }
.ant-universe-open .solar-waypoints { visibility:hidden; }
/* Careers and details inherit the same world while keeping content readable. */
body .public-main { color:#f5f5f5; background:radial-gradient(ellipse at 100% 0%,#ffffff09,transparent 40%),#090909; }
body .careers-hero { position:relative; isolation:isolate; overflow:hidden; }
body .careers-hero::before,body .auth-screen::before { filter:grayscale(1); }
body .careers-hero::after { content:''; z-index:-1; position:absolute; inset:0; background:radial-gradient(ellipse at 85% 35%,transparent 22%,#ffffff18 22.2%,transparent 22.5%,transparent 32%,#ffffff10 32.2%,transparent 32.5%),linear-gradient(90deg,#050505ef,#05050588),linear-gradient(0deg,#090909,transparent 75%); pointer-events:none; }
body .site-header,body .platform-footer { background:#080808; color:#eee; border-color:#ffffff24; }
body .site-header nav a,body .careers-home-link,body .public-main .button { border-radius:30px; }
body .job-row { color:#eee; border-color:#ffffff24; border-radius:14px; background:#101010; padding:24px; margin-bottom:12px; }
body .job-row:hover { background:#1b1b1b; }
body .job-row .arrow { border-radius:50%; background:radial-gradient(circle at 30% 20%,#444,#090909 65%); color:#fff; width:44px; height:44px; display:grid; place-items:center; box-shadow:inset 1px 1px 2px #ffffff45; }
body .public-main .intro p,body .job-row p,body .public-main .meta,body .public-main .eyebrow,body .public-main .empty { color:#bdbdbd; }
body .public-main input,body .public-main select,body .public-main textarea { background:#101010; color:#eee; border-color:#ffffff38; border-radius:10px; }
body .public-main .primary { background:#f5f5f5 !important; color:#080808; border-color:#fff; border-radius:30px; }
body .public-main .job-cover { filter:grayscale(1); border-radius:18px; }
/* Administrative controls use the same neutral palette without motion over workflows. */
body .admin-layout .sidebar { background:#080808; color:#eee; border-color:#ffffff24; }
body .admin-layout .sidebar a { border-radius:24px; }
body .admin-layout .sidebar a[aria-current='page'] { background:#fff; color:#080808; }
body .admin-layout .sidebar .brand,body .auth-screen .brand { position:relative; }
body .auth-screen { background:radial-gradient(ellipse at 50% 15%,#282828,#050505 65%); }
body .login-card { border-radius:22px; border:1px solid #888; }
@media(max-width:900px){ .solar-waypoints { display:none; } }
@media(prefers-reduced-motion:reduce){ body .hero-bg-img,body .service-icon,body .project-art img { animation:none !important; transition:none !important; } }

/* Alternating daylight and night: each main chapter has a clear tonal change. */
body .about,body .projects,body .contact {
  background:#f7f7f5; color:#151515; border-color:#dededb;
  --black:#111; --white:#fff;
}
body .about { background:radial-gradient(ellipse at 100% 0%,#e7e7e3,transparent 48%),#fafaf8; }
body .about .section-label,body .projects .section-label,body .contact .section-label { color:#565656; }
body :is(.about,.projects,.contact) .section-label::before { background:#171717; box-shadow:0 0 0 4px #00000008,0 0 0 9px #00000003; }
body :is(.about,.projects,.contact) .section-label::after { background:#aaa; }
body .about-heading,body .projects-heading,body .contact-heading { color:#111; }
body .about-heading em,body .projects-heading em,body .contact-heading em { color:#666; }
body .about-text,body .projects-kicker { color:#515151; }
body .about-right { background:transparent; gap:14px; }
body .about .about-stat-box { background:#fff; border:1px solid #dededb; box-shadow:0 12px 32px #00000004; border-radius:20px; }
body .about .about-stat-box:hover { background:#efefeb; }
body .about .about-stat-box::before { background:#161616; }
body .about .stat-num { color:#111; }
body .about .stat-label { color:#595959; }
body .about .btn-outline { color:#111; border-color:#777; padding:14px 22px; }
body .about .btn-outline:hover { background:#111; color:#fff; }
body .services,body .offices { background:#090909; color:#f5f5f5; }
body .offices .office-card.primary { background:#f7f7f5; color:#111; }
body .offices .office-card:not(.primary) .office-city { color:#f5f5f5; }
body .projects .projects-all-link,body .projects .projects-load-more { color:#161616; }
body .projects .projects-all-link { border:1px solid #bbb; padding:14px 20px; border-radius:32px; }
body .projects .projects-all-link:hover { background:#111; color:#fff; }
body .projects .project-filter { color:#555; border-color:#ccc; padding-left:12px; padding-right:10px; border-radius:12px; transition:background .2s,color .2s; }
body .projects .project-filter-num { color:#666; }
body .projects .project-filter-count { opacity:1; color:#666; }
body .projects .project-filter::after { background:#777; left:12px; }
body .projects .project-filter:hover { background:#eaeae6; }
body .projects .project-filter.is-active { background:#111; color:#fff; }
body .projects .project-filter.is-active :is(.project-filter-num,.project-filter-count) { color:#fff; }
body .projects .project-filter.is-active::after { background:#fff; }
body .projects .project-card { box-shadow:0 12px 28px #00000012; }
body .projects .projects-strip { background:#ecece8; border-color:#d6d6d1; color:#111; }
body .projects .pstrip-num { color:#111; }
body .projects .pstrip-label { color:#555; }
body .projects .pstrip-sep { background:#ccc; }
body .projects .pstrip-cta { background:#111; color:#fff; border-color:#111; border-radius:32px; }
body .projects .pstrip-cta:hover { background:#333; }
body .certs { background:#f7f7f5; border-color:#ddd; }
body .certs-label-top { color:#595959; }
body .contact .contact-info-label,body .contact .form-group label { color:#555; }
body .contact .contact-info-value { color:#111; }
body .contact .contact-info-item { border-color:#d3d3ce; }
body .contact .form-group { background:#fff; border:1px solid #d0d0cb; border-radius:12px; margin-bottom:12px; padding:0 16px; }
body .contact .form-group label { left:16px; }
body .contact .form-group:focus-within { border-color:#111; box-shadow:0 0 0 3px #00000008; }
body .contact .form-group :is(input,select,textarea) { color:#111; }
body .contact .form-group select option { background:#fff; color:#111; }
body .contact .submit-btn { padding:12px 18px; background:#111; color:#fff; }
body .contact .submit-btn::after { color:#fff; border-color:#ffffff60; }
body .contact #offices-map { background:#101010; color:#eee; padding:24px 0; border-radius:22px; overflow:hidden; }
body :is(.about,.projects,.contact) :is(a,button,input,select,textarea):focus-visible { outline:2px solid #555; outline-offset:5px; }
@media(max-width:600px){
  body .about .about-stat-box { padding:28px 18px; }
  body .about .stat-num { font-size:clamp(22px,6vw,34px); overflow-wrap:anywhere; }
  body .contact .form-submit { flex-wrap:wrap; gap:24px; }
}

/* Natural-color photography stays separate from the monochrome page palette. */
body .hero-bg-img { filter:brightness(.65) !important; }
body .project-art img,body .project-card:hover .project-art img { filter:none !important; }
body .public-main .job-cover,body .careers-hero::before,body .auth-screen::before { filter:none; }
