/* Shared portfolio identity for the existing project presentations. */
@font-face {
  font-family:"Geist Mono";
  src:url("fonts/GeistMono-Variable.woff2") format("woff2");
  font-weight:100 900;
  font-display:swap;
}

:root {
  color-scheme:light;
  --bg:#f4f5f0;
  --bg-elevated:#e9ece2;
  --bg-card:#eef0e8;
  --text:#20231e;
  --text-dim:#62665c;
  --text-faint:#62665c;
  --accent:#526426;
  --accent-bright:#37491c;
  --accent-dim:#9aa985;
  --green:#3f6627;
  --blue:#345577;
  --red:#993b30;
  --border:#cdd0c5;
  --font-display:"Manrope",Arial,sans-serif;
  --font-body:"Manrope",Arial,sans-serif;
  --font-mono:"Geist Mono",Consolas,monospace;
}

html {
  scroll-padding-top:7rem;
}

body {
  font-weight:400;
}

body::after {
  display:none;
}

::selection {
  background:#d5f478;
  color:#20231e;
}

:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:5px;
}

nav {
  background:var(--bg);
  border-bottom:1px solid var(--border);
  backdrop-filter:none;
}

nav .container {
  max-width:1440px;
}

.nav-logo {
  font-size:2rem;
  font-weight:800;
  text-transform:lowercase;
  letter-spacing:-.08em;
}

.nav-back,.nav-links a {
  font-family:var(--font-body);
  font-size:.875rem;
  letter-spacing:0;
  text-transform:none;
}

.nav-links .nav-cta,.cta-primary,.cs-cta-primary {
  background:#d5f478;
  color:#20231e;
  border-color:#d5f478;
}

.nav-links .nav-cta:hover,.nav-links .nav-cta:focus-visible,.cta-primary:hover,.cs-cta-primary:hover {
  background:#e3ff9a;
  color:#20231e;
  border-color:#e3ff9a;
}

.cs-title,.cs-hero-title,h1,.section-title,.cs-section-title,.what-it-does-title {
  font-weight:600;
  text-transform:none;
  letter-spacing:-.05em;
  line-height:1.1;
}

.cs-title,.cs-hero-title {
  font-size:clamp(2.5rem,6vw,5rem);
}

.cs-section-title {
  font-size:clamp(1.8rem,3.5vw,3rem);
}

.cs-metric-number,.cs-stat-number {
  font-weight:600;
  letter-spacing:-.045em;
}

.cs-prose,.cs-decision-text {
  font-size:1rem;
  line-height:1.9;
}

.cs-decision {
  background:transparent;
  border:0;
  border-top:1px solid var(--border);
  padding-block:26px;
}

.cs-tag,.cs-hero-label,.cs-section-label,.section-kicker,.eyebrow,.feature-card-name {
  font-size:.875rem;
  letter-spacing:.025em;
}

.cs-metric-label,.cs-stat-label,.cs-stack-tag,.cs-decision-label,.cs-spec-note,.brand-caption span,.reel-meta,.principle-number,.footer-inner,.cs-footer {
  font-size:.75rem;
  letter-spacing:.025em;
}

.cs-footer,.what-it-does {
  background:var(--bg-elevated);
}

.reveal {
  opacity:1;
  transform:none;
}

.hero::before {
  display:none;
}

.reel-frame {
  box-shadow:12px 12px 0 #d5f478;
}

.ticker-track {
  animation:none;
}

.brand-caption {
  flex-wrap:wrap;
}

.cta-section,footer:not(.cs-footer) {
  background:#d5f478;
  color:#20231e;
}

.cta-link {
  border-color:#20231e;
  color:#20231e;
}

.cta-link:hover,.cta-link:focus-visible {
  background:#20231e;
  color:#d5f478;
}

.cs-mockup-label {
  background:#d5f478;
  color:#20231e;
}

.coming-soon-tag {
  color:var(--blue);
}

/* Globe-specific presentation remains dark, with the shared type and accent. */
body.immersive-project {
  color-scheme:dark;
  --bg:#161c17;
  --bg-elevated:#22271f;
  --bg-card:#22271f;
  --text:#f4f5f0;
  --text-dim:#c9cec2;
  --text-faint:#aeb9a7;
  --accent:#d5f478;
  --accent-bright:#e3ff9a;
  --accent-dim:#93a66a;
  --blue:#a7c7ea;
  --border:#505b45;
}

@media(max-width:640px) {
  .nav-logo {
    font-size:1.7rem;
  }
  .nav-links {
    gap:16px;
  }
  .nav-links a {
    font-size:.875rem;
  }
  .cs-title,.cs-hero-title {
    overflow-wrap:anywhere;
  }
  .cs-decision {
    padding-inline:0;
  }
  .footer-inner {
    flex-wrap:wrap;
    gap:20px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
  }
  .coming-soon-tag,.geo-title,.geo-attribution,.geo-subtitle,.data-domains,.geo-cta,.hero-logo,.hero-subtitle,.hero-tag,.cta-row,.tech-stack,.open-source-note {
    opacity:1!important;
    transform:none!important;
  }
}

/* Keep source content available when motion is disabled. */
.stack-tag { color: var(--text-dim); font-size: .75rem; }
@media (prefers-reduced-motion: reduce) {
  .logo-card, .hero-tagline, .feature-tags, .stack-tags, .geo-stack {
    opacity: 1 !important;
    transform: none !important;
  }
}
