:root{--color-sage-deep: #1e2e23;--color-sage-rich: #364e3c;--color-sage-forest: #4a6851;--color-sage-main: #698d72;--color-sage-medium: #82a38a;--color-sage-soft: #a3c2ab;--color-sage-light: #c4dccb;--color-sage-mist: #e2efe6;--color-sage-foam: #f0f6f2;--color-matcha-deepest: #0b170e;--color-matcha-dark: #132417;--color-matcha-forest: #203525;--color-matcha-rich: #304d37;--color-matcha-leaf: #4d7254;--color-matcha-ceremonial: #6a9172;--color-cream-pure: #ffffff;--color-cream-soft: #fcfbf8;--color-cream-warm: #f6f2e8;--color-cream-card: #f8f6f0;--color-cream-muted: #d5ded7;--color-gold-deep: #b89530;--color-gold-champagne: #d4af37;--color-gold-light: #f2dc87;--color-gold-shimmer: #fff2bf;--color-gold-glow: rgba(212, 175, 55, .45);--color-error-red: #e05353;--color-error-glow: rgba(224, 83, 83, .5);--glass-bg-dark: rgba(23, 38, 28, .76);--glass-bg-card: rgba(35, 56, 42, .68);--glass-bg-sage: rgba(105, 141, 114, .18);--glass-border-light: rgba(196, 220, 203, .22);--glass-border-sage: rgba(163, 194, 171, .35);--glass-border-gold: rgba(212, 175, 55, .38);--glass-blur: blur(20px);--glass-shadow: 0 24px 60px rgba(7, 18, 10, .45);--glass-shadow-sm: 0 10px 30px rgba(7, 18, 10, .25);--font-serif-display: "Playfair Display", Georgia, serif;--font-serif-elegant: "Cormorant Garamond", Garamond, serif;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-handwriting: "Caveat", "Brush Script MT", cursive;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2.5rem;--spacing-xl: 4rem;--spacing-2xl: 6.5rem;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 36px;--radius-full: 9999px;--transition-fast: .2s cubic-bezier(.2, .8, .2, 1);--transition-smooth: .4s cubic-bezier(.16, 1, .3, 1);--transition-slow: .8s cubic-bezier(.16, 1, .3, 1)}@keyframes shakeCard{0%,to{transform:translate(0)}20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}@keyframes unlockGlow{0%{transform:scale(1);box-shadow:0 0 #d4af3700}50%{transform:scale(1.02);box-shadow:0 0 50px #d4af3799,0 0 100px #5f876766}to{transform:scale(1.05);opacity:0}}@keyframes floatGently{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(2deg)}}@keyframes floatReverse{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(8px) rotate(-2deg)}}@keyframes shimmerGold{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes flickerFlame{0%,to{transform:scale(1) rotate(-1deg);opacity:.95}25%{transform:scale(1.08,.96) rotate(1deg);opacity:1}50%{transform:scale(.96,1.05) rotate(-2deg);opacity:.9}75%{transform:scale(1.04,.98) rotate(2deg);opacity:1}}@keyframes smokePuff{0%{opacity:.8;transform:translateY(0) scale(1);filter:blur(1px)}50%{opacity:.5;transform:translateY(-24px) scale(1.8) rotate(15deg);filter:blur(4px)}to{opacity:0;transform:translateY(-45px) scale(2.8) rotate(35deg);filter:blur(8px)}}@keyframes eqBar1{0%,to{height:4px}50%{height:16px}}@keyframes eqBar2{0%,to{height:16px}50%{height:6px}}@keyframes eqBar3{0%,to{height:8px}50%{height:18px}}@keyframes eqBar4{0%,to{height:14px}50%{height:4px}}@keyframes fadeUpReveal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes blurIn{0%{opacity:0;filter:blur(12px);transform:scale(.96)}to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes pulseDot{0%,to{box-shadow:0 0 #d4af3780}50%{box-shadow:0 0 0 10px #d4af3700}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);color:var(--color-cream-pure);background-color:var(--color-matcha-deepest);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow-x:hidden;line-height:1.6;background-color:var(--color-matcha-deepest);color:var(--color-cream-soft);min-height:100vh;position:relative}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}.ambient-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:5;opacity:.85}.pin-screen-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;background:radial-gradient(circle at center,var(--color-matcha-dark) 0%,var(--color-matcha-deepest) 100%);display:flex;align-items:center;justify-content:center;padding:1.5rem;transition:opacity .8s ease,transform .8s ease}.pin-screen-container.unlocking{animation:unlockGlow .9s forwards ease-in-out}.pin-card{width:100%;max-width:380px;background:var(--glass-bg-dark);border:1px solid var(--glass-border-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-xl);padding:2.2rem 1.8rem;box-shadow:var(--glass-shadow);display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform var(--transition-fast)}.pin-card.shake{animation:shakeCard .5s ease-in-out;border-color:var(--color-error-red)}.pin-icon-badge{width:58px;height:58px;border-radius:50%;background:#5f876733;border:1px solid rgba(130,168,138,.3);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:1.2rem;color:var(--color-matcha-foam);box-shadow:0 4px 15px #0003}.pin-title{font-family:var(--font-serif-display);font-size:1.45rem;font-weight:600;color:var(--color-cream-pure);margin-bottom:.4rem;letter-spacing:-.01em}.pin-subtitle{font-size:.9rem;color:var(--color-matcha-latte);margin-bottom:1.8rem}.pin-dots-row{display:flex;gap:1rem;margin-bottom:1.8rem}.pin-dot{width:15px;height:15px;border-radius:50%;border:2px solid var(--color-matcha-ceremonial);background:transparent;transition:all .25s ease}.pin-dot.filled{background:var(--color-gold-champagne);border-color:var(--color-gold-champagne);box-shadow:0 0 12px var(--color-gold-glow);transform:scale(1.15)}.pin-dot.error{background:var(--color-error-red);border-color:var(--color-error-red);box-shadow:0 0 10px var(--color-error-glow)}.pin-dot.success{background:var(--color-matcha-latte);border-color:var(--color-gold-champagne);box-shadow:0 0 15px var(--color-gold-glow)}.pin-error-feedback{min-height:1.4rem;font-size:.85rem;color:var(--color-error-red);margin-bottom:1.2rem;transition:opacity .2s}.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;width:100%;max-width:280px}.pin-key{aspect-ratio:1;max-width:72px;max-height:72px;margin:0 auto;width:100%;border-radius:50%;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:var(--color-cream-pure);font-size:1.45rem;font-weight:500;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .15s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.pin-key:hover{background:#5f87674d;border-color:#dbe8dd4d;transform:scale(1.05)}.pin-key:active{transform:scale(.94);background:#d4af3740}.pin-key.key-action{background:transparent;border-color:transparent;font-size:1.1rem;color:var(--color-matcha-latte)}.pin-key.key-action:hover{background:#ffffff0d;color:var(--color-cream-pure)}.music-controller-pill{position:fixed;bottom:1.8rem;right:1.8rem;z-index:150;display:flex;align-items:center;gap:.75rem;background:var(--glass-bg-dark);border:1px solid var(--glass-border-gold);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:.6rem 1.1rem;border-radius:var(--radius-full);box-shadow:0 10px 30px #0006;color:var(--color-cream-pure);cursor:pointer;transition:transform .25s ease,background .25s ease,border-color .25s ease}.music-controller-pill:hover{transform:translateY(-3px) scale(1.02);border-color:var(--color-gold-champagne);box-shadow:0 14px 35px #00000080,0 0 15px var(--color-gold-glow)}.music-equalizer{display:flex;align-items:flex-end;gap:3px;height:18px;width:18px}.music-eq-bar{width:3px;background:var(--color-gold-champagne);border-radius:2px;height:4px}.music-controller-pill.playing .music-eq-bar:nth-child(1){animation:eqBar1 1.1s ease-in-out infinite}.music-controller-pill.playing .music-eq-bar:nth-child(2){animation:eqBar2 .8s ease-in-out infinite}.music-controller-pill.playing .music-eq-bar:nth-child(3){animation:eqBar3 1.2s ease-in-out infinite}.music-controller-pill.playing .music-eq-bar:nth-child(4){animation:eqBar4 .9s ease-in-out infinite}.music-pill-label{font-size:.85rem;font-weight:500;letter-spacing:.02em;color:var(--color-matcha-foam)}.hero-section{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1.5rem;background:radial-gradient(ellipse at 50% 30%,var(--color-sage-forest) 0%,var(--color-sage-deep) 45%,var(--color-matcha-deepest) 90%);overflow:hidden}.hero-background-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-serif-display);font-size:clamp(14rem,32vw,26rem);font-weight:900;line-height:1;color:#82a38a14;background:linear-gradient(135deg,#d4af3724,#82a38a0a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:1;filter:drop-shadow(0 20px 40px rgba(0,0,0,.5))}.hero-content{position:relative;z-index:2;max-width:840px;display:flex;flex-direction:column;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1.25rem;background:#698d7240;border:1px solid var(--color-sage-soft);border-radius:var(--radius-full);font-size:.85rem;font-weight:500;color:var(--color-sage-light);margin-bottom:1.8rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-title{font-family:var(--font-serif-display);font-size:clamp(2.4rem,5.5vw,4.4rem);font-weight:700;line-height:1.15;color:var(--color-cream-pure);margin-bottom:1.5rem;letter-spacing:-.02em}.hero-title span.highlight-gold{background:linear-gradient(120deg,var(--color-gold-shimmer) 0%,var(--color-gold-champagne) 50%,var(--color-gold-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;cursor:pointer;transition:transform .2s ease}.hero-title span.highlight-gold:hover{transform:scale(1.05)}.hero-subtitle{font-size:clamp(1.05rem,2vw,1.35rem);font-weight:400;color:var(--color-sage-light);line-height:1.65;margin-bottom:1.2rem;max-width:680px}.hero-small-quote{font-family:var(--font-serif-elegant);font-style:italic;font-size:clamp(1.1rem,2.2vw,1.35rem);color:var(--color-gold-light);margin-bottom:2.6rem;opacity:.95}.hero-cta-btn{display:inline-flex;align-items:center;gap:.65rem;padding:.85rem 2rem;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-sage-forest) 0%,var(--color-sage-deep) 100%);border:1px solid var(--color-sage-soft);color:var(--color-cream-pure);font-size:.95rem;font-weight:600;box-shadow:0 10px 25px #0000004d;transition:all .3s cubic-bezier(.16,1,.3,1)}.hero-cta-btn:hover{transform:translateY(-3px);border-color:var(--color-gold-champagne);box-shadow:0 14px 30px #0006,0 0 20px var(--color-gold-glow);background:linear-gradient(135deg,var(--color-sage-main) 0%,var(--color-sage-forest) 100%)}.hero-cta-btn svg{animation:floatGently 2s ease-in-out infinite}.content-section{position:relative;padding:clamp(4.5rem,8vw,7rem) 1.5rem;max-width:1240px;margin:0 auto;z-index:10}.section-header{text-align:center;max-width:720px;margin:0 auto clamp(2.5rem,5vw,4rem) auto}.section-tag{display:inline-block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--color-gold-champagne);margin-bottom:.6rem}.section-title{font-family:var(--font-serif-display);font-size:clamp(2rem,4.2vw,3.2rem);font-weight:700;line-height:1.2;color:var(--color-cream-pure);margin-bottom:.85rem;letter-spacing:-.01em}.section-description{font-size:1.05rem;color:var(--color-sage-light);line-height:1.6}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.5rem}@media(min-width:992px){.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-item.span-2{grid-column:span 2}.gallery-item.row-2{grid-row:span 2}}.gallery-item{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-sage-deep);box-shadow:var(--glass-shadow-sm);border:1px solid var(--glass-border-sage);cursor:pointer;aspect-ratio:3 / 4;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease,border-color .4s ease}.gallery-item.landscape{aspect-ratio:16 / 9}.gallery-item:hover{transform:translateY(-6px) scale(1.015);border-color:var(--color-sage-soft);box-shadow:0 20px 45px #00000080,0 0 25px #698d7266}.gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1),filter .4s ease}.gallery-item:hover .gallery-image{transform:scale(1.06)}.gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(14,26,17,.95) 0%,rgba(35,56,42,.5) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;opacity:.94;transition:opacity .3s ease}.gallery-tag-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.gallery-tag{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.25rem .7rem;background:#698d7273;border:1px solid rgba(196,220,203,.3);border-radius:var(--radius-sm);color:var(--color-sage-foam)}.gallery-year{font-family:var(--font-serif-elegant);font-size:.95rem;color:var(--color-gold-champagne);font-weight:600}.gallery-item-title{font-family:var(--font-serif-display);font-size:1.25rem;font-weight:600;color:var(--color-cream-pure);margin-bottom:.35rem;line-height:1.25}.gallery-item-caption{font-size:.85rem;color:var(--color-matcha-latte);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#070f09ed;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:blurIn .3s ease}.lightbox-content-card{position:relative;max-width:900px;width:100%;max-height:92vh;background:var(--color-matcha-forest);border:1px solid var(--glass-border-gold);border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 80px #000000b3}.lightbox-img-wrapper{position:relative;width:100%;flex:1;background:#000;display:flex;align-items:center;justify-content:center;max-height:68vh}.lightbox-img{max-height:68vh;width:100%;object-fit:contain}.lightbox-info{padding:1.4rem 1.8rem;background:var(--color-matcha-dark);border-top:1px solid rgba(255,255,255,.08)}.lightbox-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.lightbox-title{font-family:var(--font-serif-display);font-size:1.35rem;color:var(--color-cream-pure)}.lightbox-counter{font-size:.85rem;color:var(--color-gold-champagne);font-weight:600}.lightbox-caption{font-size:.95rem;color:var(--color-matcha-foam);line-height:1.5}.lightbox-close-btn{position:absolute;top:1.2rem;right:1.2rem;width:42px;height:42px;border-radius:50%;background:#0009;border:1px solid rgba(255,255,255,.2);color:var(--color-cream-pure);display:flex;align-items:center;justify-content:center;z-index:20;transition:all .2s ease}.lightbox-close-btn:hover{background:var(--color-matcha-leaf);border-color:var(--color-gold-champagne);transform:scale(1.08)}.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:#132417b3;border:1px solid rgba(255,255,255,.2);color:var(--color-cream-pure);display:flex;align-items:center;justify-content:center;z-index:20;transition:all .2s ease}.lightbox-nav-btn.prev{left:1rem}.lightbox-nav-btn.next{right:1rem}.lightbox-nav-btn:hover{background:var(--color-matcha-rich);border-color:var(--color-gold-champagne);transform:translateY(-50%) scale(1.08)}.polaroids-wrapper{background:linear-gradient(180deg,var(--color-matcha-deepest) 0%,#1a2c20 12%,#253b2d 50%,#1a2c20 88%,var(--color-matcha-deepest) 100%);padding:clamp(4.5rem,8vw,6.5rem) 1.5rem;position:relative;overflow:hidden}.polaroid-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2.5rem;max-width:1100px;margin:0 auto;align-items:center}.polaroid-card{position:relative;background:var(--color-cream-card);padding:14px 14px 28px;border-radius:4px;box-shadow:0 16px 36px #00000059,0 2px 6px #00000026;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease;cursor:pointer}.polaroid-card:hover{transform:translateY(-10px) rotate(0) scale(1.04)!important;box-shadow:0 24px 50px #00000080,0 0 25px #698d7259;z-index:10}.polaroid-card:before{content:"";position:absolute;top:-12px;left:50%;transform:translate(-50%);width:90px;height:24px;background:#a3c2abc7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-left:2px dashed rgba(0,0,0,.1);border-right:2px dashed rgba(0,0,0,.1);box-shadow:0 2px 5px #0000001f;z-index:2}.polaroid-img-wrapper{width:100%;aspect-ratio:1 / 1.15;overflow:hidden;border-radius:2px;background:#2b3b2f}.polaroid-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.polaroid-card:hover .polaroid-img{transform:scale(1.05)}.polaroid-caption{font-family:var(--font-handwriting);font-size:1.55rem;color:#1f3325;text-align:center;margin-top:14px;line-height:1.2;font-weight:600}.polaroid-date{font-family:var(--font-handwriting);font-size:1.1rem;color:var(--color-sage-forest);text-align:center;margin-top:2px}.timeline-container{position:relative;max-width:900px;margin:0 auto;padding:2rem 0}.timeline-container:before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:2px;background:linear-gradient(180deg,transparent 0%,var(--color-sage-main) 15%,var(--color-gold-champagne) 85%,transparent 100%);z-index:1}@media(max-width:768px){.timeline-container:before{left:28px}}.timeline-milestone{position:relative;display:flex;margin-bottom:3.5rem;z-index:2}.timeline-milestone:nth-child(odd){justify-content:flex-start}.timeline-milestone:nth-child(2n){justify-content:flex-end}@media(max-width:768px){.timeline-milestone:nth-child(odd),.timeline-milestone:nth-child(2n){justify-content:flex-start;padding-left:60px}}.timeline-node{position:absolute;top:24px;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;background:var(--color-gold-champagne);border:4px solid var(--color-sage-deep);box-shadow:0 0 14px var(--color-gold-glow);z-index:3}@media(max-width:768px){.timeline-node{left:28px}}.timeline-card{width:44%;background:var(--glass-bg-card);border:1px solid var(--glass-border-sage);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);padding:1.6rem;box-shadow:var(--glass-shadow-sm);transition:transform .3s ease,border-color .3s ease}.timeline-card:hover{transform:translateY(-4px);border-color:var(--color-sage-soft)}@media(max-width:768px){.timeline-card{width:100%}}.timeline-year-badge{display:inline-block;padding:.35rem .95rem;background:#698d7247;border:1px solid var(--color-sage-soft);border-radius:var(--radius-full);font-family:var(--font-serif-display);font-size:.95rem;font-weight:700;color:var(--color-sage-light);margin-bottom:.75rem}.timeline-card-title{font-family:var(--font-serif-display);font-size:1.3rem;font-weight:600;color:var(--color-cream-pure);margin-bottom:.3rem}.timeline-card-subtitle{font-size:.85rem;color:var(--color-sage-soft);margin-bottom:1rem;font-weight:500}.timeline-card-img{width:100%;aspect-ratio:16 / 10;object-fit:cover;border-radius:var(--radius-md);margin-bottom:1rem;border:1px solid rgba(255,255,255,.1)}.timeline-card-desc{font-size:.92rem;color:var(--color-sage-foam);line-height:1.55}.cinematic-quote-section{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:5rem 1.5rem;background:radial-gradient(circle at center,#1b3422 0%,var(--color-matcha-deepest) 90%);border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}.cinematic-quote-card{max-width:860px;position:relative;z-index:2}.quote-mark{font-family:var(--font-serif-display);font-size:5rem;line-height:.5;color:var(--color-gold-champagne);opacity:.4;margin-bottom:1rem}.cinematic-quote-text{font-family:var(--font-serif-elegant);font-size:clamp(1.6rem,3.8vw,2.6rem);font-style:italic;font-weight:500;line-height:1.35;color:var(--color-cream-pure);margin-bottom:1.8rem}.cinematic-subquote-text{font-family:var(--font-serif-display);font-size:clamp(1.1rem,2.2vw,1.4rem);color:var(--color-gold-light);font-weight:600;letter-spacing:.02em}.letter-wrapper{max-width:800px;margin:0 auto;background:linear-gradient(145deg,#16261bd9,#0e1a12f2);border:1px solid var(--glass-border-gold);border-radius:var(--radius-xl);padding:clamp(2rem,5vw,4rem);box-shadow:var(--glass-shadow);position:relative}.letter-wrapper:after{content:"32";position:absolute;top:2rem;right:2.5rem;font-family:var(--font-serif-display);font-size:3.5rem;font-weight:900;color:#d4af371f;line-height:1}.letter-salutation{font-family:var(--font-serif-display);font-size:1.55rem;font-weight:700;color:var(--color-gold-champagne);margin-bottom:1.5rem}.letter-paragraph{font-size:clamp(.98rem,1.8vw,1.12rem);color:var(--color-matcha-foam);line-height:1.8;margin-bottom:1.35rem}.letter-signoff{margin-top:2.5rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem}.letter-signoff-text{font-family:var(--font-handwriting);font-size:1.8rem;color:var(--color-gold-light)}.cake-section-card{max-width:600px;margin:0 auto;background:var(--glass-bg-dark);border:1px solid var(--glass-border-light);border-radius:var(--radius-xl);padding:3rem 2rem;text-align:center;box-shadow:var(--glass-shadow);display:flex;flex-direction:column;align-items:center}.cake-illustration-container{position:relative;width:220px;height:200px;margin-bottom:2rem}.cake-svg{width:100%;height:100%;filter:drop-shadow(0 10px 20px rgba(0,0,0,.4))}.candle-flame{transform-origin:center bottom;animation:flickerFlame 1.2s ease-in-out infinite;transition:opacity .4s ease}.candle-flame.extinguished{animation:none!important;opacity:0!important;visibility:hidden}.candle-smoke{opacity:0;pointer-events:none}.candle-smoke.active{animation:smokePuff 1.6s ease-out forwards}.cake-action-btn{display:inline-flex;align-items:center;gap:.65rem;padding:.9rem 2.2rem;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-gold-champagne) 0%,var(--color-gold-deep) 100%);color:var(--color-matcha-deepest);font-size:1rem;font-weight:700;box-shadow:0 10px 25px #d4af3759;transition:all .3s ease}.cake-action-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 14px 35px #d4af3780}.cake-wish-banner{margin-top:1.5rem;padding:.9rem 1.6rem;background:#5f876740;border:1px solid var(--color-matcha-ceremonial);border-radius:var(--radius-md);font-family:var(--font-serif-display);font-size:1.1rem;color:var(--color-cream-pure);animation:fadeUpReveal .5s ease}.surprise-trigger-wrapper{text-align:center;margin:3.5rem auto 1rem}.surprise-cta-btn{display:inline-flex;align-items:center;gap:.8rem;padding:1.1rem 2.6rem;border-radius:var(--radius-full);background:linear-gradient(135deg,#2a4f32,#1a3220);border:2px solid var(--color-gold-champagne);color:var(--color-gold-light);font-size:1.1rem;font-weight:700;letter-spacing:.03em;box-shadow:0 12px 35px #00000080,0 0 20px var(--color-gold-glow);cursor:pointer;transition:all .35s cubic-bezier(.16,1,.3,1)}.surprise-cta-btn:hover{transform:translateY(-4px) scale(1.04);background:linear-gradient(135deg,#3d6e47,#25462d);box-shadow:0 18px 45px #0009,0 0 35px var(--color-gold-glow)}.surprise-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2500;background:#070f09eb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:blurIn .4s ease}.surprise-modal-card{position:relative;max-width:520px;width:100%;background:linear-gradient(145deg,#182e1d,#0d1a10);border:2px solid var(--color-gold-champagne);border-radius:var(--radius-xl);padding:3rem 2.2rem;text-align:center;box-shadow:0 30px 90px #000c,0 0 40px var(--color-gold-glow);display:flex;flex-direction:column;align-items:center}.surprise-giant-number{font-family:var(--font-serif-display);font-size:5rem;font-weight:900;line-height:1;background:linear-gradient(135deg,var(--color-gold-shimmer) 0%,var(--color-gold-champagne) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.8rem;filter:drop-shadow(0 0 15px var(--color-gold-glow))}.surprise-modal-title{font-family:var(--font-serif-display);font-size:1.85rem;font-weight:700;color:var(--color-cream-pure);margin-bottom:1rem}.surprise-modal-desc{font-size:1.05rem;color:var(--color-matcha-foam);line-height:1.65;margin-bottom:2rem}.easter-egg-card{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:3000;background:var(--color-matcha-forest);border:2px solid var(--color-gold-champagne);border-radius:var(--radius-lg);padding:1.4rem 2rem;box-shadow:0 20px 60px #000000b3,0 0 25px var(--color-gold-glow);max-width:90vw;width:480px;text-align:center;animation:fadeUpReveal .4s ease}.easter-egg-title{font-family:var(--font-serif-display);font-size:1.25rem;color:var(--color-gold-light);margin-bottom:.4rem}.easter-egg-desc{font-size:.95rem;color:var(--color-cream-pure);line-height:1.5}.ending-section{position:relative;background:linear-gradient(180deg,var(--color-matcha-deepest) 0%,#071009 100%);padding:clamp(6rem,10vw,9rem) 1.5rem 4rem 1.5rem;text-align:center;border-top:1px solid rgba(255,255,255,.05)}.ending-content{max-width:720px;margin:0 auto}.ending-stagger-line{font-family:var(--font-serif-elegant);font-size:clamp(1.3rem,2.8vw,1.9rem);font-style:italic;color:var(--color-matcha-latte);margin-bottom:.75rem;letter-spacing:.02em}.ending-final-salute{font-family:var(--font-serif-display);font-size:clamp(2.4rem,5.5vw,4.2rem);font-weight:800;color:var(--color-cream-pure);margin:2.5rem 0 3rem;letter-spacing:-.01em}.ending-credit-text{font-size:.88rem;color:var(--color-matcha-sage);letter-spacing:.05em;margin-bottom:.4rem}.ending-year{font-family:var(--font-serif-display);font-size:1.1rem;color:var(--color-gold-champagne);font-weight:600}
