/*
 * Imbassaí Bahia Core
 * CSS escopado para os shortcodes [imb_inicio] e [imb_guia].
 */

/* BASE COMPARTILHADA */
.imb-home,
.imb-home *,
.imb-guia,
.imb-guia * {
    box-sizing: border-box;
}

.imb-home,
.imb-guia {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    --imb-radius-md: 18px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    font-family: inherit;
}

.imb-home {
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.16), transparent 26rem),
        radial-gradient(circle at 86% 16%, rgba(20, 184, 166, 0.12), transparent 28rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 48%, #ffffff 100%);
}

.imb-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.imb-section,
.imb-guia-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-section__head {
    max-width: 760px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-section__head--split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 390px);
    gap: 28px;
    align-items: end;
    max-width: none;
    text-align: left;
}

.imb-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    max-width: 100%;
    margin-bottom: 14px;
    padding: 8px 13px;
    border: 1px solid rgba(14, 165, 168, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-transform: uppercase;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.08);
    backdrop-filter: blur(14px);
}

.imb-eyebrow--light {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    box-shadow: none;
}

.imb-section__title,
.imb-guide-home__title,
.imb-cta h2,
.imb-instagram h2,
.imb-guia-search-head h2,
.imb-guia-business-cta h2,
.imb-guia-visitor h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-section__text,
.imb-section__note,
.imb-guide-home__text,
.imb-cta p,
.imb-instagram p,
.imb-guia-search-head p,
.imb-guia-business-cta p,
.imb-guia-visitor p {
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

.imb-section__text {
    margin: 18px auto 0;
    max-width: 700px;
}

.imb-section__note {
    margin: 0;
    padding: 18px 20px;
    border: 1px solid rgba(242, 184, 75, 0.34);
    border-radius: var(--imb-radius-md);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(247, 238, 220, 0.86));
    color: #6f4b11;
    font-weight: 700;
}

.imb-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 14px 20px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.98rem;
    font-weight: 900;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease, color 180ms ease;
    cursor: pointer;
}

.imb-button:hover,
.imb-button:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.imb-button:focus-visible,
.imb-card__link:focus-visible,
.imb-feature-card a:focus-visible,
.imb-business-card__button:focus-visible,
.imb-guia-view-toggle button:focus-visible,
.imb-guia-field input:focus-visible,
.imb-guia-field select:focus-visible {
    outline: 3px solid rgba(242, 184, 75, 0.58);
    outline-offset: 4px;
}

.imb-button--primary {
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 18px 38px rgba(7, 89, 133, 0.26);
}

.imb-button--primary:hover,
.imb-button--primary:focus-visible {
    color: #ffffff;
    box-shadow: 0 22px 48px rgba(7, 89, 133, 0.34);
}

.imb-button--secondary {
    background: linear-gradient(135deg, var(--imb-solar), var(--imb-coral));
    color: #2c1800;
    box-shadow: 0 18px 38px rgba(245, 158, 11, 0.22);
}

.imb-button--secondary:hover,
.imb-button--secondary:focus-visible {
    color: #2c1800;
    box-shadow: 0 22px 48px rgba(245, 158, 11, 0.30);
}

.imb-button--ghost {
    border-color: rgba(255, 255, 255, 0.55);
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    backdrop-filter: blur(14px);
}

.imb-button--ghost:hover,
.imb-button--ghost:focus-visible {
    background: rgba(255, 255, 255, 0.24);
    color: #ffffff;
}

.imb-button--solar {
    background: linear-gradient(135deg, var(--imb-solar), var(--imb-solar-2));
    color: #2d1c00;
    box-shadow: 0 18px 38px rgba(242, 184, 75, 0.24);
}

.imb-button--solar:hover,
.imb-button--solar:focus-visible {
    color: #2d1c00;
    box-shadow: 0 22px 48px rgba(242, 184, 75, 0.32);
}

.imb-button--outline-light {
    border-color: rgba(255, 255, 255, 0.52);
    background: transparent;
    color: #ffffff;
}

.imb-button--outline-light:hover,
.imb-button--outline-light:focus-visible {
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
}

/* HOME - HERO */
.imb-hero {
    position: relative;
    min-height: clamp(690px, 92vh, 880px);
    padding: clamp(64px, 7vw, 110px) 0 clamp(70px, 8vw, 120px);
    overflow: hidden;
    background:
        radial-gradient(circle at 17% 18%, rgba(242, 184, 75, 0.55), transparent 17rem),
        radial-gradient(circle at 84% 15%, rgba(20, 184, 166, 0.42), transparent 22rem),
        radial-gradient(circle at 70% 88%, rgba(22, 101, 52, 0.32), transparent 22rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 34%, #0EA5A8 72%, #F2B84B 130%);
    color: #ffffff;
}

.imb-hero::before,
.imb-hero::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-hero::before {
    inset: 0;
    background:
        linear-gradient(90deg, rgba(7, 89, 133, 0.88), rgba(7, 89, 133, 0.18) 58%, rgba(15, 94, 122, 0.34)),
        radial-gradient(circle at 22% 76%, rgba(255, 255, 255, 0.16), transparent 20rem);
    z-index: 0;
}

.imb-hero::after {
    left: -8%;
    right: -8%;
    bottom: -90px;
    height: 210px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    z-index: 1;
}

.imb-hero__glow {
    position: absolute;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    filter: blur(8px);
    opacity: 0.42;
    pointer-events: none;
    z-index: 0;
}

.imb-hero__glow--one {
    right: 8%;
    top: 8%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.62), transparent 68%);
}

.imb-hero__glow--two {
    left: 3%;
    bottom: 8%;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.56), transparent 68%);
}

.imb-hero__wave {
    position: absolute;
    left: -6%;
    right: -6%;
    bottom: 34px;
    height: 140px;
    z-index: 1;
    opacity: 0.42;
    background:
        radial-gradient(80px 30px at 8% 68%, rgba(255, 255, 255, 0.36), transparent 72%),
        radial-gradient(100px 36px at 24% 54%, rgba(255, 255, 255, 0.28), transparent 72%),
        radial-gradient(120px 40px at 45% 62%, rgba(255, 255, 255, 0.32), transparent 72%),
        radial-gradient(100px 34px at 66% 55%, rgba(255, 255, 255, 0.26), transparent 72%),
        radial-gradient(120px 40px at 86% 64%, rgba(255, 255, 255, 0.28), transparent 72%);
}

.imb-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(340px, 0.88fr);
    gap: clamp(34px, 5vw, 78px);
    align-items: center;
}

.imb-hero__content {
    max-width: 720px;
}

.imb-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3.15rem, 8.5vw, 7.5rem);
    font-weight: 950;
    line-height: 0.88;
    letter-spacing: -0.075em;
    text-wrap: balance;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-hero__subtitle {
    width: fit-content;
    max-width: 100%;
    margin: 20px 0 0;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff8e8;
    font-size: clamp(1.2rem, 2vw, 1.8rem);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.02em;
    backdrop-filter: blur(12px);
}

.imb-hero__text {
    max-width: 680px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(1.08rem, 1.65vw, 1.32rem);
    line-height: 1.68;
    text-shadow: 0 12px 34px rgba(0, 0, 0, 0.18);
}

.imb-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 34px;
}

.imb-hero__visual {
    position: relative;
    min-height: 520px;
}

.imb-scenery {
    position: absolute;
    inset: 22px 8px 72px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 44px;
    overflow: hidden;
    background:
        radial-gradient(circle at 74% 23%, rgba(242, 184, 75, 0.85), transparent 7rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06));
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-scenery::before,
.imb-scenery::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-scenery::before {
    left: -12%;
    right: -12%;
    bottom: 28%;
    height: 44%;
    border-radius: 55% 45% 0 0;
    background:
        radial-gradient(circle at 24% 40%, rgba(255, 255, 255, 0.38), transparent 2.1rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.86), rgba(7, 89, 133, 0.84));
    transform: rotate(-3deg);
}

.imb-scenery::after {
    left: -18%;
    right: -18%;
    bottom: -12%;
    height: 42%;
    border-radius: 56% 44% 0 0;
    background:
        radial-gradient(circle at 22% 34%, rgba(255, 255, 255, 0.30), transparent 2.4rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
    transform: rotate(3deg);
}

.imb-scenery__sun {
    position: absolute;
    top: 56px;
    right: 64px;
    width: 112px;
    height: 112px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-scenery__cloud {
    position: absolute;
    height: 26px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    filter: blur(0.2px);
}

.imb-scenery__cloud::before,
.imb-scenery__cloud::after {
    content: "";
    position: absolute;
    bottom: 4px;
    border-radius: 999px;
    background: inherit;
}

.imb-scenery__cloud::before {
    left: 16px;
    width: 30px;
    height: 30px;
}

.imb-scenery__cloud::after {
    right: 18px;
    width: 42px;
    height: 42px;
}

.imb-scenery__cloud--one {
    top: 88px;
    left: 44px;
    width: 116px;
}

.imb-scenery__cloud--two {
    top: 145px;
    right: 118px;
    width: 86px;
    opacity: 0.55;
}

.imb-scenery__palm {
    position: absolute;
    bottom: 80px;
    width: 12px;
    height: 158px;
    border-radius: 999px;
    background: linear-gradient(180deg, #7b4b2b, #4b2f1b);
    transform-origin: bottom;
    z-index: 4;
}

.imb-scenery__palm::before,
.imb-scenery__palm::after {
    content: "";
    position: absolute;
    top: -26px;
    left: 50%;
    width: 102px;
    height: 34px;
    border-radius: 100% 0 100% 0;
    background: linear-gradient(135deg, #2F6F4E, #14B8A6);
    transform-origin: left center;
}

.imb-scenery__palm::before {
    transform: rotate(-24deg) translateX(-5px);
}

.imb-scenery__palm::after {
    transform: rotate(202deg) translateX(-2px);
}

.imb-scenery__palm--one {
    left: 72px;
    transform: rotate(-9deg);
}

.imb-scenery__palm--two {
    right: 54px;
    bottom: 104px;
    height: 120px;
    transform: rotate(8deg) scale(0.82);
    opacity: 0.92;
}

.imb-scenery__leaf {
    position: absolute;
    z-index: 5;
    width: 140px;
    height: 58px;
    border-radius: 100% 0 100% 0;
    background: linear-gradient(135deg, rgba(22, 101, 52, 0.88), rgba(20, 184, 166, 0.76));
    filter: drop-shadow(0 18px 24px rgba(0, 0, 0, 0.15));
}

.imb-scenery__leaf--one {
    left: -26px;
    top: 220px;
    transform: rotate(28deg);
}

.imb-scenery__leaf--two {
    right: -42px;
    bottom: 138px;
    transform: rotate(204deg);
}

.imb-floating-tags {
    position: absolute;
    inset: auto 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    z-index: 7;
}

.imb-floating-tags span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 15px;
    border: 1px solid rgba(255, 255, 255, 0.36);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    color: var(--imb-oceano);
    font-size: 0.9rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

.imb-floating-tags span:nth-child(2n) {
    color: var(--imb-mata);
}

.imb-floating-tags span:nth-child(3n) {
    color: #8a5700;
}

/* HOME - CARDS */
.imb-section--intro {
    background: var(--imb-areia-2);
}

.imb-category-grid,
.imb-featured-grid,
.imb-publication-grid {
    display: grid;
    gap: 22px;
}

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

.imb-card,
.imb-publication-card,
.imb-feature-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-card:hover,
.imb-card:focus-within,
.imb-publication-card:hover,
.imb-publication-card:focus-within,
.imb-feature-card:hover,
.imb-feature-card:focus-within {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-category-card {
    min-height: 310px;
    padding: 28px;
}

.imb-category-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--card-accent, var(--imb-agua)), transparent);
}

.imb-category-card::after {
    content: "";
    position: absolute;
    right: -44px;
    top: -44px;
    width: 142px;
    height: 142px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    pointer-events: none;
}

.imb-category-card--agua { --card-accent: var(--imb-agua); }
.imb-category-card--solar { --card-accent: var(--imb-solar); }
.imb-category-card--mata { --card-accent: var(--imb-mata); }
.imb-category-card--oceano { --card-accent: var(--imb-oceano); }
.imb-category-card--coral { --card-accent: var(--imb-coral); }
.imb-category-card--areia { --card-accent: #c89435; }

.imb-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin-bottom: 18px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.9), rgba(255, 255, 255, 0.72));
    font-size: 1.52rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-card__label {
    display: block;
    margin-bottom: 10px;
    color: var(--card-accent, var(--imb-agua));
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-transform: uppercase;
}

.imb-card__title,
.imb-feature-card h3,
.imb-publication-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.25rem, 1.55vw, 1.55rem);
    font-weight: 900;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-card__text,
.imb-feature-card p,
.imb-publication-card p {
    margin: 14px 0 0;
    color: var(--imb-muted);
    font-size: 0.99rem;
    line-height: 1.65;
}

.imb-card__link,
.imb-feature-card a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: 22px;
    color: var(--imb-oceano);
    font-weight: 900;
    text-decoration: none;
}

.imb-card__link:hover,
.imb-feature-card a:hover {
    color: var(--imb-agua);
    text-decoration: none;
}

/* HOME - GUIA */
.imb-guide-home {
    background:
        radial-gradient(circle at 16% 22%, rgba(242, 184, 75, 0.18), transparent 24rem),
        radial-gradient(circle at 86% 80%, rgba(20, 184, 166, 0.16), transparent 24rem),
        #ffffff;
}

.imb-guide-home__shell {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
    gap: clamp(26px, 4vw, 48px);
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 58px);
    border-radius: var(--imb-radius-xl);
    background:
        linear-gradient(135deg, rgba(7, 89, 133, 0.96), rgba(14, 165, 168, 0.92)),
        radial-gradient(circle at 20% 18%, rgba(242, 184, 75, 0.35), transparent 22rem);
    color: #ffffff;
    box-shadow: 0 32px 90px rgba(7, 89, 133, 0.28);
}

.imb-guide-home__shell::before,
.imb-guide-home__shell::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}

.imb-guide-home__shell::before {
    width: 360px;
    height: 360px;
    right: -130px;
    top: -130px;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.34), transparent 68%);
}

.imb-guide-home__shell::after {
    width: 300px;
    height: 300px;
    left: -130px;
    bottom: -150px;
    background: radial-gradient(circle, rgba(22, 101, 52, 0.30), transparent 68%);
}

.imb-guide-home__main,
.imb-guide-home__benefits {
    position: relative;
    z-index: 1;
}

.imb-guide-home__title {
    color: #ffffff;
}

.imb-guide-home__text {
    max-width: 560px;
    margin: 20px 0 28px;
    color: rgba(255, 255, 255, 0.90);
}

.imb-guide-home__benefits {
    display: grid;
    gap: 16px;
}

.imb-guide-benefit {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.20);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.10);
    backdrop-filter: blur(14px);
}

.imb-guide-benefit__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 1.45rem;
}

.imb-guide-benefit h3 {
    margin: 0;
    color: #ffffff;
    font-size: 1.12rem;
    font-weight: 900;
    line-height: 1.2;
}

.imb-guide-benefit p {
    margin: 7px 0 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.98rem;
    line-height: 1.55;
}

/* HOME - DESTAQUES E PUBLICAÇÕES */
.imb-section--featured {
    background: linear-gradient(180deg, var(--imb-areia-2), #ffffff);
}

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

.imb-feature-card {
    background: #ffffff;
}

.imb-feature-card__media {
    position: relative;
    min-height: 176px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 24%, rgba(242, 184, 75, 0.54), transparent 6rem),
        radial-gradient(circle at 20% 84%, rgba(22, 101, 52, 0.24), transparent 9rem),
        linear-gradient(135deg, rgba(7, 89, 133, 0.96), rgba(14, 165, 168, 0.78));
}

.imb-feature-card__media::after {
    content: "";
    position: absolute;
    left: -16%;
    right: -16%;
    bottom: -60px;
    height: 120px;
    border-radius: 50% 50% 0 0;
    background: rgba(255, 255, 255, 0.26);
}

.imb-feature-card__icon {
    position: absolute;
    left: 24px;
    bottom: 24px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.86);
    font-size: 1.7rem;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15);
}

.imb-feature-card__badge {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1;
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.imb-feature-card__body {
    padding: 26px;
}

.imb-section--publications {
    background: #ffffff;
}

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

.imb-publication-card {
    padding: 26px;
    background:
        linear-gradient(180deg, rgba(250, 243, 227, 0.62), rgba(255, 255, 255, 0.96));
}

.imb-publication-card__top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    color: var(--imb-oceano);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.imb-publication-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 16px;
    background: rgba(14, 165, 168, 0.10);
    font-size: 1.2rem;
}

/* HOME - CTAS */
.imb-cta {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-cta__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-cta__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-cta__content,
.imb-cta__actions {
    position: relative;
    z-index: 1;
}

.imb-cta h2 {
    color: #ffffff;
}

.imb-cta p {
    max-width: 720px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, 0.88);
}

.imb-cta__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

.imb-instagram {
    padding-top: clamp(46px, 6vw, 78px);
    background: var(--imb-areia-2);
}

.imb-instagram__box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.80);
    box-shadow: var(--imb-shadow-soft);
}

.imb-instagram h2 {
    color: var(--imb-oceano);
    font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.imb-instagram p {
    margin: 14px 0 0;
    max-width: 680px;
}

/* GUIA - HERO */
.imb-guia {
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.13), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.12), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
}

.imb-guia-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.48), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-guia-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-guia-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-guia-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-guia-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-guia-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(330px, 0.9fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-guia-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.5vw, 6.7rem);
    font-weight: 950;
    line-height: 0.92;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-guia-hero__subtitle {
    margin: 22px 0 0;
    max-width: 760px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-guia-hero__text {
    max-width: 700px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-guia-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-guia-hero__panel {
    position: relative;
    min-height: 440px;
}

.imb-guia-hero__map {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 62% 22%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-guia-hero__map::before,
.imb-guia-hero__map::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-guia-hero__map::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-guia-hero__map::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-guia-hero__pin {
    position: absolute;
    z-index: 4;
    width: 22px;
    height: 22px;
    border-radius: 999px 999px 999px 0;
    background: linear-gradient(135deg, var(--imb-solar), var(--imb-coral));
    transform: rotate(-45deg);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

.imb-guia-hero__pin::after {
    content: "";
    position: absolute;
    inset: 6px;
    border-radius: 999px;
    background: #ffffff;
}

.imb-guia-hero__pin--one { left: 22%; top: 30%; }
.imb-guia-hero__pin--two { left: 62%; top: 26%; }
.imb-guia-hero__pin--three { left: 44%; top: 54%; }
.imb-guia-hero__pin--four { right: 18%; bottom: 29%; }

.imb-guia-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-guia-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* GUIA - BUSCA */
.imb-guia-search-section {
    background: var(--imb-areia-2);
}

.imb-guia-search-shell {
    position: relative;
    margin-top: -70px;
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.90);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
    backdrop-filter: blur(16px);
}

.imb-guia-search-head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.75fr);
    gap: 22px;
    align-items: end;
    margin-bottom: 24px;
}

.imb-guia-search-head h2 {
    font-size: clamp(1.8rem, 3.3vw, 2.7rem);
}

.imb-guia-search-head p {
    margin: 0;
}

.imb-guia-controls {
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(210px, 0.7fr) minmax(260px, 0.8fr);
    gap: 14px;
    align-items: end;
}

.imb-guia-field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-guia-field span,
.imb-guia-view-toggle > span {
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.imb-guia-field input,
.imb-guia-field select {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-guia-field input::placeholder {
    color: rgba(91, 102, 115, 0.76);
}

.imb-guia-view-toggle {
    display: grid;
    gap: 8px;
}

.imb-guia-view-toggle__buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    min-height: 52px;
    padding: 5px;
    border: 1px solid rgba(7, 89, 133, 0.14);
    border-radius: 18px;
    background: rgba(247, 238, 220, 0.68);
}

.imb-guia-view-toggle button {
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: var(--imb-oceano);
    font: inherit;
    font-size: 0.88rem;
    font-weight: 900;
    cursor: pointer;
    transition: background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.imb-guia-view-toggle button.is-active {
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(7, 89, 133, 0.20);
}

.imb-guia-results-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 24px 0 18px;
    color: var(--imb-muted);
    font-size: 0.98rem;
    font-weight: 700;
}

.imb-guia-results-bar strong {
    color: var(--imb-oceano);
    font-size: 1.18rem;
    font-weight: 950;
}

/* GUIA - CATÁLOGO */
.imb-catalog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.imb-business-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 388px;
    overflow: hidden;
    padding: 24px;
    border: 1px solid rgba(15, 94, 122, 0.13);
    border-radius: var(--imb-radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 243, 227, 0.52));
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-business-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-agua), var(--imb-solar), transparent);
}

.imb-business-card::after {
    content: "";
    position: absolute;
    top: -60px;
    right: -70px;
    width: 170px;
    height: 170px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    pointer-events: none;
}

.imb-business-card:hover,
.imb-business-card:focus-within {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.34);
    box-shadow: var(--imb-shadow);
}

.imb-business-card--premium {
    border-color: rgba(242, 184, 75, 0.44);
    background:
        radial-gradient(circle at 86% 12%, rgba(242, 184, 75, 0.18), transparent 9rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 243, 227, 0.70));
}

.imb-business-card--premium::before {
    background: linear-gradient(90deg, var(--imb-solar), var(--imb-coral), var(--imb-agua));
}

.imb-business-card__top {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 15px;
    align-items: start;
}

.imb-business-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.5rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-business-card__category {
    display: inline-flex;
    margin-bottom: 8px;
    color: var(--imb-oceano);
    font-size: 0.74rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.imb-business-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.18rem, 1.45vw, 1.42rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-business-card__description {
    position: relative;
    z-index: 1;
    margin: 18px 0 0;
    color: var(--imb-muted);
    font-size: 0.98rem;
    line-height: 1.62;
}

.imb-business-card__tags {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.imb-business-card__tags span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 850;
}

.imb-business-card__footer {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 16px;
    margin-top: auto;
    padding-top: 22px;
}

.imb-business-card__badge {
    display: inline-flex;
    width: fit-content;
    padding: 8px 11px;
    border: 1px solid rgba(242, 184, 75, 0.36);
    border-radius: 999px;
    background: rgba(242, 184, 75, 0.14);
    color: #80510a;
    font-size: 0.75rem;
    font-weight: 950;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.imb-business-card--premium .imb-business-card__badge {
    background: linear-gradient(135deg, var(--imb-solar), var(--imb-coral));
    color: #2d1600;
    border-color: transparent;
    box-shadow: 0 12px 28px rgba(242, 184, 75, 0.18);
}

.imb-business-card__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.imb-business-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 950;
    line-height: 1.12;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.imb-business-card__button:hover,
.imb-business-card__button:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.imb-business-card__button--primary {
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(7, 89, 133, 0.18);
}

.imb-business-card__button--primary:hover,
.imb-business-card__button--primary:focus-visible {
    color: #ffffff;
}

.imb-business-card__button--secondary {
    border: 1px solid rgba(7, 89, 133, 0.16);
    background: rgba(255, 255, 255, 0.74);
    color: var(--imb-oceano);
}

.imb-business-card__button--secondary:hover,
.imb-business-card__button--secondary:focus-visible {
    color: var(--imb-oceano);
    background: #ffffff;
}

.imb-business-card.is-hidden {
    display: none;
}


/* GUIA - VISUALIZAÇÃO AGRUPADA POR CATEGORIA */
.imb-guia .imb-catalog-grid--grouped {
    grid-template-columns: 1fr;
    gap: clamp(28px, 4vw, 42px);
}

.imb-guia .imb-catalog-category-group {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.imb-guia .imb-catalog-category-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px;
    border: 1px solid rgba(15, 94, 122, 0.13);
    border-radius: var(--imb-radius-lg);
    background:
        radial-gradient(circle at 92% 18%, rgba(242, 184, 75, 0.16), transparent 12rem),
        linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(250, 243, 227, 0.76));
    box-shadow: 0 16px 42px rgba(7, 89, 133, 0.08);
}

.imb-guia .imb-catalog-category-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(1.28rem, 2vw, 1.72rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-guia .imb-catalog-category-title::before {
    content: "";
    display: inline-block;
    width: 11px;
    height: 30px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--imb-solar), var(--imb-agua));
    box-shadow: 0 10px 22px rgba(242, 184, 75, 0.22);
}

.imb-guia .imb-catalog-category-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    color: var(--imb-oceano);
    font-size: 0.82rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.imb-guia .imb-catalog-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

@media (max-width: 900px) {
    .imb-guia .imb-catalog-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .imb-guia .imb-catalog-category-head {
        align-items: flex-start;
        padding: 16px;
    }

    .imb-guia .imb-catalog-category-grid {
        grid-template-columns: 1fr;
    }

    .imb-guia .imb-catalog-category-title {
        font-size: 1.28rem;
    }
}

/* GUIA - VAZIO E CTAS */
.imb-guia-empty {
    margin-top: 22px;
    padding: 34px 24px;
    border: 1px dashed rgba(7, 89, 133, 0.26);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.70);
    text-align: center;
    box-shadow: var(--imb-shadow-soft);
}

.imb-guia-empty__icon {
    font-size: 2rem;
}

.imb-guia-empty h3 {
    margin: 12px 0 0;
    color: var(--imb-oceano);
    font-size: 1.35rem;
    font-weight: 950;
}

.imb-guia-empty p {
    margin: 8px auto 0;
    max-width: 520px;
    color: var(--imb-muted);
    line-height: 1.6;
}

