/* 2026 visual refresh ------------------------------------------------------ */
:root {
    --ink: #10243e;
    --ink-soft: #5c6b7d;
    --surface: rgba(255, 255, 255, 0.94);
    --surface-strong: #ffffff;
    --border: rgba(16, 36, 62, 0.09);
    --shadow: 0 24px 70px rgba(16, 36, 62, 0.10);
    --navy: #10243e;
    --navy-2: #17375f;
    --coral: #f06449;
    --coral-dark: #d84e35;
    --cream: #fbf8f2;
}

body {
    background: #fbfcfe;
    color: var(--ink);
    line-height: 1.7;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        radial-gradient(circle at 92% 8%, rgba(240, 100, 73, 0.09), transparent 24rem),
        radial-gradient(circle at 4% 72%, rgba(39, 103, 160, 0.08), transparent 28rem),
        linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

h1, h2, h3, h4, h5, h6 { color: var(--navy); }
h2 { font-size: clamp(2.1rem, 4.2vw, 3.65rem); line-height: 1.05; }
h3 { line-height: 1.22; }

.navbar-light {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1030;
    background: rgba(255, 255, 255, 0.88) !important;
    border-bottom: 1px solid rgba(16, 36, 62, 0.07);
    box-shadow: 0 10px 35px rgba(16, 36, 62, 0.05);
    backdrop-filter: blur(20px) saturate(160%);
}

.navbar { padding: .8rem 0; }
.brand-logo { width: 210px; }
.nav-link { font-size: .92rem; letter-spacing: .01em; padding: .6rem .9rem !important; }
.nav-link:hover, .nav-link.active { color: var(--coral-dark) !important; background: rgba(240, 100, 73, .08); transform: none; }
.navbar .btn-success { background: var(--navy); border-color: var(--navy); box-shadow: none; }
.navbar .btn-success:hover { background: var(--coral); border-color: var(--coral); }

main { padding-top: 82px; }
.section-shell { padding: 6.5rem 0; }
.section-title { max-width: 820px; margin-bottom: 3.5rem; }
.section-title .lead { max-width: 700px; margin-inline: auto; }

.rioheader {
    background:
        linear-gradient(115deg, rgba(255,255,255,.98), rgba(251,248,242,.92)),
        #fff;
}

.rioheader::after {
    content: "";
    position: absolute;
    width: 28rem;
    height: 28rem;
    right: -12rem;
    top: -14rem;
    border: 1px solid rgba(240, 100, 73, .14);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(240,100,73,.025), 0 0 0 140px rgba(16,36,62,.018);
    pointer-events: none;
}

.hero-shell { min-height: min(780px, calc(100vh - 82px)); display: flex; align-items: center; }
.hero-copy h1, .page-hero h1 { font-size: clamp(3.15rem, 6.7vw, 6.25rem); line-height: .94; letter-spacing: -.055em; }
.hero-copy .lead { max-width: 690px; font-size: 1.08rem; }

.brand-kicker {
    padding: .55rem .85rem;
    background: rgba(240, 100, 73, .08);
    border-color: rgba(240, 100, 73, .14);
    box-shadow: none;
    color: var(--coral-dark);
    letter-spacing: .15em;
}
.brand-kicker::before { width: 8px; height: 8px; background: var(--coral); box-shadow: none; }
.accent-gradient, .riogradient, .riogradient2 { background: none; color: var(--coral-dark); }

.btn { border-radius: 14px; font-weight: 800; padding: .82rem 1.2rem; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--coral); border-color: var(--coral); box-shadow: 0 14px 28px rgba(240,100,73,.24); }
.btn-primary:hover { background: var(--coral-dark); border-color: var(--coral-dark); }
.btn-secondary { background: transparent; border: 1px solid rgba(16,36,62,.18); color: var(--navy); box-shadow: none; }
.btn-secondary:hover { background: var(--navy); border-color: var(--navy); color: #fff; }

.study-chip-row { gap: .55rem; }
.study-chip { padding: .55rem .8rem; background: transparent; box-shadow: none; border-color: rgba(16,36,62,.12); font-size: .84rem; }
.study-chip::before { width: 7px; height: 7px; box-shadow: none; background: var(--coral); }
.metric-row { padding-top: .2rem; gap: 1.2rem; }
.metric-pill { padding: 0; border: 0; background: transparent; box-shadow: none; font-size: .77rem; color: var(--ink-soft); }
.metric-pill::before { content: "\2713"; display: inline-grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; background: rgba(16,36,62,.08); color: var(--navy); }

.hero-art-card, .visual-shell, .brand-surface {
    border-radius: 32px;
    border: 1px solid rgba(16,36,62,.08);
    background: #fff;
    box-shadow: 0 35px 90px rgba(16,36,62,.12);
    transform: rotate(1deg);
}
.hero-art-card img, .visual-shell img, .brand-surface img { border-radius: 24px; }
.floating-badge { box-shadow: 0 12px 30px rgba(16,36,62,.14); border: 1px solid rgba(16,36,62,.08); }

.country-card, .program-card, .journey-card, .testimonial-card, .info-card, .contact-card, .checklist-card, .story-card {
    border-radius: 22px;
    padding: 1.65rem;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(16,36,62,.08);
    box-shadow: 0 10px 36px rgba(16,36,62,.055);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.country-card:hover, .program-card:hover, .journey-card:hover, .testimonial-card:hover, .info-card:hover, .contact-card:hover, .checklist-card:hover, .story-card:hover {
    transform: translateY(-6px);
    border-color: rgba(240,100,73,.22);
    box-shadow: 0 25px 55px rgba(16,36,62,.10);
}
.country-card::before, .program-card::before { height: 3px; inset: 0 0 auto; background: var(--coral) !important; }
.country-highlight, .mini-badge { border-radius: 8px; background: #f4f6f8 !important; color: var(--navy) !important; border: 0; box-shadow: none; }
.journey-number { color: var(--coral); background: rgba(240,100,73,.09); }

.cta-panel {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    background: var(--navy);
    box-shadow: 0 35px 80px rgba(16,36,62,.20);
}
.cta-panel::after { content: ""; position: absolute; width: 260px; height: 260px; right: -100px; top: -130px; border-radius: 50%; border: 55px solid rgba(240,100,73,.22); }
.cta-panel h2, .cta-panel p { position: relative; z-index: 1; }

.accordion-item-lite { border-radius: 16px; background: #fff; border: 1px solid var(--border); box-shadow: 0 8px 28px rgba(16,36,62,.04); }
.accordion-button { color: var(--navy); }
.accordion-button:not(.collapsed) { background: rgba(240,100,73,.06); color: var(--coral-dark); }

.site-footer { background: #0b1d33; border-top: 0; }
.site-footer, .site-footer h3, .site-footer h4 { color: #fff; }
.site-footer p, .footer-link, .footer-note { color: rgba(255,255,255,.68); }
.footer-link:hover { color: #fff; }
.brand-logo-footer { filter: brightness(0) invert(1); }
.floating-whatsapp { border-radius: 50%; box-shadow: 0 16px 38px rgba(19,176,86,.28); }

.footer-credit {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: 2.5rem;
    padding-top: 1.4rem;
    border-top: 1px solid rgba(255,255,255,.1);
    color: rgba(255,255,255,.5);
    font-size: .78rem;
    letter-spacing: .02em;
}
.footer-credit a { color: rgba(255,255,255,.86); font-weight: 700; transition: color .2s ease; }
.footer-credit a:hover { color: var(--coral); }

@media (max-width: 991.98px) {
    .navbar-collapse { margin-top: .8rem; padding: 1rem; background: #fff; border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow); }
    .hero-shell { min-height: auto; }
    .hero-art-card, .visual-shell, .brand-surface { transform: none; }
}

@media (max-width: 767.98px) {
    main { padding-top: 72px; }
    .section-shell { padding: 4.5rem 0; }
    .hero-copy h1, .page-hero h1 { font-size: clamp(2.65rem, 12vw, 4rem); }
    .metric-row { gap: .65rem; }
    .metric-pill { width: 100%; }
    .hero-art-card, .visual-shell, .brand-surface { border-radius: 22px; }
}
