.viral-page { --viral-caption-line:rgba(50,43,82,.09); }
.viral-hero .reader-hero__inner { padding-block:clamp(4rem,9vw,7rem); }
.viral-hero h1 { max-width:13ch; }
.viral-gallery { padding-block:clamp(1rem,3vw,2rem); }
.viral-registration { margin-top:clamp(-1rem,-2vw,-.25rem); padding-bottom:clamp(1rem,3vw,2rem); }
.viral-registration__card { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:clamp(1.35rem,3vw,2rem); border:1px solid rgba(117,80,199,.18); border-radius:1.4rem; background:linear-gradient(135deg,#fff,#fcf8ff 58%,#fff7fb); box-shadow:0 18px 48px rgba(64,42,88,.08); }
.viral-registration__card h2 { margin:.3rem 0 .55rem; color:var(--ink); font-size:clamp(1.35rem,3vw,2rem); letter-spacing:-.025em; }
.viral-registration__card p:last-child { max-width:45rem; margin:0; color:var(--muted); line-height:1.6; }
.viral-registration__card .guide-button { flex:0 0 auto; }
.viral-grid { padding-top:clamp(2rem,5vw,3.5rem); }
.viral-grid figure > a { position:relative; }
.viral-grid figure > a::after { position:absolute; right:1rem; bottom:1rem; padding:.45rem .7rem; border:1px solid rgba(255,255,255,.56); border-radius:99rem; color:#fff; background:rgba(37,35,61,.76); backdrop-filter:blur(8px); content:"Abrir original ↗"; font-size:.76rem; font-weight:720; }
.viral-grid figcaption { min-height:7.5rem; align-items:flex-start; border-top:1px solid var(--viral-caption-line); }
.viral-grid .viral-card__number { flex:0 0 2rem; }
.viral-card__copy { min-width:0; }
.viral-card__copy h2 { margin:0 0 .25rem; color:var(--ink); font-size:clamp(1.05rem,2vw,1.25rem); letter-spacing:-.02em; line-height:1.25; }
.viral-card__copy p { margin:0; color:var(--muted); font-size:.88rem; font-weight:500; line-height:1.5; }
.viral-gallery-status { margin:0; color:var(--muted); text-align:center; }
.viral-gallery-status:empty { display:none; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
@media (max-width:48rem) { .viral-grid figcaption { min-height:0; } .viral-registration__card { align-items:stretch; flex-direction:column; } .viral-registration__card .guide-button { width:100%; } }
@media (max-width:32rem) { .viral-grid figure > a::after { right:.75rem; bottom:.75rem; } }
