/*

              _   ____    ____                _                ______                   _                   
             (_) |_   \  /   _|              / |_             |_   _ `.                (_)                  
             __    |   \/   |   ,--.   .--. `| |-'.---.  _ .--. | | `. \ .---.  .--.   __   .--./) _ .--.   
            [  |   | |\  /| |  `'_\ : ( (`\] | | / /__\\[ `/'`\]| |  | |/ /__\\( (`\] [  | / /'`\;[ `.-. |  
             | |  _| |_\/_| |_ // | |, `'.'. | |,| \__., | |   _| |_.' /| \__., `'.'.  | | \ \._// | | | |  
            [___]|_____||_____|\'-;__/[\__) )\__/ '.__.'[___] |______.'  '.__.'[\__) )[___].',__` [___||__] 
                                                                                          ( ( __))



                                    @@%((((((((((((((((((((((((((((((((((((((((# @@
                                    %((#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%((( 
                                    ((&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%((
                                    (&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#(
                                    (&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%(
                                    (&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%(
                                    (&@@@@@&((((@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%(
                                    (&@@@@@%((((&@@&(((((@@@@@@@@@@#((((%@%%#%@@@%(
                                    (&@@@@@@@@@@@@@&(((((%@@@@@@@@%(((((%@@@@@@@@%(
                                    (&@@@@@&(((%@@@&((((((&@@@@@@&((((((%@@@@@@@@%(
                                    (&@@@@@&((/#@@@&(((((((@@@@@@#((((((%@@@@@@@@%(
                                    (&@@@@@&((/#@@@&(((#(((#@@@@%(((#(((%@@@@@@@@%(
                                    (&@@@@@&((/#@@@&(((#&(((%@@&(((%%(((%@@@@@@@@%(
                                    (&@@@@@&((/#@@@&(((#@%(((&@(((#@%(((%@@@@@@@@%(
                                    (&@@@@@&((/#@@@&(((#@@(((##(((&@%(((%@@@@@@@@%(
                                    (&@@@@@&((/#@@@&(((#@@&((((((%@@%(((%@@@@@@@@%(
                                    (&@@@@@&((/#@@@&(((#@@@%((((#@@@%(((%@@@@@@@@%(
                                    (&@@@@@&(((#@@@&(((#@@@@#(((&@@@%(((%@@@@@@@@%(
                                    (&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%(
                                    (&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%(
                                    (%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#(
                                    /(%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#(*
                                     ,((#&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(/ @



                                   ((((((((((((#                                               %((((((((((#&   
(((((((((((((((((((((((           ((((((***(((((#                                          ((((((((((((((((((((
(                     (           ((((((((((((((#                        (,                ((((((((((((((((((((
(                     (           ((           (#               %((     ((  ((              ((((((((((((((((((/
(                     (           ((           (#             %((      ((     ((           (@      ****,      #
(                     (           ((           (#            ((        ((      *((         ((((((((((((((((((((
(                     (           ((           (#           ((        ((        &((          /(((((((((((((((  
(#####################(           ((           (#             ((      ((      &((          (((&             #((
(((((((((((((((((((((((           ((           (#               ((   ((     &((            /(((((((((((((((((((
(((((((((((((((((((((((           ((           (#                    (*                    #     *((((((/*     
        (((((((                   ((((((  ((((((#                   ((                     ((((((((#####(((((((
                                  ((((((  #(((((,                                            (((((((((((((((((

 
    @iMasterDesign Brazil [ ©1998-2077 ]
    iMasterDesign™ | iNet Solutions CORPORATION™
    Web . App . Developer . DBA . Social Marketing

    Marcelo Rocha Main | Founder and CEO by iMasterDesign™
    Full-Stack Developer, imasterdesign@imasterdesign.com.br
REDE VITÓRIA SPA - Main Stylesheet (im-main.css) | iMasterDesign
*/
/* =========================================================
   0. SELF-HOSTED FONTS (no external CDN — local assets only)
      Fraunces       — display (warm elegant serif)
      Manrope        — body text
      JetBrains Mono — technical / accent details
   ========================================================= */
@font-face { font-family:'Fraunces'; font-weight:300; font-style:normal; font-display:swap; src:url('../fonts/Fraunces/Fraunces-300-normal.woff2') format('woff2'); }
@font-face { font-family:'Fraunces'; font-weight:400; font-style:normal; font-display:swap; src:url('../fonts/Fraunces/Fraunces-400-normal.woff2') format('woff2'); }
@font-face { font-family:'Fraunces'; font-weight:400; font-style:italic; font-display:swap; src:url('../fonts/Fraunces/Fraunces-400-italic.woff2') format('woff2'); }
@font-face { font-family:'Fraunces'; font-weight:500; font-style:normal; font-display:swap; src:url('../fonts/Fraunces/Fraunces-500-normal.woff2') format('woff2'); }
@font-face { font-family:'Fraunces'; font-weight:500; font-style:italic; font-display:swap; src:url('../fonts/Fraunces/Fraunces-500-italic.woff2') format('woff2'); }
@font-face { font-family:'Fraunces'; font-weight:600; font-style:normal; font-display:swap; src:url('../fonts/Fraunces/Fraunces-600-normal.woff2') format('woff2'); }
@font-face { font-family:'Fraunces'; font-weight:700; font-style:normal; font-display:swap; src:url('../fonts/Fraunces/Fraunces-700-normal.woff2') format('woff2'); }

@font-face { font-family:'Manrope'; font-weight:300; font-style:normal; font-display:swap; src:url('../fonts/Manrope/Manrope-300.woff2') format('woff2'); }
@font-face { font-family:'Manrope'; font-weight:400; font-style:normal; font-display:swap; src:url('../fonts/Manrope/Manrope-400.woff2') format('woff2'); }
@font-face { font-family:'Manrope'; font-weight:500; font-style:normal; font-display:swap; src:url('../fonts/Manrope/Manrope-500.woff2') format('woff2'); }
@font-face { font-family:'Manrope'; font-weight:600; font-style:normal; font-display:swap; src:url('../fonts/Manrope/Manrope-600.woff2') format('woff2'); }
@font-face { font-family:'Manrope'; font-weight:700; font-style:normal; font-display:swap; src:url('../fonts/Manrope/Manrope-700.woff2') format('woff2'); }
@font-face { font-family:'Manrope'; font-weight:800; font-style:normal; font-display:swap; src:url('../fonts/Manrope/Manrope-800.woff2') format('woff2'); }

@font-face { font-family:'JetBrains Mono'; font-weight:400; font-style:normal; font-display:swap; src:url('../fonts/JetBrainsMono/JetBrainsMono-400.woff2') format('woff2'); }
@font-face { font-family:'JetBrains Mono'; font-weight:500; font-style:normal; font-display:swap; src:url('../fonts/JetBrainsMono/JetBrainsMono-500.woff2') format('woff2'); }

/* =========================================================
   1. GLOBAL CSS VARIABLES (--im-global-*)
      Same token NAMES across all iMasterDesign clones; only
      the VALUES change per brand. Palette: brown / gold / sage.
   ========================================================= */
