
:root{ --rose:#d36d92; --rose-50:#fff0f6; --ink:#5c2a3e; }

/* Countdown 4 columns mobile */
#countdown #timer{ grid-template-columns: repeat(4,minmax(0,1fr)); }
#countdown #timer .timer-box{ background:#fff; border:1px solid #f9d9e3; border-radius:14px; padding:10px 8px; }
#countdown #timer .timer-box div{ font-size:22px; font-weight:800; color:var(--ink); line-height:1; }
@media(min-width:640px){ #countdown #timer .timer-box div{ font-size:32px; } }
#countdown #timer .timer-box span{ display:block; margin-top:4px; font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:#a24b69; }

/* Story items */
.story-item{ background:#fff7fa; border-left:4px solid #f4a3bd; padding:12px 14px; border-radius:8px; }

/* Cards */
.card{ background:#fff; border:1px solid #fde2ea; border-radius:16px; padding:18px; box-shadow:0 6px 20px rgba(213,99,137,.08); }

/* Portrait frame */
.portrait-frame{ position:relative; border-radius:22px; overflow:hidden; border:6px solid #fff; box-shadow:0 10px 30px rgba(92,42,62,.15); }
.portrait-frame:before{ content:""; position:absolute; inset:0; border-radius:18px; border:1px solid #f4a3bd; pointer-events:none; }
.portrait-img{ display:block; width:100%; height:20rem; object-fit:cover; }

/* Splash fade / content show */
#splash.fade-out{ opacity:0; transition:opacity .6s ease; pointer-events:none; }
body.ready #content{ opacity:1; pointer-events:auto; transition:opacity .6s ease .1s; }

/* Reveal on scroll */
.reveal, .reveal-up, .reveal-left, .reveal-right, .name-drop{ opacity:0; transform:translateY(12px); transition:all .7s cubic-bezier(.22,1,.36,1); }
.reveal-up{ transform:translateY(24px); }
.reveal-left{ transform:translateX(-60px); }
.reveal-right{ transform:translateX(60px); }
.name-drop{ transform:translateY(-24px); }
.reveal.show, .reveal-up.show, .reveal-left.show, .reveal-right.show, .name-drop.show{ opacity:1; transform:none; }

/* Instagram filter */
.filter-inst{ filter:grayscale(1) blur(.2px); transform:scale(1.02); }
.group:hover .filter-inst{ filter:none; }

/* Buttons hover */
button, a{ transition:all .25s ease; }
