/*
Theme Name: Advance Garantidora
Theme URI: https://advancecobrancas.com.br/
Author: AMSoluções Web
Description: Tema WordPress personalizado da Advance Garantidora, convertido a partir do site institucional.
Version: 1.1.0
Text Domain: advance-garantidora
*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}


/* Tipografia da marca */
.font-prata {
    font-family: 'Prata', Georgia, serif;
}

.font-morganite {
    font-family: 'Morganite', 'Arial Narrow', Arial, sans-serif;
}

body {
    font-family: 'Lato', Arial, Helvetica, sans-serif;
    background: #fff;
    color: #181818;
    overflow-x: hidden;
}

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

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

.container {
    width: min(1450px, calc(100% - 80px));
    margin: 0 auto;
}

.hero {
    position: relative;
    min-height: 800px;
    background-image: url("https://amsolucoesweb.com.br/advance/imagens/banner.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 12px;
    background: #f9b914;
    clip-path: polygon(0 35%, 73% 35%, 78% 100%, 100% 100%, 100% 65%, 80% 65%, 75% 0, 0 0);
    z-index: 1;
}

.header {
    position: relative;
    z-index: 5;
    padding-top: 42px;
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.logo {
    width: 285px;
    flex-shrink: 0;
}

.navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.navigation a {
    position: relative;
    transition: color .2s ease;
    color:#FFF;
}

.navigation a:hover {
    color: #e9a900;
}

.navigation a.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -17px;
    height: 3px;
    background: #f9b914;
}

.boleto-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 140px;
    height: 44px;
    padding: 0 20px;
    border-radius: 30px;
    background: #f9b914;
    color: #111;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.boleto-button:hover {
    background: #e6a500;
}

.hero-content {
    position: relative;
    z-index: 3;
    width: 520px;
    padding-top: 80px;
}

.hero-title {
    font-family: 'Morganite', 'Arial Narrow', Arial, sans-serif;
    font-weight: 400;
    font-stretch: condensed;
    font-size: clamp(60px, 5vw, 72px);
    line-height: 1.01;
}

.highlight {
    color: #f2ac00;
}

.title-line {
    width: 87px;
    height: 3px;
    margin: 34px 0 25px;
    background: #f6b516;
}

.hero-description {
    max-width: 445px;
    color: #525252;
    font-size: 18px;
    line-height: 1.55;
}

.hero-description strong {
    color: #111;
    font-weight: 800;
}

.services-section {
    position: relative;
    z-index: 10;
    margin-top: -105px;
    padding-bottom: 60px;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.service-card {
    position: relative;
    min-height: 310px;
    padding: 26px 32px 28px;
    background: rgba(255,255,255,.97);
    border-radius: 11px;
    box-shadow: 0 6px 30px rgba(0,0,0,.04);
}

.service-icon {
    width: 78px;
    height: 78px;
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f7f7f7;
}

.service-icon svg {
    width: 48px;
    height: 48px;
}

.service-card h2 {
    margin-bottom: 15px;
    font-size: 22px;
    line-height: 1.17;
    font-weight: 800;
}

.service-card p {
    color: #282828;
    font-size: 15px;
    line-height: 1.5;
}

.card-line {
    position: absolute;
    left: 32px;
    bottom: 28px;
    width: 40px;
    height: 3px;
    background: #f9b914;
}

.mobile-menu-button {
    display: none;
    width: 42px;
    height: 42px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.mobile-menu-button span {
    display: block;
    width: 28px;
    height: 3px;
    margin: 5px auto;
    border-radius: 3px;
    background: #111;
}

@media (max-width: 1280px) {
    .container {
        width: min(1180px, calc(100% - 50px));
    }

    .logo {
        width: 240px;
    }

    .navigation {
        gap: 26px;
        font-size: 13px;
    }

    .hero-content {
        width: 470px;
    }

    .hero-title {
        font-size: 56px;
    }
}

@media (max-width: 1050px) {
    .header-inner {
        position: relative;
    }

    .mobile-menu-button {
        display: block;
    }

    .navigation {
        display: none;
        position: absolute;
        top: 60px;
        right: 0;
        width: min(340px, 90vw);
        padding: 22px;
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        border-radius: 12px;
        background: rgba(255,255,255,.98);
        box-shadow: 0 18px 50px rgba(0,0,0,.12);
    }

    .navigation.open {
        display: flex;
    }

    .navigation a.active::after {
        display: none;
    }

    .hero {
        min-height: 760px;
        background-position: 58% center;
    }

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .services-section {
        margin-top: -70px;
    }
}

@media (max-width: 767px) {
    .container {
        width: calc(100% - 36px);
    }

    .hero {
        min-height: 810px;
        background-image: url("https://amsolucoesweb.com.br/advance/imagens/bannermob.png");
        background-position: center top;
        background-size: cover;
    }

    .hero::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background: linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.05) 55%, rgba(255,255,255,.45) 100%);
    }

    .hero::after {
        display: none;
    }

    .header {
        padding-top: 25px;
    }

    .logo {
        width: 210px;
    }

    .hero-content {
        width: 100%;
        padding-top: 55px;
    }

    .hero-title {
        max-width: 350px;
        font-size: 55px;
        line-height: 1.04;
        letter-spacing: 0px;
    }

    .hero-description {
        max-width: 155px;
        font-size: 16px;
        line-height: 1.5;
    }

    .title-line {
        width: 70px;
        margin: 28px 0 20px;
    }

    .services-section {
        margin-top: -20px;
        padding-bottom: 35px;
    }

    .services-grid {
        display: flex;
        gap: 15px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 15px;
    }

    .services-grid::-webkit-scrollbar {
        height: 5px;
    }

    .services-grid::-webkit-scrollbar-thumb {
        border-radius: 10px;
        background: #ddd;
    }

    .service-card {
        flex: 0 0 86%;
        min-height: 270px;
        padding: 24px;
        scroll-snap-align: start;
    }

    .service-icon {
        width: 68px;
        height: 68px;
    }

    .service-card h2 {
        font-size: 21px;
    }

    .service-card p {
        font-size: 15px;
    }

    .card-line {
        left: 24px;
        bottom: 23px;
    }
}

@media (max-width: 480px) {
    .hero {
        min-height: 760px;
    }

    .logo {
        width: 185px;
    }

    .hero-content {
        padding-top: 45px;
    }

    .hero-title {
        max-width: 300px;
        font-size: 41px;
    }

    .hero-description {
        max-width: 155px;
        font-size: 15px;
    }

    .service-card {
        flex-basis: 92%;
    }
}

/* Home preto no menu; demais links permanecem brancos no desktop */
.navigation .home-link {
    color: #111;
}

.navigation .boleto-button {
    color: #111;
}

/* Ícones dos serviços em PNG */
.service-icon img {
    width: 78px;
    height: 78px;
    object-fit: contain;
}

/* =========================
   VANTAGENS
========================= */
.advantages-section {
    position: relative;
    overflow: hidden;
    padding: 80px 0 72px;
    background: linear-gradient(180deg, #fbfaf8 0%, #ffffff 100%);
}

.advantages-effect {
    position: absolute;
    top: -55px;
    right: 0;
    width: min(42vw, 650px);
    height: 440px;
    background: url("https://amsolucoesweb.com.br/advance/imagens/efeitologo.png") no-repeat right top / contain;
    pointer-events: none;
    z-index: 0;
}

.advantages-container {
    position: relative;
    z-index: 1;
}

.advantages-heading {
    padding: 0 18px 30px;
}

.advantages-title {
    color: #5c5c64;
    font-size: clamp(58px, 6.2vw, 98px);
    line-height: .96;
    font-weight: 400;
    letter-spacing: -3px;
}

.advantages-title span {
    color: #f4b41b;
}

.advantages-subtitle {
    margin-top: 24px;
    color: #303030;
    font-size: 22px;
    line-height: 1.35;
    font-weight: 400;
}

.advantages-divider {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 2px;
    margin: 0 0 28px;
    background: #e6a915;
}

.advantages-cards-wrap {
    padding: 0 18px;
}

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

.advantage-card {
    min-height: 250px;
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 18px;
    padding: 24px 24px 22px;
    background: rgba(255, 255, 255, .94);
    border-radius: 15px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, .055);
}

.advantage-icon {
    width: 92px;
    height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.advantage-icon img {
    width: 92px;
    height: 92px;
    object-fit: contain;
}

.advantage-content h3 {
    color: #202020;
    font-size: 24px;
    line-height: 1.02;
    font-weight: 900;
}

.advantage-line {
    width: 24px;
    height: 2px;
    margin: 18px 0 20px;
    background: #e3a80c;
}

.advantage-content p {
    color: #333;
    font-size: 16px;
    line-height: 1.45;
}

.advantage-content ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.advantage-content li {
    position: relative;
    margin: 0 0 6px;
    padding-left: 19px;
    color: #333;
    font-size: 14px;
    line-height: 1.25;
}

.advantage-content li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #e3a80c;
    font-weight: 900;
}

@media (max-width: 1280px) {
    .advantages-title {
        font-size: clamp(56px, 6.6vw, 82px);
    }

    .advantages-subtitle {
        font-size: 20px;
    }

    .advantage-card {
        grid-template-columns: 78px 1fr;
        gap: 15px;
        padding: 21px 18px;
    }

    .advantage-icon,
    .advantage-icon img {
        width: 78px;
        height: 78px;
    }

    .advantage-content h3 {
        font-size: 21px;
    }

    .advantage-content p {
        font-size: 14px;
    }
}

