@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Cinzel:wght@400;600&family=Cinzel+Decorative:wght@400&family=Great+Vibes&family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--ivory:#faf6f0;--blush:#e8c4c4;--rose:#c9858a;--gold:#c9a96e;--deep:#0d0608;--plum:#1a0d10}html{scroll-behavior:smooth}.wishstory-wrapper{background:var(--deep);color:var(--ivory);min-height:100vh;font-family:Cormorant Garamond,serif;position:relative;overflow-x:hidden}.wishstory-wrapper:before{content:"";opacity:.03;pointer-events:none;z-index:9998;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.wishstory-wrapper .lb{z-index:1000;background:#000;height:48px;position:fixed;left:0;right:0}.wishstory-wrapper .lb.top{top:0}.wishstory-wrapper .lb.bot{bottom:0}.wishstory-wrapper .snd{z-index:2000;color:var(--gold);letter-spacing:.18em;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d0608c7;border:1px solid #c9a96e4d;border-radius:30px;align-items:center;gap:6px;padding:9px 14px;font-family:Cinzel,serif;font-size:8px;transition:all .4s;display:flex;position:fixed;bottom:66px;right:22px}.wishstory-wrapper .snd:hover{border-color:var(--gold)}.wishstory-wrapper .petal{pointer-events:none;z-index:500;opacity:0;animation:linear infinite petalFall;position:fixed}@keyframes petalFall{0%{opacity:0;transform:translateY(-20px)rotate(0)translate(0)}10%{opacity:.3}90%{opacity:.12}to{opacity:0;transform:translateY(101vh)rotate(380deg)translate(50px)}}.wishstory-wrapper #intro{z-index:9000;background:#000;flex-direction:column;justify-content:center;align-items:center;transition:opacity 1.4s;display:flex;position:fixed;inset:0;overflow:hidden}.wishstory-wrapper #intro.gone{opacity:0;pointer-events:none}.wishstory-wrapper .i-grain{opacity:.055;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.wishstory-wrapper .i-vignette{pointer-events:none;background:radial-gradient(#0000 30%,#000000e0 100%);position:absolute;inset:0}.wishstory-wrapper .i-bar{background:#000;height:68px;position:absolute;top:0;left:0;right:0}.wishstory-wrapper .i-bar.b{top:auto;bottom:0}.wishstory-wrapper .scratch{background:#ffffff0a;width:1px;animation:3s ease-in-out infinite scratchA;position:absolute;top:0;bottom:0}@keyframes scratchA{0%,to{opacity:0}50%{opacity:1}}.wishstory-wrapper .film-circle{border:2px solid #c9a96e38;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin-bottom:44px;display:flex;position:relative}.wishstory-wrapper .film-circle:before{content:"";border:1px solid #c9a96e1a;border-radius:50%;position:absolute;inset:7px}.wishstory-wrapper .film-num{color:#c9a96ea6;font-family:Cinzel Decorative,serif;font-size:2rem}.wishstory-wrapper .i-badge{letter-spacing:.5em;color:#c9a96e80;margin-bottom:22px;font-family:Cinzel,serif;font-size:8.5px;animation:1s forwards fadeUp}.wishstory-wrapper .i-title{color:var(--ivory);text-align:center;opacity:0;margin-bottom:22px;font-family:Playfair Display,serif;font-size:clamp(2rem,7vw,5.2rem);font-style:italic;line-height:1.1;animation:1.2s .5s forwards fadeUp}.wishstory-wrapper .i-sub{color:#e8c4c480;opacity:0;margin-bottom:44px;font-family:Cormorant Garamond,serif;font-size:clamp(.9rem,2.5vw,1.2rem);font-style:italic;animation:1s 1.1s forwards fadeUp}.wishstory-wrapper .i-btn{letter-spacing:.4em;color:#c9a96e8c;cursor:pointer;opacity:0;background:0 0;border:1px solid #c9a96e33;padding:13px 28px;font-family:Cinzel,serif;font-size:8px;transition:all .4s;animation:1s 1.8s forwards fadeUp}.wishstory-wrapper .i-btn:hover{color:var(--gold);border-color:var(--gold);background:#c9a96e0d}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.wishstory-wrapper section{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:90px 40px;display:flex;position:relative}.wishstory-wrapper .bk{pointer-events:none;position:absolute;inset:0;overflow:hidden}.wishstory-wrapper .bokeh{filter:blur(65px);border-radius:50%;animation:linear infinite drift;position:absolute}@keyframes drift{0%{transform:translate(0)scale(1)}33%{transform:translate(24px,-18px)scale(1.04)}66%{transform:translate(-18px,12px)scale(.97)}to{transform:translate(0)scale(1)}}.wishstory-wrapper .scroll-hint{flex-direction:column;align-items:center;gap:8px;animation:2.5s ease-in-out infinite floatD;display:flex;position:absolute;bottom:74px;left:50%;transform:translate(-50%)}.wishstory-wrapper .scroll-hint span{letter-spacing:.32em;color:#c9a96e66;font-family:Cinzel,serif;font-size:7.5px}.wishstory-wrapper .s-line{background:linear-gradient(#c9a96e80,#0000);width:1px;height:36px}@keyframes floatD{0%,to{opacity:.7;transform:translate(-50%)translateY(0)}50%{opacity:1;transform:translate(-50%)translateY(9px)}}.wishstory-wrapper .eyebrow{letter-spacing:.42em;color:#c9a96e8c;margin-bottom:14px;font-family:Cinzel,serif;font-size:8px}.wishstory-wrapper .sec-title{color:var(--ivory);text-align:center;margin-bottom:16px;font-family:Playfair Display,serif;font-size:clamp(1.8rem,5vw,3.5rem);font-style:italic;font-weight:400}.wishstory-wrapper .orn{align-items:center;gap:13px;margin-bottom:58px;display:flex}.wishstory-wrapper .ol{background:linear-gradient(90deg,#0000,#c9a96e59);flex:1;min-width:40px;max-width:80px;height:1px}.wishstory-wrapper .ol.r{background:linear-gradient(270deg,#0000,#c9a96e59)}.wishstory-wrapper .oc{color:#c9a96e6b;font-size:9px}.wishstory-wrapper .reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(28px)}.wishstory-wrapper .reveal.visible{opacity:1;transform:translateY(0)}.wishstory-wrapper .hero-badge{letter-spacing:.48em;color:#c9a96e9e;opacity:0;margin-bottom:32px;font-family:Cinzel,serif;font-size:8.5px;animation:1.2s .3s forwards riseIn}.wishstory-wrapper .hero-rule{opacity:0;align-items:center;gap:14px;margin-bottom:32px;animation:1.2s .8s forwards riseIn;display:flex}.wishstory-wrapper .hrl{background:linear-gradient(90deg,#0000,#c9a96e6b);width:55px;height:1px}.wishstory-wrapper .hrl.r{background:linear-gradient(270deg,#0000,#c9a96e6b)}.wishstory-wrapper .hrd{color:var(--gold);opacity:.6;font-size:8px}.wishstory-wrapper .hero-title{color:var(--ivory);text-align:center;opacity:0;text-shadow:0 0 90px #e8c4c41a;margin-bottom:26px;font-family:Playfair Display,serif;font-size:clamp(2.8rem,8vw,7rem);font-style:italic;font-weight:400;line-height:1.08;animation:1.4s 1.3s forwards riseIn}.wishstory-wrapper .hero-sub{color:#e8c4c49e;letter-spacing:.06em;opacity:0;margin-bottom:14px;font-family:Cormorant Garamond,serif;font-size:clamp(1rem,2.5vw,1.3rem);font-style:italic;font-weight:300;animation:1.2s 1.9s forwards riseIn}.wishstory-wrapper .hero-prod{letter-spacing:.3em;color:#c9a96e6b;opacity:0;font-family:Cinzel,serif;font-size:8px;animation:1.2s 2.5s forwards riseIn}@keyframes riseIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.wishstory-wrapper .gallery-grid{grid-template-columns:repeat(2,1fr);gap:26px;width:100%;max-width:840px;display:grid}.wishstory-wrapper .photo-frame{aspect-ratio:3/4;cursor:pointer;transition:transform .6s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}.wishstory-wrapper .photo-frame:before{content:"";z-index:3;pointer-events:none;border:1px solid #c9a96e33;transition:border-color .4s;position:absolute;inset:10px}.wishstory-wrapper .photo-frame:after{content:"";z-index:3;pointer-events:none;border:2px solid #c9a96e17;position:absolute;inset:0}.wishstory-wrapper .photo-frame:hover{transform:scale(1.025)}.wishstory-wrapper .photo-frame:hover:before{border-color:#c9a96e80}.wishstory-wrapper .photo-frame img{object-fit:cover;filter:sepia(18%)brightness(.92)contrast(1.05)saturate(.85);width:100%;height:100%;transition:filter .6s,transform .6s}.wishstory-wrapper .photo-frame:hover img{filter:sepia(4%)brightness(1.02)contrast(1.02)saturate(1.1);transform:scale(1.04)}.wishstory-wrapper .photo-overlay{z-index:2;background:linear-gradient(#0000 45%,#080305b3 100%);position:absolute;inset:0}.wishstory-wrapper .photo-cap{text-align:center;letter-spacing:.28em;color:#c9a96e9e;z-index:4;font-family:Cinzel,serif;font-size:7.5px;position:absolute;bottom:18px;left:0;right:0}.wishstory-wrapper .cn{z-index:5;width:13px;height:13px;position:absolute}.wishstory-wrapper .cn.tl{border-top:1px solid #c9a96e6b;border-left:1px solid #c9a96e6b;top:6px;left:6px}.wishstory-wrapper .cn.tr{border-top:1px solid #c9a96e6b;border-right:1px solid #c9a96e6b;top:6px;right:6px}.wishstory-wrapper .cn.bl{border-bottom:1px solid #c9a96e6b;border-left:1px solid #c9a96e6b;bottom:6px;left:6px}.wishstory-wrapper .cn.br{border-bottom:1px solid #c9a96e6b;border-right:1px solid #c9a96e6b;bottom:6px;right:6px}.wishstory-wrapper .quote-section{text-align:center;background:radial-gradient(#1e0c14 0%,#080409 70%);padding:110px 40px}.wishstory-wrapper .q-glow{pointer-events:none;filter:blur(20px);background:radial-gradient(circle,#c9858a12,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wishstory-wrapper .q-marks{color:#c9a96e1f;-webkit-user-select:none;user-select:none;margin-bottom:18px;font-family:Playfair Display,serif;font-size:6rem;line-height:.6;display:block}.wishstory-wrapper .q-text{color:var(--ivory);text-shadow:0 0 60px #e8c4c412;max-width:760px;margin:0 auto 30px;font-family:Playfair Display,serif;font-size:clamp(1.35rem,4vw,2.5rem);font-style:italic;line-height:1.55}.wishstory-wrapper .q-text em{color:var(--rose)}.wishstory-wrapper .q-attr{letter-spacing:.38em;color:#c9a96e6b;font-family:Cinzel,serif;font-size:8px}.wishstory-wrapper .q-line{background:#c9a96e47;width:60px;height:1px;margin:26px auto}.wishstory-wrapper .letter-section{background:radial-gradient(at 60% 40%,#1f0d18 0%,#090407 70%)}.wishstory-wrapper .letter-card{background:#fff2f806;border:1px solid #c9a96e26;width:100%;max-width:700px;padding:64px 62px;position:relative;box-shadow:0 0 90px #c9858a0d,inset 0 0 60px #c9a96e04}.wishstory-wrapper .letter-card:before{content:"";pointer-events:none;border:1px solid #c9a96e0e;position:absolute;inset:8px}.wishstory-wrapper .letter-card:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(#0000,#0000 38px,#c9a96e0a 38px 39px);border-radius:0;position:absolute;inset:0}.wishstory-wrapper .flourish{text-align:center;color:#c9a96e59;letter-spacing:.2em;z-index:1;margin-bottom:36px;font-size:1.5rem;position:relative}.wishstory-wrapper .letter-body{color:#faf6f0d1;z-index:1;min-height:200px;font-size:1.15rem;font-style:italic;font-weight:300;line-height:2;position:relative}.wishstory-wrapper .letter-body .typed-text{white-space:pre-wrap;word-break:break-word}.wishstory-wrapper .cursor{vertical-align:text-bottom;background:#c9a96eb3;width:1.5px;height:1.1em;margin-left:1px;animation:.75s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.wishstory-wrapper .letter-sign{z-index:1;opacity:0;border-top:1px solid #c9a96e1f;margin-top:40px;padding-top:26px;transition:opacity 1.2s;position:relative}.wishstory-wrapper .letter-sign.show{opacity:1}.wishstory-wrapper .sign-label{letter-spacing:.3em;color:#c9a96e59;margin-bottom:6px;font-family:Cinzel,serif;font-size:7.5px}.wishstory-wrapper .sign-name{color:var(--rose);text-shadow:0 2px 20px #c9858a4d;margin-top:6px;font-family:Great Vibes,cursive;font-size:2.7rem;display:block}.wishstory-wrapper .reasons-section{background:radial-gradient(at 30% 70%,#150b18 0%,#060308 70%);padding:110px 40px}.wishstory-wrapper .reasons-grid{grid-template-columns:repeat(3,1fr);gap:28px;width:100%;max-width:900px;margin-top:0;display:grid}.wishstory-wrapper .reason-card{text-align:center;background:#fff2f805;border:1px solid #c9a96e1f;padding:40px 30px;transition:all .5s;position:relative}.wishstory-wrapper .reason-card:before{content:"";opacity:0;background:radial-gradient(at 50% 0,#c9858a0a,#0000 70%);transition:opacity .5s;position:absolute;inset:0}.wishstory-wrapper .reason-card:hover{border-color:#c9a96e4d;transform:translateY(-4px)}.wishstory-wrapper .reason-card:hover:before{opacity:1}.wishstory-wrapper .reason-num{color:#c9a96e33;margin-bottom:18px;font-family:Cinzel Decorative,serif;font-size:2.2rem;line-height:1;display:block}.wishstory-wrapper .reason-text{color:#faf6f0b3;font-family:Cormorant Garamond,serif;font-size:1.08rem;font-style:italic;line-height:1.75}.wishstory-wrapper .reason-icon{margin-bottom:14px;font-size:1.4rem;display:block}.wishstory-wrapper .promise-section{text-align:center;background:radial-gradient(at 50% 30%,#1a0d16 0%,#070308 65%);padding:120px 40px}.wishstory-wrapper .promise-wrap{max-width:680px;margin:0 auto}.wishstory-wrapper .promise-item{text-align:left;opacity:0;align-items:flex-start;gap:22px;margin-bottom:42px;transition:all .8s;display:flex;transform:translate(-18px)}.wishstory-wrapper .promise-item.visible{opacity:1;transform:translate(0)}.wishstory-wrapper .promise-item:nth-child(2n){text-align:right;flex-direction:row-reverse;transform:translate(18px)}.wishstory-wrapper .promise-item:nth-child(2n).visible{transform:translate(0)}.wishstory-wrapper .promise-icon{filter:drop-shadow(0 0 8px #c9858a66);flex-shrink:0;margin-top:4px;font-size:1.6rem}.wishstory-wrapper .promise-text{color:#faf6f0bf;font-family:Cormorant Garamond,serif;font-size:1.18rem;font-style:italic;line-height:1.75}.wishstory-wrapper .promise-text strong{color:var(--blush);font-style:normal;font-weight:600}.wishstory-wrapper .promise-divider{background:linear-gradient(#0000,#c9a96e4d,#0000);width:1px;height:30px;margin:0 auto 38px}.wishstory-wrapper .ticker-section{background:#060304;border-top:1px solid #c9a96e0f;border-bottom:1px solid #c9a96e0f;padding:60px 0;overflow:hidden}.wishstory-wrapper .ticker-wrap{white-space:nowrap;gap:0;animation:28s linear infinite tickerMove;display:flex}.wishstory-wrapper .ticker-wrap:hover{animation-play-state:paused}.wishstory-wrapper .ticker-item{color:#faf6f04d;flex-shrink:0;padding:0 36px;font-family:Playfair Display,serif;font-size:1.05rem;font-style:italic}.wishstory-wrapper .ticker-item span{color:#c9a96e73;margin:0 8px}@keyframes tickerMove{0%{transform:translate(0)}to{transform:translate(-50%)}}.wishstory-wrapper .credits-section{background:#040203;justify-content:center;min-height:100vh;position:relative;overflow:hidden}.wishstory-wrapper .stars-wrap{pointer-events:none;position:absolute;inset:0}.wishstory-wrapper .star{background:#c9a96e80;border-radius:50%;animation:ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:.08;transform:scale(1)}50%{opacity:.65;transform:scale(1.6)}}.wishstory-wrapper .credits-scroll{text-align:center;padding:80px 0;animation:22s linear infinite credUp}@keyframes credUp{0%{transform:translateY(65vh)}to{transform:translateY(-100%)}}.wishstory-wrapper .cred-block{margin-bottom:48px}.wishstory-wrapper .cred-label{letter-spacing:.45em;color:#c9a96e61;margin-bottom:8px;font-family:Cinzel,serif;font-size:8px}.wishstory-wrapper .cred-name{color:var(--ivory);font-family:Playfair Display,serif;font-size:clamp(1.15rem,3vw,1.85rem);font-style:italic;font-weight:400}.wishstory-wrapper .cred-div{background:linear-gradient(#0000,#c9a96e59,#0000);width:1px;height:36px;margin:36px auto}.wishstory-wrapper .cred-end{letter-spacing:.12em;color:#c9a96e47;margin-top:14px;font-family:Cormorant Garamond,serif;font-size:.8rem;font-style:italic}.wishstory-wrapper .cred-sig{color:#c9858a6b;margin-top:26px;font-family:Great Vibes,cursive;font-size:1.85rem}@media (width<=640px){.wishstory-wrapper .gallery-grid{grid-template-columns:1fr;gap:18px}.wishstory-wrapper .reasons-grid{grid-template-columns:1fr;gap:20px}.wishstory-wrapper .letter-card{padding:36px 22px}.wishstory-wrapper section{padding:80px 18px}.wishstory-wrapper .lb{height:36px}.wishstory-wrapper .promise-item,.wishstory-wrapper .promise-item:nth-child(2n){text-align:center;flex-direction:column}}
