:root {
    --bg: #051628;
    --bg-deep: #031321;
    --card: #0b243a;
    --card-2: #0d2942;
    --line: rgba(205, 225, 242, .13);
    --white: #f8fafc;
    --muted: #c8d2de;
    --muted-2: #91a4b8;
    --orange: #ff5a36;
    --orange-2: #ff6b3d;
    --yellow: #ffbd27;
    --pink: #ff3d78;
    --green: #55d590;
    --purple: #7864f7;
    --blue: #4aa3ff;
    --red: #ff5055;
    --shell: 1180px;
    --header-h: 94px;
    --font-body: 'Poppins', Arial, sans-serif;
    --font-heading: 'Poppins', Arial, sans-serif;
    --about-title-accent: #ff5a36;
    --rt-highlight-1: #ff5a36;
    --rt-highlight-2: #ffbd27;
    --rt-highlight-3: #ff3d78;
    --rt-highlight-4: #55d590;
    --rt-highlight-5: #7864f7;
    --rt-highlight-6: #4aa3ff;
    --rt-highlight-7: #ff5a36;
    --rt-font-1: 'Poppins', Arial, sans-serif;
    --rt-font-2: 'Montserrat', Arial, sans-serif;
    --rt-font-3: 'Manrope', Arial, sans-serif;
    --rt-font-4: 'DM Sans', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
    margin: 0;
    min-width: 320px;
    background: var(--bg);
    color: var(--white);
    font-family: var(--font-body);
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
h1,h2,h3,p,blockquote { margin-top: 0; }
h1,h2,h3,h4,h5,h6,.rt-kicker { font-family: var(--font-heading); }
h1 { font-weight:800; }
h2,h3 { font-weight:700; }
h4,h5,h6 { font-weight:600; }
.rt-kicker { font-weight:500; }
p { color: var(--muted); line-height: 1.65; }
.rt-shell { width: min(calc(100% - 72px), var(--shell)); margin-inline: auto; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.skip-link { position:fixed; left:18px; top:-90px; z-index:9999; padding:10px 14px; background:#fff; color:#111; border-radius:10px; }
.skip-link:focus { top:18px; }
.honeypot { position:absolute!important; left:-9999px!important; }

/* Header */
.site-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 1000;
    height: var(--header-h);
    background: transparent;
}
.header-inner { height: 100%; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:inline-flex; align-items:center; flex:0 0 auto; }
.brand img { width: 155px; height:auto; }
.main-nav { display:flex; align-items:center; gap:30px; }
.main-nav > a:not(.nav-join) {
    position:relative;
    color:#f5f8fb;
    font-size:.91rem;
    font-weight:500;
    padding: 34px 0 25px;
    white-space:nowrap;
}
.main-nav > a:not(.nav-join)::after {
    content:"";
    position:absolute;
    left:0; right:100%; bottom:15px;
    height:2px; border-radius:999px;
    background:var(--orange);
    transition:right .2s ease;
}
.main-nav > a:hover::after,
.main-nav > a.is-active::after { right:0; }
.main-nav > a.is-active:not(.nav-join) { color: #ff6d45; }
.nav-join {
    min-height: 50px;
    display:inline-flex; align-items:center; justify-content:center;
    padding: 13px 28px;
    border-radius: 15px;
    color:#fff;
    background: linear-gradient(135deg,#ff642f,#ff4e35);
    font-weight:600;
    box-shadow: 0 12px 28px rgba(255,86,51,.12);
    transition: transform .2s ease, box-shadow .2s ease;
}
.nav-join:hover { transform:translateY(-2px); box-shadow:0 16px 32px rgba(255,86,51,.2); }
.nav-join.is-active { box-shadow:0 0 0 2px rgba(255,98,53,.28), 0 12px 28px rgba(255,86,51,.12); }
.menu-toggle { display:none; border:1px solid var(--line); background:var(--card); color:#fff; width:46px; height:46px; border-radius:12px; padding:10px; }
.menu-toggle span:not(.sr-only) { display:block; height:2px; background:currentColor; margin:5px 0; border-radius:2px; transition:.2s ease; }
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Shared */
.rt-page {
    min-height: 100vh;
    padding: calc(var(--header-h) + 58px) 0 84px;
    background:
        radial-gradient(circle at 82% 7%, rgba(9,50,77,.18), transparent 30%),
        linear-gradient(180deg, #06182a 0%, #051628 100%);
    overflow:hidden;
}
.rt-kicker {
    margin-bottom:22px;
    color:#c6d0dc;
    font-size:.76rem;
    font-weight:500;
    letter-spacing:.33em;
    text-transform:uppercase;
}
.accent-yellow { color:var(--yellow); }
.accent-pink { color:var(--pink); }
.accent-orange { color:var(--orange); }
.about-title-accent { color:var(--about-title-accent); }
.rt-btn {
    min-height:54px;
    display:inline-flex; align-items:center; justify-content:center; gap:26px;
    padding:14px 27px;
    border:0; border-radius:14px;
    font-weight:600;
    transition:transform .18s ease, filter .18s ease;
}
.rt-btn:hover { transform:translateY(-2px); filter:brightness(1.05); }
.rt-btn-orange { color:#fff; background:linear-gradient(135deg,#ff6336 0%,#ff4d35 100%); }
.rt-btn.full { width:100%; }
.rt-svg { width:1em; height:1em; display:block; }
.line-icon { width:64px; height:64px; display:grid; place-items:center; margin:0 auto 18px; font-size:3.4rem; }
.line-icon .rt-svg { width:54px; height:54px; }
.orange { color:var(--orange); }
.yellow { color:var(--yellow); }
.pink { color:var(--pink); }
.green { color:var(--green); }
.purple { color:var(--purple); }
.blue { color:var(--blue); }
.red { color:var(--red); }
.soft-blue { color:#b8c9db; }
.section-title { text-align:center; margin-bottom:36px; font-size:2rem; font-weight:700; }
.alert { margin-bottom:16px; padding:12px 14px; border-radius:10px; font-size:.9rem; }
.alert.success { background:rgba(85,213,144,.13); border:1px solid rgba(85,213,144,.25); color:#b8f5d2; }
.alert.error { background:rgba(255,80,85,.13); border:1px solid rgba(255,80,85,.25); color:#ffc3c5; }

/* HOME */
.rt-home { padding-top:calc(var(--header-h) + 0px); }
.home-hero {
    min-height: 610px;
    display:grid;
    grid-template-columns: 1fr 1.06fr;
    align-items:end;
    gap:35px;
    position:relative;
}
.home-copy { z-index:2; padding:70px 0 42px 40px; }
.home-copy h1 {
    margin-bottom:22px;
    font-size:clamp(3.4rem,5.8vw,5.75rem);
    line-height:.95;
    letter-spacing:-.055em;
    font-weight:800;
}
.home-copy p { margin-bottom:26px; color:#eef3f7; font-size:1.08rem; line-height:1.45; }
.home-photo {
    align-self:stretch;
    position:relative;
    border-radius:0 0 0 0;
    overflow:hidden;
    min-height:610px;
}
.home-photo::before {
    content:"";
    position:absolute; inset:0;
    z-index:1;
    background:linear-gradient(90deg,#06182a 0%,rgba(6,24,42,.63) 16%,rgba(6,24,42,0) 44%), linear-gradient(0deg,rgba(5,22,40,.13),rgba(5,22,40,0));
    pointer-events:none;
}
.home-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.rt-stats {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin:0 6px;
    padding:20px 0;
    border:1px solid rgba(160,190,215,.08);
    border-radius:18px;
    background:linear-gradient(135deg,#0a2238,#0b2740);
    box-shadow:0 16px 35px rgba(0,0,0,.08);
}
.rt-stats > div { min-height:65px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:0 20px; border-right:1px solid rgba(180,205,225,.17); }
.rt-stats > div:last-child { border-right:0; }
.rt-stats strong { color:#fff; font-size:1.75rem; line-height:1.1; margin-bottom:7px; font-weight:500; }
.rt-stats strong.infinity { font-size:2.25rem; font-weight:500; }
.rt-stats span { color:#eef3f8; font-size:.91rem; font-weight:500; }
.why-block { padding:34px 12px 36px; }
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.why-item { text-align:center; padding:10px 26px 2px; border-right:1px solid rgba(180,205,225,.15); }
.why-item:last-child { border-right:0; }
.why-item h3 { font-size:1.1rem; line-height:1.25; margin-bottom:11px; }
.why-item p { margin:0; font-size:.92rem; line-height:1.45; color:#e0e8ef; }
.community-card {
    display:grid;
    grid-template-columns:1.12fr 1.07fr .58fr;
    gap:18px;
    align-items:center;
    margin:4px 6px 0;
    padding:23px 29px;
    border:1px solid rgba(160,190,215,.13);
    border-radius:18px;
    background:linear-gradient(135deg,rgba(9,34,55,.9),rgba(7,28,47,.92));
}
.community-copy h2 { margin-bottom:16px; font-size:2.05rem; line-height:1.1; letter-spacing:-.04em; }
.community-copy h2 span, .community-side h3 span { color:#ff6847; }
.community-copy p { max-width:420px; margin-bottom:18px; font-size:.9rem; color:#dce5ec; }
.community-copy .rt-btn { min-height:46px; padding:11px 22px; font-size:.9rem; }
.community-photo { overflow:hidden; border-radius:21px; }
.community-photo img { width:100%; aspect-ratio:1.3/1; object-fit:cover; }
.community-side h3 { margin-bottom:18px; font-size:1.35rem; line-height:1.15; }
.community-side p { margin:0; font-size:.78rem; line-height:1.55; }
.trusted-block { padding:30px 28px 10px; }
.trusted-title { margin-bottom:20px; text-align:center; color:#9eafbf; font-size:.64rem; letter-spacing:.36em; }
.trusted-logos { display:grid; grid-template-columns:repeat(5,1fr); align-items:center; gap:20px; }
.trusted-logo { min-height:50px; display:flex; align-items:center; justify-content:center; color:#dce4eb; font-size:1.75rem; font-weight:500; text-align:center; line-height:.8; }
.trusted-logo img { max-width:140px; max-height:44px; object-fit:contain; filter:grayscale(1) brightness(2.1); }
.wordmark-ml { font-size:1.05rem; line-height:.88; font-weight:700; }
.wordmark-bbva { font-size:1.7rem; }
.wordmark-globant { font-size:1.45rem; font-weight:700; }
.wordmark-rappi { font-size:1.9rem; font-weight:800; font-style:italic; color:#dfe6ed; }


/* HOME · PLANES PUBLICADOS (V14.12) */
.home-plans {
    --home-plan-card-bg:#0a2034;
    --home-plan-text:#f8fafc;
    --home-plan-muted:#c8d2de;
    --home-plan-accent-1:#ff5a36;
    --home-plan-accent-2:#ffbd27;
    --home-plan-accent-3:#ff3d78;
    --home-plan-heading-font:var(--font-heading);
    --home-plan-body-font:var(--font-body);
    margin: 8px 6px 34px;
    padding: 34px 0 0;
    border-top: 1px solid rgba(180,205,225,.14);
    color:var(--home-plan-text);
    font-family:var(--home-plan-body-font);
}
.home-plans h2,.home-plans h3,.home-plan-price strong,.plan-detail-modal h2,.plan-detail-modal h3,.plan-modal-price strong { font-family:var(--home-plan-heading-font); }
.home-plans p,.home-plans li,.home-plan-label,.home-plan-price span,.plan-detail-modal,.plan-detail-modal p,.plan-detail-modal li { font-family:var(--home-plan-body-font); }
.home-plans-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
    padding:0 8px 28px;
}
.home-plans-head .rt-kicker {
    margin-bottom:10px;
}
.home-plans-head h2 {
    margin:0 0 12px;
    font-size:clamp(2.4rem,4.7vw,4.3rem);
    line-height:.98;
    letter-spacing:-.055em;
}
.home-plans-head h2 span {
    color:var(--home-plan-accent-1);
}
.home-plans-head p {
    max-width:650px;
    margin:0;
    color:var(--home-plan-muted);
    font-size:1rem;
    line-height:1.5;
}
.home-plans-note {
    flex:0 0 auto;
    padding:0 6px 7px;
    text-align:right;
    transform:rotate(-4deg);
}
.home-plans-note span,
.home-plans-note strong {
    display:block;
    color:var(--home-plan-accent-1);
    font-size:1.02rem;
    line-height:1.2;
}
.home-plans-note strong {
    margin-top:3px;
    font-size:1.2rem;
    font-weight:800;
}
.home-plans-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}
.home-plan-card {
    --plan-accent:var(--home-plan-accent-1);
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(176,203,224,.16);
    border-radius:20px;
    background:linear-gradient(180deg,var(--home-plan-card-bg) 0%,color-mix(in srgb,var(--home-plan-card-bg) 82%,#000 18%) 100%);
    box-shadow:0 18px 38px rgba(0,0,0,.12);
}
.home-plan-card.plan-tone-2 { --plan-accent:var(--home-plan-accent-2); }
.home-plan-card.plan-tone-3 { --plan-accent:var(--home-plan-accent-3); }
.home-plan-visual {
    position:relative;
    display:block;
    width:100%;
    padding:0;
    overflow:hidden;
    border:0;
    background:#081a2b;
    color:#fff;
    aspect-ratio:1.72/1;
}
.home-plan-visual::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(4,15,25,.02) 35%,rgba(4,15,25,.34) 100%);
    pointer-events:none;
}
.home-plan-visual img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease, filter .35s ease;
}
.home-plan-card:hover .home-plan-visual img {
    transform:scale(1.025);
    filter:saturate(1.04);
}
.home-plan-number {
    position:absolute;
    z-index:2;
    top:18px;
    right:18px;
    color:#fff;
    font-size:1.8rem;
    font-weight:400;
    text-shadow:0 2px 18px rgba(0,0,0,.42);
}
.home-plan-badge {
    position:absolute;
    z-index:2;
    left:16px;
    bottom:16px;
    max-width:calc(100% - 32px);
    padding:7px 10px;
    border-radius:999px;
    background:rgba(5,22,40,.78);
    border:1px solid rgba(255,255,255,.24);
    color:#fff;
    font-size:.68rem;
    font-weight:800;
    backdrop-filter:blur(8px);
}
.home-plan-body {
    padding:20px 22px 22px;
}
.home-plan-label {
    margin-bottom:8px;
    color:var(--home-plan-text);
    font-size:.65rem;
    font-weight:500;
    letter-spacing:.26em;
}
.home-plan-body h3 {
    margin:0 0 7px;
    font-weight:700;
    font-size:1.55rem;
    line-height:1.06;
    letter-spacing:-.035em;
}
.home-plan-subtitle {
    min-height:1.5em;
    margin:0 0 16px;
    color:var(--home-plan-muted);
    font-size:.92rem;
    font-weight:600;
    line-height:1.45;
}
.home-plan-features {
    display:grid;
    gap:8px;
    min-height:112px;
    margin:0;
    padding:0;
    list-style:none;
}
.home-plan-features li {
    display:grid;
    grid-template-columns:20px 1fr;
    gap:8px;
    align-items:start;
    color:var(--home-plan-muted);
    font-size:.84rem;
    line-height:1.35;
}
.home-plan-features li span {
    color:var(--plan-accent);
    font-weight:900;
}
.home-plan-bottom {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-top:18px;
    padding-top:17px;
    border-top:1px solid rgba(180,205,225,.13);
}
.home-plan-price strong,
.home-plan-price span {
    display:block;
}
.home-plan-price strong {
    color:var(--home-plan-text);
    font-size:1.25rem;
    line-height:1.1;
    font-weight:500;
}
.home-plan-price span {
    margin-top:3px;
    color:var(--home-plan-muted);
    font-size:.73rem;
}
.home-plan-arrow {
    flex:0 0 auto;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid var(--plan-accent);
    border-radius:50%;
    color:var(--plan-accent);
    background:transparent;
    font-size:1.35rem;
    transition:background .2s ease,color .2s ease,transform .2s ease;
}
.home-plan-arrow:hover {
    color:#071728;
    background:var(--plan-accent);
    transform:translateX(2px);
}
.home-plans-benefits {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    margin-top:26px;
    padding:22px 4px 4px;
    border-top:1px solid rgba(180,205,225,.13);
}
.home-plans-benefits > div {
    display:grid;
    grid-template-columns:46px 1fr;
    gap:12px;
    align-items:center;
    min-width:0;
    padding:0 22px;
    border-right:1px solid rgba(180,205,225,.13);
}
.home-plans-benefits > div:first-child { padding-left:6px; }
.home-plans-benefits > div:last-child { border-right:0; }
.home-plans-benefits .rt-svg {
    width:38px;
    height:38px;
    color:#f4d9a0;
}
.home-plans-benefits > div:nth-child(2) .rt-svg { color:#d8e2eb; }
.home-plans-benefits > div:nth-child(3) .rt-svg { color:var(--yellow); }
.home-plans-benefits > div:nth-child(4) .rt-svg { color:var(--orange); }
.home-plans-benefits strong,
.home-plans-benefits small {
    display:block;
}
.home-plans-benefits strong {
    color:#fff;
    font-size:.82rem;
}
.home-plans-benefits small {
    margin-top:4px;
    color:#b9c6d2;
    font-size:.7rem;
    line-height:1.35;
}

/* Ficha modal de plan */
body.plan-modal-open { overflow:hidden; }
.plan-detail-modal:target,
.plan-detail-modal.is-fallback-open {
    display:block;
    position:fixed;
    inset:50% auto auto 50%;
    transform:translate(-50%,-50%);
    z-index:9999;
}
.plan-detail-modal {
    width:min(1120px,calc(100vw - 36px));
    max-width:none;
    max-height:92vh;
    margin:auto;
    padding:0;
    overflow:auto;
    border:1px solid rgba(165,194,218,.22);
    border-radius:24px;
    background:#06182a;
    color:#fff;
    box-shadow:0 38px 110px rgba(0,0,0,.55);
}

.plan-detail-modal { color:var(--home-plan-text,#f8fafc); font-family:var(--home-plan-body-font,var(--font-body)); }
.plan-detail-modal h2,.plan-detail-modal h3,.plan-modal-price strong { color:var(--home-plan-text,#f8fafc); font-family:var(--home-plan-heading-font,var(--font-heading)); }
.plan-detail-modal p,.plan-detail-modal li,.plan-detail-modal span { font-family:var(--home-plan-body-font,var(--font-body)); }
.plan-modal-description,.plan-modal-subtitle { color:var(--home-plan-muted,#c8d2de); }

.plan-detail-modal::backdrop {
    background:rgba(0,9,18,.78);
    backdrop-filter:blur(8px);
}
.plan-modal-shell {
    position:relative;
    display:grid;
    grid-template-columns:minmax(285px,.7fr) minmax(0,1.45fr);
    min-height:690px;
}
.plan-modal-close {
    position:absolute;
    z-index:8;
    width:46px;
    height:46px;
    right:18px;
    top:18px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    border-radius:50%;
    color:#fff;
    background:rgba(3,17,29,.72);
    font-size:2rem;
    line-height:1;
    backdrop-filter:blur(8px);
}
.plan-modal-photo {
    position:relative;
    min-height:100%;
    overflow:hidden;
    background:#0a2034;
}
.plan-modal-photo > img:first-child {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}
.plan-modal-photo-shade {
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(1,14,25,.28),rgba(1,14,25,.05) 38%,rgba(1,14,25,.76) 100%),
        linear-gradient(90deg,rgba(4,18,30,.12),rgba(4,18,30,.06));
}
.plan-modal-logo {
    position:absolute;
    z-index:2;
    top:28px;
    left:28px;
    width:145px;
    height:auto;
}
.plan-modal-photo-copy {
    position:absolute;
    z-index:2;
    top:118px;
    left:30px;
    display:grid;
    gap:5px;
    color:#fff;
    font-size:.67rem;
    font-weight:700;
    letter-spacing:.28em;
}
.plan-modal-photo-copy::after {
    content:"";
    width:38px;
    height:3px;
    margin-top:10px;
    border-radius:999px;
    background:var(--orange);
}
.plan-modal-photo-foot {
    position:absolute;
    z-index:2;
    left:30px;
    right:30px;
    bottom:34px;
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.25);
    color:#fff;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.plan-modal-content {
    min-width:0;
    padding:44px 46px 34px;
    background:
        radial-gradient(circle at 88% 4%,rgba(40,84,116,.16),transparent 29%),
        #06182a;
}
.plan-modal-kicker {
    margin-bottom:19px;
    color:#c6d2dc;
    font-size:.66rem;
    font-weight:800;
    letter-spacing:.27em;
}
.plan-modal-kicker span { color:var(--orange); }
.plan-modal-title-row {
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}
.plan-modal-title-row h2 {
    margin:0;
    font-size:clamp(2.35rem,4.3vw,4rem);
    line-height:.98;
    letter-spacing:-.055em;
}
.plan-modal-title-row > span {
    padding:8px 16px;
    border:1px solid rgba(180,205,225,.42);
    border-radius:999px;
    color:#eaf0f5;
    font-size:.82rem;
}
.plan-modal-subtitle {
    margin-top:10px;
    color:#fff;
    font-size:1.45rem;
    line-height:1.2;
}
.plan-modal-description {
    max-width:710px;
    margin:18px 0 24px;
    color:#dfe8ef;
    font-size:.94rem;
    line-height:1.58;
}
.plan-modal-facts {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin-bottom:24px;
    padding:19px 0;
    border-top:1px solid rgba(180,205,225,.14);
    border-bottom:1px solid rgba(180,205,225,.14);
}
.plan-modal-facts > div {
    min-width:0;
    display:grid;
    place-items:center;
    gap:8px;
    padding:4px 13px;
    text-align:center;
    border-right:1px solid rgba(180,205,225,.14);
}
.plan-modal-facts > div:last-child { border-right:0; }
.plan-modal-facts .rt-svg {
    width:31px;
    height:31px;
    color:#fff;
}
.plan-modal-facts span,
.plan-modal-facts strong {
    display:block;
}
.plan-modal-facts span {
    color:#d5e0e8;
    font-size:.72rem;
}
.plan-modal-facts strong {
    margin-top:2px;
    color:#fff;
    font-size:.76rem;
}
.plan-modal-main-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) 270px;
    gap:28px;
}
.plan-modal-learn h3,
.plan-modal-more h3 {
    margin:0 0 15px;
    font-size:1.25rem;
}
.plan-modal-learn ul {
    display:grid;
    gap:9px;
    margin:0;
    padding:0;
    list-style:none;
}
.plan-modal-learn li {
    display:grid;
    grid-template-columns:20px 1fr;
    gap:9px;
    align-items:start;
    color:#e6edf3;
    font-size:.86rem;
    line-height:1.42;
}
.plan-modal-learn li span {
    color:var(--orange);
    font-weight:900;
}
.plan-modal-conditions-title {
    margin-top:24px!important;
    padding-top:21px;
    border-top:1px solid rgba(180,205,225,.13);
}
.plan-modal-terms li span { color:var(--yellow); }
.plan-modal-commerce {
    padding-left:22px;
    border-left:1px solid rgba(180,205,225,.14);
}
.plan-modal-price {
    padding:17px 18px;
    margin-bottom:12px;
    border:1px solid rgba(180,205,225,.16);
    border-radius:14px;
    background:#0a243b;
}
.plan-modal-price strong {
    display:inline;
    color:#fff;
    font-size:1.65rem;
}
.plan-modal-price span {
    margin-left:4px;
    color:#d8e2ea;
    font-size:.72rem;
}
.plan-modal-commerce .rt-btn {
    min-height:49px;
    padding:11px 17px;
    font-size:.85rem;
}
.plan-modal-stat {
    display:grid;
    grid-template-columns:38px 1fr;
    gap:11px;
    align-items:center;
    padding:13px 2px;
    border-bottom:1px solid rgba(180,205,225,.13);
}
.plan-modal-stat .rt-svg {
    width:29px;
    height:29px;
    color:#eef4f8;
}
.plan-modal-stat span,
.plan-modal-stat strong {
    display:block;
}
.plan-modal-stat span {
    color:#b8c6d2;
    font-size:.72rem;
}
.plan-modal-stat strong {
    margin-top:3px;
    color:#fff;
    font-size:.83rem;
}
.plan-modal-highlight {
    margin-top:14px;
    padding:11px 13px;
    border:1px solid rgba(255,189,39,.26);
    border-radius:11px;
    background:rgba(255,189,39,.08);
    color:#ffe4a0;
    font-size:.76rem;
    line-height:1.4;
}
.plan-modal-more {
    margin-top:25px;
    padding-top:20px;
    border-top:1px solid rgba(180,205,225,.14);
}
.plan-modal-more > div {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.plan-modal-more button {
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:13px 15px;
    border:1px solid rgba(180,205,225,.17);
    border-radius:12px;
    background:#0a243b;
    color:#fff;
    text-align:left;
}
.plan-modal-more button:hover { border-color:rgba(255,90,54,.62); }
.plan-modal-more button span,
.plan-modal-more button strong,
.plan-modal-more button small {
    min-width:0;
    display:block;
}
.plan-modal-more button strong {
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:.82rem;
}
.plan-modal-more button small {
    margin-top:3px;
    color:#aebfcd;
    font-size:.68rem;
}
.plan-modal-more button b {
    color:var(--orange);
    font-size:1.15rem;
}


/* ABOUT */
.about-hero { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding:34px 16px 24px; }
.about-copy h1 { font-size:clamp(3rem,5vw,4.6rem); line-height:1.02; letter-spacing:-.05em; margin-bottom:32px; }
.about-copy p { color:#f0f4f8; font-size:1.12rem; line-height:1.55; margin-bottom:24px; }
.about-photo { border-radius:27px; overflow:hidden; }
.about-photo img { width:100%; aspect-ratio:1.25/1; object-fit:cover; }
.mission-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0 6px 26px; }
.mission-card { display:grid; grid-template-columns:78px 1fr; gap:19px; padding:27px 28px; border-radius:18px; background:linear-gradient(135deg,#0a2238,#0b2740); border:1px solid rgba(160,190,215,.08); }
.mission-icon { width:64px; height:64px; display:grid; place-items:center; font-size:3.5rem; }
.mission-icon .rt-svg { width:54px; height:54px; }
.mission-card h2 { font-size:1.55rem; margin-bottom:10px; }
.mission-card p { margin:0; font-size:.92rem; color:#edf2f6; line-height:1.5; }
.values-section { padding:8px 10px 24px; }
.values-title { margin-bottom:26px; font-size:1.75rem; }
.values-grid { display:grid; grid-template-columns:repeat(5,1fr); }
.value-item { text-align:center; padding:5px 22px 14px; border-right:1px solid rgba(180,205,225,.14); }
.value-item:last-child { border-right:0; }
.value-item .line-icon { margin-bottom:13px; }
.value-item h3 { font-size:1rem; margin-bottom:10px; }
.value-item p { margin:0; color:#edf2f6; font-size:.84rem; line-height:1.45; }
.history-card { display:grid; grid-template-columns:1fr 1.05fr; gap:26px; margin:5px 6px 25px; padding:24px 24px 24px 32px; border:1px solid rgba(160,190,215,.13); border-radius:18px; background:linear-gradient(135deg,#092238,#0a2941); }
.history-copy { padding:4px 0; }
.history-copy h2 { font-size:2.1rem; line-height:1.08; margin-bottom:15px; }
.history-copy h2 span { color:#ff6847; }
.history-copy p { margin-bottom:12px; font-size:.86rem; color:#e5ebf0; line-height:1.48; }
.history-copy .rt-btn { min-height:46px; padding:10px 22px; margin-top:3px; }
.history-photo { border-radius:17px; overflow:hidden; }
.history-photo img { width:100%; height:100%; min-height:290px; object-fit:cover; }

/* METHOD */
.method-hero { display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:35px; padding:28px 24px 20px; }
.method-copy h1 { font-size:clamp(3.3rem,5.6vw,5.15rem); line-height:.98; letter-spacing:-.05em; margin-bottom:28px; }
.method-copy p { color:#e9eff4; font-size:1.05rem; line-height:1.55; }
.method-cycle { position:relative; width:min(100%,480px); aspect-ratio:1; margin-left:auto; }
.cycle-arcs { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.cycle-arcs path { fill:none; stroke-width:6; stroke-linecap:round; }
.cycle-node { position:absolute; display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; color:#fff; }
.cycle-node > div { width:64px; height:64px; display:grid; place-items:center; font-size:3.8rem; }
.cycle-node .rt-svg { width:58px; height:58px; }
.cycle-node strong { font-size:1.18rem; }
.node-talk { top:15px; left:50%; transform:translateX(-50%); }
.node-interact { right:2px; top:42%; transform:translateY(-50%); }
.node-feedback { bottom:0; left:50%; transform:translateX(-50%); }
.node-improve { left:0; top:45%; transform:translateY(-50%); }
.method-flow-card { margin:0 6px 24px; padding:22px 22px 20px; border:1px solid rgba(160,190,215,.08); border-radius:18px; background:linear-gradient(135deg,#0a2238,#0b2740); }
.method-flow-card h2 { font-size:1.65rem; margin-bottom:18px; }
.method-flow-grid { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:9px; padding:16px 9px; border-radius:14px; background:rgba(9,31,51,.65); }
.method-flow-grid article { text-align:center; min-width:0; }
.method-flow-grid .line-icon { width:50px; height:50px; margin-bottom:10px; }
.method-flow-grid .line-icon .rt-svg { width:44px; height:44px; }
.method-flow-grid strong { font-size:.9rem; line-height:1.4; display:block; }
.flow-arrow { color:#9cadbd; font-size:1.6rem; }
.difference-section { padding:0 6px 24px; }
.difference-title { font-size:1.7rem; margin-bottom:18px; }
.difference-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.difference-card { padding:24px 18px 20px; text-align:center; border-radius:16px; border:1px solid rgba(160,190,215,.1); background:linear-gradient(135deg,#0a2238,#0b2740); }
.difference-card .line-icon { margin-bottom:12px; }
.difference-card h3 { font-size:1rem; line-height:1.3; margin-bottom:12px; }
.difference-card p { margin:0; color:#e3eaf0; font-size:.84rem; line-height:1.5; }
.method-cta { min-height:65px; margin-top:18px; display:flex; align-items:center; justify-content:center; gap:22px; border-radius:13px; background:linear-gradient(95deg,#ff812c 0%,#ff4c3c 47%,#ff337d 100%); font-weight:600; font-size:1.04rem; }

/* PARTNERS */
.partners-hero { display:grid; grid-template-columns:1fr .95fr; gap:65px; align-items:center; min-height:650px; padding:42px 22px 18px; }
.partners-copy h1 { font-size:clamp(3.35rem,5.6vw,5.2rem); line-height:.98; letter-spacing:-.055em; margin-bottom:30px; }
.partners-copy p { color:#eef3f7; font-size:1.13rem; line-height:1.5; margin-bottom:30px; }
.partners-actions { display:flex; align-items:center; gap:45px; }
.text-arrow { color:#b9a6ff; text-decoration:underline; text-underline-offset:5px; font-size:1rem; }
.text-arrow span { display:inline-block; margin-left:20px; font-size:1.4rem; text-decoration:none; }
.partners-benefits { display:grid; gap:30px; padding-top:20px; }
.partners-benefits article { display:grid; grid-template-columns:112px 1fr; align-items:center; gap:25px; }
.benefit-icon { width:94px; height:94px; border-radius:50%; display:grid; place-items:center; border:2px solid currentColor; font-size:3.2rem; }
.benefit-icon .rt-svg { width:48px; height:48px; }
.partners-benefits p { margin:0; color:#f4f6f8; font-size:1.2rem; line-height:1.45; }
.partners-logo-card { margin:10px 6px 0; padding:34px 30px; border:1px solid rgba(160,190,215,.15); border-radius:18px; background:rgba(7,30,50,.72); }
.partners-logo-title { text-align:center; color:#cbd6df; margin-bottom:28px; font-size:1rem; }
.partners-row .trusted-logo { font-size:2rem; min-height:70px; }

/* CONTACT */
.rt-contact { padding-top:calc(var(--header-h) + 70px); }
.contact-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; padding:30px 28px; }
.contact-copy h1 { font-size:4.1rem; line-height:1; margin-bottom:30px; letter-spacing:-.055em; }
.contact-copy > p { color:#f0f4f7; font-size:1.14rem; line-height:1.65; }
.contact-list { display:grid; gap:27px; margin-top:42px; }
.contact-list a { display:grid; grid-template-columns:72px 1fr; align-items:center; gap:18px; }
.contact-bubble { width:64px; height:64px; display:grid; place-items:center; border-radius:50%; color:#fff; font-size:2.4rem; }
.contact-bubble .rt-svg { width:34px; height:34px; }
.contact-bubble.whatsapp { background:linear-gradient(135deg,#50dc73,#17b957); }
.contact-bubble.email { background:linear-gradient(135deg,#ffd04a,#f8a918); }
.contact-bubble.instagram { background:linear-gradient(135deg,#ff4e86,#d8319a); }
.contact-list strong { display:block; color:#fff; font-size:1.1rem; margin-bottom:6px; }
.contact-list small { color:#f2f5f8; font-size:1.04rem; }
.contact-card { padding:44px 42px 40px; border-radius:22px; background:linear-gradient(135deg,#0a2238,#0b2740); border:1px solid rgba(160,190,215,.08); }
.contact-card h2 { font-size:2rem; margin-bottom:32px; }
.contact-form { display:grid; gap:18px; }
.contact-form input,.contact-form textarea,.join-form input,.join-form textarea,.join-form select { width:100%; border:1px solid rgba(180,205,225,.25); border-radius:11px; background:rgba(4,24,40,.28); color:#fff; outline:none; }
.contact-form input { height:62px; padding:0 20px; }
.contact-form textarea { min-height:210px; padding:18px 20px; resize:vertical; }
.contact-form input::placeholder,.contact-form textarea::placeholder,.join-form input::placeholder,.join-form textarea::placeholder { color:#9aaaba; }
.contact-form input:focus,.contact-form textarea:focus,.join-form input:focus,.join-form textarea:focus,.join-form select:focus { border-color:rgba(255,98,53,.55); box-shadow:0 0 0 3px rgba(255,98,53,.08); }
.contact-card .rt-btn { margin-top:12px; min-height:62px; font-size:1rem; }

/* V14.11 · único formulario de contacto con el diseño "Comienza tu viaje". */
.contact-journey-card {
    width: 100%;
    align-self: start;
}
.contact-journey-card .join-details.is-open {
    animation: contactFormOpen .2s ease both;
}
.contact-unified-form .rt-btn {
    margin-top: 4px;
    min-height: 58px;
}
@keyframes contactFormOpen {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: none; }
}

/* JOIN */
.rt-join { padding-top:calc(var(--header-h) + 70px); }
.join-layout { display:grid; grid-template-columns:1fr .95fr; gap:68px; align-items:start; padding:32px 28px; }
.join-copy { padding-top:22px; }
.join-copy h1 { font-size:clamp(3.4rem,5.8vw,5.4rem); line-height:1.05; letter-spacing:-.055em; margin-bottom:38px; }
.join-copy p { color:#f1f4f7; font-size:1.22rem; line-height:1.65; }
.join-card { padding:45px 38px 36px; border-radius:22px; background:linear-gradient(135deg,#0a2238,#0b2740); border:1px solid rgba(160,190,215,.11); }
.join-card > h2 { font-size:2.1rem; margin-bottom:15px; }
.join-card > p { color:#f0f4f7; font-size:1.08rem; margin-bottom:30px; }
.join-options { display:grid; gap:16px; }
.join-option { width:100%; min-height:126px; border:0; border-radius:18px; padding:24px 30px; display:flex; align-items:center; justify-content:space-between; text-align:left; transition:transform .18s ease, box-shadow .18s ease; }
.join-option:hover { transform:translateY(-2px); }
.join-option.student { color:#fff; background:linear-gradient(105deg,#ff6038,#ff4c40); }
.join-option.company { color:#101010; background:linear-gradient(105deg,#ffc61e,#ffc01a); }
.join-option strong { display:block; font-size:1.45rem; margin-bottom:7px; }
.join-option small { font-size:1rem; }
.join-option b { font-size:2.2rem; font-weight:400; }
.join-option.is-selected { box-shadow:0 0 0 3px rgba(255,255,255,.18); }
.join-perks { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:35px; padding-top:28px; border-top:1px solid rgba(180,205,225,.2); }
.join-perks > div { min-height:74px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border-right:1px solid rgba(180,205,225,.16); }
.join-perks > div:last-child { border-right:0; }
.perk-icon { width:38px; height:38px; display:grid; place-items:center; margin-bottom:8px; font-size:2rem; }
.perk-icon .rt-svg { width:30px; height:30px; }
.join-perks small { color:#f2f5f8; font-size:.84rem; }
.join-details { display:none; margin-top:26px; padding-top:25px; border-top:1px solid rgba(180,205,225,.16); }
.join-details.is-open { display:block; }
.join-form { display:grid; gap:12px; }
.join-form input,.join-form select { height:50px; padding:0 14px; }
.join-form textarea { min-height:95px; padding:14px; resize:vertical; }
.join-form select { color:#dce4ea; }
.join-form select option { color:#111; }
.company-field { display:none; }

/* RooTalkers */
.rootalkers-heading { padding:40px 28px 30px; }
.rootalkers-heading h1 { font-size:clamp(3.3rem,5.5vw,5rem); line-height:1; letter-spacing:-.05em; margin-bottom:22px; }
.rootalkers-heading p { font-size:1.08rem; color:#eff4f8; }
.stories-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:0 6px 26px; }
.story-tile { display:grid; grid-template-columns:90px 1fr; align-items:center; gap:18px; min-height:170px; padding:23px; border-radius:18px; border:1px solid rgba(160,190,215,.1); background:linear-gradient(135deg,#0a2238,#0b2740); }
.story-tile.featured { grid-column:1/-1; max-width:66%; justify-self:end; }
.story-avatar { width:82px; height:82px; border-radius:18px; overflow:hidden; background:linear-gradient(135deg,#ff6439,#ff3d78); display:grid; place-items:center; font-size:1.8rem; font-weight:800; }
.story-avatar img { width:100%; height:100%; object-fit:cover; }
.story-tile blockquote { color:#fff; line-height:1.45; font-size:1rem; margin-bottom:10px; }
.story-tile small { color:#aebdca; }
.rootalkers-cta { padding:38px 20px 20px; text-align:center; }
.rootalkers-cta h2 { font-size:2rem; margin-bottom:10px; }
.rootalkers-cta p { margin-bottom:22px; }

/* Animations */
.reveal { opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s ease; transition-delay:var(--delay,0ms); }
.reveal.is-visible { opacity:1; transform:none; }
.reveal-delay-1 { --delay:80ms; }
.reveal-delay-2 { --delay:160ms; }
.reveal-delay-3 { --delay:240ms; }

/* Responsive */
@media (max-width: 1080px) {
    :root { --header-h:86px; }
    .rt-shell { width:min(calc(100% - 44px), var(--shell)); }
    .main-nav { gap:20px; }
    .main-nav > a:not(.nav-join) { font-size:.82rem; }
    .nav-join { padding-inline:19px; }
    .home-copy { padding-left:18px; }
    .home-hero { min-height:550px; }
    .home-photo { min-height:550px; }
    .community-card { grid-template-columns:1fr .95fr; }
    .community-side { grid-column:1/-1; display:grid; grid-template-columns:.5fr 1fr; gap:20px; align-items:start; }
    .values-grid { grid-template-columns:repeat(3,1fr); gap:12px; }
    .value-item { border:1px solid rgba(180,205,225,.1); border-radius:16px; padding:18px; }
    .method-flow-grid { grid-template-columns:repeat(5,1fr); }
    .flow-arrow { display:none; }
    .partners-hero { gap:35px; }
    .partners-benefits article { grid-template-columns:90px 1fr; }
    .benefit-icon { width:78px; height:78px; }
}

@media (max-width: 880px) {
    .menu-toggle { display:block; }
    .main-nav {
        position:fixed;
        inset:82px 16px auto;
        display:grid;
        gap:4px;
        padding:14px;
        background:rgba(5,22,40,.98);
        border:1px solid rgba(180,205,225,.13);
        border-radius:18px;
        box-shadow:0 22px 60px rgba(0,0,0,.36);
        opacity:0; visibility:hidden; transform:translateY(-10px);
        transition:.2s ease;
    }
    .main-nav.is-open { opacity:1; visibility:visible; transform:none; }
    .main-nav > a:not(.nav-join) { padding:12px 13px; font-size:.95rem; border-radius:10px; }
    .main-nav > a:not(.nav-join)::after { display:none; }
    .main-nav > a.is-active:not(.nav-join) { background:rgba(255,90,54,.1); }
    .nav-join { width:100%; margin-top:5px; }
    .home-hero,.about-hero,.method-hero,.partners-hero,.contact-layout,.join-layout { grid-template-columns:1fr; }
    .home-hero { min-height:0; padding-top:72px; }
    .home-copy { padding:35px 18px 20px; }
    .home-photo { min-height:460px; border-radius:22px; }
    .home-photo::before { background:linear-gradient(0deg,#06182a 0%,rgba(6,24,42,0) 35%); }
    .why-grid { grid-template-columns:repeat(2,1fr); gap:14px; }
    .why-item { border:1px solid rgba(180,205,225,.1); border-radius:16px; padding:22px 15px; }
    .community-card { grid-template-columns:1fr; }
    .community-side { grid-column:auto; grid-template-columns:1fr; }
    .mission-grid,.history-card { grid-template-columns:1fr; }
    .values-grid { grid-template-columns:repeat(2,1fr); }
    .method-cycle { margin:0 auto; }
    .difference-grid { grid-template-columns:repeat(2,1fr); }
    .partners-hero { min-height:0; }
    .partners-benefits { max-width:580px; }
    .contact-layout,.join-layout { gap:40px; padding-inline:8px; }
    .story-tile.featured { grid-column:auto; max-width:none; justify-self:stretch; }
}

@media (max-width: 640px) {
    .rt-shell { width:min(calc(100% - 28px), var(--shell)); }
    .brand img { width:138px; }
    .rt-page { padding-bottom:55px; }
    .rt-kicker { font-size:.68rem; letter-spacing:.28em; }
    .home-copy h1,.about-copy h1,.method-copy h1,.partners-copy h1,.join-copy h1,.rootalkers-heading h1 { font-size:clamp(2.75rem,13vw,4.1rem); }
    .home-photo { min-height:390px; }
    .rt-stats { grid-template-columns:1fr 1fr; }
    .rt-stats > div:nth-child(2) { border-right:0; }
    .rt-stats > div:nth-child(-n+2) { border-bottom:1px solid rgba(180,205,225,.14); }
    .rt-stats > div { padding:16px 10px; }
    .why-grid { grid-template-columns:1fr; }
    .community-card { padding:20px; }
    .trusted-logos { grid-template-columns:repeat(2,1fr); }
    .trusted-logo:last-child { grid-column:1/-1; }
    .about-hero { padding-inline:0; }
    .mission-card { grid-template-columns:58px 1fr; padding:22px 18px; }
    .mission-icon { width:50px; height:50px; }
    .mission-icon .rt-svg { width:44px; height:44px; }
    .values-grid { grid-template-columns:1fr; }
    .history-card { padding:20px; }
    .method-hero { padding-inline:5px; }
    .method-cycle { width:100%; max-width:420px; }
    .cycle-node > div { width:50px; height:50px; }
    .cycle-node .rt-svg { width:45px; height:45px; }
    .cycle-node strong { font-size:1rem; }
    .method-flow-grid { grid-template-columns:1fr 1fr; gap:16px; }
    .difference-grid { grid-template-columns:1fr; }
    .method-cta { padding:15px 20px; text-align:center; }
    .partners-copy p { font-size:1rem; }
    .partners-actions { flex-direction:column; align-items:flex-start; gap:20px; }
    .partners-benefits article { grid-template-columns:72px 1fr; gap:15px; }
    .benefit-icon { width:66px; height:66px; }
    .partners-benefits p { font-size:1rem; }
    .partners-logo-card { padding:25px 14px; }
    .partners-row { grid-template-columns:1fr 1fr; }
    .contact-copy h1 { font-size:3.2rem; }
    .contact-copy > p { font-size:1rem; }
    .contact-card { padding:30px 20px; }
    .contact-journey-card { padding:30px 18px 26px; }
    .contact-journey-card .join-option { min-height:104px; padding:18px 20px; }
    .contact-journey-card .join-option strong { font-size:1.2rem; }
    .contact-journey-card .join-option small { font-size:.9rem; }
    .contact-list a { grid-template-columns:58px 1fr; }
    .contact-bubble { width:52px; height:52px; }
    .contact-list small { font-size:.88rem; word-break:break-word; }
    .join-card { padding:30px 18px; }
    .join-option { min-height:104px; padding:18px 20px; }
    .join-option strong { font-size:1.2rem; }
    .join-option small { font-size:.9rem; }
    .join-perks { grid-template-columns:1fr; }
    .join-perks > div { border-right:0; border-bottom:1px solid rgba(180,205,225,.13); padding:12px; }
    .join-perks > div:last-child { border-bottom:0; }
    .stories-grid { grid-template-columns:1fr; }
    .story-tile { grid-template-columns:70px 1fr; }
    .story-avatar { width:64px; height:64px; }
}


@media (max-width:1080px) {
    .home-plans-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home-plans-benefits { grid-template-columns:repeat(2,1fr); gap:18px 0; }
    .home-plans-benefits > div:nth-child(2) { border-right:0; }
    .plan-modal-content { padding:38px 34px 30px; }
    .plan-modal-main-grid { grid-template-columns:minmax(0,1fr) 240px; gap:22px; }
}

@media (max-width:880px) {
    .home-plans-head { align-items:flex-start; }
    .home-plans-note { display:none; }
    .plan-detail-modal { width:min(760px,calc(100vw - 24px)); max-height:94vh; }
    .plan-modal-shell { grid-template-columns:1fr; }
    .plan-modal-photo { min-height:330px; }
    .plan-modal-content { padding:32px 28px 28px; }
    .plan-modal-main-grid { grid-template-columns:1fr; }
    .plan-modal-commerce { padding:20px 0 0; border-left:0; border-top:1px solid rgba(180,205,225,.14); }
    .plan-modal-close {
        right:18px;
        top:18px;
    }
}

@media (max-width:640px) {
    .home-plans { margin-inline:0; padding-top:28px; }
    .home-plans-head { padding-inline:2px; }
    .home-plans-head h2 { font-size:clamp(2.25rem,12vw,3.3rem); }
    .home-plans-grid { grid-template-columns:1fr; }
    .home-plan-features { min-height:0; }
    .home-plans-benefits { grid-template-columns:1fr; gap:0; padding-top:10px; }
    .home-plans-benefits > div {
        padding:14px 4px;
        border-right:0;
        border-bottom:1px solid rgba(180,205,225,.12);
    }
    .home-plans-benefits > div:last-child { border-bottom:0; }

    .plan-detail-modal {
        width:calc(100vw - 12px);
        max-height:96vh;
        border-radius:18px;
    }
    .plan-modal-photo { min-height:260px; }
    .plan-modal-logo { top:20px; left:20px; width:122px; }
    .plan-modal-photo-copy { top:92px; left:22px; font-size:.58rem; }
    .plan-modal-photo-foot { left:22px; right:22px; bottom:22px; }
    .plan-modal-content { padding:27px 20px 23px; }
    .plan-modal-kicker { letter-spacing:.19em; }
    .plan-modal-title-row h2 { font-size:2.55rem; }
    .plan-modal-subtitle { font-size:1.15rem; }
    .plan-modal-facts { grid-template-columns:1fr 1fr; }
    .plan-modal-facts > div:nth-child(2) { border-right:0; }
    .plan-modal-facts > div:nth-child(-n+2) { border-bottom:1px solid rgba(180,205,225,.14); padding-bottom:14px; }
    .plan-modal-facts > div:nth-child(n+3) { padding-top:14px; }
    .plan-modal-more > div { grid-template-columns:1fr; }
    .plan-modal-close { width:42px; height:42px; right:18px; top:18px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; }
    .reveal { opacity:1; transform:none; }
}

/* Active state used by the designer's Quiero unirme mockup */
.nav-join { position:relative; }
.nav-join.is-active::after {
    content:"";
    position:absolute;
    left:23%; right:23%; bottom:-18px;
    height:3px; border-radius:999px;
    background:var(--orange);
}
@media (max-width:880px){ .nav-join.is-active::after{display:none;} }
/* Academy + multilingual controls */
.language-select{display:inline-flex;align-items:center;gap:4px;color:rgba(255,255,255,.74);font-size:.72rem}.language-select select{border:0;background:transparent;color:#fff;font-weight:800;outline:none;text-transform:uppercase}.language-select option{color:#071b3a;background:#fff}.nav-student{color:rgba(255,255,255,.74)!important}.academy-enrollment-page{min-height:100vh}.academy-register-card .field label{color:rgba(255,255,255,.82);font-size:.76rem;font-weight:500}.academy-register-card .consent{display:flex;align-items:flex-start;gap:9px;color:rgba(255,255,255,.72);font-size:.75rem}.enrollment-steps{display:grid;gap:12px;margin-top:28px;max-width:430px}.enrollment-steps>div{display:flex;align-items:center;gap:12px;color:#fff}.enrollment-steps b{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(255,198,41,.14);color:#ffc629}.prototype-footer-note a{color:#ffc629;font-weight:800}@media(max-width:980px){.language-select,.nav-student{width:100%;padding:12px 14px}.language-select select{flex:1}.language-select option{color:#071b3a}}

/* =========================================================
   ONLINE ENROLLMENT — aligned to the approved RooTalk site
   ========================================================= */
.rt-enrollment {
    padding-top: calc(var(--header-h) + 66px);
    background:
        radial-gradient(circle at 76% 18%, rgba(29, 93, 133, .16), transparent 28%),
        linear-gradient(180deg, #06182a 0%, #051628 100%);
}
.enrollment-layout {
    display:grid;
    grid-template-columns: .88fr 1.12fr;
    gap:72px;
    align-items:start;
    padding:34px 28px 30px;
}
.enrollment-copy {
    position:sticky;
    top:115px;
    padding-top:18px;
}
.enrollment-copy h1 {
    max-width:590px;
    margin-bottom:26px;
    font-size:clamp(3rem,4.9vw,4.8rem);
    line-height:1.02;
    letter-spacing:-.055em;
    font-weight:800;
}
.enrollment-copy > p {
    max-width:550px;
    margin-bottom:30px;
    color:#edf3f7;
    font-size:1.06rem;
    line-height:1.65;
}
.enrollment-roadmap {
    display:grid;
    gap:12px;
    max-width:500px;
    padding:18px;
    border:1px solid rgba(175,202,223,.11);
    border-radius:20px;
    background:linear-gradient(135deg,rgba(10,34,56,.66),rgba(9,38,62,.44));
}
.enrollment-roadmap-item {
    min-height:58px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:8px 12px;
    border-radius:14px;
    color:#f7f9fb;
    font-size:.93rem;
    font-weight:600;
}
.enrollment-roadmap-item b {
    flex:0 0 auto;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#091827;
    background:linear-gradient(135deg,#ffc629,#ffad2c);
    font-size:.88rem;
    box-shadow:0 7px 18px rgba(255,190,39,.12);
}
.enrollment-card {
    padding:38px 38px 34px;
    border:1px solid rgba(166,198,222,.13);
    border-radius:24px;
    background:linear-gradient(145deg,#0a2238 0%,#0b2942 100%);
    box-shadow:0 24px 70px rgba(0,0,0,.13);
}
.enrollment-card-head { margin-bottom:27px; }
.enrollment-badge {
    display:inline-flex;
    align-items:center;
    min-height:32px;
    margin-bottom:15px;
    padding:7px 11px;
    border-radius:999px;
    color:#ffc629;
    background:rgba(255,198,41,.09);
    border:1px solid rgba(255,198,41,.13);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.enrollment-card-head h2 {
    margin-bottom:10px;
    font-size:2rem;
    letter-spacing:-.035em;
}
.enrollment-card-head p {
    max-width:620px;
    margin:0;
    color:#b9c7d4;
    font-size:.92rem;
    line-height:1.55;
}
.enrollment-form {
    display:grid;
    gap:16px;
}
.enrollment-field-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.enrollment-field {
    display:grid;
    gap:8px;
}
.enrollment-field label {
    color:#dce6ed;
    font-size:.78rem;
    font-weight:500;
}
.enrollment-field input,
.enrollment-field select,
.enrollment-field textarea {
    width:100%;
    min-height:52px;
    padding:0 15px;
    border:1px solid rgba(172,202,224,.15);
    border-radius:13px;
    outline:none;
    background:#071c2e;
    color:#f6f8fa;
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.enrollment-field textarea {
    min-height:100px;
    padding:13px 15px;
    resize:vertical;
}
.enrollment-field select {
    color:#e8eef3;
    appearance:auto;
}
.enrollment-field select option {
    color:#111;
    background:#fff;
}
.enrollment-field input::placeholder,
.enrollment-field textarea::placeholder {
    color:#8398ab;
}
.enrollment-field input:focus,
.enrollment-field select:focus,
.enrollment-field textarea:focus {
    border-color:rgba(255,98,54,.55);
    background:#082238;
    box-shadow:0 0 0 3px rgba(255,90,54,.08);
}
.enrollment-consent {
    display:grid;
    grid-template-columns:20px 1fr;
    gap:10px;
    align-items:start;
    margin-top:2px;
    color:#aebdca;
    font-size:.76rem;
    line-height:1.5;
}
.enrollment-consent input {
    width:18px;
    height:18px;
    margin:1px 0 0;
    accent-color:var(--orange);
}
.enrollment-submit {
    margin-top:4px;
    min-height:56px;
    font-size:.95rem;
}
.enrollment-login-note {
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid rgba(174,202,223,.12);
    color:#91a4b8;
    text-align:center;
    font-size:.79rem;
}
.enrollment-login-note a {
    color:#ffc629;
    font-weight:800;
}

@media (max-width: 980px) {
    .enrollment-layout {
        grid-template-columns:1fr;
        gap:36px;
        padding-inline:8px;
    }
    .enrollment-copy {
        position:static;
        max-width:760px;
    }
    .enrollment-copy h1 { max-width:760px; }
    .enrollment-roadmap {
        grid-template-columns:1fr 1fr;
        max-width:none;
    }
}

@media (max-width: 640px) {
    .rt-enrollment { padding-top:calc(var(--header-h) + 50px); }
    .enrollment-layout { padding-top:18px; }
    .enrollment-copy h1 {
        font-size:clamp(2.7rem,12vw,3.9rem);
        margin-bottom:20px;
    }
    .enrollment-copy > p { font-size:.98rem; }
    .enrollment-roadmap { grid-template-columns:1fr; padding:12px; }
    .enrollment-roadmap-item { min-height:52px; }
    .enrollment-card { padding:28px 18px 24px; border-radius:20px; }
    .enrollment-card-head h2 { font-size:1.65rem; }
    .enrollment-field-grid { grid-template-columns:1fr; }
}

/* RooTalk V7 searchable selects in public enrollment */
.search-select{position:relative;width:100%}.search-select-native{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}.search-select-input{width:100%;min-height:54px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.06);padding:13px 15px;color:#fff;font:inherit}.search-select-input::placeholder{color:rgba(255,255,255,.52)}.search-select-list{position:absolute;z-index:2500;left:0;right:0;top:calc(100% + 6px);max-height:300px;overflow:auto;background:#0b2039;border:1px solid rgba(255,255,255,.14);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.28);padding:6px}.search-select-option{display:block;width:100%;border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:9px;color:#fff;cursor:pointer}.search-select-option:hover,.search-select-option:focus,.search-select-option.is-selected{background:rgba(255,255,255,.09);outline:none}.search-select-empty{padding:12px;color:rgba(255,255,255,.62)}


/* =========================================================
   RooTalk V11 - ajuste puntual logos e iconos (2026-09-11)
   ========================================================= */

/* Los logos de partners deben respetar sus colores corporativos originales. */
.trusted-logo img,
.partners-row .trusted-logo img {
    filter: none !important;
    -webkit-filter: none !important;
    opacity: 1 !important;
}

/* Cuando el partner tiene sitio web, todo el logo es clicable. */
.trusted-logo-link {
    cursor: pointer;
    text-decoration: none;
    transition: transform .18s ease, opacity .18s ease;
}
.trusted-logo-link:hover,
.trusted-logo-link:focus-visible {
    transform: translateY(-2px);
    opacity: .92;
}
.trusted-logo-link:focus-visible {
    outline: 2px solid #ffbd27;
    outline-offset: 5px;
    border-radius: 8px;
}

/* =========================================================
   RooTalk V14.11 · ciclo del método perfectamente centrado
   =========================================================
   Los cuatro nodos permanecen dentro del contenedor. El SVG deja
   una zona libre alrededor de cada punto cardinal para evitar que
   Habla, Interactúa, Recibe feedback o Mejora se monten en los arcos.
*/
.method-cycle {
    overflow: visible;
    isolation: isolate;
}
.method-cycle .cycle-arcs {
    z-index: 1;
}
.method-cycle .cycle-node {
    width: 110px;
    min-height: 88px;
    z-index: 2;
    justify-content: center;
    pointer-events: none;
}
.method-cycle .node-talk {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.method-cycle .node-interact {
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.method-cycle .node-feedback {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.method-cycle .node-improve {
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.method-cycle .cycle-node > div,
.method-cycle .cycle-node .rt-svg {
    flex: 0 0 auto;
}
.method-cycle .cycle-node strong {
    max-width: 110px;
    line-height: 1.12;
    text-wrap: balance;
}

@media (max-width: 760px) {
    .method-cycle {
        max-width: 390px;
    }
    .method-cycle .cycle-node {
        width: 96px;
        min-height: 76px;
        gap: 4px;
    }
    .method-cycle .cycle-node > div {
        width: 48px;
        height: 48px;
    }
    .method-cycle .cycle-node .rt-svg {
        width: 44px;
        height: 44px;
    }
    .method-cycle .cycle-node strong {
        max-width: 96px;
        font-size: .94rem;
    }
}


/* RooTalk V14.9 · estilos semánticos del mini editor visual */
.rt-highlight-1 { color: var(--rt-highlight-1) !important; }
.rt-highlight-2 { color: var(--rt-highlight-2) !important; }
.rt-highlight-3 { color: var(--rt-highlight-3) !important; }
.rt-highlight-4 { color: var(--rt-highlight-4) !important; }
.rt-highlight-5 { color: var(--rt-highlight-5) !important; }
.rt-highlight-6 { color: var(--rt-highlight-6) !important; }
.rt-highlight-7 { color: var(--rt-highlight-7) !important; }
.rt-font-1 { font-family: var(--rt-font-1) !important; }
.rt-font-2 { font-family: var(--rt-font-2) !important; }
.rt-font-3 { font-family: var(--rt-font-3) !important; }
.rt-font-4 { font-family: var(--rt-font-4) !important; }

/* V14.13: disparadores de plan con respaldo por ancla. */
.home-plan-visual,.home-plan-arrow,.plan-modal-close{text-decoration:none;}

/* V14.22 — único plan corporativo dentro de Partners */
.partners-plan-showcase {
    margin-top: 36px;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,.12);
}
.partners-plan-heading {
    max-width: 720px;
    margin-bottom: 24px;
}
.partners-plan-heading h2 {
    margin: 8px 0 8px;
    color: var(--home-plan-text,#f8fafc);
    font-family: var(--home-plan-heading-font,var(--font-heading));
    font-size: clamp(32px,4.2vw,58px);
    line-height: 1.02;
}
.partners-plan-heading p {
    margin: 0;
    color: var(--home-plan-muted,#c8d2de);
    font-family: var(--home-plan-body-font,var(--font-body));
}
.partners-plan-grid {
    grid-template-columns: minmax(0, 430px);
    justify-content: start;
}
@media (max-width: 720px) {
    .partners-plan-showcase { margin-top: 24px; padding-top: 22px; }
    .partners-plan-grid { grid-template-columns: 1fr; }
}
