
:root{
  --font-display:"Blont","Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-body:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}


:root{
  --bg:#f4ecdf;
  --bg-soft:#fbf6ee;
  --panel:#fffaf2;
  --text:#1c171a;
  --muted:#6e665f;
  --line:rgba(50,39,37,.12);

  --brand-yellow:#f6bd24;
  --brand-teal:#0b7f80;
  --brand-red:#ab2530;
  --brand-blue:#17779d;
  --brand-lime:#b5c88a;
  --brand-coral:#ef3b2d;
  --brand-purple:#2f2678;
  --area-energy:#ffb81c;
  --area-stage:#007672;
  --area-energy-soft:rgba(255,184,28,.16);
  --area-stage-soft:rgba(0,118,114,.14);

  --shadow:0 22px 60px rgba(75,50,28,.10);
  --max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);
  background:linear-gradient(180deg,var(--bg) 0%, #f1e5d1 100%);
  color:var(--text);
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.container{width:min(calc(100% - 28px),var(--max));margin:0 auto}

.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(251,246,238,.86);
  border-bottom:1px solid rgba(50,39,37,.08);
  backdrop-filter:blur(18px);
  box-shadow:0 12px 34px rgba(75,50,28,.07);
}
.nav{
  min-height:82px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.brand img{height:48px; width:auto}
.menu{
  display:flex;
  align-items:center;
  gap:4px;
  color:var(--muted);
  font-size:13px;
  white-space:nowrap;
  padding:6px;
  border:1px solid rgba(50,39,37,.10);
  border-radius:999px;
  background:rgba(255,255,255,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72), 0 10px 26px rgba(75,50,28,.05);
}
.menu a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 10px;
  border-radius:999px;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.menu a.active,
.menu a:hover{
  color:var(--text);
  font-weight:800;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,250,243,.76));
  box-shadow:0 8px 18px rgba(75,50,28,.08);
}
.menu a:hover{transform:translateY(-1px)}
.nav-actions{display:flex; align-items:center; gap:12px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:13px 20px; border-radius:999px; font-weight:700;
  border:1px solid transparent; transition:.2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--brand-coral),var(--brand-yellow)); color:#fff}
.btn-secondary{background:rgba(255,255,255,.76); border-color:var(--line); color:var(--text)}
.btn-ghost{background:transparent; border-color:var(--line); color:var(--text)}
.btn-chip-stage{
  background:var(--area-stage);
  border-color:rgba(0,118,114,.42);
  color:#fff;
  box-shadow:0 12px 24px rgba(0,118,114,.22);
}
.btn-chip-energy{
  background:var(--area-energy);
  border-color:rgba(255,184,28,.52);
  color:#2d2111;
  box-shadow:0 12px 24px rgba(255,184,28,.22);
}
.btn-chip-productions{
  background:linear-gradient(135deg,var(--brand-coral),var(--brand-red));
  border-color:rgba(171,37,48,.28);
  color:#fff;
  box-shadow:0 12px 24px rgba(171,37,48,.18);
}
.mobile-toggle{
  display:none; width:46px; height:46px; border-radius:999px; border:1px solid var(--line);
  background:rgba(255,255,255,.82); font-size:24px; color:var(--text);
  box-shadow:0 8px 18px rgba(75,50,28,.08);
}
.mobile-menu{display:none;padding:0 0 16px}
.mobile-menu.open{display:flex;flex-direction:column;gap:10px}
.mobile-menu a{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.72);
  border:1px solid var(--line);
  box-shadow:0 8px 18px rgba(75,50,28,.05);
}

.hero{
  position:relative;
  overflow:hidden;
  padding:48px 0 34px;
  background:
    radial-gradient(circle at 10% 18%, rgba(246,189,36,.18), transparent 24%),
    radial-gradient(circle at 88% 14%, rgba(47,38,120,.10), transparent 22%),
    radial-gradient(circle at 78% 48%, rgba(11,127,128,.08), transparent 20%);
}
.hero-bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.54;
  filter:blur(1px) saturate(1.12) contrast(1.1);
  transform:scale(1.02);
  pointer-events:none;
}
.hero-bg-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(244,236,223,.80) 0%, rgba(244,236,223,.56) 44%, rgba(244,236,223,.28) 100%),
    radial-gradient(circle at 18% 20%, rgba(246,189,36,.12), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(171,37,48,.12), transparent 32%),
    linear-gradient(180deg, rgba(28,23,26,.01), rgba(28,23,26,.05));
  pointer-events:none;
}
.hero > .container{
  position:relative;
  z-index:2;
}
.hero::before,
.hero::after{
  content:"";
  position:absolute;
  inset:auto;
  width:38vw; height:38vw;
  border-radius:50%;
  filter:blur(50px);
  opacity:.18;
  pointer-events:none;
  animation: drift 12s ease-in-out infinite alternate;
  z-index:1;
}
.hero::before{top:-10vw; right:-6vw; background:radial-gradient(circle, rgba(239,59,45,.48), transparent 60%)}
.hero::after{bottom:-14vw; left:-8vw; background:radial-gradient(circle, rgba(47,38,120,.36), transparent 60%); animation-duration:16s}
@keyframes drift{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(-2vw,2vw,0) scale(1.08)}
}
@keyframes glow{
  0%{transform:translateY(0); opacity:.65}
  50%{transform:translateY(-6px); opacity:1}
  100%{transform:translateY(0); opacity:.7}
}

.hero-grid,.split,.dual-panel,.contact-box,.news-grid{
  display:grid;grid-template-columns:1.03fr .97fr;gap:28px;align-items:center
}
.hero h1,.page-hero h1{
  font-size:clamp(2.1rem,5vw,4.9rem);
  line-height:1.02; letter-spacing:-.03em; margin:10px 0 16px;
}
.eyebrow{
  display:inline-block; font-size:.76rem; font-weight:800; letter-spacing:.24em;
  color:#7b7269;
}
.hero p,.page-hero p,.section-heading p,.service-body p,.split-copy p,.news-body p,.footer p,.footer li,.instagram-box p,.social-card p,.admin-copy p{
  color:var(--muted); line-height:1.8;
}
.hero-actions,.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

.hero-visual,.service-card,.stats-card,.instagram-box,.social-card,.contact-box,.gallery-card,.news-card,.quote-card,.admin-box,.admin-login,.news-form,.news-list{
  background:linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.58));
  border:1px solid var(--line); box-shadow:var(--shadow);
}
.hero-visual{border-radius:30px;padding:16px}
.hero-visual-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;align-items:stretch}
.visual-main,.visual-stack article{
  border-radius:24px; overflow:hidden; background:rgba(255,255,255,.58); border:1px solid var(--line); height:100%;
}
.visual-main img{width:100%;min-height:380px;object-fit:cover}
.visual-stack{display:grid;gap:12px;grid-template-rows:repeat(3,1fr)}
.visual-stack article{padding:18px;display:flex;flex-direction:column;justify-content:center}
.color-line{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--brand-coral),var(--brand-yellow),var(--brand-purple));margin-bottom:14px}
.hero-kicker{
  display:flex; gap:10px; flex-wrap:wrap; margin-top:16px;
}
.hero-kicker span{
  padding:10px 14px; border-radius:999px; background:rgba(255,255,255,.76); border:1px solid var(--line);
  animation: glow 4s ease-in-out infinite;
}
.hero-kicker span:nth-child(2){animation-delay:.5s}
.hero-kicker span:nth-child(3){animation-delay:1s}

