:root {
    --blue-pastel: #a7d8ff;
    --pink-pastel: #ffb7d5;
    --purple: #8b7cff;
    --purple-strong: #7868ff;
    --purple-deep: #24134f;
    --indigo: #4f5fff;
    --cyan-soft: #e7f7ff;
    --pink-soft: #fff0f7;
    --lavender-soft: #f2efff;
    --text: #131524;
    --muted: #63677d;
    --muted-soft: #8c90a7;
    --bg: #f7f8fd;
    --white: #ffffff;
    --border: rgba(36, 19, 79, 0.10);
    --border-strong: rgba(36, 19, 79, 0.18);
    --shadow: 0 28px 80px rgba(19, 21, 36, 0.10);
    --shadow-soft: 0 16px 36px rgba(19, 21, 36, 0.08);
    --radius-xl: 34px;
    --radius-lg: 24px;
    --radius-md: 18px;
    --radius-sm: 14px;
    --container: 1240px;
    --transition: 220ms ease;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: 'Inter', Arial, Helvetica, sans-serif;
    color: var(--text);
    overflow-x: hidden;
    background:
        radial-gradient(circle at 8% 8%, rgba(167,216,255,0.44), transparent 26%),
        radial-gradient(circle at 92% 10%, rgba(255,183,213,0.36), transparent 24%),
        radial-gradient(circle at 52% 0%, rgba(139,124,255,0.16), transparent 28%),
        linear-gradient(180deg, #fdfdff 0%, #f7f8fd 42%, #f5f3ff 100%);
}
body.modal-open { overflow: hidden; }
img { display: block; max-width: 100%; }
figure { margin: 0; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.container { width: min(calc(100% - 40px), var(--container)); margin: 0 auto; }
.site-shell { position: relative; overflow: clip; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.ui-icon { width: 22px; height: 22px; display: block; color: currentColor; }
.topbar, main, .footer { position: relative; z-index: 1; }

.section-band-soft, .section-band-white {
    position: relative;
    isolation: isolate;
}
.section-band-soft::before, .section-band-white::before, .section-band-soft::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}
.section-band-soft::before {
    background:
        radial-gradient(circle at 12% 22%, rgba(167,216,255,.36), transparent 28%),
        radial-gradient(circle at 86% 24%, rgba(255,183,213,.28), transparent 24%),
        radial-gradient(circle at 52% 100%, rgba(139,124,255,.14), transparent 30%),
        linear-gradient(180deg, rgba(239,244,255,.96), rgba(246,240,255,.96));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.70), inset 0 -1px 0 rgba(36,19,79,.06);
}
.section-band-soft::after {
    inset: 10px 0;
    background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0), rgba(120,104,255,.03));
    z-index: -1;
}
.section-band-white::before {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,251,255,.98));
    box-shadow:
        0 -18px 32px rgba(19,21,36,.05),
        0 22px 40px rgba(19,21,36,.08),
        inset 0 1px 0 rgba(255,255,255,.94),
        inset 0 -1px 0 rgba(36,19,79,.06);
}
.section-band-hero::before {
    background:
        radial-gradient(circle at 10% 22%, rgba(167,216,255,.30), transparent 28%),
        radial-gradient(circle at 90% 18%, rgba(255,183,213,.22), transparent 24%),
        linear-gradient(180deg, rgba(250,251,255,.84), rgba(242,246,255,.82));
}
.trust-strip.section-band-white,
.footer.section-band-soft {
    padding-top: 34px;
}

.bg-orb {
    position: fixed;
    border-radius: 999px;
    filter: blur(72px);
    opacity: .55;
    pointer-events: none;
    z-index: 0;
    animation: orbFloat 14s ease-in-out infinite;
}
.orb-1 { width: 320px; height: 320px; background: rgba(167,216,255,.5); top: -90px; left: -90px; animation-delay: -2s; }
.orb-2 { width: 360px; height: 360px; background: rgba(255,183,213,.4); top: 180px; right: -120px; animation-duration: 17s; }
.orb-3 { width: 320px; height: 320px; background: rgba(139,124,255,.22); bottom: 80px; left: 50%; transform: translateX(-50%); animation: orbFloatCentered 19s ease-in-out infinite; animation-delay: -4s; }
.bg-grid {
    position: fixed;
    inset: 0;
    background-image:
        linear-gradient(rgba(36,19,79,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36,19,79,.025) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.45), transparent 92%);
    pointer-events: none;
    z-index: 0;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    background: rgba(247,248,253,.78);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(36,19,79,.05);
}
.topbar::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -1px;
    width: min(92%, 980px);
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, rgba(167,216,255,0), rgba(120,104,255,.52), rgba(255,183,213,.44), rgba(167,216,255,0));
    opacity: .92;
    transition: opacity var(--transition), width var(--transition);
}
.topbar.is-scrolled {
    background: rgba(247,248,253,.88);
    box-shadow: 0 14px 32px rgba(19, 21, 36, 0.06);
}
.topbar.is-scrolled::before {
    width: min(96%, 1080px);
    opacity: 1;
}
.nav-wrap {
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.brand {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px 10px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(120,104,255,.14);
    box-shadow: 0 16px 36px rgba(19, 21, 36, 0.08);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
    overflow: hidden;
}
.brand::after {
    content: '';
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(167,216,255,.20), rgba(139,124,255,.08), rgba(255,183,213,.18));
    opacity: .95;
    pointer-events: none;
}
.brand:hover {
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 18px 40px rgba(120,104,255,.18);
    border-color: rgba(120,104,255,.24);
}
.brand > * { position: relative; z-index: 1; }
.brand-badge {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--purple-deep), var(--purple-strong), #d65dff);
    color: #fff;
    font-weight: 900;
    letter-spacing: -.05em;
    box-shadow: 0 14px 30px rgba(120,104,255,.28);
}
.brand-wordmark {
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: -.05em;
    color: var(--purple-deep);
    white-space: nowrap;
}
.brand-wordmark em {
    font-style: normal;
    background: linear-gradient(135deg, var(--purple-strong), #d65dff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.menu {
    display: flex;
    align-items: center;
    gap: 18px;
}
.menu a:not(.btn) {
    position: relative;
    color: var(--muted);
    font-weight: 600;
    font-size: .94rem;
    transition: color var(--transition), transform var(--transition);
}
.menu a:not(.btn)::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--blue-pastel), var(--purple-strong), var(--pink-pastel));
    transform: scaleX(0);
    transform-origin: center;
    transition: transform var(--transition);
}
.menu a:not(.btn):hover {
    color: var(--purple-deep);
    transform: translateY(-1px);
}
.menu a:not(.btn):hover::after { transform: scaleX(1); }
.menu-toggle {
    display: none;
    width: 48px;
    height: 48px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: rgba(255,255,255,.78);
    padding: 0;
    cursor: pointer;
}
.menu-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    background: var(--purple-deep);
    margin: 4px auto;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 24px;
    border-radius: 999px;
    font-weight: 800;
    border: 1px solid transparent;
    transition: transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition);
    text-align: center;
}
.btn:hover { transform: translateY(-2px) scale(1.01); }
.btn-sm { padding: 12px 18px; font-size: .92rem; }
.btn-primary {
    color: var(--white);
    background: linear-gradient(135deg, var(--purple-deep), var(--purple-strong));
    box-shadow: 0 18px 30px rgba(120,104,255,.30);
}
.btn-secondary, .btn-outline {
    color: var(--purple-deep);
    background: rgba(255,255,255,.72);
    border-color: rgba(120,104,255,.24);
}
.btn-light { color: var(--purple-deep); background: var(--white); }
.btn-dark { color: var(--white); background: rgba(19,21,36,.92); }

