/* Festival Maya Guatemalteco 2027 theme (on top of app.css). Palette, type and textures from the festival site
   (festival.comitededesarrollomayalosangeles.com, línea «Barrilete»): flat color, square corners, 1px rules. */
:root{
  --ink:#1B1530; --ink-2:#2E2250; --slate:#6b6575; --slate-2:#9d97a6; --line:#E3DFEA; --line-2:#F4F2F7;
  --bg:#FBFAF7; --paper:#fff;
  --cobalt:#D3245F; --cobalt-2:#B01D4F; --cobalt-soft:#FBE3EC;      /* primary action: fair red-orange */
  --citron:#FFC428; --citron-soft:#FFF3CF;                           /* highlight: fair yellow */
  --maya-lago:#00A19A; --maya-cielo:#2457A6; --maya-morado:#7A2E8E; --maya-naranja:#F26B1D;
  --head:"Bebas Neue","Arial Narrow",sans-serif; --body:"Barlow Condensed","Arial Narrow",sans-serif; --mono:"Barlow Condensed","Arial Narrow",sans-serif;
}
/* jaspe stripe (the woven band from the festival site) */
.stripe{height:8px;background:linear-gradient(90deg,#D3245F 0 11.1%,#FFC428 0 22.2%,#00A19A 0 33.3%,#2457A6 0 44.4%,#00A19A 0 55.5%,#7A2E8E 0 66.6%,#F26B1D 0 77.7%,#D3245F 0 88.8%,#FFC428 0)}
.top{background:#1B1530;border-bottom:0;color:#fff}
.top .wrap{height:68px}
.brand img{height:46px}
.brand .tag{color:#FFC428;border-left-color:rgba(255,255,255,.18);font-weight:700;letter-spacing:.14em}
.top-btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.demo-bar{background:#FFC428}
h1,h2,h3,h4{font-weight:900;letter-spacing:-.025em}
.mono,.eyebrow,.step-count,.tier .left,.tier-tag,.kpi span,.fx-welcome{font-weight:800;letter-spacing:.12em}
.hero{background:#1B1530}
.hero::after{background:radial-gradient(circle,#FFC428 0 40%,#D3245F 41% 60%,transparent 61%)}
.hero .hero-tag{color:#FFC428}
.btn-citron{background:#FFC428;color:#1B1530}
.btn-cobalt{box-shadow:0 8px 20px rgba(211,36,95,.28)}
.tier.featured{background:linear-gradient(160deg,#2E2250,#1B1530 60%);box-shadow:0 0 0 2px #FFC428,0 20px 50px rgba(211,36,95,.25)}
.tier li::before{background-color:#FFC428}
.how .num{background:#FFC428}
.booked{background:radial-gradient(600px 200px at 50% 0,rgba(255,196,40,.35),transparent),#fff}
.step-dots i.on,.progress i{background:#D3245F}
.timer{background:#FFC428}
.agent-hero{background:radial-gradient(700px 260px at 90% 0,rgba(255,196,40,.3),transparent),linear-gradient(160deg,#2E2250,#1B1530 60%)}
footer.foot{background:#1B1530;color:#cfcbd6;border-top:0}
footer.foot .wrap{gap:16px}
footer.foot .powered{display:flex;align-items:center;gap:8px;color:#cfcbd6;text-decoration:none;font-size:13px}
footer.foot .powered img{height:18px;opacity:1}
/* portal: festival colors, logo instead of the rabbit */
.fx-portal{background:radial-gradient(circle at 50% 40%,#2E2250 0%,#1B1530 62%)}
.fx-rings span{border-color:#FFC428;box-shadow:0 0 40px rgba(255,196,40,.55),inset 0 0 40px rgba(255,196,40,.25)}
.fx-rings span:nth-child(2){border-color:#00A19A;box-shadow:0 0 40px rgba(0,161,154,.55)}
.fx-rings span:nth-child(3){border-color:#D3245F;box-shadow:0 0 40px rgba(211,36,95,.5)}
.fx-rabbit{width:200px;margin:-56px 0 0 -100px;border-radius:16px;animation:wheelin 1.4s cubic-bezier(.3,1.4,.4,1) both}
@keyframes wheelin{0%{transform:scale(.2) rotate(-200deg);opacity:0}100%{transform:none;opacity:1}}
.fx-enter{background:#FFC428}
.fx-title{background:linear-gradient(90deg,#fff,#FFC428,#D3245F,#fff);background-size:200% 100%;-webkit-background-clip:text;background-clip:text}

/* ===================== Guatemalan dressing ===================== */
:root{--gt-blue:#2457A6;--gt-red:#D3245F;--gt-green:#00A19A}
.stripe{height:14px;background:url(/img/maya/jaspe.svg) repeat-x center/auto 100%}
.gt-band{position:absolute;left:0;right:0;bottom:0;height:22px;background:url(/img/maya/jaspe.svg) repeat-x center/auto 100%;z-index:3}
body{background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cpath d='M40 30 L50 40 L40 50 L30 40Z' fill='none' stroke='%23E3DFEA' stroke-width='1.2'/%3E%3C/svg%3E")}

/* entrance: dawn over the volcanoes, kites in the sky, a quetzal crossing */
.fx-portal{background:linear-gradient(180deg,#1B1530 0%,#7A2E8E 32%,#F26B1D 62%,#FFC428 78%,#f9d27a 100%)}
.gt-sky{position:absolute;inset:0;overflow:hidden}
.gt-sun{position:absolute;left:50%;top:62%;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;background:radial-gradient(circle,#fff3c4 0 30%,#ffd166 31% 52%,rgba(255,209,102,0) 70%);animation:sunrise 2.4s ease-out both}
@keyframes sunrise{from{transform:translateY(80px);opacity:.3}to{transform:none;opacity:1}}
.gt-kite{position:absolute;left:var(--x);top:var(--y);transform-origin:50% 0;animation:sway var(--t) ease-in-out var(--d) infinite alternate;filter:drop-shadow(0 6px 10px rgba(0,0,0,.25))}
.gt-kite svg{display:block}
.gt-tail{position:absolute;left:50%;top:92%;width:2px;height:120px;background:linear-gradient(#fff,rgba(255,255,255,0));opacity:.7}
@keyframes sway{from{transform:rotate(calc(var(--r) - 6deg)) translateY(0)}to{transform:rotate(calc(var(--r) + 6deg)) translateY(-14px)}}
.gt-volcanoes{position:absolute;left:0;right:0;bottom:0;width:100%;height:34vh;z-index:2}
.gt-smoke circle{fill:rgba(255,255,255,.55);animation:puff 3.2s ease-out infinite}
.gt-smoke circle:nth-child(2){animation-delay:.5s}.gt-smoke circle:nth-child(3){animation-delay:1s}
@keyframes puff{0%{transform:translate(0,0) scale(.6);opacity:0}30%{opacity:.8}100%{transform:translate(18px,-30px) scale(1.4);opacity:0}}
.gt-flyby{position:absolute;top:18%;left:-200px;z-index:3;animation:flyby 6s 0.6s ease-in-out both}
@keyframes flyby{0%{transform:translate(0,0)}50%{transform:translate(60vw,-30px)}100%{transform:translate(120vw,10px)}}
.gt-quetzal .gt-wing{transform-origin:48px 56px;animation:flap .35s ease-in-out infinite alternate}
@keyframes flap{to{transform:rotate(-22deg)}}
.gt-portal-text{z-index:4;margin-top:0!important;padding-bottom:12vh}
.gt-portal-logo{width:min(78vw,380px);height:auto;margin:0 auto 10px;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.4);animation:wheelin 1.2s cubic-bezier(.3,1.4,.4,1) both}
.gt-portal-text .fx-welcome{font-size:clamp(20px,5vw,30px);letter-spacing:.02em;text-transform:none;color:#fff;font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.gt-portal-text .fx-sub{color:#fff;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.fx-portal .fx-rings,.fx-portal .fx-stars,.fx-portal .fx-rabbit{display:none}
.fx-enter{background:#fff;color:#1B1530;box-shadow:0 10px 30px rgba(0,0,0,.25)}

/* hero: kites over the fair photo, volcano skyline, woven band */
.hero{padding-bottom:calc(clamp(24px,5vw,56px) + 70px)}
.hero .gt-hero-kites{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.hero .gt-hero-kites .gt-kite{opacity:.92}
.hero .gt-hero-kites .gt-tail{height:70px}
.hero .gt-volcanoes{height:90px;z-index:1;opacity:.95}
.hero .gt-band{z-index:2;height:16px}
.hero .sparks{display:none}
.hero-actions,.highlights,.hero h1,.hero p,.hero .hero-facts,#countdown{position:relative;z-index:2}
.hero-logo{height:96px}

/* quetzal occasionally crossing the event page */
.gt-cross{position:fixed;top:22%;left:-180px;z-index:20;pointer-events:none;animation:flyby 7s ease-in-out forwards}

/* loading: a spinning barrilete */
.spinner{width:64px;height:64px;border:0;border-radius:0;background:none;margin:70px auto;animation:spin 2.4s linear infinite}

/* booked: kites celebrate */
.booked{position:relative;overflow:hidden;background:linear-gradient(180deg,#FFF3CF,#fff 70%)}
.booked .gt-kites-mini{position:absolute;inset:0;pointer-events:none}
.booked .gt-kites-mini .gt-kite .gt-tail{height:50px}
.booked>*:not(.gt-kites-mini){position:relative;z-index:1}
.big-check-icon{background:var(--gt-green)}

/* map: Arco de Santa Catalina entrance */
.gt-arch text{pointer-events:none}

/* small touches */
.card,.big-choice,.todo,.extra{border-color:#E3DFEA}
.section .h2::after,.page>section>.h2::after{content:"";display:block;width:72px;height:10px;margin-top:8px;background:url(/img/maya/jaspe.svg) repeat-x left/auto 100%;border-radius:3px}
.tier.featured{background:linear-gradient(160deg,#00A19A,#00635E 70%);box-shadow:0 0 0 3px #FFC428,0 20px 50px rgba(0,161,154,.35)}
.tier.featured .muted,.tier.featured .tier-tag{color:#DDF3F1}
footer.foot{background:#1B1530 url(/img/maya/jaspe.svg) repeat-x top/auto 20px;padding-top:34px}
footer.foot .love{display:block;font-size:14px;color:#FFC428;font-weight:700;margin-top:4px}
.hero .gt-hero-kites{left:52%}
@media (max-width:700px){.hero .gt-hero-kites{left:40%;opacity:.8}}
.hero .gt-volcanoes{height:110px;opacity:1}
.hero .gt-volcanoes path:nth-child(2){opacity:.95}
.hero .gt-volcanoes{height:clamp(150px,24vw,230px)}
.hero{padding-bottom:calc(clamp(24px,5vw,56px) + 90px)}
/* the quetzal is drawn facing left; flip it so it faces the way it flies (left → right) */
.gt-flyby .gt-quetzal,.gt-cross .gt-quetzal{transform:scaleX(-1)}

/* booth types (no map yet) */
.type-card{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:#fff;border:2px solid #E3DFEA;border-radius:var(--r);padding:16px}
.type-card .swatch{width:14px;height:56px;border-radius:7px;margin:0}
.type-card .info{flex:1;min-width:200px;display:grid;gap:3px}
.type-card .info b{font-size:19px}
.type-card .info p{margin:2px 0 4px;color:var(--slate);font-size:15px}
.type-card.off{opacity:.75}
.booth-group-food .h2{color:#B01D4F}
.booth-group-general .h2{color:#2457A6}
.inquire{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.inquire b{font-size:18px}
.type-card .pill{justify-self:start}

/* ---------- event page sections */
.lineup{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px 14px;padding:4px 0 6px}
.artist{scroll-snap-align:start;display:grid;gap:3px}
.artist .ph{position:relative;aspect-ratio:1;border-radius:18px;background:linear-gradient(150deg,#2457A6,#2E2250) center/cover;box-shadow:0 10px 24px rgba(27,21,48,.18);display:grid;place-items:center;overflow:hidden}
.artist .ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:url(/img/maya/jaspe.svg) repeat-x center/auto 100%}
.artist .ini{font:900 46px var(--head);color:#FFC428;letter-spacing:-.02em}
.artist b{font-size:16px;line-height:1.2;margin-top:6px}
.artist span{font-size:13px;color:var(--slate)}
.artist small{font-size:10px;color:var(--slate-2)}
.artist.head{grid-column:span 2;grid-auto-columns:auto}
.artist.head .ph{background:radial-gradient(circle at 30% 20%,#FFC428,#D3245F 45%,#2E2250 100%) center/cover;box-shadow:0 0 0 3px #FFC428,0 14px 30px rgba(211,36,95,.35)}
.artist.head .ini{font-size:84px;color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.3)}
.artist.head b{font-size:20px}
.artist .tag{position:absolute;top:10px;left:10px;background:#FFC428;color:#1B1530;font:800 12px var(--body);padding:4px 10px;border-radius:999px}
.artist.more .ph{background:repeating-linear-gradient(45deg,#FBFAF7 0 10px,#F4F2F7 10px 20px);box-shadow:none;border:2px dashed #E3DFEA}
.artist.more .ini{color:#D3245F}
.zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
.zone{background:#fff;border:1.5px solid #E3DFEA;border-radius:var(--r);padding:16px}
.zone .zi{font-size:30px;display:block;margin-bottom:6px}
.zone b{font-size:17px;display:block}
.zone p{margin:4px 0 0;color:var(--slate);font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chips span{background:#FBFAF7;border:1px solid #E3DFEA;border-radius:999px;padding:6px 12px;font-weight:700;font-size:14px}
.journey{list-style:none;padding:0;margin:0;display:grid;gap:0;counter-reset:j}
.journey li{counter-increment:j;position:relative;padding:0 0 22px 58px;display:grid;gap:2px}
.journey li::before{content:counter(j);position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:#FFC428;color:#1B1530;display:grid;place-items:center;font:900 18px var(--head);z-index:1}
.journey li::after{content:"";position:absolute;left:19px;top:40px;bottom:0;width:2px;background:repeating-linear-gradient(#E3DFEA 0 6px,transparent 6px 12px)}
.journey li:last-child::after{display:none}
.journey li:last-child::before{content:"🎡";background:#D3245F}
.journey b{font-size:18px;padding-top:7px}
.journey span{color:var(--slate)}
.faq{display:grid;gap:10px}
.faq details p{margin:10px 0 0;color:var(--ink-2);font-size:16px;line-height:1.5}
.ev-cta{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:10px;justify-content:center;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(27,21,48,.94);backdrop-filter:blur(10px);transform:translateY(110%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.ev-cta.show{transform:none}
.ev-cta .btn{flex:1;max-width:320px;min-height:52px}
body:has(.ev-cta.show) .help-fab{bottom:calc(84px + env(safe-area-inset-bottom))}
.lineup{align-items:start}
.artist.head{grid-row:span 1}
.artist.head .ph{aspect-ratio:2/1.02}
.zones{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.zones{grid-template-columns:repeat(2,minmax(0,1fr))}}

.custom-card{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,#2E2250,#1B1530 70%);color:#fff;border-radius:var(--r-l);padding:22px;position:relative;overflow:hidden}
.custom-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:url(/img/maya/jaspe.svg) repeat-x center/auto 100%}
.custom-card .cc-icon{font-size:44px}
.custom-card .t{flex:1;min-width:240px}
.custom-card h3{font-size:24px;color:#FFC428}
.custom-card p{margin:6px 0 0;color:#e2deea;font-size:16px}
/* Event info + why sponsor */
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.ev-info{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;min-width:0}
.ev-info .ic{font-size:26px;line-height:1}
.ev-info div{display:grid;gap:3px;min-width:0}
.ev-info b{font-size:16px}
.ev-info span{font-size:14px;color:var(--slate)}
.ev-info a{font-weight:700;font-size:14px;color:#D3245F;text-decoration:none}
.ev-info .social a{color:inherit;text-decoration:underline}
.why-h{margin:24px 0 10px;font-size:19px}
.ws-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.ws-grid.three{grid-template-columns:repeat(3,1fr)}
.ws{background:#1B1530;color:#fff;border-radius:16px;padding:14px;display:grid;gap:4px}
.ws b{font:900 30px var(--head,inherit);color:#FFC428;letter-spacing:-.02em}
.ws span{font-size:13px;color:#d6d3e0;line-height:1.35}
.card .ws{background:#FBFAF7;color:inherit}.card .ws b{color:#D3245F;font-size:26px}.card .ws span{color:var(--slate)}
.cov,.ticks{margin:12px 0 0;padding-left:18px;display:grid;gap:6px;font-size:14px}
.ticks{list-style:'✓  '}
.camp{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cp{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cp header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;color:#fff}
.cp:nth-child(1) header{background:#F26B1D}.cp:nth-child(2) header{background:#00A19A}.cp:nth-child(3) header{background:#D3245F}
.cp header span{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.9}
.cp em{display:block;font-style:normal;font-weight:800;padding:10px 14px 0}
.cp ul{margin:6px 0 12px;padding:0 14px 0 30px;display:grid;gap:4px;font-size:14px;color:var(--slate)}
.gets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gt-i{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:4px}
.gt-i span{font-size:24px}.gt-i p{margin:0;font-size:14px;color:var(--slate)}
.chips.past span{background:#fff}
@media (max-width:700px){.gets{grid-template-columns:1fr 1fr}.camp{grid-template-columns:1fr}.ws-grid.three{grid-template-columns:repeat(3,1fr)}}
/* Print shop page (festival-branded front door to the print store) */
.pr-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#2E2250,#2457A6 60%,#F26B1D);color:#fff;border-radius:0 0 28px 28px;padding:22px 24px 46px;display:grid;gap:10px;margin:0 -16px 8px}
.pr-hero h1{margin:4px 0 0;font:900 clamp(32px,5vw,48px) var(--head,inherit);letter-spacing:-.02em;text-wrap:balance}
.pr-hero p{margin:0;max-width:560px;font-size:18px;color:#efe9ff}
.pr-hero .back{text-decoration:none;font-weight:700}
.pr-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;position:relative;z-index:1}
.pr-hero .gt-band{position:absolute;left:0;right:0;bottom:0;height:14px;background:url(/img/maya/jaspe.svg) repeat-x center/auto 100%}
.pr-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;counter-reset:ps}
.pr-steps li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:4px;counter-increment:ps}
.pr-steps li::before{content:counter(ps);width:30px;height:30px;border-radius:50%;background:#D3245F;color:#fff;display:grid;place-items:center;font-weight:900}
.pr-steps span{font-size:14px;color:var(--slate)}
.pr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pr-card{position:relative;display:grid;gap:6px;align-content:start;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;text-decoration:none;color:inherit;overflow:hidden;transition:transform .15s,box-shadow .15s}
.pr-card::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:url(/img/maya/jaspe.svg) repeat-x center/auto 100%}
.pr-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(27,21,48,.12)}
.pr-ic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:28px;margin-top:6px}
.pr-card.c0 .pr-ic{background:#FBE3EC}.pr-card.c1 .pr-ic{background:#FFF3CF}.pr-card.c2 .pr-ic{background:#D9F1EF}.pr-card.c3 .pr-ic{background:#DFE7F4}.pr-card.c4 .pr-ic{background:#EFE1F3}
.pr-card b{font-size:18px}.pr-card p{margin:0;font-size:14px;color:var(--slate)}
.pr-tag{position:absolute;top:18px;right:16px;background:#FFC428;color:#1B1530;font-size:11px;font-weight:800;border-radius:999px;padding:3px 9px}
.pr-go{font-weight:800;color:#D3245F;font-size:14px;margin-top:4px}
.pr-help{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#1B1530;color:#fff;border-radius:22px;padding:22px}
.pr-help p{margin:6px 0 0;color:#d6d3e0;max-width:560px}
@media (max-width:820px){.pr-grid{grid-template-columns:1fr 1fr}.pr-steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pr-grid{grid-template-columns:1fr}}
@media (max-width:640px){.booked .gt-kites-mini,.pr-hero .gt-hero-kites{display:none}}

/* ---------- Phone layout clean-up: nothing overlaps, text never sits on busy art ---------- */
@media (max-width:640px){
  /* Header: just the logo + compact buttons */
  .top .wrap{gap:6px}
  .brand .tag{display:none}
  .brand img{height:34px}
  .top-btn{height:34px;padding:0 10px;font-size:13px}
  .snd-btn{width:34px;padding:0;justify-content:center}
  #mine-link{font-size:0;padding:0 10px}
  #mine-link::before{content:"🧾";font-size:16px}
  /* Help button: small round icon that never covers buttons or text */
  .help-fab{font-size:0;width:48px;min-height:48px;height:48px;padding:0;border-radius:50%;right:12px;display:grid;place-items:center}
  .help-fab::before{content:"💬";font-size:22px}
  body:has(.ev-cta.show) .help-fab{bottom:calc(86px + env(safe-area-inset-bottom))}
  /* Sticky bottom bar: one line each, and the page/footer can scroll above it */
  .ev-cta{padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px}
  .ev-cta .btn{min-height:46px;font-size:15px;padding:0 10px;white-space:nowrap}
  body:has(.ev-cta) .foot{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
  /* Hero: no kites over the title, a calm dark layer behind all text */
  .hero .gt-hero-kites{display:none}
  .hero.has-img::before{background:linear-gradient(180deg,rgba(27,21,48,.9),rgba(27,21,48,.82) 60%,rgba(27,21,48,.9))}
  .hero.has-img{animation:none;background-size:cover}
  .hero p{color:#ecebf2;font-size:16px;text-shadow:0 1px 2px rgba(0,0,0,.5)}
  .hero .hero-facts span,.hero-tag{text-shadow:0 1px 2px rgba(0,0,0,.5)}
  .highlights{grid-template-columns:1fr 1fr;gap:10px}
  .highlights b{font-size:clamp(20px,6.4vw,26px);white-space:nowrap}
  .highlights div{background:rgba(27,21,48,.72)}

  /* Lineup names: never collide with the next row */
  .artist b{font-size:15px}
}

@media (max-width:640px){.type-card{gap:10px}.type-card .swatch{width:100%;height:6px;border-radius:3px}.type-card .info{min-width:0;flex-basis:100%}.type-card .btn{width:100%}}
/* Countdown: label + four equal tiles */
.cd{display:grid;gap:8px;margin:6px 0 18px;position:relative;z-index:2;max-width:420px}
.cd-l{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#FFC428}
.cd-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cd-t{display:grid;justify-items:center;gap:2px;padding:10px 4px;border-radius:14px;background:rgba(27,21,48,.62);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px)}
.cd-t b{font:900 clamp(24px,7vw,32px)/1 var(--head,inherit);color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.cd-t span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#d6d3e0}
/* Hero kites: only in the far right corner, small, never over the title, photo or timer */
.hero .gt-hero-kites .gt-kite{left:auto!important;right:2%;opacity:.95}
.hero .gt-hero-kites .gt-kite:nth-child(2){right:9%}.hero .gt-hero-kites .gt-kite:nth-child(n+3){display:none}
.hero .gt-hero-kites .gt-kite svg{width:54px;height:54px}
/* "Order your own merch" card: stands out in the extras step and booking page */
.merch-card{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:18px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#2E2250,#2457A6);color:#fff;position:relative;overflow:hidden}
.merch-card::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:url(/img/maya/jaspe.svg) repeat-x center/auto 100%}
.merch-card .emoji{font-size:34px}
.merch-card .t{flex:1;min-width:220px;display:grid;gap:4px}
.merch-card .eyebrow{color:#FFC428}
.merch-card b{font-size:19px}
.merch-card .t>span:last-child{color:#e6e2f3;font-size:14px}
.merch-card .print-btns .btn-ghost{background:#fff;color:#1B1530;border-color:#fff}

/* Ticket options: all-in price under the name */
.tix-price{display:block;font-weight:800;font-size:18px;margin:2px 0}
.tix-price small{font-weight:500;font-size:13px}

/* Commission rates: sponsorships/booths vs tickets, side by side */
.rate-card{width:100%;border-collapse:collapse;margin:0 0 14px;font-size:15px;background:#FBFAF7;border-radius:12px;overflow:hidden}
.rate-card th{white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#5b5b66;text-align:center;padding:8px 6px}
.rate-card td{padding:10px 8px;border-top:1px solid #FFC42855;text-align:center;vertical-align:top}
.rate-card td:first-child{text-align:left}
.rate-card td small{display:block;font-size:12px;color:#5b5b66;font-weight:500;margin-top:2px}
.rate-card .rc-tot{font-weight:800;font-size:20px;color:#D3245F}

/* ---------- "Is this real?" trust section */
.trust{background:#fff;border:2px solid #00A19A;border-radius:var(--r);padding:22px 18px;box-shadow:0 10px 30px rgba(0,161,154,.10)}
.tr-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.tr-check{display:flex;gap:12px;background:#EEF8F7;border:1.5px solid #BFE5E2;border-radius:var(--r);padding:14px}
.tr-check .ic{font-size:26px;line-height:1}
.tr-check b{display:block;font-size:16px}
.tr-check p{margin:4px 0 8px;color:var(--slate);font-size:14.5px;line-height:1.45}
.tr-check a:not(.btn){font-weight:800;color:var(--cobalt);word-break:break-word}
.tr-photos{display:grid;grid-auto-flow:column;grid-auto-columns:min(70%,260px);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.tr-ph,.tr-clip{border:0;padding:0;background:none;cursor:zoom-in;scroll-snap-align:start;text-align:left;font:inherit;color:inherit}
.tr-ph img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}
.tr-press{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:640px){.tr-press{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tr-clip{background:#fff;border:1.5px solid #E3DFEA;border-radius:12px;overflow:hidden}
.tr-clip img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.tr-clip span{display:block;padding:8px 10px;font-weight:700;font-size:14px}
.tr-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px}
.tr-logos img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border:1px solid #E3DFEA;border-radius:10px}
.tr-big{width:100%;max-height:72vh;object-fit:contain;border-radius:10px;display:block}

/* ---------- Real deadlines, who's already in, welcome-back nudge */
.dl-list{display:grid;gap:10px}
.dl{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid #E3DFEA;border-radius:var(--r);padding:12px 14px}
.dl .ic{font-size:26px}
.dl div{flex:1;min-width:0}
.dl b{display:block;font-size:16px}
.dl small{color:var(--slate);font-size:13.5px}
.dl-n{white-space:nowrap;font:900 15px var(--head);background:#FBFAF7;border:1.5px solid #FFC428;border-radius:999px;padding:6px 12px}
.dl.soon{border-color:#D3245F}
.dl.soon .dl-n{background:#D3245F;border-color:#D3245F;color:#fff}
.joined-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:10px}
.jn{background:#fff;border:1.5px solid #BFE5E2;border-left:5px solid #00A19A;border-radius:12px;padding:10px 12px}
.jn b{display:block;font-size:15.5px}
.jn span{font-size:13px;color:var(--slate)}
.welcome-back{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:14px 0;background:#1B1530;color:#fff;border-radius:var(--r);padding:14px 16px;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.welcome-back .wb-ic{font-size:28px}
.welcome-back div:not(.wb-act){flex:1;min-width:200px}
.welcome-back b{display:block;font-size:16px}
.welcome-back small{color:#E9E3F2;font-size:14px}
.welcome-back .wb-act{display:flex;gap:8px;flex-wrap:wrap}
.up-note{display:block;margin-top:4px;font-weight:800;font-size:13px;color:#D3245F}


/* ===================== Festival Maya Guatemalteco · línea «Barrilete» =====================
   Own fonts (OFL), flat color, square corners, 1px rules, no glows. */
@font-face{font-family:"Bebas Neue";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/maya/bebas-neue-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bebas Neue";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/maya/bebas-neue-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/maya/barlow-condensed-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/maya/barlow-condensed-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/maya/barlow-condensed-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/maya/barlow-condensed-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/maya/barlow-condensed-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/maya/barlow-condensed-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
:root{
  --magenta:#D3245F; --naranja:#F26B1D; --sol:#FFC428; --lago:#00A19A; --cielo:#2457A6; --morado:#7A2E8E; --noche:#1B1530; --fondo:#FBFAF7; --campo:#FFFDF9; --niebla:#F4F2F7;
  --ink:#1B1530; --ink-2:#4A4462; --slate:#4A4462; --slate-2:#7C7690; --line:#E3DFEA; --line-2:#F4F2F7; --bg:#FBFAF7; --paper:#FFFDF9;
  --cobalt:#D3245F; --cobalt-2:#B01D4F; --cobalt-soft:#FBE3EC; --citron:#FFC428; --citron-soft:#FFF3CF;
  --r-s:0px; --r:0px; --r-l:0px;
  --shadow:none; --shadow-2:0 0 0 1px #E3DFEA;
  color-scheme:light;
}
body{font-size:18px;font-weight:500;background:var(--bg) url(/img/maya/rombos-claro.svg) repeat left top/96px 96px;font-variant-numeric:lining-nums}
::selection{background:var(--sol);color:var(--noche)}
:focus-visible{outline:3px solid var(--noche);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--head);font-weight:400;letter-spacing:.01em;line-height:.95;text-transform:uppercase}
h3,h4{font-family:var(--body);font-weight:700;letter-spacing:.01em;text-transform:none;line-height:1.15}
.mono,.eyebrow,.step-count,.tier .left,.tier-tag,.kpi span,.fx-welcome{font-family:var(--body);font-weight:700;letter-spacing:.08em}
.eyebrow{color:var(--magenta)}
/* square, flat, 1px rules everywhere on the public app */
.card,.big-choice,.todo,.extra,.tier,.zone,.ev-info,.dl,.jn,.tr-check,.tr-clip,.type-card,.cp,.gt-i,.pr-card,.custom-card,.merch-card,.trust,.welcome-back,.cd-t,.pill,.chips span,.top-btn,.btn,.qty,.dl-n,.highlights div,.artist .ph,.tr-ph img,.tr-logos img{border-radius:0!important}
.card,.big-choice,.tier,.btn,.trust,.welcome-back,.custom-card,.merch-card,.pr-card,.cd-t{box-shadow:none!important}
.card,.big-choice,.todo,.extra,.zone,.ev-info,.dl,.type-card{border:1px solid var(--line);background:var(--campo)}
.btn{font-family:var(--body);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.btn-citron{background:var(--sol);color:var(--noche)}
.btn-citron:hover{background:var(--noche);color:var(--sol)}
.btn-primary,.btn-cobalt{background:var(--noche);color:var(--fondo)}
.btn-primary:hover,.btn-cobalt:hover{background:var(--magenta)}
.btn-white{background:var(--fondo);color:var(--noche);box-shadow:inset 0 0 0 2px var(--noche)!important}
.price{font-family:var(--head);font-weight:400;letter-spacing:.01em}
/* header: light bar like the festival site, rombo + logo */
.top{background:var(--fondo);color:var(--noche);box-shadow:inset 0 -1px 0 var(--line);backdrop-filter:none}
.brand img{height:52px}
.brand .tag{color:var(--magenta);border-left-color:var(--line)}
.top-btn{background:var(--fondo);border:0;box-shadow:inset 0 0 0 2px var(--noche);color:var(--noche);font-weight:700}
.stripe{height:26px;background:url(/img/maya/flecos.svg) repeat-x left top/72px 26px}
.top .stripe{height:14px;background:url(/img/maya/jaspe.svg) repeat-x center/auto 100%}
/* hero: real festival photo, a calm noche layer for legible text, jaspe band at the bottom */
.hero{background-color:var(--noche)}
.hero.has-img::before{background:linear-gradient(90deg,rgba(27,21,48,.92) 0%,rgba(27,21,48,.78) 55%,rgba(27,21,48,.35) 100%)!important}
.hero::after{display:none}
.hero .hero-tag{color:var(--sol);font-family:var(--body);font-weight:700}
.hero h1{font-size:clamp(46px,7vw,96px)}
.hero-logo{height:auto;width:min(420px,80%);max-height:none;filter:none}
.hero .gt-volcanoes,.hero .gt-hero-kites{display:none}
.hero{padding-bottom:calc(clamp(24px,5vw,56px) + 26px)}
.gt-band{height:16px!important;background:url(/img/maya/jaspe.svg) repeat-x center/auto 100%!important}
.highlights div{background:rgba(27,21,48,.72);border:1px solid rgba(255,255,255,.18)}
.highlights b{font-family:var(--head);font-weight:400;color:var(--sol)}
.section .h2::after,.page>section>.h2::after{width:66px;height:14px;border-radius:0;background:url(/img/maya/tres-rombos.svg) no-repeat left center/66px 14px}
.tier.featured{background:var(--noche);box-shadow:0 0 0 3px var(--sol)!important}
.tier.featured .muted,.tier.featured .tier-tag{color:#D3CEE2}
.journey li::before{border-radius:0;background:var(--sol);color:var(--noche);font-family:var(--head);font-weight:400}
.journey li:last-child::before{content:"✦";background:var(--magenta);color:#fff}
.trust{border:1px solid var(--line);border-top:6px solid var(--lago)}
.zone{border-top:4px solid var(--magenta)}
.zone:nth-child(5n+2){border-top-color:var(--naranja)}.zone:nth-child(5n+3){border-top-color:var(--lago)}.zone:nth-child(5n+4){border-top-color:var(--cielo)}.zone:nth-child(5n+5){border-top-color:var(--morado)}
.ws b,.cd-t b{font-family:var(--head);font-weight:400}
.ev-cta{background:rgba(27,21,48,.96);backdrop-filter:none}
footer.foot{background:var(--noche) url(/img/maya/jaspe.svg) repeat-x top/auto 20px;color:#D3CEE2}
footer.foot .love{color:var(--sol)}
/* entrance portal: noche with the rombo colors, no glows */
.fx-portal{background:var(--noche) url(/img/maya/rombos.svg) repeat!important}
.gt-sun{display:none}
.gt-portal-logo{border-radius:0;box-shadow:none;width:min(84vw,460px)}
.fx-enter{background:var(--sol);color:var(--noche);border-radius:0;box-shadow:none}
.gt-portal-text .fx-welcome{font-family:var(--head);font-weight:400;letter-spacing:.02em;text-shadow:none}
.gt-portal-text .fx-sub{text-shadow:none}
@media (max-width:640px){
  .brand img{height:40px}
  .hero.has-img::before{background:linear-gradient(180deg,rgba(27,21,48,.9),rgba(27,21,48,.82) 60%,rgba(27,21,48,.9))!important}
}

/* ===== Identity of the festival site (festival.comitededesarrollomayalosangeles.com) ===== */
/* Header: light bar with the kite mark and the festival name, like the site. */
.top{background:#FBFAF7;color:#1B1530;border-bottom:1px solid #E3DFEA}
.brand-maya{display:flex;align-items:center;gap:10px;text-decoration:none;color:#1B1530}
.brand-maya .brand-k{width:30px;height:30px;flex:none;background:url(/img/maya/barrilete.svg) center/contain no-repeat}
.brand-maya .brand-n{font:400 clamp(19px,2.2vw,24px)/1 var(--head);text-transform:uppercase;letter-spacing:.01em;white-space:nowrap}
.brand-maya .brand-n em{font-style:normal;color:#D3245F}
.brand-maya .tag{color:#D3245F;border-left:1px solid #E3DFEA}
@media (max-width:640px){.brand-maya .tag{display:none}.brand-maya .brand-n{font-size:17px}}
@media (max-width:400px){.brand-maya .brand-n{white-space:normal;max-width:150px}}
.top-btn{background:transparent;border:2px solid #1B1530;color:#1B1530;border-radius:999px}
.top-btn:hover{background:#1B1530;color:#FBFAF7}
.top .stripe{display:none}

/* Hero: night background, the kite on the right, Lake Atitlán with its volcanoes at the bottom. */
.hero.hero-maya{background:#1B1530;color:#FBFAF7;padding:clamp(28px,5vw,64px) clamp(20px,5vw,64px) 0;border-radius:var(--r-l,22px)}
.hero.hero-maya::before,.hero.hero-maya::after{display:none}
.hero-maya .hero-art{position:absolute;z-index:0;pointer-events:none;width:min(48vw,620px);right:max(-12vw,-160px);top:-30px;opacity:1}
.hero-maya .hero-art svg{width:100%;height:auto;overflow:visible}
.hero-maya .kite-string{display:none}
.hero-maya .kite-tilt{transform-box:fill-box;transform-origin:50% 50%;animation:maya-kite 7s ease-in-out infinite alternate}
@keyframes maya-kite{from{transform:rotate(-4deg)}to{transform:rotate(5deg) translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.hero-maya .kite-tilt{animation:none}}
@media (max-width:760px){.hero-maya .hero-art{width:300px;right:-120px;top:-60px;opacity:.55}}
.hero-maya>*:not(.hero-art):not(.paisaje):not(.flecos){position:relative;z-index:2;max-width:640px}
.hero-maya .hero-logo{height:auto;width:min(100%,420px);margin:0 0 6px}
.hero-maya h1{font:400 clamp(40px,6vw,84px)/.92 var(--head);text-transform:uppercase;margin-top:6px}
.hero-maya .hero-tag{color:#FFC428;font:600 20px var(--body)}
.maya-facts{list-style:none;padding:0;display:grid;gap:6px;margin:18px 0 16px;font:600 18px var(--body);color:#FBFAF7}
.maya-facts li{display:flex;align-items:center;gap:10px}
.maya-facts i{width:12px;height:12px;flex:none}
.hero-maya p{color:#D3CEE2;font-size:18px}
/* Countdown tiles in the festival colors, like the site. */
.hero-maya .cd-l{color:#D3CEE2;font:700 14px var(--body);letter-spacing:.1em;text-transform:uppercase}
.hero-maya .cd-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-width:420px}
.hero-maya .cd-t{display:grid;gap:2px;padding:10px 12px 9px;border-radius:10px;border:0;background:#D3245F;color:#FBFAF7;text-align:left}
.hero-maya .cd-t:nth-child(2){background:#F26B1D;color:#1B1530}
.hero-maya .cd-t:nth-child(3){background:#00A19A;color:#1B1530}
.hero-maya .cd-t:nth-child(4){background:#2457A6;color:#FBFAF7}
.hero-maya .cd-t b{font:400 clamp(34px,4vw,48px)/1 var(--head);color:inherit}
.hero-maya .cd-t span{font:700 12px var(--body);letter-spacing:.1em;text-transform:uppercase;color:inherit;opacity:1}
/* Pill buttons, like the site. */
.hero-maya .btn{border-radius:999px}
.hero-maya .btn-white{background:transparent;color:#FBFAF7;border:2px solid #FBFAF7}
.hero-maya .btn-white small{color:#D3CEE2}
.hero-maya .highlights{margin-top:28px;max-width:none}
.hero-maya .highlights>div{border-radius:14px}
.hero-maya .highlights>div:nth-child(1){background:#D3245F;border-color:#D3245F}
.hero-maya .highlights>div:nth-child(2){background:#7A2E8E;border-color:#7A2E8E}
.hero-maya .highlights>div:nth-child(3){background:#00A19A;border-color:#00A19A}
.hero-maya .highlights b{color:#FFC428}
.hero-maya .highlights>div:nth-child(1) b,.hero-maya .highlights>div:nth-child(3) b{color:#FBFAF7}
.hero-maya .highlights span{color:#FBFAF7}
.hero-maya .paisaje{position:relative;z-index:1;height:clamp(90px,15vw,200px);margin:28px calc(-1*clamp(20px,5vw,64px)) 0}
.hero-maya .paisaje svg{position:absolute;inset:0;width:100%;height:100%}
.hero-maya .flecos{height:26px;margin:0 calc(-1*clamp(20px,5vw,64px));background:url(/img/maya/flecos.svg) repeat-x left top/72px 26px}

/* Color blocks between sections, like the site: zones on sky blue, custom package on purple. */
.section:has(.zones){background:#2457A6 url(/img/maya/rombos.svg) repeat center/56px 56px;color:#FBFAF7;border-radius:var(--r-l,22px);padding:clamp(24px,4vw,48px)}
.section:has(.zones) .eyebrow{color:#FFC428}
.section:has(.zones) .h2{color:#FBFAF7}
.section:has(.zones) .zone{border:0;border-radius:16px}
.section:has(.zones) .zone:nth-child(4n+1){background:#FFC428}
.section:has(.zones) .zone:nth-child(4n+2){background:#00A19A}
.section:has(.zones) .zone:nth-child(4n+3){background:#FBFAF7}
.section:has(.zones) .zone:nth-child(4n){background:#F26B1D}
.section:has(.zones) .zone b{font:400 26px/1 var(--head);text-transform:uppercase;color:#1B1530}
.section:has(.zones) .zone p{color:#1B1530}
.custom-card{background:#7A2E8E url(/img/maya/alfombra.svg) repeat center/64px 64px;border-radius:var(--r-l,22px)}
.btn{border-radius:999px}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero-maya .hero-art{width:min(40vw,500px);right:max(-10vw,-130px);top:-10px}
.hero-maya .cd-row .cd-t{border-radius:10px!important}
@media (max-width:640px){.top-btn{padding:6px 10px;font-size:13px;white-space:nowrap;min-height:36px}.top .wrap{gap:6px}}

/* ===== Lighter, softer layer (Benjamin 13-nov: "muy cuadrado, tosco, pesado") =====
   Rounded corners like the festival site, thin soft borders, more air, lighter buttons. */
:root{--r-s:12px;--r:20px;--r-l:28px}
.card,.big-choice,.todo,.extra,.tier,.zone,.ev-info,.dl,.jn,.tr-check,.tr-clip,.type-card,.cp,.gt-i,.pr-card,.custom-card,.merch-card,.trust,.welcome-back,.artist .ph,.tr-ph img{border-radius:20px!important}
.cd-t,.highlights div,.qty,.chips span{border-radius:14px!important}
.btn,.top-btn,.pill,.dl-n{border-radius:999px!important}
body{background-image:none}
.card,.big-choice,.todo,.extra,.ev-info,.dl,.type-card,.tier,.zone,.trust,.cp,.gt-i,.pr-card{border:1px solid rgba(27,21,48,.08)!important;background:#fff;box-shadow:0 1px 2px rgba(27,21,48,.04),0 8px 24px rgba(27,21,48,.05)!important}
.card{padding:24px}
.tier{padding:26px}
.trust{border-top:1px solid rgba(27,21,48,.08)!important}
.zone{border-top-width:1px!important}
/* Buttons: sentence case, lighter weight, less bulk. */
.btn{text-transform:none;letter-spacing:.01em;font-weight:600;font-size:17px;min-height:48px;padding:0 24px}
.btn-primary,.btn-cobalt{background:#1B1530}
.btn-primary:hover,.btn-cobalt:hover{background:#D3245F}
.btn-white{box-shadow:inset 0 0 0 1.5px rgba(27,21,48,.25)!important}
.hero-maya .btn-white{box-shadow:inset 0 0 0 1.5px rgba(251,250,247,.6)!important;border:0}
.btn-xl small{text-transform:none;letter-spacing:.01em;font-weight:500}
.top-btn{box-shadow:inset 0 0 0 1px rgba(27,21,48,.2)!important;font-weight:600}
.top-btn:hover{background:#F4F2F7;color:#1B1530}
/* Titles: a bit smaller and lighter, more breathing room. */
.h2{font-size:clamp(30px,3.6vw,44px)}
.section{margin-top:clamp(40px,6vw,72px)}
.card h3,.tier h3{font-weight:600}
.pill{font-weight:600}
/* Featured sponsor card: color instead of a heavy black block. */
.tier.featured{background:#7A2E8E!important;color:#FBFAF7;box-shadow:0 12px 32px rgba(122,46,142,.25)!important;border-color:#7A2E8E!important}
.tier.featured .muted,.tier.featured .tier-tag{color:#EADCF0}
/* Hero and color blocks: rounder. */
.hero.hero-maya,.section:has(.zones),.custom-card{border-radius:28px!important}
.hero-maya .cd-t{border-radius:14px!important}
.journey li::before{border-radius:50%}
.faq details{border-radius:16px!important;border:1px solid rgba(27,21,48,.08)!important;background:#fff}
/* Footer: lighter top, one fringe only. */
footer.foot{background:#1B1530}
.custom-card{background:#7A2E8E!important}
.custom-card *{text-shadow:none}
.tier.featured .pill.citron,.tier .pill{animation:none!important;box-shadow:none!important}
.top-btn{border:0!important;box-shadow:inset 0 0 0 1px rgba(27,21,48,.18)!important}
.powered{display:inline-flex;align-items:center;gap:12px}.powered img.pbox{height:30px;width:auto}
.powered img.pbox{height:40px}
/* Way back to the official festival site */
.back-site{font-weight:600;white-space:nowrap}
.back-site span[aria-hidden]{font-size:1.2em;line-height:1}
.foot-back{color:#FFC428;font-weight:600;text-decoration:none;white-space:nowrap}
.foot-back:hover{text-decoration:underline}
@media (max-width:640px){.back-site span[data-t]{display:none}.back-site{padding:6px 12px}}