:root {
    /* Global Colors */
    --im-global-color-primary:    #4a3324;   /* marrom profundo */
    --im-global-color-secondary:  #c2a06a;   /* dourado */
    --im-global-color-accent:     #a8854f;   /* dourado escuro */
    --im-global-color-text:       #2b211a;
    --im-global-color-muted:      #8a7a6c;
    --im-global-color-silver:     #e7ddcf;   /* warm hairline */
    --im-global-color-white:      #ffffff;
    --im-global-color-black:      #000000;
    --im-global-color-sage:       #8c9b82;   /* verde sálvia */
    --im-global-color-bg-page:    #fdfaf5;   /* warm white (page) */
    --im-global-color-bg-soft:    #f5ece0;   /* creme */
    --im-global-color-bg-deeper:  #2d1e14;   /* marrom escuro */

    /* Gold gradient (reusable accent) */
    --im-global-gold-grad: linear-gradient(135deg, #d8bd8a 0%, #c2a06a 45%, #a8854f 100%);

    /* Global Typography */
    --im-global-typography-primary-font:   'Fraunces', Georgia, 'Times New Roman', serif;
    --im-global-typography-secondary-font: 'Manrope', system-ui, -apple-system, sans-serif;
    --im-global-typography-text-font:      'Manrope', system-ui, -apple-system, sans-serif;
    --im-global-typography-accent-font:    'JetBrains Mono', ui-monospace, monospace;

    /* Spacing scale */
    --im-space-xxs: 4px;
    --im-space-xs:  8px;
    --im-space-sm:  16px;
    --im-space-md:  24px;
    --im-space-lg:  48px;
    --im-space-xl:  80px;
    --im-space-xxl: 120px;

    /* Layout */
    --im-container: 1200px;
    --im-radius:    22px;

    /* Easings */
    --im-ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
    --im-ease-in-out:   cubic-bezier(0.65, 0, 0.35, 1);
}

/* =========================================================
   2. RESET / BASE
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body {
    margin: 0;
    font-family: var(--im-global-typography-text-font);
    font-size: 16px;
    line-height: 1.65;
    color: var(--im-global-color-text);
    background: var(--im-global-color-bg-page);
    overflow-x: hidden;
}
img { max-width: 100%; display: block; height: auto; }
a { color: inherit; text-decoration: none; transition: color .3s var(--im-ease-out-expo); }
button { font-family: inherit; cursor: pointer; border: 0; background: transparent; }
h1, h2, h3, h4, h5, h6 { font-family: var(--im-global-typography-primary-font); }
::selection { background: var(--im-global-color-secondary); color: var(--im-global-color-bg-deeper); }

.im-icon { width: 1em; height: 1em; display: inline-block; vertical-align: -0.125em; flex-shrink: 0; }

/* =========================================================
   3. LAYOUT PRIMITIVES
   ========================================================= */
.im-section { position: relative; width: 100%; padding: var(--im-space-xxl) 0; }
.im-section--sm  { padding: var(--im-space-xl) 0; }
.im-section--xs  { padding: var(--im-space-lg) 0; }
.im-section--soft   { background: var(--im-global-color-bg-soft); }
.im-section--deep   { background: var(--im-global-color-bg-deeper); color: #f3e9da; }

.im-container {
    width: 100%;
    max-width: var(--im-container);
    margin: 0 auto;
    padding: 0 var(--im-space-md);
}
.im-container-wide { width: 100%; max-width: 1340px; margin: 0 auto; padding: 0 32px; }
@media (max-width: 560px) { .im-container-wide { padding: 0 20px; } }

.im-flex { display: flex; gap: var(--im-space-md); }
.im-flex--between { justify-content: space-between; align-items: center; }
.im-flex--center  { align-items: center; justify-content: center; }

/* Section heading block (eyebrow + title + intro), reused across sections */
.im-shead { max-width: 760px; }
.im-shead--center { margin: 0 auto; text-align: center; }
.im-shead .im-heading { margin-top: 18px; }
.im-shead .im-text { margin-top: 20px; }

/* =========================================================
   4. TYPOGRAPHY
   ========================================================= */
.im-heading {
    font-family: var(--im-global-typography-primary-font);
    color: var(--im-global-color-primary);
    line-height: 1.08;
    letter-spacing: -0.015em;
    margin: 0;
    font-weight: 400;
}
.im-heading--xl { font-size: clamp(40px, 6.4vw, 84px); }
.im-heading--lg { font-size: clamp(32px, 4.6vw, 58px); }
.im-heading--md { font-size: clamp(26px, 3.2vw, 40px); }
.im-heading--sm { font-size: clamp(21px, 2.2vw, 28px); }
.im-heading em { font-style: italic; color: var(--im-global-color-accent); }
.im-heading--inverse { color: #fbf3e7; }
.im-heading--inverse em { color: var(--im-global-color-secondary); }

.im-text { font-family: var(--im-global-typography-text-font); font-size: 16px; line-height: 1.75; color: var(--im-global-color-text); margin: 0; }
.im-text--lg { font-size: 18px; }
.im-text--xl { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.7; }
.im-text--muted { color: var(--im-global-color-muted); }
.im-text--soft { color: rgba(251,243,231,.78); }

.im-eyebrow {
    font-family: var(--im-global-typography-accent-font);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--im-global-color-accent);
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.im-eyebrow::before { content: ""; width: 26px; height: 1px; background: currentColor; display: inline-block; }
.im-eyebrow--light { color: var(--im-global-color-secondary); }

/* =========================================================
   5. BUTTONS
   ========================================================= */
.im-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 17px 30px;
    border-radius: 999px;
    font-family: var(--im-global-typography-text-font);
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.01em;
    transition: all .35s var(--im-ease-out-expo);
    white-space: nowrap;
    border: 1.5px solid transparent;
    cursor: pointer;
}
/* Backlink "Guia" nas paginas de unidade: rotulos longos (nome de bairro/cidade) podem quebrar linha e nunca estouram no mobile */
.im-unit-guide .im-button { white-space: normal; text-align: center; max-width: 100%; }
@media (max-width: 560px) { .im-unit-guide .im-button { width: 100%; justify-content: center; padding-left: 20px; padding-right: 20px; } }
.im-button--primary { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); box-shadow: 0 12px 26px -12px rgba(168,133,79,.6); }
.im-button--primary:hover { transform: translateY(-2px); box-shadow: 0 18px 34px -12px rgba(168,133,79,.7); color: var(--im-global-color-bg-deeper); }
.im-button--solid { background: var(--im-global-color-primary); color: #fbf3e7; }
.im-button--solid:hover { background: var(--im-global-color-bg-deeper); color: var(--im-global-color-secondary); transform: translateY(-2px); }
.im-button--outline { background: transparent; color: var(--im-global-color-primary); border-color: var(--im-global-color-silver); }
.im-button--outline:hover { background: var(--im-global-color-primary); color: #fbf3e7; border-color: var(--im-global-color-primary); }
.im-button--outline-light { background: transparent; color: #fbf3e7; border-color: rgba(251,243,231,.4); }
.im-button--outline-light:hover { background: #fbf3e7; color: var(--im-global-color-primary); border-color: #fbf3e7; }
.im-button--wa { background: #25d366; color: #073d22; }
.im-button--wa:hover { background: #1ebe5a; color: #073d22; transform: translateY(-2px); }
.im-button--lg { padding: 19px 36px; font-size: 16px; }
.im-button--block { width: 100%; justify-content: center; }
.im-button .im-icon { transition: transform .35s var(--im-ease-out-expo); }
.im-button:hover .im-icon { transform: translateX(4px); }

/* small pill / tag */
.im-pill { display: inline-flex; align-items: center; gap: 8px; font-family: var(--im-global-typography-accent-font); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--im-global-color-accent); background: var(--im-global-color-bg-soft); border: 1px solid var(--im-global-color-silver); padding: 7px 14px; border-radius: 100px; }

/* =========================================================
   6. TOPBAR
   ========================================================= */
.im-topbar {
    background: var(--im-global-color-bg-deeper);
    color: rgba(251,243,231,.72);
    font-size: 13px;
    padding: 10px 0;
}
.im-topbar a { color: rgba(251,243,231,.72); }
.im-topbar a:hover { color: var(--im-global-color-secondary); }
.im-topbar__info { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.im-topbar__info span, .im-topbar__info a { display: inline-flex; align-items: center; gap: 8px; }
.im-topbar__info .im-icon { color: var(--im-global-color-secondary); font-size: 13px; }
.im-topbar__socials { display: flex; gap: 14px; }
.im-topbar__socials a { font-size: 15px; }
@media (max-width: 768px) {
    .im-topbar__info span:not(.im-topbar__always) { display: none; }
    .im-topbar__socials { display: none; }
    .im-topbar .im-flex--between { justify-content: center; }
    .im-topbar__info { justify-content: center; width: 100%; text-align: center; }
}

/* =========================================================
   7. HEADER / NAV  (solid deep-brown bar — premium, white logo)
   ========================================================= */
.im-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--im-global-color-primary);
    border-bottom: 1px solid rgba(194,160,106,.22);
    transition: box-shadow .3s var(--im-ease-out-expo), background .3s var(--im-ease-out-expo);
}
.im-header--scrolled { box-shadow: 0 12px 30px -16px rgba(45,30,20,.55); background: var(--im-global-color-bg-deeper); }
.im-header__inner { display: flex; align-items: center; justify-content: space-between; padding: 15px 0; gap: 24px; }
.im-header__logo { flex-shrink: 0; display: inline-flex; }
.im-header__logo img { width: 210px; height: auto; max-width: 56vw; }
.im-header__nav { display: flex; gap: 22px; }
.im-header__nav a { position: relative; color: #f3e9da; font-weight: 500; font-size: 15px; padding: 6px 0; white-space: nowrap; }
.im-header__nav a::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 2px; background: var(--im-global-color-secondary); transition: width .35s var(--im-ease-out-expo); }
.im-header__nav a:hover { color: #fff; }
.im-header__nav a:hover::after { width: 100%; }
.im-header__cta { display: flex; align-items: center; gap: 14px; }
.im-header__burger { display: none; font-size: 24px; color: #f3e9da; padding: 4px; }
.im-header__nav-socials { display: none; }
.im-header__nav-cta { display: none; }
@media (max-width: 1080px) {
    .im-header__nav { display: none; }
    .im-header__cta .im-button--outline-light { display: none; }
    .im-header__burger { display: inline-flex; position: relative; z-index: 300; }
    .im-header--menu-open .im-header__burger { color: #fff; }
    .im-header__nav.im-nav-open {
        display: flex; flex-direction: column;
        position: fixed; inset: 0;
        background: var(--im-global-color-bg-deeper);
        z-index: 200; align-items: center; justify-content: center; gap: 34px;
    }
    .im-header__nav.im-nav-open a { color: #f3e9da; font-size: 24px; font-weight: 400; font-family: var(--im-global-typography-primary-font); }
    .im-header__nav.im-nav-open .im-header__nav-socials { display: flex; gap: 16px; margin-top: 8px; }
    .im-header__nav.im-nav-open .im-header__nav-socials a {
        width: 52px; height: 52px; padding: 14px; font-size: 0;
        border: 1px solid rgba(194,160,106,.3); border-radius: 50%;
        display: inline-flex; align-items: center; justify-content: center;
        transition: all .3s var(--im-ease-out-expo);
    }
    .im-header__nav.im-nav-open .im-header__nav-socials a .im-icon { width: 24px; height: 24px; }
    .im-header__nav.im-nav-open .im-header__nav-socials a::after { display: none; }
    .im-header__nav.im-nav-open .im-header__nav-socials a:hover { background: var(--im-global-color-secondary); border-color: var(--im-global-color-secondary); color: var(--im-global-color-bg-deeper); }
    .im-header__nav.im-nav-open .im-header__nav-cta {
        display: inline-flex; align-items: center; justify-content: center;
        margin-top: 4px; padding: 14px 34px; border-radius: 999px;
        background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper);
        font-family: var(--im-global-typography-text-font); font-size: 17px; font-weight: 600;
        box-shadow: 0 12px 26px -12px rgba(168,133,79,.6);
    }
    .im-header__nav.im-nav-open .im-header__nav-cta::after { display: none; }
}

/* ===== Menu dropdown (desktop hover + flyout aninhado / mobile acordeão) ===== */
.im-nav-drop { position: relative; }
.im-nav-drop__head { display: inline-flex; align-items: center; gap: 3px; }
.im-nav-drop__toggle { display: inline-flex; align-items: center; background: none; border: 0; padding: 3px; cursor: pointer; color: #f3e9da; }
.im-nav-drop__toggle .im-icon { width: 13px; height: 13px; transition: transform .25s var(--im-ease-out-expo); }
.im-nav-drop__menu a::after { display: none !important; }
@media (min-width: 1081px) {
    .im-nav-drop__toggle { pointer-events: none; }
    .im-nav-drop__toggle .im-icon { transform: rotate(90deg); }
    .im-nav-drop__menu {
        position: absolute; top: calc(100% + 12px); left: 50%; transform: translate(-50%, 8px);
        min-width: 216px; background: var(--im-global-color-bg-deeper);
        border: 1px solid rgba(194,160,106,.25); border-radius: 12px;
        box-shadow: 0 26px 55px -22px rgba(45,30,20,.8); padding: 8px;
        display: flex; flex-direction: column; gap: 1px;
        opacity: 0; visibility: hidden; transition: opacity .2s, transform .2s, visibility .2s; z-index: 250;
    }
    .im-nav-drop > .im-nav-drop__menu::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
    .im-nav-drop:hover > .im-nav-drop__menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
    .im-nav-drop__menu > a,
    .im-nav-drop--nested > .im-nav-drop__head > a { color: #f3e9da; font-size: 14px; font-weight: 500; padding: 9px 14px; border-radius: 8px; white-space: nowrap; }
    .im-nav-drop__menu > a:hover { background: rgba(194,160,106,.16); color: #fff; }
    .im-nav-drop--nested > .im-nav-drop__head { display: flex; align-items: center; justify-content: space-between; }
    .im-nav-drop--nested > .im-nav-drop__head > a { flex: 1; }
    .im-nav-drop--nested > .im-nav-drop__head .im-nav-drop__toggle .im-icon { transform: rotate(0deg); }
    .im-nav-drop--nested:hover > .im-nav-drop__head > a { background: rgba(194,160,106,.16); color: #fff; }
    .im-nav-drop--nested > .im-nav-drop__menu { top: -9px; left: calc(100% + 5px); transform: translate(0, 8px); }
    .im-nav-drop--nested:hover > .im-nav-drop__menu { opacity: 1; visibility: visible; transform: translate(0, 0); }
    .im-nav-drop--nested > .im-nav-drop__menu::before { content: ""; position: absolute; left: -8px; top: 0; bottom: 0; width: 8px; }
}
@media (max-width: 1080px) {
    .im-header__nav.im-nav-open { justify-content: flex-start; overflow-y: auto; padding: 84px 20px 130px; gap: 4px; }
    .im-header__nav.im-nav-open .im-nav-drop { display: flex; flex-direction: column; align-items: center; width: 100%; }
    .im-header__nav.im-nav-open .im-nav-drop__head { display: inline-flex; align-items: center; gap: 6px; }
    .im-header__nav.im-nav-open .im-nav-drop__toggle { pointer-events: auto; padding: 8px; }
    .im-header__nav.im-nav-open .im-nav-drop__toggle .im-icon { width: 18px; height: 18px; transform: rotate(90deg); }
    .im-header__nav.im-nav-open .im-nav-drop.is-open > .im-nav-drop__head .im-nav-drop__toggle .im-icon { transform: rotate(-90deg); }
    .im-header__nav.im-nav-open .im-nav-drop__menu { display: none; flex-direction: column; align-items: center; gap: 2px; margin: 4px 0 8px; width: 100%; }
    .im-header__nav.im-nav-open .im-nav-drop.is-open > .im-nav-drop__menu { display: flex; }
    .im-header__nav.im-nav-open .im-nav-drop__menu a { font-size: 17px; font-weight: 400; color: rgba(243,233,218,.82); padding: 7px; }
    .im-header__nav.im-nav-open .im-nav-drop--nested .im-nav-drop__menu a { font-size: 15px; }
}

/* =========================================================
   8. HERO  (warm welcome — copy + sticky "schedule a visit" card)
   ========================================================= */
.im-hero { position: relative; background: var(--im-global-color-bg-page); overflow: hidden; padding: 88px 0 96px; }
.im-hero::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(720px 380px at 88% 6%, rgba(194,160,106,.20), transparent 62%),
        radial-gradient(560px 320px at 4% 96%, rgba(140,155,130,.16), transparent 66%);
}
.im-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.25fr 1fr; gap: 64px; align-items: center; }
.im-hero__grid > * { min-width: 0; }
.im-hero__rating { display: inline-flex; align-items: center; gap: 12px; background: var(--im-global-color-white); border: 1px solid var(--im-global-color-silver); padding: 8px 16px 8px 12px; border-radius: 100px; box-shadow: 0 10px 26px -18px rgba(74,51,36,.5); margin-bottom: 24px; }
.im-hero__stars { display: inline-flex; gap: 2px; color: var(--im-global-color-secondary); font-size: 14px; }
.im-hero__rating small { font-size: 13px; color: var(--im-global-color-muted); }
.im-hero__rating strong { color: var(--im-global-color-primary); }
.im-hero__title {
    font-family: var(--im-global-typography-primary-font);
    font-size: clamp(38px, 5.4vw, 72px);
    line-height: 1.04;
    letter-spacing: -0.02em;
    margin: 0 0 26px;
    font-weight: 400;
    color: var(--im-global-color-primary);
}
.im-hero__title em { font-style: italic; color: var(--im-global-color-accent); }
.im-hero__lead { font-size: clamp(16px, 1.45vw, 19px); color: var(--im-global-color-muted); line-height: 1.75; margin-bottom: 34px; max-width: 560px; }
.im-hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.im-hero__trust { margin-top: 40px; display: flex; gap: 30px; flex-wrap: wrap; border-top: 1px solid var(--im-global-color-silver); padding-top: 26px; }
.im-hero__trust-item { display: flex; flex-direction: column; gap: 2px; }
.im-hero__trust-num { font-family: var(--im-global-typography-primary-font); font-size: clamp(28px, 3.4vw, 40px); line-height: 1; color: var(--im-global-color-primary); font-style: italic; }
.im-hero__trust-label { font-family: var(--im-global-typography-accent-font); font-size: 11px; text-transform: uppercase; letter-spacing: 0.16em; color: var(--im-global-color-muted); margin-top: 8px; }

/* Hero "schedule a visit" card (compact form) */
.im-hero__aside { position: sticky; top: 96px; }
.im-visit {
    position: relative;
    background: var(--im-global-color-white);
    border: 1px solid var(--im-global-color-silver);
    border-radius: var(--im-radius);
    padding: 30px;
    box-shadow: 0 40px 80px -42px rgba(74,51,36,.5);
}
.im-visit::before { content: ""; position: absolute; left: 0; top: 26px; bottom: 26px; width: 3px; border-radius: 3px; background: var(--im-global-gold-grad); }
.im-visit__tag { display: inline-flex; align-items: center; gap: 8px; font-family: var(--im-global-typography-accent-font); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--im-global-color-accent); }
.im-visit__tag .im-icon { color: var(--im-global-color-secondary); }
.im-visit h3 { font-family: var(--im-global-typography-primary-font); font-size: 26px; color: var(--im-global-color-primary); margin: 12px 0 4px; font-weight: 500; }
.im-visit > p { margin: 0 0 18px; color: var(--im-global-color-muted); font-size: 14px; }
.im-visit__hours { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--im-global-color-accent); background: var(--im-global-color-bg-soft); border-radius: 100px; padding: 6px 14px; margin-bottom: 18px; }

/* =========================================================
   9. FORM (shared by hero card + bottom CTA)
   ========================================================= */
.im-form { display: flex; flex-direction: column; gap: 8px; }
.im-form__field { display: flex; flex-direction: column; gap: 6px; }
.im-form__field label { font-family: var(--im-global-typography-accent-font); font-size: 11px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--im-global-color-muted); }
.im-form__field input, .im-form__field select, .im-form__field textarea {
    border: 0; border-bottom: 1.5px solid var(--im-global-color-silver);
    padding: 11px 0; font-family: var(--im-global-typography-text-font); font-size: 15px;
    color: var(--im-global-color-primary); background: transparent; outline: none;
    transition: border-color .3s var(--im-ease-out-expo); width: 100%;
    accent-color: var(--im-global-color-secondary);
}
/* Tint native date/time picker indicators in the brand gold (custom picker overlays these too) */
.im-form__field input[type="date"]::-webkit-calendar-picker-indicator,
.im-form__field input[type="time"]::-webkit-calendar-picker-indicator { filter: invert(58%) sepia(28%) saturate(560%) hue-rotate(2deg) brightness(92%); cursor: pointer; }
.im-form__field input::placeholder, .im-form__field textarea::placeholder { color: #bcae9f; }
.im-form__field input:focus, .im-form__field select:focus, .im-form__field textarea:focus { border-color: var(--im-global-color-secondary); }
.im-form__field select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a8854f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 2px center; padding-right: 22px; cursor: pointer; }
.im-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.im-form__button { margin-top: 6px; justify-content: center; }
.im-form__note { font-size: 12px; color: var(--im-global-color-muted); text-align: center; margin: 2px 0 0; }
.im-form__feedback { font-size: 14px; font-weight: 600; text-align: center; margin: 2px 0 0; min-height: 0; }
.im-form__feedback.is-ok { color: #2e7d4f; }
.im-form__feedback.is-error { color: #c0392b; }

/* --- Multi-step wizard (shared component; used by the unit form + the hero contact form) --- */
.im-steps__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 0 16px; }
.im-steps__progress { display: flex; gap: 6px; flex: 1; max-width: 130px; }
.im-steps__progress span { height: 4px; border-radius: 4px; flex: 1; background: var(--im-global-color-silver); transition: background .35s var(--im-ease-out-expo); }
.im-steps__progress span.is-active { background: var(--im-global-gold-grad); }
.im-steps__count { font-family: var(--im-global-typography-accent-font); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--im-global-color-muted); white-space: nowrap; }
.im-steps__count b { color: var(--im-global-color-accent); }
.im-step { display: none; flex-direction: column; gap: 8px; }
.im-step.is-active { display: flex; animation: im-step-in .35s var(--im-ease-out-expo); }
@keyframes im-step-in { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: none; } }
.im-step > .im-button { margin-top: 6px; }
.im-steps__nav { display: flex; gap: 12px; align-items: stretch; margin-top: 6px; }
.im-steps__nav .im-form__button { flex: 1; margin-top: 0; }
.im-step__back { background: transparent; border: 1.5px solid var(--im-global-color-silver); color: var(--im-global-color-primary); border-radius: 999px; padding: 10px 18px; font-weight: 600; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; transition: all .3s var(--im-ease-out-expo); }
.im-step__back:hover { border-color: var(--im-global-color-primary); transform: translateX(-2px); }
@media (prefers-reduced-motion: reduce) { .im-step.is-active { animation: none; } }

/* --- Custom themed date / time picker (replaces native popups) --- */
.im-picker { position: relative; width: 100%; }
.im-picker__input { cursor: pointer; padding-right: 24px !important; }
.im-picker__icon { position: absolute; right: 0; bottom: 9px; color: var(--im-global-color-accent); cursor: pointer; font-size: 17px; }
.im-picker__pop { position: absolute; z-index: 60; top: calc(100% + 8px); left: 0; min-width: 264px; background: var(--im-global-color-white); border: 1px solid var(--im-global-color-silver); border-radius: 14px; box-shadow: 0 30px 60px -24px rgba(74,51,36,.5); padding: 14px; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .22s var(--im-ease-out-expo), transform .22s var(--im-ease-out-expo), visibility .22s; }
.im-picker__pop.is-open { opacity: 1; visibility: visible; transform: none; }
/* dentro de um row 2-col (data/hora), o popover da coluna da direita abre p/ a esquerda
   p/ não vazar o dialog do modal (senão vira scroll horizontal — não é premium) */
.im-form__row .im-form__field:last-child .im-picker__pop { left: auto; right: 0; }
.im-picker__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.im-picker__title { font-family: var(--im-global-typography-primary-font); font-weight: 500; color: var(--im-global-color-primary); font-size: 15px; }
.im-picker__nav { width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--im-global-color-primary); border: 1px solid var(--im-global-color-silver); font-size: 13px; transition: all .25s var(--im-ease-out-expo); }
.im-picker__nav:hover { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); border-color: transparent; }
.im-picker__wd { display: grid; grid-template-columns: repeat(7,1fr); gap: 2px; margin-bottom: 4px; }
.im-picker__wd span { text-align: center; font-size: 10px; letter-spacing: .06em; color: var(--im-global-color-muted); font-family: var(--im-global-typography-accent-font); }
.im-picker__days { display: grid; grid-template-columns: repeat(7,1fr); gap: 2px; }
.im-picker__days > span { height: 34px; }
.im-picker__day { height: 34px; border-radius: 8px; font-size: 13px; color: var(--im-global-color-primary); cursor: pointer; transition: all .2s var(--im-ease-out-expo); }
.im-picker__day:hover:not(:disabled) { background: var(--im-global-color-bg-soft); }
.im-picker__day.is-sel { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); font-weight: 700; }
.im-picker__day:disabled { color: #c9bba8; opacity: .5; cursor: not-allowed; }
.im-picker__slots { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.im-picker__slot { padding: 10px 6px; border-radius: 10px; border: 1px solid var(--im-global-color-silver); font-size: 13px; color: var(--im-global-color-primary); cursor: pointer; transition: all .2s var(--im-ease-out-expo); }
.im-picker__slot:hover { border-color: var(--im-global-color-secondary); background: var(--im-global-color-bg-soft); }
.im-picker__slot.is-sel { background: var(--im-global-gold-grad); border-color: transparent; color: var(--im-global-color-bg-deeper); font-weight: 700; }

/* --- Custom themed <select> (replaces the native blue dropdown) --- */
.im-select { position: relative; width: 100%; }
.im-select__native { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; clip: rect(0 0 0 0); margin: -1px; }
.im-select__trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; background: transparent; border: 0; border-bottom: 1.5px solid var(--im-global-color-silver); padding: 11px 0; font-family: var(--im-global-typography-text-font); font-size: 15px; color: var(--im-global-color-primary); cursor: pointer; text-align: left; transition: border-color .3s var(--im-ease-out-expo); }
.im-select.is-open .im-select__trigger { border-color: var(--im-global-color-secondary); }
.im-select__value { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.im-select__value.is-placeholder { color: #bcae9f; }
.im-select__chev { width: 15px; height: 15px; color: var(--im-global-color-accent); transition: transform .3s var(--im-ease-out-expo); flex-shrink: 0; }
.im-select.is-open .im-select__chev { transform: rotate(180deg); }
.im-select__pop { display: none; position: absolute; z-index: 70; top: calc(100% + 6px); left: 0; right: 0; background: var(--im-global-color-white); border: 1px solid var(--im-global-color-silver); border-radius: 12px; box-shadow: 0 26px 52px -24px rgba(74,51,36,.5); padding: 6px; max-height: 244px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--im-global-color-secondary) transparent; }
.im-select.is-open .im-select__pop { display: block; animation: im-pop-in .2s var(--im-ease-out-expo); }
@keyframes im-pop-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.im-select__pop::-webkit-scrollbar { width: 6px; }
.im-select__pop::-webkit-scrollbar-thumb { background: var(--im-global-color-secondary); border-radius: 6px; }
.im-select__opt { display: block; width: 100%; text-align: left; padding: 9px 12px; border-radius: 8px; background: transparent; border: 0; font-family: var(--im-global-typography-text-font); font-size: 14px; color: var(--im-global-color-primary); cursor: pointer; transition: background .15s var(--im-ease-out-expo); }
.im-select__opt:hover { background: var(--im-global-color-bg-soft); }
.im-select__opt.is-sel { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); font-weight: 600; }

/* Toggle group (multi-select chips) — ex.: "Como deseja ser atendido?" pode ser WhatsApp E Ligação */
.im-form__legend { font-family: var(--im-global-typography-accent-font); font-size: 11px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--im-global-color-muted); }
.im-toggle-group { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 2px; }
.im-toggle { flex: 1 1 0; min-width: 116px; position: relative; cursor: pointer; }
.im-toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.im-toggle__chip { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 11px 10px; border: 1.5px solid var(--im-global-color-silver); border-radius: 12px; background: var(--im-global-color-white); font-family: var(--im-global-typography-text-font); font-size: 12.5px; font-weight: 600; color: var(--im-global-color-accent); white-space: nowrap; transition: border-color .25s var(--im-ease-out-expo), color .25s var(--im-ease-out-expo), background .25s var(--im-ease-out-expo); }
.im-toggle__chip::before { content: ""; width: 16px; height: 16px; flex-shrink: 0; border: 1.5px solid var(--im-global-color-silver); border-radius: 5px; background-repeat: no-repeat; background-position: center; background-size: 11px; transition: all .25s var(--im-ease-out-expo); }
.im-toggle:hover .im-toggle__chip { border-color: var(--im-global-color-secondary); }
.im-toggle input:checked + .im-toggle__chip { border-color: var(--im-global-color-secondary); background: var(--im-global-color-bg-soft); color: var(--im-global-color-primary); }
.im-toggle input:checked + .im-toggle__chip::before { border-color: transparent; background-color: var(--im-global-color-secondary); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E"); }
.im-toggle input:focus-visible + .im-toggle__chip { outline: 2px solid var(--im-global-color-secondary); outline-offset: 2px; }

/* Team / serviços inclusos (círculos) — compartilhado: LP de unidade + servicos.html */
.im-team { display: grid; grid-template-columns: repeat(6, 1fr); gap: 26px 18px; }
.im-team__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; }
.im-team__icon { width: 82px; height: 82px; border-radius: 50%; background: var(--im-global-color-primary); color: #fbf3e7; display: inline-flex; align-items: center; justify-content: center; font-size: 32px; transition: all .35s var(--im-ease-out-expo); box-shadow: 0 18px 34px -20px rgba(74,51,36,.7); }
.im-team__item:hover .im-team__icon { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); transform: translateY(-4px); }
.im-team__item span { font-size: 13.5px; font-weight: 600; color: var(--im-global-color-primary); line-height: 1.3; }
@media (max-width: 980px) { .im-team { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 620px) { .im-team { grid-template-columns: repeat(2, 1fr); gap: 24px 14px; } .im-team__icon { width: 72px; height: 72px; font-size: 28px; } }

/* Modal (pop-up) — usado p/ "Agendar visita" nas LPs de cidade */
.im-modal { position: fixed; inset: 0; z-index: 400; display: none; align-items: center; justify-content: center; padding: 28px 18px; }
.im-modal.is-open { display: flex; }
.im-modal__backdrop { position: absolute; inset: 0; background: rgba(45,30,20,.6); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); animation: im-modal-fade .25s var(--im-ease-out-expo); }
.im-modal__dialog { position: relative; z-index: 1; width: 100%; max-width: 480px; max-height: 90vh; overflow-y: auto; overflow-x: hidden; background: var(--im-global-color-white); border-radius: var(--im-radius); box-shadow: 0 50px 100px -30px rgba(0,0,0,.55); padding: 30px; animation: im-modal-in .32s var(--im-ease-out-expo); scrollbar-width: thin; }
.im-modal__close { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; background: var(--im-global-color-bg-soft); border: 1px solid var(--im-global-color-silver); color: var(--im-global-color-accent); font-size: 22px; line-height: 1; cursor: pointer; z-index: 2; transition: all .3s var(--im-ease-out-expo); }
.im-modal__close:hover { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); border-color: transparent; transform: rotate(90deg); }
.im-modal__form h3 { font-family: var(--im-global-typography-primary-font); font-size: 24px; color: var(--im-global-color-primary); margin: 12px 0 4px; font-weight: 500; }
.im-modal__form > p { margin: 0 0 16px; color: var(--im-global-color-muted); font-size: 14px; }
@keyframes im-modal-in { from { opacity: 0; transform: translateY(20px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes im-modal-fade { from { opacity: 0; } to { opacity: 1; } }

/* Video modal (YouTube embed) — abre o vídeo DENTRO do site, nunca manda pra fora */
.im-vmodal { position: fixed; inset: 0; z-index: 410; display: none; align-items: center; justify-content: center; padding: 20px; }
.im-vmodal.is-open { display: flex; }
.im-vmodal__backdrop { position: absolute; inset: 0; background: rgba(20,12,8,.86); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); animation: im-modal-fade .25s var(--im-ease-out-expo); }
.im-vmodal__frame { position: relative; z-index: 1; width: 100%; max-width: 960px; aspect-ratio: 16/9; background: #000; border-radius: var(--im-radius); overflow: hidden; box-shadow: 0 50px 120px -30px rgba(0,0,0,.7); animation: im-modal-in .32s var(--im-ease-out-expo); }
.im-vmodal__embed { position: absolute; inset: 0; }
.im-vmodal__embed iframe { width: 100%; height: 100%; border: 0; display: block; }
.im-vmodal__close { position: absolute; top: 18px; right: 18px; z-index: 2; width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.45); color: #fff; font-size: 24px; line-height: 1; cursor: pointer; transition: all .3s var(--im-ease-out-expo); }
.im-vmodal__close:hover { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); border-color: transparent; transform: rotate(90deg); }

/* =========================================================
   10. TRUST MARQUEE
   ========================================================= */
.im-marquee { background: var(--im-global-color-primary); color: #f3e9da; overflow: hidden; padding: 22px 0; }
.im-marquee__track { display: flex; gap: 54px; white-space: nowrap; animation: im-marquee-scroll 38s linear infinite; width: max-content; }
.im-marquee__item { font-family: var(--im-global-typography-primary-font); font-size: clamp(22px, 3vw, 38px); font-style: italic; font-weight: 400; letter-spacing: -0.01em; display: inline-flex; align-items: center; gap: 54px; color: #f3e9da; }
.im-marquee__item span { color: var(--im-global-color-secondary); }
.im-marquee__item::after { content: "\2766"; font-size: 18px; color: var(--im-global-color-secondary); font-style: normal; }
@keyframes im-marquee-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* =========================================================
   11. MODALIDADES (3 hospedagem options)
   ========================================================= */
.im-mod-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-top: 56px; }
.im-mod-card {
    position: relative; background: var(--im-global-color-white);
    border: 1px solid var(--im-global-color-silver); border-radius: var(--im-radius);
    padding: 38px 32px; display: flex; flex-direction: column; gap: 16px;
    transition: transform .5s var(--im-ease-out-expo), box-shadow .5s var(--im-ease-out-expo), border-color .5s var(--im-ease-out-expo);
    overflow: hidden;
}
.im-mod-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(160deg, transparent 60%, rgba(194,160,106,.08) 100%); opacity: 0; transition: opacity .5s var(--im-ease-out-expo); }
.im-mod-card:hover { transform: translateY(-6px); box-shadow: 0 36px 60px -34px rgba(74,51,36,.4); border-color: var(--im-global-color-secondary); }
.im-mod-card:hover::after { opacity: 1; }
.im-mod-card__index { position: absolute; top: 26px; right: 30px; font-family: var(--im-global-typography-primary-font); font-style: italic; font-size: 40px; color: var(--im-global-color-bg-soft); line-height: 1; }
.im-mod-card__icon { width: 60px; height: 60px; border-radius: 16px; background: var(--im-global-color-bg-soft); color: var(--im-global-color-accent); display: inline-flex; align-items: center; justify-content: center; font-size: 26px; transition: all .4s var(--im-ease-out-expo); }
.im-mod-card:hover .im-mod-card__icon { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); }
.im-mod-card h3 { font-family: var(--im-global-typography-primary-font); font-size: 25px; color: var(--im-global-color-primary); margin: 4px 0 0; font-weight: 500; }
.im-mod-card p { font-size: 15px; color: var(--im-global-color-muted); margin: 0; line-height: 1.65; }
.im-mod-card__list { list-style: none; padding: 16px 0 0; margin: auto 0 0; border-top: 1px solid var(--im-global-color-silver); display: flex; flex-direction: column; gap: 10px; }
.im-mod-card__list li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--im-global-color-text); }
.im-mod-card__list .im-icon { color: var(--im-global-color-sage); font-size: 17px; margin-top: 2px; }
@media (max-width: 980px) { .im-mod-grid { grid-template-columns: 1fr; max-width: 520px; margin-left: auto; margin-right: auto; } }

/* =========================================================
   12. STORY / SOBRE
   ========================================================= */
.im-story__grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 72px; align-items: center; }
.im-story__visual { position: relative; }
.im-story__panel {
    position: relative; background: var(--im-global-gold-grad); border-radius: var(--im-radius);
    padding: 48px 40px; color: var(--im-global-color-bg-deeper); overflow: hidden;
    box-shadow: 0 40px 80px -44px rgba(168,133,79,.7);
}
.im-story__panel::before { content: "\2766"; position: absolute; right: -14px; bottom: -34px; font-size: 200px; line-height: 1; color: rgba(45,30,20,.08); }
.im-story__panel .im-icon { font-size: 34px; color: rgba(45,30,20,.5); }
.im-story__panel p { font-family: var(--im-global-typography-primary-font); font-style: italic; font-size: clamp(20px, 2.3vw, 27px); line-height: 1.4; margin: 18px 0 0; position: relative; z-index: 2; font-weight: 400; }
.im-story__panel cite { display: block; margin-top: 22px; font-style: normal; font-family: var(--im-global-typography-accent-font); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(45,30,20,.7); }
.im-story__badge { position: absolute; left: -22px; bottom: -22px; background: var(--im-global-color-white); border: 1px solid var(--im-global-color-silver); border-radius: 18px; padding: 18px 22px; box-shadow: 0 24px 50px -28px rgba(74,51,36,.5); display: flex; align-items: center; gap: 14px; }
.im-story__badge .im-icon { font-size: 26px; color: var(--im-global-color-accent); }
.im-story__badge strong { display: block; font-family: var(--im-global-typography-primary-font); font-size: 22px; color: var(--im-global-color-primary); font-style: italic; line-height: 1; }
.im-story__badge small { font-size: 12px; color: var(--im-global-color-muted); }
.im-story__pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 38px; }
.im-pillar { display: flex; gap: 14px; align-items: flex-start; }
.im-pillar__icon { width: 46px; height: 46px; flex-shrink: 0; border-radius: 12px; background: var(--im-global-color-bg-soft); color: var(--im-global-color-accent); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; }
.im-pillar h4 { font-family: var(--im-global-typography-primary-font); font-size: 18px; margin: 0 0 4px; color: var(--im-global-color-primary); font-weight: 500; }
.im-pillar p { font-size: 14px; color: var(--im-global-color-muted); margin: 0; line-height: 1.55; }
@media (max-width: 980px) {
    .im-story__grid { grid-template-columns: 1fr; gap: 56px; }
    .im-story__badge { left: auto; right: 16px; }
}

