/* =========================================================
   Mobile-first polish — evita overflow, torto e layout quebrado
   Carregar por último. Escopos: ≤960 / ≤720 / ≤560 / ≤390
   ========================================================= */

/* ---- Global safety ---- */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
html,body{
  overflow-x:clip;
  max-width:100%;
}
img,svg,video{
  max-width:100%;
  height:auto;
}
/* Evita filhos empurrando a página */
main,section,.container{
  max-width:100%;
}
.container{
  width:min(100% - 1.5rem,var(--container,1120px))!important;
  margin-inline:auto;
  padding-inline:0!important;
  box-sizing:border-box;
}

/* ---- Header / menu ---- */
@media (max-width:960px){
  .header__inner{
    gap:.75rem!important;
    padding-inline:0!important;
    width:min(100% - 1.5rem,var(--container,1120px));
    margin-inline:auto;
  }
  .logo{
    width:min(148px,42vw)!important;
    height:auto!important;
    flex-shrink:0;
  }
  .logo img{
    width:100%!important;
    height:auto!important;
    object-fit:contain;
  }
  .btn--header{
    display:none!important;
  }
  /* Menu mobile limpo — sem círculo feio */
  .menu-toggle{
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    width:44px;
    height:44px;
    flex-shrink:0;
    border:0!important;
    border-radius:12px!important;
    background:rgba(10,10,10,.06)!important;
    box-shadow:none!important;
    padding:0!important;
  }
  .menu-toggle span{
    display:block!important;
    width:18px!important;
    height:1.75px!important;
    margin:0!important;
    border-radius:2px;
    background:currentColor!important;
    transition:transform .25s ease,opacity .2s ease;
  }
  .menu-toggle[aria-expanded="true"]{
    background:rgba(10,10,10,.1)!important;
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(6.75px) rotate(45deg)!important;
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0!important;
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-6.75px) rotate(-45deg)!important;
  }
  .header.scrolled .menu-toggle,
  body.has-hero-clean .header.scrolled .menu-toggle{
    background:rgba(255,255,255,.1)!important;
    color:#fff!important;
  }
  body.has-hero-clean .header:not(.scrolled) .menu-toggle{
    background:rgba(10,10,10,.06)!important;
    color:#0a0a0a!important;
    border:0!important;
  }
  /* menu aberto: legível, sem cortar */
  .nav.open{
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:max(2rem,env(safe-area-inset-bottom));
  }
  .nav a{
    font-size:clamp(1.35rem,6.5vw,1.85rem)!important;
    line-height:1.2!important;
    word-break:break-word;
  }
}

/* ---- Hero ---- */
@media (max-width:810px){
  /*
    1º ecrã = hero (conteúdo centralizado) + barra preta.
    min-height garante que a Clareza NÃO vaze no 1º viewport.
    justify center evita “buraco” estranho com conteúdo colado no topo.
  */
  .hero-clean{
    min-height:calc(100svh - 52px)!important;
    min-height:calc(100dvh - 52px)!important;
    padding:calc(var(--header-h,72px) + .85rem) 1.15rem 1.25rem!important;
    width:100%;
    box-sizing:border-box;
    justify-content:center!important;
  }
  .hero-clean__inner{
    width:100%;
    max-width:100%;
    margin-top:0!important;
    margin-bottom:0!important;
  }
  .hero-trusted{
    min-height:52px;
    flex-shrink:0;
  }
  .hero-clean__inner{
    width:100%;
    max-width:100%;
    padding:0!important;
  }
  .hero-clean__title{
    font-size:clamp(2.05rem,10.5vw,2.85rem)!important;
    line-height:1.05!important;
    letter-spacing:-.045em!important;
    max-width:14ch;
    margin-inline:auto;
    word-wrap:break-word;
    overflow-wrap:anywhere;
  }
  .hero-clean__line{
    display:block;
  }
  .hero-clean__sub{
    font-size:.95rem!important;
    line-height:1.5!important;
    max-width:34ch;
    margin-inline:auto;
    padding-inline:.25rem;
  }
  .hero-clean__cta-block{
    width:100%!important;
    max-width:100%!important;
  }
  .hero-clean__ctas{
    flex-direction:column!important;
    width:100%!important;
    gap:.65rem!important;
  }
  .hero-clean__btn{
    width:100%!important;
    justify-content:center!important;
    min-height:48px;
  }
  .hero-clean__cta-note{
    white-space:normal!important;
    max-width:100%!important;
    width:100%!important;
    text-align:center;
    font-size:.82rem!important;
    line-height:1.4;
  }
  .hero-chip-marquee{
    width:100%;
    max-width:100%;
    margin-inline:auto;
  }
  .hero-lines__side{display:none!important}
  .hero-trusted{
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    padding:12px 1.15rem 28px!important;
    gap:12px!important;
    box-sizing:border-box;
  }
  .hero-trusted__label{
    max-width:none!important;
    font-size:.82rem!important;
    line-height:1.35!important;
  }
  .hero-trusted__marquee{
    width:100%;
  }
}