.page-divider{padding:0;line-height:0}
.page-divider img{width:100%;display:block}

.section{padding:66px 0}
.section.alt{background:rgba(255,250,243,.62);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-heading{max-width:760px;margin-bottom:28px}
.section-heading h2,.split-copy h2,.admin-copy h2{font-size:clamp(1.9rem,4vw,3rem);margin:10px 0 12px}

.cards-3,.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card,.gallery-card,.news-card,.quote-card{border-radius:24px;overflow:hidden}
.service-card img.cover,.gallery-card img.cover{height:230px;width:100%;object-fit:cover}
.service-body,.gallery-body,.news-body{padding:20px}

.badge{
  display:inline-flex;padding:8px 12px;border-radius:999px;font-size:.84rem;font-weight:700;
  background:#fff6ea;border:1px solid rgba(246,189,36,.28);color:#9a5b22;margin-bottom:12px
}
.badge-energy,
.badge-suministros,
.badge-mobiliario{
  background:rgba(255,184,28,.18);
  border-color:rgba(255,184,28,.42);
  color:#7a4b00;
}
.badge-stage{
  background:rgba(0,118,114,.14);
  border-color:rgba(0,118,114,.34);
  color:#005f5c;
}
.area-energy,
.area-suministros,
.area-mobiliario,
.area-stage{
  position:relative;
}
.area-energy::before,
.area-suministros::before,
.area-mobiliario::before,
.area-stage::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:var(--area-accent);
}
.area-energy,
.area-suministros,
.area-mobiliario{
  --area-accent:var(--area-energy);
}
.area-stage{
  --area-accent:var(--area-stage);
}
.area-energy .text-link,
.area-suministros .text-link,
.area-mobiliario .text-link{
  color:#9a5b00;
}
.area-stage .text-link{
  color:var(--area-stage);
}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.stats-card{border-radius:20px;padding:18px}
.stats-card strong{display:block;font-size:1.9rem;margin-bottom:6px}

.check-list{list-style:none;padding:0;margin:18px 0 0}
.check-list li{position:relative;padding-left:28px;margin:0 0 12px}
.check-list li::before{
  content:"";width:12px;height:12px;border-radius:50%;position:absolute;left:0;top:8px;
  background:linear-gradient(135deg,var(--brand-coral),var(--brand-purple))
}
.tag-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.tag-row span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.74);border:1px solid var(--line)}
.chip-row span{
  font-weight:800;
  box-shadow:0 10px 22px rgba(75,50,28,.08);
}
.chip-row .chip-energy{
  background:rgba(255,184,28,.18);
  border-color:rgba(255,184,28,.42);
  color:#7a4b00;
}
.chip-row .chip-stage{
  background:rgba(0,118,114,.14);
  border-color:rgba(0,118,114,.34);
  color:#005f5c;
}
.chip-row .chip-productions{
  background:rgba(171,37,48,.12);
  border-color:rgba(171,37,48,.24);
  color:#8d1d28;
}

.instagram-box,.social-card,.contact-box,.quote-card,.admin-login,.news-form,.news-list{border-radius:26px;padding:22px}
.instagram-embed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.instagram-post{
  min-height:170px;border-radius:18px;border:1px dashed rgba(60,48,38,.2);
  background:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;
  text-align:center;padding:16px;color:var(--muted)
}
.social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.link-pill{
  padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid var(--line);font-weight:700
}

.contact-box{grid-template-columns:1.1fr .9fr}
.footer{padding:28px 0 44px;color:var(--muted)}
.footer-grid{
  display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr;gap:20px;padding-top:22px;border-top:1px solid var(--line)
}
.footer h4{margin:0 0 12px;color:var(--text)}
.footer ul{list-style:none;padding:0;margin:0}
.page-hero{padding:40px 0 20px}
.breadcrumbs{display:flex;gap:10px;font-size:.94rem;color:var(--muted);margin-bottom:14px;flex-wrap:wrap}
.news-grid{grid-template-columns:1.18fr .82fr}
.news-side{display:grid;gap:16px}

.brand-note{
  margin-top:14px; padding:14px 16px; border-radius:18px;
  background:rgba(255,255,255,.55); border:1px solid var(--line); color:var(--muted)
}
.brand-note strong{color:var(--text)}

.admin-layout{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:22px;
}
.field{
  display:flex; flex-direction:column; gap:8px; margin-bottom:14px;
}
.field label{font-weight:700}
.field input,.field textarea,.field select{
  border:1px solid var(--line);
  background:rgba(255,255,255,.86);
  border-radius:14px;
  padding:12px 14px;
  font:inherit;
  color:var(--text);
}
.field textarea{min-height:130px; resize:vertical}
.helper{font-size:.92rem; color:var(--muted)}
.news-item{
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.news-item:last-child{border-bottom:none}
.news-item h4{margin:0 0 8px}
.admin-news-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.admin-news-actions form{margin:0}
.hidden{display:none}

@media (max-width: 1080px){
  .hero-grid,.split,.dual-panel,.contact-box,.news-grid,.footer-grid,.cards-3,.gallery-grid,.stats,.instagram-embed-grid,.hero-visual-grid,.admin-layout{
    grid-template-columns:1fr 1fr
  }
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 860px){
  .menu,.nav-actions .btn{display:none}
  .mobile-toggle{display:inline-flex;align-items:center;justify-content:center}
  .hero-grid,.split,.dual-panel,.contact-box,.news-grid,.footer-grid,.cards-3,.gallery-grid,.stats,.instagram-embed-grid,.hero-visual-grid,.admin-layout{
    grid-template-columns:1fr
  }
  .visual-stack{grid-template-rows:auto}
  .brand img{height:42px}
  .nav{min-height:72px}
  .section{padding:54px 0}
  .hero{padding-top:28px}
  .hero-bg-video{
    opacity:.42;
    filter:blur(1px) saturate(1) contrast(1.06);
  }
  .hero-bg-overlay{
    background:
      linear-gradient(180deg, rgba(244,236,223,.86) 0%, rgba(244,236,223,.68) 58%, rgba(244,236,223,.58) 100%),
      radial-gradient(circle at 20% 16%, rgba(246,189,36,.10), transparent 36%),
      radial-gradient(circle at 90% 24%, rgba(171,37,48,.09), transparent 34%);
  }
  .visual-main img{min-height:260px}
}
@media (max-width: 560px){
  .container{width:min(calc(100% - 22px),var(--max))}
  .hero h1,.page-hero h1{font-size:1.95rem}
  .hero-actions,.cta-row{flex-direction:column}
  .btn{width:100%}
  .service-card img.cover,.gallery-card img.cover{height:210px}
  .instagram-post{min-height:140px}
}


.hero-panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  min-height:0;
}
.hero-panel-top{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.92rem;
  font-weight:700;
  color:var(--muted);
}
.hero-panel-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--brand-coral),var(--brand-yellow));
  box-shadow:0 0 0 4px rgba(239,59,45,.08);
}
.hero-panel h3{
  margin:0;
  font-size:1.15rem;
  line-height:1.35;
}
.hero-panel p{
  margin:0;
}
.hero-panel-accent{
  background:linear-gradient(135deg, rgba(47,38,120,.06), rgba(246,189,36,.08));
}
.hero-mini-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.hero-mini-list li{
  position:relative;
  padding-left:20px;
  font-weight:600;
}
.hero-mini-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--brand-coral),var(--brand-purple));
}
.footer a:hover,.link-pill:hover{
  color:var(--text);
}


