:root {
    --app-bg: #f0f7fc;
    --splash-bg: #eaf7fd;

    --text-primary: #0f172a;
    --text-secondary: #475569;
    --text-muted: #64748b;

    /* COR PRINCIPAL DO DESAFOGA */
    --brand-primary: #04ADCA;
    --brand-primary-rgb: 4, 173, 202;

    /* variações para contraste, sem perder o tema */
    --brand-dark: #047f95;
    --brand-deep: #07576b;
    --brand-soft: #e6f9fc;
    --brand-line: rgba(4, 173, 202, 0.22);
    --brand-glow: rgba(4, 173, 202, 0.35);

    /* compatibilidade com nomes antigos do CSS */
    --ocean-abyss: #07576b;
    --text-brand: #04ADCA;

    --brand-500: #04ADCA;
    --brand-600: #04ADCA;
    --brand-700: #047f95;

    --hero-bottom-space: 435px;
    --dashboard-overlap: -200px;
    --how-top-space: 325px;

    --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-hard-exit: cubic-bezier(0.85, 0, 0.15, 1);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

html,
body {
    margin: 0;
    min-height: 100%;
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: var(--app-bg);
    color: var(--text-primary);
    overflow-x: hidden;
}

body {
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

img,
svg,
video {
    max-width: 100%;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

html.desafoga-splash-active,
body.desafoga-splash-active,
body.drawer-open {
    overflow: hidden;
}

/* ========================================== */
/* DESAFOGA SPLASH                            */
/* ========================================== */

.desafoga-splash {
    position: fixed;
    inset: 0;
    z-index: 99999;
    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--splash-bg);

    transition:
        transform 0.95s var(--ease-hard-exit),
        opacity 0.4s ease;
}

.desafoga-splash.is-leaving {
    transform: translateY(-100%);
}

.splash-clouds,
.header-clouds {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.splash-clouds {
    z-index: 1;
}

.splash-clouds span,
.header-clouds span {
    position: absolute;
    display: block;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    transform: translate3d(0, 0, 0);
}

.splash-clouds span {
    filter: blur(34px);
    opacity: 0.62;
    animation: cloudFloat 12s ease-in-out infinite alternate;
}

.splash-clouds span:nth-child(1) {
    width: 360px;
    height: 120px;
    left: 8%;
    top: 15%;
}

.splash-clouds span:nth-child(2) {
    width: 420px;
    height: 140px;
    right: 7%;
    top: 18%;
    opacity: 0.52;
    animation-delay: -3s;
}

.splash-clouds span:nth-child(3) {
    width: 520px;
    height: 160px;
    left: 50%;
    bottom: 12%;
    transform: translateX(-50%);
    opacity: 0.42;
    animation-delay: -5s;
}

.splash-clouds span:nth-child(4) {
    width: 260px;
    height: 100px;
    left: 18%;
    bottom: 26%;
    opacity: 0.36;
    animation-delay: -7s;
}

@keyframes cloudFloat {
    from {
        transform: translate3d(-14px, 8px, 0) scale(1);
    }

    to {
        transform: translate3d(18px, -12px, 0) scale(1.04);
    }
}

.desafoga-intro-stage {
    position: relative;
    z-index: 4;
    width: min(1060px, calc(100vw - 32px));
    height: min(640px, 82vh);
    display: grid;
    place-items: center;
    text-align: center;
}

.intro-inline-line {
    position: absolute;
    left: 50%;
    top: 50%;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;

    width: auto;
    max-width: 94vw;
    transform: translate(-50%, -50%);

    color: var(--ocean-abyss);
    font-size: clamp(1.12rem, 2.45vw, 2.08rem);
    line-height: 1;
    font-weight: 700;
    letter-spacing: -0.035em;

    opacity: 0;
    filter: blur(12px);

    animation:
        introLineIn 0.9s var(--ease-out-expo) 0.35s forwards,
        introLineOut 0.65s ease 5.38s forwards;
}

.intro-inline-prefix {
    display: inline-flex;
    align-items: center;
    height: 1.15em;
    white-space: nowrap;
}

.intro-word-slot {
    position: relative;
    display: inline-block;

    width: 0;
    height: 1.15em;
    margin-left: 0;

    color: var(--text-brand);
    font-size: 1em;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.035em;
    text-align: left;

    overflow: visible;
    opacity: 0;

    animation: wordSlotOpen 0.75s var(--ease-out-expo) 1.28s forwards;
}

@keyframes wordSlotOpen {
    to {
        width: clamp(126px, 18vw, 220px);
        margin-left: 0.34em;
        opacity: 1;
    }
}

.intro-word-slot span {
    position: absolute;
    left: 0;
    top: 0;

    height: 1.15em;

    display: flex;
    align-items: center;

    opacity: 0;
    filter: blur(11px);
    transform: translateY(0.24em) scale(0.985);
    white-space: nowrap;
}

.intro-word-slot span:nth-child(1) {
    animation: inlineWord 1.18s var(--ease-out-expo) 1.48s forwards;
}

.intro-word-slot span:nth-child(2) {
    animation: inlineWord 1.18s var(--ease-out-expo) 2.48s forwards;
}

.intro-word-slot span:nth-child(3) {
    animation: inlineWord 1.18s var(--ease-out-expo) 3.48s forwards;
}

.intro-word-slot span:nth-child(4) {
    animation: inlineWord 1.18s var(--ease-out-expo) 4.48s forwards;
}

@keyframes introLineIn {
    to {
        opacity: 1;
        filter: blur(0);
    }
}

@keyframes introLineOut {
    to {
        opacity: 0;
        filter: blur(14px);
        transform: translate(-50%, -50%) translateY(-12px);
    }
}

@keyframes inlineWord {
    0% {
        opacity: 0;
        filter: blur(11px);
        transform: translateY(0.24em) scale(0.985);
    }

    22%,
    72% {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0) scale(1);
    }

    100% {
        opacity: 0;
        filter: blur(11px);
        transform: translateY(-0.24em) scale(1.01);
    }
}

.logo-scene {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 6;

    width: min(760px, 94vw);
    height: min(660px, 76vh);

    transform: translate(-50%, -50%);
    pointer-events: none;
}

.desafoga-logo-stage {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 7;

    display: grid;
    place-items: center;

    opacity: 0;
    filter: blur(16px);
    transform: translate(-50%, -50%) scale(0.88);

    animation:
        logoIn 0.95s var(--ease-out-expo) 5.5s forwards,
        logoSlowZoom 6s linear 6s forwards;
}

.desafoga-logo-stage img {
    display: block;
    width: min(470px, 78vw);
    height: auto;

    filter:
        drop-shadow(0 30px 46px rgba(4, 30, 51, 0.10))
        drop-shadow(0 0 30px rgba(14, 165, 233, 0.12));
}

@keyframes logoIn {
    to {
        opacity: 1;
        filter: blur(0);
        transform: translate(-50%, -50%) scale(1);
    }
}

@keyframes logoSlowZoom {
    to {
        transform: translate(-50%, -50%) scale(1.08);
    }
}

.atom-rings {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 5;

    width: min(610px, 88vw);
    aspect-ratio: 1 / 1;

    opacity: 0;
    transform: translate(-50%, -50%) scale(0.92);

    animation: atomIn 0.9s var(--ease-out-expo) 5.95s forwards;
}

.atom-rings span {
    position: absolute;
    border-radius: 999px;
    border: 1px solid rgba(3, 105, 161, 0.16);
    background: transparent;
}

.atom-rings span:nth-child(1) {
    inset: 0;
}

.atom-rings span:nth-child(2) {
    inset: 17%;
    border-color: rgba(3, 105, 161, 0.13);
}

.atom-rings span:nth-child(3) {
    inset: 34%;
    border-color: rgba(3, 105, 161, 0.10);
}

@keyframes atomIn {
    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

.intro-orbit-words {
    position: absolute;
    inset: 0;
    z-index: 6;
    pointer-events: none;
}

.intro-orbit-words span {
    position: absolute;
    left: 50%;
    top: 50%;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--ocean-abyss);
    font-size: clamp(1rem, 1.75vw, 1.38rem);
    line-height: 1;
    font-weight: 700;
    letter-spacing: -0.018em;
    white-space: nowrap;

    opacity: 0;
    filter: blur(14px);

    transform:
        translate(-50%, -50%)
        translate3d(0, 0, 0)
        scale(0.86);

    will-change: transform, opacity, filter;

    animation: orbitWordIntoLogo 2.15s cubic-bezier(0.16, 1, 0.3, 1) var(--delay) forwards;
}

.intro-orbit-words span strong {
    color: var(--text-brand);
    font-weight: 800;
}

@keyframes orbitWordIntoLogo {
    0% {
        opacity: 0;
        filter: blur(14px);
        transform:
            translate(-50%, -50%)
            translate3d(0, 0, 0)
            scale(0.86);
    }

    18% {
        opacity: 1;
        filter: blur(0);
        transform:
            translate(-50%, -50%)
            translate3d(var(--x), var(--y), 0)
            scale(1);
    }

    58% {
        opacity: 1;
        filter: blur(0);
        transform:
            translate(-50%, -50%)
            translate3d(var(--x), var(--y), 0)
            scale(1);
    }

    100% {
        opacity: 0;
        filter: blur(12px);
        transform:
            translate(-50%, -50%)
            translate3d(0, 0, 0)
            scale(0.68);
    }
}

.splash-content-fade {
    animation: splashFade 0.5s ease forwards !important;
}

@keyframes splashFade {
    to {
        opacity: 0;
        filter: blur(18px);
        transform: translateY(-20px);
    }
}

.logo-scene.splash-content-fade {
    animation: sceneFade 0.5s ease forwards !important;
}

@keyframes sceneFade {
    to {
        opacity: 0;
        filter: blur(18px);
        transform: translate(-50%, -50%) translateY(-20px) scale(1.04);
    }
}

/* ========================================== */
/* SITE / HEADER / HERO                       */
/* ========================================== */

.site-shell {
    min-height: 100vh;
    background: #f4fbff;
}

.site-header {
    position: relative;
    z-index: 5;
    min-height: auto;
    overflow: visible;
    padding: 0 0 var(--hero-bottom-space);
    isolation: isolate;

    background:
        radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.96), transparent 34%),
        radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.78), transparent 32%),
        linear-gradient(180deg, #f4fbff 0%, #eaf7fd 100%);
}

.site-header::after {
    content: "";
    position: absolute;

    left: 50%;
    bottom: -1px;
    z-index: 6;

    width: 100vw;
    height: 180px;

    transform: translateX(-50%);

    background-image: url("data:image/svg+xml,%3Csvg width='1920' height='220' viewBox='0 0 1920 220' preserveAspectRatio='none' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 88C155 118 302 144 496 104C708 60 826 34 1036 78C1244 122 1394 158 1604 102C1742 66 1848 58 1920 74V220H0V88Z' fill='%23ffffff'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: 100vw 100%;

    pointer-events: none;
}

.header-clouds {
    z-index: 1;
}

.header-clouds span {
    background: rgba(255, 255, 255, 0.82);
    filter: blur(58px);
    opacity: 0.72;
    animation: headerCloudFloat 16s ease-in-out infinite alternate;
}

.header-clouds span:nth-child(1) {
    width: 520px;
    height: 180px;
    left: -6%;
    top: 14%;
}

.header-clouds span:nth-child(2) {
    width: 620px;
    height: 210px;
    right: -10%;
    top: 10%;
    opacity: 0.62;
    animation-delay: -4s;
}

.header-clouds span:nth-child(3) {
    width: 760px;
    height: 240px;
    left: 32%;
    top: 46%;
    opacity: 0.42;
    filter: blur(72px);
    animation-delay: -7s;
}

.header-clouds span:nth-child(4) {
    width: 420px;
    height: 150px;
    left: 10%;
    bottom: 8%;
    opacity: 0.44;
    animation-delay: -10s;
}

.header-clouds span:nth-child(5) {
    width: 460px;
    height: 160px;
    right: 18%;
    bottom: 14%;
    opacity: 0.36;
    filter: blur(68px);
    animation-delay: -12s;
}

@keyframes headerCloudFloat {
    from {
        transform: translate3d(-18px, 12px, 0) scale(1);
    }

    to {
        transform: translate3d(22px, -16px, 0) scale(1.04);
    }
}

/* ========================================== */
/* NAVBAR                                     */
/* ========================================== */

.navbar {
    position: fixed;
    top: 20px;
    left: 50%;
    z-index: 9990;

    width: min(1160px, calc(100% - 48px));
    min-height: 72px;

    transform: translateX(-50%);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;

    padding: 12px 0;

    background: transparent;
    border: 1px solid transparent;
    border-color: transparent;
    border-radius: 999px;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;

    transition:
        top 280ms var(--ease-out-expo),
        width 280ms var(--ease-out-expo),
        padding 280ms var(--ease-out-expo),
        border-radius 280ms var(--ease-out-expo),
        background 280ms ease,
        border-color 280ms ease,
        box-shadow 280ms ease,
        backdrop-filter 280ms ease;
}

.navbar.is-scrolled {
    top: 0;
    width: 100%;
    min-height: 76px;

    padding:
        10px
        max(32px, calc((100vw - 1160px) / 2));

    border-radius: 0;
    border-color: transparent;

    background:
        linear-gradient(135deg, rgba(10, 61, 92, 0.98) 0%, rgba(3, 105, 161, 0.96) 100%);

    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.12) inset,
        0 18px 44px rgba(10, 61, 92, 0.20);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.navbar-brand {
    min-width: 190px;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.navbar-brand img {
    display: block;
    width: 158px;
    height: auto;
    filter: none;

    transition:
        filter 260ms ease,
        transform 260ms var(--ease-out-expo);
}

.navbar.is-scrolled .navbar-brand img {
    filter: brightness(0) invert(1);
}

.navbar-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
}

.navbar-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 34px;
    margin-right: 4px;
}

.navbar-links a {
    color: #0a3d5c;
    font-size: 0.95rem;
    line-height: 1;
    font-weight: 800;
    text-decoration: none;
    letter-spacing: -0.035em;

    transition:
        color 220ms ease,
        opacity 220ms ease;
}

.navbar-links a:hover {
    color: #0369a1;
}

.navbar.is-scrolled .navbar-links a {
    color: rgba(255, 255, 255, 0.92);
}

.navbar.is-scrolled .navbar-links a:hover {
    color: #7dd3fc;
}

.navbar-icon-btn {
    width: 54px;
    height: 54px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    border: 0;
    border-radius: 999px;

    background: transparent;
    color: #0a3d5c;
    cursor: pointer;

    transition:
        background 240ms ease,
        color 240ms ease;
}

.navbar-icon-btn:hover {
    background: rgba(10, 61, 92, 0.06);
}

.navbar.is-scrolled .navbar-icon-btn {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
}

.navbar.is-scrolled .navbar-icon-btn:hover {
    background: rgba(255, 255, 255, 0.18);
}

.navbar-icon-btn svg {
    width: 25px;
    height: 25px;
    display: block;
    fill: currentColor;
}

.navbar-cta {
    min-height: 54px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 28px;
    border-radius: 999px;

    color: #ffffff;
    background: #0a3d5c;

    font-size: 0.95rem;
    line-height: 1;
    font-weight: 800;
    text-decoration: none;
    letter-spacing: -0.035em;

    box-shadow: 0 12px 26px rgba(10, 61, 92, 0.14);

    transition:
        box-shadow 240ms var(--ease-out-expo),
        background 240ms ease,
        color 240ms ease;
}

