@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root {
    --navy: #111111;
    --navy-700: #0A0A0A;
    --navy-800: #050505;
    --navy-900: #000000;
    --red: #DD0000;
    --red-bg: rgba(221,0,0,0.06);
    --blue: #0066B3;
    --blue-bg: rgba(0,102,179,0.06);
    --green: #059669;
    --green-bg: rgba(5,150,105,0.06);
    --purple: #7C3AED;
    --purple-bg: rgba(124,58,237,0.06);
    --amber: #D97706;
    --amber-bg: rgba(217,119,6,0.06);
    --teal: #0D9488;
    --teal-bg: rgba(13,148,136,0.06);
    --rose: #E11D48;
    --rose-bg: rgba(225,29,72,0.06);
    --gold: #FFCC00;
    --gold-bg: rgba(255,204,0,0.08);
    --accent-light: #FFCC00;
    --bg: #FFFFFF;
    --bg-off: #F8FAFC;
    --bg-muted: #F1F5F9;
    --border: #E2E8F0;
    --border-hover: #CBD5E1;
    --t1: #0F172A;
    --t2: #475569;
    --t3: #64748B;
    --radius: 4px;
    --radius-lg: 6px;
    --radius-xl: 8px;
    --shadow-xs: 0 1px 2px rgba(0,0,0,0.04);
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --shadow: 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -2px rgba(0,0,0,0.05);
    --shadow-md: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -4px rgba(0,0,0,0.04);
    --shadow-lg: 0 20px 25px -5px rgba(0,0,0,0.08), 0 8px 10px -6px rgba(0,0,0,0.04)
}

* { margin: 0; padding: 0; box-sizing: border-box }

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: var(--bg);
    color: var(--t1);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased
}

::selection { background: var(--navy); color: #fff }
::-webkit-scrollbar { width: 6px }
::-webkit-scrollbar-track { background: transparent }
::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 10px }
::-webkit-scrollbar-thumb:hover { background: #94A3B8 }

.ctr { max-width: 1080px; margin: 0 auto; padding: 0 24px }
:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; border-radius: 4px }
.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 }

.skip-main {
    position: absolute; top: -40px; left: 0; background: var(--navy); color: #fff;
    padding: 8px 16px; z-index: 9999; text-decoration: none; font-size: .875rem;
    font-weight: 600; border-radius: 0 0 8px 0; transition: top .2s
}
.skip-main:focus { top: 0 }

/* ── NAV ── */
.nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    background: rgba(255,255,255,0.97); border-bottom: 1px solid transparent;
    border-top: 4px solid var(--gold);
    transition: border-color .3s, box-shadow .3s
}
.nav.scrolled {
    border-bottom: 2px solid var(--gold);
    box-shadow: 0 1px 8px rgba(0,0,0,0.08), 0 4px 20px rgba(0,0,0,0.05);
    background: rgba(255,255,255,0.98)
}
.nav-in {
    max-width: 1180px; margin: 0 auto; padding: 0 24px;
    display: flex; justify-content: space-between; align-items: center; height: 68px
}
.logo { display: flex; align-items: center; text-decoration: none }
.logo-img { height: 62px; width: auto; object-fit: contain }
.n-links { display: flex; align-items: center; gap: 2px; list-style: none }
.n-links a {
    padding: 8px 16px; color: var(--t2); text-decoration: none; font-size: .875rem;
    font-weight: 500; border-radius: 2px; transition: color .15s, background .15s
}
.n-links a:hover { color: var(--t1); background: var(--bg-muted) }
.n-links a.active { color: var(--navy); font-weight: 600 }
.n-links a.n-cta { background: transparent; color: var(--navy); font-weight: 700; padding: 8px 20px; border: 2px solid var(--navy); border-radius: 2px }
.n-links a.n-cta:hover { background: var(--navy); color: var(--gold) }
.hamburger {
    display: none; flex-direction: column; gap: 5px; cursor: pointer;
    padding: 8px; background: none; border: none
}
.hamburger span { width: 20px; height: 2px; background: var(--t1); border-radius: 2px; transition: .3s }

/* ── MOBILE OVERLAY ── */
.mob {
    position: fixed; inset: 0; background: #fff; z-index: 2000;
    display: none; flex-direction: column; padding: 32px 28px; overflow-y: auto
}
.mob.open { display: flex }
.mob-logo { height: 50px; width: auto; margin-bottom: 28px; object-fit: contain }
.mob-links { display: flex; flex-direction: column; gap: 4px; flex: 1 }
.mob-links a {
    display: flex; align-items: center; gap: 12px; font-size: 1.05rem; color: var(--t1);
    text-decoration: none; font-weight: 600; padding: 12px 16px; border-radius: 10px;
    transition: background .2s
}
.mob-links a:hover, .mob-links a:active { background: var(--bg-off) }
.mob-icon { font-size: 1.2rem; width: 28px; text-align: center; flex-shrink: 0 }
.mob-sep { border: none; border-top: 1px solid var(--border); margin: 8px 0 }
.mob-cta {
    display: block; text-align: center; background: var(--gold); color: var(--navy-900) !important;
    font-weight: 700; font-size: 1rem; padding: 14px; border-radius: 10px;
    text-decoration: none; margin-top: 16px; transition: background .2s
}
.mob-cta:hover { background: var(--navy-700) }
.mob-x {
    position: absolute; top: 20px; right: 20px; background: none; border: none;
    color: var(--t2); font-size: 1.5rem; cursor: pointer; width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center; border-radius: 8px;
    transition: background .2s
}
.mob-x:hover { background: var(--bg-off) }