.imb-guia-business-cta {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, var(--imb-areia-2), #ffffff);
}

.imb-guia-business-cta__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-guia-business-cta__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-guia-business-cta__box > div {
    position: relative;
    z-index: 1;
}

.imb-guia-business-cta h2 {
    color: #ffffff;
}

.imb-guia-business-cta p {
    max-width: 760px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, 0.88);
}

.imb-guia-business-cta__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

.imb-guia-visitor {
    background: #ffffff;
}

.imb-guia-visitor__box {
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 90% 20%, rgba(20, 184, 166, 0.12), transparent 16rem),
        linear-gradient(135deg, rgba(250, 243, 227, 0.72), rgba(255, 255, 255, 0.95));
    box-shadow: var(--imb-shadow-soft);
}

.imb-guia-visitor h2 {
    color: var(--imb-oceano);
    font-size: clamp(1.8rem, 3vw, 2.7rem);
}

.imb-guia-visitor p {
    max-width: 850px;
    margin: 16px 0 0;
}

/* REVEAL */
.imb-reveal {
    opacity: 1;
    transform: none;
}

.imb-home.imb-js .imb-reveal,
.imb-guia.imb-js .imb-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 520ms ease, transform 520ms ease;
}

.imb-home.imb-js .imb-reveal.is-visible,
.imb-guia.imb-js .imb-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* RESPONSIVO */
@media (max-width: 1060px) {
    .imb-hero__grid,
    .imb-guide-home__shell,
    .imb-guia-hero__grid {
        grid-template-columns: 1fr;
    }

    .imb-hero {
        min-height: auto;
    }

    .imb-hero__visual,
    .imb-guia-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-section__head--split,
    .imb-cta__box,
    .imb-instagram__box,
    .imb-guia-search-head,
    .imb-guia-business-cta__box {
        grid-template-columns: 1fr;
    }

    .imb-cta__actions,
    .imb-guia-business-cta__actions {
        justify-content: flex-start;
    }

    .imb-guia-controls {
        grid-template-columns: 1fr 1fr;
    }

    .imb-guia-view-toggle {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .imb-category-grid,
    .imb-featured-grid,
    .imb-publication-grid,
    .imb-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .imb-container {
        width: min(100% - 28px, 1180px);
    }

    .imb-section,
    .imb-guia-section {
        padding: 52px 0;
    }

    .imb-section__head,
    .imb-section__head--split {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-section__title,
    .imb-guide-home__title,
    .imb-cta h2,
    .imb-instagram h2,
    .imb-guia-search-head h2,
    .imb-guia-business-cta h2,
    .imb-guia-visitor h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-hero,
    .imb-guia-hero {
        padding: 48px 0 78px;
    }

    .imb-hero::after,
    .imb-guia-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-hero__grid,
    .imb-guia-hero__grid {
        gap: 34px;
    }

    .imb-hero__title,
    .imb-guia-hero__title {
        font-size: clamp(3rem, 17vw, 4.9rem);
        letter-spacing: -0.07em;
    }

    .imb-hero__subtitle,
    .imb-guia-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-hero__text,
    .imb-guia-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-hero__actions,
    .imb-cta__actions,
    .imb-guia-hero__actions,
    .imb-guia-business-cta__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-button {
        width: 100%;
        min-height: 54px;
        padding: 15px 18px;
    }

    .imb-hero__visual,
    .imb-guia-hero__panel {
        min-height: 380px;
    }

    .imb-scenery,
    .imb-guia-hero__map {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-scenery__sun {
        top: 44px;
        right: 36px;
        width: 86px;
        height: 86px;
    }

    .imb-scenery__cloud--one {
        left: 26px;
        top: 78px;
        width: 94px;
    }

    .imb-scenery__palm--one {
        left: 44px;
    }

    .imb-scenery__palm--two {
        right: 28px;
    }

    .imb-floating-tags,
    .imb-guia-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-floating-tags span,
    .imb-guia-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-category-grid,
    .imb-featured-grid,
    .imb-publication-grid,
    .imb-guide-home__benefits,
    .imb-catalog-grid {
        grid-template-columns: 1fr;
    }

    .imb-category-card,
    .imb-publication-card,
    .imb-feature-card__body,
    .imb-business-card {
        padding: 22px;
    }

    .imb-guide-home__shell,
    .imb-cta__box,
    .imb-instagram__box,
    .imb-guia-search-shell,
    .imb-guia-business-cta__box,
    .imb-guia-visitor__box {
        padding: 24px;
        border-radius: 28px;
    }

    .imb-guide-benefit {
        grid-template-columns: 48px minmax(0, 1fr);
        padding: 16px;
    }

    .imb-guide-benefit__icon {
        width: 46px;
        height: 46px;
        border-radius: 16px;
        font-size: 1.2rem;
    }

    .imb-feature-card__media {
        min-height: 150px;
    }

    .imb-guia-search-shell {
        margin-top: -54px;
    }

    .imb-guia-controls {
        grid-template-columns: 1fr;
    }

    .imb-guia-view-toggle {
        grid-column: auto;
    }

    .imb-guia-view-toggle__buttons {
        grid-template-columns: 1fr;
    }

    .imb-guia-field input,
    .imb-guia-field select {
        min-height: 56px;
    }
}

@media (max-width: 420px) {
    .imb-container {
        width: min(100% - 22px, 1180px);
    }

    .imb-eyebrow {
        font-size: 0.7rem;
        letter-spacing: 0.055em;
    }

    .imb-hero__visual,
    .imb-guia-hero__panel {
        min-height: 350px;
    }

    .imb-floating-tags span:nth-child(n+6),
    .imb-guia-hero__chips span:nth-child(n+6) {
        display: none;
    }

    .imb-business-card__top {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .imb-business-card__icon {
        width: 46px;
        height: 46px;
        border-radius: 16px;
        font-size: 1.25rem;
    }
}


/* CADASTRO DE NEGÓCIO */
.imb-cadastro,
.imb-cadastro * {
    box-sizing: border-box;
}

.imb-cadastro {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    --imb-radius-md: 18px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.13), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.12), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-cadastro-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-cadastro-section__head {
    max-width: 780px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-cadastro-section__head h2,
.imb-cadastro-form-intro h2,
.imb-cadastro-highlight h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-cadastro-section__head p,
.imb-cadastro-form-intro p,
.imb-cadastro-highlight p {
    margin: 18px auto 0;
    max-width: 760px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* CADASTRO - HERO */
.imb-cadastro-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.48), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-cadastro-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-cadastro-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-cadastro-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-cadastro-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-cadastro-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(330px, 0.9fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-cadastro-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-cadastro-hero__subtitle {
    margin: 22px 0 0;
    max-width: 760px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-cadastro-hero__text {
    max-width: 720px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-cadastro-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-cadastro-hero__panel {
    position: relative;
    min-height: 440px;
}

.imb-cadastro-hero__card {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-cadastro-hero__card::before,
.imb-cadastro-hero__card::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-cadastro-hero__card::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-cadastro-hero__card::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-cadastro-hero__sun {
    position: absolute;
    top: 52px;
    right: 58px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-cadastro-hero__line {
    position: absolute;
    left: 42px;
    z-index: 5;
    height: 18px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.10);
}

.imb-cadastro-hero__line--one {
    top: 82px;
    width: 160px;
}

.imb-cadastro-hero__line--two {
    top: 122px;
    width: 230px;
}

.imb-cadastro-hero__line--three {
    top: 162px;
    width: 190px;
}

.imb-cadastro-hero__stamp {
    position: absolute;
    z-index: 6;
    left: 42px;
    bottom: 72px;
    padding: 12px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-weight: 950;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.16);
}

.imb-cadastro-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-cadastro-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* CADASTRO - CARDS */
.imb-cadastro-who {
    background: var(--imb-areia-2);
}

.imb-cadastro-card-grid,
.imb-cadastro-steps-grid {
    display: grid;
    gap: 22px;
}

.imb-cadastro-card-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.imb-cadastro-steps-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-cadastro-card,
.imb-cadastro-step {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-cadastro-card:hover,
.imb-cadastro-card:focus-within,
.imb-cadastro-step:hover,
.imb-cadastro-step:focus-within {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-cadastro-card::before,
.imb-cadastro-step::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-agua), var(--imb-solar), transparent);
}

.imb-cadastro-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-cadastro-card h3,
.imb-cadastro-step h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.12rem, 1.45vw, 1.36rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-cadastro-card p,
.imb-cadastro-step p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

.imb-cadastro-steps {
    background: #ffffff;
}

.imb-cadastro-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: 950;
    box-shadow: 0 16px 34px rgba(7, 89, 133, 0.18);
}

.imb-cadastro-steps__note {
    max-width: 860px;
    margin: 26px auto 0;
    padding: 18px 20px;
    border: 1px solid rgba(242, 184, 75, 0.34);
    border-radius: var(--imb-radius-md);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(247, 238, 220, 0.72));
    color: #6f4b11;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.62;
    text-align: center;
}

/* CADASTRO - FORMULÁRIO */
.imb-cadastro-form-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(20, 184, 166, 0.12), transparent 22rem),
        linear-gradient(180deg, var(--imb-areia-2), #ffffff);
}

.imb-cadastro-form-shell {
    overflow: hidden;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
}

.imb-cadastro-form-intro {
    margin-bottom: 28px;
}

.imb-form {
    display: grid;
    gap: 22px;
}

.imb-form-fieldset {
    margin: 0;
    padding: 22px;
    border: 1px solid rgba(7, 89, 133, 0.13);
    border-radius: var(--imb-radius-lg);
    background:
        radial-gradient(circle at 100% 0%, rgba(242, 184, 75, 0.10), transparent 12rem),
        rgba(255, 255, 255, 0.78);
}

.imb-form-fieldset legend {
    padding: 0 10px;
    color: var(--imb-oceano);
    font-size: 1.05rem;
    font-weight: 950;
    letter-spacing: -0.02em;
}

.imb-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.imb-form-grid__full {
    grid-column: 1 / -1;
}

.imb-cadastro-field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-cadastro-field span,
.imb-cadastro-consent span {
    color: var(--imb-texto);
    font-size: 0.92rem;
    font-weight: 850;
    line-height: 1.35;
}

.imb-cadastro-field strong {
    color: var(--imb-coral);
}

.imb-cadastro-field input,
.imb-cadastro-field select,
.imb-cadastro-field textarea {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 650;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-cadastro-field textarea {
    min-height: 118px;
    padding-top: 14px;
    resize: vertical;
}

.imb-cadastro-field input::placeholder,
.imb-cadastro-field textarea::placeholder {
    color: rgba(91, 102, 115, 0.72);
}

.imb-cadastro-field input:focus,
.imb-cadastro-field select:focus,
.imb-cadastro-field textarea:focus {
    border-color: rgba(14, 165, 168, 0.52);
    outline: 3px solid rgba(14, 165, 168, 0.14);
    outline-offset: 2px;
}

.imb-cadastro-field small {
    color: var(--imb-muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

.imb-cadastro-field--file input {
    display: flex;
    align-items: center;
    min-height: 62px;
    padding: 16px;
    border-style: dashed;
    background: rgba(250, 243, 227, 0.45);
}

.imb-cadastro-consent {
    display: grid;
    gap: 10px;
    padding: 20px;
    border: 1px solid rgba(22, 101, 52, 0.18);
    border-radius: var(--imb-radius-lg);
    background: rgba(22, 101, 52, 0.06);
}

.imb-cadastro-consent label {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    cursor: pointer;
}

.imb-cadastro-consent input {
    width: 20px;
    height: 20px;
    margin-top: 1px;
    accent-color: var(--imb-oceano);
}

.imb-cadastro-consent p {
    margin: 0;
    color: var(--imb-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.imb-form-actions {
    display: grid;
    gap: 12px;
    justify-items: start;
}

.imb-form-actions p {
    margin: 0;
    color: var(--imb-muted);
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.55;
}

.imb-form-message {
    padding: 16px 18px;
    border-radius: var(--imb-radius-md);
    font-size: 0.98rem;
    font-weight: 850;
    line-height: 1.55;
}

.imb-form-message.is-error {
    border: 1px solid rgba(249, 115, 91, 0.34);
    background: rgba(249, 115, 91, 0.10);
    color: #8c2f20;
}

.imb-form-message.is-success {
    border: 1px solid rgba(22, 101, 52, 0.26);
    background: rgba(22, 101, 52, 0.10);
    color: #14532d;
}

/* CADASTRO - DESTAQUE */
.imb-cadastro-highlight {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-cadastro-highlight__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-cadastro-highlight__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-cadastro-highlight__box > * {
    position: relative;
    z-index: 1;
}

.imb-cadastro-highlight h2 {
    color: #ffffff;
}

.imb-cadastro-highlight p {
    margin: 18px 0 0;
    max-width: 780px;
    color: rgba(255, 255, 255, 0.88);
}

/* CADASTRO - RESPONSIVO */
@media (max-width: 1060px) {
    .imb-cadastro-hero__grid,
    .imb-cadastro-highlight__box {
        grid-template-columns: 1fr;
    }

    .imb-cadastro-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-cadastro-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-cadastro-highlight__box .imb-button {
        width: fit-content;
    }
}

@media (max-width: 900px) {
    .imb-cadastro-steps-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .imb-cadastro-section {
        padding: 52px 0;
    }

    .imb-cadastro-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-cadastro-section__head h2,
    .imb-cadastro-form-intro h2,
    .imb-cadastro-highlight h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-cadastro-hero {
        padding: 48px 0 78px;
    }

    .imb-cadastro-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-cadastro-hero__grid {
        gap: 34px;
    }

    .imb-cadastro-hero__title {
        font-size: clamp(2.8rem, 15vw, 4.6rem);
        letter-spacing: -0.065em;
    }

    .imb-cadastro-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-cadastro-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-cadastro-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-cadastro-hero__panel {
        min-height: 380px;
    }

    .imb-cadastro-hero__card {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-cadastro-hero__sun {
        top: 44px;
        right: 36px;
        width: 86px;
        height: 86px;
    }

    .imb-cadastro-hero__line {
        left: 28px;
    }

    .imb-cadastro-hero__line--one {
        width: 128px;
    }

    .imb-cadastro-hero__line--two {
        width: 178px;
    }

    .imb-cadastro-hero__line--three {
        width: 148px;
    }

    .imb-cadastro-hero__stamp {
        left: 28px;
        bottom: 66px;
    }

    .imb-cadastro-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-cadastro-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-cadastro-card-grid,
    .imb-form-grid {
        grid-template-columns: 1fr;
    }

    .imb-form-grid__full {
        grid-column: auto;
    }

    .imb-cadastro-card,
    .imb-cadastro-step,
    .imb-form-fieldset,
    .imb-cadastro-form-shell,
    .imb-cadastro-highlight__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-cadastro-field input,
    .imb-cadastro-field select,
    .imb-cadastro-field textarea {
        min-height: 56px;
    }

    .imb-form-actions,
    .imb-form-actions .imb-button,
    .imb-cadastro-highlight__box .imb-button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .imb-cadastro-hero__panel {
        min-height: 350px;
    }

    .imb-cadastro-hero__chips span:nth-child(n+4) {
        display: none;
    }
}


/* ANUNCIE */
.imb-anuncie,
.imb-anuncie * {
    box-sizing: border-box;
}

.imb-anuncie {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    --imb-radius-md: 18px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.13), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.12), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-anuncie-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-anuncie-section__head {
    max-width: 820px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-anuncie-section__head h2,
.imb-anuncie-form-intro h2,
.imb-anuncie-final h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-anuncie-section__head p,
.imb-anuncie-form-intro p,
.imb-anuncie-final p {
    margin: 18px auto 0;
    max-width: 850px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* ANUNCIE - HERO */
.imb-anuncie-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.48), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-anuncie-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-anuncie-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-anuncie-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-anuncie-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-anuncie-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-anuncie-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.6rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-anuncie-hero__subtitle {
    margin: 22px 0 0;
    max-width: 760px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-anuncie-hero__text {
    max-width: 760px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-anuncie-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-anuncie-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-anuncie-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-anuncie-hero__visual::before,
.imb-anuncie-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-anuncie-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-anuncie-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-anuncie-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-anuncie-hero__ad-card {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-anuncie-hero__ad-card strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-anuncie-hero__ad-card span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-anuncie-hero__ad-card--one {
    top: 86px;
    left: 42px;
}

.imb-anuncie-hero__ad-card--two {
    top: 186px;
    right: 42px;
}

.imb-anuncie-hero__ad-card--three {
    left: 70px;
    bottom: 76px;
}

.imb-anuncie-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-anuncie-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* ANUNCIE - CARDS */
.imb-anuncie-benefits,
.imb-anuncie-audience {
    background: var(--imb-areia-2);
}

.imb-anuncie-benefit-grid,
.imb-anuncie-space-grid,
.imb-planos-grid,
.imb-anuncie-audience-grid,
.imb-anuncie-steps-grid {
    display: grid;
    gap: 22px;
}

.imb-anuncie-benefit-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.imb-anuncie-space-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-planos-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
}

.imb-anuncie-steps-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.imb-anuncie-card,
.imb-anuncie-space-card,
.imb-plano-card,
.imb-anuncie-step,
.imb-anuncie-audience-item {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-anuncie-card,
.imb-anuncie-space-card,
.imb-anuncie-step {
    padding: 24px;
}

.imb-anuncie-card:hover,
.imb-anuncie-space-card:hover,
.imb-plano-card:hover,
.imb-anuncie-step:hover,
.imb-anuncie-audience-item:hover,
.imb-anuncie-card:focus-within,
.imb-anuncie-space-card:focus-within,
.imb-plano-card:focus-within,
.imb-anuncie-step:focus-within,
.imb-anuncie-audience-item:focus-within {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-anuncie-card::before,
.imb-anuncie-space-card::before,
.imb-anuncie-step::before,
.imb-plano-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-agua), var(--imb-solar), transparent);
}

.imb-anuncie-card__icon,
.imb-anuncie-space-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-anuncie-card h3,
.imb-anuncie-space-card h3,
.imb-anuncie-step h3,
.imb-plano-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.12rem, 1.45vw, 1.38rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-anuncie-card p,
.imb-anuncie-space-card p,
.imb-anuncie-step p,
.imb-plano-card p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

.imb-anuncie-spaces,
.imb-anuncie-steps {
    background: #ffffff;
}

/* PLANOS */
.imb-planos {
    background:
        radial-gradient(circle at 88% 18%, rgba(242, 184, 75, 0.16), transparent 22rem),
        linear-gradient(180deg, var(--imb-areia-2), #ffffff);
}

.imb-plano-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 24px;
}

.imb-plano-card--featured {
    border-color: rgba(242, 184, 75, 0.46);
    background:
        radial-gradient(circle at 86% 8%, rgba(242, 184, 75, 0.20), transparent 9rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 243, 227, 0.72));
    box-shadow: 0 28px 80px rgba(242, 184, 75, 0.16);
}

.imb-plano-card--featured::before {
    background: linear-gradient(90deg, var(--imb-solar), var(--imb-coral), var(--imb-agua));
}

.imb-plano-card__seal {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 14px;
    padding: 8px 11px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--imb-solar), var(--imb-coral));
    color: #2d1600;
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.imb-plano-card__head strong {
    display: block;
    margin-top: 14px;
    color: var(--imb-oceano);
    font-size: clamp(1.28rem, 2vw, 1.75rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-plano-card__items {
    display: grid;
    gap: 10px;
    margin: 20px 0 24px;
    padding: 0;
    list-style: none;
}

.imb-plano-card__items li {
    position: relative;
    padding-left: 24px;
    color: var(--imb-muted);
    font-size: 0.94rem;
    font-weight: 750;
    line-height: 1.45;
}

.imb-plano-card__items li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--imb-mata);
    font-weight: 950;
}

.imb-plano-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin-top: auto;
    padding: 12px 14px;
    border: 1px solid rgba(7, 89, 133, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    color: var(--imb-oceano);
    font-size: 0.92rem;
    font-weight: 950;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease;
}

.imb-plano-card__button:hover,
.imb-plano-card__button:focus-visible {
    transform: translateY(-2px);
    color: var(--imb-oceano);
    background: #ffffff;
    text-decoration: none;
}

.imb-plano-card__button--featured {
    border-color: transparent;
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 16px 32px rgba(7, 89, 133, 0.20);
}

.imb-plano-card__button--featured:hover,
.imb-plano-card__button--featured:focus-visible {
    color: #ffffff;
}

.imb-planos__note {
    max-width: 900px;
    margin: 26px auto 0;
    padding: 18px 20px;
    border: 1px solid rgba(242, 184, 75, 0.34);
    border-radius: var(--imb-radius-md);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(247, 238, 220, 0.72));
    color: #6f4b11;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.62;
    text-align: center;
}

/* PÚBLICO E PASSOS */
.imb-anuncie-audience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.imb-anuncie-audience-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 20px;
}

.imb-anuncie-audience-item span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    font-weight: 950;
}

.imb-anuncie-audience-item strong {
    color: var(--imb-texto);
    font-size: 0.98rem;
    font-weight: 900;
    line-height: 1.35;
}

.imb-anuncie-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: 950;
    box-shadow: 0 16px 34px rgba(7, 89, 133, 0.18);
}

/* FORMULÁRIO ANUNCIE */
.imb-anuncie-form-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(20, 184, 166, 0.12), transparent 22rem),
        linear-gradient(180deg, var(--imb-areia-2), #ffffff);
}

.imb-anuncie-form-shell {
    overflow: hidden;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
}

.imb-anuncie-form-intro {
    margin-bottom: 28px;
}

.imb-anuncie-form {
    display: grid;
    gap: 22px;
}

.imb-anuncie-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.imb-anuncie-form-grid__full {
    grid-column: 1 / -1;
}

.imb-anuncie-field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-anuncie-field span,
.imb-anuncie-consent span {
    color: var(--imb-texto);
    font-size: 0.92rem;
    font-weight: 850;
    line-height: 1.35;
}

.imb-anuncie-field strong {
    color: var(--imb-coral);
}

.imb-anuncie-field input,
.imb-anuncie-field select,
.imb-anuncie-field textarea {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 650;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-anuncie-field textarea {
    min-height: 132px;
    padding-top: 14px;
    resize: vertical;
}

.imb-anuncie-field input::placeholder,
.imb-anuncie-field textarea::placeholder {
    color: rgba(91, 102, 115, 0.72);
}

.imb-anuncie-field input:focus,
.imb-anuncie-field select:focus,
.imb-anuncie-field textarea:focus {
    border-color: rgba(14, 165, 168, 0.52);
    outline: 3px solid rgba(14, 165, 168, 0.14);
    outline-offset: 2px;
}

.imb-anuncie-consent {
    display: grid;
    gap: 10px;
    padding: 20px;
    border: 1px solid rgba(22, 101, 52, 0.18);
    border-radius: var(--imb-radius-lg);
    background: rgba(22, 101, 52, 0.06);
}

.imb-anuncie-consent label {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    cursor: pointer;
}

.imb-anuncie-consent input {
    width: 20px;
    height: 20px;
    margin-top: 1px;
    accent-color: var(--imb-oceano);
}

.imb-anuncie-form-actions {
    display: grid;
    gap: 12px;
    justify-items: start;
}

.imb-anuncie-form-actions p {
    margin: 0;
    color: var(--imb-muted);
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.55;
}

.imb-anuncie-form-message {
    padding: 16px 18px;
    border-radius: var(--imb-radius-md);
    font-size: 0.98rem;
    font-weight: 850;
    line-height: 1.55;
}

.imb-anuncie-form-message.is-error {
    border: 1px solid rgba(249, 115, 91, 0.34);
    background: rgba(249, 115, 91, 0.10);
    color: #8c2f20;
}

.imb-anuncie-form-message.is-success {
    border: 1px solid rgba(22, 101, 52, 0.26);
    background: rgba(22, 101, 52, 0.10);
    color: #14532d;
}

/* CTA FINAL */
.imb-anuncie-final {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-anuncie-final__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-anuncie-final__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-anuncie-final__box > * {
    position: relative;
    z-index: 1;
}

.imb-anuncie-final h2 {
    color: #ffffff;
}

.imb-anuncie-final p {
    margin: 18px 0 0;
    max-width: 780px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-anuncie-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* ANUNCIE - RESPONSIVO */
@media (max-width: 1180px) {
    .imb-planos-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-anuncie-benefit-grid,
    .imb-anuncie-steps-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1060px) {
    .imb-anuncie-hero__grid,
    .imb-anuncie-final__box {
        grid-template-columns: 1fr;
    }

    .imb-anuncie-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-anuncie-space-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-anuncie-final__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .imb-anuncie-section {
        padding: 52px 0;
    }

    .imb-anuncie-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-anuncie-section__head h2,
    .imb-anuncie-form-intro h2,
    .imb-anuncie-final h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-anuncie-hero {
        padding: 48px 0 78px;
    }

    .imb-anuncie-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-anuncie-hero__grid {
        gap: 34px;
    }

    .imb-anuncie-hero__title {
        font-size: clamp(3rem, 16vw, 4.9rem);
        letter-spacing: -0.07em;
    }

    .imb-anuncie-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-anuncie-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-anuncie-hero__actions,
    .imb-anuncie-final__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-anuncie-hero__panel {
        min-height: 390px;
    }

    .imb-anuncie-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-anuncie-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-anuncie-hero__ad-card {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-anuncie-hero__ad-card--one {
        top: 78px;
        left: 24px;
    }

    .imb-anuncie-hero__ad-card--two {
        top: 172px;
        right: 24px;
    }

    .imb-anuncie-hero__ad-card--three {
        left: 34px;
        bottom: 66px;
    }

    .imb-anuncie-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-anuncie-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-anuncie-benefit-grid,
    .imb-anuncie-space-grid,
    .imb-planos-grid,
    .imb-anuncie-audience-grid,
    .imb-anuncie-steps-grid,
    .imb-anuncie-form-grid {
        grid-template-columns: 1fr;
    }

    .imb-anuncie-form-grid__full {
        grid-column: auto;
    }

    .imb-anuncie-card,
    .imb-anuncie-space-card,
    .imb-plano-card,
    .imb-anuncie-step,
    .imb-anuncie-form-shell,
    .imb-anuncie-final__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-anuncie-field input,
    .imb-anuncie-field select,
    .imb-anuncie-field textarea {
        min-height: 56px;
    }

    .imb-anuncie-form-actions,
    .imb-anuncie-form-actions .imb-button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .imb-anuncie-hero__panel {
        min-height: 360px;
    }

    .imb-anuncie-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-anuncie-hero__ad-card--two {
        right: 12px;
    }
}


/* PUBLICAÇÕES */
.imb-publicacoes,
.imb-publicacoes * {
    box-sizing: border-box;
}

.imb-publicacoes {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    --imb-radius-md: 18px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.13), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.12), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-publicacoes-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-publicacoes-section__head {
    max-width: 860px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-publicacoes-section__head h2,
.imb-publicacoes-filter-head h2,
.imb-publicacoes-cta h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-publicacoes-section__head p,
.imb-publicacoes-filter-head p,
.imb-publicacoes-cta p {
    margin: 18px auto 0;
    max-width: 880px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* PUBLICAÇÕES - HERO */
.imb-publicacoes-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.48), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-publicacoes-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-publicacoes-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-publicacoes-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-publicacoes-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-publicacoes-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-publicacoes-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-publicacoes-hero__subtitle {
    margin: 22px 0 0;
    max-width: 780px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-publicacoes-hero__text {
    max-width: 760px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-publicacoes-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-publicacoes-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-publicacoes-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-publicacoes-hero__visual::before,
.imb-publicacoes-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-publicacoes-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-publicacoes-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-publicacoes-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-publicacoes-hero__story {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-publicacoes-hero__story strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-publicacoes-hero__story span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-publicacoes-hero__story--one {
    top: 86px;
    left: 42px;
}

.imb-publicacoes-hero__story--two {
    top: 186px;
    right: 42px;
}

.imb-publicacoes-hero__story--three {
    left: 70px;
    bottom: 76px;
}

.imb-publicacoes-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-publicacoes-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* PUBLICAÇÕES - PROPÓSITO */
.imb-publicacoes-purpose,
.imb-publicacoes-flow {
    background: var(--imb-areia-2);
}

.imb-publicacoes-purpose-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.imb-publicacoes-purpose-card,
.imb-post-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-publicacoes-purpose-card {
    padding: 24px;
}

.imb-publicacoes-purpose-card:hover,
.imb-post-card:hover,
.imb-publicacoes-purpose-card:focus-within,
.imb-post-card:focus-within {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-publicacoes-purpose-card::before,
.imb-post-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-agua), var(--imb-solar), transparent);
}

.imb-publicacoes-purpose-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-publicacoes-purpose-card h3,
.imb-post-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.15rem, 1.45vw, 1.42rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-publicacoes-purpose-card p,
.imb-post-card p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

/* PUBLICAÇÕES - FILTROS */
.imb-publicacoes-list-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(20, 184, 166, 0.12), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-publicacoes-filter-shell {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
    backdrop-filter: blur(16px);
}

.imb-publicacoes-filter-head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.75fr);
    gap: 22px;
    align-items: end;
    margin-bottom: 24px;
}

.imb-publicacoes-filter-head h2 {
    font-size: clamp(1.8rem, 3.3vw, 2.7rem);
}

.imb-publicacoes-filter-head p {
    margin: 0;
}

.imb-post-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(210px, 0.7fr) minmax(210px, 0.7fr);
    gap: 14px;
    align-items: end;
}

.imb-post-filter__field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-post-filter__field span {
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.imb-post-filter__field input,
.imb-post-filter__field select {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-post-filter__field input::placeholder {
    color: rgba(91, 102, 115, 0.76);
}

.imb-post-filter__field input:focus,
.imb-post-filter__field select:focus {
    border-color: rgba(14, 165, 168, 0.52);
    outline: 3px solid rgba(14, 165, 168, 0.14);
    outline-offset: 2px;
}

.imb-publicacoes-results-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 24px 0 18px;
    color: var(--imb-muted);
    font-size: 0.98rem;
    font-weight: 700;
}

.imb-publicacoes-results-bar strong {
    color: var(--imb-oceano);
    font-size: 1.18rem;
    font-weight: 950;
}

/* PUBLICAÇÕES - CARDS */
.imb-post-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.imb-post-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background:
        radial-gradient(circle at 92% 12%, rgba(242, 184, 75, 0.12), transparent 8rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 243, 227, 0.54));
}

.imb-post-card__click {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.imb-post-card__media,
.imb-post-card__body {
    position: relative;
    z-index: 2;
}

.imb-post-card__media {
    min-height: 156px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 24%, rgba(242, 184, 75, 0.54), transparent 6rem),
        radial-gradient(circle at 20% 84%, rgba(22, 101, 52, 0.24), transparent 9rem),
        linear-gradient(135deg, rgba(7, 89, 133, 0.96), rgba(14, 165, 168, 0.78));
}

.imb-post-card__media::after {
    content: "";
    position: absolute;
    left: -16%;
    right: -16%;
    bottom: -60px;
    height: 120px;
    border-radius: 50% 50% 0 0;
    background: rgba(255, 255, 255, 0.26);
}

.imb-post-card__icon {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 1.55rem;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15);
}

.imb-post-card__seal {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1;
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.76rem;
    font-weight: 950;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.imb-post-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 24px;
}

.imb-post-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.imb-post-card__meta span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.imb-post-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.imb-post-card__tags span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(242, 184, 75, 0.14);
    color: #80510a;
    font-size: 0.78rem;
    font-weight: 850;
}

.imb-post-card__footer {
    display: grid;
    gap: 14px;
    margin-top: auto;
    padding-top: 22px;
}

.imb-post-card__date {
    display: inline-flex;
    width: fit-content;
    color: var(--imb-muted);
    font-size: 0.88rem;
    font-weight: 850;
}

.imb-post-card__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.imb-post-card__button {
    position: relative;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 950;
    line-height: 1.12;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.imb-post-card__button:hover,
.imb-post-card__button:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.imb-post-card__button--primary {
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(7, 89, 133, 0.18);
}

.imb-post-card__button--primary:hover,
.imb-post-card__button--primary:focus-visible {
    color: #ffffff;
}

.imb-post-card__button--secondary {
    border: 1px solid rgba(7, 89, 133, 0.16);
    background: rgba(255, 255, 255, 0.74);
    color: var(--imb-oceano);
}

.imb-post-card__button--secondary:hover,
.imb-post-card__button--secondary:focus-visible {
    color: var(--imb-oceano);
    background: #ffffff;
}

.imb-post-card.is-hidden {
    display: none;
}

.imb-publicacoes-empty {
    margin-top: 22px;
    padding: 34px 24px;
    border: 1px dashed rgba(7, 89, 133, 0.26);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.70);
    text-align: center;
    box-shadow: var(--imb-shadow-soft);
}

.imb-publicacoes-empty__icon {
    font-size: 2rem;
}

.imb-publicacoes-empty h3 {
    margin: 12px 0 0;
    color: var(--imb-oceano);
    font-size: 1.35rem;
    font-weight: 950;
}

.imb-publicacoes-empty p {
    margin: 8px auto 0;
    max-width: 520px;
    color: var(--imb-muted);
    line-height: 1.6;
}

/* FLUXO E CTA */
.imb-publicacoes-flow-line {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1.2fr;
    gap: 14px;
    align-items: center;
}

.imb-publicacoes-flow-line div {
    min-height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    text-align: center;
}

.imb-publicacoes-flow-line strong {
    color: var(--imb-oceano);
    font-size: clamp(1rem, 1.6vw, 1.3rem);
    font-weight: 950;
    line-height: 1.2;
}

.imb-publicacoes-flow-line > span {
    color: var(--imb-solar-2);
    font-size: 1.8rem;
    font-weight: 950;
}

.imb-publicacoes-cta {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-publicacoes-cta__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-publicacoes-cta__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-publicacoes-cta__box > * {
    position: relative;
    z-index: 1;
}

.imb-publicacoes-cta h2 {
    color: #ffffff;
}

.imb-publicacoes-cta p {
    margin: 18px 0 0;
    max-width: 780px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-publicacoes-cta__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* PUBLICAÇÕES - RESPONSIVO */
@media (max-width: 1060px) {
    .imb-publicacoes-hero__grid,
    .imb-publicacoes-cta__box,
    .imb-publicacoes-filter-head {
        grid-template-columns: 1fr;
    }

    .imb-publicacoes-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-post-filter {
        grid-template-columns: 1fr;
    }

    .imb-post-grid,
    .imb-publicacoes-purpose-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-publicacoes-cta__actions {
        justify-content: flex-start;
    }

    .imb-publicacoes-flow-line {
        grid-template-columns: 1fr;
    }

    .imb-publicacoes-flow-line > span {
        transform: rotate(0deg);
        text-align: center;
    }
}

@media (max-width: 680px) {
    .imb-publicacoes-section {
        padding: 52px 0;
    }

    .imb-publicacoes-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-publicacoes-section__head h2,
    .imb-publicacoes-filter-head h2,
    .imb-publicacoes-cta h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-publicacoes-hero {
        padding: 48px 0 78px;
    }

    .imb-publicacoes-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-publicacoes-hero__grid {
        gap: 34px;
    }

    .imb-publicacoes-hero__title {
        font-size: clamp(2.9rem, 15vw, 4.8rem);
        letter-spacing: -0.07em;
    }

    .imb-publicacoes-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-publicacoes-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-publicacoes-hero__actions,
    .imb-publicacoes-cta__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-publicacoes-hero__panel {
        min-height: 390px;
    }

    .imb-publicacoes-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-publicacoes-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-publicacoes-hero__story {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-publicacoes-hero__story--one {
        top: 78px;
        left: 24px;
    }

    .imb-publicacoes-hero__story--two {
        top: 172px;
        right: 24px;
    }

    .imb-publicacoes-hero__story--three {
        left: 34px;
        bottom: 66px;
    }

    .imb-publicacoes-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-publicacoes-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-post-grid,
    .imb-publicacoes-purpose-grid {
        grid-template-columns: 1fr;
    }

    .imb-publicacoes-purpose-card,
    .imb-post-card__body,
    .imb-publicacoes-filter-shell,
    .imb-publicacoes-cta__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-post-filter__field input,
    .imb-post-filter__field select {
        min-height: 56px;
    }

    .imb-publicacoes-flow-line div {
        min-height: 90px;
    }
}

@media (max-width: 420px) {
    .imb-publicacoes-hero__panel {
        min-height: 360px;
    }

    .imb-publicacoes-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-publicacoes-hero__story--two {
        right: 12px;
    }
}


/* EVENTOS */
.imb-eventos,
.imb-eventos * {
    box-sizing: border-box;
}

.imb-eventos {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    --imb-radius-md: 18px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.13), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.12), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-eventos-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-eventos-section__head {
    max-width: 860px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-eventos-section__head h2,
.imb-eventos-filter-head h2,
.imb-eventos-divulgue h2,
.imb-eventos-final h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-eventos-section__head p,
.imb-eventos-filter-head p,
.imb-eventos-divulgue p,
.imb-eventos-final p {
    margin: 18px auto 0;
    max-width: 880px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* EVENTOS - HERO */
.imb-eventos-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.48), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-eventos-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-eventos-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-eventos-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-eventos-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-eventos-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-eventos-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-eventos-hero__subtitle {
    margin: 22px 0 0;
    max-width: 780px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-eventos-hero__text {
    max-width: 760px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-eventos-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-eventos-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-eventos-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-eventos-hero__visual::before,
.imb-eventos-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-eventos-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-eventos-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-eventos-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-eventos-hero__agenda-card {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-eventos-hero__agenda-card strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-eventos-hero__agenda-card span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-eventos-hero__agenda-card--one {
    top: 86px;
    left: 42px;
}

.imb-eventos-hero__agenda-card--two {
    top: 186px;
    right: 42px;
}

.imb-eventos-hero__agenda-card--three {
    left: 70px;
    bottom: 76px;
}

.imb-eventos-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-eventos-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* EVENTOS - PROPÓSITO */
.imb-eventos-purpose,
.imb-eventos-steps {
    background: var(--imb-areia-2);
}

.imb-eventos-purpose-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.imb-eventos-purpose-card,
.imb-evento-card,
.imb-eventos-step {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-eventos-purpose-card,
.imb-eventos-step {
    padding: 24px;
}

.imb-eventos-purpose-card:hover,
.imb-evento-card:hover,
.imb-eventos-step:hover,
.imb-eventos-purpose-card:focus-within,
.imb-evento-card:focus-within,
.imb-eventos-step:focus-within {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-eventos-purpose-card::before,
.imb-evento-card::before,
.imb-eventos-step::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-agua), var(--imb-solar), transparent);
}

.imb-eventos-purpose-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-eventos-purpose-card h3,
.imb-evento-card h3,
.imb-eventos-step h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.15rem, 1.45vw, 1.42rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-eventos-purpose-card p,
.imb-evento-card p,
.imb-eventos-step p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

/* EVENTOS - FILTROS */
.imb-eventos-list-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(20, 184, 166, 0.12), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-eventos-filter-shell {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
    backdrop-filter: blur(16px);
}

.imb-eventos-filter-head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.75fr);
    gap: 22px;
    align-items: end;
    margin-bottom: 24px;
}

.imb-eventos-filter-head h2 {
    font-size: clamp(1.8rem, 3.3vw, 2.7rem);
}

.imb-eventos-filter-head p {
    margin: 0;
}

.imb-eventos-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(210px, 0.7fr) minmax(210px, 0.7fr);
    gap: 14px;
    align-items: end;
}

.imb-eventos-filter__field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-eventos-filter__field span {
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.imb-eventos-filter__field input,
.imb-eventos-filter__field select {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-eventos-filter__field input::placeholder {
    color: rgba(91, 102, 115, 0.76);
}

.imb-eventos-filter__field input:focus,
.imb-eventos-filter__field select:focus {
    border-color: rgba(14, 165, 168, 0.52);
    outline: 3px solid rgba(14, 165, 168, 0.14);
    outline-offset: 2px;
}

.imb-eventos-results-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 24px 0 18px;
    color: var(--imb-muted);
    font-size: 0.98rem;
    font-weight: 700;
}

.imb-eventos-results-bar strong {
    color: var(--imb-oceano);
    font-size: 1.18rem;
    font-weight: 950;
}

/* EVENTOS - CARDS */
.imb-eventos-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.imb-evento-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background:
        radial-gradient(circle at 92% 12%, rgba(242, 184, 75, 0.12), transparent 8rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 243, 227, 0.54));
}

.imb-evento-card__media,
.imb-evento-card__body {
    position: relative;
    z-index: 2;
}

.imb-evento-card__media {
    min-height: 156px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 24%, rgba(242, 184, 75, 0.54), transparent 6rem),
        radial-gradient(circle at 20% 84%, rgba(22, 101, 52, 0.24), transparent 9rem),
        linear-gradient(135deg, rgba(7, 89, 133, 0.96), rgba(14, 165, 168, 0.78));
}

.imb-evento-card__media::after {
    content: "";
    position: absolute;
    left: -16%;
    right: -16%;
    bottom: -60px;
    height: 120px;
    border-radius: 50% 50% 0 0;
    background: rgba(255, 255, 255, 0.26);
}

.imb-evento-card__icon {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 1.55rem;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15);
}

.imb-evento-card__seal {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1;
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.76rem;
    font-weight: 950;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.imb-evento-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 24px;
}

.imb-evento-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.imb-evento-card__meta span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.imb-evento-card__details {
    display: grid;
    gap: 6px;
    margin-top: 16px;
    padding: 13px 14px;
    border-radius: 16px;
    background: rgba(7, 89, 133, 0.06);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 850;
    line-height: 1.4;
}

.imb-evento-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.imb-evento-card__tags span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(242, 184, 75, 0.14);
    color: #80510a;
    font-size: 0.78rem;
    font-weight: 850;
}

.imb-evento-card__footer {
    display: grid;
    gap: 14px;
    margin-top: auto;
    padding-top: 22px;
}

.imb-evento-card__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.imb-evento-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 950;
    line-height: 1.12;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.imb-evento-card__button:hover,
.imb-evento-card__button:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.imb-evento-card__button--primary {
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(7, 89, 133, 0.18);
}

.imb-evento-card__button--primary:hover,
.imb-evento-card__button--primary:focus-visible {
    color: #ffffff;
}

.imb-evento-card__button--secondary {
    border: 1px solid rgba(7, 89, 133, 0.16);
    background: rgba(255, 255, 255, 0.74);
    color: var(--imb-oceano);
}

.imb-evento-card__button--secondary:hover,
.imb-evento-card__button--secondary:focus-visible {
    color: var(--imb-oceano);
    background: #ffffff;
}

.imb-evento-card.is-hidden {
    display: none;
}

.imb-eventos-empty {
    margin-top: 22px;
    padding: 34px 24px;
    border: 1px dashed rgba(7, 89, 133, 0.26);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.70);
    text-align: center;
    box-shadow: var(--imb-shadow-soft);
}

