:root {
    /* Brand palette — extraida de licuna.com (Kadence global palette) */
    --brand-dark:        #1a104f;   /* navy — texto / marca / fondos oscuros */
    --brand-navy-mid:    #2d1c7a;   /* navy intermedio (gradientes) */
    --brand-pink:        #efaef0;   /* CTA primario */
    --brand-pink-soft:   #f6cdf7;   /* hover sutil */
    --brand-blue:        #5c99e0;   /* highlight / hover */
    --brand-blue-soft:   #a8c5ed;
    --brand-nude:        #cfaeb4;
    --brand-lavender-bg: #EEE7FD;   /* lavanda (fondos claros / texto sobre navy) */
    --brand-lavender-soft:#f6f1ff;  /* lavanda muy claro (secciones) */
    --brand-pink-tint:   #F3EBEC;
    --brand-muted:       #6b5fa0;   /* texto secundario sobre fondos claros */

    /* Color tokens semanticos */
    --color-bg:           #F7FAFC;  /* palette8 */
    --color-surface:      #FFFFFF;  /* palette9 */
    --color-surface-alt:  #EDF2F7;  /* palette7 — bordes/superficies suaves */
    --color-text:         var(--brand-dark);
    --color-text-strong:  var(--brand-dark);
    --color-text-muted:   #4A5568;  /* palette5 */
    --color-text-soft:    #718096;  /* palette6 */
    --color-border:       #E2E8F0;
    --color-border-strong:#CBD5E0;

    --color-primary:      var(--brand-pink);
    --color-primary-on:   #ffffff;          /* texto sobre primario */
    --color-primary-hover:var(--brand-blue);

    --color-link:         var(--brand-dark);
    --color-link-hover:   var(--brand-blue);

    --color-success:      #13612e;
    --color-danger:       #b82105;
    --color-warning:      #f7630c;

    /* Spacing tokens */
    --space-2xs: 0.25rem;
    --space-xs:  0.5rem;
    --space-sm:  0.75rem;
    --space-md:  1rem;
    --space-lg:  1.5rem;
    --space-xl:  2rem;
    --space-2xl: 3rem;

    /* Type tokens */
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
    --font-title:    "Lora", Georgia, "Times New Roman", serif;   /* h1/h2 — serif de marca */
    --font-subtitle: "Montserrat", var(--font-sans);              /* h3-h6, labels, botones */
    --font-body:     "Montserrat", var(--font-sans);              /* texto corrido */
    --font-display:  var(--font-subtitle);                        /* compat con estilos previos */
    --font-size-sm:   0.875rem;
    --font-size-base: 1rem;
    --font-size-lg:   1.125rem;
    --font-size-xl:   1.5rem;
    --font-size-2xl:  2rem;

    /* Radius tokens */
    --radius-sm:  4px;
    --radius-md:  8px;
    --radius-lg:  16px;
    --radius-pill: 9999px;

    /* Shadows */
    --shadow-card: 0px 2px 13px 0px rgba(26, 16, 79, 0.06);
    --shadow-focus-ring: 0 0 0 3px rgba(92, 153, 224, 0.25);

    /* Layout tokens */
    --container-max: 1140px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

[hidden] { display: none !important; }

html { scroll-behavior: smooth; }

html, body {
    background: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 17px;
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2 {
    font-family: var(--font-title);
    color: var(--color-text-strong);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: 0;
}

h3, h4, h5, h6 {
    font-family: var(--font-subtitle);
    color: var(--color-text-strong);
    font-weight: 700;
    line-height: 1.25;
}

a {
    color: var(--color-link);
    text-decoration: none;
    transition: color 120ms ease;
}

a:hover { color: var(--color-link-hover); }

img { max-width: 100%; height: auto; display: block; }

.container {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--space-md);
}