/* ── HERO ── */
.hero {
    position: relative; padding: 140px 0 0; overflow: visible; z-index: 50
}
.hero-bg {
    position: absolute; top: 0; left: 0; right: 0; height: 100%;
    background: var(--navy-900);
    clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%);
    z-index: 0; overflow: hidden
}
.hero-c { position: relative; z-index: 2; text-align: center; padding-bottom: 80px }
.hero-i { max-width: 760px; margin: 0 auto }
.hero-badge {
    display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px;
    background: rgba(255,204,0,0.15); border: 1px solid rgba(255,204,0,0.4);
    border-left: 3px solid var(--gold); border-radius: 2px;
    font-size: .75rem; color: rgba(255,255,255,0.8);
    letter-spacing: .04em; text-transform: uppercase; font-weight: 600;
    margin-bottom: 32px; animation: fadeUp .5s ease forwards; opacity: 0;
    backdrop-filter: blur(8px)
}
.hero-badge-dot {
    width: 6px; height: 6px; background: var(--gold); border-radius: 50%;
    animation: blink 2s ease-in-out infinite
}
@keyframes blink { 0%,100% { opacity: 1 } 50% { opacity: .3 } }
.hero h1 {
    font-size: clamp(2rem, 5vw, 3.4rem); font-weight: 900; line-height: 1.1;
    letter-spacing: -.03em; margin-bottom: 20px; color: #fff;
    animation: fadeUp .5s ease .08s forwards; opacity: 0
}
.hero h1 .acc { color: var(--gold); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 6px; text-decoration-thickness: 3px }
.hero-d {
    font-size: 1.05rem; color: rgba(255,255,255,0.7); max-width: 560px;
    margin: 0 auto 36px; line-height: 1.75; font-weight: 400;
    animation: fadeUp .5s ease .15s forwards; opacity: 0
}

/* ── SEARCH ── */
.hero-s {
    position: relative; max-width: 600px; margin: 0 auto 20px;
    animation: fadeUp .5s ease .22s forwards; opacity: 0; z-index: 10
}
.hero-s-icon {
    position: absolute; left: 20px; top: 50%; transform: translateY(-50%);
    width: 20px; height: 20px; color: #94A3B8; pointer-events: none
}
.hero-s input {
    width: 100%; padding: 18px 130px 18px 52px; background: #fff;
    border: 2px solid rgba(255,204,0,0.3); border-radius: var(--radius);
    color: var(--t1); font-family: inherit; font-size: .95rem; font-weight: 400;
    outline: none; transition: border-color .2s, box-shadow .2s
}
.hero-s input::placeholder { color: #94A3B8 }
.hero-s input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(255,204,0,0.2)
}
.hero-sb {
    position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
    padding: 12px 24px; background: var(--gold); border: none; border-radius: 2px;
    color: var(--navy-900); cursor: pointer; font-family: inherit; font-size: .8rem;
    font-weight: 700; transition: background .15s; text-transform: uppercase; letter-spacing: .04em
}
.hero-sb:hover { background: #E6B800 }
.hero-s-clear {
    position: absolute; right: 110px; top: 50%; transform: translateY(-50%);
    width: 36px; height: 36px; border: none; background: var(--bg-muted);
    border-radius: 4px; color: var(--t3); font-size: 1.1rem; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; pointer-events: none; transition: opacity .15s, background .15s, color .15s
}
.hero-s-clear.visible { opacity: 1; pointer-events: auto }
.hero-s-clear:hover { background: var(--border); color: var(--t1) }

/* ── SEARCH DROPDOWN ── */
.search-dd {
    position: absolute; top: 100%; left: 0; right: 0; margin-top: 8px;
    background: #fff; border-radius: var(--radius-lg);
    box-shadow: 0 20px 40px rgba(0,0,0,0.18); border: 1px solid var(--border);
    z-index: 999; max-height: 420px; overflow-y: auto;
    opacity: 0; visibility: hidden; transform: translateY(-8px);
    transition: opacity .18s, transform .18s, visibility .18s; scrollbar-width: thin
}
.search-dd.active { opacity: 1; visibility: visible; transform: translateY(0) }
.search-dd::-webkit-scrollbar { width: 6px }
.search-dd::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px }
.sr-item {
    display: flex; align-items: center; gap: 14px; padding: 14px 18px;
    text-decoration: none; color: var(--t1); border-bottom: 1px solid var(--bg-muted);
    transition: background .12s; cursor: pointer
}
.sr-item:last-child { border-bottom: none }
.sr-item:hover, .sr-item.sr-active { background: var(--bg-muted) }
.sr-icon {
    font-size: 1.5rem; flex-shrink: 0; width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    background: var(--bg-muted); border-radius: 4px
}
.sr-body { flex: 1; min-width: 0 }
.sr-entity {
    display: inline-block; font-size: .65rem; font-weight: 700; color: var(--navy);
    text-transform: uppercase; letter-spacing: .05em; line-height: 1;
    background: rgba(0,48,86,0.08); padding: 3px 7px; border-radius: 4px; margin-bottom: 3px
}
.sr-title {
    font-size: .9rem; font-weight: 600; color: var(--t1); line-height: 1.35;
    margin-top: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis
}
.sr-title mark {
    background: rgba(0,102,179,0.12); color: var(--navy); border-radius: 2px; padding: 0 1px
}
.sr-desc {
    font-size: .74rem; color: var(--t3); line-height: 1.3; margin-top: 3px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis
}
.sr-go {
    flex-shrink: 0; width: 16px; height: 16px; color: var(--t3); transition: transform .15s
}
.sr-item:hover .sr-go { transform: translateX(3px); color: var(--navy) }
.sr-empty { padding: 32px 20px; text-align: center; color: var(--t3); font-size: .9rem; line-height: 1.5 }