.hero { padding: 74px 0 36px; }
.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(460px, .97fr);
    gap: 34px;
    align-items: center;
}
.eyebrow-pill, .section-kicker, .section-kicker-light, .benefit-pill, .video-chip, .case-tag, .roadmap-label, .detail-tag, .modal-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    border-radius: 999px;
    font-size: .84rem;
    font-weight: 800;
    letter-spacing: .01em;
}
.eyebrow-pill, .section-kicker, .benefit-pill, .video-chip, .case-tag, .roadmap-label, .detail-tag, .modal-kicker {
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(120,104,255,.16);
    color: var(--purple-deep);
}
.section-kicker-light {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    color: rgba(255,255,255,.96);
}
.benefit-pill-soft { background: rgba(255,255,255,.20); color: #fff; border-color: rgba(255,255,255,.24); }
.pill-dot { width: 8px; height: 8px; border-radius: 999px; background: linear-gradient(135deg, var(--blue-pastel), var(--purple)); }
.hero h1 {
    margin: 20px 0 18px;
    font-size: clamp(2.7rem, 5.2vw, 5.05rem);
    line-height: .95;
    letter-spacing: -.06em;
}
.hero h1 span {
    background: linear-gradient(135deg, var(--purple-deep), var(--purple-strong), #d65dff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.text-gradient {
    background: linear-gradient(135deg, var(--purple-deep), var(--purple-strong), #d65dff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.text-gradient-light {
    background: linear-gradient(135deg, #ffffff, #e6f3ff 48%, #ffdff2 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.soft-mark {
    padding: 0 .32em;
    border-radius: .5em;
    background: linear-gradient(135deg, rgba(167,216,255,.34), rgba(139,124,255,.14), rgba(255,183,213,.26));
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.hero-text, .section-head p, .benefit-box p, .solution-card p, .demo-copy p, .audience-card p, .admin-copy p, .case-copy p, .roadmap-copy p, .cta-card p, .faq-copy p, .footer p, .mini-panel-card p {
    color: var(--muted);
    line-height: 1.76;
}
.hero-text { max-width: 700px; font-size: 1.08rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px; }
.hero-bullets {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 26px;
}
.hero-bullets article, .benefit-box, .solution-card, .detail-card, .carousel, .audience-card, .admin-shell, .mini-panel-card, .case-slide, .roadmap-shell, .roadmap-card, .faq-item, .cta-card, .trust-row, .visual-banner, .video-card {
    border: 1px solid var(--border);
    box-shadow: var(--shadow-soft);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
}
.hero-bullets article {
    padding: 18px 18px 18px 20px;
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.74);
}
.hero-bullets strong { display: block; margin-bottom: 6px; font-size: 1rem; letter-spacing: -.02em; }
.hero-bullets span { display: block; color: var(--muted); line-height: 1.65; }
.hero-bullets article:hover,
.benefit-box:hover,
.solution-card:hover,
.detail-card:hover,
.carousel:hover,
.audience-card:hover,
.admin-shell:hover,
.mini-panel-card:hover,
.case-slide:hover,
.roadmap-shell:hover,
.roadmap-card:hover,
.faq-item:hover,
.cta-card:hover,
.trust-row:hover,
.visual-banner:hover,
.video-card:hover {
    transform: translateY(-4px);
    border-color: rgba(120,104,255,.20);
    box-shadow: 0 22px 46px rgba(19, 21, 36, 0.10);
}


.video-card {
    border-radius: var(--radius-xl);
    background: linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.76));
    padding: 22px;
}
.video-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}
.video-card-top small { color: var(--muted-soft); font-weight: 700; }
.video-player, .ratio-16x9 {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 22px;
    overflow: hidden;
}
.video-cover {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    cursor: pointer;
    background: #000;
}
.video-thumb, .video-player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0;
}
.video-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(17,19,33,.18), rgba(17,19,33,.46));
}
.video-play {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
}
.video-play svg {
    width: 72px;
    height: 72px;
    padding: 18px;
    border-radius: 999px;
    fill: var(--white);
    background: rgba(120,104,255,.92);
    box-shadow: 0 18px 40px rgba(120,104,255,.36);
}
.video-card-bottom {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}
.video-card-bottom article {
    padding: 16px;
    border-radius: var(--radius-md);
    background: linear-gradient(180deg, rgba(247,248,255,.88), rgba(240,239,255,.88));
    border: 1px solid rgba(120,104,255,.14);
}
.video-card-bottom strong {
    display: block;
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    line-height: 1;
    letter-spacing: -.06em;
    color: var(--purple-deep);
}
.video-card-bottom span { display: block; margin-top: 8px; color: var(--muted); line-height: 1.45; }

.trust-strip { padding: 22px 0 6px; }
.trust-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 20px 24px;
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.74);
}
.trust-row > span { font-weight: 700; }
.trust-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.trust-tags span {
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(120,104,255,.10);
    color: var(--purple-deep);
    font-weight: 800;
    font-size: .88rem;
}

.section { padding: 104px 0; }
.section-head { max-width: 930px; }
.section-head h2, .benefit-box h3, .cta-card h2, .faq-copy h2, .roadmap-copy h2, .admin-copy h2 {
    margin: 14px 0 0;
    font-size: clamp(2rem, 4vw, 3.45rem);
    line-height: 1.04;
    letter-spacing: -.045em;
}
.split-benefits-grid, .solution-grid, .detail-card-grid, .split-grid, .admin-grid {
    display: grid;
    gap: 20px;
}
.split-benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 36px; }
.benefit-box {
    padding: 34px;
    border-radius: var(--radius-xl);
    background: rgba(255,255,255,.78);
}
.benefit-box.consumer {
    background: linear-gradient(180deg, rgba(47,29,108,.96), rgba(112,89,218,.96));
}
.benefit-box.consumer h3, .benefit-box.consumer p, .benefit-box.consumer li { color: #fff; }
.benefit-feature-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}
.benefit-box-head {
    display: grid;
    gap: 14px;
}
.benefit-head-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.section-card-icon-light {
    background: rgba(255,255,255,.14);
    color: #fff;
    border: 1px solid rgba(255,255,255,.18);
}
.benefit-box.consumer .benefit-head-meta .benefit-pill {
    background: rgba(255,255,255,.14);
}
.benefit-box ul, .audience-card ul, .roadmap-card ul, .case-copy ul {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
    display: grid;
    gap: 12px;
}
.benefit-box li, .audience-card li, .roadmap-card li, .case-copy li {
    position: relative;
    padding-left: 20px;
}
.benefit-box li::before, .audience-card li::before, .roadmap-card li::before, .case-copy li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--purple), var(--pink-pastel));
}
.benefit-box.consumer li::before { background: linear-gradient(135deg, #fff, #ffd2f0); }
.visual-banner {
    display: grid;
    grid-template-columns: .94fr 1.06fr;
    gap: 24px;
    align-items: center;
    padding: 28px;
    border-radius: var(--radius-xl);
    background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(240,238,255,.82));
}
.visual-banner-media { background: rgba(255,255,255,.72); border: 1px solid rgba(120,104,255,.16); border-radius: 24px; overflow: hidden; }
.visual-banner-image { width: 100%; height: 100%; object-fit: cover; }
.visual-banner-fallback {
    display: none;
    height: 100%;
    place-items: center;
    padding: 24px;
    text-align: center;
    background: linear-gradient(135deg, rgba(167,216,255,.34), rgba(139,124,255,.24), rgba(255,183,213,.28));
}
.visual-banner-fallback strong { margin: 6px 0; }

.solution-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 34px; }
.solution-card {
    padding: 26px;
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.78);
}
.solution-icon {
    width: 58px; height: 58px; border-radius: 18px; margin-bottom: 18px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.5);
    display: inline-grid;
    place-items: center;
    color: var(--purple-deep);
}
.solution-icon .ui-icon { width: 24px; height: 24px; }
.tone-blue { background: linear-gradient(135deg, rgba(167,216,255,.86), rgba(79,95,255,.38)); }
.tone-pink { background: linear-gradient(135deg, rgba(255,183,213,.86), rgba(139,124,255,.30)); }
.tone-purple { background: linear-gradient(135deg, rgba(139,124,255,.72), rgba(221,94,255,.34)); }
.solution-card h3, .detail-card h3, .demo-copy h3, .audience-card h2, .case-copy h3, .roadmap-card h3, .faq-question span:first-child, .mini-panel-card h3 {
    margin: 0;
    letter-spacing: -.03em;
}
.solution-card p, .detail-card p, .demo-copy p, .case-copy p, .mini-panel-card p { margin: 12px 0 0; }

