/* onLUME v17 — refinamento visual, contraste e densidade editorial */

.section{padding:88px 0}
.showcase{padding:84px 0}

/* Navegação mais enxuta para acomodar o novo eixo editorial. */
.menu{gap:17px}
.menu a{font-size:.73rem}

/* Leitura real em superfícies escuras. */
.service p,.method-step p,.ret-card p,.showcase p{color:#b8c5bd}
.portal-card span{color:#bdc9c1;font-size:.69rem;line-height:1.5}
.portal-card small{color:#aebdb4}
.footer-copy{color:#aebcb3}

/* Sistema de ícones: um único desenho, mais limpo e contemporâneo. */
.moment-icon,.method-icon,.deliverable-icon,.plan-icon{
  display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;
  border:1px solid rgba(239,216,137,.25);border-radius:14px;
  background:linear-gradient(145deg,rgba(239,216,137,.10),rgba(83,231,102,.035));
  color:#efd889;box-shadow:inset 0 1px rgba(255,255,255,.045),0 10px 24px rgba(0,0,0,.10)
}
.moment-icon svg,.method-icon svg,.deliverable-icon svg,.plan-icon svg{
  width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;
  stroke-linecap:round;stroke-linejoin:round
}

/* Produto de Momento único: usa a largura inteira e deixa as entregas visíveis. */
.moment-grid{grid-template-columns:1fr}
.moment-featured{min-height:0;padding:34px;background:radial-gradient(circle at 92% 18%,rgba(201,166,70,.12),transparent 27%),linear-gradient(135deg,#0d2a1e,#071a13)}
.moment-featured h3{font-size:clamp(2.2rem,4vw,3.25rem);margin:17px 0 9px}
.moment-featured p{max-width:70ch;font-size:.9rem}
.moment-signals{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 2px}
.moment-signals span{padding:8px 11px;border:1px solid rgba(239,216,137,.18);border-radius:999px;color:#c7d2cb;background:rgba(255,255,255,.025);font-size:.65rem}

/* Planos: ação secundária não pode desaparecer sobre o verde. */
.plan-completo .plan-more,
.plan.featured .plan-more{
  color:#f4dda0!important;
  border-color:rgba(239,216,137,.42)!important;
  background:rgba(239,216,137,.055)!important;
}
.plan-completo .plan-more:hover,
.plan.featured .plan-more:hover{background:rgba(239,216,137,.12)!important}

/* Área do Cliente: título mais horizontal e CTAs de alto contraste. */
.client-area-grid{grid-template-columns:minmax(0,1.07fr) minmax(430px,.93fr);gap:clamp(42px,6vw,76px)}
.client-area h2{max-width:12.5ch;font-size:clamp(3rem,4.15vw,4.45rem);line-height:.94}
.client-area .btn-soft{background:#143b29;color:#fff4ce;border-color:#143b29;box-shadow:0 12px 28px rgba(20,59,41,.14)}
.client-area .btn-soft:hover{background:#1b5037;border-color:#1b5037}
.client-area .btn-outline{color:#183a2a;border-color:#78907f;background:rgba(255,255,255,.42)}
.client-area .btn-outline:hover{border-color:#234f39;background:#fffdf8}

/* Produtos visuais: texto respira e a imagem não monopoliza a composição. */
.showcase-card{grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:clamp(38px,5vw,70px)}
.showcase h2{max-width:13.5ch;font-size:clamp(2.75rem,4.05vw,4.35rem)}
.showcase-visual img{background:#0a2118}

/* Os atalhos flutuantes duplicavam ações e cobriam CTAs importantes. */
.onlume-quick-actions,.onlume-quick-toast{display:none!important}

/* Formulário: pistas visuais e foco acessível. */
.field label{font-size:.7rem;color:#435148}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,
.btn:focus-visible,a:focus-visible,button:focus-visible{
  outline:3px solid rgba(201,166,70,.38);
  outline-offset:3px;
}
.consent-label{font-size:.72rem!important;line-height:1.55;color:#46544b!important}
.consent-label a{color:#1f5d40;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.form-hint,.form-footnote{font-size:.7rem!important;color:#68746c!important}

@media(max-width:1050px){
  .menu{gap:12px}.menu a{font-size:.68rem}
  .client-area-grid,.showcase-card{grid-template-columns:1fr 1fr;gap:38px}
}

@media(max-width:980px){.menu{display:none}}

@media(max-width:820px){
  .section{padding:68px 0}.showcase{padding:68px 0}
  .client-area-grid,.showcase-card{grid-template-columns:1fr}
  .client-area h2,.showcase h2{max-width:14ch}
  body{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .header{padding-top:env(safe-area-inset-top)}
  .header .nav{height:68px;gap:12px}
  .header .brand{min-width:0}.header .brand img{width:36px;height:36px}.header .brand-word{font-size:1.2rem}
  .nav-actions{margin-left:auto}.nav-actions .client-cta{width:42px;height:42px}.nav-actions .nav-cta{min-height:42px;padding-inline:16px}
  .mobile-dock{left:10px!important;right:10px!important;bottom:8px!important;border:1px solid rgba(239,216,137,.22)!important;border-radius:19px;padding:7px 6px calc(7px + env(safe-area-inset-bottom))!important;background:rgba(3,16,11,.965)!important;box-shadow:0 16px 46px rgba(0,0,0,.38)}
  .dock-item{min-width:0;min-height:54px!important;border-radius:13px;transition:background .18s,color .18s,transform .18s}
  .dock-item svg{width:21px!important;height:21px!important;stroke-width:1.65!important;stroke-linecap:round;stroke-linejoin:round}
  .dock-item.active{background:rgba(239,216,137,.09);color:#f0d980!important;transform:translateY(-1px)}
  .dock-item span{font-weight:600;letter-spacing:.01em}
  .moment-featured{padding:26px}
}

@media(max-width:560px){
  .section{padding:60px 0}.showcase{padding:60px 0}
  .client-area h2,.showcase h2{font-size:clamp(2.65rem,11.5vw,3.55rem)}
  .header .container{width:calc(100% - 22px)}
  .nav-actions .nav-cta{padding-inline:14px}
  .mobile-dock{left:7px!important;right:7px!important}
  .dock-item{font-size:.56rem!important}
}
