/* ═══════════════════════════════════════
   UROCILEP 2026 — Main Stylesheet v3
═══════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
}

:root {
  --blue-dark:   #0052A5;
  --blue:        #0C6FC0;
  --blue-mid:    #0F88F4;
  --blue-light:  #5BB8FF;
  --blue-pale:   #D6ECFF;
  --blue-bg:     #EAF4FF;
  --gold:        #E4AA6E;
  --gold-bright: #FFD740;
  --gold-grad:   linear-gradient(90deg, #E4AA6E 0%, #FFD740 100%);
  --dark:        #111827;
  --body:        #4B5563;
  --muted:       #9CA3AF;
  --white:       #FFFFFF;
  --off-white:   #F8FAFC;
  --border:      rgba(12,111,192,0.15);
  --bg-white:    #FFFFFF;
  --bg-light:    #F0F7FF;
  --bg-sponsors: #1A5FA8;
  --bg-navy:     #06223C;
  --hero-grad:   linear-gradient(150deg, #06223C 0%, #0A3F6B 55%, #0C6FC0 100%);
  --blue-grad:   linear-gradient(90deg, #0F88F4 0%, #0C6FC0 100%);
  --section-grad: linear-gradient(160deg, #06223C 0%, #0A3F6B 100%);
  --shadow-sm:   0 2px 8px rgba(12,111,192,0.10);
  --shadow-md:   0 8px 32px rgba(12,111,192,0.14);
  --shadow-lg:   0 20px 60px rgba(12,111,192,0.20);
  --glow-gold:   0 4px 24px rgba(228,170,110,0.45);
  --glow-blue:   0 4px 24px rgba(15,136,244,0.35);
}

html { scroll-behavior: smooth; overflow-x: hidden; max-width: 100vw; }
body { font-family: 'Urbanist', sans-serif; font-size: 16px; line-height: 1.7; color: var(--body); background: var(--bg-navy); overflow-x: hidden; }
img  { max-width: 100%; height: auto; display: block; }
a    { text-decoration: none; color: inherit; }
.container { max-width: 1160px; margin: 0 auto; padding: 0 28px; }
section { padding: 96px 28px; }
h1,h2,h3,h4 { line-height:1.15; color:var(--dark); font-weight:800; }
h1 { font-size: clamp(2.2rem,5vw,3.4rem); }
h2 { font-size: clamp(1.6rem,3.5vw,2.4rem); }
h3 { font-size: clamp(1.1rem,2vw,1.4rem); }
p  { font-size: 1.05rem; }
.text-center { text-align: center; }
.text-center .section-intro { margin-left:auto; margin-right:auto; }

/* Section labels */
.section-label { display:inline-flex; align-items:center; gap:8px; font-size:0.75rem; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:var(--blue); margin-bottom:14px; }
.section-label::before { content:''; display:block; width:20px; height:2px; background:var(--blue-grad); border-radius:2px; flex-shrink:0; }
.section-label.gold { color:var(--gold); }
.section-label.gold::before { background:var(--gold-grad); }
.section-title { font-size:clamp(1.8rem,4vw,2.8rem); font-weight:900; line-height:1.1; color:var(--dark); margin-bottom:16px; }
.section-title.light { color:var(--white); }
.section-title.gradient-text { background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.section-intro { font-size:1.08rem; color:var(--body); max-width:640px; line-height:1.7; }
.section-intro.light { color:rgba(255,255,255,0.7); }

/* Checklist */
.checklist { list-style:none; display:flex; flex-direction:column; gap:12px; margin:20px 0; }
.checklist li { display:flex; align-items:flex-start; gap:12px; font-size:1rem; }
.check-dot { flex-shrink:0; width:22px; height:22px; border-radius:50%; background:rgba(228,170,110,0.18); display:flex; align-items:center; justify-content:center; margin-top:2px; }
.check-dot svg { width:11px; height:11px; stroke:var(--gold); stroke-width:2.5; fill:none; }

/* Buttons — 2px raise only */
.btn { display:inline-flex; align-items:center; gap:8px; font-family:'Urbanist',sans-serif; font-weight:800; font-size:0.88rem; letter-spacing:0.07em; text-transform:uppercase; border:none; border-radius:50px; cursor:pointer; transition:transform 0.2s, box-shadow 0.2s; padding:13px 28px; }
.btn-primary { background:var(--gold-grad); color:var(--dark); box-shadow:var(--glow-gold); position:relative; overflow:hidden; }
.btn-primary::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.28) 50%,transparent 100%); transform:translateX(-100%); animation:shimmer 2.8s ease-in-out infinite; }
@keyframes shimmer { to { transform:translateX(200%); } }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(255,215,64,0.55); }
.btn-blue { background:var(--blue-grad); color:var(--white); box-shadow:var(--glow-blue); }
.btn-blue:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(15,136,244,0.5); }
.btn-outline { background:transparent; color:var(--blue); border:2px solid var(--blue); }
.btn-outline:hover { background:var(--blue); color:white; transform:translateY(-2px); }

/* Reveal animations */
.reveal        { opacity:0; transform:translateY(28px); transition:opacity 0.65s ease, transform 0.65s ease; }
.reveal-left   { opacity:0; transform:translateX(-32px); transition:opacity 0.65s ease, transform 0.65s ease; }
.reveal-right  { opacity:0; transform:translateX(32px); transition:opacity 0.65s ease, transform 0.65s ease; }
.reveal.in,.reveal-left.in,.reveal-right.in { opacity:1; transform:translate(0); }
.d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s} .d4{transition-delay:.4s} .d5{transition-delay:.5s}

/* ─── Flashlight (larger radius) ─── */
.flashlight { --fx:50%; --fy:50%; position:relative; overflow:hidden; }
.flashlight::after { content:''; pointer-events:none; position:absolute; inset:0; border-radius:inherit; background:radial-gradient(circle 480px at var(--fx) var(--fy), rgba(255,255,255,0.10) 0%, transparent 70%); opacity:0; transition:opacity 0.35s; }
.flashlight:hover::after { opacity:1; }

/* ─── Section dividers ─── */
.div-wrap { line-height:0; overflow:hidden; margin:0; padding:0; display:block; }
.div-wrap svg { display:block; width:100%; }
/* Wave divider SVGs */
.wdiv { display:block; width:100%; position:relative; z-index:2; }
.wdiv-mt { margin-top:-63px; }
.wdiv-mb { margin-bottom:-63px; }