.hero-visual-single .visual-main img{
  min-height:520px;
}
.instagram-card{
  position:relative;
  overflow:hidden;
  padding:0;
  min-height:190px;
  display:block;
}
.instagram-card img{
  width:100%;
  height:100%;
  min-height:190px;
  object-fit:cover;
}
.instagram-card span{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  display:inline-block;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.88);
  color:var(--text);
  font-weight:700;
  text-align:center;
}
.instagram-card:hover span{
  background:#fff;
}
@media (max-width: 860px){
  .hero-visual-single .visual-main img{
    min-height:320px;
  }
}

.hero-kicker{display:none !important}


.hero-premium-note{
  margin-top:18px;
  margin-bottom:4px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:start;
  padding:18px 20px;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(255,255,255,.78), rgba(255,255,255,.56));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.premium-line{
  width:6px;
  min-height:100%;
  border-radius:999px;
  background:linear-gradient(180deg,var(--brand-coral),var(--brand-yellow),var(--brand-purple));
}
.hero-premium-note strong{
  display:block;
  margin-bottom:6px;
  font-size:1.05rem;
}
.hero-premium-note p{
  margin:0;
}
.hero-visual-single{
  position:relative;
}
.hero-visual-single .visual-main{
  border-radius:28px;
  overflow:hidden;
  position:relative;
}
.hero-visual-single .visual-main::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.22));
  pointer-events:none;
}
.hero-spotlight{
  margin-top:14px;
  padding:18px 20px;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(47,38,120,.08), rgba(246,189,36,.10));
  border:1px solid var(--line);
}
.spotlight-badge{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.08em;
  background:rgba(255,255,255,.76);
  border:1px solid var(--line);
  margin-bottom:12px;
}
.hero-spotlight h3{
  margin:0 0 8px;
  font-size:1.16rem;
  line-height:1.4;
}
.hero-spotlight p{
  margin:0;
  color:var(--muted);
  line-height:1.75;
}
@media (max-width: 860px){
  .hero-premium-note{
    grid-template-columns:1fr;
    gap:10px;
  }
  .premium-line{
    width:100%;
    min-height:6px;
  }
}


/* Ajustes desktop para chips/tarjetas */
.cards-3{
  align-items:stretch;
}
.service-card,
.gallery-card,
.news-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.service-body,
.gallery-body,
.news-body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}
.service-body .cta-row,
.gallery-body .cta-row,
.news-body .cta-row{
  margin-top:auto;
  padding-top:16px;
}
.service-body h3,
.gallery-body h3,
.news-body h3{
  min-height:3.1em;
}
.service-body p,
.gallery-body p,
.news-body p{
  flex:1 1 auto;
}
@media (min-width: 1081px){
  .cards-3{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .service-card img.cover,
  .gallery-card img.cover{
    height:250px;
  }
}


/* Hero desktop fix */
.hero-visual-clean{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:14px;
  align-items:stretch;
}
.hero-visual-feature{
  position:relative;
  min-height:640px;
  border-radius:30px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#ddd;
}
.hero-visual-feature img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-visual-overlay{
  position:absolute;
  inset:auto 18px 18px 18px;
  padding:18px 18px 16px;
  border-radius:22px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(10px);
  box-shadow:var(--shadow);
}
.hero-visual-overlay h3{
  margin:10px 0 8px;
  font-size:1.3rem;
  line-height:1.25;
}
.hero-visual-overlay p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}
.hero-visual-chip{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  font-size:.83rem;
  font-weight:800;
  background:rgba(255,255,255,.9);
  border:1px solid var(--line);
}
.hero-visual-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:14px;
}
.hero-side-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:24px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.hero-side-card-accent{
  background:linear-gradient(135deg, rgba(47,38,120,.06), rgba(246,189,36,.10));
}
.hero-side-kicker{
  display:inline-flex;
  width:max-content;
  margin-bottom:14px;
  padding:8px 12px;
  border-radius:999px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.04em;
  background:rgba(255,255,255,.82);
  border:1px solid var(--line);
}
.hero-side-card p{
  margin:0;
  color:var(--muted);
  line-height:1.75;
}
.hero-side-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:12px;
}
.hero-side-list li{
  position:relative;
  padding-left:20px;
  font-weight:700;
  line-height:1.45;
}
.hero-side-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--brand-coral),var(--brand-purple));
}

@media (max-width: 1180px){
  .hero-visual-feature{min-height:560px}
}
@media (max-width: 860px){
  .hero-visual-clean{
    grid-template-columns:1fr;
  }
  .hero-visual-feature{
    min-height:320px;
  }
  .hero-visual-side{
    grid-template-rows:auto;
  }
}

.hero-spotlight,.hero-premium-note,.hero-kicker,.hero-visual-single{display:none !important;}


/* V11 punch / concert energy */
.hero-visual-punch{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:14px;
  align-items:stretch;
}
.concert-motion-card{
  position:relative;
  min-height:640px;
  border-radius:30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:#120f16;
  box-shadow:0 30px 80px rgba(40,20,25,.22);
}
.concert-motion-card img,
.concert-live-main img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.06);
  animation:kenburnsConcert 14s ease-in-out infinite alternate;
}
.concert-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(18,15,22,.18) 0%, rgba(18,15,22,.52) 100%),
    radial-gradient(circle at 18% 18%, rgba(246,189,36,.26), transparent 28%),
    radial-gradient(circle at 82% 20%, rgba(239,59,45,.24), transparent 28%),
    radial-gradient(circle at 58% 10%, rgba(47,38,120,.28), transparent 32%);
  pointer-events:none;
}
.spotlight{
  position:absolute;
  top:-10%;
  width:34%;
  height:130%;
  filter:blur(8px);
  opacity:.22;
  transform-origin:top center;
  mix-blend-mode:screen;
}
.spotlight-a{
  left:8%;
  background:linear-gradient(180deg, rgba(246,189,36,.72), rgba(246,189,36,0));
  clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);
  animation:spotMoveA 8s ease-in-out infinite alternate;
}
.spotlight-b{
  right:4%;
  background:linear-gradient(180deg, rgba(239,59,45,.72), rgba(239,59,45,0));
  clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);
  animation:spotMoveB 10s ease-in-out infinite alternate;
}
.crowd-glow{
  position:absolute;
  border-radius:50%;
  filter:blur(40px);
  opacity:.28;
}
.glow-a{
  width:180px; height:180px; left:8%; bottom:8%;
  background:rgba(246,189,36,.55);
  animation:glowPulse 5s ease-in-out infinite;
}
.glow-b{
  width:210px; height:210px; right:8%; bottom:10%;
  background:rgba(47,38,120,.45);
  animation:glowPulse 6.5s ease-in-out infinite;
}
.equalizer{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  display:flex;
  align-items:flex-end;
  gap:8px;
  height:56px;
  pointer-events:none;
}
.equalizer span{
  flex:1 1 auto;
  border-radius:999px 999px 0 0;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(246,189,36,.95));
  animation:equalize 1.4s ease-in-out infinite;
  min-height:18px;
}
.equalizer span:nth-child(2){animation-delay:.15s}
.equalizer span:nth-child(3){animation-delay:.35s}
.equalizer span:nth-child(4){animation-delay:.55s}
.equalizer span:nth-child(5){animation-delay:.2s}
.equalizer span:nth-child(6){animation-delay:.45s}
.equalizer span:nth-child(7){animation-delay:.7s}
.equalizer span:nth-child(8){animation-delay:.25s}
.concert-copy{
  position:absolute;
  left:18px;
  right:18px;
  top:18px;
  max-width:72%;
  padding:18px 18px 16px;
  border-radius:22px;
  background:rgba(20,16,25,.56);
  color:#fff;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.12);
}
.concert-copy h3{
  margin:10px 0 8px;
  font-size:1.32rem;
  line-height:1.25;
}
.concert-copy p{
  margin:0;
  color:rgba(255,255,255,.84);
  line-height:1.65;
}
.hero-side-card-dark{
  background:linear-gradient(180deg, rgba(28,23,26,.92), rgba(48,38,51,.88));
  color:#fff;
  border-color:rgba(255,255,255,.08);
}
.hero-side-card-dark p{
  color:rgba(255,255,255,.78);
}
.hero-side-card-dark .hero-side-kicker{
  background:rgba(255,255,255,.1);
  color:#fff;
  border-color:rgba(255,255,255,.1);
}
.concert-live-main{
  position:relative;
  min-height:380px;
}
.equalizer-small{
  left:14px;
  right:14px;
  bottom:14px;
  height:42px;
}
@keyframes kenburnsConcert{
  from{transform:scale(1.04) translate3d(0,0,0)}
  to{transform:scale(1.11) translate3d(-1.2%, -1%, 0)}
}
@keyframes spotMoveA{
  from{transform:rotate(-8deg) translateX(0)}
  to{transform:rotate(8deg) translateX(6%)}
}
@keyframes spotMoveB{
  from{transform:rotate(10deg) translateX(0)}
  to{transform:rotate(-6deg) translateX(-7%)}
}
@keyframes glowPulse{
  0%{transform:scale(1);opacity:.22}
  50%{transform:scale(1.12);opacity:.34}
  100%{transform:scale(1);opacity:.24}
}
@keyframes equalize{
  0%{height:18px}
  20%{height:44px}
  40%{height:26px}
  60%{height:54px}
  80%{height:22px}
  100%{height:38px}
}
@media (max-width: 1080px){
  .hero-visual-punch{
    grid-template-columns:1fr;
  }
}
@media (max-width: 860px){
  .concert-motion-card{
    min-height:340px;
  }
  .concert-copy{
    max-width:none;
    right:14px;
    left:14px;
    top:14px;
  }
}


