:root{
    --cl-action: #0A8C7A;
    --cl-action-dk: #056052;
    --cl-sy: #8FCAC1;
    --cl-sy-lt: #EFF8F7;
    --cl-dk: #0d1f1c;
    --cl-md: #6b7a78;
    --cl-lt: #ffffff;
    --cl-red: #E31E24;
}
html{position: relative;height: inherit;min-height: 100%;overflow-x: hidden;}
body {position: relative;display: block;height: 100%;min-height: 100%;width: 100%;min-width: 330px;background: #fff;padding: 0;margin: 0;overflow-x: hidden;}

*{box-sizing: border-box;}
h1, h2, h3, h4, p, span, label, a, button, input, select, textarea, li, *{font-family: 'Poppins', Arial, sans-serif;font-style: normal;font-weight: 400;text-decoration: none;margin: 0;padding: 0;}
h1, h2, h3, h4, p, span, label, a, button, input, select, textarea, li{color: var(--cl-dk);font-size: 18px;line-height: 1.4;}
*::placeholder{font-family: 'Poppins', Arial, sans-serif;font-style: normal;color: var(--cl-md);margin: 0;font-weight: 400;}
b, strong{font-weight: 700;}
::-webkit-scrollbar{display: block;width: 10px;}
::-webkit-scrollbar-track{background: var(--cl-sy-lt);}
::-webkit-scrollbar-thumb{background: var(--cl-action);}
::-webkit-scrollbar-thumb:hover{background: var(--cl-action-dk);}

.font-sm{font-size: 12px;color: var(--cl-md);}
.font-body{font-size: 16px;line-height: 1.6;color: var(--cl-md);}
.font-md {font-size: 20px;}
.font-lg {font-size: 26px;line-height: 1.2;}
.font-lg-alt{font-size: 30px;line-height: 1.18;}
.font-giant{font-size: 60px;line-height: .95;font-weight:700;}
.font-bold, .font-bold *{font-weight: 700;}
.font-up {text-transform: uppercase}
.lh{line-height: 1.2}
.lh-half{line-height: 1.5}

.cl-action{color: var(--cl-action)}
.cl-lt{color: var(--cl-lt)}
.cl-dk{color: var(--cl-dk)}

.mt-1{margin-top: 10px;}.mb-1{margin-bottom: 10px;}
.mt-2{margin-top: 20px;}.mb-2{margin-bottom: 20px;}
.mt-4{margin-top: 40px;}.mb-4{margin-bottom: 40px;}
.mt-6{margin-top: 60px;}.mb-6{margin-bottom: 60px;}

.flex, .flex-desk{display: flex;align-items: center;justify-content: space-between;}
.flex.wrap{flex-wrap: wrap;}
.flex.gap, .flex-desk.gap{gap: 20px;}
.flex.center{justify-content: center;}
.txt-center, .txt-center *{text-align: center}
.container{margin: 0 auto;max-width: 1280px;padding: 0 106px;}

.lead{max-width: 720px;margin-left: auto;margin-right: auto;color: var(--cl-md);font-size: 16px;}

.btn{font-family: 'Poppins', sans-serif;display: inline-flex;align-items: center;justify-content: center;gap: 10px;width: fit-content;background-color: var(--cl-dk);font-size: 20px;font-weight: 700;line-height: 1;color: var(--cl-lt);text-align: center;text-transform: uppercase;cursor: pointer;padding: 18px 28px;margin: 0 auto;transition: all .2s ease;border-radius: 100px;border: none;letter-spacing: .3px;white-space: nowrap;
    animation: ctaPulse 2.6s ease-out infinite;}
/* CTA Pulse — pulsação suave para chamar atenção (comentário Figma #5-#9) */
@keyframes ctaPulse{
    0%{box-shadow: 0 0 0 0 rgba(255,255,255,.45);}
    70%{box-shadow: 0 0 0 14px rgba(255,255,255,0);}
    100%{box-shadow: 0 0 0 0 rgba(255,255,255,0);}
}
@keyframes ctaPulseDark{
    0%{box-shadow: 0 0 0 0 rgba(10,140,122,.4);}
    70%{box-shadow: 0 0 0 14px rgba(10,140,122,0);}
    100%{box-shadow: 0 0 0 0 rgba(10,140,122,0);}
}
.btn:hover{animation-play-state: paused;}
.btn::after{content: '';display: inline-block;width: 22px;height: 22px;flex-shrink: 0;border-radius: 50%;background-color: rgba(255,255,255,.25);background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M17 7H9M17 7V15'/%3E%3C/svg%3E");background-position: 50%;background-repeat: no-repeat;background-size: 11px;}
.btn:hover{box-shadow: 0 6px 16px rgba(0,0,0,.25); transform: translateY(-1px);}
.btn.action{background: linear-gradient(135deg, var(--cl-action) 0%, var(--cl-action-dk) 100%);}
.btn.dk{background: linear-gradient(135deg, var(--cl-action) 0%, var(--cl-action-dk) 100%);}
.btn.action-lt{background: var(--cl-lt); color: var(--cl-action-dk); animation-name: ctaPulseDark;}
.btn.lt{background: var(--cl-lt); color: var(--cl-action-dk); width: 100%; animation-name: ctaPulseDark;}
.btn.action-lt::after,
.btn.lt::after{background-color: rgba(10,140,122,.15);background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23056052' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M17 7H9M17 7V15'/%3E%3C/svg%3E");}

/* ===== HERO ===== */
.hero-section{position: relative;background: linear-gradient(180deg, #EAF3F2 0%, #DDEEEC 100%);padding: 60px 0 100px;overflow: hidden;width: 100%;}
.hero-bg{position: absolute;inset: 0;background: url(img/hero-doctor.png) no-repeat 100% 50% / cover;z-index: 0;}
.hero-notch{position: absolute;left: 50%;bottom: -1px;width: 64px;height: 32px;background: #fff;clip-path: polygon(0 0, 100% 0, 50% 100%);transform: translateX(-50%);z-index: 2;}
.hero-section .container{position: relative;z-index: 1;align-items: center;}
.hero-section .txt-box{max-width: 560px;}
.logo-cms{width: 140px;aspect-ratio: 242/157;background: url(img/logo-cms.png) no-repeat 0 50% / contain;margin-bottom: 20px;}
.hero-section h1{margin-bottom: 15px;}
.check-list{list-style: none;padding: 0;}
.check-list li{position: relative;padding-left: 26px;padding-bottom: 12px;margin-bottom: 12px;font-size: 14px;border-bottom: 1px solid var(--cl-sy);}
.check-list li:last-child{border-bottom: none;}
.check-list li::before{content:'';position: absolute;left: 0;top: 5px;width: 12px;height: 12px;border-radius: 50%;background: var(--cl-action);z-index: 2;}
/* Pulsing Dot — pequeno efeito de pulsação no bullet ativo (comentário Figma #2-#3) */
.check-list li::after{content:'';position: absolute;left: 0;top: 5px;width: 12px;height: 12px;border-radius: 50%;border: 2px solid var(--cl-action);animation: dotPulseRing 2s ease-out infinite;}
.check-list li:nth-child(2)::after{animation-delay: .3s;}
.check-list li:nth-child(3)::after{animation-delay: .6s;}
.check-list li:nth-child(4)::after{animation-delay: .9s;}
.check-list li:nth-child(5)::after{animation-delay: 1.2s;}
@keyframes dotPulseRing{
    0%{transform: scale(1);opacity: .8;}
    70%{transform: scale(2.2);opacity: 0;}
    100%{opacity: 0;}
}
.hero-section .img-box{display: none;}

.whats-float{position: fixed;right: 20px;bottom: 20px;z-index: 50;display: flex;align-items: center;justify-content: center;width: 58px;height: 58px;background: linear-gradient(135deg,#1fbf5c,#0f9d4c);border-radius: 50%;box-shadow: 0 8px 20px rgba(0,0,0,.25);
    animation: floatBounce 3s ease-in-out infinite;}
/* Efeito Floating WhatsApp (comentário Figma #1) */
@keyframes floatBounce{
    0%,100%{transform: translateY(0);}
    50%{transform: translateY(-8px);}
}
.whats-float:hover{animation-play-state: paused;}
.whats-ico{position: relative;display:block;width: 40px;height: 40px;border-radius: 50%;background: rgba(255,255,255,.2) url(img/whatsapp-icon.png) 50% no-repeat;background-size: 60%;flex-shrink: 0;}
.whats-ico::before{content:'';position: absolute;inset: 0;border-radius: 50%;border: 2px solid rgba(255,255,255,.6);animation: dotPulseRing 2s ease-out infinite;}

/* ===== PROBLEMA ===== */
.problem-section{padding: 90px 0;background: var(--cl-lt);}
.pi-cards{align-items: stretch;max-width: 870px;margin-left: auto;margin-right: auto;}
.pi-card{flex: 1;border: 1px solid var(--cl-sy);border-radius: 16px;padding: 24px 28px;text-align: left;position: relative;}
.txt-center .pi-card,
.txt-center .pi-card *{text-align: left;}
.pi-card h3{font-size: 15px;letter-spacing: .5px;margin-bottom: 15px;}
.pi-card ul{list-style: none;padding: 0;margin: 0;}
.pi-card li{position: relative;padding-left: 16px;margin-bottom: 10px;font-size: 15px;color: var(--cl-md);}
.pi-card li::before{content:'·';position: absolute;left: 0;color: var(--cl-md);}
.pi-ico{position: absolute;top: 12px;right: 24px;width: 44px;height: 44px;background: var(--cl-sy-lt) no-repeat 50%;background-size: 100%;border-radius: 10px;}
.pi-ico.pi-patient{background-image: url(img/icon-patient.png);}
.pi-ico.pi-investor{background-image: url(img/icon-investor.png);}

.flow-box{display: flex;flex-wrap: nowrap;align-items: center;justify-content: center;gap: 8px;overflow-x: auto;padding: 4px 4px 10px;}
.flow-step{background: var(--cl-sy-lt);color: var(--cl-action-dk);font-weight: 700;font-size: 13px;padding: 14px 14px;border-radius: 12px;text-align: center;flex: 0 0 auto;min-width: 130px;max-width: 148px;}
.flow-arrow{width: 16px;height: 2px;background: var(--cl-dk);position: relative;flex-shrink: 0;}
.flow-arrow::after{content:'';position: absolute;right: -1px;top: -4px;border: 5px solid transparent;border-left-color: var(--cl-dk);}

/* ===== RECEITA ===== */
.revenue-section{position: relative;background: linear-gradient(135deg, #0A8C7A 0%, #056052 100%);padding: 90px 0 60px;color: var(--cl-lt);}
.revenue-section .section-notch{position: absolute;left: 50%;bottom: -1px;width: 64px;height: 32px;background: #fff;clip-path: polygon(0 0, 100% 0, 50% 100%);transform: translateX(-50%);z-index: 2;}
.revenue-section .txt-box{max-width: 480px;}
.revenue-list{list-style: none;padding: 0;}
.revenue-list li{position: relative;padding: 14px 0 14px 22px;border-bottom: 1px solid rgba(255,255,255,.25);color: var(--cl-lt);font-size: 17px;}
.revenue-list li::before{content:'';position: absolute;left: 0;top: 22px;width: 8px;height: 8px;border-radius: 50%;border: 1.5px solid var(--cl-lt);background: transparent;}
.revenue-list li.highlight{color: var(--cl-dk);font-weight: 700;border-bottom: none;background: var(--cl-lt);border-radius: 100px;padding: 12px 20px 12px 34px;margin-top: 6px;}
.revenue-list li.highlight .arrow-ico{filter: none;}
/* Expanding Dot — bullet ativo se expande (comentário Figma #4) */
.revenue-list li.highlight::before{background: var(--cl-red);left: 14px;top: 50%;transform: translateY(-50%);animation: dotExpand 1.8s ease-in-out infinite;}
@keyframes dotExpand{
    0%,100%{transform: scale(1);}
    50%{transform: scale(2);}
}
.arrow-ico{display:inline-block;width: 16px;height: 16px;vertical-align: middle;background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1f1c' stroke-width='2'%3E%3Cpath d='M7 17L17 7M17 7H9M17 7V15'/%3E%3C/svg%3E") no-repeat 50% / contain;}
.revenue-section .img-box{position: relative;flex: 1;min-width: 300px;height: 360px;}
.revenue-photo-1, .revenue-photo-2{position: absolute;border-radius: 16px;background-size: cover;background-position: 50%;box-shadow: 0 14px 30px rgba(0,0,0,.25);}
.revenue-photo-1{background-image: url(img/revenue-2.png);top: 0;left: 8%;width: 88%;height: 60%;z-index: 1;}
.revenue-photo-2{background-image: url(img/revenue-1.png);bottom: 0;right: 0;width: 58%;height: 54%;z-index: 2;}
.medsempre-card{position: absolute;left: 0;bottom: 18%;width: 165px;aspect-ratio: 159/101;background: url(img/medsempre-card.png) no-repeat 50% / contain;filter: drop-shadow(0 12px 20px rgba(0,0,0,.35));z-index: 3;}
/* Mobile-only revenue elements: hidden by default, shown only inside the max-width:768px block */
.medsempre-box-mobile{display:none;}
.revenue-photo-mobile{display:none;}

/* ===== VALIDADO ===== */
.validated-section{padding: 90px 0;background: var(--cl-lt);}
.validated-section .txt-box{max-width: 500px;}
.numbered-list{list-style: none;padding: 0;counter-reset: none;}
.numbered-list li{display: flex;align-items: center;gap: 16px;background: var(--cl-sy-lt);border-radius: 12px;padding: 10px 20px;margin-bottom: 10px;font-weight: 700;font-size: 15px;}
.numbered-list li span{color: var(--cl-action);font-size: 26px;font-weight: 800;min-width: 36px;border-right: 2px solid var(--cl-action);padding-right: 14px;}
.validated-section .img-box{flex: 1;min-width: 300px;}
.training-photo{width: 100%;aspect-ratio: 620/413;background: url(img/training.png) no-repeat 50% / cover;border-radius: 16px;}
.validated-section > .container:last-child{margin-top: 30px;}

/* ===== UNIDADES ===== */
.units-section{padding: 90px 0 0;background: var(--cl-lt);}
.units-bg{background: #F4F9F8;padding: 90px 0 60px;}
.unit-cards{align-items: stretch;margin-bottom: 80px;position: relative;}
.unit-card{flex: 1;background: var(--cl-lt);border: 1px solid var(--cl-sy);border-radius: 16px;padding-bottom: 24px;position: relative;}
.unit-photo{width: 100%;aspect-ratio: 340/470;background-size: cover;background-position: 50% 50%;border-radius: 15px 15px 0 0;position: relative;}
.unit-photo::after{content:'';position: absolute;left: 50%;bottom: -1px;transform: translateX(-50%);width: 34px;height: 22px;background: var(--cl-action);clip-path: polygon(0 0, 100% 0, 50% 100%);border-radius: 0 0 4px 4px;}
.unit-photo.unit-1{background-image: url(img/unit-1-photo.png);}
.unit-photo.unit-2{background-image: url(img/unit-2-photo.png);}
.unit-photo.unit-3{background-image: url(img/unit-3-photo.png);}
.unit-tag{font-size: 12px;color: var(--cl-md);margin-top: 20px;letter-spacing: 1px;}
.unit-title{font-size: 17px;margin-bottom: 14px;}
.unit-label{font-size: 13px;color: var(--cl-md);margin-top: 8px;}
.unit-value{font-size: 18px;}
.unit-note{font-size: 11px;color: var(--cl-md);margin-top: 4px;line-height: 1.3;}
.payback-badge{display: inline-flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 6px;background: transparent;border: 1.5px solid var(--cl-action);color: var(--cl-action);font-family: 'Poppins', sans-serif;font-size: 15px;font-weight: 400;line-height: 1.3;padding: 12px 26px;border-radius: 100px;}
.payback-badge span{font-weight: 700;color: var(--cl-action);}
.payback-badge-img{position: absolute;left: 50%;bottom: -55px;transform: translateX(-50%);width: 508px;aspect-ratio: 508 / 55;height: auto;max-width: 90vw;z-index: 2;}

/* ===== É PRA MIM ===== */
.fit-section{padding: 90px 0;background: var(--cl-lt);}
.fit-section .txt-box{max-width: 400px;}
.fit-section .img-box{flex: 1;min-width: 300px;}

/* ===== DEPOIMENTO ===== */
.testimonial-section{padding: 90px 0;background: linear-gradient(135deg, #0A8C7A 0%, #056052 100%);}
.testimonial-section .txt-box{max-width: 560px;}
.quote-box{position: relative;background: rgba(255,255,255,.08);border-radius: 16px;padding: 24px;}
.quote-box p{font-size: 16px;line-height: 1.9;opacity: .95;font-style: italic;}
.quote-mark{font-size: 50px;color: rgba(255,255,255,.4);line-height: .5;font-family: Georgia, serif;}
.quote-open{display: block;margin-bottom: 10px;}
.quote-close{display: block;text-align: right;margin-top: 10px;}
.testimonial-section .img-box{position: relative;flex-shrink: 0;width: 320px;}
.persio-photo{width: 100%;aspect-ratio: 468/547;background: url(img/dr-persio.png) no-repeat 50% / cover;border-radius: 16px;}
.play-btn{position: absolute;bottom: -18px;left: 50%;transform: translateX(-50%);display: flex;align-items: center;gap: 8px;background: linear-gradient(135deg,#0A8C7A,#056052);color: #fff;font-weight: 700;font-size: 13px;padding: 10px 18px 10px 14px;border-radius: 100px;box-shadow: 0 6px 14px rgba(0,0,0,.3);white-space: nowrap;}
.play-ico{width: 20px;height: 20px;border-radius: 50%;background: rgba(255,255,255,.25) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M7 17L17 7M17 7H9M17 7V15'/%3E%3C/svg%3E") 50% no-repeat;background-size: 10px;}

/* ===== FORMULÁRIO ===== */
.form-section{position: relative;background: linear-gradient(90deg, rgba(4,48,42,.82) 0%, rgba(4,48,42,.5) 45%, rgba(4,48,42,.25) 100%), url(img/form-bg.png) no-repeat 50% / cover;padding: 90px 0;}
.form-section .txt-box{max-width: 420px;}
.form-section .form,
.form-section .form > *{max-width: min(467px,100%);}
#form-box [id^="forms-"] .bricks--section > div,
#form-box [id^="forms-"] .bricks--column,
#form-box [id^="forms-"] .bricks--component{max-width: 100%;width: auto;}

/*
 * Corrige o "salto para o topo da página" ao clicar no campo de Cidade.
 * O RD Station usa o Select2 (plugin JS legado) nesse campo; ele posiciona um
 * input escondido de acessibilidade ("select2-offscreen") longe da área visível
 * (geralmente top:-9999px). Ao focar esse input, o navegador rola a página até
 * lá para "mostrar" o elemento focado — causando o salto. Aqui mantemos o input
 * escondido, mas no lugar (sem deslocamento), então o navegador não precisa rolar.
 */
#form-box .select2-container{position: relative !important;}
#form-box .select2-offscreen,
#form-box .select2-offscreen:focus{
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 1px !important;
    height: 1px !important;
    clip: rect(0,0,0,0) !important;
    overflow: hidden !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
#rd-button-mplmm0ka.bricks--component-button{background-color: var(--cl-action);}

/* Botão de envio do formulário — estilo pill escuro com seta, igual ao .btn.action do site */
#rd-button-mplmm0ka.bricks--component-button{
    font-family: 'Poppins', sans-serif;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    background: linear-gradient(135deg, var(--cl-action) 0%, var(--cl-action-dk) 100%) !important;
    color: var(--cl-lt) !important;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
    padding: 18px 28px;
    border-radius: 100px;
    border: none;
    letter-spacing: .3px;
    white-space: nowrap;
    transition: all .2s ease;
}
#rd-button-mplmm0ka.bricks--component-button:hover{
    box-shadow: 0 6px 16px rgba(0,0,0,.25);
    transform: translateY(-1px);
}
#rd-button-mplmm0ka.bricks--component-button::after{
    content: '';
    display: inline-block;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    border-radius: 50%;
    background-color: rgba(255,255,255,.25);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M17 7H9M17 7V15'/%3E%3C/svg%3E");
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 11px;
}

/* ===== FOOTER ===== */
footer{position: relative;background: var(--cl-action); padding: 50px 0 30px;}
.footer-logos{margin-bottom: 20px;}
.f-logo{height: 36px;background-repeat: no-repeat;background-position: 50%;background-size: contain;filter: brightness(0) invert(1);opacity: .92;}
.f-logo-ccc{width: 175px;background-image: url(img/logo-ccc-full.png);}
.f-logo-cms{width: 85px;background-image: url(img/logo-cms.png);}
.f-logo-medsempre{width: 158px;background-image: url(img/logo-medsempre-footer.png);}
.f-social{display: flex;align-items: center;justify-content: center;width: 30px;height: 30px;color: #fff;opacity: .92;}
.f-social svg{width: 22px;height: 22px;}
footer p{font-size: 13px;color: rgba(255,255,255,.85);text-align: center}

/* Scale In — card surge aumentando de tamanho (comentário Figma #11-#15) */
.scale-in{opacity: 0;transform: scale(.88);transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1);}
.scale-in.in-view{opacity: 1;transform: scale(1);}

.room-slider{position: relative;width: 100%;aspect-ratio: 16/9;border-radius: 16px;overflow: hidden;}
.room-track{display: flex;width: 400%;height: 100%;transition: transform .5s ease;}
.room-slide{width: 25%;height: 100%;flex-shrink: 0;background-size: cover;background-position: 50%;}
.room-nav{position: absolute;top: 50%;transform: translateY(-50%);width: 40px;height: 40px;background: none;color: var(--cl-action);border: none;font-size: 40px;font-weight: 700;line-height: 1;cursor: pointer;display: flex;align-items: center;justify-content: center;transition: transform .2s ease;text-shadow: 0 1px 3px rgba(0,0,0,.25);}
.room-nav:hover{transform: translateY(-50%) scale(1.15);}
.room-nav:hover{background: rgba(0,0,0,.6);}
.room-nav.prev{left: 14px;}
.room-nav.next{right: 14px;}

/* ===== VIDEO MODAL ===== */
.video-modal{position: fixed;inset: 0;background: rgba(0,0,0,.85);z-index: 100;display: none;align-items: center;justify-content: center;padding: 20px;}
.video-modal.open{display: flex;}
.video-modal-inner{position: relative;width: 100%;max-width: 360px;max-height: 90vh;}
.video-frame{position: relative;width: 100%;aspect-ratio: 9 / 16;max-height: 90vh;background: #000;border-radius: 12px;overflow: hidden;display: flex;align-items: center;justify-content: center;}
.video-frame iframe{position: absolute;inset: 0;width: 100%;height: 100%;border: none;}
.video-close{position: absolute;top: -44px;right: 0;background: transparent;border: none;color: #fff;font-size: 32px;line-height: 1;cursor: pointer;}

/* ===================== RESPONSIVE ===================== */
@media (max-width: 1199px) and (min-width: 991px) {
    .container{padding-left:60px;padding-right:60px;}
}
@media (max-width: 990px) {
    *.flex-desk{flex-direction: column;}
    .revenue-section .img-box{margin-top: 40px;}
    .revenue-section .txt-box{max-width: 100%;text-align: center;}
    .revenue-list li{text-align: left;}
    .testimonial-section .img-box{width: 260px;margin: 0 auto;}
    .form-section .txt-box{text-align: center;max-width: 100%;}
    .unit-cards{margin-bottom: 40px;}
    .payback-badge-img{position: static;left: auto;bottom: auto;transform: none;width: 100%;max-width: 508px;margin: 8px auto 0;display: block;}
}
@media (max-width: 900px) {
    .container{padding: 0 32px;}
}
@media (max-width: 768px) {
    footer p{padding: 0 60px;}
    .btn{white-space: normal;text-align: center;}
    .font-giant{font-size: 32px;}
    .font-lg{font-size: 22px;}
    .font-lg-alt{font-size: 24px;}
    .container{padding: 0 16px;}

    .hero-section{padding: 40px 0 60px;text-align: center;}
    .hero-bg{display: none;}
    .hero-notch{display: none;}
    .hero-section .txt-box{max-width: 100%;}
    .hero-section .img-box{display: block;margin-top: 30px;}
    .hero-photo{width: 100%;aspect-ratio: 683/449;background: url(img/hero-doctor.png) no-repeat 50% 0 / cover;border-radius: 20px;}
    .logo-cms{margin: 0 auto 20px;}
    .check-list{text-align: left;max-width: 320px;margin: 0 auto;}

    .pi-cards{flex-direction: column;}
    .flow-box{flex-direction: column;}
    .flow-arrow{width: 2px;height: 16px;}
    .flow-arrow::after{right: -4px;top: auto;bottom: -1px;border-left-color: transparent;border-top-color: var(--cl-dk);}
    .unit-cards{flex-direction: column;}
    .whats-float{width: 52px;height: 52px;}

    /* Problem cards: slightly larger icons, without overlapping text */
    .problem-section .pi-cards{gap:20px;}
    .problem-section .pi-card{padding:24px 22px 24px;border-radius:18px;}
    .problem-section .pi-card h3{font-size:16px;padding-right:58px;}
    .problem-section .pi-card li{font-size:15px;line-height:1.45;margin-bottom:10px;}
    .problem-section .pi-ico{top:2px;right:20px;width:48px;height:48px;border-radius:12px;background-size:100%;}

    /* Revenue mobile: dedicated stacked layout (list -> white card box -> paragraph -> single photo -> button) */
    .revenue-section{padding:56px 0 32px;overflow:hidden;}
    .revenue-section .txt-box{max-width:100%;text-align:left;}
    .revenue-list li.highlight{display:none;}
    .revenue-section .img-box{display:none;}

    .medsempre-box-mobile{display:block;background:var(--cl-lt);border-radius:22px;padding:18px 18px 20px;margin-top:20px;box-shadow:0 10px 24px rgba(0,0,0,.18);}
    .msb-head{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--cl-dk);margin-bottom:12px;}
    .msb-head b{color:var(--cl-red);}
    .msb-head .dot{width:9px;height:9px;border-radius:50%;background:var(--cl-red);flex-shrink:0;}
    .msb-card{width:100%;padding-top:69.3%;background:url(img/medsempre-card.png) no-repeat 50% / contain;}

    .revenue-section p.cl-lt{margin:20px 0 20px;}
    .revenue-photo-mobile{display:block;width:100%;aspect-ratio:218/160;border-radius:20px;background:url(img/revenue-2.png) no-repeat center / cover;margin-bottom:24px;}
    .revenue-section .btn{display:block;max-width:340px;margin:0 auto;background:var(--cl-action-dk);color:var(--cl-lt);border:1.5px solid rgba(255,255,255,.45);}
    .revenue-section .btn::after{background-color:var(--cl-lt);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312574e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M17 7H9M17 7V15'/%3E%3C/svg%3E");}
    .revenue-section .section-notch{width:74px;height:30px;bottom:-1px;clip-path:polygon(0 0,100% 0,50% 100%);}

    /* Unit cards: renderizar com texto real (HTML) para suportar campos dinâmicos como Payback e Taxa de Franquia */
    .units-section .container{padding-left:12px;padding-right:12px;}
    .unit-cards{width:100%;gap:24px;}
    .unit-photo::after{display:none;}

    .fit-section .img-box,.validated-section .img-box{width:100%;min-width:0;}
    .validated-section .img-box{margin-top:76px;}
    .training-photo,.room-slider{width:100%;}
    .room-slider{aspect-ratio:1.45/1;}
    .room-nav{width:42px;height:42px;font-size:40px;}
}

/* =====================================================
   FIGMA FIDELITY OVERRIDES — desktop 1280px
   Source: LP CLINICAL CENTER (Figma)
   ===================================================== */
:root{
    --cl-action:#078e7d;
    --cl-action-dk:#12574e;
    --cl-sy:#8fccc2;
    --cl-sy-lt:#eff8f7;
    --cl-dk:#2a2a2a;
}

h1,h2,h3,h4,p,span,label,a,button,input,select,textarea,li,*{
    font-family:'Montserrat',Arial,sans-serif;
}
*::placeholder{font-family:'Montserrat',Arial,sans-serif;}

@media (min-width: 1200px){
    /* The Figma artboard is 1280px wide with a 1070px content rail. */
    .container{max-width:1280px;padding-left:105px;padding-right:105px;}

    /* Typography sampled from Figma */
    .font-giant{font-size:60px;line-height:55px;letter-spacing:-3px;font-weight:700;}
    .font-body{font-size:16px;line-height:25px;color:#2a2a2a;}
    .font-lg{font-size:26px;line-height:1.2;}
    .font-lg-alt{font-size:30px;line-height:1.18;}
    .font-md{font-size:20px;}

    /* Disable implementation-only motion in the pixel-faithful desktop view. */
    /* Animações da Camila (Figma) reativadas no desktop — CTA Pulse, Pulsing Dot, Expanding Dot, Scale In, WhatsApp */

    /* HERO — 833px Figma band */
    .hero-section{height:833px;min-height:833px;padding:0;background:#eef5f4;}
    .hero-bg{background-image:url(img/hero-doctor.png);background-size:112% auto;background-position:center top;background-repeat:no-repeat;background-color:#eef5f4;}
    .hero-section .container{height:100%;align-items:flex-start;padding-top:145px;}
    .hero-section .txt-box{width:548px;max-width:548px;}
    .logo-cms{width:125px;height:72px;aspect-ratio:auto;margin-bottom:33px;}
    .hero-section h1{width:518px;margin-bottom:15px;}
    .hero-section .font-body{width:465px;margin-bottom:19px;}
    .check-list{width:362px;margin-bottom:18px;}
    .check-list li{font-size:14px;line-height:20px;padding:0 0 9px 24px;margin-bottom:8px;border-color:#8fccc2;}
    .check-list li::before{top:5px;width:11px;height:11px;background:#078e7d;}
    .hero-section .btn{margin:0;width:548px;height:62px;padding:0;background:url(img/btn-conhecer-modelo.png) center/100% 100% no-repeat;color:transparent;border-radius:0;box-shadow:none;}
    .hero-section .btn::after{display:none;}

    /* PROBLEM — 833px Figma band */
    .problem-section{height:833px;min-height:833px;padding:112px 0 0;}
    .problem-section > .container{height:100%;}
    .problem-section h2:first-child{margin-bottom:14px;}
    .problem-section .lead{max-width:741px;font-size:16px;line-height:25px;color:#2a2a2a;}
    .problem-section .lead.mb-6{margin-bottom:28px;}
    .pi-cards{width:872px;max-width:872px;margin-bottom:25px;gap:20px;}
    .problem-section .pi-cards + h2{margin-bottom:8px;}
    .problem-section .pi-cards + h2 + .lead{max-width:1070px;margin-bottom:24px;}
    .flow-box{width:1069px;height:69px;padding:0;margin:0 auto 48px;background:url(img/flow-steps.png) center/contain no-repeat;overflow:visible;}
    .flow-box > *{display:none;}
    .problem-section .btn{width:469px;height:62px;padding:0;background:url(img/btn-fazer-parte.png) center/100% 100% no-repeat;color:transparent;border-radius:0;box-shadow:none;}
    .problem-section .btn::after{display:none;}

    /* REVENUE — corrigida diretamente no arquivo original conforme o Figma */
    .revenue-section{height:770px;min-height:770px;padding:0;background:#078e7d;position:relative;overflow:visible;}
    .revenue-section > .container:first-child{height:505px;align-items:flex-start;padding-top:93px;}
    .revenue-section .txt-box{width:332px;max-width:332px;padding-top:26px;}
    .revenue-section .txt-box h2{margin-bottom:22px;}
    .revenue-list{width:332px;}
    .revenue-list li{font-size:17px;line-height:20px;padding:13px 0 13px 21px;}
    .revenue-list li.highlight{height:49px;margin-top:0;padding:13px 32px 12px 28px;border-radius:100px;background:#fff;color:#2a2a2a;position:relative;z-index:6;isolation:isolate;box-shadow:none;}
    .revenue-section .img-box{width:710px;min-width:710px;height:430px;flex:none;margin-left:27px;}
    .revenue-photo-1{left:0;top:0;width:631px;height:345px;border-radius:18px;background-position:center;box-shadow:none;}
    .revenue-photo-2{right:0;bottom:0;width:418px;height:294px;border-radius:18px;background-position:center;box-shadow:none;}
    /* Cartão menor e na mesma proporção/posição do Figma */
    .medsempre-card{left:-70px;top:268px;bottom:auto;width:188px;height:131px;aspect-ratio:auto;filter:none;z-index:9;background-size:100% 100%;}
    .revenue-section > .container:nth-child(2){display:block;padding-top:27px;position:relative;z-index:4;}
    .revenue-section > .container:nth-child(2) p{width:546px;max-width:546px;text-align:left;margin:0 0 23px 0;font-size:16px;line-height:25px;}
    .revenue-section .btn{width:413px;height:62px;margin-left:329px;padding:0;background:url(img/btn-abrir-franquia.png) center/100% 100% no-repeat;color:transparent;border-radius:0;box-shadow:none;position:relative;z-index:5;}
    .revenue-section .btn::after{display:none;}
    /* Bico verde: o Figma prolonga o verde para dentro da seção branca. */
    .revenue-section .section-notch{display:block;position:absolute;left:50%;bottom:-46px;width:106px;height:50px;background:#078e7d;transform:translateX(-50%);clip-path:polygon(0 0,100% 0,84% 38%,50% 100%,16% 38%);z-index:8;}

    /* VALIDATED — 833px Figma band */
    .validated-section{height:833px;min-height:833px;padding:85px 0 0;}
    .validated-section > .container:first-child h2{margin-bottom:6px;}
    .validated-section > .container:first-child .lead{max-width:741px;margin-bottom:35px;}
    .validated-section > .container.flex-desk{align-items:flex-start;gap:33px;}
    .validated-section .txt-box{width:417px;max-width:417px;height:454px;flex:none;background:url(img/what-you-receive.png) left top/417px 454px no-repeat;}
    .validated-section .txt-box > *{visibility:hidden;}
    .validated-section .img-box{width:620px;min-width:620px;flex:none;}
    .training-photo{width:620px;height:413px;aspect-ratio:auto;border-radius:0;}
    .validated-section > .container:last-child{margin-top:32px;}
    .validated-section .btn{width:604px;height:62px;padding:0;background:url(img/btn-replicar-modelo.png) center/100% 100% no-repeat;color:transparent;border-radius:0;box-shadow:none;}
    .validated-section .btn::after{display:none;}

    /* UNITS — exported Figma composite preserves exact card geometry. */
    .units-section{padding:0;background:#fff;}
    .units-bg{padding:60px 0 50px;background:#f4f9f8;}
    .units-bg h2{margin-bottom:6px;}
    .units-bg .lead{margin-bottom:26px;}
    .unit-cards{width:1070px;margin:0;gap:20px;align-items:stretch;}
    .units-section > .container:last-child{padding-top:12px;}
    .units-section > .container:last-child .font-sm{margin-bottom:60px;}
    .units-section > .container:last-child .lead{width:747px;max-width:747px;margin-bottom:33px;font-size:16px;line-height:25px;}
    .units-section .btn{width:551px;height:62px;margin-bottom:10px;padding:0;background:url(img/btn-plano-investimento.png) center/100% 100% no-repeat;color:transparent;border-radius:0;box-shadow:none;}
    .units-section .btn::after{display:none;}

    /* FIT — 409px region before testimonial */
    .fit-section{height:409px;min-height:409px;padding:0;}
    .fit-section .container{height:100%;align-items:flex-start;padding-top:0;gap:46px;}
    .fit-section .txt-box{width:366px;max-width:366px;padding-top:40px;}
    .fit-section .txt-box h2{margin-bottom:25px;}
    .fit-section .txt-box p{font-size:16px;line-height:25px;}
    .fit-section .img-box{width:658px;min-width:658px;flex:none;}
    .room-slider{width:658px;height:303px;aspect-ratio:auto;border-radius:0;}
    .room-nav{font-size:34px;text-shadow:none;background:transparent!important;}
    .room-nav.prev{left:10px;}.room-nav.next{right:10px;}

    /* TESTIMONIAL — 830px Figma band */
    .testimonial-section{height:830px;min-height:830px;padding:0;background:#078e7d;}
    .testimonial-section .container{height:100%;align-items:flex-start;padding-top:145px;gap:0;}
    .testimonial-section .txt-box{width:484px;max-width:484px;margin-left:63px;position:relative;z-index:3;}
    .testimonial-section .txt-box > .font-md{font-size:26px;line-height:31px;margin-bottom:0;}
    .testimonial-section .txt-box h2{font-size:26px;line-height:31px;margin-bottom:27px;}
    .quote-box{width:554px;background:linear-gradient(to right, rgba(255,255,255,.45) 0px, rgba(255,255,255,.45) 484px, rgba(255,255,255,0) 554px);border-radius:16px;padding:24px 90px 24px 24px;position:relative;z-index:5;}
    .quote-box p{font-size:16px;line-height:25px;font-style:italic;opacity:.95;}
    .testimonial-section .img-box{width:523px;height:548px;margin-left:0;flex:none;}
    .persio-photo{width:523px;height:548px;aspect-ratio:auto;border-radius:0;background-size:contain;background-repeat:no-repeat;}
    .play-btn{left:73px;bottom:-27px;width:160px;height:62px;padding:0;background:url(img/btn-play.png) center/100% 100% no-repeat;color:transparent;border-radius:0;box-shadow:none;transform:none;}
    .play-ico{display:none;}

    /* FORM — 697px + 133px footer matches Figma's last 830px */
    .form-section{padding:83px 0;background:linear-gradient(90deg, rgba(4,48,42,.65) 0%, rgba(4,48,42,.35) 45%, rgba(4,48,42,.12) 100%), url(img/form-bg.png) center top/cover no-repeat;}
    .form-section .container{align-items:flex-start;padding-top:0;gap:0;}
    .form-section .txt-box{width:442px;max-width:442px;margin-top:144px;}
    .form-section .txt-box h2{font-size:30px;line-height:34px;margin-bottom:24px;}
    .form-section .txt-box p{font-size:16px;line-height:25px;}
    #form-box{width:467px;max-width:467px;margin-left:auto;}

    footer{height:133px;padding:33px 0 0;background:#078e7d;}
    .footer-logos{height:69px;margin:0 0 8px;}
    footer p{display:none;}
}
