:root{--anniversary-bg: #25040d;--anniversary-surface: rgba(103, 10, 33, .32);--anniversary-surface-strong: rgba(255, 239, 243, .14);--anniversary-rose: #ff7f9d;--anniversary-rose-deep: #ff4f78;--anniversary-plum: #fff2f5;--anniversary-peach: #ff8f74;--anniversary-gold: #ffd3a2;--anniversary-text: #fff4f7;--anniversary-muted: rgba(255, 236, 242, .8);--anniversary-border: rgba(255, 202, 216, .18);--anniversary-shadow: 0 32px 90px rgba(11, 0, 4, .38)}body.anniversary-page{background:radial-gradient(circle at 20% 10%,rgba(255,84,126,.4),transparent 22%),radial-gradient(circle at 82% 14%,rgba(255,144,116,.34),transparent 20%),radial-gradient(circle at 50% 110%,rgba(255,74,120,.22),transparent 26%),linear-gradient(180deg,#3c0613,#1e030a 45%,#140208);color:var(--anniversary-text)}.anniversary-page .skip-link{background:#72142f}.anniversary-shell{width:min(calc(100% - 32px),1180px);margin-inline:auto}.anniversary-gate{min-height:100svh;display:grid;place-items:center;padding:28px 0}.anniversary-gate__panel{overflow:hidden;padding:28px 20px}.anniversary-gate__copy,.anniversary-gate__calendar{position:relative;z-index:1}.anniversary-gate__copy{max-width:38rem;margin-bottom:22px}.anniversary-gate__copy h1{margin:0;font-family:var(--display);font-size:clamp(2.5rem,8vw,4.8rem);line-height:.96;letter-spacing:-.05em}.anniversary-gate__copy p:last-child{margin:14px 0 0;color:var(--anniversary-muted)}.anniversary-gate__calendar{border:1px solid rgba(255,223,231,.16);border-radius:28px;background:#2905106b;padding:18px;box-shadow:inset 0 1px #ffffff1f}.anniversary-gate__months,.anniversary-gate__days{display:grid;gap:10px}.anniversary-gate__months{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.anniversary-gate__days{grid-template-columns:repeat(7,minmax(0,1fr))}.anniversary-gate__month,.anniversary-gate__day{min-height:48px;border:1px solid rgba(255,218,228,.14);border-radius:16px;background:#ffffff12;color:var(--anniversary-text);cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.anniversary-gate__month:hover,.anniversary-gate__day:hover{transform:translateY(-1px);background:#ffffff1f}.anniversary-gate__month.is-selected{border-color:#ff89a4b8;background:linear-gradient(135deg,#ff4f7861,#ff835838)}.anniversary-gate__day.is-correct{border-color:#ffc5d0c7;background:linear-gradient(135deg,#ff4f7870,#ff835842)}.anniversary-gate__day.is-wrong{animation:anniversary-shake .36s ease;border-color:#ff7070cc;background:#8c1a2e57}.anniversary-gate__hint,.anniversary-gate__status{margin:16px 0 0;color:var(--anniversary-muted);text-align:center}.anniversary-gate__status{min-height:1.6em}.anniversary-gate__hearts{position:absolute;inset:0;pointer-events:none}.anniversary-gate__hearts span{position:absolute;color:#ffc6d52e;font-size:clamp(1.4rem,2vw,2.7rem);animation:anniversary-gallery-float 8s ease-in-out infinite}.anniversary-gate__hearts span:nth-child(1){top:8%;right:10%}.anniversary-gate__hearts span:nth-child(2){top:18%;left:7%;animation-delay:.8s}.anniversary-gate__hearts span:nth-child(3){bottom:22%;right:8%;animation-delay:1.6s}.anniversary-gate__hearts span:nth-child(4){bottom:12%;left:10%;animation-delay:2.2s}.anniversary-gate__hearts span:nth-child(5){top:46%;right:24%;animation-delay:1.2s}.anniversary-main{position:relative;overflow:clip}.anniversary-main:before,.anniversary-main:after{content:"";position:fixed;inset:auto;width:32vw;height:32vw;border-radius:999px;filter:blur(42px);pointer-events:none;opacity:.46}.anniversary-main:before{top:10vh;left:-10vw;background:#ff4f789e}.anniversary-main:after{right:-8vw;bottom:12vh;background:#ff8f7475}.anniversary-section{position:relative;padding:32px 0}.anniversary-kicker{margin:0 0 14px;color:var(--anniversary-rose);font-size:.75rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.anniversary-frame{position:relative;border:1px solid var(--anniversary-border);border-radius:32px;background:linear-gradient(180deg,#ffffff24,#ffffff0d),linear-gradient(135deg,#ff719238,#ffffff0a 56%,#ff8f7429);box-shadow:var(--anniversary-shadow);backdrop-filter:blur(28px) saturate(140%)}.anniversary-frame:before{content:"";position:absolute;inset:1px;border-radius:inherit;background:linear-gradient(180deg,#ffffff29,#ffffff05);opacity:.8;pointer-events:none}.anniversary-hero{min-height:100svh;display:grid;align-items:center;padding:24px 0 18px}.anniversary-hero__frame{overflow:hidden}.anniversary-hero__grid{position:relative;display:grid}.anniversary-hero__media{position:relative;min-height:360px}.anniversary-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#19000914,#1900098f),radial-gradient(circle at 20% 20%,rgba(255,230,236,.34),transparent 25%)}.anniversary-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center}.anniversary-hero__content{position:relative;z-index:1;padding:28px 22px 30px}.anniversary-title{margin:0;max-width:12ch;font-family:var(--display);font-size:clamp(3rem,9vw,6.4rem);line-height:.95;letter-spacing:-.05em}.anniversary-copy{max-width:36rem;margin:18px 0 0;color:var(--anniversary-muted);font-size:1.02rem}.anniversary-promise{display:inline-flex;gap:10px;align-items:center;margin-top:24px;padding:10px 16px;border:1px solid rgba(255,219,229,.28);border-radius:999px;background:#ffffff1f;color:var(--anniversary-text);font-size:.9rem;box-shadow:inset 0 1px #ffffff2e}.anniversary-promise svg{width:18px;height:18px;fill:#ff4f7838;stroke:currentColor;stroke-width:1.6}.anniversary-hero__tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.anniversary-tag{padding:10px 14px;border:1px solid rgba(255,211,222,.18);border-radius:999px;background:#ffffff14;color:var(--anniversary-text);font-size:.82rem;letter-spacing:.04em;box-shadow:inset 0 1px #ffffff26}.anniversary-hearts{position:absolute;inset:0;overflow:hidden;pointer-events:none}.anniversary-heart{position:absolute;bottom:-16%;color:#ffd4df99;animation:anniversary-float linear infinite;filter:drop-shadow(0 10px 20px rgba(255,74,120,.24))}.anniversary-heart svg{width:100%;height:100%;fill:currentColor}.anniversary-letter,.anniversary-message-grid,.anniversary-gallery,.anniversary-proposal__frame{padding:28px 20px}.anniversary-section-heading{position:relative;z-index:1;max-width:42rem;margin-bottom:20px}.anniversary-section-heading h2,.anniversary-proposal__copy h2,.anniversary-celebration__content h2{margin:0;font-family:var(--display);font-size:clamp(2.2rem,6vw,4rem);line-height:1;letter-spacing:-.04em}.anniversary-section-heading p,.anniversary-proposal__copy p,.anniversary-celebration__content p{margin:14px 0 0;color:var(--anniversary-muted)}.anniversary-letter__grid{position:relative;z-index:1;display:grid;gap:16px}.anniversary-letter-card,.anniversary-message-card,.anniversary-gallery-card{position:relative;z-index:1;border:1px solid var(--anniversary-border);border-radius:24px;background:var(--anniversary-surface-strong);box-shadow:inset 0 1px #ffffff29,0 12px 30px #00000029}.anniversary-letter-card,.anniversary-message-card{opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease}.anniversary-letter-card.is-visible,.anniversary-message-card.is-visible{opacity:1;transform:translateY(0)}.anniversary-letter-card{padding:24px 20px}.anniversary-letter-card h3{margin:0 0 12px;font-family:var(--display);font-size:clamp(1.8rem,4vw,2.7rem);line-height:.98}.anniversary-letter-card p{margin:0;color:var(--anniversary-muted)}.anniversary-letter-card p+p{margin-top:12px}.anniversary-message-list{position:relative;z-index:1;display:grid;gap:16px}.anniversary-message-card{padding:22px 20px}.anniversary-message-card h3{margin:0;font-family:var(--display);font-size:2rem;line-height:1}.anniversary-message-card p:last-child{margin:12px 0 0;color:var(--anniversary-muted)}.anniversary-gallery-grid{position:relative;z-index:1;display:grid;gap:18px;align-items:start}.anniversary-gallery{overflow:hidden}.anniversary-gallery-hearts{position:absolute;inset:0;pointer-events:none;overflow:hidden}.anniversary-gallery-hearts span{position:absolute;color:#ffc4d62e;font-size:clamp(1.4rem,2vw,2.4rem);line-height:1;animation:anniversary-gallery-float 9s ease-in-out infinite}.anniversary-gallery-hearts span:nth-child(1){top:8%;left:6%}.anniversary-gallery-hearts span:nth-child(2){top:16%;right:9%;animation-delay:1s}.anniversary-gallery-hearts span:nth-child(3){top:46%;left:4%;animation-delay:2s}.anniversary-gallery-hearts span:nth-child(4){top:56%;right:6%;animation-delay:3s}.anniversary-gallery-hearts span:nth-child(5){bottom:16%;left:14%;animation-delay:1.6s}.anniversary-gallery-hearts span:nth-child(6){bottom:10%;right:18%;animation-delay:2.4s}.anniversary-gallery-hearts span:nth-child(7){top:30%;right:24%;animation-delay:3.4s}.anniversary-gallery-hearts span:nth-child(8){bottom:28%;left:22%;animation-delay:1.1s}.anniversary-gallery-window{position:relative;z-index:1;border:1px solid rgba(255,223,231,.16);border-radius:26px;background:#27040f57;backdrop-filter:blur(18px);overflow:hidden;box-shadow:inset 0 1px #ffffff1a}.anniversary-gallery-window__bar{min-height:52px;display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid rgba(255,219,229,.12);background:#ffffff0d}.anniversary-gallery-window__bar span{width:10px;height:10px;border-radius:999px}.anniversary-gallery-window__bar span:nth-child(1){background:#ff6b84}.anniversary-gallery-window__bar span:nth-child(2){background:#ffb46f}.anniversary-gallery-window__bar span:nth-child(3){background:#ffd8df}.anniversary-gallery-window__bar strong{margin-left:4px;color:#fff1f5eb;font-size:.86rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.anniversary-gallery-window__body{padding:20px 16px 16px}.anniversary-gallery-card{overflow:hidden}.anniversary-gallery-card figure{margin:0}.anniversary-gallery-card img{width:100%;height:340px;object-fit:cover;object-position:center;background:#ffffff0a}.anniversary-gallery-card--tall img{height:500px}.anniversary-gallery-card--wide img{height:320px}.anniversary-gallery-card figcaption{padding:18px 18px 20px}.anniversary-gallery-card strong{display:block;margin-bottom:8px;color:var(--anniversary-text);font-family:var(--display);font-size:1.7rem;line-height:1}.anniversary-gallery-card p{margin:0;color:var(--anniversary-muted)}.anniversary-proposal{padding-bottom:72px}.anniversary-proposal__frame{display:grid;gap:28px}.anniversary-proposal__arena{position:relative;min-height:280px;padding:18px;border:1px solid var(--anniversary-border);border-radius:28px;background:radial-gradient(circle at top,rgba(255,111,145,.24),transparent 45%),#ffffff0f;overflow:hidden}.anniversary-proposal__sparkle{position:absolute;width:10px;height:10px;border-radius:999px;background:#fffc;box-shadow:0 0 20px #ffffffe6;animation:anniversary-twinkle 2.8s ease-in-out infinite}.anniversary-proposal__sparkle:nth-child(1){top:18%;left:12%}.anniversary-proposal__sparkle:nth-child(2){top:62%;left:72%;animation-delay:.8s}.anniversary-proposal__sparkle:nth-child(3){top:24%;right:16%;animation-delay:1.4s}.anniversary-proposal__buttons{position:absolute;inset:0}.anniversary-choice{position:absolute;border:0;border-radius:999px;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease}.anniversary-choice:focus-visible{outline-color:var(--anniversary-gold)}.anniversary-choice--yes{left:18px;bottom:18px;padding:16px 28px;background:linear-gradient(135deg,#ff4f78,#ff8358);color:#fff7f8;box-shadow:0 16px 34px #ff4f7857;font-size:1rem;font-weight:700}.anniversary-choice--yes:hover{transform:translateY(-2px) scale(1.02)}.anniversary-choice--no{top:22px;left:58%;padding:14px 24px;border:1px solid rgba(255,219,229,.22);background:#ffffff1f;color:var(--anniversary-text);font-size:.95rem;backdrop-filter:blur(18px)}.anniversary-celebration{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:#18020999;backdrop-filter:blur(18px)}.anniversary-celebration[hidden]{display:none!important}.anniversary-celebration__panel{position:relative;width:min(100%,780px);padding:32px 24px;overflow:hidden}.anniversary-celebration__content{position:relative;z-index:1;text-align:center}.anniversary-celebration__button{margin-top:24px}.anniversary-burst{position:absolute;inset:0;overflow:hidden;pointer-events:none}.anniversary-burst__heart{position:absolute;bottom:-10%;opacity:0;animation:anniversary-burst 1.8s ease-out forwards}.anniversary-burst__heart svg{width:100%;height:100%;fill:currentColor}.anniversary-burst__heart:nth-child(3n+1){color:#ffc9d5eb}.anniversary-burst__heart:nth-child(3n+2){color:#ffe4d2f2}.anniversary-burst__heart:nth-child(3n){color:#ffffffe0}@keyframes anniversary-float{0%{transform:translateZ(0) scale(.8);opacity:0}20%{opacity:.9}to{transform:translate3d(var(--heart-drift, 30px),-125vh,0) scale(1.15);opacity:0}}@keyframes anniversary-burst{0%{transform:translateZ(0) scale(.4) rotate(0);opacity:0}12%{opacity:1}to{transform:translate3d(var(--burst-x, 0),var(--burst-y, -260px),0) scale(1.2) rotate(var(--burst-rotate, 0deg));opacity:0}}@keyframes anniversary-twinkle{0%,to{transform:scale(.8);opacity:.35}50%{transform:scale(1.2);opacity:1}}@keyframes anniversary-gallery-float{0%,to{transform:translateY(0) scale(.92);opacity:.42}50%{transform:translateY(-14px) scale(1.06);opacity:.82}}@keyframes anniversary-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}@media(min-width:720px){.anniversary-shell{width:min(calc(100% - 48px),1180px)}.anniversary-gate__panel,.anniversary-letter,.anniversary-message-grid,.anniversary-gallery,.anniversary-proposal__frame,.anniversary-celebration__panel{padding:36px 34px}.anniversary-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.anniversary-gallery-window__body{padding:26px 22px 22px}.anniversary-gallery-card--wide{grid-column:span 2}.anniversary-gallery-card img{height:380px}.anniversary-gallery-card--wide img{height:min(34vw,430px)}.anniversary-gallery-card--tall img{height:min(52vw,560px)}}@media(min-width:960px){.anniversary-section{padding:42px 0}.anniversary-hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:calc(100svh - 64px)}.anniversary-hero__content{display:flex;flex-direction:column;justify-content:center;padding:48px 46px}.anniversary-letter__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.anniversary-message-list{grid-template-columns:repeat(3,minmax(0,1fr))}.anniversary-gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.anniversary-gallery-card{grid-column:span 6}.anniversary-gallery-card--wide{grid-column:span 12}.anniversary-gallery-card--tall{grid-column:span 4}.anniversary-proposal__frame{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center}.anniversary-proposal__arena{min-height:340px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.anniversary-heart,.anniversary-proposal__sparkle,.anniversary-burst__heart{animation:none!important}.anniversary-letter-card,.anniversary-message-card{opacity:1;transform:none;transition:none}.anniversary-choice,.anniversary-choice--yes{transition:none}}