.imb-eventos-empty__icon {
    font-size: 2rem;
}

.imb-eventos-empty h3 {
    margin: 12px 0 0;
    color: var(--imb-oceano);
    font-size: 1.35rem;
    font-weight: 950;
}

.imb-eventos-empty p {
    margin: 8px auto 0;
    max-width: 520px;
    color: var(--imb-muted);
    line-height: 1.6;
}

/* EVENTOS - CTAS E PASSOS */
.imb-eventos-divulgue,
.imb-eventos-final {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-eventos-divulgue__box,
.imb-eventos-final__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-eventos-divulgue__box::after,
.imb-eventos-final__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-eventos-divulgue__box > *,
.imb-eventos-final__box > * {
    position: relative;
    z-index: 1;
}

.imb-eventos-divulgue h2,
.imb-eventos-final h2 {
    color: #ffffff;
}

.imb-eventos-divulgue p,
.imb-eventos-final p {
    margin: 18px 0 0;
    max-width: 780px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-eventos-divulgue__actions,
.imb-eventos-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

.imb-eventos-steps-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.imb-eventos-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: 950;
    box-shadow: 0 16px 34px rgba(7, 89, 133, 0.18);
}

/* EVENTOS - RESPONSIVO */
@media (max-width: 1180px) {
    .imb-eventos-steps-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1060px) {
    .imb-eventos-hero__grid,
    .imb-eventos-divulgue__box,
    .imb-eventos-final__box,
    .imb-eventos-filter-head {
        grid-template-columns: 1fr;
    }

    .imb-eventos-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-eventos-filter {
        grid-template-columns: 1fr;
    }

    .imb-eventos-grid,
    .imb-eventos-purpose-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-eventos-divulgue__actions,
    .imb-eventos-final__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .imb-eventos-section {
        padding: 52px 0;
    }

    .imb-eventos-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-eventos-section__head h2,
    .imb-eventos-filter-head h2,
    .imb-eventos-divulgue h2,
    .imb-eventos-final h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-eventos-hero {
        padding: 48px 0 78px;
    }

    .imb-eventos-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-eventos-hero__grid {
        gap: 34px;
    }

    .imb-eventos-hero__title {
        font-size: clamp(3rem, 15vw, 4.8rem);
        letter-spacing: -0.07em;
    }

    .imb-eventos-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-eventos-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-eventos-hero__actions,
    .imb-eventos-divulgue__actions,
    .imb-eventos-final__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-eventos-hero__panel {
        min-height: 390px;
    }

    .imb-eventos-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-eventos-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-eventos-hero__agenda-card {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-eventos-hero__agenda-card--one {
        top: 78px;
        left: 24px;
    }

    .imb-eventos-hero__agenda-card--two {
        top: 172px;
        right: 24px;
    }

    .imb-eventos-hero__agenda-card--three {
        left: 34px;
        bottom: 66px;
    }

    .imb-eventos-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-eventos-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-eventos-grid,
    .imb-eventos-purpose-grid,
    .imb-eventos-steps-grid {
        grid-template-columns: 1fr;
    }

    .imb-eventos-purpose-card,
    .imb-evento-card__body,
    .imb-eventos-filter-shell,
    .imb-eventos-divulgue__box,
    .imb-eventos-final__box,
    .imb-eventos-step {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-eventos-filter__field input,
    .imb-eventos-filter__field select {
        min-height: 56px;
    }
}

@media (max-width: 420px) {
    .imb-eventos-hero__panel {
        min-height: 360px;
    }

    .imb-eventos-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-eventos-hero__agenda-card--two {
        right: 12px;
    }
}


/* O QUE FAZER */
.imb-o-que-fazer,
.imb-o-que-fazer * {
    box-sizing: border-box;
}

.imb-o-que-fazer {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    --imb-radius-md: 18px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.13), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.12), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-o-que-fazer-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-o-que-fazer-section__head {
    max-width: 880px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-o-que-fazer-section__head h2,
.imb-experiencias-filter-head h2,
.imb-o-que-fazer-business h2,
.imb-o-que-fazer-final h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-o-que-fazer-section__head p,
.imb-experiencias-filter-head p,
.imb-o-que-fazer-business p,
.imb-o-que-fazer-final p {
    margin: 18px auto 0;
    max-width: 900px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* O QUE FAZER - HERO */
.imb-o-que-fazer-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.48), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-o-que-fazer-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-o-que-fazer-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-o-que-fazer-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-o-que-fazer-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-o-que-fazer-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-o-que-fazer-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-o-que-fazer-hero__subtitle {
    margin: 22px 0 0;
    max-width: 780px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-o-que-fazer-hero__text {
    max-width: 790px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-o-que-fazer-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-o-que-fazer-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-o-que-fazer-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-o-que-fazer-hero__visual::before,
.imb-o-que-fazer-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-o-que-fazer-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-o-que-fazer-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-o-que-fazer-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-o-que-fazer-hero__mini-card {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-o-que-fazer-hero__mini-card strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-o-que-fazer-hero__mini-card span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-o-que-fazer-hero__mini-card--one {
    top: 86px;
    left: 42px;
}

.imb-o-que-fazer-hero__mini-card--two {
    top: 186px;
    right: 42px;
}

.imb-o-que-fazer-hero__mini-card--three {
    left: 70px;
    bottom: 76px;
}

.imb-o-que-fazer-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-o-que-fazer-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* O QUE FAZER - PROPÓSITO */
.imb-o-que-fazer-purpose,
.imb-guia-links-section {
    background: var(--imb-areia-2);
}

.imb-o-que-fazer-purpose-grid,
.imb-roteiros-grid,
.imb-guia-links-grid {
    display: grid;
    gap: 22px;
}

.imb-o-que-fazer-purpose-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-o-que-fazer-purpose-card,
.imb-experiencia-card,
.imb-tour-card,
.imb-guia-link-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-o-que-fazer-purpose-card,
.imb-tour-card {
    padding: 24px;
}

.imb-o-que-fazer-purpose-card:hover,
.imb-experiencia-card:hover,
.imb-tour-card:hover,
.imb-guia-link-card:hover,
.imb-o-que-fazer-purpose-card:focus-within,
.imb-experiencia-card:focus-within,
.imb-tour-card:focus-within,
.imb-guia-link-card:focus-visible {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-o-que-fazer-purpose-card::before,
.imb-experiencia-card::before,
.imb-tour-card::before,
.imb-guia-link-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-agua), var(--imb-solar), transparent);
}

.imb-o-que-fazer-purpose-card__icon,
.imb-tour-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-o-que-fazer-purpose-card h3,
.imb-experiencia-card h3,
.imb-tour-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.15rem, 1.45vw, 1.42rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-o-que-fazer-purpose-card p,
.imb-experiencia-card p,
.imb-tour-card p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

/* O QUE FAZER - FILTROS */
.imb-experiencias-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(20, 184, 166, 0.12), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-experiencias-filter-shell {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
    backdrop-filter: blur(16px);
}

.imb-experiencias-filter-head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.75fr);
    gap: 22px;
    align-items: end;
    margin-bottom: 24px;
}

.imb-experiencias-filter-head h2 {
    font-size: clamp(1.8rem, 3.3vw, 2.7rem);
}

.imb-experiencias-filter-head p {
    margin: 0;
}

.imb-experiencias-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(210px, 0.7fr) minmax(210px, 0.7fr);
    gap: 14px;
    align-items: end;
}

.imb-experiencias-filter__field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-experiencias-filter__field span {
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.imb-experiencias-filter__field input,
.imb-experiencias-filter__field select {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-experiencias-filter__field input::placeholder {
    color: rgba(91, 102, 115, 0.76);
}

.imb-experiencias-filter__field input:focus,
.imb-experiencias-filter__field select:focus {
    border-color: rgba(14, 165, 168, 0.52);
    outline: 3px solid rgba(14, 165, 168, 0.14);
    outline-offset: 2px;
}

.imb-experiencias-results-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 24px 0 18px;
    color: var(--imb-muted);
    font-size: 0.98rem;
    font-weight: 700;
}

.imb-experiencias-results-bar strong {
    color: var(--imb-oceano);
    font-size: 1.18rem;
    font-weight: 950;
}

/* O QUE FAZER - EXPERIÊNCIAS */
.imb-experiencias-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.imb-experiencia-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background:
        radial-gradient(circle at 92% 12%, rgba(242, 184, 75, 0.12), transparent 8rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 243, 227, 0.54));
}