/* ══════ HEADER ══════ */
#site-header { position:fixed; top:0; width:100%; z-index:500; padding:16px 28px; transition:background 0.4s, backdrop-filter 0.4s, box-shadow 0.4s, padding 0.3s; overflow:visible; }
#site-header.scrolled { background:rgba(6,34,60,0.88); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); box-shadow:0 2px 40px rgba(0,0,0,0.3); padding:12px 28px; }
.header-inner { max-width:1160px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:20px; position:relative; z-index:1; }
.header-logo img { width:108px; transition:width 0.3s; }
#site-header.scrolled .header-logo img { width:96px; }

/* hero threads svg */
.hero-threads-svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1; }

/* ─── Nav: glass pill hover ─── */
nav { display:flex; gap:4px; align-items:center; }
nav a { color:rgba(255,255,255,0.85); font-weight:700; text-transform:uppercase; font-size:0.78rem; letter-spacing:0.08em; padding:7px 14px; border-radius:20px; transition:color 0.2s, background 0.2s; }
nav a:hover { color:var(--white); background:rgba(255,255,255,0.12); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
nav a.nav-btn-outline { border:1.5px solid rgba(255,255,255,0.45); border-radius:20px; }
nav a.nav-btn-outline:hover { border-color:var(--gold); color:var(--gold); background:rgba(228,170,110,0.1); }
.drawer-nav a.nav-btn-outline { border:none; border-radius:0; }

.header-cta { background:var(--gold-grad); color:var(--dark); font-family:'Urbanist',sans-serif; font-weight:800; font-size:0.78rem; letter-spacing:0.07em; text-transform:uppercase; border-radius:50px; padding:10px 22px; white-space:nowrap; transition:transform 0.2s, box-shadow 0.2s; box-shadow:0 0 18px rgba(228,170,110,0.35); }
.header-cta:hover { transform:translateY(-2px); box-shadow:var(--glow-gold); }
.burger { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:4px; flex-shrink:0; }
.burger span { display:block; width:24px; height:2px; background:#fff; border-radius:2px; transition:0.25s; }
.burger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity:0; }
.burger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ─── Mobile drawer nav ─── */
.nav-overlay { display:none; position:fixed; inset:0; background:rgba(6,34,60,0.6); z-index:600; backdrop-filter:blur(4px); opacity:0; transition:opacity 0.35s; }
.nav-overlay.open { display:block; opacity:1; }
.nav-drawer { position:fixed; top:0; right:0; height:100%; width:min(360px, 90vw); background:linear-gradient(160deg,#06223C 0%,#0A3F6B 100%); z-index:700; transform:translateX(100%); transition:transform 0.4s cubic-bezier(0.16,1,0.3,1); display:flex; flex-direction:column; overflow-y:auto; }
.nav-drawer.open { transform:translateX(0); }
.nav-drawer-inner { display:flex; flex-direction:column; padding:32px 28px 40px; min-height:100%; }
.nav-close { align-self:flex-end; background:rgba(255,255,255,0.1); border:none; border-radius:50%; width:40px; height:40px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:white; margin-bottom:32px; transition:background 0.2s; flex-shrink:0; }
.nav-close:hover { background:rgba(255,255,255,0.2); }
.drawer-logo { width:120px; filter:brightness(0) invert(1); margin-bottom:40px; }
.drawer-nav { display:flex; flex-direction:column; align-items:flex-start; gap:0; flex:1; }
.drawer-nav a { color:rgba(255,255,255,0.8); font-weight:700; text-transform:uppercase; font-size:1rem; letter-spacing:0.08em; padding:14px 0; border:none; text-align:left; transition:color 0.2s; -webkit-tap-highlight-color:transparent; }
.drawer-nav a:hover, .drawer-nav a:active, .drawer-nav a:focus { color:rgba(255,255,255,0.8); }
.drawer-cta { display:inline-flex; align-items:center; justify-content:center; background:var(--gold-grad); color:var(--dark); font-family:'Urbanist',sans-serif; font-weight:800; font-size:0.9rem; letter-spacing:0.07em; text-transform:uppercase; border-radius:50px; padding:14px 28px; margin-top:32px; box-shadow:var(--glow-gold); transition:transform 0.2s; }
.drawer-cta:hover { transform:translateY(-2px); }
.drawer-socials { display:flex; gap:12px; margin-top:24px; flex-wrap:wrap; }
.drawer-socials a { width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.7); transition:background 0.2s, color 0.2s; }
.drawer-socials a:hover { background:var(--gold); color:#000; }
.drawer-socials a svg { width:19px; height:19px; }
.drawer-contact { display:flex; flex-direction:column; gap:10px; margin-top:16px; }
.drawer-contact a { color:rgba(255,255,255,0.75); font-size:0.83rem; transition:color 0.2s; }
.drawer-contact a:hover { color:var(--white); }

/* ══════ HERO ══════ */
#hero { min-height:100vh; background:var(--hero-grad); display:flex; flex-direction:column; justify-content:center; align-items:center; padding:120px 28px 80px; position:relative; overflow:hidden; }
.hero-svg-bg { position:absolute; inset:0; pointer-events:none; z-index:0; }
#hero::before { content:''; position:absolute; inset:0; pointer-events:none; z-index:1; background:radial-gradient(ellipse at 15% 60%,rgba(15,136,244,0.22) 0%,transparent 55%),radial-gradient(ellipse at 85% 25%,rgba(228,170,110,0.14) 0%,transparent 50%); }
.hero-content { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; text-align:center; max-width:960px; width:100%; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18); border-radius:50px; padding:7px 20px; font-size:0.78rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-bottom:32px; }
.hero-arte { width:min(520px,90vw); margin-bottom:40px; filter:brightness(0) invert(1); opacity:0.95; }

/* Countdown */
#countdown { display:flex; justify-content:center; align-items:stretch; margin-bottom:52px; }
.cd-unit { display:flex; flex-direction:column; align-items:center; padding:0 24px; border-right:1px solid rgba(255,255,255,0.15); min-width:100px; }
.cd-unit:last-child { border-right:none; }
.cd-num { font-size:clamp(2.4rem,5.5vw,4rem); font-weight:900; color:var(--white); line-height:1; font-variant-numeric:tabular-nums; display:block; width:2.4ch; text-align:center; }
.cd-lbl { font-size:0.7rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-top:6px; }

/* Organizer */
.hero-org { display:flex; align-items:center; justify-content:center; gap:36px; flex-wrap:wrap; }
.org-block { display:flex; flex-direction:column; align-items:center; gap:8px; }
.org-lbl { font-size:0.7rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,255,255,0.45); }
.org-block img { filter:brightness(0) invert(1); opacity:0.85; }
.date-badge { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.2); border-radius:16px; padding:18px 28px; text-align:center; transition:border-color 0.25s, box-shadow 0.25s; }
.date-badge:hover { border-color:var(--gold); box-shadow:0 0 24px rgba(228,170,110,0.3); }
.date-num { font-size:1.8rem; font-weight:900; color:var(--white); line-height:1; }
.date-month { font-size:0.78rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-top:4px; }

