/* ============================================================
   HM Comunicação — Estilos globais
   Complementa as classes utilitárias do Tailwind CSS
============================================================ */

/* ---------- Reset / Base ---------- */
html  { scroll-behavior: smooth; }
body  {
    font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
    background:
        radial-gradient(circle at 14% 18%, rgba(253, 198, 82, .26), transparent 28%),
        radial-gradient(circle at 86% 8%, rgba(83, 22, 61, .24), transparent 31%),
        radial-gradient(circle at 50% 72%, rgba(83, 22, 61, .18), transparent 42%),
        linear-gradient(135deg, #efe4ec 0%, #f4ebf1 42%, #f6e5cd 100%) !important;
    background-attachment: fixed;
}
h1, h2, h3, h4, h5, h6 { font-family: 'Montserrat', sans-serif; }

/* ---------- Variáveis ---------- */
:root {
    --neon:       #fdc652;
    --neon-dark:  #efb73e;
    --dp:         #53163d;
    --dp-mid:     #53163d;
    --dp-light:   #53163d;
    --off:        #f7f6f3;
}

/* ---------- Manifesto claro / prancheta ---------- */
#manifesto .text-neon,
#manifesto .border-neon {
    color: #fdc652 !important;
    border-color: #fdc652 !important;
}
#manifesto .bg-neon {
    background-color: #fdc652 !important;
}
#manifesto .btn-neon {
    background: #fdc652;
    color: #53163d;
    box-shadow: 0 8px 30px rgba(253,198,82,0.35);
}
#manifesto .manifesto-highlight {
    color: #53163d;
}
#manifesto .section-tag {
    color: #53163d;
}

/* ---------- Botão Neon (CTA principal) ---------- */
.btn-neon {
    background:    #fdc652;
    color:         #53163d;
    font-family:   'Montserrat', sans-serif;
    font-weight:   700;
    letter-spacing: -.01em;
    transition:    background .25s, transform .25s, box-shadow .25s;
    cursor:        pointer;
    box-shadow:    0 8px 26px rgba(253, 198, 82, .35);
}
.btn-neon:hover {
    background:  #efb73e;
    transform:   translateY(-2px);
    box-shadow:  0 12px 30px rgba(253, 198, 82, .45);
}
.btn-neon:active { transform: translateY(0); }

/* ---------- Grid sutil de fundo ---------- */
.grid-bg {
    background-image:
        linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
    background-size: 56px 56px;
}

/* ---------- Hero inspirado no layout de referência ---------- */
.hero-gradient {
    background:
        radial-gradient(circle at 18% 16%, rgba(253, 198, 82, .42), transparent 27%),
        radial-gradient(circle at 82% 12%, rgba(83, 22, 61, .35), transparent 30%),
        radial-gradient(circle at 45% 100%, rgba(83, 22, 61, .48), transparent 42%),
        linear-gradient(135deg, #efe4ec 0%, #53163d 42%, #eedee4 100%);
}
.hero-gradient::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 300px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
        to bottom,
        rgba(83, 22, 61, 0) 0%,
        rgba(83, 22, 61, .14) 30%,
        rgba(238, 222, 228, .82) 70%,
        #eedee4 100%
    );
}
.hero-gradient > .relative {
    position: relative;
    z-index: 3;
}