.imb-experiencia-card__media,
.imb-experiencia-card__body {
    position: relative;
    z-index: 2;
}

.imb-experiencia-card__media {
    min-height: 156px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 24%, rgba(242, 184, 75, 0.54), transparent 6rem),
        radial-gradient(circle at 20% 84%, rgba(22, 101, 52, 0.24), transparent 9rem),
        linear-gradient(135deg, rgba(7, 89, 133, 0.96), rgba(14, 165, 168, 0.78));
}

.imb-experiencia-card__media::after {
    content: "";
    position: absolute;
    left: -16%;
    right: -16%;
    bottom: -60px;
    height: 120px;
    border-radius: 50% 50% 0 0;
    background: rgba(255, 255, 255, 0.26);
}

.imb-experiencia-card__icon {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 1.55rem;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15);
}

.imb-experiencia-card__seal {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1;
    display: inline-flex;
    max-width: calc(100% - 36px);
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.imb-experiencia-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 24px;
}

.imb-experiencia-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.imb-experiencia-card__meta span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.imb-experiencia-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.imb-experiencia-card__tags span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(242, 184, 75, 0.14);
    color: #80510a;
    font-size: 0.78rem;
    font-weight: 850;
}

.imb-experiencia-card__footer {
    display: grid;
    gap: 14px;
    margin-top: auto;
    padding-top: 22px;
}

.imb-experiencia-card__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.imb-experiencia-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 950;
    line-height: 1.12;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.imb-experiencia-card__button:hover,
.imb-experiencia-card__button:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.imb-experiencia-card__button--primary {
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(7, 89, 133, 0.18);
}

.imb-experiencia-card__button--primary:hover,
.imb-experiencia-card__button--primary:focus-visible {
    color: #ffffff;
}

.imb-experiencia-card__button--secondary {
    border: 1px solid rgba(7, 89, 133, 0.16);
    background: rgba(255, 255, 255, 0.74);
    color: var(--imb-oceano);
}

.imb-experiencia-card__button--secondary:hover,
.imb-experiencia-card__button--secondary:focus-visible {
    color: var(--imb-oceano);
    background: #ffffff;
}

.imb-experiencia-card.is-hidden {
    display: none;
}

.imb-o-que-fazer-empty {
    margin-top: 22px;
    padding: 34px 24px;
    border: 1px dashed rgba(7, 89, 133, 0.26);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.70);
    text-align: center;
    box-shadow: var(--imb-shadow-soft);
}

.imb-o-que-fazer-empty__icon {
    font-size: 2rem;
}

.imb-o-que-fazer-empty h3 {
    margin: 12px 0 0;
    color: var(--imb-oceano);
    font-size: 1.35rem;
    font-weight: 950;
}

.imb-o-que-fazer-empty p {
    margin: 8px auto 0;
    max-width: 520px;
    color: var(--imb-muted);
    line-height: 1.6;
}

/* ROTEIROS E LINKS */
.imb-roteiros-section {
    background: #ffffff;
}

.imb-roteiros-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.imb-roteiros-action {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}

.imb-guia-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-guia-link-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 86px;
    padding: 20px;
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-guia-link-card:hover,
.imb-guia-link-card:focus-visible {
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-guia-link-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    border-radius: 16px;
    background: rgba(14, 165, 168, 0.10);
    font-size: 1.28rem;
}

.imb-guia-link-card strong {
    color: var(--imb-texto);
    font-size: 1rem;
    font-weight: 950;
}

.imb-guia-link-card em {
    margin-left: auto;
    color: var(--imb-agua);
    font-style: normal;
    font-weight: 950;
}

/* CTAS */
.imb-o-que-fazer-business,
.imb-o-que-fazer-final {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-o-que-fazer-business__box,
.imb-o-que-fazer-final__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-o-que-fazer-business__box::after,
.imb-o-que-fazer-final__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-o-que-fazer-business__box > *,
.imb-o-que-fazer-final__box > * {
    position: relative;
    z-index: 1;
}

.imb-o-que-fazer-business h2,
.imb-o-que-fazer-final h2 {
    color: #ffffff;
}

.imb-o-que-fazer-business p,
.imb-o-que-fazer-final p {
    margin: 18px 0 0;
    max-width: 820px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-o-que-fazer-business__actions,
.imb-o-que-fazer-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* O QUE FAZER - RESPONSIVO */
@media (max-width: 1180px) {
    .imb-roteiros-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1060px) {
    .imb-o-que-fazer-hero__grid,
    .imb-o-que-fazer-business__box,
    .imb-o-que-fazer-final__box,
    .imb-experiencias-filter-head {
        grid-template-columns: 1fr;
    }

    .imb-o-que-fazer-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-experiencias-filter {
        grid-template-columns: 1fr;
    }

    .imb-experiencias-grid,
    .imb-o-que-fazer-purpose-grid,
    .imb-guia-links-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-o-que-fazer-business__actions,
    .imb-o-que-fazer-final__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .imb-o-que-fazer-section {
        padding: 52px 0;
    }

    .imb-o-que-fazer-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-o-que-fazer-section__head h2,
    .imb-experiencias-filter-head h2,
    .imb-o-que-fazer-business h2,
    .imb-o-que-fazer-final h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-o-que-fazer-hero {
        padding: 48px 0 78px;
    }

    .imb-o-que-fazer-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-o-que-fazer-hero__grid {
        gap: 34px;
    }

    .imb-o-que-fazer-hero__title {
        font-size: clamp(2.75rem, 14vw, 4.55rem);
        letter-spacing: -0.065em;
    }

    .imb-o-que-fazer-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-o-que-fazer-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-o-que-fazer-hero__actions,
    .imb-o-que-fazer-business__actions,
    .imb-o-que-fazer-final__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-o-que-fazer-hero__panel {
        min-height: 390px;
    }

    .imb-o-que-fazer-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-o-que-fazer-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-o-que-fazer-hero__mini-card {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-o-que-fazer-hero__mini-card--one {
        top: 78px;
        left: 24px;
    }

    .imb-o-que-fazer-hero__mini-card--two {
        top: 172px;
        right: 24px;
    }

    .imb-o-que-fazer-hero__mini-card--three {
        left: 34px;
        bottom: 66px;
    }

    .imb-o-que-fazer-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-o-que-fazer-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-experiencias-grid,
    .imb-o-que-fazer-purpose-grid,
    .imb-roteiros-grid,
    .imb-guia-links-grid {
        grid-template-columns: 1fr;
    }

    .imb-o-que-fazer-purpose-card,
    .imb-experiencia-card__body,
    .imb-tour-card,
    .imb-experiencias-filter-shell,
    .imb-o-que-fazer-business__box,
    .imb-o-que-fazer-final__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-experiencias-filter__field input,
    .imb-experiencias-filter__field select {
        min-height: 56px;
    }

    .imb-roteiros-action,
    .imb-roteiros-action .imb-button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .imb-o-que-fazer-hero__panel {
        min-height: 360px;
    }

    .imb-o-que-fazer-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-o-que-fazer-hero__mini-card--two {
        right: 12px;
    }
}


/* ONDE COMER */
.imb-onde-comer,
.imb-onde-comer * {
    box-sizing: border-box;
}

.imb-onde-comer {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    --imb-radius-md: 18px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.14), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(249, 115, 91, 0.10), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-onde-comer-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-onde-comer-section__head {
    max-width: 880px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-onde-comer-section__head h2,
.imb-comer-filter-head h2,
.imb-onde-comer-business h2,
.imb-onde-comer-final h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-onde-comer-section__head p,
.imb-comer-filter-head p,
.imb-onde-comer-business p,
.imb-onde-comer-final p {
    margin: 18px auto 0;
    max-width: 900px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* ONDE COMER - HERO */
.imb-onde-comer-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.52), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(249, 115, 91, 0.26), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 38%, #0EA5A8 88%, #F2B84B 145%);
}

.imb-onde-comer-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-onde-comer-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-onde-comer-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-onde-comer-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-onde-comer-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-onde-comer-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-onde-comer-hero__subtitle {
    margin: 22px 0 0;
    max-width: 780px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-onde-comer-hero__text {
    max-width: 790px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-onde-comer-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-onde-comer-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-onde-comer-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.50), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-onde-comer-hero__visual::before,
.imb-onde-comer-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-onde-comer-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-onde-comer-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 150%, #F9735B 190%);
}

.imb-onde-comer-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-onde-comer-hero__mini-card {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-onde-comer-hero__mini-card strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-onde-comer-hero__mini-card span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-onde-comer-hero__mini-card--one {
    top: 86px;
    left: 42px;
}

.imb-onde-comer-hero__mini-card--two {
    top: 186px;
    right: 42px;
}

.imb-onde-comer-hero__mini-card--three {
    left: 70px;
    bottom: 76px;
}

.imb-onde-comer-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-onde-comer-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* ONDE COMER - PROPÓSITO */
.imb-onde-comer-purpose,
.imb-comer-links-section {
    background: var(--imb-areia-2);
}

.imb-onde-comer-purpose-grid,
.imb-comer-how-grid,
.imb-comer-links-grid {
    display: grid;
    gap: 22px;
}

.imb-onde-comer-purpose-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-onde-comer-purpose-card,
.imb-food-card,
.imb-comer-how-card,
.imb-comer-link-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-onde-comer-purpose-card,
.imb-comer-how-card {
    padding: 24px;
}

.imb-onde-comer-purpose-card:hover,
.imb-food-card:hover,
.imb-comer-how-card:hover,
.imb-comer-link-card:hover,
.imb-onde-comer-purpose-card:focus-within,
.imb-food-card:focus-within,
.imb-comer-how-card:focus-within,
.imb-comer-link-card:focus-visible {
    transform: translateY(-6px);
    border-color: rgba(249, 115, 91, 0.26);
    box-shadow: var(--imb-shadow);
}

.imb-onde-comer-purpose-card::before,
.imb-food-card::before,
.imb-comer-how-card::before,
.imb-comer-link-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-solar), var(--imb-coral), var(--imb-agua), transparent);
}

.imb-onde-comer-purpose-card__icon,
.imb-comer-how-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-onde-comer-purpose-card h3,
.imb-food-card h3,
.imb-comer-how-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.15rem, 1.45vw, 1.42rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-onde-comer-purpose-card p,
.imb-food-card p,
.imb-comer-how-card p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

/* ONDE COMER - FILTROS */
.imb-food-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(249, 115, 91, 0.10), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-comer-filter-shell {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
    backdrop-filter: blur(16px);
}

.imb-comer-filter-head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.75fr);
    gap: 22px;
    align-items: end;
    margin-bottom: 24px;
}

.imb-comer-filter-head h2 {
    font-size: clamp(1.8rem, 3.3vw, 2.7rem);
}

.imb-comer-filter-head p {
    margin: 0;
}

.imb-comer-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(210px, 0.7fr) minmax(210px, 0.7fr);
    gap: 14px;
    align-items: end;
}

.imb-comer-filter__field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-comer-filter__field span {
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.imb-comer-filter__field input,
.imb-comer-filter__field select {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-comer-filter__field input::placeholder {
    color: rgba(91, 102, 115, 0.76);
}

.imb-comer-filter__field input:focus,
.imb-comer-filter__field select:focus {
    border-color: rgba(249, 115, 91, 0.46);
    outline: 3px solid rgba(249, 115, 91, 0.12);
    outline-offset: 2px;
}

.imb-comer-results-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 24px 0 18px;
    color: var(--imb-muted);
    font-size: 0.98rem;
    font-weight: 700;
}

.imb-comer-results-bar strong {
    color: var(--imb-oceano);
    font-size: 1.18rem;
    font-weight: 950;
}

/* ONDE COMER - CARDS */
.imb-comer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.imb-food-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background:
        radial-gradient(circle at 92% 12%, rgba(242, 184, 75, 0.14), transparent 8rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 243, 227, 0.58));
}

.imb-food-card__media,
.imb-food-card__body {
    position: relative;
    z-index: 2;
}

.imb-food-card__media {
    min-height: 156px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 24%, rgba(242, 184, 75, 0.58), transparent 6rem),
        radial-gradient(circle at 20% 84%, rgba(249, 115, 91, 0.22), transparent 9rem),
        linear-gradient(135deg, rgba(7, 89, 133, 0.96), rgba(14, 165, 168, 0.78));
}

.imb-food-card__media::after {
    content: "";
    position: absolute;
    left: -16%;
    right: -16%;
    bottom: -60px;
    height: 120px;
    border-radius: 50% 50% 0 0;
    background: rgba(255, 255, 255, 0.26);
}

.imb-food-card__icon {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 1.55rem;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15);
}

.imb-food-card__seal {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1;
    display: inline-flex;
    max-width: calc(100% - 36px);
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.imb-food-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 24px;
}

.imb-food-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.imb-food-card__meta span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(249, 115, 91, 0.10);
    color: #8d3b2c;
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.imb-food-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.imb-food-card__tags span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(242, 184, 75, 0.14);
    color: #80510a;
    font-size: 0.78rem;
    font-weight: 850;
}

.imb-food-card__footer {
    display: grid;
    gap: 14px;
    margin-top: auto;
    padding-top: 22px;
}

.imb-food-card__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.imb-food-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 950;
    line-height: 1.12;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.imb-food-card__button:hover,
.imb-food-card__button:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.imb-food-card__button--primary {
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(7, 89, 133, 0.18);
}

.imb-food-card__button--primary:hover,
.imb-food-card__button--primary:focus-visible {
    color: #ffffff;
}

.imb-food-card__button--secondary {
    border: 1px solid rgba(7, 89, 133, 0.16);
    background: rgba(255, 255, 255, 0.74);
    color: var(--imb-oceano);
}

.imb-food-card__button--secondary:hover,
.imb-food-card__button--secondary:focus-visible {
    color: var(--imb-oceano);
    background: #ffffff;
}

.imb-food-card.is-hidden {
    display: none;
}

.imb-onde-comer-empty {
    margin-top: 22px;
    padding: 34px 24px;
    border: 1px dashed rgba(7, 89, 133, 0.26);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.70);
    text-align: center;
    box-shadow: var(--imb-shadow-soft);
}

.imb-onde-comer-empty__icon {
    font-size: 2rem;
}

.imb-onde-comer-empty h3 {
    margin: 12px 0 0;
    color: var(--imb-oceano);
    font-size: 1.35rem;
    font-weight: 950;
}

.imb-onde-comer-empty p {
    margin: 8px auto 0;
    max-width: 520px;
    color: var(--imb-muted);
    line-height: 1.6;
}

/* COMO ESCOLHER E LINKS */
.imb-comer-how-section {
    background: #ffffff;
}

.imb-comer-how-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.imb-comer-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-comer-link-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 86px;
    padding: 20px;
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-comer-link-card:hover,
.imb-comer-link-card:focus-visible {
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-comer-link-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    border-radius: 16px;
    background: rgba(249, 115, 91, 0.10);
    font-size: 1.28rem;
}

.imb-comer-link-card strong {
    color: var(--imb-texto);
    font-size: 1rem;
    font-weight: 950;
}

.imb-comer-link-card em {
    margin-left: auto;
    color: var(--imb-coral);
    font-style: normal;
    font-weight: 950;
}

/* CTAS */
.imb-onde-comer-business,
.imb-onde-comer-final {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-onde-comer-business__box,
.imb-onde-comer-final__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-onde-comer-business__box::after,
.imb-onde-comer-final__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-onde-comer-business__box > *,
.imb-onde-comer-final__box > * {
    position: relative;
    z-index: 1;
}

.imb-onde-comer-business h2,
.imb-onde-comer-final h2 {
    color: #ffffff;
}

.imb-onde-comer-business p,
.imb-onde-comer-final p {
    margin: 18px 0 0;
    max-width: 820px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-onde-comer-business__actions,
.imb-onde-comer-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* ONDE COMER - RESPONSIVO */
@media (max-width: 1180px) {
    .imb-comer-how-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1060px) {
    .imb-onde-comer-hero__grid,
    .imb-onde-comer-business__box,
    .imb-onde-comer-final__box,
    .imb-comer-filter-head {
        grid-template-columns: 1fr;
    }

    .imb-onde-comer-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-comer-filter {
        grid-template-columns: 1fr;
    }

    .imb-comer-grid,
    .imb-onde-comer-purpose-grid,
    .imb-comer-links-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-onde-comer-business__actions,
    .imb-onde-comer-final__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .imb-onde-comer-section {
        padding: 52px 0;
    }

    .imb-onde-comer-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-onde-comer-section__head h2,
    .imb-comer-filter-head h2,
    .imb-onde-comer-business h2,
    .imb-onde-comer-final h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-onde-comer-hero {
        padding: 48px 0 78px;
    }

    .imb-onde-comer-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-onde-comer-hero__grid {
        gap: 34px;
    }

    .imb-onde-comer-hero__title {
        font-size: clamp(2.75rem, 14vw, 4.55rem);
        letter-spacing: -0.065em;
    }

    .imb-onde-comer-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-onde-comer-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-onde-comer-hero__actions,
    .imb-onde-comer-business__actions,
    .imb-onde-comer-final__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-onde-comer-hero__panel {
        min-height: 390px;
    }

    .imb-onde-comer-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-onde-comer-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-onde-comer-hero__mini-card {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-onde-comer-hero__mini-card--one {
        top: 78px;
        left: 24px;
    }

    .imb-onde-comer-hero__mini-card--two {
        top: 172px;
        right: 24px;
    }

    .imb-onde-comer-hero__mini-card--three {
        left: 34px;
        bottom: 66px;
    }

    .imb-onde-comer-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-onde-comer-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-comer-grid,
    .imb-onde-comer-purpose-grid,
    .imb-comer-how-grid,
    .imb-comer-links-grid {
        grid-template-columns: 1fr;
    }

    .imb-onde-comer-purpose-card,
    .imb-food-card__body,
    .imb-comer-how-card,
    .imb-comer-filter-shell,
    .imb-onde-comer-business__box,
    .imb-onde-comer-final__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-comer-filter__field input,
    .imb-comer-filter__field select {
        min-height: 56px;
    }
}

@media (max-width: 420px) {
    .imb-onde-comer-hero__panel {
        min-height: 360px;
    }

    .imb-onde-comer-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-onde-comer-hero__mini-card--two {
        right: 12px;
    }
}


/* ONDE FICAR */
.imb-onde-ficar,
.imb-onde-ficar * {
    box-sizing: border-box;
}

.imb-onde-ficar {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    --imb-radius-md: 18px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.13), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.13), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-onde-ficar-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-onde-ficar-section__head {
    max-width: 880px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-onde-ficar-section__head h2,
.imb-ficar-filter-head h2,
.imb-onde-ficar-business h2,
.imb-onde-ficar-final h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-onde-ficar-section__head p,
.imb-ficar-filter-head p,
.imb-onde-ficar-business p,
.imb-onde-ficar-final p {
    margin: 18px auto 0;
    max-width: 900px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* ONDE FICAR - HERO */
.imb-onde-ficar-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.48), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-onde-ficar-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-onde-ficar-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-onde-ficar-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-onde-ficar-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-onde-ficar-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-onde-ficar-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-onde-ficar-hero__subtitle {
    margin: 22px 0 0;
    max-width: 780px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-onde-ficar-hero__text {
    max-width: 790px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-onde-ficar-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-onde-ficar-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-onde-ficar-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-onde-ficar-hero__visual::before,
.imb-onde-ficar-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-onde-ficar-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-onde-ficar-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-onde-ficar-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-onde-ficar-hero__mini-card {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-onde-ficar-hero__mini-card strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-onde-ficar-hero__mini-card span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-onde-ficar-hero__mini-card--one {
    top: 86px;
    left: 42px;
}

.imb-onde-ficar-hero__mini-card--two {
    top: 186px;
    right: 42px;
}

.imb-onde-ficar-hero__mini-card--three {
    left: 70px;
    bottom: 76px;
}

.imb-onde-ficar-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-onde-ficar-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* ONDE FICAR - PROPÓSITO */
.imb-onde-ficar-purpose,
.imb-ficar-links-section {
    background: var(--imb-areia-2);
}

.imb-onde-ficar-purpose-grid,
.imb-ficar-how-grid,
.imb-ficar-links-grid {
    display: grid;
    gap: 22px;
}

.imb-onde-ficar-purpose-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-onde-ficar-purpose-card,
.imb-hospedagem-card,
.imb-ficar-how-card,
.imb-ficar-link-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-onde-ficar-purpose-card,
.imb-ficar-how-card {
    padding: 24px;
}

.imb-onde-ficar-purpose-card:hover,
.imb-hospedagem-card:hover,
.imb-ficar-how-card:hover,
.imb-ficar-link-card:hover,
.imb-onde-ficar-purpose-card:focus-within,
.imb-hospedagem-card:focus-within,
.imb-ficar-how-card:focus-within,
.imb-ficar-link-card:focus-visible {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-onde-ficar-purpose-card::before,
.imb-hospedagem-card::before,
.imb-ficar-how-card::before,
.imb-ficar-link-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-agua), var(--imb-mata), var(--imb-solar), transparent);
}

.imb-onde-ficar-purpose-card__icon,
.imb-ficar-how-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-onde-ficar-purpose-card h3,
.imb-hospedagem-card h3,
.imb-ficar-how-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.15rem, 1.45vw, 1.42rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-onde-ficar-purpose-card p,
.imb-hospedagem-card p,
.imb-ficar-how-card p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

/* ONDE FICAR - FILTROS */
.imb-hospedagem-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(20, 184, 166, 0.12), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-ficar-filter-shell {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
    backdrop-filter: blur(16px);
}

.imb-ficar-filter-head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.75fr);
    gap: 22px;
    align-items: end;
    margin-bottom: 24px;
}

.imb-ficar-filter-head h2 {
    font-size: clamp(1.8rem, 3.3vw, 2.7rem);
}

.imb-ficar-filter-head p {
    margin: 0;
}

.imb-ficar-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(210px, 0.7fr) minmax(210px, 0.7fr);
    gap: 14px;
    align-items: end;
}

.imb-ficar-filter__field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-ficar-filter__field span {
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.imb-ficar-filter__field input,
.imb-ficar-filter__field select {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-ficar-filter__field input::placeholder {
    color: rgba(91, 102, 115, 0.76);
}

.imb-ficar-filter__field input:focus,
.imb-ficar-filter__field select:focus {
    border-color: rgba(14, 165, 168, 0.52);
    outline: 3px solid rgba(14, 165, 168, 0.14);
    outline-offset: 2px;
}

.imb-ficar-results-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 24px 0 18px;
    color: var(--imb-muted);
    font-size: 0.98rem;
    font-weight: 700;
}

.imb-ficar-results-bar strong {
    color: var(--imb-oceano);
    font-size: 1.18rem;
    font-weight: 950;
}

/* ONDE FICAR - CARDS */
.imb-hospedagem-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.imb-hospedagem-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background:
        radial-gradient(circle at 92% 12%, rgba(242, 184, 75, 0.12), transparent 8rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 243, 227, 0.54));
}

.imb-hospedagem-card__media,
.imb-hospedagem-card__body {
    position: relative;
    z-index: 2;
}

.imb-hospedagem-card__media {
    min-height: 156px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 24%, rgba(242, 184, 75, 0.54), transparent 6rem),
        radial-gradient(circle at 20% 84%, rgba(22, 101, 52, 0.24), transparent 9rem),
        linear-gradient(135deg, rgba(7, 89, 133, 0.96), rgba(14, 165, 168, 0.78));
}

.imb-hospedagem-card__media::after {
    content: "";
    position: absolute;
    left: -16%;
    right: -16%;
    bottom: -60px;
    height: 120px;
    border-radius: 50% 50% 0 0;
    background: rgba(255, 255, 255, 0.26);
}

.imb-hospedagem-card__icon {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 1.55rem;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15);
}

.imb-hospedagem-card__seal {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1;
    display: inline-flex;
    max-width: calc(100% - 36px);
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.imb-hospedagem-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 24px;
}

.imb-hospedagem-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.imb-hospedagem-card__meta span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.imb-hospedagem-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.imb-hospedagem-card__tags span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(242, 184, 75, 0.14);
    color: #80510a;
    font-size: 0.78rem;
    font-weight: 850;
}

.imb-hospedagem-card__footer {
    display: grid;
    gap: 14px;
    margin-top: auto;
    padding-top: 22px;
}

.imb-hospedagem-card__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.imb-hospedagem-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 950;
    line-height: 1.12;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.imb-hospedagem-card__button:hover,
.imb-hospedagem-card__button:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.imb-hospedagem-card__button--primary {
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(7, 89, 133, 0.18);
}

.imb-hospedagem-card__button--primary:hover,
.imb-hospedagem-card__button--primary:focus-visible {
    color: #ffffff;
}

.imb-hospedagem-card__button--secondary {
    border: 1px solid rgba(7, 89, 133, 0.16);
    background: rgba(255, 255, 255, 0.74);
    color: var(--imb-oceano);
}

.imb-hospedagem-card__button--secondary:hover,
.imb-hospedagem-card__button--secondary:focus-visible {
    color: var(--imb-oceano);
    background: #ffffff;
}

.imb-hospedagem-card.is-hidden {
    display: none;
}

.imb-onde-ficar-empty {
    margin-top: 22px;
    padding: 34px 24px;
    border: 1px dashed rgba(7, 89, 133, 0.26);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.70);
    text-align: center;
    box-shadow: var(--imb-shadow-soft);
}

