/* Geno Design Tokens */
@import url("https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;600;700&display=swap");

:root {
  /* Brand Palette */
  --color-primary: #2d5d9f;
  --color-secondary: #ec6338;
  --color-white: #f8fbff;
  --color-text: var(--color-white);
  --color-text-inverse: var(--color-white);
  --color-muted: rgba(248, 251, 255, 0.72);
  --color-bg: #0b1526;
  --color-surface: rgba(255, 255, 255, 0.08);

  /* Gradients built from primary/secondary */
  --gradient-page:
    radial-gradient(1200px 800px at 12% -10%, rgba(77, 128, 201, 0.55), rgba(11, 21, 38, 0) 60%),
    radial-gradient(900px 700px at 88% 6%, rgba(236, 99, 56, 0.28), rgba(11, 21, 38, 0) 58%),
    radial-gradient(700px 700px at 18% 85%, rgba(103, 157, 224, 0.35), rgba(11, 21, 38, 0) 65%),
    linear-gradient(160deg, #0b1526 0%, #142646 55%, #0b1526 100%);
  --gradient-primary: linear-gradient(135deg, #2d5d9f 0%, #1b3f74 55%, #0f2b52 100%);
  --gradient-accent: linear-gradient(135deg, #ec6338 0%, #f07c57 55%, #f5a07f 100%);
  --gradient-card: linear-gradient(160deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.06) 60%, rgba(255, 255, 255, 0.03));
  --surface-card: rgba(255, 255, 255, 0.1);

  /* Glass helpers */
  --glass-border: rgba(255, 255, 255, 0.28);
  --glass-border-strong: rgba(236, 99, 56, 0.6);
  --glass-overlay: rgba(15, 27, 51, 0.55);
  --glass-overlay-strong: rgba(15, 27, 51, 0.75);
  --glass-overlay-accent: rgba(236, 99, 56, 0.45);

  /* Typography */
  --font-sans: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-size-base: clamp(1rem, 0.95rem + 0.32vw, 1.15rem);
  --line-height-base: 1.6;

  /* Layout */
  --radius-sm: 0.75rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --radius-xl: 2rem;
  --radius-pill: 999px;
  --container-max: 72rem;
  --container-wide: 88rem;
  --gap: clamp(0.9rem, 0.7rem + 0.9vw, 1.8rem);

  /* Depth & Motion */
  --shadow-soft: 0 18px 36px rgba(4, 12, 24, 0.35);
  --shadow-elevated: 0 30px 70px rgba(4, 12, 24, 0.5);
  --shadow-strong: 0 42px 90px rgba(4, 12, 24, 0.65);
  --backdrop-blur: blur(26px);
  --transition-base: 220ms ease;
  --transition-slow: 360ms ease;
}

html,
body {
  font-family: var(--font-sans);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-text);
  background: var(--gradient-page);
  min-height: 100%;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  color-scheme: dark;
}

body {
  margin: 0;
}

::selection {
  background: rgba(236, 99, 56, 0.42);
  color: var(--color-white);
}

a,
button {
  color: inherit;
  touch-action: manipulation;
}

h1,
h2,
h3 {
  font-family: var(--font-display);
  letter-spacing: -0.01em;
}

.text-muted {
  color: var(--color-muted);
}

.bg-accent {
  background: var(--gradient-page);
  min-height: 100svh;
  min-height: 100dvh;
  position: relative;
  isolation: isolate;
}

.bg-accent::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(600px 600px at 85% 20%, rgba(236, 99, 56, 0.25), transparent 70%),
    radial-gradient(800px 800px at 10% 80%, rgba(77, 128, 201, 0.3), transparent 65%);
  opacity: 0.8;
  pointer-events: none;
  z-index: 0;
}

.linear-primary-accent {
  background: var(--gradient-primary);
  min-height: 100svh;
  min-height: 100dvh;
}

.glass-divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 100%);
}