/* ---------- Fundo contínuo e painéis das seções ---------- */
.lp-section {
    background: transparent !important;
    position: relative;
    margin-top: -2px;
}
.lp-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
    background-size: 64px 64px;
    opacity: .18;
    pointer-events: none;
}
.lp-section > .max-w-7xl,
.lp-section > .max-w-5xl,
.lp-section > .max-w-3xl {
    position: relative;
    z-index: 1;
}
.lp-section .section-tag {
    background: rgba(255,255,255,.42);
    border: 1px solid rgba(255,255,255,.54);
    border-radius: 999px;
    padding: .45rem 1rem;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
#contato > .max-w-3xl {
    background:
        radial-gradient(circle at 12% 12%, rgba(253,198,82,.18), transparent 28%),
        radial-gradient(circle at 88% 10%, rgba(83,22,61,.34), transparent 32%),
        linear-gradient(135deg, #53163d 0%, #53163d 62%, #220817 100%);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 2rem;
    box-shadow: 0 34px 90px rgba(30, 11, 66, .28);
    padding: 4.5rem 2rem;
    overflow: hidden;
}
#contato > .max-w-3xl::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 58px 58px;
    pointer-events: none;
}
#contato > .max-w-3xl > * {
    position: relative;
    z-index: 1;
}
.manifesto-board > .max-w-5xl {
    background:
        radial-gradient(circle at 12% 10%, rgba(253,198,82,.10), transparent 24%),
        radial-gradient(circle at 92% 8%, rgba(83,22,61,.06), transparent 28%),
        rgba(255,255,255,.70);
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 2rem;
    box-shadow: 0 18px 52px rgba(83, 22, 61, .08);
    padding: 4rem 2rem;
    overflow: hidden;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.manifesto-board > .max-w-5xl::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(83,22,61,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(83,22,61,.045) 1px, transparent 1px);
    background-size: 72px 72px;
    pointer-events: none;
}
.manifesto-board > .max-w-5xl > * {
    position: relative;
    z-index: 1;
}
#contato .bg-white,
#solucoes .service-card,
.deforcard,
#casos .portfolio-card {
    border: 1px solid rgba(255,255,255,.58);
    box-shadow: 0 24px 70px rgba(83, 22, 61, .16);
}
#contato .bg-white,
#solucoes .service-card:not(.bg-dp),
.deforcard.bg-white {
    background: rgba(255,255,255,.86) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
#solucoes .service-card.bg-dp {
    background:
        radial-gradient(circle at 86% 12%, rgba(253,198,82,.16), transparent 32%),
        linear-gradient(135deg, #53163d 0%, #53163d 72%, #220817 100%) !important;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 24px 70px rgba(30, 11, 66, .28);
}
#casos .portfolio-card {
    border-radius: 1.5rem;
    display: flex;
    flex-direction: column;
    min-height: 420px;
    background: rgba(255,255,255,.92);
    transition: transform .3s ease, box-shadow .3s ease;
}
#casos .portfolio-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 30px 80px rgba(83, 22, 61, .22);
}
.portfolio-logo-box {
    position: relative;
    min-height: 245px;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.75rem;
    background:
        linear-gradient(rgba(83,22,61,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(83,22,61,.04) 1px, transparent 1px),
        #fff;
    background-size: 36px 36px;
}
.portfolio-logo {
    position: relative;
    z-index: 1;
    display: block;
    width: auto;
    max-width: 88%;
    max-height: 190px;
    object-fit: contain;
}
.portfolio-logo--wide {
    max-width: 94%;
}
.portfolio-info {
    background:
        radial-gradient(circle at 90% 0%, rgba(253,198,82,.18), transparent 34%),
        linear-gradient(135deg, #53163d 0%, #53163d 72%, #220817 100%);
    padding: 1.75rem 2rem 2rem;
    color: #fff;
}
#casos .bg-gray-100 {
    background: rgba(255,255,255,.58) !important;
    border: 1px solid rgba(255,255,255,.68);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.client-logo-card {
    width: 150px;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 1.25rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(255,255,255,.74);
    box-shadow: 0 14px 34px rgba(83, 22, 61, .10);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.client-logo-card:hover {
    transform: translateY(-4px);
    background: rgba(255,255,255,.86);
    box-shadow: 0 18px 44px rgba(83, 22, 61, .16);
}
.client-logo-card img {
    display: block;
    width: 100%;
    max-height: 42px;
    object-fit: contain;
    filter: saturate(.9) contrast(.95);
    opacity: .82;
    transition: opacity .25s ease, filter .25s ease;
}
.client-logo-card:hover img {
    opacity: 1;
    filter: none;
}
.client-logo-card img.client-logo-img--wide {
    width: 112%;
    max-width: none;
    max-height: 52px;
}
.brand-quote {
    color: #53163d;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1.6rem, 3vw, 2.75rem);
    font-weight: 800;
    line-height: 1.16;
    letter-spacing: -.03em;
}
.brand-quote-highlight {
    display: inline-block;
    color: #53163d;
    background: linear-gradient(135deg, #fdc652 0%, #f8b92f 100%);
    border-radius: .32em;
    padding: .02em .22em .08em;
    box-shadow: 0 10px 28px rgba(253, 198, 82, .28);
    transform: rotate(-1deg);
}
.hero-panel {
    background:
        radial-gradient(circle at 4% 8%, rgba(253, 198, 82, .72), transparent 19%),
        radial-gradient(circle at 38% 12%, rgba(83, 22, 61, .82), transparent 30%),
        radial-gradient(circle at 58% 52%, rgba(83, 22, 61, .48), transparent 28%),
        linear-gradient(135deg, #53163d 0%, #53163d 48%, #220817 78%, #12040c 100%);
    border-radius: 2rem;
    box-shadow: 0 34px 90px rgba(30, 11, 66, .36);
    overflow: hidden;
}
.hero-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 58px 58px;
    opacity: .35;
    pointer-events: none;
}
.hero-panel::after {
    content: "";
    position: absolute;
    inset: auto -6rem -7rem auto;
    width: 28rem;
    height: 28rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(253,198,82,.22), transparent 64%);
    pointer-events: none;
}
.hero-title-reference {
    color: #fff;
    text-shadow: 0 1px 0 rgba(255,255,255,.08);
}
.hero-title-reference .hero-title-light {
    color: #fdc652;
}
.hero-copy-reference {
    color: rgba(255,255,255,.76);
}
.hero-copy-reference strong {
    color: #fff;
}
.hero-secondary-link {
    color: #374151;
    border-color: #d1d5db;
    background: rgba(255,255,255,.78);
    backdrop-filter: blur(12px);
}
.hero-secondary-link:hover {
    color: #53163d;
    border-color: rgba(83,22,61,.28);
    background: rgba(255,255,255,.92);
}
.hero-proof {
    border-top-color: rgba(255,255,255,.14);
}
.hero-proof .hero-proof-number {
    color: #fff;
}
.hero-proof .hero-proof-label {
    color: rgba(255,255,255,.55);
}
.hero-orbit {
    min-height: 460px;
}
.orbit-ring {
    position: absolute;
    inset: 50% auto auto 50%;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}
.orbit-ring--one {
    width: 17rem;
    height: 17rem;
}
.orbit-ring--two {
    width: 25rem;
    height: 25rem;
}
.orbit-ring--three {
    width: 32rem;
    height: 32rem;
    opacity: .48;
}
.orbit-core {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
}
.orbit-core--image {
    width: 7.25rem;
    height: 7.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    filter: drop-shadow(0 18px 34px rgba(0,0,0,.24));
}
.orbit-core--image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.orbit-core-number {
    font-family: 'Montserrat', sans-serif;
    font-size: 4.2rem;
    line-height: 1;
    font-weight: 500;
    letter-spacing: -.07em;
}
.orbit-core-label {
    display: block;
    margin-top: .35rem;
    color: rgba(255,255,255,.68);
    font-size: .75rem;
}
.orbit-node,
.orbit-avatar {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
}
.orbit-node {
    width: 3.25rem;
    height: 3.25rem;
    background: rgba(5,5,10,.82);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 14px 34px rgba(0,0,0,.38), 0 0 18px rgba(253,198,82,.2);
}
.orbit-node svg {
    width: 1.35rem;
    height: 1.35rem;
    color: #fdc652;
}
.orbit-service {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 5.85rem;
    min-height: 5.85rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .68rem;
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(255,255,255,.92);
    color: #53163d;
    font-family: 'Montserrat', sans-serif;
    font-size: .64rem;
    line-height: 1.18;
    font-weight: 800;
    text-align: center;
    letter-spacing: .01em;
    --orbit-radius: 14.7rem;
    transform: translate(-50%, -50%) rotate(var(--orbit-angle)) translateX(var(--orbit-radius)) rotate(var(--counter-angle));
    animation: orbitAround 54s linear infinite, orbitPulse 3.6s ease-in-out infinite;
    box-shadow:
        0 16px 34px rgba(0,0,0,.22),
        0 0 0 8px rgba(253,198,82,.08),
        0 0 28px rgba(253,198,82,.22);
}
.orbit-avatar {
    width: 3.1rem;
    height: 3.1rem;
    border: 3px solid rgba(255,255,255,.86);
    background: linear-gradient(135deg, #fff, #e8d9ff);
    color: #53163d;
    font-family: 'Montserrat', sans-serif;
    font-size: .78rem;
    font-weight: 800;
    box-shadow: 0 12px 30px rgba(0,0,0,.36), 0 0 20px rgba(230,42,62,.22);
}
.orbit-node--a { top: 20%; left: 34%; }
.orbit-node--b { top: 48%; left: 8%; }
.orbit-node--c { top: 50%; right: 10%; }
.orbit-service--a { --orbit-angle: 180deg; --counter-angle: -180deg; }
.orbit-service--b { --orbit-angle: 240deg; --counter-angle: -240deg; }
.orbit-service--c { --orbit-angle: 300deg; --counter-angle: -300deg; }
.orbit-service--d { --orbit-angle: 0deg; --counter-angle: 0deg; }
.orbit-service--f { --orbit-angle: 120deg; --counter-angle: -120deg; }
.orbit-service--g { --orbit-angle: 60deg; --counter-angle: -60deg; }
.orbit-avatar--a { top: 20%; left: 15%; }
.orbit-avatar--b { top: 12%; right: 25%; }
.orbit-avatar--c { top: 32%; right: 8%; }
.orbit-avatar--d { bottom: 17%; left: 28%; }
.orbit-avatar--e { bottom: 6%; right: 30%; }
.hero-brand-strip {
    border-top: 1px solid rgba(255,255,255,.10);
}
.hero-brand-chip {
    color: rgba(255,255,255,.54);
    font-family: 'Montserrat', sans-serif;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .02em;
}

@keyframes orbitAround {
    from {
        transform: translate(-50%, -50%) rotate(var(--orbit-angle)) translateX(var(--orbit-radius)) rotate(var(--counter-angle));
    }
    to {
        transform: translate(-50%, -50%) rotate(calc(var(--orbit-angle) + 360deg)) translateX(var(--orbit-radius)) rotate(calc(var(--counter-angle) - 360deg));
    }
}
@keyframes orbitPulse {
    0%, 100% {
        box-shadow:
            0 16px 34px rgba(0,0,0,.22),
            0 0 0 8px rgba(253,198,82,.08),
            0 0 28px rgba(253,198,82,.20);
    }
    50% {
        box-shadow:
            0 18px 38px rgba(0,0,0,.26),
            0 0 0 12px rgba(253,198,82,.10),
            0 0 38px rgba(253,198,82,.30);
    }
}

@media (max-width: 1023px) {
    .hero-panel {
        border-radius: 1.5rem;
    }
    .hero-title-reference {
        color: #fff;
    }
    .hero-orbit {
        min-height: 360px;
        margin-top: 1rem;
    }
    .orbit-ring--three {
        width: 24rem;
        height: 24rem;
    }
    .orbit-ring--two {
        width: 19rem;
        height: 19rem;
    }
    .orbit-ring--one {
        width: 13rem;
        height: 13rem;
    }
}

/* ---------- Pill / Tag de seção ---------- */
.pill {
    display:        inline-flex;
    align-items:    center;
    gap:            .45rem;
    border:         1px solid #e5e7eb;
    border-radius:  999px;
    padding:        .35rem .9rem;
    font-size:      .7rem;
    font-weight:    600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color:          #6b7280;
    background:     #fff;
}
.pill-dot {
    width:        .45rem;
    height:       .45rem;
    border-radius: 50%;
    background:   var(--neon);
    animation:    pulse-dot 2s infinite;
}
.hero-panel .pill {
    color: #53163d !important;
}
@keyframes pulse-dot {
    0%, 100% { opacity: 1; }
    50%       { opacity: .4; }
}

/* ---------- Tag de seção interna ---------- */
.section-tag {
    display:        inline-block;
    font-family:    'Inter', sans-serif;
    font-size:      .7rem;
    font-weight:    600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color:          var(--neon);
    margin-bottom:  1rem;
}
.section-tag--wine {
    color: #53163d;
}

.section-title-highlight {
    color: #53163d;
}

/* ---------- Cards de serviço ---------- */
.service-card { transition: transform .3s, box-shadow .3s; }
.service-card:hover {
    transform:  translateY(-6px);
    box-shadow: 0 20px 60px rgba(0, 0, 0, .1);
}
.service-number {
    font-family:        'Montserrat', sans-serif;
    font-size:          3.5rem;
    font-weight:        900;
    line-height:        1;
    color:              #e5e7eb;
    text-shadow:        0 6px 12px rgba(0, 0, 0, .08);
    transition:         color .3s;
}
.service-card:hover .service-number {
    color: #fdc652;
}

.service-card h3 {
    color: #e62a3e;
}

.service-card.bg-dp {
    color: #fff;
}
.service-card.bg-dp h3,
.service-card.bg-dp p {
    color: #fff;
}
.service-card.bg-dp .btn-neon {
    background: #fdc652;
    color: #53163d;
    box-shadow: 0 8px 30px rgba(253,198,82,0.35);
}

/* ---------- Cards portfólio ---------- */
.portfolio-overlay {
    opacity:    0;
    transition: opacity .35s;
}
.portfolio-card:hover .portfolio-overlay { opacity: 1; }

/* ---------- Seção De/Para ---------- */
.deforcard {
    border-radius: 1.25rem;
    padding:       2.5rem 2rem;
    transition:    transform .3s, box-shadow .3s;
}
.deforcard:hover { transform: translateY(-4px); }

/* ---------- Citação do manifesto ---------- */
.quote-large {
    font-family:    'Montserrat', sans-serif;
    font-weight:    750;
    line-height:    1.18;
    letter-spacing: -.018em;
}

/* ---------- Navbar ---------- */
#navbar {
    backdrop-filter:         blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition:              box-shadow .3s;
}
#navbar.scrolled { box-shadow: 0 2px 24px rgba(0, 0, 0, .07); }
.nav-shell {
    background: rgba(255,255,255,.84);
    border: 1px solid rgba(255,255,255,.62);
    border-radius: 999px;
    box-shadow: 0 14px 40px rgba(26,9,51,.12);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

/* ---------- Footer como painel no mesmo fundo ---------- */
footer.bg-gray-950 {
    background: transparent !important;
    position: relative;
    padding: 5rem 0;
}
footer.bg-gray-950 > .max-w-7xl {
    background:
        radial-gradient(circle at 12% 16%, rgba(253,198,82,.12), transparent 26%),
        radial-gradient(circle at 88% 4%, rgba(83,22,61,.28), transparent 32%),
        linear-gradient(135deg, #53163d 0%, #220817 100%);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 2rem;
    box-shadow: 0 34px 90px rgba(30, 11, 66, .26);
    padding: 3rem;
}
footer.bg-gray-950 p,
footer.bg-gray-950 li,
footer.bg-gray-950 a,
footer.bg-gray-950 span,
footer.bg-gray-950 .text-gray-400,
footer.bg-gray-950 .text-gray-500,
footer.bg-gray-950 .text-gray-600 {
    color: #fff !important;
}
footer.bg-gray-950 .text-neon {
    color: #fdc652 !important;
}
footer.bg-gray-950 strong.text-gray-500 {
    color: #fff !important;
}

/* ---------- Formulário ---------- */
.form-input {
    width:       100%;
    border:      1.5px solid #e2e8f0;
    border-radius: .625rem;
    padding:     .875rem 1.125rem;
    font-family: 'Inter', sans-serif;
    font-size:   .9375rem;
    color:       #1a1a2e;
    background:  #fff;
    outline:     none;
    transition:  border-color .2s, box-shadow .2s;
    -webkit-appearance: none;
    appearance:  none;
}
.form-input:focus {
    border-color: var(--neon);
    box-shadow:   0 0 0 3px rgba(0, 255, 102, .18);
}
.form-input::placeholder { color: #a0aec0; }
select.form-input         { cursor: pointer; }
.form-input:active,
.form-select:active,
.form-textarea:active,
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
    border-color: #fdc652 !important;
    --tw-ring-color: rgba(253, 198, 82, .45) !important;
    box-shadow: 0 0 0 3px rgba(253, 198, 82, .18) !important;
}
.form-select,
.form-textarea {
    font-family: 'Inter', sans-serif;
}

/* ---------- Animação de entrada por scroll ---------- */
.reveal {
    opacity:    0;
    transform:  translateY(28px);
    transition: opacity .7s ease, transform .7s ease;
}
.reveal.visible {
    opacity:   1;
    transform: translateY(0);
}

/* ---------- Gradiente de texto (títulos) ---------- */
.text-gradient {
    color:                  transparent;
    background-clip:        text;
    -webkit-background-clip: text;
    background-image:       linear-gradient(135deg, #53163d 0%, #53163d 100%);
}

/* ---------- Sombras customizadas ---------- */
.shadow-card       { box-shadow: 0 4px 40px rgba(0, 0, 0, .07); }
.shadow-card-hover { box-shadow: 0 16px 60px rgba(0, 0, 0, .12); }
.shadow-neon       { box-shadow: 0 0 30px rgba(0, 255, 102, .35); }

/* ---------- Novas seções migradas ---------- */
.pillar-card {
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(255,255,255,.58);
    border-radius: 1.25rem;
    padding: 1.75rem 1.5rem;
    box-shadow: 0 16px 50px rgba(83, 22, 61, .10);
    transition: transform .3s ease, box-shadow .3s ease;
}
.pillar-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 60px rgba(83, 22, 61, .16);
}
.pillar-card__number {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    color: #fdc652;
    margin-bottom: 1rem;
}
.service-detail-card {
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.58);
    border-radius: 1.5rem;
    padding: 2rem 2rem 2.25rem;
    box-shadow: 0 20px 60px rgba(83, 22, 61, .12);
    min-height: 100%;
}
.service-cta-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    border-radius: 1.5rem;
    padding: 2rem 2rem 2.25rem;
    background:
        radial-gradient(circle at 86% 12%, rgba(253,198,82,.16), transparent 32%),
        linear-gradient(135deg, #53163d 0%, #53163d 72%, #220817 100%);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 24px 70px rgba(30, 11, 66, .28);
    transition: transform .3s, box-shadow .3s;
}
.service-cta-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 80px rgba(30, 11, 66, .34);
}
.service-cta-card__kicker {
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255,255,255,.45);
    margin-bottom: 1rem;
}
.service-cta-card .btn-neon {
    background: #fdc652;
    color: #53163d;
    box-shadow: 0 8px 30px rgba(253,198,82,.35);
}
.showcase-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 1.25rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 16px 50px rgba(83, 22, 61, .12);
}
.showcase-card__media {
    position: relative;
    display: block;
    height: 200px;
    flex-shrink: 0;
    overflow: hidden;
    background: #f3f4f6;
}
.showcase-card__media--link {
    cursor: pointer;
    text-decoration: none;
}
.showcase-card__media--link img {
    transition: transform .45s ease;
}
.showcase-card__media--link:hover img,
.showcase-card__media--link:focus-visible img {
    transform: scale(1.04);
}
.showcase-card__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(83, 22, 61, .72);
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-align: center;
    opacity: 0;
    transition: opacity .3s ease;
}
.showcase-card__media--link:hover .showcase-card__overlay,
.showcase-card__media--link:focus-visible .showcase-card__overlay {
    opacity: 1;
}
.showcase-card__media--social {
    height: 200px;
}
.showcase-card__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #53163d;
    padding: 1.5rem 1.65rem 1.75rem;
}
.showcase-card__tag {
    display: inline-block;
    color: #fdc652;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: .5rem;
}
.catalog-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.58);
    border-radius: 1.25rem;
    overflow: hidden;
    box-shadow: 0 16px 50px rgba(83, 22, 61, .10);
}
.catalog-card__cover {
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: #f3f4f6;
}
.catalog-card__body {
    padding: 1.35rem 1.5rem 1.65rem;
}
.catalog-card__body h4 {
    line-height: 1.45;
}
.catalog-card__client {
    display: block;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #fdc652;
}
.client-logo-card--partner {
    width: 100%;
    min-height: 88px;
    padding: 1rem 1.25rem;
}
.client-logo-card--partner img {
    max-height: 52px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}
