.elementor-150571 .elementor-element.elementor-element-9a6cf71{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-9c44ae7 */@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800;900&family=Outfit:wght@300;400;500;600&display=swap');

:root {
    --dhr-navy:         #001959;
    --dhr-navy-dark:    #000f3a;
    --dhr-navy-light:   #002875;
    --dhr-green:        #3be39f;
    --dhr-green-dark:   #2dd18f;
    --dhr-green-glow:   rgba(59,227,159,0.25);
    --dhr-white:        #ffffff;
    --dhr-black:        #000000;
    --dhr-ink:          #0b1533;
    --dhr-muted:        #5a6480;
    --dhr-line:         #e4e8f0;
    --dhr-surface:      #f4f6fa;
    --dhr-error:        #ef4444;
    --dhr-error-bg:     rgba(239,68,68,0.10);
    --dhr-font-display: 'Montserrat', system-ui, sans-serif;
    --dhr-font-body:    'Outfit', system-ui, sans-serif;
    --dhr-ease:         cubic-bezier(0.4, 0, 0.2, 1);
    --dhr-max-w:        1200px;
    --dhr-gutter:       clamp(20px, 4vw, 60px);
}

/* ══════════════════════════════════════════════════════════════
   BLOCO 01 — HERO + FORMULÁRIO
   ══════════════════════════════════════════════════════════════ */
/* ── Scoped Reset ── */
.dhr-hero *, .dhr-hero *::before, .dhr-hero *::after {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ══════════════════════════════════════════════════
   SECTION
   ══════════════════════════════════════════════════ */
.dhr-hero {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--dhr-navy-dark) !important;
    position: relative !important;
    overflow: hidden !important;
    font-family: var(--dhr-font-body) !important;
}

/* ── Carousel Background ── */
.dhr-hero__carousel { position: absolute !important; inset: 0 !important; overflow: hidden !important; }
.dhr-hero__slide {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    transition: opacity 1.2s var(--dhr-ease) !important;
}
.dhr-hero__slide.is-active { opacity: 1 !important; }
.dhr-hero__slide img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* ── Overlay ── */
.dhr-hero__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        160deg,
        rgba(0,15,58,0.92) 0%,
        rgba(0,25,89,0.85) 50%,
        rgba(0,15,58,0.92) 100%
    ) !important;
    z-index: 1 !important;
}

/* ── Two-Column Grid ── */
.dhr-hero__container {
    max-width: var(--dhr-max-w) !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 100px var(--dhr-gutter) !important;
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 56px !important;
    align-items: center !important;
}

/* ══════════════════════════════════════════════════
   LEFT – Content
   ══════════════════════════════════════════════════ */
.dhr-hero__content {
    color: var(--dhr-white) !important;
    animation: dhrFadeUp 0.7s var(--dhr-ease) 0.15s both !important;
}

/* Badge de reviews */
.dhr-hero__badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(255,255,255,0.08) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 50px !important;
    padding: 8px 20px !important;
    margin: 0 0 28px 0 !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--dhr-white) !important;
    letter-spacing: 0.3px !important;
}
.dhr-hero__badge-stars  { color: #f5c518 !important; font-size: 14px !important; letter-spacing: 1px !important; }
.dhr-hero__badge-rating { font-weight: 700 !important; }
.dhr-hero__badge-count  { color: rgba(255,255,255,0.7) !important; font-weight: 400 !important; }

/* Heading */
.dhr-hero__content h1 {
    font-family: var(--dhr-font-display) !important;
    font-size: clamp(36px, 4.5vw, 60px) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: var(--dhr-white) !important;
    margin: 0 0 12px 0 !important;
}
.dhr-hero__content h1 span { color: var(--dhr-green) !important; }
.dhr-hero__content h1::after {
    content: '' !important;
    display: block !important;
    margin-top: 20px !important;
    width: 72px !important;
    height: 3px !important;
    background: var(--dhr-green) !important;
    border-radius: 2px !important;
    opacity: 0.8 !important;
}

/* Subtitle */
.dhr-hero__subtitle {
    font-size: clamp(16px, 1.1vw, 18px) !important;
    font-weight: 300 !important;
    line-height: 1.65 !important;
    color: rgba(255,255,255,0.75) !important;
    margin: 0 0 40px 0 !important;
    max-width: 520px !important;
}

/* Text links */
.dhr-hero__text-link {
    text-decoration: none !important;
    display: block !important;
    cursor: pointer !important;
    color: inherit !important;
}

/* Buttons */
.dhr-hero__buttons { display: flex !important; gap: 14px !important; flex-wrap: wrap !important; }
.dhr-hero__btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 16px 40px !important;
    text-decoration: none !important;
    border-radius: 50px !important;
    font-family: var(--dhr-font-display) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    border: 2px solid transparent !important;
    transition: background 0.3s var(--dhr-ease), box-shadow 0.3s var(--dhr-ease), transform 0.3s var(--dhr-ease) !important;
}
.dhr-hero__btn--primary {
    background: linear-gradient(135deg, var(--dhr-green) 0%, var(--dhr-green-dark) 100%) !important;
    border-color: var(--dhr-green) !important;
    color: var(--dhr-navy) !important;
    box-shadow: 0 4px 20px rgba(59,227,159,0.3) !important;
}
.dhr-hero__btn--primary:hover {
    box-shadow: 0 8px 32px rgba(59,227,159,0.45) !important;
    transform: translateY(-2px) !important;
    color: var(--dhr-navy) !important;
}
.dhr-hero__btn--primary svg { fill: var(--dhr-navy) !important; flex-shrink: 0 !important; }
.dhr-hero__btn--secondary {
    background: rgba(255,255,255,0.1) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-color: rgba(255,255,255,0.25) !important;
    color: var(--dhr-white) !important;
}
.dhr-hero__btn--secondary:hover {
    background: rgba(255,255,255,0.18) !important;
    border-color: rgba(255,255,255,0.4) !important;
    transform: translateY(-2px) !important;
    color: var(--dhr-white) !important;
}

/* ══════════════════════════════════════════════════
   RIGHT – Glass Form Card (FlowForms / FluentForms)
   ══════════════════════════════════════════════════ */
.dhr-hero__form-card {
    background: rgba(255,255,255,0.06) !important;
    backdrop-filter: blur(24px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(140%) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 16px !important;
    padding: 40px 36px !important;
    box-shadow: 0 24px 64px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.06) !important;
    animation: dhrFadeUp 0.7s var(--dhr-ease) 0.3s both !important;
}

.dhr-hero__form-card .ff-form.ff-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
}
.dhr-hero__form-card .ff-form .ff-col-d-12 { grid-column: span 2 !important; }
.dhr-hero__form-card .ff-form .ff-col-d-6  { grid-column: span 1 !important; }

/* Labels */
.dhr-hero__form-card .ff-label,
.dhr-hero__form-card .ff-form label {
    display: block !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,0.85) !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;
    margin: 0 0 7px 0 !important;
    background: transparent !important;
    border: none !important;
    transition: color 0.3s var(--dhr-ease) !important;
}
.dhr-hero__form-card .ff-required { color: var(--dhr-green) !important; margin-left: 2px !important; }

/* Inputs / Selects / Textarea */
.dhr-hero__form-card .ff-input,
.dhr-hero__form-card input[type="text"],
.dhr-hero__form-card input[type="email"],
.dhr-hero__form-card input[type="tel"],
.dhr-hero__form-card select.ff-select,
.dhr-hero__form-card textarea.ff-textarea {
    width: 100% !important;
    padding: 12px 16px !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1.5px solid rgba(255,255,255,0.12) !important;
    border-radius: 12px !important;
    font-family: var(--dhr-font-body) !important;
    font-size: 16px !important;
    color: #ffffff !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: border-color 0.3s var(--dhr-ease), box-shadow 0.3s var(--dhr-ease), background 0.3s var(--dhr-ease) !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    display: block !important;
    height: auto !important;
    line-height: 1.4 !important;
}
.dhr-hero__form-card .ff-input::placeholder,
.dhr-hero__form-card textarea.ff-textarea::placeholder {
    color: rgba(255,255,255,0.35) !important;
    opacity: 1 !important;
}
.dhr-hero__form-card .ff-input:focus,
.dhr-hero__form-card select.ff-select:focus,
.dhr-hero__form-card textarea.ff-textarea:focus {
    border-color: var(--dhr-green) !important;
    box-shadow: 0 0 0 3px var(--dhr-green-glow) !important;
    background: rgba(255,255,255,0.12) !important;
    color: #ffffff !important;
    outline: none !important;
}
.dhr-hero__form-card .ff-form .ff-field:focus-within .ff-label { color: var(--dhr-green) !important; }