/* =========================================================
   13. NUMBERS (real social proof)
   ========================================================= */
.im-numbers { background: var(--im-global-color-bg-deeper); color: #f3e9da; position: relative; overflow: hidden; }
.im-numbers::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(820px 380px at 0% 50%, rgba(194,160,106,.14), transparent 60%), radial-gradient(680px 340px at 100% 50%, rgba(140,155,130,.10), transparent 60%); }
.im-numbers__grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.im-numbers__item { padding: 6px 0 6px 30px; border-left: 1px solid rgba(194,160,106,.28); }
.im-numbers__item:first-child { border-left: 0; padding-left: 0; }
.im-numbers__num { font-family: var(--im-global-typography-primary-font); font-size: clamp(44px, 5.6vw, 80px); font-weight: 400; font-style: italic; line-height: .95; letter-spacing: -0.02em; color: #fbf3e7; display: flex; align-items: flex-start; gap: 4px; }
.im-numbers__num small { font-size: .42em; color: var(--im-global-color-secondary); font-style: normal; font-weight: 500; margin-top: 10px; letter-spacing: 0; }
.im-numbers__num .im-icon { font-size: .4em; color: var(--im-global-color-secondary); margin-top: 12px; }
.im-numbers__label { font-size: 14px; color: rgba(251,243,231,.62); margin-top: 12px; line-height: 1.45; }
@media (max-width: 768px) { .im-numbers__grid { grid-template-columns: 1fr 1fr; gap: 26px; } .im-numbers__item { border-left: 0; padding-left: 0; } }

/* =========================================================
   14. SERVICES (12 included professionals/services)
   ========================================================= */
.im-services__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 56px; }
.im-service {
    display: flex; align-items: center; gap: 14px; padding: 20px 22px;
    background: var(--im-global-color-white); border: 1px solid var(--im-global-color-silver);
    border-radius: 16px; transition: all .35s var(--im-ease-out-expo);
}
.im-service:hover { border-color: var(--im-global-color-secondary); transform: translateY(-4px); box-shadow: 0 22px 44px -28px rgba(74,51,36,.4); }
.im-service__icon { width: 46px; height: 46px; flex-shrink: 0; border-radius: 12px; background: var(--im-global-color-bg-soft); color: var(--im-global-color-accent); display: inline-flex; align-items: center; justify-content: center; font-size: 21px; transition: all .35s var(--im-ease-out-expo); }
.im-service:hover .im-service__icon { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); }
.im-service span { font-size: 15px; font-weight: 600; color: var(--im-global-color-primary); line-height: 1.3; }
@media (max-width: 980px) { .im-services__grid { grid-template-columns: 1fr 1fr; } }

