:root{--burgundy:#8d1820;--burgundy-deep:#6f131b;--olive:#86975e;--olive-deep:#687f5b;--gold:#f0c767;--cream:#f9f6ed;--paper:#f7f2e9;--paper-deep:#eee8d9;--ink:#2b3529;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans','Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:128px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif)}p{line-height:1.6}::selection{background:#b38c80;color:#fff}:focus-visible{outline:2px solid var(--burgundy);outline-offset:4px}
.skip-link{position:fixed;top:-100px;left:15px;padding:12px 20px;background:#fff;z-index:500}.skip-link:focus{top:10px}
.paper-grain{pointer-events:none;position:fixed;inset:0;z-index:100;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='gr'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.81' numOctaves='2' seed='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23gr)' opacity='.42'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.event-ribbon{position:sticky;top:0;z-index:210;min-height:46px;background:var(--olive-deep);color:#fff9ed;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:4px clamp(15px,3.6vw,65px)}.event-ribbon__content{display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:.12em}.event-ribbon__content strong{font-size:10px;letter-spacing:.14em}.event-ribbon__detail{color:#f7eddb}.event-ribbon__star{font-size:18px;color:#f1ca6a}.event-ribbon__buy{background:var(--burgundy);padding:10px 21px;color:#fff;font-size:10px;letter-spacing:.12em;font-weight:700;white-space:nowrap;transition:background .25s}.event-ribbon__buy:hover{background:#66151b}.event-ribbon__buy span{margin-left:8px}
.event-header{position:sticky;top:46px;height:80px;z-index:200;background:rgba(248,243,233,.97);border-bottom:1px solid #ddcfba;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px clamp(18px,4.5vw,70px)}.event-header__brand{display:flex;gap:13px;align-items:center;min-width:255px}.event-header__brand img{width:57px;height:57px;object-fit:contain}.event-header__brand span{font-size:9px;letter-spacing:.17em;line-height:1.6;font-weight:500}.event-header__brand strong{font:600 21px/1 var(--serif);display:block;letter-spacing:.02em}.event-header__nav{display:flex;gap:clamp(17px,3vw,42px)}.event-header__nav a,.event-header__back{font-size:10px;font-weight:700;letter-spacing:.12em;white-space:nowrap}.event-header__nav a:hover,.event-header__back:hover{color:var(--burgundy)}.event-header__back{border-bottom:1px solid #bcae99;padding-bottom:6px}.event-header__back span{color:var(--burgundy)}
.overline{letter-spacing:.20em;font-size:10px;font-weight:700}.festival-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;text-align:center;font-size:10px;letter-spacing:.13em;font-weight:700;padding:19px 24px;border:1px solid var(--burgundy);transition:transform .25s,background .25s,color .25s}.festival-button:hover{transform:translateY(-2px)}.festival-button--red{background:var(--burgundy);color:#fff}.festival-button--red:hover{background:var(--burgundy-deep)}.festival-button--outline{color:var(--burgundy);background:transparent}.festival-button--outline:hover{background:#ece3d7}
.festival-hero{position:relative;background:#f7f4eb;isolation:isolate;overflow:hidden}.festival-hero__wash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 25% 16%,rgba(188,170,122,.12),transparent 37%),radial-gradient(circle at 82% 90%,rgba(160,125,100,.09),transparent 44%)}.festival-hero__inner{position:relative;max-width:1550px;min-height:745px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(25px,3.5vw,65px);align-items:center;padding:clamp(28px,4vw,55px) clamp(28px,7vw,110px) clamp(40px,5vw,76px)}
.festival-hero__copy{position:relative;z-index:2;max-width:750px}.festival-hero__overline{display:flex;gap:12px;align-items:center;letter-spacing:.18em;color:#596c4c;font-size:10px;font-weight:700;margin-bottom:30px}.festival-hero__line{width:30px;height:1px;background:#a9b194}.festival-hero h1{font-size:clamp(104px,10.9vw,198px);line-height:.64;letter-spacing:-.087em;color:var(--burgundy);margin:0 0 30px;font-weight:600;text-transform:uppercase}.festival-hero h1 span{letter-spacing:-.078em}.festival-hero__subtitle{color:var(--burgundy);font:600 clamp(22px,3.5vw,44px)/1 var(--serif);letter-spacing:.12em;margin:0 0 27px}.festival-hero__seal{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#e6e6d8;border-left:4px solid var(--olive);width:max-content;max-width:100%;font-size:9px;letter-spacing:.13em;line-height:1.4;color:#586c4f;margin:0 0 22px}.festival-hero__seal-star{font-size:30px;color:var(--burgundy)}.festival-hero__seal strong{color:var(--burgundy)}.festival-hero__lead{max-width:570px;font-family:var(--serif);font-size:clamp(22px,2vw,29px);line-height:1.18;color:#4c5849;margin-bottom:27px}.festival-hero__date{display:flex;align-items:center;gap:17px;border-top:1px solid #d9cebc;border-bottom:1px solid #d9cebc;padding:11px 0;margin-bottom:25px;max-width:580px}.festival-hero__date>span{font:600 72px/.8 var(--serif);color:var(--burgundy)}.festival-hero__date strong{display:block;color:#536b4c;font-size:12px;letter-spacing:.16em}.festival-hero__date small{display:block;color:#796d5d;font-size:10px;letter-spacing:.12em;margin-top:6px}.festival-hero__actions{display:flex;flex-wrap:wrap;gap:10px}.festival-hero__small{font-size:10px;font-weight:700;letter-spacing:.12em;color:#846353;margin:18px 0 0}.festival-hero__small span{padding:0 7px;color:#b69277}
.festival-hero__visual{min-width:0;position:relative}.festival-hero__poster{margin:auto;width:min(100%,570px);border:9px solid #fcf9f0;box-shadow:0 25px 65px rgba(40,41,30,.19);transform:rotate(1.6deg)}.festival-hero__poster img{width:100%;height:auto;object-fit:contain}.festival-hero__ornament{position:absolute;color:var(--burgundy);font-size:104px;bottom:-23px;left:-24px;transform:rotate(-16deg)}
.festival-rail{background:var(--burgundy);color:#fff7ed;padding:18px 20px;display:flex;gap:clamp(12px,2.7vw,46px);align-items:center;justify-content:center;flex-wrap:wrap;font-size:10px;font-weight:700;letter-spacing:.2em;text-align:center}.festival-rail>span:first-child,.festival-rail>span:last-child{color:var(--gold);font-size:24px}.festival-rail__divider{opacity:.6}
.section-heading{max-width:850px}.section-heading--center{margin:0 auto 52px;text-align:center}.section-heading h2{font-size:clamp(65px,7vw,108px);line-height:.82;letter-spacing:-.055em;color:var(--burgundy);margin:18px 0 21px}.section-heading h2 em{color:#68805a}.section-heading>p:last-child{max-width:600px;margin:0 auto;color:#657263;font-size:15px}.section-heading .overline{color:#74895e}.section-heading .overline span{color:var(--burgundy);margin:0 5px}
.artists-section{padding:clamp(70px,7vw,110px) clamp(22px,5vw,75px) clamp(86px,9vw,130px);background:#fbf7ed}.artists-section__grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(15px,4vw,55px)}.artist-card{margin:0;min-width:0}.artist-card__image{background:#f7f2e7;box-shadow:0 16px 45px rgba(44,47,32,.11);border:8px solid #fff;overflow:hidden}.artist-card__image img{width:100%;height:auto;max-height:580px;object-fit:contain;transition:transform .55s ease}.artist-card:hover img{transform:scale(1.02)}.artist-card__meta{padding:22px 12px 0;color:#4d5e4c}.artist-card__meta>span{color:#9a693d;font-size:10px;letter-spacing:.15em;font-weight:700}.artist-card__meta h3{font:600 clamp(41px,4vw,61px)/1 var(--serif);color:var(--burgundy);margin:11px 0 10px}.artist-card__meta p{font-size:14px;color:#657361}
.festive-info{background:#87965e;color:#fff;padding:clamp(60px,7vw,105px) clamp(20px,7vw,120px);position:relative;overflow:hidden}.festive-info::before{content:none;position:absolute;font:normal 390px/1 Georgia,serif;opacity:.075;right:-80px;top:-35px;color:#fff;pointer-events:none}.festive-info__heading{max-width:1100px;margin:0 auto 42px}.festive-info__heading .overline{color:#fff1cd}.festive-info__heading h2{font-size:clamp(68px,7vw,103px);font-weight:500;line-height:.84;margin:12px 0 0;color:#fff6e5}.festive-info__heading em{color:#f6c769}.festive-info__rows{max-width:1100px;margin:auto;border-top:1px solid rgba(255,255,255,.64)}.festive-info__row{border-bottom:1px solid rgba(255,255,255,.64);padding:27px 5px;display:grid;grid-template-columns:65px minmax(0,1fr) 60px;align-items:center;gap:15px}.festive-info__num{font-size:10px;letter-spacing:.2em;color:#f5e2bb}.festive-info__row h3{font:700 clamp(23px,3vw,38px)/1 var(--sans);letter-spacing:.015em;color:#f3c76a;margin:0 0 8px}.festive-info__row p{color:#fff;font-size:clamp(12px,1.6vw,16px);line-height:1.4;margin:0}.festive-info__icon{font-size:32px;color:#f5c66f;opacity:.8;text-align:right}
.music-strip{background:#f6f1e7;padding:clamp(55px,7vw,105px) clamp(22px,5vw,80px)}.music-strip__inner{max-width:1250px;margin:auto;display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);align-items:center;gap:clamp(25px,5vw,70px)}.music-strip__copy h2{font-size:clamp(65px,7vw,110px);line-height:.8;color:var(--burgundy);margin:15px 0 25px}.music-strip__copy em{color:#70835b}.music-strip__copy .overline{color:#6f855d}.music-strip__copy>p:last-child{font-size:15px;color:#6b725f;max-width:270px}.music-strip__photos{display:grid;grid-template-columns:1.07fr .93fr;grid-template-rows:repeat(2,180px);gap:10px}.music-strip__photos img{height:100%;width:100%;object-fit:cover;border-radius:2px}.music-strip__photos img:first-child{grid-row:1/3}.music-strip__photos img:nth-child(2){object-position:center 35%}
.ticket-section{padding:clamp(77px,8vw,125px) 24px;background:#f9f5e9;text-align:center;position:relative;overflow:hidden}.ticket-section__ornament{position:absolute;font-size:330px;color:rgba(142,28,34,.035);left:-70px;top:20px;pointer-events:none}.ticket-section .section-heading{position:relative}.ticket-section__prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:790px;margin:0 auto 29px;gap:13px}.ticket-price{padding:26px 18px 18px;border:1px solid #cfbba7;background:#fffdf7;text-align:center}.ticket-price span{display:block;font-size:10px;letter-spacing:.16em;font-weight:700;color:#667850;min-height:26px}.ticket-price strong{display:block;font:600 108px/.9 var(--serif);color:var(--burgundy);margin:12px 0 6px}.ticket-price strong small{font-size:49px}.ticket-section__buy{min-width:min(100%,420px)}.ticket-section__note{font-size:11px;color:#766f5d;margin:16px 0 0}
.location-section{background:#eee8da;padding:clamp(60px,6vw,100px) clamp(25px,7vw,110px)}.location-section__inner{max-width:1170px;margin:auto;display:grid;grid-template-columns:1fr .65fr;gap:50px;align-items:center}.location-section__left h2{font-size:clamp(65px,6vw,96px);line-height:.86;color:var(--burgundy);margin:20px 0 28px}.location-section__left h2 em{color:#6d855e}.location-section__left .overline{color:#6e855d}.location-section__left>p:not(.overline){font-size:15px;color:#536552}.location-section__parking{font-size:10px!important;font-weight:700;letter-spacing:.11em;margin-top:23px}.location-section__right{display:flex;flex-direction:column;align-items:center;gap:25px}.location-section__right img{width:min(70%,260px)}.location-section__right a{color:var(--burgundy);font-size:10px;font-weight:700;letter-spacing:.17em;padding:12px 0;border-bottom:1px solid var(--burgundy)}.festival-footer{display:flex;gap:15px;justify-content:space-between;align-items:center;padding:25px clamp(25px,6vw,85px);background:var(--burgundy);color:#fdf5eb;font-size:9px;letter-spacing:.13em;font-weight:700}.festival-footer a:hover{color:var(--gold)}.mobile-ticket{display:none}
@media(max-width:1140px){.event-header__nav{display:none}.festival-hero__inner{padding:42px 30px 55px;min-height:620px}.festival-hero h1{font-size:clamp(90px,11vw,155px)}.festival-hero__subtitle{font-size:clamp(22px,2.5vw,34px)}.festival-hero__lead{font-size:23px}.festival-hero__poster{max-width:430px}}
@media(max-width:780px){html{scroll-padding-top:114px}.event-ribbon{min-height:44px;padding:4px 14px}.event-ribbon__content{gap:8px}.event-ribbon__detail{display:none}.event-ribbon__buy{padding:10px 12px;font-size:9px}.event-header{top:44px;height:70px;padding:9px 18px}.event-header__brand{min-width:0}.event-header__brand img{width:45px;height:45px}.event-header__brand span{font-size:8px}.event-header__brand strong{font-size:18px}.event-header__back{font-size:9px}.festival-hero__inner{grid-template-columns:1fr;padding:48px 25px 50px;gap:45px}.festival-hero__copy{max-width:700px}.festival-hero h1{font-size:clamp(92px,18vw,145px)}.festival-hero__poster{width:min(88%,570px)}.festival-hero__ornament{left:0}.artists-section__grid{gap:18px}.artist-card__meta h3{font-size:42px}.festive-info__row{grid-template-columns:40px minmax(0,1fr) 35px}.music-strip__inner{grid-template-columns:1fr}.music-strip__copy>p:last-child{max-width:500px}.music-strip__photos{grid-template-rows:repeat(2,190px)}.location-section__inner{grid-template-columns:1fr;gap:15px}.location-section__right{align-items:flex-start}.location-section__right img{width:220px}.festival-footer{flex-wrap:wrap;justify-content:center;text-align:center}}
@media(max-width:530px){html{scroll-padding-top:100px}.event-ribbon{min-height:42px}.event-ribbon__content strong{font-size:9px;letter-spacing:.03em}.event-ribbon__star{display:none}.event-ribbon__buy{font-size:9px;white-space:nowrap;letter-spacing:0;padding:10px 9px}.event-ribbon__buy span{display:none}.event-header{top:42px;height:63px;padding:6px 14px}.event-header__brand img{width:39px;height:39px}.event-header__brand span{font-size:7px}.event-header__brand strong{font-size:15px}.event-header__back{font-size:8px;letter-spacing:0}.event-header__back span{display:none}.festival-hero__inner{padding:34px 19px 45px;gap:34px}.festival-hero__overline{font-size:8px;gap:8px;margin-bottom:28px}.festival-hero__line{width:18px}.festival-hero h1{font-size:clamp(83px,19.8vw,112px);margin-bottom:24px}.festival-hero__subtitle{font-size:23px;letter-spacing:.08em;margin-bottom:20px}.festival-hero__seal{font-size:8px;margin-bottom:17px}.festival-hero__seal-star{font-size:23px}.festival-hero__lead{font-size:22px;max-width:100%;margin-bottom:20px}.festival-hero__date>span{font-size:61px}.festival-hero__date strong{font-size:10px}.festival-hero__date small{font-size:9px}.festival-hero__actions{flex-direction:column}.festival-button{padding:17px 16px;width:100%}.festival-hero__small{font-size:8px}.festival-hero__poster{width:92%;border-width:5px}.festival-rail{font-size:9px;gap:9px;padding:14px}.festival-rail__divider,.festival-rail>span:first-child,.festival-rail>span:last-child{display:none}.section-heading h2{font-size:62px}.section-heading>p:last-child{font-size:13px}.artists-section{padding:64px 19px 70px}.artists-section__grid{grid-template-columns:1fr;gap:45px}.artist-card__image img{max-height:none}.artist-card__meta{padding:15px 4px 0}.artist-card__meta h3{font-size:45px}.festive-info{padding:64px 19px 76px}.festive-info__heading h2{font-size:63px}.festive-info__row{grid-template-columns:25px minmax(0,1fr);gap:11px;padding:20px 0}.festive-info__row h3{font-size:23px}.festive-info__row p{font-size:12px}.festive-info__icon{display:none}.music-strip{padding:58px 19px}.music-strip__copy h2{font-size:69px}.music-strip__photos{grid-template-columns:1fr 1fr;grid-template-rows:135px 135px;gap:6px}.ticket-section{padding:67px 15px}.ticket-section__prices{gap:8px}.ticket-price{padding:20px 7px 11px}.ticket-price span{font-size:8px;letter-spacing:.06em}.ticket-price strong{font-size:81px}.ticket-price strong small{font-size:36px}.ticket-section__buy{min-width:0}.location-section{padding:65px 21px}.location-section__left h2{font-size:65px}.festival-footer{padding:22px 20px 88px;font-size:8px}.mobile-ticket{display:flex;align-items:center;justify-content:space-between;position:fixed;left:12px;right:12px;bottom:12px;z-index:180;background:var(--burgundy);color:#fff;font-size:11px;font-weight:700;letter-spacing:.11em;padding:16px 22px;box-shadow:0 15px 35px rgba(55,15,19,.25);border:1px solid rgba(255,255,255,.18)}.mobile-ticket span{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.festival-hero__poster,.artist-card img{transform:none}.festival-button{transition:none}}

/* Ajuste para móviles estrechos: evitar que la dirección ensanche el grid. */
.location-section__left,.location-section__right{min-width:0}
@media(max-width:780px){.location-section__inner{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){.location-section__left h2{font-size:clamp(49px,16vw,58px);overflow-wrap:break-word}}

/* V6.8 · Iconografía tipográfica neutral; en iOS se evitan glifos emoji multicolor. */
 .festival-hero__ornament,.ticket-section__ornament,.event-ribbon__star,.festival-hero__seal-star,.festive-info__icon{display:none!important}
 .festive-info::before{content:none!important;display:none!important}
 .festival-hero__seal{gap:0}
 .event-ribbon__buy,.festival-button,.mobile-ticket{font-variant-emoji:text}
