@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;1,400;1,500&display=swap');
:root {
    --dp-bg: #f8f6ef;
    --dp-off: #f5f2eb;
    --dp-white: #ffffff;
    --dp-sand: #e6dfd3;
    --dp-beige: #ebe4d8;
    --dp-sage: #a3b89f;
    --dp-sage-hover: #8fa48b;
    --dp-sage-dark: #6f8066;
    --dp-terracotta: #cc6d52;
    --dp-text: #3d352e;
    --dp-muted: #70655a;
    --dp-grid: rgba(255,255,255,.82);
    --dp-font: 'Poppins', sans-serif;
    --dp-container: 1180px;
    --dp-pad: 52px;
    --dp-radius: 18px;
    --dp-shadow-soft: 0 14px 40px rgba(61,53,46,.05);
    --dp-transition: 900ms cubic-bezier(.22, 1, .36, 1);
}

.dp-widget,
.dp-widget * {
    box-sizing: border-box;
}

.dp-widget {
    font-family: var(--dp-font);
    color: var(--dp-text);
}

.dp-widget a {
    color: inherit;
}

.dp-grid-surface {
    background-color: var(--dp-bg);
    background-image:
        linear-gradient(to right, var(--dp-grid) 1px, transparent 1px),
        linear-gradient(to bottom, var(--dp-grid) 1px, transparent 1px);
    background-size: 64px 64px;
}

.dp-container {
    max-width: var(--dp-container);
    margin: 0 auto;
    padding-left: var(--dp-pad);
    padding-right: var(--dp-pad);
    width: 100%;
}

.dp-highlight {
    color: var(--dp-terracotta);
    font-weight: 500;
}

.dp-bold {
    color: var(--dp-text);
    font-weight: 500;
}

/* Header */
.dp-header-wrap {
    position: relative;
    z-index: 20;
    padding: 20px 0 0;
}

.dp-header {
    max-width: var(--dp-container);
    margin: 0 auto;
    padding: 10px 20px 10px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border: 1px solid rgba(230,223,211,.78);
    border-radius: 999px;
    background: rgba(253,251,247,.62);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    box-shadow: 0 8px 30px rgba(61,53,46,.045);
}

.dp-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--dp-text);
    text-decoration: none;
    font-size: .98rem;
    font-weight: 500;
    white-space: nowrap;
}

.dp-logo-dot {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: var(--dp-sage);
    display: inline-block;
    flex: 0 0 auto;
}

.dp-logo-dot.dp-logo-dot-image {
    overflow: hidden;
    background: var(--dp-sage);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.dp-logo-dot.dp-logo-dot-image .dp-logo-image,
.elementor .dp-logo-dot.dp-logo-dot-image .dp-logo-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: inherit;
}

.dp-nav {
    display: flex;
    align-items: center;
    gap: 26px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dp-nav a {
    text-decoration: none;
    color: var(--dp-muted);
    font-size: .82rem;
    font-weight: 400;
    transition: color .25s ease, transform .25s ease;
}

.dp-nav a:hover {
    color: var(--dp-text);
    transform: translateY(-1px);
}

.dp-nav a.dp-nav-button,
.dp-button,
.dp-tab-button,
.dp-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    border-radius: 999px;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease, opacity .25s ease;
}

.dp-nav a.dp-nav-button {
    padding: 9px 22px;
    background: rgba(163,184,159,.85);
    color: #fff;
}

.dp-button,
.dp-tab-button {
    padding: 12px 26px;
    background: var(--dp-sage);
    color: #fff;
    font-size: .84rem;
    font-weight: 500;
    box-shadow: 0 8px 16px rgba(163,184,159,.14);
}

.dp-button:hover,
.dp-tab-button:hover,
.dp-cta-button:hover {
    transform: translateY(-2px);
}

/* Hero */
.dp-hero {
    position: relative;
    min-height: 88vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background-position: var(--dp-hero-bg-pos, center right);
    background-repeat: no-repeat;
    background-size: cover;
}

.dp-hero-mobile-visual {
    display: none;
    width: 100%;
    min-height: 430px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
}

.dp-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, var(--dp-bg) 0%, rgba(248,246,239,.94) 43%, rgba(248,246,239,.08) 78%);
    pointer-events: none;
}

.dp-hero .dp-container {
    position: relative;
    z-index: 2;
}

.dp-hero-content {
    max-width: 560px;
    padding: 130px 0 54px;
}

.dp-hero-title {
    margin: 0 0 22px;
    font-size: 2.35rem;
    line-height: 1.16;
    font-weight: 400;
    color: var(--dp-text);
    letter-spacing: -.025em;
}

.dp-featured,
.dp-hero-text,
.dp-jornada-text,
.dp-tab-content p,
.dp-sobre-text,
.dp-cta-text,
.dp-footer-text {
    color: var(--dp-muted);
    font-size: .86rem;
    line-height: 1.75;
    font-weight: 300;
}

.dp-featured {
    color: var(--dp-text);
    font-size: .92rem;
    font-weight: 500;
    margin-bottom: 16px;
}

.dp-hero-text {
    margin: 0 0 16px;
}

.dp-hero-cta {
    margin-top: 30px;
}

/* Jornada */
.dp-jornada {
    padding: 62px 0;
}

.dp-jornada-card {
    max-width: var(--dp-container);
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    background: var(--dp-off);
    border: 1px solid rgba(230,223,211,.68);
    border-radius: var(--dp-radius);
    overflow: hidden;
    box-shadow: var(--dp-shadow-soft);
}

.dp-jornada-image,
.dp-jornada-copy {
    flex: 1;
}

.dp-jornada-image {
    min-height: 470px;
    position: relative;
}

.dp-jornada-image img,
.dp-sobre-photo img,
.dp-cta-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dp-jornada-copy {
    padding: 64px 54px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dp-section-title,
.dp-tab-heading,
.dp-sobre-title,
.dp-cta-title {
    margin: 0;
    color: var(--dp-text);
    font-weight: 400;
    letter-spacing: -.02em;
}

.dp-section-title,
.dp-sobre-title {
    font-size: 2.05rem;
    line-height: 1.22;
    margin-bottom: 24px;
}

.dp-section-title em,
.dp-sobre-title em,
.dp-cta-title em {
    font-style: italic;
    font-weight: 500;
}

.dp-jornada-text {
    margin: 0 0 16px;
}

/* Serviços */
.dp-servicos {
    padding: 72px 0 62px;
}

.dp-servicos-header {
    text-align: center;
    margin-bottom: 46px;
}

.dp-tabs-layout {
    display: flex;
    align-items: flex-start;
    gap: 42px;
}

.dp-tabs-menu {
    flex: .36;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dp-tab-trigger {
    width: 100%;
    border: 1px solid var(--dp-sand);
    background: rgba(253,251,247,.58);
    color: var(--dp-muted);
    text-align: left;
    border-radius: 14px;
    padding: 15px 18px;
    font-size: .9rem;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    transition: color .25s ease, border-color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease;
}

.dp-tab-trigger::after {
    content: '→';
    opacity: 0;
    transform: translateX(-8px);
    transition: opacity .25s ease, transform .25s ease;
}

.dp-tab-trigger:hover {
    color: var(--dp-sage-dark);
    border-color: var(--dp-sage);
    transform: translateY(-1px);
}

.dp-tab-trigger.is-active {
    background: var(--dp-sage-dark);
    border-color: var(--dp-sage-dark);
    color: #fff;
    box-shadow: 0 10px 22px rgba(111,128,102,.16);
}

.dp-tab-trigger.is-active::after {
    opacity: 1;
    transform: translateX(0);
}

.dp-tabs-content {
    flex: .64;
    min-height: 455px;
    max-height: 455px;
    overflow-y: auto;
    background: var(--dp-off);
    border: 1px solid rgba(230,223,211,.72);
    border-radius: 20px;
    padding: 42px;
    box-shadow: var(--dp-shadow-soft);
    position: relative;
}

.dp-tabs-content::-webkit-scrollbar { width: 8px; }
.dp-tabs-content::-webkit-scrollbar-track { background: transparent; margin: 18px 0; }
.dp-tabs-content::-webkit-scrollbar-thumb { background: var(--dp-sand); border-radius: 999px; }
.dp-tabs-content::-webkit-scrollbar-thumb:hover { background: var(--dp-sage); }

.dp-tab-panel {
    display: none;
    animation: dpPaneIn 520ms cubic-bezier(.22,1,.36,1) forwards;
}

.dp-tab-panel.is-active {
    display: block;
}

@keyframes dpPaneIn {
    from { opacity: 0; transform: translateY(10px); filter: blur(4px); }
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

.dp-tab-heading {
    font-size: 1.58rem;
    line-height: 1.25;
    font-weight: 500;
    margin-bottom: 8px;
}

.dp-tab-subtitle {
    margin: 0 0 22px;
    color: var(--dp-terracotta);
    font-style: italic;
    font-weight: 400;
    font-size: .94rem;
    line-height: 1.55;
}

.dp-tab-content p {
    margin: 0 0 14px;
}

.dp-ident-box {
    position: relative;
    margin: 28px 0;
    padding: 24px 26px;
    background: rgba(230,223,211,.36);
    border-left: 3px solid var(--dp-sage);
    border-radius: 0 14px 14px 0;
}

.dp-ident-title {
    margin: 0 0 12px !important;
    color: var(--dp-text) !important;
    font-size: .94rem !important;
    font-weight: 500 !important;
}

.dp-ident-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dp-ident-list li {
    position: relative;
    padding-left: 24px;
    margin: 0 0 10px;
    color: var(--dp-muted);
    font-size: .83rem;
    line-height: 1.65;
}

.dp-ident-list li::before {
    content: '✿';
    position: absolute;
    left: 0;
    top: 1px;
    color: var(--dp-terracotta);
    font-size: .7rem;
}

/* Sobre */
.dp-sobre {
    padding: 72px 0;
}

.dp-sobre-layout {
    display: flex;
    align-items: flex-start;
    gap: 72px;
}

.dp-sobre-media {
    flex: .94;
    position: sticky;
    top: 110px;
    padding-left: 28px;
    padding-bottom: 36px;
}

.dp-sobre-bg {
    position: absolute;
    bottom: -18px;
    left: 0;
    width: 84%;
    height: 92%;
    border-radius: 22px;
    background: var(--dp-sage);
    z-index: 1;
}

.dp-sobre-photo {
    position: relative;
    z-index: 2;
    min-height: 660px;
    max-height: 82vh;
    overflow: visible;
    border-radius: 22px;
    isolation: isolate;
}

.dp-sobre-photo > img {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--dp-sobre-img-pos, center top);
    border-radius: inherit;
    box-shadow: 0 15px 38px rgba(61,53,46,.08);
}

.dp-sobre-tag-card {
    position: absolute;
    z-index: 5;
    left: var(--dp-sobre-tag-left, -12px);
    bottom: var(--dp-sobre-tag-bottom, 30px);
    display: flex;
    align-items: center;
    gap: 12px;
    width: var(--dp-sobre-tag-width, auto);
    max-width: min(360px, calc(100% - 20px));
    min-width: 248px;
    padding: 12px 18px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.55);
    background: rgba(253,251,247,.72);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
    backdrop-filter: blur(18px) saturate(125%);
    box-shadow: 0 10px 26px rgba(61,53,46,.09);
}

.dp-sobre-tag-card > span:last-child {
    min-width: 0;
}

.dp-tag-avatar {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: var(--dp-sage-dark);
    overflow: hidden;
    flex: 0 0 auto;
}

.dp-tag-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dp-tag-name {
    display: block;
    color: var(--dp-text);
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dp-tag-handle {
    display: block;
    color: var(--dp-muted);
    font-size: .72rem;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dp-sobre-copy {
    flex: 1.06;
}

.dp-pill {
    display: inline-block;
    margin-bottom: 22px;
    padding: 7px 16px;
    background: var(--dp-beige);
    color: var(--dp-terracotta);
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dp-sobre-featured {
    margin: 0 0 18px;
    color: var(--dp-text);
    font-size: .92rem;
    line-height: 1.75;
    font-weight: 500;
}

.dp-sobre-text {
    margin: 0 0 14px;
    font-size: .84rem;
}

.dp-signature {
    margin-top: 18px;
    color: var(--dp-terracotta);
    font-style: italic;
    font-size: 1rem;
    font-weight: 500;
}

/* CTA */
.dp-cta-section {
    padding: 68px 0 64px;
}

.dp-cta-layout {
    display: flex;
    align-items: center;
}

.dp-cta-box {
    flex: 1;
    margin-right: -76px;
    position: relative;
    z-index: 3;
    padding: 58px 52px;
    border-radius: 22px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.24);
    background: linear-gradient(135deg, rgba(163,184,159,.62), rgba(111,128,102,.74));
    -webkit-backdrop-filter: blur(18px) saturate(130%);
    backdrop-filter: blur(18px) saturate(130%);
    box-shadow: 0 18px 48px rgba(61,53,46,.14);
    overflow: hidden;
}

.dp-cta-box::before {
    content: '';
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: radial-gradient(circle at 22% 16%, rgba(255,255,255,.28), transparent 34%);
    pointer-events: none;
}

.dp-cta-title {
    position: relative;
    z-index: 1;
    color: #fff;
    font-size: 2rem;
    line-height: 1.22;
    margin-bottom: 18px;
}

.dp-cta-text {
    position: relative;
    z-index: 1;
    color: rgba(255,255,255,.9);
    margin: 0 0 30px;
}

.dp-cta-button {
    position: relative;
    z-index: 1;
    padding: 12px 28px;
    background: rgba(253,251,247,.9);
    color: var(--dp-sage-dark);
    font-size: .84rem;
    font-weight: 600;
    box-shadow: 0 10px 22px rgba(61,53,46,.12);
}

.dp-cta-image {
    flex: 1.14;
    height: 430px;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 14px 38px rgba(61,53,46,.08);
}

/* Footer */
.dp-footer {
    padding: 58px 0 28px;
    background: var(--dp-sage);
    color: var(--dp-text);
}

.dp-footer-grid {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.dp-footer-col {
    flex: 1;
}

.dp-footer-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    font-size: 1rem;
    font-weight: 500;
}

.dp-footer h4 {
    margin: 0 0 14px;
    color: var(--dp-text);
    font-size: .9rem;
    font-weight: 600;
}

.dp-footer-text {
    max-width: 300px;
    color: rgba(61,53,46,.78);
    font-size: .82rem;
    margin: 0;
}

.dp-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dp-footer-links li {
    margin-bottom: 9px;
}

.dp-footer-links a {
    color: rgba(61,53,46,.88);
    text-decoration: none;
    font-size: .82rem;
    transition: opacity .25s ease;
}

.dp-footer-links a:hover {
    opacity: .64;
}

.dp-footer-bottom {
    max-width: var(--dp-container);
    margin: 36px auto 0;
    padding: 18px var(--dp-pad) 0;
    border-top: 1px solid rgba(61,53,46,.1);
    display: flex;
    justify-content: space-between;
    gap: 18px;
    color: rgba(61,53,46,.58);
    font-size: .72rem;
}

.dp-footer-bottom p {
    margin: 0;
}

/* Transições */
body:not(.elementor-editor-active) .dp-reveal {
    opacity: 0;
    transform: translate3d(0, 26px, 0);
    filter: blur(7px);
    transition: opacity var(--dp-transition), transform var(--dp-transition), filter var(--dp-transition);
    transition-delay: var(--dp-delay, 0ms);
    will-change: transform, opacity, filter;
}

body:not(.elementor-editor-active) .dp-reveal.dp-left {
    transform: translate3d(-32px, 16px, 0);
}

body:not(.elementor-editor-active) .dp-reveal.dp-right {
    transform: translate3d(32px, 16px, 0);
}

body:not(.elementor-editor-active) .dp-reveal.dp-card {
    transform: translate3d(0, 18px, 0) scale(.985);
}

body:not(.elementor-editor-active) .dp-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0,0,0) scale(1);
    filter: blur(0);
}

.dp-neuro {
    position: relative;
}

.dp-neuro::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    border-radius: inherit;
    pointer-events: none;
    opacity: 0;
    background-image:
        radial-gradient(circle at 17% 26%, rgba(111,128,102,.34) 0 2px, transparent 3px),
        radial-gradient(circle at 38% 18%, rgba(163,184,159,.30) 0 2px, transparent 3px),
        radial-gradient(circle at 70% 28%, rgba(111,128,102,.24) 0 2px, transparent 3px),
        linear-gradient(115deg, transparent 12%, rgba(163,184,159,.30) 13%, transparent 24%),
        linear-gradient(32deg, transparent 36%, rgba(111,128,102,.22) 37%, transparent 50%);
    mix-blend-mode: multiply;
    transition: opacity .35s ease;
}