.section-feature-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}
.feature-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 11px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(120,104,255,.14);
    color: var(--purple-deep);
    font-size: .92rem;
    font-weight: 700;
    box-shadow: 0 10px 26px rgba(19,21,36,.05);
}
.feature-pill .ui-icon { width: 18px; height: 18px; }

.carousel {
    margin-top: 34px;
    padding: 22px;
    border-radius: var(--radius-xl);
    background: rgba(255,255,255,.82);
}
.carousel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}
.carousel-meta strong { display: block; font-size: 1.1rem; }
.carousel-meta span { color: var(--muted); }
.carousel-controls { display: flex; gap: 10px; }
.carousel-btn {
    width: 44px; height: 44px; border-radius: 999px; border: 1px solid var(--border);
    background: rgba(255,255,255,.95); cursor: pointer; font-size: 1.6rem; line-height: 1;
    color: var(--purple-deep);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
}
.carousel-btn:hover {
    transform: translateY(-2px) scale(1.04);
    border-color: rgba(120,104,255,.24);
    box-shadow: 0 14px 28px rgba(120,104,255,.18);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(242,239,255,.98));
}
.carousel-viewport { overflow: hidden; width: 100%; }
.carousel-track {
    display: flex;
    width: 100%;
    transition: transform .38s ease;
    will-change: transform;
}
.carousel-track > * {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
}
.demo-slide, .step-slide, .case-slide { width: 100%; min-width: 100%; max-width: 100%; }
.demo-slide {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: 24px;
    align-items: center;
}
.demo-media, .case-media {
    background: rgba(246,247,255,.9);
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(120,104,255,.16);
}
.demo-media img, .case-media img { width: 100%; height: 100%; object-fit: cover; }
.demo-copy {
    padding: 12px 6px 12px 0;
    min-width: 0;
    max-width: 520px;
}
.demo-copy h3 { font-size: 1.5rem; }
.step-slide {
    padding: 34px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(250,250,255,.96), rgba(238,236,255,.92));
    border: 1px solid rgba(120,104,255,.14);
}
.step-number {
    display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 20px;
    background: linear-gradient(135deg, var(--purple-deep), var(--purple-strong)); color: #fff; font-weight: 900; font-size: 1.2rem;
    box-shadow: 0 18px 40px rgba(120,104,255,.24);
}
.step-slide h3 { margin: 18px 0 10px; font-size: 1.5rem; letter-spacing: -.03em; }
.step-slide p { margin: 0; color: var(--muted); line-height: 1.7; }
.carousel-dots { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.carousel-dot {
    width: 10px; height: 10px; border-radius: 999px; border: 0; cursor: pointer;
    background: rgba(120,104,255,.22);
}
.carousel-dot.is-active { background: var(--purple-strong); }

.detail-card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 34px; }
.detail-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    padding: 24px;
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.80);
}
.detail-card-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.detail-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-grid;
    place-items: center;
    color: var(--purple-deep);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
}
.detail-icon .ui-icon { width: 20px; height: 20px; }
.detail-open {
    width: 100%;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(120,104,255,.18);
    background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(242,239,255,.9));
    color: var(--purple-deep);
    font-weight: 800;
    cursor: pointer;
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
}
.detail-open:hover {
    transform: translateY(-2px);
    border-color: rgba(120,104,255,.28);
    box-shadow: 0 14px 28px rgba(120,104,255,.14);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(236,243,255,.96));
}

.section-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}
.section-card-icon, .mini-panel-icon, .roadmap-visual, .roadmap-card-icon, .micro-icon {
    display: inline-grid;
    place-items: center;
    color: var(--purple-deep);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
}
.section-card-icon { width: 52px; height: 52px; border-radius: 18px; }
.section-card-icon .ui-icon { width: 22px; height: 22px; }

.admin-feature-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}
.admin-feature-points span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border-radius: 14px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(120,104,255,.14);
    color: var(--purple-deep);
    font-weight: 700;
}
.admin-feature-points .ui-icon { width: 18px; height: 18px; }
.mini-panel-icon { width: 52px; height: 52px; border-radius: 18px; margin-bottom: 18px; }
.mini-panel-icon .ui-icon { width: 22px; height: 22px; }

.roadmap-copy-head, .roadmap-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}
.roadmap-visual, .roadmap-card-icon { width: 58px; height: 58px; border-radius: 18px; }
.roadmap-visual { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.16); }
.roadmap-visual .ui-icon { width: 24px; height: 24px; }
.roadmap-card-icon { background: linear-gradient(135deg, rgba(167,216,255,.36), rgba(139,124,255,.18), rgba(255,183,213,.28)); }
.roadmap-card-icon .ui-icon { width: 24px; height: 24px; }
.roadmap-micro-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
}
.roadmap-micro-grid article {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.12);
}
.roadmap-micro-grid strong { color: #fff; font-size: .96rem; letter-spacing: -.02em; }
.micro-icon { width: 42px; height: 42px; border-radius: 14px; background: rgba(255,255,255,.16); color: #fff; }
.micro-icon .ui-icon { width: 18px; height: 18px; }

.split-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.audience-card {
    padding: 34px;
    border-radius: var(--radius-xl);
    background: rgba(255,255,255,.80);
}
.audience-card.user {
    background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(236,243,255,.82));
}
.admin-shell {
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    gap: 24px;
    align-items: start;
    padding: 30px;
    border-radius: var(--radius-xl);
    background: linear-gradient(180deg, rgba(255,255,255,.84), rgba(241,239,255,.84));
}
.admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mini-panel-card {
    padding: 24px;
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.82);
}

.case-slide {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    align-items: center;
}
.case-copy { padding: 8px 6px 8px 0; }
.case-copy h3 { font-size: 1.55rem; margin-top: 12px; }
.roadmap-shell {
    display: grid;
    grid-template-columns: 1fr .9fr;
    gap: 24px;
    align-items: center;
    padding: 30px;
    border-radius: var(--radius-xl);
    background: linear-gradient(135deg, rgba(36,19,79,.96), rgba(106,84,216,.96), rgba(216,92,255,.90));
}
.roadmap-copy h2, .roadmap-copy p, .roadmap-copy .section-kicker { color: #fff; }
.roadmap-card {
    padding: 26px;
    border-radius: 24px;
    background: rgba(255,255,255,.88);
}

.faq-layout {
    display: grid;
    grid-template-columns: .88fr 1.12fr;
    gap: 24px;
    align-items: start;
}
.faq-list { display: grid; gap: 14px; }
.faq-item {
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.80);
}
.faq-question {
    width: 100%;
    border: 0;
    background: transparent;
    padding: 24px 26px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    text-align: left;
    transition: color var(--transition);
}
.faq-question:hover { color: var(--purple-deep); }
.faq-plus { font-size: 1.5rem; color: var(--purple-deep); transition: transform var(--transition); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height .26s ease; }
.faq-answer p { margin: 0; padding: 0 26px 24px; color: var(--muted); line-height: 1.75; }
.faq-item.is-open .faq-plus { transform: rotate(45deg); }