.imb-onde-ficar-empty__icon {
    font-size: 2rem;
}

.imb-onde-ficar-empty h3 {
    margin: 12px 0 0;
    color: var(--imb-oceano);
    font-size: 1.35rem;
    font-weight: 950;
}

.imb-onde-ficar-empty p {
    margin: 8px auto 0;
    max-width: 520px;
    color: var(--imb-muted);
    line-height: 1.6;
}

/* COMO ESCOLHER E LINKS */
.imb-ficar-how-section {
    background: #ffffff;
}

.imb-ficar-how-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.imb-ficar-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-ficar-link-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 86px;
    padding: 20px;
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-ficar-link-card:hover,
.imb-ficar-link-card:focus-visible {
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-ficar-link-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    border-radius: 16px;
    background: rgba(14, 165, 168, 0.10);
    font-size: 1.28rem;
}

.imb-ficar-link-card strong {
    color: var(--imb-texto);
    font-size: 1rem;
    font-weight: 950;
}

.imb-ficar-link-card em {
    margin-left: auto;
    color: var(--imb-agua);
    font-style: normal;
    font-weight: 950;
}

/* CTAS */
.imb-onde-ficar-business,
.imb-onde-ficar-final {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-onde-ficar-business__box,
.imb-onde-ficar-final__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-onde-ficar-business__box::after,
.imb-onde-ficar-final__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-onde-ficar-business__box > *,
.imb-onde-ficar-final__box > * {
    position: relative;
    z-index: 1;
}

.imb-onde-ficar-business h2,
.imb-onde-ficar-final h2 {
    color: #ffffff;
}

.imb-onde-ficar-business p,
.imb-onde-ficar-final p {
    margin: 18px 0 0;
    max-width: 820px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-onde-ficar-business__actions,
.imb-onde-ficar-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* ONDE FICAR - RESPONSIVO */
@media (max-width: 1180px) {
    .imb-ficar-how-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1060px) {
    .imb-onde-ficar-hero__grid,
    .imb-onde-ficar-business__box,
    .imb-onde-ficar-final__box,
    .imb-ficar-filter-head {
        grid-template-columns: 1fr;
    }

    .imb-onde-ficar-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-ficar-filter {
        grid-template-columns: 1fr;
    }

    .imb-hospedagem-grid,
    .imb-onde-ficar-purpose-grid,
    .imb-ficar-links-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-onde-ficar-business__actions,
    .imb-onde-ficar-final__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .imb-onde-ficar-section {
        padding: 52px 0;
    }

    .imb-onde-ficar-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-onde-ficar-section__head h2,
    .imb-ficar-filter-head h2,
    .imb-onde-ficar-business h2,
    .imb-onde-ficar-final h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-onde-ficar-hero {
        padding: 48px 0 78px;
    }

    .imb-onde-ficar-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-onde-ficar-hero__grid {
        gap: 34px;
    }

    .imb-onde-ficar-hero__title {
        font-size: clamp(2.75rem, 14vw, 4.55rem);
        letter-spacing: -0.065em;
    }

    .imb-onde-ficar-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-onde-ficar-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-onde-ficar-hero__actions,
    .imb-onde-ficar-business__actions,
    .imb-onde-ficar-final__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-onde-ficar-hero__panel {
        min-height: 390px;
    }

    .imb-onde-ficar-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-onde-ficar-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-onde-ficar-hero__mini-card {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-onde-ficar-hero__mini-card--one {
        top: 78px;
        left: 24px;
    }

    .imb-onde-ficar-hero__mini-card--two {
        top: 172px;
        right: 24px;
    }

    .imb-onde-ficar-hero__mini-card--three {
        left: 34px;
        bottom: 66px;
    }

    .imb-onde-ficar-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-onde-ficar-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-hospedagem-grid,
    .imb-onde-ficar-purpose-grid,
    .imb-ficar-how-grid,
    .imb-ficar-links-grid {
        grid-template-columns: 1fr;
    }

    .imb-onde-ficar-purpose-card,
    .imb-hospedagem-card__body,
    .imb-ficar-how-card,
    .imb-ficar-filter-shell,
    .imb-onde-ficar-business__box,
    .imb-onde-ficar-final__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-ficar-filter__field input,
    .imb-ficar-filter__field select {
        min-height: 56px;
    }
}

@media (max-width: 420px) {
    .imb-onde-ficar-hero__panel {
        min-height: 360px;
    }

    .imb-onde-ficar-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-onde-ficar-hero__mini-card--two {
        right: 12px;
    }
}


/* SERVIÇOS */
.imb-servicos,
.imb-servicos * {
    box-sizing: border-box;
}

.imb-servicos {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    --imb-radius-md: 18px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.12), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.13), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-servicos-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-servicos-section__head {
    max-width: 880px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-servicos-section__head h2,
.imb-servicos-filter-head h2,
.imb-servicos-business h2,
.imb-servicos-final h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-servicos-section__head p,
.imb-servicos-filter-head p,
.imb-servicos-business p,
.imb-servicos-final p {
    margin: 18px auto 0;
    max-width: 900px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* SERVIÇOS - HERO */
.imb-servicos-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.48), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-servicos-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-servicos-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-servicos-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-servicos-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-servicos-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-servicos-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-servicos-hero__subtitle {
    margin: 22px 0 0;
    max-width: 780px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-servicos-hero__text {
    max-width: 790px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-servicos-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-servicos-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-servicos-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-servicos-hero__visual::before,
.imb-servicos-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-servicos-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-servicos-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-servicos-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-servicos-hero__mini-card {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-servicos-hero__mini-card strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-servicos-hero__mini-card span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-servicos-hero__mini-card--one {
    top: 86px;
    left: 42px;
}

.imb-servicos-hero__mini-card--two {
    top: 186px;
    right: 42px;
}

.imb-servicos-hero__mini-card--three {
    left: 70px;
    bottom: 76px;
}

.imb-servicos-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-servicos-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* SERVIÇOS - PROPÓSITO */
.imb-servicos-purpose,
.imb-servicos-links-section {
    background: var(--imb-areia-2);
}

.imb-servicos-purpose-grid,
.imb-servicos-how-grid,
.imb-servicos-links-grid {
    display: grid;
    gap: 22px;
}

.imb-servicos-purpose-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-servicos-purpose-card,
.imb-servico-card,
.imb-servicos-how-card,
.imb-servicos-link-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-servicos-purpose-card,
.imb-servicos-how-card {
    padding: 24px;
}

.imb-servicos-purpose-card:hover,
.imb-servico-card:hover,
.imb-servicos-how-card:hover,
.imb-servicos-link-card:hover,
.imb-servicos-purpose-card:focus-within,
.imb-servico-card:focus-within,
.imb-servicos-how-card:focus-within,
.imb-servicos-link-card:focus-visible {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-servicos-purpose-card::before,
.imb-servico-card::before,
.imb-servicos-how-card::before,
.imb-servicos-link-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-oceano), var(--imb-agua), var(--imb-solar), transparent);
}

.imb-servicos-purpose-card__icon,
.imb-servicos-how-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-servicos-purpose-card h3,
.imb-servico-card h3,
.imb-servicos-how-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.15rem, 1.45vw, 1.42rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-servicos-purpose-card p,
.imb-servico-card p,
.imb-servicos-how-card p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

/* SERVIÇOS - FILTROS */
.imb-servicos-list-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(20, 184, 166, 0.12), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-servicos-filter-shell {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
    backdrop-filter: blur(16px);
}

.imb-servicos-filter-head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.75fr);
    gap: 22px;
    align-items: end;
    margin-bottom: 24px;
}

.imb-servicos-filter-head h2 {
    font-size: clamp(1.8rem, 3.3vw, 2.7rem);
}

.imb-servicos-filter-head p {
    margin: 0;
}

.imb-servicos-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(210px, 0.7fr) minmax(210px, 0.7fr);
    gap: 14px;
    align-items: end;
}

.imb-servicos-filter__field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-servicos-filter__field span {
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.imb-servicos-filter__field input,
.imb-servicos-filter__field select {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-servicos-filter__field input::placeholder {
    color: rgba(91, 102, 115, 0.76);
}

.imb-servicos-filter__field input:focus,
.imb-servicos-filter__field select:focus {
    border-color: rgba(14, 165, 168, 0.52);
    outline: 3px solid rgba(14, 165, 168, 0.14);
    outline-offset: 2px;
}

.imb-servicos-results-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 24px 0 18px;
    color: var(--imb-muted);
    font-size: 0.98rem;
    font-weight: 700;
}

.imb-servicos-results-bar strong {
    color: var(--imb-oceano);
    font-size: 1.18rem;
    font-weight: 950;
}

/* SERVIÇOS - CARDS */
.imb-servicos-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.imb-servico-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background:
        radial-gradient(circle at 92% 12%, rgba(242, 184, 75, 0.12), transparent 8rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 243, 227, 0.54));
}

.imb-servico-card__media,
.imb-servico-card__body {
    position: relative;
    z-index: 2;
}

.imb-servico-card__media {
    min-height: 156px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 24%, rgba(242, 184, 75, 0.54), transparent 6rem),
        radial-gradient(circle at 20% 84%, rgba(22, 101, 52, 0.24), transparent 9rem),
        linear-gradient(135deg, rgba(7, 89, 133, 0.96), rgba(14, 165, 168, 0.78));
}

.imb-servico-card__media::after {
    content: "";
    position: absolute;
    left: -16%;
    right: -16%;
    bottom: -60px;
    height: 120px;
    border-radius: 50% 50% 0 0;
    background: rgba(255, 255, 255, 0.26);
}

.imb-servico-card__icon {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 1.55rem;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15);
}

.imb-servico-card__seal {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1;
    display: inline-flex;
    max-width: calc(100% - 36px);
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.imb-servico-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 24px;
}

.imb-servico-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.imb-servico-card__meta span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.imb-servico-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.imb-servico-card__tags span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(242, 184, 75, 0.14);
    color: #80510a;
    font-size: 0.78rem;
    font-weight: 850;
}

.imb-servico-card__footer {
    display: grid;
    gap: 14px;
    margin-top: auto;
    padding-top: 22px;
}

.imb-servico-card__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.imb-servico-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 950;
    line-height: 1.12;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.imb-servico-card__button:hover,
.imb-servico-card__button:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.imb-servico-card__button--primary {
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(7, 89, 133, 0.18);
}

.imb-servico-card__button--primary:hover,
.imb-servico-card__button--primary:focus-visible {
    color: #ffffff;
}

.imb-servico-card__button--secondary {
    border: 1px solid rgba(7, 89, 133, 0.16);
    background: rgba(255, 255, 255, 0.74);
    color: var(--imb-oceano);
}

.imb-servico-card__button--secondary:hover,
.imb-servico-card__button--secondary:focus-visible {
    color: var(--imb-oceano);
    background: #ffffff;
}

.imb-servico-card.is-hidden {
    display: none;
}

.imb-servicos-empty {
    margin-top: 22px;
    padding: 34px 24px;
    border: 1px dashed rgba(7, 89, 133, 0.26);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.70);
    text-align: center;
    box-shadow: var(--imb-shadow-soft);
}

.imb-servicos-empty__icon {
    font-size: 2rem;
}

.imb-servicos-empty h3 {
    margin: 12px 0 0;
    color: var(--imb-oceano);
    font-size: 1.35rem;
    font-weight: 950;
}

.imb-servicos-empty p {
    margin: 8px auto 0;
    max-width: 520px;
    color: var(--imb-muted);
    line-height: 1.6;
}

/* COMO ENCONTRAR E LINKS */
.imb-servicos-how-section {
    background: #ffffff;
}

.imb-servicos-how-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.imb-servicos-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-servicos-link-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 86px;
    padding: 20px;
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-servicos-link-card:hover,
.imb-servicos-link-card:focus-visible {
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-servicos-link-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    border-radius: 16px;
    background: rgba(14, 165, 168, 0.10);
    font-size: 1.28rem;
}

.imb-servicos-link-card strong {
    color: var(--imb-texto);
    font-size: 1rem;
    font-weight: 950;
}

.imb-servicos-link-card em {
    margin-left: auto;
    color: var(--imb-agua);
    font-style: normal;
    font-weight: 950;
}

/* CTAS */
.imb-servicos-business,
.imb-servicos-final {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-servicos-business__box,
.imb-servicos-final__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-servicos-business__box::after,
.imb-servicos-final__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-servicos-business__box > *,
.imb-servicos-final__box > * {
    position: relative;
    z-index: 1;
}

.imb-servicos-business h2,
.imb-servicos-final h2 {
    color: #ffffff;
}

.imb-servicos-business p,
.imb-servicos-final p {
    margin: 18px 0 0;
    max-width: 820px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-servicos-business__actions,
.imb-servicos-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* SERVIÇOS - RESPONSIVO */
@media (max-width: 1180px) {
    .imb-servicos-how-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1060px) {
    .imb-servicos-hero__grid,
    .imb-servicos-business__box,
    .imb-servicos-final__box,
    .imb-servicos-filter-head {
        grid-template-columns: 1fr;
    }

    .imb-servicos-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-servicos-filter {
        grid-template-columns: 1fr;
    }

    .imb-servicos-grid,
    .imb-servicos-purpose-grid,
    .imb-servicos-links-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-servicos-business__actions,
    .imb-servicos-final__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .imb-servicos-section {
        padding: 52px 0;
    }

    .imb-servicos-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-servicos-section__head h2,
    .imb-servicos-filter-head h2,
    .imb-servicos-business h2,
    .imb-servicos-final h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-servicos-hero {
        padding: 48px 0 78px;
    }

    .imb-servicos-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-servicos-hero__grid {
        gap: 34px;
    }

    .imb-servicos-hero__title {
        font-size: clamp(2.75rem, 14vw, 4.55rem);
        letter-spacing: -0.065em;
    }

    .imb-servicos-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-servicos-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-servicos-hero__actions,
    .imb-servicos-business__actions,
    .imb-servicos-final__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-servicos-hero__panel {
        min-height: 390px;
    }

    .imb-servicos-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-servicos-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-servicos-hero__mini-card {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-servicos-hero__mini-card--one {
        top: 78px;
        left: 24px;
    }

    .imb-servicos-hero__mini-card--two {
        top: 172px;
        right: 24px;
    }

    .imb-servicos-hero__mini-card--three {
        left: 34px;
        bottom: 66px;
    }

    .imb-servicos-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-servicos-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-servicos-grid,
    .imb-servicos-purpose-grid,
    .imb-servicos-how-grid,
    .imb-servicos-links-grid {
        grid-template-columns: 1fr;
    }

    .imb-servicos-purpose-card,
    .imb-servico-card__body,
    .imb-servicos-how-card,
    .imb-servicos-filter-shell,
    .imb-servicos-business__box,
    .imb-servicos-final__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-servicos-filter__field input,
    .imb-servicos-filter__field select {
        min-height: 56px;
    }
}

@media (max-width: 420px) {
    .imb-servicos-hero__panel {
        min-height: 360px;
    }

    .imb-servicos-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-servicos-hero__mini-card--two {
        right: 12px;
    }
}


/* COMÉRCIO LOCAL */
.imb-comercio-local,
.imb-comercio-local * {
    box-sizing: border-box;
}

.imb-comercio-local {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    --imb-radius-md: 18px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.15), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(22, 101, 52, 0.10), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-comercio-local-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-comercio-local-section__head {
    max-width: 880px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-comercio-local-section__head h2,
.imb-comercio-filter-head h2,
.imb-comercio-business h2,
.imb-comercio-final h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-comercio-local-section__head p,
.imb-comercio-filter-head p,
.imb-comercio-business p,
.imb-comercio-final p {
    margin: 18px auto 0;
    max-width: 900px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* COMÉRCIO LOCAL - HERO */
.imb-comercio-local-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.52), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 40%, #0EA5A8 100%);
}

.imb-comercio-local-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-comercio-local-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-comercio-local-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-comercio-local-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-comercio-local-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-comercio-local-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-comercio-local-hero__subtitle {
    margin: 22px 0 0;
    max-width: 780px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-comercio-local-hero__text {
    max-width: 790px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-comercio-local-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-comercio-local-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-comercio-local-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.50), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-comercio-local-hero__visual::before,
.imb-comercio-local-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-comercio-local-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-comercio-local-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-comercio-local-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-comercio-local-hero__mini-card {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-comercio-local-hero__mini-card strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-comercio-local-hero__mini-card span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-comercio-local-hero__mini-card--one {
    top: 86px;
    left: 42px;
}

.imb-comercio-local-hero__mini-card--two {
    top: 186px;
    right: 42px;
}

.imb-comercio-local-hero__mini-card--three {
    left: 70px;
    bottom: 76px;
}

.imb-comercio-local-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-comercio-local-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* COMÉRCIO LOCAL - PROPÓSITO */
.imb-comercio-purpose,
.imb-comercio-links-section {
    background: var(--imb-areia-2);
}

.imb-comercio-purpose-grid,
.imb-comercio-how-grid,
.imb-comercio-links-grid {
    display: grid;
    gap: 22px;
}

.imb-comercio-purpose-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-comercio-purpose-card,
.imb-comercio-card,
.imb-comercio-how-card,
.imb-comercio-link-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-comercio-purpose-card,
.imb-comercio-how-card {
    padding: 24px;
}

.imb-comercio-purpose-card:hover,
.imb-comercio-card:hover,
.imb-comercio-how-card:hover,
.imb-comercio-link-card:hover,
.imb-comercio-purpose-card:focus-within,
.imb-comercio-card:focus-within,
.imb-comercio-how-card:focus-within,
.imb-comercio-link-card:focus-visible {
    transform: translateY(-6px);
    border-color: rgba(242, 184, 75, 0.34);
    box-shadow: var(--imb-shadow);
}

.imb-comercio-purpose-card::before,
.imb-comercio-card::before,
.imb-comercio-how-card::before,
.imb-comercio-link-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-solar), var(--imb-agua), var(--imb-mata), transparent);
}

.imb-comercio-purpose-card__icon,
.imb-comercio-how-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-comercio-purpose-card h3,
.imb-comercio-card h3,
.imb-comercio-how-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.15rem, 1.45vw, 1.42rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-comercio-purpose-card p,
.imb-comercio-card p,
.imb-comercio-how-card p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

/* COMÉRCIO LOCAL - FILTROS */
.imb-comercio-list-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(242, 184, 75, 0.14), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-comercio-filter-shell {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
    backdrop-filter: blur(16px);
}

.imb-comercio-filter-head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.75fr);
    gap: 22px;
    align-items: end;
    margin-bottom: 24px;
}

.imb-comercio-filter-head h2 {
    font-size: clamp(1.8rem, 3.3vw, 2.7rem);
}

.imb-comercio-filter-head p {
    margin: 0;
}

.imb-comercio-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(210px, 0.7fr) minmax(210px, 0.7fr);
    gap: 14px;
    align-items: end;
}

.imb-comercio-filter__field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-comercio-filter__field span {
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.imb-comercio-filter__field input,
.imb-comercio-filter__field select {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-comercio-filter__field input::placeholder {
    color: rgba(91, 102, 115, 0.76);
}

.imb-comercio-filter__field input:focus,
.imb-comercio-filter__field select:focus {
    border-color: rgba(242, 184, 75, 0.56);
    outline: 3px solid rgba(242, 184, 75, 0.14);
    outline-offset: 2px;
}

.imb-comercio-results-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 24px 0 18px;
    color: var(--imb-muted);
    font-size: 0.98rem;
    font-weight: 700;
}

.imb-comercio-results-bar strong {
    color: var(--imb-oceano);
    font-size: 1.18rem;
    font-weight: 950;
}

/* COMÉRCIO LOCAL - CARDS */
.imb-comercio-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.imb-comercio-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background:
        radial-gradient(circle at 92% 12%, rgba(242, 184, 75, 0.16), transparent 8rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 243, 227, 0.58));
}

.imb-comercio-card__media,
.imb-comercio-card__body {
    position: relative;
    z-index: 2;
}

.imb-comercio-card__media {
    min-height: 156px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 24%, rgba(242, 184, 75, 0.58), transparent 6rem),
        radial-gradient(circle at 20% 84%, rgba(22, 101, 52, 0.24), transparent 9rem),
        linear-gradient(135deg, rgba(7, 89, 133, 0.96), rgba(14, 165, 168, 0.78));
}

.imb-comercio-card__media::after {
    content: "";
    position: absolute;
    left: -16%;
    right: -16%;
    bottom: -60px;
    height: 120px;
    border-radius: 50% 50% 0 0;
    background: rgba(255, 255, 255, 0.26);
}

.imb-comercio-card__icon {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 1.55rem;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15);
}

.imb-comercio-card__seal {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1;
    display: inline-flex;
    max-width: calc(100% - 36px);
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.imb-comercio-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 24px;
}

.imb-comercio-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.imb-comercio-card__meta span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(242, 184, 75, 0.16);
    color: #7d4f09;
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.imb-comercio-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.imb-comercio-card__tags span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 850;
}

.imb-comercio-card__footer {
    display: grid;
    gap: 14px;
    margin-top: auto;
    padding-top: 22px;
}

.imb-comercio-card__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.imb-comercio-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 950;
    line-height: 1.12;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.imb-comercio-card__button:hover,
.imb-comercio-card__button:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.imb-comercio-card__button--primary {
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(7, 89, 133, 0.18);
}

.imb-comercio-card__button--primary:hover,
.imb-comercio-card__button--primary:focus-visible {
    color: #ffffff;
}

.imb-comercio-card__button--secondary {
    border: 1px solid rgba(7, 89, 133, 0.16);
    background: rgba(255, 255, 255, 0.74);
    color: var(--imb-oceano);
}

.imb-comercio-card__button--secondary:hover,
.imb-comercio-card__button--secondary:focus-visible {
    color: var(--imb-oceano);
    background: #ffffff;
}

.imb-comercio-card.is-hidden {
    display: none;
}

.imb-comercio-empty {
    margin-top: 22px;
    padding: 34px 24px;
    border: 1px dashed rgba(7, 89, 133, 0.26);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.70);
    text-align: center;
    box-shadow: var(--imb-shadow-soft);
}

.imb-comercio-empty__icon {
    font-size: 2rem;
}

.imb-comercio-empty h3 {
    margin: 12px 0 0;
    color: var(--imb-oceano);
    font-size: 1.35rem;
    font-weight: 950;
}

.imb-comercio-empty p {
    margin: 8px auto 0;
    max-width: 520px;
    color: var(--imb-muted);
    line-height: 1.6;
}

/* COMO ENCONTRAR E LINKS */
.imb-comercio-how-section {
    background: #ffffff;
}

.imb-comercio-how-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.imb-comercio-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-comercio-link-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 86px;
    padding: 20px;
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-comercio-link-card:hover,
.imb-comercio-link-card:focus-visible {
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-comercio-link-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    border-radius: 16px;
    background: rgba(242, 184, 75, 0.16);
    font-size: 1.28rem;
}

.imb-comercio-link-card strong {
    color: var(--imb-texto);
    font-size: 1rem;
    font-weight: 950;
}

.imb-comercio-link-card em {
    margin-left: auto;
    color: var(--imb-solar-2);
    font-style: normal;
    font-weight: 950;
}