.navbar-cta:hover {
    background: #0369a1;
    box-shadow: 0 18px 36px rgba(14, 165, 233, 0.24);
}

.navbar.is-scrolled .navbar-cta {
    color: #0a3d5c;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(255, 255, 255, 0.12);
}

.navbar.is-scrolled .navbar-cta:hover {
    background: #eaf7fd;
}

/* ========================================== */
/* HERO                                      */
/* ========================================== */

.brand-lines {
    position: relative;
    z-index: 5;
    width: min(1160px, calc(100% - 48px));
    margin: 96px auto 0;

    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.brand-lines span:first-child {
    display: block;
    width: min(640px, 58vw);
    height: 8px;
    border-radius: 999px;
    background:
        linear-gradient(90deg,
            rgba(125, 211, 252, 0.55) 0%,
            rgba(125, 211, 252, 0.55) 20%,
            rgba(34, 184, 232, 0.88) 20%,
            rgba(34, 184, 232, 0.88) 40%,
            rgba(14, 165, 233, 0.98) 40%,
            rgba(14, 165, 233, 0.98) 62%,
            rgba(10, 61, 92, 0.96) 62%,
            rgba(10, 61, 92, 0.96) 82%,
            rgba(15, 23, 42, 0.92) 82%,
            rgba(15, 23, 42, 0.92) 100%);
}

.brand-lines span:last-child {
    display: block;
    width: min(170px, 16vw);
    height: 8px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.38);
}

.hero {
    position: relative;
    z-index: 4;
    width: min(1160px, calc(100% - 48px));
    margin: 0 auto;
}

.hero-centered {
    padding-top: clamp(140px, 11vw, 180px);
    text-align: center;
}

.hero-content {
    max-width: 840px;
    margin: 0 auto;
}

.hero-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: fit-content;
    min-height: 28px;
    padding: 0 13px;
    margin: 0 auto 18px;

    border-radius: 999px;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.22);
    background: rgba(var(--brand-primary-rgb), 0.08);

    color: var(--brand-primary);
    font-size: 0.78rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: -0.025em;
}

.hero-centered h1 {
    max-width: 850px;
    margin: 0 auto;

    color: #050b12;
    font-size: clamp(2.85rem, 6.2vw, 5.85rem);
    line-height: 0.92;
    font-weight: 800;
    letter-spacing: -0.05em;
}

.hero-centered h1 span {
    display: block;
    color: #0a3d5c;
}

.hero-centered p {
    max-width: 650px;
    margin: 26px auto 0;

    color: rgba(10, 61, 92, 0.72);
    font-size: clamp(1rem, 1.25vw, 1.13rem);
    line-height: 1.68;
    font-weight: 500;
    letter-spacing: -0.018em;
}

.hero-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.btn-primary,
.btn-secondary {
    min-height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 26px;
    border-radius: 999px;

    font-size: 0.92rem;
    line-height: 1;
    font-weight: 850;
    text-decoration: none;
    letter-spacing: -0.025em;

    transition:
        background 240ms ease,
        color 240ms ease,
        border-color 240ms ease,
        box-shadow 240ms ease;
}

.btn-primary {
    color: #ffffff;
    background: var(--brand-primary);
    box-shadow: 0 18px 38px rgba(var(--brand-primary-rgb), 0.22);
}

.btn-primary:hover {
    background: var(--brand-dark);
    box-shadow: 0 22px 46px rgba(var(--brand-primary-rgb), 0.28);
}

.btn-secondary {
    color: var(--brand-dark);
    background: rgba(255, 255, 255, 0.54);
    border: 1px solid rgba(var(--brand-primary-rgb), 0.22);
}

.btn-secondary:hover {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(var(--brand-primary-rgb), 0.36);
}

.hero-trust {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;

    margin-top: 30px;
}

.hero-trust span {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: rgba(10, 61, 92, 0.82);
    font-size: 0.86rem;
    line-height: 1;
    font-weight: 750;
    letter-spacing: -0.025em;
}

.hero-trust i {
    width: 16px;
    height: 16px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;
    background: #06b6d4;
}

.hero-trust i::before {
    content: "";
    width: 6px;
    height: 3px;

    border-left: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;

    transform: rotate(-45deg) translate(1px, -1px);
}

/* ========================================== */
/* HERO — DASHBOARD NA DIVISÃO                */
/* ========================================== */

.hero-dashboard-preview {
    position: absolute;
    left: 50%;
    bottom: var(--dashboard-overlap);
    z-index: 20;

    width: min(980px, calc(100% - 56px));

    transform: translateX(-50%);

    border-radius: 28px;
    overflow: hidden;

    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.92);

    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 36px 90px rgba(4, 30, 51, 0.16),
        0 0 0 1px rgba(255, 255, 255, 0.74) inset;
}

.dashboard-window-bar {
    height: 48px;

    display: flex;
    align-items: center;
    gap: 8px;

    padding: 0 20px;

    background:
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);

    border-bottom: 1px solid rgba(226, 232, 240, 0.78);
}

.dashboard-window-bar span {
    width: 11px;
    height: 11px;

    display: block;
    border-radius: 999px;
}

.dashboard-window-bar span:nth-child(1) {
    background: #E94D20;
}

.dashboard-window-bar span:nth-child(2) {
    background: #7BB400;
}

.dashboard-window-bar span:nth-child(3) {
    background: #019FE8;
}

.dashboard-window-bar span:nth-child(4) {
    background: #F7B301;
}

.hero-dashboard-preview img {
    width: 100%;
    height: auto;
    display: block;
}

/* ========================================== */
/* HEADINGS / REVEAL                          */
/* ========================================== */

.section-heading,
.resources-heading {
    max-width: 780px;
    margin: 0 auto 54px;
    text-align: center;
}

.section-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 28px;
    padding: 0 13px;
    margin-bottom: 18px;

    border-radius: 999px;
    border: 1px solid rgba(14, 165, 233, 0.18);
    background: rgba(240, 249, 255, 0.72);

    color: #0369a1;
    font-size: 0.78rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.section-heading h2,
.resources-heading h2 {
    margin: 0;

    color: #0f172a;
    font-size: clamp(2.3rem, 4vw, 4.15rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.075em;
}

.resources-heading h2 {
    font-size: clamp(2.35rem, 4.2vw, 4.35rem);
    line-height: 0.98;
}

.section-heading h2 span,
.resources-heading h2 span {
    color: #0369a1;
}

.section-heading p,
.resources-heading p {
    max-width: 660px;
    margin: 22px auto 0;

    color: rgba(71, 85, 105, 0.78);
    font-size: 1.08rem;
    line-height: 1.65;
    font-weight: 500;
    letter-spacing: -0.018em;
}

.scroll-reveal {
    opacity: 0;
    filter: blur(14px);
    transform: scale(0.985);
    transition:
        opacity 520ms ease,
        filter 520ms ease,
        transform 520ms var(--ease-out-expo);
}

.scroll-reveal.is-visible {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
}

/* ========================================== */
/* COMO FUNCIONA                              */
/* ========================================== */

.how-section {
    position: relative;
    z-index: 1;
    padding: var(--how-top-space) 24px 120px;
    background: #ffffff;
    overflow: hidden;
}

.how-section::before {
    content: "";
    position: absolute;
    top: 8%;
    right: -14%;
    width: 520px;
    height: 520px;
    border-radius: 999px;
    background: rgba(125, 211, 252, 0.18);
    filter: blur(80px);
    pointer-events: none;
}

.how-container,
.resources-container,
.security-container,
.audience-container {
    position: relative;
    z-index: 2;
    width: min(1160px, 100%);
    margin: 0 auto;
}

.how-tabs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);

    overflow: hidden;
    margin-bottom: 26px;

    border-radius: 18px;
    background: #f1f7fc;
    border: 1px solid rgba(226, 232, 240, 0.82);
}

.how-tab {
    min-height: 78px;

    display: flex;
    align-items: center;
    gap: 14px;

    padding: 0 20px;

    border: 0;
    border-radius: 0;
    background: transparent;
    color: #0a3d5c;
    cursor: pointer;

    font-family: inherit;
    text-align: left;

    transition:
        background 260ms ease,
        color 260ms ease,
        box-shadow 260ms ease;
}

.how-tab:hover {
    background: rgba(255, 255, 255, 0.54);
}

.how-tab.is-active {
    background: linear-gradient(135deg, #0a3d5c 0%, #0369a1 100%);
    color: #ffffff;
    box-shadow: 0 18px 42px rgba(10, 61, 92, 0.14);
}

.how-tab-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.how-tab-icon img {
    width: 28px;
    height: 28px;
    display: block;
    object-fit: contain;

    filter: brightness(0) saturate(100%);
    opacity: 0.9;

    transition:
        filter 240ms ease,
        opacity 240ms ease;
}

.how-tab:hover .how-tab-icon img {
    filter: brightness(0) saturate(100%);
    opacity: 1;
}

.how-tab.is-active .how-tab-icon img {
    filter: brightness(0) invert(1);
    opacity: 1;
}

.how-tab strong {
    display: block;

    font-size: 0.95rem;
    line-height: 1.05;
    font-weight: 850;
    letter-spacing: -0.035em;
}

.how-tab small {
    display: block;
    margin-top: 6px;

    color: rgba(10, 61, 92, 0.62);
    font-size: 0.8rem;
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: -0.015em;
}

.how-tab.is-active small {
    color: rgba(255, 255, 255, 0.78);
}

.how-panels {
    position: relative;
    min-height: 500px;
}

.how-panel {
    position: absolute;
    inset: 0;

    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: clamp(42px, 6vw, 88px);
    align-items: center;

    min-height: 500px;
    padding: clamp(42px, 5vw, 64px);
    border-radius: 24px;

    background:
        radial-gradient(circle at 92% 14%, rgba(125, 211, 252, 0.22), transparent 34%),
        #f1f7fc;

    border: 1px solid rgba(226, 232, 240, 0.78);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    filter: blur(12px);
    transform: scale(0.985);

    transition:
        opacity 360ms ease,
        visibility 0ms linear 360ms,
        filter 360ms ease,
        transform 360ms var(--ease-out-expo);
}

.how-panel.is-active {
    position: relative;

    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    filter: blur(0);
    transform: scale(1);

    transition:
        opacity 420ms ease,
        visibility 0ms linear 0ms,
        filter 420ms ease,
        transform 420ms var(--ease-out-expo);
}

.how-panel-copy {
    min-width: 0;
}

.how-panel-media {
    width: min(320px, 100%);
    aspect-ratio: 16 / 9;

    display: grid;
    place-items: center;

    margin-bottom: 26px;
    border-radius: 22px;

    background:
        radial-gradient(circle at 70% 28%, rgba(125, 211, 252, 0.26), transparent 44%),
        rgba(255, 255, 255, 0.58);

    border: 1px solid rgba(226, 232, 240, 0.76);
    overflow: hidden;
}

.how-panel-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.how-panel-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 28px;
    padding: 0 12px;
    margin-bottom: 18px;

    border-radius: 999px;
    border: 1px solid rgba(14, 165, 233, 0.18);
    background: rgba(255, 255, 255, 0.72);

    color: #0369a1;
    font-size: 0.78rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.how-panel h3 {
    max-width: 520px;
    min-height: 2.15em;
    margin: 0;

    color: #0f172a;
    font-size: clamp(1.72rem, 2.25vw, 2.36rem);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.058em;
}

.how-panel p {
    max-width: 520px;
    min-height: 6.6em;
    margin: 20px 0 0;

    color: rgba(71, 85, 105, 0.78);
    font-size: 1rem;
    line-height: 1.72;
    font-weight: 500;
    letter-spacing: -0.016em;
}

.how-panel-link {
    min-height: 46px;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-top: 28px;
    padding: 0 20px;

    border-radius: 999px;

    color: #ffffff;
    background: linear-gradient(135deg, #0a3d5c 0%, #0369a1 100%);

    font-size: 0.9rem;
    line-height: 1;
    font-weight: 800;
    text-decoration: none;
    letter-spacing: -0.02em;

    transition:
        background 240ms ease,
        box-shadow 240ms ease;
}

.how-panel-link:hover {
    box-shadow: 0 16px 34px rgba(10, 61, 92, 0.18);
}

.how-panel-link svg {
    width: 20px;
    height: 20px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2.15;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.how-panel-info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.how-info-card {
    min-height: 76px;

    display: flex;
    align-items: center;
    gap: 14px;

    padding: 18px 20px;
    border-radius: 18px;

    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(226, 232, 240, 0.88);

    transition:
        border-color 240ms ease,
        background 240ms ease;
}

.how-info-card:hover {
    border-color: rgba(14, 165, 233, 0.34);
    background: rgba(255, 255, 255, 0.96);
}

.check-icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: rgba(14, 165, 233, 0.09);
    color: #0369a1;

    font-size: 0.9rem;
    font-weight: 900;
}

.how-info-card strong {
    color: #0f172a;
    font-size: 0.95rem;
    line-height: 1.28;
    font-weight: 800;
    letter-spacing: -0.025em;
}

/* ========================================== */
/* RECURSOS                                   */
/* ========================================== */

.resources-section {
    position: relative;
    padding: 120px 24px;
    background:
        radial-gradient(circle at 16% 12%, rgba(125, 211, 252, 0.18), transparent 32%),
        radial-gradient(circle at 88% 22%, rgba(14, 165, 233, 0.12), transparent 34%),
        #f6fbff;

    overflow: hidden;
}

.resources-section::before,
.security-section::before,
.audience-section::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;

    width: min(1160px, calc(100% - 48px));
    height: 1px;

    transform: translateX(-50%);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(10, 61, 92, 0.14),
        transparent
    );
}

.resources-grid {
    display: grid;
    grid-template-columns: 1.18fr 0.82fr;
    grid-template-rows: 280px 280px 300px;
    gap: 18px;
}

.resource-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    display: flex;
    align-items: flex-end;

    min-height: 280px;
    padding: 34px;

    border-radius: 24px;
    border: 1px solid rgba(226, 232, 240, 0.9);

    background: #0a3d5c;
    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 22px 48px rgba(4, 30, 51, 0.08);

    transition:
        border-color 280ms ease,
        box-shadow 280ms ease,
        background 280ms ease;
}

.resource-card:hover {
    border-color: rgba(14, 165, 233, 0.42);
    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 28px 62px rgba(4, 30, 51, 0.11);
}

.resource-card-large {
    grid-row: span 2;
    min-height: 578px;
    padding: 42px;
}

.resource-card-small {
    min-height: 280px;
    padding: 28px;
}

.resource-card-wide {
    grid-column: span 2;
    min-height: 300px;
    padding: 34px 42px;
    align-items: center;
}