/* ══════ ABOUT + FEATURES ══════ */
#about { background:var(--section-grad); padding:96px 28px; position:relative; overflow:hidden; }
@keyframes grid-fig8 {
  0%   { background-position: 0px 0px; }
  25%  { background-position: 28px 16px; }
  50%  { background-position: 0px 32px; }
  75%  { background-position: -28px 16px; }
  100% { background-position: 0px 0px; }
}
#about::after { content:''; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px); background-size:64px 64px; animation:grid-fig8 28s ease-in-out infinite; }
.about-grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; max-width:1160px; margin:0 auto 80px; }
.about-text p { color:rgba(255,255,255,0.90); margin-bottom:6px; }
.about-text .checklist li { color:var(--white); }
.about-tagline { font-size:1.1rem; font-weight:700; color:var(--white); margin-top:20px; font-style:italic; }
.glass-card { background:rgba(255,255,255,0.07); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); border:1px solid rgba(255,255,255,0.15); border-radius:24px; overflow:hidden; position:relative; transition:transform 0.35s, box-shadow 0.35s; }
.glass-card:hover { transform:translateY(-4px); box-shadow:0 24px 60px rgba(0,0,0,0.3); }
.glass-card .img-cap { padding:14px 20px; font-size:0.88rem; font-weight:700; color:var(--gold); text-align:center; }

/* Feature cards 2×2 grid */
.features-wrap { position:relative; z-index:1; max-width:1160px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.feature-card { background:rgba(255,255,255,0.06); backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); border:1px solid rgba(255,255,255,0.12); border-radius:20px; overflow:hidden; display:grid; grid-template-columns:200px 1fr; transition:opacity 0.7s ease, transform 0.7s ease; }
.feature-card.feature-fade { opacity:0; transform:translateY(16px); }
.feature-card.feature-fade.visible { opacity:1; transform:translateY(0); }
.feature-img { overflow:hidden; }
.feature-img img { width:100%; height:100%; min-height:200px; object-fit:cover; display:block; }
.feature-body { padding:28px 24px; display:flex; flex-direction:column; justify-content:center; }
.feature-body h3 { font-size:1.1rem; font-weight:900; color:var(--white); margin-bottom:10px; }
.feature-body p { color:rgba(255,255,255,0.88); font-size:0.92rem; line-height:1.6; }

/* ══════ SPEAKERS INTRO ══════ */
#ponentes-intro { background:var(--bg-white); }

/* ══════ INTERNATIONAL SPEAKERS ══════ */
#speakers-intl { background:var(--bg-light); padding:96px 28px; position:relative; overflow:hidden; }
#speakers-intl::after { content:''; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(12,111,192,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(12,111,192,0.06) 1px,transparent 1px); background-size:56px 56px; animation:grid-fig8 32s ease-in-out infinite; z-index:0; }
.speakers-svg-bg { display:none; }
.speaker-card { position:relative; z-index:1; display:grid; grid-template-columns:320px 1fr; border-radius:24px; overflow:hidden; background:var(--white); box-shadow:var(--shadow-md); max-width:1160px; margin:0 auto 28px; transition:box-shadow 0.35s; }
.speaker-card:last-child { margin-bottom:0; }
.spk-photo { overflow:hidden; position:relative; }
.spk-photo img { width:100%; height:100%; min-height:340px; object-fit:cover; object-position:top; transition:transform 0.5s; }
.speaker-card:hover .spk-photo img { transform:scale(1.04); }
.spk-body { padding:32px 32px; display:flex; flex-direction:column; gap:14px; background:var(--white); }
.spk-country-row { display:flex; align-items:center; gap:10px; }
.spk-flag { width:32px; height:32px; border-radius:50%; object-fit:cover; border:2px solid var(--gold); flex-shrink:0; }
.spk-country { font-size:0.75rem; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:var(--blue); }
.spk-name { font-size:1.6rem; font-weight:900; color:var(--dark); line-height:1.1; }
.spk-ig { display:inline-flex; align-items:center; gap:6px; color:var(--muted); font-size:0.85rem; transition:color 0.2s; }
.spk-ig:hover { color:var(--blue); }
.spk-ig svg { width:15px; height:15px; }
.spk-specs { display:flex; flex-direction:column; gap:6px; }
.spk-spec { display:flex; align-items:flex-start; gap:8px; color:var(--body); font-size:0.93rem; }
.spk-spec::before { content:'›'; color:var(--blue); font-weight:900; flex-shrink:0; font-size:1.1rem; }
.spk-panels { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:4px; }
.spk-panel { background:rgba(240,247,255,0.85); backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); border:1px solid var(--border); border-radius:16px; padding:16px; position:relative; overflow:hidden; }
.spk-panel h4 { font-size:0.72rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:var(--blue); margin-bottom:8px; }
.spk-panel p { font-size:0.86rem; color:var(--body); line-height:1.55; }
.spk-panel .checklist { margin:8px 0 0; gap:7px; }
.spk-panel .checklist li { font-size:0.85rem; }

/* ══════ NATIONAL SPEAKERS ══════ */
#speakers-national { background:var(--bg-white); }
.national-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1160px; margin:0 auto; }
.nat-card { background:var(--white); border:1.5px solid var(--border); border-radius:20px; padding:36px 24px 28px; text-align:center; box-shadow:0 2px 12px rgba(12,111,192,0.07); transition:transform 0.3s cubic-bezier(0.23,1,0.32,1), box-shadow 0.3s, border-color 0.3s; will-change:transform; }
.nat-card:hover { border-color:var(--blue); transform:translateY(-6px); box-shadow:var(--shadow-md); }
.nat-photo { width:132px; height:132px; margin:0 auto 20px; border-radius:50%; overflow:hidden; border:3px solid transparent; background:linear-gradient(white,white) padding-box, var(--blue-grad) border-box; box-shadow:0 0 0 3px rgba(228,170,110,0.25); }
.nat-photo img { width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:top; }
.nat-name { font-size:1rem; font-weight:800; color:var(--dark); margin-bottom:8px; line-height:1.3; }
.nat-spec { font-size:0.82rem; color:var(--muted); line-height:1.4; }