.social-hub{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.social-tile{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  transition:.2s ease;
}
.social-tile:hover{
  transform:translateY(-2px);
}
.social-label{
  display:inline-flex;
  width:max-content;
  padding:7px 11px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  background:#fff6ea;
  border:1px solid rgba(246,189,36,.28);
  color:#9a5b22;
}
.social-tile strong{
  font-size:1.05rem;
}
.social-tile p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
@media (max-width: 700px){
  .social-hub{
    grid-template-columns:1fr;
  }
}


.video-feature{
  position:relative;
  min-height:460px;
  border-radius:30px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#17131b;
  box-shadow:var(--shadow);
}
.video-bg{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#17131b;
}
.video-feature-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(14,10,18,.18) 0%, rgba(14,10,18,.62) 100%),
    radial-gradient(circle at 16% 18%, rgba(246,189,36,.24), transparent 26%),
    radial-gradient(circle at 80% 16%, rgba(239,59,45,.22), transparent 26%),
    radial-gradient(circle at 60% 12%, rgba(47,38,120,.20), transparent 28%);
  pointer-events:none;
}
.video-feature-copy{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  max-width:640px;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(20,16,25,.60);
  color:#fff;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.10);
}
.video-badge{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.04em;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.10);
}
.video-feature-copy h3{
  margin:12px 0 8px;
  font-size:1.3rem;
  line-height:1.25;
}
.video-feature-copy p{
  margin:0;
  color:rgba(255,255,255,.84);
  line-height:1.7;
}
@media (max-width: 860px){
  .video-feature{
    min-height:300px;
  }
  .video-feature-copy{
    left:14px;
    right:14px;
    bottom:14px;
    padding:16px 16px;
  }
}


.hero-right-video{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:14px;
  align-items:stretch;
}
.hero-right-main{
  position:relative;
  min-height:620px;
  border-radius:30px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#17131b;
  box-shadow:var(--shadow);
}
.hero-right-main img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
}
.hero-right-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(12,10,15,.14) 0%, rgba(12,10,15,.52) 100%),
    radial-gradient(circle at 15% 18%, rgba(246,189,36,.18), transparent 26%),
    radial-gradient(circle at 82% 16%, rgba(239,59,45,.18), transparent 24%);
}
.hero-right-copy{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  padding:18px;
  border-radius:22px;
  background:rgba(20,16,25,.58);
  color:#fff;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.10);
}
.hero-right-copy h3{
  margin:10px 0 8px;
  font-size:1.2rem;
  line-height:1.3;
}
.hero-right-copy p{
  margin:0;
  color:rgba(255,255,255,.84);
  line-height:1.65;
}
.hero-right-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:14px;
}
.hero-video-chip{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.08);
  background:#140f17;
  box-shadow:var(--shadow);
  min-height:300px;
}
.hero-chip-video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#140f17;
}
.hero-chip-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(12,10,15,.18) 0%, rgba(12,10,15,.66) 100%),
    radial-gradient(circle at 20% 18%, rgba(246,189,36,.18), transparent 24%),
    radial-gradient(circle at 80% 20%, rgba(239,59,45,.16), transparent 24%);
}
.hero-chip-copy{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:2;
  color:#fff;
}
.hero-chip-copy h4{
  margin:10px 0 8px;
  font-size:1.05rem;
  line-height:1.35;
}
.hero-chip-copy p{
  margin:0;
  color:rgba(255,255,255,.82);
  line-height:1.6;
  font-size:.95rem;
}
.equalizer-chip{
  left:14px;
  right:14px;
  bottom:14px;
  height:38px;
  z-index:1;
}
.hero-premium-note{
  margin-top:18px;
  margin-bottom:4px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:start;
  padding:18px 20px;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(255,255,255,.78), rgba(255,255,255,.56));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.premium-line{
  width:6px;
  min-height:100%;
  border-radius:999px;
  background:linear-gradient(180deg,var(--brand-coral),var(--brand-yellow),var(--brand-purple));
}
.hero-premium-note strong{
  display:block;
  margin-bottom:6px;
  font-size:1.05rem;
}
.hero-premium-note p{margin:0}
@media (max-width: 1080px){
  .hero-right-video{
    grid-template-columns:1fr;
  }
  .hero-right-main{
    min-height:420px;
  }
  .hero-right-side{
    grid-template-rows:auto;
  }
}
@media (max-width: 860px){
  .hero-premium-note{
    grid-template-columns:1fr;
    gap:10px;
  }
  .premium-line{
    width:100%;
    min-height:6px;
  }
  .hero-right-main{
    min-height:320px;
  }
  .hero-video-chip{
    min-height:220px;
  }
}


