/* ===== Sinergia ===== */
.syn-hero{padding-bottom:90px}
.map-wrap{max-width:1180px;margin:60px auto 0;padding:0 22px;display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:center;position:relative}
.map{position:relative;aspect-ratio:1;width:100%;max-width:640px;justify-self:center}
.map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.edge{fill:none;stroke:rgba(255,255,255,.12);stroke-width:.25;stroke-linecap:round;stroke-dasharray:200;stroke-dashoffset:200;transition:stroke .4s,stroke-width .4s,opacity .4s}
.map-wrap.in .edge{animation:draw 1.6s var(--ease) forwards;animation-delay:var(--d)}
@keyframes draw{to{stroke-dashoffset:0}}
.map.focus .edge{opacity:.25}
.map.focus .edge.on{opacity:1;stroke:url(#none);stroke:#4FB0FF;stroke-width:.55;filter:drop-shadow(0 0 1.2px #2E9EF4)}
.map-core{position:absolute;left:50%;top:50%;width:19%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:#fff;overflow:hidden;box-shadow:0 0 0 8px rgba(46,158,244,.12),0 0 60px 6px rgba(46,158,244,.45)}
.map-core img{width:100%;height:100%;object-fit:cover}
.map-core::after{content:"";position:absolute;inset:-30%;border-radius:50%;border:1px solid rgba(46,158,244,.35);animation:ring 3s ease-out infinite}
@keyframes ring{from{transform:scale(.6);opacity:1}to{transform:scale(1.2);opacity:0}}
.node{position:absolute;width:13%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;transition:transform .45s var(--ease),filter .45s,opacity .45s;z-index:2}
.node img{width:100%;height:100%;object-fit:contain;border-radius:50%;filter:drop-shadow(0 10px 20px rgba(0,0,0,.6))}
.node span{position:absolute;left:50%;top:104%;transform:translateX(-50%);font-size:12px;font-weight:600;color:#E8E8ED;white-space:nowrap;opacity:.8;transition:opacity .3s,color .3s}
.node:hover,.node.on{transform:translate(-50%,-50%) scale(1.18)}
.node.on img{filter:drop-shadow(0 0 18px var(--c)) drop-shadow(0 10px 20px rgba(0,0,0,.6))}
.node.on span{color:#fff;opacity:1}
.map.focus .node:not(.on):not(.lit){opacity:.28;filter:grayscale(.6)}
.map.focus .node.lit{transform:translate(-50%,-50%) scale(1.06)}
.map-info{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:26px;padding:28px;text-align:left;min-height:420px;backdrop-filter:blur(10px)}
.mi-empty{color:#A1A1A6;font-size:17px;line-height:1.5;height:100%;display:flex;align-items:center}
.mi-empty b{color:#fff}
.mi-head{display:flex;gap:14px;align-items:center}
.mi-head img{width:56px;height:56px;object-fit:contain}
.mi-head b{display:block;font-size:26px;letter-spacing:-.03em;color:#fff}
.mi-head span{color:#A1A1A6;font-size:14px}
.mi-k{margin:20px 0 10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c)}
.map-info ul{list-style:none;display:grid;gap:12px}
.map-info li{display:flex;gap:12px;align-items:flex-start;animation:flyIn .4s var(--ease) both}
.map-info li:nth-child(2){animation-delay:.05s}.map-info li:nth-child(3){animation-delay:.1s}.map-info li:nth-child(4){animation-delay:.15s}.map-info li:nth-child(5){animation-delay:.2s}.map-info li:nth-child(6){animation-delay:.25s}
.map-info li img{width:32px;height:32px;object-fit:contain;flex:0 0 32px}
.map-info li b{display:block;color:#fff;font-size:15px}
.map-info li span{color:#A1A1A6;font-size:14px;line-height:1.4}
.map-info .link-more{margin-top:18px;font-size:15px;color:var(--link-dark)}
.map-count{text-align:center;color:#A1A1A6;margin-top:40px;font-size:17px}
.map-count b{color:#fff;font-size:22px}

/* ciclo */
.cycle{display:flex;align-items:stretch;gap:10px;margin-top:44px}
.stage{flex:1;background:var(--gray);border-radius:24px;padding:24px 20px;display:flex;flex-direction:column}
.st-n{font-size:13px;font-weight:600;color:var(--sky)}
.stage h3{font-size:24px;font-weight:700;letter-spacing:-.03em;margin-top:8px}
.stage p{color:var(--ink-2);font-size:15px;margin-top:6px}
.st-logos{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:20px}
.st-logos a{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;background:#fff;border-radius:14px;padding:8px 10px;transition:transform .3s var(--ease)}
.st-logos a:hover{transform:translateX(4px)}
.st-logos img{width:32px;height:32px;object-fit:contain}
.st-arrow{display:grid;place-items:center;color:#C7C7CC;flex:0 0 20px}
.st-arrow svg{width:20px;height:20px}
.loop{display:flex;align-items:center;gap:14px;margin-top:20px;padding:20px 24px;border-radius:20px;background:linear-gradient(90deg,#E7F3FE,#E6FAFC);color:#1D1D1F;font-size:16px}
.loop svg{width:28px;height:28px;color:var(--sky);flex:0 0 28px}

/* jornada */
.journey{list-style:none;margin-top:50px;position:relative;max-width:820px}
.journey::before{content:"";position:absolute;left:31px;top:20px;bottom:20px;width:2px;background:linear-gradient(180deg,#EAB308,#22C55E,#F97316,#EF3B3B,#E8338B,#1A6BF0,#2E7BFF)}
.jr{display:flex;gap:24px;align-items:flex-start;padding:14px 0;position:relative}
.jr-dot{flex:0 0 64px;height:64px;border-radius:50%;background:#000;display:grid;place-items:center;position:relative;z-index:1;box-shadow:0 0 0 6px #000}
.jr-dot img{width:60px;height:60px;object-fit:contain;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--c) 70%,transparent))}
.jr-k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c)}
.jr h3{font-size:clamp(22px,2.4vw,30px);font-weight:700;letter-spacing:-.03em;margin-top:2px}
.jr p{color:#A1A1A6;margin-top:4px}

/* montador */
.builder{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-top:40px;align-items:start}
.picks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pick{display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:14px;text-align:left;border:2px solid transparent;position:relative;transition:border-color .25s,transform .25s var(--ease),box-shadow .25s}
.pick:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(0,0,0,.3)}
.pick img{width:44px;height:44px;object-fit:contain;flex:0 0 44px}
.pick b{display:block;font-size:16px;letter-spacing:-.01em}
.pick small{display:block;color:var(--ink-2);font-size:12.5px}
.pick .ck{position:absolute;right:12px;top:12px;width:22px;height:22px;border-radius:50%;border:2px solid #D2D2D7;transition:.25s}
.pick.on{border-color:var(--c);box-shadow:0 14px 34px -18px var(--c)}
.pick.on .ck{background:var(--c) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/13px no-repeat;border-color:var(--c)}
.result{background:#000;color:#F5F5F7;border-radius:26px;padding:28px;position:sticky;top:120px}
.r-top{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px}
.r-logos{display:flex;flex-wrap:wrap}
.r-logos img{width:44px;height:44px;object-fit:contain;margin-right:-8px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.6));animation:pop .35s var(--ease)}
@keyframes pop{from{transform:scale(.4);opacity:0}}
.r-hint{color:#86868B;font-size:14px}
.r-clear{font-size:13px;color:#86868B;border:1px solid #333;border-radius:980px;padding:6px 12px}
.r-clear:hover{color:#fff;border-color:#666}
.r-meter{margin-top:20px}
.r-meter-lbl{display:flex;justify-content:space-between;font-size:14px;color:#A1A1A6}
.r-meter-lbl b{color:#fff;font-size:18px}
.r-bar{height:10px;border-radius:10px;background:#1d1d21;margin-top:8px;overflow:hidden}
.r-bar span{display:block;height:100%;width:0;border-radius:10px;background:var(--grad);transition:width .6s var(--ease)}
.r-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.r-stats div{background:#111113;border-radius:16px;padding:14px 16px}
.r-stats b{display:block;font-size:30px;letter-spacing:-.03em;line-height:1}
.r-stats span{color:#86868B;font-size:13px}
.result h4{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#86868B;margin:24px 0 12px}
.r-list{list-style:none;display:grid;gap:12px;max-height:340px;overflow:auto;padding-right:4px}
.r-list li{display:flex;gap:12px;align-items:flex-start;animation:flyIn .35s var(--ease) both}
.r-pair{display:flex;flex:0 0 54px}
.r-pair img{width:30px;height:30px;object-fit:contain}
.r-pair img+img{margin-left:-6px}
.r-list b{display:block;font-size:14px}
.r-list span{color:#A1A1A6;font-size:13.5px;line-height:1.4}
.r-empty{color:#86868B;font-size:15px}
.r-sug{flex-direction:column;gap:8px!important;padding-top:10px;border-top:1px solid #222}
.r-sug>span{font-size:13px;color:#86868B}
.r-sug button{display:inline-flex;align-items:center;gap:8px;background:#111113;border:1px solid #2a2a2e;border-radius:980px;padding:6px 14px 6px 6px;color:#fff;font-size:14px;font-weight:600;margin-right:8px;transition:border-color .2s}
.r-sug button:hover{border-color:var(--c)}
.r-sug button img{width:26px;height:26px;object-fit:contain}
.r-sug small{color:#86868B;font-weight:400}
.r-cta{width:100%;margin-top:22px}

/* combos prontos */
.combos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.combo{background:var(--gray);border-radius:26px;padding:30px;display:flex;flex-direction:column;position:relative;transition:transform .4s var(--ease),box-shadow .4s}
.combo:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(0,0,0,.25)}
.combo.hot{grid-column:span 2;background:radial-gradient(120% 120% at 100% 0%,#123A6B,#000 60%);color:#F5F5F7}
.combo-badge{position:absolute;right:24px;top:24px;font-size:12px;font-weight:600;color:#000;background:#F5A524;border-radius:980px;padding:5px 12px}
.combo-logos{display:flex;margin-bottom:18px}
.combo-logos img{width:52px;height:52px;object-fit:contain;margin-right:-10px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.25))}
.combo-goal{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sky)}
.combo h3{font-size:26px;font-weight:700;letter-spacing:-.03em;margin-top:4px}
.combo-names{font-size:14px;font-weight:600;color:var(--ink-2);margin-top:4px}
.combo.hot .combo-names{color:#A1A1A6}
.combo p{color:#424245;margin-top:12px;font-size:16px}
.combo.hot p{color:#C7C7CC;max-width:640px}
.combo .combo-res{font-weight:600;color:var(--ink)}
.combo.hot .combo-res{color:#fff}
.combo-ctas{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:22px}
.combo .link-more{font-size:15px}
.combo.hot .link-more{color:var(--link-dark)}

.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.wg{background:#fff;border-radius:24px;padding:28px}
.wg .ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#E7F3FE;color:var(--sky)}
.wg .ico svg{width:24px;height:24px}
.wg h3{font-size:21px;font-weight:700;letter-spacing:-.02em;margin-top:22px}
.wg p{color:var(--ink-2);margin-top:8px;font-size:15px}

@media (max-width:1068px){
  .map-wrap{grid-template-columns:1fr}
  .map-info{min-height:0}
  .cycle{flex-direction:column}
  .st-arrow{transform:rotate(90deg);height:20px}
  .builder{grid-template-columns:1fr}
  .result{position:static}
  .combos{grid-template-columns:1fr 1fr}
  .combo.hot{grid-column:span 2}
  .why-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .node span{font-size:10px}
  .picks{grid-template-columns:1fr}
  .combos{grid-template-columns:1fr}
  .combo.hot{grid-column:auto}
  .why-grid{grid-template-columns:1fr}
  .journey::before{left:23px}
  .jr-dot{flex-basis:48px;height:48px}
  .jr-dot img{width:46px;height:46px}
  .jr{gap:16px}
}