.cta-card {
    display: grid;
    grid-template-columns: minmax(0, 1.16fr) minmax(320px, .84fr);
    gap: 30px;
    align-items: stretch;
    padding: 26px;
    border-radius: var(--radius-xl);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,244,255,.98));
    border: 1px solid rgba(120,104,255,.14);
    box-shadow:
        0 22px 54px rgba(19,21,36,.08),
        inset 0 1px 0 rgba(255,255,255,.96);
}
.cta-card-copy {
    padding: 18px 18px 18px 8px;
}
.cta-card-copy .section-kicker {
    background: linear-gradient(180deg, rgba(120,104,255,.10), rgba(120,104,255,.06));
}
.cta-card h2 {
    margin-top: 16px;
    color: var(--text);
}
.cta-card p {
    color: var(--muted);
}
.cta-inline-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}
.cta-inline-points span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 999px;
    background: rgba(120,104,255,.08);
    border: 1px solid rgba(120,104,255,.12);
    color: var(--purple-deep);
    font-weight: 700;
}
.cta-inline-points .ui-icon {
    width: 18px;
    height: 18px;
}
.cta-card-panel {
    display: grid;
    gap: 18px;
    align-content: center;
    padding: 26px;
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(36,19,79,.96), rgba(88,71,198,.94), rgba(120,104,255,.90));
    box-shadow: 0 24px 46px rgba(120,104,255,.18);
}
.cta-panel-head {
    display: grid;
    gap: 10px;
}
.cta-panel-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.16);
    color: rgba(255,255,255,.92);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .01em;
}
.cta-panel-head strong {
    display: block;
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    line-height: 1.2;
    letter-spacing: -.03em;
    color: #fff;
}
.cta-panel-head p {
    margin: 0;
    color: rgba(255,255,255,.82);
    line-height: 1.7;
}
.cta-actions {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.cta-card-panel .btn-outline {
    color: #fff;
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.18);
}
.cta-card-panel .btn-outline:hover {
    background: rgba(255,255,255,.14);
}
.footer { padding: 34px 0 42px; }
.footer-row {
    display: grid;
    grid-template-columns: 1.2fr .8fr auto;
    gap: 24px;
    align-items: center;
    padding-top: 24px;
    border-top: 1px solid rgba(36,19,79,.08);
}
.footer strong { display: block; margin-bottom: 8px; font-size: 1.05rem; }
.footer-links { display: flex; flex-wrap: wrap; gap: 14px 18px; justify-content: center; }
.footer-links a, .footer-copy { color: var(--muted); }


.demo-slide > *,
.case-slide > * {
    min-width: 0;
}

.floating-actions {
    position: fixed;
    left: 22px;
    right: 22px;
    bottom: 22px;
    z-index: 55;
    pointer-events: none;
}
.floating-btn {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 999px;
    font-weight: 800;
    color: var(--white);
    box-shadow: 0 18px 38px rgba(19,21,36,.18);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(14px);
    pointer-events: auto;
    transition: transform var(--transition), box-shadow var(--transition), opacity var(--transition);
}
.floating-btn .ui-icon { width: 18px; height: 18px; }
.floating-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 42px rgba(19,21,36,.24);
}
.floating-btn-whatsapp {
    left: 0;
    bottom: 0;
    width: 92px;
    height: 92px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    color: inherit;
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    overflow: visible;
    visibility: visible;
    opacity: 1;
    z-index: 3;
    transition: transform .28s ease, opacity var(--transition);
}
.floating-btn-whatsapp:hover {
    transform: scale(1.06);
    box-shadow: none;
}
.floating-btn-whatsapp-media {
    width: 92px;
    height: 92px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    flex: 0 0 92px;
    position: relative;
    z-index: 1;
    isolation: isolate;
    animation: whatsappFloat 3.4s ease-in-out infinite;
}
.floating-btn-whatsapp-media::before,
.floating-btn-whatsapp-media::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: 999px;
}
.floating-btn-whatsapp-media::before {
    background: radial-gradient(circle, rgba(255,255,255,.98) 0%, rgba(255,255,255,.74) 22%, rgba(255,255,255,.24) 44%, rgba(255,255,255,0) 72%);
    filter: blur(16px);
    opacity: .92;
    animation: whatsappAura 2.8s ease-in-out infinite;
    z-index: 0;
}
.floating-btn-whatsapp-media::after {
    inset: 3px;
    background: radial-gradient(circle, rgba(69,214,92,.46) 0%, rgba(69,214,92,.24) 34%, rgba(69,214,92,.10) 52%, rgba(69,214,92,0) 76%);
    filter: blur(14px);
    opacity: .86;
    animation: whatsappGreenAura 3s ease-in-out infinite;
    z-index: 0;
}
.floating-btn-whatsapp-logo {
    position: relative;
    z-index: 2;
    width: 78px;
    height: 78px;
    object-fit: contain;
    filter:
        drop-shadow(0 0 20px rgba(255,255,255,.72))
        drop-shadow(0 0 34px rgba(255,255,255,.38))
        drop-shadow(0 0 18px rgba(69,214,92,.28))
        drop-shadow(0 14px 28px rgba(33,195,84,.34));
    animation: whatsappPulseGlow 2.8s ease-in-out infinite;
}
.floating-btn-whatsapp::before {
    content: '';
    position: absolute;
    inset: 10px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255,255,255,.34) 0%, rgba(255,255,255,.08) 38%, rgba(255,255,255,0) 72%);
    filter: blur(18px);
    opacity: .9;
    pointer-events: none;
}
.floating-btn-whatsapp::after {
    content: '';
    position: absolute;
    inset: 6px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(69,214,92,.18) 0%, rgba(69,214,92,.08) 40%, rgba(69,214,92,0) 74%);
    filter: blur(16px);
    opacity: .7;
    pointer-events: none;
}
.floating-btn-top {
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(36,19,79,.96), rgba(120,104,255,.96));
    opacity: 0;
    transform: translateY(12px);
}
.floating-btn-top.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes whatsappFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-6px) scale(1.015); }
}

@keyframes whatsappPulseGlow {
    0%, 100% {
        filter:
            drop-shadow(0 0 18px rgba(255,255,255,.62))
            drop-shadow(0 0 34px rgba(255,255,255,.30))
            drop-shadow(0 14px 26px rgba(33,195,84,.24));
    }
    50% {
        filter:
            drop-shadow(0 0 24px rgba(255,255,255,.88))
            drop-shadow(0 0 42px rgba(255,255,255,.44))
            drop-shadow(0 18px 34px rgba(33,195,84,.34));
    }
}

@keyframes whatsappAura {
    0%, 100% { transform: scale(.9); opacity: .72; }
    50% { transform: scale(1.1); opacity: 1; }
}

@keyframes whatsappGreenAura {
    0%, 100% { transform: scale(.94); opacity: .64; }
    50% { transform: scale(1.12); opacity: .96; }
}

@keyframes whatsappRing {
    0% { transform: scale(.84); opacity: 0; }
    24% { opacity: .42; }
    100% { transform: scale(1.18); opacity: 0; }
}

.modal-overlay {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    z-index: 90;
}
.modal-overlay.is-open { display: flex; }
.modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17,19,33,.54);
    backdrop-filter: blur(8px);
}
.modal-dialog {
    position: relative;
    width: min(980px, 100%);
    max-height: min(86vh, 900px);
    overflow: auto;
    padding: 30px;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,244,255,.98));
    box-shadow: 0 34px 90px rgba(17,19,33,.24);
}
.modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,.92);
    font-size: 1.7rem;
    line-height: 1;
    cursor: pointer;
    color: var(--purple-deep);
}
.modal-header h3 { margin: 14px 0 12px; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.05; letter-spacing: -.04em; }
.modal-header p { margin: 0; color: var(--muted); line-height: 1.75; }
.modal-content {
    display: grid;
    gap: 16px;
    margin-top: 22px;
}
.modal-section {
    padding: 18px 20px;
    border-radius: 18px;
    border: 1px solid rgba(120,104,255,.14);
    background: rgba(255,255,255,.82);
}
.modal-section h4 { margin: 0 0 10px; font-size: 1.05rem; letter-spacing: -.02em; }
.modal-section p { margin: 0; color: var(--muted); line-height: 1.75; }
.modal-section ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}
.modal-section li {
    position: relative;
    padding-left: 18px;
    color: var(--muted);
    line-height: 1.65;
}
.modal-section li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--purple), var(--pink-pastel));
}
.modal-footer { margin-top: 24px; }