/* Select arrow */
.dhr-hero__form-card .ff-el-input--content,
.dhr-hero__form-card .ff-field--select > .ff-el-input--content { position: relative !important; display: block !important; }
.dhr-hero__form-card .ff-el-input--content::after,
.dhr-hero__form-card .ff-field--select > .ff-el-input--content::after {
    content: '' !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 0 !important; height: 0 !important;
    border-left: 5px solid transparent !important;
    border-right: 5px solid transparent !important;
    border-top: 6px solid rgba(255,255,255,0.5) !important;
    pointer-events: none !important;
}
.dhr-hero__form-card select.ff-select { padding-right: 42px !important; cursor: pointer !important; }
.dhr-hero__form-card select.ff-select option { background: var(--dhr-navy) !important; color: #ffffff !important; }

/* Textarea */
.dhr-hero__form-card textarea.ff-textarea { resize: vertical !important; min-height: 100px !important; line-height: 1.5 !important; }

/* Consent checkbox */
.dhr-hero__form-card .ff-field--consent,
.dhr-hero__form-card .ff-field[data-field_key="consent"] { margin-top: 12px !important; padding-top: 4px !important; }
.dhr-hero__form-card .ff-field--consent .ff-el-input--label,
.dhr-hero__form-card .ff-field--consent label,
.dhr-hero__form-card .ff-consent-label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer !important;
    font-size: 13px !important;
    color: rgba(255,255,255,0.75) !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.dhr-hero__form-card input[type="checkbox"],
.dhr-hero__form-card .ff-checkbox {
    width: 20px !important; height: 20px !important;
    min-width: 20px !important; min-height: 20px !important;
    flex-shrink: 0 !important;
    margin: 0 !important; padding: 0 !important;
    border: 2px solid rgba(255,255,255,0.4) !important;
    border-radius: 5px !important;
    background: rgba(255,255,255,0.1) !important;
    -webkit-appearance: none !important; appearance: none !important;
    cursor: pointer !important;
    position: relative !important;
    transition: border-color 0.2s, background 0.2s !important;
    display: inline-block !important;
    vertical-align: middle !important;
    font-size: 16px !important;
}
.dhr-hero__form-card input[type="checkbox"]:checked,
.dhr-hero__form-card .ff-checkbox:checked {
    background: var(--dhr-green) !important;
    border-color: var(--dhr-green) !important;
}
.dhr-hero__form-card input[type="checkbox"]:checked::after,
.dhr-hero__form-card .ff-checkbox:checked::after {
    content: '' !important;
    position: absolute !important;
    left: 5px !important; top: 2px !important;
    width: 6px !important; height: 10px !important;
    border: 2px solid var(--dhr-navy) !important;
    border-top: none !important; border-left: none !important;
    transform: rotate(45deg) !important;
}
.dhr-hero__form-card .ff-field--consent a,
.dhr-hero__form-card .ff-consent-text a {
    color: var(--dhr-green) !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

/* Erros */
.dhr-hero__form-card .ff-el-is-error .ff-input,
.dhr-hero__form-card .ff-el-is-error select.ff-select,
.dhr-hero__form-card .ff-el-is-error textarea.ff-textarea {
    border-color: var(--dhr-error) !important;
    box-shadow: 0 0 0 3px var(--dhr-error-bg) !important;
}
.dhr-hero__form-card .ff-el-is-error .error,
.dhr-hero__form-card .ff-field-error,
.dhr-hero__form-card .ff-form-errors {
    font-size: 12px !important;
    color: #fca5a5 !important;
    font-family: var(--dhr-font-body) !important;
    margin-top: 4px !important;
}

/* Submit */
.dhr-hero__form-card .ff-btn-submit,
.dhr-hero__form-card button[type="submit"],
.dhr-hero__form-card input[type="submit"] {
    width: 100% !important;
    padding: 16px !important;
    background: linear-gradient(135deg, var(--dhr-green) 0%, var(--dhr-green-dark) 100%) !important;
    color: var(--dhr-navy) !important;
    border: none !important;
    border-radius: 50px !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    margin-top: 6px !important;
    transition: box-shadow 0.3s var(--dhr-ease), transform 0.3s var(--dhr-ease) !important;
    box-shadow: 0 4px 20px rgba(59,227,159,0.3) !important;
    display: block !important;
    -webkit-appearance: none !important; appearance: none !important;
    line-height: 1.4 !important;
}
.dhr-hero__form-card .ff-btn-submit:hover,
.dhr-hero__form-card button[type="submit"]:hover {
    box-shadow: 0 8px 32px rgba(59,227,159,0.45) !important;
    transform: translateY(-2px) !important;
    color: var(--dhr-navy) !important;
}
.dhr-hero__form-card .ff-btn-submit:active { transform: translateY(0) !important; }

/* Sucesso */
.dhr-hero__form-card .ff-message-success {
    background: rgba(59,227,159,0.12) !important;
    border: 1px solid rgba(59,227,159,0.3) !important;
    border-radius: 12px !important;
    color: var(--dhr-green) !important;
    padding: 16px 20px !important;
    font-family: var(--dhr-font-display) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-align: center !important;
}

/* FlowForms – força glass nos inputs */
.dhr-hero__form-card .ff-el-form-control,
.dhr-hero__form-card input.ff-el-form-control,
.dhr-hero__form-card select.ff-el-form-control,
.dhr-hero__form-card textarea.ff-el-form-control {
    background: rgba(255,255,255,0.1) !important;
    border: 1.5px solid rgba(255,255,255,0.15) !important;
    color: #ffffff !important;
    border-radius: 12px !important;
    font-size: 16px !important;
}
.dhr-hero__form-card .ff-el-form-control:focus {
    border-color: var(--dhr-green) !important;
    box-shadow: 0 0 0 3px var(--dhr-green-glow) !important;
    background: rgba(255,255,255,0.15) !important;
}
.dhr-hero__form-card .ff-el-form-control::placeholder { color: rgba(255,255,255,0.4) !important; }

/* ── Animations ── */
@keyframes dhrFadeUp {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .dhr-hero__container {
        grid-template-columns: 1fr !important;
        padding: 80px var(--dhr-gutter) !important;
        gap: 44px !important;
    }
    .dhr-hero__content { text-align: center !important; }
    .dhr-hero__content h1::after { margin: 20px auto 0 !important; }
    .dhr-hero__subtitle { max-width: 100% !important; margin-left: auto !important; margin-right: auto !important; }
    .dhr-hero__badge { margin-left: auto !important; margin-right: auto !important; }
    .dhr-hero__buttons { justify-content: center !important; }
}
@media (max-width: 640px) {
    .dhr-hero__container { padding: 64px 20px !important; gap: 36px !important; }
    .dhr-hero__form-card { padding: 28px 22px !important; }
    .dhr-hero__buttons { flex-direction: column !important; }
    .dhr-hero__btn { width: 100% !important; text-align: center !important; }
    .dhr-hero__content h1 { font-size: clamp(30px, 7vw, 42px) !important; }
    .dhr-hero__form-card .ff-form.ff-grid { grid-template-columns: 1fr !important; }
    .dhr-hero__form-card .ff-form .ff-col-d-6 { grid-column: span 1 !important; }
}
/* iOS zoom fix */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .dhr-hero input, .dhr-hero select, .dhr-hero textarea { font-size: 16px !important; }
}

/* ══════════════════════════════════════════════════════════════
   BLOCO 02 — VÍDEO
   ══════════════════════════════════════════════════════════════ */
.dhr-video *, .dhr-video *::before, .dhr-video *::after {
    box-sizing: border-box !important; margin: 0 !important; padding: 0 !important;
}

.dhr-video {
    background: linear-gradient(180deg, var(--dhr-navy-dark) 0%, var(--dhr-navy) 100%) !important;
    padding: clamp(60px, 7vw, 96px) var(--dhr-gutter) !important;
    font-family: var(--dhr-font-body) !important;
    position: relative !important;
    overflow: hidden !important;
}
.dhr-video::before {
    content: '' !important;
    position: absolute !important;
    top: -25% !important; left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80vw !important; height: 60vw !important;
    max-width: 1000px !important; max-height: 700px !important;
    background: radial-gradient(ellipse, rgba(59,227,159,0.11) 0%, transparent 65%) !important;
    pointer-events: none !important;
}

.dhr-video__inner {
    max-width: 960px !important;
    margin: 0 auto !important;
    position: relative !important; z-index: 1 !important;
}

/* ── Moldura do player ── */
.dhr-video__frame {
    position: relative !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    background: #000 !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    box-shadow: 0 30px 80px rgba(0,0,0,0.5) !important;
    aspect-ratio: 16 / 9 !important;
    opacity: 0 !important;
    transform: translateY(26px) !important;
    transition: opacity 0.7s var(--dhr-ease), transform 0.7s var(--dhr-ease) !important;
}
/* Reveal via transition — !important venceria uma animation na cascata */
.dhr-video__frame.is-visible { opacity: 1 !important; transform: translateY(0) !important; }

.dhr-video__frame video {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    background: #000 !important;
}

/* ── Camada de capa (poster + botão) ── */
.dhr-video__cover {
    position: absolute !important;
    inset: 0 !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    transition: opacity 0.4s var(--dhr-ease) !important;
    width: 100% !important;
    z-index: 2 !important;
}
.dhr-video__cover.is-hidden {
    opacity: 0 !important;
    pointer-events: none !important;
}
/* Escurece um pouco o poster para o botão destacar */
.dhr-video__cover::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(0,15,58,0.30) 0%, rgba(0,15,58,0.55) 100%) !important;
    transition: background 0.4s var(--dhr-ease) !important;
}
.dhr-video__cover:hover::before {
    background: linear-gradient(180deg, rgba(0,15,58,0.18) 0%, rgba(0,15,58,0.42) 100%) !important;
}
.dhr-video__cover:focus-visible {
    outline: 3px solid var(--dhr-green) !important;
    outline-offset: -3px !important;
}

