/* ===========================================================
   CEREZAS PRIMORES — Sitio oficial — V2.0
   Paleta: negro premium, blanco, burdeo cereza, dorado, grises suaves
   Tipografía: Montserrat (títulos) · Inter (cuerpo) · Poppins (acentos)
   Mobile-first. Animaciones discretas. Contraste WCAG AA.
   =========================================================== */

:root{
  --black:#0B0B0C;
  --black-soft:#17161A;
  --white:#FFFFFF;
  --burgundy:#6B0F1A;
  --burgundy-light:#8C1D2E;
  --burgundy-pale:#F4E7E8;
  --gold:#B08D3E;
  --gold-light:#D8BD7B;
  --gold-text:#8A6A2E;      /* variante oscura del dorado — AA sobre blanco */
  --gray-50:#F7F6F4;
  --gray-100:#EEECE8;
  --gray-300:#D8D4CC;
  --gray-500:#8A8478;
  --gray-700:#4A463F;
  --ink:#141313;

  --font-display:'Montserrat', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-accent:'Poppins', sans-serif;

  --container:1220px;
  --radius:16px;
  --shadow:0 24px 60px rgba(11,11,12,0.12);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
.cp-site{overflow-x:hidden;}
h1,h2,h3,h4{font-family:var(--font-display); margin:0; font-weight:700; color:var(--black);}
p{margin:0 0 1.1em; line-height:1.75; color:var(--gray-700);}
a{color:inherit;}
img{max-width:100%; display:block;}
button{font-family:inherit;}
.cp-wrap{max-width:var(--container); margin:0 auto; padding:0 24px;}
.cp-skip{position:absolute; left:-999px; top:0; background:var(--black); color:#fff; padding:12px 18px; z-index:999;}
.cp-skip:focus{left:12px; top:12px;}

@media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important; scroll-behavior:auto !important;} }

/* ---------- accesibilidad: foco visible reforzado ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:3px solid var(--gold-light);
  outline-offset:3px;
  box-shadow:0 0 0 6px rgba(107,15,26,.18);
  border-radius:4px;
}

/* ---------- offset de anclas para el nav fijo ---------- */
#inicio, #que-es, #programa, #expositores, #sponsors, #galeria, #noticias, #contacto, #entradas{
  scroll-margin-top:88px;
}
.cp-anchor{height:0;}