.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s ease, transform .7s ease;
}
.reveal-delay { transition-delay: .08s; }
.reveal-delay-2 { transition-delay: .16s; }
@keyframes orbFloat {
    0%, 100% { transform: translate3d(0, 0, 0); }
    33% { transform: translate3d(16px, 18px, 0); }
    66% { transform: translate3d(-12px, 10px, 0); }
}

@keyframes orbFloatCentered {
    0%, 100% { transform: translateX(-50%) translate3d(0, 0, 0); }
    33% { transform: translateX(-50%) translate3d(16px, 18px, 0); }
    66% { transform: translateX(-50%) translate3d(-12px, 10px, 0); }
}

.reveal.is-visible { opacity: 1; transform: none; }

@media (min-width: 1201px) {
    .demo-slide {
        grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
    }
}

@media (max-width: 1200px) {
    .menu-toggle { display: inline-block; }
    .brand {
        padding: 9px 14px 9px 10px;
    }
    .brand-badge {
        width: 34px;
        height: 34px;
    }
    .menu {
        position: absolute;
        top: calc(100% + 8px);
        left: 20px;
        right: 20px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 16px;
        border-radius: 22px;
        background: rgba(255,255,255,.96);
        box-shadow: var(--shadow);
        border: 1px solid rgba(36,19,79,.08);
    }
    .menu.is-open { display: flex; }
    .hero-grid, .visual-banner, .admin-shell, .roadmap-shell, .faq-layout, .cta-card, .footer-row, .demo-slide, .case-slide {
        grid-template-columns: 1fr;
    }
    .hero-bullets, .split-benefits-grid, .split-grid, .solution-grid, .detail-card-grid, .admin-grid, .roadmap-micro-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .container { width: min(calc(100% - 24px), var(--container)); }
    .floating-actions { left: 16px; right: 16px; bottom: 16px; }
    .floating-btn { padding: 13px 16px; }
    .hero { padding-top: 42px; }
    .hero-grid, .hero-bullets, .split-benefits-grid, .split-grid, .solution-grid, .detail-card-grid, .admin-grid, .video-card-bottom, .roadmap-micro-grid {
        grid-template-columns: 1fr;
    }
    .trust-row, .carousel-header, .section-card-top, .roadmap-copy-head, .roadmap-card-top {
        flex-direction: column;
        align-items: flex-start;
    }
    .section-feature-pills, .admin-feature-points {
        gap: 10px;
    }
    .section, .hero { padding: 82px 0; }
    .cta-actions .btn, .hero-actions .btn, .menu .btn { width: 100%; }
    .carousel-controls { align-self: stretch; }
}

@media (max-width: 560px) {
    .hero h1 { font-size: clamp(2.2rem, 13vw, 3.35rem); }
    .floating-actions { left: 12px; right: 12px; bottom: 12px; }
    .floating-btn { padding: 12px 14px; }
    .floating-btn span { display: none; }
    .floating-btn-whatsapp {
        left: 0;
        bottom: 0;
        width: 82px;
        height: 82px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0;
        visibility: visible;
        opacity: 1;
    }
    .floating-btn-whatsapp:hover {
        transform: scale(1.04);
    }
    .floating-btn-whatsapp::before {
        inset: 8px;
    }
    .floating-btn-whatsapp::after {
        inset: 5px;
    }
    .floating-btn-whatsapp-media {
        width: 82px;
        height: 82px;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        flex: 0 0 82px;
    }
    .floating-btn-whatsapp-media::before {
        filter: blur(14px);
    }
    .floating-btn-whatsapp-media::after {
        inset: 2px;
        filter: blur(12px);
    }
    .floating-btn-whatsapp-logo {
        width: 68px;
        height: 68px;
    }
    .video-card, .benefit-box, .solution-card, .detail-card, .carousel, .audience-card, .admin-shell, .mini-panel-card, .roadmap-shell, .roadmap-card, .cta-card, .modal-dialog { padding: 20px; }
    .faq-question { padding: 20px; }
    .faq-answer p { padding: 0 20px 20px; }
    .feature-pill, .admin-feature-points span { width: 100%; justify-content: flex-start; }
    .roadmap-visual, .roadmap-card-icon, .section-card-icon { width: 48px; height: 48px; }
}


/* Ajustes finos de composição */
.trust-strip {
    padding: 38px 0 28px;
}
.trust-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 32px;
    min-height: 152px;
    padding: 34px 40px;
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(250,251,255,.96));
}
.trust-copy {
    display: grid;
    gap: 10px;
    align-content: center;
    min-width: 0;
}
.trust-copy strong {
    display: block;
    margin: 0;
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.18;
    letter-spacing: -.03em;
    color: var(--text);
}
.trust-copy p {
    margin: 0;
    max-width: 720px;
    color: var(--muted);
    line-height: 1.7;
}
.trust-tags {
    justify-content: flex-end;
    align-content: center;
    max-width: 520px;
}
.trust-tags span {
    background: linear-gradient(180deg, rgba(120,104,255,.10), rgba(120,104,255,.06));
}

.final-commercial-section {
    padding-top: 14px;
    padding-bottom: 86px;
}
.final-commercial-card {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
    gap: 28px;
    align-items: center;
    padding: 42px;
    border-radius: var(--radius-xl);
    border: 1px solid rgba(255,255,255,.16);
    background: linear-gradient(135deg, rgba(36,19,79,.98), rgba(84,67,192,.96), rgba(208,92,255,.88));
    box-shadow: 0 30px 80px rgba(36,19,79,.18);
}
.final-commercial-copy h2 {
    margin: 14px 0 14px;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.04;
    letter-spacing: -.045em;
    color: #fff;
}
.final-commercial-copy p {
    margin: 0;
    color: rgba(255,255,255,.86);
    line-height: 1.74;
}
.final-commercial-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}
.final-commercial-points article {
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
}
.final-commercial-points .micro-icon,
.final-commercial-points strong {
    color: #fff;
}
.final-commercial-points strong {
    display: block;
    margin-top: 12px;
    line-height: 1.3;
}
.final-commercial-actions {
    display: grid;
    gap: 14px;
}
.final-commercial-mini {
    display: grid;
    gap: 8px;
    padding: 18px 20px;
    border-radius: 22px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.14);
    color: rgba(255,255,255,.88);
}
.final-commercial-mini strong {
    color: #fff;
    font-size: 1.05rem;
}
.btn-commercial {
    width: 100%;
}