/* Botão de play */
.dhr-video__play {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: clamp(64px, 8vw, 88px) !important;
    height: clamp(64px, 8vw, 88px) !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, var(--dhr-green) 0%, var(--dhr-green-dark) 100%) !important;
    box-shadow: 0 10px 34px rgba(59,227,159,0.45) !important;
    transition: transform 0.3s var(--dhr-ease), box-shadow 0.3s var(--dhr-ease) !important;
    flex-shrink: 0 !important;
}
.dhr-video__cover:hover .dhr-video__play {
    transform: scale(1.09) !important;
    box-shadow: 0 14px 44px rgba(59,227,159,0.6) !important;
}
.dhr-video__play svg {
    width: 34% !important;
    height: 34% !important;
    fill: var(--dhr-navy) !important;
    margin-left: 8% !important;
}
/* Halo pulsante */
.dhr-video__play::after {
    content: '' !important;
    position: absolute !important;
    inset: -10px !important;
    border-radius: 50% !important;
    border: 2px solid rgba(59,227,159,0.55) !important;
    animation: dhrVideoPulse 2.4s var(--dhr-ease) infinite !important;
    pointer-events: none !important;
}
@keyframes dhrVideoPulse {
    0%   { transform: scale(0.92); opacity: 0.85; }
    70%  { transform: scale(1.22); opacity: 0; }
    100% { transform: scale(1.22); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .dhr-video__play::after { animation: none !important; }
    .dhr-video__frame { transition: opacity 0.3s linear !important; transform: none !important; }
}

/* Legenda opcional sob o vídeo */
.dhr-video__caption {
    margin: 22px auto 0 auto !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    color: rgba(255,255,255,0.55) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}
.dhr-video__caption svg {
    width: 15px !important; height: 15px !important;
    stroke: var(--dhr-green) !important; fill: none !important; stroke-width: 2 !important;
    flex-shrink: 0 !important;
}

/* ── Responsivo ── */
@media (max-width: 640px) {
    .dhr-video { padding: 48px 20px !important; }
    .dhr-video__frame { border-radius: 14px !important; }
    .dhr-video__caption { font-size: 13px !important; margin-top: 16px !important; }
}

/* ══════════════════════════════════════════════════════════════
   BLOCO 04 — THE SOLUTION (processo em 4 etapas + CTA)
   ══════════════════════════════════════════════════════════════ */
.dhr-sol *, .dhr-sol *::before, .dhr-sol *::after {
    box-sizing: border-box !important; margin: 0 !important; padding: 0 !important;
}

.dhr-sol {
    background: var(--dhr-navy-dark) !important;
    padding: clamp(70px, 8vw, 110px) var(--dhr-gutter) !important;
    font-family: var(--dhr-font-body) !important;
    position: relative !important;
    overflow: hidden !important;
}
/* Glow decorativo */
.dhr-sol::before {
    content: '' !important;
    position: absolute !important;
    top: -20% !important; right: -10% !important;
    width: 55vw !important; height: 55vw !important;
    max-width: 700px !important; max-height: 700px !important;
    background: radial-gradient(circle, rgba(59,227,159,0.10) 0%, transparent 65%) !important;
    pointer-events: none !important;
}
.dhr-sol__inner { max-width: var(--dhr-max-w) !important; margin: 0 auto !important; position: relative !important; z-index: 1 !important; }

/* ── Header ── */
.dhr-sol__header { text-align: center !important; margin: 0 auto 68px auto !important; max-width: 820px !important; }
.dhr-sol__label {
    display: inline-block !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 12px !important; font-weight: 700 !important;
    letter-spacing: 2.5px !important; text-transform: uppercase !important;
    color: var(--dhr-green) !important;
    background: rgba(59,227,159,0.10) !important;
    border: 1px solid rgba(59,227,159,0.25) !important;
    border-radius: 50px !important;
    padding: 8px 18px !important;
    margin: 0 0 20px 0 !important;
}
.dhr-sol__header h2 {
    font-family: var(--dhr-font-display) !important;
    font-size: clamp(28px, 3.8vw, 46px) !important;
    font-weight: 800 !important; line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    color: var(--dhr-white) !important;
    margin: 0 0 24px 0 !important;
}
.dhr-sol__header h2::after {
    content: '' !important; display: block !important;
    margin: 22px auto 0 auto !important;
    width: 72px !important; height: 3px !important;
    background: var(--dhr-green) !important; border-radius: 2px !important;
}
.dhr-sol__header p {
    font-size: clamp(16px, 1.15vw, 18px) !important;
    font-weight: 300 !important; line-height: 1.75 !important;
    color: rgba(255,255,255,0.72) !important;
    margin: 0 !important;
}

/* ── Steps ── */
.dhr-sol__steps {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 22px !important;
    margin: 0 0 60px 0 !important;
    position: relative !important;
}
/* Linha conectora */
.dhr-sol__steps::before {
    content: '' !important;
    position: absolute !important;
    top: 34px !important;
    left: 12.5% !important; right: 12.5% !important;
    height: 2px !important;
    background: linear-gradient(90deg, rgba(59,227,159,0.35), rgba(59,227,159,0.15)) !important;
    z-index: 0 !important;
}

.dhr-sol__step {
    position: relative !important;
    z-index: 1 !important;
    background: rgba(255,255,255,0.045) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    border-radius: 16px !important;
    padding: 34px 26px 30px 26px !important;
    text-align: center !important;
    /* transition (não animation): !important vence animação na cascata */
    opacity: 0 !important;
    transform: translateY(28px) !important;
    transition: opacity 0.6s var(--dhr-ease), transform 0.6s var(--dhr-ease),
                border-color 0.35s var(--dhr-ease), background 0.35s var(--dhr-ease) !important;
}
/* Escalonamento feito no JS (setTimeout), não com transition-delay */
.dhr-sol__step.is-visible { opacity: 1 !important; transform: translateY(0) !important; }
.dhr-sol__step:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(59,227,159,0.45) !important;
    background: rgba(255,255,255,0.07) !important;
}

.dhr-sol__num {
    display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    width: 52px !important; height: 52px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, var(--dhr-green) 0%, var(--dhr-green-dark) 100%) !important;
    color: var(--dhr-navy) !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 18px !important; font-weight: 800 !important;
    margin: 0 auto 22px auto !important;
    box-shadow: 0 6px 20px rgba(59,227,159,0.35) !important;
    border: 4px solid var(--dhr-navy-dark) !important;
    transition: transform 0.3s var(--dhr-ease), box-shadow 0.3s var(--dhr-ease) !important;
}
.dhr-sol__step:hover .dhr-sol__num {
    transform: scale(1.1) !important;
    box-shadow: 0 10px 28px rgba(59,227,159,0.5) !important;
}

.dhr-sol__step h3 {
    font-family: var(--dhr-font-display) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    color: var(--dhr-green) !important;
    line-height: 1.35 !important;
    margin: 0 0 14px 0 !important;
}
.dhr-sol__step p {
    font-size: 15px !important;
    font-weight: 300 !important;
    line-height: 1.65 !important;
    color: rgba(255,255,255,0.72) !important;
    margin: 0 !important;
}

/* ── CTA ── */
.dhr-sol__cta { text-align: center !important; }
.dhr-sol__btn {
    display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    padding: 17px 44px !important;
    background: linear-gradient(135deg, var(--dhr-green) 0%, var(--dhr-green-dark) 100%) !important;
    color: var(--dhr-navy) !important;
    text-decoration: none !important;
    border-radius: 50px !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 16px !important; font-weight: 800 !important;
    letter-spacing: 0.5px !important; text-transform: uppercase !important;
    box-shadow: 0 4px 20px rgba(59,227,159,0.3) !important;
    transition: box-shadow 0.3s var(--dhr-ease), transform 0.3s var(--dhr-ease) !important;
    border: none !important; cursor: pointer !important;
}
.dhr-sol__btn:hover {
    box-shadow: 0 8px 32px rgba(59,227,159,0.45) !important;
    transform: translateY(-2px) !important;
    color: var(--dhr-navy) !important;
}

@keyframes dhrSolUp {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}
/* fill-mode "both" dá o estado inicial sem declarar opacity:0 !important */
.dhr-sol__header > * { animation: dhrSolUp 0.65s var(--dhr-ease) both !important; }
.dhr-sol__header > *:nth-child(1) { animation-delay: 0.05s !important; }
.dhr-sol__header > *:nth-child(2) { animation-delay: 0.16s !important; }
.dhr-sol__header > *:nth-child(3) { animation-delay: 0.28s !important; }

/* ── Responsive ── */
@media (max-width: 1024px) {
    .dhr-sol__steps { grid-template-columns: repeat(2, 1fr) !important; gap: 20px !important; }
    .dhr-sol__steps::before { display: none !important; }
}
@media (max-width: 640px) {
    .dhr-sol { padding: 64px 20px !important; }
    .dhr-sol__steps { grid-template-columns: 1fr !important; }
    .dhr-sol__step { padding: 28px 22px !important; }
    .dhr-sol__header { margin-bottom: 44px !important; }
    .dhr-sol__btn { width: 100% !important; padding: 17px 24px !important; font-size: 14px !important; }
}

/* ══════════════════════════════════════════════════════════════
   BLOCO 06 — BATHROOM FEATURES & UPGRADES (6 cards + CTA)
   ══════════════════════════════════════════════════════════════ */
.dhr-feat *, .dhr-feat *::before, .dhr-feat *::after {
    box-sizing: border-box !important; margin: 0 !important; padding: 0 !important;
}

.dhr-feat {
    background: var(--dhr-surface) !important;
    padding: clamp(70px, 8vw, 110px) var(--dhr-gutter) !important;
    font-family: var(--dhr-font-body) !important;
}
.dhr-feat__inner { max-width: var(--dhr-max-w) !important; margin: 0 auto !important; }