.dp-neuro.neuro-flash::after,
.dp-neuro.is-visible::after {
    animation: dpNeuroPulse 1150ms ease-out 120ms 1 both;
}

@keyframes dpNeuroPulse {
    0% { opacity: 0; transform: scale(.985); filter: blur(4px); }
    28% { opacity: .64; filter: blur(0); }
    100% { opacity: 0; transform: scale(1.012); filter: blur(2px); }
}

@media (prefers-reduced-motion: reduce) {
    body:not(.elementor-editor-active) .dp-reveal,
    .dp-tab-panel,
    .dp-neuro::after {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
}

/* Responsivo */
@media (max-width: 1024px) {
    :root { --dp-pad: 34px; }
    .dp-tabs-layout { flex-direction: column; gap: 26px; }
    .dp-tabs-menu { width: 100%; flex-direction: row; overflow-x: auto; padding-bottom: 8px; }
    .dp-tab-trigger { width: auto; white-space: nowrap; min-width: max-content; }
    .dp-tab-trigger::after { display: none; }
    .dp-tabs-content { width: 100%; max-height: none; }
    .dp-sobre-layout { gap: 40px; }
    .dp-sobre-media { position: relative; top: auto; }
    .dp-cta-box { padding: 48px 38px; margin-right: -38px; }
}

@media (max-width: 767px) {
    :root { --dp-pad: 22px; }
    .dp-header { flex-direction: column; border-radius: 24px; padding: 18px; }
    .dp-nav { justify-content: center; gap: 14px; }
    .dp-hero {
        min-height: auto;
        display: block;
        background-image: none !important;
    }
    .dp-hero::before { display: none; }
    .dp-hero-mobile-visual { display: block; }
    .dp-hero-content { padding: 38px 0 48px; }
    .dp-hero-title { font-size: 2rem; }
    .dp-section-title, .dp-sobre-title, .dp-cta-title { font-size: 1.76rem; }
    .dp-jornada-card, .dp-sobre-layout, .dp-cta-layout { flex-direction: column; }
    .dp-jornada-card { margin-left: 22px; margin-right: 22px; }
    .dp-jornada-copy { padding: 38px 24px; text-align: center; }
    .dp-jornada-image { width: 100%; min-height: 360px; }
    .dp-servicos { padding: 56px 0; }
    .dp-tabs-content { padding: 30px 22px; }
    .dp-sobre-media { width: 100%; padding-left: 0; padding-bottom: 30px; }
    .dp-sobre-photo { min-height: 560px; max-height: none; }
    .dp-sobre-bg { left: -14px; bottom: -14px; }
    .dp-sobre-copy { text-align: center; }
    .dp-sobre-tag-card { left: 16px; right: 16px; bottom: 16px; width: auto; max-width: none; min-width: 0; }
    .dp-cta-layout { flex-direction: column-reverse; }
    .dp-cta-box { margin: -54px 0 0; width: calc(100% - 30px); text-align: center; padding: 38px 24px; }
    .dp-cta-image { width: 100%; height: 360px; }
    .dp-footer-grid, .dp-footer-bottom { flex-direction: column; text-align: center; }
    .dp-footer-brand { justify-content: center; }
    .dp-footer-text { margin: 0 auto; }
}


/* Correção robusta da seção Sobre dentro do Elementor
   Evita conflito com .elementor img { height:auto; } e mantém o card vidro legível. */
.dp-widget.dp-sobre .dp-sobre-media {
    min-width: 0;
}

.dp-widget.dp-sobre .dp-sobre-photo {
    width: 100%;
    height: var(--dp-sobre-photo-height, 660px);
    min-height: 0;
    max-height: none;
    overflow: visible;
    border-radius: 22px;
}

.elementor .dp-widget.dp-sobre .dp-sobre-photo > img,
.dp-widget.dp-sobre .dp-sobre-photo > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    min-width: 100% !important;
    object-fit: cover !important;
    object-position: var(--dp-sobre-img-pos, center center) !important;
    border-radius: inherit !important;
    display: block !important;
}

.dp-widget.dp-sobre .dp-sobre-tag-card {
    left: var(--dp-sobre-tag-left, 24px);
    bottom: var(--dp-sobre-tag-bottom, 28px);
    width: var(--dp-sobre-tag-width, min(320px, calc(100% - 48px)));
    min-width: 0;
    max-width: calc(100% - 48px);
    padding: 12px 16px;
    overflow: hidden;
}

.dp-widget.dp-sobre .dp-sobre-tag-card > span:last-child {
    flex: 1 1 auto;
    min-width: 0;
}

.dp-widget.dp-sobre .dp-tag-avatar {
    width: 34px;
    height: 34px;
    min-width: 34px;
}

@media (max-width: 767px) {
    .dp-widget.dp-sobre .dp-sobre-photo {
        height: var(--dp-sobre-photo-height-mobile, 560px);
        min-height: 0;
    }
    .dp-widget.dp-sobre .dp-sobre-bg {
        width: 86%;
        height: 94%;
    }
    .dp-widget.dp-sobre .dp-sobre-tag-card {
        left: var(--dp-sobre-tag-left-mobile, 16px);
        right: auto;
        bottom: var(--dp-sobre-tag-bottom-mobile, 18px);
        width: var(--dp-sobre-tag-width-mobile, calc(100% - 32px));
        max-width: calc(100% - 32px);
    }
}

/* Ajustes v1.0.3 — tablet, setas das abas e scroll no Sobre */
.dp-tabs-nav-shell {
    flex: .36;
    min-width: 0;
}

.dp-tabs-nav-shell .dp-tabs-menu {
    flex: 1 1 auto;
    min-width: 0;
}

.dp-tabs-arrow {
    display: none;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(230, 223, 211, .9);
    border-radius: 999px;
    background: rgba(253, 251, 247, .7);
    color: var(--dp-sage-dark);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    backdrop-filter: blur(14px) saturate(120%);
    box-shadow: 0 8px 22px rgba(61, 53, 46, .06);
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.28rem;
    line-height: 1;
    transition: transform .25s ease, background .25s ease, border-color .25s ease, opacity .25s ease;
}

.dp-tabs-arrow:hover {
    transform: translateY(-1px);
    background: rgba(163, 184, 159, .20);
    border-color: rgba(163, 184, 159, .55);
}

.dp-sobre-copy-scroll {
    max-height: var(--dp-sobre-copy-height, var(--dp-sobre-photo-height, 620px));
    overflow-y: auto;
    padding-right: 16px;
    -ms-overflow-style: none; /* IE/Edge antigo */
    scrollbar-width: none; /* Firefox: mantém o scroll e esconde a barra */
}

.dp-sobre-copy-scroll::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none; /* Chrome, Safari e Edge */
}