/* v18 single right video column */
.hero-right-side-single{
  display:block;
}
.hero-video-chip-full{
  min-height:620px;
  height:100%;
}
.hero-chip-copy-full{
  top:18px;
  bottom:18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.hero-chip-copy-full h4{
  margin:14px 0 14px;
  font-size:1.18rem;
  line-height:1.35;
  max-width:18ch;
}
.hero-side-list-light{
  margin-top:8px;
}
.hero-side-list-light li{
  color:#fff;
  font-weight:700;
}
.hero-side-list-light li::before{
  background:linear-gradient(135deg,var(--brand-yellow),#fff);
}
@media (max-width: 1080px){
  .hero-video-chip-full{
    min-height:300px;
  }
}
@media (max-width: 860px){
  .hero-video-chip-full{
    min-height:240px;
  }
  .hero-chip-copy-full{
    top:auto;
    bottom:14px;
  }
}


/* v19 typography: Blont only for display titles
   Nota: la fuente Blont no se incluye en este ZIP.
   Para activarla en producción, carga la fuente licenciada y mantén este nombre de familia. */
.hero h1,
.page-hero h1,
.section-heading h2,
.split-copy h2,
.admin-copy h2,
.hero-right-copy h3,
.hero-chip-copy h4,
.video-feature-copy h3,
.quote-card p,
.service-body h3,
.gallery-body h3,
.news-body h3{
  font-family:var(--font-display);
  letter-spacing:-0.02em;
}

.menu,
.btn,
.hero p,
.page-hero p,
.section-heading p,
.service-body p,
.gallery-body p,
.news-body p,
.footer,
input,
textarea,
label{
  font-family:var(--font-body);
}

/* Slightly tighten some large headlines for better display font rendering */
.hero h1,
.page-hero h1{
  line-height:0.98;
}

.section-heading h2,
.split-copy h2{
  line-height:1.02;
}


/* v20: solo un chip en el bloque derecho */
.hero-right-video-single{
  display:block;
}
.hero-video-chip-only{
  min-height:620px;
  border-radius:30px;
}
.hero-video-chip-only .hero-chip-copy-full{
  top:18px;
  bottom:18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.hero-video-chip-only .hero-chip-copy-full h4{
  margin:14px 0 14px;
  font-size:1.22rem;
  line-height:1.35;
  max-width:18ch;
}
.hero-video-chip-only .hero-side-list{
  margin:0;
}
.hero-video-chip-only .hero-side-list li{
  color:#fff;
  font-weight:700;
}
.hero-video-chip-only .hero-side-list li::before{
  background:linear-gradient(135deg,var(--brand-yellow),#fff);
}
@media (max-width: 1080px){
  .hero-video-chip-only{
    min-height:360px;
  }
}
@media (max-width: 860px){
  .hero-video-chip-only{
    min-height:240px;
  }
}


/* v21 festival chip */
.hero-video-chip-only{
  background:linear-gradient(180deg, #2a1632 0%, #5a2248 38%, #d64a2e 100%) !important;
  border:1px solid rgba(255,255,255,.10) !important;
}
.hero-chip-overlay{
  background:
    linear-gradient(180deg, rgba(32,16,38,.08) 0%, rgba(94,31,55,.28) 52%, rgba(214,74,46,.36) 100%) !important,
    radial-gradient(circle at 18% 16%, rgba(246,189,36,.26), transparent 24%) !important,
    radial-gradient(circle at 78% 18%, rgba(255,91,53,.24), transparent 24%) !important,
    radial-gradient(circle at 50% 12%, rgba(124,74,255,.20), transparent 28%) !important;
}
.hero-video-chip-only .hero-side-kicker{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.14) !important;
}
.hero-video-chip-only .hero-chip-copy-full{
  background:linear-gradient(180deg, rgba(27,12,31,.12), rgba(27,12,31,.32)) !important;
  border-radius:22px;
  padding:0;
}
.hero-video-chip-only .hero-chip-copy-full h4{
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.28);
}
.hero-video-chip-only .hero-chip-copy-full p,
.hero-video-chip-only .hero-side-list li{
  text-shadow:0 2px 18px rgba(0,0,0,.24);
}
.equalizer-chip{
  left:12px !important;
  right:12px !important;
  bottom:12px !important;
  height:34px !important;
  gap:6px !important;
}
.equalizer-chip span{
  max-width:14px;
  flex:0 0 14px !important;
  border-radius:999px 999px 0 0 !important;
  background:linear-gradient(180deg, rgba(255,247,214,.98), rgba(246,189,36,.98)) !important;
  box-shadow:0 0 16px rgba(246,189,36,.26);
}
.hero-video-chip-only::before{
  content:"";
  position:absolute;
  inset:auto auto 18% -8%;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(246,189,36,.35), transparent 68%);
  filter:blur(14px);
  pointer-events:none;
}
.hero-video-chip-only::after{
  content:"";
  position:absolute;
  inset:10% -8% auto auto;
  width:140px;
  height:140px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,91,53,.26), transparent 68%);
  filter:blur(18px);
  pointer-events:none;
}