.resource-card-bg {
    position: absolute;
    inset: 0;
    z-index: -3;

    background:
        radial-gradient(circle at 75% 18%, rgba(125, 211, 252, 0.22), transparent 34%),
        linear-gradient(135deg, #0a3d5c 0%, #0369a1 100%);
}

.resource-card-bg video {
    width: 100%;
    height: 100%;

    display: block;
    object-fit: cover;

    opacity: 0.34;
    filter: saturate(0.9) contrast(1.02);
}

.resource-card-overlay {
    position: absolute;
    inset: 0;
    z-index: -2;

    background:
        linear-gradient(
            180deg,
            rgba(2, 12, 20, 0.08) 0%,
            rgba(2, 12, 20, 0.44) 48%,
            rgba(2, 12, 20, 0.84) 100%
        );
}

.resource-card-blue .resource-card-bg {
    background:
        radial-gradient(circle at 82% 18%, rgba(125, 211, 252, 0.30), transparent 34%),
        linear-gradient(135deg, #0a3d5c 0%, #075985 100%);
}

.resource-card-light {
    background: #eaf7fd;
}

.resource-card-light .resource-card-bg {
    background:
        radial-gradient(circle at 80% 14%, rgba(14, 165, 233, 0.24), transparent 38%),
        linear-gradient(135deg, #eaf7fd 0%, #dff4fb 100%);
}

.resource-card-light .resource-card-bg video {
    opacity: 0.22;
}

.resource-card-light .resource-card-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.08) 0%,
            rgba(234, 247, 253, 0.62) 46%,
            rgba(234, 247, 253, 0.96) 100%
        );
}

.resource-card-content {
    width: 100%;
    max-width: 640px;
}

.resource-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 26px;
    padding: 0 11px;
    margin-bottom: 16px;

    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.10);

    color: rgba(255, 255, 255, 0.88);
    font-size: 0.7rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: -0.02em;
}

.resource-card h3 {
    max-width: 640px;
    margin: 0;

    color: #ffffff;
    font-size: clamp(1.55rem, 2.2vw, 2.38rem);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.058em;
}

.resource-card p {
    max-width: 600px;
    margin: 18px 0 0;

    color: rgba(255, 255, 255, 0.78);
    font-size: 0.96rem;
    line-height: 1.62;
    font-weight: 500;
    letter-spacing: -0.016em;
}

.resource-card-small .resource-card-content {
    max-width: 380px;
}

.resource-card-small h3 {
    max-width: 360px;
    font-size: clamp(1.28rem, 1.45vw, 1.58rem);
    line-height: 1.12;
    letter-spacing: -0.052em;
}

.resource-card-small p {
    max-width: 360px;
    margin-top: 14px;

    font-size: 0.88rem;
    line-height: 1.5;
}

.resource-card-wide .resource-card-content {
    max-width: 760px;
}

.resource-card-wide h3 {
    max-width: 760px;
    font-size: clamp(1.55rem, 2.2vw, 2.35rem);
    line-height: 1.08;
}

.resource-card-wide p {
    max-width: 680px;
}

.resource-card-light .resource-kicker {
    color: #0369a1;
    background: rgba(255, 255, 255, 0.62);
    border-color: rgba(14, 165, 233, 0.18);
}

.resource-card-light h3 {
    color: #0f172a;
}

.resource-card-light p {
    color: rgba(71, 85, 105, 0.82);
}

.resource-link {
    min-height: 42px;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-top: 24px;
    padding: 0 18px;

    border-radius: 999px;

    color: #0a3d5c;
    background: #ffffff;

    font-size: 0.78rem;
    line-height: 1;
    font-weight: 850;
    text-decoration: none;
    letter-spacing: 0.02em;
    text-transform: uppercase;

    transition:
        background 240ms ease,
        color 240ms ease,
        box-shadow 240ms ease;
}

.resource-link:hover {
    background: #eaf7fd;
    box-shadow: 0 14px 30px rgba(255, 255, 255, 0.12);
}

.resource-card-light .resource-link {
    color: #ffffff;
    background: #0a3d5c;
}

.resource-card-light .resource-link:hover {
    background: #0369a1;
    box-shadow: 0 16px 34px rgba(10, 61, 92, 0.16);
}

.resource-link svg,
.security-panel-footer svg,
.audience-cta svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.resource-link svg {
    width: 18px;
    height: 18px;
    stroke-width: 2.2;
}

/* ========================================== */
/* SEGURANÇA E GOVERNANÇA                     */
/* ========================================== */

.security-section {
    position: relative;
    padding: 124px 24px;
    background:
        radial-gradient(circle at 18% 20%, rgba(125, 211, 252, 0.16), transparent 34%),
        radial-gradient(circle at 82% 70%, rgba(14, 165, 233, 0.10), transparent 34%),
        #ffffff;

    overflow: hidden;
}

.security-container {
    display: grid;
    grid-template-columns: 0.86fr 1.14fr;
    gap: clamp(54px, 7vw, 96px);
    align-items: center;
}

.security-copy {
    max-width: 500px;
}

.security-copy h2 {
    margin: 0;

    color: #0f172a;
    font-size: clamp(2.35rem, 4.35vw, 4.45rem);
    line-height: 0.98;
    font-weight: 800;
    letter-spacing: -0.078em;
}

.security-copy h2 span {
    display: block;
    color: #0369a1;
}

.security-copy p {
    margin: 24px 0 0;

    color: rgba(71, 85, 105, 0.78);
    font-size: 1.08rem;
    line-height: 1.72;
    font-weight: 500;
    letter-spacing: -0.018em;
}

.security-note {
    margin-top: 34px;
    padding: 22px 24px;

    border-radius: 22px;
    background: rgba(240, 249, 255, 0.78);
    border: 1px solid rgba(14, 165, 233, 0.16);
}

.security-note strong {
    display: block;

    color: #0a3d5c;
    font-size: 0.95rem;
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: -0.035em;
}

.security-note span {
    display: block;
    margin-top: 8px;

    color: rgba(71, 85, 105, 0.78);
    font-size: 0.94rem;
    line-height: 1.55;
    font-weight: 500;
    letter-spacing: -0.015em;
}

.security-panel {
    position: relative;
    overflow: hidden;

    padding: 22px;
    border-radius: 30px;

    background:
        radial-gradient(circle at 88% 10%, rgba(125, 211, 252, 0.20), transparent 32%),
        linear-gradient(135deg, rgba(10, 61, 92, 0.98) 0%, rgba(3, 105, 161, 0.96) 100%);

    border: 1px solid rgba(255, 255, 255, 0.18);

    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.14) inset,
        0 28px 70px rgba(4, 30, 51, 0.16);
}

.security-panel::before {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.security-panel-header,
.security-panel-footer {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.security-panel-header {
    padding: 8px 8px 22px;
}

.security-panel-header span,
.security-panel-footer span {
    display: block;
    color: rgba(255, 255, 255, 0.64);
    font-size: 0.78rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.security-panel-header strong {
    color: #ffffff;
    font-size: 0.92rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: -0.025em;
}

.security-list {
    position: relative;
    z-index: 2;

    display: grid;
    gap: 12px;
}

.security-item {
    min-height: 116px;

    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 18px;
    align-items: flex-start;

    padding: 22px;
    border-radius: 22px;

    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.12);

    transition:
        background 260ms ease,
        border-color 260ms ease,
        box-shadow 260ms ease;
}

.security-item:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(125, 211, 252, 0.36);
}

.security-item.is-featured {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(255, 255, 255, 0.72);
}

.security-item-marker {
    width: 48px;
    height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 16px;

    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.78);

    font-size: 0.76rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0.04em;
}

.security-item.is-featured .security-item-marker {
    background: rgba(14, 165, 233, 0.10);
    color: #0369a1;
}

.security-item h3 {
    margin: 0;

    color: #ffffff;
    font-size: 1.08rem;
    line-height: 1.12;
    font-weight: 850;
    letter-spacing: -0.04em;
}

.security-item p {
    max-width: 500px;
    margin: 10px 0 0;

    color: rgba(255, 255, 255, 0.68);
    font-size: 0.92rem;
    line-height: 1.55;
    font-weight: 500;
    letter-spacing: -0.015em;
}

.security-item.is-featured h3 {
    color: #0f172a;
}

.security-item.is-featured p {
    color: rgba(71, 85, 105, 0.78);
}

.security-panel-footer {
    margin-top: 14px;
    padding: 20px 8px 4px;
}

.security-panel-footer span {
    color: rgba(255, 255, 255, 0.54);
    font-size: 0.72rem;
}

.security-panel-footer strong {
    display: block;
    margin-top: 8px;

    color: #ffffff;
    font-size: 1rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: -0.035em;
}

.security-panel-footer a {
    min-height: 44px;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 0 18px;
    border-radius: 999px;

    color: #0a3d5c;
    background: #ffffff;

    font-size: 0.82rem;
    line-height: 1;
    font-weight: 850;
    text-decoration: none;
    letter-spacing: -0.018em;

    transition:
        background 240ms ease,
        box-shadow 240ms ease;
}

.security-panel-footer a:hover {
    background: #eaf7fd;
    box-shadow: 0 14px 30px rgba(255, 255, 255, 0.12);
}

.security-panel-footer svg {
    width: 18px;
    height: 18px;
    stroke-width: 2.2;
}

/* ========================================== */
/* PARA QUEM É                                */
/* ========================================== */

.audience-section {
    position: relative;
    padding: 124px 24px;
    background:
        radial-gradient(circle at 12% 18%, rgba(125, 211, 252, 0.16), transparent 34%),
        radial-gradient(circle at 88% 70%, rgba(14, 165, 233, 0.10), transparent 34%),
        #f7fbfe;

    overflow: hidden;
}

.audience-container {
    display: grid;
    grid-template-columns: 0.88fr 1.12fr;
    gap: clamp(64px, 8vw, 118px);
    align-items: center;
}

.audience-copy {
    max-width: 520px;
}

.audience-kicker {
    display: block;
    margin-bottom: 22px;

    color: #0a3d5c;
    font-size: 0.86rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: -0.025em;
}

.audience-copy h2 {
    margin: 0;

    color: #0f172a;
    font-size: clamp(2.6rem, 4.6vw, 4.85rem);
    line-height: 1.03;
    font-weight: 800;
    letter-spacing: -0.082em;
}

.audience-copy h2 span {
    color: #06b6d4;
}

.audience-copy p {
    max-width: 440px;
    margin: 26px 0 0;

    color: rgba(71, 85, 105, 0.76);
    font-size: 1.08rem;
    line-height: 1.74;
    font-weight: 500;
    letter-spacing: -0.018em;
}

.audience-cta {
    min-height: 48px;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-top: 36px;
    padding: 0 22px;

    border-radius: 999px;

    color: #ffffff;
    background: linear-gradient(135deg, #0a3d5c 0%, #0369a1 100%);

    font-size: 0.9rem;
    line-height: 1;
    font-weight: 850;
    text-decoration: none;
    letter-spacing: -0.02em;

    box-shadow: 0 16px 34px rgba(10, 61, 92, 0.16);

    transition:
        background 240ms ease,
        box-shadow 240ms ease;
}

.audience-cta:hover {
    background: linear-gradient(135deg, #075985 0%, #0284c7 100%);
    box-shadow: 0 20px 42px rgba(14, 165, 233, 0.22);
}

.audience-cta svg {
    width: 19px;
    height: 19px;
    stroke-width: 2.2;
}

.audience-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(52px, 6vw, 86px);
    row-gap: 54px;
}

.audience-item {
    min-width: 0;
}

.audience-icon {
    width: 62px;
    height: 62px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 22px;
    border-radius: 18px;

    background:
        radial-gradient(circle at 30% 18%, rgba(255, 255, 255, 0.32), transparent 40%),
        linear-gradient(135deg, #0a3d5c 0%, #06b6d4 100%);

    box-shadow:
        0 18px 36px rgba(14, 165, 233, 0.18),
        0 1px 0 rgba(255, 255, 255, 0.22) inset;
}

.audience-icon img {
    width: 30px;
    height: 30px;

    display: block;
    object-fit: contain;

    filter: brightness(0) invert(1);
}

.audience-item h3 {
    margin: 0;

    color: #0f172a;
    font-size: 1.18rem;
    line-height: 1.12;
    font-weight: 850;
    letter-spacing: -0.045em;
}

.audience-item p {
    max-width: 280px;
    margin: 15px 0 0;

    color: rgba(71, 85, 105, 0.74);
    font-size: 0.98rem;
    line-height: 1.68;
    font-weight: 500;
    letter-spacing: -0.016em;
}

/* ========================================== */
/* DRAWER                                     */
/* ========================================== */

.drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 9997;

    background: rgba(2, 12, 20, 0.42);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);

    opacity: 0;
    pointer-events: none;

    transition:
        opacity 360ms ease,
        backdrop-filter 360ms ease;
}

.drawer-overlay.is-active {
    opacity: 1;
    pointer-events: auto;
}

.side-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9998;

    width: min(460px, 100vw);
    height: 100vh;

    padding: 48px 38px 34px;

    background: rgba(255, 255, 255, 0.96);
    border-left: 1px solid rgba(226, 232, 240, 0.9);

    box-shadow:
        -24px 0 80px rgba(4, 30, 51, 0.20),
        -1px 0 0 rgba(255, 255, 255, 0.70) inset;

    transform: translateX(104%);
    opacity: 0;
    visibility: hidden;

    overflow-y: auto;

    transition:
        transform 520ms var(--ease-out-expo),
        opacity 360ms ease,
        visibility 0ms linear 520ms;
}

.side-drawer.is-active {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;

    transition:
        transform 520ms var(--ease-out-expo),
        opacity 360ms ease,
        visibility 0ms linear 0ms;
}

.drawer-close {
    position: absolute;
    top: 22px;
    right: 22px;

    width: 36px;
    height: 36px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    border: 0;
    border-radius: 999px;

    background: transparent;
    color: #0a3d5c;
    cursor: pointer;

    transition:
        background 220ms ease,
        transform 220ms var(--ease-out-expo);
}

.drawer-close:hover {
    transform: rotate(90deg);
    background: rgba(10, 61, 92, 0.08);
}

.drawer-close svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.drawer-header {
    display: flex;
    align-items: center;
    margin-bottom: 34px;
}

.drawer-header img {
    display: block;
    width: 250px;
    height: auto;
}

.drawer-search {
    height: 54px;
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 38px;
    padding: 0 16px 0 20px;

    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow: 0 1px 2px rgba(4, 30, 51, 0.04);
}

.drawer-search input {
    width: 100%;
    height: 100%;

    border: 0;
    outline: 0;
    background: transparent;

    color: #0f172a;
    font: inherit;
    font-size: 0.98rem;
    font-weight: 600;
}

.drawer-search input::placeholder {
    color: rgba(71, 85, 105, 0.72);
}

.drawer-search button {
    width: 34px;
    height: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(10, 61, 92, 0.70);
    cursor: pointer;
}

.drawer-search button svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
}

.drawer-actions {
    display: grid;
    gap: 14px;
}

.drawer-action-card {
    min-height: 92px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding: 18px 20px;
    border-radius: 18px;

    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.10);

    color: #0f172a;
    text-decoration: none;

    transition:
        border-color 260ms ease,
        box-shadow 260ms ease,
        background 260ms ease;
}

.drawer-action-card:hover {
    border-color: rgba(6, 182, 212, 1);
}

.drawer-action-content {
    min-width: 0;
}

.drawer-action-content strong {
    display: block;

    color: #0f172a;
    font-size: 1.12rem;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.045em;
}

.drawer-action-card-primary .drawer-action-content strong {
    color: #06b6d4;
}

.drawer-action-content span {
    display: block;
    margin-top: 8px;

    color: rgba(15, 23, 42, 0.56);
    font-size: 0.94rem;
    line-height: 1.34;
    font-weight: 600;
    letter-spacing: -0.025em;
}

.drawer-action-arrow {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.10);

    color: #06b6d4;

    transition:
        background 260ms ease,
        border-color 260ms ease,
        color 260ms ease,
        box-shadow 260ms ease;
}