/* ── HERO CHIPS ── */
.hero-chips {
    display: flex; justify-content: center; gap: 8px; flex-wrap: wrap;
    margin-bottom: 0; animation: fadeUp .5s ease .3s forwards; opacity: 0
}
.hero-chip {
    padding: 8px 18px; background: rgba(255,204,0,0.12);
    border: 1px solid rgba(255,204,0,0.3); border-radius: 2px;
    color: rgba(255,255,255,0.9); font-size: .75rem; font-weight: 600;
    cursor: pointer; transition: background .15s, color .15s, transform .15s;
    backdrop-filter: blur(4px); font-family: inherit;
    text-transform: uppercase; letter-spacing: .03em
}
.hero-chip:hover { background: var(--gold); color: var(--navy-900); transform: scale(1.05) }

/* ── HERO STATS ── */
.hero-stats {
    display: flex; justify-content: center; gap: 48px; padding: 40px 0 0;
    margin-top: 48px; border-top: 1px solid rgba(255,255,255,0.1);
    animation: fadeUp .5s ease .38s forwards; opacity: 0
}
.hs { display: flex; align-items: center; gap: 14px }
.hs-icon {
    width: 44px; height: 44px; border-radius: 4px; background: rgba(255,255,255,0.08);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0
}
.hs-icon svg { width: 22px; height: 22px; color: rgba(255,255,255,0.7) }
.hs-n { font-size: 1.6rem; font-weight: 800; color: #fff; line-height: 1; min-width: 3.5ch }
.hs-l {
    font-size: .72rem; color: rgba(255,255,255,0.5); text-transform: uppercase;
    letter-spacing: .08em; margin-top: 2px; font-weight: 500
}

/* ── TRUST BAR ── */
.trust-bar {
    position: relative; background: var(--bg-off); border-bottom: 1px solid var(--border); padding: 14px 0
}
.trust-in {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    font-size: .82rem; color: var(--t2); font-weight: 500
}
.trust-in svg { color: var(--green); flex-shrink: 0 }

@keyframes fadeUp { from { opacity: 0; transform: translateY(12px) } to { opacity: 1; transform: translateY(0) } }

/* ── QUICK ACCESS ── */
.qk { padding: 0; margin-top: -1px; position: relative; background: var(--bg-off) }
.qk-bar {
    display: flex; gap: 0; background: #fff; border: 1px solid var(--border);
    border-top: 3px solid var(--gold);
    border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow)
}
.qk-i {
    display: flex; align-items: center; gap: 10px; padding: 16px 14px;
    text-decoration: none; transition: background .15s;
    border-right: 1px solid var(--border); flex: 1; min-width: 0
}
.qk-i:last-child { border-right: none }
.qk-i:hover { background: var(--bg-muted) }
.qk-ic {
    width: 42px; height: 42px; border-radius: 4px; display: flex;
    align-items: center; justify-content: center; font-size: 1.15rem;
    background: var(--bg-muted); flex-shrink: 0
}
.qk-info { flex: 1; min-width: 0 }
.qk-lb {
    font-size: .85rem; font-weight: 600; color: var(--t1); line-height: 1.2;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis
}
.qk-sb {
    font-size: .68rem; color: var(--t3); text-transform: uppercase;
    letter-spacing: .04em; font-weight: 500; white-space: nowrap;
    overflow: hidden; text-overflow: ellipsis
}
.qk-arrow {
    width: 16px; height: 16px; color: var(--t3); flex-shrink: 0; transition: transform .15s
}
.qk-i:hover .qk-arrow { transform: translateX(2px); color: var(--navy) }

/* ── SECTIONS ── */
.sec { padding: 80px 0; position: relative }
.sec-lb {
    display: inline-flex; align-items: center; gap: 8px; font-size: .68rem;
    font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
    color: var(--navy); background: var(--gold-bg); padding: 6px 14px 6px 12px;
    border-radius: 0; border-left: 3px solid var(--gold); margin-bottom: 10px
}
.sec-lb::before { display: none }
.sec-tt {
    font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 800; line-height: 1.2;
    letter-spacing: -.02em; margin-bottom: 10px; color: var(--navy)
}
.sec-tt::after {
    content: ''; display: block; width: 48px; height: 3px;
    background: var(--gold); margin-top: 12px
}
.sec-d { font-size: .92rem; color: var(--t2); max-width: 520px; font-weight: 400; line-height: 1.7 }
.sec-hd { margin-bottom: 48px }
.sec-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px }
.sec-badge {
    display: flex; align-items: center; gap: 6px; padding: 8px 16px;
    background: var(--navy); color: #fff; border-radius: 2px; font-size: .78rem;
    font-weight: 700; white-space: nowrap; flex-shrink: 0; margin-top: 8px
}
.sec-badge span { font-size: 1.1rem }

/* ── BENTO GRID ── */
.bento { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px }
.bc {
    background: #fff; border: 1px solid var(--border); border-top: 3px solid var(--gold);
    border-radius: var(--radius); padding: 24px; position: relative; overflow: hidden;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
    cursor: pointer; text-decoration: none; display: block; color: var(--t1);
    box-shadow: var(--shadow-xs)
}
.bc:hover {
    border-color: var(--border-hover); border-top-color: var(--navy);
    transform: translateY(-2px); box-shadow: var(--shadow-md); background: #fff
}
.bc-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px }
.bc-count {
    font-size: .72rem; font-weight: 600; color: var(--t3);
    background: var(--bg-muted); padding: 4px 10px; border-radius: 2px
}
.b6 { grid-column: span 6 }
.b4 { grid-column: span 4 }
.b3 { grid-column: span 3 }
.b8 { grid-column: span 8 }
.b12 { grid-column: span 12 }
.bi {
    width: 40px; height: 40px; border-radius: 4px; display: flex;
    align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0
}
.bi-r { background: var(--red-bg) }
.bi-b { background: var(--blue-bg) }
.bi-g { background: var(--green-bg) }
.bi-p { background: var(--purple-bg) }
.bi-a { background: var(--amber-bg) }
.bi-t { background: var(--teal-bg) }
.bi-ro { background: var(--rose-bg) }
.bi-go { background: var(--gold-bg) }
.bt { font-size: 1.05rem; font-weight: 700; color: var(--t1); line-height: 1.2; margin-bottom: 2px; overflow-wrap: break-word }
.be { font-size: .72rem; color: var(--t3); font-weight: 500; margin-bottom: 12px }
.bl { list-style: none; display: flex; flex-direction: column; margin-bottom: 8px }
.bl li {
    padding: 5px 0; font-size: .82rem; color: var(--t2);
    display: flex; align-items: center; gap: 8px
}
.bl li::before {
    content: ''; width: 3px; height: 3px; border-radius: 50%;
    background: var(--navy); opacity: .25; flex-shrink: 0
}
.bc-more {
    font-size: .78rem; font-weight: 600; color: var(--navy);
    display: flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 8px
}
.bc-more svg { transition: transform .15s }
.bc:hover .bc-more svg { transform: translateX(3px) }