/* v22 neon festival */
.hero-video-chip-only{
  background:
    radial-gradient(circle at 20% 18%, rgba(255,94,58,.34), transparent 22%),
    radial-gradient(circle at 82% 14%, rgba(245,201,44,.30), transparent 24%),
    radial-gradient(circle at 55% 8%, rgba(121,69,255,.28), transparent 26%),
    linear-gradient(180deg, #1b0d2a 0%, #4d1552 42%, #ff5c3a 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06),
    0 28px 80px rgba(101,24,68,.36),
    0 0 44px rgba(245,201,44,.14) !important;
}
.hero-video-chip-only .hero-chip-overlay{
  background:
    linear-gradient(180deg, rgba(17,8,24,.10) 0%, rgba(64,16,48,.26) 42%, rgba(255,92,58,.26) 100%) !important,
    radial-gradient(circle at 14% 18%, rgba(245,201,44,.34), transparent 24%) !important,
    radial-gradient(circle at 82% 18%, rgba(255,92,58,.28), transparent 24%) !important,
    radial-gradient(circle at 50% 12%, rgba(121,69,255,.24), transparent 28%) !important;
}
.hero-video-chip-only .hero-chip-copy-full{
  top:16px !important;
  right:16px !important;
  bottom:16px !important;
  left:16px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  padding:16px !important;
  border-radius:22px !important;
  background:linear-gradient(180deg, rgba(19,8,28,.14), rgba(19,8,28,.22)) !important;
}
.hero-video-chip-only .hero-chip-copy-full h4{
  margin:12px 0 14px !important;
  font-size:1.28rem !important;
  line-height:1.28 !important;
  max-width:none !important;
  color:#fff !important;
  text-shadow:0 0 18px rgba(255,92,58,.12), 0 2px 24px rgba(0,0,0,.30) !important;
}
.hero-video-chip-only .hero-side-list{
  display:grid !important;
  gap:14px !important;
  margin-top:auto !important;
}
.hero-video-chip-only .hero-side-list li{
  color:#fff !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  text-shadow:0 2px 20px rgba(0,0,0,.24) !important;
}
.hero-video-chip-only .hero-side-list li::before{
  width:9px !important;
  height:9px !important;
  top:.55em !important;
  background:linear-gradient(135deg, #ffd86a, #fff) !important;
  box-shadow:0 0 12px rgba(255,216,106,.55) !important;
}
.hero-video-chip-only .hero-side-kicker{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.14) !important;
  box-shadow:0 0 16px rgba(255,255,255,.08) !important;
}
.equalizer-chip{
  left:12px !important;
  right:12px !important;
  bottom:10px !important;
  height:30px !important;
  gap:5px !important;
  opacity:.95 !important;
}
.equalizer-chip span{
  max-width:10px !important;
  flex:0 0 10px !important;
  background:linear-gradient(180deg, rgba(255,249,222,1), rgba(245,201,44,1)) !important;
  box-shadow:0 0 16px rgba(245,201,44,.28), 0 0 30px rgba(255,92,58,.12) !important;
}
.hero-video-chip-only::before{
  width:150px !important;
  height:150px !important;
  background:radial-gradient(circle, rgba(245,201,44,.46), transparent 68%) !important;
}
.hero-video-chip-only::after{
  width:160px !important;
  height:160px !important;
  background:radial-gradient(circle, rgba(255,92,58,.34), transparent 68%) !important;
}


/* v23 clean chip redesign */
.hero-video-chip-clean{
  position:relative;
  min-height:620px;
  border-radius:34px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:#1c1022 !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.05),
    0 26px 70px rgba(90,24,54,.24),
    0 0 38px rgba(245,201,44,.10) !important;
}
.hero-video-chip-clean .hero-chip-video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.02);
}
.hero-chip-overlay-clean{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(19,10,24,.18) 0%, rgba(30,12,34,.34) 32%, rgba(63,17,51,.42) 58%, rgba(149,46,31,.46) 100%),
    radial-gradient(circle at 15% 18%, rgba(255,210,84,.20), transparent 24%),
    radial-gradient(circle at 82% 15%, rgba(255,96,64,.18), transparent 24%),
    radial-gradient(circle at 55% 10%, rgba(127,77,255,.16), transparent 28%);
}
.hero-chip-top{
  position:absolute;
  top:18px;
  left:18px;
  right:18px;
  z-index:2;
}
.hero-video-chip-clean .hero-side-kicker{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.14) !important;
  box-shadow:0 0 14px rgba(255,255,255,.08);
}
.hero-chip-content{
  position:absolute;
  left:18px;
  right:18px;
  bottom:26px;
  z-index:2;
  padding:22px 22px 26px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(18,8,24,.28), rgba(18,8,24,.44));
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.10);
}
.hero-chip-content h4{
  margin:0 0 18px;
  font-size:1.34rem !important;
  line-height:1.26 !important;
  max-width:16ch;
  color:#fff !important;
  text-shadow:0 2px 20px rgba(0,0,0,.28);
}
.hero-chip-content .hero-side-list{
  display:grid;
  gap:14px;
  margin:0;
}
.hero-chip-content .hero-side-list li{
  color:#fff !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
}
.hero-chip-content .hero-side-list li::before{
  width:9px !important;
  height:9px !important;
  top:.55em !important;
  background:linear-gradient(135deg,#ffe17d,#fff4bd) !important;
  box-shadow:0 0 14px rgba(255,225,125,.48) !important;
}
.equalizer-chip-clean{
  left:18px !important;
  right:auto !important;
  bottom:18px !important;
  width:auto;
  gap:5px !important;
  height:34px !important;
  z-index:3 !important;
}
.equalizer-chip-clean span{
  max-width:9px !important;
  flex:0 0 9px !important;
  background:linear-gradient(180deg, rgba(255,250,225,1), rgba(245,201,44,1)) !important;
  box-shadow:0 0 14px rgba(245,201,44,.24);
}
@media (max-width: 1080px){
  .hero-video-chip-clean{
    min-height:420px;
  }
}
@media (max-width: 860px){
  .hero-video-chip-clean{
    min-height:260px;
  }
  .hero-chip-content{
    left:14px;
    right:14px;
    bottom:14px;
    padding:16px 16px 20px;
  }
  .hero-chip-content h4{
    font-size:1.08rem !important;
    max-width:none;
    margin-bottom:12px;
  }
  .equalizer-chip-clean{
    left:14px !important;
    bottom:14px !important;
    height:26px !important;
  }
}


/* v24 single quote full width */
.hero-chip-content-single{
  left:18px !important;
  right:18px !important;
  bottom:18px !important;
  top:auto !important;
  width:auto !important;
  max-width:none !important;
  display:block !important;
  padding:22px 22px 54px !important;
}
.hero-chip-content-single p{
  margin:0 !important;
  width:100% !important;
  max-width:none !important;
  color:#fff !important;
  font-size:1.34rem !important;
  line-height:1.34 !important;
  font-weight:800 !important;
  text-shadow:0 2px 20px rgba(0,0,0,.28) !important;
}
.equalizer-chip-clean{
  left:18px !important;
  right:18px !important;
  bottom:14px !important;
  width:auto !important;
  justify-content:flex-start !important;
}
@media (max-width: 860px){
  .hero-chip-content-single{
    left:14px !important;
    right:14px !important;
    bottom:14px !important;
    padding:16px 16px 44px !important;
  }
  .hero-chip-content-single p{
    font-size:1.05rem !important;
    line-height:1.4 !important;
  }
  .equalizer-chip-clean{
    left:14px !important;
    right:14px !important;
    bottom:10px !important;
  }
}


/* v25 index cleanup */
.equalizer,
.equalizer-chip,
.equalizer-chip-clean{
  display:none !important;
}

.news-mini-list{
  display:grid;
  gap:14px;
  margin-top:18px;
}
.news-mini-item{
  padding:16px 16px 14px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.56));
  border:1px solid var(--line);
}
.news-mini-item strong{
  display:block;
  margin-bottom:8px;
  font-size:1rem;
}
.news-mini-item span{
  display:block;
  color:var(--muted);
  line-height:1.65;
}
.page-divider img{
  max-height:88px;
  object-fit:cover;
}


/* v26 social icons + news cards */
.social-hub-icons{
  grid-template-columns:1fr;
}
.social-tile-icon{
  display:grid;
  grid-template-columns:64px 1fr;
  align-items:center;
  gap:16px;
}
.social-icon{
  width:64px;
  height:64px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.64));
  box-shadow:var(--shadow);
}
.social-icon svg{
  width:30px;
  height:30px;
}
.instagram-icon{ color:#C13584; }
.facebook-icon{ color:#1877F2; }
.youtube-icon{ color:#FF0000; }

.news-feature-cards{
  display:grid;
  gap:14px;
  margin-top:18px;
}
.news-feature-card{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:14px;
  align-items:stretch;
  padding:12px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.56));
  border:1px solid var(--line);
}
.news-feature-card img{
  width:100%;
  height:100%;
  min-height:108px;
  object-fit:cover;
  border-radius:14px;
}
.news-feature-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.news-feature-body strong{
  display:block;
  margin-bottom:8px;
  font-size:1rem;
  line-height:1.35;
}
.news-feature-body span{
  display:block;
  color:var(--muted);
  line-height:1.6;
}
@media (max-width: 860px){
  .social-tile-icon{
    grid-template-columns:56px 1fr;
    gap:12px;
  }
  .social-icon{
    width:56px;
    height:56px;
    border-radius:18px;
  }
  .news-feature-card{
    grid-template-columns:1fr;
  }
  .news-feature-card img{
    min-height:180px;
  }
}


/* v27 premium social + news slider */
.social-hub-icons{
  gap:12px;
}
.social-tile-icon{
  grid-template-columns:46px 1fr;
  gap:14px;
  padding:16px;
  border-radius:20px;
}
.social-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.72));
  box-shadow:0 10px 24px rgba(60,40,30,.08);
}
.social-icon svg{
  width:20px;
  height:20px;
}
.social-tile-icon strong{
  font-size:1rem;
}
.social-tile-icon p{
  margin:0;
  font-size:.96rem;
}
.social-label{
  padding:6px 10px;
  font-size:.72rem;
}

/* News feature: single main card */
.news-feature-single{
  margin-top:18px;
}
.news-feature-card-large{
  grid-template-columns:180px 1fr;
  padding:12px;
  border-radius:22px;
}
.news-feature-card-large img{
  min-height:128px;
  border-radius:16px;
}
.news-feature-card-large .news-feature-body strong{
  font-size:1.06rem;
}
.news-feature-card-large .news-feature-body span{
  font-size:.97rem;
}

