/* Mi Legado — ivory, navy and botanical green. Copy remains in copy.js. */
.journey-page { --navy-950: #0b2037; --navy-900: #15394a; --blue-600: #486f3a; --blue-500: #6b8a52; --green-600: #486f3a; --lime: #d5e98b; --ink: #132d3e; --muted: #5f6965; --line: #dedfd2; --cream: #f5f2e9; background: var(--cream); }
.journey-header { min-height: 98px; background: #faf8f1; border-bottom: 1px solid #dedfd2; }
.journey-header .brand-copy strong { font-weight: 500; font-size: 1.95rem; }
.journey-header .brand-translation { margin-top: 3px; color: #617064; font-family: Georgia, "Times New Roman", serif; font-size: .875rem; font-style: italic; font-weight: 400; letter-spacing: .01em; line-height: 1.25; }
.journey-header .brand-copy small { color: #486f3a; font-size: .68rem; letter-spacing: .17em; }
.journey-header .language-toggle { min-width: 88px; padding: 9px 15px; border-radius: 999px; border-color: #d8ddce; background: #f1f2e8; white-space: nowrap; }
.journey-tagline { color: #617064; }
.journey-main { padding-top: 32px; padding-bottom: 32px; }

.journey-copy .eyebrow { color: #557242; font-size: .73rem; letter-spacing: .16em; }
.journey-copy .eyebrow::before { background: #7e9a56; width: 36px; height: 1px; }
.journey-copy h1 { line-height: 1.045; letter-spacing: -.05em; }
.welcome-hero { grid-template-areas: "copy media" "intro media"; grid-template-columns: minmax(0, 1fr) minmax(0, 1.03fr); column-gap: clamp(32px, 5vw, 78px); row-gap: 22px; padding: 8px 0 24px; margin: 0; background: none; color: var(--ink); border: 0; border-radius: 0; box-shadow: none; }
.welcome-hero::before { inset: 2% -4% 1% 51%; border-radius: 48% 48% 4px 4px; background: #e5e9da; opacity: .58; }
.welcome-hero .journey-copy .eyebrow { color: #557242; margin-bottom: 22px; }
.welcome-hero .journey-copy .eyebrow::before { background: #7e9a56; }
.welcome-hero .journey-copy h1 { font-size: clamp(2.8rem, 4.8vw, 4.65rem); max-width: 16ch; color: var(--navy-950); }
.welcome-hero h1 em { margin-top: .13em; color: #537844; }
.welcome-intro { max-width: 49ch; }
.welcome-intro .journey-lede { margin: 0; color: #59675e; font-size: 1rem; line-height: 1.8; }
.welcome-intro .transparent-note { border-left-color: #9bad75; color: #66715f; font-size: .8rem; padding-left: 17px; }
.welcome-media-group { grid-area: media; min-width: 0; align-self: center; }
.welcome-hero .journey-forward { max-width: none; margin: 20px 0 0; text-align: center; }
.welcome-hero .journey-forward p { margin-inline: auto; }
.welcome-hero .journey-forward p { color: #6a7567; font-size: .8rem; }
.welcome-hero .journey-media { position: relative; padding: 0; align-self: center; }
.welcome-hero .journey-media::before { content: ""; position: absolute; inset: 5% 13% 5% -5%; border: 1px solid #889d6847; border-radius: 50%; transform: rotate(-18deg); pointer-events: none; }
.welcome-hero .media-frame { padding: 20px; border-radius: 6px 6px 48px 6px; border: 1px solid #294438; background: linear-gradient(135deg, #173d43, #0b2037 72%); box-shadow: 0 28px 45px -25px #102b3b65; transform: none; }
.welcome-hero .media-frame::before { inset: 9px; transform: none; border-radius: 2px 2px 39px 2px; border: 1px solid #dae8a61b; }
.media-frame-top { padding: 1px 1px 17px; color: #dce5d5; font-size: .65rem; letter-spacing: .18em; }
.media-frame-top > span:first-child { width: 34px; height: 34px; border-radius: 50%; border-color: #bacf8150; color: #d5e98b; background: #d5e98b08; font-family: Georgia, serif; font-size: .9rem; font-weight: 400; }
.journey-media .video-slot { border: 0; border-radius: 3px; }
.welcome-hero .video-slot { aspect-ratio: 1.22; border-radius: 2px 2px 29px 2px; }
.welcome-hero .video-slot > img { object-position: 58% center; filter: saturate(.72); }
.journey-media .video-overlay { background: linear-gradient(180deg, #08282d00 15%, #0b203745 42%, #0b2037f7 100%); }
.welcome-hero .video-placeholder-content { left: 24px; right: 24px; bottom: 29px; }
.welcome-hero .video-placeholder-content strong { font-size: clamp(1.65rem, 2.7vw, 2.5rem); line-height: 1.08; color: #faf7eb; }
.welcome-hero .video-placeholder-content small { color: #d2dbc9; font-size: .75rem; }
.welcome-hero .video-kicker { width: fit-content; color: #d5e98b; border-top: 1px solid #c4d78766; padding-top: 12px; margin-bottom: 13px; font-size: .65rem; letter-spacing: .14em; }
.journey-forward .button { min-height: 58px; border-radius: 5px; border-color: #173c35; background: #173c35; color: #fbf8ee; box-shadow: 0 8px 18px -13px #0b2037; font-weight: 600; font-size: .93rem; }
.journey-forward .button::after { color: #d5e98b; margin-left: 20px; }
.journey-forward .button:hover { color: #fff; background: #255445; border-color: #255445; box-shadow: 0 12px 24px -14px #0b203760; }
.journey-forward [aria-disabled="true"], .journey-forward [aria-disabled="true"]:hover { background: #e3e6da; color: #616b5e; border-color: #d2d8c9; }
.journey-hero { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(36px, 5vw, 76px); padding: 8px 0 24px; }
[data-page="liderazgo"] .journey-copy h1 { font-size: clamp(2.8rem, 4.6vw, 4.6rem); }
.journey-lede { font-size: 1rem; line-height: 1.8; }
.journey-copy .transparent-note { font-size: .8rem; color: #63725f; border-color: #a5b881; }
[data-page="liderazgo"] .journey-hero .journey-media { position: relative; padding: 20px; border: 1px solid #274839; border-radius: 6px 6px 38px 6px; background: linear-gradient(140deg, #183e43, #0b2037); box-shadow: 0 24px 50px -30px #0b20378a; }
[data-page="liderazgo"] .media-frame-top { color: #d4e0cf; padding-left: 0; }
[data-page="liderazgo"] .media-frame-top > span:first-child { background: #d5e98b0c; color: #d5e98b; border-color: #c6d98c50; }
.journey-media .video-slot[data-video-slot="liderazgo"] { min-height: 0; border-radius: 3px 3px 23px 3px; }
.journey-summary { padding: 24px 0 0; margin-top: 0; border: 0; border-top: 1px solid #cbd4c0; border-radius: 0; background: transparent; }
.journey-summary h2 { font-size: 2.3rem; max-width: 25ch; }
.journey-points { gap: 18px; margin-top: 22px; border: 0; }
.journey-points li, .journey-points li:first-child, .journey-points li:last-child { padding: 24px; border: 1px solid #dce0d1; background: #faf9f2; border-radius: 4px; gap: 14px; }
.journey-points .point-index { color: #698751; font-size: 2.8rem; }
.journey-points h3 { color: #193b32; font-size: .95rem; }
.journey-points p { color: #606e61; font-size: .9rem; line-height: 1.75; }
.contact-hero { grid-template-columns: 1fr; max-width: 980px; gap: 24px; padding: 8px 0 20px; }
.contact-hero .journey-copy h1 { font-size: clamp(3rem, 5vw, 4.8rem); max-width: 20ch; }
.contact-hero .journey-media { position: relative; padding: 20px; border-radius: 5px; border: 1px solid #28433c; background: linear-gradient(130deg, #183e43, #0b2037); box-shadow: 0 30px 50px -32px #0b20377a; }
.contact-hero .journey-media::before { content: ""; position: absolute; width: 80px; height: 3px; top: -2px; left: calc(50% - 40px); background: #d5e98b; }
.contact-hero .video-slot { border-radius: 2px; }
.journey-back { margin-top: 14px; color: #61705e; font-size: .875rem; }
.journey-footer { margin-top: 16px; background: radial-gradient(ellipse at 85% 0, #2b53433a, transparent 52%), #0b2037; }
.journey-footer-top { padding-bottom: 24px; }
.journey-footer > .page-shell::before { margin-bottom: 20px; }
.footer-emblem { border-radius: 50%; background: #f3f4e808; }
.journey-social a { border-radius: 5px; }
.journey-page .chat-launcher { background: #143b35; border: 1px solid #739778; border-radius: 12px; box-shadow: 0 10px 28px #092a2728; }
.journey-page .chat-launcher-copy small { color: #c8d8c8; }
.journey-page a:focus-visible, .journey-page button:focus-visible, .journey-page input:focus-visible { outline-color: #6d8b49; }
.welcome-hero a:focus-visible { outline-color: #6d8b49; }
.clean-player .clean-play { z-index: 2; width: 70px; height: 70px; padding: 22px; background: #d5e98b; color: #102d2b; border: 1px solid #edfac2; box-shadow: 0 0 0 9px #d5e98b20, 0 9px 30px #051a3855; transition: transform .2s, box-shadow .2s; }
.clean-player .clean-play:hover { transform: scale(1.05); box-shadow: 0 0 0 13px #d5e98b20, 0 9px 30px #051a3855; }
.clean-player .clean-cover { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.clean-player:not(.has-started) video { opacity: 0; }
.clean-player.has-started .clean-cover { display: none; }
.welcome-hero .video-slot.has-started { aspect-ratio: 16 / 9; }
.clean-player:not(.has-started)::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(145deg, #0b20371a, #0b203745); pointer-events: none; }
.clean-player .clean-controls { z-index: 3; padding: 30px 12px 8px; gap: 8px; flex-wrap: wrap; }
.clean-controls button { display: grid; place-items: center; flex: 0 0 38px; width: 38px; min-height: 38px; padding: 8px; border-radius: 5px; }
.clean-controls button:hover { background: #ffffff12; }
.clean-controls button svg { width: 20px; height: 20px; }
.clean-controls .clean-seek { flex: 0 0 100%; width: 100%; height: 4px; margin: 6px 0 2px; appearance: none; border-radius: 5px; background: linear-gradient(to right, #d5e98b var(--video-progress, 0%), #ffffff4a var(--video-progress, 0%)); }
.clean-seek::-webkit-slider-thumb { appearance: none; width: 12px; height: 12px; border-radius: 50%; background: #eff7d4; }
.clean-seek::-moz-range-thumb { width: 12px; height: 12px; border: 0; border-radius: 50%; background: #eff7d4; }
.clean-time { margin-right: auto; color: #f3f6e7; font: 12px/1.2 "Segoe UI", sans-serif; font-variant-numeric: tabular-nums; }
.video-duration { position: absolute; top: 13px; right: 13px; z-index: 1; color: #fafaf1; background: #0a2634cc; border: 1px solid #ffffff30; border-radius: 4px; padding: 4px 8px; font: 12px/1.5 "Segoe UI", sans-serif; font-variant-numeric: tabular-nums; }
.is-playing .video-duration { display: none; }
.clean-player:not(.has-started) .clean-controls { opacity: 0; pointer-events: none; }
.clean-player:not(.has-started) .clean-controls:focus-within { opacity: 1; pointer-events: auto; }
.clean-player button:focus-visible, .clean-controls input:focus-visible { outline-color: #d5e98b; }
@media (prefers-reduced-motion: no-preference) {
  .journey-copy, .welcome-intro, .journey-hero > .journey-media { animation: legacy-enter .5s ease-out both; }
  .welcome-intro { animation-delay: .07s; }
  .welcome-hero .journey-media { animation: legacy-enter .65s .08s ease-out both; }
  @keyframes legacy-enter { from { opacity: .65; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
}
@media (max-width: 1050px) {
  .welcome-hero { column-gap: 34px; padding: 8px 0 24px; }
  .welcome-hero .journey-copy h1 { font-size: clamp(2.8rem, 4.5vw, 4rem); }
  .welcome-hero .media-frame { padding: 17px; }
}
@media (max-width: 780px) {
  .journey-header { min-height: 80px; padding: 14px 16px; }
  .journey-header .brand-copy strong { font-size: 1.65rem; }
  .journey-header .brand-copy small { font-size: .62rem; letter-spacing: .1em; }
  .journey-header .brand img { width: 42px; height: 42px; }

  .welcome-hero { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "media" "intro"; gap: 22px; padding: 0 0 10px; }
  .welcome-hero::before { inset: 16% -8% 30% 15%; opacity: .45; }
  .welcome-hero .journey-copy h1 { font-size: clamp(2.65rem, 8vw, 3.8rem); max-width: 18ch; }
  .welcome-hero .journey-copy .eyebrow { margin-bottom: 17px; font-size: .66rem; }
  .welcome-hero .journey-media { padding: 0 0 0 8px; }
  .welcome-hero .journey-media::before { inset: -10px 12% -10px -8px; }
  .welcome-hero .media-frame { padding: 14px; border-radius: 5px 5px 30px 5px; }
  .welcome-hero .media-frame::before { inset: 7px; border-radius: 2px 2px 24px 2px; transform: none; }
  .welcome-hero .video-slot { aspect-ratio: 1.45; border-radius: 2px 2px 18px 2px; }
  .welcome-hero .video-placeholder-content { left: 19px; right: 19px; bottom: 21px; }
  .welcome-hero .video-placeholder-content strong { font-size: clamp(1.5rem, 6vw, 2.2rem); }
  .welcome-hero .video-placeholder-content small { display: block; font-size: .72rem; }
  .welcome-intro { padding-top: 20px; border-top: 1px solid #d6ddca; }
  .welcome-intro .journey-lede { font-size: .95rem; }
  .welcome-intro .transparent-note { font-size: .78rem; }
  .journey-hero { grid-template-columns: 1fr; gap: 24px; padding-top: 0; }
  [data-page="liderazgo"] .journey-copy h1 { font-size: clamp(2.7rem, 9vw, 3.6rem); max-width: 18ch; }
  [data-page="liderazgo"] .journey-hero .journey-media { padding: 14px; border-radius: 5px 5px 27px 5px; }
  .journey-media .video-slot[data-video-slot="liderazgo"] { border-radius: 2px 2px 15px 2px; }
  .journey-summary { padding: 24px 0 0; margin-top: 0; }
  .journey-summary h2 { font-size: 2rem; }
  .journey-points { gap: 12px; margin-top: 20px; }
  .journey-points li, .journey-points li:first-child, .journey-points li:last-child { grid-template-columns: minmax(0, 1fr); padding: 20px; gap: 0; border: 1px solid #dce0d1; }
  .journey-points .point-index { font-size: 2rem; }
  .contact-hero { gap: 22px; }
  .contact-hero .journey-copy h1 { font-size: clamp(2.7rem, 9vw, 3.6rem); max-width: 19ch; }
  .contact-hero .journey-media { padding: 10px; }
  .clean-player .clean-play { width: 58px; height: 58px; padding: 18px; }
  .clean-controls button { min-height: 44px; flex-basis: 36px; width: 36px; }
  .clean-controls .clean-seek { height: 5px; margin-block: 10px 0; }
  .clean-player .clean-controls { gap: 3px; padding-inline: 9px; }
  .clean-time { font-size: 11px; }
  .video-duration { top: 8px; right: 8px; font-size: 11px; }
  .journey-page .chat-launcher { padding: 9px 12px; }
  .journey-page .chat-launcher-copy strong { font-size: .78rem; }
  .journey-page .chat-launcher-copy small { font-size: .65rem; }
  .journey-main { padding-top: 24px; padding-bottom: 24px; }
  .journey-footer { margin-top: 12px; }
}
@media (max-width: 400px) {
  .journey-header { gap: 10px; flex-wrap: wrap; }
  .journey-header .language-toggle { min-width: 80px; padding-inline: 10px; }
  .journey-header .brand-copy strong { font-size: 1.47rem; }
  .journey-header .brand-copy small { font-size: .56rem; }
  .welcome-hero .journey-copy h1 { font-size: 2.65rem; }
  .welcome-hero .video-placeholder-content strong { font-size: 1.55rem; }
  .welcome-hero .video-placeholder-content small { display: block; }
}
.referral-dialog { width: min(90vw, 480px); padding: 2rem; border: 1px solid #b6c7ad; border-radius: 22px; color: #0b2037; background: #f5f2e9; }
.referral-dialog::backdrop { background: rgb(11 32 55 / 65%); }
.referral-dialog h2 { font-size: 1.75rem; margin: 0 0 1rem; }
.referral-dialog p { margin: 0 0 1rem; }
.referral-dialog label { display: block; font-weight: 600; }
.referral-dialog input { width: 100%; padding: .85rem; margin-top: .5rem; font: inherit; border: 1px solid #8a9c91; border-radius: 8px; background: white; color: #0b2037; box-sizing: border-box; }
.referral-dialog [role="alert"] { color: #813929; margin-top: .7rem; }
.referral-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.referral-actions button { min-height: 44px; padding: .7rem 1.2rem; font: inherit; border: 1px solid #0b2037; border-radius: 10px; color: #fff; background: #0b2037; cursor: pointer; }
.referral-actions button + button { color: #0b2037; background: transparent; }
.referral-actions button:disabled { opacity: .6; cursor: wait; }
[data-representative][aria-busy="true"] { opacity: .7; cursor: wait; }
