/* =========================================================
   Variáveis globais e identidade visual
   ========================================================= */
:root {
    --turquesa:#078f90;
    --turquesa-escuro:#066f71;
    --turquesa-profundo:#07595f;
    --menta:#e9f9f8;
    --creme:#fff9f3;
    --texto:#153d40;
    --texto-suave:#657073;
    --borda:#dce8e6;
    --sombra:0 10px 30px rgba(19,74,75,.08);
    --fonte-titulo:"Cormorant Garamond",Georgia,serif;
    --fonte-corpo:"Manrope",Arial,sans-serif;
    --fonte-script:"Allura",cursive;
    --largura:1190px
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth;
    overflow-x:hidden
}

body {
    margin:0;
    overflow-x:hidden;
    color:var(--texto);
    background:#fff;
    font-family:var(--fonte-corpo);
    font-size:16px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased
}

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

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

button,input {
    font:inherit
}

ion-icon {
    pointer-events:none
}

.container-site {
    max-width:var(--largura)
}

.pular-conteudo {
    position:fixed;
    left:16px;
    top:-100px;
    z-index:9999;
    background:var(--turquesa-profundo);
    color:#fff;
    padding:10px 14px;
    border-radius:8px;
    transition:.2s
}

.pular-conteudo:focus {
    top:14px
}

/* =========================================================
   Barra superior e cabeçalho
   ========================================================= */
