/* Home v2 — movimento, luzes e novas seções. Carregado depois de style.css; só afeta a Home e a página 404. */
@font-face{font-family:Gloock;src:url('/assets/fonts/gloock-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--sp-display:Gloock,Georgia,"Times New Roman",serif;--rose:#d34c4e;--soft:#b9b9b4;--paper-2:#ecebe5;--ease-out:cubic-bezier(.16,1,.3,1)}

/* Títulos na fonte clássica; textos seguem em Manrope */
body main h1,body main h2,body main h3,body .hero h1,body main .section h2,body main .practice-heading h2,body main .contact h2,body main .partner h3,body main .nucleus-title,body #conteudos .ci-card h3,body main .contact-form h3,body main .tide p,body .search-dialog h2,body .context-dialog h2{font-family:var(--sp-display);font-weight:400;letter-spacing:-.015em;word-spacing:.02em}
body .nucleus-title{letter-spacing:-.02em}

/* ---------- abertura com o friso ---------- */
.intro{position:fixed;inset:0;z-index:200;background:var(--ink);display:grid;place-items:center;padding:24px;pointer-events:none;animation:sp-curtain 1s var(--ease) 1.6s forwards}
.intro.skip{animation:sp-curtain .5s var(--ease) forwards}
.intro.done{display:none}
.intro-inner{display:flex;flex-direction:column;align-items:center}
.intro svg{width:min(440px,80vw);height:auto;overflow:visible}
.intro path{fill:none;stroke:var(--rose);stroke-width:1.4;stroke-linecap:square;stroke-dasharray:420;stroke-dashoffset:420;animation:sp-draw 1.2s var(--ease-out) .1s forwards}
.intro path.b{animation-delay:.35s;stroke:var(--paper)}
.intro .word{margin-top:22px;color:var(--soft);font-size:.72rem;letter-spacing:.32em;font-weight:700;opacity:0;animation:sp-fadeup .7s var(--ease-out) .7s forwards}
@keyframes sp-draw{to{stroke-dashoffset:0}}
@keyframes sp-fadeup{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes sp-curtain{to{clip-path:inset(0 0 100% 0)}}

/* ---------- barra de progresso ---------- */
.sp-progress{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);height:4px;z-index:60;pointer-events:none}
.sp-progress i{display:block;height:100%;background:var(--red);transform-origin:0 50%;transform:scaleX(var(--p,0))}

/* ---------- cabeçalho some ao descer ---------- */
.header{transition:transform .45s var(--ease),padding .25s,box-shadow .25s}
.header.sp-hide{transform:translateY(-110%)}
.desktop-nav>a,.nav-practice>a{position:relative}
.desktop-nav>a::after,.nav-practice>a::after{content:"";position:absolute;left:0;right:0;bottom:.25rem;height:2px;background:var(--red);transform:scaleX(0);transform-origin:100% 50%;transition:transform .35s var(--ease)}
.desktop-nav>a:hover::after,.nav-practice>a:hover::after{transform:scaleX(1);transform-origin:0 50%}

/* ---------- topo ---------- */
.hero-symbol{translate:0 var(--py,0px);animation:sp-glow 7s ease-in-out infinite}
@keyframes sp-glow{0%,100%{filter:none}50%{filter:drop-shadow(0 0 28px #c72e3055)}}
.hero-contour path{stroke-dasharray:2400;stroke-dashoffset:var(--draw,1500)}
.hero-contour path.flow{stroke:#e9c9c9;opacity:.6;stroke-dasharray:60 900;stroke-dashoffset:0;animation:sp-flow 9s linear infinite}
.hero-contour path.flow.f2{animation-duration:13s;animation-delay:-4s;opacity:.4}
@keyframes sp-flow{to{stroke-dashoffset:-960}}
body .hero h1>span.ln{color:#fff}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.08em}
.hero h1 .ln>span{display:inline-block;transition:transform 1.1s var(--ease-out);transition-delay:calc(var(--i)*120ms + 100ms)}
.sp-js:not(.sp-ready) .hero h1 .ln>span{transform:translateY(105%)}
.hero h1 .ln em{font-style:normal;color:#cc5658}
.sp-fade{transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.sp-js:not(.sp-ready) .hero .sp-fade{opacity:.2;transform:translateY(14px)}
.sp-ready .hero .sp-fade.d2{transition-delay:.55s}.sp-ready .hero .sp-fade.d3{transition-delay:.7s}
.hero-bottom a span{display:inline-block;animation:sp-bob 1.8s ease-in-out infinite}
@keyframes sp-bob{50%{transform:translateY(4px)}}
.clock{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin-bottom:1.6rem;font-size:.7rem;letter-spacing:.12em;font-weight:700;color:#d9d6d0}
.clock .dot{width:8px;height:8px;border-radius:50%;background:#7a7a75;display:inline-block;margin-right:.45rem;vertical-align:middle}
.clock .open .dot{background:#3ecf6f;animation:sp-pulse 2s ease-out infinite}
.clock .time{font-variant-numeric:tabular-nums}
.clock button{background:none;border:1px solid #ffffff33;color:#d9d6d0;border-radius:999px;padding:.3rem .8rem;font-size:.66rem;letter-spacing:.08em;font-weight:700;min-height:32px}
.clock button:hover{border-color:var(--rose);color:#fff}
@keyframes sp-pulse{0%{box-shadow:0 0 0 0 #3ecf6f88}80%,100%{box-shadow:0 0 0 8px #3ecf6f00}}
#rain{position:fixed;inset:0;width:100%;height:100%;z-index:45;pointer-events:none;opacity:0;transition:opacity 1.2s ease}
#rain.on{opacity:1}
.rain-note{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 96px);z-index:46;transform:translate(-50%,-10px);background:var(--ink);color:var(--paper);font-size:.8rem;padding:.55rem 1rem;border-left:3px solid var(--rose);opacity:0;transition:.5s var(--ease);pointer-events:none;max-width:calc(100% - 32px)}
.rain-note.on{opacity:1;transform:translate(-50%,0)}

/* ---------- faixa de cidades ---------- */
.sp-marquee{overflow:hidden;background:var(--paper);border-bottom:1px solid var(--line)}
.sp-marquee .row{display:flex;width:max-content;animation:sp-marq 38s linear infinite}
.sp-marquee span{white-space:nowrap;padding:1rem 0;font-size:.74rem;font-weight:700;letter-spacing:.2em;color:var(--muted)}
.sp-marquee span::after{content:"";display:inline-block;width:26px;height:8px;margin:0 1.6rem;vertical-align:middle;background:var(--red);opacity:.5;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='18' viewBox='0 0 48 18'%3E%3Cpath d='M0 9h10V2h20v14H16V6h9v5h-5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='18' viewBox='0 0 48 18'%3E%3Cpath d='M0 9h10V2h20v14H16V6h9v5h-5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
@keyframes sp-marq{to{transform:translateX(-50%)}}

/* ---------- revelações ---------- */
.sp-rv{transition:opacity 1s var(--ease-out),transform 1s var(--ease-out);transition-delay:var(--d,0s)}
.sp-js .sp-rv:not(.in){opacity:.12;transform:translateY(30px)}

/* ---------- história: texto acende ---------- */
.lead .w{color:#c9c7c0;transition:color .35s ease}
.lead .w.on{color:var(--ink)}
.lead .w.on.hl{color:var(--red)}

/* ---------- núcleos ---------- */
.nucleus{isolation:isolate}
.nucleus-big{position:absolute;top:-.12em;right:-.04em;font-size:clamp(9rem,20vw,19rem);font-weight:800;letter-spacing:-.08em;line-height:1;opacity:.06;z-index:-1;pointer-events:none;transition:transform 1s var(--ease)}
.nucleus.active .nucleus-big{transform:translateX(-4%)}
.nucleus-line{transform:scaleX(.18);transform-origin:0 50%;transition:transform .9s var(--ease)}
.nucleus.active .nucleus-line{transform:scaleX(1)}
@media(max-width:760px){.nucleus-line{transform:scaleX(1)}}

/* ---------- sócios: cortina e flutuação ---------- */
.partners .portrait{clip-path:inset(0 0 0 0);transition:clip-path 1.4s var(--ease-out);position:relative}
.sp-js .partners .portrait:not(.in){clip-path:inset(0 0 22% 0)}
.partners .portrait img{transform:translateY(var(--py,0px)) scale(1.12);transition:transform .2s linear}
.partners .portrait::after{content:"";position:absolute;inset:0;background:var(--red);mix-blend-mode:multiply;opacity:0;transition:opacity .5s;pointer-events:none}
.partners .partner:hover .portrait::after{opacity:.16}

/* ---------- viagem do processo ---------- */
.journey{background:var(--paper-2);position:relative;overflow:hidden}
.journey .section-heading{margin-bottom:2.4rem}
.journey .section-heading h2{max-width:18ch}
.river-track{overflow-x:auto;scrollbar-width:thin;padding-bottom:.6rem}
.stops{position:relative;display:flex;min-width:980px;padding-top:96px}
.stops::before{content:"";position:absolute;left:0;right:0;top:84px;height:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='24' viewBox='0 0 120 24'%3E%3Cpath d='M0 12c15-10 45-10 60 0s45 10 60 0' fill='none' stroke='%23871314' stroke-width='1.5' opacity='.45'/%3E%3C/svg%3E") repeat-x;background-size:120px 24px;animation:sp-river 6s linear infinite}
@keyframes sp-river{to{background-position-x:-120px}}
.stop{position:relative;flex:1 1 0;min-width:0;background:none;border:0;padding:0 .3rem;text-align:center;color:var(--muted);font-size:.8rem;line-height:1.35;font-weight:700;min-height:48px}
.stop .pin{display:block;width:16px;height:16px;margin:6px auto .9rem;border-radius:50%;background:var(--paper-2);border:2px solid var(--red);transition:transform .35s var(--ease),background .3s}
.stop:hover .pin{transform:scale(1.25)}
.stop[aria-selected="true"]{color:var(--ink)}
.stop[aria-selected="true"] .pin{background:var(--red);transform:scale(1.35)}
.stop.past .pin{background:var(--red);opacity:.45}
.stop .k{display:block;font-size:.66rem;letter-spacing:.14em;color:var(--red);margin-bottom:.25rem}
.boat{position:absolute;top:40px;left:0;width:104px;height:50px;margin-left:-52px;transition:transform .9s var(--ease);pointer-events:none}
.boat svg,.stuck svg{width:100%;height:100%;overflow:visible}
.boat svg{animation:sp-boat 2.6s ease-in-out infinite}
@keyframes sp-boat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(4px) rotate(2deg)}}
.boat .smoke,.stuck .smoke{transform-box:fill-box;transform-origin:center;animation:sp-smoke 2.6s ease-out infinite}
.boat .smoke.s2,.stuck .smoke.s2{animation-delay:1.3s}
@keyframes sp-smoke{0%{transform:translate(0,0) scale(.5);opacity:.7}100%{transform:translate(-12px,-16px) scale(2);opacity:0}}
.boat .wake{animation:sp-wake 1.4s ease-in-out infinite}
@keyframes sp-wake{50%{opacity:.35}}
.here{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2.5rem;margin-top:2.2rem;background:var(--paper);padding:clamp(1.4rem,3vw,2.4rem);border-top:2px solid var(--red)}
.here h3{font-size:clamp(1.6rem,2.6vw,2.4rem);margin:.5rem 0 1rem}
.here .eyebrow{color:var(--red);font-size:.7rem}
.here .what{max-width:52ch}
.here ul{margin:0;padding:0;list-style:none;display:grid;gap:.9rem}
.here li{font-size:.92rem;padding-left:1.4rem;position:relative;color:var(--muted)}
.here li b{color:var(--ink);display:block;font-size:.72rem;letter-spacing:.12em}
.here li::before{content:"";position:absolute;left:0;top:.45rem;width:8px;height:8px;background:var(--red);transform:rotate(45deg)}
.here li.warn::before{background:#c98a1a}
.here.swap{animation:sp-fadeup .5s var(--ease-out)}
.jnav{display:flex;gap:.6rem;margin-top:1.4rem;flex-wrap:wrap}
.jnav button{background:none;border:1px solid var(--ink);padding:.6rem 1rem;font-size:.82rem;font-weight:700;min-height:44px;color:var(--ink)}
.jnav button:hover:not(:disabled){background:var(--ink);color:var(--paper)}
.jnav button:disabled{opacity:.35}
.jnote{font-size:.78rem;color:var(--muted);margin-top:1.2rem}

/* ---------- busca ---------- */
.inline-search{position:relative}
.inline-search::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--ease)}
.inline-search:focus-within::after{transform:none}

/* ---------- tradutor de juridiquês ---------- */
.translator{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);border-top:1px solid var(--line)}
.translator h2{margin-top:1rem;max-width:14ch}
.translator .intro-t{color:var(--muted);margin-top:1.2rem;max-width:42ch;font-size:.95rem}
.translator .intro-t.small{font-size:.82rem}
.paper{background:#fff;border:1px solid var(--line);padding:1.2rem;position:relative;min-width:0}
.paper::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:repeating-linear-gradient(90deg,var(--red) 0 22px,transparent 22px 30px);opacity:.5}
.paper label{display:block;font-size:.7rem;letter-spacing:.14em;font-weight:700;color:var(--muted);margin:.4rem 0 .6rem}
.paper textarea{width:100%;min-height:96px;border:0;border-bottom:1px solid var(--line);resize:vertical;font:1rem/1.6 var(--body);outline:none;background:transparent;padding:.2rem 0;color:var(--ink)}
.paper textarea:focus{border-bottom-color:var(--red)}
.samples{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}
.samples button{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.4rem .85rem;font-size:.76rem;color:var(--muted);min-height:36px}
.samples button:hover{border-color:var(--red);color:var(--red)}
.tr-out{margin-top:1.2rem;font-size:1rem;line-height:1.75;max-height:170px;overflow:auto;overscroll-behavior:contain;padding-right:.4rem}
.tr-out mark{background:none;color:var(--red);border-bottom:2px solid var(--red);padding:0 1px;cursor:help;font-weight:700}
.tr-out mark.on{background:var(--red);color:#fff}
.gloss-count{font-size:.7rem;letter-spacing:.14em;font-weight:700;color:var(--muted);margin-top:1rem}
.gloss{display:grid;gap:.6rem;margin-top:.6rem;max-height:250px;overflow:auto;overscroll-behavior:contain;padding-right:.4rem;scrollbar-width:thin}
.gl{border-left:2px solid var(--red);padding:.5rem 0 .5rem 1rem;animation:sp-fadeup .45s var(--ease-out) both}
.gl b{display:block;font-size:.95rem}
.gl span{font-size:.9rem;color:var(--muted)}
.gl.on{background:#87131410}
.tr-empty{color:var(--muted);font-size:.9rem}

/* ---------- faixa vermelha: maré ---------- */
.tide{position:relative;background:var(--red);color:var(--paper);overflow:hidden;clip-path:inset(var(--tide,0%) 0 0 0 round 0 80px 0 0);padding:clamp(3.5rem,8vw,6rem) var(--space)}
.tide p{font-size:clamp(1.7rem,3.6vw,3.2rem);line-height:1.25;max-width:24ch}
.tide p span{opacity:.72}
.tide .places{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:2rem;font-size:.72rem;letter-spacing:.2em;font-weight:700;opacity:.85}
.tide .frieze{position:absolute;left:0;right:0;opacity:.22;background-size:180px 28px;background-position-x:var(--fx,0px)}
.tide .frieze.top{top:14px}
.tide .frieze.bot{bottom:14px;background-position-x:calc(var(--fx,0px) * -1)}

/* ---------- decisão da semana ---------- */
.dweek{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.dweek[hidden]{display:none}
.dweek h2{margin-top:1rem}
.dweek .side>p:not(.eyebrow){color:var(--muted);margin-top:1.2rem;max-width:40ch;font-size:.95rem}
.dweek .src{font-size:.72rem;letter-spacing:.14em;font-weight:700;color:var(--red);margin-top:1.6rem;display:flex;align-items:center;gap:.6rem}
.dweek .src::before{content:"";width:24px;height:2px;background:var(--red)}
.deck{position:relative;min-height:400px;isolation:isolate}
.dcard{position:absolute;inset:0;background:#fff;border:1px solid var(--line);padding:clamp(1.4rem,3vw,2.2rem);display:flex;flex-direction:column;transition:transform .7s var(--ease),opacity .5s;box-shadow:0 20px 50px -30px #10111266}
.dcard[data-pos="1"]{transform:translate(14px,14px) rotate(1.2deg);opacity:.75;z-index:-1}
.dcard[data-pos="2"]{transform:translate(26px,26px) rotate(2.4deg);opacity:.45;z-index:-2}
.dcard[data-pos="3"]{transform:translate(36px,36px) rotate(3.2deg);opacity:0;z-index:-3}
.dcard[data-pos="out"]{transform:translate(-110%,10px) rotate(-8deg);opacity:0;pointer-events:none}
.dcard .top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.dcard .chip{font-size:.7rem;letter-spacing:.12em;font-weight:700;border:1px solid var(--red);color:var(--red);padding:.25rem .6rem}
.stamp{font-size:.72rem;letter-spacing:.2em;font-weight:800;color:var(--red);border:2px solid var(--red);padding:.35rem .6rem;transform:rotate(-9deg);opacity:0}
.stamp.old{color:var(--muted);border-color:var(--muted)}
.dcard[data-pos="0"] .stamp{animation:sp-stamp .6s cubic-bezier(.3,1.6,.5,1) .5s forwards}
@keyframes sp-stamp{0%{opacity:0;transform:rotate(-9deg) scale(2.2)}100%{opacity:.85;transform:rotate(-9deg) scale(1)}}
.dcard h3{font-size:clamp(1.4rem,2.3vw,2rem);margin:1.4rem 0 1rem;line-height:1.2}
.dcard .sum{color:var(--muted);font-size:.98rem;max-width:56ch}
.dcard .meta{margin-top:auto;padding-top:1.4rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.dcard .meta b{color:var(--ink);font-weight:700}
.dcontrols{display:flex;align-items:center;gap:1rem;margin-top:3rem}
.dcontrols button{width:46px;height:46px;border:1px solid var(--ink);background:none;font-size:1.1rem;color:var(--ink)}
.dcontrols button:hover:not(:disabled){background:var(--ink);color:var(--paper)}
.dcontrols button:disabled{opacity:.35}
.dcontrols span{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}
.dwarn{font-size:.76rem!important;margin-top:1rem!important}

/* ---------- redes sociais flutuantes (lado esquerdo) ---------- */
.sp-social{position:fixed;left:max(18px,calc(env(safe-area-inset-left,0px) + 14px));bottom:max(24px,calc(env(safe-area-inset-bottom,0px) + 20px));z-index:25;display:flex;flex-direction:column;gap:10px;align-items:center}
.sp-social a{position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 3px 12px #0003;transform:scale(0);transition:transform .45s var(--ease),filter .2s}
.sp-social.show a{transform:scale(1)}
.sp-social.show a:nth-child(2){transition-delay:.07s}.sp-social.show a:nth-child(3){transition-delay:.14s}.sp-social.show a:nth-child(4){transition-delay:.21s}
.sp-social a:hover{filter:brightness(1.12)}
.sp-social .ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.sp-social .fb{background:#1877F2}
.sp-social .tt{background:#000}
.sp-social .yt{background:#FF0000}
.sp-social a::after{content:attr(data-label);position:absolute;left:calc(100% + 10px);background:var(--ink);color:#fff;font-size:.72rem;padding:.3rem .6rem;white-space:nowrap;opacity:0;pointer-events:none;transform:translateX(-4px);transition:.25s var(--ease)}
.sp-social a:hover::after,.sp-social a:focus-visible::after{opacity:1;transform:none}
.modal-open .sp-social{display:none}
@media(max-width:760px){.sp-social{gap:8px;bottom:max(84px,calc(env(safe-area-inset-bottom,0px) + 80px))}.sp-social a{width:36px;height:36px}.sp-social a::after{display:none}}

/* ---------- WhatsApp: pulso ---------- */
.floating-whatsapp.is-visible::before{content:"";position:absolute;inset:-1px;border-radius:50%;border:2px solid #25D366;animation:sp-ping 2.6s ease-out infinite;pointer-events:none}
@keyframes sp-ping{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(1.6);opacity:0}}

/* ---------- botões: preenchimento e ímã ---------- */
.button{position:relative;overflow:hidden;isolation:isolate}
.button::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);transform:translateY(101%);transition:transform .45s var(--ease)}
.button:hover:not(:disabled)::before{transform:none}
.contact .button::before,.menu-dialog .button::before{background:#a51c20}
.sp-magnetic{transition:transform .35s var(--ease)}

/* ---------- cursor (só computador) ---------- */
.sp-cursor{display:none!important}



/* ---------- página 404 ---------- */
.e404{position:relative;background:var(--ink);color:var(--paper);overflow:hidden;isolation:isolate;padding:clamp(3rem,8vw,6rem) var(--space);min-height:min(820px,88svh);display:flex;flex-direction:column;justify-content:center;background-image:radial-gradient(ellipse at 75% 70%,#2a1719 0,transparent 55%)}
.e404 .hero-contour{position:absolute;right:-5%;bottom:-9%;height:112%;width:75%;pointer-events:none;z-index:-1;opacity:.3}
.e404 .hero-contour path{stroke:#b94447;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dashoffset:0}
.e404 .inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.e404 .code{font-size:.74rem;letter-spacing:.2em;font-weight:700;color:#d9d6d0;display:flex;align-items:center;gap:.8rem}
.e404 .code::before{content:"";width:30px;height:2px;background:var(--bright)}
.e404 h1{font-size:clamp(2.4rem,5.5vw,5rem);margin:1.4rem 0 1.2rem;max-width:13ch;line-height:1.04}
.e404 h1 em{font-style:normal;color:var(--rose)}
.e404 .lead404{color:#d1d1cc;max-width:44ch;line-height:1.8}
.e404 .acts{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;margin-top:2rem}
.e404 .acts .text-link{color:#fff}
.e404 .ports{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid #ffffff22;font-size:.85rem;color:#bbb}
.e404 .ports b{width:100%;font-size:.66rem;letter-spacing:.16em;color:#8f8f8a}
.e404 .ports a:hover{color:#f0a3a4}
.scene{position:relative;aspect-ratio:5/3;max-width:100%}
.scene svg.bank{position:absolute;inset:0;width:100%;height:100%}
.scene .stuck{position:absolute;left:24%;top:30%;width:52%;aspect-ratio:124/60;transform:rotate(-9deg);transform-origin:50% 90%;animation:sp-rock 4s ease-in-out infinite}
@keyframes sp-rock{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(-7deg)}}
.scene .wave1{animation:sp-wv 6s ease-in-out infinite}
.scene .wave2{animation:sp-wv 8s ease-in-out infinite reverse}
@keyframes sp-wv{50%{transform:translateX(-18px)}}

/* ---------- responsivo ---------- */
@media(max-width:760px){
  .here,.translator,.dweek,.e404 .inner{grid-template-columns:1fr}
  .deck{min-height:470px}
  .dcard[data-pos="1"]{transform:translate(8px,10px) rotate(1deg)}
  .dcard[data-pos="2"]{transform:translate(14px,18px) rotate(2deg)}
  .dcontrols{margin-top:2.4rem}
  .tide{clip-path:inset(var(--tide,0%) 0 0 0 round 0 40px 0 0)}
  .scene{order:-1;max-width:420px}
  .clock{font-size:.64rem}
}
@media(prefers-reduced-motion:reduce){
  .intro{display:none}
  .sp-js .sp-rv:not(.in),.sp-js:not(.sp-ready) .hero .sp-fade{opacity:1;transform:none}
  .sp-js:not(.sp-ready) .hero h1 .ln>span{transform:none}
  .sp-js .partners .portrait:not(.in){clip-path:none}
  .tide{clip-path:none}
  .stamp{opacity:.85}
  .sp-social a{transform:none}
}

#decisao{overflow-x:clip}
/* ---------- ajustes para celular e tablet (v3) ---------- */
.sp-social-toggle{display:none}
.journey-hint{display:none;margin:.4rem 0 0;font-size:.78rem;color:var(--muted)}
@media(min-width:761px){.stops{min-width:0}}
@media(max-width:1024px){
  .tide{clip-path:inset(var(--tide,0%) 0 0 0 round 0 40px 0 0)}
  .sp-social-toggle{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:0;padding:0;background:var(--ink);color:#fff;box-shadow:0 3px 12px #0003;cursor:pointer;transform:scale(0);transition:transform .45s var(--ease),background .2s}
  .sp-social.show .sp-social-toggle{transform:scale(1)}
  .sp-social.open .sp-social-toggle{background:var(--red)}
  .sp-social a{transform:scale(0)!important;opacity:0;pointer-events:none;transition:transform .35s var(--ease),opacity .2s}
  .sp-social.open a{transform:scale(1)!important;opacity:1;pointer-events:auto}
  .sp-social.open a:nth-child(4){transition-delay:0s}.sp-social.open a:nth-child(3){transition-delay:.05s}.sp-social.open a:nth-child(2){transition-delay:.1s}.sp-social.open a:nth-child(1){transition-delay:.15s}
  .sp-social a::after{display:none}
}
@media(max-width:760px){
  .tide{clip-path:none}
  .stops{min-width:720px}
  .journey-hint{display:block}
  .sp-social-toggle{width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){.sp-social-toggle,.sp-social a{transition:none}}

/* cartões de trás da decisão da semana: só a ficha, sem texto aparecendo */
.dcard:not([data-pos="0"])>*{visibility:hidden}