@media (max-width: 860px) {
    .cta-card {
        padding: 22px;
    }
    .cta-card-copy {
        padding: 6px 0 0;
    }
    .cta-card-panel {
        padding: 22px;
    }
    .cta-inline-points {
        flex-direction: column;
    }
    .cta-inline-points span {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 1200px) {
    .final-commercial-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .trust-row {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
        padding: 28px 24px;
        min-height: auto;
        gap: 20px;
        align-items: center;
    }
    .trust-copy p,
    .trust-tags {
        max-width: none;
    }
    .trust-tags {
        justify-content: center;
    }
    .final-commercial-points {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .trust-copy strong {
        font-size: 1.22rem;
    }
    .final-commercial-card {
        padding: 24px 20px;
    }
}


/* Redução de altura geral e nova composição */
.section {
    padding: 88px 0;
}
.hero {
    padding: 64px 0 28px;
}
.section-head {
    max-width: 880px;
}
.trust-row {
    min-height: 136px;
    padding: 30px 34px;
}

.operations-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 26px;
}
.operations-step {
    padding: 20px 20px 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(120,104,255,.14);
    box-shadow: 0 14px 30px rgba(19,21,36,.06);
}
.operations-step strong {
    display: block;
    margin-bottom: 8px;
    font-size: 1rem;
    letter-spacing: -.02em;
    color: var(--purple-deep);
}
.operations-step p {
    margin: 0;
    color: var(--muted);
    line-height: 1.65;
}

.security-shell {
    display: grid;
    gap: 22px;
}
.security-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
    gap: 22px;
}
.security-card {
    padding: 28px;
    border-radius: var(--radius-xl);
    background: rgba(255,255,255,.82);
    border: 1px solid var(--border);
    box-shadow: var(--shadow-soft);
}
.security-card h3 {
    margin: 18px 0 10px;
    font-size: 1.45rem;
    letter-spacing: -.03em;
}
.security-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.72;
}
.security-list,
.plan-list {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
    display: grid;
    gap: 12px;
}
.security-list li,
.plan-list li {
    position: relative;
    padding-left: 20px;
    color: var(--muted);
    line-height: 1.65;
}
.security-list li::before,
.plan-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--purple), var(--pink-pastel));
}
.security-highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.security-highlight {
    padding: 24px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(243,241,255,.88));
    border: 1px solid rgba(120,104,255,.14);
    box-shadow: 0 16px 34px rgba(19,21,36,.06);
}
.security-highlight h4 {
    margin: 16px 0 8px;
    font-size: 1.08rem;
    letter-spacing: -.02em;
}
.security-highlight p {
    margin: 0;
    color: var(--muted);
    line-height: 1.68;
}

.security-policy-note {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: 18px;
    align-items: stretch;
}
.policy-note-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    align-items: start;
    padding: 24px;
    border-radius: 24px;
    background: rgba(255,255,255,.84);
    border: 1px solid rgba(120,104,255,.14);
    box-shadow: 0 16px 34px rgba(19,21,36,.06);
}
.policy-note-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: inline-grid;
    place-items: center;
    color: var(--purple-deep);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
}
.policy-note-icon .ui-icon {
    width: 22px;
    height: 22px;
}
.policy-note-card strong {
    display: block;
    margin-bottom: 8px;
    font-size: 1.08rem;
    letter-spacing: -.02em;
}
.policy-note-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.72;
}
.policy-note-tags {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.policy-note-tags span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 18px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(243,241,255,.88));
    border: 1px solid rgba(120,104,255,.14);
    color: var(--purple-deep);
    font-weight: 700;
    box-shadow: 0 16px 34px rgba(19,21,36,.06);
}
.policy-note-tags .ui-icon {
    width: 18px;
    height: 18px;
}

.plans-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 34px;
}
.plan-card {
    display: grid;
    gap: 18px;
    padding: 28px;
    border-radius: 28px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(120,104,255,.14);
    box-shadow: 0 18px 36px rgba(19,21,36,.08);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.plan-card:hover {
    transform: translateY(-4px);
    border-color: rgba(120,104,255,.22);
    box-shadow: 0 24px 46px rgba(19,21,36,.12);
}
.plan-card.featured {
    background: linear-gradient(160deg, rgba(36,19,79,.98), rgba(88,71,198,.95), rgba(120,104,255,.92));
    border-color: rgba(255,255,255,.14);
}
.plan-card.featured .plan-name,
.plan-card.featured .plan-price,
.plan-card.featured .plan-kicker,
.plan-card.featured .plan-term,
.plan-card.featured .plan-note,
.plan-card.featured .plan-list li,
.plan-card.featured .plan-summary {
    color: #fff;
}
.plan-card.featured .plan-list li::before {
    background: linear-gradient(135deg, #fff, #ffd4f1);
}
.plan-card.featured .btn-outline {
    color: #fff;
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.16);
}
.plan-card.featured .btn-outline:hover {
    background: rgba(255,255,255,.14);
}
.plan-header {
    display: grid;
    gap: 10px;
}
.plan-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(120,104,255,.10);
    border: 1px solid rgba(120,104,255,.14);
    color: var(--purple-deep);
    font-size: .82rem;
    font-weight: 800;
}
.plan-kicker .ui-icon {
    width: 16px;
    height: 16px;
}
.plan-name {
    margin: 0;
    font-size: 1.6rem;
    letter-spacing: -.04em;
    color: var(--text);
}
.plan-summary,
.plan-note {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}
.plan-price-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(247,248,255,.94), rgba(239,237,255,.94));
    border: 1px solid rgba(120,104,255,.14);
}
.plan-card.featured .plan-price-row {
    background: rgba(255,255,255,.10);
    border-color: rgba(255,255,255,.14);
}
.plan-price {
    display: block;
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.06em;
    color: var(--purple-deep);
}
.plan-term {
    display: block;
    font-weight: 800;
    color: var(--muted-soft);
}
.plan-footer {
    display: grid;
    gap: 12px;
}
.plan-footer .btn {
    width: 100%;
}
.plan-meta {
    font-size: .92rem;
    color: var(--muted-soft);
}

.footer-links a[href="#modulos"] {
    display: none;
}

@media (max-width: 1200px) {
    .operations-strip,
    .security-intro,
    .security-highlights,
    .plans-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 860px) {
    .operations-strip,
    .security-intro,
    .security-highlights,
    .plans-grid {
        grid-template-columns: 1fr;
    }
    .plan-price-row {
        grid-template-columns: 1fr;
        align-items: start;
    }
}


