/* Sistema de diseño Casa Libertad — generated from tokens.json */
@font-face { font-family: "Instrument Serif"; src: url("./fonts/instrument-serif-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url("./fonts/instrument-serif-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("./fonts/instrument-sans-var.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("./fonts/instrument-sans-var-italic.woff2") format("woff2"); font-weight: 400 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Fragment Mono"; src: url("./fonts/fragment-mono-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
:root, [data-theme="light"] {
  --monte-50: #e1eae6;
  --monte-100: #d5deda;
  --monte-200: #bfccc6;
  --monte-300: #a0b4ab;
  --monte-400: #7f998e;
  --monte-500: #5c7c6f;
  --monte-600: #3c6052;
  --monte-700: #1d4537;
  --monte-800: #083024;
  --monte-900: #011b12;
  --monte-950: #000905;
  --alba-50: #fef0e9;
  --alba-100: #fde4d7;
  --alba-200: #ffceb2;
  --alba-300: #f2b38b;
  --alba-400: #e69b72;
  --alba-500: #d38357;
  --alba-600: #b8693c;
  --alba-700: #94532f;
  --alba-800: #6e3d23;
  --alba-900: #4f2a18;
  --alba-950: #2d160b;
  --agua-50: #e1f5f1;
  --agua-100: #dbf6f1;
  --agua-200: #b9ebe4;
  --agua-300: #9ad7ce;
  --agua-400: #77bfb6;
  --agua-500: #51a59b;
  --agua-600: #2b8a80;
  --agua-700: #0b6e65;
  --agua-800: #01524b;
  --agua-900: #013732;
  --agua-950: #01201d;
  --niebla-50: #fafcfa;
  --niebla-100: #f3f7f3;
  --niebla-200: #e3efe6;
  --niebla-300: #dbe2dd;
  --tinta-50: #f1f9f5;
  --tinta-100: #e7f0ec;
  --tinta-200: #d6e1dc;
  --tinta-300: #becbc5;
  --tinta-400: #a4b2ac;
  --tinta-500: #889690;
  --tinta-600: #6c7c75;
  --tinta-700: #52625b;
  --tinta-800: #394942;
  --tinta-900: #21322b;
  --tinta-950: #0b1e17;
  --noche-950: #040f0a;
  --noche-900: #071611;
  --noche-850: #0d1d17;
  --noche-800: #14261f;
  --noche-700: #253830;
  --aura-rosa: #e9a7a0;
  --aura-oro: #e9c58a;
  --aura-menta: #a4cdb6;
  --dawn-1: #0c2620;
  --dawn-2: #2a4840;
  --dawn-3: #7d7f72;
  --dawn-4: #c9a291;
  --dawn-5: #efc8b0;
  --dawn-6: #f6e3d6;
  --dawn-7: #f3efe8;
  --bg: var(--niebla-100);
  --bg-alt: var(--niebla-200);
  --surface: var(--niebla-50);
  --ink: var(--tinta-950);
  --ink-soft: var(--tinta-800);
  --ink-muted: var(--tinta-700);
  --on-photo: #f6f1e8;
  --line: var(--niebla-300);
  --line-strong: #74827c;
  --brand: var(--monte-700);
  --brand-hover: var(--monte-800);
  --brand-soft: var(--monte-100);
  --on-brand: var(--niebla-100);
  --voice: var(--agua-700);
  --accent: var(--alba-300);
  --accent-strong: var(--alba-700);
  --accent-soft: var(--alba-50);
  --on-accent: var(--tinta-950);
  --link: var(--agua-700);
  --link-hover: var(--agua-800);
  --water: var(--agua-600);
  --water-soft: var(--agua-50);
  --focus: var(--agua-700);
  --success: #1f6e49;
  --success-soft: #e3f1e8;
  --warning: #8a5300;
  --warning-soft: #fbefd8;
  --danger: #b3261e;
  --danger-soft: #fbe9e7;
  --glass: rgba(243, 247, 243, 0.82);
  --glass-line: rgba(11, 30, 23, 0.08);
  --control-bg: rgba(250, 252, 250, 0.6);
  --control-line: var(--line-strong);
  --chip-line: var(--niebla-300);
  --glow-alba: rgba(242, 179, 139, 0.6);
  --glow-rosa: rgba(233, 167, 160, 0.38);
  --glow-menta: rgba(164, 205, 182, 0.2);
  --glow-agua: rgba(43, 138, 128, 0.2);
  --scrim: rgba(7, 22, 17, 0.9);
  --shadow-card: 0 34px 70px -36px rgba(11, 30, 23, 0.4);
  --shadow-float: 0 26px 60px -26px rgba(11, 30, 23, 0.5);
  --shadow-cta: 0 18px 44px -20px rgba(29, 69, 55, 0.75);
  --shadow-cta-hover: 0 22px 60px -18px rgba(242, 179, 139, 0.85), 0 0 0 6px rgba(242, 179, 139, 0.16);
}
[data-theme="dark"] {
  --bg: var(--noche-900);
  --bg-alt: var(--noche-850);
  --surface: var(--noche-800);
  --ink: #f3efe7;
  --ink-soft: #cbd3cd;
  --ink-muted: #9faba3;
  --on-photo: #f6f1e8;
  --line: #28382f;
  --line-strong: #75877e;
  --brand: var(--alba-300);
  --brand-hover: #f7c5a5;
  --brand-soft: #1f3a30;
  --on-brand: var(--tinta-950);
  --voice: var(--alba-300);
  --accent: var(--alba-300);
  --accent-strong: var(--alba-200);
  --accent-soft: #2a1f18;
  --on-accent: var(--tinta-950);
  --link: var(--agua-300);
  --link-hover: var(--agua-200);
  --water: var(--agua-400);
  --water-soft: #0f2c28;
  --focus: var(--alba-300);
  --success: #86d3a6;
  --success-soft: #14301f;
  --warning: #f0c063;
  --warning-soft: #2e2412;
  --danger: #ff9d91;
  --danger-soft: #341816;
  --glass: rgba(7, 22, 17, 0.32);
  --glass-line: rgba(243, 239, 231, 0.16);
  --control-bg: rgba(243, 239, 231, 0.07);
  --control-line: rgba(243, 239, 231, 0.36);
  --chip-line: rgba(243, 239, 231, 0.18);
  --glow-alba: rgba(242, 179, 139, 0.6);
  --glow-rosa: rgba(233, 167, 160, 0.38);
  --glow-menta: rgba(164, 205, 182, 0.2);
  --glow-agua: rgba(43, 138, 128, 0.2);
  --scrim: rgba(7, 22, 17, 0.9);
  --shadow-card: 0 30px 80px -40px rgba(0, 0, 0, 0.6);
  --shadow-float: 0 26px 60px -26px rgba(0, 0, 0, 0.7);
  --shadow-cta: 0 18px 48px -16px rgba(242, 179, 139, 0.75);
  --shadow-cta-hover: 0 22px 64px -12px rgba(242, 179, 139, 0.95);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-10: 40px;
  --space-14: 56px;
  --space-22: 88px;
  --space-24: 96px;
  --space-42: 168px;
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --radius-xl: 40px;
  --radius-wing: 200px;
  --radius-wing-sm: 96px;
  --radius-pill: 999px;
  --container-max: 1280px;
  --gutter: 44px;
  --measure: 34em;
  --nav-h: 60px;
  --hero-min: 660px;
  --stroke-hairline: 1px;
  --stroke-thread: 2px;
  --stroke-icon: 1.5px;
  --stroke-focus: 3px;
  --dur-hover: 350ms;
  --dur-state: 600ms;
  --dur-reveal: 1300ms;
  --dur-image: 1800ms;
  --dur-intro: 3400ms;
  --dur-aura: 26s;
  --dur-inhala: 4s;
  --dur-sosten: 4s;
  --dur-exhala: 6s;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-io: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-breath: cubic-bezier(0.45, 0.05, 0.55, 0.95);
  --z-nav: 50;
  --z-dock: 60;
  --z-menu: 70;
  --z-band: 80;
  --z-toast: 90;
  --z-skip: 100;
  --font-display: "Instrument Serif", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --font-sans: "Instrument Sans", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --font-mono: "Fragment Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}
.t-hero { font-family: var(--font-display); font-size: 164px; line-height: 0.86; font-weight: 400; letter-spacing: -0.035em; }
.t-closing { font-family: var(--font-display); font-size: 144px; line-height: 0.9; font-weight: 400; letter-spacing: -0.035em; }
.t-h1 { font-family: var(--font-display); font-size: 104px; line-height: 0.92; font-weight: 400; letter-spacing: -0.03em; }
.t-h2 { font-family: var(--font-display); font-size: 88px; line-height: 0.96; font-weight: 400; letter-spacing: -0.028em; }
.t-statement { font-family: var(--font-display); font-size: 66px; line-height: 1.08; font-weight: 400; letter-spacing: -0.022em; }
.t-pillar { font-family: var(--font-display); font-size: 64px; line-height: 0.98; font-weight: 400; letter-spacing: -0.025em; }
.t-quote { font-family: var(--font-display); font-size: 52px; line-height: 1.1; font-weight: 400; letter-spacing: -0.015em; font-style: italic; }
.t-time { font-family: var(--font-display); font-size: 76px; line-height: 0.9; font-weight: 400; letter-spacing: -0.03em; }
.t-h3 { font-family: var(--font-display); font-size: 36px; line-height: 1.04; font-weight: 400; letter-spacing: -0.015em; }
.t-h4 { font-family: var(--font-display); font-size: 27px; line-height: 1.08; font-weight: 400; letter-spacing: -0.01em; }
.t-lead { font-family: var(--font-sans); font-size: 20px; line-height: 1.6; font-weight: 400; }
.t-body { font-family: var(--font-sans); font-size: 18px; line-height: 1.65; font-weight: 400; }
.t-body-sm { font-family: var(--font-sans); font-size: 16px; line-height: 1.55; font-weight: 400; }
.t-caption { font-family: var(--font-sans); font-size: 14px; line-height: 1.45; font-weight: 500; }
.t-button-lg { font-family: var(--font-sans); font-size: 17px; line-height: 1.0; font-weight: 600; }
.t-button { font-family: var(--font-sans); font-size: 16px; line-height: 1.0; font-weight: 600; }
.t-label { font-family: var(--font-mono); font-size: 12.5px; line-height: 1.2; font-weight: 400; letter-spacing: 0.14em; }
.t-meta { font-family: var(--font-mono); font-size: 11.5px; line-height: 1.3; font-weight: 400; letter-spacing: 0.1em; }