/* ══════ PRICING CTA ══════ */
#cta-register {padding-top:100px; background:var(--section-grad); position:relative; overflow:hidden; }
#cta-register::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 10% 80%,rgba(15,136,244,0.22) 0%,transparent 50%),radial-gradient(ellipse at 90% 20%,rgba(228,170,110,0.15) 0%,transparent 45%); }
/* animated threads on pricing section */
.pricing-threads-svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; }
.cta-inner { position:relative; z-index:1; }
.pricing-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; max-width:1160px; margin:48px auto 44px; }
.pricing-card { background:rgba(255,255,255,0.06); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); border:1px solid rgba(255,255,255,0.14); border-radius:24px; padding:32px 20px; cursor:pointer; display:block; text-align:center; position:relative; overflow:hidden; transition:border-color 0.35s, box-shadow 0.35s; transform-style:preserve-3d; will-change:transform; }
.pricing-card:hover { border-color:var(--gold); box-shadow:0 0 48px rgba(228,170,110,0.22); }
.pc-badge { display:inline-block; font-size:0.68rem; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; background:rgba(228,170,110,0.18); color:var(--gold); border-radius:50px; padding:4px 12px; margin-bottom:16px; }
.pc-name { font-size:1rem; font-weight:800; color:var(--white); line-height:1.3; margin-bottom:20px; }
.pc-divider { width:40px; height:2px; background:var(--gold-grad); border-radius:2px; margin:0 auto 20px; }
.pc-price { font-size:3.2rem; font-weight:900; color:var(--white); line-height:1; letter-spacing:-0.02em; }
.pc-price sup { font-size:1.1rem; font-weight:700; vertical-align:super; letter-spacing:0; }
.pc-tax { font-size:0.75rem; color:rgba(255,255,255,0.75); margin-top:4px; font-weight:600; }
.pc-sub { font-size:0.78rem; color:rgba(255,255,255,0.80); margin-top:12px; line-height:1.4; }
.pc-arrow { margin:20px auto 0; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; transition:background 0.25s; }
.pricing-card:hover .pc-arrow { background:var(--gold-grad); }
.pc-arrow svg { width:16px; height:16px; stroke:white; }
.pricing-card:hover .pc-arrow svg { stroke:var(--dark); }

/* Sold-out / available pricing states */
.pricing-card.agotado { pointer-events:none; cursor:default; }
.pricing-card.agotado > * { filter:grayscale(1); opacity:0.4; }
.pricing-card.agotado .pc-arrow { display:none; }
.pricing-card.agotado::before { content:"AGOTADO"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) rotate(-22deg); font-size:1.35rem; font-weight:900; letter-spacing:0.22em; color:#cc2222; background:#fff; border:3px solid #cc2222; padding:7px 18px; border-radius:6px; z-index:10; white-space:nowrap; pointer-events:none; }
.pc-badge.disponible { background:rgba(228,170,110,0.2) !important; color:var(--gold) !important; }
.pc-cta-btn { display:inline-block; margin-top:20px; padding:10px 24px; background:var(--gold-grad); color:var(--dark); border-radius:50px; font-size:0.82rem; font-weight:800; letter-spacing:0.06em; transition:box-shadow 0.25s; }
.pricing-card:hover .pc-cta-btn { box-shadow:var(--glow-gold); }
.pc-scarcity { background:rgba(228,170,110,0.2) !important; color:var(--gold) !important; border:1.5px solid rgba(228,170,110,0.5); }
/* Pending image placeholder */
.img-pending { background:#FF1493; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; text-align:center; line-height:1.4; }
/* Brand speaker sub-section */
.brand-spk-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; max-width:800px; margin:48px auto 0; }
.brand-spk-card { background:var(--white); border:1.5px solid var(--border); border-radius:20px; padding:28px 24px; display:flex; gap:20px; align-items:center; }
.brand-spk-photo { width:110px; height:110px; border-radius:50%; overflow:hidden; flex-shrink:0; border:3px solid var(--gold); }
.brand-spk-photo img, .brand-spk-photo .img-pending { width:100%; height:100%; border-radius:50%; object-fit:cover; }
.brand-spk-brand { font-size:0.65rem; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-bottom:4px; }
.brand-spk-name { font-size:0.95rem; font-weight:800; color:var(--dark); margin-bottom:2px; }
.brand-spk-country { font-size:0.78rem; color:var(--muted); }
/* Laser equipment section */
#laser-section { background:var(--bg-light); padding:80px 0; }
.laser-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:960px; margin:48px auto 0; }
.laser-card { background:var(--white); border:1.5px solid var(--border); border-radius:20px; overflow:hidden; text-align:center; }
.laser-img { width:100%; aspect-ratio:4/3; }
.laser-img img, .laser-img .img-pending { width:100%; height:100%; object-fit:contain; }
.laser-name { font-size:0.9rem; font-weight:800; color:var(--dark); padding:16px; }
/* Endorsement logos row */
.endorse-row { display:flex; gap:20px; align-items:center; margin-top:16px; flex-wrap:wrap; }
.endorse-logo { height:36px; width:auto; }
/* Sponsor groups */
.sponsor-group { margin-bottom:48px; }
.sponsor-group-label { font-size:0.7rem; font-weight:800; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-bottom:20px; }
.sponsor-pills { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; align-items:center; }
.sponsor-pill { height:56px; min-width:120px; border-radius:12px; border:1.5px solid var(--border); background:var(--white); display:flex; align-items:center; justify-content:center; padding:0 20px; }
.sponsor-pill img { max-height:36px; max-width:120px; object-fit:contain; }
.sponsor-pill .img-pending { width:100%; height:100%; border-radius:10px; font-size:0.58rem; padding:0 8px; }

