:root {
  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-display: "Manrope", "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;

  --text-xs: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-base: 1.0625rem;
  --text-lg: 1.25rem;
  --text-xl: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
  --text-2xl: clamp(2rem, 1.4rem + 2.4vw, 3rem);
  --text-hero: clamp(2.5rem, 1.5rem + 4.5vw, 5rem);

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --section-y: clamp(4rem, 3rem + 5vw, 8rem);

  --touch-min: 2.75rem;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);

  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --dur-fast: 200ms;
  --dur-base: 350ms;
  --dur-slow: 500ms;
}

[data-theme="nobregas"] {
  color-scheme: light;
  --color-base-100: oklch(100% 0 90);
  --color-base-200: oklch(96.8% 0.007 248);
  --color-base-300: oklch(92.9% 0.013 256);
  --color-base-content: oklch(20.8% 0.04 266);
  --color-primary: oklch(62.3% 0.188 260);
  --color-primary-content: oklch(100% 0 90);
  --color-secondary: oklch(58.5% 0.204 277);
  --color-secondary-content: oklch(100% 0 90);
  --color-accent: oklch(71.5% 0.126 215);
  --color-accent-content: oklch(100% 0 90);
  --color-neutral: oklch(55.4% 0.041 257);
  --color-neutral-content: oklch(100% 0 90);
  --color-info: oklch(62.3% 0.188 260);
  --color-info-content: oklch(100% 0 90);
  --color-success: oklch(72.3% 0.192 150);
  --color-success-content: oklch(20.8% 0.04 266);
  --color-warning: oklch(76.9% 0.165 70);
  --color-warning-content: oklch(20.8% 0.04 266);
  --color-error: oklch(63.7% 0.208 25);
  --color-error-content: oklch(100% 0 90);
  --radius-selector: 1rem;
  --radius-field: 0.75rem;
  --radius-box: 1rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 0;
}

[data-theme="nobregas-dark"] {
  color-scheme: dark;
  --color-base-100: oklch(17.6% 0.014 258);
  --color-base-200: oklch(22% 0.016 257);
  --color-base-300: oklch(24.6% 0.015 257);
  --color-base-content: oklch(96.8% 0.007 248);
  --color-primary: oklch(62.3% 0.188 260);
  --color-primary-content: oklch(100% 0 90);
  --color-secondary: oklch(58.5% 0.204 277);
  --color-secondary-content: oklch(100% 0 90);
  --color-accent: oklch(71.5% 0.126 215);
  --color-accent-content: oklch(100% 0 90);
  --color-neutral: oklch(26.3% 0.023 259);
  --color-neutral-content: oklch(71.1% 0.035 257);
  --color-info: oklch(62.3% 0.188 260);
  --color-info-content: oklch(100% 0 90);
  --color-success: oklch(72.3% 0.192 150);
  --color-success-content: oklch(20.8% 0.04 266);
  --color-warning: oklch(76.9% 0.165 70);
  --color-warning-content: oklch(20.8% 0.04 266);
  --color-error: oklch(63.7% 0.208 25);
  --color-error-content: oklch(100% 0 90);
  --radius-selector: 1rem;
  --radius-field: 0.75rem;
  --radius-box: 1rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  min-height: 100dvh;
}

h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.1;
  text-wrap: balance;
}

h1 { font-size: var(--text-hero); }
h2 { font-size: var(--text-2xl); }
h3 { font-size: var(--text-xl); }

input, select, textarea { font-size: 1rem; }

.reveal {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

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

/* Apple audit polish */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
a, button, summary, label { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; border-radius: 0.375rem; }
button, a.btn { touch-action: manipulation; }
.btn { transition: transform .15s var(--ease-out), background-color .2s ease, box-shadow .2s ease; }
.btn:active { transform: scale(0.97); }

/* Dark mode surfaces */
[data-theme="nobregas-dark"] .pillar,
[data-theme="nobregas-dark"] .plan,
[data-theme="nobregas-dark"] .status-pill { background: color-mix(in oklab, white 4%, transparent); border-color: color-mix(in oklab, white 10%, transparent); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
[data-theme="nobregas-dark"] .trust-bar { background: color-mix(in oklab, white 3%, transparent); border-color: color-mix(in oklab, white 6%, transparent); }
[data-theme="nobregas-dark"] .plan--featured { border-color: var(--color-primary); box-shadow: 0 16px 40px -12px color-mix(in oklab, var(--color-primary) 30%, transparent); }
[data-theme="nobregas-dark"] .faq__item { border-color: color-mix(in oklab, white 10%, transparent); }
