.ro-rodape{position:relative;background:linear-gradient(180deg in oklab, var(--b-noite) 0%, #071a19 100%);color:var(--b-creme);padding:0 var(--b-borda) calc(2rem + env(safe-area-inset-bottom));overflow:clip}
.ro-rodape::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--grade-escura) 1px,transparent 1px),linear-gradient(90deg,var(--grade-escura) 1px,transparent 1px);background-size:25px 25px;-webkit-mask-image:linear-gradient(180deg,#000 0,transparent 60%);mask-image:linear-gradient(180deg,#000 0,transparent 60%)}
.ro-linha{position:relative;height:clamp(150px,18vw,240px);margin:0 calc(var(--b-borda) * -1)}
.ro-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ro-traco{fill:none;stroke:var(--b-creme);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;opacity:.85}
.ro-coracao{fill:none;stroke:#f0d6a2;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(240,214,162,.35))}
.js .ro-traco,.js .ro-coracao{stroke-dasharray:1;stroke-dashoffset:1}
.ro-desenha .ro-traco{stroke-dashoffset:0;transition:stroke-dashoffset 3.2s cubic-bezier(.45,.1,.3,1)}
.ro-desenha .ro-coracao{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s cubic-bezier(.4,.1,.3,1) 1.5s}
.ro-escala{position:absolute;right:var(--b-borda);bottom:.2rem;font-size:.7rem;opacity:.75}
.ro-coracao{transform-box:fill-box;transform-origin:50% 100%}
.ro-bateu .ro-coracao{animation:ro-batida 1.1s var(--curva) 1}
@keyframes ro-batida{0%{transform:scale(1)}30%{transform:scale(1.06);filter:drop-shadow(0 0 16px rgba(240,214,162,.6))}100%{transform:scale(1)}}
.ro-corpo{position:relative;max-width:1320px;margin:0 auto}
.ro-despedida{text-wrap:balance;margin:-.4rem 0 clamp(2.8rem,5vw,4.5rem);text-align:center;font-size:clamp(2rem,1.2rem + 3vw,3.8rem);line-height:1.04;letter-spacing:-.02em}
.ro-leve{font-weight:300}.ro-despedida b{font-weight:700}
.ro-acao{text-align:center;margin:0 0 clamp(2.8rem,5vw,4.5rem)}
.ro-botao{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.6rem;border-radius:999px;background:var(--b-creme);color:var(--b-noite);font-weight:600;text-decoration:none;transition:transform .25s var(--curva), background .25s}
.ro-botao:hover{transform:translateY(-2px);background:#fff7e8}
.ro-nq{white-space:nowrap;display:block}
.ro-ficha{display:grid;grid-template-columns:1.25fr 1.15fr 1fr .8fr;border-top:1px solid rgba(201,171,120,.28)}
.ro-col{padding:1.6rem 1.6rem 1.8rem 0;min-width:0}
.ro-col + .ro-col{padding-left:1.6rem;border-left:1px solid rgba(201,171,120,.18)}
.ro-col p{margin:.7rem 0 0;font-size:1rem;line-height:1.6;color:var(--b-texto-2)}
.ro-col a{text-decoration:none;color:var(--b-creme);border-bottom:1px solid rgba(201,171,120,.35)}
.ro-col a:hover{border-bottom-color:var(--b-ouro)}
.ro-nome{font-size:1.2rem!important;color:var(--b-creme)!important;font-weight:300}
.ro-nome b{font-weight:700}
.ro-hora{color:var(--b-creme)!important}
nav.ro-col p{font-size:.94rem}
nav.ro-col a{color:var(--b-texto-2);border-bottom-color:rgba(201,171,120,.2)}
.ro-fim{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;align-items:baseline;margin-top:2.2rem;padding-top:1.3rem;border-top:1px solid rgba(201,171,120,.18);font-size:.86rem;color:#a9bcb5}
.ro-fim p{margin:0}
.ro-selo{font-family:var(--b-f-mono);letter-spacing:.06em}
.ro-selo a{color:var(--b-ouro);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.ro-selo a:hover{color:var(--b-creme)}
@media (max-width:980px){
  .ro-ficha{grid-template-columns:1fr 1fr}
  .ro-col:nth-child(3){padding-left:0;border-left:0}
  .ro-col:nth-child(n+3){border-top:1px solid rgba(201,171,120,.18)}
}
@media (max-width:820px){.ro-acao{display:none}.ro-despedida{margin-bottom:clamp(2.5rem,5vw,4.5rem)}}
@media (max-width:560px){
  .ro-rodape{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}
  .ro-ficha{grid-template-columns:1fr}
  .ro-col,.ro-col + .ro-col{padding:1.3rem 0;border-left:0}
  .ro-col + .ro-col{border-top:1px solid rgba(201,171,120,.18)}
  .ro-col p{font-size:1.05rem}
  .ro-fim{flex-direction:column;gap:.8rem}
}
@media (max-width:560px){.ro-escala{display:none}}
@media (prefers-reduced-motion:reduce){.js .ro-traco,.js .ro-coracao{stroke-dashoffset:0;transition:none}.ro-bateu .ro-coracao{animation:none}}