/* ── Header ── */
.dhr-feat__header { text-align: center !important; margin: 0 auto 56px auto !important; max-width: 800px !important; }
.dhr-feat__label {
    display: inline-block !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 12px !important; font-weight: 700 !important;
    letter-spacing: 2.5px !important; text-transform: uppercase !important;
    color: var(--dhr-navy) !important;
    background: rgba(59,227,159,0.18) !important;
    border-radius: 50px !important;
    padding: 8px 18px !important;
    margin: 0 0 20px 0 !important;
}
.dhr-feat__header h2 {
    font-family: var(--dhr-font-display) !important;
    font-size: clamp(28px, 3.8vw, 46px) !important;
    font-weight: 800 !important; line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    color: var(--dhr-navy) !important;
    margin: 0 !important;
}
.dhr-feat__header h2::after {
    content: '' !important; display: block !important;
    margin: 22px auto 0 auto !important;
    width: 72px !important; height: 3px !important;
    background: var(--dhr-green) !important; border-radius: 2px !important;
}

/* ── Grid ── */
.dhr-feat__grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    margin: 0 0 56px 0 !important;
}

.dhr-feat__card {
    background: var(--dhr-white) !important;
    border: 1px solid var(--dhr-line) !important;
    border-radius: 16px !important;
    padding: 34px 30px !important;
    box-shadow: 0 4px 24px rgba(0,25,89,0.06) !important;
    position: relative !important;
    overflow: hidden !important;
    /* transition (não animation): !important vence animação na cascata */
    opacity: 0 !important;
    transform: translateY(28px) !important;
    transition: opacity 0.6s var(--dhr-ease), transform 0.6s var(--dhr-ease),
                box-shadow 0.35s var(--dhr-ease), border-color 0.35s var(--dhr-ease) !important;
}
/* Escalonamento feito no JS (setTimeout), não com transition-delay */
.dhr-feat__card.is-visible { opacity: 1 !important; transform: translateY(0) !important; }
.dhr-feat__card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 18px 44px rgba(0,25,89,0.13) !important;
    border-color: rgba(59,227,159,0.55) !important;
}
.dhr-feat__card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, var(--dhr-green), var(--dhr-green-dark)) !important;
    opacity: 0 !important;
    transition: opacity 0.3s var(--dhr-ease) !important;
}
.dhr-feat__card:hover::before { opacity: 1 !important; }

.dhr-feat__check {
    display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    width: 44px !important; height: 44px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, var(--dhr-green) 0%, var(--dhr-green-dark) 100%) !important;
    box-shadow: 0 6px 18px rgba(59,227,159,0.32) !important;
    margin: 0 0 20px 0 !important;
    transition: transform 0.3s var(--dhr-ease) !important;
}
.dhr-feat__card:hover .dhr-feat__check { transform: scale(1.1) rotate(-5deg) !important; }
.dhr-feat__check svg {
    width: 20px !important; height: 20px !important;
    stroke: var(--dhr-navy) !important; fill: none !important; stroke-width: 3 !important;
}

.dhr-feat__card h3 {
    font-family: var(--dhr-font-display) !important;
    font-size: clamp(17px, 1.35vw, 20px) !important;
    font-weight: 700 !important;
    color: var(--dhr-navy) !important;
    line-height: 1.3 !important;
    margin: 0 0 12px 0 !important;
}
.dhr-feat__card p {
    font-size: 15.5px !important;
    font-weight: 300 !important;
    line-height: 1.65 !important;
    color: var(--dhr-muted) !important;
    margin: 0 !important;
}

/* ── CTA ── */
.dhr-feat__cta { text-align: center !important; }
.dhr-feat__btn {
    display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    padding: 17px 44px !important;
    background: linear-gradient(135deg, var(--dhr-navy) 0%, var(--dhr-navy-light) 100%) !important;
    color: var(--dhr-white) !important;
    text-decoration: none !important;
    border-radius: 50px !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 16px !important; font-weight: 800 !important;
    letter-spacing: 0.5px !important; text-transform: uppercase !important;
    box-shadow: 0 4px 20px rgba(0,25,89,0.28) !important;
    transition: box-shadow 0.3s var(--dhr-ease), transform 0.3s var(--dhr-ease) !important;
    border: none !important; cursor: pointer !important;
}
.dhr-feat__btn:hover {
    box-shadow: 0 8px 32px rgba(0,25,89,0.42) !important;
    transform: translateY(-2px) !important;
    color: var(--dhr-white) !important;
}

@keyframes dhrFeatUp {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Responsive ── */
@media (max-width: 1024px) { .dhr-feat__grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 640px) {
    .dhr-feat { padding: 64px 20px !important; }
    .dhr-feat__grid { grid-template-columns: 1fr !important; gap: 16px !important; }
    .dhr-feat__card { padding: 28px 22px !important; }
    .dhr-feat__header { margin-bottom: 40px !important; }
    .dhr-feat__btn { width: 100% !important; padding: 17px 24px !important; font-size: 14px !important; }
}

/* ══════════════════════════════════════════════════════════════
   BLOCO 07 — ONE-DAY OPTION
   ══════════════════════════════════════════════════════════════ */
.dhr-oneday *, .dhr-oneday *::before, .dhr-oneday *::after {
    box-sizing: border-box !important; margin: 0 !important; padding: 0 !important;
}

.dhr-oneday {
    background: linear-gradient(135deg, var(--dhr-navy) 0%, var(--dhr-navy-dark) 100%) !important;
    padding: clamp(70px, 8vw, 110px) var(--dhr-gutter) !important;
    font-family: var(--dhr-font-body) !important;
    position: relative !important;
    overflow: hidden !important;
}
.dhr-oneday::before {
    content: '' !important;
    position: absolute !important;
    bottom: -25% !important; left: -12% !important;
    width: 55vw !important; height: 55vw !important;
    max-width: 720px !important; max-height: 720px !important;
    background: radial-gradient(circle, rgba(59,227,159,0.12) 0%, transparent 65%) !important;
    pointer-events: none !important;
}

.dhr-oneday__inner {
    max-width: var(--dhr-max-w) !important;
    margin: 0 auto !important;
    position: relative !important; z-index: 1 !important;
    display: grid !important;
    grid-template-columns: 1.05fr 0.95fr !important;
    gap: 60px !important;
    align-items: center !important;
}

/* ── Coluna de texto ── */
.dhr-oneday__label {
    display: inline-block !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 12px !important; font-weight: 700 !important;
    letter-spacing: 2.5px !important; text-transform: uppercase !important;
    color: var(--dhr-green) !important;
    background: rgba(59,227,159,0.10) !important;
    border: 1px solid rgba(59,227,159,0.25) !important;
    border-radius: 50px !important;
    padding: 8px 18px !important;
    margin: 0 0 20px 0 !important;
}
.dhr-oneday__content h2 {
    font-family: var(--dhr-font-display) !important;
    font-size: clamp(28px, 3.6vw, 44px) !important;
    font-weight: 800 !important; line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    color: var(--dhr-white) !important;
    margin: 0 0 22px 0 !important;
}
.dhr-oneday__content h2 span { color: var(--dhr-green) !important; }
.dhr-oneday__content h2::after {
    content: '' !important; display: block !important;
    margin-top: 20px !important;
    width: 72px !important; height: 3px !important;
    background: var(--dhr-green) !important; border-radius: 2px !important;
}
.dhr-oneday__lead {
    font-size: clamp(16px, 1.15vw, 18px) !important;
    font-weight: 300 !important; line-height: 1.75 !important;
    color: rgba(255,255,255,0.75) !important;
    margin: 0 0 34px 0 !important;
}

.dhr-oneday__list-title {
    font-family: var(--dhr-font-display) !important;
    font-size: 13px !important; font-weight: 800 !important;
    letter-spacing: 1.2px !important; text-transform: uppercase !important;
    color: var(--dhr-white) !important;
    margin: 0 0 18px 0 !important;
}

.dhr-oneday__list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.dhr-oneday__list li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 14px 18px !important;
    margin: 0 0 12px 0 !important;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.09) !important;
    border-radius: 12px !important;
    font-size: 15.5px !important;
    line-height: 1.6 !important;
    color: rgba(255,255,255,0.85) !important;
    /* transition (não animation): !important vence animação na cascata */
    transition: opacity 0.55s var(--dhr-ease), transform 0.55s var(--dhr-ease),
                background 0.3s var(--dhr-ease), border-color 0.3s var(--dhr-ease) !important;
    opacity: 0 !important;
    transform: translateX(-16px) !important;
}
.dhr-oneday__list li:last-child { margin-bottom: 0 !important; }
/* Escalonamento feito no JS (setTimeout), não com transition-delay */
.dhr-oneday__list li.is-visible { opacity: 1 !important; transform: translateX(0) !important; }
.dhr-oneday__list li:hover {
    background: rgba(255,255,255,0.09) !important;
    border-color: rgba(59,227,159,0.4) !important;
    transform: translateX(4px) !important;
}
.dhr-oneday__check {
    display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    width: 24px !important; height: 24px !important; min-width: 24px !important;
    border-radius: 50% !important;
    background: var(--dhr-green) !important;
    box-shadow: 0 3px 10px rgba(59,227,159,0.4) !important;
    flex-shrink: 0 !important;
    margin-top: 1px !important;
}
.dhr-oneday__check svg {
    width: 13px !important; height: 13px !important;
    stroke: var(--dhr-navy) !important; fill: none !important; stroke-width: 3 !important;
}