/* =========================================================
   15. UNITS (SP + MG)
   ========================================================= */
.im-units__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 52px; }
.im-unit {
    background: var(--im-global-color-white); border: 1px solid var(--im-global-color-silver);
    border-radius: 18px; padding: 28px 26px; transition: all .4s var(--im-ease-out-expo);
}
.im-unit:hover { border-color: var(--im-global-color-secondary); transform: translateY(-4px); box-shadow: 0 26px 48px -30px rgba(74,51,36,.4); }
.im-unit__city { display: flex; align-items: center; gap: 10px; font-family: var(--im-global-typography-primary-font); font-size: 22px; color: var(--im-global-color-primary); font-weight: 500; margin-bottom: 4px; }
.im-unit__city .im-icon { color: var(--im-global-color-accent); font-size: 20px; }
.im-unit__state { font-family: var(--im-global-typography-accent-font); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--im-global-color-sage); margin-left: auto; border: 1px solid var(--im-global-color-silver); border-radius: 100px; padding: 4px 10px; }
.im-unit__list { list-style: none; padding: 16px 0 0; margin: 14px 0 0; border-top: 1px solid var(--im-global-color-silver); display: flex; flex-wrap: wrap; gap: 8px; }
.im-unit__list li { font-size: 13px; color: var(--im-global-color-text); background: var(--im-global-color-bg-soft); border-radius: 100px; padding: 6px 13px; }
@media (max-width: 980px) { .im-units__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .im-units__grid { grid-template-columns: 1fr; } }