.market-chip {
    display: inline-block;
    padding: .45rem .9rem;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(83,22,61,.12);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #53163d;
}
.vehicle-row {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem;
    background: rgba(255,255,255,.86);
    border-radius: 1rem;
    border: 1px solid rgba(255,255,255,.58);
}
.vehicle-row__thumb {
    width: 7rem;
    height: 4.5rem;
    flex-shrink: 0;
    border-radius: .75rem;
    overflow: hidden;
    background: #f3f4f6;
}
a.vehicle-row__thumb {
    position: relative;
    display: block;
}
a.vehicle-row__thumb .showcase-card__overlay {
    font-size: .5rem;
    letter-spacing: .06em;
    padding: .35rem;
}
.vehicle-row__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.thank-you-card__icon {
    background: rgba(253, 198, 82, .12);
}
.thank-you-note a {
    font-weight: 600;
}
.whatsapp-float {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 60;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 9999px;
    background: #25d366;
    color: #fff;
    box-shadow: 0 10px 30px rgba(37, 211, 102, .42);
    transition: transform .25s ease, box-shadow .25s ease;
}
.whatsapp-float:hover {
    transform: scale(1.07);
    box-shadow: 0 14px 38px rgba(37, 211, 102, .52);
}
.whatsapp-float:focus-visible {
    outline: 2px solid #fdc652;
    outline-offset: 3px;
}
.whatsapp-float svg {
    width: 1.65rem;
    height: 1.65rem;
}
@media (min-width: 768px) {
    .whatsapp-float {
        width: 3.75rem;
        height: 3.75rem;
        right: 1.5rem;
        bottom: 1.5rem;
    }
    .whatsapp-float svg {
        width: 1.75rem;
        height: 1.75rem;
    }
}
.method-step {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    padding: 1.35rem 1.5rem;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(255,255,255,.58);
    border-radius: 1.15rem;
    box-shadow: 0 12px 40px rgba(83, 22, 61, .08);
}
.method-step__number {
    font-family: 'Montserrat', sans-serif;
    font-size: 2rem;
    font-weight: 800;
    color: #fdc652;
    line-height: 1;
    flex-shrink: 0;
}