/* ---------- kickers / eyebrows ---------- */
.cp-kicker, .cp-hero-eyebrow{
  font-family:var(--font-accent); font-weight:600; font-size:.85rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--gold-text);
  margin-bottom:16px; display:block;
}
.cp-kicker-light{color:var(--gold-light);}
.cp-lead{font-size:1.15rem; color:var(--gray-700); max-width:52ch; font-weight:400;}
.cp-lead-dark{color:#D9D3C6;}
.cp-section-sub{color:var(--gray-500); font-size:1.02rem; max-width:56ch;}
.cp-section-sub-dark{color:#C9C2B4;}

/* ---------- fade-up scroll animation (discreta) ---------- */
.cp-fade, .cp-fade-up{opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.cp-fade{transform:translateY(12px); transition-duration:.6s;}
.cp-fade.cp-in, .cp-fade-up.cp-in{opacity:1; transform:translateY(0);}

/* =================== NAV =================== */
.cp-nav{
  position:fixed; top:0; left:0; right:0; z-index:200;
  background:transparent; transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
  padding:26px 0;
}
.cp-nav.cp-scrolled{background:rgba(11,11,12,0.94); backdrop-filter:blur(12px); padding:14px 0; box-shadow:0 2px 30px rgba(0,0,0,.2);}
.cp-nav-inner{
  max-width:var(--container); margin:0 auto; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between;
}
.cp-brand{display:flex; align-items:center; gap:11px; text-decoration:none; color:#fff;}
.cp-brand img{width:34px; height:34px; object-fit:contain;}
.cp-brand span{font-family:var(--font-display); font-weight:600; font-size:.8rem; letter-spacing:.1em;}
.cp-brand b{font-weight:800; color:var(--gold-light);}

.cp-menu{display:flex; align-items:center; gap:32px;}
.cp-menu a{
  color:#fff; text-decoration:none; font-family:var(--font-accent); font-weight:500;
  font-size:.85rem; letter-spacing:.02em; opacity:.9; transition:opacity .2s ease;
  padding:6px 0; position:relative;
}
.cp-menu a:hover{opacity:1;}
.cp-menu a:not(.cp-nav-cta)::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1.5px; background:var(--gold-light);
  transition:width .3s var(--ease);
}
.cp-menu a:not(.cp-nav-cta):hover::after{width:100%;}
.cp-nav-cta{
  background:var(--burgundy); padding:11px 22px !important; border-radius:999px;
  font-weight:600 !important; box-shadow:0 8px 22px rgba(107,15,26,.4);
  transition:background .2s ease, transform .2s ease !important;
}
.cp-nav-cta:hover{background:var(--burgundy-light); transform:translateY(-1px);}

.cp-burger{
  display:flex; flex-direction:column; justify-content:center; gap:5px;
  width:42px; height:42px; background:none; border:none; cursor:pointer; z-index:210;
}
.cp-burger span{width:24px; height:2px; background:#fff; transition:transform .3s ease, opacity .3s ease;}
.cp-burger.cp-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.cp-burger.cp-open span:nth-child(2){opacity:0;}
.cp-burger.cp-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width:920px){
  .cp-burger{display:flex;}
  .cp-menu{
    position:fixed; inset:0 0 0 26%; background:var(--black);
    flex-direction:column; align-items:flex-start; justify-content:center;
    padding:40px; gap:28px; transform:translateX(100%); transition:transform .45s var(--ease);
  }
  .cp-menu.cp-open{transform:translateX(0);}
  .cp-menu a{font-size:1.2rem;}
  .cp-nav-cta{margin-top:12px;}
}

/* =================== HERO — V2 =================== */
.cp-hero{
  position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end;
  color:#fff; overflow:hidden;
}
.cp-hero-media{position:absolute; inset:0; z-index:0;}
.cp-hero-media img{width:100%; height:100%; object-fit:cover; object-position:center 38%;}
.cp-hero-shade{
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(6,6,7,.96) 0%, rgba(8,8,9,.72) 32%, rgba(9,9,10,.32) 62%, rgba(9,9,10,.55) 100%);
}
.cp-hero-vignette{
  position:absolute; inset:0;
  box-shadow:inset 0 0 180px rgba(0,0,0,.55);
  pointer-events:none;
}
.cp-hero-inner{
  position:relative; z-index:1; max-width:var(--container); margin:0 auto; padding:160px 24px 0; width:100%;
}
.cp-hero-content{max-width:760px;}
.cp-hero-eyebrow{color:var(--gold-light); font-size:.82rem;}
.cp-hero-title{
  font-size:clamp(3.4rem, 10vw, 7.4rem); line-height:.92; font-weight:800;
  letter-spacing:-.015em; margin:6px 0 28px;
  color:#fff;
}
.cp-hero-rule{width:56px; height:2px; background:var(--gold-light); margin-bottom:26px;}
.cp-hero-date{
  font-family:var(--font-accent); font-size:clamp(1rem,1.6vw,1.2rem); font-weight:500;
  letter-spacing:.04em; color:#EDE7DC; margin-bottom:40px;
}
.cp-hero-actions{display:flex; flex-wrap:wrap; gap:16px; margin-bottom:70px;}

.cp-hero-footer{
  position:relative; z-index:1; max-width:var(--container); margin:0 auto; width:100%;
  padding:0 24px 40px; display:flex; align-items:center; gap:18px;
}
.cp-hero-auspician{
  font-family:var(--font-accent); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase;
  color:#9C968A; margin:0;
}
.cp-hero-logos{display:flex; align-items:center; gap:22px;}
.cp-hero-logos img{height:22px; width:auto; filter:brightness(0) invert(1); opacity:.82;}
.cp-hero-logo-sep{width:1px; height:18px; background:rgba(255,255,255,.25);}

.cp-scroll-cue{
  position:absolute; z-index:1; left:50%; bottom:26px; transform:translateX(-50%);
  color:#fff; text-decoration:none; width:1px; height:44px; display:flex; align-items:flex-start; justify-content:center;
}
.cp-scroll-line{
  width:1px; height:100%; background:linear-gradient(180deg, rgba(255,255,255,.85), transparent);
  animation:cpScroll 2.2s ease-in-out infinite;
}
@keyframes cpScroll{0%{opacity:0; transform:scaleY(0.3); transform-origin:top;} 40%{opacity:1; transform:scaleY(1); transform-origin:top;} 100%{opacity:0; transform:scaleY(1); transform-origin:bottom;}}

@media (max-width:600px){
  .cp-hero-inner{padding-top:118px;}
  .cp-hero-actions{margin-bottom:50px; gap:12px;}
  .cp-hero-actions .cp-btn{width:100%;}
  .cp-hero-footer{padding-bottom:28px; flex-wrap:wrap;}
}

/* ---------- buttons ---------- */
.cp-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-accent); font-weight:600; font-size:.9rem;
  padding:15px 28px; border-radius:999px; text-decoration:none; cursor:pointer;
  border:1.5px solid transparent; transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
}
.cp-btn:hover{transform:translateY(-2px);}
.cp-btn-lg{padding:18px 34px; font-size:.95rem;}
.cp-btn-primary{background:var(--burgundy); color:#fff; box-shadow:0 14px 30px rgba(107,15,26,.4);}
.cp-btn-primary:hover{background:var(--burgundy-light);}
.cp-btn-outline{border-color:rgba(255,255,255,.55); color:#fff;}
.cp-btn-outline:hover{border-color:var(--gold-light); color:var(--gold-light);}
.cp-btn-outline-dark{border-color:var(--burgundy); color:var(--burgundy);}
.cp-btn-outline-dark:hover{background:var(--burgundy); color:#fff;}
.cp-btn-block{width:100%;}

.cp-inline-cta{
  display:inline-flex; align-items:center; gap:8px; margin-top:6px;
  font-family:var(--font-accent); font-weight:600; font-size:.92rem; color:var(--burgundy);
  text-decoration:none; border-bottom:1.5px solid var(--gold-light); padding-bottom:2px;
  transition:gap .25s var(--ease);
}
.cp-inline-cta:hover{gap:13px;}

/* =================== SECTION GENERIC =================== */
.cp-section{padding:120px 0;}
.cp-section-head{max-width:660px; margin-bottom:60px;}
.cp-section-head.cp-center{margin-left:auto; margin-right:auto; text-align:center;}
.cp-section-head h2, .cp-programa h2, .cp-brand-story h2, .cp-mid-cta h2, .cp-final-cta h2{
  font-size:clamp(1.85rem, 3.4vw, 2.4rem); line-height:1.15; letter-spacing:-.01em;
}
.cp-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:76px; align-items:center;}
@media (max-width:860px){ .cp-grid-2{grid-template-columns:1fr; gap:40px;} }
@media (max-width:600px){ .cp-section{padding:80px 0;} .cp-section-head{margin-bottom:42px;} }

/* =================== QUÉ ES / BRAND STORY =================== */
.cp-brand-story{background:var(--white);}
.cp-brand-photo img{border-radius:var(--radius); box-shadow:var(--shadow); width:100%; aspect-ratio:4/3; object-fit:cover;}

/* =================== POR QUÉ PARTICIPAR =================== */
.cp-why{background:var(--gray-50); padding-bottom:0;}
.cp-why .cp-wrap{padding-bottom:120px;}
.cp-why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-bottom:44px;}
@media (max-width:920px){ .cp-why-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .cp-why-grid{grid-template-columns:1fr;} .cp-why .cp-wrap{padding-bottom:80px;} }
.cp-why-card{
  background:#fff; border-radius:var(--radius); padding:32px 26px; border:1px solid var(--gray-100);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.cp-why-card:hover{transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--gold-light);}
.cp-why-num{
  font-family:var(--font-display); font-weight:800; font-size:.85rem; color:var(--gold-text);
  display:inline-block; margin-bottom:18px; letter-spacing:.05em;
}
.cp-why-card h3{font-size:1.14rem; margin-bottom:10px;}
.cp-why-card p{font-size:.95rem; margin:0;}
.cp-audience{text-align:center; font-size:1.02rem; color:var(--gray-700);}
.cp-audience strong{color:var(--black); font-weight:600;}

/* ---------- CTA intermedio (foto huerto) ---------- */
.cp-mid-cta{position:relative; min-height:440px; display:flex; align-items:center; overflow:hidden;}
.cp-mid-cta-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.cp-mid-cta-shade{position:absolute; inset:0; background:linear-gradient(100deg, rgba(11,11,12,.88) 20%, rgba(11,11,12,.5) 55%, rgba(11,11,12,.25) 100%);}
.cp-mid-cta-content{position:relative; z-index:1; max-width:var(--container); margin:0 auto; padding:0 24px; width:100%;}
.cp-mid-cta-content h2{color:#fff; max-width:16ch; margin-bottom:30px;}
@media (max-width:700px){ .cp-mid-cta{min-height:520px; padding:60px 0;} .cp-mid-cta-content h2{max-width:100%;} }

/* =================== PROGRAMA / EXPOSITORES ===================== */
.cp-programa{position:relative; color:#fff; text-align:center; overflow:hidden;}
.cp-programa-media{position:absolute; inset:0; z-index:0;}
.cp-programa-media img{width:100%; height:100%; object-fit:cover; opacity:.28;}
.cp-programa::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, var(--black) 0%, rgba(11,11,12,.85) 60%, var(--black) 100%); z-index:0;}
.cp-programa-inner{position:relative; z-index:1; max-width:640px; margin:0 auto;}
.cp-programa h2{color:#fff; margin-bottom:20px;}
.cp-programa .cp-lead{margin:0 auto 26px; max-width:44ch;}
.cp-programa-soon{font-family:var(--font-accent); font-weight:600; color:var(--gold-light); margin-bottom:18px; font-size:.95rem;}
.cp-programa-list{
  list-style:none; padding:0; margin:0 0 30px; display:flex; flex-wrap:wrap; justify-content:center; gap:12px;
}
.cp-programa-list li{
  border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:11px 24px;
  font-family:var(--font-accent); font-size:.88rem; color:#EDE7DC;
}
.cp-programa-expositores{font-size:.92rem; color:#B7AFA0;}
.cp-programa-expositores strong{color:var(--gold-light); font-weight:600;}

/* =================== GALERÍA ===================== */
.cp-gallery-section{background:var(--white);}
.cp-gallery-grid{
  max-width:var(--container); margin:0 auto; padding:0 24px;
  display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:220px; gap:14px;
}
.cp-gallery-wide{grid-column:span 2; grid-row:span 2;}
@media (max-width:920px){
  .cp-gallery-grid{grid-template-columns:repeat(3,1fr); grid-auto-rows:170px;}
}
@media (max-width:600px){
  .cp-gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; gap:8px;}
  .cp-gallery-wide{grid-column:span 2; grid-row:span 1;}
}
.cp-gallery-item{
  border:none; padding:0; margin:0; cursor:zoom-in; overflow:hidden; border-radius:10px;
  position:relative; background:var(--gray-100); width:100%; height:100%;
}
.cp-gallery-item img{
  width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);
}
.cp-gallery-item:hover img{transform:scale(1.08);}
.cp-gallery-item::after{
  content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(11,11,12,.4), transparent 45%);
  opacity:0; transition:opacity .35s ease;
}
.cp-gallery-item:hover::after{opacity:1;}

.cp-lightbox{
  position:fixed; inset:0; background:rgba(9,9,10,.96); z-index:500;
  display:flex; align-items:center; justify-content:center; padding:30px;
  opacity:0; pointer-events:none; transition:opacity .35s ease;
}
.cp-lightbox.cp-open{opacity:1; pointer-events:all;}
.cp-lightbox img{max-width:100%; max-height:88vh; border-radius:8px; box-shadow:0 30px 90px rgba(0,0,0,.55);}
.cp-lightbox-close{
  position:absolute; top:24px; right:28px; background:none; border:none; color:#fff;
  font-size:2.1rem; cursor:pointer; line-height:1;
}

/* =================== SPONSORS ===================== */
.cp-sponsors{background:var(--gray-50);}
.cp-sponsor-tier{margin-bottom:50px;}
.cp-tier-label{
  font-family:var(--font-accent); font-weight:600; font-size:.8rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold-text); margin-bottom:22px; text-align:center;
}
.cp-sponsor-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:20px;
}
.cp-sponsor-tile{
  background:#fff; border:1px solid var(--gray-100); border-radius:12px;
  display:flex; align-items:center; justify-content:center; padding:20px 24px; min-height:128px; max-width:220px; margin:0 auto;
  text-decoration:none; transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.cp-sponsor-tile:hover{transform:translateY(-5px); box-shadow:var(--shadow); border-color:var(--gold-light);}
.cp-sponsor-tile img{max-width:100%; max-height:88px; width:auto; object-fit:contain;}
.cp-sponsor-fallback{font-family:var(--font-display); font-weight:700; color:var(--burgundy); text-align:center;}
.cp-sponsor-cta{
  text-align:center; margin-top:24px; padding:44px 32px; background:#fff; border-radius:var(--radius);
  border:1px dashed var(--gray-300);
}
.cp-sponsor-cta p{font-size:1.05rem; color:var(--black); font-weight:500; max-width:44ch; margin:0 auto 22px;}
.cp-empty-state{text-align:center; color:var(--gray-500); padding:20px 0;}
.cp-empty-hint{font-size:.85rem; color:var(--gray-300);}

/* =================== NOTICIAS ===================== */
.cp-noticias{background:var(--white);}
.cp-noticias-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
@media (max-width:860px){ .cp-noticias-grid{grid-template-columns:1fr;} }
.cp-noticia-card{border:1px solid var(--gray-100); border-radius:var(--radius); overflow:hidden; transition:box-shadow .3s var(--ease), transform .3s var(--ease);}
.cp-noticia-card:hover{box-shadow:var(--shadow); transform:translateY(-5px);}
.cp-noticia-img img{width:100%; aspect-ratio:16/10; object-fit:cover;}
.cp-noticia-card h3{font-size:1.1rem; padding:0 22px; margin-top:16px;}
.cp-noticia-card h3 a{text-decoration:none; color:var(--black);}
.cp-noticia-date{font-family:var(--font-accent); font-size:.76rem; letter-spacing:.09em; text-transform:uppercase; color:var(--gold-text); padding:20px 22px 0; margin:0;}
.cp-noticia-card p{padding:0 22px; font-size:.93rem;}
.cp-noticia-link{display:block; padding:0 22px 24px; font-weight:600; text-decoration:none; color:var(--burgundy); font-size:.9rem;}

/* =================== ENTRADAS ===================== */
.cp-tickets{
  background:linear-gradient(160deg, var(--black) 0%, #241318 65%, var(--burgundy) 145%);
  color:#fff; text-align:center;
}
.cp-tickets h2{color:#fff;}
.cp-tickets .cp-section-sub{margin:0 auto;}
.cp-ticket-cards{display:flex; flex-wrap:wrap; justify-content:center; gap:22px; margin:40px 0 22px;}
.cp-ticket-btn{
  display:flex; flex-direction:column; align-items:center; gap:5px;
  padding:28px 56px; border-radius:16px; text-decoration:none; min-width:250px;
  font-family:var(--font-accent); transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.cp-ticket-btn:hover{transform:translateY(-4px);}
.cp-ticket-red{background:var(--burgundy); color:#fff; box-shadow:0 18px 38px rgba(107,15,26,.45);}
.cp-ticket-red:hover{background:var(--burgundy-light);}
.cp-ticket-gold{background:linear-gradient(135deg, var(--gold-light), var(--gold)); color:#1c1408; box-shadow:0 18px 38px rgba(176,141,62,.4);}
.cp-ticket-label{font-weight:700; font-size:1.18rem;}
.cp-ticket-sub{font-size:.82rem; opacity:.85; letter-spacing:.06em; text-transform:uppercase;}
.cp-ticket-note{color:#B7AFA0; font-size:.87rem;}

/* =================== CONTACTO ===================== */
.cp-contact{background:var(--gray-50);}
.cp-contact-info{list-style:none; padding:0; margin:30px 0 0; display:flex; flex-direction:column; gap:20px;}
.cp-contact-info strong{display:block; font-family:var(--font-accent); font-size:.85rem; letter-spacing:.05em; text-transform:uppercase; color:var(--gold-text); margin-bottom:4px;}
.cp-form{background:#fff; border-radius:var(--radius); padding:36px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:20px;}
.cp-field{display:flex; flex-direction:column; gap:9px; font-family:var(--font-accent); font-size:.86rem; color:var(--gray-700);}
.cp-field input, .cp-field select, .cp-field textarea{
  font-family:var(--font-body); font-size:1rem; padding:14px 15px; border-radius:8px;
  border:1.5px solid var(--gray-300); background:var(--gray-50); color:var(--ink); resize:vertical;
  transition:border-color .2s ease, background .2s ease;
}
.cp-field input:focus, .cp-field select:focus, .cp-field textarea:focus{border-color:var(--gold); outline:none; background:#fff;}
.cp-hp{position:absolute; left:-9999px; opacity:0; height:0; overflow:hidden;}
.cp-alert{padding:15px 18px; border-radius:10px; margin-bottom:20px; font-size:.93rem; font-weight:500;}
.cp-alert-success{background:#E7F3EA; color:#1C6B33; border:1px solid #BEE0C6;}
.cp-alert-error{background:var(--burgundy-pale); color:var(--burgundy); border:1px solid #E3C3C6;}

/* =================== CTA FINAL (antes del footer) ===================== */
.cp-final-cta{position:relative; min-height:560px; display:flex; align-items:center; overflow:hidden; text-align:center;}
.cp-final-cta-media{position:absolute; inset:0;}
.cp-final-cta-media img{width:100%; height:100%; object-fit:cover;}
.cp-final-cta-shade{position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,7,8,.55) 0%, rgba(11,7,8,.86) 55%, var(--black) 100%);}
.cp-final-cta-content{position:relative; z-index:1; max-width:680px; margin:0 auto;}
.cp-final-cta h2{color:#fff; margin-bottom:18px;}
.cp-final-cta-sub{color:#E3DCCE; font-size:1.08rem; max-width:44ch; margin:0 auto 34px;}
.cp-final-cta-actions{display:flex; flex-wrap:wrap; justify-content:center; gap:16px;}
@media (max-width:600px){
  .cp-final-cta{min-height:0; padding:100px 0;}
  .cp-final-cta-actions .cp-btn{width:100%;}
}

/* =================== FOOTER ===================== */
.cp-footer{background:var(--black); color:#D9D3C6; padding:76px 0 0;}
.cp-footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:44px; padding-bottom:54px; border-bottom:1px solid rgba(255,255,255,.1);}
@media (max-width:760px){ .cp-footer-grid{grid-template-columns:1fr; gap:34px;} }
.cp-footer-brand{display:flex; flex-direction:column; gap:16px;}
.cp-footer-brand img{width:42px;}
.cp-footer-brand p{color:#B7AFA0; font-size:.92rem; margin:0;}
.cp-footer-title{font-family:var(--font-accent); font-weight:600; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-light); margin-bottom:18px;}
.cp-footer-links{display:flex; flex-direction:column; gap:11px;}
.cp-footer-links a{color:#D9D3C6; text-decoration:none; font-size:.92rem;}
.cp-footer-links a:hover{color:var(--gold-light);}
.cp-footer-susttex{height:32px; width:auto; filter:brightness(0) invert(1); opacity:.85;}
.cp-footer-bottom{
  display:flex; justify-content:space-between; align-items:center; padding:26px 24px; font-size:.8rem; color:#8A8378;
}
.cp-to-top{color:#fff; text-decoration:none; border:1px solid rgba(255,255,255,.25); border-radius:50%; width:36px; height:36px; display:flex; align-items:center; justify-content:center; transition:border-color .2s ease, color .2s ease;}
.cp-to-top:hover{border-color:var(--gold-light); color:var(--gold-light);}

/* =================== RESPONSIVE FINE-TUNING =================== */
@media (max-width:600px){
  .cp-ticket-btn{min-width:0; width:100%; padding:24px;}
  .cp-form{padding:26px;}
}