/* CTAS */
.imb-comercio-business,
.imb-comercio-final {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-comercio-business__box,
.imb-comercio-final__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-comercio-business__box::after,
.imb-comercio-final__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-comercio-business__box > *,
.imb-comercio-final__box > * {
    position: relative;
    z-index: 1;
}

.imb-comercio-business h2,
.imb-comercio-final h2 {
    color: #ffffff;
}

.imb-comercio-business p,
.imb-comercio-final p {
    margin: 18px 0 0;
    max-width: 820px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-comercio-business__actions,
.imb-comercio-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* COMÉRCIO LOCAL - RESPONSIVO */
@media (max-width: 1180px) {
    .imb-comercio-how-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1060px) {
    .imb-comercio-local-hero__grid,
    .imb-comercio-business__box,
    .imb-comercio-final__box,
    .imb-comercio-filter-head {
        grid-template-columns: 1fr;
    }

    .imb-comercio-local-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-comercio-filter {
        grid-template-columns: 1fr;
    }

    .imb-comercio-grid,
    .imb-comercio-purpose-grid,
    .imb-comercio-links-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-comercio-business__actions,
    .imb-comercio-final__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .imb-comercio-local-section {
        padding: 52px 0;
    }

    .imb-comercio-local-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-comercio-local-section__head h2,
    .imb-comercio-filter-head h2,
    .imb-comercio-business h2,
    .imb-comercio-final h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-comercio-local-hero {
        padding: 48px 0 78px;
    }

    .imb-comercio-local-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-comercio-local-hero__grid {
        gap: 34px;
    }

    .imb-comercio-local-hero__title {
        font-size: clamp(2.55rem, 13vw, 4.45rem);
        letter-spacing: -0.065em;
    }

    .imb-comercio-local-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-comercio-local-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-comercio-local-hero__actions,
    .imb-comercio-business__actions,
    .imb-comercio-final__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-comercio-local-hero__panel {
        min-height: 390px;
    }

    .imb-comercio-local-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-comercio-local-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-comercio-local-hero__mini-card {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-comercio-local-hero__mini-card--one {
        top: 78px;
        left: 24px;
    }

    .imb-comercio-local-hero__mini-card--two {
        top: 172px;
        right: 24px;
    }

    .imb-comercio-local-hero__mini-card--three {
        left: 34px;
        bottom: 66px;
    }

    .imb-comercio-local-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-comercio-local-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-comercio-grid,
    .imb-comercio-purpose-grid,
    .imb-comercio-how-grid,
    .imb-comercio-links-grid {
        grid-template-columns: 1fr;
    }

    .imb-comercio-purpose-card,
    .imb-comercio-card__body,
    .imb-comercio-how-card,
    .imb-comercio-filter-shell,
    .imb-comercio-business__box,
    .imb-comercio-final__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-comercio-filter__field input,
    .imb-comercio-filter__field select {
        min-height: 56px;
    }
}

@media (max-width: 420px) {
    .imb-comercio-local-hero__panel {
        min-height: 360px;
    }

    .imb-comercio-local-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-comercio-local-hero__mini-card--two {
        right: 12px;
    }
}


/* IMÓVEIS */
.imb-imoveis,
.imb-imoveis * {
    box-sizing: border-box;
}

.imb-imoveis {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    --imb-radius-md: 18px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.12), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.13), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-imoveis-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-imoveis-section__head {
    max-width: 900px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-imoveis-section__head h2,
.imb-imoveis-filter-head h2,
.imb-imoveis-business h2,
.imb-imoveis-final h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-imoveis-section__head p,
.imb-imoveis-filter-head p,
.imb-imoveis-business p,
.imb-imoveis-final p {
    margin: 18px auto 0;
    max-width: 920px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* IMÓVEIS - HERO */
.imb-imoveis-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.48), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-imoveis-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-imoveis-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-imoveis-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-imoveis-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-imoveis-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-imoveis-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-imoveis-hero__subtitle {
    margin: 22px 0 0;
    max-width: 780px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-imoveis-hero__text {
    max-width: 810px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-imoveis-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-imoveis-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-imoveis-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-imoveis-hero__visual::before,
.imb-imoveis-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-imoveis-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-imoveis-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-imoveis-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-imoveis-hero__mini-card {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-imoveis-hero__mini-card strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-imoveis-hero__mini-card span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-imoveis-hero__mini-card--one { top: 86px; left: 42px; }
.imb-imoveis-hero__mini-card--two { top: 186px; right: 42px; }
.imb-imoveis-hero__mini-card--three { left: 70px; bottom: 76px; }

.imb-imoveis-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-imoveis-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* IMÓVEIS - PROPÓSITO E NAVEGAÇÃO */
.imb-imoveis-purpose,
.imb-imoveis-links-section {
    background: var(--imb-areia-2);
}

.imb-imoveis-purpose-grid,
.imb-imoveis-nav-grid,
.imb-imoveis-how-grid,
.imb-imoveis-links-grid {
    display: grid;
    gap: 22px;
}

.imb-imoveis-purpose-grid,
.imb-imoveis-nav-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-imoveis-purpose-card,
.imb-imoveis-nav-card,
.imb-imovel-card,
.imb-imoveis-how-card,
.imb-imoveis-link-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-imoveis-purpose-card,
.imb-imoveis-nav-card,
.imb-imoveis-how-card {
    padding: 24px;
}

.imb-imoveis-purpose-card:hover,
.imb-imoveis-nav-card:hover,
.imb-imovel-card:hover,
.imb-imoveis-how-card:hover,
.imb-imoveis-link-card:hover,
.imb-imoveis-purpose-card:focus-within,
.imb-imoveis-nav-card:focus-within,
.imb-imovel-card:focus-within,
.imb-imoveis-how-card:focus-within,
.imb-imoveis-link-card:focus-visible {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-imoveis-purpose-card::before,
.imb-imoveis-nav-card::before,
.imb-imovel-card::before,
.imb-imoveis-how-card::before,
.imb-imoveis-link-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-oceano), var(--imb-agua), var(--imb-solar), transparent);
}

.imb-imoveis-purpose-card__icon,
.imb-imoveis-nav-card__icon,
.imb-imoveis-how-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-imoveis-purpose-card h3,
.imb-imoveis-nav-card h3,
.imb-imovel-card h3,
.imb-imoveis-how-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.15rem, 1.45vw, 1.42rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-imoveis-purpose-card p,
.imb-imoveis-nav-card p,
.imb-imovel-card p,
.imb-imoveis-how-card p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

.imb-imoveis-nav-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.imb-imoveis-nav-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 46px;
    margin-top: auto;
    padding: 12px 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 950;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(7, 89, 133, 0.18);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.imb-imoveis-nav-card__button:hover,
.imb-imoveis-nav-card__button:focus-visible {
    color: #ffffff;
    transform: translateY(-2px);
    text-decoration: none;
}

/* IMÓVEIS - FILTROS */
.imb-imoveis-list-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(20, 184, 166, 0.12), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-imoveis-filter-shell {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
    backdrop-filter: blur(16px);
}

.imb-imoveis-filter-head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.75fr);
    gap: 22px;
    align-items: end;
    margin-bottom: 24px;
}

.imb-imoveis-filter-head h2 {
    font-size: clamp(1.8rem, 3.3vw, 2.7rem);
}

.imb-imoveis-filter-head p {
    margin: 0;
}

.imb-imoveis-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(210px, 0.7fr) minmax(210px, 0.7fr);
    gap: 14px;
    align-items: end;
}

.imb-imoveis-filter__field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-imoveis-filter__field span {
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.imb-imoveis-filter__field input,
.imb-imoveis-filter__field select {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-imoveis-filter__field input::placeholder {
    color: rgba(91, 102, 115, 0.76);
}

.imb-imoveis-filter__field input:focus,
.imb-imoveis-filter__field select:focus {
    border-color: rgba(14, 165, 168, 0.52);
    outline: 3px solid rgba(14, 165, 168, 0.14);
    outline-offset: 2px;
}

.imb-imoveis-results-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 24px 0 18px;
    color: var(--imb-muted);
    font-size: 0.98rem;
    font-weight: 700;
}

.imb-imoveis-results-bar strong {
    color: var(--imb-oceano);
    font-size: 1.18rem;
    font-weight: 950;
}

/* IMÓVEIS - CARDS */
.imb-imoveis-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.imb-imovel-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background:
        radial-gradient(circle at 92% 12%, rgba(242, 184, 75, 0.12), transparent 8rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 243, 227, 0.54));
}

.imb-imovel-card__media,
.imb-imovel-card__body {
    position: relative;
    z-index: 2;
}

.imb-imovel-card__media {
    min-height: 156px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 24%, rgba(242, 184, 75, 0.54), transparent 6rem),
        radial-gradient(circle at 20% 84%, rgba(22, 101, 52, 0.24), transparent 9rem),
        linear-gradient(135deg, rgba(7, 89, 133, 0.96), rgba(14, 165, 168, 0.78));
}

.imb-imovel-card__media::after {
    content: "";
    position: absolute;
    left: -16%;
    right: -16%;
    bottom: -60px;
    height: 120px;
    border-radius: 50% 50% 0 0;
    background: rgba(255, 255, 255, 0.26);
}

.imb-imovel-card__icon {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 1.55rem;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15);
}

.imb-imovel-card__seal {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1;
    display: inline-flex;
    max-width: calc(100% - 36px);
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.imb-imovel-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 24px;
}

.imb-imovel-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.imb-imovel-card__meta span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.imb-imovel-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.imb-imovel-card__tags span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(242, 184, 75, 0.14);
    color: #80510a;
    font-size: 0.78rem;
    font-weight: 850;
}

.imb-imovel-card__footer {
    display: grid;
    gap: 14px;
    margin-top: auto;
    padding-top: 22px;
}

.imb-imovel-card__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.imb-imovel-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 950;
    line-height: 1.12;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.imb-imovel-card__button:hover,
.imb-imovel-card__button:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.imb-imovel-card__button--primary {
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(7, 89, 133, 0.18);
}

.imb-imovel-card__button--primary:hover,
.imb-imovel-card__button--primary:focus-visible {
    color: #ffffff;
}

.imb-imovel-card__button--secondary,
.imb-imovel-card__button--ghost {
    border: 1px solid rgba(7, 89, 133, 0.16);
    background: rgba(255, 255, 255, 0.74);
    color: var(--imb-oceano);
}

.imb-imovel-card__button--ghost {
    min-height: 40px;
    font-size: 0.84rem;
    background: rgba(247, 238, 220, 0.56);
}

.imb-imovel-card__button--secondary:hover,
.imb-imovel-card__button--ghost:hover,
.imb-imovel-card__button--secondary:focus-visible,
.imb-imovel-card__button--ghost:focus-visible {
    color: var(--imb-oceano);
    background: #ffffff;
}

.imb-imovel-card.is-hidden {
    display: none;
}

.imb-imoveis-empty {
    margin-top: 22px;
    padding: 34px 24px;
    border: 1px dashed rgba(7, 89, 133, 0.26);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.70);
    text-align: center;
    box-shadow: var(--imb-shadow-soft);
}

.imb-imoveis-empty__icon {
    font-size: 2rem;
}

.imb-imoveis-empty h3 {
    margin: 12px 0 0;
    color: var(--imb-oceano);
    font-size: 1.35rem;
    font-weight: 950;
}

.imb-imoveis-empty p {
    margin: 8px auto 0;
    max-width: 520px;
    color: var(--imb-muted);
    line-height: 1.6;
}

/* COMO USAR E LINKS */
.imb-imoveis-how-section {
    background: #ffffff;
}

.imb-imoveis-how-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.imb-imoveis-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-imoveis-link-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 86px;
    padding: 20px;
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-imoveis-link-card:hover,
.imb-imoveis-link-card:focus-visible {
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-imoveis-link-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    border-radius: 16px;
    background: rgba(14, 165, 168, 0.10);
    font-size: 1.28rem;
}

.imb-imoveis-link-card strong {
    color: var(--imb-texto);
    font-size: 1rem;
    font-weight: 950;
}

.imb-imoveis-link-card em {
    margin-left: auto;
    color: var(--imb-agua);
    font-style: normal;
    font-weight: 950;
}

/* CTAS */
.imb-imoveis-business,
.imb-imoveis-final {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-imoveis-business__box,
.imb-imoveis-final__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-imoveis-business__box::after,
.imb-imoveis-final__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-imoveis-business__box > *,
.imb-imoveis-final__box > * {
    position: relative;
    z-index: 1;
}

.imb-imoveis-business h2,
.imb-imoveis-final h2 {
    color: #ffffff;
}

.imb-imoveis-business p,
.imb-imoveis-final p {
    margin: 18px 0 0;
    max-width: 820px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-imoveis-business__actions,
.imb-imoveis-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* IMÓVEIS - RESPONSIVO */
@media (max-width: 1180px) {
    .imb-imoveis-how-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1060px) {
    .imb-imoveis-hero__grid,
    .imb-imoveis-business__box,
    .imb-imoveis-final__box,
    .imb-imoveis-filter-head {
        grid-template-columns: 1fr;
    }

    .imb-imoveis-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-imoveis-filter {
        grid-template-columns: 1fr;
    }

    .imb-imoveis-grid,
    .imb-imoveis-purpose-grid,
    .imb-imoveis-nav-grid,
    .imb-imoveis-links-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-imoveis-business__actions,
    .imb-imoveis-final__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .imb-imoveis-section {
        padding: 52px 0;
    }

    .imb-imoveis-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-imoveis-section__head h2,
    .imb-imoveis-filter-head h2,
    .imb-imoveis-business h2,
    .imb-imoveis-final h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-imoveis-hero {
        padding: 48px 0 78px;
    }

    .imb-imoveis-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-imoveis-hero__grid {
        gap: 34px;
    }

    .imb-imoveis-hero__title {
        font-size: clamp(2.75rem, 14vw, 4.55rem);
        letter-spacing: -0.065em;
    }

    .imb-imoveis-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-imoveis-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-imoveis-hero__actions,
    .imb-imoveis-business__actions,
    .imb-imoveis-final__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-imoveis-hero__panel {
        min-height: 390px;
    }

    .imb-imoveis-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-imoveis-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-imoveis-hero__mini-card {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-imoveis-hero__mini-card--one { top: 78px; left: 24px; }
    .imb-imoveis-hero__mini-card--two { top: 172px; right: 24px; }
    .imb-imoveis-hero__mini-card--three { left: 34px; bottom: 66px; }

    .imb-imoveis-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-imoveis-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-imoveis-grid,
    .imb-imoveis-purpose-grid,
    .imb-imoveis-nav-grid,
    .imb-imoveis-how-grid,
    .imb-imoveis-links-grid {
        grid-template-columns: 1fr;
    }

    .imb-imoveis-purpose-card,
    .imb-imoveis-nav-card,
    .imb-imovel-card__body,
    .imb-imoveis-how-card,
    .imb-imoveis-filter-shell,
    .imb-imoveis-business__box,
    .imb-imoveis-final__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-imoveis-filter__field input,
    .imb-imoveis-filter__field select {
        min-height: 56px;
    }

    .imb-imoveis-nav-card__button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .imb-imoveis-hero__panel {
        min-height: 360px;
    }

    .imb-imoveis-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-imoveis-hero__mini-card--two {
        right: 12px;
    }
}


/* IMÓVEIS À VENDA */
.imb-imoveis-venda,
.imb-imoveis-venda * {
    box-sizing: border-box;
}

.imb-imoveis-venda {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    --imb-radius-md: 18px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.12), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.13), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-imoveis-venda-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-imoveis-venda-section__head {
    max-width: 900px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-imoveis-venda-section__head h2,
.imb-venda-filter-head h2,
.imb-venda-business h2,
.imb-venda-final h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-imoveis-venda-section__head p,
.imb-venda-filter-head p,
.imb-venda-business p,
.imb-venda-final p {
    margin: 18px auto 0;
    max-width: 920px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* IMÓVEIS À VENDA - HERO */
.imb-imoveis-venda-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.50), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-imoveis-venda-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-imoveis-venda-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-imoveis-venda-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-imoveis-venda-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-imoveis-venda-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-imoveis-venda-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-imoveis-venda-hero__subtitle {
    margin: 22px 0 0;
    max-width: 780px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-imoveis-venda-hero__text {
    max-width: 810px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-imoveis-venda-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-imoveis-venda-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-imoveis-venda-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-imoveis-venda-hero__visual::before,
.imb-imoveis-venda-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-imoveis-venda-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-imoveis-venda-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-imoveis-venda-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-imoveis-venda-hero__mini-card {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-imoveis-venda-hero__mini-card strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-imoveis-venda-hero__mini-card span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-imoveis-venda-hero__mini-card--one { top: 86px; left: 42px; }
.imb-imoveis-venda-hero__mini-card--two { top: 186px; right: 42px; }
.imb-imoveis-venda-hero__mini-card--three { left: 70px; bottom: 76px; }

.imb-imoveis-venda-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-imoveis-venda-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* IMÓVEIS À VENDA - PROPÓSITO */
.imb-venda-purpose,
.imb-venda-links-section {
    background: var(--imb-areia-2);
}

.imb-venda-purpose-grid,
.imb-venda-how-grid,
.imb-venda-links-grid {
    display: grid;
    gap: 22px;
}

.imb-venda-purpose-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-venda-purpose-card,
.imb-venda-card,
.imb-venda-how-card,
.imb-venda-link-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-venda-purpose-card,
.imb-venda-how-card {
    padding: 24px;
}

.imb-venda-purpose-card:hover,
.imb-venda-card:hover,
.imb-venda-how-card:hover,
.imb-venda-link-card:hover,
.imb-venda-purpose-card:focus-within,
.imb-venda-card:focus-within,
.imb-venda-how-card:focus-within,
.imb-venda-link-card:focus-visible {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-venda-purpose-card::before,
.imb-venda-card::before,
.imb-venda-how-card::before,
.imb-venda-link-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-oceano), var(--imb-agua), var(--imb-solar), transparent);
}

.imb-venda-purpose-card__icon,
.imb-venda-how-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-venda-purpose-card h3,
.imb-venda-card h3,
.imb-venda-how-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.15rem, 1.45vw, 1.42rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-venda-purpose-card p,
.imb-venda-card p,
.imb-venda-how-card p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

/* IMÓVEIS À VENDA - FILTROS */
.imb-venda-list-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(20, 184, 166, 0.12), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-venda-filter-shell {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
    backdrop-filter: blur(16px);
}

.imb-venda-filter-head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.75fr);
    gap: 22px;
    align-items: end;
    margin-bottom: 24px;
}

.imb-venda-filter-head h2 {
    font-size: clamp(1.8rem, 3.3vw, 2.7rem);
}

.imb-venda-filter-head p {
    margin: 0;
}

.imb-venda-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(210px, 0.7fr) minmax(210px, 0.7fr);
    gap: 14px;
    align-items: end;
}

.imb-venda-filter__field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-venda-filter__field span {
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.imb-venda-filter__field input,
.imb-venda-filter__field select {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-venda-filter__field input::placeholder {
    color: rgba(91, 102, 115, 0.76);
}

.imb-venda-filter__field input:focus,
.imb-venda-filter__field select:focus {
    border-color: rgba(14, 165, 168, 0.52);
    outline: 3px solid rgba(14, 165, 168, 0.14);
    outline-offset: 2px;
}

.imb-venda-results-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 24px 0 18px;
    color: var(--imb-muted);
    font-size: 0.98rem;
    font-weight: 700;
}

.imb-venda-results-bar strong {
    color: var(--imb-oceano);
    font-size: 1.18rem;
    font-weight: 950;
}

/* IMÓVEIS À VENDA - CARDS */
.imb-venda-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.imb-venda-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background:
        radial-gradient(circle at 92% 12%, rgba(242, 184, 75, 0.12), transparent 8rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 243, 227, 0.54));
}

.imb-venda-card__media,
.imb-venda-card__body {
    position: relative;
    z-index: 2;
}

.imb-venda-card__media {
    min-height: 156px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 24%, rgba(242, 184, 75, 0.54), transparent 6rem),
        radial-gradient(circle at 20% 84%, rgba(22, 101, 52, 0.24), transparent 9rem),
        linear-gradient(135deg, rgba(7, 89, 133, 0.96), rgba(14, 165, 168, 0.78));
}

.imb-venda-card__media::after {
    content: "";
    position: absolute;
    left: -16%;
    right: -16%;
    bottom: -60px;
    height: 120px;
    border-radius: 50% 50% 0 0;
    background: rgba(255, 255, 255, 0.26);
}

.imb-venda-card__icon {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 1.55rem;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15);
}

.imb-venda-card__seal {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1;
    display: inline-flex;
    max-width: calc(100% - 36px);
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.imb-venda-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 24px;
}

.imb-venda-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.imb-venda-card__meta span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.imb-venda-card__info {
    display: grid;
    gap: 6px;
    margin-top: 16px;
    padding: 13px 14px;
    border-radius: 16px;
    background: rgba(7, 89, 133, 0.06);
    color: var(--imb-oceano);
    font-size: 0.86rem;
    font-weight: 850;
    line-height: 1.4;
}

.imb-venda-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.imb-venda-card__tags span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(242, 184, 75, 0.14);
    color: #80510a;
    font-size: 0.78rem;
    font-weight: 850;
}

.imb-venda-card__footer {
    display: grid;
    gap: 14px;
    margin-top: auto;
    padding-top: 22px;
}

.imb-venda-card__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.imb-venda-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 950;
    line-height: 1.12;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.imb-venda-card__button:hover,
.imb-venda-card__button:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.imb-venda-card__button--primary {
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(7, 89, 133, 0.18);
}

.imb-venda-card__button--primary:hover,
.imb-venda-card__button--primary:focus-visible {
    color: #ffffff;
}

.imb-venda-card__button--secondary {
    border: 1px solid rgba(7, 89, 133, 0.16);
    background: rgba(255, 255, 255, 0.74);
    color: var(--imb-oceano);
}

.imb-venda-card__button--secondary:hover,
.imb-venda-card__button--secondary:focus-visible {
    color: var(--imb-oceano);
    background: #ffffff;
}

.imb-venda-card.is-hidden {
    display: none;
}

.imb-venda-empty {
    margin-top: 22px;
    padding: 34px 24px;
    border: 1px dashed rgba(7, 89, 133, 0.26);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.70);
    text-align: center;
    box-shadow: var(--imb-shadow-soft);
}

.imb-venda-empty__icon {
    font-size: 2rem;
}

.imb-venda-empty h3 {
    margin: 12px 0 0;
    color: var(--imb-oceano);
    font-size: 1.35rem;
    font-weight: 950;
}

.imb-venda-empty p {
    margin: 8px auto 0;
    max-width: 520px;
    color: var(--imb-muted);
    line-height: 1.6;
}

/* COMO USAR E LINKS */
.imb-venda-how-section {
    background: #ffffff;
}

.imb-venda-how-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.imb-venda-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-venda-link-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 86px;
    padding: 20px;
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-venda-link-card:hover,
.imb-venda-link-card:focus-visible {
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-venda-link-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    border-radius: 16px;
    background: rgba(14, 165, 168, 0.10);
    font-size: 1.28rem;
}

.imb-venda-link-card strong {
    color: var(--imb-texto);
    font-size: 1rem;
    font-weight: 950;
}

.imb-venda-link-card em {
    margin-left: auto;
    color: var(--imb-agua);
    font-style: normal;
    font-weight: 950;
}

/* CTAS */
.imb-venda-business,
.imb-venda-final {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-venda-business__box,
.imb-venda-final__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-venda-business__box::after,
.imb-venda-final__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-venda-business__box > *,
.imb-venda-final__box > * {
    position: relative;
    z-index: 1;
}

.imb-venda-business h2,
.imb-venda-final h2 {
    color: #ffffff;
}

.imb-venda-business p,
.imb-venda-final p {
    margin: 18px 0 0;
    max-width: 820px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-venda-business__actions,
.imb-venda-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* IMÓVEIS À VENDA - RESPONSIVO */
@media (max-width: 1180px) {
    .imb-venda-how-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1060px) {
    .imb-imoveis-venda-hero__grid,
    .imb-venda-business__box,
    .imb-venda-final__box,
    .imb-venda-filter-head {
        grid-template-columns: 1fr;
    }

    .imb-imoveis-venda-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-venda-filter {
        grid-template-columns: 1fr;
    }

    .imb-venda-grid,
    .imb-venda-purpose-grid,
    .imb-venda-links-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-venda-business__actions,
    .imb-venda-final__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .imb-imoveis-venda-section {
        padding: 52px 0;
    }

    .imb-imoveis-venda-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-imoveis-venda-section__head h2,
    .imb-venda-filter-head h2,
    .imb-venda-business h2,
    .imb-venda-final h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-imoveis-venda-hero {
        padding: 48px 0 78px;
    }

    .imb-imoveis-venda-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-imoveis-venda-hero__grid {
        gap: 34px;
    }

    .imb-imoveis-venda-hero__title {
        font-size: clamp(2.55rem, 13vw, 4.45rem);
        letter-spacing: -0.065em;
    }

    .imb-imoveis-venda-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-imoveis-venda-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-imoveis-venda-hero__actions,
    .imb-venda-business__actions,
    .imb-venda-final__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-imoveis-venda-hero__panel {
        min-height: 390px;
    }

    .imb-imoveis-venda-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-imoveis-venda-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-imoveis-venda-hero__mini-card {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-imoveis-venda-hero__mini-card--one { top: 78px; left: 24px; }
    .imb-imoveis-venda-hero__mini-card--two { top: 172px; right: 24px; }
    .imb-imoveis-venda-hero__mini-card--three { left: 34px; bottom: 66px; }

    .imb-imoveis-venda-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-imoveis-venda-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-venda-grid,
    .imb-venda-purpose-grid,
    .imb-venda-how-grid,
    .imb-venda-links-grid {
        grid-template-columns: 1fr;
    }

    .imb-venda-purpose-card,
    .imb-venda-card__body,
    .imb-venda-how-card,
    .imb-venda-filter-shell,
    .imb-venda-business__box,
    .imb-venda-final__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-venda-filter__field input,
    .imb-venda-filter__field select {
        min-height: 56px;
    }
}

@media (max-width: 420px) {
    .imb-imoveis-venda-hero__panel {
        min-height: 360px;
    }

    .imb-imoveis-venda-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-imoveis-venda-hero__mini-card--two {
        right: 12px;
    }
}

/* IMÓVEIS PARA ALUGUEL */
.imb-imoveis-aluguel,
.imb-imoveis-aluguel * {
    box-sizing: border-box;
}

.imb-imoveis-aluguel {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    --imb-radius-md: 18px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.12), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.13), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-imoveis-aluguel-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-imoveis-aluguel-section__head {
    max-width: 900px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-imoveis-aluguel-section__head h2,
.imb-aluguel-filter-head h2,
.imb-aluguel-business h2,
.imb-aluguel-final h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-imoveis-aluguel-section__head p,
.imb-aluguel-filter-head p,
.imb-aluguel-business p,
.imb-aluguel-final p {
    margin: 18px auto 0;
    max-width: 920px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* IMÓVEIS PARA ALUGUEL - HERO */
.imb-imoveis-aluguel-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.50), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-imoveis-aluguel-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-imoveis-aluguel-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-imoveis-aluguel-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-imoveis-aluguel-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-imoveis-aluguel-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-imoveis-aluguel-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-imoveis-aluguel-hero__subtitle {
    margin: 22px 0 0;
    max-width: 780px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-imoveis-aluguel-hero__text {
    max-width: 810px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-imoveis-aluguel-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-imoveis-aluguel-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-imoveis-aluguel-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-imoveis-aluguel-hero__visual::before,
.imb-imoveis-aluguel-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-imoveis-aluguel-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-imoveis-aluguel-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-imoveis-aluguel-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-imoveis-aluguel-hero__mini-card {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-imoveis-aluguel-hero__mini-card strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-imoveis-aluguel-hero__mini-card span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-imoveis-aluguel-hero__mini-card--one { top: 86px; left: 42px; }
.imb-imoveis-aluguel-hero__mini-card--two { top: 186px; right: 42px; }
.imb-imoveis-aluguel-hero__mini-card--three { left: 70px; bottom: 76px; }

.imb-imoveis-aluguel-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-imoveis-aluguel-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* IMÓVEIS PARA ALUGUEL - PROPÓSITO */
.imb-aluguel-purpose,
.imb-aluguel-links-section {
    background: var(--imb-areia-2);
}

.imb-aluguel-purpose-grid,
.imb-aluguel-how-grid,
.imb-aluguel-links-grid {
    display: grid;
    gap: 22px;
}

.imb-aluguel-purpose-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-aluguel-purpose-card,
.imb-aluguel-card,
.imb-aluguel-how-card,
.imb-aluguel-link-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-aluguel-purpose-card,
.imb-aluguel-how-card {
    padding: 24px;
}

.imb-aluguel-purpose-card:hover,
.imb-aluguel-card:hover,
.imb-aluguel-how-card:hover,
.imb-aluguel-link-card:hover,
.imb-aluguel-purpose-card:focus-within,
.imb-aluguel-card:focus-within,
.imb-aluguel-how-card:focus-within,
.imb-aluguel-link-card:focus-visible {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-aluguel-purpose-card::before,
.imb-aluguel-card::before,
.imb-aluguel-how-card::before,
.imb-aluguel-link-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-oceano), var(--imb-agua), var(--imb-solar), transparent);
}

.imb-aluguel-purpose-card__icon,
.imb-aluguel-how-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-aluguel-purpose-card h3,
.imb-aluguel-card h3,
.imb-aluguel-how-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.15rem, 1.45vw, 1.42rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-aluguel-purpose-card p,
.imb-aluguel-card p,
.imb-aluguel-how-card p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

/* IMÓVEIS PARA ALUGUEL - FILTROS */
.imb-aluguel-list-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(20, 184, 166, 0.12), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-aluguel-filter-shell {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
    backdrop-filter: blur(16px);
}

.imb-aluguel-filter-head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.75fr);
    gap: 22px;
    align-items: end;
    margin-bottom: 24px;
}

.imb-aluguel-filter-head h2 {
    font-size: clamp(1.8rem, 3.3vw, 2.7rem);
}

.imb-aluguel-filter-head p {
    margin: 0;
}

.imb-aluguel-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(210px, 0.7fr) minmax(210px, 0.7fr);
    gap: 14px;
    align-items: end;
}

.imb-aluguel-filter__field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-aluguel-filter__field span {
    color: var(--imb-oceano);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.imb-aluguel-filter__field input,
.imb-aluguel-filter__field select {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-aluguel-filter__field input::placeholder {
    color: rgba(91, 102, 115, 0.76);
}

.imb-aluguel-filter__field input:focus,
.imb-aluguel-filter__field select:focus {
    border-color: rgba(14, 165, 168, 0.52);
    outline: 3px solid rgba(14, 165, 168, 0.14);
    outline-offset: 2px;
}

.imb-aluguel-results-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 24px 0 18px;
    color: var(--imb-muted);
    font-size: 0.98rem;
    font-weight: 700;
}

.imb-aluguel-results-bar strong {
    color: var(--imb-oceano);
    font-size: 1.18rem;
    font-weight: 950;
}

/* IMÓVEIS PARA ALUGUEL - CARDS */
.imb-aluguel-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.imb-aluguel-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background:
        radial-gradient(circle at 92% 12%, rgba(242, 184, 75, 0.12), transparent 8rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 243, 227, 0.54));
}