@media (max-width: 1050px) {
    .navigation a,
    .navigation .home-link,
    .navigation .boleto-button {
        color: #111;
    }

    .advantages-section {
        padding-top: 65px;
    }

    .advantages-effect {
        width: 52vw;
        height: 360px;
    }

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

@media (max-width: 767px) {
    .advantages-section {
        padding: 52px 0 45px;
    }

    .advantages-effect {
        top: -10px;
        right: -75px;
        width: 330px;
        height: 260px;
        opacity: .72;
    }

    .advantages-heading,
    .advantages-cards-wrap {
        padding-left: 0;
        padding-right: 0;
    }

    .advantages-heading {
        padding-bottom: 25px;
    }

    .advantages-title {
        max-width: 590px;
        font-size: clamp(45px, 13vw, 68px);
        line-height: .98;
        letter-spacing: -2px;
    }

    .advantages-subtitle {
        margin-top: 20px;
        font-size: 17px;
    }

    .advantages-subtitle br {
        display: none;
    }

    .advantages-divider {
        margin-bottom: 22px;
    }

    .advantages-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .advantage-card {
        min-height: 0;
        grid-template-columns: 82px 1fr;
        padding: 20px;
    }

    .advantage-icon,
    .advantage-icon img {
        width: 82px;
        height: 82px;
    }

    .advantage-content h3 {
        font-size: 22px;
    }

    .advantage-line {
        margin: 14px 0 14px;
    }

    .advantage-content p {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .advantages-effect {
        right: -120px;
        width: 300px;
    }

    .advantages-title {
        font-size: 45px;
    }

    .advantage-card {
        grid-template-columns: 72px 1fr;
        gap: 14px;
        padding: 18px 16px;
    }

    .advantage-icon,
    .advantage-icon img {
        width: 72px;
        height: 72px;
    }

    .advantage-content h3 {
        font-size: 20px;
    }
}


/* =========================
   PRESENÇA NACIONAL
========================= */
.presence-section {
    position: relative;
    overflow: hidden;
    padding: 88px 0 72px;
    background:
        radial-gradient(circle at 35% 52%, rgba(247, 235, 208, .22), transparent 24%),
        linear-gradient(180deg, #fff 0%, #fdfcfb 100%);
}

.presence-section::before {
    content: "";
    position: absolute;
    left: -130px;
    top: 220px;
    width: 310px;
    height: 420px;
    border: 1px solid rgba(224, 166, 31, .15);
    border-radius: 50%;
    transform: rotate(-15deg);
    pointer-events: none;
}

.presence-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(620px, 1fr);
    gap: 86px;
    align-items: start;
}

.presence-left {
    position: relative;
    z-index: 1;
}

.presence-kicker {
    color: #c98d16;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .34em;
    text-transform: uppercase;
}

.presence-kicker-line {
    width: 58px;
    height: 2px;
    margin: 20px 0 24px;
    background: #e4b23d;
}

.presence-title {
    max-width: 650px;
    color: #34363a;
    font-size: clamp(42px, 3vw, 70px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -2.4px;
}

.presence-title span {
    color: #c88a13;
}

.presence-description {
    margin-top: 22px;
    color: #4e4e4e;
    font-size: 17px;
    line-height: 1.55;
}

.presence-map-wrap {
    position: relative;
    min-height: 460px;
    margin-top: 2px;
}

.presence-map {
    position: relative;
    z-index: 3;
    width: min(600px, 94%);
    margin: 0 auto;
    transform: translateY(-3px);
    filter: drop-shadow(0 18px 18px rgba(118, 82, 16, .16));
}

.presence-dots {
    position: absolute;
    z-index: 1;
    left: 70px;
    top: 92px;
    width: 330px;
    height: 300px;
    opacity: .5;
    background-image: radial-gradient(#c9952e 1.8px, transparent 1.9px);
    background-size: 11px 11px;
    mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.65) 58%, transparent 100%);
}

.presence-corner {
    position: absolute;
    z-index: 2;
    left: 34px;
    bottom: 18px;
    width: 170px;
    height: 86px;
    border-left: 1.5px solid #dba42f;
    border-bottom: 1.5px solid #dba42f;
    border-radius: 0 0 0 18px;
}

.presence-right {
    position: relative;
    padding-top: 20px;
}

.presence-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.presence-card {
    position: relative;
    min-height: 316px;
    padding: 58px 34px 40px;
    border-radius: 4px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 8px 40px rgba(86, 72, 45, .025);
}

.presence-card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: #daa231;
}

.presence-card-icon {
    width: 74px;
    height: 74px;
    object-fit: contain;
}

.presence-card-copy {
    margin-top: 28px;
}

.presence-card-copy-bottom {
    margin-top: 52px;
}

.presence-card h3 {
    margin: 0 0 14px;
    color: #c78a17;
    font-family: 'Morganite', 'Arial Narrow', Arial, sans-serif;
    font-size: 48px;
    font-weight: 500;
    line-height: .95;
    letter-spacing: .2px;
}

.presence-card p {
    color: #4e4e4e;
    font-size: 17px;
    line-height: 1.45;
}

.presence-centers span {
    padding: 0 6px;
    color: #d49a20;
}

.presence-brand {
    display: flex;
    justify-content: flex-end;
    margin-top: 48px;
}

.presence-brand img {
    width: 200px;
}

@media (max-width: 1280px) {
    .presence-layout {
        grid-template-columns: minmax(0, .95fr) minmax(560px, 1.05fr);
        gap: 46px;
    }

    .presence-card {
        padding-left: 28px;
        padding-right: 28px;
    }

    .presence-card h3 {
        font-size: 42px;
    }
}

@media (max-width: 1050px) {
    .presence-section {
        padding-top: 72px;
    }

    .presence-layout {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .presence-title {
        max-width: 720px;
    }

    .presence-map-wrap {
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
    }

    .presence-right {
        padding-top: 0;
    }
}

@media (max-width: 767px) {
    .presence-section {
        padding: 56px 0 48px;
    }

    .presence-kicker {
        font-size: 12px;
    }

    .presence-title {
        font-size: clamp(42px, 12vw, 60px);
        letter-spacing: -1.5px;
    }

    .presence-description {
        font-size: 16px;
    }

    .desktop-only {
        display: none;
    }

    .presence-map-wrap {
        min-height: 350px;
    }

    .presence-map {
        width: 100%;
    }

    .presence-dots {
        left: 8px;
        top: 78px;
        width: 65%;
        height: 220px;
    }

    .presence-corner {
        left: 0;
        bottom: 4px;
        width: 120px;
        height: 60px;
    }

    .presence-cards {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .presence-card {
        min-height: 0;
        padding: 28px 24px 30px;
    }

    .presence-card-icon {
        width: 66px;
        height: 66px;
    }

    .presence-card-copy,
    .presence-card-copy-bottom {
        margin-top: 22px;
    }

    .presence-card h3 {
        font-size: 40px;
    }

    .presence-card p {
        font-size: 16px;
    }

    .presence-brand {
        justify-content: center;
        margin-top: 34px;
    }
}

@media (max-width: 480px) {
    .presence-map-wrap {
        min-height: 300px;
    }

    .presence-card h3 {
        font-size: 36px;
    }

    .presence-brand img {
        width: 170px;
    }
}

/* =====================================================
   PERGUNTAS FREQUENTES
===================================================== */
.faq-section {
    position: relative;
    overflow: hidden;
    padding: 74px 0 66px;
    background:
        radial-gradient(circle at 15% 35%, rgba(236,228,215,.22), transparent 26%),
        linear-gradient(180deg, #fbfaf8 0%, #fff 52%, #faf8f5 100%);
}

.faq-layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 34% 66%;
    gap: 48px;
    align-items: start;
}

.faq-intro {
    padding: 50px 18px 0 18px;
    text-align: center;
}

.faq-emblem-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    color: #cf982f;
}

.faq-emblem-row span {
    width: 110px;
    height: 1px;
    background: #d9b263;
}

.faq-emblem-row b {
    width: 48px;
    height: 56px;
    display: grid;
    place-items: center;
    font-family: 'Prata', Georgia, serif;
    font-weight: 400;
    font-size: 20px;
    border: 1px solid #cf982f;
    clip-path: polygon(50% 0, 88% 15%, 88% 66%, 50% 100%, 12% 66%, 12% 15%);
}

.faq-title {
    margin-top: 30px;
    font-size: clamp(55px, 3vw, 100px);
    line-height: .95;
    font-weight: 400;
    color: #101319;
}

.faq-title-rule {
    position: relative;
    width: 185px;
    height: 24px;
    margin: 22px auto 18px;
}

.faq-title-rule::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 11px;
    height: 1px;
    background: #d6a447;
}

.faq-title-rule span {
    position: absolute;
    left: 50%;
    top: 6px;
    width: 10px;
    height: 10px;
    transform: translateX(-50%) rotate(45deg);
    background: #fff;
    border: 1px solid #d6a447;
}

.faq-lead {
    font-size: 20px;
    line-height: 1.45;
    color: #363a42;
}

.faq-copy {
    margin-top: 28px;
    font-size: 16px;
    line-height: 1.45;
    color: #565c66;
}

.faq-help-card {
    margin: 44px auto 0;
    max-width: 390px;
    padding: 22px 24px;
    display: grid;
    grid-template-columns: 64px 1fr 30px;
    align-items: center;
    gap: 18px;
    text-align: left;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(210,165,84,.35);
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(55,44,25,.07);
}

.faq-help-icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid rgba(210,165,84,.3);
    color: #cb942c;
    font-size: 24px;
}

.faq-help-card strong {
    display: block;
    font-size: 17px;
    color: #2b2c31;
}

.faq-help-card span:not(.faq-help-arrow) {
    display: block;
    margin-top: 7px;
    color: #626670;
    font-size: 14px;
}

.faq-help-arrow {
    color: #cb942c;
    font-size: 32px;
}

.faq-list {
    position: relative;
    padding-left: 24px;
}

.faq-list::before {
    content: "";
    position: absolute;
    left: -16px;
    top: 8px;
    bottom: 8px;
    width: 25px;
    border-left: 1px solid #d6a447;
    border-top: 1px solid #d6a447;
    border-bottom: 1px solid #d6a447;
    border-radius: 24px 0 0 24px;
}

.faq-item {
    margin-bottom: 14px;
    overflow: hidden;
    border: 1px solid rgba(31,31,31,.08);
    border-radius: 16px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 7px 20px rgba(43,35,22,.08);
}

.faq-question {
    width: 100%;
    min-height: 72px;
    padding: 16px 24px 16px 16px;
    display: grid;
    grid-template-columns: 54px 1fr 36px;
    align-items: center;
    gap: 14px;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: #1b1d22;
    text-align: left;
}

.faq-number {
    width: 50px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(213,171,91,.23);
    border-radius: 14px;
    color: #c78e24;
    font-family: 'Prata', Georgia, serif;
    font-size: 18px;
    box-shadow: inset 0 0 18px rgba(216,180,110,.05);
}

.faq-question-text {
    font-size: 22px;
    line-height: 1.25;
}

.faq-toggle {
    justify-self: end;
    color: #c78e24;
    font-size: 30px;
    line-height: 1;
    font-weight: 300;
}

.faq-answer {
    display: none;
    padding: 0 76px 24px 84px;
}

.faq-item.open .faq-answer {
    display: block;
}

.faq-answer p {
    max-width: 740px;
    font-size: 15px;
    line-height: 1.55;
    color: #535964;
}

.faq-dots {
    position: absolute;
    width: 90px;
    height: 90px;
    background-image: radial-gradient(#d9ab58 1.5px, transparent 1.5px);
    background-size: 18px 18px;
    opacity: .65;
}

.faq-dots-top { left: 20px; top: 28px; }
.faq-dots-bottom { right: 22px; bottom: 30px; }

.faq-rings {
    position: absolute;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(214,164,71,.26);
    border-radius: 50%;
}

.faq-rings::before,
.faq-rings::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(214,164,71,.18);
    border-radius: 50%;
}

.faq-rings::before { inset: 22px; }
.faq-rings::after { inset: 44px; }
.faq-rings-top { right: -150px; top: -125px; }
.faq-rings-bottom { left: -175px; bottom: -150px; }

/* =====================================================
   DEPOIMENTOS
===================================================== */
.testimonials-section {
    position: relative;
    overflow: hidden;
    padding: 58px 0 68px;
    background: linear-gradient(180deg, #fff 0%, #fbfaf8 100%);
}

.testimonials-inner {
    position: relative;
    z-index: 2;
}

.testimonials-header {
    text-align: center;
}

.testimonials-header h2 {
    font-size: clamp(66px, 6vw, 96px);
    line-height: 1;
    font-weight: 400;
    color: #111318;
}

.testimonials-rule {
    position: relative;
    width: 180px;
    height: 24px;
    margin: 18px auto 8px;
}

.testimonials-rule::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 11px;
    height: 1px;
    background: #d5a042;
}

.testimonials-rule span {
    position: absolute;
    left: 50%;
    top: 6px;
    width: 10px;
    height: 10px;
    transform: translateX(-50%) rotate(45deg);
    background: #e5a800;
}

.testimonials-header p {
    font-size: 28px;
    color: #202228;
}