.drawer-action-card-primary .drawer-action-arrow {
    background: #06b6d4;
    border-color: #06b6d4;
    color: #ffffff;

    box-shadow:
        0 12px 26px rgba(6, 182, 212, 0.24),
        0 1px 0 rgba(255, 255, 255, 0.28) inset;
}

.drawer-action-arrow svg {
    width: 25px;
    height: 25px;
    display: block;

    fill: none;
    stroke: currentColor;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.drawer-action-card:not(.drawer-action-card-primary):hover .drawer-action-arrow {
    background: rgba(6, 182, 212, 0.10);
    border-color: rgba(6, 182, 212, 0.42);
    color: #0891b2;
}

.drawer-divider {
    width: 100%;
    height: 1px;

    margin: 40px 0 32px;

    background: rgba(148, 163, 184, 0.28);
}

.drawer-links {
    display: grid;
    gap: 18px;
}

.drawer-links a {
    display: flex;
    align-items: center;
    gap: 12px;

    color: #0f172a;
    text-decoration: none;

    font-size: 1rem;
    line-height: 1;
    font-weight: 750;
    letter-spacing: -0.025em;

    transition:
        color 220ms ease,
        opacity 220ms ease;
}

.drawer-links a span {
    width: 26px;

    color: rgba(3, 105, 161, 0.45);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.drawer-links a:hover {
    color: #0369a1;
}

.drawer-social {
    position: sticky;
    top: 100%;
    bottom: 0;

    display: flex;
    justify-content: center;
    gap: 10px;

    padding-top: 72px;
}

.drawer-social a {
    width: 48px;
    height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 16px;
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.28);

    color: #0f172a;
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 900;

    transition:
        border-color 240ms ease,
        color 240ms ease;
}

.drawer-social a:hover {
    border-color: rgba(14, 165, 233, 0.32);
    color: #0369a1;
}

/* ========================================== */
/* RESPONSIVO                                 */
/* ========================================== */

@media (max-width: 980px) {
    :root {
        --hero-bottom-space: 190px;
        --dashboard-overlap: -245px;
        --how-top-space: 300px;
    }

    .navbar {
        width: min(100% - 28px, 1160px);
        min-height: 68px;
        top: 14px;
        padding: 10px 0;
    }

    .navbar.is-scrolled {
        top: 0;
        width: 100%;
        min-height: 70px;
        padding: 9px 22px;
        border-radius: 0;
    }

    .navbar-brand {
        min-width: auto;
    }

    .navbar-brand img {
        width: 144px;
    }

    .navbar-links {
        display: none;
    }

    .navbar-right {
        gap: 10px;
    }

    .navbar-icon-btn {
        width: 48px;
        height: 48px;
    }

    .navbar-cta {
        min-height: 48px;
        padding: 0 20px;
    }

    .brand-lines {
        width: min(100% - 44px, 1160px);
        margin-top: 104px;
    }

    .hero {
        width: min(100% - 44px, 1160px);
    }

    .hero-centered h1 {
        font-size: clamp(3rem, 9vw, 5rem);
    }

    .hero-dashboard-preview {
        width: min(900px, calc(100% - 36px));
        border-radius: 24px;
    }

    .dashboard-window-bar {
        height: 42px;
    }

    .how-tabs {
        grid-template-columns: 1fr;
    }

    .how-tab {
        min-height: 72px;
    }

    .how-panels {
        min-height: auto;
    }

    .how-panel,
    .how-panel.is-active {
        position: relative;
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .how-panel:not(.is-active) {
        position: absolute;
    }

    .how-panel-info {
        grid-template-columns: 1fr;
    }

    .resources-section,
    .security-section,
    .audience-section {
        padding-left: 22px;
        padding-right: 22px;
    }

    .resources-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .resource-card,
    .resource-card-large,
    .resource-card-wide,
    .resource-card-small {
        grid-column: auto;
        grid-row: auto;
        min-height: 360px;
    }

    .resource-card-small .resource-card-content,
    .resource-card-wide .resource-card-content {
        max-width: 640px;
    }

    .security-container,
    .audience-container {
        grid-template-columns: 1fr;
        gap: 56px;
    }

    .security-copy,
    .audience-copy {
        max-width: 720px;
    }
}

@media (max-width: 640px) {
    :root {
        --hero-bottom-space: 130px;
        --dashboard-overlap: -150px;
        --how-top-space: 210px;
    }

    .site-header::after {
        height: 84px;
    }

    .navbar {
        width: min(100% - 24px, 1160px);
        min-height: 64px;
        top: 12px;
        padding: 8px 0;
    }

    .navbar.is-scrolled {
        top: 0;
        width: 100%;
        min-height: 66px;
        padding: 8px 18px;
        border-radius: 0;
    }

    .navbar-brand img {
        width: 136px;
    }

    .navbar-icon-btn {
        width: 44px;
        height: 44px;
    }

    .navbar-icon-btn svg {
        width: 22px;
        height: 22px;
    }

    .navbar-cta {
        display: none;
    }

    .brand-lines {
        gap: 18px;
        margin-top: 96px;
        width: calc(100% - 36px);
    }

    .brand-lines span:first-child {
        width: 68vw;
        height: 7px;
    }

    .brand-lines span:last-child {
        width: 16vw;
        height: 7px;
    }

    .hero {
        width: calc(100% - 36px);
    }

    .hero-centered {
        padding-top: 72px;
    }

    .hero-kicker {
        margin-bottom: 18px;
    }

    .hero-centered h1 {
        font-size: clamp(2.65rem, 13vw, 4.75rem);
        line-height: 0.9;
        letter-spacing: -0.062em;
    }

    .hero-centered p {
        margin-top: 24px;
        font-size: 0.98rem;
    }

    .hero-actions {
        margin-top: 28px;
    }

    .btn-primary,
    .btn-secondary {
        width: 100%;
    }

    .hero-trust {
        gap: 12px;
        align-items: center;
        flex-direction: column;
    }

    .hero-dashboard-preview {
        width: calc(100% - 28px);
        border-radius: 20px;
    }

    .dashboard-window-bar {
        height: 36px;
        padding: 0 16px;
        gap: 7px;
    }

    .dashboard-window-bar span {
        width: 9px;
        height: 9px;
    }

    .header-clouds span:nth-child(1) {
        width: 360px;
        height: 130px;
        left: -24%;
        top: 18%;
    }

    .header-clouds span:nth-child(2) {
        width: 420px;
        height: 150px;
        right: -34%;
        top: 12%;
    }

    .header-clouds span:nth-child(3) {
        width: 520px;
        height: 180px;
        left: 10%;
        top: 48%;
    }

    .how-section {
        padding-left: 18px;
        padding-right: 18px;
        padding-bottom: 78px;
    }

    .section-heading,
    .resources-heading {
        margin-bottom: 38px;
        text-align: left;
    }

    .section-heading h2,
    .resources-heading h2 {
        font-size: clamp(2.15rem, 10vw, 3.35rem);
    }

    .section-heading p,
    .resources-heading p {
        margin-left: 0;
        margin-right: 0;
        font-size: 1rem;
    }

    .how-panel {
        padding: 28px 22px;
        border-radius: 22px;
    }

    .how-panel-media {
        width: 100%;
        margin-bottom: 22px;
    }

    .how-panel h3 {
        min-height: auto;
        font-size: clamp(1.65rem, 8vw, 2.2rem);
    }

    .how-panel p {
        min-height: auto;
    }

    .how-panel-info {
        gap: 12px;
    }

    .resources-section,
    .security-section,
    .audience-section {
        padding: 78px 18px;
    }

    .resource-card,
    .resource-card-large,
    .resource-card-wide,
    .resource-card-small {
        min-height: 360px;
        padding: 28px 22px;
        border-radius: 22px;
    }

    .resource-card h3,
    .resource-card-small h3,
    .resource-card-wide h3 {
        max-width: 100%;
        font-size: clamp(1.48rem, 7vw, 2.05rem);
        line-height: 1.1;
    }

    .resource-card p,
    .resource-card-small p,
    .resource-card-wide p {
        max-width: 100%;
        font-size: 0.92rem;
    }

    .security-copy h2,
    .audience-copy h2 {
        font-size: clamp(2.2rem, 10vw, 3.45rem);
        letter-spacing: -0.07em;
    }

    .security-panel,
    .security-item {
        border-radius: 22px;
    }

    .security-panel {
        padding: 18px;
    }

    .security-item {
        grid-template-columns: 42px 1fr;
        padding: 18px;
    }

    .security-item-marker {
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }

    .security-panel-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .audience-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .audience-item p {
        max-width: 100%;
    }

    .audience-cta {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .side-drawer {
        width: min(430px, 100vw);
        padding: 42px 24px 28px;
    }

    .drawer-header img {
        width: 256px;
    }

    .drawer-action-card {
        min-height: 86px;
        padding: 17px 18px;
        border-radius: 17px;
    }

    .drawer-action-content strong {
        font-size: 1.03rem;
    }

    .drawer-action-content span {
        font-size: 0.88rem;
    }

    .drawer-action-arrow {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
        border-radius: 16px;
    }

    .drawer-action-arrow svg {
        width: 23px;
        height: 23px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}

.hero-centered h1 span,
.section-heading h2 span,
.resources-heading h2 span,
.security-copy h2 span,
.audience-copy h2 span {
    color: var(--brand-primary);
}

.section-eyebrow,
.how-panel-badge {
    color: var(--brand-primary);
    border-color: rgba(var(--brand-primary-rgb), 0.22);
    background: rgba(var(--brand-primary-rgb), 0.08);
}

.navbar-links a {
    color: var(--brand-deep);
}

.navbar-links a:hover {
    color: var(--brand-primary);
}

.navbar-icon-btn {
    background: transparent;
    color: var(--brand-deep);
}

.navbar-icon-btn:hover {
    background: rgba(var(--brand-primary-rgb), 0.10);
    color: var(--brand-primary);
}

.navbar-cta {
    color: #ffffff;
    background: var(--brand-primary);
    box-shadow: 0 14px 30px rgba(var(--brand-primary-rgb), 0.20);
}

.navbar-cta:hover {
    background: var(--brand-dark);
    box-shadow: 0 18px 36px rgba(var(--brand-primary-rgb), 0.28);
}

.navbar.is-scrolled {
    background:
        linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-dark) 100%);

    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.16) inset,
        0 18px 44px rgba(var(--brand-primary-rgb), 0.24);
}

.hero-trust i {
    background: var(--brand-primary);
}

.hero-trust span {
    color: var(--brand-deep);
}

.how-tab {
    color: var(--brand-deep);
}

.how-tab.is-active {
    background: var(--brand-primary);
    color: #ffffff;
    box-shadow: 0 18px 42px rgba(var(--brand-primary-rgb), 0.18);
}

.how-tab small {
    color: rgba(7, 87, 107, 0.66);
}

.how-tab.is-active small {
    color: rgba(255, 255, 255, 0.84);
}

.how-panel-link,
.audience-cta {
    color: #ffffff;
    background: var(--brand-primary);
    box-shadow: 0 16px 34px rgba(var(--brand-primary-rgb), 0.18);
}

.how-panel-link:hover,
.audience-cta:hover {
    background: var(--brand-dark);
    box-shadow: 0 20px 42px rgba(var(--brand-primary-rgb), 0.24);
}

.resource-card {
    background: var(--brand-deep);
}

.resource-card-bg {
    background:
        radial-gradient(circle at 75% 18%, rgba(255, 255, 255, 0.18), transparent 34%),
        linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-dark) 100%);
}

.resource-card-blue .resource-card-bg {
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.22), transparent 34%),
        linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-dark) 100%);
}

.resource-card-light {
    background: var(--brand-soft);
}

.resource-card-light .resource-kicker {
    color: var(--brand-primary);
    border-color: rgba(var(--brand-primary-rgb), 0.22);
}

.resource-card-light .resource-link {
    color: #ffffff;
    background: var(--brand-primary);
}

.resource-card-light .resource-link:hover {
    background: var(--brand-dark);
}

.security-panel {
    background:
        radial-gradient(circle at 88% 10%, rgba(255, 255, 255, 0.18), transparent 32%),
        linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-dark) 100%);

    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.14) inset,
        0 28px 70px rgba(var(--brand-primary-rgb), 0.18);
}

.security-item.is-featured .security-item-marker {
    background: rgba(var(--brand-primary-rgb), 0.10);
    color: var(--brand-primary);
}

.security-panel-footer a {
    color: var(--brand-dark);
    background: #ffffff;
}

.audience-icon {
    background:
        radial-gradient(circle at 30% 18%, rgba(255, 255, 255, 0.32), transparent 40%),
        linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-dark) 100%);

    box-shadow:
        0 18px 36px rgba(var(--brand-primary-rgb), 0.20),
        0 1px 0 rgba(255, 255, 255, 0.22) inset;
}

/* ========================================== */
/* SEGURANÇA — PAINEL DIREITO SIMPLES          */
/* ========================================== */

.security-simple-panel {
    position: relative;
    overflow: hidden;

    padding: 34px;
    border-radius: 30px;

    background:
        radial-gradient(circle at 88% 8%, rgba(var(--brand-primary-rgb), 0.12), transparent 34%),
        #ffffff;

    border: 1px solid rgba(var(--brand-primary-rgb), 0.16);

    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 28px 70px rgba(4, 30, 51, 0.08);
}

.security-simple-head {
    max-width: 460px;
    margin-bottom: 30px;
}

.security-simple-head span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 28px;
    padding: 0 13px;
    margin-bottom: 18px;

    border-radius: 999px;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.22);
    background: rgba(var(--brand-primary-rgb), 0.08);

    color: var(--brand-primary);
    font-size: 0.76rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: -0.025em;
}

.security-simple-head strong {
    display: block;

    color: #0f172a;
    font-size: clamp(1.65rem, 2.15vw, 2.25rem);
    line-height: 1.06;
    font-weight: 850;
    letter-spacing: -0.06em;
}

.security-simple-steps {
    position: relative;
    display: grid;
    gap: 14px;
}

.security-simple-steps::before {
    content: "";
    position: absolute;
    left: 23px;
    top: 34px;
    bottom: 34px;

    width: 1px;
    background: linear-gradient(
        180deg,
        rgba(var(--brand-primary-rgb), 0.34),
        rgba(var(--brand-primary-rgb), 0.08)
    );
}

.security-simple-step {
    position: relative;
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 18px;

    padding: 18px 20px;
    border-radius: 22px;

    background: rgba(248, 252, 255, 0.86);
    border: 1px solid rgba(226, 232, 240, 0.82);

    transition:
        border-color 240ms ease,
        background 240ms ease,
        box-shadow 240ms ease;
}

.security-simple-step:hover {
    border-color: rgba(var(--brand-primary-rgb), 0.26);
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(4, 30, 51, 0.06);
}

.security-step-number {
    position: relative;
    z-index: 2;

    width: 48px;
    height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 16px;

    color: #ffffff;
    background: var(--brand-primary);

    font-size: 0.76rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.025em;

    box-shadow:
        0 14px 28px rgba(var(--brand-primary-rgb), 0.20),
        0 1px 0 rgba(255, 255, 255, 0.28) inset;
}