@media (max-width:390px){
  .hero-clean{
    min-height:calc(100svh - 48px)!important;
    min-height:calc(100dvh - 48px)!important;
    padding:calc(var(--header-h,68px) + .7rem) .9rem 1rem!important;
  }
  .hero-clean__title{
    font-size:clamp(1.85rem,10.5vw,2.3rem)!important;
  }
  .hero-trusted{min-height:48px}
}

/* ---- Clarity section ---- */
@media (max-width:820px){
  .clarity{
    padding:clamp(40px,9vw,64px) 1rem!important;
    overflow-x:clip!important;
  }
  .clarity__head{
    width:100%;
    max-width:100%;
    padding-inline:0!important;
  }
  .clarity__head h2{
    font-size:clamp(1.7rem,7.5vw,2.35rem)!important;
    line-height:1.12!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    max-width:min(20em,100%)!important;
  }
  .clarity__lead{
    font-size:.92rem!important;
    max-width:100%!important;
    width:100%!important;
    padding-inline:0;
    display:block!important;
    -webkit-line-clamp:unset!important;
    max-height:none!important;
    overflow:visible!important;
    white-space:normal!important;
    line-height:1.5!important;
  }
  .clarity-board{
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
    overflow:visible!important;
  }
  .cboard-stage{
    max-width:100%!important;
  }
  .cboard-card{
    width:100%;
    box-sizing:border-box;
  }
  .cboard-bar{
    width:100%;
    box-sizing:border-box;
    border-radius:16px!important;
    min-height:0!important;
    height:auto!important;
  }
  .cboard-bar__points{
    flex:0 0 auto!important;
  }
  .cboard-bar__points li{
    flex:0 0 auto!important;
    max-width:100%;
  }
  .cboard-bar__label{
    font-size:.78rem!important;
    line-height:1.3!important;
  }
}

@media (max-width:520px){
  .cboard-card{
    padding:32px 14px 18px!important;
  }
  .cboard-card__art{
    max-width:min(180px,70vw)!important;
  }
}

/* ---- Process ---- */
@media (max-width:900px){
  .process{
    padding-inline:1rem!important;
    overflow-x:clip!important;
  }
  .process__head{
    width:100%!important;
    max-width:100%!important;
    padding-inline:0!important;
  }
  .process__title{
    font-size:clamp(1.45rem,6.2vw,1.95rem)!important;
    line-height:1.15!important;
  }
  .process__lead{
    font-size:.92rem!important;
    max-width:100%!important;
  }
  .process-shell{
    width:100%!important;
    max-width:100%!important;
  }
  .process-step__body{
    width:100%;
    max-width:100%;
    padding-right:.15rem;
  }
}

