
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Inter:wght@400;500;600&display=swap');
.ecoa-page--no-terreno{--verde-profundo:#0E3C39;--azul-eco:#1F6FA0;--verde-eucalipto:#4F818A;--terracota:#BE6466;--marfim:#F5FAFB;--branco:#FFFFFF;--carvao:#0A0F10;--linha:#dce9eb;--raio:14px}
  .ecoa-page--no-terreno, .ecoa-page--no-terreno *{box-sizing:border-box;margin:0;padding:0;hyphens:none !important;-webkit-hyphens:none !important}
  .ecoa-page--no-terreno{scroll-behavior:smooth}
  .ecoa-page--no-terreno{font-family:"Inter",system-ui,sans-serif;color:var(--carvao);background:var(--marfim);line-height:1.62;font-size:17px}
  .ecoa-page--no-terreno h1, .ecoa-page--no-terreno h2, .ecoa-page--no-terreno h3{font-family:"Manrope",system-ui,sans-serif;line-height:1.2;color:var(--verde-profundo);text-wrap:balance}
  .ecoa-page--no-terreno a{color:var(--azul-eco);text-decoration:none}
  .ecoa-page--no-terreno a:hover, .ecoa-page--no-terreno a:focus{text-decoration:underline}
  .ecoa-page--no-terreno a:focus-visible{outline:3px solid var(--azul-eco);outline-offset:3px}
  .ecoa-page--no-terreno img{max-width:100%;display:block}
  .ecoa-page--no-terreno .wrap{max-width:1200px;margin:0 auto;padding:0 24px}
  .ecoa-page--no-terreno .kicker{color:var(--azul-eco);font-family:"Manrope";font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:13px}
  .ecoa-page--no-terreno .hero{position:relative;padding:66px 0 48px;overflow:hidden}
  .ecoa-page--no-terreno .hero::before{content:"";position:absolute;inset:0;background:radial-gradient(110% 70% at 18% 0%,rgba(79,129,138,.16),transparent 62%),radial-gradient(90% 60% at 86% 12%,rgba(190,100,102,.08),transparent 68%);pointer-events:none}
  .ecoa-page--no-terreno .hero-grid{position:relative;display:grid;grid-template-columns:1.04fr .96fr;gap:42px;align-items:center}
  .ecoa-page--no-terreno .hero h1{font-size:clamp(34px,4.8vw,54px);font-weight:800;margin-top:12px;max-width:15ch}
  .ecoa-page--no-terreno .lead{margin-top:18px;max-width:60ch;font-size:18px;color:#2a3436}
  .ecoa-page--no-terreno .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
  .ecoa-page--no-terreno .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:var(--raio);font-family:"Manrope";font-weight:700;font-size:16px;text-align:center}
  .ecoa-page--no-terreno .btn.primary{background:var(--verde-profundo);color:var(--marfim)}
  .ecoa-page--no-terreno .btn.primary:hover{background:#0a2e2b;text-decoration:none}
  .ecoa-page--no-terreno .btn.outline{border:2px solid var(--azul-eco);color:var(--azul-eco);background:transparent}
  .ecoa-page--no-terreno .btn.outline:hover{background:rgba(31,111,160,.06);text-decoration:none}
  .ecoa-page--no-terreno .btn.whats{background:#08783D;color:#fff}
  .ecoa-page--no-terreno .btn.whats:hover{background:#178a4a;text-decoration:none}
  .ecoa-page--no-terreno .visual{background:transparent;border:none;box-shadow:none;padding:0;min-height:320px;display:flex;align-items:center;justify-content:center}
  .ecoa-page--no-terreno .visual img{max-width:100%;height:auto}
  .ecoa-page--no-terreno .intro-band{background:#fff;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);padding:34px 0}
  .ecoa-page--no-terreno .intro-band .wrap{max-width:900px;text-align:center}
  .ecoa-page--no-terreno .intro-band h2{font-size:clamp(23px,3vw,30px)}
  .ecoa-page--no-terreno .intro-band p{color:#25302f;margin-top:12px;max-width:76ch;margin-left:auto;margin-right:auto}
  .ecoa-page--no-terreno section{padding:56px 0}
  .ecoa-page--no-terreno h2.sec{font-size:clamp(25px,3.2vw,34px);margin-top:8px}
  .ecoa-page--no-terreno .sec-intro{margin-top:12px;max-width:74ch;color:#2a3436}
  .ecoa-page--no-terreno .swipe-hint{margin-top:14px;font-family:"Manrope";font-weight:700;font-size:13px;color:#456F78}
  .ecoa-page--no-terreno .news-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 2px 22px;margin-top:14px;-webkit-overflow-scrolling:touch}
  .ecoa-page--no-terreno .news-track::-webkit-scrollbar{height:8px}
  .ecoa-page--no-terreno .news-track::-webkit-scrollbar-track{background:#eef4f5;border-radius:8px}
  .ecoa-page--no-terreno .news-track::-webkit-scrollbar-thumb{background:#c7dcde;border-radius:8px}
  .ecoa-page--no-terreno .ncard{scroll-snap-align:start;flex:0 0 330px;max-width:330px;background:#fff;border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 28px rgba(14,60,57,.05)}
  .ecoa-page--no-terreno .ncard .thumb{height:176px;display:flex;align-items:center;justify-content:center;padding:18px;border-bottom:1px solid var(--linha)}
  .ecoa-page--no-terreno .ncard .thumb img{max-width:100%;max-height:150px;object-fit:contain}
  .ecoa-page--no-terreno .ncard:nth-child(3n/**/+1) .thumb{background:#e8f2ee}
  .ecoa-page--no-terreno .ncard:nth-child(3n/**/+2) .thumb{background:#e7f0f5}
  .ecoa-page--no-terreno .ncard:nth-child(3n) .thumb{background:#f7ecec}
  .ecoa-page--no-terreno .ncard-body{padding:22px;display:flex;flex-direction:column;flex:1}
  .ecoa-page--no-terreno .meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
  .ecoa-page--no-terreno .pill{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:var(--marfim);border:1px solid var(--linha);font-family:"Manrope";font-size:12px;font-weight:800;color:var(--verde-profundo)}
  .ecoa-page--no-terreno .ncard h3{font-size:18px}
  .ecoa-page--no-terreno .ncard .src{font-family:"Manrope";font-size:12.5px;font-weight:800;color:#456F78;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
  .ecoa-page--no-terreno .ncard .lnk{margin-top:auto;padding-top:16px;font-family:"Manrope";font-weight:800}
  .ecoa-page--no-terreno .quote-panel{background:var(--verde-profundo);color:#e5f2f0;border-radius:18px;padding:34px 30px;box-shadow:0 18px 45px rgba(14,60,57,.10)}
  .ecoa-page--no-terreno .quote-panel h2{color:#fff;font-size:clamp(24px,3vw,34px)}
  .ecoa-page--no-terreno .quote-panel p{margin-top:14px;max-width:78ch;color:#dcecea}
  .ecoa-page--no-terreno .cta-final{text-align:center;padding:56px 0 70px}
  .ecoa-page--no-terreno .cta-final p{max-width:62ch;margin:14px auto 0;color:#2a3436}
  .ecoa-page--no-terreno .cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:26px}
  .ecoa-page--no-terreno footer{padding:28px 0;color:#5a6b6d;font-size:14px;text-align:center}
  @media (max-width:960px){.ecoa-page--no-terreno .hero-grid{grid-template-columns:1fr}.ecoa-page--no-terreno .hero h1{max-width:18ch}.ecoa-page--no-terreno .visual{min-height:auto}}
  @media (max-width:640px){.ecoa-page--no-terreno{font-size:16px}.ecoa-page--no-terreno .hero{padding:52px 0 36px}.ecoa-page--no-terreno section{padding:44px 0}.ecoa-page--no-terreno .ncard{flex-basis:280px}}
  @media (prefers-reduced-motion:reduce){.ecoa-page--no-terreno, .ecoa-page--no-terreno *{scroll-behavior:auto!important;transition:none!important}}
@media (min-width:1440px){.ecoa-page--no-terreno .wrap{max-width:1320px}}
@media (min-width:1200px) and (max-width:1439px){.ecoa-page--no-terreno .wrap{max-width:1200px}}
.ecoa-page--no-terreno{font-size:18px;line-height:1.6}
.ecoa-page--no-terreno main h1{font-size:clamp(38px,4.8vw,58px)!important;line-height:1.12!important}
.ecoa-page--no-terreno main h1{hyphens:auto;overflow-wrap:break-word}
.ecoa-page--no-terreno main h2{font-size:clamp(30px,3.8vw,46px)!important;line-height:1.15!important}
.ecoa-page--no-terreno main h3{font-size:clamp(21px,2.2vw,26px)!important}
.ecoa-page--no-terreno .lead{font-size:21px}
.ecoa-page--no-terreno main p{max-width:72ch}
.ecoa-page--no-terreno{overflow-x:hidden}
.ecoa-page--no-terreno main section.ec-marca-e{position:relative;overflow:hidden}
.ecoa-page--no-terreno main section.ec-marca-e::after{content:"E";position:absolute;right:-60px;top:50%;transform:translateY(-50%);font-family:"Manrope",sans-serif;font-weight:800;font-size:520px;line-height:1;color:rgba(245,250,251,.05);z-index:0;pointer-events:none;user-select:none}
.ecoa-page--no-terreno main section.ec-marca-e.ec-clara::after{color:rgba(14,60,57,.045)}
.ecoa-page--no-terreno main section.ec-marca-e.ec-esq::after{right:auto;left:-60px}
.ecoa-page--no-terreno main section.ec-marca-e>*{position:relative;z-index:1}
@media (min-width:1100px){
  .ecoa-page--no-terreno main section.ec-sangra-esq, .ecoa-page--no-terreno main section.ec-sangra-dir{overflow:visible}
  .ecoa-page--no-terreno main section.ec-sangra-esq .wrap>:first-child img{margin-left:calc((100vw - 100%)/-2 + 24px);max-width:calc(100% + (100vw - 100%)/2 - 24px)}
  .ecoa-page--no-terreno main section.ec-sangra-dir .wrap>:last-child img{margin-right:calc((100vw - 100%)/-2 + 24px);max-width:calc(100% + (100vw - 100%)/2 - 24px)}
}
.ecoa-page--no-terreno main section.ec-blobs{position:relative;overflow:hidden}
.ecoa-page--no-terreno main section.ec-blobs::before{content:"";position:absolute;width:420px;height:420px;left:-180px;bottom:-180px;border-radius:50%;background:radial-gradient(circle,#DDEBE7 0 60%,transparent 61%);z-index:0;pointer-events:none}
.ecoa-page--no-terreno main section.ec-blobs::after{content:"";position:absolute;width:340px;height:340px;right:-150px;top:-120px;border-radius:50%;background:radial-gradient(circle,#F4E4E3 0 60%,transparent 61%);z-index:0;pointer-events:none}
.ecoa-page--no-terreno main section.ec-blobs>*{position:relative;z-index:1}
@media (min-width:1100px) and (max-width:1199px){.ecoa-page--no-terreno main section.ec-sangra-esq .wrap>:first-child img, .ecoa-page--no-terreno main section.ec-sangra-dir .wrap>:last-child img{margin-left:auto!important;margin-right:auto!important;width:100%!important;max-width:100%!important}}
@media (min-width:1200px) and (max-width:1439px){.ecoa-page--no-terreno main section.ec-sangra-esq .wrap>:first-child img{margin-left:calc((100vw - 1200px)/-2)!important;width:calc(100% + (100vw - 1200px)/2)!important;max-width:none!important}.ecoa-page--no-terreno main section.ec-sangra-dir .wrap>:last-child img{margin-right:calc((100vw - 1200px)/-2)!important;width:calc(100% + (100vw - 1200px)/2)!important;max-width:none!important}}
@media (min-width:1440px){.ecoa-page--no-terreno main section.ec-sangra-esq .wrap>:first-child img{margin-left:calc((100vw - 1320px)/-2)!important;width:calc(100% + (100vw - 1320px)/2)!important;max-width:none!important}.ecoa-page--no-terreno main section.ec-sangra-dir .wrap>:last-child img{margin-right:calc((100vw - 1320px)/-2)!important;width:calc(100% + (100vw - 1320px)/2)!important;max-width:none!important}}
/* ==========================================================
   ECHOSPITALIDADE — escala e integração, v13
   Colocar em web.assets_frontend.
   SUBSTITUI a folha v12. Desativar a v12 antes de ativar esta.

   ==========================================================
   PORQUE É QUE AINDA PARECIA GRANDE
   ==========================================================
   Não era a percentagem. Os títulos dos blocos do Odoo usam
   as classes display-1 a display-6 do Bootstrap, que definem
   o tamanho com prioridade maior do que uma regra em h1.
   As minhas regras não lhes chegavam.
   Nesta folha essas classes são apanhadas. É isso que faz
   a diferença que faltava.
   ========================================================== */


/* ==========================================================
   AFINAÇÃO NUM SÍTIO SÓ

     0.78  atual, bastante mais compacto
     0.72  ainda mais pequeno
     0.68  o mínimo aconselhável
     0.85  se ficar pequeno de mais

   Abaixo de 0,68 o corpo de texto fica com menos de
   11 pixéis e deixa de se ler com conforto.
   ========================================================== */
.ecoa-page--no-terreno{
    --e: 0.78;
}


/* ----------------------------------------------------------
   1. TÍTULOS, incluindo as classes display do Bootstrap
   É aqui que estava o problema.
   ---------------------------------------------------------- */
.ecoa-page--no-terreno h1, .ecoa-page--no-terreno main h1, .ecoa-page--no-terreno section h1, .ecoa-page--no-terreno .h1, .ecoa-page--no-terreno .display-1, .ecoa-page--no-terreno .display-2, .ecoa-page--no-terreno .display-3, .ecoa-page--no-terreno .display-4, .ecoa-page--no-terreno .display-5, .ecoa-page--no-terreno .display-6, .ecoa-page--no-terreno .display-1, .ecoa-page--no-terreno .display-2, .ecoa-page--no-terreno .display-3, .ecoa-page--no-terreno .display-4, .ecoa-page--no-terreno .display-5, .ecoa-page--no-terreno .display-6{
    font-size: calc(34px * var(--e)) !important;
    line-height: 1.15 !important;
    margin: 0 0 calc(12px * var(--e)) !important;
    font-weight: 800 !important;
}

.ecoa-page--no-terreno h2, .ecoa-page--no-terreno main h2, .ecoa-page--no-terreno section h2, .ecoa-page--no-terreno .h2{
    font-size: calc(24px * var(--e)) !important;
    line-height: 1.2 !important;
    margin: 0 0 calc(9px * var(--e)) !important;
}
.ecoa-page--no-terreno h3, .ecoa-page--no-terreno main h3, .ecoa-page--no-terreno section h3, .ecoa-page--no-terreno .h3{
    font-size: calc(17px * var(--e)) !important;
    line-height: 1.3 !important;
    margin: 0 0 calc(6px * var(--e)) !important;
}
.ecoa-page--no-terreno h4, .ecoa-page--no-terreno main h4, .ecoa-page--no-terreno .h4{ font-size: calc(15px * var(--e)) !important; }
.ecoa-page--no-terreno h5, .ecoa-page--no-terreno h6{ font-size: calc(14px * var(--e)) !important; }


/* ----------------------------------------------------------
   2. TEXTO
   ---------------------------------------------------------- */
.ecoa-page--no-terreno p, .ecoa-page--no-terreno li, .ecoa-page--no-terreno td, .ecoa-page--no-terreno dd, .ecoa-page--no-terreno dt, .ecoa-page--no-terreno main p, .ecoa-page--no-terreno main li, .ecoa-page--no-terreno .o_default_snippet_text, .ecoa-page--no-terreno .lead, .ecoa-page--no-terreno .lead{
    font-size: calc(15px * var(--e)) !important;
    line-height: 1.6 !important;
}
.ecoa-page--no-terreno small, .ecoa-page--no-terreno .small, .ecoa-page--no-terreno .text-muted{
    font-size: calc(12.5px * var(--e)) !important;
}

@media (max-width:640px){
    .ecoa-page--no-terreno h1, .ecoa-page--no-terreno .display-1, .ecoa-page--no-terreno .display-2, .ecoa-page--no-terreno .display-3, .ecoa-page--no-terreno .display-4, .ecoa-page--no-terreno .display-5, .ecoa-page--no-terreno .display-6{
        font-size: calc(28px * var(--e)) !important;
    }
    .ecoa-page--no-terreno h2{ font-size: calc(21px * var(--e)) !important; }
}


/* ----------------------------------------------------------
   3. BOTÕES
   ---------------------------------------------------------- */
.ecoa-page--no-terreno .btn, .ecoa-page--no-terreno header .btn, .ecoa-page--no-terreno footer .btn{
    font-size: calc(13.5px * var(--e)) !important;
    height: calc(38px * var(--e)) !important;
    min-height: 0 !important;
    padding: 0 calc(18px * var(--e)) !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
}


/* ----------------------------------------------------------
   4. ILUSTRAÇÕES SEM CAIXA
   O caixote branco à volta das ilustrações vem de duas
   fontes: o fundo do contentor e o fundo assado na imagem.
   O segundo resolve-se com os ficheiros novos da pasta
   icones. O primeiro resolve-se aqui.
   ---------------------------------------------------------- */
.ecoa-page--no-terreno > section:first-of-type .col-lg-5, .ecoa-page--no-terreno > section:first-of-type .col-md-5, .ecoa-page--no-terreno > section:first-of-type .col-lg-6:last-child, .ecoa-page--no-terreno .o_hero_img, .ecoa-page--no-terreno .o_hero_img_wrap, .ecoa-page--no-terreno figure.o_hero{
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* a ilustração do topo não pode esticar a linha */
.ecoa-page--no-terreno > section:first-of-type img, .ecoa-page--no-terreno .o_hero_img{
    background: transparent !important;
    max-height: calc(280px * var(--e)) !important;
    width: auto !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    display: block !important;
    mix-blend-mode: normal;
}

/* o par texto e imagem alinhado ao centro,
   e a linha não cresce por causa da imagem */
.ecoa-page--no-terreno > section:first-of-type .row{
    align-items: center !important;
}


/* ----------------------------------------------------------
   5. O VAZIO NO TOPO E ENTRE BLOCOS
   ---------------------------------------------------------- */
.ecoa-page--no-terreno > section:first-of-type, .ecoa-page--no-terreno > div > section:first-of-type{
    padding-top: calc(18px * var(--e)) !important;
    padding-bottom: calc(24px * var(--e)) !important;
}

.ecoa-page--no-terreno .pt128{padding-top:calc(72px * var(--e)) !important}
.ecoa-page--no-terreno .pt112{padding-top:calc(64px * var(--e)) !important}
.ecoa-page--no-terreno .pt96{padding-top:calc(54px * var(--e)) !important}
.ecoa-page--no-terreno .pt80{padding-top:calc(46px * var(--e)) !important}
.ecoa-page--no-terreno .pt72{padding-top:calc(40px * var(--e)) !important}
.ecoa-page--no-terreno .pt64{padding-top:calc(36px * var(--e)) !important}
.ecoa-page--no-terreno .pt56{padding-top:calc(32px * var(--e)) !important}
.ecoa-page--no-terreno .pt48{padding-top:calc(28px * var(--e)) !important}
.ecoa-page--no-terreno .pt40{padding-top:calc(23px * var(--e)) !important}
.ecoa-page--no-terreno .pt32{padding-top:calc(18px * var(--e)) !important}

.ecoa-page--no-terreno .pb128{padding-bottom:calc(72px * var(--e)) !important}
.ecoa-page--no-terreno .pb112{padding-bottom:calc(64px * var(--e)) !important}
.ecoa-page--no-terreno .pb96{padding-bottom:calc(54px * var(--e)) !important}
.ecoa-page--no-terreno .pb80{padding-bottom:calc(46px * var(--e)) !important}
.ecoa-page--no-terreno .pb72{padding-bottom:calc(40px * var(--e)) !important}
.ecoa-page--no-terreno .pb64{padding-bottom:calc(36px * var(--e)) !important}
.ecoa-page--no-terreno .pb56{padding-bottom:calc(32px * var(--e)) !important}
.ecoa-page--no-terreno .pb48{padding-bottom:calc(28px * var(--e)) !important}
.ecoa-page--no-terreno .pb40{padding-bottom:calc(23px * var(--e)) !important}
.ecoa-page--no-terreno .pb32{padding-bottom:calc(18px * var(--e)) !important}


/* ----------------------------------------------------------
   6. CABEÇALHO
   ---------------------------------------------------------- */
.ecoa-page--no-terreno header .nav-link, .ecoa-page--no-terreno #top .nav-link{
    font-size: calc(13.5px * var(--e)) !important;
    padding: 5px 8px !important;
    white-space: nowrap !important;
}
.ecoa-page--no-terreno header .navbar-brand img, .ecoa-page--no-terreno #top .navbar-brand img{
    height: calc(38px * var(--e)) !important;
    width: auto !important;
}
.ecoa-page--no-terreno header .navbar, .ecoa-page--no-terreno #top .navbar{
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}
.ecoa-page--no-terreno header a[href^="tel:"], .ecoa-page--no-terreno #top a[href^="tel:"], .ecoa-page--no-terreno header .o_header_phone, .ecoa-page--no-terreno header .fa-phone{ display:none !important; }

/* TODOS os itens visíveis, incluindo os que o Odoo
   tinha empurrado para o botão "+" */
@media (min-width:992px){
    .ecoa-page--no-terreno header .o_extra_menu_items{ display: contents !important; }
    .ecoa-page--no-terreno header .navbar-nav > li, .ecoa-page--no-terreno header .o_extra_menu_items > li{
        display: list-item !important;
        float: none !important;
    }
    .ecoa-page--no-terreno header .dropdown-toggle.o_extra_menu, .ecoa-page--no-terreno #top .dropdown-toggle.o_extra_menu{ display:none !important; }
    .ecoa-page--no-terreno header .navbar-nav{ flex-wrap: nowrap !important; }
}


/* ----------------------------------------------------------
   7. OS NOSSOS CARTÕES
   ---------------------------------------------------------- */
.ecoa-page--no-terreno .o_svc_grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 12px;
    align-items: stretch;
}
.ecoa-page--no-terreno .o_svc{
    display: flex; flex-direction: column;
    background:#fff; border:1px solid #e4eef0;
    border-radius:12px; padding:14px;
}
.ecoa-page--no-terreno .o_svc:hover{ box-shadow:0 6px 18px rgba(14,60,57,.08); border-color:#cfe0e3; }
.ecoa-page--no-terreno .o_svc[hidden]{ display:none !important; }

/* imagem do cartão, sem caixa, integrada no fundo */
.ecoa-page--no-terreno .o_svc .o_svc_img, .ecoa-page--no-terreno .o_svc .o_svc_img img, .ecoa-page--no-terreno .o_curso_card > img{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.ecoa-page--no-terreno .o_svc .o_svc_img img, .ecoa-page--no-terreno .o_curso_card > img{
    display:block; width:100%;
    height: calc(130px * var(--e));
    object-fit: contain;
    margin-bottom: 10px;
}

.ecoa-page--no-terreno .o_svc_familia, .ecoa-page--no-terreno .o_curso_estado{
    align-self:flex-start;
    font-family:"Manrope",sans-serif; font-weight:700;
    font-size: calc(10.5px * var(--e));
    text-transform:uppercase; letter-spacing:.05em;
    background:#EEF4F5; color:#1F6FA0;
    padding:3px 9px; border-radius:999px; margin-bottom:7px;
}
.ecoa-page--no-terreno .o_svc .o_svc_titulo{
    font-size: calc(16px * var(--e)) !important;
    line-height:1.25 !important; margin:0 0 5px !important;
}
.ecoa-page--no-terreno .o_svc .o_svc_titulo a{ color:#0E3C39; text-decoration:none; }
.ecoa-page--no-terreno .o_svc .o_svc_titulo a:hover{ text-decoration:underline; }
.ecoa-page--no-terreno .o_svc .o_svc_desc{
    font-size: calc(13.5px * var(--e)) !important;
    line-height:1.5 !important; color:#3a4a4c; margin:0 !important;
}

.ecoa-page--no-terreno .o_preco{ margin:11px 0 7px; }
.ecoa-page--no-terreno .o_preco_principal{
    font-family:"Manrope",sans-serif; font-weight:800;
    font-size: calc(21px * var(--e)); line-height:1.1; color:#0E3C39;
}
.ecoa-page--no-terreno .o_preco_unidade{
    font-family:"Inter",sans-serif; font-weight:400;
    font-size: calc(12px * var(--e)); color:#5a6b6d;
}
.ecoa-page--no-terreno .o_preco_alternativa{ font-size: calc(12.5px * var(--e)); color:#3a4a4c; margin-top:2px; }
.ecoa-page--no-terreno .o_preco_iva{ font-size: calc(11px * var(--e)); color:#7b8b8d; margin-top:3px; line-height:1.4; }

.ecoa-page--no-terreno .o_svc_tags{ display:flex; flex-wrap:wrap; gap:5px; margin-bottom:11px; }
.ecoa-page--no-terreno .o_tag, .ecoa-page--no-terreno .o_chip{
    font-family:"Manrope",sans-serif; font-weight:600;
    font-size: calc(10.5px * var(--e));
    background:#F5FAFB; color:#0E3C39; border:1px solid #e4eef0;
    padding:3px 9px; border-radius:999px;
}

.ecoa-page--no-terreno .o_svc_accoes, .ecoa-page--no-terreno .o_curso_rodape{ margin-top:auto; }
.ecoa-page--no-terreno .o_svc_accoes{
    display:flex; flex-direction:row; flex-wrap:nowrap;
    gap:7px; align-items:stretch;
}
.ecoa-page--no-terreno .o_svc_accoes .btn, .ecoa-page--no-terreno .btn-principal, .ecoa-page--no-terreno .btn-secundario{
    flex:1 1 0; min-width:0;
    height: calc(34px * var(--e)) !important;
    font-size: calc(12.5px * var(--e)) !important;
    display:inline-flex; align-items:center; justify-content:center;
    border-radius:9px; text-decoration:none;
    padding:0 9px !important; white-space:nowrap;
    overflow:hidden; text-overflow:ellipsis;
    font-family:"Manrope",sans-serif; font-weight:600;
}
.ecoa-page--no-terreno .btn-principal{ background:#0E3C39; color:#F5FAFB; border:1.5px solid #0E3C39; }
.ecoa-page--no-terreno .btn-principal:hover{ background:#0a2e2b; color:#F5FAFB; text-decoration:none; }
.ecoa-page--no-terreno .btn-secundario{ background:#fff; color:#0E3C39; border:1.5px solid #cfe0e3; }
.ecoa-page--no-terreno .btn-secundario:hover{ background:#EEF4F5; border-color:#9dc0c7; color:#0E3C39; text-decoration:none; }

@media (max-width:400px){
    .ecoa-page--no-terreno .o_svc_accoes{ flex-wrap:wrap; }
    .ecoa-page--no-terreno .o_svc_accoes .btn{ flex:1 1 100%; }
}

.ecoa-page--no-terreno .o_svc_promessa{ font-size: calc(11px * var(--e)); color:#7b8b8d; margin:7px 0 0; line-height:1.4; }
.ecoa-page--no-terreno .o_svc_detalhe{
    display:inline-block; margin-top:5px;
    font-family:"Manrope",sans-serif; font-weight:600;
    font-size: calc(11.5px * var(--e)); color:#1F6FA0; text-decoration:none;
}
.ecoa-page--no-terreno .o_svc_detalhe:hover{ text-decoration:underline; }
.ecoa-page--no-terreno .o_svc > *:empty{ display:none !important; }


/* ----------------------------------------------------------
   8. FILTROS
   ---------------------------------------------------------- */
.ecoa-page--no-terreno .o_filtros{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-bottom:16px; }
.ecoa-page--no-terreno .o_filtro{
    font-family:"Manrope",sans-serif; font-weight:600;
    font-size: calc(12.5px * var(--e));
    color:#0E3C39; background:#fff;
    border:1.5px solid #cfe0e3; border-radius:999px;
    padding: calc(6px * var(--e)) calc(14px * var(--e));
    cursor:pointer; line-height:1.2;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.ecoa-page--no-terreno .o_filtro:hover{ background:#EEF4F5; border-color:#9dc0c7; }
.ecoa-page--no-terreno .o_filtro:focus-visible{ outline:3px solid #1F6FA0; outline-offset:2px; }
.ecoa-page--no-terreno .o_filtro.is-active{ background:#0E3C39; border-color:#0E3C39; color:#F5FAFB; }
.ecoa-page--no-terreno .o_filtros_contagem{ flex-basis:100%; font-size: calc(12.5px * var(--e)); color:#5a6b6d; margin:4px 0 0; }


/* ----------------------------------------------------------
   9. LOJA E FORMAÇÃO, mesma escala do resto
   Estas páginas são geradas pelo Odoo e ficavam de fora.
   ---------------------------------------------------------- */
.ecoa-page--no-terreno .oe_website_sale h1, .ecoa-page--no-terreno .oe_website_sale .h1, .ecoa-page--no-terreno .o_wslides_home h1, .ecoa-page--no-terreno .o_wslides_lesson_main h1{
    font-size: calc(28px * var(--e)) !important;
}
.ecoa-page--no-terreno .oe_website_sale h2, .ecoa-page--no-terreno .o_wslides_home h2{
    font-size: calc(21px * var(--e)) !important;
}
.ecoa-page--no-terreno .oe_website_sale, .ecoa-page--no-terreno .oe_website_sale p, .ecoa-page--no-terreno .oe_website_sale li, .ecoa-page--no-terreno .o_wslides_home, .ecoa-page--no-terreno .o_wslides_home p, .ecoa-page--no-terreno .o_wslides_lesson_main, .ecoa-page--no-terreno .o_wslides_lesson_main p{
    font-size: calc(15px * var(--e)) !important;
    line-height:1.6 !important;
}
.ecoa-page--no-terreno .oe_website_sale .oe_product_cart h6, .ecoa-page--no-terreno .oe_website_sale .o_wsale_product_name{
    font-size: calc(15px * var(--e)) !important;
}
.ecoa-page--no-terreno .oe_website_sale .oe_currency_value, .ecoa-page--no-terreno .oe_website_sale .product_price{
    font-size: calc(20px * var(--e)) !important;
}
.ecoa-page--no-terreno .oe_website_sale .oe_product img, .ecoa-page--no-terreno .o_wslides_home img{
    max-height: calc(200px * var(--e)) !important;
    object-fit: contain;
    background: transparent !important;
}

/* páginas legais e de condições */
.ecoa-page--no-terreno .o_legal_page, .ecoa-page--no-terreno .o_legal_page p, .ecoa-page--no-terreno .o_legal_page li{
    font-size: calc(15px * var(--e)) !important;
    line-height:1.7 !important;
}
.ecoa-page--no-terreno .o_legal_page h2{ font-size: calc(20px * var(--e)) !important; margin-top: calc(28px * var(--e)) !important; }
.ecoa-page--no-terreno .o_legal_page h3{ font-size: calc(16px * var(--e)) !important; }


/* ----------------------------------------------------------
   10. CONTENTOR, NOTA E RODAPÉ
   ---------------------------------------------------------- */
.ecoa-page--no-terreno .container{ max-width:1160px; }
.ecoa-page--no-terreno .o_servicos_nota{ background:#F5FAFB; border-radius:12px; padding:15px 18px; margin-top:24px; }
.ecoa-page--no-terreno .o_servicos_nota p{
    font-size: calc(12px * var(--e)) !important;
    line-height:1.7 !important; color:#3a4a4c; margin:0 !important;
}
.ecoa-page--no-terreno footer, .ecoa-page--no-terreno #footer, .ecoa-page--no-terreno footer p, .ecoa-page--no-terreno #footer p{ font-size: calc(13px * var(--e)) !important; }
.ecoa-page--no-terreno .o_cookies_bar, .ecoa-page--no-terreno #website_cookies_bar{
    padding-top:7px !important; padding-bottom:7px !important;
    font-size: calc(12.5px * var(--e)) !important;
}

.ecoa-page--no-terreno .o_fazemos_topo:before, .ecoa-page--no-terreno .o_fazemos_topo:after{display:none!important}
.ecoa-page--no-terreno .o_fazemos_topo .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);column-gap:clamp(20px,4vw,54px);row-gap:8px;align-items:center}
.ecoa-page--no-terreno .o_fazemos_topo .o_hero_visual{grid-column:2;grid-row:1/4;margin:0;display:flex;align-items:center;justify-content:center;background:transparent;border:0;box-shadow:none}
.ecoa-page--no-terreno .o_fazemos_topo .o_hero_visual img{display:block;width:min(100%,390px)!important;height:auto;max-height:300px!important;object-fit:contain;background:transparent;border:0;box-shadow:none;filter:none;opacity:1}
.ecoa-page--no-terreno .o_fazemos_topo .o_lead{max-width:68ch;margin:6px 0 0!important;color:#3a4a4c}
.ecoa-page--no-terreno .course-slide .card-visual img{display:block;width:100%;height:120px;object-fit:contain;background:transparent}
.ecoa-page--no-terreno .o_ilustracao_manifesto img, .ecoa-page--no-terreno .o_manifesto img{max-height:330px;width:auto;background:transparent}
@media (max-width:760px){
  .ecoa-page--no-terreno .o_fazemos_topo .wrap{grid-template-columns:1fr}
  .ecoa-page--no-terreno .o_fazemos_topo .o_hero_visual{grid-column:1;grid-row:auto}
  .ecoa-page--no-terreno .o_fazemos_topo .o_hero_visual img{width:min(84vw,350px)!important;max-height:270px!important;margin:0 auto!important}
}
.ecoa-page--no-terreno .hero{min-height:0!important;padding:30px 0 34px!important}
.ecoa-page--no-terreno .hero .hero-grid{align-items:center!important;gap:clamp(34px,5vw,72px)}
.ecoa-page--no-terreno .hero h1{font-size:clamp(42px,4.2vw,58px)!important;line-height:1.08!important;letter-spacing:-.025em;max-width:15ch}
.ecoa-page--no-terreno .hero .lead{font-size:clamp(16px,1.3vw,19px)!important;line-height:1.6!important;max-width:64ch}
.ecoa-page--no-terreno .hero .visual{align-self:center;margin:0}
.ecoa-page--no-terreno .hero .visual img{width:min(100%,420px)!important;max-height:350px!important;object-fit:contain}
.ecoa-page--no-terreno .hero-actions{margin-top:24px!important}
@media (max-width:760px){
  .ecoa-page--no-terreno .hero{padding:26px 0 30px!important}
  .ecoa-page--no-terreno .hero h1{font-size:clamp(34px,10vw,46px)!important}
  .ecoa-page--no-terreno .hero .visual img{width:min(82vw,350px)!important;max-height:290px!important}
}
.ecoa-page--no-terreno .ecoa-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

