.hero:has(.moment-journey){overflow:clip;z-index:1}.moment-journey{padding:36px var(--pad) 28px}.moment-journey h2{margin:0;scroll-margin-top:110px;text-align:center;font-size:clamp(1.6rem,2.3vw,2.4rem)}.moment-journey__route{position:relative;width:100%;max-width:1200px;margin:0 auto;height:340px;flex-shrink:0}.moment-journey__line{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.moment-journey__line--narrow{display:none}.moment-journey__line path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.moment-journey__guide{stroke:#a78bde;stroke-opacity:.22;stroke-width:2}.moment-journey__ink{stroke:#9471cc;stroke-width:3;vector-effect:none!important}.moment-journey[data-animated] .moment-journey__ink{stroke-dasharray:1;stroke-dashoffset:1}.moment-journey__celebration{position:absolute;inset:0;pointer-events:none}.moment-journey__reward{position:absolute;left:19px;top:10px;width:26px;height:26px;opacity:0}.moment-journey__reward svg{width:100%;height:100%}.moment-journey[data-animated] .moment-journey__arrival{opacity:0;transition:opacity .25s ease}.moment-journey[data-animated] .moment-journey__stop[data-reached=true] .moment-journey__arrival{opacity:1}.moment-journey ul{list-style:none;margin:0;padding:0}.moment-journey__stop{position:absolute;top:68px;left:18%;width:27%;transform:translateX(-50%)}.moment-journey__stop:nth-child(2){left:50%;top:208px}.moment-journey__stop:nth-child(3){left:82%}.moment-journey__stop a{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.moment-journey__symbol{position:relative;display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;color:#604391;border-radius:50%;background:var(--cream)}.moment-journey__symbol>svg{position:relative;width:30px;height:30px}.moment-journey__arrival{position:absolute;inset:0;border-radius:50%;background:#e9ddfa}.moment-journey__stop:nth-child(2) .moment-journey__symbol{color:#954d2c}.moment-journey__stop:nth-child(2) .moment-journey__arrival{background:#ffdfc9}.moment-journey__stop:nth-child(2) .moment-journey__text{position:absolute;bottom:80px;width:100%}.moment-journey__text strong{display:flex;justify-content:center;align-items:center;gap:10px;font-size:clamp(1.15rem,1.6vw,1.5rem);font-weight:650}.moment-journey__text strong svg{width:18px;height:18px;transition:transform .22s ease}.moment-journey__text>span{display:block;margin-top:8px;font-size:.95rem;line-height:1.55;color:#58627b}.moment-journey a:hover strong svg{transform:translateX(4px)}.moment-journey a:hover strong{color:#604391}.moment-journey a:focus-visible{outline:3px solid #8066d2;outline-offset:8px;border-radius:4px}@media (max-width:699px){.moment-journey{padding-block:24px}.moment-journey h2{text-align:left;max-width:19ch}.moment-journey__route{height:540px;margin-top:16px}.moment-journey__line--wide{display:none}.moment-journey__line--narrow{display:block;width:80px}.moment-journey ul{display:grid;height:100%;grid-template-rows:repeat(3,1fr)}.moment-journey__stop,.moment-journey__stop:nth-child(2),.moment-journey__stop:nth-child(3){position:static;width:auto;transform:none;align-self:center}.moment-journey__stop a{display:grid;grid-template-columns:80px minmax(0,1fr);grid-gap:16px;gap:16px;text-align:left}.moment-journey__symbol{justify-self:center}.moment-journey__stop:nth-child(2) .moment-journey__text{position:static}.moment-journey__text strong{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.moment-journey{min-height:0;padding-block:36px}.moment-journey__ink{stroke-dasharray:none!important}.moment-journey__symbol{transform:none!important}.moment-journey__arrival{opacity:1!important}}@media (max-height:639px){.moment-journey{min-height:0;padding-block:36px}.moment-journey__route{height:340px}}@media (max-width:699px) and (max-height:639px),(max-width:699px) and (prefers-reduced-motion:reduce){.moment-journey__route{height:540px}}.mood-check-in fieldset{min-width:0;margin:0;padding:0;border:0}.mood-check-in legend{margin-bottom:.3rem;padding:0;font-family:var(--font-body),"Segoe UI",sans-serif;font-weight:650}.mood-check-in label:has(input:focus-visible){outline:3px solid #604391;outline-offset:3px}.mood-check-in[data-mood=leve] label:has(input:checked){background:#fff0e5;border-color:#9b5937}.mood-check-in[data-mood=apoio] label:has(input:checked),.mood-check-in[data-mood=dificil] label:has(input:checked){background:#eee5fa;border-color:#604391}.mood-check-in__response{position:relative;isolation:isolate;display:grid;min-height:0;margin-top:16px;padding:0}.mood-check-in__content,.mood-check-in__sizer{grid-area:1/1;min-width:0}.mood-check-in__sizer{display:grid;visibility:hidden;pointer-events:none}.mood-check-in__sizer .mood-check-in__message{grid-area:1/1}.mood-check-in__sizer .mood-check-in__support{grid-area:2/1}.mood-overlay{position:fixed;inset:0;height:100dvh;z-index:10000;isolation:isolate;display:grid;place-items:center;padding:max(28px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(64px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));overflow:hidden;background:rgba(240,233,250,.9);cursor:pointer;touch-action:none;overscroll-behavior:contain;animation:mood-overlay-fade 3.1s linear both}.mood-overlay[data-mood=leve]{background:rgba(255,241,231,.9)}.mood-overlay .mood-check-in__visual{opacity:.8}.mood-overlay__message{max-width:680px;margin:0;color:#17233c;font-size:clamp(1.65rem,3.5vw,3rem);line-height:1.35;text-align:center;text-wrap:balance}.mood-overlay__hint{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));color:#503477;font-size:.85rem}@keyframes mood-overlay-fade{0%{opacity:0}12.903%,77.419%{opacity:1}to{opacity:0}}.mood-check-in__visual{position:absolute;z-index:-1;inset:0;width:100%;height:100%;pointer-events:none}.mood-check-in__visual--portrait{display:none}.mood-check-in__message{margin:0;color:#17233c;font-size:.95rem;line-height:1.6}.mood-check-in__support{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:6px;color:#503477;font-size:.9rem;font-weight:650;text-decoration:underline;text-underline-offset:4px}.mood-check-in__support:focus-visible{outline:3px solid #604391;outline-offset:3px;border-radius:3px}.mood-check-in__support svg{flex-shrink:0;width:18px;height:18px}.mood-check-in__halo{fill:#ffd2b5;opacity:.36;transform-origin:140px 77px;animation:mood-halo 1.5s cubic-bezier(.16,1,.3,1) both}.mood-check-in__lights{fill:#a45b29;opacity:0;animation:mood-lights 1.5s ease-out both}.mood-check-in__waves{fill:none;stroke:#a78bde;stroke-width:2;opacity:.22;transform-origin:140px 75px;animation:mood-waves 1.5s cubic-bezier(.16,1,.3,1) both}.mood-check-in__embrace{fill:none;stroke:#a78bde;stroke-width:5;stroke-linecap:round;opacity:.32}.mood-check-in__embrace path{animation:mood-embrace 1.5s cubic-bezier(.16,1,.3,1) both}@keyframes mood-halo{0%{transform:scale(.45);opacity:0}to{transform:scale(1);opacity:.36}}@keyframes mood-lights{0%{opacity:0;transform:translateY(5px)}35%{opacity:.5}to{opacity:0;transform:translateY(-8px)}}@keyframes mood-waves{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:.22}}@keyframes mood-embrace{0%{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}@media (max-width:699px){.mood-overlay{padding-inline:max(24px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-right))}.mood-check-in__visual--wide{display:none}.mood-check-in__visual--portrait{display:block}.mood-check-in__visual--portrait .mood-check-in__halo,.mood-check-in__visual--portrait .mood-check-in__waves{transform-origin:160px 240px}.mood-overlay__message{width:100%;max-width:25ch;font-size:clamp(1.25rem,5.6vw,1.65rem);line-height:1.5}.mood-overlay__hint{bottom:max(24px,calc(env(safe-area-inset-bottom) + 12px))}}@media (pointer:coarse){.mood-overlay__keyboard-hint{display:none}}@media (max-height:500px) and (max-width:950px){.mood-overlay__message{max-width:34ch;font-size:1.25rem;line-height:1.4}.mood-overlay__hint{bottom:max(12px,env(safe-area-inset-bottom))}.mood-overlay .mood-check-in__visual{opacity:.5}}@media (prefers-reduced-motion:reduce){.mood-check-in__visual,.mood-overlay{display:none}.mood-check-in input,.mood-check-in label{transition:none}.mood-check-in input:checked,.mood-check-in label:hover{transform:none}}@media (forced-colors:active){.mood-check-in__visual{display:none}.mood-check-in label:has(input:checked){outline:2px solid Highlight}}