/* ---- Services unified ---- */
@media (max-width:960px){
  .services--unified{
    padding:clamp(44px,8vw,72px) 0!important;
    overflow-x:clip!important;
  }
  .services-uni{
    width:100%!important;
    max-width:100%!important;
    padding-inline:1rem!important;
    box-sizing:border-box;
  }
  .services-uni__head{
    grid-template-columns:1fr!important;
    gap:1rem!important;
    text-align:left!important;
    margin-bottom:1.5rem!important;
  }
  .services-uni__head h2{
    font-size:clamp(1.85rem,7.5vw,2.65rem)!important;
    line-height:1.08!important;
    word-break:break-word;
  }
  .services-uni__lead{
    justify-self:start!important;
    max-width:100%!important;
    font-size:.94rem!important;
  }
  .services-uni__grid{
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
  }
  .svc-card{
    min-width:0!important;
    padding:1.15rem 1rem 1.05rem!important;
    border-radius:14px!important;
  }
  .svc-card__title{
    font-size:.98rem!important;
    line-height:1.25!important;
  }
  .svc-card__text{
    font-size:.84rem!important;
    line-height:1.45!important;
  }
  .svc-metric{
    grid-template-columns:3.4rem 1fr!important;
    gap:.4rem!important;
  }
  .svc-metric__value{
    font-size:1rem!important;
  }
  .svc-metric__label{
    font-size:.75rem!important;
    line-height:1.3!important;
  }
  .services-uni__note{
    text-align:left!important;
    font-size:.84rem!important;
    max-width:none!important;
    padding-inline:0;
  }
}

@media (max-width:560px){
  .services-uni__grid{
    grid-template-columns:1fr!important;
    max-width:100%!important;
    gap:12px!important;
  }
  .services-uni{
    padding-inline:.9rem!important;
  }
  .svc-card__icon{
    width:38px!important;
    height:38px!important;
    margin-bottom:.75rem!important;
  }
}