.barra-superior {
    height:30px;
    display:flex;
    align-items:center;
    background:linear-gradient(90deg,#087c7e,#078f90);
    color:#fff;
    font-size:12px;
    letter-spacing:.01em
}

.barra-superior a {
    color:#fff
}

.barra-superior ion-icon {
    font-size:15px
}

.cabecalho {
    position:sticky;
    top:0;
    z-index:1030;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid rgba(11,95,98,.06);
    backdrop-filter:blur(12px);
    transition:box-shadow .25s ease
}

.cabecalho.com-sombra {
    box-shadow:0 7px 24px rgba(18,70,71,.08)
}

.cabecalho-conteudo {
    min-height:96px;
    gap:22px
}

.marca {
    min-width:258px;
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:var(--turquesa-profundo)
}

.marca img {
    width:76px;
    height:76px;
    object-fit:contain
}

.marca-nome {
    font-family:var(--fonte-titulo);
    font-size:33px;
    font-weight:600;
    line-height:.82;
    letter-spacing:-.03em
}

.navegacao-desktop {
    flex:1;
    justify-content:center;
    gap:25px
}

.navegacao-desktop .nav-link {
    position:relative;
    border:0;
    background:transparent;
    padding:37px 0 30px;
    color:#30393a;
    font-size:13px;
    font-weight:500
}

.navegacao-desktop .nav-link:hover,.navegacao-desktop .nav-link.ativo {
    color:var(--turquesa)
}

.navegacao-desktop .nav-link.ativo::after {
    content:"";
    position:absolute;
    left:0;
    bottom:27px;
    width:100%;
    height:2px;
    background:var(--turquesa);
    border-radius:10px
}

.dropdown-toggle::after {
    margin-left:.35em;
    vertical-align:.15em
}

.dropdown-menu {
    padding:9px;
    border-radius:14px;
    min-width:210px
}

.dropdown-item {
    border-radius:10px;
    padding:9px 11px;
    font-size:13px
}

.dropdown-item:hover {
    background:var(--menta);
    color:var(--turquesa-profundo)
}

.acoes-cabecalho {
    gap:8px
}

.botao-icone,.botao-menu-mobile {
    position:relative;
    place-items:center;
    width:38px;
    height:38px;
    border:0;
    background:transparent;
    color:#183f43;
    border-radius:50%;
    transition:.2s ease
}

.botao-icone:hover,.botao-menu-mobile:hover {
    background:var(--menta);
    color:var(--turquesa)
}

.botao-icone ion-icon,.botao-menu-mobile ion-icon {
    font-size:23px
}

.contador {
    position:absolute;
    right:3px;
    top:1px;
    min-width:15px;
    height:15px;
    padding:0 3px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:var(--turquesa);
    color:#fff;
    font-size:9px;
    font-weight:800;
    border:2px solid white
}

.botao-whatsapp-topo {
    margin-left:6px;
    align-items:center;
    gap:8px;
    padding:12px 18px;
    border-radius:12px;
    background:var(--turquesa);
    color:#fff;
    font-size:14px;
    font-weight:700;
    box-shadow:0 8px 18px rgba(7,143,144,.18);
    transition:.25s ease
}

.botao-whatsapp-topo:hover {
    background:var(--turquesa-escuro);
    color:#fff;
    transform:translateY(-1px)
}

.botao-whatsapp-topo ion-icon {
    font-size:21px
}

/* =========================================================
   Busca e navegação mobile
   ========================================================= */
.painel-busca {
    position:fixed;
    z-index:1025;
    left:0;
    right:0;
    top:126px;
    background:#fff;
    box-shadow:var(--sombra);
    transform:translateY(-130%);
    opacity:0;
    visibility:hidden;
    transition:.25s ease
}

.painel-busca.aberto {
    transform:translateY(0);
    opacity:1;
    visibility:visible
}

.painel-busca-conteudo {
    height:82px;
    display:flex;
    align-items:center;
    gap:14px
}

.painel-busca-conteudo>ion-icon {
    font-size:24px;
    color:var(--turquesa)
}

.painel-busca input {
    width:100%;
    border:0;
    outline:none;
    font-size:15px;
    color:var(--texto)
}

.painel-busca button {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:0;
    background:transparent;
    color:var(--texto)
}

.painel-busca button ion-icon {
    font-size:24px
}

.menu-mobile {
    width:min(88vw,360px)
}

.menu-mobile .offcanvas-header {
    border-bottom:1px solid var(--borda)
}

.menu-mobile .offcanvas-header strong {
    font-family:var(--fonte-titulo);
    color:var(--turquesa-profundo);
    font-size:24px
}

.lista-menu-mobile {
    display:grid
}

.lista-menu-mobile a {
    padding:15px 3px;
    border-bottom:1px solid #edf1f1;
    font-size:15px;
    font-weight:600
}

.botao-whatsapp-mobile {
    margin-top:24px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:9px;
    padding:13px 14px;
    border-radius:12px;
    background:var(--turquesa);
    color:#fff;
    font-weight:700
}

/* =========================================================
   Seção principal (Hero)
   ========================================================= */
.hero {
    background:linear-gradient(90deg,#fffaf6 0%,#fff9f3 56%,#f8ede3 100%);
    overflow:hidden
}

.hero-container {
    min-height:445px;
    display:grid;
    grid-template-columns:44% 56%;
    align-items:stretch;
    padding-left:0;
    padding-right:0
}

.hero-texto {
    position:relative;
    z-index:2;
    align-self:center;
    padding:35px 30px 34px 14px
}

.selo-hero {
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 15px;
    margin-bottom:13px;
    border-radius:999px;
    background:#d9f6f1;
    color:#087c7e;
    font-size:11px;
    font-weight:800;
    letter-spacing:.045em
}

.hero h1 {
    margin:0;
    font-family:var(--fonte-titulo);
    color:#07595f;
    font-size:clamp(49px,4.7vw,67px);
    font-weight:700;
    line-height:.82;
    letter-spacing:-.035em
}

.hero h1 span {
    display:inline-block;
    white-space:nowrap
}

.hero h1 em {
    display:inline-block;
    margin-top:9px;
    font-family:var(--fonte-script);
    font-size:1.12em;
    font-weight:400;
    line-height:.78;
    color:var(--turquesa);
    letter-spacing:.01em
}

.hero p {
    margin:23px 0 12px;
    max-width:455px;
    color:#566467;
    font-size:13px;
    line-height:1.68
}

.local-hero {
    display:flex;
    align-items:center;
    gap:7px;
    color:var(--turquesa);
    font-size:13px;
    font-weight:700
}

.local-hero ion-icon {
    font-size:18px
}

.hero-acoes {
    margin-top:24px;
    display:flex;
    gap:14px;
    flex-wrap:wrap
}

.btn-site {
    min-height:45px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 20px;
    border-radius:10px;
    font-size:13px;
    font-weight:700;
    border:1.5px solid transparent;
    transition:.25s ease
}

.btn-principal {
    background:var(--turquesa);
    color:#fff;
    box-shadow:0 8px 18px rgba(7,143,144,.14)
}

.btn-principal:hover {
    background:var(--turquesa-escuro);
    color:#fff;
    transform:translateY(-2px)
}

.btn-principal ion-icon {
    font-size:20px
}

.btn-secundario {
    background:rgba(255,255,255,.72);
    color:var(--turquesa-profundo);
    border-color:#5cb0b0
}

.btn-secundario:hover {
    background:var(--turquesa);
    border-color:var(--turquesa);
    color:#fff;
    transform:translateY(-2px)
}

.hero-imagem {
    height:445px;
    overflow:hidden
}

.hero-imagem img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center
}

.secao {
    padding:42px 0 52px
}

.cabecalho-secao h2,.cabecalho-inspiracao h2,.visite h2,.fale-conosco h2 {
    margin:0;
    font-family:var(--fonte-titulo);
    font-size:32px;
    font-weight:700;
    color:#07595f;
    line-height:1
}

.cabecalho-secao h2 {
    display:flex;
    align-items:center;
    gap:10px
}

.fio-decorativo {
    position:relative;
    display:inline-block;
    width:56px;
    height:20px
}

.fio-decorativo::before {
    content:"";
    position:absolute;
    left:0;
    top:9px;
    width:100%;
    height:1px;
    background:#5fb8b7
}

.fio-decorativo::after {
    content:"";
    position:absolute;
    left:16px;
    top:4px;
    width:10px;
    height:10px;
    border:1px solid #5fb8b7;
    border-radius:50%;
    background:#fff
}

.cabecalho-secao p,.cabecalho-inspiracao p {
    margin:7px 0 0;
    color:#687779;
    font-size:12px
}

.categorias-linha {
    display:grid;
    gap:16px;
    margin-top:20px
}

.categorias-linha-5 {
    grid-template-columns:repeat(5,minmax(0,1fr))
}

.categorias-linha-4 {
    max-width:900px;
    margin-left:auto;
    margin-right:auto;
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-top:20px
}

.cartao-categoria {
    overflow:hidden;
    min-width:0;
    border:1px solid #dce8e6;
    background:#fff;
    border-radius:12px;
    box-shadow:0 3px 10px rgba(24,75,76,.025);
    transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease
}

.cartao-categoria:hover {
    transform:translateY(-6px);
    box-shadow:0 14px 27px rgba(17,86,88,.10);
    border-color:#b9ddda
}

.cartao-categoria>img {
    width:100%;
    aspect-ratio:1.22/1;
    object-fit:cover
}

.cartao-categoria-corpo {
    display:grid;
    grid-template-columns:34px 1fr;
    align-items:start;
    gap:7px;
    padding:12px 10px 13px
}

.cartao-categoria-corpo>ion-icon {
    margin-top:1px;
    color:var(--turquesa);
    font-size:27px
}

.cartao-categoria h3 {
    margin:0 0 2px;
    font-family:var(--fonte-titulo);
    color:#07595f;
    font-size:18px;
    font-weight:700;
    line-height:1
}

.cartao-categoria p {
    margin:0;
    color:#657073;
    font-size:9.7px;
    line-height:1.35
}

/* =========================================================
   Diferenciais
   ========================================================= */
.diferenciais {
    position:relative;
    padding:29px 0 34px;
    background:linear-gradient(90deg,#e7f8f7,#e1f5f4,#e9f9f8)
}

.diferenciais h2 {
    margin:0 0 25px;
    text-align:center;
    font-family:var(--fonte-titulo);
    color:#07595f;
    font-size:31px;
    font-weight:700
}

.grade-diferenciais {
    display:grid;
    grid-template-columns:repeat(4,1fr)
}

.item-diferencial {
    position:relative;
    padding:0 34px;
    text-align:center
}

.item-diferencial+.item-diferencial::before {
    content:"";
    position:absolute;
    left:0;
    top:17px;
    bottom:10px;
    width:1px;
    background:rgba(29,136,137,.23)
}

.icone-diferencial {
    width:54px;
    height:54px;
    margin:0 auto 10px;
    display:grid;
    place-items:center;
    border:1px solid #76bdbc;
    border-radius:50%;
    color:var(--turquesa);
    background:rgba(255,255,255,.25)
}

.icone-diferencial ion-icon {
    font-size:29px
}

.item-diferencial h3 {
    margin:0 0 5px;
    font-family:var(--fonte-titulo);
    font-size:18px;
    font-weight:700;
    color:#07595f
}

.item-diferencial p {
    max-width:220px;
    margin:0 auto;
    color:#59696b;
    font-size:10px;
    line-height:1.45
}

.coracao-divisor {
    position:absolute;
    left:50%;
    bottom:-16px;
    z-index:3;
    width:35px;
    height:35px;
    transform:translateX(-50%);
    display:grid;
    place-items:center;
    background:#fff;
    border-radius:50%;
    color:#72b9b7
}

.coracao-divisor ion-icon {
    font-size:26px
}

/* =========================================================
   Inspiração / Galeria
   ========================================================= */
.inspiracao {
    padding-top:42px;
    padding-bottom:34px
}

.cabecalho-inspiracao {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:19px
}

.galeria-inspiracao {
    display:grid;
    grid-template-columns:1.05fr 1.28fr 1.28fr 1.2fr 1.12fr;
    gap:9px
}

.galeria-inspiracao figure {
    margin:0;
    overflow:hidden;
    border-radius:8px;
    height:135px;
    background:#f2f2f2
}

.galeria-inspiracao img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease
}

.galeria-inspiracao figure:hover img {
    transform:scale(1.06)
}

/* =========================================================
   Contato e localização
   ========================================================= */
.contato {
    padding:18px 0;
    background:linear-gradient(90deg,#ddf5f3,#eaf9f8)
}

.contato-grid {
    display:grid;
    grid-template-columns:1fr 1.75fr 1fr;
    align-items:center;
    gap:24px
}

.visite h2,.fale-conosco h2 {
    font-size:26px
}

.visite p {
    margin:11px 0 0;
    display:flex;
    gap:8px;
    color:#59696b;
    font-size:10px;
    line-height:1.45
}

.visite ion-icon {
    flex:0 0 auto;
    margin-top:1px;
    font-size:17px;
    color:var(--turquesa)
}

.mapa {
    height:127px;
    overflow:hidden;
    border-radius:2px;
    background:#fff;
    box-shadow:0 3px 15px rgba(18,75,76,.08)
}

.mapa iframe {
    width:100%;
    height:100%;
    border:0
}

.numero-whatsapp {
    margin-top:7px;
    display:flex;
    align-items:center;
    gap:7px;
    color:#07595f;
    font-family:var(--fonte-titulo);
    font-size:25px;
    font-weight:700;
    line-height:1
}

.numero-whatsapp:hover {
    color:var(--turquesa)
}

.numero-whatsapp ion-icon {
    font-size:26px;
    color:var(--turquesa)
}

.fale-conosco p {
    margin:8px 0;
    color:#5d696b;
    font-size:10px;
    line-height:1.4
}

.redes-sociais {
    display:flex;
    gap:8px
}

.redes-sociais a {
    width:29px;
    height:29px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:var(--turquesa);
    transition:.2s
}

.redes-sociais a:hover {
    transform:translateY(-2px);
    background:var(--turquesa-profundo)
}

.redes-sociais ion-icon {
    font-size:17px
}

/* =========================================================
   Rodapé
   ========================================================= */
.rodape {
    background:linear-gradient(90deg,#057a7d,#078f90 50%,#057377);
    color:#fff
}

.rodape-grid {
    display:grid;
    grid-template-columns:1.35fr .8fr .8fr 1.35fr;
    gap:36px;
    padding-top:24px;
    padding-bottom:22px
}

.rodape-marca {
    display:flex;
    align-items:center;
    gap:13px
}

.rodape-marca img {
    flex:0 0 76px;
    width:76px;
    height:76px;
    object-fit:contain;
    filter:saturate(.85) brightness(1.12)
}

.rodape-marca p,.newsletter p {
    margin:0;
    color:rgba(255,255,255,.88);
    font-size:9.6px;
    line-height:1.55
}

.coluna-rodape h2,.newsletter h2 {
    margin:0 0 8px;
    font-size:12px;
    font-weight:800;
    color:#fff
}

.coluna-rodape {
    display:flex;
    flex-direction:column;
    gap:4px
}

.coluna-rodape a {
    width:fit-content;
    color:rgba(255,255,255,.88);
    font-size:9.5px
}

.coluna-rodape a:hover {
    color:#fff;
    text-decoration:underline
}

.campo-newsletter {
    height:34px;
    margin-top:9px;
    display:flex;
    overflow:hidden;
    border-radius:8px;
    background:#fff
}

.campo-newsletter input {
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    padding:0 11px;
    font-size:9.5px;
    color:#415153
}

.campo-newsletter button {
    width:40px;
    border:0;
    background:#fff;
    color:var(--turquesa);
    display:grid;
    place-items:center
}

.campo-newsletter button:hover {
    background:var(--menta)
}

.campo-newsletter ion-icon {
    font-size:17px
}

.rodape-base {
    background:#fff;
    color:#5f7779;
    font-size:8.5px;
    padding:9px 0
}

.rodape-base ion-icon {
    vertical-align:-1px;
    color:var(--turquesa)
}

/* =========================================================
   Elementos flutuantes, feedback e animações
   ========================================================= */
.whatsapp-flutuante {
    position:fixed;
    right:max(20px,env(safe-area-inset-right));
    bottom:max(20px,env(safe-area-inset-bottom));
    z-index:1040;
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#21c768;
    color:#fff;
    box-shadow:0 12px 24px rgba(9,99,51,.23)
}

.whatsapp-flutuante ion-icon {
    font-size:28px
}

.toast-site {
    position:fixed;
    left:50%;
    bottom:28px;
    z-index:2000;
    transform:translate(-50%,25px);
    max-width:calc(100vw - 32px);
    padding:11px 16px;
    border-radius:10px;
    background:#103f43;
    color:#fff;
    font-size:12px;
    opacity:0;
    visibility:hidden;
    transition:.25s ease;
    box-shadow:var(--sombra)
}

.toast-site.mostrar {
    transform:translate(-50%,0);
    opacity:1;
    visibility:visible
}

.reveal {
    opacity:0;
    transform:translateY(22px);
    transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.25,1)
}

.reveal.revelado {
    opacity:1;
    transform:none
}

.reveal-delay-1 {
    transition-delay:.09s
}

.reveal-delay-2 {
    transition-delay:.16s
}

/* =========================================================
   Responsividade
   ========================================================= */
@media(max-width:1199.98px) {
    :root {
        --largura:1050px
    }
    .cabecalho-conteudo {
        min-height:86px
    }
    .marca {
        min-width:220px
    }
    .marca img {
        width:66px;
        height:66px
    }
    .marca-nome {
        font-size:29px
    }
    .navegacao-desktop {
        gap:19px
    }
    .navegacao-desktop .nav-link {
        padding-top:33px;
        padding-bottom:27px
    }
    .navegacao-desktop .nav-link.ativo::after {
        bottom:24px
    }
    .hero-container {
        min-height:414px
    }
    .hero-imagem {
        height:414px
    }
    .hero h1 {
        font-size:clamp(47px,5.2vw,60px)
    }
}

@media(max-width:991.98px) {
    .barra-superior {
        height:28px
    }
    .cabecalho-conteudo {
        min-height:76px
    }
    .marca {
        min-width:auto;
        gap:8px
    }
    .marca img {
        width:56px;
        height:56px
    }
    .marca-nome {
        font-size:25px
    }
    .painel-busca {
        top:104px
    }
    .hero-container {
        max-width:none;
        grid-template-columns:1fr 1fr;
        min-height:410px
    }
    .hero-texto {
        padding-left:28px
    }
    .hero h1 {
        font-size:49px
    }
    .hero h1 span {
        white-space:normal
    }
    .hero-imagem {
        height:410px
    }
    .categorias-linha-5 {
        grid-template-columns:repeat(3,1fr)
    }
    .categorias-linha-4 {
        max-width:none;
        grid-template-columns:repeat(2,1fr)
    }
    .grade-diferenciais {
        grid-template-columns:repeat(2,1fr);
        gap:24px 0
    }
    .item-diferencial:nth-child(3)::before {
        display:none
    }
    .galeria-inspiracao {
        grid-template-columns:repeat(3,1fr)
    }
    .galeria-inspiracao figure {
        height:170px
    }
    .contato-grid {
        grid-template-columns:1fr 1.5fr
    }
    .fale-conosco {
        grid-column:1/-1;
        display:grid;
        grid-template-columns:auto auto 1fr auto;
        align-items:center;
        gap:14px
    }
    .fale-conosco p {
        margin:0
    }
    .rodape-grid {
        grid-template-columns:1.5fr 1fr 1fr
    }
    .newsletter {
        grid-column:1/-1;
        max-width:460px
    }
}

@media(max-width:767.98px) {
    .barra-superior .container {
        justify-content:center!important
    }
    .barra-superior .container>div {
        display:none!important
    }
    .barra-superior a {
        font-size:10px
    }
    .cabecalho-conteudo {
        min-height:70px
    }
    .marca img {
        width:51px;
        height:51px
    }
    .marca-nome {
        font-size:22px
    }
    .painel-busca {
        top:98px
    }
    .hero {
        background:#fff9f4
    }
    .hero-container {
        display:flex;
        flex-direction:column;
        padding:0
    }
    .hero-texto {
        order:1;
        width:100%;
        padding:36px 22px 28px;
        text-align:center
    }
    .hero-imagem {
        order:2;
        width:100%;
        height:min(63vw,420px);
        min-height:275px
    }
    .selo-hero {
        margin-bottom:15px
    }
    .hero h1 {
        font-size:clamp(44px,12vw,59px);
        line-height:.85
    }
    .hero p {
        margin:20px auto 12px;
        max-width:510px;
        font-size:12.5px
    }
    .local-hero {
        justify-content:center
    }
    .hero-acoes {
        justify-content:center
    }
    .secao {
        padding:38px 0 44px
    }
    .cabecalho-secao h2,.cabecalho-inspiracao h2 {
        font-size:30px
    }
    .categorias-linha-5,.categorias-linha-4 {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:13px;
        margin-top:16px
    }
    .cartao-categoria>img {
        aspect-ratio:1.16/1
    }
    .cartao-categoria-corpo {
        grid-template-columns:29px 1fr;
        padding:10px 8px 11px
    }
    .cartao-categoria-corpo>ion-icon {
        font-size:23px
    }
    .cartao-categoria h3 {
        font-size:16px
    }
    .cartao-categoria p {
        font-size:9px
    }
    .diferenciais h2 {
        font-size:28px
    }
    .item-diferencial {
        padding:0 20px
    }
    .galeria-inspiracao {
        grid-template-columns:repeat(2,1fr)
    }
    .galeria-inspiracao figure {
        height:155px
    }
    .galeria-inspiracao figure:last-child {
        grid-column:1/-1;
        height:180px
    }
    .contato {
        padding:28px 0
    }
    .contato-grid {
        grid-template-columns:1fr;
        gap:23px
    }
    .mapa {
        height:240px;
        order:2
    }
    .visite {
        order:1
    }
    .fale-conosco {
        order:3;
        grid-column:auto;
        display:block
    }
    .fale-conosco p {
        margin:8px 0
    }
    .rodape-grid {
        grid-template-columns:1fr 1fr;
        gap:28px 22px
    }
    .rodape-marca,.newsletter {
        grid-column:1/-1
    }
    .rodape-marca {
        max-width:420px
    }
    .newsletter {
        max-width:none
    }
}

@media(max-width:479.98px) {
    .container-site {
        padding-left:18px;
        padding-right:18px
    }
    .marca img {
        width:47px;
        height:47px
    }
    .marca-nome {
        font-size:20px
    }
    .acoes-cabecalho {
        gap:2px
    }
    .botao-menu-mobile {
        width:42px;
        height:42px
    }
    .hero-texto {
        padding-left:18px;
        padding-right:18px
    }
    .hero h1 {
        font-size:clamp(39px,12vw,53px)
    }
    .hero h1 em {
        font-size:1.06em
    }
    .hero-acoes {
        display:grid;
        grid-template-columns:1fr;
        gap:10px
    }
    .btn-site {
        width:100%
    }
    .hero-imagem {
        height:72vw;
        min-height:260px
    }
    .cabecalho-secao h2 {
        font-size:28px
    }
    .fio-decorativo {
        width:40px
    }
    .categorias-linha-5,.categorias-linha-4 {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px
    }
    .cartao-categoria {
        border-radius:10px
    }
    .cartao-categoria>img {
        aspect-ratio:1.05/1
    }
    .cartao-categoria-corpo {
        display:block;
        padding:9px 8px 10px;
        text-align:center
    }
    .cartao-categoria-corpo>ion-icon {
        margin-bottom:2px;
        font-size:22px
    }
    .cartao-categoria h3 {
        font-size:15px
    }
    .cartao-categoria p {
        font-size:8.6px
    }
    .grade-diferenciais {
        grid-template-columns:1fr;
        gap:0
    }
    .item-diferencial {
        padding:18px 24px
    }
    .item-diferencial+.item-diferencial::before {
        left:25%;
        right:25%;
        top:0;
        bottom:auto;
        width:auto;
        height:1px
    }
    .item-diferencial:nth-child(3)::before {
        display:block
    }
    .diferenciais h2 {
        padding:0 12px;
        margin-bottom:7px
    }
    .cabecalho-inspiracao {
        display:block
    }
    .galeria-inspiracao {
        grid-template-columns:1fr 1fr;
        gap:8px
    }
    .galeria-inspiracao figure {
        height:132px
    }
    .galeria-inspiracao figure:last-child {
        height:150px
    }
    .mapa {
        height:220px
    }
    .numero-whatsapp {
        font-size:22px
    }
    .rodape-grid {
        grid-template-columns:1fr
    }
    .rodape-marca,.newsletter {
        grid-column:auto
    }
    .rodape-marca {
        align-items:flex-start
    }
    .coluna-rodape {
        border-top:1px solid rgba(255,255,255,.12);
        padding-top:16px
    }
    .whatsapp-flutuante {
        width:48px;
        height:48px
    }
}

@media(max-width:339.98px) {
    .marca-nome {
        display:none
    }
    .categorias-linha-5,.categorias-linha-4,.galeria-inspiracao {
        grid-template-columns:1fr
    }
    .galeria-inspiracao figure,.galeria-inspiracao figure:last-child {
        grid-column:auto;
        height:185px
    }
}

@media(prefers-reduced-motion:reduce) {
    *,*::before,*::after {
        scroll-behavior:auto!important;
        animation-duration:.001ms!important;
        transition-duration:.001ms!important
    }
    .reveal {
        opacity:1!important;
        transform:none!important
    }
}

@media (min-width: 992px) {
    .hero-container {
        grid-template-columns:47% 53%
    }
    .hero h1 {
        font-size:clamp(48px,4.2vw,60px);
        line-height:.86
    }
    .hero-texto {
        padding-right:20px
    }
}

@media (min-width: 992px) {
    .hero h1 {
        font-size:clamp(46px,3.8vw,55px);
        line-height:.9
    }
    .hero h1 span {
        white-space:nowrap
    }
    .hero-texto {
        min-width:0;
        overflow:hidden
    }
}

@media (max-width: 767.98px) {
    .categorias-linha-5 .cartao-categoria:last-child {
        grid-column:1/-1;
        width:calc(50% - 6.5px);
        justify-self:center
    }
}

@media (max-width: 479.98px) {
    .categorias-linha-5 .cartao-categoria:last-child {
        width:calc(50% - 5px)
    }
}

@media (max-width: 339.98px) {
    .categorias-linha-5 .cartao-categoria:last-child {
        grid-column:auto;
        width:100%
    }
}
