/* Qualidade mínima compartilhada pelos modelos, preservando a identidade de cada um */
html {
    scroll-padding-top: 88px;
}

body {
    min-width: 280px;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

:where(main, section, article, header, footer) > * { min-width:0; }
:where(h1,h2,h3,p) { overflow-wrap:break-word; }
:where(.exp-grid,.exp-content,.exp-image) { min-width:0; }
@media(max-width:480px){.exp-grid{grid-template-columns:minmax(0,1fr)!important}.hero h1{overflow-wrap:anywhere}.nav{gap:12px}.nav .brand{font-size:15px}}
html[data-template="clinica"] .visual::after{right:12px;max-width:calc(100% - 24px)}
html[data-template="clinica"] .visual{background:linear-gradient(0deg,#17352f33,#ffffff11),url('../assets/images/modelos/fdb22780331ccc37f4.webp?cv=031526bf1c4b') center/cover}
html[data-template="imobiliaria"] .hero{background:linear-gradient(0deg,#0b0e11e6,#0b0e114d),url('../assets/images/modelos/186f389ccd2b3ca8a8.webp?cv=77d0c5d02928') center/cover}
html[data-template="imobiliaria"] .search select{width:100%;min-height:44px;border:0;background:transparent;color:#173047;font:inherit}
html[data-template="imobiliaria"] .properties a[hidden]{display:none}
@media(max-width:480px){html[data-template="arquitetura"] .service-item{grid-template-columns:35px minmax(0,1fr);gap:12px}html[data-template="arquitetura"] .service-item p{grid-column:2}}

*,
*::before,
*::after {
    box-sizing: border-box;
}

img,
video,
svg {
    max-width: 100%;
}

button,
input,
select,
textarea {
    max-width: 100%;
    font: inherit;
}

:where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 4px;
}

header {
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

footer a {
    text-underline-offset: 4px;
}

@media (max-width: 720px) {
    section {
        scroll-margin-top: 76px;
    }

    h1 {
        overflow-wrap: anywhere;
    }

    a,
    button {
        min-height: 42px;
    }
}

@media (max-width: 360px) {
    body {
        overflow-wrap: anywhere;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