/* ---- Fit / método ---- */
@media (max-width:960px){
  .method--fit{
    padding:clamp(48px,10vw,72px) 0!important;
    overflow-x:clip!important;
  }
  .method-fit{
    width:min(100% - 1.5rem,1120px)!important;
  }
  .method-fit__intro{
    max-width:100%!important;
    margin-bottom:1.5rem!important;
  }
  .method-fit__title{
    font-size:clamp(1.75rem,7.2vw,2.55rem)!important;
    line-height:1.08!important;
  }
  .method-fit__lead{
    font-size:.92rem!important;
    max-width:100%!important;
  }
  .method-fit__layout{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .method-fit__grid{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .method-fit__card{
    padding:1.05rem .95rem 1.1rem!important;
  }
  .method-fit__card-title{
    font-size:1rem!important;
  }
  .method-fit__card-text{
    font-size:.84rem!important;
  }
  .method-fit__panel{
    padding:1.1rem 1rem 1.15rem!important;
  }
  .method-fit__panel-label{
    max-width:none!important;
    font-size:.68rem!important;
  }
}

@media (max-width:560px){
  .method-fit__grid{
    grid-template-columns:1fr!important;
  }
  .method-fit{
    width:min(100% - 1.25rem,1120px)!important;
  }
}

/* ---- Difference console ---- */
@media (max-width:960px){
  .difference{
    padding:clamp(44px,9vw,68px) 0!important;
    overflow-x:clip!important;
  }
  .difference .container{
    width:min(100% - 1.5rem,var(--container,1120px))!important;
  }
  .difference__heading{
    grid-template-columns:1fr!important;
    gap:.85rem!important;
    margin-bottom:1.35rem!important;
  }
  .difference__heading h2{
    font-size:clamp(1.7rem,7vw,2.4rem)!important;
    line-height:1.1!important;
    word-break:break-word;
  }
  .difference__heading>p:last-child{
    font-size:.92rem!important;
    max-width:100%!important;
  }
  .difference-console{
    width:100%!important;
    max-width:100%!important;
    border-radius:16px!important;
  }
}

@media (max-width:720px){
  .difference-console{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
  }
  .difference-item{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
  }
  .difference-tab{
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:0!important;
    height:auto!important;
    padding:.8rem .85rem!important;
  }
  /* evita “01” duplicado: no tab ativo o painel já tem “01 · CONTEXTO” */
  .difference-item.is-active .difference-tab__n{
    opacity:.35!important;
  }
  .difference-tab__copy strong{
    font-size:.88rem!important;
    line-height:1.25!important;
  }
  .difference-tab__copy small{
    font-size:.76rem!important;
    line-height:1.35!important;
    display:block!important;
    margin-top:.15rem!important;
  }
  .difference-panel{
    grid-column:auto!important;
    grid-row:auto!important;
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    border-left:0!important;
    border-top:1px solid rgba(17,17,17,.08)!important;
    padding:.9rem .9rem 1rem!important;
    display:none!important; /* só o ativo */
  }
  .difference-panel.is-active,
  .difference-item:has(.difference-tab.is-active) .difference-panel,
  .difference-tab.is-active + .difference-panel{
    display:block!important;
  }
  .difference-panel.is-exit{
    display:none!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    inset:auto!important;
  }
  .diff-panel__title,
  .difference-panel h3{
    max-width:none!important;
    font-size:clamp(1.05rem,4.8vw,1.28rem)!important;
    line-height:1.2!important;
  }
  .diff-panel__desc{
    font-size:.86rem!important;
    line-height:1.45!important;
  }
  .diff-panel__points,
  .diff-panel__list{
    margin-top:.75rem!important;
  }
  .diff-panel__points li,
  .diff-panel__list li{
    padding:.55rem 0!important;
    font-size:.84rem!important;
  }
}

/* ---- Social strip ---- */
@media (max-width:720px){
  .social-strip{
    padding:clamp(2.5rem,8vw,3.5rem) 0!important;
  }
  .social-strip__inner{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:1.25rem!important;
    width:min(100% - 1.5rem,var(--container,1120px));
    margin-inline:auto;
  }
  .social-strip h2{
    font-size:clamp(1.55rem,7vw,2.15rem)!important;
    max-width:none!important;
    line-height:1.15!important;
    word-break:break-word;
  }
  .social-strip .btn{
    width:100%!important;
    justify-content:center;
  }
}

/* ---- Contact ---- */
@media (max-width:720px){
  .contact{
    min-height:0!important;
    overflow-x:clip!important;
  }
  .contact__content{
    width:min(100% - 1.5rem,var(--container,1120px))!important;
    margin-inline:auto;
    padding:clamp(3.5rem,12vw,5rem) 0!important;
  }
  .contact__content h2{
    font-size:clamp(1.85rem,9vw,2.75rem)!important;
    max-width:14ch!important;
    line-height:1.05!important;
  }
  .contact__content>p:not(.eyebrow){
    font-size:.92rem!important;
    max-width:100%!important;
    padding-inline:.25rem;
  }
  .contact__content .btn{
    width:100%!important;
    max-width:22rem;
    justify-content:center;
  }
}

/* ---- Footer ---- */
@media (max-width:860px){
  .footer.footer--revel{
    padding-top:clamp(28px,7vw,48px)!important;
    overflow-x:clip!important;
  }
  .footer-section{
    width:min(100% - 1.25rem,1150px)!important;
  }
  .footer-wrapper{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .footer-left{
    min-height:300px!important;
    border-radius:20px!important;
    padding:1.35rem 1.2rem!important;
  }
  .footer-logo{
    max-width:min(190px,72%)!important;
  }
  .footer-tagline{
    font-size:1.05rem!important;
    max-width:18ch!important;
  }
  .footer-social-row{
    flex-wrap:wrap;
    gap:10px!important;
  }
  .footer-right{
    border-radius:20px!important;
    padding:2.25rem 1.2rem 1.25rem!important;
    overflow:visible!important;
  }
  .footer-lucky-graphic{
    right:14px!important;
    top:-28px!important;
  }
  .lucky-cube{
    width:72px!important;
    height:72px!important;
    border-radius:18px!important;
  }
  .lucky-cube-symbol{
    width:34px!important;
    height:34px!important;
  }
  .lucky-text{
    font-size:.95rem!important;
  }
  .footer-nav-cols{
    gap:clamp(1.5rem,6vw,2.5rem)!important;
    flex-wrap:wrap;
  }
  .footer-col{
    flex:1 1 140px;
    min-width:0;
  }
  .footer-col-title{
    font-size:1.15rem!important;
    margin-bottom:12px!important;
  }
  .footer-col a{
    font-size:.84rem!important;
    margin-bottom:10px!important;
  }
  .footer-bottom{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:1.25rem!important;
    margin-top:1.75rem!important;
  }
  .footer-cta-mini{
    align-items:stretch!important;
    text-align:left!important;
    max-width:none!important;
    width:100%!important;
  }
  .footer-cta-mini h4{
    font-size:.9rem!important;
  }
  .footer-cta-mini h4 strong{
    font-size:1.05rem!important;
  }
  .footer-subscribe-row{
    width:100%!important;
  }
  .footer-subscribe-status{
    text-align:left!important;
    width:100%!important;
  }
  .footer-copyright{
    font-size:.72rem!important;
    order:2;
  }
}

@media (max-width:400px){
  .footer-nav-cols{
    flex-direction:column;
    gap:1.35rem!important;
  }
  .footer-subscribe-btn{
    padding:11px 12px!important;
    font-size:.8rem!important;
  }
  .lucky-text-row{
    max-width:calc(100vw - 6rem);
  }
  .lucky-text{
    white-space:normal!important;
    text-align:left;
  }
}

/* ---- Error pages / safety ---- */
@media (max-width:480px){
  .skip-link:focus{
    left:.5rem;
    top:.5rem;
  }
}

/* Neutraliza min-heights legados que esticam mobile */
@media (max-width:720px){
  .method:not(.method--fit){
    min-height:0!important;
  }
  .service-experience,
  .service-art{
    min-height:0!important;
  }
  /* evita painel difference com altura forçada de styles.css */
  .difference-stage{
    min-height:0!important;
  }
  .difference-tab{
    min-height:0!important;
  }
}

/* Safe area (notch / home indicator) */
@supports (padding:max(0px)){
  @media (max-width:720px){
    body{
      padding-left:env(safe-area-inset-left);
      padding-right:env(safe-area-inset-right);
    }
    .header{
      padding-top:env(safe-area-inset-top);
    }
    .footer.footer--revel{
      padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
    }
  }
}

/* =========================================================
   Mobile-First Landing Optimizer (skill) — camada final
   ========================================================= */

/* Cursor glow / progress desktop: não no touch */
@media (max-width:960px),(hover:none),(pointer:coarse){
  .sm-cursor-glow{display:none!important}
  .sm-scroll-progress{height:2px!important;opacity:.7}
}

/* Clareza: carrossel horizontal (menos scroll vertical) */
@media (max-width:900px){
  #clareza.clarity{
    gap:clamp(18px,4vw,28px)!important;
    padding-top:clamp(32px,6vw,48px)!important;
    padding-bottom:clamp(32px,6vw,48px)!important;
  }
  /*
    Headline Clareza no mobile — 3 linhas editoriais limpas:
      Pare de correr na
      direção errada.
      Trabalhe com CLAREZA.
    (antes: max-width:16ch quebrava “Trabalhe com” / “CLAREZA” em 2 linhas)
  */
  #clareza .clarity__head{
    text-align:center!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    padding-inline:1.15rem!important;
    gap:.85rem!important;
  }
  #clareza .clarity__head h2{
    font-size:clamp(1.7rem,7.2vw,2.35rem)!important;
    line-height:1.12!important;
    letter-spacing:-.04em!important;
    text-align:center!important;
    align-items:center!important;
    width:100%!important;
    max-width:min(20em,100%)!important; /* cabe “Trabalhe com CLAREZA.” */
  }
  #clareza .clarity__title-ink{
    display:block!important;
    width:100%!important;
    text-align:center!important;
  }
  #clareza .clarity__title-accent{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    margin-top:.12em!important;
    white-space:nowrap!important; /* “Trabalhe com CLAREZA.” numa linha */
  }
  #clareza .clarity__title-lead{
    white-space:nowrap!important;
  }
  #clareza .clarity__title-clarity{
    font-size:1em!important; /* não estoura a linha */
    letter-spacing:.02em!important;
    white-space:nowrap!important;
  }
  #clareza .clarity__lead{
    font-size:.9rem!important;
    line-height:1.5!important;
    text-align:center!important;
    max-width:34ch!important;
    width:100%!important;
    margin-inline:auto!important;
    display:block!important;
    -webkit-line-clamp:unset!important;
    max-height:none!important;
    overflow:visible!important;
    white-space:normal!important;
  }
  .cboard-head{
    text-align:center!important;
    margin:0 0 8px!important;
    padding-inline:1rem!important;
  }
  /* pins alinhados ao carrossel: esconde no mobile estreito (ruído) */
  .cboard-pins{
    display:none!important;
  }
  .clarity-board{
    width:100%!important;
    max-width:100%!important;
    padding-inline:0!important;
  }
  /* carrossel de cards */
  .cboard-grid{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:4px 1rem 12px!important;
    margin:0!important;
    scrollbar-width:none;
  }
  .cboard-grid::-webkit-scrollbar{display:none}
  .cboard-card{
    flex:0 0 min(82vw,300px)!important;
    width:min(82vw,300px)!important;
    max-width:min(82vw,300px)!important;
    scroll-snap-align:start;
    padding:18px 14px 16px!important;
    border-radius:16px!important;
    min-height:0!important;
  }
  .cboard-card__inner{
    grid-template-columns:1fr!important;
    row-gap:8px!important;
  }
  .cboard-card__art{
    min-height:96px!important;
    max-width:140px!important;
    margin:0 auto 4px!important;
  }
  .cboard-card__title{
    white-space:normal!important;
    height:auto!important;
    font-size:.88rem!important;
  }
  .cboard-card__lead{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    -webkit-line-clamp:2!important;
    display:-webkit-box!important;
    font-size:.8rem!important;
  }
  .cboard-card__copy{
    font-size:.74rem!important;
    -webkit-line-clamp:3!important;
  }
  /* Barra “Clareza para agir” — sem buraco branco, texto legível */
  .cboard-bar{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    margin:10px 1rem 0!important;
    width:auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:14px 14px 12px!important;
    gap:0!important;
    box-sizing:border-box!important;
  }
  .cboard-bar__main{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start!important;
    gap:12px!important;
    max-width:none!important;
    flex:0 0 auto!important;
    width:100%!important;
    border-right:0!important;
    border-bottom:1px solid rgba(17,17,17,.1)!important;
    padding:0 0 12px!important;
    margin:0!important;
  }
  .cboard-bar__badge{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
  }
  .cboard-bar__copy{
    flex:1 1 auto!important;
    min-width:0!important;
  }
  .cboard-bar__copy strong{
    font-size:.78rem!important;
    margin-bottom:.3rem!important;
  }
  .cboard-bar__copy p{
    font-size:.84rem!important;
    line-height:1.4!important;
    max-width:none!important;
    -webkit-line-clamp:unset!important;
    display:block!important;
  }
  .cboard-bar__points{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    flex:0 0 auto!important;
    width:100%!important;
    gap:0!important;
    margin:0!important;
    padding:4px 0 0!important;
  }
  .cboard-bar__points li{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:10px!important;
    border-left:0!important;
    border-bottom:1px solid rgba(17,17,17,.06)!important;
    padding:10px 0!important;
    margin:0!important;
    flex:0 0 auto!important;
    min-height:0!important;
    width:100%!important;
  }
  .cboard-bar__points li:last-child{
    border-bottom:0!important;
    padding-bottom:2px!important;
  }
  .cboard-bar__ico{
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
  }
  .cboard-bar__label{
    font-size:.82rem!important;
    line-height:1.3!important;
    white-space:normal!important;
    display:inline!important;
  }
  /* NÃO esconder <br> sem espaço — vira “queimporta” */
  .cboard-bar__label br{
    display:block!important;
  }
}

