/* Asistencia de Visas HN — secciones de la versión 2 (reunión del 25/09/2026):
   Quiénes somos al inicio, prensa, servicios con pestañas, profesionales,
   entrenamiento consular, historias de éxito y selectores del flujo. */

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ---------- Quiénes somos (inicio) ---------- */
.about-hero { padding: 56px 0 40px; background:
  radial-gradient(900px 420px at 88% 8%, rgba(194, 154, 75, .12), transparent 60%),
  linear-gradient(180deg, #fff 0%, var(--ivory) 100%); }
.about-grid { display: grid; gap: 40px; align-items: start; }
@media (min-width: 980px) { .about-grid { grid-template-columns: 1.08fr .92fr; gap: 64px; } .about-hero { padding: 72px 0 56px; } }
.about-copy h1 { font-size: clamp(2.1rem, 5vw, 3.3rem); line-height: 1.12; margin-bottom: .5em; }
.about-lead { font-size: 1.1rem; color: var(--ink); }
.about-lead strong { color: var(--navy-800); }
.pillars { list-style: none; padding: 0; margin: 26px 0; display: grid; gap: 16px; }
.pillars li { display: grid; grid-template-columns: 28px 1fr; gap: 12px; color: var(--muted); }
.pillars b { color: var(--navy-800); }
.pillars .icon { color: var(--gold-600); width: 22px; height: 22px; margin-top: 2px; }
.honesty { display: grid; grid-template-columns: 24px 1fr; gap: 12px; background: var(--gold-50); border: 1px solid #efe1c2; border-radius: var(--radius); padding: 16px 20px; margin: 0 0 26px; }
.honesty p, .honesty span { margin: 0; color: var(--ink); font-size: .95rem; }
.honesty .icon { color: var(--gold-600); margin-top: 3px; }
.honesty-sm { margin: 18px 0 0; font-size: .9rem; }
.about-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 26px; }
.about-actions .btn { white-space: normal; text-align: center; }
.follow { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: .9rem; color: var(--muted); }
.follow b { color: var(--navy-800); }
.follow > span { margin-right: 4px; }
.social-dot { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line); background: #fff; display: grid; place-items: center; color: var(--navy-800); transition: transform .2s, border-color .2s, color .2s, box-shadow .2s; }
.social-dot:hover { transform: translateY(-3px); border-color: var(--gold-500); color: var(--gold-700); box-shadow: var(--shadow-sm); }

.about-media { display: grid; gap: 16px; }
.portrait { margin: 0; position: relative; padding: 12px; border-radius: 28px; background: linear-gradient(145deg, var(--gold-400), var(--gold-600)); box-shadow: var(--shadow); }
.portrait img { width: 100%; aspect-ratio: 4 / 4.6; object-fit: cover; object-position: 50% 62%; border-radius: 18px; }
.portrait-card { position: absolute; left: 32px; bottom: 32px; background: #fff; border-radius: 14px; padding: 14px 20px; box-shadow: var(--shadow); }
.portrait-card b { display: block; font-family: var(--display); font-size: 1.15rem; color: var(--navy-800); }
.portrait-card span { color: var(--gold-700); font-weight: 600; font-size: .9rem; }
.place-card { display: grid; grid-template-columns: 24px 1fr auto; gap: 12px; align-items: center; padding: 16px 20px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; color: var(--ink); transition: border-color .2s, box-shadow .2s; }
.place-card:hover { border-color: var(--gold-500); box-shadow: var(--shadow-sm); }
.place-card .icon { color: var(--gold-600); }
.place-card b { display: block; color: var(--navy-800); }
.place-card small { color: var(--muted); }
.place-card em { font-style: normal; font-weight: 600; font-size: .88rem; color: var(--gold-700); white-space: nowrap; }
@media (max-width: 520px) { .place-card { grid-template-columns: 24px 1fr; } .place-card em { grid-column: 2; } .portrait-card { left: 22px; bottom: 22px; } }

/* ---------- Como lo vieron en ---------- */
.press-band-wrap { padding: 16px 0 36px; }
.press-band { background: linear-gradient(135deg, var(--navy-900), var(--navy-700)); border-radius: 24px; padding: 32px 22px; color: rgba(255,255,255,.85); position: relative; overflow: hidden; }
@media (min-width: 760px) { .press-band { padding: 40px 44px; } }
.press-band::after { content: ""; position: absolute; right: -80px; top: -80px; width: 260px; height: 260px; border-radius: 50%; border: 1px solid rgba(212, 176, 106, .18); }
.press-band-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 22px; }
.press-band .eyebrow { color: var(--gold-400); margin: 0; }
.outlets { display: flex; flex-wrap: wrap; gap: 10px; }
.outlet { border: 1px solid rgba(255,255,255,.25); border-radius: 8px; padding: 6px 14px; font-size: .85rem; font-weight: 600; letter-spacing: .02em; color: #fff; }
.press-cards { display: grid; gap: 14px; position: relative; z-index: 1; }
@media (min-width: 760px) { .press-cards { grid-template-columns: repeat(3, 1fr); } }
.press-card { display: flex; flex-direction: column; gap: 8px; padding: 20px; border-radius: 16px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); color: #fff; text-decoration: none; transition: background .2s, transform .2s, border-color .2s; }
.press-card:hover { background: rgba(255,255,255,.1); border-color: rgba(212,176,106,.5); transform: translateY(-3px); }
.press-card small { color: var(--gold-400); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-size: .72rem; }
.press-card b { font-size: 1.02rem; line-height: 1.35; }
.press-card span { margin-top: auto; color: rgba(255,255,255,.7); font-size: .88rem; }
.notice { display: grid; grid-template-columns: 22px 1fr; gap: 10px; margin: 16px 0 0; padding: 14px 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); font-size: .88rem; color: var(--muted); }
.notice .icon { color: var(--muted); margin-top: 2px; }

/* ---------- Servicios ---------- */
.tabs { position: relative; display: flex; width: max-content; max-width: 100%; margin: 0 auto 32px; padding: 5px; background: #fff; border: 1px solid var(--line); border-radius: 999px; box-shadow: var(--shadow-sm); }
.tabs button { position: relative; z-index: 1; border: 0; background: transparent; font: inherit; font-weight: 600; color: var(--navy-800); padding: 10px 24px; border-radius: 999px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: color .25s; }
.tabs button[aria-selected="true"] { color: #fff; }
.tabs-ink { position: absolute; z-index: 0; top: 5px; bottom: 5px; left: 5px; width: 0; border-radius: 999px; background: var(--navy-800); transition: left .35s cubic-bezier(.2,.8,.2,1), width .35s cubic-bezier(.2,.8,.2,1); }
.no-js .tabs-ink { display: none; }
.tab-panel.is-entering { animation: panel-in .45s cubic-bezier(.2,.8,.2,1); }
@keyframes panel-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.svc-grid { display: grid; gap: 18px; }
@media (min-width: 760px) { .svc-grid { grid-template-columns: 1fr 1fr; } }
.svc { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 26px 26px 22px; transition: box-shadow .25s, transform .25s, border-color .25s; }
.svc::before { content: ""; position: absolute; left: 14px; right: 14px; top: -1px; height: 3px; border-radius: 0 0 4px 4px; background: linear-gradient(90deg, var(--gold-600), var(--gold-400)); }
.svc:hover { box-shadow: var(--shadow); transform: translateY(-3px); border-color: #e2cfa6; }
.svc.is-picked { border-color: var(--gold-500); box-shadow: 0 0 0 3px rgba(194,154,75,.18), var(--shadow); }
.svc-tag { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-700); margin: 0 0 6px; }
.svc h3 { font-family: var(--display); font-size: 1.32rem; font-weight: 600; margin-bottom: .45em; }
.svc p { color: var(--muted); font-size: .95rem; }
.svc-actions { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding-top: 6px; }
.link-btn { border: 0; background: none; padding: 4px 0; font: inherit; font-weight: 600; font-size: .92rem; color: var(--gold-700); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.link-btn:hover { color: var(--navy-800); }

.includes { margin-top: 20px; background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; box-shadow: var(--shadow-sm); }
.includes.is-open { animation: panel-in .4s cubic-bezier(.2,.8,.2,1); }
.includes-head { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.includes-head h3 { margin: 0; }
.icon-btn { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: #fff; display: grid; place-items: center; cursor: pointer; color: var(--navy-800); }
.icon-btn:hover { border-color: var(--navy-800); }
.includes-scroll { overflow-x: auto; }
.includes-table { width: 100%; border-collapse: collapse; min-width: 560px; font-size: .92rem; }
.includes-table th, .includes-table td { padding: 12px 14px; border-bottom: 1px solid #f0ece3; text-align: center; transition: background .3s; }
.includes-table thead th { font-size: .82rem; color: var(--navy-800); vertical-align: bottom; background: #fcfaf5; }
.includes-table th[scope="row"], .includes-table thead th:first-child { text-align: left; font-weight: 500; color: var(--ink); }
.includes-table thead th:first-child { font-weight: 700; }
.includes-table tbody tr:last-child > * { border-bottom: 0; }
.includes-table .is-col { background: var(--gold-50); }
.includes-table thead .is-col { background: var(--gold-500); color: var(--navy-900); }
.includes-table .yes { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--ok-bg); color: var(--ok); }
.includes-table .yes .icon { width: 15px; height: 15px; stroke-width: 3; }
.includes-table .no { color: #c9c3b6; }
.includes.is-open .yes { animation: pop .35s cubic-bezier(.3,1.6,.5,1) both; animation-delay: calc(var(--r, 0) * 35ms); }

.family-q { display: grid; gap: 18px; align-items: center; margin-top: 18px; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 18px; position: relative; }
.family-q::before { content: ""; position: absolute; left: 14px; right: 14px; top: -1px; height: 3px; border-radius: 0 0 4px 4px; background: linear-gradient(90deg, var(--gold-600), var(--gold-400)); }
@media (min-width: 900px) { .family-q { grid-template-columns: auto 1fr auto; } }
.family-icon { width: 52px; height: 52px; border-radius: 14px; background: var(--gold-50); color: var(--gold-700); display: grid; place-items: center; }
.family-icon .icon { width: 26px; height: 26px; }
.family-q h3 { font-family: var(--display); font-size: 1.3rem; font-weight: 600; margin-bottom: .3em; }
.family-q p.muted { margin: 0; font-size: .94rem; }
.family-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.gov-fees { margin-top: 18px; background: var(--navy-800); color: #fff; border-radius: 18px; padding: 22px 24px; }
.gov-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 16px; margin-bottom: 14px; }
.gov-head h3 { color: #fff; font-family: var(--display); font-weight: 600; font-size: 1.15rem; margin: 0; }
.gov-head small { color: rgba(255,255,255,.65); }
.gov-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; align-items: center; background: rgba(255,255,255,.07); border-radius: 12px; padding: 14px 18px; }
.gov-row + .gov-row { margin-top: 8px; }
.gov-row b { color: var(--gold-400); display: block; }
.gov-row small { color: rgba(255,255,255,.72); }
.gov-row strong { font-size: 1.05rem; white-space: nowrap; }

.pay-methods { margin-top: 24px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 24px; padding: 18px 24px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.pay-methods-title { font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-700); }
.pay-methods ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 0; }
.pay-methods li { padding: 0 16px; border-left: 1px solid var(--line); font-size: .95rem; }
.pay-methods li:first-child { border-left: 0; padding-left: 0; }
.pay-methods small { color: var(--muted); }

/* ---------- Entrenamiento ---------- */
.training-band { display: grid; gap: 28px; align-items: center; padding: 32px 26px; border-radius: 24px; border: 1px solid #efe1c2; background: linear-gradient(120deg, var(--gold-50), #fff 60%); }
@media (min-width: 900px) { .training-band { grid-template-columns: 1.2fr .8fr; padding: 44px; } }
.training-band h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
.trainers-mini { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.trainers-mini li { display: grid; grid-template-columns: 56px 1fr; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 12px 16px; }
.trainers-mini img, .trainers-mini .avatar-ph { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; border: 2px solid var(--gold-500); }
.trainers-mini b { display: block; color: var(--navy-800); }
.trainers-mini small { color: var(--muted); font-size: .84rem; }
.avatar-ph { display: grid; place-items: center; border-radius: 50%; background: var(--navy-800); color: var(--gold-400); font-family: var(--display); font-weight: 700; }
.avatar-lg { width: 100%; height: 100%; font-size: 3rem; border-radius: 0; }

/* ---------- Profesionales ---------- */
.pros { display: grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); max-width: 860px; margin: 0 auto; }
.pros-one { max-width: 360px; }
.pro { text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 18px 18px 24px; transition: transform .25s, box-shadow .25s; }
.pro:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.pro-photo { aspect-ratio: 1; border-radius: 14px; overflow: hidden; margin-bottom: 16px; background: var(--navy-800); }
.pro-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; transition: transform .6s; }
.pro:hover .pro-photo img { transform: scale(1.05); }
.pro h3 { font-family: var(--display); font-size: 1.25rem; font-weight: 600; margin-bottom: 2px; }
.pro-role { color: var(--gold-700); font-weight: 600; font-size: .92rem; }
.pro p.muted { font-size: .92rem; margin: 0; }

/* ---------- Historias de éxito ---------- */
.stories { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.story { display: flex; flex-direction: column; gap: 12px; background: var(--ivory); border: 1px solid var(--line); border-radius: 20px; padding: 18px; }
.story blockquote { margin: 0; color: var(--ink); font-size: .98rem; line-height: 1.55; }
.story blockquote::before { content: "“"; font-family: var(--display); color: var(--gold-500); font-size: 2rem; line-height: 0; vertical-align: -.45em; margin-right: 4px; }
.story footer { margin-top: auto; }
.story footer b { display: block; color: var(--navy-800); }
.story footer small { color: var(--muted); }
.stars { display: flex; gap: 2px; margin: 0; }
.stars span { color: #d8d2c4; }
.stars span.on { color: var(--gold-500); }
.stars .icon { width: 18px; height: 18px; fill: currentColor; }
.video-lite, .video-link { position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 16 / 9; border: 0; padding: 0; border-radius: 14px; overflow: hidden; background: var(--navy-800); cursor: pointer; color: #fff; text-decoration: none; }
.video-lite img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: opacity .3s, transform .5s; }
.video-lite:hover img { opacity: 1; transform: scale(1.04); }
.video-lite iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-link { gap: 8px; align-content: center; background: linear-gradient(135deg, var(--navy-800), var(--navy-600)); font-weight: 600; }
.play { position: relative; width: 60px; height: 60px; border-radius: 50%; background: var(--gold-500); color: var(--navy-900); display: grid; place-items: center; box-shadow: 0 10px 30px -8px rgba(0,0,0,.5); transition: transform .25s; }
.play .icon { width: 24px; height: 24px; fill: currentColor; margin-left: 3px; }
.video-lite:hover .play, .video-link:hover .play { transform: scale(1.1); }
.stories-empty { display: grid; gap: 18px; align-items: center; padding: 28px; border-radius: 20px; border: 1px dashed #e2cfa6; background: var(--gold-50); }
@media (min-width: 900px) { .stories-empty { grid-template-columns: auto 1fr auto; } }
.stories-empty .play { width: 64px; height: 64px; }
.stories-empty .play .icon { fill: none; margin: 0; }
.stories-empty h3 { margin-bottom: 4px; }
.stories-empty p { margin: 0; }

/* ---------- Selectores del flujo: país, trámite, familia, modalidad ---------- */
.select-wrap { position: relative; }
.select-wrap select { appearance: none; width: 100%; font: inherit; font-size: 1rem; padding: 14px 44px 14px 16px; border: 1.5px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.select-wrap select:focus { outline: 0; border-color: var(--gold-500); box-shadow: 0 0 0 4px rgba(194,154,75,.18); }
.select-wrap::after { content: ""; position: absolute; right: 18px; top: 50%; width: 9px; height: 9px; border-right: 2px solid var(--navy-800); border-bottom: 2px solid var(--navy-800); transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.q-field { margin-bottom: 18px; }
.q-field > label, .q-field > .q-label { display: block; font-weight: 600; color: var(--navy-800); margin-bottom: 8px; }
.q-hint { display: block; font-weight: 400; font-size: .86rem; color: var(--muted); margin-top: 2px; }
.seg-pick { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.seg-pick label { position: relative; display: flex; align-items: center; gap: 10px; padding: 13px 16px; border: 1.5px solid var(--line); border-radius: 12px; background: #fff; cursor: pointer; font-weight: 500; transition: border-color .2s, background .2s, box-shadow .2s, transform .15s; }
.seg-pick label:hover { border-color: #d9c79f; }
.seg-pick input { position: absolute; opacity: 0; pointer-events: none; }
.seg-pick label:has(input:checked) { border-color: var(--gold-500); background: var(--gold-50); box-shadow: 0 0 0 3px rgba(194,154,75,.16); }
.seg-pick label:has(input:focus-visible) { outline: 3px solid var(--gold-500); outline-offset: 2px; }
.seg-pick .icon { color: var(--gold-600); }
.seg-pick small { display: block; color: var(--muted); font-size: .82rem; font-weight: 400; }
.num-input { width: 140px; font: inherit; font-size: 1.05rem; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 12px; }
.num-input:focus, .text-input:focus { outline: 0; border-color: var(--gold-500); box-shadow: 0 0 0 4px rgba(194,154,75,.18); }
.text-input { width: 100%; font: inherit; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 12px; }
.reveal-field { animation: panel-in .35s cubic-bezier(.2,.8,.2,1); }
.js .q-cond[hidden] { display: none !important; }
.chips-multi { display: flex; flex-wrap: wrap; gap: 8px; }
.chips-multi label { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1.5px solid var(--line); border-radius: 999px; background: #fff; cursor: pointer; font-size: .95rem; transition: border-color .2s, background .2s; }
.chips-multi input { position: absolute; opacity: 0; pointer-events: none; }
.chips-multi label::before { content: ""; width: 16px; height: 16px; border-radius: 5px; border: 1.5px solid #c8c0ae; background: #fff; transition: background .2s, border-color .2s; }
.chips-multi label:has(input:checked) { border-color: var(--gold-500); background: var(--gold-50); }
.chips-multi label:has(input:checked)::before { background: var(--gold-500) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1628' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 12px no-repeat; border-color: var(--gold-500); }
.chips-multi label:has(input:focus-visible) { outline: 3px solid var(--gold-500); outline-offset: 2px; }
.q-sec-title { font-family: var(--font); font-size: 1.35rem; font-weight: 700; margin-bottom: 4px; }
.q-sec-sub { color: var(--muted); font-size: .92rem; margin-bottom: 20px; }

/* Modalidad en el calendario */
.mode-pick { margin: 18px 0 4px; }
.mode-pick .seg-pick { grid-template-columns: 1fr 1fr; }
.mode-pick .seg-pick label { align-items: flex-start; }

/* Profesional en la agenda de entrenamiento */
.trainer-pick { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin-bottom: 22px; }
.trainer-pick label { position: relative; display: grid; grid-template-columns: 52px 1fr; gap: 12px; align-items: center; padding: 12px 16px; border: 1.5px solid var(--line); border-radius: 16px; background: #fff; cursor: pointer; transition: border-color .2s, background .2s, box-shadow .2s; }
.trainer-pick input { position: absolute; opacity: 0; pointer-events: none; }
.trainer-pick label:has(input:checked) { border-color: var(--gold-500); background: var(--gold-50); box-shadow: 0 0 0 3px rgba(194,154,75,.16); }
.trainer-pick img, .trainer-pick .avatar-ph { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 2px solid var(--gold-500); }
.trainer-pick b { display: block; color: var(--navy-800); }
.trainer-pick small { color: var(--muted); font-size: .82rem; }

@media (prefers-reduced-motion: reduce) {
  .tab-panel.is-entering, .includes.is-open, .includes.is-open .yes, .reveal-field { animation: none; }
  .tabs-ink { transition: none; }
}

.q-item.is-missing .q-label { color: var(--err); }
.q-item.is-missing { animation: nudge .4s; }
@keyframes nudge { 20%, 60% { transform: translateX(-5px); } 40%, 80% { transform: translateX(5px); } }
.seg-pick label.is-ko:has(input:checked) { border-color: var(--err); background: var(--err-bg); box-shadow: 0 0 0 3px rgba(180,35,24,.12); }

/* Encabezado con seis enlaces: sin saltos de línea */
.site-nav { gap: 22px; }
.site-nav a:not(.btn), .brand-name { white-space: nowrap; }
@media (max-width: 1340px) { .header-pennants { display: none; } }
@media (min-width: 901px) and (max-width: 1100px) { .site-nav { gap: 16px; } .site-nav a:not(.btn) { font-size: .9rem; } }
@media (min-width: 980px) { .about-grid { grid-template-columns: 1.15fr .85fr; } .about-media { max-width: 470px; justify-self: end; } }

/* Evita desbordes horizontales en móvil (grid con contenido largo y animaciones laterales) */
.split > *, .tips > *, .tip > *, .about-grid > *, .training-band > *, .family-q > * { min-width: 0; }
html, body { overflow-x: clip; }

/* ---------- Encabezado de ancho completo ---------- */
.site-header .header-inner { max-width: none; padding-left: clamp(16px, 3vw, 48px); padding-right: clamp(16px, 3vw, 48px); }

/* ---------- Hero de ancho completo (inicio) ---------- */
.hero-full { position: relative; display: flex; align-items: center; min-height: min(calc(100vh - 72px), 860px); background: var(--navy-900); color: #fff; overflow: hidden; isolation: isolate; }
.hero-full-media { position: absolute; inset: 0 0 0 auto; width: 60%; z-index: -2; }
.hero-full-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; animation: kenburns 14s ease-out both; }
.hero-full::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(90deg, var(--navy-900) 0%, var(--navy-900) 38%, rgba(11,22,40,.82) 50%, rgba(11,22,40,.25) 72%, rgba(11,22,40,.05) 100%),
    linear-gradient(0deg, rgba(11,22,40,.55) 0%, transparent 30%); }
.hero-full::after { content: ""; position: absolute; left: -120px; top: -120px; width: 420px; height: 420px; border-radius: 50%; z-index: -1;
  background: radial-gradient(circle, rgba(194,154,75,.22), transparent 65%); }
.hero-full-inner { position: relative; width: 100%; max-width: 1320px; padding-top: 72px; padding-bottom: 96px; padding-left: clamp(16px, 3vw, 48px); padding-right: clamp(16px, 3vw, 48px); }
.hero-full-copy { max-width: 640px; }
.hero-full .eyebrow { color: var(--gold-400); }
.hero-full h1 { color: #fff; font-size: clamp(2.4rem, 5.4vw, 4.3rem); line-height: 1.06; margin-bottom: .45em; }
.hero-full h1 em { font-style: normal; color: var(--gold-400); display: block; }
.hero-full-lead { font-size: clamp(1.05rem, 1.4vw, 1.2rem); color: rgba(255,255,255,.84); max-width: 34em; }
.hero-full-lead strong { color: #fff; }
.hero-full-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 26px; }
.hero-full-actions .btn { white-space: normal; text-align: center; }
.hero-full-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; font-size: .93rem; }
.hero-full-meta > a { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.82); text-decoration: none; }
.hero-full-meta > a:hover { color: var(--gold-400); }
.hero-full-meta svg { width: 18px; height: 18px; fill: currentColor; }
.hero-full-meta .icon { fill: none; color: var(--gold-400); }
.hero-follow { display: inline-flex; align-items: center; gap: 8px; }
.hero-follow small { color: rgba(255,255,255,.7); margin-left: 4px; }
.hero-full .social-dot { width: 38px; height: 38px; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #fff; }
.hero-full .social-dot:hover { background: var(--gold-500); border-color: var(--gold-500); color: var(--navy-900); }
.hero-full-card { position: absolute; right: clamp(16px, 3vw, 48px); bottom: 64px; display: flex; align-items: center; gap: 12px; padding: 12px 18px 12px 12px;
  background: rgba(255,255,255,.94); color: var(--navy-800); border-radius: 16px; box-shadow: 0 20px 40px -18px rgba(0,0,0,.6); animation: rise .8s .4s both; }
.hero-full-card img { width: 44px; height: 44px; }
.hero-full-card b { display: block; font-family: var(--display); font-size: 1.1rem; }
.hero-full-card span { color: var(--gold-700); font-weight: 600; font-size: .86rem; }
.hero-full-copy > * { animation: rise .8s cubic-bezier(.2,.8,.2,1) both; }
.hero-full-copy > :nth-child(2) { animation-delay: .08s; } .hero-full-copy > :nth-child(3) { animation-delay: .16s; }
.hero-full-copy > :nth-child(4) { animation-delay: .24s; } .hero-full-copy > :nth-child(5) { animation-delay: .32s; }
.hero-scroll { position: absolute; left: 50%; bottom: 22px; width: 26px; height: 40px; margin-left: -13px; border: 2px solid rgba(255,255,255,.45); border-radius: 14px; }
.hero-scroll span { position: absolute; left: 50%; top: 7px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: var(--gold-400); animation: scrolly 1.8s infinite; }
@keyframes scrolly { 0% { transform: translateY(0); opacity: 1; } 70% { transform: translateY(12px); opacity: 0; } 100% { opacity: 0; } }

@media (max-width: 899px) {
  .hero-full { align-items: flex-end; min-height: auto; }
  .hero-full-media { width: 100%; height: 62vh; inset: 0 0 auto 0; }
  .hero-full-media img { object-position: 60% 32%; }
  .hero-full::before { background: linear-gradient(180deg, rgba(11,22,40,.1) 0%, rgba(11,22,40,.35) 30vh, var(--navy-900) 60vh, var(--navy-900) 100%); }
  .hero-full-inner { padding-top: 46vh; padding-bottom: 48px; }
  .hero-full-card { top: calc(46vh - 70px); bottom: auto; right: 16px; padding: 8px 14px 8px 8px; }
  .hero-full-card img { width: 34px; height: 34px; }
  .hero-full-card b { font-size: .95rem; }
  .hero-scroll { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-full-media img, .hero-full-copy > *, .hero-full-card, .hero-scroll span { animation: none; }
}

/* ---------- Quiénes somos: cómo trabajamos ---------- */
.about-strip { padding: 64px 0 28px; }
.about-strip-intro { max-width: 760px; margin: 0 auto 30px; text-align: center; font-size: 1.08rem; color: var(--muted); }
.pillar-cards { display: grid; gap: 18px; }
@media (min-width: 820px) { .pillar-cards { grid-template-columns: repeat(3, 1fr); } }
.pillar-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 26px; transition: transform .25s, box-shadow .25s, border-color .25s; }
.pillar-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: #e2cfa6; }
.pillar-icon { width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center; background: var(--navy-800); color: var(--gold-400); margin-bottom: 16px; }
.pillar-icon .icon { width: 24px; height: 24px; }
.pillar-card h3 { font-family: var(--display); font-weight: 600; font-size: 1.2rem; }
.pillar-card p { color: var(--muted); margin: 0; font-size: .95rem; }
.about-strip-foot { display: grid; gap: 14px; margin-top: 18px; align-items: stretch; }
@media (min-width: 900px) { .about-strip-foot { grid-template-columns: 1.4fr 1fr; } }
.about-strip-foot .honesty { margin: 0; align-items: center; }
.hero-full-meta .icon.icon-fill { fill: currentColor; stroke: none; color: #25d366; }
.hero-full-inner { max-width: none; }
.hero-full-copy { max-width: 720px; }
@media (min-width: 1500px) { .hero-full h1 em { white-space: nowrap; } }
@media (min-width: 900px) {
  .hero-full-media { -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 28%); mask-image: linear-gradient(90deg, transparent 0%, #000 28%); }
}

/* ---------- Historias: video destacado + carrusel tipo reels + visor ---------- */
.story-feature { display: grid; gap: 28px; align-items: center; margin-bottom: 44px; }
@media (min-width: 860px) { .story-feature { grid-template-columns: minmax(260px, 340px) 1fr; gap: 56px; } }
.story-feature-copy h3 { font-family: var(--display); font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 600; }
.story-stats { list-style: none; padding: 0; margin: 20px 0 24px; display: flex; flex-wrap: wrap; gap: 14px; }
.story-stats li { flex: 1 1 160px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--ivory); }
.story-stats b { display: block; font-family: var(--display); font-size: 1.6rem; color: var(--gold-700); }
.story-stats span { color: var(--muted); font-size: .88rem; }
.reel { position: relative; display: block; flex: none; width: 100%; aspect-ratio: 9 / 16; padding: 0; border: 0; border-radius: 20px; overflow: hidden; background: var(--navy-800); cursor: pointer; text-align: left; color: #fff; box-shadow: var(--shadow-sm); transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s; }
.reel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.reel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,22,40,0) 45%, rgba(11,22,40,.88) 100%); }
.reel:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.reel:hover img { transform: scale(1.05); }
.reel .play { position: absolute; z-index: 2; left: 50%; top: 42%; transform: translate(-50%, -50%); }
.reel:hover .play { transform: translate(-50%, -50%) scale(1.1); }
.reel-feature { border: 6px solid var(--gold-500); border-radius: 26px; }
.reel-feature .play { width: 76px; height: 76px; top: 50%; }
.reel-feature .play::before { content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 2px solid rgba(212,176,106,.7); animation: pulse 1.8s infinite; }
.reel-info { position: absolute; z-index: 2; left: 14px; right: 14px; bottom: 14px; display: grid; gap: 4px; }
.reel-info q { font-size: .86rem; line-height: 1.35; color: rgba(255,255,255,.92); quotes: "“" "”"; }
.reel-info b { font-size: .95rem; }
.reel-info small { color: var(--gold-400); font-size: .78rem; font-weight: 600; }
.reels-wrap { position: relative; }
.reels-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.reels-head h3 { margin: 0; }
.reels-nav { display: flex; gap: 8px; }
.reels { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 6px 2px 14px; scrollbar-width: thin; scrollbar-color: var(--gold-500) transparent; }
.reels .reel { width: clamp(200px, 22vw, 250px); scroll-snap-align: start; }
.lightbox { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 20px; background: rgba(5,10,20,.92); animation: fade .25s; }
.lightbox[hidden] { display: none; }
.lightbox-stage { width: min(100%, calc((100vh - 60px) * 9 / 16)); max-height: calc(100vh - 60px); }
.lightbox-stage.is-wide { width: min(100%, 1000px); }
.lightbox-stage video, .lightbox-stage img, .lightbox-stage iframe { display: block; width: 100%; max-height: calc(100vh - 60px); border-radius: 16px; background: #000; animation: rise .35s cubic-bezier(.2,.8,.2,1); }
.lightbox-stage iframe { aspect-ratio: 16 / 9; border: 0; }
.lightbox-close { position: absolute; top: 16px; right: 16px; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.08); color: #fff; display: grid; place-items: center; cursor: pointer; }
.lightbox-close:hover { background: var(--gold-500); color: var(--navy-900); }
@media (prefers-reduced-motion: reduce) { .reel-feature .play::before { animation: none; } }

/* ---------- Teléfono con país ---------- */
.phone-field > label { display: block; }
.phone-row { display: flex; align-items: stretch; gap: 8px; }
.phone-row input { flex: 1; min-width: 0; }
.phone-prefix { display: inline-flex; align-items: center; padding: 0 12px; border-radius: 10px; background: var(--gold-50); border: 1px solid #eddcb6; color: var(--navy-800); font-weight: 600; font-size: .92rem; white-space: nowrap; }
.phone-field.is-intl .phone-prefix { display: none; }
.phone-cc { flex: 0 0 auto; max-width: 52%; font: inherit; font-size: .92rem; padding: 0 10px; border: 1.5px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); }
.phone-cc[hidden] { display: none; }
.phone-toggle { margin-top: 6px; padding: 2px 0; border: 0; background: none; font: inherit; font-size: .85rem; font-weight: 600; color: var(--gold-700); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.phone-toggle:hover { color: var(--navy-800); }
.phone-field.is-admin .phone-cc { border-width: 1px; border-color: #d9d3c6; border-radius: 9px; }
.reel::after { background: linear-gradient(180deg, rgba(11,22,40,0) 38%, rgba(11,22,40,.78) 68%, rgba(11,22,40,.96) 100%); }
.reel-info q { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.reel-info small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 640px) { .reels .reel { width: 64vw; } .reel-info q { -webkit-line-clamp: 2; font-size: .8rem; } }

/* ---------- Modesto explica (en "Lo que se está evaluando hoy") ---------- */
.explainers { display: grid; gap: 14px; align-content: start; }
.explainers-title { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-700); }
.explainers-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.explainers-grid.is-one { grid-template-columns: minmax(0, 300px); }
.reel-explainer { border: 4px solid #fff; box-shadow: var(--shadow); }
.reel-explainer .reel-info b { font-family: var(--display); font-weight: 600; font-size: 1rem; line-height: 1.25; }
.explainer-quote { margin: 4px 0 0; padding: 14px 18px; border-left: 3px solid var(--gold-500); background: #fff; border-radius: 0 12px 12px 0; color: var(--ink); font-size: .95rem; line-height: 1.5; box-shadow: var(--shadow-sm); }
.explainer-quote cite { display: block; margin-top: 6px; font-style: normal; font-weight: 600; font-size: .85rem; color: var(--gold-700); }
@media (max-width: 480px) { .explainers-grid { gap: 10px; } .reel-explainer .reel-info b { font-size: .88rem; } }