.imb-aluguel-card__media,
.imb-aluguel-card__body {
    position: relative;
    z-index: 2;
}

.imb-aluguel-card__media {
    min-height: 156px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 24%, rgba(242, 184, 75, 0.54), transparent 6rem),
        radial-gradient(circle at 20% 84%, rgba(22, 101, 52, 0.24), transparent 9rem),
        linear-gradient(135deg, rgba(7, 89, 133, 0.96), rgba(14, 165, 168, 0.78));
}

.imb-aluguel-card__media::after {
    content: "";
    position: absolute;
    left: -16%;
    right: -16%;
    bottom: -60px;
    height: 120px;
    border-radius: 50% 50% 0 0;
    background: rgba(255, 255, 255, 0.26);
}

.imb-aluguel-card__icon {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 1.55rem;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15);
}

.imb-aluguel-card__seal {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1;
    display: inline-flex;
    max-width: calc(100% - 36px);
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.imb-aluguel-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 24px;
}

.imb-aluguel-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.imb-aluguel-card__meta span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    color: var(--imb-oceano);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.imb-aluguel-card__info {
    display: grid;
    gap: 6px;
    margin-top: 16px;
    padding: 13px 14px;
    border-radius: 16px;
    background: rgba(7, 89, 133, 0.06);
    color: var(--imb-oceano);
    font-size: 0.86rem;
    font-weight: 850;
    line-height: 1.4;
}

.imb-aluguel-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.imb-aluguel-card__tags span {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(242, 184, 75, 0.14);
    color: #80510a;
    font-size: 0.78rem;
    font-weight: 850;
}

.imb-aluguel-card__footer {
    display: grid;
    gap: 14px;
    margin-top: auto;
    padding-top: 22px;
}

.imb-aluguel-card__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.imb-aluguel-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 950;
    line-height: 1.12;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.imb-aluguel-card__button:hover,
.imb-aluguel-card__button:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.imb-aluguel-card__button--primary {
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(7, 89, 133, 0.18);
}

.imb-aluguel-card__button--primary:hover,
.imb-aluguel-card__button--primary:focus-visible {
    color: #ffffff;
}

.imb-aluguel-card__button--secondary {
    border: 1px solid rgba(7, 89, 133, 0.16);
    background: rgba(255, 255, 255, 0.74);
    color: var(--imb-oceano);
}

.imb-aluguel-card__button--secondary:hover,
.imb-aluguel-card__button--secondary:focus-visible {
    color: var(--imb-oceano);
    background: #ffffff;
}

.imb-aluguel-card.is-hidden {
    display: none;
}

.imb-aluguel-empty {
    margin-top: 22px;
    padding: 34px 24px;
    border: 1px dashed rgba(7, 89, 133, 0.26);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.70);
    text-align: center;
    box-shadow: var(--imb-shadow-soft);
}

.imb-aluguel-empty__icon {
    font-size: 2rem;
}

.imb-aluguel-empty h3 {
    margin: 12px 0 0;
    color: var(--imb-oceano);
    font-size: 1.35rem;
    font-weight: 950;
}

.imb-aluguel-empty p {
    margin: 8px auto 0;
    max-width: 520px;
    color: var(--imb-muted);
    line-height: 1.6;
}

/* COMO USAR E LINKS */
.imb-aluguel-how-section {
    background: #ffffff;
}

.imb-aluguel-how-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.imb-aluguel-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-aluguel-link-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 86px;
    padding: 20px;
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-aluguel-link-card:hover,
.imb-aluguel-link-card:focus-visible {
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-aluguel-link-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    border-radius: 16px;
    background: rgba(14, 165, 168, 0.10);
    font-size: 1.28rem;
}

.imb-aluguel-link-card strong {
    color: var(--imb-texto);
    font-size: 1rem;
    font-weight: 950;
}

.imb-aluguel-link-card em {
    margin-left: auto;
    color: var(--imb-agua);
    font-style: normal;
    font-weight: 950;
}

/* CTAS */
.imb-aluguel-business,
.imb-aluguel-final {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-aluguel-business__box,
.imb-aluguel-final__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-aluguel-business__box::after,
.imb-aluguel-final__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-aluguel-business__box > *,
.imb-aluguel-final__box > * {
    position: relative;
    z-index: 1;
}

.imb-aluguel-business h2,
.imb-aluguel-final h2 {
    color: #ffffff;
}

.imb-aluguel-business p,
.imb-aluguel-final p {
    margin: 18px 0 0;
    max-width: 820px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-aluguel-business__actions,
.imb-aluguel-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* IMÓVEIS PARA ALUGUEL - RESPONSIVO */
@media (max-width: 1180px) {
    .imb-aluguel-how-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1060px) {
    .imb-imoveis-aluguel-hero__grid,
    .imb-aluguel-business__box,
    .imb-aluguel-final__box,
    .imb-aluguel-filter-head {
        grid-template-columns: 1fr;
    }

    .imb-imoveis-aluguel-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-aluguel-filter {
        grid-template-columns: 1fr;
    }

    .imb-aluguel-grid,
    .imb-aluguel-purpose-grid,
    .imb-aluguel-links-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-aluguel-business__actions,
    .imb-aluguel-final__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .imb-imoveis-aluguel-section {
        padding: 52px 0;
    }

    .imb-imoveis-aluguel-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-imoveis-aluguel-section__head h2,
    .imb-aluguel-filter-head h2,
    .imb-aluguel-business h2,
    .imb-aluguel-final h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-imoveis-aluguel-hero {
        padding: 48px 0 78px;
    }

    .imb-imoveis-aluguel-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-imoveis-aluguel-hero__grid {
        gap: 34px;
    }

    .imb-imoveis-aluguel-hero__title {
        font-size: clamp(2.55rem, 13vw, 4.45rem);
        letter-spacing: -0.065em;
    }

    .imb-imoveis-aluguel-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-imoveis-aluguel-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-imoveis-aluguel-hero__actions,
    .imb-aluguel-business__actions,
    .imb-aluguel-final__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-imoveis-aluguel-hero__panel {
        min-height: 390px;
    }

    .imb-imoveis-aluguel-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-imoveis-aluguel-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-imoveis-aluguel-hero__mini-card {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-imoveis-aluguel-hero__mini-card--one { top: 78px; left: 24px; }
    .imb-imoveis-aluguel-hero__mini-card--two { top: 172px; right: 24px; }
    .imb-imoveis-aluguel-hero__mini-card--three { left: 34px; bottom: 66px; }

    .imb-imoveis-aluguel-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-imoveis-aluguel-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-aluguel-grid,
    .imb-aluguel-purpose-grid,
    .imb-aluguel-how-grid,
    .imb-aluguel-links-grid {
        grid-template-columns: 1fr;
    }

    .imb-aluguel-purpose-card,
    .imb-aluguel-card__body,
    .imb-aluguel-how-card,
    .imb-aluguel-filter-shell,
    .imb-aluguel-business__box,
    .imb-aluguel-final__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-aluguel-filter__field input,
    .imb-aluguel-filter__field select {
        min-height: 56px;
    }
}

@media (max-width: 420px) {
    .imb-imoveis-aluguel-hero__panel {
        min-height: 360px;
    }

    .imb-imoveis-aluguel-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-imoveis-aluguel-hero__mini-card--two {
        right: 12px;
    }
}


/* CONTATO */
.imb-contato,
.imb-contato * {
    box-sizing: border-box;
}

.imb-contato {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.13), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.13), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-contato-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-contato-section__head {
    max-width: 900px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-contato-section__head h2,
.imb-contato-form-intro h2,
.imb-contato-final h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-contato-section__head p,
.imb-contato-form-intro p,
.imb-contato-final p {
    margin: 18px auto 0;
    max-width: 920px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* CONTATO - HERO */
.imb-contato-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.50), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-contato-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-contato-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-contato-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-contato-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-contato-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-contato-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-contato-hero__subtitle {
    margin: 22px 0 0;
    max-width: 780px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-contato-hero__text {
    max-width: 810px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-contato-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-contato-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-contato-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-contato-hero__visual::before,
.imb-contato-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-contato-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-contato-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-contato-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-contato-hero__mini-card {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-contato-hero__mini-card strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-contato-hero__mini-card span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-contato-hero__mini-card--one { top: 86px; left: 42px; }
.imb-contato-hero__mini-card--two { top: 186px; right: 42px; }
.imb-contato-hero__mini-card--three { left: 70px; bottom: 76px; }

.imb-contato-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-contato-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* CONTATO - CARDS */
.imb-contato-help,
.imb-contato-shortcuts {
    background: var(--imb-areia-2);
}

.imb-contato-grid,
.imb-contato-shortcuts-grid {
    display: grid;
    gap: 22px;
}

.imb-contato-help-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-contato-channel-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.imb-contato-card,
.imb-contato-shortcut-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-contato-card {
    padding: 24px;
}

.imb-contato-card:hover,
.imb-contato-shortcut-card:hover,
.imb-contato-card:focus-within,
.imb-contato-shortcut-card:focus-visible {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-contato-card::before,
.imb-contato-shortcut-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-oceano), var(--imb-agua), var(--imb-solar), transparent);
}

.imb-contato-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-contato-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.12rem, 1.35vw, 1.32rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-contato-card p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

.imb-contato-channel-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.imb-contato-channel-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 44px;
    margin-top: auto;
    padding: 11px 15px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 950;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(7, 89, 133, 0.18);
}

.imb-contato-channel-card__button:hover,
.imb-contato-channel-card__button:focus-visible {
    color: #ffffff;
    text-decoration: none;
}

.imb-contato-channel-card__button--disabled {
    background: rgba(7, 89, 133, 0.08);
    color: var(--imb-oceano);
    box-shadow: none;
    cursor: default;
}

/* CONTATO - FORM */
.imb-contato-form-section {
    background:
        radial-gradient(circle at 86% 16%, rgba(20, 184, 166, 0.12), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-contato-form-shell {
    display: grid;
    grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1fr);
    gap: clamp(24px, 4vw, 48px);
    align-items: start;
    padding: clamp(24px, 5vw, 46px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
    backdrop-filter: blur(16px);
}

.imb-contato-form-intro h2 {
    font-size: clamp(2rem, 3.6vw, 3rem);
}

.imb-contato-form {
    display: grid;
    gap: 18px;
}

.imb-contato-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.imb-contato-form__field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.imb-contato-form__field--wide {
    grid-column: 1 / -1;
}

.imb-contato-form__field span,
.imb-contato-form__checkbox span {
    color: var(--imb-oceano);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.03em;
}

.imb-contato-form__field input,
.imb-contato-form__field select,
.imb-contato-form__field textarea {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(7, 89, 133, 0.18);
    border-radius: 18px;
    background: #ffffff;
    color: var(--imb-texto);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(7, 89, 133, 0.06);
}

.imb-contato-form__field textarea {
    min-height: 150px;
    padding-top: 14px;
    resize: vertical;
    line-height: 1.55;
}

.imb-contato-form__field input::placeholder,
.imb-contato-form__field textarea::placeholder {
    color: rgba(91, 102, 115, 0.72);
}

.imb-contato-form__field input:focus,
.imb-contato-form__field select:focus,
.imb-contato-form__field textarea:focus {
    border-color: rgba(14, 165, 168, 0.52);
    outline: 3px solid rgba(14, 165, 168, 0.14);
    outline-offset: 2px;
}

.imb-contato-form__checkbox {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 16px;
    border-radius: 18px;
    background: rgba(7, 89, 133, 0.05);
}

.imb-contato-form__checkbox input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--imb-agua);
    flex: 0 0 auto;
}

.imb-contato-form__checkbox span {
    color: var(--imb-muted);
    line-height: 1.5;
    letter-spacing: 0;
}

.imb-contato-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 52px;
    padding: 14px 22px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--imb-oceano), var(--imb-agua));
    color: #ffffff;
    font: inherit;
    font-size: 0.98rem;
    font-weight: 950;
    cursor: pointer;
    box-shadow: 0 16px 34px rgba(7, 89, 133, 0.20);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.imb-contato-form__submit:hover,
.imb-contato-form__submit:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 20px 42px rgba(7, 89, 133, 0.24);
}

.imb-contato-form__notice {
    margin: 0;
    color: var(--imb-muted);
    font-size: 0.88rem;
    line-height: 1.55;
}

.imb-contato-form__status {
    padding: 15px 16px;
    border-radius: 18px;
    font-size: 0.95rem;
    font-weight: 850;
    line-height: 1.5;
}

.imb-contato-form__status.is-success {
    border: 1px solid rgba(22, 101, 52, 0.22);
    background: rgba(22, 101, 52, 0.09);
    color: var(--imb-mata);
}

.imb-contato-form__status.is-error {
    border: 1px solid rgba(249, 115, 91, 0.26);
    background: rgba(249, 115, 91, 0.10);
    color: #8d3b2c;
}

/* CONTATO - ATALHOS E FINAL */
.imb-contato-shortcuts-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imb-contato-shortcut-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 86px;
    padding: 20px;
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-contato-shortcut-card:hover,
.imb-contato-shortcut-card:focus-visible {
    color: var(--imb-oceano);
    text-decoration: none;
}

.imb-contato-shortcut-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    border-radius: 16px;
    background: rgba(14, 165, 168, 0.10);
    font-size: 1.28rem;
}

.imb-contato-shortcut-card strong {
    color: var(--imb-texto);
    font-size: 1rem;
    font-weight: 950;
}

.imb-contato-shortcut-card em {
    margin-left: auto;
    color: var(--imb-agua);
    font-style: normal;
    font-weight: 950;
}

.imb-contato-final {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-contato-final__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-contato-final__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-contato-final__box > * {
    position: relative;
    z-index: 1;
}

.imb-contato-final h2 {
    color: #ffffff;
}

.imb-contato-final p {
    margin: 18px 0 0;
    max-width: 820px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-contato-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* CONTATO - RESPONSIVO */
@media (max-width: 1180px) {
    .imb-contato-channel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1060px) {
    .imb-contato-hero__grid,
    .imb-contato-form-shell,
    .imb-contato-final__box {
        grid-template-columns: 1fr;
    }

    .imb-contato-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-contato-help-grid,
    .imb-contato-shortcuts-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imb-contato-final__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .imb-contato-section {
        padding: 52px 0;
    }

    .imb-contato-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-contato-section__head h2,
    .imb-contato-form-intro h2,
    .imb-contato-final h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-contato-hero {
        padding: 48px 0 78px;
    }

    .imb-contato-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-contato-hero__grid {
        gap: 34px;
    }

    .imb-contato-hero__title {
        font-size: clamp(2.75rem, 14vw, 4.55rem);
        letter-spacing: -0.065em;
    }

    .imb-contato-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-contato-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-contato-hero__actions,
    .imb-contato-final__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-contato-hero__panel {
        min-height: 390px;
    }

    .imb-contato-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-contato-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-contato-hero__mini-card {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-contato-hero__mini-card--one { top: 78px; left: 24px; }
    .imb-contato-hero__mini-card--two { top: 172px; right: 24px; }
    .imb-contato-hero__mini-card--three { left: 34px; bottom: 66px; }

    .imb-contato-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-contato-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-contato-help-grid,
    .imb-contato-channel-grid,
    .imb-contato-shortcuts-grid,
    .imb-contato-form__grid {
        grid-template-columns: 1fr;
    }

    .imb-contato-card,
    .imb-contato-form-shell,
    .imb-contato-final__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-contato-form__field input,
    .imb-contato-form__field select,
    .imb-contato-form__field textarea {
        min-height: 56px;
    }

    .imb-contato-form__submit,
    .imb-contato-channel-card__button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .imb-contato-hero__panel {
        min-height: 360px;
    }

    .imb-contato-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-contato-hero__mini-card--two {
        right: 12px;
    }
}


/* POLÍTICA DE PRIVACIDADE */
.imb-politica,
.imb-politica * {
    box-sizing: border-box;
}

.imb-politica {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.12), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.13), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-politica-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-politica-section__head {
    max-width: 900px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-politica-section__head h2,
.imb-politica-content__header h2,
.imb-politica-final h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-politica-section__head p,
.imb-politica-final p {
    margin: 18px auto 0;
    max-width: 920px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* POLÍTICA - HERO */
.imb-politica-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.48), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-politica-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-politica-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-politica-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-politica-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-politica-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-politica-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-politica-hero__subtitle {
    margin: 22px 0 0;
    max-width: 780px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-politica-hero__text {
    max-width: 810px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-politica-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-politica-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-politica-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-politica-hero__visual::before,
.imb-politica-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-politica-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-politica-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-politica-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-politica-hero__mini-card {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-politica-hero__mini-card strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-politica-hero__mini-card span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-politica-hero__mini-card--one { top: 86px; left: 42px; }
.imb-politica-hero__mini-card--two { top: 186px; right: 42px; }
.imb-politica-hero__mini-card--three { left: 70px; bottom: 76px; }

.imb-politica-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-politica-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* POLÍTICA - RESUMO E ÍNDICE */
.imb-politica-summary,
.imb-politica-content-section {
    background: var(--imb-areia-2);
}

.imb-politica-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.imb-politica-card {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-politica-card:hover,
.imb-politica-card:focus-within {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-politica-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-oceano), var(--imb-agua), var(--imb-solar), transparent);
}

.imb-politica-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-politica-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.12rem, 1.35vw, 1.32rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-politica-card p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

.imb-politica-index {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: clamp(18px, 3vw, 28px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
}

.imb-politica-index a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid rgba(7, 89, 133, 0.12);
    border-radius: 18px;
    background: rgba(250, 243, 227, 0.52);
    color: var(--imb-oceano);
    font-size: 0.94rem;
    font-weight: 900;
    line-height: 1.25;
    text-decoration: none;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.imb-politica-index a:hover,
.imb-politica-index a:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(14, 165, 168, 0.30);
    background: #ffffff;
    color: var(--imb-oceano);
    text-decoration: none;
}

/* POLÍTICA - CONTEÚDO */
.imb-politica-content {
    max-width: 960px;
    margin: 0 auto;
    padding: clamp(24px, 5vw, 56px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 92% 4%, rgba(242, 184, 75, 0.12), transparent 14rem),
        rgba(255, 255, 255, 0.96);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
}

.imb-politica-content__header {
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(7, 89, 133, 0.12);
}

.imb-politica-content__header h2 {
    font-size: clamp(2rem, 3.6vw, 3rem);
}

.imb-politica-content__updated {
    display: inline-flex;
    margin: 18px 0 0;
    padding: 9px 13px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    color: var(--imb-oceano);
    font-size: 0.86rem;
    font-weight: 950;
}

.imb-politica-content p,
.imb-politica-content li {
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.35vw, 1.08rem);
    line-height: 1.78;
}

.imb-politica-content p {
    margin: 16px 0 0;
}

.imb-politica-content a {
    color: var(--imb-oceano);
    font-weight: 950;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.imb-politica-content__block {
    scroll-margin-top: 90px;
    margin-top: 34px;
    padding: clamp(18px, 3vw, 30px);
    border: 1px solid rgba(7, 89, 133, 0.10);
    border-radius: 24px;
    background: rgba(250, 243, 227, 0.36);
}

.imb-politica-content__block h3 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(1.32rem, 2vw, 1.82rem);
    font-weight: 950;
    line-height: 1.14;
    letter-spacing: -0.035em;
}

.imb-politica-content ul {
    display: grid;
    gap: 8px;
    margin: 18px 0 0;
    padding-left: 1.25rem;
}

.imb-politica-note {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(14, 165, 168, 0.16);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.68);
}

/* POLÍTICA - FINAL */
.imb-politica-final {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-politica-final__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-politica-final__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-politica-final__box > * {
    position: relative;
    z-index: 1;
}

.imb-politica-final h2 {
    color: #ffffff;
}

.imb-politica-final p {
    margin: 18px 0 0;
    max-width: 820px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-politica-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* POLÍTICA - RESPONSIVO */
@media (max-width: 1180px) {
    .imb-politica-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1060px) {
    .imb-politica-hero__grid,
    .imb-politica-final__box {
        grid-template-columns: 1fr;
    }

    .imb-politica-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-politica-final__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .imb-politica-index {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .imb-politica-section {
        padding: 52px 0;
    }

    .imb-politica-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-politica-section__head h2,
    .imb-politica-content__header h2,
    .imb-politica-final h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-politica-hero {
        padding: 48px 0 78px;
    }

    .imb-politica-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-politica-hero__grid {
        gap: 34px;
    }

    .imb-politica-hero__title {
        font-size: clamp(2.75rem, 14vw, 4.55rem);
        letter-spacing: -0.065em;
    }

    .imb-politica-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-politica-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-politica-hero__actions,
    .imb-politica-final__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-politica-hero__panel {
        min-height: 390px;
    }

    .imb-politica-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-politica-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-politica-hero__mini-card {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-politica-hero__mini-card--one { top: 78px; left: 24px; }
    .imb-politica-hero__mini-card--two { top: 172px; right: 24px; }
    .imb-politica-hero__mini-card--three { left: 34px; bottom: 66px; }

    .imb-politica-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-politica-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-politica-summary-grid {
        grid-template-columns: 1fr;
    }

    .imb-politica-card,
    .imb-politica-content,
    .imb-politica-content__block,
    .imb-politica-index,
    .imb-politica-final__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-politica-content p,
    .imb-politica-content li {
        font-size: 1rem;
        line-height: 1.72;
    }
}

@media (max-width: 420px) {
    .imb-politica-hero__panel {
        min-height: 360px;
    }

    .imb-politica-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-politica-hero__mini-card--two {
        right: 12px;
    }
}

/* TERMOS DE USO */
.imb-termos,
.imb-termos * {
    box-sizing: border-box;
}

.imb-termos {
    --imb-oceano: #075985;
    --imb-oceano-2: #0F5E7A;
    --imb-agua: #0EA5A8;
    --imb-agua-2: #14B8A6;
    --imb-mata: #166534;
    --imb-mata-2: #2F6F4E;
    --imb-areia: #F7EEDC;
    --imb-areia-2: #FAF3E3;
    --imb-solar: #F2B84B;
    --imb-solar-2: #F59E0B;
    --imb-coral: #F9735B;
    --imb-branco: #FFFFFF;
    --imb-texto: #1F2933;
    --imb-muted: #5B6673;
    --imb-border: rgba(15, 94, 122, 0.14);
    --imb-shadow: 0 24px 70px rgba(7, 89, 133, 0.14);
    --imb-shadow-soft: 0 18px 50px rgba(31, 41, 51, 0.10);
    --imb-radius-xl: 34px;
    --imb-radius-lg: 24px;
    width: 100%;
    overflow: hidden;
    color: var(--imb-texto);
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 184, 75, 0.12), transparent 26rem),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.13), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--imb-areia-2) 42%, #ffffff 100%);
    font-family: inherit;
}

.imb-termos-section {
    position: relative;
    padding: clamp(56px, 7vw, 100px) 0;
}

.imb-termos-section__head {
    max-width: 900px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.imb-termos-section__head h2,
.imb-termos-content__header h2,
.imb-termos-final h2 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.imb-termos-section__head p,
.imb-termos-final p {
    margin: 18px auto 0;
    max-width: 920px;
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
    line-height: 1.72;
}

/* POLÍTICA - HERO */
.imb-termos-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 8vw, 118px) 0 clamp(58px, 7vw, 96px);
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 20%, rgba(242, 184, 75, 0.48), transparent 18rem),
        radial-gradient(circle at 22% 72%, rgba(22, 101, 52, 0.32), transparent 21rem),
        linear-gradient(135deg, #075985 0%, #0F5E7A 42%, #0EA5A8 100%);
}

.imb-termos-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -95px;
    height: 190px;
    border-radius: 50% 50% 0 0;
    background: var(--imb-areia-2);
    pointer-events: none;
}

.imb-termos-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(2px);
    opacity: 0.55;
}