/* Process: ritmo mais denso no mobile */
@media (max-width:720px){
  .process{
    padding-top:clamp(40px,8vw,56px)!important;
    padding-bottom:clamp(40px,8vw,56px)!important;
  }
  .process__title{
    text-align:left!important;
  }
  .process__lead{
    text-align:left!important;
  }
}

/* Services: carrossel horizontal no mobile (menos scroll) */
@media (max-width:720px){
  .services-uni__grid{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:12px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:4px 0 12px!important;
    margin:0 -0.25rem!important;
    scrollbar-width:none;
  }
  .services-uni__grid::-webkit-scrollbar{display:none}
  .svc-card{
    flex:0 0 min(78vw,290px)!important;
    width:min(78vw,290px)!important;
    max-width:min(78vw,290px)!important;
    min-height:0!important;
    scroll-snap-align:start;
  }
  .svc-card__title{
    font-size:1rem!important;
  }
  .svc-card__text{
    font-size:.86rem!important;
  }
}

/* Footer: enxugar vertical (skill: utility footer) */
@media (max-width:720px){
  .footer.footer--revel{
    padding-top:2rem!important;
  }
  .footer-lucky-graphic{
    display:none!important; /* decorativo desktop — economiza ~1 ecrã */
  }
  .footer-tagline{
    font-size:.95rem!important;
    line-height:1.4!important;
    max-width:32ch!important;
  }
  .footer-wrapper{
    gap:1.5rem!important;
  }
  .footer-nav-cols{
    gap:1.1rem 1.5rem!important;
  }
  .footer-bottom{
    margin-top:1.25rem!important;
    padding-top:1rem!important;
  }
}

