/* CEACEC — tokens de marca (colores del logo y del brochure) y base tipográfica. */
@font-face { font-family: 'Cormorant'; src: url('../fonts/cormorant.woff2') format('woff2'); font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Cormorant'; src: url('../fonts/cormorant-italic.woff2') format('woff2'); font-weight: 300 700; font-style: italic; font-display: swap; }
@font-face { font-family: 'Cinzel'; src: url('../fonts/cinzel.woff2') format('woff2'); font-weight: 400 700; font-display: swap; }
@font-face { font-family: 'Manrope'; src: url('../fonts/Manrope-var.woff2') format('woff2'); font-weight: 200 800; font-display: swap; }

:root {
  --cream: #f7f2ec;
  --paper: #fffdf9;
  --sand: #efe7dd;
  --ink: #3b3846;
  --muted: #736e7c;
  --line: #e4dbd0;
  --lav: #9c97d9;
  --lav-deep: #6c66b5;
  --lav-soft: #e9e7f8;
  --pink: #f6a9af;
  --pink-deep: #d9737e;
  --pink-soft: #fde9ea;
  --night: #2d2944;
  --night-2: #3a3557;
  --tree: #6b6b6e;

  --f-serif: 'Cormorant', 'Cormorant Garamond', Georgia, serif;
  --f-caps: 'Cinzel', 'Trajan Pro', Georgia, serif;
  --f-sans: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --r: 18px;
  --r-lg: 28px;
  --shadow: 0 18px 50px -24px rgba(45, 41, 68, .28);
  --container: 1180px;
  --pad: clamp(1.1rem, 4vw, 2rem);
  --sec: clamp(4.5rem, 9vw, 7.5rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--cream); color: var(--ink); font: 400 1.0625rem/1.7 var(--f-sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3, h4 { font-family: var(--f-serif); font-weight: 500; line-height: 1.08; margin: 0; color: var(--night); letter-spacing: -.01em; }
h1 { font-size: clamp(2.6rem, 6.4vw, 5rem); font-weight: 400; }
h2 { font-size: clamp(2.1rem, 4.4vw, 3.4rem); font-weight: 400; }
h3 { font-size: clamp(1.45rem, 2.2vw, 1.85rem); }
h4 { font-size: 1.2rem; }
p { margin: 0; }
em, .accent { font-style: italic; color: var(--lav-deep); }
.lead { font-size: clamp(1.08rem, 1.6vw, 1.22rem); color: var(--muted); max-width: 62ch; }
.muted { color: var(--muted); }
.eyebrow { font: 500 .78rem/1.4 var(--f-caps); letter-spacing: .26em; text-transform: uppercase; color: var(--lav-deep); }
.container { width: min(100% - 2 * var(--pad), var(--container)); margin-inline: auto; }
.skip-link { position: absolute; left: -999px; top: .5rem; background: var(--night); color: #fff; padding: .6rem 1rem; border-radius: 8px; z-index: 100; }
.skip-link:focus { left: .5rem; }
:focus-visible { outline: 2px solid var(--lav-deep); outline-offset: 3px; border-radius: 4px; }