/* Ajustes extras de responsividade e contraste */
@media (max-width: 1024px) {
    .section {
        padding: 76px 0;
    }
    .hero {
        padding: 52px 0 24px;
    }
    .hero-grid {
        gap: 26px;
        grid-template-columns: 1fr;
    }
    .video-card,
    .benefit-box,
    .security-card,
    .security-highlight,
    .plan-card,
    .detail-card,
    .carousel,
    .visual-banner,
    .final-commercial-card,
    .cta-card {
        padding: 24px;
    }
    .section-head h2,
    .benefit-box h3,
    .cta-card h2,
    .faq-copy h2,
    .roadmap-copy h2,
    .admin-copy h2 {
        font-size: clamp(1.9rem, 4vw, 2.8rem);
    }
    .trust-row {
        grid-template-columns: 1fr;
        justify-items: start;
        padding: 26px 28px;
        min-height: auto;
    }
    .trust-tags {
        justify-content: flex-start;
        max-width: none;
    }
    .security-intro {
        grid-template-columns: 1fr 1fr;
    }
    .security-intro .security-card:last-child {
        grid-column: 1 / -1;
    }
    .security-policy-note {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .benefit-feature-row,
    .section-feature-pills,
    .admin-feature-points,
    .policy-note-tags {
        grid-template-columns: 1fr;
    }
    .benefit-feature-row,
    .section-feature-pills,
    .admin-feature-pills,
    .admin-feature-points,
    .policy-note-tags {
        display: grid;
    }
    .benefit-head-meta {
        align-items: center;
    }
    .security-intro {
        grid-template-columns: 1fr;
    }
    .security-intro .security-card:last-child {
        grid-column: auto;
    }
    .plan-price-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .final-commercial-card {
        padding: 28px 24px;
    }
    .floating-btn-top {
        width: 56px;
        height: 56px;
        justify-content: center;
        padding: 0;
    }
}

@media (max-width: 768px) {
    .nav-wrap {
        min-height: 74px;
    }
    .menu {
        left: 12px;
        right: 12px;
        max-height: calc(100vh - 110px);
        overflow: auto;
    }
    .hero-actions,
    .cta-actions {
        display: grid;
        gap: 12px;
    }
    .hero-actions .btn,
    .cta-actions .btn,
    .final-commercial-actions .btn {
        width: 100%;
    }
    .video-card-top,
    .carousel-header {
        align-items: flex-start;
    }
    .video-card-bottom {
        gap: 10px;
    }
    .operations-strip,
    .security-highlights,
    .plans-grid,
    .final-commercial-points {
        grid-template-columns: 1fr;
    }
    .policy-note-card {
        grid-template-columns: 1fr;
    }
    .policy-note-tags {
        grid-template-columns: 1fr;
    }
    .footer-row {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .footer-links {
        justify-content: center;
    }
}

@media (max-width: 560px) {
    .container {
        width: min(calc(100% - 20px), var(--container));
    }
    .section {
        padding: 64px 0;
    }
    .hero {
        padding: 38px 0 18px;
    }
    .hero h1 {
        line-height: 1;
    }
    .brand-wordmark {
        font-size: 0.98rem;
    }
    .section-head h2,
    .benefit-box h3,
    .cta-card h2,
    .faq-copy h2,
    .roadmap-copy h2,
    .admin-copy h2,
    .final-commercial-copy h2 {
        font-size: clamp(1.75rem, 9vw, 2.3rem);
    }
    .video-card,
    .benefit-box,
    .security-card,
    .security-highlight,
    .policy-note-card,
    .plan-card,
    .detail-card,
    .carousel,
    .visual-banner,
    .final-commercial-card,
    .cta-card,
    .roadmap-card,
    .modal-dialog {
        padding: 18px;
    }
    .trust-row {
        padding: 22px 18px;
        text-align: left;
        justify-items: stretch;
    }
    .trust-tags {
        justify-content: flex-start;
    }
    .feature-pill,
    .policy-note-tags span,
    .trust-tags span,
    .cta-inline-points span {
        width: 100%;
        justify-content: flex-start;
    }
    .video-card-top {
        flex-direction: column;
        align-items: flex-start;
    }
    .floating-btn-top .ui-icon {
        width: 20px;
        height: 20px;
    }
}


/* Reestruturação comercial e navegação entre seções */
.section-path {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}
.path-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 18px;
    border-radius: 999px;
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(120,104,255,.16);
    color: var(--purple-deep);
    font-weight: 800;
    font-size: .94rem;
    box-shadow: 0 14px 28px rgba(19,21,36,.06);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
}
.path-link .ui-icon {
    width: 18px;
    height: 18px;
}
.path-link:hover {
    transform: translateY(-2px);
    border-color: rgba(120,104,255,.24);
    box-shadow: 0 18px 34px rgba(19,21,36,.10);
    background: rgba(255,255,255,.92);
}
.path-link-strong {
    color: #fff;
    background: linear-gradient(135deg, var(--purple-deep), var(--purple-strong));
    border-color: transparent;
    box-shadow: 0 18px 32px rgba(120,104,255,.24);
}
.path-link-strong:hover {
    background: linear-gradient(135deg, #1f1046, #6e5bff);
}

.operations-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.plans-section .section-head,
.cases-section .section-head,
.roadmap-section .section-head,
.faq-section .section-head {
    max-width: 920px;
}

@media (max-width: 1200px) {
    .section-path {
        gap: 10px;
    }
}

@media (max-width: 860px) {
    .section-path {
        flex-direction: column;
        align-items: stretch;
    }
    .path-link {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .section-path {
        margin-top: 22px;
    }
}


/* Ajuste fino final: banner em imagem + abertura mais horizontal */
.hero-banner {
    padding: 24px 0 14px;
}
.hero-banner-media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 2400 / 560;
    min-height: clamp(180px, 18vw, 250px);
    border-radius: 34px;
    border: 1px solid rgba(120,104,255,.16);
    box-shadow: 0 28px 58px rgba(36,19,79,.14);
    background: linear-gradient(135deg, rgba(36,19,79,.96), rgba(88,71,198,.92), rgba(214,93,255,.78));
}
.hero-banner-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-stage {
    padding: 50px 0 26px;
}
.hero-stage-shell {
    max-width: 1140px;
    margin: 0 auto;
    display: grid;
    gap: 24px;
}
.hero-stage-head {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}
.hero-stage-head h2 {
    max-width: 980px;
    margin: 14px auto 0;
    font-size: clamp(1.95rem, 3.4vw, 3rem);
    line-height: 1.08;
    letter-spacing: -.045em;
}
.hero-stage-head p {
    max-width: 860px;
    margin: 14px auto 0;
}
.hero-stage-media {
    max-width: 1120px;
    width: 100%;
    margin: 0 auto;
}
.hero-stage-video-card {
    padding: 18px 18px 20px;
    border-radius: 30px;
}
.hero-stage-bottom {
    max-width: 1120px;
    width: 100%;
    margin: 0 auto;
    display: grid;
    gap: 18px;
    justify-items: stretch;
    text-align: left;
}
.hero-stage-overview {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
    gap: 20px;
    align-items: stretch;
    width: 100%;
}
.hero-stage-overview-main {
    padding: 8px 4px 0 0;
}
.hero-stage-overview-main strong {
    display: block;
    margin: 0 0 10px;
    font-size: clamp(1.12rem, 1.8vw, 1.42rem);
    line-height: 1.32;
    letter-spacing: -.03em;
    color: var(--text);
}
.hero-stage-text {
    margin: 0;
    max-width: none;
    color: var(--muted);
    line-height: 1.78;
}
.hero-stage-overview-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.hero-stage-overview-points span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 14px 16px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(243,241,255,.92));
    border: 1px solid rgba(120,104,255,.14);
    color: var(--purple-deep);
    font-weight: 800;
    box-shadow: 0 14px 28px rgba(19,21,36,.05);
}
.hero-stage-overview-points .ui-icon {
    width: 18px;
    height: 18px;
}
.hero-stage-actions {
    justify-content: center;
    margin-top: 0;
}
.hero-support-band {
    padding: 16px 0 22px;
}
.hero-support-shell {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 22px;
    padding: 28px;
}
.hero-support-main {
    gap: 12px;
}
.hero-support-main strong {
    font-size: clamp(1.4rem, 2vw, 1.9rem);
}
.hero-support-main p {
    max-width: none;
}
.hero-support-inline-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}
.hero-support-inline-points span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(120,104,255,.14);
    color: var(--purple-deep);
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(19,21,36,.05);
}
.hero-support-inline-points .ui-icon {
    width: 18px;
    height: 18px;
}
.hero-support-side {
    gap: 14px;
}
.hero-stats-grid article {
    min-height: 120px;
}
.hero-path {
    margin-top: 18px;
}

