/* Para quem: composição fiel ao ecossistema aprovado. */
#para-quem.has-ecosystem {
  --eco-ink:#0b3031;
  --eco-green:#007d59;
  --wave-base:#dff8ee;
  color:var(--eco-ink);
  overflow:visible;
  background-image:
    linear-gradient(180deg,var(--wave-base),transparent 84px),
    radial-gradient(ellipse at 69% 50%,rgba(67,228,170,.4),transparent 48%),
    radial-gradient(ellipse at 92% 11%,rgba(86,232,203,.33),transparent 38%),
    linear-gradient(125deg,#f6fff9 0%,#e7fcf4 51%,#d8f8eb 100%)!important;
}
#para-quem.has-ecosystem > .wrap { width:min(1240px,calc(100% - 48px)); max-width:none; }
#para-quem .eco-layout { display:grid; grid-template-columns:minmax(0,31%) minmax(0,69%); align-items:center; gap:0; }
#para-quem .eco-editorial { position:relative; z-index:2; padding:0 0 12px 0; }
#para-quem .eco-editorial .audience-heading { display:block; margin:0 0 clamp(38px,5vw,76px); }
#para-quem .eco-editorial .section-title { max-width:15ch; margin-top:30px; font-size:clamp(30px,2.6vw,46px); line-height:1.04; letter-spacing:-.055em; color:var(--eco-ink); }
#para-quem .eco-editorial .section-title span { color:#00966a!important; }
#para-quem .eco-editorial .kicker { color:var(--eco-green)!important; font-size:clamp(11px,.83vw,14px); letter-spacing:.15em; font-weight:800; }
#para-quem .eco-copy[hidden],#para-quem .eco-panel[hidden] { display:none!important; }
#para-quem .eco-copy h3 { margin:22px 0 16px; color:var(--eco-ink); font-size:clamp(25px,2.4vw,40px); line-height:1.07; letter-spacing:-.048em; }
#para-quem .eco-copy p { max-width:33ch; margin:0 0 32px; color:#315460; font-size:clamp(14px,1.05vw,18px); line-height:1.52; }
#para-quem .eco-copy a { display:inline-flex; align-items:center; gap:16px; min-height:44px; color:#008259; font-size:clamp(14px,1vw,17px); font-weight:800; text-decoration:none; }
#para-quem .eco-copy a:hover { text-decoration:underline; }
#para-quem .eco-copy a .i { width:23px; height:23px; }
#para-quem .eco-experience { min-width:0; container-type:inline-size; position:relative; isolation:isolate; padding:8px 0 0; }
#para-quem .eco-experience::before { content:""; position:absolute; z-index:-1; width:98%; aspect-ratio:1; left:3%; top:-7%; border:1px solid rgba(255,255,255,.55); border-radius:50%; box-shadow:0 0 0 58px rgba(255,255,255,.16),0 0 0 116px rgba(255,255,255,.09); pointer-events:none; }
#para-quem .eco-experience::after { content:""; position:absolute; z-index:-1; inset:12% 4%; pointer-events:none; background:radial-gradient(circle at 22% 29%,#dffff0 0 3px,transparent 4px),radial-gradient(circle at 86% 39%,#effff7 0 2px,transparent 3px),radial-gradient(circle at 58% 88%,#f5fff9 0 3px,transparent 4px); filter:drop-shadow(0 0 6px #3bffb2); }
#para-quem .eco-tabs { position:relative; z-index:5; display:flex; width:max-content; max-width:100%; margin:0 auto clamp(12px,2cqw,24px); padding:3px; border:1px solid rgba(255,255,255,.82); border-radius:999px; background:rgba(242,255,250,.76); box-shadow:0 12px 32px rgba(7,126,87,.13); }
#para-quem .eco-tabs button { display:flex; align-items:center; justify-content:center; gap:11px; min-height:58px; padding:11px clamp(12px,2.5cqw,32px); border:0; border-radius:999px; background:transparent; color:#245765; font-family:inherit; font-size:clamp(12px,1.65cqw,18px); font-weight:700; line-height:1.2; white-space:nowrap; cursor:pointer; transition:background .24s ease,box-shadow .24s ease,color .24s ease; }
#para-quem .eco-tabs button[aria-selected="true"] { color:#fff; background:linear-gradient(150deg,#01b96e,#00563f 72%); box-shadow:inset 0 1px rgba(255,255,255,.65),0 9px 22px rgba(0,139,82,.27); }
#para-quem .eco-tabs svg { width:25px; height:25px; flex:none; }
#para-quem .eco-board { position:relative; width:100%; aspect-ratio:900/510; isolation:isolate; }
#para-quem .eco-board::before { content:""; position:absolute; z-index:-2; width:72%; aspect-ratio:1; left:15%; top:-7%; border-radius:50%; background:radial-gradient(circle,rgba(45,237,150,.45),rgba(70,226,174,.22) 40%,transparent 71%); filter:blur(12px); }
#para-quem .eco-orbits { position:absolute; z-index:-1; width:65%; aspect-ratio:1; left:50%; top:52%; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.52); border-radius:50%; box-shadow:0 0 0 52px rgba(255,255,255,.13),0 0 0 105px rgba(255,255,255,.1); pointer-events:none; }
#para-quem .eco-orbits::before,#para-quem .eco-orbits::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.52); border-radius:50%; }
#para-quem .eco-orbits::before { inset:13%; }
#para-quem .eco-orbits::after { inset:26%; }
#para-quem .eco-connections { position:absolute; z-index:0; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
#para-quem .eco-connections path { fill:none; stroke-linecap:round; vector-effect:non-scaling-stroke; }
#para-quem .eco-wire-glow path { stroke:#3bf3a4; stroke-width:8; opacity:.55; filter:blur(5px); }
#para-quem .eco-wires path { stroke:#06b87b; stroke-width:2; filter:drop-shadow(0 0 2px #d5fff0); }
#para-quem .eco-wire-flow path { stroke:#effff4; stroke-width:3; stroke-dasharray:9 91; opacity:0; filter:drop-shadow(0 0 4px #80ffbd); }
#para-quem .eco-nodes circle { fill:#f6fff9; stroke:#0cdd8e; stroke-width:2; filter:drop-shadow(0 0 6px #19f2a5); }
#para-quem .eco-core { position:absolute; z-index:2; width:23%; aspect-ratio:1; left:50%; top:49.5%; transform:translate(-50%,-50%); filter:drop-shadow(0 20px 22px rgba(0,116,76,.26)) drop-shadow(0 0 25px rgba(37,255,165,.72)); pointer-events:none; }
#para-quem .eco-core-layer { position:absolute; width:76%; height:76%; left:12%; border-radius:15%; transform:scaleY(.6) rotate(45deg); border:2px solid rgba(190,255,213,.95); background:linear-gradient(148deg,#01bc79 0%,#00674c 52%,#00e193 100%); box-shadow:inset 0 2px 7px rgba(255,255,255,.55),inset 0 -15px 20px rgba(0,38,31,.55),0 0 17px rgba(9,255,159,.52); }
#para-quem .eco-core-layer--back { top:28%; background:linear-gradient(140deg,#007e61,#00533e 55%,#16fbb5); }
#para-quem .eco-core-layer--middle { top:19%; background:linear-gradient(140deg,#006447,#004e39 53%,#24efab); }
#para-quem .eco-core-layer--front { top:10%; display:grid; place-items:center; background:linear-gradient(140deg,#05d985,#00764f 52%,#005840); }
#para-quem .eco-leaf-mark { width:44%; height:58%; object-fit:contain; transform:rotate(-45deg) scaleY(1.66); filter:brightness(1.5) saturate(.8) drop-shadow(0 3px 4px rgba(0,32,25,.55)); }
#para-quem .eco-card { position:absolute; z-index:3; display:block; box-sizing:border-box; width:35%; min-height:18%; padding:1.8cqw 2.2cqw; border:1px solid rgba(255,255,255,.96); border-radius:3.3cqw; background:linear-gradient(130deg,rgba(255,255,255,.93),rgba(239,255,248,.84)); box-shadow:0 14px 30px rgba(13,147,93,.14),inset 0 1px rgba(255,255,255,.92); color:var(--eco-ink); text-decoration:none; backdrop-filter:blur(8px); transition:transform .24s ease,box-shadow .24s ease; }
#para-quem .eco-card--0 { left:9%; top:3%; }
#para-quem .eco-card--1 { right:6%; top:3%; }
#para-quem .eco-card--2 { left:0; top:38%; width:32%; }
#para-quem .eco-card--3 { right:0; top:38%; width:32%; }
#para-quem .eco-card--4 { left:6%; bottom:3%; }
#para-quem .eco-card--5 { right:4%; bottom:3%; }
#para-quem .eco-card-heading { display:flex; align-items:center; gap:2.2cqw; }
#para-quem .eco-card-icon { display:grid; place-items:center; flex:none; width:7.2cqw; height:7.2cqw; border-radius:2cqw; background:linear-gradient(145deg,#ebfff1,#8aefba); color:#006d40; box-shadow:inset 0 1px #fff,0 5px 13px rgba(10,171,102,.12); }
#para-quem .eco-card-icon svg { width:4.2cqw; height:4.2cqw; }
#para-quem .eco-experience svg:not(.eco-connections) { fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
#para-quem .eco-card h4 { margin:0 0 .5cqw; font-size:clamp(13px,2.05cqw,22px); line-height:1.15; letter-spacing:-.035em; font-weight:800; color:#102b3a; }
#para-quem .eco-card p { margin:0; font-size:clamp(11px,1.6cqw,17px); line-height:1.28; color:#294d60; }
#para-quem .eco-footer { display:flex; justify-content:center; align-items:center; gap:2.2cqw; width:max-content; max-width:100%; min-height:55px; margin:clamp(12px,2cqw,26px) auto 0; padding:8px 4cqw; border:1px solid rgba(255,255,255,.85); border-radius:999px; background:linear-gradient(100deg,rgba(239,255,246,.89),rgba(191,252,224,.76)); color:#00805c; box-shadow:0 12px 27px rgba(20,183,124,.16); font-size:clamp(10px,1.4cqw,15px); font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
#para-quem .eco-card:hover { transform:translateY(-4px); box-shadow:0 20px 35px rgba(13,147,93,.23); }
#para-quem .eco-card:focus-visible,#para-quem .eco-tabs button:focus-visible,#para-quem .eco-copy a:focus-visible { outline:3px solid #006a53; outline-offset:4px; }
@keyframes eco-flow { 0%{stroke-dashoffset:0;opacity:0} 16%,75%{opacity:.8} 100%{stroke-dashoffset:-100;opacity:0} }
@keyframes eco-float { 50%{ transform:translate(-50%,-51.5%); } }
@keyframes eco-glow { 50%{ opacity:.75; } }
@media (prefers-reduced-motion:no-preference) {
  #para-quem .eco-visible .eco-core.reveal-complete { animation:eco-float 5.5s ease-in-out infinite; }
  #para-quem .eco-visible .eco-board::before { animation:eco-glow 4.8s ease-in-out infinite; }
  #para-quem .eco-visible::after { animation:eco-glow 5.9s ease-in-out infinite; }
  #para-quem .eco-visible .eco-wire-flow path { animation:eco-flow 5s linear infinite; animation-delay:var(--flow-delay); }
}
@media (max-width:1050px) {
  #para-quem .eco-layout { display:block; }
  #para-quem .eco-editorial { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:24px; padding:0 0 32px; }
  #para-quem .eco-editorial .audience-heading { margin:0; }
  #para-quem .eco-editorial .section-title { margin-top:16px; }
  #para-quem .eco-experience { max-width:900px; margin-inline:auto; }
}
@media (max-width:700px) {
  #para-quem.has-ecosystem > .wrap { width:calc(100% - 32px); }
  #para-quem .eco-editorial { display:block; padding-bottom:26px; }
  #para-quem .eco-editorial .audience-heading { margin-bottom:28px; }
  #para-quem .eco-editorial .section-title { font-size:clamp(32px,8vw,46px); }
  #para-quem .eco-copy h3 { font-size:clamp(27px,7vw,36px); }
  #para-quem .eco-copy p { max-width:42ch; }
  #para-quem .eco-tabs { width:100%; }
  #para-quem .eco-tabs button { flex:1; min-width:0; min-height:48px; padding:8px 5px; white-space:normal; font-size:clamp(11px,3vw,14px); }
  #para-quem .eco-tabs svg { width:20px; height:20px; }
  #para-quem .eco-board { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 28px; width:100%; aspect-ratio:auto; padding-top:230px; }
  #para-quem .eco-board::before { width:300px; max-width:100%; height:230px; aspect-ratio:auto; left:50%; top:0; transform:translateX(-50%); }
  #para-quem .eco-orbits { width:210px; top:115px; }
  #para-quem .eco-core { width:150px; top:106px; }
  #para-quem .eco-card { position:relative; inset:auto; width:auto; min-height:80px; padding:11px; border-radius:16px; }
  #para-quem .eco-card-heading { gap:8px; }
  #para-quem .eco-card-icon { width:35px; height:35px; border-radius:10px; }
  #para-quem .eco-card-icon svg { width:22px; height:22px; }
  #para-quem .eco-card h4 { margin:0 0 4px; font-size:13px; }
  #para-quem .eco-card p { font-size:11px; }
  #para-quem .eco-footer { min-height:42px; padding:8px 12px; font-size:9px; letter-spacing:.06em; gap:9px; }
}
@media (prefers-reduced-motion:reduce) {
  #para-quem .eco-experience *,#para-quem .eco-experience *::before,#para-quem .eco-experience *::after { animation:none!important; transition:none!important; }
}