/* Touch targets mínimos */
@media (max-width:960px){
  .menu-toggle,
  .icon-link,
  .header .btn,
  .hero-clean__btn,
  .contact__content .btn{
    min-height:44px!important;
  }
  .icon-link{
    min-width:44px!important;
    min-height:44px!important;
  }
  .cboard-bar__points li,
  .footer-col a,
  .nav a{
    min-height:44px;
  }
}

/* Texto base legível — evita <12px “ruído” no mobile */
@media (max-width:720px){
  .cboard-head__meta,
  .cboard-head__title,
  .svc-metric__label,
  .footer-copyright,
  .process-step__num,
  .eyebrow{
    font-size:max(.72rem,.72rem)!important;
  }
  body{
    font-size:16px;
  }
}

/* Motion: menos trabalho contínuo no mobile */
@media (max-width:810px){
  .hero-chip-marquee__track{
    animation-duration:48s!important;
  }
  .cboard-radar__sweep,
  .cboard-radar__spin{
    animation-duration:5s!important;
  }
}

/* sticky CTA removido a pedido do usuário */

/* method-fit cards: carrossel se forem vários */
@media (max-width:720px){
  .method-fit__grid,
  .method-fit__cards{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:12px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding-bottom:8px!important;
    scrollbar-width:none;
  }
  .method-fit__grid::-webkit-scrollbar,
  .method-fit__cards::-webkit-scrollbar{display:none}
  .method-fit__card{
    flex:0 0 min(80vw,300px)!important;
    width:min(80vw,300px)!important;
    max-width:min(80vw,300px)!important;
    scroll-snap-align:start;
    min-height:0!important;
  }
}
