/* Dirección visual renovada: corporativa, humana y sin estética LED. */
:root {
  --purple: #425b50;
  --purple-deep: #293b35;
  --magenta: #718a7e;
  --sky: #bdc9bf;
  --yellow: #d5c6a8;
  --ink: #293631;
  --muted: #69736d;
  --paper: #f5f5f1;
  --white: #fff;
  --line: rgba(41, 59, 53, .14);
  --serif: "Manrope", Arial, sans-serif;
  --sans: "DM Sans", Arial, sans-serif;
  --label: "DM Sans", Arial, sans-serif;
  --container: 1160px;
}
body { color: var(--ink); background: #fff; font-family: var(--sans); line-height: 1.65; }
::selection { background: #dce6dd; color: var(--purple-deep); }
.site-header { border-bottom: 1px solid #eceee9; background: rgba(255,255,255,.98); }
.primary-nav { gap: clamp(12px,1.5vw,23px); }
.primary-nav a { color: #47524b; font-size: .62rem; letter-spacing: .04em; }
.primary-nav a::after { height: 1px; background: var(--magenta); }
.button { border-radius: 3px; font-size: .66rem; letter-spacing: .055em; font-weight: 600; }
.button-yellow, .button-nav { border-color: var(--purple); background: var(--purple); color: #fff; }
.button-yellow:hover, .button-nav:hover { background: var(--purple-deep); color: #fff; }
.button-outline { border-color: #73867b; color: var(--purple-deep); }
.button-outline:hover { background: var(--purple); color: #fff; }
.section-title { color: var(--purple-deep); font-family: var(--serif); font-weight: 700; letter-spacing: -.045em; }
.section-title em { color: #718a7e; font-style: normal; font-weight: 500; }
.eyebrow { color: #6b8176; font-size: .63rem; letter-spacing: .12em; }
.hero { min-height: 0; height: clamp(390px, 52vw, 670px); background: #e8e7e0; }
.hero-image { inset: 0; width: 100%; height: 100%; transform: none; object-fit: cover; object-position: 62% 50%; }
.hero-video, .hero-watch { display: none !important; }
.hero-message { padding-block: clamp(48px,6vw,78px); background: #fff; }
.hero-message-inner { grid-template-columns: minmax(0,1.3fr) minmax(220px,.65fr); gap: clamp(28px,6vw,80px); }
.hero-message h1 { max-width: 760px; font-family: var(--serif); font-size: clamp(2.8rem,5.4vw,5rem); line-height: 1.02; letter-spacing: -.06em; }
.hero-message h1 em { color: #718a7e; font-style: normal; }
.hero-message .hero-subtitle { color: #6b8176; font-family: var(--sans); font-size: clamp(1.05rem,1.8vw,1.35rem); font-style: normal; line-height: 1.5; }
.hero-message-actions { gap: 13px; }
.hero-message-actions .button { min-width: 0; min-height: 50px; padding-inline: 20px; box-shadow: none; }
.hero-message-actions .text-link { color: var(--purple-deep); }
.about-layout { grid-template-columns: minmax(250px,.7fr) minmax(0,1.3fr); gap: clamp(36px,7vw,90px); }
.about-image-wrap { position: relative; min-height: 340px; margin: 0; overflow: hidden; background: #e4e7df; }
.about-image-wrap > img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; object-position: 50% center; }
.about-image-wrap .image-caption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; padding: 15px 17px; justify-content: space-between; gap: 15px; background: rgba(34,50,43,.84); color: #fff; font-size: .61rem; font-weight: 600; letter-spacing: .055em; text-transform: uppercase; }
.about-image-wrap .image-caption span:last-child { color: rgba(255,255,255,.73); }
.feature-grid { gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.feature-card, .feature-card-accent { padding: 30px clamp(20px,3vw,40px); border: 0; background: #fff; }
.feature-card + .feature-card { border-left: 1px solid var(--line); }
.feature-icon { color: #718a7e; }
.feature-card h3, .service-card h3, .why-grid h3, .faq-list summary { color: var(--purple-deep); font-family: var(--serif); font-weight: 650; }
.stats-band { padding-block: 28px; background: #40584d; }
.stat > strong { color: #fff; font-family: var(--serif); }
.stat > strong span { color: #d5c6a8; }
.stat > span { color: #fff; }
.stat > small { color: rgba(255,255,255,.72); }
.section-gallery { background: #f5f5f1; }
.section-gallery .section-heading { margin-bottom: 28px; }
.gallery-stage { height: clamp(260px,44vw,540px); overflow: hidden; background: #dedfd8; }
.gallery-stage > img { object-fit: cover; object-position: 62% 50%; }
.gallery-stage::after { inset: 62% 0 0; background: linear-gradient(0deg,rgba(26,39,33,.56),transparent); }
.gallery-stage figcaption { font: 500 .95rem/1.35 var(--sans); letter-spacing: .01em; }
.gallery-count { font-size: .65rem; }
.gallery-expand { border-radius: 3px; background: rgba(35,54,47,.78); }
.gallery-controls, .gallery-thumbnails { display: none !important; }
.moments-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 22px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.moments-grid article { overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.moment-photo { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.moments-grid article:nth-child(1) .moment-photo { object-position: 48% 42%; }
.moments-grid article:nth-child(2) .moment-photo { object-position: 50% 52%; }
.moments-grid article:nth-child(3) .moment-photo { object-position: 50% 43%; }
.moment-copy { min-height: 165px; padding: 22px 25px 25px; }
.moments-grid span { color: #718a7e; font: 700 .62rem/1 var(--label); letter-spacing: .12em; }
.moments-grid h3 { margin: 18px 0 8px; color: var(--purple-deep); font: 650 1.35rem/1.18 var(--serif); letter-spacing: -.03em; }
.moments-grid p { max-width: 275px; margin: 0; color: var(--muted); font-size: .88rem; }
.gallery-note { margin: 14px 0 0; color: #7a817c; font-size: .74rem; text-align: left; }
.section-video { background: #fff; }
.video-layout { grid-template-columns: minmax(0,1fr); gap: 0; }
.video-player { width: 100%; max-width: 1000px; margin-inline: auto; aspect-ratio: 16 / 9; background: #e7e8e3; box-shadow: none; }
.video-player > iframe { display: none; }
.video-player.is-playing > iframe { display: block; }
.video-poster { width: 100%; height: 100%; object-fit: cover; object-position: 62% center; }
.video-player.is-playing .video-poster, .video-player.is-playing .video-play { display: none; }
.video-play { top: auto; left: auto; right: 18px; bottom: 18px; min-height: 44px; padding: 10px 15px; transform: none; border: 0; border-radius: 3px; background: var(--purple); font-size: .62rem; box-shadow: none; }
.video-play:hover { background: var(--purple-deep); }
.video-play span { color: #fff; }
.center-action { margin-top: 22px; }
.button-youtube { border-color: var(--purple); background: var(--purple); box-shadow: none; }
.button-youtube:hover { background: var(--purple-deep); }
.section-reels { background: #f5f5f1; }
.deliverable-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.deliverable-card, .deliverable-card:nth-child(2), .deliverable-card:nth-child(3) { min-height: 205px; padding: 26px 28px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); }
.deliverable-card:last-child { border-right: 0; }
.deliverable-card::after, .deliverable-card i { display: none; }
.deliverable-card > span { color: #718a7e; }
.deliverable-card h3 { max-width: none; margin: 27px 0 8px; color: var(--purple-deep); font: 650 1.38rem/1.2 var(--serif); }
.deliverable-card p { max-width: 310px; color: var(--muted); font-size: .87rem; }
.section-services { background: #fff; }
.services-grid { gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-card, .service-card:hover { min-height: 265px; padding: 27px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; transform: none; }
.service-number, .service-mark { color: #718a7e; }
.service-card a, .service-card a span { color: var(--purple); }
.section-pricing { background: #f5f5f1; }
.plan-highlight { border: 0; border-radius: 4px; background: #40584d; color: #fff; box-shadow: none; }
.plan-card-featured { border-color: #40584d; background: #40584d; color: #fff; box-shadow: none; }
.plan-highlight h3, .plan-card-featured h3, .plan-card-featured .plan-index, .plan-highlight .plan-index { color: #fff; }
.plan-highlight .plan-ribbon { border: 0; background: rgba(255,255,255,.12); color: #fff; }
.plan-highlight .plan-description, .plan-card-featured .plan-description { color: rgba(255,255,255,.78); }
.plan-highlight .plan-duration { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.08); }
.plan-highlight .plan-duration > strong { color: #fff; }
.plan-highlight .coverage-text b { color: #fff; }
.plan-highlight .coverage-text small, .plan-highlight .coverage-note { color: rgba(255,255,255,.75); }
.plan-highlight .plan-quick-includes-label { color: #fff; }
.plan-quick-includes > div { border: 1px solid rgba(255,255,255,.2); border-top: 2px solid #b7c6ba; border-radius: 2px; background: rgba(255,255,255,.08); }
.plan-quick-includes span { color: rgba(255,255,255,.68); }
.plan-quick-includes strong { color: #fff; font-family: var(--sans); font-weight: 600; }
.plan-highlight .plan-details { border: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.06); box-shadow: none; }
.plan-highlight .plan-details summary { border-left: 3px solid #b7c6ba; background: transparent; color: #fff; }
.plan-highlight .details-summary-mark { border-color: rgba(255,255,255,.4); background: transparent; color: #fff; }
.plan-highlight .details-summary-count { border-color: rgba(255,255,255,.28); background: transparent; color: rgba(255,255,255,.85); }
.plan-highlight .details-summary-arrow { background: #b7c6ba; color: var(--purple-deep); }
.plan-highlight .experience-group h4, .plan-highlight .experience-group li { color: #fff; }
.plan-highlight .experience-group { border-color: rgba(255,255,255,.22); }
.plan-highlight > small { color: rgba(255,255,255,.68); }
.plan-highlight .button-light { background: #fff; color: var(--purple-deep); }
.plans-grid { gap: 14px; }
.plans-grid .plan-card:not(.plan-card-featured) { border: 1px solid #e4e7e1; border-top: 2px solid #8ba193; border-radius: 3px; background: #fff; box-shadow: none; }
.plans-grid .plan-card:not(.plan-card-featured):hover { border-color: #b9c7bc; box-shadow: none; transform: translateY(-2px); }
.plans-grid .plan-card:not(.plan-card-featured) .plan-index { background: transparent; color: #718a7e; }
.plans-grid .plan-card:not(.plan-card-featured) .plan-duration { border-left-color: #8ba193; background: #f5f5f1; }
.plans-grid .plan-card:not(.plan-card-featured) .plan-duration > strong, .plans-grid .plan-card:not(.plan-card-featured) .coverage-text b { color: var(--purple-deep); }
.plan-funnel { border-left-color: #8ba193; background: #fff; }
.plan-funnel-steps b, .final-cta-steps b { background: #dce5dc; color: var(--purple-deep); }
.seasonal-card { border: 1px solid var(--line); border-radius: 3px; }
.seasonal-icon { border-radius: 2px; background: #eef1eb; color: #718a7e; }
.section-testimonials, .section-why { background: #fff; }
.testimonial-card { border: 1px solid #e6e9e3; background: #f7f7f4; box-shadow: none; }
.testimonial-poster { height: 100%; }
.testimonial-poster::after { background: linear-gradient(0deg,rgba(24,35,30,.28),transparent 60%); }
.testimonial-poster span { border: 0; border-radius: 3px; background: var(--purple); color: #fff; }
.testimonial-case-label { display: flex; min-height: 320px; padding: 32px; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 11px; background: #40584d; color: #fff; }
.testimonial-case-label span { color: #dce5dc; font: 700 .6rem/1 var(--label); letter-spacing: .13em; }
.testimonial-case-label strong { color: #fff; font: 700 clamp(2.3rem,4.2vw,4.3rem)/.88 var(--serif); letter-spacing: -.065em; }
.testimonial-case-label small { color: rgba(255,255,255,.72); font-size: .72rem; }
.corporate-proof-grid { margin-top: 20px; border-color: #e3e7e1; }
.corporate-proof-grid article, .corporate-proof-grid article:nth-child(2) { min-height: 190px; background: #fff; }
.corporate-proof-grid h3 { color: var(--purple-deep); font-family: var(--serif); }
.section-process { background: #f5f5f1; }
.process-grid { gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.process-grid article { padding: 25px 26px; border: 0; border-right: 1px solid var(--line); background: transparent; box-shadow: none; }
.process-grid article:last-child { border-right: 0; }
.process-step { width: 32px; height: 32px; border-radius: 50%; background: #e4eae3; color: #40584d; }
.process-grid h3 { margin-top: 17px; font-family: var(--serif); }
.section-custom { background: #f5f5f1; color: var(--ink); }
.custom-layout { grid-template-columns: minmax(0,1fr) minmax(250px,.72fr); }
.custom-copy .section-title { color: var(--purple-deep); font-size: clamp(2.3rem,4vw,3.6rem); }
.custom-copy > p:not(.eyebrow) { color: var(--muted); }
.custom-points { padding: 28px; border-left: 2px solid #8ba193; background: #fff; }
.custom-points > span { color: #6b8176; font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.custom-points ul { display: grid; gap: 15px; margin: 20px 0 0; padding: 0; color: var(--ink); font-size: .94rem; list-style: none; }
.custom-points li { padding-bottom: 13px; border-bottom: 1px solid #e7e9e4; }
.custom-points li:last-child { border: 0; }
.section-portfolio { min-height: 350px; padding-block: 80px; background: #40584d; color: #fff; }
.portfolio-backdrop, .portfolio-overlay { display: none; }
.portfolio-content .section-title { color: #fff; font-size: clamp(2.25rem,4.5vw,3.8rem); }
.portfolio-content > p:not(.eyebrow) { color: rgba(255,255,255,.77); }
.why-grid { gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.why-grid article, .why-grid article:nth-child(2) { border-top: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.why-grid article > span { color: #718a7e; }
.section-faq { background: #f5f5f1; }
.faq-list details, .faq-list details:first-child { border-color: #dfe4dd; }
.faq-list summary::after { color: #718a7e; }
.final-cta { background: #40584d; }
.final-cta .eyebrow { color: #dce5dc; }
.final-cta .button-yellow { background: #fff; color: #293b35; }
.final-cta .reservation-note { border-color: rgba(255,255,255,.25); border-left-color: #d5c6a8; background: rgba(255,255,255,.08); }
.site-footer { background: #283a34; }
.footer-main h2 { color: #dce5dc; }
.footer-social a span { color: #c6d3c8; }
.whatsapp-followup { border: 1px solid rgba(255,255,255,.5); border-radius: 3px; background: #40584d; box-shadow: 0 6px 20px rgba(0,0,0,.14); }
.whatsapp-followup:hover { background: #293b35; }
.photo-dialog { border-radius: 3px; }
@media (max-width: 1080px) {
  .primary-nav { gap: 10px; }
  .about-layout { grid-template-columns: minmax(230px,.65fr) minmax(0,1.35fr); }
  .plans-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .hero { height: clamp(340px, 70vw, 500px); min-height: 0; }
  .hero-image { object-position: 62% 45%; }
  .hero-message { padding-block: 42px; }
  .hero-message-inner, .about-layout, .custom-layout { grid-template-columns: 1fr; gap: 24px; }
  .hero-message h1 { font-size: clamp(2.45rem,10vw,3.8rem); }
  .hero-message-actions { align-items: stretch; }
  .hero-message-actions .button { width: fit-content; }
  .about-image-wrap, .about-image-wrap > img { min-height: 270px; }
  .about-image-wrap .image-caption { padding: 12px 14px; font-size: .55rem; }
  .feature-grid, .deliverable-grid, .corporate-proof-grid, .process-grid, .why-grid, .moments-grid { grid-template-columns: 1fr; }
  .feature-card + .feature-card, .deliverable-card, .process-grid article { border-left: 0; border-right: 0; border-top: 1px solid var(--line); }
  .stats-inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gallery-stage { height: 64vw; min-height: 280px; max-height: 420px; }
  .gallery-stage figcaption { font-size: .82rem; }
  .moments-grid article { min-height: 0; }
  .moment-photo { aspect-ratio: 1.5 / 1; }
  .moment-copy { min-height: 0; padding: 18px 20px 21px; }
  .moments-grid h3 { margin-top: 14px; }
  .video-play { right: 12px; bottom: 12px; }
  .deliverable-card { min-height: 0; padding: 22px 20px; }
  .deliverable-card h3 { margin-top: 18px; }
  .service-card, .service-card:hover { min-height: 250px; padding: 23px; }
  .plans-grid { grid-template-columns: 1fr; }
  .plan-highlight { padding: 25px 21px; }
  .plan-quick-includes { grid-template-columns: 1fr 1fr; }
  .testimonial-card { grid-template-columns: 1fr; }
  .testimonial-media { width: 100%; max-width: 450px; height: auto; aspect-ratio: 16/9; }
  .testimonial-case-label { min-height: 250px; aspect-ratio: auto; }
  .testimonial-poster { height: 100%; }
  .corporate-proof-grid article { min-height: 0; padding: 22px; }
  .process-grid { gap: 0; }
  .custom-points { padding: 22px; }
  .section-portfolio { min-height: 0; padding-block: 64px; }
  .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 390px) {
  .hero-message h1 { font-size: 2.3rem; }
  .plan-quick-includes { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Prioridad visual: el video aparece primero y ocupa un formato horizontal amplio. */
.hero { height: auto; min-height: 0; padding: 0; background: #18231e; }
.hero .video-player.hero-video-player { position: relative; width: 100%; max-width: 1280px; margin: 0 auto; aspect-ratio: 16 / 9; background: #18231e; }
.hero .video-poster { object-fit: cover; object-position: center; }
.hero .video-player > iframe { display: none; position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hero .video-player.is-playing > iframe { display: block; }
.hero .video-play.hero-video-play { position: absolute !important; z-index: 3; top: 50%; right: auto; bottom: auto; left: 50%; display: inline-flex !important; align-items: center; gap: 9px; min-height: 54px; padding: 15px 23px; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.72); background: rgba(42,61,52,.9); color: #fff; font-size: .72rem; letter-spacing: .055em; white-space: nowrap; }
.hero .video-play.hero-video-play:hover { background: #293b35; }
.hero .video-play.hero-video-play span { color: #fff; }
.hero-video-fallback { max-width: 1280px; margin: 0 auto; padding: 8px 18px 12px; color: rgba(255,255,255,.74); font-size: .7rem; text-align: right; }
.hero-video-fallback a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.hero-video-fallback a:hover { color: #fff; }
.video-anchor { position: absolute; top: -82px; left: 0; scroll-margin-top: 82px; }
#reels .deliverable-grid { display: flex; gap: 15px; margin-top: 22px; padding: 3px 1px 14px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-color: #b7c6ba #e8ebe5; scrollbar-width: thin; }
#reels .deliverable-card, #reels .deliverable-card:nth-child(2), #reels .deliverable-card:nth-child(3) { flex: 0 0 calc((100% - 30px) / 3); min-height: 225px; scroll-snap-align: start; border: 1px solid #e3e7e1; border-top: 2px solid #8ba193; background: #fff; }
#reels .deliverable-card h3 { margin-top: 27px; }
#reels .deliverable-card p { margin-bottom: 0; }
@media (max-width: 760px) {
  .hero .video-player.hero-video-player { width: 100%; aspect-ratio: 16 / 9; }
  .hero .video-play.hero-video-play { min-height: 48px; padding: 12px 18px; font-size: .63rem; }
  .hero-video-fallback { padding-right: 14px; text-align: center; }
  .video-anchor { top: -68px; scroll-margin-top: 68px; }
  #reels .deliverable-grid { margin-right: -18px; padding-right: 18px; }
  #reels .deliverable-card, #reels .deliverable-card:nth-child(2), #reels .deliverable-card:nth-child(3) { flex-basis: min(82vw, 360px); min-height: 215px; }
}

/* Ajuste solicitado: identidad morado/negro y acento dorado para Experiencia Total. */
:root {
  --purple: #4c2566;
  --purple-deep: #211728;
  --magenta: #8e69a5;
  --sky: #c0b0cc;
  --yellow: #d5b260;
  --ink: #27222b;
  --muted: #6e6872;
  --paper: #f5f2f7;
  --line: rgba(44, 31, 52, .15);
}
body { color: var(--ink); background: #fff; }
.site-header { border-bottom-color: #e8e2ed; }
.primary-nav a::after { background: #8e69a5; }
.button-yellow, .button-nav, .button-youtube { border-color: #4c2566; background: #4c2566; color: #fff; }
.button-yellow:hover, .button-nav:hover, .button-youtube:hover { background: #211728; color: #fff; }
.button-outline { border-color: #8e69a5; color: #352041; }
.button-outline:hover { background: #4c2566; color: #fff; }
.section-title, .feature-card h3, .service-card h3, .why-grid h3, .faq-list summary { color: #211728; }
.section-title em, .hero-message h1 em { color: #806091; }
.eyebrow, .feature-icon, .service-number, .service-mark, .why-grid article > span { color: #806091; }
.hero { background: #17121c; }
.hero-message { background: #fff; }
.hero-message .hero-subtitle { color: #76667f; }
.stats-band, .section-portfolio, .final-cta { background: #211728; }
.stat > strong span { color: #d5b260; }
.section-gallery, .section-reels, .section-pricing, .section-process, .section-custom, .section-faq { background: #f5f2f7; }
.about-image-wrap .image-caption { background: rgba(33,23,40,.87); }
.video-play, .hero .video-play.hero-video-play { background: rgba(33,23,40,.92); }
.video-play:hover, .hero .video-play.hero-video-play:hover { background: #4c2566; }
.hero-video-fallback { color: rgba(255,255,255,.8); }
#reels .deliverable-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 22px; padding: 0; overflow: visible; border: 0; }
#reels .deliverable-card, #reels .deliverable-card:nth-child(2), #reels .deliverable-card:nth-child(3) { min-width: 0; min-height: 190px; padding: 23px; border: 1px solid #e4ddea; border-top: 3px solid #806091; background: #fff; }
#reels .deliverable-card h3 { margin: 24px 0 8px; color: #211728; font-size: clamp(.93rem,1.5vw,1.3rem); }
#reels .deliverable-card p { margin-bottom: 0; color: #6e6872; font-size: clamp(.72rem,.9vw,.84rem); }
.plan-highlight, .plan-card-featured { border: 1px solid #caa65a; border-radius: 4px; background: linear-gradient(132deg,#211728 0%,#34243c 60%,#211728 100%); color: #fff; box-shadow: 0 12px 32px rgba(33,23,40,.16); }
.plan-highlight h3, .plan-card-featured h3, .plan-highlight .plan-index, .plan-card-featured .plan-index { color: #fff; }
.plan-highlight .plan-ribbon { border: 0; background: linear-gradient(110deg,#e5cc84,#c59b4a); color: #261d2b; font-weight: 700; }
.plan-highlight .plan-description, .plan-card-featured .plan-description { color: rgba(255,255,255,.82); }
.plan-highlight .plan-index { color: #e4ca82; }
.plan-highlight .plan-duration { border-color: rgba(213,178,96,.72); background: rgba(213,178,96,.12); }
.plan-highlight .plan-duration > strong, .plan-highlight .coverage-text b { color: #e5c778; }
.plan-highlight .coverage-text small, .plan-highlight .coverage-note { color: rgba(255,255,255,.8); }
.plan-highlight .plan-quick-includes-label { color: #fff; }
.plan-highlight .plan-quick-includes > div { border-color: rgba(255,255,255,.18); border-top: 2px solid #d5b260; background: rgba(255,255,255,.08); }
.plan-highlight .plan-quick-includes span { color: rgba(255,255,255,.73); }
.plan-highlight .plan-quick-includes strong { color: #fff; }
.plan-highlight .plan-details { border-color: rgba(213,178,96,.42); background: rgba(0,0,0,.13); }
.plan-highlight .plan-details summary { border-left-color: #d5b260; color: #fff; }
.plan-highlight .details-summary-mark { border-color: #d5b260; color: #e5c778; }
.plan-highlight .details-summary-count { border-color: rgba(255,255,255,.28); color: #fff; }
.plan-highlight .details-summary-arrow { background: #d5b260; color: #211728; }
.plan-highlight .experience-group h4 { color: #e5c778; }
.plan-highlight .experience-group li { color: rgba(255,255,255,.92); }
.plan-highlight .experience-group { border-color: rgba(255,255,255,.2); }
.plan-highlight .button-light { border-color: #d5b260; background: #d5b260; color: #211728; }
.plan-highlight .button-light:hover { background: #e5c778; }
.plans-grid .plan-card:not(.plan-card-featured) { border-top-color: #806091; }
.plans-grid .plan-card:not(.plan-card-featured) .plan-index { color: #715582; }
.plans-grid .plan-card:not(.plan-card-featured) .plan-duration { border-left-color: #8e69a5; }
.plans-grid .plan-card:not(.plan-card-featured) .plan-duration > strong, .plans-grid .plan-card:not(.plan-card-featured) .coverage-text b { color: #352041; }
.plan-funnel { border-left-color: #806091; }
.plan-funnel-steps b, .final-cta-steps b { background: #eee7f2; color: #352041; }
.seasonal-icon { background: #eee7f2; color: #715582; }
.testimonial-case-label { background: #211728; }
.corporate-proof-grid article, .corporate-proof-grid article:nth-child(2) { background: #fff; }
.corporate-proof-grid article > span, .moments-grid span, #reels .deliverable-card > span { color: #806091; }
.moments-grid h3 { color: #211728; }
.corporate-proof-grid h3, .process-grid h3 { color: #211728; }
.hero-message .hero-subtitle { color: #76667f; }
.about-image-wrap .image-caption { background: rgba(33,23,40,.87); }
.process-step { background: #eee7f2; color: #4c2566; }
.custom-points { border-left-color: #8e69a5; background: #fff; }
.custom-points > span { color: #715582; }
.why-grid article, .why-grid article:nth-child(2) { background: #fff; }
.faq-list summary::after { color: #806091; }
.final-cta .eyebrow { color: #d9c8e5; }
.final-cta .button-yellow { border-color: #d5b260; background: #d5b260; color: #211728; }
.final-cta .reservation-note { border-left-color: #d5b260; }
.site-footer { background: #17121c; }
.footer-main h2 { color: #d9c8e5; }
.footer-social a span { color: #c8b2d6; }
.whatsapp-followup { background: #4c2566; }
.whatsapp-followup:hover { background: #211728; }
@media (max-width: 760px) {
  #reels .deliverable-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; overflow: visible; }
  #reels .deliverable-card, #reels .deliverable-card:nth-child(2), #reels .deliverable-card:nth-child(3) { min-height: 170px; padding: 12px 10px; }
  #reels .deliverable-card h3 { margin: 18px 0 7px; font-size: clamp(.78rem,3.25vw,.98rem); line-height: 1.15; }
  #reels .deliverable-card p { font-size: clamp(.61rem,2.45vw,.72rem); line-height: 1.35; }
}

/* Reel showcase: historias reales, clientes y recorrido visual */
.section-reels {
  position: relative;
  overflow: hidden;
  padding-block: clamp(64px, 8vw, 104px);
  color: #fff;
  background: radial-gradient(ellipse at 8% 18%, rgba(112, 70, 133, .26), transparent 32%), linear-gradient(128deg, #17121c 0%, #241a2b 56%, #17121c 100%);
}
.section-reels .container { position: relative; z-index: 1; max-width: 1240px; }
.section-reels .reels-heading { max-width: 790px; margin: 0 auto 36px; }
.section-reels .reels-heading .eyebrow { color: #d9bd75; }
.section-reels .reels-heading .section-title { color: #fff; font-size: clamp(2.45rem, 5.2vw, 4.6rem); }
.section-reels .reels-heading .section-title em { color: #e5ca7d; }
.section-reels .reels-heading .section-intro { max-width: 590px; color: rgba(255,255,255,.72); }
.reel-client-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(22px, 4.4vw, 62px);
  max-width: 1020px;
  margin: 0 auto 28px;
  padding: 17px 22px;
  border-top: 1px solid rgba(255,255,255,.19);
  border-bottom: 1px solid rgba(255,255,255,.19);
}
.reel-client-label { color: rgba(255,255,255,.6); font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.reel-client-name { color: #fff; font-size: clamp(.9rem, 1.6vw, 1.2rem); font-weight: 700; letter-spacing: -.035em; white-space: nowrap; }
.reel-client-disney { font-family: var(--serif); font-size: clamp(1.15rem, 2vw, 1.65rem); font-style: italic; }
.reel-client-zurich { letter-spacing: .1em; }
.reel-showcase { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.reel-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.055);
  color: #fff;
  text-decoration: none;
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.reel-card:hover { transform: translateY(-6px); border-color: rgba(229,202,125,.82); box-shadow: 0 18px 42px rgba(0,0,0,.26); }
.reel-card:focus-visible { outline: 3px solid #e5ca7d; outline-offset: 4px; }
.reel-card-media { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: #33243d; }
.reel-card-media::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16,12,20,.06) 24%, rgba(16,12,20,.6) 100%); content: ""; pointer-events: none; }
.reel-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.reel-card:hover .reel-card-media img { transform: scale(1.045); }
.reel-index { position: absolute; z-index: 1; top: 13px; left: 14px; display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid rgba(255,255,255,.45); background: rgba(25,18,31,.68); color: #f0d98f; font-size: .7rem; font-weight: 700; }
.reel-play { position: absolute; z-index: 1; top: 50%; left: 50%; display: grid; width: 52px; height: 52px; transform: translate(-50%,-50%); place-items: center; border: 1px solid rgba(255,255,255,.82); border-radius: 50%; background: rgba(32,22,39,.58); color: #fff; font-size: .93rem; padding-left: 3px; transition: background .2s ease, color .2s ease; }
.reel-card:hover .reel-play { background: #d5b260; color: #211728; }
.reel-card-copy { display: flex; flex: 1; flex-direction: column; padding: 19px 21px 22px; }
.reel-category { margin: 0 0 11px; color: #e2c879; font-size: .62rem; font-weight: 700; letter-spacing: .12em; line-height: 1.35; text-transform: uppercase; }
.reel-card-copy h3 { margin: 0; color: #fff; font-family: var(--serif); font-size: clamp(1.15rem, 1.8vw, 1.55rem); line-height: 1.15; }
.reel-card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 22px; color: rgba(255,255,255,.8); font-size: .74rem; font-weight: 600; }
.reel-card:hover .reel-card-link { color: #f0d98f; }
.reel-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 27px; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.18); }
.reel-cta p { margin: 0; color: #fff; font-family: var(--serif); font-size: clamp(1.1rem, 2vw, 1.5rem); }
.reel-cta .button-yellow { flex: 0 0 auto; border-color: #d5b260; background: #d5b260; color: #211728; }
.reel-cta .button-yellow:hover { border-color: #e5ca7d; background: #e5ca7d; color: #211728; }
.corporate-proof-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid #e6e0eb; border-bottom: 1px solid #e6e0eb; }
.corporate-proof-grid article { min-width: 0; padding: 25px 24px; border-right: 1px solid #e6e0eb; }
.corporate-proof-grid article:last-child { border-right: 0; }
@media (max-width: 760px) {
  .section-reels { padding-block: 58px; }
  .section-reels .reels-heading { margin-bottom: 27px; text-align: left; }
  .section-reels .reels-heading .section-title { font-size: clamp(2.15rem, 9vw, 3.1rem); }
  .reel-client-strip { display: grid; grid-template-columns: repeat(4, max-content); justify-content: space-between; gap: 9px; margin-bottom: 18px; padding: 13px 0; }
  .reel-client-label { max-width: 75px; font-size: .5rem; line-height: 1.3; }
  .reel-client-name { font-size: clamp(.62rem, 2.7vw, .82rem); }
  .reel-client-disney { font-size: clamp(.82rem, 3.6vw, 1.05rem); }
  .reel-showcase { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .reel-card-media { aspect-ratio: 4 / 3; }
  .reel-index { top: 6px; left: 6px; width: 23px; height: 23px; font-size: .59rem; }
  .reel-play { width: 34px; height: 34px; font-size: .65rem; }
  .reel-card-copy { padding: 10px 9px 12px; }
  .reel-category { margin-bottom: 7px; font-size: .48rem; letter-spacing: .055em; line-height: 1.25; }
  .reel-card-copy h3 { font-size: clamp(.66rem, 2.85vw, .82rem); line-height: 1.2; }
  .reel-card-link { gap: 3px; padding-top: 12px; font-size: .54rem; line-height: 1.2; }
  .reel-cta { align-items: flex-start; flex-direction: column; gap: 12px; margin-top: 20px; padding-top: 18px; }
  .reel-cta p { font-size: 1.05rem; }
  .corporate-proof-grid { grid-template-columns: repeat(3, minmax(155px, 1fr)); overflow-x: auto; }
  .corporate-proof-grid article { padding: 17px 14px; }
  .corporate-proof-grid h3 { font-size: .92rem; }
  .corporate-proof-grid p { font-size: .72rem; }
}
@media (prefers-reduced-motion: reduce) {
  .reel-card, .reel-card-media img, .reel-play { transition: none; }
}

.reel-card-link { overflow-wrap: anywhere; }


/* Protagonismo de las marcas y cierre editorial del video principal. */
.brand-spotlight { position: relative; isolation: isolate; border-bottom: 1px solid rgba(213,178,96,.34); background: linear-gradient(112deg,#17121c 0%,#2b1b36 56%,#17121c 100%); color: #fff; }
.brand-spotlight::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 1px; background: linear-gradient(90deg,transparent,rgba(213,178,96,.8),transparent); content: ""; }
.brand-spotlight-inner { display: grid; grid-template-columns: minmax(220px,.95fr) 1px minmax(0,1.65fr); align-items: center; gap: clamp(22px,4vw,58px); padding-block: clamp(19px,2.5vw,30px); }
.brand-spotlight-primary, .brand-spotlight-clients { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.brand-spotlight-kicker { margin: 0; color: #d9bd72; font: 700 .62rem/1.4 var(--label); letter-spacing: .16em; text-transform: uppercase; }
.brand-spotlight-primary strong { color: #fff; font: 700 clamp(1.65rem,3.1vw,2.7rem)/1.04 var(--sans); letter-spacing: -.055em; }
.brand-spotlight-divider { width: 1px; height: 62px; background: linear-gradient(180deg,transparent,rgba(213,178,96,.72),transparent); }
.brand-spotlight-names { display: flex; align-items: baseline; gap: clamp(30px,6vw,82px); }
.brand-spotlight-names span { color: #fff; font: 650 clamp(1.8rem,3.5vw,3rem)/1 var(--sans); letter-spacing: -.06em; }
.brand-spotlight-names .brand-name-disney { font-family: Georgia,serif; font-style: italic; font-weight: 700; letter-spacing: -.075em; }
.hero { display: block; height: auto; min-height: 0; padding: 0; overflow: hidden; background: #17121c; }
.hero .video-player.hero-video-player { position: relative; width: 100%; max-width: 1280px; margin: 0 auto; aspect-ratio: 16 / 9; background: #17121c; }
.hero-video-caption { display: flex; max-width: 1280px; min-height: 82px; margin: 0 auto; padding: 15px clamp(18px,3vw,30px); align-items: center; justify-content: space-between; gap: 22px; border-top: 1px solid rgba(255,255,255,.08); background: linear-gradient(105deg,#211728 0%,#2c1c36 55%,#211728 100%); color: #fff; }
.hero-video-caption-copy { display: flex; min-width: 0; align-items: baseline; flex-wrap: wrap; gap: 7px 17px; }
.hero-video-caption-label { color: #d9bd72; font: 700 .59rem/1.4 var(--label); letter-spacing: .16em; text-transform: uppercase; }
.hero-video-caption-copy strong { color: #fff; font: 650 1.04rem/1.2 var(--sans); letter-spacing: -.025em; }
.hero-video-caption-detail { color: rgba(255,255,255,.65); font-size: .76rem; }
.hero-video-youtube { display: inline-flex; min-height: 42px; padding: 10px 15px; flex: 0 0 auto; align-items: center; justify-content: center; gap: 9px; border: 1px solid rgba(217,189,114,.58); border-radius: 2px; color: #e8d498; font: 700 .63rem/1.2 var(--label); letter-spacing: .09em; text-decoration: none; text-transform: uppercase; transition: background 160ms ease,color 160ms ease,border-color 160ms ease; }
.hero-video-youtube:hover { border-color: #d9bd72; background: #d9bd72; color: #211728; }
.hero-video-youtube-icon { font-size: .78rem; }
@media (max-width: 760px) {
  .brand-spotlight-inner { grid-template-columns: 1fr; gap: 12px; padding-block: 17px; }
  .brand-spotlight-divider { width: 100%; height: 1px; background: linear-gradient(90deg,transparent,rgba(213,178,96,.72),transparent); }
  .brand-spotlight-names { justify-content: flex-start; gap: clamp(28px,10vw,54px); }
  .brand-spotlight-names span { font-size: clamp(1.65rem,8vw,2.3rem); }
  .hero-video-caption { min-height: 0; padding: 13px 16px; align-items: flex-start; flex-direction: column; gap: 11px; }
  .hero-video-caption-copy { gap: 6px 12px; }
  .hero-video-caption-detail { flex-basis: 100%; }
  .hero-video-youtube { min-height: 39px; }
}


/* Reproducción de Reels oficiales y vitrina horizontal en pantallas pequeñas. */
.reel-card { position: relative; }
.reel-card:focus-within { border-color: rgba(229,202,125,.82); box-shadow: 0 18px 42px rgba(0,0,0,.26); }
.reel-card--featured { border-color: rgba(213,178,96,.72); box-shadow: 0 14px 34px rgba(0,0,0,.18); }
.reel-partnership-label { position: absolute; z-index: 2; top: 13px; right: 14px; padding: 7px 9px; border: 1px solid rgba(213,178,96,.72); background: rgba(33,23,40,.9); color: #edd993; font: 700 .54rem/1.1 var(--label); letter-spacing: .1em; text-transform: uppercase; }
.reel-play-trigger { position: absolute; inset: 0; z-index: 2; display: grid; width: 100%; height: 100%; padding: 0; place-items: center; border: 0; background: transparent; color: #fff; cursor: pointer; }
.reel-play-trigger:focus-visible { outline: 3px solid #e5ca7d; outline-offset: -6px; }
.reel-play { position: relative; top: auto; left: auto; width: 56px; height: 56px; padding-left: 4px; transform: none; pointer-events: none; }
.reel-card-link { text-decoration: none; }
.reel-card-link:hover { color: #f0d98f; }
.reel-dialog { width: min(760px,calc(100vw - 28px)); max-width: none; max-height: 92vh; margin: auto; padding: 0; overflow: auto; border: 1px solid rgba(213,178,96,.68); background: #211728; color: #fff; box-shadow: 0 26px 90px rgba(0,0,0,.55); }
.reel-dialog::backdrop { background: rgba(12,8,16,.82); backdrop-filter: blur(5px); }
.reel-dialog-inner { padding: clamp(14px,2.3vw,24px); }
.reel-dialog-header { display: flex; margin-bottom: 14px; align-items: center; justify-content: space-between; gap: 16px; }
.reel-dialog-header .eyebrow { margin: 0 0 4px; color: #d9bd72; }
.reel-dialog-header h2 { margin: 0; color: #fff; font: 600 clamp(1.05rem,2.4vw,1.5rem)/1.2 var(--sans); }
.reel-dialog-close { display: inline-flex; min-height: 40px; padding: 9px 12px; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.28); background: transparent; color: #fff; font: 700 .62rem/1 var(--label); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.reel-dialog-close span { color: #e2c879; font-size: 1.25rem; }
.reel-dialog-frame { width: 100%; height: min(68vh,720px); overflow: hidden; background: #09070b; }
.reel-dialog-frame iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
.reel-dialog-link { display: inline-flex; margin-top: 13px; align-items: center; gap: 8px; color: #e8d498; font-size: .72rem; font-weight: 600; text-decoration: none; }
.reel-dialog-link:hover { color: #fff; }
@media (max-width: 760px) {
  .reel-showcase { display: flex; margin-right: -18px; padding: 0 18px 12px 0; gap: 14px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-color: #806091 transparent; scrollbar-width: thin; }
  .reel-card { flex: 0 0 min(82vw,360px); scroll-snap-align: start; }
  .reel-card-media { aspect-ratio: 16 / 9; }
  .reel-card-copy { padding: 15px 16px 17px; }
  .reel-category { font-size: .58rem; letter-spacing: .075em; }
  .reel-card-copy h3 { font-size: clamp(1.02rem,4.5vw,1.32rem); }
  .reel-card-link { padding-top: 18px; font-size: .68rem; }
  .reel-partnership-label { top: 8px; right: 8px; font-size: .48rem; }
  .reel-dialog { width: calc(100vw - 16px); max-height: 92vh; }
  .reel-dialog-frame { height: min(72vh,680px); }
}


/* Portada estable para el video principal: evita que un iframe de YouTube opaque el primer pantallazo. */
.hero .hero-video-poster { position: relative; width: min(1040px,100%); margin: 0 auto; aspect-ratio: 16 / 9; overflow: hidden; background: #17121c; }
.hero-video-poster > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-video-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(16,11,20,.72) 0%,rgba(16,11,20,.22) 52%,rgba(16,11,20,.4) 100%),linear-gradient(0deg,rgba(16,11,20,.7),transparent 58%); }
.hero-video-overlay { position: absolute; z-index: 1; right: clamp(22px,4vw,54px); bottom: clamp(22px,4vw,48px); left: clamp(22px,4vw,54px); display: flex; max-width: 520px; flex-direction: column; align-items: flex-start; gap: 12px; color: #fff; }
.hero-video-case { color: #e3c878; font: 700 clamp(.57rem,1vw,.68rem)/1.3 var(--label); letter-spacing: .15em; text-transform: uppercase; }
.hero-video-overlay p { max-width: 440px; margin: 0; color: #fff; font: 600 clamp(1.28rem,2.7vw,2.15rem)/1.08 var(--sans); letter-spacing: -.045em; }
.hero-video-trigger { display: inline-flex; min-height: 46px; padding: 10px 17px 10px 12px; align-items: center; gap: 10px; border: 1px solid #e3c878; background: #e3c878; color: #211728; font: 700 .65rem/1 var(--label); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background 160ms ease, transform 160ms ease; }
.hero-video-trigger:hover { background: #f0d98f; transform: translateY(-2px); }
.hero-video-trigger:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.hero-video-trigger-icon { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #211728; color: #fff; font-size: .62rem; padding-left: 2px; }
.youtube-dialog { width: min(1040px,calc(100vw - 28px)); max-width: none; max-height: 92vh; margin: auto; padding: 0; overflow: auto; border: 1px solid rgba(213,178,96,.68); background: #211728; color: #fff; box-shadow: 0 26px 90px rgba(0,0,0,.55); }
.youtube-dialog::backdrop { background: rgba(12,8,16,.82); backdrop-filter: blur(5px); }
.youtube-dialog-inner { padding: clamp(14px,2.3vw,24px); }
.youtube-dialog-header { display: flex; margin-bottom: 14px; align-items: center; justify-content: space-between; gap: 16px; }
.youtube-dialog-header .eyebrow { margin: 0 0 4px; color: #d9bd72; }
.youtube-dialog-header h2 { margin: 0; color: #fff; font: 600 clamp(1.05rem,2.4vw,1.5rem)/1.2 var(--sans); }
.youtube-dialog-close { display: inline-flex; min-height: 40px; padding: 9px 12px; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.28); background: transparent; color: #fff; font: 700 .62rem/1 var(--label); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.youtube-dialog-close span { color: #e2c879; font-size: 1.25rem; }
.youtube-dialog-frame { width: 100%; aspect-ratio: 16 / 9; background: #09070b; }
.youtube-dialog-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.youtube-dialog-link { display: inline-flex; margin-top: 13px; align-items: center; gap: 8px; color: #e8d498; font-size: .72rem; font-weight: 600; text-decoration: none; }
.youtube-dialog-link:hover { color: #fff; }
.section-reels-priority { border-top: 1px solid rgba(213,178,96,.25); }
@media (max-width: 760px) {
  .hero .hero-video-poster { aspect-ratio: 4 / 3; }
  .hero-video-overlay { right: 18px; bottom: 19px; left: 18px; gap: 10px; }
  .hero-video-overlay p { max-width: 290px; font-size: 1.42rem; }
  .hero-video-trigger { min-height: 43px; padding-right: 14px; font-size: .59rem; }
  .youtube-dialog { width: calc(100vw - 16px); max-height: 92vh; }
}


/* Reels originales visibles en la página: prioridad al video, con créditos bajo los embeds. */
.brand-spotlight--after-reels { margin-top: 0; border-top: 1px solid rgba(213,178,96,.34); border-bottom: 0; }
.brand-spotlight--after-reels::after { top: 0; bottom: auto; }
.brand-spotlight--after-reels .brand-spotlight-inner { grid-template-columns: minmax(0,1.4fr) 1px minmax(220px,.9fr); }
.brand-spotlight--after-reels .brand-spotlight-clients { order: 0; }
.brand-spotlight--after-reels .brand-spotlight-primary { order: 2; }
.reel-showcase-embeds { align-items: stretch; gap: 20px; }
.reel-showcase-embeds .reel-card { border: 1px solid rgba(213,178,96,.32); background: #211728; transform: none; box-shadow: 0 18px 42px rgba(0,0,0,.18); }
.reel-showcase-embeds .reel-card:hover { border-color: rgba(229,202,125,.82); transform: translateY(-4px); }
.reel-card-media.reel-embed-media { height: clamp(560px,53vw,680px); aspect-ratio: auto; background: #fff; }
.reel-card-media.reel-embed-media::after { display: none; }
.reel-card-media.reel-embed-media iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
.reel-showcase-embeds .reel-card-copy { min-height: 160px; padding: 19px 20px 21px; }
.reel-showcase-embeds .reel-card--featured .reel-card-copy { border-top: 2px solid #d9bd72; }
.reel-showcase-embeds .reel-card-copy h3 { min-height: 2.3em; }
.reel-showcase-embeds .reel-card-link { margin-top: 13px; padding-top: 0; color: #e8d498; text-decoration: underline; text-decoration-color: rgba(232,212,152,.4); text-underline-offset: 4px; }
.reel-showcase-embeds .reel-card-link:hover { color: #fff; }
@media (max-width: 760px) {
  .brand-spotlight--after-reels .brand-spotlight-inner { grid-template-columns: 1fr; gap: 14px; }
  .brand-spotlight--after-reels .brand-spotlight-divider { width: 100%; height: 1px; }
  .brand-spotlight--after-reels .brand-spotlight-primary { order: 2; }
  .reel-showcase-embeds { display: flex; margin-right: -18px; padding: 0 18px 12px 0; gap: 15px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-color: #806091 transparent; scrollbar-width: thin; }
  .reel-showcase-embeds .reel-card { flex: 0 0 min(86vw,380px); scroll-snap-align: start; }
  .reel-card-media.reel-embed-media { height: min(69vh,640px); min-height: 480px; }
  .reel-showcase-embeds .reel-card-copy { min-height: 145px; padding: 15px 16px 17px; }
  .reel-showcase-embeds .reel-card-copy h3 { min-height: 0; font-size: 1.12rem; }
}


/* Tarjetas de Reel en formato vertical nativo, alineadas en una fila horizontal. */
.reel-card-media.reel-disney-media { display: grid; place-items: center; background: #09070b; }
.reel-native-video { display: block; width: 100%; height: 100%; object-fit: contain; background: #09070b; }
.reel-showcase-embeds .reel-card-copy { border-top: 1px solid rgba(213,178,96,.28); }
.reel-showcase-embeds .reel-card--featured .reel-card-copy { border-top: 2px solid #d9bd72; }
.reel-showcase-embeds .reel-card-copy h3 { min-height: 0; }
.reel-showcase-embeds .reel-card-link { margin-top: auto; padding-top: 16px; }
@media (min-width: 761px) {
  .reel-showcase-embeds .reel-card-media.reel-embed-media { height: min(70vh,680px); min-height: 560px; }
}
@media (max-width: 760px) {
  .reel-showcase-embeds .reel-card-media.reel-embed-media { height: min(72vh,660px); min-height: 490px; }
  .reel-native-video { max-width: 100%; }
}


/* Video de portada: reproducción automática silenciada, con controles nativos de YouTube. */
.hero .hero-video-poster.hero-youtube-autoplay {
  position: relative;
  width: min(1280px, 100%);
  max-width: 1280px;
  aspect-ratio: 16 / 9;
  background: #09070b;
}
.hero-youtube-autoplay > iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.hero-youtube-autoplay .hero-video-shade { z-index: 1; pointer-events: none; }
.hero-youtube-autoplay .hero-video-overlay { z-index: 2; pointer-events: none; }
.hero-youtube-autoplay .hero-video-overlay--autoplay { max-width: 420px; }
.hero-youtube-autoplay .hero-video-overlay--autoplay p { margin: 0; }

/* Vitrina de Reels: cuatro piezas locales verticales, sin marcos de Instagram. */
.reel-showcase-embeds { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.reel-showcase-embeds .reel-card-media.reel-native-media {
  height: auto;
  min-height: 0;
  aspect-ratio: 9 / 16;
  background: #09070b;
}
.reel-showcase-embeds .reel-card-media.reel-native-media::after { display: none; }
.reel-showcase-embeds .reel-native-video { object-fit: contain; }
.reel-showcase-embeds .reel-card-copy { min-height: 152px; }
.reel-showcase-embeds .reel-card-copy h3 { min-height: 0; }

/* El documental queda separado, en una pieza horizontal de lectura editorial. */
.section-documentary { padding-block: clamp(62px, 8vw, 110px); background: #fff; }
.documentary-layout {
  display: grid;
  grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr);
  align-items: stretch;
  gap: 0;
  border: 1px solid #e7dfeb;
  background: #f8f5fa;
}
.documentary-copy {
  display: flex;
  padding: clamp(28px, 4.2vw, 62px);
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  background: linear-gradient(142deg, #211728 0%, #36213f 100%);
}
.documentary-copy .eyebrow { color: #ddc579; }
.documentary-copy .section-title { margin: 11px 0 18px; color: #fff; font-size: clamp(2rem, 3.7vw, 3.65rem); }
.documentary-copy .section-title em { color: #e5ca7d; }
.documentary-copy > p:not(.eyebrow) { margin: 0; color: rgba(255,255,255,.76); }
.documentary-copy .text-link { margin-top: 24px; color: #efd895; }
.documentary-copy .text-link:hover { color: #fff; }
.documentary-video-wrap { display: grid; min-width: 0; place-items: center; background: #09070b; }
.documentary-video { display: block; width: 100%; height: auto; max-height: 620px; background: #09070b; }
@media (max-width: 960px) {
  .reel-showcase-embeds { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .documentary-layout { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .hero .hero-video-poster.hero-youtube-autoplay { aspect-ratio: 16 / 9; }
  .hero-youtube-autoplay .hero-video-overlay--autoplay { display: none; }
  .reel-showcase-embeds { display: flex; gap: 15px; }
  .reel-showcase-embeds .reel-card { flex: 0 0 min(82vw, 342px); }
  .reel-showcase-embeds .reel-card-copy { min-height: 134px; }
  .section-documentary { padding-block: 58px; }
  .documentary-copy { padding: 31px 23px; }
  .documentary-video { max-height: none; }
}


/* Carrusel horizontal de Reels en escritorio, tableta y móvil. */
.reel-showcase-embeds {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  padding: 2px 2px 14px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-color: #a788ba rgba(255,255,255,.12);
  scrollbar-width: thin;
}
.reel-showcase-embeds .reel-card {
  flex: 0 0 clamp(240px, 24vw, 278px);
  scroll-snap-align: start;
}
.reel-showcase-embeds .reel-card-media.reel-native-media {
  height: auto;
  min-height: 0;
  aspect-ratio: 9 / 16;
  background: #09070b;
}
.reel-showcase-embeds .reel-native-video { object-fit: contain; }
@media (max-width: 760px) {
  .reel-showcase-embeds {
    margin-right: -18px;
    padding-right: 18px;
    gap: 14px;
  }
  .reel-showcase-embeds .reel-card { flex-basis: min(82vw, 342px); }
}