/* ── Coluna de imagem ── */
.dhr-oneday__media {
    position: relative !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 30px 70px rgba(0,0,0,0.42) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    aspect-ratio: 4 / 5 !important;
}
.dhr-oneday__media img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; display: block !important;
    transition: transform 0.6s var(--dhr-ease) !important;
}
.dhr-oneday__media:hover img { transform: scale(1.05) !important; }

/* Selo "6-8 HOURS" */
.dhr-oneday__stamp {
    position: absolute !important;
    bottom: 22px !important; left: 22px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: rgba(0,15,58,0.82) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(59,227,159,0.35) !important;
    border-radius: 14px !important;
    padding: 14px 20px !important;
}
.dhr-oneday__stamp svg {
    width: 26px !important; height: 26px !important;
    stroke: var(--dhr-green) !important; fill: none !important; stroke-width: 2 !important;
    flex-shrink: 0 !important;
}
.dhr-oneday__stamp-num {
    display: block !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 20px !important; font-weight: 800 !important;
    color: var(--dhr-white) !important; line-height: 1.1 !important;
}
.dhr-oneday__stamp-txt {
    display: block !important;
    font-size: 12px !important;
    color: rgba(255,255,255,0.7) !important;
    letter-spacing: 0.5px !important;
}

@keyframes dhrOneDayIn {
    from { opacity: 0; transform: translateX(-16px); }
    to   { opacity: 1; transform: translateX(0); }
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .dhr-oneday__inner { grid-template-columns: 1fr !important; gap: 44px !important; }
    .dhr-oneday__media { aspect-ratio: 16 / 10 !important; order: -1 !important; }
}
@media (max-width: 640px) {
    .dhr-oneday { padding: 64px 20px !important; }
    .dhr-oneday__media { aspect-ratio: 4 / 3 !important; }
    .dhr-oneday__stamp { bottom: 16px !important; left: 16px !important; padding: 12px 16px !important; }
}

/* ══════════════════════════════════════════════════════════════
   BLOCO 08 — OUR WORK (galeria masonry + lightbox)
   ══════════════════════════════════════════════════════════════ */
.dhr-work *, .dhr-work *::before, .dhr-work *::after,
.dhr-lightbox *, .dhr-lightbox *::before, .dhr-lightbox *::after {
    box-sizing: border-box !important; margin: 0 !important; padding: 0 !important;
}

.dhr-work {
    background: var(--dhr-white) !important;
    padding: clamp(70px, 8vw, 110px) var(--dhr-gutter) !important;
    font-family: var(--dhr-font-body) !important;
}
.dhr-work__inner { max-width: var(--dhr-max-w) !important; margin: 0 auto !important; }

/* ── Header ── */
.dhr-work__header { text-align: center !important; margin: 0 auto 52px auto !important; max-width: 760px !important; }
.dhr-work__label {
    display: inline-block !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 12px !important; font-weight: 700 !important;
    letter-spacing: 2.5px !important; text-transform: uppercase !important;
    color: var(--dhr-navy) !important;
    background: rgba(59,227,159,0.18) !important;
    border-radius: 50px !important;
    padding: 8px 18px !important;
    margin: 0 0 20px 0 !important;
}
.dhr-work__header h2 {
    font-family: var(--dhr-font-display) !important;
    font-size: clamp(28px, 3.8vw, 46px) !important;
    font-weight: 800 !important; line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    color: var(--dhr-navy) !important;
    margin: 0 !important;
}
.dhr-work__header h2::after {
    content: '' !important; display: block !important;
    margin: 22px auto 0 auto !important;
    width: 72px !important; height: 3px !important;
    background: var(--dhr-green) !important; border-radius: 2px !important;
}

/* ── Masonry (CSS columns) ── */
.dhr-work__grid {
    column-count: 3 !important;
    column-gap: 18px !important;
}
.dhr-work__item {
    break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin: 0 0 18px 0 !important;
    display: block !important;
    width: 100% !important;
    position: relative !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    cursor: zoom-in !important;
    background: var(--dhr-surface) !important;
    border: none !important;
    box-shadow: 0 4px 20px rgba(0,25,89,0.09) !important;
    /* transition (não animation): !important vence animação na cascata */
    opacity: 0 !important;
    transform: translateY(24px) !important;
    transition: opacity 0.6s var(--dhr-ease), transform 0.6s var(--dhr-ease),
                box-shadow 0.35s var(--dhr-ease) !important;
    padding: 0 !important;
    line-height: 0 !important;
}
/* Escalonamento feito no JS (setTimeout), não com transition-delay */
.dhr-work__item.is-visible { opacity: 1 !important; transform: translateY(0) !important; }
.dhr-work__item:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 18px 44px rgba(0,25,89,0.2) !important;
}
.dhr-work__item:focus-visible {
    outline: 3px solid var(--dhr-green) !important;
    outline-offset: 3px !important;
}
.dhr-work__item img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    transition: transform 0.6s var(--dhr-ease) !important;
}
.dhr-work__item:hover img { transform: scale(1.06) !important; }

/* Overlay com lupa */
.dhr-work__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(0,25,89,0) 45%, rgba(0,15,58,0.72) 100%) !important;
    opacity: 0 !important;
    transition: opacity 0.35s var(--dhr-ease) !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
    padding: 16px !important;
}
.dhr-work__item:hover .dhr-work__overlay,
.dhr-work__item:focus-visible .dhr-work__overlay { opacity: 1 !important; }
.dhr-work__zoom {
    display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    width: 40px !important; height: 40px !important;
    border-radius: 50% !important;
    background: var(--dhr-green) !important;
    box-shadow: 0 5px 16px rgba(59,227,159,0.45) !important;
}
.dhr-work__zoom svg {
    width: 18px !important; height: 18px !important;
    stroke: var(--dhr-navy) !important; fill: none !important; stroke-width: 2.5 !important;
}

@keyframes dhrWorkUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ══════════════════════════════════════════════════
   LIGHTBOX
   ══════════════════════════════════════════════════ */
.dhr-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    background: rgba(0,15,58,0.94) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 40px 70px !important;
    font-family: var(--dhr-font-body) !important;
}
.dhr-lightbox.is-open { display: flex !important; animation: dhrLbFade 0.25s var(--dhr-ease) !important; }

.dhr-lightbox__img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    border-radius: 10px !important;
    box-shadow: 0 30px 80px rgba(0,0,0,0.6) !important;
    display: block !important;
}

.dhr-lightbox__btn {
    position: absolute !important;
    display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    width: 48px !important; height: 48px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.10) !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    cursor: pointer !important;
    transition: background 0.25s var(--dhr-ease), transform 0.25s var(--dhr-ease) !important;
    padding: 0 !important;
}
.dhr-lightbox__btn:hover { background: var(--dhr-green) !important; transform: scale(1.08) !important; }
.dhr-lightbox__btn svg {
    width: 20px !important; height: 20px !important;
    stroke: var(--dhr-white) !important; fill: none !important; stroke-width: 2.5 !important;
}
.dhr-lightbox__btn:hover svg { stroke: var(--dhr-navy) !important; }

.dhr-lightbox__close { top: 24px !important; right: 24px !important; }
.dhr-lightbox__prev  { left: 18px !important;  top: 50% !important; transform: translateY(-50%) !important; }
.dhr-lightbox__next  { right: 18px !important; top: 50% !important; transform: translateY(-50%) !important; }
.dhr-lightbox__prev:hover { transform: translateY(-50%) scale(1.08) !important; }
.dhr-lightbox__next:hover { transform: translateY(-50%) scale(1.08) !important; }

.dhr-lightbox__counter {
    position: absolute !important;
    bottom: 22px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    color: rgba(255,255,255,0.75) !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 50px !important;
    padding: 7px 16px !important;
}

@keyframes dhrLbFade { from { opacity: 0; } to { opacity: 1; } }

/* ── Responsive ── */
@media (max-width: 1024px) { .dhr-work__grid { column-count: 2 !important; } }
@media (max-width: 640px) {
    .dhr-work { padding: 64px 20px !important; }
    .dhr-work__grid { column-count: 2 !important; column-gap: 12px !important; }
    .dhr-work__item { margin-bottom: 12px !important; border-radius: 10px !important; }
    .dhr-work__header { margin-bottom: 40px !important; }
    .dhr-lightbox { padding: 16px !important; }
    .dhr-lightbox__close { top: 12px !important; right: 12px !important; width: 42px !important; height: 42px !important; }
    .dhr-lightbox__prev { left: 8px !important; width: 42px !important; height: 42px !important; }
    .dhr-lightbox__next { right: 8px !important; width: 42px !important; height: 42px !important; }
}

/* ══════════════════════════════════════════════════════════════
   BLOCO 09 — REVIEWS
   ══════════════════════════════════════════════════════════════ */