/* ══════ BENEFICIOS ══════ */
#includes { background:var(--bg-light); margin-bottom:-2px; }
.benefits-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; max-width:1160px; margin:48px auto 0; }
.benefit-card {
  background:rgba(255,255,255,0.7);
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  border:1px solid rgba(12,111,192,0.15);
  border-radius:20px; padding:28px 22px;
  display:flex; flex-direction:column; align-items:flex-start; gap:14px;
  position:relative; overflow:hidden; text-align:left;
  transition:transform 0.3s, box-shadow 0.3s, border-color 0.3s, background 0.3s;
  --bx: 50%; --by: 50%;
}
.benefit-card::after {
  content:''; pointer-events:none; position:absolute; inset:0; border-radius:inherit;
  background:radial-gradient(circle 280px at var(--bx) var(--by), rgba(15,136,244,0.08) 0%, transparent 70%);
  opacity:0; transition:opacity 0.4s;
}
.benefit-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--blue); }
.benefit-card:hover::after { opacity:1; }
.benefit-icon { width:48px; height:48px; border-radius:14px; background:var(--blue-bg); display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; z-index:1; }
.benefit-icon svg { width:24px; height:24px; stroke:var(--blue); stroke-width:1.75; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.benefit-text-wrap { display:flex; flex-direction:column; gap:6px; position:relative; z-index:1; text-align:left; }
.benefit-title { font-size:0.97rem; font-weight:800; color:var(--dark); line-height:1.3; text-align:left; }
.benefit-desc { font-size:0.83rem; color:var(--muted); line-height:1.5; text-align:left; }
.includes-footnote { text-align:center; font-size:0.82rem; color:var(--muted); margin-top:24px; }

/* ══════ CRONOGRAMA ══════ */
#cronograma-section { background:var(--bg-white); }
.tab-bar { display:flex; gap:8px; margin-bottom:28px; flex-wrap:wrap; justify-content:center; }
.tab-pill { padding:10px 26px; border-radius:50px; font-family:'Urbanist',sans-serif; font-weight:800; font-size:0.82rem; letter-spacing:0.07em; text-transform:uppercase; cursor:pointer; border:2px solid var(--blue); color:var(--blue); background:transparent; transition:all 0.2s; }
.tab-pill.active { background:var(--blue-grad); color:var(--white); border-color:transparent; }
.tab-pill:hover:not(.active) { background:var(--blue-pale); }
.tab-panel { display:none; }
.tab-panel.active { display:block; animation:panelFadeIn 0.35s ease both; }
@keyframes panelFadeIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.sched-table { width:100%; border-collapse:collapse; font-size:0.95rem; }
.sched-table th { padding:12px 16px; text-align:left; font-size:0.72rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:var(--blue); border-bottom:2px solid var(--border); }
.sched-table td { padding:14px 16px; color:var(--body); border-bottom:1px solid rgba(0,0,0,0.05); vertical-align:top; }
.sched-table td:first-child { font-weight:700; color:var(--dark); white-space:nowrap; width:130px; }
.sched-table td:nth-child(2) { width:200px; }
.sched-table tr:nth-child(even) td { background:var(--bg-light); }
.sched-table tr:hover td { background:var(--blue-pale); }
.ev-badge { display:inline-flex; align-items:center; gap:5px; font-size:0.68rem; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; border-radius:50px; padding:3px 10px; margin-top:4px; }
.ev-live  { background:rgba(239,68,68,0.12); color:#DC2626; }
.ev-panel { background:rgba(99,102,241,0.12); color:#4F46E5; }
.ev-talk  { background:rgba(12,111,192,0.12); color:var(--blue); }
.ev-badge svg { width:10px; height:10px; fill:currentColor; }

/* ── Timeline cronograma B ── */
#cronograma-b { background:var(--bg-light); }
.timeline-panel { display:none; }
.timeline-panel.active { display:block; animation:panelFadeIn 0.35s ease both; }
.timeline { max-width:800px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.tl-item { background:var(--white); border:1.5px solid var(--border); border-radius:18px; padding:20px 22px; transition:border-color 0.25s, box-shadow 0.25s; position:relative; }
.tl-item:hover { border-color:var(--blue); box-shadow:var(--shadow-sm); }
.tl-header { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:6px; }
.tl-time { font-size:0.75rem; font-weight:800; letter-spacing:0.08em; color:var(--blue); text-transform:uppercase; white-space:nowrap; }
.tl-badges-top { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.tl-title { font-size:0.97rem; font-weight:800; color:var(--dark); line-height:1.35; }
.tl-speaker { font-size:0.84rem; color:var(--muted); margin-top:4px; }
.tab-bar-bottom { display:flex; gap:8px; margin-top:32px; flex-wrap:wrap; justify-content:center; }

/* ══════ LOCATION B (magazine layout) ══════ */
#ubicacion-b { background:var(--section-grad); padding:96px 28px; position:relative; overflow:hidden; }
#ubicacion-b::after { content:''; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.02) 1px,transparent 1px); background-size:72px 72px; animation:grid-fig8 34s ease-in-out infinite reverse; }
.loc-b-row { position:relative; z-index:1; display:grid; grid-template-columns:55% 45%; gap:56px; align-items:center; max-width:1160px; margin:0 auto 64px; }
.loc-b-row:last-child { margin-bottom:0; }
.loc-b-row.reversed { grid-template-columns:45% 55%; }
.loc-b-row.reversed .loc-b-media { order:2; }
.loc-b-row.reversed .loc-b-info { order:1; }
.loc-b-media { border-radius:24px; overflow:hidden; }
.loc-b-media img { width:100%; height:auto; display:block; }
.loc-b-row:hover .loc-b-media img { transform:none; }
.loc-b-badge { display:inline-block; background:rgba(228,170,110,0.18); color:var(--gold); font-size:0.7rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; border-radius:50px; padding:4px 14px; margin-bottom:16px; }
.loc-b-name { font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:900; color:var(--white); line-height:1.1; margin-bottom:18px; }
.loc-b-desc { color:rgba(255,255,255,0.88); font-size:1rem; line-height:1.65; margin-bottom:24px; }
.loc-b-stats { display:flex; flex-direction:column; gap:10px; }
.loc-b-stat { color:rgba(255,255,255,0.82); font-size:0.92rem; display:flex; align-items:center; gap:12px; }
.loc-b-stat-icon { font-size:1.2rem; }

/* ══════ MANTA TOURISM ══════ */
#manta-tourism { position:relative; overflow:hidden; background:#06223C center/cover no-repeat; background-attachment:fixed; padding:96px 28px; }
#manta-tourism::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(6,34,60,0.88) 0%,rgba(6,34,60,0.5) 100%); }
.manta-inner { position:relative; z-index:1; max-width:1160px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.manta-text p { color:rgba(255,255,255,0.90); max-width:480px; margin-top:16px; font-size:1.05rem; }
.manta-qr { aspect-ratio:1/1; max-width:300px; width:100%; border-radius:20px; overflow:hidden; box-shadow:0 24px 64px rgba(0,0,0,0.45); border:2px solid rgba(255,255,255,0.15); }
.manta-qr img { width:100%; height:100%; object-fit:cover; }

/* ══════ FAQ ══════ */
#faq-section { background:var(--bg-white); padding-top:60px; }
.faq-list { max-width:720px; margin:40px auto 0; display:flex; flex-direction:column; gap:12px; }
.faq-item { border:1.5px solid var(--border); border-radius:16px; overflow:hidden; transition:border-color 0.2s; }
.faq-item.open { border-color:var(--blue); }
.faq-trigger { width:100%; padding:20px 24px; display:flex; justify-content:space-between; align-items:center; background:none; border:none; cursor:pointer; font-family:'Urbanist',sans-serif; font-size:1.02rem; font-weight:700; color:var(--dark); text-align:left; gap:16px; }
.faq-icon { flex-shrink:0; width:28px; height:28px; border-radius:50%; background:var(--blue-grad); display:flex; align-items:center; justify-content:center; transition:transform 0.3s; }
.faq-icon svg { width:13px; height:13px; stroke:white; fill:none; stroke-width:2.5; stroke-linecap:round; transition:transform 0.3s; }
.faq-item.open .faq-icon { transform:rotate(45deg); }
.faq-body { max-height:0; overflow:hidden; transition:max-height 0.38s ease; }
.faq-inner { padding:16px 24px 20px; color:var(--body); font-size:0.97rem; border-top:1px solid var(--border); }

/* ══════ SPONSORS ══════ */
#sponsors-section { background:var(--bg-sponsors); overflow:hidden; padding:72px 0; }
#sponsors-section .container { margin-bottom:0; }
.sponsors-track-wrap { position:relative; overflow:hidden; margin-top:40px; cursor:pointer; }
.sponsors-track-wrap::before, .sponsors-track-wrap::after { content:''; position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none; }
.sponsors-track-wrap::before { left:0; background:linear-gradient(to right, var(--bg-sponsors), transparent); }
.sponsors-track-wrap::after  { right:0; background:linear-gradient(to left, var(--bg-sponsors), transparent); }
.sponsors-track { display:flex; gap:64px; align-items:center; width:max-content; animation:scroll-sponsors 22s linear infinite; padding:0 32px; }
@keyframes scroll-sponsors { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.sponsors-track img { height:60px; width:auto; object-fit:contain; flex-shrink:0; filter:brightness(0) invert(1); opacity:0.75; transition:opacity 0.3s; }
.sponsors-track img:hover { opacity:1; }
#sponsors-section .section-label { color:rgba(255,255,255,0.7); }
#sponsors-section .section-label::before { background:rgba(255,255,255,0.4); }
#sponsors-section .section-title { color:var(--white); }

/* ══════ FOOTER ══════ */
#footer-c { background:var(--bg-navy); border-top:1px solid rgba(255,255,255,0.06); padding:72px 28px 32px; position:relative; overflow:hidden; }
.footer-c-svg-bg { position:absolute; inset:0; pointer-events:none; z-index:0; width:100%; height:100%; }
.footer-c-inner { position:relative; z-index:1; }
.footer-c-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:48px; max-width:1160px; margin:0 auto 48px; }
.fc-brand { }
.footer-logo-img { width:150px; filter:brightness(0) invert(1); margin-bottom:14px; }
.footer-tagline { font-size:0.88rem; color:rgba(255,255,255,0.72); line-height:1.7; max-width:240px; }
.fa-cta { display:inline-flex; align-items:center; gap:8px; background:var(--gold-grad); color:var(--dark); font-family:'Urbanist',sans-serif; font-weight:800; font-size:0.78rem; letter-spacing:0.07em; text-transform:uppercase; border-radius:50px; padding:10px 20px; margin-top:20px; box-shadow:0 0 20px rgba(228,170,110,0.3); transition:transform 0.2s, box-shadow 0.2s; }
.fa-cta:hover { transform:translateY(-2px); box-shadow:var(--glow-gold); }
.fa-col h4 { font-size:0.72rem; font-weight:800; letter-spacing:0.13em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
.fa-col ul { list-style:none; display:flex; flex-direction:column; gap:12px; }
.fa-col ul li a { color:rgba(255,255,255,0.82); font-size:0.9rem; display:flex; align-items:center; gap:10px; transition:color 0.2s; }
.fa-col ul li a:hover { color:var(--white); }

/* Icon circle — glint only on .fi */
.fi { width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,0.07); display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; overflow:hidden; transition:background 0.25s; }
.fi svg { width:13px; height:13px; transition:filter 0.25s; }

/* Gold hover: hovering anywhere on the link row inverts the icon */
.fa-col li a:hover .fi { background:var(--gold); }
.fa-col li a:hover .fi svg { filter:brightness(0) saturate(0); }

/* Glint: wider gradient, reversed direction (right → left) */
.contact-glint { }
.contact-glint.glinting::after { content:''; position:absolute; top:-10%; left:100%; width:65%; height:120%; background:linear-gradient(255deg, transparent 15%, rgba(255,255,255,0.32) 50%, transparent 85%); animation:glint-sweep 0.6s ease-out forwards; pointer-events:none; }
@keyframes glint-sweep { to { left:-75%; } }

.footer-c-bar { max-width:1160px; margin:0 auto; padding-top:24px; border-top:1px solid rgba(255,255,255,0.07); display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; font-size:0.8rem; color:rgba(255,255,255,0.55); }

/* ══════ WA FAB ══════ */
.wa-fab { position:fixed; bottom:28px; right:24px; z-index:400; width:58px; height:58px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,0.5); transition:transform 0.2s; }
.wa-fab::before { content:''; position:absolute; inset:-7px; border-radius:50%; border:2px solid rgba(37,211,102,0.45); animation:wa-pulse 2.2s ease-out infinite; }
@keyframes wa-pulse { 0%{transform:scale(1);opacity:1} 100%{transform:scale(1.5);opacity:0} }
.wa-fab:hover { transform:scale(1.1); }
.wa-fab svg { width:30px; height:30px; fill:white; }

/* ══════ RESPONSIVE ══════ */
@media (max-width:1024px) {
  .pricing-grid { grid-template-columns:repeat(2,1fr); }
  .benefits-grid { grid-template-columns:repeat(2,1fr); }
  .footer-c-grid { grid-template-columns:1fr 1fr; }
  .fc-brand { grid-column:1/-1; }
  .features-wrap { grid-template-columns:1fr; }
  .feature-card { grid-template-columns:180px 1fr; }
  .loc-b-row, .loc-b-row.reversed { grid-template-columns:1fr; gap:32px; }
  .loc-b-row.reversed .loc-b-media, .loc-b-row.reversed .loc-b-content { order:unset; }
  .loc-b-media { height:300px; }
}

@media (max-width:767px) {
  body { font-size:15px; }
  section { padding:56px 16px; }
  .container { padding:0 16px; }

  /* Hide desktop nav, show burger */
  #main-nav { display:none !important; }
  .header-cta { display:none; }
  .burger { display:flex; }

  /* Speaker cards mobile — circle layout */
  .speaker-card { display:flex; flex-direction:column; align-items:center; text-align:left; padding:28px 20px; overflow:visible; }
  .spk-photo { width:180px; height:180px; border-radius:50%; overflow:hidden; border:4px solid var(--gold); flex-shrink:0; margin-bottom:16px; }
  .spk-photo img { min-height:unset; max-height:unset; height:180px; width:100%; object-fit:cover; }
  .spk-body { padding:0; width:100%; }
  .spk-name { font-size:1.3rem; }
  .spk-panels { grid-template-columns:1fr; }

  .about-grid { grid-template-columns:1fr; }
  .features-wrap { grid-template-columns:1fr; }
  .feature-card { grid-template-columns:1fr; }
  .feature-img img { min-height:180px; }

  .national-grid { grid-template-columns:repeat(2,1fr); }
  .pricing-grid { grid-template-columns:1fr 1fr; }

  /* Benefits — icon left, text right */
  .benefits-grid { grid-template-columns:1fr; }
  .benefit-card { flex-direction:row; align-items:flex-start; gap:16px; }
  .benefit-icon { flex-shrink:0; }
  .benefit-text-wrap { text-align:left; }

  .manta-inner { grid-template-columns:1fr; }
  .footer-c-grid { grid-template-columns:1fr; }

  /* FAQ slimmer margins */
  .faq-list { max-width:100%; }
  .faq-trigger { padding:16px; font-size:0.95rem; }
  .faq-inner { padding:12px 16px 16px; }

  /* Sponsors swipable on mobile */
  .sponsors-track-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; cursor:grab; }
  .sponsors-track-wrap:active { cursor:grabbing; }
  .sponsors-track { animation:none !important; padding:0 20px; gap:40px; }
  .sponsors-track-wrap::before, .sponsors-track-wrap::after { display:none; }

  /* Location B mobile */
  .loc-b-media { height:240px; }
  /* Manta parallax: fixed attachment doesn't work reliably on iOS */
  #manta-tourism { background-attachment:scroll; }

  /* Timeline badge: negative margins so badge aligns to top-right of card */
  .tl-badges-top { margin-top:-2px; margin-right:-4px; }
  .tl-header { flex-wrap:nowrap; }
}

@media (max-width:520px) {
  .national-grid { grid-template-columns:1fr 1fr; }
  .pricing-grid { grid-template-columns:1fr; }
  .cd-num { font-size:2rem; }
  .cd-unit { padding:0 14px; min-width:72px; }
}

/* ══════ CRONOGRAMA PREVIEW SECTION ══════ */
#cronograma-preview { background:var(--section-grad); padding:80px 0; }
.cronograma-inner { max-width:1160px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:1fr 1.4fr; gap:64px; align-items:center; }
.cronograma-text .section-label { justify-content:flex-start; }
.cronograma-text .section-title { color:var(--white); margin:12px 0 20px; }
.cronograma-text p { color:rgba(255,255,255,0.72); margin-bottom:32px; font-size:1rem; line-height:1.7; }
.btn-cronograma { display:inline-flex; align-items:center; gap:10px; background:var(--gold-grad); color:var(--dark); font-weight:800; font-size:0.85rem; letter-spacing:0.07em; text-transform:uppercase; border-radius:50px; padding:12px 28px; box-shadow:var(--glow-gold); transition:transform 0.2s, box-shadow 0.2s; }
.btn-cronograma:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(228,170,110,0.5); }
.btn-cronograma svg { width:16px; height:16px; }

/* ══════ RESPONSIVE: NEW ELEMENTS ══════ */
@media (max-width:1024px) {
  .laser-grid { grid-template-columns:repeat(2,1fr); }
  .cronograma-inner { grid-template-columns:1fr; gap:40px; }
}
@media (max-width:767px) {
  .laser-grid { grid-template-columns:1fr; }
  .brand-spk-grid { grid-template-columns:1fr; }
  .cronograma-inner { gap:28px; padding: 16px; }
  .national-grid { grid-template-columns:repeat(2,1fr); }
}

/* ── Speaker bio modal ──────────────────────────────── */
.spk-more-btn {
  position:absolute; top:16px; right:16px; z-index:2;
  width:36px; height:36px; border-radius:50%;
  background:#0C6FC0; border:none;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:0 2px 8px rgba(12,111,192,0.35);
  transition:background .18s, transform .18s, box-shadow .18s;
  padding:0;
}
.spk-more-btn:hover { background:#0a5fa8; transform:scale(1.1); box-shadow:0 4px 14px rgba(12,111,192,0.45); }
.spk-more-btn svg { width:16px; height:16px; stroke:#fff; flex-shrink:0; }

.spk-modal-overlay {
  display:none; position:fixed; inset:0; z-index:1200;
  background:rgba(4,18,34,0.72); backdrop-filter:blur(6px);
  align-items:center; justify-content:center; padding:20px;
}
.spk-modal-overlay.open { display:flex; }

.spk-modal {
  background:#fff; border-radius:16px; max-width:660px; width:100%;
  max-height:90vh; overflow-y:auto; box-shadow:0 24px 80px rgba(0,0,0,0.35);
  animation:modalIn .25s ease;
}
@keyframes modalIn { from { opacity:0; transform:translateY(20px) scale(0.97); } to { opacity:1; transform:none; } }

.spk-modal-header {
  display:flex; align-items:center; gap:18px;
  padding:24px 24px 20px; border-bottom:1px solid #eef2f7;
  position:relative;
}
.spk-modal-photo {
  width:80px; height:80px; border-radius:50%; overflow:hidden; flex-shrink:0;
  background:#dbe8f6;
}
.spk-modal-photo img { width:100%; height:100%; object-fit:cover; }
.spk-modal-country-row { display:flex; align-items:center; gap:6px; margin-bottom:4px; }
.spk-modal-flag { width:22px; height:auto; border-radius:3px; }
.spk-modal-country-label { font-size:0.72rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#7a9ab8; }
.spk-modal-name { font-size:1.15rem; font-weight:800; color:#06223C; line-height:1.2; }
.spk-modal-title { font-size:0.78rem; color:#567; margin-top:3px; line-height:1.4; }
.spk-modal-close {
  position:absolute; top:16px; right:16px;
  background:none; border:none; cursor:pointer; color:#7a9ab8; padding:4px;
  border-radius:50%; transition:color .15s, background .15s;
}
.spk-modal-close:hover { color:#06223C; background:#eef2f7; }

.spk-modal-body { padding:20px 24px 28px; }
.spk-modal-bio { font-size:0.9rem; line-height:1.7; color:#334; margin-bottom:20px; }
.spk-modal-section { margin-bottom:16px; }
.spk-modal-section h4 { font-size:0.7rem; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.spk-modal-section ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:5px; }
.spk-modal-section li { font-size:0.85rem; color:#334; padding-left:16px; position:relative; }
.spk-modal-section li::before { content:"·"; position:absolute; left:4px; color:var(--gold); font-weight:900; }
.spk-modal-ig { display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-size:0.8rem; color:#5b7a99; text-decoration:none; }
.spk-modal-ig:hover { color:var(--gold); }
.spk-modal-ig svg { width:14px; height:14px; }

@media (max-width:520px) {
  .spk-modal-header { flex-direction:column; align-items:flex-start; }
  .spk-modal-close { top:12px; right:12px; }
  .spk-modal-photo { width:64px; height:64px; }
}

/* ══════════════════════════════════════
   HERO — Avalado por restructure
══════════════════════════════════════ */
.hero-org { justify-content:center; gap:48px; }
.endorse-block { display:flex; flex-direction:column; align-items:center; gap:8px; }

/* ══════════════════════════════════════
   INSTAGRAM CTA STRIP
══════════════════════════════════════ */
.ig-cta-strip { background:linear-gradient(90deg,#833ab4 0%,#fd1d1d 55%,#fcb045 100%); }
.ig-cta-inner { display:flex; align-items:center; justify-content:center; gap:20px; padding:18px 28px; color:white; flex-wrap:wrap; text-decoration:none; transition:filter 0.2s; }
.ig-cta-inner:hover { filter:brightness(1.08); }
.ig-cta-inner > svg { width:34px; height:34px; flex-shrink:0; }
.ig-cta-text { display:flex; flex-direction:column; gap:2px; }
.ig-cta-label { font-size:0.68rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; opacity:0.8; }
.ig-cta-handle { font-size:1.1rem; font-weight:900; letter-spacing:-0.01em; }
.ig-cta-btn { background:rgba(255,255,255,0.18); border:1.5px solid rgba(255,255,255,0.45); color:white; padding:9px 22px; border-radius:24px; font-size:0.82rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; transition:background 0.18s; }
.ig-cta-inner:hover .ig-cta-btn { background:rgba(255,255,255,0.3); }

/* ══════════════════════════════════════
   MOBILE QUALITY PASS
══════════════════════════════════════ */

/* ── Wave dividers: taller + deeper overlap on mobile ── */
@media (max-width:767px) {
  .wdiv { height:130px; }
  .wdiv-mt { margin-top:-93px; }
  .wdiv-mb { margin-bottom:-93px; }
  .wdiv-short { height:91px; }
  #ponentes-intro { margin-top:-2px; padding-top: 20px; padding-bottom: 80px;}
}
@media (max-width:480px) {
  .wdiv { height:160px; }
  .wdiv-mt { margin-top:-118px; }
  .wdiv-mb { margin-bottom:-118px; }
  .wdiv-short { height:120px; }
}

/* ── Hero ── */
@media (max-width:767px) {
  #hero { padding:100px 20px 60px; }
  .hero-org { gap:24px; flex-direction:column; align-items:center; }
  .endorse-row { gap:12px; justify-content:center; }
  .endorse-logo { height:28px; }
  #countdown { gap:0; }
  .cd-unit { min-width:64px; padding:0 10px; }
}

/* ── National speakers ── */
@media (max-width:480px) {
  .nat-card { padding:24px 14px 20px; }
  .nat-photo { width:100px; height:100px; }
  .nat-name { font-size:0.88rem; }
  .nat-spec { font-size:0.74rem; }
  .brand-spk-photo { width:88px; height:88px; }
  .brand-spk-name { font-size:0.88rem; }
}

/* ── Section titles ── */
@media (max-width:480px) {
  .section-title { font-size:1.7rem; }
  .section-intro { font-size:0.95rem; }
}

/* ── Speaker cards ── */
@media (max-width:480px) {
  .spk-photo img { min-height:180px; max-height:220px; }
  .spk-name { font-size:1.15rem; }
}

/* ── Pricing ── */
@media (max-width:480px) {
  .pc-price { font-size:2rem; }
}

/* ── Instagram strip ── */
@media (max-width:480px) {
  .ig-cta-inner { gap:14px; padding:16px 20px; }
  .ig-cta-handle { font-size:0.92rem; }
  .ig-cta-btn { display:none; }
}

/* ── Laser equipment cards ── */
@media (max-width:480px) {
  .laser-card { padding:0 0 12px; }
}

/* ── Cronograma preview ── */
@media (max-width:480px) {
  #cronograma-preview { padding-top:160px; padding-left: 20px;padding-right: 20px; }
  .cronograma-inner { padding:0 16px; gap:20px; }
}

/* ── Location / Manta ── */
@media (max-width:480px) {
  .manta-inner { padding:0 16px; gap:32px; }
  .manta-qr { max-width:160px; aspect-ratio:1/1; }
  .manta-qr img { width:100%; height:auto; aspect-ratio:1/1; }
}

/* ── Sponsor pills on mobile ── */
@media (max-width:767px) {
  .sponsor-pills { justify-content:center; }
  .sponsor-pill img { max-height:32px; max-width:100px; }
}

/* ── Footer ── */
@media (max-width:480px) {
  .footer-tagline { font-size:0.82rem; }
  .footer-c-bar { font-size:0.68rem; flex-direction:column; gap:6px; text-align:center; }
}

