/* plataforma — estilos de seção extraídos do protótipo (concatenados) */
  @keyframes cl-ring{ 0%,100%{ box-shadow:0 0 0 1.5px rgba(255,255,255,.22), 0 18px 50px -12px rgba(0,0,0,.6); } 50%{ box-shadow:0 0 0 4px rgba(255,255,255,.10), 0 18px 60px -10px rgba(0,0,0,.7); } }
  @media (prefers-reduced-motion:reduce){ [data-ring]{ animation:none !important; } }


  .field{ display:grid; grid-template-columns:repeat(14,1fr); gap:clamp(7px,1vw,12px); width:100%; }
  .dot{ aspect-ratio:1; border-radius:3px; background:rgba(124,126,178,.14); transition:none; }
  .dot.on{ background:#F4F4F2; box-shadow:0 0 10px 1px rgba(244,244,242,.35); }
  .dot.warm{ background:#E8552E; box-shadow:0 0 12px 2px rgba(221,57,21,.5); }

  .seg{ display:inline-flex; padding:3px; border-radius:99px; background:rgba(244,244,242,.07); border:1px solid rgba(244,244,242,.12); }
  .seg button{ appearance:none; border:0; cursor:pointer; font-family:inherit; font-size:.84rem; font-weight:600; letter-spacing:.01em; padding:.5rem 1.1rem; border-radius:99px; background:transparent; color:rgba(244,244,242,.6); transition:none; }
  .seg button.on{ background:#F4F4F2; color:#101020; }

  .hdot{ width:8px; height:8px; border-radius:50%; background:#E8552E; margin-top:.5rem; box-shadow:0 0 8px 1px rgba(221,57,21,.45); flex:none; }
  .hli{ display:grid; grid-template-columns:auto 1fr; gap:.95rem; padding:clamp(.85rem,1.8vh,1.15rem) 0; border-top:1px solid rgba(244,244,242,.1); }
  .hli.last{ border-bottom:1px solid rgba(244,244,242,.1); }
  .htit{ font-size:1.04rem; font-weight:700; color:#F4F4F2; letter-spacing:-.01em; }
  .hsub{ font-size:.9rem; line-height:1.4; font-weight:450; color:rgba(244,244,242,.6); margin-top:.15rem; }
  .crow{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem 0; border-top:1px solid rgba(244,244,242,.08); }

  .hdot{ width:8px; height:8px; border-radius:50%; background:#E8552E; margin-top:.5rem; box-shadow:0 0 8px 1px rgba(221,57,21,.45); flex:none; }
  .hli{ display:grid; grid-template-columns:auto 1fr; gap:.95rem; padding:clamp(.85rem,1.8vh,1.15rem) 0; border-top:1px solid rgba(244,244,242,.1); }
  .hli.last{ border-bottom:1px solid rgba(244,244,242,.1); }
  .htit{ font-size:1.04rem; font-weight:700; color:#F4F4F2; letter-spacing:-.01em; }
  .hsub{ font-size:.9rem; line-height:1.4; font-weight:450; color:rgba(244,244,242,.6); margin-top:.15rem; }
  .slot{ padding:.7rem .4rem; border-radius:10px; border:1px solid rgba(244,244,242,.14); text-align:center; font-size:.92rem; font-weight:600; color:rgba(244,244,242,.78); font-variant-numeric:tabular-nums; }
  .slot.gone{ color:rgba(244,244,242,.3); border-color:rgba(244,244,242,.07); text-decoration:line-through; }
  .slot.on{ background:#E8552E; border-color:#E8552E; color:#15131f; box-shadow:0 0 16px 1px rgba(221,57,21,.4); }

  .hdot{ width:8px; height:8px; border-radius:50%; background:#E8552E; margin-top:.5rem; box-shadow:0 0 8px 1px rgba(221,57,21,.45); flex:none; }
  .hli{ display:grid; grid-template-columns:auto 1fr; gap:.95rem; padding:clamp(.85rem,1.8vh,1.15rem) 0; border-top:1px solid rgba(244,244,242,.1); }
  .hli.last{ border-bottom:1px solid rgba(244,244,242,.1); }
  .htit{ font-size:1.04rem; font-weight:700; color:#F4F4F2; letter-spacing:-.01em; }
  .hsub{ font-size:.9rem; line-height:1.4; font-weight:450; color:rgba(244,244,242,.6); margin-top:.15rem; }
  .qopt{ appearance:none; width:100%; text-align:left; cursor:pointer; font-family:inherit; display:flex; align-items:center; gap:.8rem; padding:.95rem 1.1rem; border-radius:12px; border:1px solid rgba(244,244,242,.14); background:rgba(244,244,242,.04); color:#F4F4F2; font-size:1rem; font-weight:600; }
  .qopt:hover{ background:rgba(244,244,242,.08); border-color:rgba(244,244,242,.26); }
  .qopt.on{ background:rgba(232,85,46,.14); border-color:rgba(221,57,21,.45); color:#FF6A3D; }
  .qopt .qmark{ width:20px; height:20px; border-radius:50%; border:1.5px solid rgba(244,244,242,.3); flex:none; display:flex; align-items:center; justify-content:center; }
  .qopt.on .qmark{ border-color:#E8552E; background:#E8552E; }
  .prod{ display:flex; align-items:center; gap:.8rem; padding:.7rem 0; }
  .prodimg{ width:40px; height:40px; border-radius:9px; flex:none; }

  .hdot{ width:8px; height:8px; border-radius:50%; background:#E8552E; margin-top:.5rem; box-shadow:0 0 8px 1px rgba(221,57,21,.45); flex:none; }
  .hli{ display:grid; grid-template-columns:auto 1fr; gap:.95rem; padding:clamp(.85rem,1.8vh,1.15rem) 0; border-top:1px solid rgba(244,244,242,.1); }
  .hli.last{ border-bottom:1px solid rgba(244,244,242,.1); }
  .htit{ font-size:1.04rem; font-weight:700; color:#F4F4F2; letter-spacing:-.01em; }
  .hsub{ font-size:.9rem; line-height:1.4; font-weight:450; color:rgba(244,244,242,.6); margin-top:.15rem; }
  .ckstep{ display:grid; grid-template-columns:auto 1fr; gap:.9rem; align-items:start; }
  .ckbadge{ width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.84rem; font-weight:700; flex:none; }
  .ckrail{ width:1.5px; flex:1; margin:4px 0; }
  .ckfield{ height:9px; border-radius:3px; background:rgba(244,244,242,.1); }

  .hdot{ width:8px; height:8px; border-radius:50%; background:#E8552E; margin-top:.5rem; box-shadow:0 0 8px 1px rgba(221,57,21,.45); flex:none; }
  .hli{ display:grid; grid-template-columns:auto 1fr; gap:.95rem; padding:clamp(.85rem,1.8vh,1.15rem) 0; border-top:1px solid rgba(244,244,242,.1); }
  .hli.last{ border-bottom:1px solid rgba(244,244,242,.1); }
  .htit{ font-size:1.04rem; font-weight:700; color:#F4F4F2; letter-spacing:-.01em; }
  .hsub{ font-size:.9rem; line-height:1.4; font-weight:450; color:rgba(244,244,242,.6); margin-top:.15rem; }
  .badge-star{ display:inline-flex; align-items:center; gap:.4rem; padding:.18rem .6rem; border-radius:99px; background:rgba(232,85,46,.16); border:1px solid rgba(221,57,21,.3); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#FF6A3D; }
  .badge-cash{ display:inline-flex; align-items:center; padding:.18rem .6rem; border-radius:99px; background:rgba(244,244,242,.08); border:1px solid rgba(244,244,242,.18); font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(244,244,242,.8); }
  .affnode{ display:flex; flex-direction:column; align-items:center; gap:.4rem; }
  .affav{ width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.78rem; font-weight:800; flex:none; }

  .hdot{ width:8px; height:8px; border-radius:50%; background:#E8552E; margin-top:.5rem; box-shadow:0 0 8px 1px rgba(221,57,21,.45); flex:none; }
  .hli{ display:grid; grid-template-columns:auto 1fr; gap:.95rem; padding:clamp(.85rem,1.8vh,1.15rem) 0; border-top:1px solid rgba(244,244,242,.1); }
  .hli.last{ border-bottom:1px solid rgba(244,244,242,.1); }
  .htit{ font-size:1.04rem; font-weight:700; color:#F4F4F2; letter-spacing:-.01em; }
  .hsub{ font-size:.9rem; line-height:1.4; font-weight:450; color:rgba(244,244,242,.6); margin-top:.15rem; }
  .push{ display:flex; gap:.7rem; align-items:flex-start; padding:.8rem .85rem; border-radius:13px; background:rgba(28,28,44,.92); border:1px solid rgba(244,244,242,.1); backdrop-filter:blur(8px); box-shadow:0 10px 30px -10px rgba(0,0,0,.6); }
  .pushic{ width:30px; height:30px; border-radius:8px; flex:none; display:flex; align-items:center; justify-content:center; }
  .pushtit{ font-size:.82rem; font-weight:700; color:#F4F4F2; }
  .pushbody{ font-size:.78rem; font-weight:450; color:rgba(244,244,242,.7); margin-top:.1rem; line-height:1.35; }
  .pushtime{ font-size:.68rem; font-weight:500; color:rgba(244,244,242,.4); white-space:nowrap; }

  .hdot{ width:8px; height:8px; border-radius:50%; background:#E8552E; margin-top:.5rem; box-shadow:0 0 8px 1px rgba(221,57,21,.45); flex:none; }
  .hli{ display:grid; grid-template-columns:auto 1fr; gap:.95rem; padding:clamp(.85rem,1.8vh,1.15rem) 0; border-top:1px solid rgba(244,244,242,.1); }
  .hli.last{ border-bottom:1px solid rgba(244,244,242,.1); }
  .htit{ font-size:1.04rem; font-weight:700; color:#F4F4F2; letter-spacing:-.01em; }
  .hsub{ font-size:.9rem; line-height:1.4; font-weight:450; color:rgba(244,244,242,.6); margin-top:.15rem; }
  .cdcell{ display:flex; flex-direction:column; align-items:center; gap:.4rem; }
  .cdnum{ font-size:clamp(2.2rem,4.6vw,3.2rem); font-weight:800; letter-spacing:-.03em; line-height:.9; color:#FF6A3D; font-variant-numeric:tabular-nums; min-width:1.6ch; text-align:center; }
  .cdlbl{ font-size:.66rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,244,242,.45); }
  .cdsep{ font-size:clamp(2rem,4vw,2.8rem); font-weight:700; color:rgba(244,244,242,.25); line-height:.9; }

  .catlink{ display:flex; align-items:center; justify-content:space-between; gap:1.4rem; padding:clamp(1.4rem,3vw,2rem) clamp(1.6rem,3.4vw,2.4rem); border-radius:16px; border:1px solid rgba(244,244,242,.18); background:rgba(255,255,255,.03); text-decoration:none; color:#F4F4F2; transition:none; }
  .catlink:hover{ background:rgba(255,255,255,.06); border-color:rgba(244,244,242,.32); }

  .ccard{ border-radius:18px; border:1px solid rgba(244,244,242,.12); background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.14)); padding:clamp(1.5rem,3vw,2.1rem); display:flex; flex-direction:column; gap:1.2rem; box-shadow:0 30px 70px -28px rgba(0,0,0,.7); }
  .ctit{ font-size:clamp(1.2rem,2vw,1.55rem); font-weight:800; letter-spacing:-.02em; color:#F4F4F2; line-height:1.1; }
  .csub{ font-size:.96rem; line-height:1.45; font-weight:450; color:rgba(244,244,242,.66); }
  .ichip{ display:inline-flex; align-items:center; gap:.45rem; padding:.4rem .8rem; border-radius:99px; border:1px solid rgba(244,244,242,.14); background:rgba(244,244,242,.04); font-size:.84rem; font-weight:600; color:rgba(244,244,242,.78); }
  .ichip.dashed{ border-style:dashed; border-color:rgba(221,57,21,.5); color:#FF6A3D; background:rgba(232,85,46,.08); }
  .pwidget{ display:flex; align-items:center; gap:.7rem; padding:.7rem .8rem; border-radius:11px; border:1px solid rgba(221,57,21,.25); background:rgba(232,85,46,.07); }


/* grade de horários (Serviço) — slot selecionável */
.slot.sel{ background:rgba(232,85,46,.16) !important; border-color:rgba(221,57,21,.55) !important; color:#FF6A3D !important; }
/* itens recomendados do mini-quiz (anamnese) */
.qrec-item{ display:flex; align-items:center; gap:.6rem; padding:.6rem .8rem; border-radius:10px; background:rgba(244,244,242,.05); border:1px solid rgba(244,244,242,.1); font-size:.92rem; font-weight:600; color:#F4F4F2; }
.qrec-item::before{ content:""; width:8px; height:8px; border-radius:2px; background:#E8552E; flex:none; }

/* hero da Plataforma: as funcionalidades "ativadas" (warm) ACENDEM em cascata (com JS) */
.has-js .field .dot.warm { background: rgba(124,126,178,.14); box-shadow: none; transform: scale(.5); transition: background .4s var(--ease), box-shadow .4s var(--ease), transform .4s var(--ease); }
.has-js .field .dot.warm.lit { background: #E8552E; box-shadow: 0 0 12px 2px rgba(221,57,21,.5); transform: scale(1); }
@media (prefers-reduced-motion: reduce) { .has-js .field .dot.warm { background: #E8552E; box-shadow: 0 0 12px 2px rgba(221,57,21,.5); transform: none; transition: none; } }