/* Sem reset coringa — só os nossos elementos, para não afetar o widget. */
.dhr-rev {
    background: var(--dhr-surface) !important;
    padding: clamp(70px, 8vw, 110px) var(--dhr-gutter) !important;
    font-family: var(--dhr-font-body) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    overflow: hidden !important;
}
.dhr-rev__inner {
    max-width: var(--dhr-max-w) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* ── Header ── */
.dhr-rev__header {
    text-align: center !important;
    margin: 0 auto 48px auto !important;
    padding: 0 !important;
    max-width: 760px !important;
}
.dhr-rev__label {
    display: inline-block !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--dhr-navy) !important;
    background: rgba(59,227,159,0.18) !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 8px 18px !important;
    margin: 0 0 20px 0 !important;
    line-height: 1.4 !important;
}
.dhr-rev__header h2 {
    font-family: var(--dhr-font-display) !important;
    font-size: clamp(28px, 3.8vw, 46px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    color: var(--dhr-navy) !important;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: none !important;
    background: transparent !important;
    border: none !important;
}
.dhr-rev__header h2::after {
    content: '' !important;
    display: block !important;
    margin: 22px auto 0 auto !important;
    width: 72px !important;
    height: 3px !important;
    background: var(--dhr-green) !important;
    border-radius: 2px !important;
}

/* Entrada do header: `both` fornece o estado inicial.
   Não declarar `opacity: 0 !important` na base — !important vence
   animação na cascata e o texto nunca apareceria. */
.dhr-rev__label,
.dhr-rev__header h2 {
    animation: dhrRevUp 0.65s var(--dhr-ease) both !important;
}
.dhr-rev__label     { animation-delay: 0.05s !important; }
.dhr-rev__header h2 { animation-delay: 0.16s !important; }

@keyframes dhrRevUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Container do widget ──
   Só centraliza e limita a largura. O visual dos cards é do Trustindex. */
.dhr-rev__widget {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
.dhr-rev__widget img { max-width: 100% !important; height: auto !important; }

@media (max-width: 640px) {
    .dhr-rev { padding: 64px 20px !important; }
    .dhr-rev__header { margin-bottom: 36px !important; }
}

/* ══════════════════════════════════════════════════════════════
   BLOCO 10 — ABOUT US (texto + foto da equipe + 4 selos)
   ══════════════════════════════════════════════════════════════ */
.dhr-about *, .dhr-about *::before, .dhr-about *::after {
    box-sizing: border-box !important; margin: 0 !important; padding: 0 !important;
}

.dhr-about {
    background: var(--dhr-white) !important;
    padding: clamp(70px, 8vw, 110px) var(--dhr-gutter) !important;
    font-family: var(--dhr-font-body) !important;
}
.dhr-about__inner { max-width: var(--dhr-max-w) !important; margin: 0 auto !important; }

.dhr-about__grid {
    display: grid !important;
    grid-template-columns: 0.9fr 1.1fr !important;
    gap: 64px !important;
    align-items: center !important;
    margin: 0 0 64px 0 !important;
}

/* ── Foto ── */
/* z-index:0 cria stacking context para a moldura (::before, z-index:-1)
   não sumir atrás do fundo branco da seção */
.dhr-about__media { position: relative !important; z-index: 0 !important; }
.dhr-about__photo {
    position: relative !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 24px 60px rgba(0,25,89,0.20) !important;
    aspect-ratio: 1 / 1 !important;
}
.dhr-about__photo img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; display: block !important;
    transition: transform 0.6s var(--dhr-ease) !important;
}
.dhr-about__photo:hover img { transform: scale(1.04) !important; }
/* Moldura decorativa */
.dhr-about__media::before {
    content: '' !important;
    position: absolute !important;
    inset: 18px -18px -18px 18px !important;
    border: 2px solid var(--dhr-green) !important;
    border-radius: 20px !important;
    z-index: -1 !important;
}

/* Selo flutuante */
.dhr-about__since {
    position: absolute !important;
    bottom: -20px !important; left: -20px !important;
    background: linear-gradient(135deg, var(--dhr-navy) 0%, var(--dhr-navy-light) 100%) !important;
    border-radius: 16px !important;
    padding: 18px 24px !important;
    box-shadow: 0 14px 36px rgba(0,25,89,0.32) !important;
    text-align: center !important;
}
.dhr-about__since-num {
    display: block !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 26px !important; font-weight: 800 !important;
    color: var(--dhr-green) !important; line-height: 1.1 !important;
}
.dhr-about__since-txt {
    display: block !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.75) !important;
    margin-top: 4px !important;
}

/* ── Conteúdo ── */
.dhr-about__label {
    display: inline-block !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 12px !important; font-weight: 700 !important;
    letter-spacing: 2.5px !important; text-transform: uppercase !important;
    color: var(--dhr-navy) !important;
    background: rgba(59,227,159,0.18) !important;
    border-radius: 50px !important;
    padding: 8px 18px !important;
    margin: 0 0 20px 0 !important;
}
.dhr-about__content h2 {
    font-family: var(--dhr-font-display) !important;
    font-size: clamp(27px, 3.5vw, 43px) !important;
    font-weight: 800 !important; line-height: 1.16 !important;
    letter-spacing: -0.02em !important;
    color: var(--dhr-navy) !important;
    margin: 0 0 24px 0 !important;
}
.dhr-about__content h2::after {
    content: '' !important; display: block !important;
    margin-top: 22px !important;
    width: 72px !important; height: 3px !important;
    background: var(--dhr-green) !important; border-radius: 2px !important;
}
.dhr-about__content p {
    font-size: clamp(16px, 1.15vw, 18px) !important;
    font-weight: 300 !important; line-height: 1.8 !important;
    color: var(--dhr-muted) !important;
    margin: 0 !important;
}

/* ── Selos de confiança ── */
.dhr-about__trust {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
}
.dhr-about__trust-item {
    background: var(--dhr-surface) !important;
    border: 1px solid var(--dhr-line) !important;
    border-radius: 16px !important;
    padding: 30px 22px !important;
    text-align: center !important;
    /* transition (não animation): !important vence animação na cascata */
    opacity: 0 !important;
    transform: translateY(24px) !important;
    transition: opacity 0.6s var(--dhr-ease), transform 0.6s var(--dhr-ease),
                box-shadow 0.35s var(--dhr-ease), border-color 0.35s var(--dhr-ease) !important;
}
/* Escalonamento feito no JS (setTimeout), não com transition-delay */
.dhr-about__trust-item.is-visible { opacity: 1 !important; transform: translateY(0) !important; }
.dhr-about__trust-item:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 14px 36px rgba(0,25,89,0.12) !important;
    border-color: rgba(59,227,159,0.55) !important;
}
.dhr-about__trust-icon {
    display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    width: 48px !important; height: 48px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, var(--dhr-navy) 0%, var(--dhr-navy-light) 100%) !important;
    box-shadow: 0 6px 18px rgba(0,25,89,0.24) !important;
    margin: 0 auto 16px auto !important;
    transition: transform 0.3s var(--dhr-ease) !important;
}
.dhr-about__trust-item:hover .dhr-about__trust-icon { transform: scale(1.1) rotate(-5deg) !important; }
.dhr-about__trust-icon svg {
    width: 22px !important; height: 22px !important;
    stroke: var(--dhr-green) !important; fill: none !important; stroke-width: 2 !important;
}
.dhr-about__trust-item h3 {
    font-family: var(--dhr-font-display) !important;
    font-size: 15px !important; font-weight: 700 !important;
    color: var(--dhr-navy) !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

@keyframes dhrAboutUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .dhr-about__grid { grid-template-columns: 1fr !important; gap: 52px !important; }
    .dhr-about__media { max-width: 460px !important; margin: 0 auto !important; }
    .dhr-about__trust { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
    .dhr-about { padding: 64px 20px !important; }
    .dhr-about__media::before { inset: 12px -12px -12px 12px !important; }
    .dhr-about__since { bottom: -14px !important; left: -10px !important; padding: 14px 18px !important; }
    .dhr-about__since-num { font-size: 22px !important; }
    .dhr-about__trust { gap: 14px !important; }
    .dhr-about__trust-item { padding: 24px 16px !important; }
}

/* ══════════════════════════════════════════════════════════════
   BLOCO 11 — READY TO START? (CTA final + formulário)
   ══════════════════════════════════════════════════════════════ */
.dhr-fcta *, .dhr-fcta *::before, .dhr-fcta *::after {
    box-sizing: border-box !important; margin: 0 !important; padding: 0 !important;
}

.dhr-fcta {
    background: var(--dhr-navy-dark) !important;
    padding: clamp(70px, 8vw, 110px) var(--dhr-gutter) !important;
    font-family: var(--dhr-font-body) !important;
    position: relative !important;
    overflow: hidden !important;
}
/* Imagem de fundo + overlay */
.dhr-fcta__bg { position: absolute !important; inset: 0 !important; }
.dhr-fcta__bg img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; display: block !important;
}
.dhr-fcta__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(160deg, rgba(0,15,58,0.94) 0%, rgba(0,25,89,0.88) 50%, rgba(0,15,58,0.94) 100%) !important;
}
.dhr-fcta::after {
    content: '' !important;
    position: absolute !important;
    top: -20% !important; left: -10% !important;
    width: 55vw !important; height: 55vw !important;
    max-width: 700px !important; max-height: 700px !important;
    background: radial-gradient(circle, rgba(59,227,159,0.12) 0%, transparent 65%) !important;
    pointer-events: none !important;
}

.dhr-fcta__inner {
    max-width: var(--dhr-max-w) !important;
    margin: 0 auto !important;
    position: relative !important; z-index: 2 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 60px !important;
    align-items: center !important;
}