/* Auto scrolling ticker */
.news-ticker{
  margin-top:14px;
  overflow:hidden;
  border-radius:16px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.54));
}
.news-ticker-track{
  display:flex;
  gap:28px;
  width:max-content;
  padding:12px 18px;
  animation:newsTicker 24s linear infinite;
}
.news-ticker-track span{
  position:relative;
  white-space:nowrap;
  color:var(--muted);
  font-weight:700;
  padding-left:16px;
}
.news-ticker-track span::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:7px;
  height:7px;
  margin-top:-3px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--brand-coral),var(--brand-yellow));
}
@keyframes newsTicker{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.news-ticker:hover .news-ticker-track{
  animation-play-state:paused;
}

@media (max-width: 860px){
  .social-tile-icon{
    grid-template-columns:42px 1fr;
    gap:12px;
  }
  .social-icon{
    width:42px;
    height:42px;
    border-radius:12px;
  }
  .social-icon svg{
    width:18px;
    height:18px;
  }
  .news-feature-card-large{
    grid-template-columns:1fr;
  }
  .news-feature-card-large img{
    min-height:180px;
  }
}


/* v28 refined news ticker: slower + more elegant festival feel */
.news-ticker{
  margin-top:16px;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(232,91,54,.18);
  background:
    linear-gradient(90deg, rgba(246,189,36,.10), rgba(255,255,255,.68) 18%, rgba(255,255,255,.56) 82%, rgba(239,59,45,.10)),
    linear-gradient(180deg, rgba(255,255,255,.74), rgba(255,255,255,.54));
  box-shadow:0 12px 30px rgba(60,40,30,.06);
  position:relative;
}
.news-ticker::before,
.news-ticker::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:58px;
  z-index:2;
  pointer-events:none;
}
.news-ticker::before{
  left:0;
  background:linear-gradient(90deg, rgba(244,236,223,1), rgba(244,236,223,0));
}
.news-ticker::after{
  right:0;
  background:linear-gradient(270deg, rgba(244,236,223,1), rgba(244,236,223,0));
}
.news-ticker-track{
  display:flex;
  gap:40px;
  width:max-content;
  padding:14px 22px;
  animation:newsTickerElegant 42s linear infinite;
  align-items:center;
}
.news-ticker-track span{
  position:relative;
  white-space:nowrap;
  color:#5f5750;
  font-weight:800;
  letter-spacing:.01em;
  padding-left:18px;
  font-size:.97rem;
}
.news-ticker-track span::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:8px;
  height:8px;
  margin-top:-4px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--brand-coral),var(--brand-yellow));
  box-shadow:0 0 12px rgba(240,184,74,.35);
}
@keyframes newsTickerElegant{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.news-ticker:hover .news-ticker-track{
  animation-play-state:paused;
}


/* v29 single news card fix */
.news-feature-cards,
.news-mini-list,
.news-mini-item{
  display:none !important;
}
.news-feature-card-single{
  margin-top:18px;
}


/* v30 equal heights + smaller premium social icons */
#social .dual-panel{
  align-items:stretch !important;
}
#social .instagram-box,
#social .social-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
#social .social-card .cta-row{
  margin-top:auto;
  padding-top:16px;
}

.social-hub-icons{
  gap:10px;
}
.social-tile-icon{
  grid-template-columns:38px 1fr !important;
  gap:12px !important;
  padding:14px !important;
  border-radius:18px !important;
}
.social-icon{
  width:38px !important;
  height:38px !important;
  border-radius:12px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.78)) !important;
  border:1px solid rgba(60,48,38,.08) !important;
  box-shadow:
    0 6px 18px rgba(60,40,30,.06),
    inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.social-icon svg{
  width:16px !important;
  height:16px !important;
}
.social-label{
  padding:5px 9px !important;
  font-size:.68rem !important;
  letter-spacing:.03em;
}
.social-tile-icon strong{
  font-size:.96rem !important;
  line-height:1.25;
}
.social-tile-icon p{
  font-size:.92rem !important;
  line-height:1.55 !important;
}

.instagram-icon{
  color:#B7348C !important;
}
.facebook-icon{
  color:#1B66D1 !important;
}
.youtube-icon{
  color:#E53935 !important;
}

@media (max-width: 860px){
  #social .instagram-box,
  #social .social-card{
    height:auto;
  }
  .social-tile-icon{
    grid-template-columns:34px 1fr !important;
    gap:10px !important;
  }
  .social-icon{
    width:34px !important;
    height:34px !important;
    border-radius:10px !important;
  }
  .social-icon svg{
    width:14px !important;
    height:14px !important;
  }
}


/* v31 fix social/news panel widths */
#social .dual-panel{
  grid-template-columns:1fr 1fr !important;
  gap:22px !important;
  align-items:stretch !important;
}
#social .instagram-box,
#social .social-card{
  min-width:0;
  width:100%;
  height:100%;
}

#social .instagram-box{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
#social .social-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

#social .social-hub{
  grid-template-columns:1fr !important;
  gap:12px !important;
  margin-top:18px;
}
#social .social-tile{
  width:100%;
}

#social .news-feature-card-large{
  width:100%;
}
#social .news-ticker{
  width:100%;
}
#social .cta-row{
  margin-top:auto;
  padding-top:16px;
}

@media (max-width: 860px){
  #social .dual-panel{
    grid-template-columns:1fr !important;
  }
}


/* v32 music/event divider */
.page-divider{
  padding:8px 0 2px;
}
.page-divider img{
  width:100%;
  display:block;
  max-height:96px;
  object-fit:contain;
}


/* v33 divider more rock/pop/electronic */
.page-divider{
  padding:8px 0 0;
}
.page-divider img{
  width:100%;
  display:block;
  max-height:94px;
  object-fit:contain;
  filter:drop-shadow(0 6px 12px rgba(232,91,54,.08));
}


/* v34 unified section pages */
.section-brand-logo{
  margin-bottom:18px;
}
.section-brand-logo img{
  max-height:120px;
  width:auto;
}
.unified-hero{
  padding-top:46px;
}
.unified-hero .hero-grid{
  grid-template-columns:1fr 1fr;
  align-items:center;
}
.unified-hero .hero-visual{
  border-radius:30px;
  overflow:hidden;
  padding:0;
  min-height:620px;
}
.unified-hero .hero-visual img{
  width:100%;
  height:100%;
  min-height:620px;
  object-fit:cover;
  display:block;
}
.unified-intro{
  font-size:1.05rem;
}
.case-success{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:24px;
  align-items:center;
}
.case-card{
  border-radius:26px;
  overflow:hidden;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.58));
  box-shadow:var(--shadow);
}
.case-card img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  display:block;
}
.case-copy{
  padding:24px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.60));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.case-copy h2{
  margin:10px 0 12px;
  font-size:clamp(1.9rem,4vw,3rem);
}
.case-copy p{
  color:var(--muted);
  line-height:1.8;
}
.case-points{
  list-style:none;
  padding:0;
  margin:18px 0 0;
  display:grid;
  gap:12px;
}
.case-points li{
  position:relative;
  padding-left:24px;
}
.case-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--brand-coral),var(--brand-yellow));
}
.news-grid-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.news-cat-card{
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.58));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  height:100%;
}
.news-cat-card img{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
}
.news-cat-body{
  padding:20px;
}
.news-cat-body strong{
  display:block;
  font-size:1.05rem;
  margin-bottom:8px;
}
.news-cat-body p{
  color:var(--muted);
  line-height:1.7;
  margin:0;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.cat-badge{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.04em;
  margin-bottom:12px;
  border:1px solid rgba(232,91,54,.16);
  background:#fff6ea;
  color:#9a5b22;
}
.cat-badge-energy{
  border-color:rgba(255,184,28,.42);
  background:rgba(255,184,28,.18);
  color:#7a4b00;
}
.cat-badge-stage{
  border-color:rgba(0,118,114,.34);
  background:rgba(0,118,114,.14);
  color:#005f5c;
}
.org-note{
  margin-top:16px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.58);
  border:1px solid var(--line);
  color:var(--muted);
}
.org-note strong{color:var(--text)}
@media (max-width: 980px){
  .unified-hero .hero-grid,
  .case-success,
  .news-grid-cards{
    grid-template-columns:1fr;
  }
  .unified-hero .hero-visual,
  .unified-hero .hero-visual img{
    min-height:320px;
  }
  .case-card img{
    min-height:260px;
  }
}