/* =========================================================
   16. VOICES (video testimonials)
   ========================================================= */
.im-voices { background: var(--im-global-color-bg-soft); }
.im-voices__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 52px; }
.im-voice {
    position: relative; border-radius: var(--im-radius); overflow: hidden;
    min-height: 320px; display: flex; flex-direction: column; justify-content: flex-end;
    padding: 26px; color: #fbf3e7; transition: transform .5s var(--im-ease-out-expo), box-shadow .5s var(--im-ease-out-expo);
    background: var(--im-global-color-primary);
}
.im-voice:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -36px rgba(45,30,20,.6); }
.im-voice::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(45,30,20,.15) 0%, rgba(45,30,20,.78) 100%); }
.im-voice--a { background: linear-gradient(150deg, #6a4a32 0%, #3a2719 100%); }
.im-voice--b { background: linear-gradient(150deg, #7a6038 0%, #43331b 100%); }
.im-voice--c { background: linear-gradient(150deg, #5d5a44 0%, #332f1f 100%); }
.im-voice__play { position: absolute; top: 26px; right: 26px; width: 56px; height: 56px; border-radius: 50%; background: rgba(251,243,231,.16); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border: 1px solid rgba(251,243,231,.4); display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 20px; z-index: 3; transition: all .35s var(--im-ease-out-expo); }
.im-voice:hover .im-voice__play { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); border-color: transparent; transform: scale(1.06); }
.im-voice__tag { position: relative; z-index: 2; align-self: flex-start; font-family: var(--im-global-typography-accent-font); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--im-global-color-secondary); background: rgba(45,30,20,.45); border: 1px solid rgba(194,160,106,.4); border-radius: 100px; padding: 5px 12px; margin-bottom: 14px; }
.im-voice__quote { position: relative; z-index: 2; font-family: var(--im-global-typography-primary-font); font-style: italic; font-size: 19px; line-height: 1.4; margin: 0 0 16px; font-weight: 400; }
.im-voice__author { position: relative; z-index: 2; display: flex; align-items: center; gap: 12px; }
.im-voice__avatar { width: 44px; height: 44px; border-radius: 50%; background: rgba(251,243,231,.16); border: 1px solid rgba(251,243,231,.35); color: #fff; font-family: var(--im-global-typography-primary-font); font-size: 17px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.im-voice__name { font-size: 15px; font-weight: 600; color: #fff; margin: 0; }
.im-voice__role { font-size: 12px; color: rgba(251,243,231,.7); font-family: var(--im-global-typography-accent-font); letter-spacing: 0.1em; text-transform: uppercase; margin: 2px 0 0; }
@media (max-width: 980px) { .im-voices__grid { grid-template-columns: 1fr; max-width: 480px; margin-left: auto; margin-right: auto; } }

/* =========================================================
   17. CTA + FORM (schedule visit / contact)
   ========================================================= */
.im-cta { background: var(--im-global-color-primary); color: #f3e9da; position: relative; overflow: hidden; }
.im-cta::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(680px 340px at 100% 0%, rgba(194,160,106,.22), transparent 60%), radial-gradient(560px 300px at 0% 100%, rgba(140,155,130,.12), transparent 62%); }
.im-cta__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1.05fr; gap: 60px; align-items: center; }
.im-cta__copy h2 { color: #fbf3e7; margin: 20px 0; }
.im-cta__copy h2 em { color: var(--im-global-color-secondary); }
.im-cta__copy > p { color: rgba(251,243,231,.8); font-size: 18px; margin-bottom: 26px; }
.im-cta__contacts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 22px; margin-top: 26px; padding-top: 26px; border-top: 1px solid rgba(194,160,106,.28); }
.im-cta__contacts a:nth-child(n+3) { grid-column: 1 / -1; }
.im-cta__contacts a { display: inline-flex; align-items: center; gap: 14px; color: #fbf3e7; font-size: 16px; }
.im-cta__contacts a .im-icon { width: 42px; height: 42px; padding: 11px; background: rgba(194,160,106,.16); color: var(--im-global-color-secondary); border-radius: 50%; font-size: 16px; transition: all .35s var(--im-ease-out-expo); }
.im-cta__contacts a:hover { color: #fff; }
.im-cta__contacts a:hover .im-icon { background: var(--im-global-color-secondary); color: var(--im-global-color-bg-deeper); }
.im-cta__contacts small { display: block; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: rgba(251,243,231,.55); }
.im-cta__contacts strong { font-weight: 600; }

.im-cta__form { background: var(--im-global-color-white); color: var(--im-global-color-primary); padding: 38px; border-radius: var(--im-radius); box-shadow: 0 50px 90px -44px rgba(0,0,0,.5); }
.im-cta__form h3 { font-family: var(--im-global-typography-primary-font); font-size: 28px; color: var(--im-global-color-primary); margin: 0 0 4px; font-weight: 500; }
.im-cta__form > p { margin: 0 0 18px; color: var(--im-global-color-muted); font-size: 15px; }
@media (max-width: 980px) { .im-cta__inner { grid-template-columns: 1fr; gap: 44px; } }
@media (max-width: 560px) { .im-cta__form { padding: 26px; } .im-form__row { grid-template-columns: 1fr; } }

/* =========================================================
   18. FOOTER
   ========================================================= */
.im-footer { background: var(--im-global-color-bg-deeper); color: rgba(251,243,231,.66); padding: 78px 0 0; }
.im-footer__top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 46px; padding-bottom: 52px; border-bottom: 1px solid rgba(194,160,106,.16); }
.im-footer__brand img { width: 210px; height: auto; max-width: 70%; margin-bottom: 22px; }
.im-footer__brand p { font-size: 14px; line-height: 1.7; margin: 0 0 22px; max-width: 320px; }
.im-footer__socials { display: flex; gap: 10px; }
.im-footer__socials a { width: 40px; height: 40px; border: 1px solid rgba(194,160,106,.2); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: rgba(251,243,231,.72); font-size: 16px; transition: all .3s var(--im-ease-out-expo); }
.im-footer__socials a:hover { background: var(--im-global-color-secondary); border-color: var(--im-global-color-secondary); color: var(--im-global-color-bg-deeper); }
.im-footer h5 { font-family: var(--im-global-typography-primary-font); font-size: 18px; font-weight: 500; color: #fbf3e7; margin: 0 0 20px; }
.im-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.im-footer ul a { font-size: 14px; color: rgba(251,243,231,.66); display: inline-flex; align-items: center; gap: 8px; }
.im-footer ul a:hover { color: var(--im-global-color-secondary); }
.im-footer ul a .im-icon { color: var(--im-global-color-secondary); }
.im-footer__bottom { display: flex; justify-content: space-between; align-items: center; padding: 24px 0; gap: 18px; flex-wrap: wrap; }
.im-footer__bottom > p { margin: 0; font-size: 13px; color: rgba(251,243,231,.5); }
.im-footer__sign { font-family: var(--im-global-typography-accent-font); font-size: 11px; color: rgba(251,243,231,.4); letter-spacing: 0.05em; line-height: 1.55; text-align: right; }
.im-footer__sign strong, .im-footer__corp, .im-footer__services { display: block; }
.im-footer__sign strong { color: var(--im-global-color-secondary); font-weight: 500; }
@media (max-width: 980px) { .im-footer__top { grid-template-columns: 1fr 1fr; gap: 38px; } }
@media (max-width: 560px) { .im-footer__top { grid-template-columns: 1fr; } .im-footer__bottom { flex-direction: column; text-align: center; } .im-footer__sign { text-align: center; } }

/* =========================================================
   19. WHATSAPP FLOAT
   ========================================================= */
.im-wa-float { position: fixed; bottom: 24px; right: 24px; width: 60px; height: 60px; background: #25d366; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 30px; box-shadow: 0 14px 32px -10px rgba(37,211,102,.55); z-index: 90; transition: transform .35s var(--im-ease-out-expo), opacity .45s var(--im-ease-out-expo), visibility .45s var(--im-ease-out-expo); }
.im-wa-float:hover { transform: scale(1.08); color: #fff; }
.im-wa-float--hidden { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(14px) scale(.92); }
.im-wa-float::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid #25d366; animation: im-wa-ping 2.4s ease-out infinite; }
@keyframes im-wa-ping { 0% { transform: scale(1); opacity: .6; } 100% { transform: scale(1.6); opacity: 0; } }

/* =========================================================
   20. REVEAL ON SCROLL
   ========================================================= */
.im-reveal { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--im-ease-out-expo), transform .9s var(--im-ease-out-expo); }
.im-reveal.is-visible { opacity: 1; transform: translateY(0); }
.im-reveal[data-delay="1"] { transition-delay: .1s; }
.im-reveal[data-delay="2"] { transition-delay: .2s; }
.im-reveal[data-delay="3"] { transition-delay: .3s; }
.im-reveal[data-delay="4"] { transition-delay: .4s; }
@media (prefers-reduced-motion: reduce) {
    .im-reveal { opacity: 1; transform: none; transition: none; }
    .im-marquee__track, .im-wa-float::after { animation: none; }
}

/* =========================================================
   21. MOBILE — PREMIUM (priority: 90%+ traffic)
      Sections <= 24px apart, centered titles, denser rhythm.
   ========================================================= */
@media (max-width: 767px) {
    .im-section { padding: 24px 0; }
    .im-section--sm, .im-section--xs { padding: 24px 0; }
    .im-hero { padding: 34px 0 24px; }
    .im-marquee { padding: 15px 0; }
    .im-footer { padding: 40px 0 0; }

    /* Mobile header: drop the WhatsApp button (redundant with the float), bigger logo */
    .im-header__inner { gap: 10px; padding: 12px 0; }
    .im-header__cta .im-button--primary { display: none; }
    .im-header__logo img { width: 196px; max-width: 62vw; }

    /* Centered titles + intros on mobile */
    .im-shead, .im-hero__copy, .im-story__copy, .im-cta__copy { text-align: center; }
    .im-shead { margin-left: auto; margin-right: auto; }
    .im-eyebrow { justify-content: center; }
    .im-hero__rating { margin-left: auto; margin-right: auto; }
    .im-hero__lead { margin-left: auto; margin-right: auto; }
    .im-hero__ctas { justify-content: center; }
    .im-hero__ctas .im-button { width: 100%; justify-content: center; }
    .im-hero__trust { justify-content: center; gap: 22px; text-align: center; }
    .im-hero__grid { grid-template-columns: 1fr; gap: 28px; }
    .im-hero__aside { position: static; }

    /* Modalidades — index stays left, content centered */
    .im-mod-card { text-align: center; align-items: center; }
    .im-mod-card__index { right: auto; left: 26px; top: 24px; }
    .im-mod-card__icon { margin-top: 6px; }
    .im-mod-card__list { text-align: left; width: 100%; }

    /* Story — center, panel quote centered */
    .im-story__grid { gap: 28px; }
    .im-story__panel { text-align: center; padding: 38px 28px; }
    .im-story__panel .im-icon { margin: 0 auto; }
    .im-story__badge { position: static; margin: 18px auto 0; justify-content: center; }
    .im-story__pillars { grid-template-columns: 1fr; gap: 16px; text-align: left; }
    .im-pillar { text-align: left; }

    /* Numbers — centered metrics */
    .im-numbers__item { text-align: center; }
    .im-numbers__num { justify-content: center; }

    /* Services — single column, centered label kept readable */
    .im-services__grid { grid-template-columns: 1fr; gap: 12px; }
    .im-service { justify-content: flex-start; }

    /* Units — index/state kept tidy */
    .im-units__grid { gap: 14px; }

    /* CTA contacts centered (icon stacked over label) */
    .im-cta__contacts { align-items: center; }
    .im-cta__contacts a { flex-direction: column; gap: 8px; text-align: center; }

    /* Footer — fully centered & stacked */
    .im-footer { text-align: center; }
    .im-footer__brand img { margin-left: auto; margin-right: auto; max-width: 190px; }
    .im-footer__brand p { margin-left: auto; margin-right: auto; }
    .im-footer__socials { justify-content: center; }
    .im-footer ul { align-items: center; }
    .im-footer ul a { justify-content: center; }
    .im-footer__sign, .im-footer__bottom { text-align: center; }
    .im-footer__bottom { gap: 14px; }
    .im-footer__dot { display: none; }
    .im-footer__line2 { display: block; }
    .im-footer__sign { line-height: 1.4; }
    .im-footer__sign strong { margin-bottom: 3px; }
    .im-footer__corp, .im-footer__services { font-size: min(calc(3.4vw - 1.2px), 12px); letter-spacing: 0; white-space: nowrap; }

    /* Marquee gaps a touch tighter */
    .im-marquee__track, .im-marquee__item { gap: 36px; }
}

/* =========================================================
   22. TABLET / iPad RANGE — consistent treatment 768-1023px
   ========================================================= */
@media (min-width: 768px) and (max-width: 1023px) {
    .im-section { padding: 72px 0; }
    .im-hero { padding: 64px 0 72px; }
    .im-hero__grid { grid-template-columns: 1fr; gap: 44px; max-width: 620px; }
    .im-hero__aside { position: static; }
    .im-mod-grid { grid-template-columns: 1fr; max-width: 560px; }
    .im-services__grid { grid-template-columns: 1fr 1fr; }
    .im-units__grid { grid-template-columns: 1fr 1fr; }
    .im-voices__grid { grid-template-columns: 1fr; max-width: 520px; margin-left: auto; margin-right: auto; }
}

/* ===== Success / thank-you page (confirmação de lead por unidade) ===== */
.im-success { padding: clamp(40px, 8vw, 96px) 0; display: flex; align-items: center; min-height: 64vh; }
.im-success__card { max-width: 720px; margin: 0 auto; text-align: center; background: var(--im-global-color-white); border: 1px solid var(--im-global-color-silver); border-radius: var(--im-radius); padding: clamp(30px, 5vw, 60px); box-shadow: 0 44px 90px -44px rgba(74,51,36,.4); }
.im-success__icon { display: inline-flex; align-items: center; justify-content: center; width: 78px; height: 78px; border-radius: 50%; background: var(--im-global-color-sage); color: #fff; box-shadow: 0 18px 34px -16px rgba(140,155,130,.8); }
.im-success__icon .im-icon { width: 40px; height: 40px; }
.im-success .im-eyebrow { display: block; margin-top: 22px; }
.im-success .im-eyebrow::before,
.im-success .im-eyebrow::after { content: ""; display: inline-block; width: 24px; height: 1px; background: currentColor; vertical-align: middle; margin: 0 10px; }
.im-success h1 { margin: 10px 0 0; }
.im-success__lead { color: var(--im-global-color-muted); font-size: clamp(15px, 2.4vw, 18px); line-height: 1.65; margin: 18px auto 0; max-width: 560px; }
.im-success__rating { display: inline-flex; align-items: center; gap: 10px; margin: 26px 0; padding: 9px 18px; border-radius: 999px; background: var(--im-global-color-bg-soft); font-size: 13px; color: var(--im-global-color-text); }
.im-success__stars { display: inline-flex; gap: 1px; color: var(--im-global-color-secondary); }
.im-success__stars .im-icon { width: 16px; height: 16px; }
.im-success__unit { margin-top: 6px; padding-top: 28px; border-top: 1px solid var(--im-global-color-silver); }
.im-success__addr { display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--im-global-color-muted); font-size: 14px; margin: 0 0 20px; }
.im-success__addr .im-icon { color: var(--im-global-color-secondary); flex-shrink: 0; }
.im-success__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.im-success__contacts { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 14px; margin: 22px 0 0; font-size: 13px; }
.im-success__contacts a { display: inline-flex; align-items: center; gap: 6px; color: var(--im-global-color-muted); }
.im-success__contacts a:hover { color: var(--im-global-color-accent); }
.im-success__contacts .im-icon { width: 15px; height: 15px; color: var(--im-global-color-secondary); }
.im-success__sep { color: var(--im-global-color-silver); }
.im-success__more { margin-top: 32px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.im-success__back { display: inline-flex; align-items: center; gap: 6px; color: var(--im-global-color-muted); font-size: 14px; }
.im-success__back:hover { color: var(--im-global-color-accent); }
.im-success__back .im-icon { width: 16px; height: 16px; }
.im-button--ghost { background: var(--im-global-color-bg-soft); color: var(--im-global-color-primary); border-color: transparent; }
.im-button--ghost:hover { background: var(--im-global-color-primary); color: #fbf3e7; }
@media (max-width: 600px) {
    .im-success__addr { justify-content: flex-start; text-align: left; }
    .im-success__actions .im-button { flex: 1 1 100%; justify-content: center; }
    .im-success__more .im-button--ghost { width: 100%; justify-content: center; white-space: normal; text-align: center; }
}

/* ===== CTA copy list + note (sobre fundo escuro da .im-cta) ===== */
.im-cta__list { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 12px; }
.im-cta__list li { display: flex; align-items: center; gap: 10px; font-size: 15px; }
.im-cta__list .im-icon { color: var(--im-global-color-secondary); flex-shrink: 0; width: 20px; height: 20px; }
.im-cta__note { display: flex; align-items: center; gap: 8px; }
.im-cta__note .im-icon { color: var(--im-global-color-secondary); flex-shrink: 0; }

/* ===== File upload field (Trabalhe Conosco) ===== */
.im-form__file { margin-top: 4px; position: relative; }
.im-file { display: flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; padding: 13px 18px; border: 1.5px dashed var(--im-global-color-silver); border-radius: 12px; color: var(--im-global-color-accent); font-weight: 600; font-size: 14px; transition: all .25s var(--im-ease-out-expo); }
.im-file:hover { border-color: var(--im-global-color-accent); background: var(--im-global-color-bg-soft); }
.im-file .im-icon { width: 16px; height: 16px; transform: rotate(-90deg); }
.im-file.is-filled { border-style: solid; border-color: var(--im-global-color-sage); color: var(--im-global-color-primary); }
.im-file.is-error { border-style: solid; border-color: #c0492f; color: #c0492f; }
.im-form__file input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }

/* ===== Legal / Política de Privacidade ===== */
.im-legal { max-width: 820px; }
.im-legal__head { margin-bottom: 34px; }
.im-legal__block { margin-bottom: 24px; }
.im-legal__block h2 { font-size: clamp(18px, 2.6vw, 22px); margin: 0 0 8px; color: var(--im-global-color-primary); }
.im-legal__block p { color: var(--im-global-color-muted); line-height: 1.75; margin: 0; }
.im-legal__updated { margin-top: 30px; font-size: 13px; color: var(--im-global-color-muted); font-style: italic; }
.im-footer__legal { text-decoration: underline; text-underline-offset: 2px; opacity: .9; }
.im-footer__legal:hover { opacity: 1; color: var(--im-global-color-secondary); }

/* ===== Anti-órfã: nunca deixar 1 palavra sozinha na última linha (regra geral, site todo) ===== */
h1, h2, h3, h4, h5, h6, .im-heading, .im-uhero__script, .im-uform h3, .im-cta__form h3, .im-uform__tag, .im-team__item span, .im-success__rating span { text-wrap: balance; }
p, li, figcaption, label, .im-text, .im-success__lead, .im-form__note, .im-cta__note, .im-legal__block p, .im-unitblock__addr, .im-success__addr, .im-uhero__tagline { text-wrap: pretty; }

/* âncora dos cards de modalidade: respiro do topo abaixo do header sticky */
.im-mod-card { scroll-margin-top: clamp(104px, 15vw, 132px); }

/* ===== Home Care (cuidadores) — chamada na home · paleta marrom-claro + verde sálvia ===== */
.im-homecare { background: linear-gradient(135deg, #f3efe6 0%, #e6ede0 100%); }
.im-homecare__inner { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.im-homecare__eyebrow { color: var(--im-global-color-sage); }
.im-homecare__copy h2 { margin: 16px 0 0; }
.im-homecare__copy > .im-text { margin-top: 18px; }
.im-homecare__list { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; }
.im-homecare__list li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--im-global-color-text); }
.im-homecare__list .im-icon { color: var(--im-global-color-sage); flex-shrink: 0; width: 20px; height: 20px; }
.im-homecare__ctas { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.im-homecare__visual { position: relative; }
.im-homecare__visual img { width: 100%; aspect-ratio: 4 / 3.4; object-fit: cover; border-radius: var(--im-radius); box-shadow: 0 44px 84px -42px rgba(45,30,20,.55); display: block; }
.im-homecare__badge { position: absolute; left: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 8px; background: var(--im-global-color-sage); color: #fff; font-family: var(--im-global-typography-accent-font); font-size: 12px; font-weight: 600; letter-spacing: .03em; padding: 10px 16px; border-radius: 999px; box-shadow: 0 16px 32px -14px rgba(45,30,20,.55); }
.im-homecare__badge .im-icon { width: 15px; height: 15px; }
@media (max-width: 900px) {
    .im-homecare__inner { grid-template-columns: 1fr; gap: 26px; }
    .im-homecare__visual { order: -1; }
    .im-homecare__eyebrow { justify-content: center; }
    .im-homecare__copy .im-heading, .im-homecare__copy > .im-text { text-align: center; }
    .im-homecare__list { max-width: 330px; margin-left: auto; margin-right: auto; }
    .im-homecare__ctas { justify-content: center; }
    .im-homecare__visual img { aspect-ratio: 4 / 3; }
}

/* ===== Home Care — VERSÃO 2 (verde FORTE em destaque; dourado pop) ===== */
.im-homecare2 { background: linear-gradient(135deg, #46552e 0%, #2d3a20 100%); color: #fbf3e7; }
.im-homecare2__inner { display: grid; grid-template-columns: .95fr 1.05fr; gap: 56px; align-items: center; }
.im-homecare2__copy .im-heading { color: #fff; margin: 16px 0 0; }
.im-homecare2__copy > .im-text { margin-top: 18px; color: rgba(251,243,231,.92); }
.im-homecare2__list { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; }
.im-homecare2__list li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: #fbf3e7; }
.im-homecare2__list .im-icon { color: var(--im-global-color-secondary); flex-shrink: 0; width: 20px; height: 20px; }
.im-homecare2__ctas { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.im-homecare2__visual { position: relative; }
.im-homecare2__visual img { width: 100%; aspect-ratio: 4 / 4.7; object-fit: cover; border-radius: var(--im-radius); box-shadow: 0 44px 84px -42px rgba(0,0,0,.5); display: block; }
.im-homecare2__work { margin-top: 18px; font-size: 15px; color: rgba(251,243,231,.85); display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.im-homecare2__worklink { display: inline-flex; align-items: center; gap: 6px; color: var(--im-global-color-secondary); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.im-homecare2__worklink .im-icon { width: 15px; height: 15px; transition: transform .3s var(--im-ease-out-expo); }
.im-homecare2__worklink:hover { color: #fff; }
.im-homecare2__worklink:hover .im-icon { transform: translateX(3px); }
.im-homecare2__badge { position: absolute; left: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 8px; background: var(--im-global-color-secondary); color: var(--im-global-color-bg-deeper); font-family: var(--im-global-typography-accent-font); font-size: 12px; font-weight: 600; letter-spacing: .03em; padding: 10px 16px; border-radius: 999px; }
.im-homecare2__badge .im-icon { width: 15px; height: 15px; }

/* Play do vídeo (nas duas versões) */
.im-homecare__visual[data-video], .im-homecare2__visual[data-video] { cursor: pointer; }
.im-homecare__play, .im-homecare2__play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 74px; height: 74px; border-radius: 50%; background: rgba(255,255,255,.94); color: var(--im-global-color-primary); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 18px 44px -12px rgba(0,0,0,.55); transition: transform .3s var(--im-ease-out-expo), background .3s; z-index: 2; }
.im-homecare__play .im-icon, .im-homecare2__play .im-icon { width: 26px; height: 26px; margin-left: 3px; }
.im-homecare__visual:hover .im-homecare__play, .im-homecare2__visual:hover .im-homecare2__play { transform: translate(-50%, -50%) scale(1.08); background: #fff; }

@media (max-width: 900px) {
    .im-homecare2__inner { grid-template-columns: 1fr; gap: 26px; }
    .im-homecare2__copy .im-heading, .im-homecare2__copy > .im-text { text-align: center; }
    .im-homecare2 .im-eyebrow { justify-content: center; }
    .im-homecare2__list { max-width: 330px; margin-left: auto; margin-right: auto; }
    .im-homecare2__ctas { justify-content: center; }
    .im-homecare2__work { justify-content: center; }
    .im-homecare2__visual img { aspect-ratio: 4 / 3; }
}

/* ===== LP Cuidadores (Home Care) — creme + dourado + verde ===== */
.im-heading--xl { font-size: clamp(38px, 6vw, 68px); }
.im-chero { background: linear-gradient(160deg, var(--im-global-color-bg-page) 0%, #eef1e8 100%); }
.im-chero__inner { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.im-chero__eyebrow { color: var(--im-global-color-sage); display: inline-flex; align-items: center; gap: 8px; }
.im-chero__eyebrow .im-icon { width: 16px; height: 16px; }
.im-chero__copy h1 { margin: 18px 0 0; }
.im-chero__copy > .im-text { margin-top: 20px; }
.im-chero__ctas { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.im-chero__trust { display: flex; align-items: center; gap: 12px; margin-top: 26px; font-size: 14px; color: var(--im-global-color-muted); }
.im-chero__stars { display: inline-flex; gap: 2px; color: var(--im-global-color-secondary); }
.im-chero__stars .im-icon { width: 16px; height: 16px; }
.im-chero__visual { position: relative; }
.im-chero__visual img { width: 100%; aspect-ratio: 4 / 3.6; object-fit: cover; border-radius: var(--im-radius); box-shadow: 0 50px 90px -44px rgba(45,30,20,.55); display: block; }
.im-chero__visual[data-video] { cursor: pointer; }
.im-chero__play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 78px; height: 78px; border-radius: 50%; background: rgba(255,255,255,.94); color: var(--im-global-color-primary); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 18px 44px -12px rgba(0,0,0,.5); transition: transform .3s var(--im-ease-out-expo); z-index: 2; }
.im-chero__play .im-icon { width: 28px; height: 28px; margin-left: 3px; }
.im-chero__visual:hover .im-chero__play { transform: translate(-50%,-50%) scale(1.08); }
.im-chero__badge { position: absolute; left: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 8px; background: var(--im-global-color-sage); color: #fff; font-family: var(--im-global-typography-accent-font); font-size: 12px; font-weight: 600; letter-spacing: .03em; padding: 10px 16px; border-radius: 999px; box-shadow: 0 14px 30px -12px rgba(45,30,20,.5); }
.im-chero__badge .im-icon { width: 15px; height: 15px; }
.im-marquee--sage { background: linear-gradient(135deg, #46552e 0%, #2d3a20 100%); color: #fbf3e7; }
.im-marquee--sage .im-marquee__dot { color: var(--im-global-color-secondary); }
.im-where { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.im-where__card { background: var(--im-global-color-white); border: 1px solid var(--im-global-color-silver); border-radius: var(--im-radius); padding: 32px 28px; text-align: center; transition: transform .35s var(--im-ease-out-expo), box-shadow .35s; }
.im-where__card:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -40px rgba(45,30,20,.3); }
.im-where__icon { width: 60px; height: 60px; margin: 0 auto 18px; border-radius: 50%; background: #eef1e8; color: var(--im-global-color-sage); display: inline-flex; align-items: center; justify-content: center; }
.im-where__icon .im-icon { width: 26px; height: 26px; }
.im-where__card h3 { margin: 0 0 10px; }
.im-where__card p { color: var(--im-global-color-muted); font-size: 15px; line-height: 1.65; margin: 0; }
.im-becaregiver { background: linear-gradient(135deg, #46552e 0%, #2d3a20 100%); color: #fbf3e7; }
.im-becaregiver__inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 44px; align-items: center; }
.im-becaregiver__inner .im-heading { color: #fff; margin: 14px 0 0; }
.im-becaregiver__inner > div > .im-text { margin-top: 16px; color: rgba(251,243,231,.92); }
.im-becaregiver__ctas { display: flex; flex-direction: column; gap: 14px; }
.im-becaregiver__ctas .im-button { width: 100%; justify-content: center; }
@media (max-width: 900px) {
    .im-chero__inner { grid-template-columns: 1fr; gap: 26px; }
    .im-chero__visual { order: -1; }
    .im-chero__copy { text-align: center; }
    .im-chero__eyebrow, .im-chero__ctas, .im-chero__trust { justify-content: center; }
    .im-where { grid-template-columns: 1fr; gap: 16px; }
    .im-becaregiver__inner { grid-template-columns: 1fr; gap: 22px; text-align: center; }
    .im-becaregiver__inner .im-eyebrow { justify-content: center; }
}

/* ===== Action bar universal no mobile (Ligar / WhatsApp / Contato) — páginas sem a action bar de unidade ===== */
.im-mbar { display: none; }
@media (max-width: 1080px) {
    .im-mbar { display: grid; grid-template-columns: repeat(3, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 150; background: var(--im-global-color-bg-deeper); border-top: 1px solid rgba(194,160,106,.3); box-shadow: 0 -16px 40px -20px rgba(45,30,20,.6); }
    .im-mbar__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 8px; color: #fbf3e7; font-weight: 600; font-size: 14px; border-left: 1px solid rgba(194,160,106,.16); }
    .im-mbar__btn:first-child { border-left: 0; }
    .im-mbar__btn .im-icon { color: var(--im-global-color-secondary); width: 19px; height: 19px; }
    .im-mbar__btn--primary { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); }
    .im-mbar__btn--primary .im-icon { color: var(--im-global-color-bg-deeper); }
    body.im-has-mbar { padding-bottom: 54px; }
    body.im-has-mbar .im-wa-float { bottom: 72px; }
}