/* ── Coluna de texto ── */
.dhr-fcta__content { animation: dhrFctaUp 0.7s var(--dhr-ease) 0.1s both !important; }
.dhr-fcta__label {
    display: inline-block !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 12px !important; font-weight: 700 !important;
    letter-spacing: 2.5px !important; text-transform: uppercase !important;
    color: var(--dhr-green) !important;
    background: rgba(59,227,159,0.10) !important;
    border: 1px solid rgba(59,227,159,0.25) !important;
    border-radius: 50px !important;
    padding: 8px 18px !important;
    margin: 0 0 20px 0 !important;
}
.dhr-fcta__content h2 {
    font-family: var(--dhr-font-display) !important;
    font-size: clamp(30px, 3.9vw, 48px) !important;
    font-weight: 800 !important; line-height: 1.13 !important;
    letter-spacing: -0.02em !important;
    color: var(--dhr-white) !important;
    margin: 0 0 24px 0 !important;
}
.dhr-fcta__content h2 span { color: var(--dhr-green) !important; }
.dhr-fcta__content h2::after {
    content: '' !important; display: block !important;
    margin-top: 22px !important;
    width: 72px !important; height: 3px !important;
    background: var(--dhr-green) !important; border-radius: 2px !important;
}
.dhr-fcta__lead {
    font-size: clamp(16px, 1.15vw, 18px) !important;
    font-weight: 300 !important; line-height: 1.75 !important;
    color: rgba(255,255,255,0.75) !important;
    margin: 0 0 34px 0 !important;
    max-width: 520px !important;
}

/* Botão de telefone */
.dhr-fcta__phone {
    display: inline-flex !important;
    align-items: center !important; gap: 12px !important;
    padding: 16px 34px !important;
    background: rgba(255,255,255,0.09) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    border-radius: 50px !important;
    color: var(--dhr-white) !important;
    text-decoration: none !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 16px !important; font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    transition: background 0.3s var(--dhr-ease), transform 0.3s var(--dhr-ease), border-color 0.3s var(--dhr-ease) !important;
}
.dhr-fcta__phone:hover {
    background: rgba(255,255,255,0.16) !important;
    border-color: rgba(59,227,159,0.5) !important;
    transform: translateY(-2px) !important;
    color: var(--dhr-white) !important;
}
.dhr-fcta__phone svg {
    width: 18px !important; height: 18px !important;
    fill: var(--dhr-green) !important; flex-shrink: 0 !important;
}

/* ══════════════════════════════════════════════════
   Form card (mesmo tratamento do hero)
   ══════════════════════════════════════════════════ */
.dhr-fcta__form-card {
    background: rgba(255,255,255,0.06) !important;
    backdrop-filter: blur(24px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(140%) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 16px !important;
    padding: 40px 36px !important;
    box-shadow: 0 24px 64px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.06) !important;
    animation: dhrFctaUp 0.7s var(--dhr-ease) 0.25s both !important;
}

.dhr-fcta__form-card .ff-form.ff-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
}
.dhr-fcta__form-card .ff-form .ff-col-d-12 { grid-column: span 2 !important; }
.dhr-fcta__form-card .ff-form .ff-col-d-6  { grid-column: span 1 !important; }

.dhr-fcta__form-card .ff-label,
.dhr-fcta__form-card .ff-form label {
    display: block !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 11px !important; font-weight: 600 !important;
    color: rgba(255,255,255,0.85) !important;
    letter-spacing: 0.4px !important; text-transform: uppercase !important;
    margin: 0 0 7px 0 !important;
    background: transparent !important; border: none !important;
    transition: color 0.3s var(--dhr-ease) !important;
}
.dhr-fcta__form-card .ff-required { color: var(--dhr-green) !important; margin-left: 2px !important; }

.dhr-fcta__form-card .ff-input,
.dhr-fcta__form-card input[type="text"],
.dhr-fcta__form-card input[type="email"],
.dhr-fcta__form-card input[type="tel"],
.dhr-fcta__form-card select.ff-select,
.dhr-fcta__form-card textarea.ff-textarea {
    width: 100% !important;
    padding: 12px 16px !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1.5px solid rgba(255,255,255,0.12) !important;
    border-radius: 12px !important;
    font-family: var(--dhr-font-body) !important;
    font-size: 16px !important;
    color: #ffffff !important;
    outline: none !important;
    -webkit-appearance: none !important; appearance: none !important;
    transition: border-color 0.3s var(--dhr-ease), box-shadow 0.3s var(--dhr-ease), background 0.3s var(--dhr-ease) !important;
    box-shadow: none !important; box-sizing: border-box !important;
    display: block !important; height: auto !important; line-height: 1.4 !important;
}
.dhr-fcta__form-card .ff-input::placeholder,
.dhr-fcta__form-card textarea.ff-textarea::placeholder {
    color: rgba(255,255,255,0.35) !important; opacity: 1 !important;
}
.dhr-fcta__form-card .ff-input:focus,
.dhr-fcta__form-card select.ff-select:focus,
.dhr-fcta__form-card textarea.ff-textarea:focus {
    border-color: var(--dhr-green) !important;
    box-shadow: 0 0 0 3px var(--dhr-green-glow) !important;
    background: rgba(255,255,255,0.12) !important;
    color: #ffffff !important; outline: none !important;
}
.dhr-fcta__form-card .ff-form .ff-field:focus-within .ff-label { color: var(--dhr-green) !important; }

