/* ===============================================================
       MENTEPRÁTICA · MOSTRA QUE SABES / Landing Page v3.2 · formulário UX sem botões e fundos corrigidos
       COPY: curta, progressiva, lead qualificado. Não mostrar preço.
       FUNDOS: ver GUIA_DESIGNER.md + manifest_ativos.csv.
       760px: passagem para imagens/recomposição MOBILE.
       VERSÃO PLUGIN: WordPress guarda os pedidos; configure dados reais antes de publicar.
       =============================================================== */
    :root {
      --azul:#16324F; --azul-forte:#112A43; --salvia:#7FA89B;
      --marfim:#F5F1E8; --coral:#D97961; --grafite:#22282D;
      --papel:#FFFEFB; --muted:#465667; --linha:#D5E1DA;
      --salvia-suave:#E8F1EC; --salvia-profunda:#356D5E;
      --max:1168px; --gutter:clamp(20px,4.8vw,62px);
      --radius:18px; --section:clamp(66px,7.6vw,112px);
    }
    *,*::before,*::after { box-sizing:border-box }
    /* SCROLL: evita que CSS de temas/builders deixe a landing presa a 100vh
       ou desative o deslocamento vertical. Não usar overflow:clip na shell. */
    html { scroll-behavior:smooth; scroll-padding-top:24px; overflow-y:auto!important; overflow-x:clip!important; height:auto!important; max-height:none!important; }
    html:has(body.mp-mqs-page) { overflow-y:auto!important; overflow-x:clip!important; }
    body.mp-mqs-page { overflow-y:visible!important; overflow-x:clip!important; height:auto!important; max-height:none!important; position:static!important; touch-action:pan-y pinch-zoom!important; min-height:100vh; }
    @supports not (overflow:clip) {
      html { overflow-x:hidden!important; }
      body.mp-mqs-page { overflow-x:hidden!important; }
    }
    body.mp-mqs-page { margin:0; font-family:Montserrat,Arial,Helvetica,sans-serif; color:var(--grafite); background:var(--marfim); -webkit-font-smoothing:antialiased }
    img,svg { display:block; max-width:100% }
    a { color:inherit }
    button,input { font:inherit }
    button { cursor:pointer }
    p,h1,h2,h3,ul { margin-top:0 }
    p { line-height:1.58 }
    h1,h2,h3 { color:var(--azul); letter-spacing:-.043em }
    h1 { font-size:clamp(2.55rem,4.1vw,4.3rem); line-height:1.075; font-weight:800; margin-bottom:22px; text-wrap:balance }
    h2 { font-size:clamp(2rem,3.2vw,3.06rem); line-height:1.17; font-weight:800; margin-bottom:20px; text-wrap:balance }
    h3 { font-size:clamp(1.07rem,1.6vw,1.28rem); line-height:1.33; font-weight:700; margin-bottom:9px }
    :focus-visible { outline:3px solid var(--coral); outline-offset:4px }
    ::selection { background:#EEC9BF; color:var(--azul) }
    .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }
    .skip-link { position:fixed; z-index:100; top:-100px; left:14px; padding:12px 18px; background:var(--papel) }
    .skip-link:focus { top:12px }
    /* A caixa principal ocupa TODA a viewport; apenas .wrap limita o texto.
       Retirar o max-width antigo impedia os fundos de preencher ecrãs largos. */
    body.mp-mqs-page .mp-mqs-shell { width:100%; max-width:none; min-height:100vh; margin:0; overflow:visible!important; background:var(--papel); }
    .wrap { width:min(calc(100% - 2*var(--gutter)),var(--max)); margin-inline:auto }
    .section { padding-block:var(--section) }
    .kicker { margin:0 0 21px; color:var(--salvia-profunda); font-size:.72rem; line-height:1.5; letter-spacing:.155em; font-weight:800; text-transform:uppercase }
    .section-lead { max-width:58ch; font-size:clamp(1rem,1.26vw,1.1rem); color:var(--muted); line-height:1.6 }
    .short { max-width:54ch }
    .small { font-size:.85rem; line-height:1.56 }
    .accent { color:var(--salvia-profunda) }
    .icon { width:26px; height:26px; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; fill:none; flex-shrink:0 }
    .icon--sm { width:17px; height:17px }
    .icon--lg { width:32px; height:32px }
    .btn { display:inline-flex; justify-content:center; align-items:center; gap:13px; min-height:53px; padding:15px 22px; border:2px solid transparent; border-radius:9px; background:var(--coral); color:var(--azul-forte); font-size:.93rem; line-height:1.25; font-weight:800; text-align:center; text-decoration:none; transition:background .18s,transform .18s,box-shadow .18s }
    .btn:hover { background:#E68A75; transform:translateY(-1px); box-shadow:0 8px 19px #16324F1C }
    .btn:disabled { cursor:wait; opacity:.65; transform:none }
    .btn .icon { width:20px; height:20px }
    .btn--light { color:var(--azul); background:var(--papel) }
    .btn--light:hover { background:var(--marfim) }
    .dev-note { padding:8px 20px; text-align:center; font-size:.74rem; line-height:1.5; background:#F8E7D5; color:#593D2B }

    /* Cabeçalho: copy nunca faz parte do logótipo; ficheiro oficial. */
    .header { position:relative; z-index:30; background:var(--papel); border-bottom:1px solid #E3EAE3 }
    .header__inner { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:22px }
    .brand { flex:0 0 auto; display:inline-flex; align-items:center }
    .brand img { display:block; width:320px; height:auto }
    .nav { display:flex; align-items:center; gap:clamp(14px,2.1vw,30px); margin-left:auto }
    .nav a { white-space:nowrap; text-decoration:none; font-size:.79rem; font-weight:600 }
    .nav a:hover { color:var(--salvia-profunda) }
    .header .btn { min-height:44px; padding:10px 17px; font-size:.78rem }
    .menu-toggle,.mobile-nav { display:none }

    /* 01 HERO: imagem 100% FOTO, texto 100% HTML. */
    .hero { padding:clamp(33px,4vw,54px) 0 28px }
    .hero__grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:clamp(36px,4vw,65px); align-items:center }
    .hero__copy { padding-block:14px }
    .hero__copy .kicker { margin-bottom:20px }
    .hero__lead { color:var(--azul); font-size:clamp(1.03rem,1.42vw,1.18rem); line-height:1.57; max-width:53ch; margin-bottom:25px }
    .hero__trust { display:flex; gap:8px; align-items:center; margin:13px 0 0; color:#4A5D61; font-size:.76rem; line-height:1.5 }
    .hero__trust svg { color:var(--salvia-profunda) }
    .hero__photo { min-width:0; aspect-ratio:1/1.04; background:#CDD4CD url('assets/hero-desktop-v2.webp') 51% 45%/cover no-repeat; border-radius:15px; overflow:hidden }
    .facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:30px; padding:19px 0 5px }
    .facts__item { display:flex; align-items:center; justify-content:center; gap:13px; color:var(--azul); min-height:46px; padding:4px 13px }
    .facts__item+.facts__item { border-left:1px solid #B3C8C0 }
    .facts__item svg { color:var(--salvia-profunda) }
    .facts strong { font-size:.87rem; line-height:1.3; letter-spacing:-.02em }

    /* 02 Identificação: grafismo simples é CSS (não gastar budget numa imagem). */
    .recognition { background:var(--marfim) }
    .recognition__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.83fr); gap:clamp(45px,8vw,136px); align-items:center }
    .recognition h2 { max-width:17ch }
    .recognition p:not(.kicker) { max-width:51ch; font-size:1.03rem; color:#3D4B52; margin-bottom:19px }
    .recognition p:last-of-type { margin-bottom:0 }
    .recognition__card { border:1px solid #D7E3D8; border-radius:19px; padding:39px 37px; background:#FFFEFB; box-shadow:0 18px 43px #16324F09 }
    .recognition__card .lines { display:flex; gap:8px; margin-bottom:30px }
    .recognition__card .lines span { display:block; width:34px; height:4px; background:var(--salvia); border-radius:5px }
    .recognition__card .lines span:first-child { background:var(--coral); width:49px }
    .recognition__quote { max-width:15ch; font-size:clamp(1.55rem,2.1vw,2.12rem); line-height:1.27; font-weight:800; letter-spacing:-.04em; color:var(--azul) }
    .recognition__footer { border-top:1px solid var(--linha); padding-top:18px; margin:27px 0 0; color:#425C54; font-size:.82rem; font-weight:700; line-height:1.6 }

    /* 03 Desejo */
    .possibility { background:var(--papel) }
    .possibility__header { max-width:770px; margin-bottom:35px }
    .possibility h2 { max-width:21ch }
    .benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px }
    .benefit { background:#F3F7F3; border:1px solid #E0EAE3; border-radius:15px; padding:27px 25px 30px }
    .benefit__marker { display:grid; place-items:center; height:42px; width:42px; margin-bottom:30px; border-radius:11px; background:#DFEEE5; color:var(--salvia-profunda) }
    .benefit h3 { max-width:19ch; font-size:1.2rem }
    .benefit p { margin:0; max-width:36ch; color:#48575F; font-size:.87rem; line-height:1.6 }
    .possibility__closer { font-size:clamp(1.09rem,1.56vw,1.3rem); line-height:1.55; color:var(--azul); font-weight:700; margin:32px 0 0; max-width:68ch }

    /* 04 Processo: azul HTML + cidade PNG alfa; fundo NÃO é imagem azul. */
    .process { position:relative; isolation:isolate; overflow:hidden; background:var(--azul); color:#fff }
    /* PNG RGBA ocupa a secção TODA; o artwork continua na base do ficheiro.
       cover garante cobertura sem faixas nos ecrãs desktop ultrawide. */
    .process::before { content:""; position:absolute; pointer-events:none; z-index:0; inset:0; opacity:.40; background-image:url('assets/percurso-desktop.webp'); background-position:center bottom; background-size:cover; background-repeat:no-repeat }
    .process__inner { position:relative; z-index:1 }
    .process .kicker { color:#BCD7C9 }
    .process h2 { color:#fff; max-width:18ch }
    .process__intro { max-width:62ch; color:#E2EAE4; font-size:1rem; margin-bottom:33px }
    .steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 }
    .step { padding:0 29px; border-left:1px solid #A7C7C083 }
    .step:first-child { padding-left:0; border:0 }
    .step__number { font-size:1.75rem; line-height:1.1; font-weight:800; color:#F29A84; margin-bottom:16px }
    .step h3 { color:#fff; font-size:1.55rem; margin-bottom:9px }
    .step p { margin:0; max-width:30ch; font-size:.91rem; color:#E3EBE6 }
    .process__foot { padding-top:29px; margin:35px 0 0; border-top:1px solid #93B0B17B; color:#D7E4DC; font-size:.85rem; max-width:70ch }

    /* 05 Valor percebido: foto de fundo total e apenas 3 entregas. */
    .value__grid { display:grid; grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr); gap:clamp(40px,6vw,90px); align-items:center }
    .value h2 { max-width:16ch }
    .value__intro { max-width:50ch; color:var(--muted); font-size:.95rem }
    .value__photo { height:clamp(280px,30vw,372px); border-radius:14px; background:#C4D1C7 url('assets/plano-desktop.webp') 50% 50%/cover no-repeat; margin-top:26px }
    .value-list { border-left:1px solid #C5D8CE; padding-left:28px }
    .value-item { display:grid; grid-template-columns:28px 1fr; gap:16px; padding:21px 0 }
    .value-item+.value-item { border-top:1px solid var(--linha) }
    .value-item svg { color:var(--salvia-profunda) }
    .value-item h3 { font-size:1.04rem; margin-bottom:5px }
    .value-item p { color:var(--muted); font-size:.88rem; line-height:1.57; margin:0; max-width:40ch }
    .value__closer { color:var(--azul); font-size:.9rem; font-weight:700; line-height:1.58; max-width:51ch; margin:10px 0 23px }

    /* 06 Pré-qualificação sem triagem clínica nem diagnósticos. */
    .fit { background:var(--salvia-suave) }
    .fit__grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(40px,6vw,90px); align-items:start }
    .fit h2 { max-width:17ch }
    .fit__intro { color:#405956; max-width:53ch; font-size:1rem }
    .fit__aside { margin-top:27px; max-width:50ch; border-left:3px solid var(--salvia-profunda); padding-left:17px; color:#385650; font-size:.84rem; line-height:1.6 }
    .fit__aside strong { display:block; color:var(--azul); margin-bottom:4px }
    .fit__box { background:var(--papel); border:1px solid #CEDFD5; border-radius:17px; padding:27px 30px 29px }
    .fit__box h3 { margin-bottom:23px }
    .fit__list { list-style:none; margin:0 0 26px; padding:0 }
    .fit__list li { display:grid; grid-template-columns:23px 1fr; gap:12px; font-size:.9rem; line-height:1.52; padding:12px 0; border-bottom:1px solid #E4EEE8 }
    .fit__list svg { color:var(--salvia-profunda); margin-top:1px }
    .fit__box .btn { width:100% }

    /* 07 Autonomia: grafismo CSS + nada de fotografias artificiais de família. */
    .autonomy__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:clamp(36px,8vw,115px) }
    .autonomy h2 { max-width:15ch }
    .autonomy__intro { font-size:1rem; color:var(--muted); max-width:48ch }
    .autonomy__badge { margin-top:29px; display:inline-flex; gap:10px; align-items:center; color:var(--salvia-profunda); border-radius:10px; padding:12px 15px; background:var(--salvia-suave); font-size:.85rem; line-height:1.5; font-weight:700 }
    .autonomy__rules { border-top:1px solid var(--linha) }
    .autonomy__rule { display:grid; grid-template-columns:39px 1fr; gap:15px; padding:23px 0; border-bottom:1px solid var(--linha) }
    .autonomy__rule svg { color:var(--salvia-profunda) }
    .autonomy__rule h3 { font-size:1.02rem; margin-bottom:6px }
    .autonomy__rule p { margin:0; color:var(--muted); font-size:.87rem; max-width:46ch }

    /* 08 Profissional: NÃO colocar uma cara inventada. Só foto real autorizada. */
    .professional { background:var(--marfim) }
    .professional__grid { display:grid; grid-template-columns:minmax(0,.77fr) minmax(0,1.23fr); gap:clamp(38px,7vw,102px); align-items:center }
    .professional__visual { position:relative; min-height:350px; border-radius:17px; background:linear-gradient(155deg,#D5E4DB,#F1F6F0); display:grid; place-items:center; border:1px solid #D7E5DA; overflow:hidden }
    .professional__placeholder { padding:20px; text-align:center; color:#476E60; max-width:240px }
    .professional__placeholder img { margin:0 auto 18px; width:78px; height:78px; object-fit:contain }
    .professional__placeholder span { display:block; font-size:.79rem; line-height:1.6; font-weight:700 }
    .professional h2 { max-width:20ch }
    .professional__copy p:not(.kicker) { color:var(--muted); max-width:53ch; font-size:.92rem }
    .professional__real-data { background:#FFFEFB; border-left:3px solid var(--salvia); border-radius:0 9px 9px 0; padding:15px 19px; color:#35586E; font-size:.84rem; line-height:1.6; margin-top:20px }
    .professional__real-data strong { display:block; color:var(--azul) }

    /* 09 FAQ em acordeão nativo: uma pergunta por linha de leitura. */
    .faq { background:var(--papel) }
    .faq__grid { display:grid; grid-template-columns:minmax(0,.73fr) minmax(0,1.27fr); gap:clamp(40px,6vw,95px); align-items:start }
    .faq h2 { max-width:15ch }
    .faq__intro { color:var(--muted); font-size:.94rem; max-width:41ch }
    .faq__items { display:grid; gap:10px }
    .faq details { background:#F8FAF7; border:1px solid #DDE9E0; border-radius:11px }
    .faq details[open] { background:#fff; border-color:#92B5A4 }
    .faq summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; cursor:pointer; padding:19px 19px; font-size:.93rem; color:var(--azul); font-weight:700; line-height:1.46 }
    .faq summary::-webkit-details-marker { display:none }
    .faq summary::after { content:"+"; width:28px; height:28px; display:grid; place-items:center; flex-shrink:0; border-radius:50%; font-size:1.32rem; font-weight:500; background:#E4EFE9; color:var(--salvia-profunda) }
    .faq details[open] summary::after { content:"−" }
    .faq details p { max-width:65ch; font-size:.88rem; color:var(--muted); padding:0 19px 20px; margin:0 }

    /* 10 CTA FINAL: PNG alfa em camada que ocupa a secção; arte aparece na margem inferior. */
    .closing { position:relative; isolation:isolate; overflow:hidden; background:#F9F7F0; text-align:center; padding:clamp(65px,7vw,104px) 0 clamp(74px,8vw,120px) }
    /* Fundo paisagístico à largura da janela, sem limite de 650px. */
    .closing::before { content:""; position:absolute; z-index:0; inset:0; opacity:.46; pointer-events:none; background-image:url('assets/fecho-desktop.webp'); background-position:center bottom; background-size:cover; background-repeat:no-repeat }
    .closing .wrap { position:relative; z-index:1 }
    .closing h2 { max-width:21ch; margin-inline:auto }
    .closing .section-lead { margin-inline:auto; max-width:62ch }
    .closing__note { color:var(--azul); font-size:.9rem; font-weight:700; margin:20px auto 23px }
    .closing__micro { font-size:.77rem; color:var(--muted); margin:12px auto 0; max-width:58ch }

    /* 11 Formulário: envio nativo para admin-post.php, validado pelo plugin. */
    .form-section { background:var(--azul); color:var(--papel); padding-block:clamp(62px,6.5vw,95px) }
    .form-section__grid { display:grid; grid-template-columns:minmax(0,.79fr) minmax(0,1.21fr); gap:clamp(40px,6vw,93px); align-items:start }
    .form-section .kicker { color:#BDD8CA }
    .form-section h2 { color:#fff; max-width:16ch }
    .form-section__intro { max-width:46ch; color:#D8E6E0; font-size:.98rem }
    .form-section__quiet { border-top:1px solid #9AB8B477; margin-top:28px; padding-top:19px; font-size:.79rem; max-width:44ch; color:#D3E1DD }
    .lead-form { border-radius:17px; background:var(--papel); padding:31px; color:var(--grafite); box-shadow:0 15px 42px #05182A33 }
    .lead-form fieldset { border:0; margin:0; padding:0 0 19px; min-width:0 }
    .lead-form fieldset+fieldset { padding-top:17px; border-top:1px solid var(--linha) }
    .lead-form legend { font-size:.9rem; font-weight:700; letter-spacing:-.017em; color:var(--azul); padding:0; margin-bottom:13px; width:100%; line-height:1.47 }
    .lead-form legend span { color:var(--salvia-profunda); padding-right:6px }
    .options { display:grid; grid-template-columns:1fr 1fr; gap:9px }
    .option { position:relative; cursor:pointer; min-width:0 }
    .option input { position:absolute; opacity:0; width:1px; height:1px }
    .option span { display:flex; align-items:center; gap:9px; padding:12px; height:100%; min-height:48px; border:1px solid #CDDCD4; border-radius:8px; font-size:.78rem; line-height:1.45; color:#324B59; transition:background .15s,border-color .15s }
    .option span::before { content:""; flex-shrink:0; display:block; width:16px; height:16px; border-radius:50%; border:1.5px solid #709789; background:#fff }
    .option input:checked+span { background:#E8F3EC; border-color:#3B806D; color:var(--azul); font-weight:700 }
    .option input:checked+span::before { border:5px solid var(--salvia-profunda) }
    .option input:focus-visible+span { outline:3px solid var(--coral); outline-offset:3px }
    .field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:0 0 20px }
    .field label { display:block; font-size:.84rem; font-weight:700; color:var(--azul); margin:0 0 8px }
    .field input { width:100%; min-height:48px; padding:12px 13px; border:1px solid #B8CFC1; border-radius:8px; background:#fff; color:var(--azul); font-size:.9rem }
    .field input:focus { border-color:var(--salvia-profunda) }
    .field .help { color:#617078; font-size:.7rem; margin:7px 0 0 }
    .consent { display:grid; grid-template-columns:18px 1fr; gap:9px; align-items:start; margin:0 0 20px; color:#43535C; font-size:.76rem; line-height:1.5; cursor:pointer }
    .consent input { accent-color:var(--salvia-profunda); margin:3px 0 0; width:17px; height:17px }
    .consent a { color:var(--azul); font-weight:700; text-underline-offset:3px }
    .lead-form .btn { width:100% }
    .lead-form__micro { color:#607077; font-size:.7rem; line-height:1.5; margin:10px 0 0 }
    .form-response { display:none; margin:14px 0 0; padding:15px; border-radius:9px; border:1px solid #B97865; background:#FFF4E8; color:#5A382B; font-size:.83rem; line-height:1.55; }
    .form-response.show { display:block }
    .form-response.success { background:#E9F5EA; border-color:#76A885; color:#24503D }
    .hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none }

    .footer { background:var(--papel); border-top:1px solid #DAE5DC; padding:33px 0 39px }
    .footer__top { display:grid; grid-template-columns:290px 1fr 1fr; gap:35px; align-items:center }
    .footer__top img { width:280px; height:auto }
    .footer__top p { color:#485B60; font-size:.72rem; line-height:1.65; margin:0 }
    .footer__top p+p { border-left:1px solid var(--linha); padding-left:30px }
    .footer__bottom { border-top:1px solid #E3EBE4; margin-top:25px; padding-top:20px; display:flex; gap:20px; justify-content:space-between; flex-wrap:wrap; color:#62716E; font-size:.7rem; line-height:1.6 }
    .footer__bottom a { text-underline-offset:3px }
    .mobile-dock { display:none }

    @media(max-width:1050px) {
      :root { --gutter:32px }
      .brand img { width:282px }
      .nav { gap:15px }
      .hero__grid { gap:28px }
      h1 { font-size:clamp(2.4rem,4.3vw,3.7rem) }
      .recognition__grid,.value__grid,.fit__grid,.autonomy__grid,.professional__grid,.faq__grid,.form-section__grid { gap:37px }
    }
    @media(max-width:760px) {
      :root { --gutter:21px; --section:61px }
      html { scroll-padding-top:16px }
      h1 { font-size:clamp(2.14rem,8.25vw,3.25rem); line-height:1.11; margin-bottom:15px }
      h2 { font-size:clamp(1.86rem,7.1vw,2.42rem); line-height:1.17; margin-bottom:16px }
      h3 { font-size:1.06rem }
      .kicker { font-size:.66rem; margin-bottom:14px }
      .section-lead { font-size:.94rem }
      .dev-note { font-size:.69rem; padding-inline:12px }
      .header { position:relative }
      .header__inner { min-height:74px }
      .brand img { width:min(265px,calc(100vw - 110px)) }
      .nav,.header__inner>.btn { display:none }
      .menu-toggle { display:grid; place-items:center; height:44px; width:44px; color:var(--azul); border:1px solid #CBDDD1; background:transparent; border-radius:9px }
      .mobile-nav { position:absolute; top:100%; left:0; right:0; z-index:45; padding:5px var(--gutter) 20px; background:var(--papel); box-shadow:0 14px 26px #16324F22; border-top:1px solid var(--linha) }
      .mobile-nav.open { display:grid }
      .mobile-nav a:not(.btn) { display:block; padding:15px 4px; text-decoration:none; font-size:.89rem; font-weight:700; border-bottom:1px solid #DFE8E0 }
      .mobile-nav .btn { margin-top:15px; width:100%; font-size:.84rem }
      .hero { padding:28px 0 13px }
      .hero__grid { display:flex; flex-direction:column; align-items:stretch; gap:24px }
      .hero__copy { padding:0 }
      .hero__lead { font-size:.96rem; line-height:1.6; margin-bottom:20px }
      .hero__copy .btn { width:100%; font-size:.87rem }
      .hero__trust { font-size:.73rem }
      .hero__photo { aspect-ratio:auto; height:clamp(275px,78vw,412px); background-image:url('assets/hero-mobile-v2.webp'); background-position:50% 43%; border-radius:12px }
      .facts { margin-top:12px; padding:17px 0 10px }
      .facts__item { display:grid; justify-items:center; align-content:start; gap:6px; min-height:79px; padding:0 5px; text-align:center }
      .facts__item svg { width:24px; height:24px }
      .facts strong { font-size:.69rem; line-height:1.34 }
      .recognition__grid,.fit__grid,.autonomy__grid,.professional__grid,.faq__grid,.form-section__grid { grid-template-columns:1fr; gap:25px }
      .recognition p:not(.kicker) { font-size:.94rem; margin-bottom:14px }
      .recognition__card { padding:26px 25px }
      .recognition__card .lines { margin-bottom:20px }
      .recognition__quote { font-size:1.55rem; max-width:19ch }
      .recognition__footer { margin-top:22px; font-size:.8rem }
      .possibility__header { margin-bottom:25px }
      .benefits { grid-template-columns:1fr; gap:11px }
      .benefit { padding:21px 21px; display:grid; grid-template-columns:41px 1fr; gap:0 15px; align-items:start }
      .benefit__marker { margin-bottom:0; height:40px; width:40px; grid-row:1/3 }
      .benefit h3 { margin:0 0 4px }
      .benefit p { font-size:.94rem }
      .possibility__closer { font-size:1.01rem; margin-top:25px }
      .process::before { inset:0; width:auto; height:auto; opacity:.30; background-image:url('assets/percurso-mobile.webp'); background-position:center bottom; background-size:cover }
      .process__intro { font-size:.88rem; margin-bottom:24px }
      .steps { grid-template-columns:1fr; gap:20px }
      .step,.step:first-child { padding:0 0 0 18px; border:0; border-left:1px solid #A7C7C083; margin-left:5px }
      .step__number { font-size:1.55rem; margin-bottom:6px }
      .step h3 { font-size:1.28rem; margin-bottom:5px }
      .step p { font-size:.94rem; max-width:42ch }
      .process__foot { font-size:.76rem; margin-top:28px; padding-top:18px }
      .value__grid { display:flex; flex-direction:column; align-items:stretch; gap:23px }
      .value__intro { font-size:.88rem }
      .value__photo { height:clamp(205px,57vw,340px); background-image:url('assets/plano-mobile.webp'); margin-top:20px }
      .value-list { padding:0; border:0 }
      .value-item { padding:16px 0; gap:12px }
      .value-item h3 { font-size:.96rem }
      .value-item p { font-size:.94rem }
      .value__closer { font-size:.86rem; margin-bottom:19px }
      .value__grid .btn { width:100%; font-size:.83rem }
      .fit__intro { font-size:.9rem }
      .fit__aside { font-size:.79rem; margin-top:22px }
      .fit__box { padding:22px 19px }
      .fit__box h3 { font-size:1rem; margin-bottom:17px }
      .fit__list li { font-size:.94rem; gap:9px; padding:11px 0 }
      .fit__box .btn { font-size:.83rem }
      .autonomy__intro { font-size:.91rem }
      .autonomy__badge { font-size:.79rem; margin-top:18px }
      .autonomy__rule { padding:19px 0; gap:10px }
      .autonomy__rule p { font-size:.94rem }
      .professional__visual { min-height:0; aspect-ratio:1.7; }
      .professional__copy p:not(.kicker) { font-size:.94rem }
      .professional__real-data { font-size:.79rem }
      .faq__intro { font-size:.86rem }
      .faq summary { padding:17px 14px; font-size:.86rem }
      .faq details p { padding:0 14px 18px; font-size:.94rem }
      .closing { padding:69px 0 89px }
      .closing::before { inset:0; width:auto; height:auto; opacity:.31; background-image:url('assets/fecho-mobile.webp'); background-position:center bottom; background-size:cover }
      .closing h2 { max-width:20ch }
      .closing__note { font-size:.83rem }
      .closing .btn { width:100%; font-size:.85rem }
      .closing__micro { font-size:.73rem }
      .form-section__intro { font-size:.91rem }
      .form-section__quiet { margin-top:18px; font-size:.74rem }
      .lead-form { padding:23px 17px; }
      .options { grid-template-columns:1fr }
      .option span { min-height:45px; padding:10px 12px; font-size:.9rem }
      .field-row { grid-template-columns:1fr; gap:14px }
      .lead-form legend { font-size:.86rem }
      .footer { padding:28px 0 102px }
      .footer__top { grid-template-columns:1fr; gap:15px }
      .footer__top img { width:min(265px,75vw) }
      .footer__top p+p { border:0; padding:0 }
      .mobile-dock { display:flex; position:fixed; z-index:40; left:0; right:0; bottom:0; padding:10px 15px calc(10px + env(safe-area-inset-bottom)); background:#FFFEFBEF; border-top:1px solid #D8E6DE; backdrop-filter:blur(12px); transform:translateY(120%); transition:transform .23s }
      .mobile-dock.visible { transform:translateY(0) }
      .mobile-dock .btn { width:100%; min-height:46px; padding:10px 16px; font-size:.84rem }
    }
    @media(max-width:370px) {
      :root { --gutter:16px }
      .brand img { width:min(230px,calc(100vw - 104px)) }
      h1 { font-size:2.05rem }
      .facts strong { font-size:.64rem }
      .btn { font-size:.82rem }
    }
    @media(prefers-reduced-motion:reduce) {
      html { scroll-behavior:auto }
      *,*::before,*::after { transition:none !important; animation:none !important }
    }

/* ===============================================================
   V1.2 — Fundos recompostos com as novas imagens de cada bloco.
   Textos e botões continuam em HTML para SEO, acessibilidade e UX.
   =============================================================== */
body.mp-mqs-page .possibility {
  position:relative; isolation:isolate; overflow:hidden; background:#F9F7F0;
}
body.mp-mqs-page .possibility::before {
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:#F9F7F0 url('assets/possibilidade-desktop.webp') center 49%/cover no-repeat;
}
body.mp-mqs-page .possibility::after {
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(95deg,rgba(255,254,251,.94) 0%,rgba(255,254,251,.90) 35%,rgba(255,254,251,.77) 70%,rgba(255,254,251,.65) 100%);
}
body.mp-mqs-page .possibility>.wrap { position:relative; z-index:1; }
body.mp-mqs-page .benefit {
  background:rgba(255,254,251,.94); border-color:rgba(214,226,217,.95);
  box-shadow:0 12px 33px rgba(22,50,79,.075);
}
body.mp-mqs-page .possibility__closer { background:#FFFEFBE8; border-left:3px solid var(--coral); padding:11px 16px; max-width:64ch; }

/* O bloco 4 usa IMAGEM DE FUNDO TOTAL azul, não PNG alfa por cima de outro azul. */
body.mp-mqs-page .process {
  background-color:#16324F; isolation:isolate;
}
body.mp-mqs-page .process::before {
  inset:0; width:100%; height:100%; opacity:1;
  background-image:url('assets/percurso-desktop.webp');
  background-size:cover; background-position:center bottom;
}
body.mp-mqs-page .process::after {
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(17,42,67,.17),rgba(17,42,67,.04));
}
body.mp-mqs-page .process .wrap { position:relative; z-index:1; }

/* Bloco 7: recorte COM ALFA, encaixe proporcional na base/direita.
   Nunca usar background-size:cover para os retratos recortados. */
body.mp-mqs-page .autonomy {
  position:relative; isolation:isolate; overflow:hidden; background:#FFFEFB;
}
body.mp-mqs-page .autonomy::before {
  content:""; position:absolute; z-index:0; pointer-events:none; inset:0;
  background-image:url('assets/autonomia-desktop.webp');
  background-repeat:no-repeat; background-size:auto min(118%,1080px);
  background-position:right 14px bottom; opacity:.40;
}
body.mp-mqs-page .autonomy::after {
  content:""; position:absolute; z-index:0; inset:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(255,254,251,.92) 0%,rgba(255,254,251,.82) 40%,rgba(255,254,251,.52) 67%,rgba(255,254,251,.18) 100%);
}
body.mp-mqs-page .autonomy>.wrap { position:relative; z-index:1; }
body.mp-mqs-page .autonomy__rules {
  background:rgba(255,254,251,.85); border-radius:14px;
  padding:5px 22px; box-shadow:0 11px 39px rgba(22,50,79,.06);
}
body.mp-mqs-page .autonomy__rule:last-child { border-bottom:0; }
body.mp-mqs-page .autonomy__badge { background:rgba(232,241,236,.96); }

/* CTA final: paisagem completa, com fade para dar contraste ao texto. */
body.mp-mqs-page .closing { background:#F9F7F0; }
body.mp-mqs-page .closing::before {
  background-image:url('assets/fecho-desktop.webp');
  background-size:cover; background-position:center bottom; opacity:1;
}
body.mp-mqs-page .closing::after {
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(180deg,rgba(255,254,251,.89) 0%,rgba(255,254,251,.81) 45%,rgba(255,254,251,.32) 100%);
}
body.mp-mqs-page .closing>.wrap { z-index:1; }

/* Página independente /conversa-de-adequacao/ */
.mp-mqs-form-page .header__inner { justify-content:space-between; }
.form-back-link { text-decoration:none; font-weight:700; font-size:.88rem; color:var(--azul); }
.form-back-link:hover,.form-page-return:hover { color:var(--salvia-profunda); }
.mp-mqs-form-page .header { background:#112A43; border-bottom:1px solid rgba(255,255,255,.12); }
.mp-mqs-form-page .header .brand img { filter:none; }
.mp-mqs-form-page .form-back-link { color:#E6EFEA; }
.mp-mqs-form-page .form-back-link:hover,.mp-mqs-form-page .form-page-return:hover { color:#FFFFFF; }
.form-page-main {
  min-height:calc(100vh - 198px); background:radial-gradient(circle at 85% 0%, rgba(56,92,126,.34) 0%, rgba(56,92,126,0) 25%), linear-gradient(180deg,#16324F 0%,#112A43 100%);
  padding:clamp(42px,5.2vw,79px) 0 clamp(65px,8vw,112px);
}
.form-page-grid { display:grid; grid-template-columns:minmax(0,.80fr) minmax(0,1.20fr); align-items:start; gap:clamp(34px,5.7vw,88px); }
.form-page-copy { position:sticky; top:50px; padding-top:29px; }
.form-page-copy { color:#F5F1E8; }
.form-page-copy .kicker { color:#BDD8CA; }
.form-page-copy h1 { max-width:13ch; font-size:clamp(2.2rem,3.45vw,3.45rem); color:#fff; }
.form-page-copy>p:not(.kicker) { max-width:40ch; font-size:1.06rem; color:#D9E6E1; }
.form-page-assurance { background:rgba(232,241,236,.12); border-left:3px solid #BDD8CA; padding:17px 21px; border-radius:0 12px 12px 0; max-width:43ch; margin:31px 0; backdrop-filter:blur(3px); }
.form-page-assurance strong,.form-page-assurance span { display:block; font-size:.88rem; line-height:1.65; }
.form-page-assurance strong { color:#fff; margin-bottom:4px; }
.form-page-return { font-size:.86rem; color:#E6EFEA; font-weight:700; text-underline-offset:4px; }
.form-page-card { min-width:0; }
.mp-mqs-form-page .lead-form { padding:clamp(24px,3.9vw,45px); border:1px solid rgba(215,229,218,.55); box-shadow:0 20px 56px rgba(4,19,34,.30); }
.mp-mqs-form-page .lead-form fieldset { padding-top:17px; }
.mp-mqs-form-page .lead-form fieldset+fieldset { margin-top:12px; }
.mp-mqs-form-page .lead-form legend { font-size:.94rem; }
.mp-mqs-form-page .lead-form .options { gap:9px; }
.mp-mqs-form-page .lead-form .option span { font-size:.89rem; padding:13px 14px; }
.mp-mqs-form-page .lead-form .field-row { margin-top:27px; }
.mp-mqs-form-page .lead-form .lead-form__micro { font-size:.77rem; }
.mp-mqs-form-page .mp-privacy-mini { font-size:.74rem; }
.wizard-progress { display:flex; justify-content:space-between; gap:10px; align-items:center; font-size:.77rem; font-weight:700; color:#587067; }
.wizard-progress__hint { display:block; margin-top:6px; font-size:.72rem; color:#6A7C7A; }
.wizard-progress__track { height:5px; border-radius:5px; background:#E3EEE7; overflow:hidden; margin:12px 0 28px; }
.wizard-progress__track span { display:block; background:var(--salvia-profunda); width:33.333%; height:100%; border-radius:5px; transition:width .24s; }
.wizard-kicker { color:var(--salvia-profunda); font-size:.73rem; font-weight:800; text-transform:uppercase; letter-spacing:.10em; }
.step-anchor { position:relative; top:-12px; }
.mp-mqs-form-page .lead-step h2 { font-size:clamp(1.45rem,2.15vw,2.1rem); line-height:1.2; margin-bottom:11px; }
.wizard-lead { font-size:.87rem; color:var(--muted); max-width:46ch; margin-bottom:20px; }
.mp-js .lead-step { display:none; opacity:0; transform:translateX(28px); }
.mp-js .lead-step.active { display:block; opacity:1; transform:none; animation:slideFromRight .24s ease; }
.wizard-actions { display:none !important; }
.wizard-error { border:1px solid #D97961; color:#663622; background:#FFF2E8; padding:13px 15px; margin-bottom:22px; font-size:.85rem; border-radius:9px; }
.wizard-error[hidden] { display:none; }
.wizard-actions--last { justify-content:flex-start; margin-top:5px; }
.wizard-success { border-radius:18px; padding:clamp(28px,4vw,60px); background:#fff; border:1px solid #D7E5DA; box-shadow:0 18px 55px #16324F1F; }
.wizard-success__mark { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:#E8F2E9; color:#356D5E; font-size:1.8rem; margin-bottom:24px; }
.wizard-success h2 { font-size:clamp(1.85rem,2.7vw,2.9rem); }
.wizard-success p { color:var(--muted); max-width:47ch; }
.wizard-success .btn { margin-top:12px; }
.footer--compact { padding:22px 0 25px; background:#10263C; border-top:1px solid rgba(255,255,255,.10); }
.footer--compact .wrap { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px 28px; }
.footer--compact p { margin:0; color:#D4E1DC; font-size:.74rem; line-height:1.7; }
.footer--compact a { font-weight:700; color:#fff; }

@media(max-width:1050px) {
  .form-page-grid { gap:40px; }
  .form-page-copy { position:static; }
}
@media(max-width:760px) {
  body.mp-mqs-page .possibility::before {
    background-image:url('assets/possibilidade-mobile.webp');
    background-position:center 72%; background-size:cover;
  }
  body.mp-mqs-page .possibility::after {
    background:linear-gradient(180deg,rgba(255,254,251,.94) 0%,rgba(255,254,251,.91) 42%,rgba(255,254,251,.83) 80%,rgba(255,254,251,.80) 100%);
  }
  body.mp-mqs-page .benefit { background:rgba(255,254,251,.96); }
  body.mp-mqs-page .process::before {
    background-image:url('assets/percurso-mobile.webp'); background-size:cover;
    background-position:center bottom; opacity:1;
  }
  body.mp-mqs-page .process::after { background:linear-gradient(180deg,rgba(17,42,67,.17),rgba(17,42,67,.04)); }
  body.mp-mqs-page .autonomy::before {
    background-image:url('assets/autonomia-mobile.webp');
    background-size:min(100%,560px) auto; background-position:center bottom; opacity:.34;
  }
  body.mp-mqs-page .autonomy::after { background:linear-gradient(180deg,rgba(255,254,251,.97),rgba(255,254,251,.90) 48%,rgba(255,254,251,.72) 68%,rgba(255,254,251,.38) 100%); }
  body.mp-mqs-page .autonomy__rules { padding:0 16px; background:rgba(255,254,251,.90); }
  body.mp-mqs-page .closing::before {
    background-image:url('assets/fecho-mobile.webp'); background-size:cover;
    background-position:center bottom; opacity:1;
  }
  body.mp-mqs-page .closing::after { background:linear-gradient(180deg,rgba(255,254,251,.94) 0%,rgba(255,254,251,.91) 51%,rgba(255,254,251,.52) 100%); }
  .form-back-link { font-size:.73rem; max-width:110px; text-align:right; line-height:1.45; }
  .form-page-main { padding:33px 0 60px; }
  .form-page-grid { grid-template-columns:1fr; gap:22px; }
  .form-page-copy { padding:0; }
  .form-page-copy h1 { font-size:clamp(2rem,8vw,2.9rem); margin-bottom:13px; }
  .form-page-copy>p:not(.kicker) { font-size:.91rem; }
  .form-page-assurance { margin:20px 0 15px; padding:12px 15px; }
  .form-page-assurance strong,.form-page-assurance span { font-size:.78rem; }
  .form-page-return { font-size:.75rem; }
  .mp-mqs-form-page .lead-form { padding:23px 19px; }
  .mp-mqs-form-page .lead-step h2 { font-size:1.55rem; }
  .mp-mqs-form-page .lead-form .field-row { margin-top:22px; }
  .wizard-progress { font-size:.71rem; }
  .wizard-actions .btn { min-width:0; width:100%; }
  .footer--compact { padding-bottom:26px; }
}

/* =========== MentePrática v1.5 · rodapé partilhado e formulário sem distrações =========== */
body.mp-mqs-page .mp-site-footer {
  background:#102A42; color:#DFEAE5; border-top:1px solid rgba(255,255,255,.08); margin-top:0;
}
body.mp-mqs-page .mp-site-footer__grid {
  display:grid; grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,.8fr)); gap:36px;
  padding:42px 0 20px; align-items:start;
}
body.mp-mqs-page .mp-site-footer__logo { display:inline-flex; align-items:center; max-width:260px; text-decoration:none; }
body.mp-mqs-page .mp-site-footer__logo img { display:block; width:100%; height:auto; }
body.mp-mqs-page .mp-site-footer__about p {
  margin:15px 0 0; color:#D7E4DF; font-size:.85rem; line-height:1.7; max-width:34ch;
}
body.mp-mqs-page .mp-site-footer__nav { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
body.mp-mqs-page .mp-site-footer__nav h2 {
  margin:0; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#9CC3B4;
}
body.mp-mqs-page .mp-site-footer__nav a {
  font-size:.84rem; line-height:1.6; color:#FFFFFF; text-decoration:none; font-weight:600;
}
body.mp-mqs-page .mp-site-footer__nav a:hover,
body.mp-mqs-page .mp-site-footer__nav a:focus-visible { color:#CFE2DB; text-decoration:underline; }
body.mp-mqs-page .mp-site-footer__meta {
  padding:0 0 30px; border-top:1px solid rgba(255,255,255,.10); display:grid; gap:10px;
}
body.mp-mqs-page .mp-site-footer__meta p { margin:0; color:#D7E4DF; font-size:.74rem; line-height:1.75; }


#wizard-count{display:none !important;}

/* Link permanente para rever opções, integrado no único rodapé. */
body.mp-mqs-page .mp-footer-cookie-link{font:600 .84rem/1.6 Montserrat,Arial,sans-serif;color:#fff;background:none;border:0;padding:0;cursor:pointer;text-align:left;text-decoration:none}body.mp-mqs-page .mp-footer-cookie-link:focus-visible{outline:3px solid #d97961;outline-offset:4px}body.mp-mqs-page .mp-footer-cookie-link:hover{color:#cce5d9;text-decoration:underline;text-underline-offset:3px}

/* v1.11 — rodapé mobile compacto, sem perder links nem acessibilidade. */
@media(max-width:760px){
  body.mp-mqs-page .mp-site-footer__grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:18px;row-gap:19px;
    padding:27px 0 18px;
  }
  body.mp-mqs-page .mp-site-footer__about{grid-column:1/-1}
  body.mp-mqs-page .mp-site-footer__logo{max-width:196px}
  body.mp-mqs-page .mp-site-footer__about p{font-size:.77rem;line-height:1.48;max-width:39ch;margin:7px 0 0}
  body.mp-mqs-page .mp-site-footer__nav{gap:4px;min-width:0}
  body.mp-mqs-page .mp-site-footer__nav h2{font-size:.69rem;letter-spacing:.10em;margin-bottom:3px}
  body.mp-mqs-page .mp-site-footer__nav a,
  body.mp-mqs-page .mp-site-footer__nav .mp-footer-cookie-link{
    font-size:.76rem;line-height:1.45;min-height:33px;
    padding:6px 0;display:flex;align-items:center;
    overflow-wrap:anywhere;text-decoration:none;
  }
  body.mp-mqs-page .mp-site-footer__meta{padding:12px 0 21px;gap:5px}
  body.mp-mqs-page .mp-site-footer__meta p{font-size:.69rem;line-height:1.52}
}
@media(max-width:350px){
  body.mp-mqs-page .mp-site-footer__grid{column-gap:11px}
  body.mp-mqs-page .mp-site-footer__nav a,
  body.mp-mqs-page .mp-site-footer__nav .mp-footer-cookie-link{font-size:.72rem}
}
