    :root {
        --ed-cream:    #F5EFE6;
        --ed-navy:     #1B2238;
        --ed-gold:     #A0824B;
        --ed-muted:    #5A6379;
        --ed-light:    #FAF7F2;
        --ed-border:   #E8DFD0;
        --ed-gold-lt:  #C9A96E;

        --var-color-custom:      var(--ed-gold);
        --var-color-custom-bg:   var(--ed-navy);
        --var-color-custom-text: var(--ed-navy);
    }

    body { background: var(--ed-cream); color: var(--ed-navy); font-family: 'DM Sans', sans-serif; }

    h1, h2, h3, h4, h5, h6,
    .font-serif { font-family: 'Cormorant Garamond', Georgia, serif; }

    /* ── Utilidades ── */
    .text-justify   { text-align: justify !important; }
    .bg-cream       { background: var(--ed-cream) !important; }
    .bg-navy        { background: var(--ed-navy)  !important; }
    .bg-gold        { background: var(--ed-gold)  !important; }
    .text-gold      { color: var(--ed-gold)  !important; }
    .text-navy      { color: var(--ed-navy)  !important; }
    .text-muted-ed  { color: var(--ed-muted) !important; }
    .border-gold    { border-color: var(--ed-gold) !important; }
    .bg-custom      { background: var(--ed-navy) !important; }
    .text-custom    { color: var(--ed-gold)  !important; }
    .star-custom    { color: var(--ed-gold); font-size: 1.1rem; }

    /* ── Botones ── */
    .btn-ed-primary {
        background: var(--ed-navy); color: var(--ed-cream);
        border: none; border-radius: 0; letter-spacing: .08em;
        font-size: .85rem; text-transform: uppercase; padding: .7rem 2rem;
        transition: background .25s;
    }
    .btn-ed-primary:hover { background: var(--ed-gold); color: #fff; }

    .btn-ed-outline {
        background: transparent; color: var(--ed-navy);
        border: 1.5px solid var(--ed-navy); border-radius: 0;
        letter-spacing: .08em; font-size: .85rem; text-transform: uppercase;
        padding: .65rem 1.8rem; transition: all .25s;
    }
    .btn-ed-outline:hover { background: var(--ed-navy); color: var(--ed-cream); }

    /* ── Divisor ornamental ── */
    .ed-divider {
        display: flex; align-items: center; gap: .75rem;
        color: var(--ed-gold); font-size: 1rem; margin: 1rem auto;
    }
    .ed-divider::before, .ed-divider::after {
        content: ''; flex: 1; height: 1px; background: var(--ed-border);
    }

    /* ── Sección ── */
    .section-tag {
        font-family: 'DM Sans', sans-serif; font-size: .72rem;
        letter-spacing: .18em; text-transform: uppercase; color: var(--ed-gold);
    }
    .section-title {
        font-family: 'Cormorant Garamond', serif;
        font-size: clamp(1.8rem, 3.5vw, 2.6rem); font-weight: 600; color: var(--ed-navy);
    }
    .section-divider {
        width: 48px; height: 1.5px; background: var(--ed-gold);
    }

    /* ── Cards ── */
    .ed-card {
        background: #fff; border: 1px solid var(--ed-border);
        border-radius: 0; overflow: hidden; transition: box-shadow .25s;
    }
    .ed-card:hover { box-shadow: 0 6px 24px rgba(27,34,56,.10); }
    .ed-card img { transition: transform .4s ease; }
    .ed-card:hover img { transform: scale(1.04); }

    /* ── Navegación ── */
    .ed-navbar { background: var(--ed-cream); border-bottom: 1px solid var(--ed-border); }
    .ed-nav-link {
        font-size: .78rem; letter-spacing: .12em; text-transform: uppercase;
        color: var(--ed-navy) !important; text-decoration: none;
        padding: .4rem .75rem; transition: color .2s;
    }
    .ed-nav-link:hover { color: var(--ed-gold) !important; }

    /* ── Offcanvas ── */
    .offcanvas-menu { background: var(--ed-cream); }
    .offcanvas-nav-link {
        display: block; padding: .65rem 0; color: var(--ed-navy);
        text-decoration: none; font-size: .8rem; letter-spacing: .1em;
        text-transform: uppercase; border-bottom: 1px solid var(--ed-border);
    }
    .offcanvas-nav-link:hover { color: var(--ed-gold); }

    /* ── Footer ── */
    .ed-footer { background: var(--ed-navy); color: rgba(245,239,230,.75); }
    .ed-footer-heading {
        font-family: 'Cormorant Garamond', serif; font-size: 1.1rem;
        font-weight: 600; letter-spacing: .06em;
        color: var(--ed-cream); margin-bottom: .8rem;
    }
    .ed-footer a { color: rgba(245,239,230,.65); text-decoration: none; font-size: .85rem; display: block; margin-bottom: .3rem; }
    .ed-footer a:hover { color: var(--ed-gold-lt); }

    /* ── Fade-in ── */
    .fade-in-up {
        opacity: 0; transform: translateY(22px);
        transition: opacity .55s ease, transform .55s ease;
    }
    .fade-in-up.visible { opacity: 1; transform: none; }

    .line-2 {
        display: -webkit-box; -webkit-line-clamp: 2;
        -webkit-box-orient: vertical; overflow: hidden;
        min-height: 2.8em; line-height: 1.4em;
    }

    .accordion-button {
        background: var(--ed-light) !important; color: var(--ed-navy) !important;
        font-family: 'Cormorant Garamond', serif; font-size: 1.1rem;
    }
    .accordion-button:not(.collapsed) { color: var(--ed-gold) !important; }