/* v37 safety fix for header brand logo */
.site-header .brand,
.site-header .brand.active{
  font-weight:inherit !important;
}
.site-header .brand img{
  height:48px !important;
  width:auto !important;
}


/* v38 image upload for news */
.news-image-preview-wrap{
  margin-top:10px;
}
.news-image-preview{
  width:100%;
  max-width:320px;
  aspect-ratio:3 / 2;
  object-fit:cover;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.7);
  display:block;
}


/* v39 category select + better upload */
.field select{
  border:1px solid var(--line);
  background:rgba(255,255,255,.86);
  border-radius:14px;
  padding:12px 14px;
  font:inherit;
  color:var(--text);
}
input[type="file"]{
  border:1px dashed var(--line);
  background:rgba(255,255,255,.7);
  border-radius:14px;
  padding:12px 14px;
}


/* v41 news on server */
.news-grid-cards-dynamic{
  align-items:stretch;
}
.news-cat-card img{
  background:#eee;
}


/* v42 vertical news images */
.news-cat-card img{
  height:auto !important;
  aspect-ratio: 210 / 297;
  object-fit:cover;
}
.news-feature-card img,
.news-feature-card-large img,
.news-feature-card-single img{
  height:auto !important;
  aspect-ratio: 210 / 297;
  object-fit:cover;
}


/* v43 keep only 3-column news cards on category pages */
.news-feature-card,
.news-feature-card-large,
.news-feature-card-single,
.news-feature-single,
.news-ticker{
  display:none !important;
}
.news-grid-cards{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:18px !important;
}
@media (max-width: 980px){
  .news-grid-cards{
    grid-template-columns:1fr !important;
  }
}


/* v44 index latest mixed news */
.index-news-list{
  display:grid;
  gap:14px;
  margin-top:18px;
}
.index-news-item{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:14px;
  align-items:stretch;
  padding:12px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.56));
  border:1px solid var(--line);
}
.index-news-item img{
  width:100%;
  height:100%;
  min-height:100px;
  object-fit:cover;
  border-radius:14px;
}
.index-news-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.index-news-body strong{
  display:block;
  margin-bottom:8px;
  font-size:1rem;
  line-height:1.35;
}
.index-news-body p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.news-list p{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
@media (max-width: 860px){
  .index-news-item{
    grid-template-columns:84px 1fr;
    gap:12px;
  }
  .index-news-item img{
    min-height:88px;
  }
}


/* v45 index news carousel */
.index-news-carousel{
  margin-top:18px;
}
.index-news-single{
  margin-bottom:14px;
}
.index-news-item-large{
  grid-template-columns:120px 1fr;
}
.index-news-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
}
.news-nav-btn{
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.68));
  box-shadow:0 8px 18px rgba(60,40,30,.06);
  font-size:1.5rem;
  line-height:1;
  color:var(--text);
  cursor:pointer;
}
.news-nav-btn:disabled{
  opacity:.45;
  cursor:default;
}
.index-news-counter{
  min-width:68px;
  text-align:center;
  font-weight:700;
  color:var(--muted);
}
@media (max-width: 860px){
  .index-news-item-large{
    grid-template-columns:84px 1fr;
  }
  .news-nav-btn{
    width:38px;
    height:38px;
    font-size:1.35rem;
  }
}

/* v46 Grupo Animapro content refresh */
.site-header .brand img{
  height:58px !important;
  max-width:210px;
  object-fit:contain;
}
.logo-showcase{
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:420px;
}
.logo-showcase img{
  width:min(100%,760px);
  max-height:520px;
  object-fit:contain;
  border-radius:22px;
}
.feature-mosaic{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.feature-mosaic img{
  width:100%;
  height:430px;
  object-fit:cover;
  border-radius:22px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.service-grid-6{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  align-items:stretch;
}
.service-grid-6 .service-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.service-grid-6 .service-card img.cover,
.service-grid-6 .service-card video.cover{
  height:240px;
  width:100%;
  object-fit:cover;
  flex:0 0 auto;
}
.service-grid-6 .service-body{
  display:flex;
  flex:1;
  flex-direction:column;
}
.service-grid-6 .text-link{
  margin-top:auto;
}
.service-card-video video.cover,
.service-card video.cover{
  width:100%;
  height:230px;
  object-fit:cover;
  display:block;
}
.text-link{
  display:inline-flex;
  margin-top:10px;
  font-weight:800;
  color:var(--brand-red);
}
.project-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.project-gallery.project-gallery-5{
  grid-template-columns:repeat(5,1fr);
}
.project-gallery article{
  overflow:hidden;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.62));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.project-gallery img{
  width:100%;
  height:330px;
  object-fit:cover;
}
.project-gallery article div{
  padding:20px;
}
.project-gallery h3{
  margin:4px 0 8px;
}
.project-gallery p{
  color:var(--muted);
  line-height:1.7;
}
.social-icon.instagram-icon{
  font-size:2rem;
  font-weight:900;
  line-height:1;
}
@media (max-width:1180px){
  .nav-actions .btn{
    display:none;
  }
}
@media (max-width:1120px){
  .menu{
    display:none;
  }
  .mobile-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
}
@media (max-width:1080px){
  .service-grid-6,
  .project-gallery{
    grid-template-columns:1fr 1fr;
  }
  .project-gallery.project-gallery-5{
    grid-template-columns:1fr 1fr;
  }
  .logo-showcase{
    min-height:320px;
  }
}
@media (max-width:860px){
  .service-grid-6,
  .project-gallery,
  .feature-mosaic{
    grid-template-columns:1fr;
  }
  .project-gallery.project-gallery-5{
    grid-template-columns:1fr;
  }
  .feature-mosaic img,
  .project-gallery img{
    height:300px;
  }
  .service-grid-6 .service-card img.cover,
  .service-grid-6 .service-card video.cover{
    height:220px;
  }
}

/* Produccion: chips principales de la home con color de area. */
.hero .hero-actions .btn-chip-stage{
  background:#007672;
  border-color:#007672;
  color:#fff;
  box-shadow:0 14px 28px rgba(0,118,114,.26);
}
.hero .hero-actions .btn-chip-energy{
  background:#ffb81c;
  border-color:#ffb81c;
  color:#2d2111;
  box-shadow:0 14px 28px rgba(255,184,28,.28);
}
.hero .hero-actions .btn-chip-productions{
  background:linear-gradient(135deg,#ef3b2d,#ab2530);
  border-color:#ab2530;
  color:#fff;
  box-shadow:0 14px 28px rgba(171,37,48,.22);
}
