@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400&family=Playfair+Display:wght@400&family=Great+Vibes&display=swap";:root{--bg-hero:#1a1a2e;--bg-sections:#121221;--text-pri:#f5f0eb;--text-sec:#a0a0ba;--acc-gold:#c9a84c;--acc-sage:#7a9e7e;--acc-rose:#c4a0a0;--dividers:#2a2a4a;--overlay:#0a0a14d9;--font-head:"Cormorant Garamond", serif;--font-sub:"Playfair Display", serif;--font-body:"Inter", sans-serif}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-sections);color:var(--text-pri);line-height:1.6;overflow-x:hidden}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes ambientGlow{0%{box-shadow:inset 0 0 40px #c8a84c0d}50%{box-shadow:inset 0 0 100px #c8a84c26}to{box-shadow:inset 0 0 40px #c8a84c0d}}@keyframes particleFloat{0%{opacity:.1;transform:translateY(0)scale(1)}50%{opacity:.3;transform:translateY(-50px)scale(1.5)}to{opacity:0;transform:translateY(-100px)scale(1)}}@keyframes pulse{0%{box-shadow:0 0 #c9a84c66}70%{box-shadow:0 0 0 15px #c9a84c00}to{box-shadow:0 0 #c9a84c00}}.fade-in-scroll{opacity:0;transition:opacity 1s cubic-bezier(.25,1,.5,1),transform 1s cubic-bezier(.25,1,.5,1);transform:translateY(30px)}.fade-in-scroll.visible{opacity:1;transform:translateY(0)}#hero{background-color:var(--bg-hero);color:#fff;text-align:center;padding:18rem 2rem 6rem;animation:10s infinite alternate ambientGlow;position:relative;overflow:hidden}#hero:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#1a1a2e00 0%,#1a1a2e 100%);width:100%;height:100%;position:absolute;top:0;left:0}#hero:after{content:"";pointer-events:none;z-index:1;opacity:.4;background-image:url("data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 200 200\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cfilter id=\"noiseFilter\"%3E%3CfeTurbulence type=\"fractalNoise\" baseFrequency=\"0.65\" numOctaves=\"3\" stitchTiles=\"stitch\"/%3E%3C/filter%3E%3Crect width=\"100%25\" height=\"100%25\" filter=\"url(%23noiseFilter)\" opacity=\"0.05\"/%3E%3C/svg%3E");width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:2;max-width:800px;margin:0 auto;position:relative}.hero-content.loaded-fade{animation:1.2s ease-out forwards fadeUp}.marquee-container{z-index:1;opacity:0;width:100%;height:240px;animation:2s .5s forwards fadeIn;position:absolute;top:0;left:0;overflow:hidden}.marquee-container:after{content:"";background:linear-gradient(0deg, var(--bg-hero) 0%, transparent 100%);z-index:2;pointer-events:none;width:100%;height:40px;position:absolute;bottom:0;left:0}.marquee-track{width:max-content;height:100%;animation:50s linear infinite scrollLeftToRight;display:flex}@keyframes scrollLeftToRight{0%{transform:translate(-50%)}to{transform:translate(0)}}@keyframes fadeIn{to{opacity:1}}.marquee-image{object-fit:cover;border-radius:0;width:auto;height:100%;margin:0;display:block}.clickable-image{cursor:pointer;transition:filter .3s}.clickable-image:hover{filter:brightness(1.2)}.gallery-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(12px);z-index:9999;opacity:0;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .4s;display:flex;position:fixed;top:0;left:0}.gallery-overlay.active{opacity:1;pointer-events:all}.gallery-close{width:50px;height:50px;color:var(--text-sec);cursor:pointer;z-index:10000;background:#14141e99;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;line-height:1;transition:all .3s;display:flex;position:absolute;top:2rem;right:2rem}.gallery-close:hover{color:#fff;border-color:var(--acc-gold);background:#c9a84c4d}.gallery-nav{color:var(--text-pri);cursor:pointer;z-index:10000;background:#14141e99;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;transition:all .3s cubic-bezier(.25,1,.5,1);display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-nav:hover{background:var(--acc-gold);color:#fff;transform:translateY(-50%)scale(1.1)}.gallery-prev{left:2rem}.gallery-next{right:2rem}@media (width<=768px){.gallery-prev{width:45px;height:45px;font-size:1.2rem;left:1rem}.gallery-next{width:45px;height:45px;font-size:1.2rem;right:1rem}}.gallery-content-wrapper{flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.gallery-main-image{object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:12px;max-width:100%;max-height:85vh;animation:.4s forwards fadeIn;box-shadow:0 15px 50px #0009}.gallery-counter{font-family:var(--font-body);color:var(--text-sec);letter-spacing:.1em;font-size:1rem;position:absolute;bottom:-40px}@media (width<=768px){.marquee-container{height:160px}#hero{padding-top:14rem}}.hero-loader{color:var(--text-pri);justify-content:center;align-items:center;min-height:400px;font-family:Great Vibes,cursive;font-size:clamp(2rem,5vw,3.5rem);display:flex;position:relative;overflow:hidden}.loader-text{z-index:2;text-shadow:0 4px 15px #0009;clip-path:inset(0 100% 0 0);padding-right:.1em;animation:3s ease-in-out .5s forwards writeIn}@keyframes writeIn{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 -10% 0 0)}}.falling-rose{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.8;animation:linear infinite forwards fall;position:absolute;top:-50px}@keyframes fall{to{opacity:0;transform:translateY(450px)rotate(360deg)}}h1.primary-name{font-family:var(--font-head);color:#fff;letter-spacing:.02em;margin-bottom:.5rem;font-size:clamp(3rem,6vw,5.5rem);font-weight:600}.hero-dates{font-family:var(--font-sub);color:var(--acc-gold);letter-spacing:.05em;margin-bottom:3rem;font-size:clamp(1rem,2vw,1.3rem)}.survived-by{margin:3rem 0}.survived-by-title{font-family:var(--font-sub);color:var(--acc-gold);text-transform:uppercase;letter-spacing:.15em;margin-bottom:1rem;font-size:.9rem}.survived-relations{font-family:var(--font-body);color:#d4c9bb;justify-content:center;min-height:5em;font-size:1.1rem;font-weight:300;line-height:1.8;display:flex;overflow:hidden}@keyframes survivorFade{0%{opacity:0;transform:translateY(15px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-15px)}}@keyframes survivorFadeNext{0%{opacity:0;transform:translateY(15px)}15%{opacity:.15;transform:translateY(0)}85%{opacity:.15;transform:translateY(0)}to{opacity:0;transform:translateY(-15px)}}.survivors-wrapper{flex-direction:column;align-items:center;gap:.5rem;width:100%;display:flex}.survivor-current{color:#d4c9bb;font-size:2.2rem;line-height:1.2;animation:4.3s ease-in-out both survivorFade}.survivor-next{color:#d4c9bb;filter:blur(.5px);font-size:1rem;animation:4.3s ease-in-out .15s both survivorFadeNext}.memorial-quote{font-family:var(--font-head);color:#fff;border-top:1px solid #d4c9bb33;margin-top:4rem;padding-top:3rem;font-size:clamp(1.4rem,3vw,1.8rem);font-style:italic}.hero-divider{background:linear-gradient(90deg, transparent, var(--acc-gold), transparent);opacity:.3;height:10px}main{grid-template-columns:1fr;gap:4rem;max-width:1400px;margin:0 auto;padding:5rem 2rem;display:grid}@media (width>=1024px){main{grid-template-columns:1fr 1fr;gap:6rem}}.section-header{font-family:var(--font-head);color:var(--text-pri);text-align:center;margin-bottom:2rem;font-size:2.5rem}@media (width>=1024px){.section-header{text-align:left}}.form-container{border:1px solid var(--dividers);background:#1a1a2e;border-radius:20px;padding:3rem;position:sticky;top:2rem;box-shadow:0 10px 40px #0000004d}.pill-toggle{background:var(--bg-sections);border:none;border-radius:50px;margin-bottom:2.5rem;padding:.5rem;display:flex;position:relative}.pill-option{text-align:center;font-family:var(--font-body);color:var(--text-sec);cursor:pointer;z-index:2;background:0 0;border:none;flex:1;padding:.8rem 1rem;font-size:1rem;font-weight:400;transition:color .4s;position:relative}.pill-option.active{color:var(--acc-gold);font-weight:600}.pill-slider{z-index:1;background:#232342;border-radius:50px;width:calc(50% - 1rem);transition:transform .4s cubic-bezier(.25,1,.5,1);position:absolute;top:.5rem;bottom:.5rem;box-shadow:0 4px 15px #0003}.rep-toggle{color:var(--text-sec);gap:1.5rem;margin-bottom:.8rem;font-size:.9rem;display:flex}.rep-option{cursor:pointer;align-items:center;gap:.4rem;transition:color .3s;display:flex}.rep-option:hover{color:var(--text-pri)}.rep-radio{appearance:none;border:1.5px solid var(--dividers);cursor:pointer;border-radius:50%;outline:none;width:16px;height:16px;transition:border-color .3s;position:relative}.rep-radio:checked{border-color:var(--acc-gold)}.rep-radio:checked:after{content:"";background:var(--acc-gold);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.input-group{margin-bottom:1.5rem;transition:all .4s}.input-group.hidden{opacity:0;display:none;transform:translateY(-10px)}input[type=text],textarea,input[type=number],input[type=tel]{border:1px solid var(--dividers);width:100%;font-family:var(--font-body);color:var(--text-pri);background:#121221;border-radius:12px;padding:1.2rem;font-size:1rem;transition:all .3s}input[type=text]:focus,textarea:focus,input[type=number]:focus,input[type=tel]:focus{border-color:var(--acc-gold);background:#16162a;outline:none;box-shadow:0 4px 20px #c9a84c1a}input::placeholder,textarea::placeholder{color:#557;transition:opacity .3s}textarea{resize:vertical;min-height:150px}.submit-btn{background:var(--bg-hero);color:#fff;border:1px solid var(--dividers);width:100%;font-family:var(--font-body);cursor:pointer;border-radius:12px;padding:1.2rem;font-size:1.1rem;font-weight:400;transition:all .3s;position:relative;overflow:hidden}.submit-btn:hover{background:#232342;transform:scale(1.02);box-shadow:0 8px 25px #1a1a2e4d}.submit-btn:active{transform:scale(.98)}.btn-text{z-index:2;position:relative}.submit-btn.loading .btn-text{opacity:0}.submit-btn:after{content:"";opacity:0;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;transition:opacity .3s;animation:.8s linear infinite spin;position:absolute;top:50%;left:50%}.submit-btn.loading:after{opacity:1}@keyframes spin{to{transform:rotate(360deg)}}.form-msg{text-align:center;opacity:0;border-radius:10px;margin-top:1.5rem;padding:1rem;font-size:.95rem;transition:all .4s;display:none;transform:translateY(10px)}.form-msg.show{opacity:1;display:block;transform:translateY(0)}.form-msg.success{color:var(--acc-sage);background:#7a9e7e1a}.form-msg.error{color:var(--acc-rose);background:#c4a0a01a}.feed-container{flex-direction:column;height:800px;display:flex;position:relative;overflow:hidden}.feed-container:before,.feed-container:after{content:"";z-index:2;pointer-events:none;width:100%;height:80px;position:absolute;left:0}.feed-container:before{background:linear-gradient(180deg, var(--bg-sections) 0%, transparent 100%);top:0}.feed-container:after{background:linear-gradient(0deg, var(--bg-sections) 0%, transparent 100%);bottom:0}.feed-list-wrap{scrollbar-width:none;-ms-overflow-style:none;height:100%;padding-bottom:2rem;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 5% 95%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 5% 95%,#0000 100%)}.feed-list-wrap::-webkit-scrollbar{display:none}.feed-list{flex-direction:column;gap:1.5rem;padding:2rem 0;display:flex}.entry-card{border:1px solid var(--dividers);cursor:pointer;background:#1a1a2e;border-radius:16px;padding:2rem;transition:all .4s cubic-bezier(.25,1,.5,1);position:relative;box-shadow:0 4px 15px #0003}.entry-card:hover{border-color:var(--acc-gold);transform:translateY(-3px);box-shadow:0 10px 30px #0006}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.card-name{font-family:var(--font-sub);color:var(--text-pri);font-size:1.3rem}.card-meta{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.badge{text-transform:uppercase;letter-spacing:.1em;border-radius:50px;padding:.3rem .8rem;font-size:.75rem;font-weight:600}.badge.tribute{color:var(--acc-gold);background:#c9a84c1a}.badge.story{color:var(--acc-sage);background:#7a9e7e1a}.card-date{color:var(--text-sec);font-size:.8rem}.card-title{font-family:var(--font-head);color:var(--acc-gold);margin-bottom:1rem;font-size:1.2rem;font-style:italic;display:none}.card-message{font-family:var(--font-body);color:var(--text-sec);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:1.05rem;line-height:1.7;transition:all .5s;display:-webkit-box;position:relative;overflow:hidden}.entry-card:not(.expanded) .card-message:after{content:"";pointer-events:none;background:linear-gradient(#1a1a2e00,#1a1a2e);height:2em;position:absolute;bottom:0;left:0;right:0}.card-affordance{color:var(--acc-gold);opacity:.8;margin-top:1rem;font-size:.9rem;transition:opacity .3s;display:block}.entry-card:hover .card-affordance{opacity:1}.entry-card.expanded{cursor:default}.entry-card.expanded .card-message{-webkit-line-clamp:unset;line-clamp:unset;display:block}.entry-card.expanded .card-message:after{display:none}.entry-card.expanded .card-title{display:block}.entry-card.expanded .card-affordance{color:var(--text-sec);text-align:right;cursor:pointer}.entry-card.expanded .card-affordance:hover{color:var(--text-pri)}.empty-feed,.error-feed{text-align:center;color:var(--text-sec);padding:3rem;font-style:italic}.shimmer-loader{background:linear-gradient(90deg,#1a1a2e 25%,#232342 50%,#1a1a2e 75%) 0 0/200% 100%;border-radius:16px;height:150px;margin-bottom:1.5rem;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.floating-actions{z-index:50;flex-direction:column;align-items:flex-end;gap:1rem;display:flex;position:fixed;bottom:2rem;right:2rem}.fab{background:var(--bg-hero);color:#fff;cursor:pointer;box-sizing:border-box;border:none;border-radius:30px;justify-content:center;align-items:center;min-width:60px;height:60px;padding:0 16px;font-size:1.5rem;transition:all .3s cubic-bezier(.25,1,.5,1);display:flex;position:relative;box-shadow:0 4px 15px #0003}.fab:hover{background:var(--acc-gold);transform:scale(1.1)}.fab-text{opacity:0;max-width:0;font-size:1.1rem;font-family:var(--font-body);white-space:nowrap;font-weight:600;transition:all .4s cubic-bezier(.25,1,.5,1);overflow:hidden}.fab:hover .fab-text{opacity:1;max-width:100px;margin-left:.5rem}.fab.playing{background:var(--acc-gold);animation:2s infinite pulse}.fab-donate{color:var(--acc-gold);background:#232342}.fab-donate:hover{background:var(--acc-gold);color:#fff}.modal-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(8px);z-index:100;opacity:0;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .4s;display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;pointer-events:all}.modal-content{background:#1a1a2e;border-radius:24px;width:90%;max-width:450px;padding:3rem;transition:transform .4s cubic-bezier(.25,1,.5,1);position:relative;transform:scale(.9);box-shadow:0 20px 60px #0006}.modal-overlay.active .modal-content{transform:scale(1)}.modal-close{color:var(--text-sec);cursor:pointer;background:0 0;border:none;font-size:1.5rem;transition:color .3s;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{color:var(--text-pri)}.modal-title{font-family:var(--font-head);text-align:center;color:var(--text-pri);margin-bottom:2rem;font-size:2rem}.currency-toggle{border:1px solid var(--dividers);background:#0d0d1a;border-radius:50px;gap:4px;margin-bottom:1.5rem;padding:4px;display:flex}.currency-btn{font-family:var(--font-body);cursor:pointer;color:var(--text-sec);background:0 0;border:none;border-radius:50px;flex:1;padding:.6rem 1rem;font-size:.9rem;font-weight:400;transition:all .3s}.currency-btn.active{background:var(--acc-gold);color:#0d0d1a;font-weight:600;box-shadow:0 2px 12px #c9a84c4d}.currency-btn:not(.active):hover{color:var(--text-pri);background:#ffffff0d}.bank-details{border:1px dashed var(--dividers);text-align:center;background:#121221;border-radius:12px;margin-bottom:2rem;padding:1.5rem;transition:all .3s}.bank-label{color:var(--text-sec);text-transform:uppercase;letter-spacing:.1em;font-size:.9rem}.bank-value{font-family:var(--font-sub);color:var(--text-pri);margin-bottom:.5rem;font-size:1.4rem}.donate-confirmation{text-align:center;display:none}.donate-confirmation.show{display:block}.donate-confirmation p{font-family:var(--font-sub);color:var(--acc-gold);font-size:1.2rem;line-height:1.6}.timeline-section{max-width:1400px;margin:0 auto;padding:5rem 2rem}.timeline-header{text-align:center;margin-bottom:4rem}.timeline-container{max-width:1000px;margin:0 auto;padding:2rem 0;position:relative}.timeline-line{background:var(--dividers);z-index:1;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}@media (width<=768px){.timeline-line{left:30px}}.timeline-item{z-index:2;opacity:0;width:50%;padding:2rem 3rem;transition:all .8s cubic-bezier(.25,1,.5,1);position:relative}.timeline-item.left{left:0;transform:translate(-50px)}.timeline-item.right{left:50%;transform:translate(50px)}.timeline-item.visible{opacity:1;transform:translate(0)}@media (width<=768px){.timeline-item{width:100%;padding-left:80px;padding-right:0}.timeline-item.left,.timeline-item.right{left:0;transform:translateY(30px)}.timeline-item.visible{transform:translateY(0)}}.timeline-dot{background:var(--acc-gold);width:20px;height:20px;box-shadow:0 0 0 4px var(--bg-sections), 0 0 20px #c9a84c99;z-index:3;border-radius:50%;position:absolute;top:2rem}.timeline-item.left .timeline-dot{right:-10px}.timeline-item.right .timeline-dot{left:-10px}@media (width<=768px){.timeline-item.left .timeline-dot,.timeline-item.right .timeline-dot{left:20px;right:auto}}.timeline-content{border:1px solid var(--dividers);background:#1a1a2e;border-radius:16px;padding:2rem;transition:all .4s;position:relative;box-shadow:0 4px 15px #0003}.timeline-content:hover{border-color:var(--acc-gold);transform:translateY(-5px);box-shadow:0 10px 30px #0006}.timeline-content:before{content:"";border-style:solid;width:0;height:0;position:absolute;top:2rem}.timeline-item.left .timeline-content:before{border-width:10px 0 10px 10px;border-color:#0000 #0000 #0000 #1a1a2e;right:-10px}.timeline-item.right .timeline-content:before{border-width:10px 10px 10px 0;border-color:#0000 #1a1a2e #0000 #0000;left:-10px}@media (width<=768px){.timeline-content:before{display:none}}.timeline-date{font-family:var(--font-sub);color:var(--acc-gold);text-transform:uppercase;letter-spacing:.1em;background:#c9a84c1a;border-radius:50px;margin-bottom:.5rem;padding:.3rem .8rem;font-size:.9rem;display:inline-block}.timeline-title{font-family:var(--font-head);color:var(--text-pri);margin-bottom:1rem;font-size:1.8rem}.timeline-desc{color:var(--text-sec);font-size:1.05rem;line-height:1.7}.timeline-loader{width:100%}