.bc-extra { display: none }
.bc-extra.bc-extra-visible { display: block }

.bc-soon { opacity: .55; pointer-events: none; cursor: default; position: relative }
.bc-soon .bc-more { display: none }
.bc-soon-badge { display: inline-block; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #64748b; background: #f1f5f9; padding: 4px 10px; border-radius: 3px; margin-top: 8px }

.show-more-wrap { text-align: center; margin-top: 32px }
.show-more-btn {
    display: inline-flex; align-items: center; gap: 8px; padding: 12px 28px;
    background: var(--bg-muted); border: 1px solid var(--border); border-radius: 2px;
    color: var(--t1); font-size: .88rem; font-weight: 600; cursor: pointer;
    font-family: inherit; transition: background .15s, border-color .15s, transform .15s
}
.show-more-btn:hover { background: var(--bg-off); border-color: var(--border-hover); transform: translateY(-1px) }

/* ── TRENDING ── */
.trend-sec { background: var(--bg-off) }
.trend-sec::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0;
    height: 1px; background: var(--border)
}
.tg { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px }
.tc {
    display: flex; align-items: center; gap: 16px; padding: 20px 24px;
    background: #fff; border: 1px solid var(--border); border-top: 3px solid var(--gold);
    border-radius: var(--radius); text-decoration: none;
    transition: transform .2s, border-color .2s, box-shadow .2s; box-shadow: var(--shadow-xs)
}
.tc:hover {
    border-top-color: var(--navy); box-shadow: var(--shadow-md);
    transform: translateY(-2px)
}
.tc-rank {
    font-size: .85rem; font-weight: 800; color: #fff; min-width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    background: var(--navy); border-radius: 4px; flex-shrink: 0
}
.tc-info { flex: 1; min-width: 0 }
.tc-info h3 { font-size: .88rem; font-weight: 600; color: var(--t1); margin-bottom: 3px }
.tc-meta { display: flex; gap: 10px; font-size: .75rem; color: var(--t3); font-weight: 500 }
.tc-ent { font-weight: 600; color: var(--t2) }
.tc-price { color: var(--green); font-weight: 600 }
.tc-tag { padding: 5px 14px; border-radius: 2px; font-size: .7rem; font-weight: 600; flex-shrink: 0 }
.tc-virtual { background: rgba(5,150,105,0.12); color: var(--green) }
.tc-presencial { background: rgba(0,102,179,0.12); color: var(--blue) }
.tc-mixto { background: rgba(217,119,6,0.12); color: var(--amber) }

/* ── GUIDE CARDS ── */
.guia-card { border-left: none !important; border-top: 3px solid var(--gold) !important; border-radius: var(--radius) !important }
.guia-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-top-color: var(--navy) !important }

/* ── FAQ ── */
.faq-sec { background: var(--bg) }
.faq-list { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px }
.faq-item {
    border: none; border-bottom: 1px solid var(--border); border-radius: 0;
    margin-bottom: 0; overflow: hidden; transition: box-shadow .2s, border-color .2s
}
.faq-item[open] {
    box-shadow: none; border-top: 2px solid var(--gold);
    background: var(--bg-off)
}
.faq-item summary {
    padding: 20px 24px; font-size: .92rem; font-weight: 600; color: var(--t1);
    cursor: pointer; list-style: none; display: flex; align-items: center;
    justify-content: space-between; transition: background .15s
}
.faq-item summary:hover { background: var(--bg-off) }
.faq-item summary::-webkit-details-marker { display: none }
.faq-item summary::after {
    content: '\276F'; font-size: .9rem; font-weight: 300; color: var(--t3);
    transition: transform .2s; flex-shrink: 0; margin-left: 16px; transform: rotate(90deg)
}
.faq-item[open] summary::after { content: '\276F'; transform: rotate(270deg) }
.faq-item p { padding: 0 24px 20px; font-size: .88rem; color: var(--t2); line-height: 1.7 }