.imb-termos-hero__orb--solar {
    width: 300px;
    height: 300px;
    top: 8%;
    right: 9%;
    background: radial-gradient(circle, rgba(242, 184, 75, 0.68), transparent 68%);
}

.imb-termos-hero__orb--agua {
    width: 360px;
    height: 360px;
    left: -120px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.46), transparent 68%);
}

.imb-termos-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.88fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.imb-termos-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(3rem, 7.2vw, 6.4rem);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-shadow: 0 16px 46px rgba(0, 0, 0, 0.20);
}

.imb-termos-hero__subtitle {
    margin: 22px 0 0;
    max-width: 780px;
    color: #fff8e8;
    font-size: clamp(1.22rem, 2.2vw, 1.82rem);
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -0.03em;
}

.imb-termos-hero__text {
    max-width: 810px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(1.02rem, 1.55vw, 1.22rem);
    line-height: 1.68;
}

.imb-termos-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.imb-termos-hero__panel {
    position: relative;
    min-height: 460px;
}

.imb-termos-hero__visual {
    position: absolute;
    inset: 10px 0 86px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 44px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06)),
        radial-gradient(circle at 72% 18%, rgba(242, 184, 75, 0.48), transparent 7rem);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.imb-termos-hero__visual::before,
.imb-termos-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.imb-termos-hero__visual::before {
    left: -18%;
    right: -10%;
    bottom: 26%;
    height: 48%;
    border-radius: 52% 48% 0 0;
    transform: rotate(-4deg);
    background:
        radial-gradient(circle at 30% 46%, rgba(255, 255, 255, 0.32), transparent 2rem),
        linear-gradient(135deg, rgba(14, 165, 168, 0.78), rgba(7, 89, 133, 0.88));
}

.imb-termos-hero__visual::after {
    left: -12%;
    right: -16%;
    bottom: -14%;
    height: 44%;
    border-radius: 56% 44% 0 0;
    transform: rotate(3deg);
    background:
        radial-gradient(circle at 74% 32%, rgba(255, 255, 255, 0.26), transparent 2.2rem),
        linear-gradient(135deg, #F7EEDC, #F2B84B 170%);
}

.imb-termos-hero__sun {
    position: absolute;
    top: 48px;
    right: 56px;
    width: 102px;
    height: 102px;
    border-radius: 999px;
    background: radial-gradient(circle, #fff6c4 0 18%, var(--imb-solar) 42%, rgba(249, 115, 91, 0.82) 100%);
    box-shadow: 0 0 70px rgba(242, 184, 75, 0.72);
}

.imb-termos-hero__mini-card {
    position: absolute;
    z-index: 6;
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.imb-termos-hero__mini-card strong {
    font-size: 1.05rem;
    font-weight: 950;
    line-height: 1.1;
}

.imb-termos-hero__mini-card span {
    color: var(--imb-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.imb-termos-hero__mini-card--one { top: 86px; left: 42px; }
.imb-termos-hero__mini-card--two { top: 186px; right: 42px; }
.imb-termos-hero__mini-card--three { left: 70px; bottom: 76px; }

.imb-termos-hero__chips {
    position: absolute;
    inset: auto 0 0;
    z-index: 7;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.imb-termos-hero__chips span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--imb-oceano);
    font-size: 0.88rem;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
}

/* POLÍTICA - RESUMO E ÍNDICE */
.imb-termos-summary,
.imb-termos-content-section {
    background: var(--imb-areia-2);
}

.imb-termos-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.imb-termos-card {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border: 1px solid var(--imb-border);
    border-radius: var(--imb-radius-lg);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--imb-shadow-soft);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.imb-termos-card:hover,
.imb-termos-card:focus-within {
    transform: translateY(-6px);
    border-color: rgba(14, 165, 168, 0.32);
    box-shadow: var(--imb-shadow);
}

.imb-termos-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--imb-oceano), var(--imb-agua), var(--imb-solar), transparent);
}

.imb-termos-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 238, 220, 0.95), rgba(255, 255, 255, 0.80));
    font-size: 1.42rem;
    box-shadow: 0 14px 30px rgba(7, 89, 133, 0.10);
}

.imb-termos-card h3 {
    margin: 0;
    color: var(--imb-texto);
    font-size: clamp(1.12rem, 1.35vw, 1.32rem);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.imb-termos-card p {
    margin: 12px 0 0;
    color: var(--imb-muted);
    font-size: 0.96rem;
    line-height: 1.62;
}

.imb-termos-index {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: clamp(18px, 3vw, 28px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
}

.imb-termos-index a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid rgba(7, 89, 133, 0.12);
    border-radius: 18px;
    background: rgba(250, 243, 227, 0.52);
    color: var(--imb-oceano);
    font-size: 0.94rem;
    font-weight: 900;
    line-height: 1.25;
    text-decoration: none;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.imb-termos-index a:hover,
.imb-termos-index a:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(14, 165, 168, 0.30);
    background: #ffffff;
    color: var(--imb-oceano);
    text-decoration: none;
}

/* POLÍTICA - CONTEÚDO */
.imb-termos-content {
    max-width: 960px;
    margin: 0 auto;
    padding: clamp(24px, 5vw, 56px);
    border: 1px solid rgba(15, 94, 122, 0.12);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 92% 4%, rgba(242, 184, 75, 0.12), transparent 14rem),
        rgba(255, 255, 255, 0.96);
    box-shadow: 0 26px 80px rgba(7, 89, 133, 0.14);
}

.imb-termos-content__header {
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(7, 89, 133, 0.12);
}

.imb-termos-content__header h2 {
    font-size: clamp(2rem, 3.6vw, 3rem);
}

.imb-termos-content__updated {
    display: inline-flex;
    margin: 18px 0 0;
    padding: 9px 13px;
    border-radius: 999px;
    background: rgba(14, 165, 168, 0.10);
    color: var(--imb-oceano);
    font-size: 0.86rem;
    font-weight: 950;
}

.imb-termos-content p,
.imb-termos-content li {
    color: var(--imb-muted);
    font-size: clamp(1rem, 1.35vw, 1.08rem);
    line-height: 1.78;
}

.imb-termos-content p {
    margin: 16px 0 0;
}

.imb-termos-content a {
    color: var(--imb-oceano);
    font-weight: 950;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.imb-termos-content__block {
    scroll-margin-top: 90px;
    margin-top: 34px;
    padding: clamp(18px, 3vw, 30px);
    border: 1px solid rgba(7, 89, 133, 0.10);
    border-radius: 24px;
    background: rgba(250, 243, 227, 0.36);
}

.imb-termos-content__block h3 {
    margin: 0;
    color: var(--imb-oceano);
    font-size: clamp(1.32rem, 2vw, 1.82rem);
    font-weight: 950;
    line-height: 1.14;
    letter-spacing: -0.035em;
}

.imb-termos-content ul {
    display: grid;
    gap: 8px;
    margin: 18px 0 0;
    padding-left: 1.25rem;
}

.imb-termos-note {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(14, 165, 168, 0.16);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.68);
}

/* POLÍTICA - FINAL */
.imb-termos-final {
    background:
        radial-gradient(circle at 82% 18%, rgba(242, 184, 75, 0.18), transparent 22rem),
        linear-gradient(180deg, #ffffff, var(--imb-areia-2));
}

.imb-termos-final__box {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: var(--imb-radius-xl);
    background:
        radial-gradient(circle at 12% 20%, rgba(242, 184, 75, 0.30), transparent 18rem),
        linear-gradient(135deg, var(--imb-mata), var(--imb-oceano));
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(22, 101, 52, 0.22);
}

.imb-termos-final__box::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.imb-termos-final__box > * {
    position: relative;
    z-index: 1;
}

.imb-termos-final h2 {
    color: #ffffff;
}

.imb-termos-final p {
    margin: 18px 0 0;
    max-width: 820px;
    color: rgba(255, 255, 255, 0.88);
}

.imb-termos-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

/* POLÍTICA - RESPONSIVO */
@media (max-width: 1180px) {
    .imb-termos-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1060px) {
    .imb-termos-hero__grid,
    .imb-termos-final__box {
        grid-template-columns: 1fr;
    }

    .imb-termos-hero__panel {
        min-height: 460px;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }

    .imb-termos-final__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .imb-termos-index {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .imb-termos-section {
        padding: 52px 0;
    }

    .imb-termos-section__head {
        margin-bottom: 26px;
        text-align: left;
    }

    .imb-termos-section__head h2,
    .imb-termos-content__header h2,
    .imb-termos-final h2 {
        font-size: clamp(1.9rem, 9vw, 2.45rem);
        letter-spacing: -0.045em;
    }

    .imb-termos-hero {
        padding: 48px 0 78px;
    }

    .imb-termos-hero::after {
        bottom: -118px;
        height: 190px;
    }

    .imb-termos-hero__grid {
        gap: 34px;
    }

    .imb-termos-hero__title {
        font-size: clamp(2.75rem, 14vw, 4.55rem);
        letter-spacing: -0.065em;
    }

    .imb-termos-hero__subtitle {
        font-size: 1.12rem;
    }

    .imb-termos-hero__text {
        font-size: 1.04rem;
        line-height: 1.62;
    }

    .imb-termos-hero__actions,
    .imb-termos-final__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .imb-termos-hero__panel {
        min-height: 390px;
    }

    .imb-termos-hero__visual {
        inset: 0 0 76px;
        border-radius: 32px;
    }

    .imb-termos-hero__sun {
        top: 44px;
        right: 36px;
        width: 82px;
        height: 82px;
    }

    .imb-termos-hero__mini-card {
        min-width: 148px;
        padding: 13px;
        border-radius: 18px;
    }

    .imb-termos-hero__mini-card--one { top: 78px; left: 24px; }
    .imb-termos-hero__mini-card--two { top: 172px; right: 24px; }
    .imb-termos-hero__mini-card--three { left: 34px; bottom: 66px; }

    .imb-termos-hero__chips {
        justify-content: flex-start;
        gap: 8px;
    }

    .imb-termos-hero__chips span {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 0.84rem;
    }

    .imb-termos-summary-grid {
        grid-template-columns: 1fr;
    }

    .imb-termos-card,
    .imb-termos-content,
    .imb-termos-content__block,
    .imb-termos-index,
    .imb-termos-final__box {
        padding: 22px;
        border-radius: 28px;
    }

    .imb-termos-content p,
    .imb-termos-content li {
        font-size: 1rem;
        line-height: 1.72;
    }
}

@media (max-width: 420px) {
    .imb-termos-hero__panel {
        min-height: 360px;
    }

    .imb-termos-hero__chips span:nth-child(n+5) {
        display: none;
    }

    .imb-termos-hero__mini-card--two {
        right: 12px;
    }
}


/* LOGOMARCA OFICIAL NOS HEROES */
.imb-home .imb-brand-logo-wrap,
.imb-guia .imb-brand-logo-wrap,
.imb-cadastro .imb-brand-logo-wrap,
.imb-anuncie .imb-brand-logo-wrap,
.imb-publicacoes .imb-brand-logo-wrap,
.imb-eventos .imb-brand-logo-wrap,
.imb-o-que-fazer .imb-brand-logo-wrap,
.imb-onde-comer .imb-brand-logo-wrap,
.imb-onde-ficar .imb-brand-logo-wrap,
.imb-servicos .imb-brand-logo-wrap,
.imb-comercio-local .imb-brand-logo-wrap,
.imb-imoveis .imb-brand-logo-wrap,
.imb-imoveis-venda .imb-brand-logo-wrap,
.imb-imoveis-aluguel .imb-brand-logo-wrap,
.imb-contato .imb-brand-logo-wrap,
.imb-politica .imb-brand-logo-wrap,
.imb-termos .imb-brand-logo-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(100%, 280px);
    margin: 0 auto 1.25rem;
    pointer-events: none;
}

.imb-home .imb-brand-logo,
.imb-guia .imb-brand-logo,
.imb-cadastro .imb-brand-logo,
.imb-anuncie .imb-brand-logo,
.imb-publicacoes .imb-brand-logo,
.imb-eventos .imb-brand-logo,
.imb-o-que-fazer .imb-brand-logo,
.imb-onde-comer .imb-brand-logo,
.imb-onde-ficar .imb-brand-logo,
.imb-servicos .imb-brand-logo,
.imb-comercio-local .imb-brand-logo,
.imb-imoveis .imb-brand-logo,
.imb-imoveis-venda .imb-brand-logo,
.imb-imoveis-aluguel .imb-brand-logo,
.imb-contato .imb-brand-logo,
.imb-politica .imb-brand-logo,
.imb-termos .imb-brand-logo {
    display: block;
    width: 100%;
    height: auto;
    max-height: 280px;
    object-fit: contain;
    filter: drop-shadow(0 14px 30px rgba(0, 0, 0, 0.12));
}

.imb-home .imb-brand-logo--home .imb-brand-logo {
    max-width: 260px;
}

.imb-guia .imb-brand-logo--inner .imb-brand-logo,
.imb-cadastro .imb-brand-logo--inner .imb-brand-logo,
.imb-anuncie .imb-brand-logo--inner .imb-brand-logo,
.imb-publicacoes .imb-brand-logo--inner .imb-brand-logo,
.imb-eventos .imb-brand-logo--inner .imb-brand-logo,
.imb-o-que-fazer .imb-brand-logo--inner .imb-brand-logo,
.imb-onde-comer .imb-brand-logo--inner .imb-brand-logo,
.imb-onde-ficar .imb-brand-logo--inner .imb-brand-logo,
.imb-servicos .imb-brand-logo--inner .imb-brand-logo,
.imb-comercio-local .imb-brand-logo--inner .imb-brand-logo,
.imb-imoveis .imb-brand-logo--inner .imb-brand-logo,
.imb-imoveis-venda .imb-brand-logo--inner .imb-brand-logo,
.imb-imoveis-aluguel .imb-brand-logo--inner .imb-brand-logo,
.imb-contato .imb-brand-logo--inner .imb-brand-logo,
.imb-politica .imb-brand-logo--inner .imb-brand-logo,
.imb-termos .imb-brand-logo--inner .imb-brand-logo {
    max-width: 210px;
}

/* Em heroes de duas colunas, mantém a marca harmônica junto ao bloco textual sem afetar o tema. */
.imb-home .imb-hero__content .imb-brand-logo-wrap,
.imb-guia .imb-guia-hero__content .imb-brand-logo-wrap,
.imb-cadastro .imb-cadastro-hero__content .imb-brand-logo-wrap,
.imb-anuncie .imb-anuncie-hero__content .imb-brand-logo-wrap,
.imb-publicacoes .imb-publicacoes-hero__content .imb-brand-logo-wrap,
.imb-eventos .imb-eventos-hero__content .imb-brand-logo-wrap,
.imb-o-que-fazer .imb-o-que-fazer-hero__content .imb-brand-logo-wrap,
.imb-onde-comer .imb-onde-comer-hero__content .imb-brand-logo-wrap,
.imb-onde-ficar .imb-onde-ficar-hero__content .imb-brand-logo-wrap,
.imb-servicos .imb-servicos-hero__content .imb-brand-logo-wrap,
.imb-comercio-local .imb-comercio-local-hero__content .imb-brand-logo-wrap,
.imb-imoveis .imb-imoveis-hero__content .imb-brand-logo-wrap,
.imb-imoveis-venda .imb-imoveis-venda-hero__content .imb-brand-logo-wrap,
.imb-imoveis-aluguel .imb-imoveis-aluguel-hero__content .imb-brand-logo-wrap,
.imb-contato .imb-contato-hero__content .imb-brand-logo-wrap,
.imb-politica .imb-politica-hero__content .imb-brand-logo-wrap,
.imb-termos .imb-termos-hero__content .imb-brand-logo-wrap {
    margin-left: 0;
    margin-right: auto;
}

@media (max-width: 1060px) {
    .imb-home .imb-hero__content .imb-brand-logo-wrap,
    .imb-guia .imb-guia-hero__content .imb-brand-logo-wrap,
    .imb-cadastro .imb-cadastro-hero__content .imb-brand-logo-wrap,
    .imb-anuncie .imb-anuncie-hero__content .imb-brand-logo-wrap,
    .imb-publicacoes .imb-publicacoes-hero__content .imb-brand-logo-wrap,
    .imb-eventos .imb-eventos-hero__content .imb-brand-logo-wrap,
    .imb-o-que-fazer .imb-o-que-fazer-hero__content .imb-brand-logo-wrap,
    .imb-onde-comer .imb-onde-comer-hero__content .imb-brand-logo-wrap,
    .imb-onde-ficar .imb-onde-ficar-hero__content .imb-brand-logo-wrap,
    .imb-servicos .imb-servicos-hero__content .imb-brand-logo-wrap,
    .imb-comercio-local .imb-comercio-local-hero__content .imb-brand-logo-wrap,
    .imb-imoveis .imb-imoveis-hero__content .imb-brand-logo-wrap,
    .imb-imoveis-venda .imb-imoveis-venda-hero__content .imb-brand-logo-wrap,
    .imb-imoveis-aluguel .imb-imoveis-aluguel-hero__content .imb-brand-logo-wrap,
    .imb-contato .imb-contato-hero__content .imb-brand-logo-wrap,
    .imb-politica .imb-politica-hero__content .imb-brand-logo-wrap,
    .imb-termos .imb-termos-hero__content .imb-brand-logo-wrap {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 900px) {
    .imb-home .imb-brand-logo--home .imb-brand-logo {
        max-width: 220px;
    }

    .imb-guia .imb-brand-logo--inner .imb-brand-logo,
    .imb-cadastro .imb-brand-logo--inner .imb-brand-logo,
    .imb-anuncie .imb-brand-logo--inner .imb-brand-logo,
    .imb-publicacoes .imb-brand-logo--inner .imb-brand-logo,
    .imb-eventos .imb-brand-logo--inner .imb-brand-logo,
    .imb-o-que-fazer .imb-brand-logo--inner .imb-brand-logo,
    .imb-onde-comer .imb-brand-logo--inner .imb-brand-logo,
    .imb-onde-ficar .imb-brand-logo--inner .imb-brand-logo,
    .imb-servicos .imb-brand-logo--inner .imb-brand-logo,
    .imb-comercio-local .imb-brand-logo--inner .imb-brand-logo,
    .imb-imoveis .imb-brand-logo--inner .imb-brand-logo,
    .imb-imoveis-venda .imb-brand-logo--inner .imb-brand-logo,
    .imb-imoveis-aluguel .imb-brand-logo--inner .imb-brand-logo,
    .imb-contato .imb-brand-logo--inner .imb-brand-logo,
    .imb-politica .imb-brand-logo--inner .imb-brand-logo,
    .imb-termos .imb-brand-logo--inner .imb-brand-logo {
        max-width: 180px;
    }
}

@media (max-width: 640px) {
    .imb-home .imb-brand-logo-wrap,
    .imb-guia .imb-brand-logo-wrap,
    .imb-cadastro .imb-brand-logo-wrap,
    .imb-anuncie .imb-brand-logo-wrap,
    .imb-publicacoes .imb-brand-logo-wrap,
    .imb-eventos .imb-brand-logo-wrap,
    .imb-o-que-fazer .imb-brand-logo-wrap,
    .imb-onde-comer .imb-brand-logo-wrap,
    .imb-onde-ficar .imb-brand-logo-wrap,
    .imb-servicos .imb-brand-logo-wrap,
    .imb-comercio-local .imb-brand-logo-wrap,
    .imb-imoveis .imb-brand-logo-wrap,
    .imb-imoveis-venda .imb-brand-logo-wrap,
    .imb-imoveis-aluguel .imb-brand-logo-wrap,
    .imb-contato .imb-brand-logo-wrap,
    .imb-politica .imb-brand-logo-wrap,
    .imb-termos .imb-brand-logo-wrap {
        width: min(100%, 190px);
        margin-bottom: 1rem;
    }

    .imb-home .imb-brand-logo--home .imb-brand-logo {
        max-width: 180px;
    }

    .imb-guia .imb-brand-logo--inner .imb-brand-logo,
    .imb-cadastro .imb-brand-logo--inner .imb-brand-logo,
    .imb-anuncie .imb-brand-logo--inner .imb-brand-logo,
    .imb-publicacoes .imb-brand-logo--inner .imb-brand-logo,
    .imb-eventos .imb-brand-logo--inner .imb-brand-logo,
    .imb-o-que-fazer .imb-brand-logo--inner .imb-brand-logo,
    .imb-onde-comer .imb-brand-logo--inner .imb-brand-logo,
    .imb-onde-ficar .imb-brand-logo--inner .imb-brand-logo,
    .imb-servicos .imb-brand-logo--inner .imb-brand-logo,
    .imb-comercio-local .imb-brand-logo--inner .imb-brand-logo,
    .imb-imoveis .imb-brand-logo--inner .imb-brand-logo,
    .imb-imoveis-venda .imb-brand-logo--inner .imb-brand-logo,
    .imb-imoveis-aluguel .imb-brand-logo--inner .imb-brand-logo,
    .imb-contato .imb-brand-logo--inner .imb-brand-logo,
    .imb-politica .imb-brand-logo--inner .imb-brand-logo,
    .imb-termos .imb-brand-logo--inner .imb-brand-logo {
        max-width: 150px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .imb-home *,
    .imb-home *::before,
    .imb-home *::after,
    .imb-guia *,
    .imb-guia *::before,
    .imb-guia *::after,
    .imb-cadastro *,
    .imb-cadastro *::before,
    .imb-cadastro *::after,
    .imb-anuncie *,
    .imb-anuncie *::before,
    .imb-anuncie *::after,
    .imb-publicacoes *,
    .imb-publicacoes *::before,
    .imb-publicacoes *::after,
    .imb-eventos *,
    .imb-eventos *::before,
    .imb-eventos *::after,
    .imb-o-que-fazer *,
    .imb-o-que-fazer *::before,
    .imb-o-que-fazer *::after,
    .imb-onde-comer *,
    .imb-onde-comer *::before,
    .imb-onde-comer *::after,
    .imb-onde-ficar *,
    .imb-onde-ficar *::before,
    .imb-onde-ficar *::after,
    .imb-servicos *,
    .imb-servicos *::before,
    .imb-servicos *::after,
    .imb-comercio-local *,
    .imb-comercio-local *::before,
    .imb-comercio-local *::after,
    .imb-imoveis *,
    .imb-imoveis *::before,
    .imb-imoveis *::after,
    .imb-imoveis-venda *,
    .imb-imoveis-venda *::before,
    .imb-imoveis-venda *::after,
    .imb-imoveis-aluguel *,
    .imb-imoveis-aluguel *::before,
    .imb-imoveis-aluguel *::after,
    .imb-contato *,
    .imb-contato *::before,
    .imb-contato *::after,
    .imb-politica *,
    .imb-politica *::before,
    .imb-politica *::after,
    .imb-termos *,
    .imb-termos *::before,
    .imb-termos *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }

    .imb-home.imb-js .imb-reveal,
    .imb-guia.imb-js .imb-reveal,
    .imb-cadastro.imb-js .imb-reveal,
    .imb-anuncie.imb-js .imb-reveal,
    .imb-publicacoes.imb-js .imb-reveal,
    .imb-eventos.imb-js .imb-reveal,
    .imb-o-que-fazer.imb-js .imb-reveal,
    .imb-onde-comer.imb-js .imb-reveal,
    .imb-onde-ficar.imb-js .imb-reveal,
    .imb-servicos.imb-js .imb-reveal,
    .imb-comercio-local.imb-js .imb-reveal,
    .imb-imoveis.imb-js .imb-reveal,
    .imb-imoveis-venda.imb-js .imb-reveal,
    .imb-imoveis-aluguel.imb-js .imb-reveal,
    .imb-contato.imb-js .imb-reveal,
    .imb-politica.imb-js .imb-reveal,
    .imb-termos.imb-js .imb-reveal {
        opacity: 1;
        transform: none;
    }
}
