/* A clean threshold: approved gesture + real preparation progress. */
.somos-opening{display:none}
html[data-opening] .somos-opening{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;box-sizing:border-box;padding:28px;background:#f2efe5;color:#203c37;opacity:1;transform:translateY(0);isolation:isolate;transition:opacity 420ms cubic-bezier(.22,1,.36,1),transform 420ms cubic-bezier(.22,1,.36,1)}
.opening-center{text-align:center;margin-top:-20px}
.opening-meeting{width:clamp(200px,20vw,256px);margin:0 auto 12px;position:relative}
.opening-progress{width:164px;margin:auto;display:flex;align-items:center;gap:16px}
.opening-track{display:block;height:1px;flex:1;background:#203c3724;overflow:hidden}
.opening-fill{display:block;width:100%;height:100%;background:#203c37;transform:scaleX(var(--opening-progress,0));transform-origin:left;transition:transform 200ms cubic-bezier(.22,1,.36,1)}
.opening-number{width:38px;text-align:right;font:400 13px/1.2 'DM Sans',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.015em}
.opening-status{margin:16px 0 0;color:#5a6b61;font:400 9px/1.5 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.opening-skip{position:absolute;bottom:clamp(24px,4vw,48px);left:50%;transform:translateX(-50%);color:#53675b;background:none;border:0;border-bottom:1px solid #203c3730;border-radius:0;padding:10px 0;font:400 11px/1.5 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap}
.opening-skip span{display:inline-block;margin-left:20px}.opening-skip:hover{color:#203c37;border-color:currentColor}.opening-skip:focus-visible{outline:2px solid #203c37;outline-offset:6px}
html[data-opening='revealing'] .somos-opening{opacity:0;transform:translateY(-14px)}
html[data-opening='revealing'] .somos-loader *{animation-play-state:paused!important}
@media(max-width:540px){.opening-center{margin-top:-26px}.opening-meeting{width:220px;margin-bottom:10px}.opening-progress{width:152px}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){html[data-opening] .somos-opening,.opening-fill{transition:none}}

/* Approved O laço do encontro; canonical SVG groups. */
.somos-loader { display:block; width:100%; height:auto; overflow:visible; --duration:4800ms; }
.somos-loader .hand-a, .somos-loader .hand-b { transform-origin:110px 110px; animation-duration:var(--duration); animation-iteration-count:infinite; animation-timing-function:cubic-bezier(.42,0,.18,1); }
.somos-loader .hand-a { animation-name:somos-reach-a; }
.somos-loader .hand-b { animation-name:somos-reach-b; }
.somos-loader .hand-a path { fill:var(--somos-ink,#203c37); }
.somos-loader .hand-b path { fill:var(--somos-leaf,#d9eaa6); }
.somos-loader .orbit-base { stroke:var(--somos-thread,#203c37); stroke-width:.65; opacity:.17; }
.somos-loader .trace { stroke-dasharray:12 88; animation:somos-thread var(--duration) linear infinite; }
.somos-loader .trace-a { stroke:var(--somos-thread,#203c37); stroke-width:1.7; opacity:.78; }
.somos-loader .trace-b { stroke:var(--somos-thread-leaf,#8a9d62); stroke-width:2.3; opacity:.95; animation-name:somos-thread-return; }
.somos-loader .symbol-layout { transform-origin:110px 110px; }
@keyframes somos-reach-a {
  0%,100% { transform:translate(-21px,9px) rotate(-23deg) scale(.84); }
  17% { transform:translate(-23px,-4px) rotate(-13deg) scale(.9); }
  42%,62% { transform:translate(0,0) rotate(0deg) scale(1); }
  80% { transform:translate(-4px,3px) rotate(4deg) scale(.97); }
}
@keyframes somos-reach-b {
  0%,100% { transform:translate(21px,-9px) rotate(23deg) scale(.84); }
  17% { transform:translate(23px,4px) rotate(13deg) scale(.9); }
  42%,62% { transform:translate(0,0) rotate(0deg) scale(1); }
  80% { transform:translate(4px,-3px) rotate(-4deg) scale(.97); }
}
@keyframes somos-thread { from { stroke-dashoffset:100; } to { stroke-dashoffset:0; } }
@keyframes somos-thread-return { from { stroke-dashoffset:-50; } to { stroke-dashoffset:50; } }
.somos-loader.is-compact .symbol-layout { transform:scale(1.58); }
.somos-loader.is-compact .reciprocity { display:none; }
.somos-loader.is-compact .hand-a { animation-name:somos-small-a; }
.somos-loader.is-compact .hand-b { animation-name:somos-small-b; }
@keyframes somos-small-a { 0%,100% { transform:translate(-8px,3px) rotate(-8deg) scale(.9); } 42%,62% { transform:none; } }
@keyframes somos-small-b { 0%,100% { transform:translate(8px,-3px) rotate(8deg) scale(.9); } 42%,62% { transform:none; } }
.is-paused .somos-loader *, .somos-loader.is-offscreen *, .is-hidden .somos-loader * { animation-play-state:paused !important; }
@media (prefers-reduced-motion:reduce) {
 .somos-loader .hand-a,.somos-loader .hand-b,.somos-loader .trace { animation:none !important; transform:none; }
 .somos-loader .trace { display:none; }
 .somos-loader .orbit-base { opacity:.1; }
}