.security-simple-step span {
    display: block;

    color: var(--brand-primary);
    font-size: 0.72rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.security-simple-step h3 {
    margin: 8px 0 0;

    color: #0f172a;
    font-size: 1.08rem;
    line-height: 1.1;
    font-weight: 850;
    letter-spacing: -0.04em;
}

.security-simple-step p {
    max-width: 440px;
    margin: 10px 0 0;

    color: rgba(71, 85, 105, 0.76);
    font-size: 0.94rem;
    line-height: 1.58;
    font-weight: 500;
    letter-spacing: -0.016em;
}

.security-simple-cta {
    min-height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    margin-top: 24px;
    padding: 0 22px;

    border-radius: 999px;

    color: #ffffff;
    background: var(--brand-primary);

    font-size: 0.88rem;
    line-height: 1;
    font-weight: 850;
    text-decoration: none;
    letter-spacing: -0.02em;

    box-shadow: 0 16px 34px rgba(var(--brand-primary-rgb), 0.20);

    transition:
        background 240ms ease,
        box-shadow 240ms ease;
}

.security-simple-cta:hover {
    background: var(--brand-dark);
    box-shadow: 0 20px 42px rgba(var(--brand-primary-rgb), 0.26);
}

.security-simple-cta svg {
    width: 19px;
    height: 19px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ========================================== */
/* ECONOMIA E PREVISIBILIDADE                  */
/* ========================================== */

.savings-section {
    position: relative;
    padding: 124px 24px;
    background:
        radial-gradient(circle at 12% 16%, rgba(var(--brand-primary-rgb), 0.12), transparent 34%),
        radial-gradient(circle at 88% 72%, rgba(var(--brand-primary-rgb), 0.10), transparent 36%),
        #ffffff;

    overflow: hidden;
}

.savings-section::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;

    width: min(1160px, calc(100% - 48px));
    height: 1px;

    transform: translateX(-50%);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(var(--brand-primary-rgb), 0.18),
        transparent
    );
}

.savings-container {
    position: relative;
    z-index: 2;

    width: min(1160px, 100%);
    margin: 0 auto;
}

.savings-heading {
    max-width: 860px;
    margin: 0 auto 62px;
    text-align: center;
}

.savings-heading h2 {
    margin: 0;

    color: #0f172a;
    font-size: clamp(2.35rem, 4.3vw, 4.45rem);
    line-height: 0.98;
    font-weight: 850;
    letter-spacing: -0.078em;
}

.savings-heading h2 span {
    display: block;
    color: var(--brand-primary);
}

.savings-heading p {
    max-width: 720px;
    margin: 24px auto 0;

    color: rgba(71, 85, 105, 0.78);
    font-size: 1.08rem;
    line-height: 1.72;
    font-weight: 500;
    letter-spacing: -0.018em;
}

/* STEPS */

.savings-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;

    margin-bottom: 28px;
}

.savings-step {
    position: relative;

    min-height: 258px;
    padding: 30px 28px;
    border-radius: 28px;

    background: #f8fcff;
    border: 1px solid rgba(226, 232, 240, 0.88);

    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 20px 48px rgba(4, 30, 51, 0.06);

    transition:
        border-color 240ms ease,
        background 240ms ease,
        box-shadow 240ms ease;
}

.savings-step:hover {
    background: #ffffff;
    border-color: rgba(var(--brand-primary-rgb), 0.26);
    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 26px 58px rgba(4, 30, 51, 0.08);
}

.savings-step-badge {
    width: 44px;
    height: 44px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 34px;
    border-radius: 16px;

    color: #ffffff;
    background: var(--brand-primary);

    font-size: 0.78rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.025em;

    box-shadow:
        0 16px 32px rgba(var(--brand-primary-rgb), 0.20),
        0 1px 0 rgba(255, 255, 255, 0.30) inset;
}

.savings-step h3 {
    margin: 0;

    color: #0f172a;
    font-size: 1.28rem;
    line-height: 1.12;
    font-weight: 850;
    letter-spacing: -0.052em;
}

.savings-step p {
    margin: 16px 0 0;

    color: rgba(71, 85, 105, 0.76);
    font-size: 0.98rem;
    line-height: 1.62;
    font-weight: 500;
    letter-spacing: -0.016em;
}

/* SOLUÇÃO */

.savings-solution {
    display: grid;
    grid-template-columns: 0.82fr 1.18fr;
    gap: 28px;
    align-items: stretch;

    padding: 28px;
    border-radius: 34px;

    background:
        radial-gradient(circle at 12% 18%, rgba(var(--brand-primary-rgb), 0.12), transparent 34%),
        #f3fbfe;

    border: 1px solid rgba(var(--brand-primary-rgb), 0.14);
}

.savings-solution-copy {
    min-height: 100%;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 24px;
}

.savings-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;

    min-height: 28px;
    padding: 0 13px;
    margin-bottom: 22px;

    border-radius: 999px;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.22);
    background: rgba(var(--brand-primary-rgb), 0.08);

    color: var(--brand-primary);
    font-size: 0.76rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: -0.025em;
}

.savings-solution-copy h3 {
    margin: 0;

    color: #0f172a;
    font-size: clamp(1.75rem, 2.5vw, 2.7rem);
    line-height: 1.02;
    font-weight: 850;
    letter-spacing: -0.068em;
}

.savings-solution-copy h3 span {
    display: block;
    color: var(--brand-primary);
}

.savings-solution-copy p {
    max-width: 430px;
    margin: 22px 0 0;

    color: rgba(71, 85, 105, 0.78);
    font-size: 1rem;
    line-height: 1.72;
    font-weight: 500;
    letter-spacing: -0.018em;
}

/* COMPARAÇÃO */

.savings-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.savings-compare-card {
    min-height: 390px;

    display: flex;
    flex-direction: column;

    padding: 26px;
    border-radius: 28px;

    border: 1px solid rgba(226, 232, 240, 0.88);
}

.savings-compare-card-muted {
    background: rgba(255, 255, 255, 0.74);
}

.savings-compare-card-featured {
    background:
        radial-gradient(circle at 82% 12%, rgba(255, 255, 255, 0.22), transparent 34%),
        linear-gradient(145deg, var(--brand-primary) 0%, var(--brand-dark) 100%);

    border-color: rgba(255, 255, 255, 0.34);

    box-shadow:
        0 26px 58px rgba(var(--brand-primary-rgb), 0.18),
        0 1px 0 rgba(255, 255, 255, 0.24) inset;
}

.savings-compare-head {
    margin-bottom: 26px;
}

.savings-compare-head span {
    display: block;

    color: rgba(71, 85, 105, 0.62);
    font-size: 0.76rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.savings-compare-head strong {
    display: block;
    margin-top: 10px;

    color: #0f172a;
    font-size: 1.48rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.06em;
}

.savings-compare-card-featured .savings-compare-head span {
    color: rgba(255, 255, 255, 0.66);
}

.savings-compare-card-featured .savings-compare-head strong {
    color: #ffffff;
}

.savings-compare-card ul {
    display: grid;
    gap: 14px;

    padding: 0;
    margin: 0;

    list-style: none;
}

.savings-compare-card li {
    position: relative;

    padding-left: 28px;

    color: rgba(71, 85, 105, 0.76);
    font-size: 0.95rem;
    line-height: 1.55;
    font-weight: 500;
    letter-spacing: -0.016em;
}

.savings-compare-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.5em;

    width: 8px;
    height: 8px;

    border-radius: 999px;
    background: rgba(71, 85, 105, 0.28);
}

.savings-compare-card-featured li {
    color: rgba(255, 255, 255, 0.82);
}

.savings-compare-card-featured li::before {
    background: #ffffff;
    box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.12);
}

/* BOTTOM */

.savings-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    margin-top: 26px;
    padding: 26px 30px;
    border-radius: 26px;

    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.88);

    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 20px 48px rgba(4, 30, 51, 0.06);
}

.savings-bottom-text strong {
    display: block;

    color: #0f172a;
    font-size: 1.08rem;
    line-height: 1.12;
    font-weight: 850;
    letter-spacing: -0.04em;
}

.savings-bottom-text span {
    display: block;
    margin-top: 8px;

    color: rgba(71, 85, 105, 0.72);
    font-size: 0.98rem;
    line-height: 1.45;
    font-weight: 500;
    letter-spacing: -0.016em;
}

.savings-cta {
    min-height: 48px;
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    padding: 0 22px;
    border-radius: 999px;

    color: #ffffff;
    background: var(--brand-primary);

    font-size: 0.88rem;
    line-height: 1;
    font-weight: 850;
    text-decoration: none;
    letter-spacing: -0.02em;

    box-shadow: 0 16px 34px rgba(var(--brand-primary-rgb), 0.20);

    transition:
        background 240ms ease,
        box-shadow 240ms ease;
}

.savings-cta:hover {
    background: var(--brand-dark);
    box-shadow: 0 20px 42px rgba(var(--brand-primary-rgb), 0.26);
}

.savings-cta svg {
    width: 19px;
    height: 19px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ========================================== */
/* AJUSTE DE RESPIRO — ECONOMIA                */
/* ========================================== */

.savings-container {
    width: min(1280px, calc(100% - 96px));
}

.savings-solution {
    gap: 40px;
    padding: 42px;
    border-radius: 36px;
    grid-template-columns: 0.92fr 1.28fr;
}

.savings-comparison {
    gap: 22px;
}

.savings-compare-card {
    padding: 32px;
}

.savings-solution-copy {
    padding: 28px 18px 28px 6px;
}

.savings-bottom {
    width: min(1280px, calc(100% - 96px));
    margin-left: auto;
    margin-right: auto;
    padding: 28px 36px;
}

/* ========================================== */
/* RESPIRO GLOBAL — DESKTOP PREMIUM            */
/* ========================================== */

:root {
    --site-container: 1280px;
    --site-gutter: 48px;
    --section-space: 140px;
}

/* Containers principais */
.navbar,
.brand-lines,
.hero,
.how-container,
.resources-container,
.security-container,
.audience-container,
.savings-container {
    width: min(var(--site-container), calc(100% - (var(--site-gutter) * 2)));
}

/* Sections principais */
.how-section,
.resources-section,
.security-section,
.audience-section,
.savings-section {
    padding-left: var(--site-gutter);
    padding-right: var(--site-gutter);
}

/* Mais respiro vertical entre blocos */
.resources-section,
.security-section,
.audience-section,
.savings-section {
    padding-top: var(--section-space);
    padding-bottom: var(--section-space);
}

/* Gaps maiores em sections com duas colunas */
.security-container,
.audience-container {
    gap: clamp(72px, 8vw, 128px);
}

/* Cards/grids mais confortáveis */
.resources-grid {
    gap: 24px;
}

.savings-solution {
    gap: 40px;
    padding: 42px;
}

.savings-comparison {
    gap: 24px;
}

/* ========================================== */
/* PLANOS E PREÇOS — CLEAN SAAS                */
/* ========================================== */

.pricing-section {
    position: relative;
    padding: 140px 48px;
    background:
        radial-gradient(circle at 14% 18%, rgba(var(--brand-primary-rgb), 0.08), transparent 34%),
        radial-gradient(circle at 88% 20%, rgba(var(--brand-primary-rgb), 0.08), transparent 36%),
        #ffffff;

    overflow: hidden;
}

.pricing-section::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;

    width: min(1280px, calc(100% - 96px));
    height: 1px;

    transform: translateX(-50%);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(var(--brand-primary-rgb), 0.18),
        transparent
    );
}

.pricing-container {
    position: relative;
    z-index: 2;

    width: min(1280px, calc(100% - 96px));
    margin: 0 auto;
}

.pricing-heading {
    max-width: 840px;
    margin: 0 auto 72px;
    text-align: center;
}

.pricing-heading h2 {
    margin: 0;

    color: #0f172a;
    font-size: clamp(2.35rem, 4.1vw, 4.3rem);
    line-height: 0.98;
    font-weight: 850;
    letter-spacing: -0.076em;
}

.pricing-heading h2 span {
    color: var(--brand-primary);
}

.pricing-heading p {
    max-width: 660px;
    margin: 22px auto 0;

    color: rgba(71, 85, 105, 0.78);
    font-size: 1.06rem;
    line-height: 1.68;
    font-weight: 500;
    letter-spacing: -0.018em;
}

/* GRID */

.pricing-grid-clean {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

/* CARD */

.pricing-card-clean {
    position: relative;
    overflow: hidden;

    min-height: 600px;

    display: flex;
    flex-direction: column;

    padding: 38px;
    border-radius: 18px;

    background: #f4f8fb;
    border: 1px solid rgba(226, 232, 240, 0.86);

    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.03),
        0 22px 52px rgba(4, 30, 51, 0.06);

    transition:
        background 240ms ease,
        border-color 240ms ease,
        box-shadow 240ms ease;
}

.pricing-card-clean:hover {
    background: #ffffff;
    border-color: rgba(var(--brand-primary-rgb), 0.24);
    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 30px 70px rgba(4, 30, 51, 0.08);
}

.pricing-card-highlight {
    background:
        radial-gradient(circle at 82% 12%, rgba(255, 255, 255, 0.22), transparent 34%),
        linear-gradient(145deg, var(--brand-primary) 0%, var(--brand-dark) 100%);

    border-color: rgba(255, 255, 255, 0.34);

    box-shadow:
        0 34px 86px rgba(var(--brand-primary-rgb), 0.24),
        0 1px 0 rgba(255, 255, 255, 0.24) inset;
}

.pricing-plan-head {
    margin-bottom: 24px;
}

.pricing-plan-kicker {
    display: inline-flex;
    align-items: center;

    min-height: 28px;
    padding: 0 12px;
    margin-bottom: 24px;

    border-radius: 999px;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.18);
    background: rgba(var(--brand-primary-rgb), 0.08);

    color: var(--brand-primary);
    font-size: 0.74rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.pricing-card-highlight .pricing-plan-kicker {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.14);
}

/* PRICE */

.pricing-price-clean {
    margin-top: 2px;
}

.pricing-price-clean strong {
    display: block;

    color: #0f172a;
    font-size: clamp(2.05rem, 2.8vw, 3rem);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.085em;
}

.pricing-card-highlight .pricing-price-clean strong {
    color: #ffffff;
}

.pricing-price-clean span {
    display: block;
    margin-top: 10px;

    color: rgba(71, 85, 105, 0.66);
    font-size: 0.92rem;
    line-height: 1;
    font-weight: 750;
    letter-spacing: -0.02em;
}

.pricing-card-highlight .pricing-price-clean span {
    color: rgba(255, 255, 255, 0.72);
}

.pricing-card-clean h3 {
    margin: 0;

    color: #0f172a;
    font-size: 1.22rem;
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: -0.045em;
}

.pricing-card-highlight h3 {
    color: #ffffff;
}

.pricing-card-clean p {
    min-height: 78px;
    margin: 16px 0 0;

    color: rgba(71, 85, 105, 0.76);
    font-size: 0.98rem;
    line-height: 1.62;
    font-weight: 500;
    letter-spacing: -0.016em;
}

.pricing-card-highlight p {
    color: rgba(255, 255, 255, 0.78);
}

.pricing-divider {
    width: 100%;
    height: 1px;

    margin: 28px 0;

    background: rgba(203, 213, 225, 0.82);
}

.pricing-card-highlight .pricing-divider {
    background: rgba(255, 255, 255, 0.20);
}

/* BUTTON */

.pricing-button-clean {
    min-height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    margin-top: auto;

    border-radius: 10px;

    color: var(--brand-primary);
    background: #ffffff;

    font-size: 0.92rem;
    line-height: 1;
    font-weight: 850;
    text-decoration: none;
    letter-spacing: -0.02em;

    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 14px 30px rgba(4, 30, 51, 0.05);

    transition:
        background 240ms ease,
        color 240ms ease,
        box-shadow 240ms ease;
}

