/**
 * Dirección editorial Kroa. Capa final sobre estilos heredados y bloques SQL.
 * Los selectores con body prevalecen sobre las hojas incrustadas en páginas.
 */
:root {
 --kroa-ink: #f5f3e9; --kroa-muted: #b6c4b9; --kroa-surface: #10251a;
 --kroa-accent: #bdde44; --kroa-line: #35503d;
 --kroa-carbon: #c9d3c9; --kroa-tenue: #b6c4b9;
 --kroa-ease: cubic-bezier(.22,1,.36,1);
}
body { color: var(--kroa-ink); font-family: var(--kroa-sans); line-height: 1.7; }
body :is(h1,h2,h3) { text-wrap: balance; }
body p { text-wrap: pretty; }
body :is(a,button,input,textarea,select):focus-visible { outline: 3px solid #bdde44; outline-offset: 5px; }
body ::selection { color: #06110a; background: #bdde44; }
body :is(section,[id]) { scroll-margin-top: 110px; }

/* Navegación: un fondo estable mantiene el contraste incluso sobre fotografías. */
body #masthead.kroa-cabecera { background: #0a1a11f5; border-bottom: 1px solid #35503d; }
body #masthead .kroa-cabecera__interior { min-height: 88px; gap: clamp(.75rem,2vw,1.8rem); }
body #masthead :is(.kroa-menu a,.kroa-panel__menu a,.kroa-panel__tel,.kroa-panel__wa,.kroa-cabecera__nombre) { color: #f5f3e9; }
body #masthead .kroa-menu { gap: clamp(.7rem,1.5vw,1.5rem); }
body #masthead .kroa-menu a { font-size: .875rem; letter-spacing: .015em; text-transform: none; padding-block: .8rem; }
body #masthead :is(.kroa-menu,.kroa-panel__menu) a:hover,
body #masthead :is(.current-menu-item,.current-menu-ancestor) > a { color: #bdde44; border-color: #bdde44; }
body #masthead .kroa-cabecera__cta { background: #bdde44; color: #102016; border-color: #bdde44; letter-spacing: .015em; text-transform: none; font-size: .875rem; min-height: 46px; }
body #masthead .kroa-cabecera__cta:hover { background: #d0ed6b; color: #102016; box-shadow: 0 6px 24px #bdde4420; }
body #masthead .kroa-cabecera__menu { width: 46px; height: 46px; color: #f5f3e9; border-color: #61765a; }
body #masthead .kroa-panel { background: #0a1a11; max-height: calc(100dvh - 110px); overflow-y: auto; }
body #masthead .sub-menu { background: #10251a; color: #f5f3e9; }
body.admin-bar #masthead { top: 32px; }
@media (min-width: 901px) and (max-width: 1024px) {
 body #masthead .kroa-cabecera__nav { display: none; }
 body #masthead .kroa-cabecera__acciones { margin-left: auto; }
}
@media (max-width: 782px) { body.admin-bar #masthead { top: 46px; } }
@media (max-width: 600px) { body.admin-bar #masthead { top: 0; } }

/* Variables por rol: nunca usar el color de texto como superficie. */
body :is(.kc-page,.kn-page,.kb-page) {
 --k-grafito: #f5f3e9; --k-carbon: #c9d3c9; --k-tenue: #b6c4b9;
 --k-blanco: #0a1a11; --k-hueso: #10251a; --k-arena: #183323;
 --k-verde: #24442e; --k-verde-h: #183323; --k-borde: #35503d;
 --k-oliva: #bdde44; --k-oliva-tenue: #203823; --k-rana: #bdde44;
 --k-terracota: #e2bf72; --k-terracota-alt: #74411f; --k-cobre: #e2bf72;
 background: #0a1a11; color: #c9d3c9; font-family: var(--kroa-sans); line-height: 1.75;
}
body :is(.kc-page,.kn-page,.kb-page) :is(h1,h2,h3,h4) { color: #f5f3e9; }
body :is(.kc-section,.kn-section,.kb-section) { max-width: 1280px; padding-block: clamp(3.5rem,7vw,7rem); }
body :is(.kc-hero,.kn-hero,.kb-hero) {
 text-align: left; padding: clamp(4rem,8vw,8rem) max(1.25rem,calc((100vw - 1160px)/2));
 background: radial-gradient(ellipse at 95% 20%,#405f2c66,transparent 55%),linear-gradient(135deg,#122e1d,#07120c 75%);
 border-bottom: 1px solid #35503d;
}
body :is(.kc-hero__inner,.kn-hero__inner,.kb-hero__inner) { max-width: 100%; margin: 0; }
body :is(.kc-hero,.kn-hero,.kb-hero) h1 { font-size: clamp(2.6rem,5.5vw,5.5rem); max-width: 17ch; line-height: 1.08; letter-spacing: -.035em; color: #f5f3e9; }
body :is(.kc-hero,.kn-hero,.kb-hero) p { margin-left: 0; color: #c9d3c9; max-width: 58ch; }
body :is(.kc-hero,.kn-hero,.kb-hero) [class$="kicker"] { color: #bdde44; justify-content: flex-start; }
body :is(.kc-hero__pills) { justify-content: flex-start; margin-top: 2rem; }
body .kc-hero .kc-hero__pills span { color: #e9eee5; background: #ffffff08; border-color: #61765a; font-size: .875rem; }
body :is(.kc-kicker,.kn-kicker,.kb-kicker) { color: #bdde44; font-size: .8rem; letter-spacing: .16em; }
body :is(.kc-kicker,.kn-kicker,.kb-kicker)::before { background: #bdde44; }
body :is(.kc-page,.kn-page,.kb-page) a.kroa-wa,
body .kroa-boton--wa { color: #092012 !important; background: #bdde44; border: 1px solid transparent; box-shadow: none; min-height: 44px; }
body :is(.kc-page,.kn-page,.kb-page) a.kroa-wa:hover { color: #092012 !important; background: #d0ed6b; }
body :is(.kc-page,.kn-page,.kb-page) a:not(.kroa-wa):not(.kroa-boton--wa) { color: #d4e49d; }
body :is(.kc-canal-card,.kroa-datos,.kroa-sede,.kc-form__card,.kn-razon,.kn-persona,.kn-paso,.kb-vacante,.kb-paso) {
 background: #10251a; border: 1px solid #35503d; border-radius: 20px; box-shadow: 0 18px 50px -34px #000;
 transition: transform .55s var(--kroa-ease),border-color .3s,box-shadow .3s;
}
body :is(.kc-canal-card,.kn-razon,.kb-vacante) { padding: clamp(1.4rem,3vw,2.4rem); }
body :is(.kc-canal-card,.kn-persona,.kn-razon,.kb-vacante):hover { border-color: #8aab51; box-shadow: 0 24px 50px -30px #000; transform: translateY(-5px); }

/* Nosotros: historia, equipo y manifiesto con ritmos diferentes. */
body .kn-subnav { background: #10251a; border-block: 1px solid #35503d; padding: 1rem; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
body .kn-hito__anio { width: 64px; height: 64px; background: #bdde44; color: #102016; font-family: var(--kroa-sans); font-size: 1rem; }
body .kn-hito__texto { color: #c9d3c9; }
body .kn-razon__num { color: #bdde44; font-family: var(--kroa-serif); font-size: 2.6rem; }
body .kn-persona { padding: 2.5rem 1.4rem; }
body .kn-persona__inicial { width: 80px; height: 80px; background: #213d2b; border: 1px solid #69814f; color: #e7edc3; }
body .kn-persona__rol { color: #b6c4b9; line-height: 1.6; font-size: .8rem; }
body :is(.kn-filosofia,.kn-cta,.kb-cta) { background: radial-gradient(ellipse at top,#25442b,#0a1a11 75%); color: #f5f3e9; border-block: 1px solid #35503d; }
body .kn-filosofia__frase { max-width: 24ch; font-size: clamp(2rem,4vw,4rem); line-height: 1.25; color: #f5f3e9; }
body .kn-mv > div { background: #10251a; border: 1px solid #35503d; border-radius: 20px; padding: 2rem; }

/* Empleo: cada vacante se lee como una ficha; acciones al mismo nivel. */
body .kb-vacantes { gap: 1.5rem; align-items: stretch; }
body .kb-vacante { border-top: 3px solid #6d8b42; }
body .kb-vacante h3 { font-size: 1.7rem; line-height: 1.25; }
body .kb-vacante__grupo h4 { color: #bdde44; font-size: .8rem; letter-spacing: .1em; }
body .kb-vacante__grupo ul { line-height: 1.85; font-size: .96rem; }
body .kb-vacante__badges span { color: #d6e9a7; background: #203823; border: 1px solid #48623b; }
body .kb-vacante__deseable { color: #efd7a0; background: #392d18; border: 1px solid #66552e; }
body .kb-vacante__acciones { border-top: 1px solid #35503d; padding-top: 1.5rem; gap: .75rem; }
body .kb-practicas { background: #183323; border: 1px solid #48623b; padding: clamp(1.5rem,4vw,3rem); }
body .kb-practicas__carreras span { background: #0a1a11; color: #d6e9a7; }
body .kb-paso::before { background: #bdde44; color: #102016; }

/* Contacto: canales y formulario comparten una escala de lectura. */
body .kc-canales { gap: clamp(1.5rem,4vw,4rem); grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
body .kc-canal-card--emergencia { border-color: #8d594b; }
body .kc-canal-card--emergencia .kc-canal-card__badge { background: #43271f; color: #ffd3c4; }
body .kc-canal-card--agencias .kc-canal-card__badge { background: #203823; color: #d6e9a7; }
body .kroa-dato__valor { overflow-wrap: anywhere; }
body .kroa-sedes { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
body .kroa-sede__indice { background: #bdde44; color: #102016; }
body .kc-form__card { max-width: 880px; padding: clamp(1.25rem,4vw,3rem); }
body .kc-form__card :is(label,.srfm-block-label,.srfm-description) { color: #e5ece1; }
body .kc-form__card :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select) {
 background: #09170d; color: #f5f3e9; border: 1px solid #69816f; border-radius: 10px; min-height: 48px; font-size: 1rem; padding: .8rem 1rem; width: 100%;
}
body .kc-form__card ::placeholder { color: #acbcb0; opacity: 1; }
body .kc-form__card :is(button[type=submit],input[type=submit]) { background: #bdde44; color: #102016; border-radius: 999px; min-height: 48px; }
body .kc-form__card :is(.srfm-error-message,.srfm-error) { color: #ffb6ab; }

/* Blog: apertura editorial y primera historia destacada, con contenido real. */
body :is(.kroab-wrap,.kroa-blog) { max-width: 1280px; padding: clamp(2.5rem,6vw,6rem) clamp(1.25rem,4vw,3rem); margin-inline: auto; }
body :is(.kroab-header,.kroa-blog__header) { text-align: left; padding-bottom: 2.5rem; border-bottom: 1px solid #35503d; margin-bottom: 2.5rem; }
body :is(.kroab-title,.kroa-blog__title) { color: #f5f3e9; font-size: clamp(2.8rem,6vw,5.5rem); line-height: 1.1; letter-spacing: -.04em; margin: 0 0 1rem; }
body :is(.kroab-intro,.kroa-blog__description) { color: #c9d3c9; margin-left: 0; max-width: 60ch; font-size: 1.1rem; }
body .kroa-editorial-kicker { color: #bdde44; font-size: .78rem; text-transform: uppercase; letter-spacing: .18em; margin-bottom: 1.2rem; }
body :is(.kroab-grid,.kroa-blog__posts) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
body :is(.kroab-card,.kroa-blog__post) { background: #10251a; border: 1px solid #35503d; border-radius: 20px; overflow: hidden; box-shadow: none; display: flex; flex-direction: column; }
body :is(.kroab-card__img,.kroa-blog__post-image) { height: auto; aspect-ratio: 16/10; overflow: hidden; background: #203823; }
body :is(.kroab-card__img,.kroa-blog__post-image) a { display: block; height: 100%; }
body :is(.kroab-card__img,.kroa-blog__post-image) img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--kroa-ease); }
body :is(.kroab-card,.kroa-blog__post):hover img { transform: scale(1.045); }
body :is(.kroab-card__body,.kroa-blog__post-content) { padding: clamp(1.4rem,3vw,2.5rem); display: flex; flex-direction: column; flex: 1; }
body :is(.kroab-card__title,.kroa-blog__post-title) { font-size: clamp(1.5rem,2.5vw,2rem); line-height: 1.25; margin: 0 0 1rem; }
body :is(.kroab-card__title,.kroa-blog__post-title) a { color: #f5f3e9; text-decoration: none; }
body :is(.kroab-card__date,.kroa-blog__post-meta) { color: #b6c4b9; font-size: .86rem; }
body :is(.kroab-card__excerpt,.kroa-blog__post-excerpt) { color: #c9d3c9; line-height: 1.75; margin-block: 1rem 1.5rem; }
body :is(.kroab-card__link,.kroa-blog__post-link) { color: #bdde44; margin-top: auto; min-height: 44px; display: inline-flex; align-items: center; gap: .5rem; }
body .kroab-pagination :is(a,span) { background: #183323; color: #e9eee5; }
body .kroab-pagination .current { background: #bdde44; color: #102016; }
@media (min-width: 800px) {
 body :is(.kroab-grid,.kroa-blog__posts) > article:first-child:has(img) { grid-column: 1/-1; display: grid; grid-template-columns: 1.15fr 1fr; }
 body :is(.kroab-grid,.kroa-blog__posts) > article:first-child :is(.kroab-card__img,.kroa-blog__post-image) { height: 100%; min-height: 360px; }
}

/* Asistencia: icono de emergencia, encima de WhatsApp, sin texto visible. */
body .kroa-emergency-float {
 position: fixed; right: max(20px,env(safe-area-inset-right)); bottom: calc(92px + env(safe-area-inset-bottom));
 z-index: 9991; display: grid; place-items: center; width: 54px; height: 54px;
 background: #a8322c; color: #fff; border: 1px solid #ffb4a0; border-radius: 50%;
 box-shadow: 0 8px 28px #0006; transition: transform .3s,background .3s;
}
body .kroa-emergency-float svg { width: 26px; height: 26px; }
body .kroa-emergency-float:hover { background: #8e2520; color: #fff; transform: translateY(-3px); }
body .kroa-wa-float { right: max(20px,env(safe-area-inset-right)); bottom: calc(20px + env(safe-area-inset-bottom)); min-height: 54px; }
body #ht-ctc-chat { right: max(20px,env(safe-area-inset-right)) !important; left: auto !important; bottom: calc(20px + env(safe-area-inset-bottom)) !important; }

/* Revelado progresivo: el contenido nunca depende de JavaScript para verse. */
.kroa-motion-enter { animation: kroa-editorial-enter .85s var(--kroa-ease) both; animation-delay: var(--kroa-stagger,0ms); }
@keyframes kroa-editorial-enter { from { opacity: .25; translate: 0 24px; } to { opacity: 1; translate: 0 0; } }
@media (max-width: 799px) {
 body :is(.kroab-grid,.kroa-blog__posts,.kc-canales,.kroa-sedes,.kn-mv,.kb-vacantes) { grid-template-columns: minmax(0,1fr); }
 body :is(.kc-hero,.kn-hero,.kb-hero) { padding-inline: 1.25rem; }
 body .kroa-ventanilla { padding: 28px; }
 body .kroa-ventanilla__marco { width: min(75vw,280px); }
 body #masthead .kroa-cabecera__interior { min-height: 76px; }
 body #masthead .kroa-cabecera__marca img { max-width: 110px; }
 body #masthead .kroa-cabecera__cta { font-size: .78rem; padding: .7rem .85rem; }
}
@media (max-width: 380px) {
 body #masthead .kroa-cabecera__marca img { max-width: 85px; }
 body #masthead .kroa-cabecera__interior { gap: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
 body .kroa-motion-enter,body .kroa-ventanilla__brillo { animation: none; }
 body :is(.kroa-ventanilla__marco,.kroab-card,.kroa-blog__post,.kc-canal-card,.kn-persona,.kn-razon,.kb-vacante,.kroa-emergency-float),
 body :is(.kroab-card__img,.kroa-blog__post-image) img { transition: none; transform: none; }
}
@media print { body :is(.kroa-emergency-float,#ht-ctc-chat) { display: none !important; } }

/* Lectura de artículos y detalles que antes compartían tokens de fondo. */
body .kroa-post { max-width: 900px; margin-inline: auto; padding-block: 4rem; }
body .kroa-post__title { color: #f5f3e9; font-size: clamp(2.4rem,5vw,4.5rem); line-height: 1.12; }
body .kroa-post__content { color: #c9d3c9; font-size: 1.08rem; line-height: 1.85; }
body .kroa-post__meta { color: #b6c4b9; }
body .kroa-post__content a { color: #bdde44; text-underline-offset: .2em; }
body .kn-credenciales { color: #c9d3c9; }
body .kn-credenciales strong { color: #bdde44; }
body .kn-paso::before { color: #102016; background: #bdde44; }
body .kc-page .kroa-sede__ruta { color: #d4e49d; border-color: #8aab51; }
body .kc-page .kroa-sede__lista dd a { color: #f5f3e9; }
body .kroa-hero--cine { margin-top: -88px; padding-top: 88px; }
@media (max-width: 799px) { body .kroa-hero--cine { margin-top: -76px; padding-top: 76px; } }

/* Revision 2: form plugin tokens override per-form inline configuration. */
body .kc-form { color: #c9d3c9; background: #0a1a11; }
body .kc-form > h2 { color: #f5f3e9 !important; }
body .kc-form > p { color: #c9d3c9 !important; }
body .kc-form__card { background: #10251a !important; color: #f5f3e9; }
body :is(.srfm-form-container,.srfm-form,.srfm-single-form) {
 --srfm-color-scheme-text: #f5f3e9 !important;
 --srfm-color-scheme-primary: #bdde44 !important;
 --srfm-color-scheme-text-on-primary: #102016 !important;
 --srfm-color-input-label: #f5f3e9 !important;
 --srfm-color-input-text: #f5f3e9 !important;
 --srfm-color-input-description: #c9d3c9 !important;
 --srfm-color-input-placeholder: #b6c4b9 !important;
 --srfm-color-input-prefix: #f5f3e9 !important;
 --srfm-color-input-background: #09170d !important;
 --srfm-color-input-background-hover: #14291c !important;
 --srfm-color-input-border: #69816f !important;
 --srfm-color-input-border-hover: #bdde44 !important;
 --srfm-bg-color: #10251a !important;
 --srfm-btn-bg-color: #bdde44 !important;
 --srfm-btn-color: #102016 !important;
 color: #f5f3e9 !important;
 background-color: #10251a !important;
}
body .srfm-form-container :is(label,.srfm-block-label,.srfm-input-label,label span,label strong) { color: #f5f3e9 !important; }
body .srfm-form-container :is(.srfm-description,.srfm-block-description) { color: #c9d3c9 !important; }
body .srfm-form-container :is(input:not([type=submit]),textarea,select) { background-color: #09170d !important; color: #f5f3e9 !important; border-color: #69816f !important; }
body .srfm-form-container ::placeholder { color: #b6c4b9 !important; opacity: 1; }
body :is(.srfm-form-container,.kc-form__card) :is(.srfm-button,.srfm-submit-button,button[type=submit],input[type=submit]),
body #srfm-submit-btn.srfm-button { background: #bdde44 !important; color: #102016 !important; }
body #srfm-submit-btn :is(span,svg) { color: inherit !important; }
/* Country picker can be portaled outside the form on mobile. */
body :is(.srfm-phone-block,.iti--container,.iti--inline-dropdown) {
 --iti-dropdown-bg: #10251a; --iti-text-gray: #c9d3c9; --iti-hover-color: #25442e;
}
body :is(.srfm-phone-block,.iti--container) :is(.iti__selected-country,.iti__selected-dial-code,.iti__country-name,.iti__dial-code) { color: #f5f3e9 !important; }
body :is(.srfm-phone-block,.iti--container) :is(.iti__dropdown-content,.iti__country-list,.iti__search-input) { background: #10251a !important; color: #f5f3e9 !important; border-color: #69816f; }
body :is(.srfm-phone-block,.iti--container) :is(.iti__highlight,.iti__active) { background: #25442e !important; }
body .srfm-phone-block .iti__selected-country { background: #183323 !important; }
body .srfm-phone-block .iti__arrow { border-top-color: #f5f3e9; }
body .srfm-phone-block .iti__arrow--up { border-bottom-color: #f5f3e9; border-top-color: transparent; }
/* Leave telephone padding to intl-tel-input, which measures the country prefix. */
body .kc-form__card input.srfm-input-phone { padding-inline-end: 1rem; }

/* Travel cabin: original landscape artwork behind the whole catalogue heading.
   No second CSS frame and no vertical crop of the horizontal illustration. */
body .kroa-catalogo-cabecera { isolation: isolate; background: #08170e; overflow: hidden; }
body .kroa-catalogo-cabecera__rejilla { position: static; display: block; min-height: 440px; padding-block: clamp(5rem,9vw,8rem); }
body .kroa-catalogo-cabecera__texto { position: relative; z-index: 2; max-width: 580px; }
body .kroa-catalogo-cabecera__titulo { color: #f5f3e9; font-size: clamp(2.8rem,5vw,4.8rem); line-height: 1.08; }
body .kroa-catalogo-cabecera .kroa-lead { color: #d5dfd4; max-width: 44ch; }
body .kroa-catalogo-cabecera .kroa-kicker { color: #bdde44; }
body .kroa-catalogo-cabecera .kroa-ventanilla {
 position: absolute; inset: 0; z-index: 0; padding: 0; perspective: none; pointer-events: none;
 transform: none !important;
}
body .kroa-catalogo-cabecera .kroa-ventanilla__marco,
body .kroa-catalogo-cabecera .kroa-ventanilla:hover .kroa-ventanilla__marco {
 position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto;
 margin: 0; border: 0; border-radius: 0; box-shadow: none; transform: none; transition: none;
}
body .kroa-catalogo-cabecera .kroa-ventanilla__vista {
 position: absolute; inset: 0 0 0 auto; width: min(100%,1100px); height: 100%;
 object-fit: cover; object-position: right center; transform: none; opacity: .85;
}
body .kroa-catalogo-cabecera .kroa-ventanilla__marco::after {
 border-radius: 0; box-shadow: none;
 background: linear-gradient(90deg,#08170e 4%,#08170ef5 24%,#08170ea6 47%,#08170e12 76%),
 linear-gradient(0deg,#08170e,transparent 27%,transparent 80%,#08170e70);
}
body .kroa-catalogo-cabecera .kroa-ventanilla__brillo {
 inset: 0 0 0 45%; box-shadow: none; opacity: .16;
 background: linear-gradient(115deg,transparent 20%,#fff8 48%,transparent 60%);
 animation: none;
}
@media (prefers-reduced-motion: no-preference) {
 body .kroa-catalogo-cabecera .kroa-ventanilla__brillo { animation: kroa-cabin-light 12s ease-in-out infinite alternate; }
 @keyframes kroa-cabin-light { from { translate: -5% 0; opacity: .04; } to { translate: 5% 0; opacity: .12; } }
}
@media (max-width: 799px) {
 body .kroa-catalogo-cabecera__rejilla { min-height: 440px; padding-block: 4rem; }
 body .kroa-catalogo-cabecera .kroa-ventanilla__vista { width: 100%; opacity: .5; object-position: 65% center; }
 body .kroa-catalogo-cabecera .kroa-ventanilla__marco::after {
  background: linear-gradient(90deg,#08170ee6,#08170e99),linear-gradient(0deg,#08170e,transparent 40%);
 }
}

/* Definite media boxes prevent intrinsic image dimensions stretching the grid. */
body :is(.kroab-grid,.kroa-blog__posts) > article { min-width: 0; max-width: 100%; }
body :is(.kroab-card__body,.kroa-blog__post-content) { min-width: 0; overflow-wrap: anywhere; }
body :is(.kroab-card__img,.kroa-blog__post-image) {
 position: relative; width: 100%; height: clamp(210px,24vw,300px); min-height: 0; aspect-ratio: auto;
 flex: none; overflow: hidden; contain: layout paint;
}
body :is(.kroab-card__img,.kroa-blog__post-image) > a { position: absolute; inset: 0; width: 100%; height: 100%; }
body :is(.kroab-card__img,.kroa-blog__post-image) img {
 position: absolute; inset: 0; display: block; margin: 0 !important; float: none;
 width: 100% !important; height: 100% !important; max-width: 100% !important; object-fit: cover;
}
@media (min-width: 800px) {
 body :is(.kroab-grid,.kroa-blog__posts) > article:first-child:has(img) { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); }
 body :is(.kroab-grid,.kroa-blog__posts) > article:first-child :is(.kroab-card__img,.kroa-blog__post-image) { height: 360px; min-height: 0; }
}
body :is(.kroa-post__thumbnail,.kroa-post-card__image) { overflow: hidden; border-radius: 18px; max-width: 100%; }
body .kroa-post__thumbnail img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: contain; margin: 0 auto; }
body :is(.kroa-post__content,.kroab-intro) :is(img,figure,.wp-block-image) { max-width: 100% !important; }
body :is(.kroa-post__content,.kroab-intro) img { height: auto; }
body .kroa-post-card__image img { width: 100%; height: 280px; object-fit: cover; display: block; }

/* One scrollable list, without duplicate links; keyboard, swipe and arrows. */
body .kroa-hero-destinos { display: block; min-width: 0; max-width: 100%; margin-top: 2rem; }
body .kroa-hero-destinos__head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .85rem; }
body .kroa-hero-destinos__label { color: #d7e0d2; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
body .kroa-hero-destinos__controls { display: flex; gap: .3rem; }
body .kroa-hero-destinos__controls[hidden] { display: none; }
body .kroa-hero-destinos button { display: grid; place-items: center; min-width: 36px; height: 36px; padding: .3rem; border: 1px solid #69816f; border-radius: 50%; background: #10251a; color: #e7efdc; }
body .kroa-hero-destinos button:disabled { opacity: .4; cursor: default; }
body .kroa-hero-destinos button svg { width: 16px; height: 16px; }
body .kroa-hero-destinos__track { display: flex; gap: .6rem; overflow-x: auto; padding: .3rem .25rem .85rem; scrollbar-width: thin; scrollbar-color: #69816f transparent; }
body .kroa-hero-destinos__track a {
 flex: 0 0 auto; display: inline-flex; align-items: center; gap: .6rem; white-space: nowrap;
 border: 1px solid #61774d; border-radius: 999px; padding: .55rem .95rem; min-height: 44px;
 color: #f5f3e9; background: #14271bdd; font-size: .85rem; text-decoration: none;
 transition: background .25s,border-color .25s,translate .25s;
}
body .kroa-hero-destinos__track a::before { content: ""; width: 5px; height: 5px; background: #bdde44; border-radius: 50%; }
body .kroa-hero-destinos__track a:hover { color: #e6f5bd; border-color: #bdde44; background: #25442e; translate: 0 -2px; }
body .kroa-hero__texto { min-width: 0; }
/* The source glyph points up: +90deg aligns its nose with the path tangent. */
body .kroa-vuela { offset-rotate: auto 90deg; offset-anchor: center; offset-position: 0 0; }
@media (prefers-reduced-motion: reduce) {
 body .kroa-vuela { animation: none !important; display: none; }
 body .kroa-hero-destinos__track a { transition: none; }
}


/* Full-width departures band, after the hero and clear of the frog scene. */
body .kroa-destinos-franja {
 position: relative;
 width: 100%;
 max-width: none;
 box-sizing: border-box;
 padding: clamp(3rem,6vw,5.5rem) var(--kroa-canal) clamp(2rem,4vw,3.5rem);
 background: var(--kroa-blanco-calido);
}
body .kroa-destinos-franja .kroa-hero-destinos {
 width: 100%;
 max-width: none;
 margin: 0;
 padding-top: 1.25rem;
 border-top: 1px solid #35503d;
}
body .kroa-destinos-franja .kroa-hero-destinos__head {
 margin-bottom: 1rem;
}
body .kroa-destinos-franja .kroa-hero-destinos__track {
 width: 100%;
 box-sizing: border-box;
 gap: .85rem;
}
body .kroa-destinos-franja .kroa-hero-destinos__track a {
 font-family: var(--kroa-sans);
 padding: .7rem 1.15rem;
}

/* Home: destinos grandes, sin el recorte ovalado de los pósters. */
body.home .kroa-destinos {
 grid-template-columns: repeat(2,minmax(0,1fr));
 gap: clamp(1.5rem,3vw,3rem);
}
body.home .kroa-destino { min-width: 0; overflow: visible; }
body.home .kroa-destino__marco {
 width: 100%; max-width: none; margin: 0; aspect-ratio: 4 / 5;
 border-radius: 24px; background: #10251a;
 box-shadow: 0 0 0 1px #8b8154,0 22px 46px -25px #000;
}
body.home .kroa-destino__img,
body.home .kroa-destino:hover .kroa-destino__img {
 width: 100%; height: 100%; object-fit: contain; transform: none;
}
body.home .kroa-destino__pie { padding: 1.4rem .3rem; gap: .6rem; }
body.home .kroa-destino__nombre { font-size: clamp(1.5rem,2.5vw,2.1rem); }
body.home .kroa-destino__meta { font-size: .95rem; }
body .kroa-hero-destinos__track { scroll-behavior: auto; scroll-snap-type: none; }
@media (max-width: 640px) {
 body.home .kroa-destinos { grid-template-columns: minmax(0,1fr); gap: 1.7rem; }
 body.home .kroa-destino__marco { border-radius: 18px; }
}
