/* ===== MÓDULOS ===== */
.mods{background:var(--petrol);color:var(--on-dark);padding:clamp(100px,12vw,150px) 0 clamp(80px,10vw,130px)}
.mods .sec-sub{color:var(--on-dark-2)}
.mods .g{color:var(--green)}
.mods-head{max-width:820px;margin-bottom:clamp(50px,6vw,90px)}
.mods-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}

/* índice fixo */
.mods-index{position:sticky;top:110px;display:flex;flex-direction:column;gap:22px}
.mods-index ol{display:grid;gap:4px}
.mods-index a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;text-decoration:none;color:var(--on-dark-2);font-weight:500;font-size:15px;transition:background .35s var(--ease),color .35s var(--ease)}
.mods-index a span{font:500 12px var(--mono);color:var(--on-dark-2);transition:color .35s var(--ease)}
.mods-index a:hover{color:var(--on-dark);background:rgba(234,240,239,.04)}
.mods-index li.on a{background:rgba(0,180,138,.12);color:var(--on-dark)}
.mods-index li.on a span{color:var(--green)}
.mods-meter{height:3px;border-radius:2px;background:var(--petrol-line);overflow:hidden}
.mods-meter i{display:block;height:100%;background:var(--green);transform-origin:left;transform:scaleX(var(--m,0));transition:transform .5s var(--ease)}
.mods-index .btn{align-self:flex-start}

/* cada módulo */
.mod{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);align-items:center;padding:clamp(56px,7vw,96px) 0;border-top:1px solid var(--petrol-line);scroll-margin-top:90px}
.mod:first-child{border-top:0;padding-top:0}
.mod-num{display:block;font-weight:600;font-stretch:75%;font-size:64px;line-height:.8;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px rgba(0,180,138,.6)}
.mod-tag{display:inline-block;margin-top:18px;font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:6px 10px;border-radius:7px;border:1px solid rgba(0,180,138,.35);color:var(--green)}
.mod h3{margin-top:16px;font-size:clamp(28px,2.7vw,42px);font-weight:600;font-stretch:84%;letter-spacing:-.035em;line-height:1.02}
.mod-text>p{margin-top:16px;color:var(--on-dark-2);font-size:clamp(16px,1.2vw,18px);max-width:46ch}
.mod-feats{margin-top:22px;display:grid;gap:10px}
.mod-feats li{display:flex;align-items:flex-start;gap:12px;font-size:15.5px;color:var(--on-dark)}
.mod-feats li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%230A1A22' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.mod-vis{position:relative}
.mod-vis::before{content:"";position:absolute;inset:8% -6%;background:radial-gradient(closest-side,rgba(0,180,138,.22),transparent);z-index:0;pointer-events:none}
.mk{position:relative;z-index:1;max-width:none}
.mod.reveal{transform:translateY(40px)}
.mod.reveal .mod-vis{opacity:0;transform:translateY(30px) scale(.97);transition:opacity 1s var(--ease) .15s,transform 1s var(--ease) .15s}
.mod.reveal.in{transform:none}
.mod.reveal.in .mod-vis{opacity:1;transform:none}

/* telas dos módulos */
.kb{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kb>div{background:#F6F9F8;border:1px solid var(--line);border-radius:12px;padding:8px;min-height:190px}
.kb>div.win{background:var(--green-soft);border-color:#B7E6D5}
.kb h4{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-2);padding:2px 3px 8px}
.kb h4 em{font:500 11px var(--mono);font-style:normal}
.kb-c{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:8px 9px;margin-bottom:6px}
.kb-c b{display:block;font-size:12.5px}.kb-c small{display:block;font-size:11px;color:var(--ink-3)}
.kb-c em{display:block;margin-top:5px;font:500 10.5px var(--mono);font-style:normal;color:var(--green-text)}
.kb-c.hot{border:2px solid var(--green);box-shadow:0 0 0 3px var(--green-soft),0 10px 22px rgba(0,180,138,.2)}
.props{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pr .ph{height:96px}
.pr b{display:block;margin-top:8px;font-size:13px;line-height:1.25}
.pr small{display:block;font-size:12px;color:var(--ink-3);margin:2px 0 6px}
.match{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;border-radius:12px;background:var(--petrol);color:#fff;font-size:13.5px}
.match svg{width:24px;height:24px;flex:none}
.match b{color:var(--green)}
.mk-wa{display:flex;flex-direction:column;gap:10px;background:#EFF4F2}
.camp{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding:12px 14px;border-radius:12px;background:var(--paper);border:1px solid var(--line)}
.camp small{display:block;font-size:12px;color:var(--ink-3)}
.camp b{font-size:14px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg .f{padding:9px 12px;border-radius:10px;background:#F6F9F8;border:1px solid var(--line);font-size:13px;color:var(--ink-3)}
.seg .f b{color:var(--ink);font-weight:600;margin-left:4px}
.seg .f.add{border-style:dashed;color:var(--green-text)}
.seg-res{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:16px;border-radius:14px;background:var(--green-soft)}
.seg-res small{display:block;font-size:12px;color:var(--green-text)}
.seg-res b{font-size:34px;font-weight:600;font-stretch:84%;letter-spacing:-.03em;line-height:1}
.flow{display:grid;gap:8px;counter-reset:f}
.flow li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#F6F9F8;border:1px solid var(--line)}
.flow i{width:28px;height:28px;flex:none;border-radius:8px;display:grid;place-items:center;background:var(--ink);color:#fff;font:600 12px var(--mono);font-style:normal}
.flow li:nth-child(2) i{background:var(--green);color:var(--ink)}
.flow b{display:block;font-size:13.5px}.flow small{font-size:12px;color:var(--ink-3)}
.ai-sum{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--petrol);color:var(--on-dark);font-size:13.5px;line-height:1.45}
.ai-sum svg{width:24px;height:24px;flex:none}
.ai-sum b{color:var(--green)}

/* e ainda */
.mods-more{padding-top:clamp(40px,5vw,70px);border-top:1px solid var(--petrol-line)}
.more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.more-grid div{padding:20px;border-radius:16px;background:rgba(234,240,239,.04);border:1px solid var(--petrol-line);transition:border-color .35s var(--ease),transform .35s var(--ease)}
.more-grid div:hover{border-color:rgba(0,180,138,.45);transform:translateY(-3px)}
.more-grid b{display:block;font-size:17px;letter-spacing:-.01em}
.more-grid small{display:block;margin-top:6px;font-size:14px;color:var(--on-dark-2)}

@media (max-width:1180px){
  .mod{grid-template-columns:1fr;gap:28px}
  .mod-vis{max-width:640px}
}
@media (max-width:960px){
  .mods-grid{grid-template-columns:1fr}
  .mods-index{display:none}
  .more-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .kb{grid-template-columns:1fr 1fr}.kb>div:nth-child(n+3){display:none}
  .props{grid-template-columns:1fr 1fr}.props .pr:nth-child(3){display:none}
  .more-grid{grid-template-columns:1fr}
  .mod-num{font-size:52px}
}
@media (prefers-reduced-motion:reduce){
  .mod.reveal,.mod.reveal .mod-vis{opacity:1!important;transform:none!important}
}
.mods-index a.btn{padding:11px 18px;border-radius:999px;color:var(--ink);background:var(--green);font-weight:600;font-size:14px}
.mods-index a.btn:hover{background:#12C597;color:var(--ink)}
.seg-res .btn-wa{white-space:nowrap}
.more-grid{grid-template-columns:repeat(3,1fr)}@media (max-width:960px){.more-grid{grid-template-columns:1fr}}