@media (max-width: 1200px) {
    .hero-stage-overview,
    .hero-support-shell {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .hero-banner-media {
        min-height: 160px;
        border-radius: 26px;
    }
    .hero-stage {
        padding: 40px 0 22px;
    }
    .hero-stage-head,
    .hero-stage-bottom {
        text-align: left;
    }
    .hero-stage-head h2,
    .hero-stage-head p {
        margin-left: 0;
        margin-right: 0;
    }
    .hero-stage-overview-points {
        grid-template-columns: 1fr 1fr;
    }
    .hero-stage-actions {
        justify-content: stretch;
    }
    .hero-stage-actions .btn {
        width: 100%;
    }
    .hero-support-shell {
        padding: 22px;
    }
    .hero-path {
        align-items: stretch;
    }
    .hero-path .path-link {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .hero-stage-overview-points {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .hero-banner {
        padding: 18px 0 10px;
    }
    .hero-banner-media {
        min-height: 136px;
        aspect-ratio: 1200 / 420;
        border-radius: 22px;
    }
    .hero-stage-head h2 {
        font-size: clamp(1.72rem, 8.4vw, 2.18rem);
    }
    .hero-stage-video-card,
    .hero-support-shell {
        padding: 18px;
        border-radius: 24px;
    }
    .hero-support-inline-points span {
        width: 100%;
        justify-content: flex-start;
    }
}


/* Ajuste fino final 3: abertura padronizada, vídeo menor e segunda faixa corrigida */
.hero-banner {
    padding: 28px 0 22px;
}

.hero-stage {
    padding: 64px 0;
}
.hero-stage-shell {
    max-width: 1120px;
    gap: 28px;
}
.hero-stage-head {
    max-width: 900px;
}
.hero-stage-head h2 {
    max-width: 820px;
    margin: 14px auto 0;
    font-size: clamp(1.85rem, 3.1vw, 2.6rem);
    line-height: 1.1;
}
.hero-stage-head p {
    max-width: 760px;
}
.hero-stage-media {
    max-width: 760px;
}
.hero-stage-video-card {
    padding: 16px;
    border-radius: 28px;
}
.hero-stage-bottom {
    max-width: 980px;
    gap: 22px;
}
.hero-stage-overview {
    grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
    gap: 18px;
}
.hero-stage-overview-main {
    padding: 0;
}
.hero-stage-overview-main strong {
    font-size: clamp(1.08rem, 1.45vw, 1.28rem);
}
.hero-stage-overview-points span {
    min-height: 54px;
    padding: 13px 15px;
}
.hero-stage-actions {
    justify-content: center;
}

.hero-support-band {
    padding: 64px 0;
}
.hero-support-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    align-items: start;
    max-width: 1120px;
    margin: 0 auto;
    gap: 24px;
    padding: 30px;
}
.hero-support-main,
.hero-support-side {
    display: grid;
    align-content: start;
}
.hero-support-main {
    gap: 14px;
}
.hero-support-main strong {
    font-size: clamp(1.34rem, 1.85vw, 1.8rem);
    line-height: 1.14;
}
.hero-support-main p {
    max-width: 64ch;
    line-height: 1.76;
}
.hero-support-inline-points {
    margin-top: 2px;
}
.hero-support-side {
    gap: 16px;
}
.hero-stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.hero-stats-grid article {
    min-height: 108px;
}
.hero-bullets-refined {
    grid-template-columns: 1fr;
    gap: 12px;
}
.hero-path {
    margin-top: 20px;
}

@media (max-width: 1200px) {
    .hero-stage,
    .hero-support-band {
        padding: 60px 0;
    }
    .hero-stage-overview,
    .hero-support-shell {
        grid-template-columns: 1fr;
    }
    .hero-stage-media {
        max-width: 720px;
    }
    .hero-stage-bottom,
    .hero-support-shell {
        max-width: 920px;
    }
}

@media (max-width: 860px) {
    .hero-banner {
        padding: 22px 0 18px;
    }
    .hero-stage,
    .hero-support-band {
        padding: 52px 0;
    }
    .hero-stage-head,
    .hero-stage-bottom {
        text-align: left;
    }
    .hero-stage-head h2,
    .hero-stage-head p {
        max-width: none;
        margin-left: 0;
        margin-right: 0;
    }
    .hero-stage-media,
    .hero-stage-bottom,
    .hero-support-shell {
        max-width: none;
    }
    .hero-stage-overview {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .hero-stage-actions {
        justify-content: stretch;
    }
    .hero-stage-actions .btn {
        width: 100%;
    }
    .hero-support-shell {
        padding: 24px;
    }
}

@media (max-width: 680px) {
    .hero-stage,
    .hero-support-band {
        padding: 46px 0;
    }
    .hero-stats-grid,
    .hero-stage-overview-points {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .hero-banner {
        padding: 18px 0 14px;
    }
    .hero-stage,
    .hero-support-band {
        padding: 42px 0;
    }
    .hero-stage-head h2 {
        font-size: clamp(1.66rem, 8vw, 2.06rem);
    }
    .hero-stage-video-card,
    .hero-support-shell {
        padding: 18px;
        border-radius: 24px;
    }
}


/* Ajuste isolado da segunda seção */
.hero-support-band {
    padding: 64px 0;
}
.hero-support-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    align-items: start;
    max-width: 1120px;
    margin: 0 auto;
    gap: 28px;
    padding: 34px;
    border-radius: 34px;
    background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(244,241,255,.82));
    border: 1px solid rgba(120,104,255,.14);
    box-shadow: 0 24px 54px rgba(19,21,36,.08);
}
.hero-support-main,
.hero-support-side {
    display: grid;
    align-content: start;
}
.hero-support-main {
    gap: 18px;
}
.hero-support-pill {
    width: fit-content;
}
.hero-support-title {
    margin: 0;
    max-width: 640px;
    font-size: clamp(2rem, 3.1vw, 2.9rem);
    line-height: 1.08;
    letter-spacing: -.05em;
    color: var(--text);
}
.hero-support-main > p {
    margin: 0;
    max-width: 62ch;
    color: var(--muted);
    line-height: 1.8;
    font-size: 1.03rem;
}
.hero-support-inline-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 2px;
}
.hero-support-inline-points span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(120,104,255,.14);
    color: var(--purple-deep);
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(19,21,36,.05);
}
.hero-support-inline-points .ui-icon {
    width: 18px;
    height: 18px;
}
.hero-support-note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    align-items: start;
    padding: 22px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(246,243,255,.92));
    border: 1px solid rgba(120,104,255,.14);
    box-shadow: 0 14px 28px rgba(19,21,36,.05);
}
.hero-support-note-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: inline-grid;
    place-items: center;
    color: var(--purple-deep);
}
.hero-support-note-icon .ui-icon {
    width: 22px;
    height: 22px;
}
.hero-support-note strong {
    display: block;
    margin-bottom: 8px;
    font-size: 1.05rem;
    line-height: 1.32;
    letter-spacing: -.02em;
    color: var(--text);
}
.hero-support-note p {
    margin: 0;
    color: var(--muted);
    line-height: 1.72;
}
.hero-support-side {
    gap: 18px;
}
.hero-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.hero-stat-card {
    min-height: 132px;
    padding: 20px 18px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(241,239,255,.92));
    border: 1px solid rgba(120,104,255,.14);
    box-shadow: 0 14px 28px rgba(19,21,36,.05);
}
.hero-stat-card strong {
    display: block;
    font-size: clamp(2rem, 3vw, 2.65rem);
    line-height: 1;
    letter-spacing: -.06em;
    color: var(--purple-deep);
}
.hero-stat-card span {
    display: block;
    margin-top: 10px;
    color: var(--muted);
    line-height: 1.5;
    font-weight: 600;
}
.hero-support-modules {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.hero-module-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 16px;
    border-radius: 999px;
    background: rgba(120,104,255,.10);
    border: 1px solid rgba(120,104,255,.12);
    color: var(--purple-deep);
    font-size: .92rem;
    font-weight: 800;
}
.hero-bullets-refined {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 0;
}
.hero-bullets-refined article {
    padding: 22px;
    border-radius: 24px;
    background: rgba(255,255,255,.88);
}
.hero-path {
    margin-top: 22px;
}
@media (max-width: 1200px) {
    .hero-support-shell {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 860px) {
    .hero-support-band {
        padding: 52px 0;
    }
    .hero-support-shell {
        padding: 24px;
        gap: 22px;
    }
    .hero-support-title {
        max-width: none;
        font-size: clamp(1.85rem, 6vw, 2.4rem);
    }
    .hero-stats-grid {
        grid-template-columns: 1fr;
    }
    .hero-support-inline-points,
    .hero-support-modules {
        display: grid;
        grid-template-columns: 1fr;
    }
    .hero-support-inline-points span,
    .hero-module-chip {
        width: 100%;
        justify-content: flex-start;
    }
}
@media (max-width: 560px) {
    .hero-support-band {
        padding: 42px 0;
    }
    .hero-support-shell {
        padding: 18px;
        border-radius: 24px;
    }
    .hero-support-note {
        grid-template-columns: 1fr;
    }
    .hero-support-title {
        font-size: clamp(1.62rem, 8vw, 2rem);
    }
    .hero-stat-card {
        min-height: 0;
    }
}
