        :root {
            --primary: #0B1F33;
            --bg: #F7FAFC;
            --surface: #FFFFFF;
            --text: #0F172A;
            --muted: #526173;
            --border: #E6EDF5;
            --gold: #D6B15E;
            --cta: #F5B301;
            --teal: #0EA5A4;
            --radius: 16px;
            --shadow: 0 4px 24px rgba(11, 31, 51, .07);
            --shadow-lg: 0 8px 40px rgba(11, 31, 51, .12);
        }

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

        html {
            scroll-behavior: smooth;
            font-size: 16px;
            scroll-padding-top: 80px
        }

        body {
            font-family: 'Inter', sans-serif;
            color: var(--text);
            background: var(--bg);
            line-height: 1.7;
            -webkit-font-smoothing: antialiased
        }

        h1,
        h2,
        h3,
        h4 {
            font-family: 'Manrope', sans-serif;
            font-weight: 800;
            line-height: 1.2
        }

        img {
            max-width: 100%;
            height: auto;
            display: block
        }

        a {
            text-decoration: none;
            color: inherit
        }

        .container {
            max-width: 1120px;
            margin: 0 auto;
            padding: 0 24px
        }

        .section {
            padding: 96px 0
        }

        .section--dark {
            background: var(--primary);
            color: #fff
        }

        .section--dark .muted-text {
            color: rgba(255, 255, 255, .6)
        }

        .muted-text {
            color: var(--muted);
            font-size: .95rem
        }

        /* ─── Buttons ─── */
        .btn {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-family: 'Manrope', sans-serif;
            font-weight: 700;
            font-size: 1.05rem;
            padding: 16px 36px;
            border-radius: var(--radius);
            border: none;
            cursor: pointer;
            transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease, color .25s ease, border-color .25s ease
        }

        /* ─── Focus visible ─── */
        .btn:focus-visible,
        a:focus-visible {
            outline: 2px solid var(--gold);
            outline-offset: 3px
        }

        .faq-item__q:focus-visible {
            outline: 2px solid var(--teal);
            outline-offset: -2px;
            border-radius: var(--radius)
        }

        .btn--cta {
            background: var(--cta);
            color: var(--primary);
            box-shadow: 0 4px 20px rgba(245, 179, 1, .35)
        }

        .btn--cta:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 32px rgba(245, 179, 1, .45)
        }

        .btn--outline {
            background: transparent;
            border: 2px solid rgba(255, 255, 255, .25);
            color: #fff
        }

        .btn--outline:hover {
            border-color: var(--gold);
            color: var(--gold)
        }

        .btn--teal {
            background: var(--teal);
            color: #fff
        }

        .btn--teal:hover {
            background: #0c8f8e
        }

        /* ─── Badge ─── */
        .badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            background: rgba(14, 165, 164, .1);
            color: var(--teal);
            font-size: .8rem;
            font-weight: 600;
            padding: 6px 14px;
            border-radius: 100px;
            letter-spacing: .02em;
            text-transform: uppercase
        }

        .badge--gold {
            background: rgba(214, 177, 94, .12);
            color: var(--gold)
        }

        /* ─── Gold line accent ─── */
        .gold-line {
            width: 48px;
            height: 3px;
            background: var(--gold);
            border-radius: 3px;
            margin-bottom: 16px
        }

        /* ─── Section heading ─── */
        .section-heading {
            text-align: center;
            margin-bottom: 56px
        }

        .section-heading h2 {
            font-size: clamp(1.8rem, 4vw, 2.4rem);
            margin-bottom: 12px
        }

        .section-heading p {
            max-width: 600px;
            margin: 0 auto;
            color: var(--muted)
        }

        .section--dark .section-heading p {
            color: rgba(255, 255, 255, .6)
        }

        /* ─── NAV ─── */
        .topbar {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 100;
            background: rgba(11, 31, 51, .92);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(255, 255, 255, .06);
            transition: background .3s
        }

        .topbar__inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 64px
        }

        .topbar__brand {
            display: flex;
            align-items: center;
            flex-shrink: 0
        }

        .topbar__brand img {
            height: 140px;
            width: auto;
            margin-top: 15px;
            display: block;
            filter: brightness(0) invert(1)
        }

        .topbar__links {
            display: flex;
            gap: 28px;
            list-style: none;
            flex: 1;
            justify-content: center
        }

        .topbar__links a {
            color: rgba(255, 255, 255, .7);
            font-size: .88rem;
            font-weight: 500;
            transition: color .2s
        }

        .topbar__links a:hover {
            color: var(--gold)
        }

        .topbar__cta {
            font-size: .85rem;
            padding: 10px 22px
        }

        @media(max-width:768px) {
            .topbar__links {
                display: none
            }

            .topbar__cta span {
                display: none
            }
        }

        /* ─── HERO ─── */
        .hero {
            padding: 140px 0 100px;
            background: linear-gradient(170deg, var(--primary) 0%, #132d47 100%);
            color: #fff;
            position: relative;
            overflow: hidden
        }

        .hero::after {
            content: '';
            position: absolute;
            bottom: -60px;
            right: -60px;
            width: 400px;
            height: 400px;
            background: radial-gradient(circle, rgba(14, 165, 164, .12) 0%, transparent 70%);
            pointer-events: none
        }

        .hero__grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 64px;
            align-items: center
        }

        .hero__photo {
            position: relative
        }

        .hero__photo-frame {
            position: relative;
            border-radius: var(--radius);
            overflow: hidden;
            box-shadow: var(--shadow-lg);
            border: 3px solid rgba(214, 177, 94, .25);
            aspect-ratio: 4/5;
            background: var(--primary)
        }

        .hero__media {
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        .hero__media--video {
            display: block
        }

        .hero__media--image {
            display: none
        }

        .hero__photo-frame--image .hero__media--video {
            display: none
        }

        .hero__photo-frame--image .hero__media--image {
            display: block
        }

        .hero__photo-tag {
            position: absolute;
            bottom: -16px;
            left: 50%;
            transform: translateX(-50%);
            background: var(--surface);
            color: var(--primary);
            font-family: 'Manrope', sans-serif;
            font-weight: 700;
            font-size: .82rem;
            padding: 10px 20px;
            border-radius: var(--radius);
            box-shadow: var(--shadow-lg);
            white-space: nowrap
        }

        .hero__content .badge {
            margin-bottom: 20px
        }

        .hero__content h1 {
            font-size: clamp(1.9rem, 4.5vw, 2.8rem);
            margin-bottom: 20px
        }

        .hero__content h1 span {
            color: var(--gold)
        }

        .hero__subtitle {
            font-size: 1.05rem;
            color: rgba(255, 255, 255, .72);
            margin-bottom: 12px;
            max-width: 520px
        }

        .hero__meta {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            margin: 28px 0 36px
        }

        .hero__meta-item {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: .9rem;
            color: rgba(255, 255, 255, .65)
        }

        .hero__meta-item svg {
            flex-shrink: 0
        }

        .hero__actions {
            display: flex;
            flex-wrap: wrap;
            gap: 14px
        }

        @media(max-width:900px) {
            .hero__grid {
                grid-template-columns: 1fr;
                text-align: center
            }

            .hero__photo {
                order: -1;
                max-width: 320px;
                margin: 0 auto
            }

            .hero__subtitle {
                margin-left: auto;
                margin-right: auto
            }

            .hero__meta {
                justify-content: center
            }

            .hero__actions {
                justify-content: center
            }
        }

        /* ─── CREDENTIALS ─── */
        .credentials {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 24px
        }

        .credential-card {
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 32px 24px;
            text-align: center;
            transition: box-shadow .25s
        }

        .credential-card:hover {
            box-shadow: var(--shadow)
        }

        .credential-card__icon {
            width: 48px;
            height: 48px;
            margin: 0 auto 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(14, 165, 164, .08);
            border-radius: 12px;
            color: var(--teal)
        }

        .credential-card h4 {
            font-size: 1rem;
            margin-bottom: 6px
        }

        .credential-card p {
            font-size: .88rem;
            color: var(--muted)
        }

        @media(max-width:768px) {
            .credentials {
                grid-template-columns: 1fr 1fr
            }
        }

        @media(max-width:480px) {
            .credentials {
                grid-template-columns: 1fr
            }
        }

        /* ─── ABOUT ─── */
        .about__grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 64px;
            align-items: center
        }

        .about__img {
            border-radius: var(--radius);
            overflow: hidden;
            box-shadow: var(--shadow)
        }

        .about__img img {
            width: 100%;
            object-fit: cover
        }

        .about__text h2 {
            font-size: clamp(1.6rem, 3.5vw, 2.2rem);
            margin-bottom: 16px
        }

        .about__text>p {
            color: var(--muted);
            margin-bottom: 20px
        }

        .about__highlights {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
            margin-top: 28px
        }

        .about__highlight {
            display: flex;
            align-items: flex-start;
            gap: 12px
        }

        .about__highlight svg {
            flex-shrink: 0;
            margin-top: 3px;
            color: var(--teal)
        }

        .about__highlight strong {
            display: block;
            font-size: .95rem
        }

        .about__highlight span {
            font-size: .85rem;
            color: var(--muted)
        }

        @media(max-width:768px) {
            .about__grid {
                grid-template-columns: 1fr
            }

            .about__highlights {
                grid-template-columns: 1fr
            }
        }

        /* ─── SKILLS ─── */
        .skills-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px
        }

        .skill-card {
            background: rgba(255, 255, 255, .06);
            border: 1px solid rgba(255, 255, 255, .08);
            border-radius: var(--radius);
            padding: 32px 28px;
            transition: border-color .25s
        }

        .skill-card:hover {
            border-color: var(--gold)
        }

        .skill-card__num {
            font-family: 'Manrope', sans-serif;
            font-weight: 800;
            font-size: 2rem;
            color: var(--gold);
            line-height: 1;
            margin-bottom: 12px
        }

        .skill-card h4 {
            font-size: 1.05rem;
            margin-bottom: 8px
        }

        .skill-card p {
            font-size: .88rem;
            color: rgba(255, 255, 255, .55);
            line-height: 1.6
        }

        @media(max-width:768px) {
            .skills-grid {
                grid-template-columns: 1fr
            }
        }

        /* ─── DIFFERENTIALS ─── */
        .diff-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 32px
        }

        .diff-item {
            display: flex;
            gap: 20px;
            align-items: flex-start;
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 28px 24px;
            transition: box-shadow .25s
        }

        .diff-item:hover {
            box-shadow: var(--shadow)
        }

        .diff-item__icon {
            flex-shrink: 0;
            width: 52px;
            height: 52px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, rgba(14, 165, 164, .1), rgba(214, 177, 94, .1));
            border-radius: 14px;
            color: var(--teal)
        }

        .diff-item h4 {
            font-size: 1rem;
            margin-bottom: 4px
        }

        .diff-item p {
            font-size: .88rem;
            color: var(--muted)
        }

        @media(max-width:600px) {
            .diff-grid {
                grid-template-columns: 1fr
            }
        }

        /* ─── FOR / NOT FOR ─── */
        .for-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 32px
        }

        .for-card {
            border-radius: var(--radius);
            padding: 40px 32px
        }

        .for-card--yes {
            background: rgba(14, 165, 164, .06);
            border: 1px solid rgba(14, 165, 164, .15)
        }

        .for-card--no {
            background: rgba(82, 97, 115, .06);
            border: 1px solid rgba(82, 97, 115, .18)
        }

        .for-card h3 {
            font-family: 'Manrope', sans-serif;
            font-size: 1.2rem;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 10px
        }

        .for-card ul {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 14px
        }

        .for-card li {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            font-size: .93rem;
            color: var(--muted)
        }

        .for-card li svg {
            flex-shrink: 0;
            margin-top: 3px
        }

        @media(max-width:600px) {
            .for-grid {
                grid-template-columns: 1fr
            }
        }

        /* ─── PROGRAM ─── */
        .program-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px
        }

        .program-day {
            background: rgba(255, 255, 255, .05);
            border: 1px solid rgba(255, 255, 255, .08);
            border-radius: var(--radius);
            padding: 28px 24px
        }

        .program-day__label {
            font-family: 'Manrope', sans-serif;
            font-weight: 700;
            font-size: .78rem;
            text-transform: uppercase;
            letter-spacing: .08em;
            color: var(--gold);
            margin-bottom: 8px
        }

        .program-day h4 {
            font-size: 1.05rem;
            margin-bottom: 8px
        }

        .program-day p {
            font-size: .86rem;
            color: rgba(255, 255, 255, .55);
            line-height: 1.6
        }

        @media(max-width:600px) {
            .program-grid {
                grid-template-columns: 1fr
            }
        }

        /* ─── INCLUDED ─── */
        .included-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px
        }

        .included-item {
            display: flex;
            align-items: flex-start;
            gap: 14px;
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 24px 20px
        }

        .included-item svg {
            flex-shrink: 0;
            color: var(--teal);
            margin-top: 2px
        }

        .included-item strong {
            display: block;
            font-size: .93rem;
            margin-bottom: 2px
        }

        .included-item span {
            font-size: .84rem;
            color: var(--muted)
        }

        @media(max-width:768px) {
            .included-grid {
                grid-template-columns: 1fr 1fr
            }
        }

        @media(max-width:480px) {
            .included-grid {
                grid-template-columns: 1fr
            }
        }

        /* ─── TESTIMONIALS ─── */
        .testimonials-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px
        }

        .testimonial-card {
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 32px 24px;
            position: relative
        }

        .testimonial-card::before {
            content: '"';
            font-family: 'Manrope', sans-serif;
            font-size: 4rem;
            font-weight: 800;
            color: var(--teal);
            opacity: .15;
            position: absolute;
            top: 12px;
            left: 20px;
            line-height: 1
        }

        .testimonial-card p {
            font-size: .92rem;
            color: var(--muted);
            font-style: italic;
            margin-bottom: 20px;
            position: relative;
            z-index: 1
        }

        .testimonial-card__author {
            display: flex;
            align-items: center;
            gap: 12px
        }

        .testimonial-card__avatar {
            width: 42px;
            height: 42px;
            border-radius: 50%;
            background: var(--border);
            overflow: hidden
        }

        .testimonial-card__avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        .testimonial-card__info strong {
            display: block;
            font-size: .88rem
        }

        .testimonial-card__info span {
            font-size: .8rem;
            color: var(--muted)
        }

        @media(max-width:768px) {
            .testimonials-grid {
                grid-template-columns: 1fr
            }
        }

        /* ─── SPONSORS ─── */
        .sponsors-row {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 64px;
            flex-wrap: wrap
        }

        .sponsors-row img {
            max-height: 48px;
            opacity: .7;
            filter: grayscale(.3);
            transition: opacity .3s
        }

        .sponsors-row img:hover {
            opacity: 1;
            filter: none
        }

        /* ─── FAQ ─── */
        .faq-list {
            max-width: 760px;
            margin: 0 auto
        }

        .faq-item {
            border: 1px solid var(--border);
            border-radius: var(--radius);
            margin-bottom: 12px;
            overflow: hidden;
            background: var(--surface)
        }

        .faq-item__q {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            padding: 20px 24px;
            cursor: pointer;
            font-family: 'Manrope', sans-serif;
            font-weight: 700;
            font-size: .98rem;
            gap: 16px;
            user-select: none;
            background: none;
            border: none;
            color: inherit;
            text-align: left;
            line-height: 1.4
        }

        .faq-item__q svg {
            flex-shrink: 0;
            transition: transform .25s
        }

        .faq-item.open .faq-item__q svg {
            transform: rotate(45deg)
        }

        .faq-item__a {
            max-height: 0;
            overflow: hidden;
            transition: max-height .35s ease
        }

        .faq-item__a-inner {
            padding: 0 24px 20px;
            font-size: .92rem;
            color: var(--muted);
            line-height: 1.7
        }

        /* ─── CTA FINAL ─── */
        .cta-final {
            text-align: center;
            padding: 80px 0;
            background: linear-gradient(170deg, var(--primary), #132d47)
        }

        .cta-final h2 {
            color: #fff;
            font-size: clamp(1.8rem, 4vw, 2.4rem);
            margin-bottom: 12px
        }

        .cta-final p {
            color: rgba(255, 255, 255, .6);
            margin-bottom: 36px;
            max-width: 540px;
            margin-left: auto;
            margin-right: auto
        }

        .cta-final .btn {
            margin: 0 8px
        }

        .cta-final__actions {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            gap: 14px
        }

        /* ─── Credential List ─── */
        .credential-list {
            list-style: none;
            padding: 0;
            margin: 0;
            text-align: left
        }

        .credential-list li {
            position: relative;
            padding-left: 18px;
            margin-bottom: 6px;
            font-size: .9rem;
            line-height: 1.6;
            color: var(--muted)
        }

        .credential-list li::before {
            content: '•';
            position: absolute;
            left: 0;
            color: var(--teal);
            font-weight: 700
        }

        /* ─── Social Proof Row ─── */
        .social-proof-row {
            display: flex;
            justify-content: center;
            gap: 48px;
            margin-top: 40px
        }

        .social-proof-item {
            text-align: center
        }

        .social-proof-item__number {
            display: block;
            font-family: 'Manrope', sans-serif;
            font-weight: 800;
            font-size: 2.8rem;
            color: var(--teal);
            line-height: 1
        }

        .social-proof-item__label {
            font-size: .9rem;
            color: var(--muted);
            margin-top: 6px;
            display: block
        }

        /* ─── Location Block (Opção Centralizada) ─── */
        .location-block {
            display: flex;
            flex-direction: column;
            /* Coloca o ícone acima do texto */
            align-items: center;
            /* Centraliza os itens no eixo X */
            justify-content: center;
            gap: 12px;
            /* Espaço entre ícone e texto */
            padding: 32px 24px;
            background: rgba(255, 255, 255, .04);
            border: 1px solid rgba(255, 255, 255, .08);
            border-radius: var(--radius);
            margin-top: 36px;
            max-width: 480px;
            /* Um pouco mais estreito fica melhor aqui */
            margin-left: auto;
            margin-right: auto;
            text-align: center;
            /* Centraliza as linhas de texto */
        }

        .location-block svg {
            flex-shrink: 0;
            color: var(--gold);
            width: 28px;
            /* Ícone levemente maior para dar destaque */
            height: 28px;
            margin-bottom: 4px;
        }

        .location-block strong {
            display: block;
            margin-bottom: 6px;
            color: #fff;
            font-size: 1.05rem;
            /* Leve destaque no título */
        }

        .location-block span {
            font-size: .9rem;
            color: rgba(255, 255, 255, .65);
            line-height: 1.6;
        }

        /* ─── FOOTER ─── */
        .footer {
            background: var(--primary);
            color: rgba(255, 255, 255, .5);
            text-align: center;
            padding: 32px 0;
            font-size: .82rem;
            border-top: 1px solid rgba(255, 255, 255, .06)
        }

        /* ─── STICKY CTA (mobile) ─── */
        .sticky-cta {
            display: none;
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            z-index: 99;
            background: var(--primary);
            padding: 12px 16px;
            border-top: 1px solid rgba(255, 255, 255, .1)
        }

        .sticky-cta .btn {
            width: 100%;
            justify-content: center;
            padding: 14px;
            font-size: .95rem
        }

        @media(max-width:768px) {
            .sticky-cta {
                display: block
            }

            body {
                padding-bottom: 68px
            }
        }