.dhr-fcta__form-card .ff-el-input--content,
.dhr-fcta__form-card .ff-field--select > .ff-el-input--content { position: relative !important; display: block !important; }
.dhr-fcta__form-card .ff-el-input--content::after,
.dhr-fcta__form-card .ff-field--select > .ff-el-input--content::after {
    content: '' !important;
    position: absolute !important;
    right: 16px !important; top: 50% !important;
    transform: translateY(-50%) !important;
    width: 0 !important; height: 0 !important;
    border-left: 5px solid transparent !important;
    border-right: 5px solid transparent !important;
    border-top: 6px solid rgba(255,255,255,0.5) !important;
    pointer-events: none !important;
}
.dhr-fcta__form-card select.ff-select { padding-right: 42px !important; cursor: pointer !important; }
.dhr-fcta__form-card select.ff-select option { background: var(--dhr-navy) !important; color: #ffffff !important; }

.dhr-fcta__form-card textarea.ff-textarea { resize: vertical !important; min-height: 100px !important; line-height: 1.5 !important; }

/* Consent */
.dhr-fcta__form-card .ff-field--consent,
.dhr-fcta__form-card .ff-field[data-field_key="consent"] { margin-top: 12px !important; padding-top: 4px !important; }
.dhr-fcta__form-card .ff-field--consent .ff-el-input--label,
.dhr-fcta__form-card .ff-field--consent label,
.dhr-fcta__form-card .ff-consent-label {
    display: flex !important; align-items: center !important; gap: 12px !important;
    cursor: pointer !important;
    font-size: 13px !important;
    color: rgba(255,255,255,0.75) !important;
    font-weight: 400 !important; line-height: 1.5 !important;
    text-transform: none !important; letter-spacing: 0 !important;
    margin: 0 !important; padding: 0 !important;
}
.dhr-fcta__form-card input[type="checkbox"],
.dhr-fcta__form-card .ff-checkbox {
    width: 20px !important; height: 20px !important;
    min-width: 20px !important; min-height: 20px !important;
    flex-shrink: 0 !important; margin: 0 !important; padding: 0 !important;
    border: 2px solid rgba(255,255,255,0.4) !important;
    border-radius: 5px !important;
    background: rgba(255,255,255,0.1) !important;
    -webkit-appearance: none !important; appearance: none !important;
    cursor: pointer !important; position: relative !important;
    transition: border-color 0.2s, background 0.2s !important;
    display: inline-block !important; vertical-align: middle !important;
    font-size: 16px !important;
}
.dhr-fcta__form-card input[type="checkbox"]:checked,
.dhr-fcta__form-card .ff-checkbox:checked {
    background: var(--dhr-green) !important; border-color: var(--dhr-green) !important;
}
.dhr-fcta__form-card input[type="checkbox"]:checked::after,
.dhr-fcta__form-card .ff-checkbox:checked::after {
    content: '' !important;
    position: absolute !important;
    left: 5px !important; top: 2px !important;
    width: 6px !important; height: 10px !important;
    border: 2px solid var(--dhr-navy) !important;
    border-top: none !important; border-left: none !important;
    transform: rotate(45deg) !important;
}
.dhr-fcta__form-card .ff-field--consent a,
.dhr-fcta__form-card .ff-consent-text a {
    color: var(--dhr-green) !important; text-decoration: underline !important; font-weight: 600 !important;
}

/* Erros */
.dhr-fcta__form-card .ff-el-is-error .ff-input,
.dhr-fcta__form-card .ff-el-is-error select.ff-select,
.dhr-fcta__form-card .ff-el-is-error textarea.ff-textarea {
    border-color: var(--dhr-error) !important;
    box-shadow: 0 0 0 3px var(--dhr-error-bg) !important;
}
.dhr-fcta__form-card .ff-el-is-error .error,
.dhr-fcta__form-card .ff-field-error,
.dhr-fcta__form-card .ff-form-errors {
    font-size: 12px !important; color: #fca5a5 !important;
    font-family: var(--dhr-font-body) !important; margin-top: 4px !important;
}

/* Submit */
.dhr-fcta__form-card .ff-btn-submit,
.dhr-fcta__form-card button[type="submit"],
.dhr-fcta__form-card input[type="submit"] {
    width: 100% !important;
    padding: 16px !important;
    background: linear-gradient(135deg, var(--dhr-green) 0%, var(--dhr-green-dark) 100%) !important;
    color: var(--dhr-navy) !important;
    border: none !important; border-radius: 50px !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 16px !important; font-weight: 800 !important;
    letter-spacing: 1.5px !important; text-transform: uppercase !important;
    cursor: pointer !important; margin-top: 6px !important;
    transition: box-shadow 0.3s var(--dhr-ease), transform 0.3s var(--dhr-ease) !important;
    box-shadow: 0 4px 20px rgba(59,227,159,0.3) !important;
    display: block !important;
    -webkit-appearance: none !important; appearance: none !important;
    line-height: 1.4 !important;
}
.dhr-fcta__form-card .ff-btn-submit:hover,
.dhr-fcta__form-card button[type="submit"]:hover {
    box-shadow: 0 8px 32px rgba(59,227,159,0.45) !important;
    transform: translateY(-2px) !important;
    color: var(--dhr-navy) !important;
}
.dhr-fcta__form-card .ff-btn-submit:active { transform: translateY(0) !important; }

.dhr-fcta__form-card .ff-message-success {
    background: rgba(59,227,159,0.12) !important;
    border: 1px solid rgba(59,227,159,0.3) !important;
    border-radius: 12px !important;
    color: var(--dhr-green) !important;
    padding: 16px 20px !important;
    font-family: var(--dhr-font-display) !important;
    font-weight: 600 !important; font-size: 14px !important;
    text-align: center !important;
}

.dhr-fcta__form-card .ff-el-form-control,
.dhr-fcta__form-card input.ff-el-form-control,
.dhr-fcta__form-card select.ff-el-form-control,
.dhr-fcta__form-card textarea.ff-el-form-control {
    background: rgba(255,255,255,0.1) !important;
    border: 1.5px solid rgba(255,255,255,0.15) !important;
    color: #ffffff !important;
    border-radius: 12px !important;
    font-size: 16px !important;
}
.dhr-fcta__form-card .ff-el-form-control:focus {
    border-color: var(--dhr-green) !important;
    box-shadow: 0 0 0 3px var(--dhr-green-glow) !important;
    background: rgba(255,255,255,0.15) !important;
}
.dhr-fcta__form-card .ff-el-form-control::placeholder { color: rgba(255,255,255,0.4) !important; }

@keyframes dhrFctaUp {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .dhr-fcta__inner { grid-template-columns: 1fr !important; gap: 44px !important; }
    .dhr-fcta__content { text-align: center !important; }
    .dhr-fcta__content h2::after { margin-left: auto !important; margin-right: auto !important; }
    .dhr-fcta__lead { max-width: 100% !important; margin-left: auto !important; margin-right: auto !important; }
}
@media (max-width: 640px) {
    .dhr-fcta { padding: 64px 20px !important; }
    .dhr-fcta__form-card { padding: 28px 22px !important; }
    .dhr-fcta__form-card .ff-form.ff-grid { grid-template-columns: 1fr !important; }
    .dhr-fcta__form-card .ff-form .ff-col-d-6 { grid-column: span 1 !important; }
    .dhr-fcta__phone { width: 100% !important; justify-content: center !important; }
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .dhr-fcta input, .dhr-fcta select, .dhr-fcta textarea { font-size: 16px !important; }
}

/* ══════════════════════════════════════════════════════════════
   BLOCO 12 — COMMON QUESTIONS / F.A.Q.
   ══════════════════════════════════════════════════════════════ */
.dhr-faq *, .dhr-faq *::before, .dhr-faq *::after {
    box-sizing: border-box !important; margin: 0 !important; padding: 0 !important;
}

.dhr-faq {
    background: var(--dhr-white) !important;
    padding: clamp(70px, 8vw, 110px) var(--dhr-gutter) !important;
    font-family: var(--dhr-font-body) !important;
}
.dhr-faq__inner { max-width: 880px !important; margin: 0 auto !important; }

/* ── Header ── */
.dhr-faq__header { text-align: center !important; margin: 0 auto 48px auto !important; }
.dhr-faq__label {
    display: inline-block !important;
    font-family: var(--dhr-font-display) !important;
    font-size: 12px !important; font-weight: 700 !important;
    letter-spacing: 2.5px !important; text-transform: uppercase !important;
    color: var(--dhr-navy) !important;
    background: rgba(59,227,159,0.18) !important;
    border-radius: 50px !important;
    padding: 8px 18px !important;
    margin: 0 0 20px 0 !important;
}
.dhr-faq__header h2 {
    font-family: var(--dhr-font-display) !important;
    font-size: clamp(28px, 3.8vw, 46px) !important;
    font-weight: 800 !important; line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    color: var(--dhr-navy) !important;
    margin: 0 !important;
}
.dhr-faq__header h2::after {
    content: '' !important; display: block !important;
    margin: 22px auto 0 auto !important;
    width: 72px !important; height: 3px !important;
    background: var(--dhr-green) !important; border-radius: 2px !important;
}

/* ── Accordion ── */
.dhr-faq__list { display: block !important; }

.dhr-faq__item {
    background: var(--dhr-surface) !important;
    border: 1px solid var(--dhr-line) !important;
    border-radius: 14px !important;
    margin: 0 0 14px 0 !important;
    overflow: hidden !important;
    /* transition (não animation): !important vence animação na cascata */
    transition: opacity 0.55s var(--dhr-ease), transform 0.55s var(--dhr-ease),
                border-color 0.3s var(--dhr-ease), box-shadow 0.3s var(--dhr-ease),
                background 0.3s var(--dhr-ease) !important;
    opacity: 0 !important;
    transform: translateY(20px) !important;
}
.dhr-faq__item:last-child { margin-bottom: 0 !important; }
/* Escalonamento feito no JS (setTimeout), não com transition-delay —
   assim abrir/fechar o accordion continua instantâneo. */
.dhr-faq__item.is-visible { opacity: 1 !important; transform: translateY(0) !important; }

.dhr-faq__item.is-open {
    background: var(--dhr-white) !important;
    border-color: rgba(59,227,159,0.6) !important;
    box-shadow: 0 12px 34px rgba(0,25,89,0.10) !important;
}

/* Pergunta */
.dhr-faq__q {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    padding: 22px 26px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    text-align: left !important;
    font-family: var(--dhr-font-display) !important;
    font-size: clamp(15px, 1.2vw, 17px) !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    color: var(--dhr-navy) !important;
    transition: color 0.3s var(--dhr-ease) !important;
}
.dhr-faq__q:hover { color: var(--dhr-navy-light) !important; }
.dhr-faq__q:focus-visible { outline: 3px solid var(--dhr-green) !important; outline-offset: -3px !important; }

/* Ícone + / − */
.dhr-faq__icon {
    display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    width: 32px !important; height: 32px !important; min-width: 32px !important;
    border-radius: 50% !important;
    background: var(--dhr-navy) !important;
    flex-shrink: 0 !important;
    transition: background 0.3s var(--dhr-ease), transform 0.3s var(--dhr-ease) !important;
}
.dhr-faq__item.is-open .dhr-faq__icon {
    background: var(--dhr-green) !important;
    transform: rotate(180deg) !important;
}
.dhr-faq__icon svg {
    width: 15px !important; height: 15px !important;
    stroke: var(--dhr-white) !important; fill: none !important; stroke-width: 2.5 !important;
    transition: stroke 0.3s var(--dhr-ease) !important;
}
.dhr-faq__item.is-open .dhr-faq__icon svg { stroke: var(--dhr-navy) !important; }
/* Esconde a barra vertical quando aberto → vira "−" */
.dhr-faq__icon .dhr-faq__icon-v { transition: opacity 0.3s var(--dhr-ease) !important; }
.dhr-faq__item.is-open .dhr-faq__icon .dhr-faq__icon-v { opacity: 0 !important; }

/* Resposta */
.dhr-faq__a {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.4s var(--dhr-ease) !important;
}
.dhr-faq__a-inner {
    padding: 20px 26px 24px 26px !important;
    border-top: 1px solid var(--dhr-line) !important;
    margin-top: 0 !important;
}
.dhr-faq__a-inner p {
    font-family: var(--dhr-font-body) !important;
    font-size: 15.5px !important;
    font-weight: 300 !important;
    line-height: 1.75 !important;
    color: var(--dhr-muted) !important;
    margin: 0 0 12px 0 !important;
}
.dhr-faq__a-inner p:last-child { margin-bottom: 0 !important; }

.dhr-faq__a-inner a {
    color: var(--dhr-navy) !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    transition: color 0.25s var(--dhr-ease) !important;
}
.dhr-faq__a-inner a:hover { color: var(--dhr-green-dark) !important; }

.dhr-faq__a-inner ol {
    margin: 14px 0 12px 0 !important;
    padding: 0 0 0 20px !important;
    list-style: decimal !important;
}
.dhr-faq__a-inner ol li {
    font-family: var(--dhr-font-body) !important;
    font-size: 15.5px !important;
    font-weight: 300 !important;
    line-height: 1.75 !important;
    color: var(--dhr-muted) !important;
    margin: 0 0 10px 0 !important;
    padding: 0 0 0 4px !important;
    list-style: decimal !important;
}
.dhr-faq__a-inner ol li::marker { color: var(--dhr-green-dark) !important; font-weight: 700 !important; }
.dhr-faq__a-inner ol li:last-child { margin-bottom: 0 !important; }
.dhr-faq__a-inner strong {
    font-weight: 700 !important;
    color: var(--dhr-navy) !important;
}

@keyframes dhrFaqUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .dhr-faq { padding: 64px 20px !important; }
    .dhr-faq__header { margin-bottom: 36px !important; }
    .dhr-faq__q { padding: 18px 18px !important; gap: 14px !important; }
    .dhr-faq__a-inner { padding: 18px 18px 20px 18px !important; }
}/* End custom CSS */