.pricing-button-clean:hover {
    color: #ffffff;
    background: var(--brand-primary);
    box-shadow: 0 18px 38px rgba(var(--brand-primary-rgb), 0.20);
}

.pricing-button-highlight {
    color: var(--brand-primary);
    background: #ffffff;
}

.pricing-button-highlight:hover {
    color: var(--brand-dark);
    background: #f0fbfd;
}

/* FOOTNOTE */

.pricing-footnote {
    max-width: 920px;
    margin: 34px auto 0;
    padding: 22px 26px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;

    border-radius: 18px;

    background: rgba(248, 252, 255, 0.88);
    border: 1px solid rgba(226, 232, 240, 0.86);

    text-align: center;
}

.pricing-footnote strong {
    color: #0f172a;
    font-size: 0.94rem;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -0.03em;
}

.pricing-footnote span {
    color: rgba(71, 85, 105, 0.74);
    font-size: 0.94rem;
    line-height: 1.48;
    font-weight: 500;
    letter-spacing: -0.016em;
}

/* Corrige hover do card destacado de preços */
.pricing-card-clean.pricing-card-highlight:hover {
    background:
        radial-gradient(circle at 82% 12%, rgba(255, 255, 255, 0.22), transparent 34%),
        linear-gradient(145deg, var(--brand-primary) 0%, var(--brand-dark) 100%);

    border-color: rgba(255, 255, 255, 0.34);

    box-shadow:
        0 38px 92px rgba(var(--brand-primary-rgb), 0.26),
        0 1px 0 rgba(255, 255, 255, 0.24) inset;
}

.pricing-card-clean.pricing-card-highlight:hover h3,
.pricing-card-clean.pricing-card-highlight:hover p,
.pricing-card-clean.pricing-card-highlight:hover .pricing-price-clean strong,
.pricing-card-clean.pricing-card-highlight:hover .pricing-price-clean span,
.pricing-card-clean.pricing-card-highlight:hover .pricing-features-clean li {
    color: rgba(255, 255, 255, 0.90);
}

.pricing-card-clean.pricing-card-highlight:hover h3,
.pricing-card-clean.pricing-card-highlight:hover .pricing-price-clean strong {
    color: #ffffff;
}

.pricing-card-clean.pricing-card-highlight:hover .pricing-plan-kicker {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.22);
}

.pricing-card-clean.pricing-card-highlight:hover .pricing-features-clean li::before {
    color: #ffffff;
}

.pricing-card-clean.pricing-card-highlight:hover .pricing-button-highlight {
    color: var(--brand-primary);
    background: #ffffff;
}

/* ========================================== */
/* FAQ                                        */
/* ========================================== */

.faq-section {
    position: relative;
    padding: 140px 48px;
    overflow: hidden;
}

.faq-section::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;

    width: min(1280px, calc(100% - 96px));
    height: 1px;

    transform: translateX(-50%);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(var(--brand-primary-rgb), 0.18),
        transparent
    );
}

.faq-container {
    position: relative;
    z-index: 2;

    width: min(1280px, calc(100% - 96px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: 0.82fr 1.18fr;
    gap: clamp(72px, 8vw, 128px);
    align-items: center;
}

.faq-copy {
    max-width: 480px;
}

.faq-copy h2 {
    margin: 0;

    color: #0f172a;
    font-size: clamp(2.45rem, 4.35vw, 4.55rem);
    line-height: 1;
    font-weight: 850;
    letter-spacing: -0.08em;
}

.faq-copy h2 span {
    display: block;
    color: var(--brand-primary);
}

.faq-copy p {
    margin: 24px 0 0;

    color: rgba(71, 85, 105, 0.78);
    font-size: 1.08rem;
    line-height: 1.72;
    font-weight: 500;
    letter-spacing: -0.018em;
}

/* LISTA */

.faq-list {
    display: grid;
    gap: 16px;

    min-height: 520px;
}

.faq-item {
    overflow: hidden;

    border-radius: 18px;

    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.92);

    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 18px 42px rgba(4, 30, 51, 0.06);

    transition:
        border-color 240ms ease,
        box-shadow 240ms ease,
        background 240ms ease;
}

.faq-item.is-active {
    border-color: rgba(var(--brand-primary-rgb), 0.28);
    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 24px 54px rgba(var(--brand-primary-rgb), 0.10);
}

.faq-question {
    width: 100%;
    min-height: 66px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    padding: 0 28px;

    border: 0;
    background: transparent;

    color: #0f172a;
    cursor: pointer;

    font-family: inherit;
    text-align: left;
}

.faq-question span {
    font-size: 0.98rem;
    line-height: 1.25;
    font-weight: 850;
    letter-spacing: -0.028em;
}

.faq-question i {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    color: var(--brand-primary);
    background: rgba(var(--brand-primary-rgb), 0.08);

    transition:
        background 240ms ease,
        transform 240ms var(--ease-out-expo);
}

.faq-question i svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2.3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.faq-item.is-active .faq-question i {
    background: var(--brand-primary);
    color: #ffffff;
    transform: rotate(180deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;

    transition: max-height 320ms var(--ease-out-expo);
}

.faq-item.is-active .faq-answer {
    max-height: 180px;
}

.faq-answer p {
    max-width: 680px;

    margin: 0;
    padding: 0 28px 26px;

    color: rgba(71, 85, 105, 0.78);
    font-size: 0.98rem;
    line-height: 1.68;
    font-weight: 500;
    letter-spacing: -0.016em;
}

/* ========================================== */
/* AJUSTE FAQ — SEM PULO + TEXTO MAIS LIMPO    */
/* ========================================== */

.faq-container {
    align-items: start;
    grid-template-columns: 0.9fr 1.1fr;
}

.faq-copy {
    max-width: 520px;
    padding-top: 18px;
}

.faq-copy h2 {
    max-width: 520px;
    margin: 0;

    color: #0f172a;
    font-size: clamp(2.15rem, 3.15vw, 3.45rem);
    line-height: 1.04;
    font-weight: 850;
    letter-spacing: -0.065em;

    text-wrap: balance;
}

.faq-copy h2 span {
    display: block;
    color: var(--brand-primary);
}

.faq-copy p {
    max-width: 430px;
    margin: 22px 0 0;

    color: rgba(71, 85, 105, 0.78);
    font-size: 1rem;
    line-height: 1.68;
    font-weight: 500;
    letter-spacing: -0.018em;
}

/* Mantém a coluna da direita estável */
.faq-list {
    min-height: 520px;
    align-content: start;
}

/* Accordion mais estável */
.faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;

    max-height: none;

    transition: grid-template-rows 320ms var(--ease-out-expo);
}

.faq-item.is-active .faq-answer {
    grid-template-rows: 1fr;
    max-height: none;
}

.faq-answer > p {
    overflow: hidden;
}

/* Perguntas mais compactas */
.faq-question {
    min-height: 64px;
    padding: 0 26px;
}

.faq-question span {
    font-size: 0.96rem;
    line-height: 1.25;
    font-weight: 850;
    letter-spacing: -0.028em;
}

/* ========================================== */
/* CTA FINAL + FOOTER                         */
/* ========================================== */

.final-cta-section {
    position: relative;
    padding: 0px 48px 0;

    background:
        linear-gradient(
            180deg,
            #F4FBFF 0%,
            #F4FBFF 48%,
            var(--brand-deep) 48%,
            var(--brand-deep) 100%
        );

    overflow: visible;
}

.final-cta-card {
    position: relative;
    z-index: 2;

    width: min(1280px, calc(100% - 96px));
    min-height: 430px;

    display: grid;
    grid-template-columns: 0.82fr 1.18fr;
    gap: 56px;
    align-items: center;

    margin: 0 auto;
    padding: 58px 64px;

    border-radius: 28px;

    background: #ffffff;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.18);

    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 34px 90px rgba(4, 30, 51, 0.14);
}

.final-cta-copy {
    max-width: 500px;
}

.final-cta-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 28px;
    padding: 0 13px;
    margin-bottom: 22px;

    border-radius: 999px;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.22);
    background: rgba(var(--brand-primary-rgb), 0.08);

    color: var(--brand-primary);
    font-size: 0.76rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: -0.025em;
}

.final-cta-copy h2 {
    margin: 0;

    color: #0f172a;
    font-size: clamp(2.25rem, 3.7vw, 4.15rem);
    line-height: 0.98;
    font-weight: 850;
    letter-spacing: -0.076em;
}

.final-cta-copy h2 span {
    display: block;
    color: var(--brand-primary);
}

.final-cta-copy p {
    max-width: 460px;
    margin: 24px 0 0;

    color: rgba(71, 85, 105, 0.78);
    font-size: 1.04rem;
    line-height: 1.72;
    font-weight: 500;
    letter-spacing: -0.018em;
}

.final-cta-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;

    margin-top: 34px;
}

.final-cta-button {
    min-height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    padding: 0 24px;
    border-radius: 999px;

    color: #ffffff;
    background: var(--brand-primary);

    font-size: 0.92rem;
    line-height: 1;
    font-weight: 850;
    text-decoration: none;
    letter-spacing: -0.02em;

    box-shadow: 0 18px 38px rgba(var(--brand-primary-rgb), 0.22);

    transition:
        background 240ms ease,
        box-shadow 240ms ease;
}

.final-cta-button:hover {
    background: var(--brand-dark);
    box-shadow: 0 22px 46px rgba(var(--brand-primary-rgb), 0.28);
}

.final-cta-button svg {
    width: 19px;
    height: 19px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.final-cta-actions > span {
    color: rgba(71, 85, 105, 0.72);
    font-size: 0.92rem;
    line-height: 1;
    font-weight: 750;
    letter-spacing: -0.02em;
}

/* Visual do card */

.final-cta-visual {
    position: relative;
    min-height: 310px;

    display: grid;
    place-items: center;
}

.final-cta-visual::before {
    content: "";
    position: absolute;
    inset: 8% 4%;

    border-radius: 999px;

    background: rgba(var(--brand-primary-rgb), 0.16);
    filter: blur(54px);
}

.final-product-window {
    position: relative;
    z-index: 2;

    width: min(620px, 100%);
    overflow: hidden;

    border-radius: 24px;

    background: #f8fcff;
    border: 1px solid rgba(226, 232, 240, 0.92);

    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 26px 58px rgba(4, 30, 51, 0.10);
}

.final-window-bar {
    height: 44px;

    display: flex;
    align-items: center;
    gap: 8px;

    padding: 0 18px;

    background: #ffffff;
    border-bottom: 1px solid rgba(226, 232, 240, 0.82);
}

.final-window-bar span {
    width: 10px;
    height: 10px;

    display: block;
    border-radius: 999px;
}

.final-window-bar span:nth-child(1) {
    background: #E94D20;
}

.final-window-bar span:nth-child(2) {
    background: #7BB400;
}

.final-window-bar span:nth-child(3) {
    background: var(--brand-primary);
}

.final-product-content {
    padding: 34px;
}

.final-product-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;

    margin-bottom: 28px;
}

.final-product-head strong {
    color: #0f172a;
    font-size: 1.18rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.045em;
}

.final-product-head span {
    color: var(--brand-primary);
    font-size: 0.82rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: -0.025em;
}

.final-product-progress {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.final-product-progress div {
    min-height: 128px;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    padding: 20px;
    border-radius: 20px;

    background:
        radial-gradient(circle at 82% 18%, rgba(var(--brand-primary-rgb), 0.16), transparent 36%),
        #ffffff;

    border: 1px solid rgba(226, 232, 240, 0.86);
}

.final-product-progress span {
    color: rgba(71, 85, 105, 0.68);
    font-size: 0.76rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.final-product-progress strong {
    display: block;
    margin-top: 12px;

    color: #0f172a;
    font-size: 2rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.075em;
}

.final-product-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;

    margin-top: 16px;
}

.final-product-steps span {
    min-height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    color: var(--brand-dark);
    background: rgba(var(--brand-primary-rgb), 0.10);

    font-size: 0.78rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: -0.02em;
}

/* Footer */

.site-footer {
    position: relative;
    padding: 78px 48px 0;

    background: var(--brand-deep);
    color: #ffffff;
}

.site-footer-container {
    width: min(1280px, calc(100% - 96px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 92px;
    align-items: start;
}

.footer-brand {
    max-width: 360px;
}

.footer-brand img {
    display: block;
    width: 210px;
    height: auto;
    margin-bottom: 24px;
}

.footer-brand p {
    margin: 0;

    color: rgba(255, 255, 255, 0.72);
    font-size: 0.96rem;
    line-height: 1.68;
    font-weight: 500;
    letter-spacing: -0.016em;
}

.footer-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 46px;
}

.footer-column {
    display: grid;
    gap: 13px;
}

.footer-column strong {
    margin-bottom: 8px;

    color: #ffffff;
    font-size: 0.88rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.025em;
}

.footer-column a {
    color: rgba(255, 255, 255, 0.66);
    font-size: 0.9rem;
    line-height: 1;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: -0.018em;

    transition:
        color 220ms ease,
        opacity 220ms ease;
}

.footer-column a:hover {
    color: #ffffff;
}

.footer-bottom {
    width: min(1280px, calc(100% - 96px));
    min-height: 78px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    margin: 74px auto 0;

    border-top: 1px solid rgba(255, 255, 255, 0.12);

    color: rgba(255, 255, 255, 0.58);
    font-size: 0.84rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: -0.016em;
}

/* ========================================== */
/* COMO FUNCIONA — IMAGEM NA DIREITA           */
/* ========================================== */

.how-panel {
    grid-template-columns: 0.86fr 1.14fr;
    align-items: center;
}

.how-panel-copy {
    max-width: 520px;
}

.how-panel-visual {
    display: grid;
    gap: 24px;
    align-content: center;
}

.how-panel-media {
    width: 100%;
    max-width: none;
    min-height: 320px;
    margin: 0;

    border-radius: 26px;

    background:
        radial-gradient(circle at 78% 18%, rgba(var(--brand-primary-rgb), 0.16), transparent 36%),
        rgba(255, 255, 255, 0.62);

    border: 1px solid rgba(226, 232, 240, 0.82);

    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 24px 58px rgba(4, 30, 51, 0.07);
}

.how-panel-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.how-panel-info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

/* ========================================== */

.how-panel {
    grid-template-columns: 0.86fr 1.14fr;
    align-items: center;
}

.how-panel-copy {
    max-width: 520px;
}

.how-panel-visual {
    display: grid;
    gap: 24px;
    align-content: center;
}

.how-panel-media {
    width: 100%;
    max-width: none;
    min-height: 320px;
    margin: 0;

    border-radius: 26px;

    background:
        radial-gradient(circle at 78% 18%, rgba(var(--brand-primary-rgb), 0.16), transparent 36%),
        rgba(255, 255, 255, 0.62);

    border: 1px solid rgba(226, 232, 240, 0.82);

    box-shadow:
        0 1px 2px rgba(4, 30, 51, 0.04),
        0 24px 58px rgba(4, 30, 51, 0.07);
}

.how-panel-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.how-panel-info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

/* ========================================== */
/* LIGHTBOX DE IMAGENS                         */
/* ========================================== */

.how-panel-media {
    position: relative;
    cursor: zoom-in;
}

.how-panel-media::after {
    content: "";

    position: absolute;
    inset: 0;
    z-index: 2;

    border-radius: inherit;

    background:
        linear-gradient(
            180deg,
            rgba(4, 30, 51, 0.02) 0%,
            rgba(4, 30, 51, 0.22) 100%
        );

    opacity: 0;
    pointer-events: none;

    transition: opacity 240ms ease;
}

.how-panel-media::before {
    content: "⌕";

    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 3;

    width: 58px;
    height: 58px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    color: #ffffff;
    background: rgba(4, 173, 202, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.34);

    font-size: 2rem;
    line-height: 1;
    font-weight: 800;

    opacity: 0;
    transform: translate(-50%, -50%) scale(0.88);

    pointer-events: none;

    box-shadow:
        0 18px 44px rgba(var(--brand-primary-rgb), 0.28),
        0 1px 0 rgba(255, 255, 255, 0.24) inset;

    transition:
        opacity 240ms ease,
        transform 240ms var(--ease-out-expo);
}

.how-panel-media:hover::after {
    opacity: 1;
}

.how-panel-media:hover::before {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 42px;

    background: rgba(2, 12, 20, 0.78);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity 260ms ease,
        visibility 0ms linear 260ms;
}

.image-lightbox.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transition:
        opacity 260ms ease,
        visibility 0ms linear 0ms;
}

.image-lightbox-content {
    width: min(1500px, 96vw);
    max-height: 88vh;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 28px;
    overflow: hidden;

    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.22);

    box-shadow:
        0 34px 100px rgba(0, 0, 0, 0.32),
        0 1px 0 rgba(255, 255, 255, 0.24) inset;

    transform: scale(0.96);

    transition: transform 300ms var(--ease-out-expo);
}

