:root {
  --background: 0 0% 2%;
  --foreground: 0 0% 88%;
  --primary: 40 47% 56%;
  --primary-foreground: 0 0% 4%;
  --secondary: 30 18% 13%;
  --secondary-foreground: 39 44% 86%;
  --muted: 35 10% 20%;
  --muted-foreground: 35 8% 66%;
  --destructive: 0 62% 46%;
  --destructive-foreground: 0 0% 98%;
  --border: 40 39% 38%;
  --card: 35 17% 8%;
  --radius-sm: 0.5rem;
  --radius-md: 0.9rem;
  --radius-lg: 1.45rem;
  --shadow-sm: 0 8px 24px hsl(0 0% 0% / 0.24);
  --shadow-md: 0 18px 55px hsl(0 0% 0% / 0.42);
  --shadow-lg: 0 30px 90px hsl(0 0% 0% / 0.62), 0 0 50px hsl(var(--primary) / 0.10);
  --transition-fast: 160ms ease;
  --transition-smooth: 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.dark {
  --background: 0 0% 2%;
  --foreground: 0 0% 88%;
  --primary: 40 47% 56%;
  --primary-foreground: 0 0% 4%;
  --secondary: 30 18% 13%;
  --secondary-foreground: 39 44% 86%;
  --muted: 35 10% 20%;
  --muted-foreground: 35 8% 66%;
  --destructive: 0 62% 46%;
  --border: 40 39% 38%;
  --card: 35 17% 8%;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: hsl(var(--background));
}

body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 12% 8%, hsl(var(--primary) / 0.14), transparent 32rem),
    radial-gradient(circle at 88% 18%, hsl(25 46% 31% / 0.16), transparent 30rem),
    linear-gradient(180deg, hsl(var(--background)), hsl(0 0% 1%));
  color: hsl(var(--foreground));
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

.font-editorial {
  font-family: 'Playfair Display', Georgia, serif;
}

.bg-1 { background: hsl(var(--background)); }
.bg-2 { background: hsl(var(--card)); }
.bg-3 { background: hsl(var(--secondary)); }
.bg-4 { background: hsl(var(--muted)); }
.text-primary { color: hsl(var(--foreground)); }
.text-secondary { color: hsl(var(--muted-foreground)); }
.text-tertiary { color: hsl(var(--secondary-foreground)); }
.accent { color: hsl(var(--primary)); }

.glass-card {
  border: 1px solid hsl(var(--border) / 0.66);
  background: linear-gradient(145deg, hsl(var(--card) / 0.72), hsl(var(--secondary) / 0.36));
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(18px);
}

.gold-line {
  height: 1px;
  background: linear-gradient(90deg, transparent, hsl(var(--primary) / 0.82), transparent);
}

.editorial-frame {
  border: 1px solid hsl(var(--primary) / 0.78);
  background:
    linear-gradient(145deg, hsl(var(--card) / 0.42), hsl(var(--primary) / 0.08)),
    radial-gradient(circle at 35% 18%, hsl(var(--primary) / 0.18), transparent 16rem);
  box-shadow: var(--shadow-lg);
  backdrop-filter: blur(22px);
}

.portrait-duo {
  background:
    radial-gradient(circle at 35% 25%, hsl(39 61% 68% / 0.30), transparent 9rem),
    radial-gradient(circle at 62% 38%, hsl(28 35% 30% / 0.52), transparent 11rem),
    linear-gradient(135deg, hsl(0 0% 6%), hsl(32 24% 16%) 54%, hsl(0 0% 3%));
}

.portrait-carmine {
  background:
    radial-gradient(circle at 50% 30%, hsl(39 56% 70% / 0.36), transparent 4rem),
    linear-gradient(145deg, hsl(20 18% 18%), hsl(0 0% 4%));
}

.portrait-isidoro {
  background:
    radial-gradient(circle at 44% 30%, hsl(39 56% 70% / 0.32), transparent 4rem),
    linear-gradient(145deg, hsl(34 28% 17%), hsl(0 0% 4%));
}

.glow-button {
  box-shadow: 0 0 0 1px hsl(var(--primary) / 0.58), 0 0 32px hsl(var(--primary) / 0.18);
}

.glow-button:hover,
.glow-button:focus-visible {
  box-shadow: 0 0 0 1px hsl(var(--primary) / 0.84), 0 0 46px hsl(var(--primary) / 0.28);
}

.section-kicker {
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

.safe-bottom {
  padding-bottom: calc(0.85rem + env(safe-area-inset-bottom));
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}