:root {
    --navy:#142238;
    --gold:#C5A36A;
    --ivory:#F8F5EF;
    --ink:#192a42
}* {
    box-sizing:border-box
}html {
    scroll-behavior:smooth
}body {
    margin:0;
    background:var(--ivory);
    color:var(--ink);
    font:16px/1.65 system-ui,-apple-system,Segoe UI,sans-serif
}a {
    color:inherit
}button {
    font:inherit;
    cursor:pointer
}header {
    background:var(--navy);
    color:white;
    position:relative;
    z-index:2
}.head {
    max-width:1260px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:12px 24px
}.logo {
    width:220px;
    max-width:50%;
    height:auto
}nav {
    display:flex;
    align-items:center;
    gap:24px
}nav a {
    font-size:13px;
    text-decoration:none
}nav a:hover,
.genre a:hover {
    text-decoration:underline
}.menu-btn {
    display:none;
    background:transparent;
    border:1px solid var(--gold);
    color:white;
    padding:8px 13px
}main {
    width:100%;
    margin:0
}.hero img {
    display:block;
    width:100%;
    height:auto
}.intro {
    text-align:center;
    padding:58px 20px 64px;
    max-width:960px;
    margin:auto
}.kicker {
    text-transform:uppercase;
    letter-spacing:.17em;
    font-size:12px;
    color:#8a6d40;
    font-weight:600
}h1,
h2,
h3 {
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    line-height:1.18
}h1 {
    font-size:clamp(33px,4.5vw,59px);
    margin:15px auto 20px
}h2 {
    font-size:clamp(29px,3.3vw,43px);
    margin:12px 0 18px
}.intro .lead {
    font-size:19px;
    max-width:800px;
    margin:0 auto 16px
}.intro .support {
    max-width:800px;
    margin:0 auto 27px
}.btn {
    display:inline-block;
    border:1px solid var(--gold);
    background:var(--navy);
    color:white;
    text-decoration:none;
    padding:12px 23px;
    font-size:14px;
    letter-spacing:.025em
}.btn:hover {
    background:#263b59
}.section {
    padding:55px 30px
}.section-head {
    text-align:center;
    max-width:870px;
    margin:0 auto 30px
}.section-head p {
    margin:0
}.genres {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:21px;
    max-width:1210px;
    margin:auto
}.genre {
    background:white;
    border:1px solid #e2d9c8;
    overflow:hidden
}.genre picture,
.genre img {
    display:block;
    width:100%
}.genre img {
    height:auto;
    aspect-ratio:2.772/1;
    object-fit:cover
}.genre-copy {
    padding:20px 20px 24px
}.genre h3 {
    font-size:26px;
    margin:0 0 9px
}.genre p {
    font-size:14px;
    margin:0 0 16px;
    min-height:68px
}.genre a {
    color:#866334;
    font-size:13px;
    font-weight:650;
    text-decoration:none
}.events {
    background:white
}.event-grid {
    max-width:1100px;
    margin:28px auto 0;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px
}.event-grid article {
    border-top:2px solid var(--gold);
    padding:20px 6px
}.event-grid h3 {
    font-size:25px;
    margin:0 0 10px
}.event-grid p {
    font-size:14px;
    margin:0
}.prose {
    max-width:850px;
    margin:auto;
    text-align:center
}.prose p {
    margin:14px 0
}.note {
    color:#615747;
    font-size:13px
}.cta {
    background:var(--navy);
    color:white;
    text-align:center;
    padding:65px 20px
}.cta h2 {
    color:white
}.cta p {
    max-width:760px;
    margin:0 auto 25px
}.cta .btn {
    background:var(--gold);
    color:var(--navy);
    font-weight:700
}.quote-panel {
    display:none;
    background:#fff;
    color:var(--navy);
    max-width:550px;
    margin:25px auto 0;
    text-align:left;
    padding:22px;
    border:1px solid var(--gold)
}.quote-panel.open {
    display:block
}.quote-panel label {
    display:block;
    font-size:13px;
    margin:10px 0 5px
}.quote-panel input,
.quote-panel select {
    width:100%;
    padding:10px;
    border:1px solid #bfb6a5;
    font:inherit
}.quote-panel button {
    margin-top:16px;
    padding:10px 14px;
    background:var(--navy);
    color:white;
    border:0
}.quote-panel .note {
    margin:12px 0 0;
    color:#544b3e
}footer {
    background:#0c1726;
    color:#eee;
    padding:45px max(24px,calc((100vw - 1150px)/2));
    display:grid;
    grid-template-columns:1.1fr 1fr 1fr;
    gap:35px
}footer h3 {
    font:600 14px system-ui;
    color:var(--gold);
    letter-spacing:.05em
}footer a {
    display:block;
    font-size:13px;
    text-decoration:none;
    margin:5px 0
}footer p {
    font-size:13px
}footer small {
    grid-column:1/-1;
    color:#bbb;
    border-top:1px solid #405064;
    padding-top:15px
}.status {
    font-size:12px;
    opacity:.85
}
@media(max-width:700px) {.head {
        padding:10px 15px;
        flex-wrap:wrap
    }.logo {
        width:175px
    }.menu-btn {
        display:block
    }nav {
        display:none;
        flex-basis:100%;
        flex-direction:column;
        align-items:stretch;
        gap:0
    }nav.open {
        display:flex
    }nav a {
        padding:10px 4px;
        border-top:1px solid #33435a
    }.intro {
        padding:36px 19px 42px
    }.intro .lead {
        font-size:17px
    }.section {
        padding:40px 13px
    }.genres {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px
    }.genre-copy {
        padding:12px 11px 16px
    }.genre h3 {
        font-size:19px
    }.genre p {
        font-size:12px;
        min-height:0
    }.genre a {
        font-size:12px
    }.event-grid {
        grid-template-columns:1fr;
        gap:6px
    }.event-grid article {
        padding:15px 5px
    }footer {
        grid-template-columns:1fr;
        gap:12px
    }.cta {
        padding:48px 17px
    }
}.editorial {
    background:#f3eddf
}.editorial .prose,
.events .prose {
    text-align:left
}.editorial .prose h2,
.events .prose h2 {
    text-align:center
}.editorial .prose .kicker,
.events .prose .kicker {
    text-align:center
}.editorial .prose p,
.events .prose p {
    margin:14px 0
}.whatsapp-cta {
    cursor:pointer
}.genre a:focus-visible,
.btn:focus-visible {
    outline:3px solid #C5A36A;
    outline-offset:3px
}:root {
    --navy:#142238;
    --gold:#D4AD62;
    --ivory:#F8F5EF;
    --ink:#142238
}body {
    color:var(--ink)
}header {
    box-shadow:0 3px 0 #D4AD62
}.kicker {
    color:#82601e;
    font-weight:750
}.intro h1,
.section h2 {
    color:#142238
}.btn {
    border-color:#D4AD62;
    background:#142238;
    color:#fff;
    font-weight:700;
    box-shadow:0 3px 0 rgba(212,173,98,.3)
}.btn:hover {
    background:#243c5c;
    border-color:#E2BF78
}.genre {
    border-color:#cbb98f;
    box-shadow:0 5px 20px rgba(20,34,56,.07)
}.genre h3 {
    color:#142238
}.genre a {
    color:#795313;
    font-weight:750
}.event-grid article {
    border-top:3px solid #D4AD62
}.editorial {
    background:#eee4d1
}.note {
    color:#504532
}.cta {
    background:#142238;
    border-top:4px solid #D4AD62
}.cta .btn {
    background:#D4AD62;
    color:#142238;
    border-color:#E5C47C;
    box-shadow:0 4px 0 #977338
}.cta .btn:hover {
    background:#E5C47C
}footer {
    background:#0b1524;
    border-top:3px solid #D4AD62
}footer h3 {
    color:#D4AD62
}.genre a:focus-visible,
.btn:focus-visible {
    outline-color:#D4AD62
}body {
    background:#FFFFFF
}.intro {
    background:#FFFFFF
}#agrupaciones {
    background:#F8F5EF
}#celebraciones {
    background:#FFFFFF
}#elegir-musica {
    background:#E9EDF1
}#cotizacion-musical {
    background:#FFFFFF
}#cobertura {
    background:#E9EDF1
}section.events:has(.kicker + h2) {
}#cobertura + .events {
    background:#FFFFFF
}.genre {
    background:#FFFFFF;
    border-color:#C7B78F
}.genre-copy {
    background:#FFFFFF
}.cta {
    background:#142238
}footer {
    background:#0B1524
}#elegir-musica .kicker,
#cobertura .kicker {
    color:#79591C
}.advice-action {
    display:flex;
    justify-content:center;
    align-items:center;
    margin:28px auto 0;
    width:100%;
    clear:both
}.advice-action .btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:100%;
    min-height:46px;
    text-align:center;
    white-space:normal;
    overflow-wrap:anywhere;
    background:#142238;
    color:#fff;
    border-color:#D4AD62
}#back-to-top {
    position:fixed;
    right:22px;
    bottom:22px;
    width:48px;
    height:48px;
    border-radius:50%;
    border:1px solid #D4AD62;
    background:#142238;
    color:#D4AD62;
    font-size:25px;
    line-height:1;
    z-index:30;
    box-shadow:0 3px 14px #0003;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s,visibility .2s;
    cursor:pointer
}#back-to-top.visible {
    opacity:1;
    visibility:visible;
    pointer-events:auto
}#back-to-top:focus-visible,
.advice-action .btn:focus-visible {
    outline:3px solid #D4AD62;
    outline-offset:3px
}
@media(max-width:700px) {.advice-action .btn {
        width:100%;
        max-width:390px;
        padding:13px 15px
    }.advice-action {
        padding:0 4px
    }#back-to-top {
        right:14px;
        bottom:14px;
        width:44px;
        height:44px
    }
}
@media(prefers-reduced-motion:reduce) {html {
        scroll-behavior:auto
    }#back-to-top {
        transition:none
    }
}