.image-lightbox.is-active .image-lightbox-content {
    transform: scale(1);
}

.image-lightbox-content img {
    width: 100%;
    height: auto;
    max-height: 88vh;

    display: block;
    object-fit: contain;
}

.image-lightbox-close {
    position: fixed;
    top: 26px;
    right: 26px;
    z-index: 2;

    width: 48px;
    height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    border: 0;
    border-radius: 999px;

    color: #ffffff;
    background: rgba(255, 255, 255, 0.12);

    cursor: pointer;

    transition:
        background 220ms ease,
        transform 220ms var(--ease-out-expo);
}

.image-lightbox-close:hover {
    background: rgba(255, 255, 255, 0.20);
    transform: rotate(90deg);
}

.image-lightbox-close svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
}

@media (max-width: 640px) {
    .image-lightbox {
        padding: 18px;
    }

    .image-lightbox-content {
        width: 100%;
        border-radius: 20px;
    }

    .image-lightbox-close {
        top: 16px;
        right: 16px;
    }

    .how-panel-media::before {
        width: 50px;
        height: 50px;
        font-size: 1.7rem;
    }
}

/* ========================================== */
/* PLANOS — TABELA DE RECURSOS                 */
/* ========================================== */

.pricing-popular-badge {
    position: absolute;
    top: 22px;
    right: 22px;
    z-index: 3;

    min-height: 30px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 13px;
    border-radius: 999px;

    color: var(--brand-primary);
    background: #ffffff;

    font-size: 0.72rem;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -0.018em;

    box-shadow:
        0 14px 30px rgba(4, 30, 51, 0.10),
        0 1px 0 rgba(255, 255, 255, 0.70) inset;
}

.pricing-feature-table {
    display: grid;
    gap: 10px;

    margin: 0 0 34px;
}

.pricing-feature-row {
    min-height: 46px;

    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    align-items: center;

    padding: 12px 14px;
    border-radius: 14px;

    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(226, 232, 240, 0.84);
}

.pricing-feature-row span {
    min-width: 0;

    color: rgba(15, 23, 42, 0.74);
    font-size: 0.83rem;
    line-height: 1.28;
    font-weight: 650;
    letter-spacing: -0.018em;
}

.pricing-feature-row strong {
    color: #0f172a;
    font-size: 0.82rem;
    line-height: 1.15;
    font-weight: 900;
    text-align: right;
    letter-spacing: -0.022em;
}

.pricing-feature-disabled {
    opacity: 0.62;
}

.pricing-feature-disabled strong {
    color: rgba(71, 85, 105, 0.72);
}

/* Card destacado */

.pricing-card-highlight .pricing-feature-row {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.16);
}

.pricing-card-highlight .pricing-feature-row span {
    color: rgba(255, 255, 255, 0.76);
}

.pricing-card-highlight .pricing-feature-row strong {
    color: #ffffff;
}

.pricing-card-highlight .pricing-feature-disabled {
    opacity: 0.58;
}

.pricing-card-highlight .pricing-feature-disabled strong {
    color: rgba(255, 255, 255, 0.72);
}

/* Ajustes finos nos cards com tabela */

.pricing-card-clean {
    min-height: 720px;
}

.pricing-card-clean p {
    min-height: 84px;
}

.pricing-price-clean strong {
    white-space: nowrap;
}

/* Responsivo da section de planos */

@media (max-width: 980px) {
    .pricing-section {
        padding: 96px 22px;
    }

    .pricing-container {
        width: min(100%, 760px);
    }

    .pricing-grid-clean {
        grid-template-columns: 1fr;
    }

    .pricing-card-clean {
        min-height: auto;
    }

    .pricing-card-clean p {
        min-height: auto;
    }
}

@media (max-width: 640px) {
    .pricing-section {
        padding: 78px 18px;
    }

    .pricing-heading {
        margin-bottom: 42px;
        text-align: left;
    }

    .pricing-heading h2 {
        font-size: clamp(2.15rem, 10vw, 3.35rem);
    }

    .pricing-heading p {
        margin-left: 0;
        margin-right: 0;
        font-size: 1rem;
    }

    .pricing-card-clean {
        padding: 28px 22px;
        border-radius: 22px;
    }

    .pricing-popular-badge {
        position: static;
        width: fit-content;
        margin-bottom: 18px;
    }

    .pricing-feature-row {
        grid-template-columns: 1fr;
        gap: 8px;
        align-items: start;
    }

    .pricing-feature-row strong {
        text-align: left;
    }

    .pricing-footnote {
        align-items: flex-start;
        flex-direction: column;
        text-align: left;
    }
}
/* ========================================== */
/* AJUSTES FINAIS — LIMPEZA + RESPONSIVO       */
/* ========================================== */

/*
    Bloco final de segurança responsiva.
    Mantido no fim do arquivo para sobrescrever regras antigas/duplicadas sem alterar o visual desktop aprovado.
*/

/* Evita que prints 16:9 sejam cortados nos cards do "Como funciona" */
.how-panel-media {
    aspect-ratio: 16 / 9;
    min-height: auto;
}

/* Garante que imagens de interface mantenham proporção */
.hero-dashboard-preview img,
.how-panel-media img {
    object-fit: cover;
}

/* Links/CTAs não devem quebrar layout em telas menores */
.btn-primary,
.btn-secondary,
.how-panel-link,
.resource-link,
.audience-cta,
.savings-cta,
.pricing-button-clean,
.final-cta-button {
    white-space: normal;
    text-align: center;
}

/* Tablets e notebooks menores */
@media (max-width: 1180px) {
    :root {
        --site-gutter: 32px;
        --site-container: 1120px;
        --section-space: 112px;
    }

    .navbar,
    .hero,
    .how-container,
    .resources-container,
    .security-container,
    .audience-container,
    .savings-container,
    .pricing-container,
    .faq-container,
    .final-cta-card,
    .site-footer-container,
    .footer-bottom {
        width: min(100% - 48px, var(--site-container));
    }

    .resources-grid {
        grid-template-rows: 260px 260px 280px;
    }

    .final-cta-card {
        grid-template-columns: 0.95fr 1.05fr;
        gap: 42px;
        padding: 48px;
    }
}