/* ── CTA ── */
.cta-sec { padding: 80px 0 }
.cta-b {
    position: relative; text-align: center; padding: 64px 40px;
    border-radius: var(--radius); overflow: hidden;
    background: var(--navy-900); border-top: 4px solid var(--gold); color: #fff
}
.cta-b h2 { font-size: 1.8rem; font-weight: 800; margin-bottom: 12px; color: #fff }
.cta-b p {
    font-size: .95rem; color: rgba(255,255,255,0.7); max-width: 420px;
    margin: 0 auto 28px; font-weight: 400
}
.cta-btn {
    display: inline-flex; align-items: center; gap: 8px; padding: 14px 32px;
    background: var(--gold); color: var(--navy-900);
    text-decoration: none; border-radius: 2px; font-weight: 800; font-size: .9rem;
    transition: transform .15s, box-shadow .15s, background .2s;
    text-transform: uppercase; letter-spacing: .05em
}
.cta-btn:hover {
    transform: translateY(-2px); background: #fff; color: var(--navy);
    box-shadow: 0 8px 24px rgba(255,204,0,0.3)
}

/* ── FOOTER ── */
.ft { padding: 48px 0 0; background: var(--navy-900); color: rgba(255,255,255,0.8); border-top: 4px solid var(--gold) }
.ft-top {
    display: flex; align-items: center; gap: 20px; padding-bottom: 32px;
    margin-bottom: 32px; border-bottom: 3px solid var(--gold)
}
.ft-logo {
    height: 54px; width: auto; filter: brightness(0) invert(1); opacity: .9;
    flex-shrink: 0; transition: opacity .2s
}
.ft-top a:hover .ft-logo { opacity: 1 }
.ft-top p { font-size: .82rem; color: rgba(255,255,255,0.4); line-height: 1.6; margin: 0; max-width: 480px }
.ft-g { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; padding-bottom: 32px }
.ft h4 {
    font-size: .65rem; text-transform: uppercase; letter-spacing: .1em;
    color: rgba(255,255,255,0.65); margin-bottom: 14px; font-weight: 600
}
.ft-lk { list-style: none; display: flex; flex-direction: column; gap: 10px }
.ft-lk a {
    color: rgba(255,255,255,0.75); text-decoration: none; font-size: .82rem;
    font-weight: 400; transition: color .15s
}
.ft-lk a:hover { color: #fff }
.ft-bt {
    display: flex; justify-content: space-between; align-items: center;
    padding: 20px 0; border-top: 1px solid rgba(255,255,255,0.08);
    font-size: .72rem; color: rgba(255,255,255,0.35); flex-wrap: wrap; gap: 12px
}
.ft-credits a { color: rgba(255,255,255,0.5); text-decoration: none }
.ft-credits a:hover { color: #fff }

/* ── SCROLL REVEAL ── */
.sr { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease }
.sr.vis { opacity: 1; transform: translateY(0) }

/* ── BACK TO TOP ── */
.btt {
    position: fixed; bottom: 24px; right: 24px; z-index: 800; width: 44px; height: 44px;
    border-radius: 4px; background: var(--gold); border: none; color: var(--navy-900);
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    box-shadow: var(--shadow-md); opacity: 0; visibility: hidden;
    transform: translateY(10px); transition: opacity .3s, visibility .3s, transform .3s, background .2s
}
.btt.visible { opacity: 1; visibility: visible; transform: translateY(0) }
.btt:hover { background: var(--navy); color: var(--gold) }
.btt:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px }
.btt svg { width: 20px; height: 20px }

/* ── PRELOADER ── */
#preloader {
    position: fixed; inset: 0; z-index: 99999; background: var(--navy-900);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 1.5rem; transition: opacity .5s; will-change: opacity
}
#preloader img { width: 220px; height: auto; animation: plPulse 2s ease-in-out infinite; filter: brightness(0) invert(1) }
.pl-bar { width: 200px; height: 4px; background: rgba(255,255,255,.1); border-radius: 4px; overflow: hidden }
@keyframes plProgress { 0% { transform: scaleX(0) } 80% { transform: scaleX(.85) } 100% { transform: scaleX(.9) } }
.pl-fill {
    height: 100%; width: 100%;
    background: linear-gradient(90deg, var(--blue), var(--gold));
    border-radius: 4px; transform-origin: left; will-change: transform;
    animation: plProgress 2.5s ease-out forwards
}
.pl-pct {
    font-family: 'Inter', sans-serif; font-size: .85rem; font-weight: 600;
    color: rgba(255,255,255,.6); letter-spacing: 1px
}
#preloader.pl-done { opacity: 0; pointer-events: none; visibility: hidden }
@keyframes plPulse { 0%,100% { opacity: 1; transform: scale(1) } 50% { opacity: .7; transform: scale(.97) } }

/* ── ALERT SYSTEM ── */
.alert-badge {
    position: relative; z-index: auto; width: 36px; height: 36px; border-radius: 50%;
    background: transparent; border: none; cursor: pointer; display: flex;
    align-items: center; justify-content: center; transition: background .2s; margin-left: 4px
}
.alert-badge:hover { background: rgba(0,102,179,.1) }
.alert-badge svg { width: 22px; height: 22px; color: var(--t2); fill: none; stroke: currentColor; stroke-width: 2 }
.nav.scrolled .alert-badge svg { color: var(--t1) }
.alert-badge-dot {
    position: absolute; top: 2px; right: 2px; width: 10px; height: 10px;
    background: var(--red); border-radius: 50%; border: 2px solid var(--bg);
    animation: alertPulse 2s ease-in-out infinite
}
.alert-badge-dot.read { display: none }
@keyframes alertPulse { 0%,100% { transform: scale(1) } 50% { transform: scale(1.3) } }
.alert-popup {
    position: fixed; top: 64px; right: 24px; z-index: 901; width: 380px;
    max-height: calc(100vh - 80px); background: #fff; border-radius: var(--radius-lg);
    box-shadow: 0 20px 60px rgba(0,0,0,.18), 0 0 0 1px rgba(0,0,0,.05);
    display: flex; flex-direction: column; opacity: 0;
    transform: translateY(-10px) scale(.95); pointer-events: none;
    transition: opacity .25s, transform .25s
}
.alert-popup.active { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto }
.alert-popup.active.closing { opacity: 0; transform: translateY(-10px) scale(.95); pointer-events: none }
.alert-popup-header {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-700) 100%); color: #fff;
    padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 10px
}
.alert-popup-header span { font-weight: 700; font-size: .9rem; letter-spacing: .3px; display: flex; align-items: center; gap: 8px }
.alert-popup-close {
    background: rgba(255,255,255,.15); border: none; color: #fff; width: 30px; height: 30px;
    border-radius: 50%; cursor: pointer; font-size: 1.2rem; display: flex;
    align-items: center; justify-content: center; transition: background .2s; flex-shrink: 0; line-height: 1
}
.alert-popup-close:hover { background: rgba(255,255,255,.3) }
.alert-popup-body { padding: 18px; flex: 1; overflow-y: auto }
.alert-popup-body h3 { font-size: 1.05rem; font-weight: 800; color: var(--t1); margin: 0 0 8px; line-height: 1.3 }
.alert-popup-body p { font-size: .88rem; color: var(--t2); margin: 0 0 12px; line-height: 1.55 }
.alert-popup-footer {
    padding: 12px 18px 16px; border-top: 1px solid var(--bg-muted);
    display: flex; align-items: center; gap: 12px; flex-shrink: 0
}
.alert-cta {
    flex: 1; display: inline-flex; align-items: center; justify-content: center;
    gap: 6px; padding: 10px 16px; background: var(--navy); color: #fff;
    border-radius: var(--radius); font-size: .85rem; font-weight: 600;
    text-decoration: none; transition: background .2s
}
.alert-cta:hover { background: var(--navy-700) }
.alert-header-nav { display: flex; align-items: center; gap: 4px; margin-left: auto; margin-right: 8px }
.alert-arr {
    background: none; border: none; color: rgba(255,255,255,.7); font-size: 1.3rem;
    cursor: pointer; padding: 2px 6px; border-radius: 4px; line-height: 1; transition: color .2s
}
.alert-arr:hover { color: #fff }
.alert-counter { font-size: .75rem; color: rgba(255,255,255,.6); font-weight: 600; min-width: 24px; text-align: center }
.alert-slides { position: relative; overflow: hidden; flex: 1; overflow-y: auto }
.alert-slide { display: none; animation: alertFadeIn .3s ease }
.alert-slide-active { display: block }
@keyframes alertFadeIn { from { opacity: 0; transform: translateX(8px) } to { opacity: 1; transform: translateX(0) } }

/* ── COOKIE BANNER ── */
.cookie-banner {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 5000;
    background: rgba(0,17,39,.95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid rgba(0,102,179,.3); padding: 1rem 1.5rem;
    transform: translateY(100%); transition: transform .4s cubic-bezier(.4,0,.2,1);
    font-family: 'Inter', sans-serif; box-shadow: 0 -4px 24px rgba(0,0,0,.25)
}
.cookie-banner-show { transform: translateY(0) }
.cookie-banner-hide { transform: translateY(100%) }
.cookie-banner-inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; gap: 1.25rem }
.cookie-banner-icon { font-size: 1.6rem; flex-shrink: 0; line-height: 1 }
.cookie-banner-content { flex: 1 }
.cookie-banner-content strong { display: block; color: #fff; font-size: .9rem; font-weight: 700; margin-bottom: 2px }
.cookie-banner-content p { color: rgba(255,255,255,.6); font-size: .8rem; line-height: 1.4; margin: 0 }
.cookie-banner-content a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px }
.cookie-banner-content a:hover { color: #fff }
.cookie-banner-btns { display: flex; gap: .6rem; flex-shrink: 0 }
.cookie-btn-accept, .cookie-btn-reject {
    border: none; border-radius: 2px; padding: .5rem 1.4rem; font-size: .82rem;
    font-weight: 600; cursor: pointer; transition: all .2s
}
.cookie-btn-accept {
    background: var(--gold); color: var(--navy-900); box-shadow: 0 2px 8px rgba(255,204,0,.3); border-radius: 2px
}
.cookie-btn-accept:hover { background: #E6B800; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(255,204,0,.4) }
.cookie-btn-reject { background: rgba(255,255,255,.08); color: rgba(255,255,255,.7); border: none }
.cookie-btn-reject:hover { background: rgba(255,255,255,.15); color: #fff }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
    .bento { grid-template-columns: repeat(12, 1fr) }
    .b6 { grid-column: span 6 }
    .b4 { grid-column: span 6 }
}
@media (max-width: 768px) {
    .n-links { display: none }
    .hamburger { display: flex }
    .hero { padding: 110px 0 0 }
    .hero-stats { flex-direction: column; align-items: center; gap: 20px; padding: 24px 0 0; margin-top: 32px }
    .qk-bar { flex-direction: column; border-radius: var(--radius-lg) }
    .qk-i { border-right: none; border-bottom: 1px solid var(--border) }
    .qk-i:last-child { border-bottom: none }
    .bento { grid-template-columns: 1fr }
    .b6, .b4, .b3, .b8 { grid-column: span 1 }
    .tg { grid-template-columns: 1fr }
    .ft-g { grid-template-columns: repeat(2, 1fr) }
    .cta-b { padding: 40px 24px }
    .cta-b h2 { font-size: 1.4rem }
}
@media (max-width: 640px) {
    .search-dd { max-height: 55vh; margin-top: 6px }
    .sr-item { padding: 10px 12px; gap: 10px }
    .sr-icon { width: 36px; height: 36px; font-size: 1.3rem }
    .sr-title { font-size: .85rem }
    .cookie-banner-icon { display: none }
    .cookie-banner-inner { flex-direction: column; text-align: center }
    .cookie-banner-btns { width: 100%; justify-content: center }
}
@media (max-width: 480px) {
    .alert-popup { left: 12px; right: 12px; top: 58px; width: auto; max-height: calc(100vh - 70px) }
    .alert-badge { width: 34px; height: 34px }
}
@media (max-width: 400px) {
    .ctr { padding: 0 16px }
    .hero-stats, .hs { gap: 12px }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important; animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important; scroll-behavior: auto !important
    }
}
@media print {
    .nav, .mob, .hero-s, .hero-chips, .trust-bar, .show-more-wrap, .cta-sec, .skip-main { display: none !important }
    .hero { padding: 40px 0 0 }
    .hero-bg { background: none }
    .hero h1, .hero-d, .hero-badge { color: #000; opacity: 1; transform: none; animation: none }
    .bc-extra { display: block !important }
    .sr { opacity: 1; transform: none }
    .bc, .tc { break-inside: avoid; box-shadow: none; border: 1px solid #ccc }
    body { color: #000; background: #fff }
    .ft { background: #f5f5f5; color: #333 }
    a[href]::after { content: " (" attr(href) ")"; font-size: .7rem; color: #666 }
}

/* ── ENTITY PAGES ── */
.ent-hero { padding: 100px 0 0; background: var(--bg) }
.ent-breadcrumb {
    display: flex; align-items: center; gap: 8px; font-size: .82rem;
    color: var(--t3); margin-bottom: 28px; flex-wrap: wrap
}
.ent-breadcrumb a { color: var(--t2); text-decoration: none; transition: color .15s }
.ent-breadcrumb a:hover { color: var(--navy) }
.ent-breadcrumb .sep { color: var(--border); font-size: .7rem }
.ent-breadcrumb .current { color: var(--t1); font-weight: 600 }
.ent-header { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 28px }
.ent-icon {
    width: 56px; height: 56px; border-radius: 4px; display: flex;
    align-items: center; justify-content: center; font-size: 1.6rem; flex-shrink: 0
}
.ent-title-wrap { flex: 1; min-width: 0 }
.ent-title-wrap h1 {
    font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; color: var(--t1);
    line-height: 1.2; letter-spacing: -.02em; margin-bottom: 4px
}
.ent-subtitle { font-size: .88rem; color: var(--t3); font-weight: 500; margin-bottom: 16px }
.ent-meta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 12px }
.ent-badge {
    display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px;
    background: var(--navy); color: #fff; border-radius: 2px; font-size: .78rem; font-weight: 700
}
.ent-link {
    display: inline-flex; align-items: center; gap: 6px; font-size: .82rem;
    color: var(--blue); text-decoration: none; font-weight: 600; transition: color .15s
}
.ent-link:hover { color: var(--navy) }
.ent-desc { max-width: 720px; margin-bottom: 32px }
.ent-desc p { font-size: .92rem; color: var(--t2); line-height: 1.75; margin-bottom: 12px }
.ent-desc p:last-child { margin-bottom: 0 }

.trm-trust {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
    padding: 24px; background: var(--bg-off); border: 1px solid var(--border);
    border-top: 3px solid var(--gold); border-radius: var(--radius); margin-bottom: 0
}
.trm-trust-item { display: flex; align-items: flex-start; gap: 12px }
.trm-trust-item svg { color: var(--navy); flex-shrink: 0; margin-top: 2px }
.trm-trust-label { display: block; font-size: .7rem; color: var(--t3); text-transform: uppercase; letter-spacing: .06em; font-weight: 600 }
.trm-trust-value { display: block; font-size: .88rem; color: var(--t1); font-weight: 600; margin-top: 2px }
.trm-trust-disclaimer {
    grid-column: 1 / -1; display: flex; align-items: center; gap: 8px;
    padding-top: 16px; border-top: 1px solid var(--border); margin-top: 8px;
    font-size: .78rem; color: var(--t3); font-weight: 400
}
.trm-trust-disclaimer svg { color: var(--amber); flex-shrink: 0 }

.ent-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px }

.ent-info-box {
    padding: 32px; background: #fff; border: 1px solid var(--border);
    border-top: 3px solid var(--gold); border-radius: var(--radius)
}
.ent-info-box h3 { font-size: 1.1rem; font-weight: 700; color: var(--t1); margin-bottom: 24px }
.ent-info-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px }
.ent-info-item { display: flex; align-items: flex-start; gap: 14px }
.ent-info-item svg { color: var(--navy); flex-shrink: 0; margin-top: 2px }
.ent-info-item strong { display: block; font-size: .88rem; color: var(--t1); margin-bottom: 4px }
.ent-info-item div { font-size: .82rem; color: var(--t2); line-height: 1.6 }
.ent-info-item em { font-style: normal; color: var(--t3); font-size: .78rem }

.share-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap }
.share-btn {
    display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px;
    border-radius: 2px; font-size: .8rem; font-weight: 600; text-decoration: none;
    border: 1px solid var(--border); cursor: pointer; transition: all .2s; font-family: inherit; line-height: 1
}
.share-btn svg { flex-shrink: 0 }
.share-btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-md) }
.share-wa { background: #25D366; color: #fff; border-color: #25D366 }
.share-wa:hover { background: #1ead4f }
.share-copy { background: var(--bg-muted); color: var(--t1); border-color: var(--border) }
.share-copy:hover { background: var(--bg-off); border-color: var(--border-hover) }
.share-native { background: var(--navy); color: #fff; border-color: var(--navy) }
.share-native:hover { background: var(--navy-700) }
.share-copied { background: var(--green) !important; color: #fff !important; border-color: var(--green) !important }

/* ── PROCEDURE PAGE COMPONENTS ── */
.trm-summary-sec { padding: 40px 0 }
.trm-summary {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px
}
.trm-summary-item {
    padding: 24px; background: #fff; border: 1px solid var(--border);
    border-top: 3px solid var(--gold); border-radius: var(--radius); text-align: center
}
.trm-summary-item svg { color: var(--navy); margin-bottom: 12px }
.trm-summary-item strong { display: block; font-size: .75rem; color: var(--t3); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px }
.trm-summary-item span { display: block; font-size: 1.1rem; font-weight: 700; color: var(--t1) }
.trm-summary-item small { display: block; font-size: .78rem; color: var(--t3); margin-top: 4px }

.trm-req-list { display: flex; flex-direction: column; gap: 12px }
.trm-req-item {
    display: flex; align-items: flex-start; gap: 16px; padding: 20px;
    background: #fff; border: 1px solid var(--border); border-radius: var(--radius)
}
.trm-req-icon {
    width: 44px; height: 44px; border-radius: 4px; background: var(--bg-muted);
    display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0
}
.trm-req-item strong { display: block; font-size: .92rem; color: var(--t1); margin-bottom: 4px }
.trm-req-item p { font-size: .85rem; color: var(--t2); line-height: 1.6; margin: 0 }

.trm-steps { list-style: none; display: flex; flex-direction: column; gap: 0; counter-reset: step }
.trm-step {
    display: flex; align-items: flex-start; gap: 16px; padding: 24px 0;
    border-bottom: 1px solid var(--border)
}
.trm-step:last-child { border-bottom: none }
.trm-step-num {
    width: 36px; height: 36px; background: var(--gold); color: var(--navy-900);
    border-radius: 4px; display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: .9rem; flex-shrink: 0
}
.trm-step h3 { font-size: .95rem; font-weight: 700; color: var(--t1); margin-bottom: 6px }
.trm-step p { font-size: .88rem; color: var(--t2); line-height: 1.7; margin: 0 }
.trm-step a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px }

.trm-pago {
    background: #fff; border: 1px solid var(--border); border-top: 3px solid var(--gold);
    border-radius: var(--radius); overflow: hidden
}
.trm-pago-header {
    display: flex; align-items: center; gap: 12px; padding: 18px 24px;
    background: var(--bg-off); border-bottom: 1px solid var(--border);
    font-size: .95rem; font-weight: 700; color: var(--t1)
}
.trm-pago-header svg { color: var(--navy) }
.trm-pago-body { display: grid; grid-template-columns: repeat(2, 1fr) }
.trm-pago-item {
    padding: 16px 24px; border-bottom: 1px solid var(--border);
    border-right: 1px solid var(--border)
}
.trm-pago-item:nth-child(2n) { border-right: none }
.trm-pago-item:nth-last-child(-n+2) { border-bottom: none }
.trm-pago-item strong { display: block; font-size: .72rem; color: var(--t3); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px }
.trm-pago-item span { font-size: .88rem; color: var(--t1); font-weight: 600 }

.trm-tips { display: flex; flex-direction: column; gap: 12px }
.trm-tip {
    display: flex; align-items: flex-start; gap: 12px; padding: 16px 20px;
    background: rgba(0,102,179,0.04); border-left: 3px solid var(--blue);
    border-radius: 0 4px 4px 0
}
.trm-tip svg { color: var(--blue); flex-shrink: 0; margin-top: 2px }
.trm-tip p { font-size: .88rem; color: var(--t2); line-height: 1.6; margin: 0 }

.trm-errores { display: flex; flex-direction: column; gap: 12px }
.trm-error {
    display: flex; align-items: flex-start; gap: 12px; padding: 16px 20px;
    background: rgba(221,0,0,0.04); border-left: 3px solid var(--red);
    border-radius: 0 4px 4px 0
}
.trm-error svg { color: var(--red); flex-shrink: 0; margin-top: 2px }
.trm-error p { font-size: .88rem; color: var(--t2); line-height: 1.6; margin: 0 }
.trm-error strong { color: var(--t1) }

.trm-related { margin-top: 48px }
.trm-related h2 { font-size: 1.3rem; font-weight: 800; color: var(--t1); margin-bottom: 20px }
.trm-related-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px }
.trm-related-card {
    display: flex; align-items: flex-start; gap: 16px; padding: 24px;
    background: #fff; border: 1px solid var(--border); border-top: 3px solid var(--gold);
    border-radius: var(--radius); text-decoration: none; color: var(--t1);
    transition: transform .2s, border-color .2s, box-shadow .2s
}
.trm-related-card:hover { border-top-color: var(--navy); transform: translateY(-2px); box-shadow: var(--shadow-md) }
.trm-related-card .trm-rel-icon {
    width: 44px; height: 44px; border-radius: 4px; display: flex;
    align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0
}
.trm-related-card .trm-rel-title { font-size: .95rem; font-weight: 700; color: var(--t1); margin-bottom: 4px }
.trm-related-card .trm-rel-desc { font-size: .82rem; color: var(--t2); line-height: 1.5; margin-bottom: 8px }
.trm-related-card .trm-rel-price { font-size: .82rem; font-weight: 600; color: var(--green) }
.trm-related-card .trm-rel-arrow {
    font-size: .78rem; font-weight: 600; color: var(--navy);
    display: flex; align-items: center; gap: 4px; margin-top: 4px
}
.trm-related-card .trm-rel-arrow svg { transition: transform .15s }
.trm-related-card:hover .trm-rel-arrow svg { transform: translateX(3px) }

.tc-cita { background: rgba(217,119,6,0.12); color: var(--amber) }

@media (max-width: 768px) {
    .ent-header { flex-direction: column; gap: 12px }
    .trm-trust { grid-template-columns: 1fr }
    .ent-info-grid { grid-template-columns: 1fr }
    .ent-grid { grid-template-columns: 1fr }
    .trm-summary { grid-template-columns: 1fr }
    .trm-summary-item { border-top: none; border-left: 3px solid var(--gold) }
    .trm-pago-body { grid-template-columns: 1fr }
    .trm-pago-item { border-right: none }
    .trm-related-grid { grid-template-columns: 1fr }
}

/* ── NOSCRIPT ── */
noscript + .hero .sr, noscript ~ * .sr { opacity: 1; transform: none }