@media (min-width: 768px) and (max-width: 1024px) {
    :root { --dp-pad: 46px; }

    .dp-container {
        padding-left: var(--dp-pad);
        padding-right: var(--dp-pad);
    }

    .dp-hero-content,
    .dp-servicos,
    .dp-sobre,
    .dp-cta-section {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .dp-tabs-layout {
        gap: 22px;
    }

    .dp-tabs-nav-shell {
        width: 100%;
        flex: 0 0 auto;
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr) 38px;
        align-items: center;
        gap: 10px;
    }

    .dp-tabs-arrow {
        display: inline-flex;
    }

    .dp-tabs-menu {
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-behavior: smooth;
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding: 4px 2px 10px;
    }

    .dp-tabs-menu::-webkit-scrollbar {
        display: none;
    }

    .dp-tab-trigger {
        padding: 13px 18px;
        font-size: .86rem;
    }

    .dp-tabs-content {
        padding: 36px;
        min-height: 410px;
        max-height: 500px;
    }

    .dp-sobre-layout {
        gap: 32px;
        align-items: flex-start;
    }

    .dp-sobre-media {
        flex: .92;
        padding-left: 18px;
        padding-bottom: 28px;
    }

    .dp-sobre-copy {
        flex: 1.08;
    }

    .dp-widget.dp-sobre .dp-sobre-photo {
        height: var(--dp-sobre-photo-height, 500px);
    }

    .dp-sobre-copy-scroll {
        max-height: var(--dp-sobre-copy-height, 500px);
        padding-right: 14px;
    }

    .dp-sobre-title {
        font-size: 2rem;
    }

    .dp-pill {
        margin-bottom: 18px;
        padding: 6px 14px;
        font-size: .64rem;
    }

    .dp-widget.dp-sobre .dp-sobre-tag-card {
        left: var(--dp-sobre-tag-left, 18px);
        bottom: var(--dp-sobre-tag-bottom, 20px);
        width: var(--dp-sobre-tag-width, min(280px, calc(100% - 36px)));
        max-width: calc(100% - 36px);
        padding: 10px 14px;
        gap: 10px;
    }

    .dp-widget.dp-sobre .dp-tag-avatar {
        width: 30px;
        height: 30px;
        min-width: 30px;
    }

    .dp-tag-name { font-size: .76rem; }
    .dp-tag-handle { font-size: .67rem; }
}

@media (max-width: 767px) {
    .dp-tabs-nav-shell {
        width: 100%;
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr) 34px;
        align-items: center;
        gap: 8px;
    }

    .dp-tabs-arrow {
        display: inline-flex;
        width: 34px;
        height: 34px;
        font-size: 1.16rem;
    }

    .dp-tabs-menu {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-behavior: smooth;
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding: 3px 1px 10px;
    }

    .dp-tabs-menu::-webkit-scrollbar { display: none; }

    .dp-sobre-copy-scroll {
        max-height: var(--dp-sobre-copy-height, 420px);
        overflow-y: auto;
        padding-right: 0;
    }
}


/* Correção v1.0.4 — Sobre no tablet
   A imagem passa a preencher o card pelo background do próprio bloco.
   Isso evita o bug do Elementor onde a tag <img> volta para height:auto
   e deixa o bloco sálvia aparecendo vazio abaixo da foto. */
.dp-widget.dp-sobre .dp-sobre-photo {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    background-image: var(--dp-sobre-bg-image) !important;
    background-size: cover !important;
    background-position: var(--dp-sobre-img-pos, center center) !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
}

.elementor .dp-widget.dp-sobre .dp-sobre-photo > img.dp-sobre-image-fallback,
.dp-widget.dp-sobre .dp-sobre-photo > img.dp-sobre-image-fallback {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: var(--dp-sobre-img-pos, center center) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.dp-widget.dp-sobre .dp-sobre-tag-card {
    z-index: 8 !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dp-widget.dp-sobre .dp-sobre-layout {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
    }

    .dp-widget.dp-sobre .dp-sobre-media {
        flex: 0 0 42% !important;
        max-width: 42% !important;
        width: 42% !important;
        position: relative !important;
        overflow: visible !important;
    }

    .dp-widget.dp-sobre .dp-sobre-copy {
        flex: 1 1 58% !important;
        min-width: 0 !important;
    }

    .dp-widget.dp-sobre .dp-sobre-photo {
        height: var(--dp-sobre-photo-height, 500px) !important;
        min-height: 440px !important;
        max-height: 560px !important;
        aspect-ratio: auto !important;
        background-size: cover !important;
        background-position: var(--dp-sobre-img-pos, center center) !important;
    }

    .dp-widget.dp-sobre .dp-sobre-bg {
        width: 88% !important;
        height: calc(var(--dp-sobre-photo-height, 500px) - 6px) !important;
        min-height: 430px !important;
        max-height: 550px !important;
        bottom: -14px !important;
        left: 0 !important;
    }

    .dp-widget.dp-sobre .dp-sobre-tag-card {
        left: 18px !important;
        right: 18px !important;
        bottom: 18px !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        padding: 10px 12px !important;
        gap: 9px !important;
    }

    .dp-widget.dp-sobre .dp-tag-name {
        font-size: .72rem !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .dp-widget.dp-sobre .dp-tag-handle {
        font-size: .64rem !important;
    }
}

@media (max-width: 767px) {
    .dp-widget.dp-sobre .dp-sobre-photo {
        height: var(--dp-sobre-photo-height-mobile, 520px) !important;
        min-height: 420px !important;
        background-size: cover !important;
        background-position: var(--dp-sobre-img-pos, center center) !important;
    }

    .dp-widget.dp-sobre .dp-sobre-bg {
        height: calc(var(--dp-sobre-photo-height-mobile, 520px) - 8px) !important;
        min-height: 410px !important;
    }
}


/* Ajuste v1.0.5 — CTA sem foto no mobile e rodapé sem marca visual */
.dp-footer .dp-footer-brand {
    display: none !important;
}

@media (max-width: 767px) {
    .dp-widget.dp-cta-section .dp-cta-layout {
        display: block !important;
    }

    .dp-widget.dp-cta-section .dp-cta-image {
        display: none !important;
    }

    .dp-widget.dp-cta-section .dp-cta-box {
        width: 100% !important;
        margin: 0 !important;
        text-align: center;
    }
}

/* Atualização v1.0.10 — Serviços compactos com botão Ver mais
   Mostra apenas número, título e subtítulo no primeiro contato. O conteúdo completo abre dentro do próprio card. */
.dp-servicos-cards-widget .dp-servicos-header {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.dp-servicos-intro {
    max-width: 620px;
    margin: 16px auto 0;
    color: var(--dp-muted);
    font-size: .98rem;
    line-height: 1.7;
}

.dp-servicos-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}

.dp-service-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: auto;
    align-self: start;
    padding: 34px;
    overflow: hidden;
    background: rgba(253, 251, 247, .82);
    border: 1px solid rgba(230, 223, 211, .82);
    border-radius: 22px;
    box-shadow: var(--dp-shadow-soft);
    -webkit-backdrop-filter: blur(10px) saturate(115%);
    backdrop-filter: blur(10px) saturate(115%);
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease;
}

.dp-service-card::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--dp-sage);
    opacity: .72;
}

.dp-service-card:hover,
.dp-service-card.is-open {
    transform: translateY(-4px);
    border-color: rgba(163, 184, 159, .72);
    box-shadow: 0 22px 54px rgba(61, 53, 46, .10);
    background: rgba(253, 251, 247, .96);
}

.dp-service-card-summary {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.dp-service-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}

.dp-service-card-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: rgba(163, 184, 159, .18);
    color: var(--dp-sage-dark);
    font-size: .92rem;
    font-weight: 600;
    letter-spacing: .08em;
}