/* Tablet */
@media (max-width: 980px) {
    :root {
        --site-gutter: 24px;
        --section-space: 96px;
        --hero-bottom-space: 240px;
        --dashboard-overlap: -130px;
        --how-top-space: 210px;
    }

    .navbar,
    .hero,
    .how-container,
    .resources-container,
    .security-container,
    .audience-container,
    .savings-container,
    .pricing-container,
    .faq-container,
    .final-cta-card,
    .site-footer-container,
    .footer-bottom {
        width: min(100% - 40px, 760px);
    }

    .site-header {
        padding-bottom: var(--hero-bottom-space);
    }

    .hero-centered {
        padding-top: 132px;
    }

    .hero-centered h1 {
        font-size: clamp(3rem, 8.6vw, 5rem);
    }

    .hero-dashboard-preview {
        width: min(860px, calc(100% - 40px));
        bottom: var(--dashboard-overlap);
        border-radius: 24px;
    }

    .how-section {
        padding-top: var(--how-top-space);
    }

    .how-tabs {
        grid-template-columns: 1fr;
    }

    .how-panel,
    .how-panel.is-active {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .how-panel-copy {
        max-width: 100%;
    }

    .how-panel-info {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .resources-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .resource-card,
    .resource-card-large,
    .resource-card-wide,
    .resource-card-small {
        grid-column: auto;
        grid-row: auto;
        min-height: 340px;
    }

    .security-container,
    .audience-container,
    .savings-solution,
    .faq-container,
    .final-cta-card,
    .site-footer-container {
        grid-template-columns: 1fr;
    }

    .security-copy,
    .audience-copy,
    .savings-solution-copy,
    .faq-copy,
    .final-cta-copy {
        max-width: 720px;
    }

    .savings-steps {
        grid-template-columns: 1fr;
    }

    .savings-solution {
        width: 100%;
        padding: 32px;
        gap: 28px;
    }

    .savings-solution-copy {
        padding: 0;
    }

    .savings-comparison {
        grid-template-columns: 1fr;
    }

    .savings-compare-card {
        min-height: auto;
    }

    .savings-bottom {
        width: 100%;
        align-items: flex-start;
        flex-direction: column;
    }

    .savings-cta {
        width: 100%;
    }

    .pricing-grid-clean {
        grid-template-columns: 1fr;
    }

    .pricing-card-clean {
        min-height: auto;
    }

    .pricing-card-clean p {
        min-height: auto;
    }

    .faq-list {
        min-height: auto;
    }

    .final-cta-section {
        padding-left: 24px;
        padding-right: 24px;
    }

    .final-cta-card {
        width: min(100%, 760px);
    }

    .footer-columns {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Celulares grandes */
@media (max-width: 760px) {
    :root {
        --site-gutter: 20px;
        --section-space: 84px;
        --hero-bottom-space: 185px;
        --dashboard-overlap: -96px;
        --how-top-space: 165px;
    }

    .navbar,
    .hero,
    .how-container,
    .resources-container,
    .security-container,
    .audience-container,
    .savings-container,
    .pricing-container,
    .faq-container,
    .final-cta-card,
    .site-footer-container,
    .footer-bottom {
        width: calc(100% - 36px);
    }

    .navbar {
        min-height: 62px;
        top: 12px;
    }

    .navbar-brand img {
        width: 132px;
    }

    .navbar-icon-btn {
        width: 44px;
        height: 44px;
    }

    .navbar-icon-btn[aria-label="Pesquisar"] {
        display: none;
    }

    .navbar-cta {
        display: none;
    }

    .site-header::after {
        height: 86px;
    }

    .hero-centered {
        padding-top: 112px;
    }

    .hero-centered h1 {
        font-size: clamp(2.45rem, 11vw, 4rem);
        line-height: 0.93;
        letter-spacing: -0.062em;
    }

    .hero-centered p {
        font-size: 0.98rem;
        line-height: 1.62;
    }

    .hero-actions {
        width: 100%;
    }

    .btn-primary,
    .btn-secondary {
        width: 100%;
        min-height: 50px;
    }

    .hero-trust {
        gap: 12px;
        flex-direction: column;
    }

    .hero-dashboard-preview {
        width: calc(100% - 28px);
        border-radius: 18px;
    }

    .dashboard-window-bar {
        height: 34px;
    }

    /* Tabs viram carrossel horizontal no mobile */
    .how-tabs {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 2px 2px 14px;
        margin-bottom: 18px;

        background: transparent;
        border: 0;
        border-radius: 0;

        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .how-tabs::-webkit-scrollbar {
        height: 0;
    }

    .how-tab {
        flex: 0 0 208px;
        min-height: 68px;
        padding: 0 16px;
        border-radius: 18px;
        border: 1px solid rgba(226, 232, 240, 0.86);
        background: #f1f7fc;
        scroll-snap-align: start;
    }

    .how-tab.is-active {
        background: var(--brand-primary);
    }

    .how-panel {
        padding: 26px 20px;
        border-radius: 22px;
    }

    .how-panel h3 {
        min-height: auto;
        font-size: clamp(1.58rem, 7vw, 2.15rem);
    }

    .how-panel p {
        min-height: auto;
        font-size: 0.95rem;
        line-height: 1.64;
    }

    .how-panel-info {
        grid-template-columns: 1fr;
    }

    .how-info-card {
        min-height: 66px;
        padding: 15px 16px;
    }

    .section-heading,
    .resources-heading,
    .savings-heading,
    .pricing-heading {
        text-align: left;
        margin-bottom: 38px;
    }

    .section-heading h2,
    .resources-heading h2,
    .savings-heading h2,
    .pricing-heading h2,
    .security-copy h2,
    .audience-copy h2,
    .faq-copy h2,
    .final-cta-copy h2 {
        font-size: clamp(2rem, 9vw, 3.1rem);
        line-height: 1.02;
        letter-spacing: -0.068em;
    }

    .section-heading p,
    .resources-heading p,
    .savings-heading p,
    .pricing-heading p,
    .security-copy p,
    .audience-copy p,
    .faq-copy p,
    .final-cta-copy p {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        font-size: 0.98rem;
        line-height: 1.66;
    }

    .resources-section,
    .security-section,
    .audience-section,
    .savings-section,
    .pricing-section,
    .faq-section {
        padding: var(--section-space) 18px;
    }

    .resource-card,
    .resource-card-large,
    .resource-card-wide,
    .resource-card-small {
        min-height: 315px;
        padding: 24px 20px;
        border-radius: 22px;
    }

    .resource-card h3,
    .resource-card-small h3,
    .resource-card-wide h3 {
        font-size: clamp(1.42rem, 6.8vw, 2rem);
        line-height: 1.1;
    }

    .security-simple-panel {
        padding: 24px 20px;
        border-radius: 24px;
    }

    .security-simple-step {
        grid-template-columns: 42px 1fr;
        gap: 14px;
        padding: 16px;
    }

    .security-step-number {
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }

    .security-simple-steps::before {
        left: 20px;
    }

    .audience-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .audience-item p {
        max-width: 100%;
    }

    .savings-step {
        min-height: auto;
        padding: 24px 20px;
        border-radius: 24px;
    }

    .savings-step-badge {
        margin-bottom: 22px;
    }

    .savings-solution {
        padding: 24px 20px;
        border-radius: 26px;
    }

    .savings-compare-card {
        padding: 24px 20px;
        border-radius: 24px;
    }

    .savings-bottom {
        padding: 24px 20px;
        border-radius: 22px;
    }

    .pricing-card-clean {
        padding: 28px 22px;
        border-radius: 22px;
    }

    .pricing-popular-badge {
        position: static;
        width: fit-content;
        margin-bottom: 18px;
    }

    .pricing-feature-row {
        grid-template-columns: 1fr;
        gap: 7px;
        align-items: start;
    }

    .pricing-feature-row strong {
        text-align: left;
    }

    .pricing-footnote {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }

    .faq-container {
        gap: 34px;
    }

    .faq-copy {
        padding-top: 0;
    }

    .faq-question {
        min-height: 62px;
        gap: 16px;
        padding: 0 18px;
    }

    .faq-question span {
        font-size: 0.92rem;
    }

    .faq-answer p {
        padding: 0 18px 22px;
        font-size: 0.92rem;
        line-height: 1.62;
    }

    .final-cta-section {
        padding: 0 18px;
        background:
            linear-gradient(
                180deg,
                #f4fbff 0%,
                #f4fbff 44%,
                var(--brand-deep) 44%,
                var(--brand-deep) 100%
            );
    }

    .final-cta-card {
        width: 100%;
        min-height: auto;
        padding: 30px 22px;
        border-radius: 24px;
    }

    .final-cta-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .final-cta-button {
        width: 100%;
    }

    .final-cta-visual {
        min-height: auto;
    }

    .final-product-window {
        display: none;
    }

    .site-footer {
        padding: 62px 18px 0;
    }

    .site-footer-container {
        gap: 42px;
    }

    .footer-columns {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .footer-bottom {
        min-height: auto;
        align-items: flex-start;
        flex-direction: column;
        margin-top: 46px;
        padding: 24px 0;
        line-height: 1.45;
    }
}

/* Celulares pequenos */
@media (max-width: 420px) {
    :root {
        --hero-bottom-space: 160px;
        --dashboard-overlap: -82px;
        --how-top-space: 145px;
    }

    .navbar,
    .hero,
    .how-container,
    .resources-container,
    .security-container,
    .audience-container,
    .savings-container,
    .pricing-container,
    .faq-container,
    .final-cta-card,
    .site-footer-container,
    .footer-bottom {
        width: calc(100% - 28px);
    }

    .navbar {
        min-height: 58px;
    }

    .navbar-brand img {
        width: 122px;
    }

    .navbar-icon-btn {
        width: 40px;
        height: 40px;
    }

    .navbar-icon-btn svg {
        width: 20px;
        height: 20px;
    }

    .hero-centered {
        padding-top: 104px;
    }

    .hero-centered h1 {
        font-size: clamp(2.22rem, 12vw, 3.35rem);
    }

    .hero-kicker,
    .section-eyebrow,
    .how-panel-badge,
    .savings-kicker,
    .final-cta-kicker {
        font-size: 0.72rem;
    }

    .how-tab {
        flex-basis: 188px;
    }

    .how-panel {
        padding: 22px 18px;
    }

    .resource-card,
    .resource-card-large,
    .resource-card-wide,
    .resource-card-small,
    .security-simple-panel,
    .savings-step,
    .savings-solution,
    .savings-compare-card,
    .pricing-card-clean,
    .faq-item,
    .final-cta-card {
        border-radius: 20px;
    }

    .pricing-price-clean strong {
        font-size: clamp(1.82rem, 11vw, 2.35rem);
        letter-spacing: -0.07em;
    }

    .side-drawer {
        width: 100vw;
        padding: 38px 20px 26px;
    }

    .drawer-header img {
        width: 220px;
    }

    .drawer-action-card {
        min-height: 82px;
        padding: 16px;
    }

    .drawer-action-arrow {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }
}

/* Celulares muito estreitos */
@media (max-width: 360px) {
    .navbar-brand img {
        width: 112px;
    }

    .hero-centered h1 {
        font-size: 2.12rem;
    }

    .hero-centered p,
    .section-heading p,
    .resources-heading p,
    .savings-heading p,
    .pricing-heading p,
    .security-copy p,
    .audience-copy p,
    .faq-copy p,
    .final-cta-copy p {
        font-size: 0.92rem;
    }

    .how-tab {
        flex-basis: 174px;
        padding: 0 14px;
    }

    .how-tab strong {
        font-size: 0.88rem;
    }

    .how-tab small {
        font-size: 0.74rem;
    }

    .pricing-feature-row {
        padding: 11px 12px;
    }
}

/* Splash seguro em telas pequenas */
@media (max-width: 640px) {
    .desafoga-intro-stage {
        width: calc(100vw - 24px);
        height: 72vh;
    }

    .intro-inline-line {
        width: 92vw;
        font-size: clamp(1rem, 5.4vw, 1.55rem);
        white-space: normal;
        flex-wrap: wrap;
        row-gap: 8px;
    }

    .intro-word-slot {
        text-align: center;
    }

    .logo-scene {
        transform: translate(-50%, -50%) scale(0.76);
        transform-origin: center;
    }

    .desafoga-logo-stage img {
        width: min(420px, 82vw);
    }
}

/* ========================================== */
/* NAVBAR — LINKS CENTRALIZADOS                */
/* ========================================== */

@media (min-width: 981px) {
    .navbar {
        position: fixed;
    }

    .navbar-links {
        position: absolute;
        left: 50%;
        top: 50%;

        transform: translate(-50%, -50%);

        margin-right: 0;
        gap: 34px;
    }

    .navbar-right {
        margin-left: auto;
    }
}

/* Ajuste para telas desktop menores */
@media (min-width: 981px) and (max-width: 1160px) {
    .navbar-links {
        gap: 24px;
    }

    .navbar-links a {
        font-size: 0.88rem;
    }

    .navbar-cta {
        padding: 0 22px;
    }
}

@media (max-width: 640px) {
    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;

        min-height: auto;
        padding: 24px 0;
        line-height: 1.5;
    }

    .footer-bottom span {
        line-height: 1.5;
    }
}

/* ========================================== */
/* FOOTER — AJUSTE INSTITUCIONAL               */
/* ========================================== */

.footer-columns {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.footer-company-text {
    margin-top: 18px !important;
    color: rgba(255, 255, 255, 0.56) !important;
    font-size: 0.84rem !important;
    line-height: 1.55 !important;
    font-weight: 650 !important;
}

.footer-company {
    display: block;
    margin-top: 4px;

    color: rgba(255, 255, 255, 0.62);
    font-size: 0.84rem;
    line-height: 1.65;
    font-weight: 600;
    letter-spacing: -0.014em;
}

.footer-legal-button {
    width: fit-content;
    padding: 0;
    border: 0;
    background: transparent;

    color: rgba(255, 255, 255, 0.66);
    cursor: pointer;

    font: inherit;
    font-size: 0.9rem;
    line-height: 1.25;
    font-weight: 600;
    text-align: left;
    text-decoration: none;
    letter-spacing: -0.018em;
}

.footer-legal-button:hover {
    color: #ffffff;
}

@media (max-width: 980px) {
    .footer-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .footer-columns {
        grid-template-columns: 1fr;
    }

    .footer-company {
        font-size: 0.8rem;
    }
}

/* ========================================== */
/* FOOTER — PADRÃO PREMIUM ATENTIVO            */
/* ========================================== */

.site-footer {
    position: relative;
    padding: 86px 24px 48px;
    background: #07576B;
    color: #ffffff;
    overflow: hidden;
}

.site-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.site-footer-container {
    position: relative;
    z-index: 2;

    width: min(1210px, 100%);
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.35fr 0.7fr 0.85fr 0.85fr;
    gap: clamp(48px, 6vw, 86px);

    padding-bottom: 72px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.footer-brand img {
    width: 230px;
    height: auto;
    display: block;
    margin-bottom: 34px;
}

.footer-brand p {
    max-width: 330px;
    margin: 0;

    color: rgba(203, 213, 225, 0.82);
    font-size: 0.98rem;
    line-height: 1.75;
    font-weight: 500;
    letter-spacing: -0.018em;
}

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
}

.footer-column strong {
    margin-bottom: 8px;

    color: #ffffff;
    font-size: 0.76rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.footer-column a,
.footer-legal-button {
    width: fit-content;
    padding: 0;
    border: 0;

    color: rgba(203, 213, 225, 0.76);
    cursor: pointer;

    font: inherit;
    font-size: 0.96rem;
    line-height: 1.35;
    font-weight: 700;
    text-align: left;
    text-decoration: none;
    letter-spacing: -0.02em;

    transition: color 220ms ease, opacity 220ms ease;
}

.footer-column a:hover,
.footer-legal-button:hover {
    color: #ffffff;
}

.footer-attendance {
    gap: 20px;
}

.footer-cta {
    min-height: 50px;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;

    margin-top: 6px;
    padding: 0 24px !important;

    border-radius: 14px;
    color: #ffffff !important;
    background: var(--brand-primary);

    font-size: 0.92rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-decoration: none;

    box-shadow: 0 16px 34px rgba(var(--brand-primary-rgb), 0.22);
}

.footer-cta:hover {
    background: var(--brand-dark);
}

.footer-cta span {
    font-size: 1rem;
    line-height: 1;
}

.footer-bottom {
    position: relative;
    z-index: 2;

    width: min(1210px, 100%);
    margin: 0 auto;
    padding-top: 34px;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 42px;
}

.footer-bottom div {
    max-width: 680px;
}

.footer-bottom strong {
    display: block;
    margin-bottom: 8px;

    color: rgba(226, 232, 240, 0.86);
    font-size: 0.9rem;
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: -0.018em;
}

.footer-bottom span {
    display: block;

    color: rgba(148, 163, 184, 0.78);
    font-size: 0.9rem;
    line-height: 1.55;
    font-weight: 600;
    letter-spacing: -0.018em;
}

.footer-bottom p {
    margin: 0;

    color: rgba(148, 163, 184, 0.72);
    font-size: 0.9rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: -0.018em;
    text-align: right;
}

/* Responsivo */
@media (max-width: 980px) {
    .site-footer-container {
        grid-template-columns: 1fr 1fr;
        gap: 48px 64px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 18px;
    }

    .footer-bottom p {
        text-align: left;
    }
}

@media (max-width: 640px) {
    .site-footer {
        padding: 64px 22px 38px;
    }

    .site-footer-container {
        grid-template-columns: 1fr;
        gap: 42px;
        padding-bottom: 48px;
    }

    .footer-brand img {
        width: 210px;
        margin-bottom: 26px;
    }

    .footer-brand p {
        max-width: 100%;
        font-size: 0.94rem;
    }

    .footer-column {
        gap: 15px;
    }

    .footer-bottom {
        padding-top: 28px;
    }

    .footer-bottom span,
    .footer-bottom p {
        font-size: 0.82rem;
    }
}

/* ========================================== */
/* FOOTER — COLUNA OUTRAS SOLUÇÕES             */
/* ========================================== */

.site-footer-container {
    grid-template-columns: 1.25fr 0.65fr 0.82fr 0.9fr 0.9fr;
    gap: clamp(34px, 4.2vw, 62px);
}

.footer-solutions a {
    white-space: nowrap;
}

@media (max-width: 1180px) {
    .site-footer-container {
        grid-template-columns: 1.2fr 0.7fr 0.8fr 0.85fr 0.85fr;
        gap: 34px;
    }

    .footer-column a,
    .footer-legal-button {
        font-size: 0.9rem;
    }
}

@media (max-width: 980px) {
    .site-footer-container {
        grid-template-columns: 1fr 1fr;
        gap: 48px 64px;
    }
}

@media (max-width: 640px) {
    .site-footer-container {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .footer-solutions a {
        white-space: normal;
    }
}

/* ========================================== */
/* MODAL LEGAL — DOCUMENTOS                    */
/* ========================================== */

.legal-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 99990;

    background: rgba(2, 12, 20, 0.62);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.legal-modal-backdrop[hidden],
.legal-modal-panel[hidden] {
    display: none !important;
}

.legal-modal-panel {
    position: fixed;
    inset: 0;
    z-index: 99991;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 34px;
}

.legal-modal-card {
    width: min(980px, 100%);
    max-height: min(86vh, 860px);

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border-radius: 28px;
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.92);

    box-shadow: 0 34px 100px rgba(2, 12, 20, 0.34);
}

.legal-modal-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;

    padding: 28px 30px 22px;

    border-bottom: 1px solid rgba(226, 232, 240, 0.92);

    background:
        radial-gradient(circle at 86% 12%, rgba(var(--brand-primary-rgb), 0.13), transparent 32%),
        #ffffff;
}

.legal-modal-head span {
    display: block;

    color: var(--brand-primary);
    font-size: 0.74rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.legal-modal-head h2 {
    margin: 10px 0 0;

    color: #0f172a;
    font-size: clamp(1.45rem, 2.6vw, 2.35rem);
    line-height: 1.05;
    font-weight: 850;
    letter-spacing: -0.055em;
}

#legalModalClose {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 999px;

    color: #0f172a;
    background: rgba(15, 23, 42, 0.06);
    cursor: pointer;

    transition: background 220ms ease, color 220ms ease;
}

#legalModalClose:hover {
    color: var(--brand-primary);
    background: rgba(var(--brand-primary-rgb), 0.12);
}

#legalModalClose svg {
    width: 21px;
    height: 21px;
    fill: currentColor;
}

.legal-modal-content {
    padding: 30px;

    overflow-y: auto;

    color: rgba(51, 65, 85, 0.92);
    font-size: 0.96rem;
    line-height: 1.75;
    font-weight: 500;
}

.legal-modal-content h1 {
    margin: 0 0 8px;

    color: #0f172a;
    font-size: 1.6rem;
    line-height: 1.15;
    font-weight: 850;
    letter-spacing: -0.04em;
}

.legal-modal-content h2 {
    margin: 30px 0 12px;

    color: #0f172a;
    font-size: 1.16rem;
    line-height: 1.28;
    font-weight: 850;
    letter-spacing: -0.03em;
}

.legal-modal-content p {
    margin: 0 0 12px;
}

.legal-modal-content .legal-meta {
    color: rgba(71, 85, 105, 0.72);
    font-size: 0.88rem;
    font-weight: 700;
}

.legal-modal-content .legal-item {
    padding-left: 14px;
}

/* Mobile */
@media (max-width: 640px) {
    .legal-modal-panel {
        padding: 14px;
    }

    .legal-modal-card {
        max-height: 88vh;
        border-radius: 22px;
    }

    .legal-modal-head {
        padding: 22px 20px 18px;
    }

    .legal-modal-content {
        padding: 22px 20px;
        font-size: 0.9rem;
    }
}

/* ========================================== */
/* TRAVA DE ROLAGEM QUANDO MODAL ESTÁ ABERTO   */
/* ========================================== */

body.modal-scroll-locked {
    position: fixed;
    left: 0;
    right: 0;

    width: 100%;
    overflow: hidden;
}

/* Garante que só o conteúdo do modal role */
.legal-modal-content {
    overscroll-behavior: contain;
}

/* ========================================== */
/* FOOTER — COLUNAS SEPARADAS                  */
/* ========================================== */

.site-footer-container {
    grid-template-columns: 1.25fr 0.65fr 0.82fr 0.9fr 0.9fr;
    grid-template-areas:
        "brand product solutions legal attendance";
    gap: clamp(34px, 4.2vw, 62px);
}

.footer-brand {
    grid-area: brand;
}

.footer-product {
    grid-area: product;
}

.footer-solutions {
    grid-area: solutions;
}

.footer-legal {
    grid-area: legal;
}

.footer-attendance {
    grid-area: attendance;
}

.footer-solutions,
.footer-legal {
    align-self: flex-start;
}

/* Tablet */
@media (max-width: 980px) {
    .site-footer-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "brand brand"
            "product solutions"
            "legal attendance";
        gap: 48px 64px;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .site-footer-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "brand brand"
            "product product"
            "solutions legal"
            "attendance attendance";
        gap: 42px 28px;
    }

    .footer-solutions a,
    .footer-legal-button {
        white-space: normal;
    }
}