/* Compact ecosystem and interactive cards. */
@media (min-width:1051px) {
  #para-quem .eco-experience { width:88%; margin-left:auto; }
}
#para-quem .eco-experience::before { width:50%; left:25%; top:20%; box-shadow:0 0 0 22px rgba(255,255,255,.1),0 0 0 42px rgba(255,255,255,.05); }
#para-quem .eco-orbits { width:32%; box-shadow:0 0 0 12px rgba(255,255,255,.08),0 0 0 24px rgba(255,255,255,.04); }
#para-quem .eco-board::before { width:54%; left:23%; top:4%; background:radial-gradient(circle,rgba(20,246,146,.58),rgba(70,226,174,.18) 48%,transparent 72%); }
#para-quem .eco-tabs button { min-height:44px; padding:6px clamp(10px,1.8cqw,22px); font-size:clamp(11px,1.3cqw,14px); }
#para-quem .eco-tabs svg { width:19px; height:19px; }
#para-quem .eco-core { filter:drop-shadow(0 12px 21px rgba(0,116,76,.3)) drop-shadow(0 0 34px rgba(24,255,152,.9)); }
#para-quem .eco-core-layer { border-color:#b8ffe0; box-shadow:inset 0 2px 8px rgba(255,255,255,.65),inset 0 -13px 17px rgba(0,38,31,.55),0 0 20px rgba(12,255,151,.85); }
#para-quem .eco-leaf-mark { width:34%; height:48%; }
#para-quem .eco-footer { min-height:40px; margin-top:12px; padding:5px 2.4cqw; font-size:clamp(10px,1.1cqw,12px); letter-spacing:.1em; transform:translateY(32px); }
#para-quem .eco-card { width:28.5%; min-height:15%; padding:0; overflow:visible; appearance:none; font-family:inherit; text-align:left; cursor:pointer; background:transparent; border:0; box-shadow:none; backdrop-filter:none; perspective:900px; }
#para-quem .eco-card--0 { left:12%; top:5%; }
#para-quem .eco-card--1 { right:9%; top:5%; }
#para-quem .eco-card--2 { left:2%; top:39%; width:26.5%; }
#para-quem .eco-card--3 { right:2%; top:39%; width:26.5%; }
#para-quem .eco-card--4 { left:9%; bottom:5%; }
#para-quem .eco-card--5 { right:7%; bottom:5%; }
#para-quem .eco-card-inner { display:block; position:relative; width:100%; min-height:clamp(82px,8.9cqw,112px); transform-style:preserve-3d; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
#para-quem .eco-card.is-flipped { z-index:8; }
#para-quem .eco-card.is-flipped .eco-card-inner { min-height:clamp(120px,12cqw,150px); transform:rotateY(180deg); }
#para-quem .eco-card-face { display:flex; position:absolute; inset:0; flex-direction:column; justify-content:center; box-sizing:border-box; padding:1.2cqw 1.6cqw; border:1px solid rgba(255,255,255,.96); border-radius:2.8cqw; background:linear-gradient(130deg,rgba(255,255,255,.96),rgba(239,255,248,.9)); box-shadow:0 12px 27px rgba(13,147,93,.14),inset 0 1px rgba(255,255,255,.92); backface-visibility:hidden; -webkit-backface-visibility:hidden; }
#para-quem .eco-card-back { justify-content:flex-start; overflow:hidden; transform:rotateY(180deg); background:linear-gradient(140deg,#eafff1,#d4f8e6); }
#para-quem .eco-card-back > strong { font-size:clamp(11px,1.5cqw,16px); line-height:1.2; }
#para-quem .eco-card-detail { display:block; margin-top:5px; font-size:clamp(9px,1.03cqw,11px); line-height:1.2; color:#28594e; }
#para-quem .eco-card-detail > * { margin:2px 0; }
#para-quem .eco-card-detail .eco-status-row { display:flex; justify-content:space-between; gap:4px; }
#para-quem .eco-card-detail .eco-status { font-size:inherit; }
#para-quem .eco-card-detail .eco-progress { display:flex; align-items:center; gap:5px; }
#para-quem .eco-card-detail .eco-progress > span { flex:1; height:5px; border-radius:8px; background:#b6dec9; }
#para-quem .eco-card-detail .eco-progress i { display:block; width:80%; height:100%; border-radius:8px; background:#09a466; }
#para-quem .eco-card-detail .eco-avatars { display:flex; gap:3px; }
#para-quem .eco-card-detail .eco-avatars span { padding:2px 4px; border-radius:20px; background:#b6e9d0; }
#para-quem .eco-card-detail .eco-week { display:flex; justify-content:space-between; }
#para-quem .eco-card-detail .eco-week .is-today { color:#008352; font-weight:800; }
#para-quem .eco-card-detail .eco-bars { display:flex; gap:4px; }
#para-quem .eco-card-detail .eco-bars i { width:30%; height:4px; background:#a8d6c1; border-radius:4px; }
#para-quem .eco-card-return { display:block; margin-top:auto; color:#007d59; font-size:clamp(9px,1cqw,11px); font-weight:750; }
#para-quem .eco-card-heading { gap:1.4cqw; }
#para-quem .eco-card-icon { width:5.7cqw; height:5.7cqw; border-radius:1.5cqw; }
#para-quem .eco-card-icon svg { width:3.5cqw; height:3.5cqw; }
#para-quem .eco-card-front strong { display:block; color:#102b3a; font-size:clamp(12px,1.6cqw,17px); line-height:1.15; }
#para-quem .eco-card-front small { display:block; margin-top:4px; color:#294d60; font-size:clamp(10px,1.3cqw,14px); line-height:1.25; }
#para-quem .eco-card:hover { transform:translateY(-3px); box-shadow:none; }
@keyframes eco-core-pulse { 50% { filter:drop-shadow(0 12px 21px rgba(0,116,76,.32)) drop-shadow(0 0 45px rgba(24,255,152,1)); } }
@media (prefers-reduced-motion:no-preference) { #para-quem .eco-visible .eco-core.reveal-complete { animation:eco-float 5.5s ease-in-out infinite,eco-core-pulse 3.8s ease-in-out infinite; } }
@media (max-width:700px) {
  #para-quem .eco-experience::before { top:0; width:230px; left:calc(50% - 115px); }
  #para-quem .eco-orbits { width:155px; top:115px; }
  #para-quem .eco-card { position:relative; inset:auto; width:auto; min-height:82px; }
  #para-quem .eco-card-inner { min-height:95px; }
  #para-quem .eco-card.is-flipped .eco-card-inner { min-height:150px; }
  #para-quem .eco-card-face { padding:8px; border-radius:15px; }
  #para-quem .eco-card-icon { width:30px; height:30px; border-radius:9px; }
  #para-quem .eco-card-icon svg { width:20px; height:20px; }
  #para-quem .eco-card-front strong { font-size:12px; }
  #para-quem .eco-card-front small { font-size:10px; }
  #para-quem .eco-card-detail { font-size:9px; }
}

/* Fixed card geometry keeps the connection endpoints still during the flip. */
#para-quem .eco-card-inner,
#para-quem .eco-card.is-flipped .eco-card-inner { height:96px; min-height:0; }
#para-quem .eco-card-return { display:none; }
#para-quem .eco-card-back { padding-block:.8cqw; }
#para-quem .eco-card-face { background:linear-gradient(140deg,#f5fff9 0%,#dcf9e9 55%,#c8f2df 100%); box-shadow:0 12px 27px rgba(13,147,93,.16),inset 0 1px rgba(255,255,255,.95); }
#para-quem .eco-card:hover { transform:none; }
#para-quem .eco-card:hover .eco-card-face { box-shadow:0 15px 30px rgba(13,147,93,.23),inset 0 1px rgba(255,255,255,.95); }
#para-quem .eco-card-back { background:linear-gradient(145deg,#eafff2,#c8efd9); }
#para-quem .eco-card-front { padding-right:2.8cqw; }
#para-quem .eco-card-heading { width:100%; min-width:0; align-items:center; }
#para-quem .eco-card-heading > span:last-child { min-width:0; }
#para-quem .eco-card-front strong { letter-spacing:-.02em; }
#para-quem .eco-card-detail { width:100%; }
#para-quem .eco-card-detail .eco-status-row { align-items:center; padding-block:2px; border-bottom:1px solid rgba(0,128,85,.12); }
#para-quem .eco-card-detail .eco-status-row:last-child { border-bottom:0; }
#para-quem .eco-card-detail .eco-presence { display:flex; align-items:center; justify-content:space-between; gap:6px; }
#para-quem .eco-card-detail .eco-presence small { display:block; }
#para-quem .eco-card-detail .eco-pay { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
#para-quem .eco-card-detail .eco-pay b { padding:2px 5px; border-radius:8px; background:#b5e9ca; }
#para-quem .eco-card-detail .eco-note { padding-top:3px; border-top:1px solid rgba(0,128,85,.12); }
#para-quem .eco-flip-hint { position:absolute; z-index:2; top:9px; right:10px; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; color:#07875d; background:rgba(213,248,228,.9); box-shadow:0 1px 4px rgba(0,90,61,.13); pointer-events:none; }
#para-quem .eco-flip-hint svg { width:12px; height:12px; }
#para-quem .eco-orbits { width:32%; box-shadow:0 0 0 12px rgba(255,255,255,.09),0 0 0 24px rgba(255,255,255,.05); }
#para-quem .eco-orbits::before { inset:15%; }
#para-quem .eco-orbits::after { inset:30%; }
#para-quem .eco-core-layer--front { background:linear-gradient(145deg,#13f39c 0%,#00a56d 46%,#007456 100%); border-color:#ddffec; }
#para-quem .eco-core-layer--middle { background:linear-gradient(140deg,#08a96e,#006548 53%,#46ffc0); }
#para-quem .eco-core-layer--front::before { content:none; }
#para-quem .eco-experience svg.eco-leaf-mark { position:relative; fill:#b0ffce; stroke:none; filter:drop-shadow(0 2px 4px #001f2866); }
#para-quem .eco-experience::after { content:none; }
#para-quem .eco-tabs::before { content:""; position:absolute; z-index:0; top:3px; bottom:3px; left:0; width:var(--eco-tab-width,0px); border-radius:999px; background:linear-gradient(150deg,#01b96e,#00563f 72%); box-shadow:inset 0 1px rgba(255,255,255,.65),0 9px 22px rgba(0,139,82,.27); transform:translateX(var(--eco-tab-x,0px)); pointer-events:none; }
#para-quem .eco-tabs button { position:relative; z-index:1; }
#para-quem .eco-tabs button[aria-selected="true"] { background:transparent; box-shadow:none; }
@media (prefers-reduced-motion:no-preference) {
  #para-quem .eco-tabs.is-ready::before { transition:transform .38s cubic-bezier(.22,.7,.22,1),width .38s cubic-bezier(.22,.7,.22,1); }
}
@keyframes eco-core-pulse-bright { 50% { filter:drop-shadow(0 12px 21px rgba(0,116,76,.34)) drop-shadow(0 0 55px rgba(24,255,152,1)) brightness(1.12); } }
@media (prefers-reduced-motion:no-preference) {
  #para-quem .eco-visible .eco-panel:not([hidden]) .eco-core { animation:eco-float 5.5s ease-in-out infinite,eco-core-pulse-bright 3.2s ease-in-out infinite; }
}
@media (max-width:700px) {
  #para-quem .eco-card-inner,
  #para-quem .eco-card.is-flipped .eco-card-inner { height:104px; }
  #para-quem .eco-card-inner { height:104px; }
  #para-quem .eco-card-back { padding:6px 8px; }
  #para-quem .eco-core { width:130px; }
  #para-quem .eco-card-front { padding-right:27px; }
  #para-quem .eco-orbits { width:105px; }
  #para-quem .eco-flip-hint { top:7px; right:7px; width:18px; height:18px; }
}

/* Painéis interativos não devem herdar a revelação global ao alternar as abas. */
#para-quem .eco-copy.reveal-on-scroll,
#para-quem .eco-panel .eco-core.reveal-on-scroll,
#para-quem .eco-panel .eco-card.reveal-on-scroll { opacity:1!important; }

/* Desktop (duas colunas): sobe o mapa de cards em relação ao texto */
@media (min-width: 1051px) { #para-quem .eco-experience { top: -28px; } }

/* Flutuação leve dos cards (usa a propriedade `translate`, que não conflita com o hover em `transform`) */
@keyframes eco-card-bob { 50% { translate: 0 -4px; } }
@media (prefers-reduced-motion: no-preference) {
  #para-quem .eco-card { animation: eco-card-bob 5.2s ease-in-out infinite; }
  #para-quem .eco-card--1 { animation-delay: -.9s; }
  #para-quem .eco-card--2 { animation-delay: -1.8s; }
  #para-quem .eco-card--3 { animation-delay: -2.7s; }
  #para-quem .eco-card--4 { animation-delay: -3.5s; }
  #para-quem .eco-card--5 { animation-delay: -4.3s; }
}

/* Centro estático: só o brilho pulsa; a flutuação fica apenas nos cards */
@media (prefers-reduced-motion:no-preference) {
  #para-quem .eco-visible .eco-core.reveal-complete { animation:eco-core-pulse 3.8s ease-in-out infinite; }
  #para-quem .eco-visible .eco-panel:not([hidden]) .eco-core { animation:eco-core-pulse-bright 3.2s ease-in-out infinite; }
}

/* Mesmo ajuste dos cards de Soluções: após o clique, ao desvirar, o card volta a flutuar */
@media (prefers-reduced-motion: no-preference) {
  #para-quem .eco-card.reveal-complete:focus-within:not(.is-flipped):not(:has(:focus-visible)) { animation: eco-card-bob 5.2s ease-in-out infinite !important; }
  #para-quem .eco-card--1.reveal-complete:focus-within:not(.is-flipped):not(:has(:focus-visible)) { animation-delay: -.9s !important; }
  #para-quem .eco-card--2.reveal-complete:focus-within:not(.is-flipped):not(:has(:focus-visible)) { animation-delay: -1.8s !important; }
  #para-quem .eco-card--3.reveal-complete:focus-within:not(.is-flipped):not(:has(:focus-visible)) { animation-delay: -2.7s !important; }
  #para-quem .eco-card--4.reveal-complete:focus-within:not(.is-flipped):not(:has(:focus-visible)) { animation-delay: -3.5s !important; }
  #para-quem .eco-card--5.reveal-complete:focus-within:not(.is-flipped):not(:has(:focus-visible)) { animation-delay: -4.3s !important; }
}

#para-quem .eco-connections path { stroke-linejoin:round; }

@media (max-width:700px) { #para-quem .eco-wire-glow path { opacity:.2; } }

/* Celular: o núcleo volta ao centro do conjunto, como no desktop. Grid 2×3 com um canal central;
   o núcleo fica no meio do canal e cada card recebe uma curva curta até a borda interna. */
@media (max-width:700px) {
  #para-quem .eco-board { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(62px,21vw,92px); row-gap:14px; padding:6px 0; }
  #para-quem .eco-board::before { width:min(70%,260px); height:auto; aspect-ratio:1; left:50%; top:50%; transform:translate(-50%,-50%); }
  #para-quem .eco-experience::before { content:none; }
  #para-quem .eco-orbits { width:clamp(118px,36vw,158px); top:50%; }
  #para-quem .eco-core { width:clamp(58px,18vw,76px); top:50%; }
  #para-quem .eco-card-inner, #para-quem .eco-card.is-flipped .eco-card-inner { height:116px; }
  #para-quem .eco-card-front { padding:10px; justify-content:flex-start; }
  #para-quem .eco-card-heading { flex-direction:column; align-items:flex-start; gap:7px; }
  #para-quem .eco-card-front strong { font-size:clamp(12px,3.4vw,14px); }
  #para-quem .eco-card-front small { margin-top:3px; font-size:clamp(10.5px,2.9vw,12px); }
  #para-quem .eco-card-back { padding:8px; }
  #para-quem .eco-card-back > strong { font-size:12px; }
  #para-quem .eco-card-detail { font-size:clamp(9.5px,2.6vw,11px); }
}
@media (max-width:360px) {
  #para-quem .eco-card-inner, #para-quem .eco-card.is-flipped .eco-card-inner { height:126px; }
}

/* Celular (refino): linha do meio recuada para abrir espaço a um núcleo maior, como no desktop. */
@media (max-width:700px) {
  #para-quem .eco-board { column-gap:clamp(28px,10vw,44px); row-gap:12px; }
  #para-quem .eco-card--2 { justify-self:start; width:calc(100% - clamp(20px,6.5vw,30px)); }
  #para-quem .eco-card--3 { justify-self:end; width:calc(100% - clamp(20px,6.5vw,30px)); }
  #para-quem .eco-core { width:clamp(72px,23vw,98px); z-index:4; }
  #para-quem .eco-orbits { width:clamp(140px,44vw,190px); }
  #para-quem .eco-card-inner, #para-quem .eco-card.is-flipped .eco-card-inner { height:108px; }
}
@media (max-width:360px) {
  #para-quem .eco-card-inner, #para-quem .eco-card.is-flipped .eco-card-inner { height:122px; }
}

/* Touch: o pulso do núcleo anima `filter: drop-shadow` (repintura a cada quadro, cara no WebKit/iOS). Fica estático. */
@media (hover: none), (pointer: coarse) {
  #para-quem .eco-visible .eco-core.reveal-complete,
  #para-quem .eco-visible .eco-panel:not([hidden]) .eco-core { animation: none; }
}

/* Celular — composição da referência aprovada (foto 3): cards de ~31% de largura, canal central de ~30%,
   núcleo com 25% da largura no meio; linha do meio recuada (87%) para o núcleo respirar.
   Medidas proporcionais à largura do board, então a cena escala de 320 a 430px sem mudar de forma. */
@media (max-width:700px) {
  #para-quem .eco-board { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:29%; row-gap:14px; padding:4px 0; }
  #para-quem .eco-card--0, #para-quem .eco-card--4 { justify-self:stretch; width:auto; }
  #para-quem .eco-card--2 { justify-self:start; width:87%; }
  #para-quem .eco-card--3 { justify-self:end; width:87%; }
  #para-quem .eco-core { width:25%; top:50%; }
  #para-quem .eco-orbits { width:64%; top:50%; }
  #para-quem .eco-card-inner, #para-quem .eco-card.is-flipped .eco-card-inner { height:100px; }
  #para-quem .eco-card-front { padding:10px 10px 9px; justify-content:center; }
  #para-quem .eco-card-heading { flex-direction:column; align-items:flex-start; gap:6px; }
  #para-quem .eco-card-icon { width:30px; height:30px; border-radius:9px; }
  #para-quem .eco-card-icon svg { width:18px; height:18px; }
  #para-quem .eco-card-front strong { font-size:clamp(12px,3.6vw,14px); font-weight:800; letter-spacing:-.025em; line-height:1.1; }
  #para-quem .eco-card-front small { margin-top:2px; font-size:clamp(10px,2.9vw,11.5px); line-height:1.25; }
  #para-quem .eco-card-back { padding:8px; }
  #para-quem .eco-card-back > strong { font-size:11.5px; }
  #para-quem .eco-card-detail { font-size:clamp(9px,2.5vw,10.5px); }
  #para-quem .eco-flip-hint { top:7px; right:7px; width:18px; height:18px; }
}
@media (max-width:360px) {
  #para-quem .eco-card-inner, #para-quem .eco-card.is-flipped .eco-card-inner { height:104px; }
  #para-quem .eco-card-front { padding:8px; }
}
/* Touch: sem sombra de hover "presa" depois do toque. */
@media (hover:none) {
  #para-quem .eco-card:hover .eco-card-face { box-shadow:0 12px 27px rgba(13,147,93,.16),inset 0 1px rgba(255,255,255,.95); }
}
@media (max-width:360px) {
  /* Telas estreitas: canal um pouco menor e cards um pouco mais largos para o verso caber sem cortar. */
  #para-quem .eco-board { column-gap:23%; }
  #para-quem .eco-card--2, #para-quem .eco-card--3 { width:93%; }
  #para-quem .eco-core { width:24%; }
  #para-quem .eco-card-inner, #para-quem .eco-card.is-flipped .eco-card-inner { height:122px; }
  #para-quem .eco-card-back { padding:7px; }
  #para-quem .eco-card-detail { font-size:9px; }
}

/* Touch (hover: none ou pointer: coarse): giro 2D (a face nova abre a partir da borda). O giro 3D com backface-visibility
   mostra a face errada/espelhada no Safari/iOS quando a face tem overflow. Desktop com mouse mantém o 3D. */
@keyframes eco-turn-2d { from { scale:0 1; } to { scale:1 1; } }
@media (hover:none), (pointer:coarse) {
  #para-quem .eco-card-inner, #para-quem .eco-card.is-flipped .eco-card-inner { transform:none; transition:none; transform-style:flat; }
  #para-quem .eco-card-face { backface-visibility:visible; -webkit-backface-visibility:visible; }
  #para-quem .eco-card-back { transform:none; visibility:hidden; }
  #para-quem .eco-card.is-flipped .eco-card-back { visibility:visible; }
  #para-quem .eco-card.is-flipped .eco-card-front { visibility:hidden; }
}
@media (hover:none) and (prefers-reduced-motion:no-preference), (pointer:coarse) and (prefers-reduced-motion:no-preference) {
  #para-quem .eco-card.is-turning .eco-card-inner { animation:eco-turn-2d .38s cubic-bezier(.2,.72,.2,1); }
}
/* Celular: o verso pode ser mais alto que o card; ele cresce para baixo por cima da linha seguinte
   (como no desktop) em vez de cortar o texto. A geometria do card, e portanto as conexões, não muda. */
@media (max-width:700px) {
  #para-quem .eco-card-back { inset:0 0 auto 0; height:auto; min-height:100%; }
}

/* Celular: o translateY(32px) do desktop é só visual (não ocupa espaço) e empurrava a pílula para dentro da
   ondulação da seção seguinte. Aqui ela fica no fluxo, com respiro antes da onda. */
@media (max-width:700px) {
  #para-quem .eco-footer { transform:none; margin-top:22px; }
}
