/* ANSRLabs production theme; approved graphics and Aurora from ANSRLabs.github.io. */
:root {
  --theme-panel: rgba(255,251,245,.94);
  --theme-head: rgba(246,240,229,.95);
  --theme-control: #fffaf2;
  --theme-border: rgba(43,109,168,.25);
  --theme-bg: #f6f0e5;
  --theme-muted: #5c6b7a;
  --theme-watermark-opacity: .05;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --paper: #050a15;
  --ink: #e0f2f1;
  --muted: #a8bcc9;
  --line: rgba(0,240,255,.22);
  --panel: rgba(5,13,24,.94);
  --panel-strong: rgba(7,17,29,.95);
  --accent: #00f0ff;
  --accent-dark: #79f8ff;
  --signal: #7ef6e7;
  --shadow: 0 22px 60px rgba(0,0,0,.35);
  --serif: "Inter", "Segoe UI", sans-serif;
  --theme-panel: rgba(7,17,29,.96);
  --theme-head: rgba(5,10,21,.93);
  --theme-control: #0b1927;
  --theme-border: rgba(0,240,255,.28);
  --theme-bg: #050a15;
  --theme-muted: #a8bcc9;
  --theme-watermark-opacity: .18;
}
* { box-sizing: border-box; }
html { background: var(--theme-bg); scroll-padding-top: 140px; }
body { background: var(--theme-bg); color: var(--ink); padding-bottom: 0; isolation: isolate; }
body::before { display:block;pointer-events:none;z-index:1;background-image:var(--theme-watermark);background-repeat:no-repeat;background-position:center;background-size:contain;opacity:var(--theme-watermark-opacity); }
:root { --theme-watermark:url("/assets/bg-logo.png"); }
:root[data-theme="dark"] { --theme-watermark:url("/assets/theme-v1/a-shield.jpg"); }
:root[data-theme="dark"] body::before { mix-blend-mode:screen; }
html[data-logo-intro] body::before { animation:none;opacity:var(--theme-watermark-opacity);transform:scale(1); }
html[data-logo-intro="waiting"] body::before { opacity:0;z-index:3; }
html[data-logo-intro="playing"] body::before { z-index:3;animation:theme-logo-splash 2.5s ease-in-out both; }
html[data-logo-intro="waiting"] body .site-shell,
html[data-logo-intro="playing"] body .site-shell { visibility:hidden;opacity:0;animation:none; }
html[data-logo-intro="revealing"] body .site-shell { visibility:visible;animation:content-fade-in 1s ease both; }
@keyframes theme-logo-splash {
  0% { opacity:0;transform:scale(.95); }
  20%,70% { opacity:.8;transform:scale(1); }
  100% { opacity:var(--theme-watermark-opacity);transform:scale(1); }
}
@media(prefers-reduced-motion:reduce) { html[data-logo-intro] .site-shell { visibility:visible;opacity:1; } }
#preloader { display: none; }
.site-shell, body.loaded .site-shell, body.loaded-instant .site-shell { opacity: 1; animation: none; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
#ansrlabs-aurora { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; opacity: .18; }
.site-shell { position: relative; z-index: 2; }
:root[data-theme="dark"] body {
  background: radial-gradient(ellipse at 80% 15%,rgba(0,240,255,.08),transparent 55%), #050a15;
}
:root[data-theme="light"] #ansrlabs-aurora { display: none; }
.topbar { top: 0; background: var(--theme-head); }
.topbar-inner { padding-block: 1.1rem; }
.brand-title { font-size: 1rem; }
.brand-name { font-size: .74rem; margin-bottom: 3px; }
.brand-logo { height: 52px; width: 52px; object-fit: cover; border-radius: 9px; }
.dark-mark { display: none; }
:root[data-theme="dark"] .dark-mark { display: block; border: 1px solid var(--theme-border); }
:root[data-theme="dark"] .light-mark { display: none; }
.hero { padding: 4rem 0 2.5rem; }
.hero-grid { padding-block: 0; gap: 3.5rem; align-items: center; grid-template-columns: 1.2fr .8fr; }
.hero h1 { font-size: clamp(2.5rem,4.1vw,3.8rem); line-height: 1.08; letter-spacing: -.045em; text-wrap: balance; margin-block: 1.1rem 1.6rem; }
:root[data-theme="dark"] .hero h1 { font-weight: 900; }
.eyebrow, .section-label { font-family: ui-monospace,monospace; letter-spacing: .12em; }
.eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 12px var(--signal); }
.lede { font-size: 1rem; line-height: 1.8; }
:root[data-theme="dark"] .button { color: #041017; background: #00f0ff; box-shadow: 0 0 28px rgba(0,240,255,.12); }
.button, .button-secondary { border-radius: 8px; font-size: .9rem; }
:root[data-theme="dark"] .button-secondary, :root[data-theme="dark"] .tag { background: rgba(5,18,28,.9); }
.card, .stat, .callout, .page-panel, .team-card { border-radius: 14px; }
.hero-panel { padding: 1rem 1.3rem 1.3rem; }
.hero-panel h2 { font-size: 1rem; }
.hero-panel p { font-size: .85rem; }
.hero-panel .tag-row { gap: .4rem; margin-top: .9rem; }
.hero-panel .tag { font-size: .65rem; padding: .3rem .45rem; }
.hero-art { margin: 0 0 1.3rem; }
.hero-art img { width: 100%; border-radius: 9px; aspect-ratio: 1; object-fit: cover; }
.hero-art figcaption { font: 10px/1.6 ui-monospace,monospace; letter-spacing: .13em; margin-top: .8rem; color: var(--signal); }
:root[data-theme="light"] .hero-art { display: none; }
:root[data-theme="dark"] .card h3 { font-size: 1.2rem; }
:root[data-theme="dark"] .footer { background: rgba(4,10,18,.95); }
#ansrlabs-theme-toggle { position:fixed; right:max(20px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom)); z-index:100; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; border:1px solid var(--theme-border); border-radius:24px; background:var(--theme-control); color:var(--ink); font:600 14px/1.3 Inter,"Segoe UI",sans-serif; cursor:pointer; box-shadow:var(--shadow); }
@media (max-width:900px) {
  .hero-grid { grid-template-columns:1fr; gap:2rem; }
  .hero-panel { display:grid; grid-template-columns:.8fr 1.2fr; column-gap:1.3rem; }
  .hero-art { grid-row:span 4; margin-bottom:0; }
  .hero-panel .tag-row { align-self:start; }
}
@media (max-width:620px) {
  .brand-title { font-size:.85rem; }
  .brand-logo { width:44px; height:44px; }
  .topbar-inner { gap:1rem; }
  .nav { gap:.6rem 1rem; }
  .nav a { font-size:.8rem; }
  .hero { padding-top:2.5rem; }
  .hero h1 { font-size:2.6rem; }
  .hero-panel { display:block; }
  .hero-art { margin-bottom:1.3rem; }
  .hero-art img { max-height:320px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }


:root[data-theme="dark"] .optin-field input[type="tel"],
:root[data-theme="dark"] .optin-field input[type="email"],
:root[data-theme="dark"] .consent-block { background:var(--theme-control); }
:root[data-theme="dark"] .optin-submit { color:#041017;background:var(--accent);border-color:var(--accent); }