.dp-service-card-label {
    color: var(--dp-muted);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.dp-service-card-title {
    margin: 0 0 10px;
    color: var(--dp-text);
    font-size: 1.28rem;
    line-height: 1.25;
    font-weight: 500;
}

.dp-service-card-subtitle {
    margin: 0 0 22px;
    color: var(--dp-terracotta);
    font-size: .92rem;
    line-height: 1.55;
    font-style: italic;
}

.dp-service-more-button {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: fit-content;
    margin-top: auto;
    padding: 12px 22px;
    color: var(--dp-text);
    font-family: inherit;
    font-size: .82rem;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    border: 0;
    border-radius: 999px;
    background: rgba(163, 184, 159, .88);
    box-shadow: 0 14px 30px rgba(92, 107, 88, .16);
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}

.dp-service-more-button:hover,
.dp-service-more-button:focus-visible {
    transform: translateY(-2px);
    background: rgba(145, 169, 140, .96);
    box-shadow: 0 18px 36px rgba(92, 107, 88, .20);
}

.dp-service-more-button svg {
    width: 16px;
    height: 16px;
    transition: transform .22s ease;
}

.dp-service-card.is-open .dp-service-more-button svg {
    transform: rotate(180deg);
}

.dp-service-details[hidden] {
    display: none !important;
}

.dp-service-details {
    margin-top: 26px;
    padding-top: 24px;
    border-top: 1px solid rgba(230, 223, 211, .78);
    animation: dpServiceOpen .28s ease both;
}

@keyframes dpServiceOpen {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

.dp-service-card-text p {
    margin: 0 0 14px;
    color: var(--dp-muted);
    font-size: .94rem;
    line-height: 1.72;
}

.dp-service-card-text p:last-child {
    margin-bottom: 0;
}

.dp-service-ident-box {
    margin: 22px 0 24px;
    padding: 20px 20px 20px 22px;
    background: rgba(230, 223, 211, .28);
}

.dp-service-ident-box .dp-ident-list {
    gap: 9px;
}

.dp-service-card-button {
    margin-top: auto;
    align-self: flex-start;
}

@media (min-width: 1025px) {
    .dp-servicos-cards .dp-service-card-wide {
        grid-column: 1 / -1;
        width: 100%;
        max-width: 100%;
        min-height: auto;
    }

    .dp-servicos-cards .dp-service-card-wide .dp-service-card-summary {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 42px;
        align-items: end;
    }

    .dp-servicos-cards .dp-service-card-wide .dp-service-card-top,
    .dp-servicos-cards .dp-service-card-wide .dp-service-card-title,
    .dp-servicos-cards .dp-service-card-wide .dp-service-card-subtitle {
        grid-column: 1;
    }

    .dp-servicos-cards .dp-service-card-wide .dp-service-more-button {
        grid-column: 2;
        grid-row: 1 / span 3;
        align-self: end;
        margin: 0 0 2px;
        min-width: 170px;
    }

    .dp-servicos-cards .dp-service-card-wide .dp-service-details {
        display: grid;
        grid-template-columns: minmax(0, .95fr) minmax(320px, 1fr);
        column-gap: 40px;
        row-gap: 22px;
        align-items: start;
    }

    .dp-servicos-cards .dp-service-card-wide .dp-service-ident-box {
        margin: 0;
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .dp-servicos-cards .dp-service-card-wide .dp-service-card-button {
        grid-column: 1 / -1;
        justify-self: center;
        align-self: center;
        margin-top: 2px;
        min-width: 320px;
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 1024px) {
    .dp-servicos-cards {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .dp-service-card {
        padding: 30px;
    }
}

@media (max-width: 767px) {
    .dp-servicos-cards-widget .dp-servicos-header {
        margin-bottom: 30px;
    }

    .dp-servicos-intro {
        font-size: .92rem;
        line-height: 1.62;
    }

    .dp-service-card {
        padding: 26px 22px;
        border-radius: 18px;
    }

    .dp-service-card-top {
        margin-bottom: 18px;
    }

    .dp-service-card-number {
        width: 42px;
        height: 42px;
        font-size: .82rem;
    }

    .dp-service-card-title {
        font-size: 1.14rem;
    }

    .dp-service-more-button,
    .dp-service-card-button {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* Atualização v1.0.9 — Sobre completo no mobile e tablet
   Mantém o scroll invisível apenas no desktop. Em telas menores, o texto abre inteiro. */
@media (max-width: 1024px) {
    .dp-widget.dp-sobre .dp-sobre-copy-scroll,
    .dp-sobre-copy-scroll {
        max-height: none !important;
        overflow: visible !important;
        padding-right: 0 !important;
    }
}


/* Atualização v1.0.13 — Serviços mais organizados/equilibrados
   Mantém os cards fechados com a mesma altura visual, sem fazer o card vizinho abrir em branco. */
@media (min-width: 1025px) {
    .dp-servicos-cards .dp-service-card:not(.is-open):not(.dp-service-card-wide) {
        min-height: 308px;
    }

    .dp-servicos-cards .dp-service-card:not(.is-open):not(.dp-service-card-wide) .dp-service-card-summary {
        min-height: 240px;
    }

    .dp-servicos-cards .dp-service-card-wide:not(.is-open) {
        min-height: 210px;
    }

    .dp-servicos-cards .dp-service-card-wide:not(.is-open) .dp-service-card-summary {
        min-height: 142px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dp-servicos-cards .dp-service-card:not(.is-open) {
        min-height: 260px;
    }

    .dp-servicos-cards .dp-service-card:not(.is-open) .dp-service-card-summary {
        min-height: 200px;
    }
}

@media (max-width: 767px) {
    .dp-servicos-cards .dp-service-card:not(.is-open) {
        min-height: auto;
    }

    .dp-servicos-cards .dp-service-card:not(.is-open) .dp-service-card-summary {
        min-height: 0;
    }
}


/* Atualização v1.0.14 — Header como original, com imagem dentro da bolinha redonda. */
.dp-header .dp-brand .dp-logo-dot,
.elementor .dp-header .dp-brand .dp-logo-dot {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 999px;
}

.dp-header .dp-logo-dot.dp-logo-dot-image,
.elementor .dp-header .dp-logo-dot.dp-logo-dot-image {
    overflow: hidden;
}

.dp-header .dp-logo-dot.dp-logo-dot-image img,
.elementor .dp-header .dp-logo-dot.dp-logo-dot-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    border-radius: 999px !important;
    object-fit: cover !important;
}

/* Atualização v1.0.16 — Título da Hero com quebras independentes por dispositivo. */
.dp-hero-title-tablet,
.dp-hero-title-mobile {
    display: none;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dp-hero-title-desktop,
    .dp-hero-title-mobile {
        display: none;
    }

    .dp-hero-title-tablet {
        display: block;
    }
}

@media (max-width: 767px) {
    .dp-hero-title-desktop,
    .dp-hero-title-tablet {
        display: none;
    }

    .dp-hero-title-mobile {
        display: block;
    }
}

/* Atualização v1.0.19 — Textos responsivos sem duplicar no tablet/mobile.
   O PHP só imprime o campo preenchido de cada dispositivo.
   Se Tablet/Mobile estiver vazio, o CSS usa o texto do Desktop como fallback. */
.dp-rtext-group {
    display: contents;
}

.dp-rtext-group .dp-rtext {
    display: none !important;
}

@media (min-width: 1025px) {
    .dp-rtext-group .dp-rtext-block.dp-rtext-desktop {
        display: block !important;
    }

    .dp-rtext-group .dp-rtext-inline.dp-rtext-desktop {
        display: inline-block !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dp-rtext-group.dp-has-tablet .dp-rtext-block.dp-rtext-tablet,
    .dp-rtext-group:not(.dp-has-tablet) .dp-rtext-block.dp-rtext-desktop {
        display: block !important;
    }

    .dp-rtext-group.dp-has-tablet .dp-rtext-inline.dp-rtext-tablet,
    .dp-rtext-group:not(.dp-has-tablet) .dp-rtext-inline.dp-rtext-desktop {
        display: inline-block !important;
    }
}

@media (max-width: 767px) {
    .dp-rtext-group.dp-has-mobile .dp-rtext-block.dp-rtext-mobile,
    .dp-rtext-group:not(.dp-has-mobile).dp-has-tablet .dp-rtext-block.dp-rtext-tablet,
    .dp-rtext-group:not(.dp-has-mobile):not(.dp-has-tablet) .dp-rtext-block.dp-rtext-desktop {
        display: block !important;
    }

    .dp-rtext-group.dp-has-mobile .dp-rtext-inline.dp-rtext-mobile,
    .dp-rtext-group:not(.dp-has-mobile).dp-has-tablet .dp-rtext-inline.dp-rtext-tablet,
    .dp-rtext-group:not(.dp-has-mobile):not(.dp-has-tablet) .dp-rtext-inline.dp-rtext-desktop {
        display: inline-block !important;
    }
}

/* Classes aplicadas por JS ajudam no preview do Elementor, mesmo quando o breakpoint
   do painel não bate exatamente com 1024/767px. */
body.dp-view-desktop .dp-rtext-group .dp-rtext {
    display: none !important;
}

body.dp-view-desktop .dp-rtext-group .dp-rtext-block.dp-rtext-desktop {
    display: block !important;
}

body.dp-view-desktop .dp-rtext-group .dp-rtext-inline.dp-rtext-desktop {
    display: inline-block !important;
}

body.dp-view-tablet .dp-rtext-group .dp-rtext {
    display: none !important;
}

body.dp-view-tablet .dp-rtext-group.dp-has-tablet .dp-rtext-block.dp-rtext-tablet,
body.dp-view-tablet .dp-rtext-group:not(.dp-has-tablet) .dp-rtext-block.dp-rtext-desktop {
    display: block !important;
}

body.dp-view-tablet .dp-rtext-group.dp-has-tablet .dp-rtext-inline.dp-rtext-tablet,
body.dp-view-tablet .dp-rtext-group:not(.dp-has-tablet) .dp-rtext-inline.dp-rtext-desktop {
    display: inline-block !important;
}

body.dp-view-mobile .dp-rtext-group .dp-rtext {
    display: none !important;
}

body.dp-view-mobile .dp-rtext-group.dp-has-mobile .dp-rtext-block.dp-rtext-mobile,
body.dp-view-mobile .dp-rtext-group:not(.dp-has-mobile).dp-has-tablet .dp-rtext-block.dp-rtext-tablet,
body.dp-view-mobile .dp-rtext-group:not(.dp-has-mobile):not(.dp-has-tablet) .dp-rtext-block.dp-rtext-desktop {
    display: block !important;
}

body.dp-view-mobile .dp-rtext-group.dp-has-mobile .dp-rtext-inline.dp-rtext-mobile,
body.dp-view-mobile .dp-rtext-group:not(.dp-has-mobile).dp-has-tablet .dp-rtext-inline.dp-rtext-tablet,
body.dp-view-mobile .dp-rtext-group:not(.dp-has-mobile):not(.dp-has-tablet) .dp-rtext-inline.dp-rtext-desktop {
    display: inline-block !important;
}


/* Atualização v1.0.21 — Card flutuante proporcional em todos os dispositivos.
   Corrige apenas o card sobre a imagem, sem alterar a estrutura da seção Sobre. */
.dp-widget.dp-sobre .dp-sobre-tag-card {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
    left: var(--dp-sobre-tag-left, 24px) !important;
    right: auto !important;
    bottom: var(--dp-sobre-tag-bottom, 24px) !important;
    width: var(--dp-sobre-tag-width, min(390px, calc(100% - 48px))) !important;
    max-width: calc(100% - 48px) !important;
    min-width: 0 !important;
    min-height: 76px !important;
    height: auto !important;
    padding: 14px 18px !important;
    border-radius: var(--dp-sobre-tag-radius, 18px) !important;
    overflow: hidden !important;
    line-height: 1.2 !important;
}

.dp-widget.dp-sobre .dp-sobre-tag-card > span:not(.dp-tag-avatar) {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
}

.dp-widget.dp-sobre .dp-tag-avatar {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    flex: 0 0 42px !important;
    border-radius: 999px !important;
    overflow: hidden !important;
}

.dp-widget.dp-sobre .dp-tag-avatar img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    border-radius: inherit !important;
}

.dp-widget.dp-sobre .dp-tag-name,
.dp-widget.dp-sobre .dp-tag-handle {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.dp-widget.dp-sobre .dp-tag-name {
    font-size: .84rem !important;
    line-height: 1.18 !important;
    font-weight: 600 !important;
}

.dp-widget.dp-sobre .dp-tag-handle {
    margin-top: 4px !important;
    font-size: .72rem !important;
    line-height: 1.25 !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dp-widget.dp-sobre .dp-sobre-tag-card {
        left: var(--dp-sobre-tag-left, 22px) !important;
        bottom: var(--dp-sobre-tag-bottom, 22px) !important;
        width: var(--dp-sobre-tag-width, min(390px, calc(100% - 44px))) !important;
        max-width: calc(100% - 44px) !important;
        min-height: 74px !important;
        padding: 13px 17px !important;
        gap: 13px !important;
    }

    .dp-widget.dp-sobre .dp-tag-avatar {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        flex-basis: 40px !important;
    }

    .dp-widget.dp-sobre .dp-tag-name {
        font-size: .82rem !important;
    }

    .dp-widget.dp-sobre .dp-tag-handle {
        font-size: .7rem !important;
    }
}

@media (max-width: 767px) {
    .dp-widget.dp-sobre .dp-sobre-tag-card {
        left: var(--dp-sobre-tag-left-mobile, 16px) !important;
        right: auto !important;
        bottom: var(--dp-sobre-tag-bottom-mobile, 16px) !important;
        width: var(--dp-sobre-tag-width-mobile, calc(100% - 32px)) !important;
        max-width: calc(100% - 32px) !important;
        min-height: 70px !important;
        padding: 12px 14px !important;
        gap: 12px !important;
        border-radius: var(--dp-sobre-tag-radius-mobile, 16px) !important;
    }

    .dp-widget.dp-sobre .dp-tag-avatar {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        flex-basis: 38px !important;
    }

    .dp-widget.dp-sobre .dp-tag-name {
        font-size: .78rem !important;
    }

    .dp-widget.dp-sobre .dp-tag-handle {
        font-size: .68rem !important;
    }
}


/* Atualização v1.0.23 — Correção do card flutuante no tablet.
   Mantém o card proporcional e totalmente visível apenas no breakpoint tablet. */
@media (min-width: 768px) and (max-width: 1024px) {
    .dp-widget.dp-sobre .dp-sobre-photo {
        overflow: visible !important;
    }

    .dp-widget.dp-sobre .dp-sobre-tag-card {
        left: 16px !important;
        right: 16px !important;
        bottom: 16px !important;
        width: auto !important;
        max-width: calc(100% - 32px) !important;
        min-width: 0 !important;
        min-height: 64px !important;
        padding: 10px 14px !important;
        gap: 10px !important;
        border-radius: 16px !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }

    .dp-widget.dp-sobre .dp-sobre-tag-card > span:not(.dp-tag-avatar) {
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    .dp-widget.dp-sobre .dp-tag-avatar {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        flex: 0 0 36px !important;
    }

    .dp-widget.dp-sobre .dp-tag-name {
        font-size: 14px !important;
        line-height: 1.15 !important;
    }

    .dp-widget.dp-sobre .dp-tag-handle {
        margin-top: 2px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
    }
}


/* Atualização v1.0.24 — Botões centralizados no mobile.
   Centraliza todos os CTAs/botões dos widgets no breakpoint mobile. */
@media (max-width: 767px) {
    .dp-widget .dp-button,
    .dp-widget .dp-hero-button,
    .dp-widget .dp-tab-button,
    .dp-widget .dp-service-card-button,
    .dp-widget .dp-cta-button,
    .dp-widget .dp-footer-button,
    .dp-widget a[class*="button"],
    .dp-widget button[class*="button"] {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .dp-widget .dp-button,
    .dp-widget .dp-hero-button,
    .dp-widget .dp-tab-button,
    .dp-widget .dp-service-card-button,
    .dp-widget .dp-cta-button,
    .dp-widget .dp-footer-button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .dp-widget .dp-hero-actions,
    .dp-widget .dp-cta-actions,
    .dp-widget .dp-service-card-actions,
    .dp-widget .dp-tab-actions,
    .dp-widget .dp-footer-actions {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
    }

    .dp-widget .dp-service-card-summary,
    .dp-widget .dp-service-card-details,
    .dp-widget .dp-tab-panel,
    .dp-widget .dp-hero-content,
    .dp-widget .dp-cta-box,
    .dp-widget .dp-footer-col {
        text-align: center;
    }
}




/* Atualização v1.0.27 — Correção dos controles de posição das imagens.
   Remove travas que forçavam imagem ao centro e faz os controles do Elementor voltarem a funcionar. */

/* Hero */
.dp-widget.dp-hero,
.dp-widget.dp-hero .dp-hero-mobile-visual {
    background-position: var(--dp-hero-image-position, center right) !important;
}

.dp-widget.dp-hero .dp-hero-mobile-visual img,
.elementor .dp-widget.dp-hero .dp-hero-mobile-visual img {
    object-position: var(--dp-hero-image-position, center right) !important;
}

/* Sobre */
.dp-widget.dp-sobre .dp-sobre-photo {
    background-position: var(--dp-sobre-img-pos, center top) !important;
}

.elementor .dp-widget.dp-sobre .dp-sobre-photo > img,
.dp-widget.dp-sobre .dp-sobre-photo > img,
.elementor .dp-widget.dp-sobre .dp-sobre-photo > img.dp-sobre-image-fallback,
.dp-widget.dp-sobre .dp-sobre-photo > img.dp-sobre-image-fallback {
    object-position: var(--dp-sobre-img-pos, center top) !important;
}

/* Jornada e CTA — preserva posições configuradas via Elementor caso o widget use imagem com object-fit/background. */
.dp-widget .dp-jornada-image img,
.dp-widget .dp-cta-image img,
.elementor .dp-widget .dp-jornada-image img,
.elementor .dp-widget .dp-cta-image img {
    object-position: var(--dp-image-position, center center) !important;
}

.dp-widget .dp-jornada-image,
.dp-widget .dp-cta-image {
    background-position: var(--dp-image-position, center center) !important;
}


/* Atualização v1.0.28 — Controle de altura/alinhamento vertical da imagem em Sobre.
   Agora o Elementor permite escolher Topo, Centro ou Baixo por dispositivo. */
.dp-widget.dp-sobre .dp-sobre-layout {
    align-items: flex-start;
}

.dp-widget.dp-sobre .dp-sobre-media {
    align-self: flex-start;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dp-widget.dp-sobre .dp-sobre-layout {
        align-items: flex-start !important;
    }

    .dp-widget.dp-sobre .dp-sobre-media {
        align-self: center;
    }
}

@media (max-width: 767px) {
    .dp-widget.dp-sobre .dp-sobre-media {
        align-self: flex-start;
    }
}


/* Atualização v1.0.29 — Header mobile com menu hamburger.
   No mobile, mantém foto + nome à esquerda e 3 tracinhos à direita.
   Ao clicar, abre Serviços, Sobre mim, Dúvidas Frequentes e botão Contato. */
.dp-header-mobile-toggle {
    display: none;
}

.dp-header-mobile-panel {
    display: contents;
}

@media (max-width: 767px) {
    .dp-header {
        width: calc(100% - 28px) !important;
        max-width: calc(100% - 28px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 14px 16px !important;
        border-radius: 20px !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        position: relative !important;
        overflow: visible !important;
    }

    .dp-header .dp-brand,
    .dp-header .dp-logo,
    .dp-header .dp-header-brand {
        min-width: 0 !important;
    }

    .dp-header .dp-brand {
        display: inline-flex !important;
        align-items: center !important;
        gap: 10px !important;
        flex: 1 1 auto !important;
    }

    .dp-header .dp-logo,
    .dp-header .dp-logo-mark,
    .dp-header .dp-brand-mark {
        flex: 0 0 auto !important;
    }

    .dp-header .dp-brand-text,
    .dp-header .dp-logo-text,
    .dp-header .dp-brand-name {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 190px !important;
    }

    .dp-header-mobile-toggle {
        display: inline-flex !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        border: 1px solid rgba(163, 184, 159, .28) !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, .74) !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 4px !important;
        cursor: pointer !important;
        padding: 0 !important;
        box-shadow: 0 8px 18px rgba(61, 53, 46, .06) !important;
        z-index: 12 !important;
    }

    .dp-header-mobile-toggle span {
        display: block !important;
        width: 18px !important;
        height: 2px !important;
        border-radius: 999px !important;
        background: var(--dp-text, #3d352e) !important;
        transition: transform .24s ease, opacity .24s ease !important;
    }

    .dp-header.is-mobile-menu-open .dp-header-mobile-toggle span:nth-child(1) {
        transform: translateY(6px) rotate(45deg) !important;
    }

    .dp-header.is-mobile-menu-open .dp-header-mobile-toggle span:nth-child(2) {
        opacity: 0 !important;
    }

    .dp-header.is-mobile-menu-open .dp-header-mobile-toggle span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg) !important;
    }

    .dp-header-mobile-panel {
        display: none !important;
        position: absolute !important;
        top: calc(100% + 10px) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 10 !important;
        padding: 16px !important;
        border: 1px solid rgba(230, 223, 211, .82) !important;
        border-radius: 20px !important;
        background: rgba(253, 251, 247, .96) !important;
        -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
        backdrop-filter: blur(16px) saturate(120%) !important;
        box-shadow: 0 18px 42px rgba(61, 53, 46, .12) !important;
    }

    .dp-header.is-mobile-menu-open .dp-header-mobile-panel {
        display: block !important;
    }

    .dp-header-mobile-panel .dp-nav {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
        width: 100% !important;
        margin: 0 0 14px !important;
        text-align: center !important;
    }

    .dp-header-mobile-panel .dp-nav a {
        display: block !important;
        width: 100% !important;
        padding: 8px 10px !important;
        text-align: center !important;
    }

    .dp-header-mobile-panel .dp-header-cta,
    .dp-header-mobile-panel .dp-button,
    .dp-header-mobile-panel a[class*="button"],
    .dp-header-mobile-panel a[href*="wa.me"],
    .dp-header-mobile-panel a[href*="api.whatsapp"] {
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        width: auto !important;
        min-width: 120px !important;
        text-align: center !important;
    }
}


/* Atualização v1.0.30 — Correção real do header mobile.
   Esconde o menu direto no mobile, mostra apenas foto/nome + hamburger e abre o painel ao clicar. */
.dp-header-mobile-toggle {
    display: none;
}

.dp-header-mobile-panel {
    display: contents;
}

@media (min-width: 768px) {
    .dp-header-mobile-toggle {
        display: none !important;
    }

    .dp-header-mobile-panel {
        display: contents !important;
    }
}

@media (max-width: 767px) {
    .dp-header-wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .dp-header {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 14px 16px !important;
        border-radius: 20px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        position: relative !important;
        overflow: visible !important;
        min-height: 66px !important;
    }

    .dp-header > .dp-brand {
        order: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 56px) !important;
        white-space: nowrap !important;
    }

    .dp-header > .dp-brand .dp-logo-dot,
    .dp-header > .dp-brand .dp-logo-dot-image {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        flex: 0 0 34px !important;
        border-radius: 999px !important;
        overflow: hidden !important;
    }

    .dp-header > .dp-brand .dp-logo-image {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: inherit !important;
        display: block !important;
    }

    .dp-header > .dp-brand .dp-rtext,
    .dp-header > .dp-brand span:not(.dp-logo-dot):not(.dp-logo-dot-image) {
        min-width: 0 !important;
        max-width: 190px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .dp-header > .dp-header-mobile-toggle {
        order: 2 !important;
        display: inline-flex !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        flex: 0 0 42px !important;
        border: 1px solid rgba(163, 184, 159, .32) !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, .78) !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 4px !important;
        cursor: pointer !important;
        padding: 0 !important;
        box-shadow: 0 8px 18px rgba(61, 53, 46, .06) !important;
        z-index: 20 !important;
        appearance: none !important;
    }

    .dp-header > .dp-header-mobile-toggle span {
        display: block !important;
        width: 18px !important;
        height: 2px !important;
        border-radius: 999px !important;
        background: var(--dp-text, #3d352e) !important;
        transition: transform .24s ease, opacity .24s ease !important;
    }

    .dp-header.is-mobile-menu-open > .dp-header-mobile-toggle span:nth-child(1) {
        transform: translateY(6px) rotate(45deg) !important;
    }

    .dp-header.is-mobile-menu-open > .dp-header-mobile-toggle span:nth-child(2) {
        opacity: 0 !important;
    }

    .dp-header.is-mobile-menu-open > .dp-header-mobile-toggle span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg) !important;
    }

    .dp-header > .dp-header-mobile-panel {
        order: 3 !important;
        display: none !important;
        position: absolute !important;
        top: calc(100% + 10px) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 18 !important;
        padding: 16px !important;
        border: 1px solid rgba(230, 223, 211, .82) !important;
        border-radius: 20px !important;
        background: rgba(253, 251, 247, .98) !important;
        -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
        backdrop-filter: blur(16px) saturate(120%) !important;
        box-shadow: 0 18px 42px rgba(61, 53, 46, .13) !important;
    }

    .dp-header.is-mobile-menu-open > .dp-header-mobile-panel {
        display: block !important;
    }

    .dp-header > .dp-header-mobile-panel .dp-nav {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        gap: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .dp-header > .dp-header-mobile-panel .dp-nav a {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        padding: 6px 10px !important;
        text-align: center !important;
    }

    .dp-header > .dp-header-mobile-panel .dp-nav a.dp-nav-button {
        width: auto !important;
        min-width: 118px !important;
        margin-top: 4px !important;
        padding: 12px 22px !important;
    }
}


/* Atualização v1.0.31 — Header mobile funcional sem JS + faixa sofisticada na hero */
.dp-header-mobile-checkbox {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.dp-hero-ticker {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 28px;
    z-index: 3;
    overflow: hidden;
    background: var(--dp-terracotta);
    padding: 12px 0;
    box-shadow: 0 10px 28px rgba(61,53,46,.12);
}

.dp-hero-ticker-track {
    display: flex;
    align-items: center;
    width: max-content;
    gap: 18px;
    white-space: nowrap;
    will-change: transform;
    animation: dpHeroTickerMove 28s linear infinite;
}

.dp-hero-ticker-item,
.dp-hero-ticker-sep {
    color: #fff;
    font-size: .82rem;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    flex: 0 0 auto;
}

.dp-hero-ticker-sep {
    opacity: .92;
}

@keyframes dpHeroTickerMove {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (max-width: 767px) {
    .dp-hero-ticker {
        position: relative;
        bottom: auto;
        left: auto;
        right: auto;
        margin-top: -18px;
        z-index: 4;
        padding: 10px 0;
    }

    .dp-hero-ticker-item,
    .dp-hero-ticker-sep {
        font-size: .72rem;
        letter-spacing: .06em;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dp-hero-ticker-track {
        animation: none;
    }
}

/* Header mobile com checkbox toggle para funcionar mesmo sem JS */
@media (max-width: 767px) {
    .dp-header {
        flex-wrap: nowrap !important;
    }

    .dp-header > .dp-header-mobile-checkbox {
        display: block !important;
    }

    .dp-header > .dp-header-mobile-toggle {
        display: inline-flex !important;
    }

    .dp-header > .dp-header-mobile-panel {
        display: none !important;
    }

    .dp-header > .dp-header-mobile-checkbox:checked + .dp-header-mobile-toggle + .dp-header-mobile-panel {
        display: block !important;
    }

    .dp-header > .dp-header-mobile-checkbox:checked + .dp-header-mobile-toggle span:nth-child(1) {
        transform: translateY(6px) rotate(45deg) !important;
    }

    .dp-header > .dp-header-mobile-checkbox:checked + .dp-header-mobile-toggle span:nth-child(2) {
        opacity: 0 !important;
    }

    .dp-header > .dp-header-mobile-checkbox:checked + .dp-header-mobile-toggle span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg) !important;
    }
}


/* Atualização v1.0.32 — Correção definitiva do menu mobile e refinamento da faixa da Hero. */
.dp-header-mobile-checkbox {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 767px) {
    .dp-header-wrap {
        position: relative !important;
        z-index: 30 !important;
    }

    .dp-header {
        z-index: 30 !important;
    }

    .dp-header > .dp-header-mobile-panel {
        z-index: 35 !important;
    }

    .dp-header > .dp-header-mobile-checkbox:checked + .dp-header-mobile-toggle + .dp-header-mobile-panel {
        display: block !important;
    }

    .dp-header > .dp-header-mobile-panel .dp-nav {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
    }

    .dp-header > .dp-header-mobile-panel .dp-nav a {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }

    .dp-header > .dp-header-mobile-panel .dp-nav a.dp-nav-button {
        width: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .dp-hero {
        overflow: visible !important;
    }

    .dp-hero-mobile-visual {
        min-height: 400px !important;
    }

    .dp-hero-ticker {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        margin-top: -14px !important;
        margin-bottom: 0 !important;
        border-top: 1px solid rgba(255,255,255,.18) !important;
        border-bottom: 1px solid rgba(255,255,255,.18) !important;
        box-shadow: 0 10px 26px rgba(61,53,46,.10) !important;
    }
}

.dp-hero-ticker {
    background: var(--dp-terracotta) !important;
}

.dp-hero-ticker-track {
    gap: 14px !important;
    animation-duration: 24s !important;
}

.dp-hero-ticker-item,
.dp-hero-ticker-sep {
    color: #fff !important;
    font-size: .78rem !important;
    font-weight: 500 !important;
    letter-spacing: .07em !important;
}


/* Atualização v1.0.33 — Hero mais minimalista.
   Substitui a faixa alta por uma versão slim e sofisticada.
   No mobile, troca a faixa corrida por uma cápsula terracota estática. */
.dp-hero-ticker {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 3 !important;
    overflow: hidden !important;
    background: var(--dp-terracotta) !important;
    padding: 8px 0 !important;
    min-height: 0 !important;
    box-shadow: 0 6px 18px rgba(61,53,46,.08) !important;
    border-top: 1px solid rgba(255,255,255,.16) !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
}

.dp-hero-ticker-track {
    gap: 12px !important;
    animation-duration: 26s !important;
}

.dp-hero-ticker-item,
.dp-hero-ticker-sep {
    color: #fff !important;
    font-size: .68rem !important;
    font-weight: 500 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
}

@media (min-width: 768px) {
    .dp-hero {
        padding-bottom: 38px !important;
    }
}

@media (max-width: 767px) {
    .dp-hero {
        padding-bottom: 0 !important;
    }

    .dp-hero-ticker {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: fit-content !important;
        max-width: calc(100% - 28px) !important;
        margin: -18px auto 0 !important;
        padding: 10px 16px !important;
        border-radius: 999px !important;
        box-shadow: 0 10px 22px rgba(61,53,46,.10) !important;
        border: 0 !important;
    }

    .dp-hero-ticker-track {
        animation: none !important;
        width: auto !important;
        justify-content: center !important;
    }

    .dp-hero-ticker-track .dp-hero-ticker-item:nth-of-type(n+2),
    .dp-hero-ticker-track .dp-hero-ticker-sep {
        display: none !important;
    }

    .dp-hero-ticker-item,
    .dp-hero-ticker-sep {
        font-size: .66rem !important;
        letter-spacing: .04em !important;
        white-space: nowrap !important;
    }
}


/* Atualização v1.0.34 — Divisor editorial na Hero.
   Remove a faixa estilo página de vendas e usa um divisor fino, elegante e sofisticado. */
.dp-hero-ticker {
    display: none !important;
}

.dp-hero-divider {
    position: absolute;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: min(520px, calc(100% - 56px));
    pointer-events: none;
}

.dp-hero-divider-line {
    flex: 1 1 auto;
    height: 1px;
    background: linear-gradient(
        to right,
        rgba(204, 109, 82, 0),
        rgba(204, 109, 82, 0.65),
        rgba(204, 109, 82, 0)
    );
}

.dp-hero-divider-accent {
    width: 34px;
    height: 8px;
    border-radius: 999px;
    background: rgba(204, 109, 82, 0.9);
    box-shadow: 0 4px 14px rgba(204, 109, 82, 0.14);
    flex: 0 0 auto;
}

@media (min-width: 768px) {
    .dp-hero {
        padding-bottom: 34px !important;
    }
}

@media (max-width: 767px) {
    .dp-hero {
        padding-bottom: 0 !important;
    }

    .dp-hero-divider {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;
        width: min(180px, calc(100% - 60px));
        margin: -10px auto 0;
        gap: 10px;
    }

    .dp-hero-divider-accent {
        width: 24px;
        height: 6px;
    }
}


/* Atualização v1.0.35 — Hero sem divisor/faixa.
   Remove completamente a faixa corrida e o divisor editorial. */
.dp-hero-ticker,
.dp-hero-divider {
    display: none !important;
}

@media (min-width: 768px) {
    .dp-hero {
        padding-bottom: 0 !important;
    }
}

@media (max-width: 767px) {
    .dp-hero {
        padding-bottom: 0 !important;
    }
}




/* Atualização v1.0.37 — Hero restaurada para a altura original.
   Volta ao padrão anterior: min-height 88vh, sem altura fixa de 1080px. */
.dp-widget.dp-hero {
    height: auto !important;
}


/* Atualização v1.0.38 — Hero com imagem lateral, mais próxima da seção Sobre.
   Remove a foto de fundo e coloca a imagem à direita, mais larga, com bloco inferior em vidro. */
.dp-widget.dp-hero {
    background: var(--dp-bg) !important;
    background-image: none !important;
    overflow: visible !important;
    display: block !important;
    min-height: 88vh;
    padding: 58px 0 52px;
}

.dp-widget.dp-hero::before {
    display: none !important;
}

.dp-widget.dp-hero .dp-container {
    position: relative;
    z-index: 2;
}

.dp-hero-layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 56px;
    min-height: inherit;
}

.dp-widget.dp-hero .dp-hero-content {
    flex: 1 1 50%;
    max-width: 560px;
    padding: 0;
}

.dp-hero-media {
    position: relative;
    flex: 0 0 46%;
    width: 46%;
    max-width: 560px;
    padding: 18px 0 30px 24px;
}

.dp-hero-media-glass {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 86%;
    height: 82%;
    border-radius: 28px;
    background: rgba(255,255,255,.32);
    border: 1px solid rgba(255,255,255,.52);
    -webkit-backdrop-filter: blur(16px) saturate(125%);
    backdrop-filter: blur(16px) saturate(125%);
    box-shadow: 0 18px 44px rgba(61,53,46,.08);
}

.dp-hero-photo {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 680px;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(61,53,46,.10);
    background: rgba(235, 228, 216, .28);
    --dp-hero-img-pos: right center;
}

.elementor .dp-hero-photo img,
.dp-hero-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--dp-hero-img-pos, right center);
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dp-widget.dp-hero {
        padding: 44px 0 44px;
    }

    .dp-hero-layout {
        gap: 34px;
        align-items: center;
    }

    .dp-hero-media {
        flex: 0 0 44%;
        width: 44%;
        padding: 16px 0 24px 18px;
    }

    .dp-hero-media-glass {
        width: 88%;
        height: 80%;
        border-radius: 24px;
    }

    .dp-hero-photo {
        min-height: 560px;
        border-radius: 24px;
    }
}

@media (max-width: 767px) {
    .dp-widget.dp-hero {
        padding: 18px 0 42px !important;
    }

    .dp-hero-layout {
        flex-direction: column;
        gap: 26px;
        align-items: stretch;
    }

    .dp-hero-media {
        order: 1;
        width: 100%;
        max-width: none;
        padding: 16px 0 22px 16px;
    }

    .dp-hero-media-glass {
        width: 86%;
        height: 80%;
        border-radius: 22px;
    }

    .dp-hero-photo {
        min-height: 470px;
        border-radius: 22px;
    }

    .dp-widget.dp-hero .dp-hero-content {
        order: 2;
        max-width: 100%;
        padding: 0;
    }
}


/* Atualização v1.0.39 — Hero com imagem menos alta.
   Reduz a altura da foto lateral para ficar mais equilibrada visualmente. */
.dp-hero-photo {
    min-height: 560px !important;
    max-height: 620px !important;
}

.dp-hero-media {
    align-self: center !important;
}

.dp-hero-media-glass {
    height: 74% !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dp-hero-photo {
        min-height: 500px !important;
        max-height: 540px !important;
    }

    .dp-hero-media-glass {
        height: 72% !important;
    }
}

@media (max-width: 767px) {
    .dp-hero-photo {
        min-height: 420px !important;
        max-height: 470px !important;
    }

    .dp-hero-media-glass {
        height: 76% !important;
    }
}


/* Atualização v1.0.40 — Container mais amplo em todas as seções.
   Reduz o excesso de espaço lateral e deixa o conteúdo mais presente na tela. */
:root {
    --dp-container: 1180px;
}

.dp-container,
.dp-header {
    max-width: var(--dp-container) !important;
}

/* Hero um pouco mais aberta para acompanhar o novo container */
@media (min-width: 1025px) {
    .dp-hero-layout {
        gap: 64px !important;
    }

    .dp-widget.dp-hero .dp-hero-content {
        flex: 1 1 52% !important;
        max-width: 600px !important;
    }

    .dp-hero-media {
        flex: 0 0 42% !important;
        width: 42% !important;
        max-width: 520px !important;
    }
}

/* Tablet mantém respiro sem ficar espremido */
@media (min-width: 768px) and (max-width: 1024px) {
    :root {
        --dp-pad: 32px;
    }
}

/* Mobile continua com respiro confortável */
@media (max-width: 767px) {
    :root {
        --dp-pad: 20px;
    }

    .dp-container,
    .dp-header {
        max-width: 100% !important;
    }
}


/* Atualização v1.0.41 — Menu mobile corrigido no site publicado.
   Usa classe JS em vez de depender do checkbox, que pode falhar fora do editor. */
@media (max-width: 767px) {
    .dp-header-wrap {
        position: relative !important;
        z-index: 9999 !important;
    }

    .dp-header {
        position: relative !important;
        z-index: 9999 !important;
        overflow: visible !important;
    }

    .dp-header > .dp-header-mobile-toggle {
        display: inline-flex !important;
        pointer-events: auto !important;
        cursor: pointer !important;
    }

    .dp-header > .dp-header-mobile-panel {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        position: absolute !important;
        top: calc(100% + 10px) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 10000 !important;
        transform: translateY(-4px) !important;
        transition: opacity .22s ease, transform .22s ease, visibility .22s ease !important;
    }

    .dp-header.is-mobile-menu-open > .dp-header-mobile-panel,
    .dp-header.dp-mobile-menu-open > .dp-header-mobile-panel,
    .dp-header[data-menu-open="true"] > .dp-header-mobile-panel {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    .dp-header.is-mobile-menu-open > .dp-header-mobile-toggle span:nth-child(1),
    .dp-header.dp-mobile-menu-open > .dp-header-mobile-toggle span:nth-child(1),
    .dp-header[data-menu-open="true"] > .dp-header-mobile-toggle span:nth-child(1) {
        transform: translateY(6px) rotate(45deg) !important;
    }

    .dp-header.is-mobile-menu-open > .dp-header-mobile-toggle span:nth-child(2),
    .dp-header.dp-mobile-menu-open > .dp-header-mobile-toggle span:nth-child(2),
    .dp-header[data-menu-open="true"] > .dp-header-mobile-toggle span:nth-child(2) {
        opacity: 0 !important;
    }

    .dp-header.is-mobile-menu-open > .dp-header-mobile-toggle span:nth-child(3),
    .dp-header.dp-mobile-menu-open > .dp-header-mobile-toggle span:nth-child(3),
    .dp-header[data-menu-open="true"] > .dp-header-mobile-toggle span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg) !important;
    }

    .dp-header > .dp-header-mobile-panel .dp-nav {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .dp-header > .dp-header-mobile-panel .dp-nav a {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        text-align: center !important;
    }

    .dp-header > .dp-header-mobile-panel .dp-nav a.dp-nav-button {
        width: auto !important;
        min-width: 118px !important;
    }
}


/* Atualização v1.0.47 — Imagem da Jornada menos alta.
   Reduz a altura da imagem para deixar a seção mais equilibrada. */
.dp-jornada-image {
    min-height: 390px !important;
    max-height: 430px !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dp-jornada-image {
        min-height: 340px !important;
        max-height: 380px !important;
    }
}

@media (max-width: 767px) {
    .dp-jornada-image {
        min-height: 300px !important;
        max-height: 340px !important;
    }
}


/* Atualização v1.0.48 — Corrige imagem "comida" na Jornada.
   Em vez de forçar altura com stretch, a imagem passa a ter proporção própria
   e a coluna é centralizada, evitando corte estranho e espaço em branco embaixo. */
.dp-jornada-card {
    align-items: center !important;
}

.dp-jornada-image {
    flex: 0 0 44% !important;
    width: 44% !important;
    min-height: auto !important;
    max-height: none !important;
    align-self: center !important;
    display: flex !important;
}

.dp-jornada-image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dp-jornada-card {
        align-items: center !important;
    }

    .dp-jornada-image {
        flex: 0 0 42% !important;
        width: 42% !important;
    }

    .dp-jornada-image img {
        aspect-ratio: 5 / 4 !important;
    }
}

@media (max-width: 767px) {
    .dp-jornada-card {
        align-items: stretch !important;
    }

    .dp-jornada-image {
        width: 100% !important;
        flex: 0 0 auto !important;
        display: block !important;
    }

    .dp-jornada-image img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
    }
}


/* Atualização v1.0.49 — Ajuste final da Jornada.
   Volta para a lógica original do card, sem deixar a imagem “comida”,
   mas reduzindo a presença/altura visual dela. */
.dp-jornada-card {
    align-items: stretch !important;
}

.dp-jornada-image,
.dp-jornada-copy {
    flex: 1 1 0 !important;
}

.dp-jornada-image {
    width: auto !important;
    min-height: 400px !important;
    max-height: none !important;
    overflow: hidden !important;
    align-self: stretch !important;
    display: block !important;
}

.dp-jornada-image img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}

.dp-jornada-copy {
    padding: 48px 46px !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .dp-jornada-image {
        min-height: 340px !important;
    }

    .dp-jornada-copy {
        padding: 38px 34px !important;
    }
}

@media (max-width: 767px) {
    .dp-jornada-card {
        align-items: stretch !important;
    }

    .dp-jornada-image {
        width: 100% !important;
        min-height: 250px !important;
        max-height: none !important;
        display: block !important;
        align-self: auto !important;
    }

    .dp-jornada-image img {
        width: 100% !important;
        height: 100% !important;
        aspect-ratio: auto !important;
    }

    .dp-jornada-copy {
        padding: 30px 24px !important;
    }
}


/* Atualização v1.0.50 — Jornada com container da imagem menor.
   A correção certa aqui é reduzir a área/coluna da imagem, não cortar a foto.
   A imagem fica completa dentro de um container menor e mais proporcional. */
.dp-jornada-card {
    display: grid !important;
    grid-template-columns: minmax(0, 38%) minmax(0, 1fr) !important;
    align-items: center !important;
}

.dp-jornada-image {
    width: 100% !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 34px 0 34px 34px !important;
    align-self: center !important;
}

.dp-jornada-image img {
    width: 100% !important;
    height: auto !important;
    max-height: 430px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    border-radius: 0 !important;
}

.dp-jornada-copy {
    padding: 48px 52px 48px 44px !important;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
    .dp-jornada-card {
        grid-template-columns: minmax(0, 36%) minmax(0, 1fr) !important;
    }

    .dp-jornada-image {
        padding: 28px 0 28px 28px !important;
    }

    .dp-jornada-image img {
        max-height: 360px !important;
    }

    .dp-jornada-copy {
        padding: 38px 34px 38px 30px !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .dp-jornada-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .dp-jornada-image {
        width: 100% !important;
        padding: 0 !important;
        display: block !important;
    }

    .dp-jornada-image img {
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }

    .dp-jornada-copy {
        padding: 30px 24px !important;
    }
}


/* Atualização v1.0.51 — Jornada com container fixo e imagem completa.
   O container não encolhe mais para o tamanho da imagem.
   A área da imagem continua menor, mas preserva altura própria dentro do card. */
.dp-jornada-card {
    display: grid !important;
    grid-template-columns: minmax(0, 38%) minmax(0, 1fr) !important;
    align-items: stretch !important;
}

.dp-jornada-image {
    width: 100% !important;
    min-height: 430px !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 26px !important;
    align-self: stretch !important;
    background: transparent !important;
}

.dp-jornada-image img {
    width: 100% !important;
    height: 100% !important;
    max-height: 380px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    border-radius: 0 !important;
}

.dp-jornada-copy {
    padding: 48px 52px !important;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
    .dp-jornada-card {
        grid-template-columns: minmax(0, 36%) minmax(0, 1fr) !important;
        align-items: stretch !important;
    }

    .dp-jornada-image {
        min-height: 380px !important;
        padding: 22px !important;
    }

    .dp-jornada-image img {
        max-height: 330px !important;
    }

    .dp-jornada-copy {
        padding: 38px 34px !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .dp-jornada-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .dp-jornada-image {
        width: 100% !important;
        min-height: 280px !important;
        padding: 0 !important;
        display: flex !important;
    }

    .dp-jornada-image img {
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }

    .dp-jornada-copy {
        padding: 30px 24px !important;
    }
}


/* Atualização v1.0.52 — Controles livres da imagem da Jornada.
   Agora você escolhe o tamanho do container e move a imagem como quiser pelo Elementor. */
.dp-jornada-card {
    display: grid !important;
    grid-template-columns: minmax(0, var(--dp-jornada-image-width, 42%)) minmax(0, 1fr) !important;
    align-items: stretch !important;
}

.dp-jornada-image {
    width: 100% !important;
    min-height: var(--dp-jornada-image-height, 430px) !important;
    height: var(--dp-jornada-image-height, 430px) !important;
    max-height: none !important;
    overflow: hidden !important;
    display: block !important;
    padding: 0 !important;
    align-self: center !important;
    background: transparent !important;
}

.dp-jornada-image img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: var(--dp-jornada-image-fit, cover) !important;
    object-position: var(--dp-jornada-image-pos-x, center) var(--dp-jornada-image-pos-y, center) !important;
    transform: translate(var(--dp-jornada-img-x, 0px), var(--dp-jornada-img-y, 0px)) scale(var(--dp-jornada-img-scale, 1)) !important;
    transform-origin: center center !important;
    display: block !important;
}

.dp-jornada-copy {
    align-self: center !important;
}

@media (max-width: 767px) {
    .dp-jornada-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .dp-jornada-image {
        width: 100% !important;
        height: var(--dp-jornada-image-height, 300px) !important;
        min-height: var(--dp-jornada-image-height, 300px) !important;
    }
}


/* v1.0.57 — Despertar nas Páginas
   Estrutura fiel ao HTML enviado, com CSS isolado para não brigar com a página principal. */
.dpdes-page,
.dpdes-page * {
    box-sizing: border-box;
}

.dpdes-page {
    --dpdes-bg-page: var(--dp-bg, #F8F6EF);
    --dpdes-bg-card: var(--dp-off, #FFFFFF);
    --dpdes-text-main: var(--dp-text, #3D352E);
    --dpdes-text-support: var(--dp-muted, #70655A);
    --dpdes-sage: var(--dp-sage, #A3B89F);
    --dpdes-sage-dark: var(--dp-sage-dark, #6F8066);
    --dpdes-btn-black: #17171A;
    --dpdes-overlay-dark: rgba(16, 18, 20, 0.66);
    --dpdes-grid-line: rgba(163, 184, 159, 0.20);
    font-family: var(--dp-font, 'Poppins', sans-serif);
    background-color: var(--dpdes-bg-page);
    padding: 60px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Elementos reutilizáveis */
.dpdes-eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--dpdes-sage-dark);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.dpdes-eyebrow .line {
    width: 30px;
    height: 3px;
    background-color: var(--dpdes-sage-dark);
    border-radius: 2px;
    display: inline-block;
    flex: 0 0 auto;
}

.dpdes-eyebrow .dot {
    width: 4px;
    height: 4px;
    background: var(--dpdes-text-main);
    border-radius: 50%;
    display: inline-block;
    flex: 0 0 auto;
}

.dpdes-section-title {
    color: var(--dpdes-text-main);
    font-size: 2.4rem;
    font-weight: 300;
    letter-spacing: -0.02em;
    margin: 0 0 48px;
    text-align: center;
}

.dpdes-section-title em {
    font-style: italic;
    font-weight: 400;
    color: var(--dpdes-sage-dark);
}

/* SEÇÃO 1: HERO BANNER */
.dpdes-hero-banner {
    display: flex;
    flex-direction: column;
    background-color: var(--dpdes-bg-card);
    border-radius: 16px;
    border: 1px solid var(--dpdes-grid-line);
    max-width: 1100px;
    width: 100%;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 30px rgba(61, 53, 46, 0.04);
}

.dpdes-hero-content {
    flex: 1;
    padding: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 2;
}

.dpdes-hero-content .dpdes-eyebrow {
    margin-bottom: 16px;
}

.dpdes-hero-content h1 {
    color: var(--dpdes-text-main);
    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 24px;
    letter-spacing: -0.02em;
}

.dpdes-hero-content p {
    color: var(--dpdes-text-support);
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0 0 16px;
    max-width: 520px;
    font-weight: 300;
}

.dpdes-hero-content p strong {
    font-weight: 500;
    color: var(--dpdes-text-main);
}

.dpdes-hero-highlight {
    font-size: 1.05rem !important;
    font-style: italic;
    color: var(--dpdes-text-main) !important;
    margin-top: 8px;
    margin-bottom: 40px !important;
    border-left: 3px solid var(--dpdes-sage);
    padding-left: 16px;
}

.dpdes-hero-highlight p {
    margin: 0 !important;
    color: var(--dpdes-text-main) !important;
}

.dpdes-hero-highlight strong {
    font-weight: 600 !important;
    font-style: normal;
}

.dpdes-btn-agendar {
    display: inline-flex;
    align-items: center;
    background-color: var(--dpdes-btn-black);
    color: #FFFFFF !important;
    text-decoration: none;
    padding: 8px 24px 8px 8px;
    border-radius: 50px;
    font-size: 0.95rem;
    font-weight: 400;
    width: max-content;
    max-width: 100%;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow .2s ease;
}

.dpdes-btn-agendar:hover {
    background-color: var(--dpdes-text-main);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(61, 53, 46, .14);
}

.dpdes-btn-icon {
    background-color: var(--dpdes-sage);
    color: var(--dpdes-btn-black);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 16px;
    font-weight: 600;
    font-size: 1.1rem;
}

.dpdes-hero-image-container {
    flex: 1;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    position: relative;
    width: 100%;
}

.dpdes-hero-image-container::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%;
    background: linear-gradient(to top, var(--dpdes-overlay-dark), transparent);
    pointer-events: none;
    z-index: 2;
}

.dpdes-hero-image-container img {
    max-width: 100%;
    width: 100%;
    height: auto;
    object-fit: cover;
    min-height: 400px;
    z-index: 1;
    display: block;
}

/* SEÇÃO 2: O QUE EXPLORAMOS */
.dpdes-differentials-section {
    max-width: 1100px;
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 60px;
}

.dpdes-diff-left {
    flex: 0 0 35%;
    position: sticky;
    top: 40px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.dpdes-diff-left h2 {
    color: var(--dpdes-text-main);
    font-size: 2.4rem;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin: 0;
}

.dpdes-diff-left h2 em {
    color: var(--dpdes-sage-dark);
    font-style: italic;
    font-weight: 400;
}

.dpdes-diff-arrow {
    width: 100%;
    height: 1px;
    background-color: var(--dpdes-text-support);
    position: relative;
    margin: 20px 0;
    opacity: 0.3;
}

.dpdes-diff-arrow::after {
    content: '>';
    position: absolute;
    right: -4px;
    top: -10px;
    font-size: 1.2rem;
    color: var(--dpdes-text-support);
}

.dpdes-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid var(--dpdes-sage-dark);
    color: var(--dpdes-sage-dark);
    text-decoration: none;
    padding: 14px 24px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    width: max-content;
    transition: all 0.3s ease;
    background: rgba(163, 184, 159, 0.05);
}

.dpdes-btn-outline:hover {
    background-color: var(--dpdes-sage-dark);
    color: #FFFFFF;
}

.dpdes-diamond-icon {
    width: 6px;
    height: 6px;
    border: 1px solid currentColor;
    transform: rotate(45deg);
}

.dpdes-diff-right {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.dpdes-diff-card {
    background: rgba(163, 184, 159, 0.25);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 12px;
    padding: 32px 24px;
    box-shadow: 0 8px 32px rgba(61, 53, 46, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-top: 1px solid rgba(255, 255, 255, 0.8);
    border-left: 1px solid rgba(255, 255, 255, 0.8);
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, background 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-height: 168px;
    gap: 16px;
}

.dpdes-diff-card:hover {
    transform: translateY(-4px);
    background: rgba(163, 184, 159, 0.35);
    box-shadow: 0 12px 40px rgba(61, 53, 46, 0.08);
}

.dpdes-diff-card::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.4) 0%, rgba(255,255,255,0) 70%);
    z-index: 0;
    pointer-events: none;
}

.dpdes-diff-card-icon {
    width: 48px;
    height: 48px;
    background-color: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    box-shadow: 0 4px 15px rgba(163, 184, 159, 0.15);
}

.dpdes-diff-card-icon svg {
    width: 22px;
    height: 22px;
    fill: var(--dpdes-sage-dark);
}

.dpdes-diff-card p {
    color: var(--dpdes-text-main);
    font-size: 1rem;
    line-height: 1.4;
    font-weight: 500;
    position: relative;
    z-index: 1;
    margin: 0;
}

/* SEÇÃO 3: FORMATOS */
.dpdes-formats-section {
    max-width: 1100px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.dpdes-formats-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: transparent;
    border: 1px solid rgba(112, 101, 90, 0.3);
    border-radius: 50px;
    padding: 6px 16px;
    font-size: 0.85rem;
    color: var(--dpdes-text-support);
    margin-bottom: 24px;
}

.dpdes-formats-badge .diamond {
    width: 6px;
    height: 6px;
    border: 1px solid var(--dpdes-text-support);
    transform: rotate(45deg);
}

.dpdes-formats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    width: 100%;
}

.dpdes-format-card {
    background-color: var(--dpdes-bg-card);
    border-radius: 12px;
    border: 1px solid rgba(112, 101, 90, 0.15);
    padding: 40px 32px;
    box-shadow: 0 4px 20px rgba(61, 53, 46, 0.02);
    position: relative;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease;
}

.dpdes-format-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(61, 53, 46, 0.05);
}

.dpdes-format-card-line {
    position: absolute;
    top: -1px;
    left: 32px;
    width: 40px;
    height: 3px;
    background-color: var(--dpdes-sage-dark);
    border-radius: 2px;
}

.dpdes-format-card-pill {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(112, 101, 90, 0.2);
    border-radius: 50px;
    padding: 4px 16px 4px 4px;
    margin-bottom: 20px;
    width: max-content;
}

.dpdes-pill-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: rgba(163, 184, 159, 0.2);
    color: var(--dpdes-text-main);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    font-size: 0.9rem;
}

.dpdes-pill-text {
    color: var(--dpdes-text-main);
    font-size: 0.95rem;
    font-weight: 500;
}

.dpdes-format-card p {
    color: var(--dpdes-text-support);
    font-size: 0.95rem;
    line-height: 1.6;
    font-weight: 300;
    margin: 0;
}

/* SEÇÃO 4: PARA QUEM É */
.dpdes-audience-section {
    max-width: 1100px;
    width: 100%;
}

.dpdes-audience-box {
    background: linear-gradient(135deg, var(--dpdes-sage), var(--dpdes-sage-dark));
    border-radius: 24px;
    padding: 80px 60px;
    text-align: center;
    color: #FFFFFF;
    position: relative;
    box-shadow: 0 15px 40px rgba(111, 128, 102, 0.15);
}

.dpdes-audience-notch {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 30px;
    background-color: var(--dpdes-bg-page);
    border-radius: 0 0 30px 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 4px;
}

.dpdes-audience-notch svg {
    width: 14px;
    height: 14px;
    fill: var(--dpdes-sage-dark);
}

.dpdes-audience-eyebrow {
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 24px;
    opacity: 0.9;
}

.dpdes-audience-title {
    font-size: 2.2rem;
    font-weight: 300;
    line-height: 1.3;
    margin: 0 auto 24px;
    letter-spacing: -0.01em;
    max-width: 900px;
    color: #FFFFFF;
}

.dpdes-audience-title em {
    font-style: italic;
    font-weight: 400;
}

.dpdes-audience-text {
    font-size: 1.1rem;
    line-height: 1.6;
    font-weight: 300;
    max-width: 700px;
    margin: 0 auto;
    opacity: 0.85;
    color: #FFFFFF;
}

/* SEÇÃO 5: PROPÓSITO */
.dpdes-purpose-section {
    max-width: 1100px;
    width: 100%;
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 550px;
    padding: 60px;
    box-shadow: 0 15px 40px rgba(61, 53, 46, 0.08);
}

.dpdes-purpose-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.dpdes-purpose-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dpdes-purpose-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(0,0,0,0.3) 0%, transparent 60%);
    z-index: 2;
}

.dpdes-purpose-card {
    background-color: var(--dpdes-bg-card);
    border-radius: 16px;
    padding: 48px;
    max-width: 500px;
    position: relative;
    z-index: 3;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}

.dpdes-purpose-pill {
    display: inline-flex;
    align-items: center;
    background-color: #F4EFEA;
    border-radius: 50px;
    margin-bottom: 24px;
    overflow: hidden;
}

.dpdes-purpose-pill-dark {
    background-color: var(--dpdes-text-main);
    color: #FFFFFF;
    padding: 6px 16px;
    font-size: 0.8rem;
    font-weight: 500;
    border-radius: 50px;
}

.dpdes-purpose-pill-light {
    color: var(--dpdes-text-main);
    padding: 6px 16px 6px 12px;
    font-size: 0.8rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.dpdes-purpose-card h3 {
    color: var(--dpdes-text-main);
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin: 0 0 24px;
}

.dpdes-purpose-divider {
    width: 100%;
    height: 1px;
    background-color: var(--dpdes-grid-line);
    margin-bottom: 24px;
}

.dpdes-purpose-card p {
    color: var(--dpdes-text-support);
    font-size: 0.95rem;
    line-height: 1.6;
    font-weight: 300;
    margin: 0 0 16px;
}

.dpdes-highlight-quote {
    color: var(--dpdes-sage-dark);
    font-weight: 500;
    font-style: italic;
    font-size: 1.05rem;
    margin-top: 24px;
    margin-bottom: 0;
    border-left: 2px solid var(--dpdes-sage);
    padding-left: 16px;
}

.dpdes-highlight-quote p {
    margin: 0;
    color: var(--dpdes-sage-dark);
}

/* SEÇÃO 6: TIMELINE */
.dpdes-timeline-section {
    max-width: 900px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.dpdes-timeline-header {
    text-align: center;
    margin-bottom: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.dpdes-timeline-header .dpdes-section-title {
    margin-bottom: 0;
    margin-top: 16px;
}

.dpdes-timeline-container {
    position: relative;
    width: 100%;
}

.dpdes-timeline-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 32px;
    width: 2px;
    height: 100%;
    background: linear-gradient(to bottom, var(--dpdes-sage) 0%, rgba(163, 184, 159, 0) 100%);
}

.dpdes-timeline-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 40px;
    margin-bottom: 50px;
}

.dpdes-timeline-item:last-child {
    margin-bottom: 0;
}

.dpdes-timeline-marker {
    width: 66px;
    height: 66px;
    background-color: var(--dpdes-bg-card);
    border: 2px solid var(--dpdes-sage);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    z-index: 2;
    flex-shrink: 0;
    box-shadow: 0 4px 15px rgba(163, 184, 159, 0.2);
}

.dpdes-timeline-card {
    background-color: var(--dpdes-bg-card);
    border: 1px solid var(--dpdes-grid-line);
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 4px 20px rgba(61, 53, 46, 0.02);
    width: 100%;
    position: relative;
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.dpdes-timeline-card:hover {
    transform: translateY(-4px);
    border-color: var(--dpdes-sage);
    box-shadow: 0 8px 30px rgba(61, 53, 46, 0.05);
}

.dpdes-timeline-card::before {
    content: '';
    position: absolute;
    top: 24px;
    left: -9px;
    width: 16px;
    height: 16px;
    background-color: var(--dpdes-bg-card);
    border-left: 1px solid var(--dpdes-grid-line);
    border-bottom: 1px solid var(--dpdes-grid-line);
    transform: rotate(45deg);
    transition: border-color 0.3s ease;
}

.dpdes-timeline-card:hover::before {
    border-color: var(--dpdes-sage);
}

.dpdes-timeline-card h3 {
    color: var(--dpdes-text-main);
    font-size: 1.4rem;
    font-weight: 500;
    margin: 0 0 12px;
}

.dpdes-timeline-card p {
    color: var(--dpdes-text-support);
    font-size: 1rem;
    line-height: 1.6;
    font-weight: 300;
    margin: 0;
}

/* RESPONSIVIDADE */
@media (max-width: 991px) {
    .dpdes-differentials-section {
        flex-direction: column;
        gap: 40px;
    }

    .dpdes-diff-left {
        position: relative;
        top: 0;
        width: 100%;
        align-items: center;
        text-align: center;
    }

    .dpdes-diff-arrow {
        display: none;
    }

    .dpdes-audience-box {
        padding: 60px 40px;
    }

    .dpdes-audience-title {
        font-size: 1.8rem;
    }

    .dpdes-purpose-section {
        padding: 40px;
    }
}

@media (max-width: 767px) {
    .dpdes-page {
        padding: 30px 16px;
    }

    .dpdes-hero-content {
        padding: 40px 30px;
        text-align: center;
        align-items: center;
    }

    .dpdes-hero-content h1,
    .dpdes-diff-left h2,
    .dpdes-section-title,
    .dpdes-purpose-card h3 {
        font-size: 2rem;
    }

    .dpdes-hero-highlight {
        padding-left: 0;
        border-left: 0;
        border-top: 3px solid var(--dpdes-sage);
        padding-top: 16px;
    }

    .dpdes-diff-right,
    .dpdes-formats-grid {
        grid-template-columns: 1fr;
    }

    .dpdes-audience-box {
        padding: 50px 24px;
        border-radius: 16px;
    }

    .dpdes-audience-title {
        font-size: 1.5rem;
    }

    .dpdes-audience-text {
        font-size: 0.95rem;
    }

    .dpdes-purpose-section {
        padding: 24px;
        min-height: auto;
    }

    .dpdes-purpose-bg::after {
        background: rgba(0,0,0,0.4);
    }

    .dpdes-purpose-card {
        padding: 32px 24px;
        width: 100%;
    }

    .dpdes-timeline-item {
        gap: 20px;
    }

    .dpdes-timeline-marker {
        width: 48px;
        height: 48px;
        font-size: 1.2rem;
    }

    .dpdes-timeline-container::before {
        left: 23px;
    }

    .dpdes-timeline-card {
        padding: 24px;
    }

    .dpdes-timeline-card::before {
        top: 15px;
    }

    .dpdes-timeline-card h3 {
        font-size: 1.2rem;
    }
}
