:root {
  /* fire ramp */
  --fire-0: #140503; --fire-1: #2A0A05; --fire-2: #4A0F07; --fire-3: #7A1A0A; --fire-4: #A3260E;
  --fire-5: #D9541A; --fire-6: #F07A22; --fire-7: #F6A33A; --fire-8: #F9C66B; --fire-9: #FCE3A6; --fire-10: #FFF4D6;
  /* stone */
  --void: #050302; --stone-950: #0A0706; --stone-900: #0B0705; --stone-850: #120C09; --stone-800: #1B130E;
  --stone-750: #241811; --stone-700: #2A1E16; --stone-600: #3B2B1F; --stone-500: #56402F; --stone-300: #8A715A;
  /* pigments */
  --pig-hematite: #9E3B1F; --pig-hematite-dk: #5A1A0E; --pig-ochre: #C08A3E; --pig-ochre-lt: #D9A35B;
  --pig-charcoal: #1A1412; --pig-kaolin: #D8CBB4; --pig-manganese: #3B2416;
  /* text */
  /* bone-600: dimmest text grey, ≥ 5:1 on the stone surfaces */
  --bone-100: #F3E6CF; --bone-200: #E2CFAF; --bone-400: #B49C7E; --bone-600: #9C8770; --ink-on-fire: #1A0703;
  --ink-s1: #D8B28A; --ink-s2: #DDBB93; --ink-s3: #E2C49E; --ink-s4: #E6CBA8;
  --ink-s5: #EACFAE; --ink-s6: #EED6B6; --ink-s7: #F1DCBF; --ink-s8: #FCE3A6;
  --carved-ink: #8A715A;
  /* gradients */
  --grad-fire-text: linear-gradient(180deg, #FCE3A6 0%, #F9C66B 38%, #F07A22 78%, #A3260E 100%);
  --grad-btn: linear-gradient(180deg, #F6A33A 0%, #D9541A 100%);
  --grad-btn-hover: linear-gradient(180deg, #F9C66B 0%, #F07A22 100%);
  --grad-slab: linear-gradient(160deg, #241811 0%, #140D09 100%);
  /* carved / lit */
  --carved-shadow: 0 -1px 0 rgba(0,0,0,.85), 0 1px 0 rgba(255,158,80,.14);
  --lit-shadow: 0 1px 0 rgba(5,3,2,.9), 0 0 .55em rgba(240,122,34,.28);
  --legible-shadow: 0 1px 2px rgba(5,3,2,.9), 0 0 24px rgba(5,3,2,.6);
  --display-glow: drop-shadow(0 0 .3em rgba(217,84,26,.35));
  /* type */
  --font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --font-body: "Alegreya Sans", "Segoe UI", system-ui, sans-serif;
  --font-symbol: "DejaVu Sans", "Segoe UI Symbol", "Apple Symbols", sans-serif;
  --fs-eyebrow: clamp(0.75rem, 0.72rem + 0.12vw, 0.8125rem);
  --fs-small: clamp(0.875rem, 0.84rem + 0.15vw, 0.9375rem); /* reading text ≥ 14 px */
  --fs-label: 0.875rem; /* uppercase labels that are read */
  --fs-body: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --fs-cave-body: clamp(1rem, 0.9rem + 0.35vw, 1.1875rem);
  --fs-lead: clamp(1.125rem, 1rem + 0.6vw, 1.375rem);
  --fs-h3: clamp(1.1875rem, 1.05rem + 0.6vw, 1.5rem);
  --fs-h2: clamp(1.875rem, 1.3rem + 2.6vw, 3.5rem);
  --fs-h1: clamp(1.875rem, 1.2rem + 3.2vw, 4.25rem);
  /* cave opening text (intro.blocks): the display pair never takes more than ~36 % of the height, so the note fits under it */
  /* 17vw: «repártelo» fits 320 px at 200 % text */
  --fs-intro-display: min(clamp(2.5rem, 0.8rem + 10vw, 8rem), 17svh, 17vw);
  --fs-intro-note: clamp(1.0625rem, 0.95rem + 0.55vw, 1.4375rem);
  --fs-display: clamp(2.75rem, 1.6rem + 5.5vw, 7rem);
  --measure-cave: 34ch; --measure-prose: 60ch; --measure-quote: 30ch;
  /* space */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 32px;
  --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px; --s-11: 192px;
  --gutter: max(clamp(20px, 5vw, 64px), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  --container: 72rem;
  --section-pad: clamp(6rem, 12vh, 10rem);
  /* radii, shadows */
  --r-xs: 4px; --r-s: 8px; --r-m: 14px; --r-l: 22px; --r-pill: 999px;
  --r-slab: 22px 14px 26px 12px / 14px 24px 12px 20px;
  --sh-slab: inset 0 1px 0 rgba(249,198,107,.10), 0 40px 80px -30px rgba(0,0,0,.8), 0 0 120px -40px rgba(217,84,26,.35);
  --sh-btn-hover: 0 0 0 1px #F9C66B, 0 8px 28px -6px rgba(240,122,34,.55);
  --focus-ring: 0 0 0 5px rgba(217,84,26,.45);
  /* z */
  --z-panel: 1; --z-light: 2; --z-text: 3; --z-fore: 4; --z-embers: 20; --z-hint: 25;
  --z-intro: 30; --z-float: 40; --z-skip: 60;
  /* motion (CSS side) */
  --ease-reveal: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-relief: cubic-bezier(0.45, 0, 0.55, 1);
  --ease-brush: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-stroke: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-breath: cubic-bezier(0.37, 0, 0.63, 1);
  --ease-warm: cubic-bezier(0.61, 1, 0.88, 1);
  --ease-step: cubic-bezier(0.11, 0, 0.5, 0);
  --ease-pop: cubic-bezier(0.34, 1.8, 0.64, 1);
  --d-xs: .18s; --d-s: .32s; --d-m: .6s; --d-l: 1.1s; --d-xl: 1.8s; --d-xxl: 2.8s;
}
@media (min-width: 768px) and (max-height: 560px) {
  :root { --fs-h1: 2.25rem; --fs-display: 3.5rem; --fs-cave-body: 0.9375rem; }
}