.testimonials-grid {
    margin-top: 44px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.testimonial-card {
    position: relative;
    min-height: 430px;
    padding: 36px 42px 34px;
    border-radius: 18px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 13px 34px rgba(43,35,22,.07);
}

.testimonial-card::after {
    content: "";
    position: absolute;
    right: 22px;
    top: 30px;
    width: 105px;
    height: 95px;
    border-top: 1px solid #d5a042;
    border-right: 1px solid #d5a042;
    border-radius: 0 22px 0 0;
}

.testimonial-quote-row {
    display: flex;
    align-items: center;
    gap: 16px;
}

.testimonial-quote {
    color: #e2a019;
    font-family: Georgia, serif;
    font-size: 78px;
    line-height: .72;
}

.testimonial-line {
    width: 84px;
    height: 1px;
    background: #d5a042;
}

.testimonial-text {
    margin-top: 30px;
    max-width: 355px;
    font-size: 20px;
    line-height: 1.65;
    color: #1f2227;
}

.testimonial-small-line {
    width: 44px;
    height: 2px;
    margin: 28px 0 22px;
    background: #d9a12d;
}

.testimonial-card strong {
    display: block;
    font-size: 18px;
    color: #15171b;
}

.testimonial-card > span:not(.testimonial-quote) {
    display: block;
    margin-top: 6px;
    color: #4f535b;
    font-size: 16px;
}

.testimonial-stars {
    margin-top: 24px;
    color: #e9a400;
    font-size: 25px;
    letter-spacing: 4px;
}

.testimonials-cta-wrap {
    margin-top: 46px;
    display: flex;
    justify-content: center;
}

.testimonials-cta {
    min-width: 370px;
    padding: 18px 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    border: 1px solid #d99c28;
    border-radius: 12px;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: #1a1b1f;
    background: rgba(255,255,255,.5);
}

.testimonials-cta span {
    color: #d99c28;
    font-size: 34px;
    line-height: 1;
}

.testimonials-dots {
    position: absolute;
    width: 96px;
    height: 72px;
    background-image: radial-gradient(#d6a447 1.8px, transparent 1.8px);
    background-size: 18px 18px;
    opacity: .55;
}

.testimonials-dots-top { left: 28px; top: 28px; }
.testimonials-dots-bottom { right: 25px; bottom: 30px; }

.testimonials-circle {
    position: absolute;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(220,164,59,.55);
    border-radius: 50%;
}

.testimonials-circle span {
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #e2a100;
}

.testimonials-circle-top { right: -130px; top: -115px; }
.testimonials-circle-top span { left: 58px; bottom: 0; }
.testimonials-circle-bottom { left: -165px; bottom: -180px; }
.testimonials-circle-bottom span { right: 26px; top: 44px; }

@media (max-width: 1050px) {
    .faq-layout {
        grid-template-columns: 1fr;
    }

    .faq-intro {
        padding-top: 0;
    }

    .faq-list {
        padding-left: 0;
    }

    .faq-list::before {
        display: none;
    }

    .testimonials-grid {
        grid-template-columns: 1fr;
        max-width: 760px;
        margin-left: auto;
        margin-right: auto;
    }

    .testimonial-card {
        min-height: 0;
    }
}

@media (max-width: 767px) {
    .faq-section {
        padding: 48px 0;
    }

    .faq-emblem-row span {
        width: 70px;
    }

    .faq-title {
        font-size: 62px;
    }

    .faq-lead {
        font-size: 18px;
    }

    .faq-help-card {
        grid-template-columns: 52px 1fr 24px;
        padding: 18px;
    }

    .faq-help-icon {
        width: 52px;
        height: 52px;
    }

    .faq-question {
        grid-template-columns: 46px 1fr 28px;
        gap: 10px;
        padding: 14px;
    }

    .faq-number {
        width: 44px;
        height: 42px;
        font-size: 15px;
    }

    .faq-question-text {
        font-size: 17px;
    }

    .faq-answer {
        padding: 0 18px 20px 70px;
    }

    .testimonials-section {
        padding: 48px 0 56px;
    }

    .testimonials-header h2 {
        font-size: 58px;
    }

    .testimonials-header p {
        font-size: 22px;
    }

    .testimonials-grid {
        margin-top: 34px;
    }

    .testimonial-card {
        padding: 28px 26px 30px;
    }

    .testimonial-text {
        font-size: 18px;
    }

    .testimonials-cta {
        min-width: 0;
        width: 100%;
        font-size: 15px;
    }
}


/* =====================================================
   RODAPÉ
===================================================== */
.site-footer {
    position: relative;
    overflow: hidden;
    background: #45413d;
    color: #fff;
}

.footer-watermark {
    position: absolute;
    right: -95px;
    top: 115px;
    width: 340px;
    height: 500px;
    opacity: .055;
    background: url("https://amsolucoesweb.com.br/advance/imagens/efeitologo.png") no-repeat center / contain;
    filter: grayscale(1) brightness(5);
    pointer-events: none;
}

.footer-container {
    position: relative;
    z-index: 1;
    padding-top: 54px;
    padding-bottom: 32px;
}

.footer-top-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1.18fr;
    gap: 0;
}

.footer-unit,
.footer-service {
    min-height: 310px;
    padding: 0 36px;
    border-right: 1px solid rgba(214, 169, 82, .22);
}

.footer-unit:first-child { padding-left: 0; }
.footer-service { border-right: 0; padding-right: 0; }

.footer-icon {
    width: 34px;
    height: 34px;
    margin-bottom: 18px;
    color: #d6a64b;
}

.footer-icon svg { width: 100%; height: 100%; }

.site-footer h3,
.site-footer h4 {
    color: #e1ae53;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.site-footer h3 {
    margin-bottom: 16px;
    font-size: 18px;
    font-weight: 800;
}

.site-footer h4 {
    margin: 24px 0 10px;
    font-size: 13px;
    font-weight: 800;
}

.footer-address {
    min-height: 78px;
    font-family: 'Prata', Georgia, serif;
    font-size: 17px;
    line-height: 1.45;
    color: #fff;
}

.site-footer a {
    display: block;
    color: #fff;
    font-size: 15px;
    line-height: 1.55;
    transition: color .2s ease;
}

.site-footer a:hover { color: #e4b153; }

.footer-mini-line {
    display: block;
    width: 28px;
    height: 2px;
    margin: 22px 0 0;
    background: #b99047;
}

.footer-central-phone {
    margin: 6px 0 24px;
    font-size: 50px !important;
    line-height: .9 !important;
    letter-spacing: .02em;
}

.footer-divider {
    height: 1px;
    margin: 34px 0 30px;
    background: rgba(212, 163, 73, .65);
}

.footer-bottom-grid {
    display: grid;
    grid-template-columns: 1.15fr 1.25fr .85fr;
    align-items: center;
}

.footer-brand,
.footer-apps {
    min-height: 110px;
    display: flex;
    align-items: center;
    border-right: 1px solid rgba(255,255,255,.12);
}

.footer-brand img {
    width: 360px;
    max-height: 100px;
    object-fit: contain;
    object-position: left center;
}

.footer-apps {
    padding: 0 44px;
    display: block;
}

.footer-apps h3,
.footer-social h3 { margin-bottom: 20px; }

.footer-store-buttons {
    display: flex;
    gap: 16px;
}

.store-button {
    min-width: 190px;
    padding: 8px 14px;
    display: flex !important;
    align-items: center;
    gap: 12px;
    border: 1px solid #c99b42;
    border-radius: 6px;
}

.store-button small,
.store-button strong { display: block; }
.store-button small { font-size: 10px; line-height: 1.15; }
.store-button strong { margin-top: 2px; font-size: 20px; line-height: 1; }
.store-symbol { font-size: 26px; }

.footer-social { padding-left: 44px; }
.footer-social-links { display: flex; gap: 16px; }
.footer-social-links a {
    width: 46px;
    height: 46px;
    display: grid !important;
    place-items: center;
    border: 1px solid #c99b42;
    border-radius: 50%;
    color: #d9aa50;
    font-weight: 800;
    text-transform: lowercase;
}

.footer-copy {
    position: relative;
    z-index: 1;
    border-top: 1px solid rgba(255,255,255,.14);
}

.footer-copy-inner {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: rgba(255,255,255,.78);
    font-size: 13px;
}

@media (max-width: 1200px) {
    .footer-top-grid { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
    .footer-unit, .footer-service { padding: 0 28px; }
    .footer-unit:nth-child(2) { border-right: 0; }
    .footer-unit:nth-child(3) { padding-left: 0; }
    .footer-bottom-grid { grid-template-columns: 1fr; gap: 26px; }
    .footer-brand, .footer-apps { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); padding-bottom: 24px; }
    .footer-apps, .footer-social { padding-left: 0; }
}

@media (max-width: 767px) {
    .footer-container { padding-top: 42px; }
    .footer-top-grid { grid-template-columns: 1fr; }
    .footer-unit, .footer-service {
        min-height: 0;
        padding: 0 0 30px !important;
        margin-bottom: 30px;
        border-right: 0;
        border-bottom: 1px solid rgba(214,169,82,.18);
    }
    .footer-address { min-height: 0; }
    .footer-central-phone { font-size: 44px !important; }
    .footer-divider { margin-top: 6px; }
    .footer-brand img { width: 280px; }
    .footer-store-buttons { flex-direction: column; }
    .store-button { width: 100%; max-width: 280px; }
    .footer-copy-inner {
        padding: 18px 0;
        flex-direction: column;
        align-items: flex-start;
        min-height: 0;
    }
}

/* =====================================================
   NOTÍCIAS
===================================================== */
.news-section {
    position: relative;
    overflow: hidden;
    padding: 84px 0 72px;
    background:
        radial-gradient(circle at 3% 22%, rgba(218,170,77,.08), transparent 20%),
        linear-gradient(180deg, #fff 0%, #fdfcf9 100%);
}

.news-section::before,
.news-section::after {
    content: "";
    position: absolute;
    pointer-events: none;
}
.news-section::before {
    left: -110px;
    top: 20px;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(213,164,69,.22);
    border-radius: 50%;
    box-shadow: 20px 0 0 -19px rgba(213,164,69,.18), 40px 0 0 -39px rgba(213,164,69,.16), 60px 0 0 -59px rgba(213,164,69,.14);
}
.news-section::after {
    right: -30px;
    bottom: 28px;
    width: 110px;
    height: 110px;
    opacity: .45;
    background-image: radial-gradient(#d7a746 2px, transparent 2px);
    background-size: 17px 17px;
}

.news-inner { position: relative; z-index: 2; }
.section-heading.centered { text-align: center; }
.section-heading h2 {
    color: #17191e;
    font-size: clamp(52px, 5vw, 82px);
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -2px;
}
.section-heading p {
    margin-top: 16px;
    color: #44484f;
    font-size: 19px;
}
.section-heading-line {
    display: block;
    width: 54px;
    height: 2px;
    margin: 28px auto 44px;
    background: #d99d22;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.news-card {
    display: block;
    overflow: hidden;
    border-radius: 10px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 12px 34px rgba(57,43,18,.09);
    transition: transform .25s ease, box-shadow .25s ease;
}
.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 42px rgba(57,43,18,.13);
}
.news-card > img {
    width: 100%;
    aspect-ratio: 1.55 / 1;
    object-fit: cover;
}
.news-card-body { min-height: 248px; padding: 28px 26px 24px; }
.news-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #686868;
    font-size: 13px;
}
.news-meta span {
    color: #d89610;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.news-meta b { color: #aaa; font-weight: 400; }
.news-card h3 {
    margin-top: 20px;
    color: #24252a;
    font-size: 26px;
    line-height: 1.22;
    font-weight: 400;
}
.news-card-line {
    display: block;
    width: 46px;
    height: 2px;
    margin-top: 28px;
    background: #d89a1d;
}
.section-cta-wrap { text-align: center; margin-top: 38px; }
.outline-cta {
    min-width: 270px;
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    padding: 0 28px;
    border: 1px solid #d29a2a;
    border-radius: 4px;
    color: #c98713;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.outline-cta span { font-size: 24px; font-weight: 300; }

/* =====================================================
   REVISTAS
===================================================== */
.magazines-section {
    position: relative;
    overflow: hidden;
    padding: 70px 0 78px;
    background: linear-gradient(180deg, #fbfaf8 0%, #fff 100%);
}
.magazines-section::before {
    content: "";
    position: absolute;
    left: 26px;
    top: 22px;
    width: 80px;
    height: 80px;
    opacity: .35;
    background-image: radial-gradient(#d3a34c 2px, transparent 2px);
    background-size: 16px 16px;
}
.magazines-section::after {
    content: "";
    position: absolute;
    top: -150px;
    right: -150px;
    width: 330px;
    height: 330px;
    border: 1px solid rgba(210,160,63,.25);
    border-radius: 50%;
}
.magazines-inner { position: relative; z-index: 2; }
.magazines-heading { text-align: center; margin-bottom: 48px; }
.magazines-heading h2 { color: #5b5d65; }

.magazine-carousel-wrap {
    position: relative;
    padding: 0 64px;
}
.magazine-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(235px, 1fr);
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.magazine-track::-webkit-scrollbar { display: none; }
.magazine-card {
    scroll-snap-align: start;
    overflow: hidden;
    background: rgba(255,255,255,.96);
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(57,43,18,.09);
}
.magazine-card > img {
    width: calc(100% - 38px);
    margin: 22px 19px 0;
    aspect-ratio: .71 / 1;
    object-fit: cover;
    object-position: top center;
    box-shadow: 0 8px 18px rgba(0,0,0,.12);
}
.magazine-copy { padding: 24px 22px 28px; }
.magazine-copy strong,
.magazine-copy span { display: block; text-transform: uppercase; }
.magazine-copy strong { color: #d38e10; font-size: 16px; letter-spacing: .03em; }
.magazine-copy span { margin-top: 4px; color: #c07f0f; font-size: 15px; }
.magazine-copy i { display: block; width: 36px; height: 2px; margin: 16px 0; background: #d6a140; }
.magazine-copy p { color: #2d2d2d; font-size: 16px; line-height: 1.35; }
.magazine-nav {
    position: absolute;
    top: 42%;
    transform: translateY(-50%);
    z-index: 3;
    width: 48px;
    height: 56px;
    border: 1px solid #9d9d9d;
    border-radius: 5px;
    background: rgba(255,255,255,.92);
    color: #a97918;
    font-size: 40px;
    line-height: 1;
    cursor: pointer;
}
.magazine-prev { left: 0; }
.magazine-next { right: 0; }

@media (max-width: 1100px) {
    .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .magazine-track { grid-auto-columns: 40%; }
}

@media (max-width: 767px) {
    .news-section, .magazines-section { padding: 56px 0 48px; }
    .section-heading h2 { font-size: clamp(42px, 11vw, 58px); }
    .section-heading p { font-size: 17px; }
    .section-heading-line { margin-bottom: 30px; }
    .news-grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 14px;
        padding-bottom: 10px;
    }
    .news-card { flex: 0 0 86%; scroll-snap-align: start; }
    .news-card-body { min-height: 220px; }
    .news-card h3 { font-size: 23px; }
    .magazines-heading { margin-bottom: 30px; }
    .magazine-carousel-wrap { padding: 0 42px; }
    .magazine-track { grid-auto-columns: 82%; gap: 16px; }
    .magazine-nav { width: 36px; height: 48px; font-size: 32px; }
}


/* =====================================================
   NOSSAS UNIDADES
===================================================== */
.units-section {
    position: relative;
    overflow: hidden;
    padding: 72px 0 84px;
    background:
        radial-gradient(circle at 50% 15%, rgba(249,245,236,.55), transparent 38%),
        linear-gradient(180deg, #fff 0%, #fdfcfb 100%);
}

.units-inner {
    position: relative;
    z-index: 2;
}

.units-heading {
    margin-bottom: 46px;
    text-align: center;
}

.units-heading h2 {
    color: #101217;
    font-size: clamp(54px, 5.4vw, 82px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -2px;
}

.units-heading p {
    margin-top: 20px;
    color: #1f1f1f;
    font-size: 23px;
    line-height: 1.35;
}

.units-layout {
    width: min(1120px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 410px minmax(0, 1fr);
    gap: 26px;
    align-items: stretch;
}

.unit-main-card,
.unit-card {
    background: rgba(255,255,255,.92);
    box-shadow: 0 8px 25px rgba(55,45,24,.09);
}

.unit-main-card {
    min-height: 520px;
    padding: 38px 34px 34px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid rgba(216,173,64,.72);
    border-radius: 24px;
    box-shadow:
        0 0 0 5px rgba(235,213,149,.15),
        0 12px 34px rgba(55,45,24,.10);
}

.unit-main-logo {
    width: 260px;
    margin: 0 auto 34px;
}

.unit-main-copy {
    width: min(320px, 100%);
    margin: 0 auto;
}

.unit-address {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    color: #1e1e1e;
    font-size: 17px;
    line-height: 1.35;
}

.unit-invite {
    margin-top: 30px;
    color: #4d4d4d;
    font-size: 17px;
    line-height: 1.35;
    font-style: italic;
}

.unit-invite > span {
    color: #dca514;
    font-style: normal;
    margin-right: 6px;
}

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

.unit-card {
    min-height: 250px;
    padding: 28px 24px 26px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    text-align: center;
}

.unit-card h3 {
    margin-top: 18px;
    color: #16171b;
    font-size: 27px;
    font-weight: 400;
    line-height: 1.15;
}

.unit-card p {
    margin-top: 13px;
    color: #555;
    font-size: 19px;
}

.unit-pin,
.unit-pin-small {
    position: relative;
    display: inline-block;
    border: 2px solid #dda512;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
}

.unit-pin {
    width: 60px;
    height: 60px;
    border-width: 1.8px;
}

.unit-pin-small {
    flex: 0 0 auto;
    width: 21px;
    height: 21px;
    margin-top: 3px;
}

.unit-pin::after,
.unit-pin-small::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 20%;
    height: 20%;
    border: 2px solid #dda512;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.units-dots {
    position: absolute;
    z-index: 1;
    width: 86px;
    height: 86px;
    opacity: .72;
    background-image: radial-gradient(#e1ad2f 2px, transparent 2.1px);
    background-size: 14px 14px;
}

.units-dots-top { left: 26px; top: 20px; }
.units-dots-bottom { right: 25px; bottom: 28px; }

.units-ring {
    position: absolute;
    z-index: 0;
    width: 185px;
    height: 185px;
    border: 1px solid rgba(222,165,32,.7);
    border-radius: 50%;
}

.units-ring::after {
    content: "";
    position: absolute;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #e0a300;
}

.units-ring-top { right: -92px; top: -92px; }
.units-ring-top::after { left: 43px; bottom: 22px; }
.units-ring-bottom { left: -104px; bottom: -104px; }
.units-ring-bottom::after { right: 32px; top: 24px; }

@media (max-width: 1050px) {
    .units-layout {
        grid-template-columns: 1fr;
        width: min(760px, 100%);
    }

    .unit-main-card {
        min-height: 0;
        padding: 36px;
    }

    .unit-main-logo {
        width: 230px;
    }
}

@media (max-width: 767px) {
    .units-section {
        padding: 56px 0 54px;
    }

    .units-heading {
        margin-bottom: 30px;
    }

    .units-heading h2 {
        font-size: clamp(44px, 12vw, 60px);
    }

    .units-heading p {
        font-size: 17px;
    }

    .units-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .unit-main-card {
        padding: 30px 24px;
        border-radius: 18px;
    }

    .unit-main-logo {
        width: 205px;
        margin-bottom: 28px;
    }

    .unit-address,
    .unit-invite {
        font-size: 15px;
    }

    .unit-card {
        min-height: 190px;
        padding: 24px 18px;
    }

    .unit-pin {
        width: 52px;
        height: 52px;
    }

    .unit-card h3 {
        margin-top: 16px;
        font-size: 24px;
    }

    .unit-card p {
        font-size: 17px;
    }

    .units-dots {
        width: 65px;
        height: 65px;
        background-size: 12px 12px;
    }

    .units-ring {
        width: 150px;
        height: 150px;
    }
}

/* =====================================================
   PÁGINA DE SERVIÇOS
===================================================== */
.services-page-hero {
    position: relative;
    min-height: 690px;
    overflow: hidden;
    background: url("https://amsolucoesweb.com.br/advance/imagens/bannerserv.png") center center / cover no-repeat;
}

.services-page-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.92) 37%, rgba(255,255,255,.18) 70%, rgba(255,255,255,.04) 100%);
    pointer-events: none;
}

.services-page-hero .header,
.services-page-hero-content {
    position: relative;
    z-index: 2;
}

.services-page-hero-content {
    max-width: 700px;
    padding-top: 90px;
    padding-bottom: 100px;
}

.services-page-kicker,
.section-eyebrow {
    display: inline-block;
    color: #c98d16;
    font-size: 13px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .28em;
    text-transform: uppercase;
}

.services-page-hero-content h1 {
    max-width: 680px;
    margin-top: 22px;
    color: #2d3035;
    font-size: clamp(56px, 5.2vw, 86px);
    line-height: .98;
    font-weight: 400;
    letter-spacing: -2.8px;
}

.services-page-hero-content h1 span {
    color: #e3a312;
}

.services-page-hero-content > p {
    max-width: 585px;
    margin-top: 28px;
    color: #4a4d52;
    font-size: 19px;
    line-height: 1.55;
}

.services-page-cta,
.services-final-button {
    display: inline-flex;
    align-items: center;
    gap: 22px;
    margin-top: 32px;
    padding: 16px 24px;
    border: 1px solid #daa11d;
    border-radius: 4px;
    color: #272727;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: .25s ease;
}

.services-page-cta span,
.services-final-button span,
.service-text-link span {
    color: #d79b14;
    font-size: 22px;
}

.services-page-cta:hover,
.services-final-button:hover {
    background: #e1a318;
    color: #fff;
}

.services-page-cta:hover span,
.services-final-button:hover span {
    color: #fff;
}

.services-intro {
    padding: 92px 0 74px;
    background: #fff;
}

.services-intro-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 80px;
    align-items: end;
}

.services-intro h2 {
    max-width: 810px;
    margin-top: 18px;
    color: #4e5159;
    font-size: clamp(46px, 4.8vw, 74px);
    line-height: 1.02;
    font-weight: 400;
    letter-spacing: -2px;
}

.services-intro h2 span {
    color: #d99b12;
}

.services-intro-grid > p {
    padding-bottom: 8px;
    color: #53565d;
    font-size: 17px;
    line-height: 1.7;
}

.service-detail-section {
    position: relative;
    overflow: hidden;
    padding: 35px 0 105px;
    background: linear-gradient(180deg, #fbfaf8 0%, #fff 100%);
}

.service-detail-section::before {
    content: "";
    position: absolute;
    right: -110px;
    top: 160px;
    width: 480px;
    height: 480px;
    opacity: .45;
    background: url("https://amsolucoesweb.com.br/advance/imagens/efeitologo.png") center / contain no-repeat;
    pointer-events: none;
}

.service-detail-list {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 28px;
}

.service-detail-card {
    display: grid;
    grid-template-columns: 37% 63%;
    min-height: 410px;
    overflow: hidden;
    border-radius: 22px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 18px 60px rgba(70,54,27,.075);
}

.service-detail-card-reverse {
    grid-template-columns: 63% 37%;
}

.service-detail-card-reverse .service-detail-visual { order: 2; }
.service-detail-card-reverse .service-detail-content { order: 1; }

.service-detail-visual {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 100%;
    background:
        radial-gradient(circle at 50% 45%, rgba(232,176,43,.18), transparent 32%),
        linear-gradient(135deg, #f7f5f1, #fff);
}

.service-detail-visual::after {
    content: "";
    position: absolute;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(215,159,31,.25);
    border-radius: 50%;
}

.service-detail-visual img {
    position: relative;
    z-index: 2;
    width: 155px;
    height: 155px;
    object-fit: contain;
}

.service-detail-number {
    position: absolute;
    left: 28px;
    top: 24px;
    color: rgba(196,138,24,.32);
    font-family: 'Prata', Georgia, serif;
    font-size: 58px;
}

.service-detail-content {
    padding: 58px 68px 54px;
}

.service-detail-label {
    color: #cb901b;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.service-detail-content h2 {
    max-width: 700px;
    margin-top: 14px;
    color: #30333a;
    font-size: clamp(38px, 3.6vw, 58px);
    line-height: 1.05;
    font-weight: 400;
    letter-spacing: -1.6px;
}

.service-detail-content > p {
    max-width: 720px;
    margin-top: 22px;
    color: #555a62;
    font-size: 17px;
    line-height: 1.65;
}

.service-detail-content ul {
    display: grid;
    gap: 9px;
    margin-top: 24px;
    list-style: none;
}

.service-detail-content li {
    position: relative;
    padding-left: 25px;
    color: #34383e;
    font-size: 15px;
    line-height: 1.45;
}

.service-detail-content li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #d89c15;
    font-weight: 900;
}

.service-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
    color: #22252b;
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
}

.services-benefits-strip {
    padding: 58px 0;
    background: #3f3b38;
}

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

.services-benefits-grid > div {
    min-height: 110px;
    padding: 0 38px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid rgba(231,184,72,.25);
}

.services-benefits-grid > div:first-child { padding-left: 0; }
.services-benefits-grid > div:last-child { border-right: 0; }

.services-benefits-grid strong {
    color: #e0a733;
    font-family: 'Morganite', 'Arial Narrow', sans-serif;
    font-size: 48px;
    line-height: 1;
    font-weight: 500;
}

.services-benefits-grid span {
    margin-top: 10px;
    color: #f2f0ec;
    font-size: 14px;
    line-height: 1.45;
}

.services-process-section {
    padding: 105px 0;
    background: #fff;
}

.services-process-heading {
    max-width: 850px;
    margin: 0 auto 52px;
    text-align: center;
}

.services-process-heading h2 {
    margin-top: 18px;
    color: #34373d;
    font-size: clamp(42px, 4.4vw, 68px);
    line-height: 1.05;
    font-weight: 400;
}

.services-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.services-process-grid article {
    min-height: 240px;
    padding: 32px 28px;
    border: 1px solid rgba(205,161,65,.18);
    border-radius: 16px;
    background: linear-gradient(180deg,#fff,#fbfaf8);
    box-shadow: 0 10px 35px rgba(45,38,25,.04);
}

.services-process-grid article > span {
    color: #d39a20;
    font-family: 'Prata', Georgia, serif;
    font-size: 20px;
}

.services-process-grid h3 {
    margin-top: 35px;
    color: #282b30;
    font-size: 22px;
    font-weight: 900;
}

.services-process-grid p {
    margin-top: 14px;
    color: #5a5d63;
    font-size: 15px;
    line-height: 1.55;
}

.services-page-final {
    position: relative;
    overflow: hidden;
    padding: 92px 0;
    background: #f8f6f2;
}

.services-page-final-logo {
    position: absolute;
    right: -60px;
    top: -85px;
    width: 520px;
    height: 520px;
    opacity: .65;
    background: url("https://amsolucoesweb.com.br/advance/imagens/efeitologo.png") center / contain no-repeat;
}

.services-page-final-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 60px;
    align-items: center;
}

.services-page-final h2 {
    max-width: 900px;
    margin-top: 18px;
    color: #3f4248;
    font-size: clamp(40px, 4.5vw, 68px);
    line-height: 1.05;
    font-weight: 400;
}

.services-final-button {
    margin-top: 0;
    white-space: nowrap;
}

@media (max-width: 1050px) {
    .services-page-hero { min-height: 620px; }
    .services-page-hero-content { padding-top: 70px; }
    .services-page-hero .navigation a,
    .services-page-hero .navigation .home-link,
    .services-page-hero .navigation .boleto-button { color: #111; }
    .services-intro-grid { grid-template-columns: 1fr; gap: 28px; }
    .service-detail-card,
    .service-detail-card-reverse { grid-template-columns: 1fr; }
    .service-detail-card-reverse .service-detail-visual,
    .service-detail-card-reverse .service-detail-content { order: initial; }
    .service-detail-visual { min-height: 300px; }
    .services-benefits-grid { grid-template-columns: repeat(2,1fr); gap: 28px 0; }
    .services-benefits-grid > div:nth-child(2) { border-right: 0; }
    .services-process-grid { grid-template-columns: repeat(2,1fr); }
    .services-page-final-inner { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 767px) {
    .services-page-hero {
        min-height: 640px;
        background-image: url("https://amsolucoesweb.com.br/advance/imagens/bannerservmob.png");
        background-position: center top;
    }
    .services-page-overlay {
        background: linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 46%,rgba(255,255,255,.12) 100%);
    }
    .services-page-hero-content { padding-top: 54px; padding-bottom: 80px; }
    .services-page-hero-content h1 { font-size: clamp(48px, 13vw, 66px); letter-spacing: -2px; }
    .services-page-hero-content > p { font-size: 16px; max-width:250px;}
    .services-intro { padding: 60px 0 52px; }
    .services-intro h2 { font-size: clamp(42px, 12vw, 58px); letter-spacing: -1.3px; }
    .services-intro-grid > p { font-size: 16px; }
    .service-detail-section { padding: 10px 0 62px; }
    .service-detail-list { gap: 18px; }
    .service-detail-card { border-radius: 16px; }
    .service-detail-visual { min-height: 240px; }
    .service-detail-visual img { width: 125px; height: 125px; }
    .service-detail-visual::after { width: 175px; height: 175px; }
    .service-detail-number { left: 20px; top: 16px; font-size: 45px; }
    .service-detail-content { padding: 34px 24px 36px; }
    .service-detail-content h2 { font-size: 39px; }
    .service-detail-content > p { font-size: 15px; }
    .services-benefits-strip { padding: 44px 0; }
    .services-benefits-grid { grid-template-columns: 1fr; gap: 0; }
    .services-benefits-grid > div,
    .services-benefits-grid > div:first-child { padding: 24px 0; border-right: 0; border-bottom: 1px solid rgba(231,184,72,.22); }
    .services-benefits-grid > div:last-child { border-bottom: 0; }
    .services-process-section { padding: 68px 0; }
    .services-process-grid { grid-template-columns: 1fr; }
    .services-process-grid article { min-height: 0; }
    .services-page-final { padding: 65px 0; }
    .services-page-final-logo { right: -180px; width: 420px; height: 420px; }
    .services-page-final h2 { font-size: 42px; }
    .services-final-button { white-space: normal; }
}

/* =====================================================
   MARGEM GLOBAL DESKTOP
   12% em cada lado = conteúdo com 76% da largura da tela
===================================================== */
@media (min-width: 1051px) {
    .container {
        width: 76%;
        max-width: none;
        margin-left: auto;
        margin-right: auto;
    }
}

/* =====================================================
   PÁGINA E-BOOKS
===================================================== */
.ebooks-page {
    background: #fff;
}

.ebooks-hero {
    position: relative;
    overflow: hidden;
    min-height: 720px;
    background:
        radial-gradient(circle at 82% 36%, rgba(244, 180, 27, .13), transparent 24%),
        linear-gradient(135deg, #fbfaf8 0%, #fff 56%, #f7f3ea 100%);
}

.ebooks-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: #e3a412;
}

.ebooks-hero-watermark {
    position: absolute;
    right: -70px;
    top: 80px;
    width: 520px;
    height: 520px;
    opacity: .18;
    background: url("https://amsolucoesweb.com.br/advance/imagens/efeitologo.png") center / contain no-repeat;
    pointer-events: none;
}

.ebooks-header .navigation a { color: #111; }
.ebooks-header .navigation a.active { color: #d69a17; }

.ebooks-hero-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
    gap: 70px;
    align-items: center;
    padding-top: 92px;
    padding-bottom: 110px;
}

.ebooks-hero-copy { max-width: 760px; }

.section-eyebrow {
    display: inline-block;
    color: #c98d16;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.ebooks-hero-copy h1 {
    margin-top: 18px;
    color: #45474e;
    font-size: clamp(56px, 5.1vw, 82px);
    line-height: 1.02;
    font-weight: 400;
    letter-spacing: -2.8px;
}

.ebooks-hero-copy h1 span,
.ebook-feature-copy h2 span,
.ebook-download-copy h2 span,
.ebook-topics-header h2 span,
.ebook-final-inner h2 span { color: #e0a213; }

.ebooks-hero-copy > p {
    max-width: 620px;
    margin-top: 26px;
    color: #4f5258;
    font-size: 18px;
    line-height: 1.6;
}

.ebooks-hero-button,
.ebook-submit,
.ebook-final-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 54px;
    padding: 0 26px;
    border: 1px solid #dca020;
    border-radius: 8px;
    color: #2a2a2a;
    background: transparent;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: .2s ease;
}

.ebooks-hero-button { margin-top: 34px; }
.ebooks-hero-button:hover,
.ebook-final-button:hover { background: #f5b817; }

.ebooks-hero-art {
    position: relative;
    min-height: 455px;
    display: grid;
    place-items: center;
}

.ebooks-hero-art img {
    position: relative;
    z-index: 3;
    width: min(315px, 78%);
    filter: drop-shadow(0 24px 32px rgba(80, 50, 10, .18));
}

.ebooks-orbit {
    position: absolute;
    border: 1px solid rgba(218, 160, 31, .34);
    border-radius: 50%;
}
.orbit-one { width: 400px; height: 400px; }
.orbit-two { width: 300px; height: 300px; }

.ebook-feature {
    position: relative;
    padding: 105px 0 95px;
    background: #fff;
}

.ebook-feature-grid {
    display: grid;
    grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr);
    gap: 95px;
    align-items: center;
}

.ebook-cover-panel {
    position: relative;
    min-height: 560px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 22px;
    background: linear-gradient(145deg, #faf8f4, #fff);
    box-shadow: 0 16px 55px rgba(57, 47, 30, .07);
}

.ebook-cover-panel::before {
    content: "";
    position: absolute;
    inset: 22px;
    border: 1px solid rgba(217, 160, 40, .18);
    border-radius: 17px;
}

.ebook-cover-panel img {
    position: relative;
    z-index: 2;
    width: 285px;
    filter: drop-shadow(0 22px 28px rgba(76, 48, 8, .19));
}

.ebook-cover-caption {
    position: relative;
    z-index: 2;
    margin-top: 18px;
    color: #8d6a24;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ebook-cover-dots {
    position: absolute;
    top: 30px;
    left: 30px;
    width: 95px;
    height: 95px;
    opacity: .45;
    background-image: radial-gradient(#d4a238 2px, transparent 2.2px);
    background-size: 15px 15px;
}

.ebook-feature-copy h2,
.ebook-download-copy h2,
.ebook-topics-header h2,
.ebook-final-inner h2 {
    margin-top: 18px;
    color: #4a4c53;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -2px;
}

.ebook-feature-copy h2 { font-size: clamp(48px, 4.7vw, 74px); }
.ebook-feature-copy > p {
    margin-top: 20px;
    color: #4e5158;
    font-size: 17px;
    line-height: 1.65;
}
.ebook-feature-copy .ebook-lead { font-size: 20px; }

.ebook-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}
.ebook-tags span {
    padding: 9px 13px;
    border: 1px solid rgba(218, 160, 31, .3);
    border-radius: 999px;
    color: #8b6721;
    background: #fffaf0;
    font-size: 13px;
    font-weight: 700;
}

.ebook-benefits-mini {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 32px;
}
.ebook-benefits-mini > div {
    min-height: 150px;
    padding: 22px 18px;
    border-radius: 13px;
    background: #faf9f7;
}
.ebook-benefits-mini strong {
    display: block;
    margin-bottom: 14px;
    color: #d49a1c;
    font-family: 'Prata', serif;
    font-size: 24px;
    font-weight: 400;
}
.ebook-benefits-mini span { color: #4a4d53; font-size: 14px; line-height: 1.45; }

.ebook-download-section {
    position: relative;
    overflow: hidden;
    padding: 95px 0;
    background: linear-gradient(135deg, #f8f5ef 0%, #fff 60%);
}
.ebook-download-logo {
    position: absolute;
    right: -80px;
    bottom: -115px;
    width: 500px;
    height: 500px;
    opacity: .14;
    background: url("https://amsolucoesweb.com.br/advance/imagens/efeitologo.png") center / contain no-repeat;
}
.ebook-download-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 80px;
    align-items: center;
}
.ebook-download-copy h2 { font-size: clamp(44px, 4.2vw, 66px); }
.ebook-download-copy > p { margin-top: 20px; color: #555960; font-size: 17px; line-height: 1.6; }

.ebook-download-note {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 14px;
    margin-top: 28px;
    padding: 18px;
    border-left: 2px solid #dda11d;
    background: rgba(255,255,255,.75);
}
.ebook-download-note > span {
    width: 30px; height: 30px; display: grid; place-items: center;
    border-radius: 50%; background: #dda11d; color: #fff; font-weight: 900;
}
.ebook-download-note p { color: #666970; font-size: 13px; line-height: 1.5; }

.ebook-form {
    padding: 34px;
    border: 1px solid rgba(216, 170, 74, .2);
    border-radius: 20px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 20px 55px rgba(58, 48, 30, .08);
}
.ebook-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.ebook-form label > span { display: block; margin-bottom: 8px; color: #44474d; font-size: 13px; font-weight: 800; }
.ebook-form input {
    width: 100%; height: 54px; padding: 0 16px;
    border: 1px solid #dedbd5; border-radius: 9px; outline: none;
    background: #fff; color: #222; font: inherit;
}
.ebook-form input:focus { border-color: #d9a02a; box-shadow: 0 0 0 3px rgba(217,160,42,.09); }
.ebook-submit { width: 100%; margin-top: 4px; background: #f5b817; border-color: #f5b817; }
.ebook-submit:hover { background: #e7a709; }
.ebook-consent { margin-top: 14px; color: #777a80; font-size: 11px; line-height: 1.45; }

.ebook-topics-section { padding: 95px 0; }
.ebook-topics-header { max-width: 900px; margin: 0 auto 48px; text-align: center; }
.ebook-topics-header h2 { font-size: clamp(44px, 4.5vw, 70px); }
.ebook-topics-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ebook-topics-grid article {
    min-height: 260px;
    padding: 30px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 40px rgba(50, 42, 28, .06);
}
.ebook-topic-number { color: #d39a20; font-family: 'Prata', serif; font-size: 18px; }
.ebook-topics-grid h3 { margin-top: 28px; color: #33363d; font-size: 28px; line-height: 1.15; font-weight: 400; }
.ebook-topics-grid p { margin-top: 16px; color: #5b5e65; font-size: 15px; line-height: 1.55; }

.ebook-final-cta { position: relative; padding: 76px 0; background: #f8f6f2; }
.ebook-final-inner { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: center; }
.ebook-final-inner h2 { max-width: 900px; font-size: clamp(40px, 4vw, 62px); }
.ebook-final-button { white-space: nowrap; }

@media (max-width: 1050px) {
    .ebooks-hero-inner,
    .ebook-feature-grid,
    .ebook-download-grid { grid-template-columns: 1fr; }
    .ebooks-hero-art { min-height: 360px; }
    .ebook-feature-grid { gap: 50px; }
    .ebook-cover-panel { max-width: 650px; width: 100%; margin: 0 auto; }
    .ebook-download-grid { gap: 40px; }
    .ebook-final-inner { grid-template-columns: 1fr; }
    .ebooks-header .navigation a,
    .ebooks-header .navigation .home-link,
    .ebooks-header .navigation .boleto-button { color: #111; }
}

@media (max-width: 767px) {
    .ebooks-hero { min-height: 0; }
    .ebooks-hero-inner { gap: 18px; padding-top: 55px; padding-bottom: 70px; }
    .ebooks-hero-copy h1 { font-size: clamp(45px, 12.5vw, 62px); letter-spacing: -1.6px; }
    .ebooks-hero-copy > p { font-size: 16px; }
    .ebooks-hero-art { min-height: 330px; }
    .ebooks-hero-art img { width: 230px; }
    .orbit-one { width: 300px; height: 300px; }
    .orbit-two { width: 230px; height: 230px; }
    .ebook-feature { padding: 65px 0 58px; }
    .ebook-cover-panel { min-height: 440px; }
    .ebook-cover-panel img { width: 230px; }
    .ebook-feature-copy h2,
    .ebook-download-copy h2,
    .ebook-topics-header h2,
    .ebook-final-inner h2 { letter-spacing: -1.2px; }
    .ebook-feature-copy h2 { font-size: 45px; }
    .ebook-feature-copy .ebook-lead { font-size: 17px; }
    .ebook-feature-copy > p { font-size: 15px; }
    .ebook-benefits-mini { grid-template-columns: 1fr; }
    .ebook-benefits-mini > div { min-height: 0; }
    .ebook-download-section { padding: 62px 0; }
    .ebook-download-copy h2 { font-size: 42px; }
    .ebook-form { padding: 22px; }
    .ebook-form-row { grid-template-columns: 1fr; gap: 14px; }
    .ebook-topics-section { padding: 68px 0; }
    .ebook-topics-grid { grid-template-columns: 1fr; }
    .ebook-topics-grid article { min-height: 0; }
    .ebook-final-cta { padding: 58px 0; }
    .ebook-final-button { white-space: normal; }
}


/* =====================================================
   AJUSTES 15/09/2026
   ===================================================== */

/* Vantagens: topo com ícone + título; texto abaixo ocupando toda a largura */
.advantage-card {
    grid-template-columns: 92px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: start;
}

.advantage-content {
    display: contents;
}

.advantage-card .advantage-icon {
    grid-column: 1;
    grid-row: 1;
}

.advantage-card .advantage-content h3 {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    padding-top: 4px;
}

.advantage-card .advantage-line {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0 0 8px;
}

.advantage-card .advantage-content p,
.advantage-card .advantage-content ul {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 18px;
}

/* Em resoluções desktop menores, evita cards estreitos e textos espremidos */
@media (min-width: 1051px) and (max-width: 1450px) {
    .advantages-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .advantage-card {
        min-height: 230px;
        grid-template-columns: 78px minmax(0, 1fr);
        padding: 22px;
    }

    .advantage-icon,
    .advantage-icon img {
        width: 78px;
        height: 78px;
    }

    .advantage-content h3 {
        font-size: 20px;
        line-height: 1.08;
    }

    .advantage-content p,
    .advantage-content li {
        font-size: 14px;
    }
}

@media (max-width: 1050px) {
    .advantage-card {
        grid-template-columns: 74px minmax(0, 1fr);
    }

    .advantage-icon,
    .advantage-icon img {
        width: 74px;
        height: 74px;
    }

    .advantage-card .advantage-content h3 {
        font-size: 19px;
    }

    .advantage-card .advantage-content p,
    .advantage-card .advantage-content li {
        font-size: 14px;
        line-height: 1.4;
    }
}

@media (max-width: 767px) {
    .advantage-card {
        grid-template-columns: 68px minmax(0, 1fr);
        padding: 18px;
    }

    .advantage-icon,
    .advantage-icon img {
        width: 68px;
        height: 68px;
    }

    .advantage-card .advantage-content h3 {
        font-size: 18px;
        line-height: 1.08;
    }

    .advantage-card .advantage-content p,
    .advantage-card .advantage-content ul {
        margin-top: 14px;
    }
}

/* Ícone oficial na área de unidades */
.unit-pin,
.unit-pin-small {
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain;
    background: transparent !important;
    transform: none !important;
}

.unit-pin {
    width: 74px !important;
    height: 74px !important;
    margin: 0 auto 18px !important;
}

.unit-pin-small {
    width: 25px !important;
    height: 25px !important;
    flex: 0 0 25px;
}

.unit-pin::after,
.unit-pin-small::after {
    display: none !important;
}

/* Rodapé simplificado */
.footer-contacts-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
}

.footer-contact-card {
    min-height: 145px;
    padding: 0 32px;
    border-right: 1px solid rgba(214,169,82,.22);
}

.footer-contact-card:first-child { padding-left: 0; }
.footer-contact-card:last-child { border-right: 0; padding-right: 0; }

.footer-contact-card .footer-icon {
    width: auto;
    height: auto;
    margin-bottom: 13px;
    color: #d6a64b;
    font-size: 26px;
    line-height: 1;
}

.footer-contact-main {
    font-size: 23px !important;
    line-height: 1.25 !important;
    font-weight: 700;
}

.footer-email-link {
    font-size: 15px !important;
    overflow-wrap: anywhere;
}

.store-badge {
    display: block !important;
    width: 190px;
    max-width: 100%;
}

.store-badge img {
    display: block;
    width: 100%;
    height: auto;
    filter: brightness(0) invert(1);
}

@media (max-width: 1200px) {
    .footer-contacts-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 0;
    }

    .footer-contact-card {
        min-height: 120px;
        padding: 0 28px;
    }

    .footer-contact-card:nth-child(2) { border-right: 0; }
    .footer-contact-card:nth-child(3) { padding-left: 0; }
}

@media (max-width: 767px) {
    .footer-contacts-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .footer-contact-card {
        min-height: 0;
        padding: 0 0 26px !important;
        margin-bottom: 26px;
        border-right: 0;
        border-bottom: 1px solid rgba(214,169,82,.18);
    }

    .footer-contact-main {
        font-size: 21px !important;
    }

    .footer-email-link {
        font-size: 14px !important;
    }

    .footer-store-buttons {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .store-badge {
        width: 170px;
    }
}


/* =====================================================
   PÁGINA DE DOWNLOADS
   ===================================================== */

.downloads-page {
    background: #fff;
}

.downloads-hero {
    position: relative;
    overflow: hidden;
    min-height: 610px;
    background:
        radial-gradient(circle at 78% 30%, rgba(244, 180, 27, .12), transparent 24%),
        linear-gradient(135deg, #fbfaf8 0%, #fff 62%, #f8f4ec 100%);
}

.downloads-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 2px;
    background: #e4aa2a;
}

.downloads-hero-effect {
    position: absolute;
    right: -70px;
    bottom: -110px;
    width: min(48vw, 700px);
    height: 580px;
    opacity: .56;
    background: url("https://amsolucoesweb.com.br/advance/imagens/efeitologo.png") no-repeat right bottom / contain;
    pointer-events: none;
}

.downloads-header .navigation a {
    color: #292929;
}

.downloads-header .navigation .active {
    color: #c98d16;
}

.downloads-header .navigation .boleto-button {
    color: #111;
}

.downloads-hero-inner {
    position: relative;
    z-index: 2;
    max-width: none;
    padding-top: 118px;
    padding-bottom: 110px;
}

.downloads-hero-inner h1 {
    max-width: 850px;
    margin-top: 18px;
    color: #31343a;
    font-size: clamp(58px, 5.7vw, 92px);
    line-height: .98;
    font-weight: 400;
    letter-spacing: -3px;
}

.downloads-hero-inner h1 span {
    color: #e2a515;
}

.downloads-hero-inner > p {
    max-width: 690px;
    margin-top: 28px;
    color: #4f5258;
    font-size: 19px;
    line-height: 1.6;
}

.downloads-hero-button,
.downloads-source-button {
    margin-top: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    min-height: 52px;
    padding: 0 26px;
    border: 1px solid #d9a127;
    border-radius: 7px;
    color: #272727;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    transition: .2s ease;
}

.downloads-hero-button:hover,
.downloads-source-button:hover {
    background: #f5b817;
    border-color: #f5b817;
}

.downloads-intro {
    padding: 92px 0 72px;
}

.downloads-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
    gap: 80px;
    align-items: end;
}

.downloads-intro h2 {
    margin-top: 14px;
    max-width: 770px;
    color: #34363b;
    font-size: clamp(46px, 4.2vw, 68px);
    line-height: 1.05;
    font-weight: 400;
    letter-spacing: -2px;
}

.downloads-intro h2 span {
    color: #d69b1a;
}

.downloads-intro-copy p {
    color: #53565c;
    font-size: 16px;
    line-height: 1.65;
}

.downloads-note {
    margin-top: 18px;
    padding-left: 18px;
    border-left: 2px solid #e2aa2e;
    font-size: 13px !important;
    color: #74767b !important;
}

.downloads-library {
    position: relative;
    padding: 58px 0 92px;
    background:
        radial-gradient(circle at 5% 15%, rgba(230, 169, 35, .07), transparent 19%),
        #faf9f7;
}

.downloads-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 38px;
}

.downloads-search {
    flex: 1;
    max-width: 460px;
    height: 54px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 18px;
    border: 1px solid rgba(48, 48, 48, .09);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(42, 35, 23, .04);
}

.downloads-search span {
    color: #d69a1b;
    font-size: 25px;
    line-height: 1;
}

.downloads-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #323232;
    font: inherit;
    font-size: 15px;
}

.downloads-filter {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.download-filter {
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid rgba(201, 141, 22, .22);
    border-radius: 999px;
    background: #fff;
    color: #595959;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: .2s ease;
}

.download-filter:hover,
.download-filter.active {
    color: #171717;
    border-color: #e4a91c;
    background: #f5b817;
}

.downloads-categories {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.download-category-card {
    position: relative;
    min-height: 420px;
    display: flex;
    flex-direction: column;
    padding: 28px;
    border: 1px solid rgba(33, 33, 33, .06);
    border-radius: 16px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 10px 36px rgba(52, 43, 28, .055);
}

.download-category-card::after {
    content: "";
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, #d99d1c, transparent);
}

.download-category-card[hidden] {
    display: none !important;
}

.download-category-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.download-category-number {
    color: #d69a1c;
    font-family: 'Prata', Georgia, serif;
    font-size: 18px;
}

.download-category-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(216, 166, 58, .28);
    border-radius: 50%;
    background: #fbfaf8;
    color: #d29a20;
    font-family: 'Prata', Georgia, serif;
    font-size: 22px;
}

.download-category-card h3 {
    color: #303238;
    font-size: 30px;
    line-height: 1.1;
    font-weight: 400;
}

.download-category-card > p {
    margin-top: 14px;
    color: #5b5d63;
    font-size: 14px;
    line-height: 1.55;
}

.download-category-card ul {
    list-style: none;
    margin: 22px 0 25px;
    padding: 0;
}

.download-category-card li {
    position: relative;
    margin: 0 0 10px;
    padding-left: 18px;
    color: #373737;
    font-size: 14px;
    line-height: 1.4;
}

.download-category-card li::before {
    content: "→";
    position: absolute;
    left: 0;
    top: 0;
    color: #dc9e17;
}

.download-category-card li a {
    transition: color .2s ease;
}

.download-category-card li a:hover {
    color: #c48a10;
}

.download-category-link {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: #b77d09;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.downloads-empty {
    margin-top: 30px;
    padding: 26px;
    border-radius: 12px;
    background: #fff;
    color: #5f6267;
    text-align: center;
}

.downloads-source {
    position: relative;
    overflow: hidden;
    padding: 82px 0;
    background: #fff;
}

.downloads-source-watermark {
    position: absolute;
    right: -60px;
    top: -80px;
    width: 430px;
    height: 360px;
    opacity: .28;
    background: url("https://amsolucoesweb.com.br/advance/imagens/efeitologo.png") no-repeat center / contain;
}

.downloads-source-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 65px;
    align-items: center;
}

.downloads-source-inner h2 {
    max-width: 800px;
    margin-top: 12px;
    color: #34363b;
    font-size: clamp(42px, 4vw, 62px);
    line-height: 1.05;
    font-weight: 400;
}

.downloads-source-inner p {
    max-width: 770px;
    margin-top: 20px;
    color: #575a60;
    font-size: 16px;
    line-height: 1.6;
}

.downloads-source-button {
    margin-top: 0;
    white-space: nowrap;
}

@media (max-width: 1200px) {
    .downloads-categories {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .downloads-tools {
        align-items: flex-start;
        flex-direction: column;
    }

    .downloads-search {
        width: 100%;
        max-width: none;
    }

    .downloads-filter {
        justify-content: flex-start;
    }
}

@media (max-width: 1050px) {
    .downloads-header .navigation a,
    .downloads-header .navigation .home-link,
    .downloads-header .navigation .boleto-button {
        color: #111;
    }

    .downloads-intro-grid,
    .downloads-source-inner {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .downloads-source-button {
        justify-self: start;
    }
}

@media (max-width: 767px) {
    .downloads-hero {
        min-height: 0;
    }

    .downloads-hero-effect {
        right: -130px;
        bottom: -30px;
        width: 420px;
        height: 360px;
    }

    .downloads-hero-inner {
        padding-top: 72px;
        padding-bottom: 78px;
    }

    .downloads-hero-inner h1 {
        font-size: clamp(45px, 12vw, 62px);
        line-height: 1;
        letter-spacing: -1.5px;
    }

    .downloads-hero-inner > p {
        font-size: 16px;
    }

    .downloads-intro {
        padding: 62px 0 50px;
    }

    .downloads-intro h2 {
        font-size: 43px;
        letter-spacing: -1.2px;
    }

    .downloads-library {
        padding: 42px 0 62px;
    }

    .downloads-filter {
        gap: 7px;
    }

    .download-filter {
        min-height: 38px;
        padding: 0 13px;
        font-size: 12px;
    }

    .downloads-categories {
        grid-template-columns: 1fr;
    }

    .download-category-card {
        min-height: 0;
        padding: 23px;
    }

    .download-category-card::after {
        left: 23px;
        right: 23px;
    }

    .download-category-card h3 {
        font-size: 27px;
    }

    .downloads-source {
        padding: 60px 0;
    }

    .downloads-source-inner h2 {
        font-size: 42px;
    }

    .downloads-source-button {
        white-space: normal;
    }
}


/* =====================================================
   ACESSOS FLUTUANTES — APP + MADU IA
   ===================================================== */

.floating-apps {
    position: fixed;
    z-index: 9990;
    right: 22px;
    top: 46%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    transform: translateY(-50%);
}

.floating-apps-title {
    margin-bottom: 2px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #f5b817;
    color: #24211e;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    white-space: nowrap;
}

.floating-app-link {
    position: relative;
    width: 58px;
    height: 58px;
    min-height: 58px;
    display: grid;
    place-items: center;
    padding: 13px;
    overflow: hidden;
    border: 2px solid #f5b817;
    border-radius: 50%;
    background: #45413d;
    box-shadow: 0 8px 24px rgba(0,0,0,.17);
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.floating-app-link::after {
    content: "";
    position: absolute;
    inset: 4px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    pointer-events: none;
}

.floating-app-link:hover,
.floating-app-link:focus-visible {
    transform: translateY(-3px) scale(1.06);
    background: #3b3834;
    box-shadow: 0 12px 30px rgba(0,0,0,.22);
}

.floating-app-link img {
    position: relative;
    z-index: 1;
    width: 29px;
    height: 29px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

@media (max-width: 1050px) {
    .floating-apps {
        right: 14px;
    }
}

@media (max-width: 767px) {
    .floating-apps {
        top: auto;
        right: 18px;
        bottom: 245px;
        transform: none;
        gap: 7px;
    }

    .floating-apps-title {
        padding: 6px 10px;
        font-size: 8px;
        letter-spacing: .05em;
    }

    .floating-app-link {
        width: 48px;
        height: 48px;
        min-height: 48px;
        padding: 10px;
    }

    .floating-app-link img {
        width: 24px;
        height: 24px;
    }
}



/* =====================================================
   MADU — CONTATO FLUTUANTE
   ===================================================== */

.madu-contact {
    position: fixed;
    z-index: 9995;
    right: 28px;
    bottom: 26px;
    width: 154px;
    height: 154px;
    display: block;
    color: #171717;
    isolation: isolate;
}

.madu-contact-bubble {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 126px;
    height: 126px;
    overflow: visible;
    display: block;
    border: 3px solid #f2b317;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 12px 34px rgba(0,0,0,.19);
    transition: transform .25s ease, box-shadow .25s ease;
}

.madu-contact-pulse {
    position: absolute;
    right: 13px;
    bottom: 13px;
    width: 126px;
    height: 126px;
    border: 2px solid rgba(242,179,23,.55);
    border-radius: 50%;
    animation: maduPulse 2.25s ease-out infinite;
    pointer-events: none;
}

.madu-contact-gif {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 31px;
    width: 142px;
    max-width: none;
    height: auto;
    transform: translateX(-50%);
    transform-origin: center bottom;
    filter: drop-shadow(0 7px 7px rgba(0,0,0,.12));
    animation: maduFloat 3.4s ease-in-out infinite;
    pointer-events: none;
}

.madu-contact-copy {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 10px;
    width: 112px;
    padding: 6px 8px 7px;
    transform: translateX(-50%);
    border-radius: 18px;
    background: #fff;
    text-align: center;
    box-shadow: 0 3px 12px rgba(0,0,0,.08);
}

.madu-contact-copy small,
.madu-contact-copy strong,
.madu-contact-copy span {
    display: block;
}

.madu-contact-copy small {
    margin-bottom: 1px;
    color: #7a7a7a;
    font-size: 9px;
    line-height: 1.1;
}

.madu-contact-copy strong {
    color: #242424;
    font-size: 13px;
    line-height: 1.1;
    font-weight: 900;
}

.madu-contact-copy span {
    margin-top: 2px;
    color: #ca8e10;
    font-size: 9px;
    line-height: 1.1;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.madu-contact:hover .madu-contact-bubble,
.madu-contact:focus-visible .madu-contact-bubble {
    transform: translateY(-5px) scale(1.035);
    box-shadow: 0 17px 42px rgba(0,0,0,.23);
}

@keyframes maduPulse {
    0% {
        opacity: .72;
        transform: scale(.92);
    }
    70%, 100% {
        opacity: 0;
        transform: scale(1.24);
    }
}

@keyframes maduFloat {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(-5px); }
}

@media (max-width: 767px) {
    .madu-contact {
        right: 14px;
        bottom: 14px;
        width: 142px;
        height: 142px;
    }

    .madu-contact-bubble {
        width: 116px;
        height: 116px;
    }

    .madu-contact-pulse {
        right: 13px;
        bottom: 13px;
        width: 116px;
        height: 116px;
    }

    .madu-contact-gif {
        width: 130px;
        bottom: 29px;
    }

    .madu-contact-copy {
        width: 104px;
        bottom: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .madu-contact-pulse,
    .madu-contact-gif {
        animation: none;
    }

    .floating-app-link,
    .madu-contact-bubble {
        transition: none;
    }
}


/* =====================================================
   SINGLE DE NOTÍCIAS
   ===================================================== */
.single-news-hero {
    position: relative;
    overflow: hidden;
    padding-bottom: 78px;
    background:
        radial-gradient(circle at 84% 42%, rgba(246,185,24,.13), transparent 23%),
        linear-gradient(135deg, #fbfaf8 0%, #fff 68%, #f8f3e9 100%);
    border-bottom: 1px solid rgba(213,164,69,.35);
}

.single-news-hero-effect {
    position: absolute;
    right: -110px;
    bottom: -130px;
    width: 610px;
    height: 470px;
    opacity: .42;
    background: url("https://amsolucoesweb.com.br/advance/imagens/efeitologo.png") no-repeat center / contain;
    pointer-events: none;
}

.single-news-header .navigation a {
    color: #2b2b2b;
}
.single-news-header .navigation a.active { color: #c78b13; }
.single-news-header .navigation .boleto-button { color: #111; }

.single-news-hero-inner {
    position: relative;
    z-index: 2;
    padding-top: 94px;
}

.single-news-back {
    display: inline-flex;
    align-items: center;
    color: #9d7218;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.single-news-meta-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 36px;
    color: #666a70;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.single-news-meta-top span:first-child {
    color: #c98f18;
    font-weight: 900;
}
.single-news-meta-top b { color: #d7b872; font-weight: 400; }

.single-news-hero h1 {
    max-width: 1050px;
    margin-top: 22px;
    color: #2f3238;
    font-size: clamp(54px, 5.5vw, 88px);
    line-height: 1.02;
    font-weight: 400;
    letter-spacing: -3px;
}

.single-news-excerpt {
    max-width: 820px;
    margin-top: 26px;
    color: #565960;
    font-size: 20px;
    line-height: 1.55;
}

.single-news-main { background: #fff; }

.single-news-layout {
    display: grid;
    grid-template-columns: 86px minmax(0, 900px);
    justify-content: center;
    gap: 42px;
    padding-top: 72px;
    padding-bottom: 86px;
}

.single-news-share {
    position: sticky;
    top: 30px;
    align-self: start;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.single-news-share > span {
    margin-bottom: 8px;
    color: #8a8c91;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}
.single-news-share a {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(202,144,27,.35);
    border-radius: 50%;
    background: #fff;
    color: #b47e11;
    font-size: 13px;
    font-weight: 900;
    transition: .2s ease;
}
.single-news-share a:hover {
    background: #f4b51b;
    border-color: #f4b51b;
    color: #111;
    transform: translateY(-2px);
}

.single-news-article { min-width: 0; }

.single-news-featured {
    overflow: hidden;
    margin: 0 0 48px;
    border-radius: 18px;
    box-shadow: 0 18px 48px rgba(48,39,22,.12);
}
.single-news-featured img {
    width: 100%;
    max-height: 560px;
    object-fit: cover;
}

.single-news-content {
    color: #35383d;
    font-size: 18px;
    line-height: 1.82;
}
.single-news-content > *:first-child { margin-top: 0; }
.single-news-content p { margin: 0 0 25px; }
.single-news-content h2,
.single-news-content h3,
.single-news-content h4 {
    margin: 46px 0 18px;
    color: #292c31;
    font-family: 'Prata', Georgia, serif;
    font-weight: 400;
    line-height: 1.18;
}
.single-news-content h2 { font-size: 38px; }
.single-news-content h3 { font-size: 30px; }
.single-news-content h4 { font-size: 24px; }
.single-news-content ul,
.single-news-content ol {
    margin: 0 0 28px 24px;
}
.single-news-content li { margin-bottom: 10px; }
.single-news-content a {
    color: #b87e09;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.single-news-content blockquote {
    position: relative;
    margin: 42px 0;
    padding: 28px 34px 28px 44px;
    border-left: 3px solid #e1a51c;
    border-radius: 0 14px 14px 0;
    background: #fbf8f1;
    color: #37383d;
    font-family: 'Prata', Georgia, serif;
    font-size: 24px;
    line-height: 1.5;
}
.single-news-content img {
    height: auto;
    border-radius: 12px;
}
.single-news-content figure { margin: 38px 0; }
.single-news-content figcaption {
    margin-top: 9px;
    color: #80838a;
    font-size: 12px;
    line-height: 1.4;
    text-align: center;
}
.single-news-content table {
    width: 100%;
    margin: 35px 0;
    border-collapse: collapse;
    font-size: 15px;
}
.single-news-content th,
.single-news-content td {
    padding: 13px 15px;
    border: 1px solid #ece7dc;
    text-align: left;
}
.single-news-content th { background: #f8f4eb; }

.single-news-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 48px;
    padding-top: 26px;
    border-top: 1px solid #eee8dc;
}
.single-news-tags strong {
    margin-right: 4px;
    color: #36383c;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.single-news-tags a {
    padding: 7px 11px;
    border-radius: 999px;
    background: #f8f4eb;
    color: #956b15;
    font-size: 12px;
    font-weight: 700;
}

.single-news-nav-section {
    padding: 0 0 78px;
}
.single-news-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid #eadfca;
    border-bottom: 1px solid #eadfca;
}
.single-news-nav-item {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 28px 40px;
}
.single-news-nav-item + .single-news-nav-item {
    border-left: 1px solid #eadfca;
}
.single-news-nav-item.next { text-align: right; }
.single-news-nav-item span {
    margin-bottom: 11px;
    color: #b27d13;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.single-news-nav-item a {
    color: #303238;
    font-family: 'Prata', Georgia, serif;
    font-size: 22px;
    line-height: 1.3;
}

.single-news-related {
    position: relative;
    overflow: hidden;
    padding: 78px 0 92px;
    background: linear-gradient(180deg, #fbfaf8 0%, #fff 100%);
}
.single-news-related-heading { text-align: center; }
.single-news-related-heading h2 {
    margin-top: 12px;
    color: #303238;
    font-size: clamp(46px, 4.5vw, 68px);
    line-height: 1.04;
    font-weight: 400;
}
.single-news-related-heading h2 span { color: #d69b19; }
.single-news-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 22px;
    margin-top: 44px;
}
.single-news-related-card {
    overflow: hidden;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(57,43,18,.08);
    transition: transform .25s ease, box-shadow .25s ease;
}
.single-news-related-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 42px rgba(57,43,18,.13);
}
.single-news-related-image {
    aspect-ratio: 1.55/1;
    overflow: hidden;
    background: #f3eee4;
}
.single-news-related-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.single-news-related-placeholder {
    width: 100%;
    height: 100%;
    background:
        radial-gradient(circle at 50% 50%, rgba(234,174,35,.22), transparent 26%),
        url("https://amsolucoesweb.com.br/advance/imagens/efeitologo.png") no-repeat center / 68%,
        #f8f4eb;
}
.single-news-related-copy { padding: 24px 24px 26px; }
.single-news-related-meta {
    color: #c28a18;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.single-news-related-card h3 {
    margin-top: 13px;
    color: #2e3035;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 400;
}
.single-news-related-copy > span {
    display: inline-block;
    margin-top: 22px;
    color: #a9750c;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .07em;
}

@media (max-width: 1050px) {
    .single-news-header .navigation a,
    .single-news-header .navigation .home-link,
    .single-news-header .navigation .boleto-button { color: #111; }

    .single-news-layout {
        grid-template-columns: 1fr;
        max-width: 900px;
    }
    .single-news-share {
        position: static;
        flex-direction: row;
        justify-content: flex-start;
    }
    .single-news-share > span {
        margin: 0 6px 0 0;
        writing-mode: initial;
        transform: none;
    }
    .single-news-related-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 767px) {
    .single-news-hero { padding-bottom: 54px; }
    .single-news-hero-inner { padding-top: 62px; }
    .single-news-meta-top { margin-top: 28px; gap: 7px; font-size: 11px; }
    .single-news-hero h1 {
        margin-top: 18px;
        font-size: clamp(44px, 12vw, 60px);
        letter-spacing: -1.5px;
    }
    .single-news-excerpt { font-size: 17px; }
    .single-news-layout { padding-top: 46px; padding-bottom: 58px; gap: 26px; }
    .single-news-share a { width: 38px; height: 38px; }
    .single-news-featured { margin-bottom: 34px; border-radius: 12px; }
    .single-news-content { font-size: 16px; line-height: 1.72; }
    .single-news-content h2 { font-size: 31px; }
    .single-news-content h3 { font-size: 26px; }
    .single-news-content blockquote { margin: 30px 0; padding: 22px 24px 22px 27px; font-size: 20px; }
    .single-news-nav { grid-template-columns: 1fr; }
    .single-news-nav-item { min-height: 120px; padding: 24px 0; }
    .single-news-nav-item + .single-news-nav-item { border-left: 0; border-top: 1px solid #eadfca; }
    .single-news-nav-item.next { text-align: left; }
    .single-news-nav-item a { font-size: 20px; }
    .single-news-related { padding: 58px 0 70px; }
    .single-news-related-grid { grid-template-columns: 1fr; }
    .single-news-related-heading h2 { font-size: 43px; }
}

/* =====================================================
   ATUALIZAÇÃO — ÍCONES SOCIAIS E SEU BOLETO
   ===================================================== */
.boleto-button img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex: 0 0 20px;
}

.navigation .boleto-button:hover,
.navigation .boleto-button:focus-visible,
.hero .navigation .boleto-button:hover,
.services-page-hero .navigation .boleto-button:hover,
.ebooks-header .navigation .boleto-button:hover,
.downloads-header .navigation .boleto-button:hover,
.single-news-header .navigation .boleto-button:hover {
    color: #fff !important;
}

.footer-social-links a {
    overflow: hidden;
    padding: 0;
}

.footer-social-links a img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    transition: transform .2s ease, opacity .2s ease;
}

.footer-social-links a:hover img,
.footer-social-links a:focus-visible img {
    transform: scale(1.08);
}

@media (max-width: 767px) {
    .boleto-button img {
        width: 18px;
        height: 18px;
        flex-basis: 18px;
    }
}
