.envelope-screen{z-index:10;scrollbar-width:none;-ms-overflow-style:none;background:radial-gradient(120% 100%,#fffdf9 0%,#faf7f2 60%,#f2ebdc 100%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden auto}.envelope-screen::-webkit-scrollbar{display:none}.envelope-screen{gap:14px;padding:16px}.env-ambient{pointer-events:none;filter:blur(80px);border-radius:50%;position:absolute}.env-ambient--left{background:radial-gradient(circle,#c59b2726 0%,#0000 70%);width:400px;height:400px;top:-100px;left:-100px}.env-ambient--right{background:radial-gradient(circle,#c59b271f 0%,#0000 70%);width:500px;height:500px;bottom:-150px;right:-100px}.floating-cap{opacity:.35;pointer-events:none;font-size:2.5rem;animation:5s ease-in-out infinite floatCap;position:absolute}.floating-cap.cap-tl{font-size:2rem;animation-delay:-1s;top:8%;left:6%;transform:rotate(-15deg)}.floating-cap.cap-br{font-size:1.8rem;animation-delay:-3s;bottom:12%;right:8%;transform:rotate(10deg)}.floating-star{color:#c59b27;pointer-events:none;animation:3s ease-in-out infinite twinkle;position:absolute}.floating-star.star-1{font-size:1.4rem;animation-delay:0s;top:20%;right:12%}.floating-star.star-2{font-size:1rem;animation-delay:-1.2s;bottom:25%;left:10%}.floating-star.star-3{font-size:.8rem;animation-delay:-2.4s;top:55%;right:6%}.invite-card{text-align:center;background:#fff;border:2px solid #c59b2799;border-radius:16px;width:min(340px,86vw);margin-top:12px;padding:22px 18px 50px;animation:4s ease-in-out infinite pulseGlow,7s ease-in-out infinite float;position:relative;box-shadow:0 20px 50px #0d1b351f,0 4px 15px #c59b2726,inset 0 1px #fff}.invite-card:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 25%,#f3e8c940 40%,#c59b2726 50%,#f3e8c940 60%,#0000 75%) 0 0/300% 100%;border-radius:16px;animation:6s ease-in-out infinite shimmerGold;position:absolute;inset:0}.card-inner-frame{pointer-events:none;border:1px solid #c59b2759;border-radius:12px;position:absolute;inset:6px}.card-header{justify-content:center;align-items:center;gap:10px;margin-bottom:10px;display:flex}.vku-logo-img{object-fit:contain;filter:drop-shadow(0 2px 6px #0000001f);width:40px;height:40px}.card-school-name{text-align:left;flex-direction:column;display:flex}.card-school-name .school-full{letter-spacing:.08em;color:#183059;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.62rem;font-weight:700}.card-school-name .school-year{color:#64748b;letter-spacing:.05em;margin-top:1px;font-family:Montserrat,Inter,sans-serif;font-size:.55rem}.card-divider{align-items:center;gap:6px;margin:8px 0;display:flex}.card-divider .div-line{background:linear-gradient(90deg,#0000,#c59b2780,#0000);flex:1;height:1px}.card-divider .div-star{color:#c59b27;font-size:.65rem;animation:3s ease-in-out infinite separatorPulse}.card-title-area{margin:4px 0}.title-happy{letter-spacing:.35em;color:#2c5282;margin-bottom:2px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.65rem;font-weight:600}.title-graduation{color:#183059;margin-bottom:2px;font-family:Dancing Script,cursive;font-size:clamp(1.6rem,5.5vw,2.1rem);font-weight:700;line-height:1.1}.grad-cap-center{margin:2px 0;font-size:1.4rem;animation:4s ease-in-out infinite float;display:inline-block}.card-invite{margin:8px 0}.invite-formal{letter-spacing:.1em;color:#2c5282;margin-bottom:4px;font-family:Montserrat,Inter,sans-serif;font-size:.72rem}.invite-dashes{color:#c59b2799;letter-spacing:.05em;margin:2px 0;font-size:.6rem}.invite-to{color:#183059;margin:4px 0;font-family:Dancing Script,cursive;font-size:clamp(1.25rem,4.5vw,1.55rem);font-weight:700;line-height:1}.invite-suffix{color:#2c5282;letter-spacing:.05em;margin-top:4px;font-family:Montserrat,Inter,sans-serif;font-size:.68rem}.card-name{margin:6px 0 2px}.name-display{color:#183059;font-family:Dancing Script,cursive;font-size:clamp(1.5rem,5.5vw,1.95rem);font-weight:700;line-height:1.1;display:block}.card-degree{color:#2c5282;margin-bottom:8px;font-family:Montserrat,Inter,sans-serif;font-size:.65rem;font-weight:600}.card-event-info{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;display:flex}.event-chip{color:#183059;letter-spacing:.03em;background:#f3e8c999;border:1px solid #c59b2766;border-radius:16px;align-items:center;gap:4px;padding:3px 10px;font-family:Montserrat,Inter,sans-serif;font-size:.65rem;font-weight:600;display:flex}.open-btn{cursor:pointer;color:#fff;letter-spacing:.2em;text-transform:uppercase;z-index:2;background:linear-gradient(135deg,#0d1b35 0%,#1e3a6d 100%) 0 0/200%;border:1.5px solid #c59b2780;border-radius:50px;align-items:center;gap:8px;padding:12px 32px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.82rem;font-weight:700;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 8px 25px #0d1b3540}.open-btn:hover{transform:translateY(-2px);box-shadow:0 12px 35px #0d1b3559,0 4px 20px #c59b2740}.open-btn--clicked{opacity:.7;pointer-events:none}.btn-shimmer{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:60%;height:100%;animation:2.5s ease-in-out infinite btnShimmer;position:absolute;top:0;left:-120%;transform:skew(-20deg)}.btn-icon{color:#d4af37;font-size:.7rem}.btn-text{z-index:1;position:relative}.hint-text{color:#2c5282;letter-spacing:.1em;font-family:Montserrat,Inter,sans-serif;font-size:.75rem;font-weight:500;animation:4s ease-in-out infinite float}.hero-section{background-color:#faf7f2;justify-content:center;align-items:center;min-height:100vh;padding:80px 24px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;background:radial-gradient(80% 60% at 50% 0,#fffdf9 0%,#0000 70%),linear-gradient(#faf7f2 0%,#f4efe6 100%);position:absolute;inset:0}.hero-bg-glow{pointer-events:none;filter:blur(100px);z-index:0;border-radius:50%;position:absolute}.hero-bg-glow--gold{background:radial-gradient(circle,#c59b272e 0%,#0000 70%);width:600px;height:400px;animation:8s ease-in-out infinite gradientShift;top:-100px;left:50%;transform:translate(-50%)}.hero-bg-glow--crimson{background:radial-gradient(circle,#c59b271f 0%,#0000 70%);width:400px;height:300px;bottom:0;right:-100px}.hero-sparkles-container{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.star-wrapper{filter:drop-shadow(0 0 12px #f4d35ed9);justify-content:center;align-items:center;display:flex;position:absolute}.star-wrapper .gold-star-svg{color:#f4d35e}.star-wrapper.star-1{top:15%;left:min(230px,18vw)}.star-wrapper.star-2{top:25%;right:min(240px,19vw)}.star-wrapper.star-3{top:48%;left:min(190px,15vw)}.star-wrapper.star-4{top:58%;right:min(200px,16vw)}.star-wrapper.star-5{top:76%;left:min(250px,20vw)}.star-wrapper.star-6{top:38%;right:min(250px,20vw)}.star-wrapper.star-7{top:22%;left:min(320px,25vw)}.star-wrapper.star-8{top:70%;right:min(310px,24vw)}@media (width<=992px){.star-wrapper.star-1{left:6%}.star-wrapper.star-2{right:6%}.star-wrapper.star-3{left:5%}.star-wrapper.star-4{right:5%}.star-wrapper.star-5,.star-wrapper.star-6,.star-wrapper.star-7,.star-wrapper.star-8{display:none}}.side-banner{z-index:3;background:linear-gradient(#142747 0%,#1a3663 45%,#10203b 100%);border:2px solid #d4af37;border-top:none;flex-direction:column;align-items:center;width:90px;height:640px;padding:22px 8px 28px;transition:all .35s;display:flex;position:absolute;top:0;box-shadow:0 20px 45px #0d1b354d,0 0 25px #d4af3740,inset 0 1px 1px #ffffff40}.side-banner--left{left:min(55px,4vw)}@media (width<=1280px){.side-banner--left{width:80px;height:550px;left:20px}}@media (width<=992px){.side-banner--left{display:none}}.side-banner--right{right:min(55px,4vw)}@media (width<=1280px){.side-banner--right{width:80px;height:550px;right:20px}}@media (width<=992px){.side-banner--right{display:none}}.side-banner__stitch{pointer-events:none;border:none;border-left:1.5px dashed #d4af3799;border-right:1.5px dashed #d4af3799;position:absolute;inset:6px}.side-banner__badge{z-index:2;background:linear-gradient(135deg,#fff 0%,#faf4e3 100%);border:2px solid #d4af37;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;margin-bottom:16px;padding:6px;display:flex;box-shadow:0 6px 16px #0000004d}.side-banner__badge--logo{background:#fff}.side-banner__badge--cap span{font-size:1.6rem}.side-banner__logo-img{object-fit:contain;filter:drop-shadow(0 2px 4px #00000026);width:48px;height:48px}.side-banner__body{z-index:2;flex:1;justify-content:center;align-items:center;padding:10px 0;display:flex}.side-banner__text{writing-mode:vertical-rl;color:#fff;text-shadow:0 2px 8px #00000080}.side-banner__text--upright{text-orientation:upright;letter-spacing:.5em;color:#f4d35e;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-weight:900}.side-banner__text--script{letter-spacing:.18em;color:#fff;font-family:Playfair Display,Georgia,serif;font-size:1.35rem;font-style:italic;font-weight:700;transform:rotate(180deg)}.side-banner__tag{text-align:center;z-index:2;background:#d4af3738;border:1.5px solid #d4af37b3;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;width:calc(100% - 12px);margin-bottom:8px;padding:6px 4px;display:flex}.side-banner__tag span{color:#f4d35e;letter-spacing:.06em;text-transform:uppercase;font-family:Montserrat,Inter,sans-serif;font-size:.65rem;font-weight:800;line-height:1.25}.side-banner__tail{clip-path:polygon(0 0,100% 0,100% 100%,50% 50%,0 100%);background:#10203b;border-left:2px solid #d4af37;border-right:2px solid #d4af37;height:24px;position:absolute;bottom:-22px;left:-2px;right:-2px}.hero-content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:700px;display:flex;position:relative}.hero-badge{letter-spacing:.25em;text-transform:uppercase;color:#183059;background:#f3e8c999;border:1px solid #c59b2766;border-radius:50px;align-items:center;gap:10px;padding:6px 20px;font-family:Montserrat,Inter,sans-serif;font-size:.72rem;font-weight:600;display:flex;box-shadow:0 4px 15px #c59b271f}.hero-avatar-wrapper{flex-shrink:0;width:200px;height:200px;position:relative}@media (width<=640px){.hero-avatar-wrapper{width:160px;height:160px}}.avatar-ring{border-radius:50%;position:absolute}.avatar-ring--outer{border:2px dashed #c59b27a6;animation:15s linear infinite ringRotate;inset:-8px}.avatar-ring--inner{border:3px solid #c59b27e6;animation:3s ease-in-out infinite pulseGlow;inset:-3px;box-shadow:0 0 25px #c59b2759,inset 0 0 15px #c59b2726}.hero-avatar{object-fit:cover;object-position:top;border-radius:50%;width:100%;height:100%;box-shadow:0 10px 30px #0d1b3526}.avatar-glow{pointer-events:none;background:radial-gradient(circle,#c59b2740 0%,#0000 70%);border-radius:50%;position:absolute;inset:-20px}.hero-name{white-space:nowrap;letter-spacing:.03em;color:#183059;flex-wrap:nowrap;justify-content:center;align-items:center;gap:.35em;width:100%;max-width:100%;margin:0 auto;padding-bottom:8px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(1.4rem,4.8vw,3.4rem);font-weight:900;line-height:1.2;display:flex;position:relative}@media (width<=640px){.hero-name{gap:.2em;font-size:clamp(1.1rem,5.2vw,2.2rem)}}.hero-name:after{content:"";background:linear-gradient(90deg,#0000,#c59b27b3,#0000);border-radius:50%;height:4px;position:absolute;bottom:-4px;left:10%;right:10%}.hero-name__word{white-space:nowrap;display:inline-block}.hero-name__char{color:#183059;text-shadow:0 2px 8px #0d1b3514;display:inline-block}.ribbon-banner{z-index:5;filter:drop-shadow(0 10px 22px #0d1b354d);justify-content:center;align-items:center;margin:14px 0 10px;display:inline-flex;position:relative}.ribbon-banner__main{z-index:2;background:linear-gradient(#274e87 0%,#18345e 45%,#102240 100%);border-radius:4px;padding:4px;position:relative;box-shadow:inset 0 1px 1px #ffffff59,inset 0 -2px 4px #0006,0 8px 25px #0d1b354d}.ribbon-banner__stitch{color:#fff;text-shadow:0 1px 3px #0009;letter-spacing:.02em;border:1.5px dashed #f4d35e;border-radius:3px;justify-content:center;align-items:center;gap:10px;padding:8px 28px;font-family:Montserrat,Inter,sans-serif;font-size:clamp(.82rem,2.1vw,1rem);font-weight:700;display:flex}.ribbon-banner__stitch .degree-title{color:#fffdf9;white-space:nowrap}.ribbon-banner__stitch .degree-sep{color:#f4d35e;opacity:.85;margin:0 2px;font-weight:400}.ribbon-banner__stitch .degree-sub{color:#fdf4e3;white-space:nowrap}.ribbon-banner__fold{z-index:1;width:0;height:0;position:absolute;top:100%}.ribbon-banner__fold--left{border-bottom:12px solid #0000;border-right:14px solid #091426;left:0}.ribbon-banner__fold--right{border-bottom:12px solid #0000;border-left:14px solid #091426;right:0}.ribbon-banner__tail{z-index:0;background:linear-gradient(#18345e 0%,#0a1628 100%);width:50px;height:calc(100% - 2px);position:absolute;top:10px;box-shadow:inset 0 -2px 4px #00000080}.ribbon-banner__tail--left{clip-path:polygon(100% 0,0 0,35% 50%,0 100%,100% 100%);right:calc(100% - 14px)}.ribbon-banner__tail--right{clip-path:polygon(0 0,100% 0,65% 50%,100% 100%,0 100%);left:calc(100% - 14px)}@media (width<=640px){.ribbon-banner{max-width:calc(100vw - 32px);margin:8px 0}.ribbon-banner__stitch{flex-direction:column;gap:3px;padding:6px 14px;font-size:.78rem}.ribbon-banner__stitch .degree-title{white-space:normal;text-align:center}.ribbon-banner__stitch .degree-sep{display:none}.ribbon-banner__stitch .degree-sub{white-space:normal;text-align:center;opacity:.9;font-size:.74rem}.ribbon-banner__tail{width:28px;top:6px}.ribbon-banner__tail--left{right:calc(100% - 10px)}.ribbon-banner__tail--right{left:calc(100% - 10px)}.ribbon-banner__fold--left{border-bottom-width:8px;border-right-width:10px}.ribbon-banner__fold--right{border-bottom-width:8px;border-left-width:10px}}.hero-school{color:#183059;letter-spacing:.04em;justify-content:center;align-items:center;gap:8px;max-width:650px;padding:0 12px;font-family:Montserrat,Inter,sans-serif;font-size:clamp(.78rem,2vw,.95rem);font-weight:600;line-height:1.4;display:flex}.hero-school .school-dot{color:#c59b27;flex-shrink:0;font-size:.5rem}.hero-school .school-name{flex-flow:wrap;justify-content:center;gap:.35em;display:inline-flex}@media (width<=640px){.hero-school .school-name{flex-direction:column;align-items:center;gap:2px}}.hero-school .school-name__line{white-space:nowrap;display:inline-block}@media (width<=640px){.hero-school .school-name__line{white-space:normal;text-align:center}}.hero-year-tag{letter-spacing:.25em;color:#2c5282;background:#f3e8c980;border:1px solid #c59b2759;border-radius:50px;padding:4px 18px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.8rem;font-weight:700}.hero-ornament{align-items:center;gap:10px;width:100%;display:flex}.hero-ornament .ornament-line{background:linear-gradient(90deg,#0000,#c59b2780,#0000);flex:1;height:1px}.hero-ornament .ornament-diamond{color:#c59b27;font-size:.5rem}.hero-ornament .ornament-text{letter-spacing:.15em;color:#2c5282;white-space:nowrap;font-family:Montserrat,Inter,sans-serif;font-size:.7rem;font-weight:600}@media (width<=640px){.hero-ornament .ornament-text{display:none}}.hero-tagline{color:#2c5282;letter-spacing:.08em;font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-style:italic;font-weight:600}.hero-scroll-hint{flex-direction:column;align-items:center;gap:8px;margin-top:16px;display:flex}.hero-scroll-hint span{letter-spacing:.15em;color:#2c5282;text-transform:uppercase;font-family:Montserrat,Inter,sans-serif;font-size:.68rem;font-weight:600}.scroll-mouse{border:1.5px solid #0d1b3573;border-radius:12px;justify-content:center;width:22px;height:36px;padding-top:6px;display:flex;position:relative;overflow:hidden}.scroll-wheel{background:#183059;border-radius:2px;width:3px;height:7px;animation:1.8s cubic-bezier(.65,0,.35,1) infinite mouseWheelScroll}@keyframes mouseWheelScroll{0%{opacity:1;transform:translateY(0)}65%{opacity:.8;transform:translateY(6px)}to{opacity:0;transform:translateY(8px)}}.poem-banner{background-color:#faf7f2;padding:90px 24px;position:relative;overflow:hidden}.poem-bg{background:linear-gradient(#faf7f2 0%,#f4efe6 50%,#faf7f2 100%);position:absolute;inset:0}.poem-bg:before{content:"";background:radial-gradient(75% 95%,#c59b271a 0%,#0000 75%);position:absolute;inset:0}.poem-carousel-outer{justify-content:center;align-items:center;width:100%;max-width:880px;margin:0 auto;display:flex;position:relative}.poem-content{z-index:1;touch-action:pan-y;background:#fff;border:2px solid #c59b278c;border-radius:16px;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:740px;margin:0 auto;padding:56px 48px;display:flex;position:relative;box-shadow:0 16px 45px #0d1b3514,0 0 30px #c59b271f}@media (width<=640px){.poem-content{padding:40px 20px}}.poem-slide-wrapper{justify-content:center;align-items:center;width:100%;min-height:120px;display:flex;position:relative;overflow:hidden}.poem-star{color:#d4af37;font-size:1.4rem;animation:3s ease-in-out infinite twinkle}.poem-star--close{animation-delay:-1.5s}.poem-text{text-align:center;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;flex-direction:column;align-items:center;gap:12px;width:100%;font-style:normal;display:flex}.poem-text:active{cursor:grabbing}.poem-line{color:#183059;font-family:Dancing Script,cursive;font-size:clamp(1.4rem,4.8vw,2.3rem);font-weight:700;line-height:1.4;display:block}.poem-line--highlight{background:linear-gradient(135deg,#8b6d1b 0%,#c59b27 50%,#9e7b15 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.25rem,4vw,1.95rem);font-weight:700}.poem-dots{align-items:center;gap:8px;margin-top:6px;display:flex}.poem-dots .dot{cursor:pointer;background:#c59b274d;border:none;border-radius:50%;width:8px;height:8px;transition:all .3s}.poem-dots .dot--active{background:#d4af37;border-radius:4px;width:24px;box-shadow:0 0 10px #d4af3799}.poem-nav-btn{color:#8b6d1b;cursor:pointer;z-index:10;background:#fffffff2;border:1.5px solid #c59b2780;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 20px #0d1b3514,0 0 12px #c59b2726}.poem-nav-btn:hover{color:#fff;background:#d4af37;border-color:#d4af37;transform:translateY(-50%)scale(1.1);box-shadow:0 0 25px #d4af3780,0 8px 25px #0d1b3526}.poem-nav-btn:active{transform:translateY(-50%)scale(.95)}.poem-nav-btn--prev{left:-28px}.poem-nav-btn--next{right:-28px}@media (width<=1024px){.poem-nav-btn{width:42px;height:42px}.poem-nav-btn--prev{left:-14px}.poem-nav-btn--next{right:-14px}}@media (width<=640px){.poem-nav-btn{width:38px;height:38px}.poem-nav-btn--prev{left:-8px}.poem-nav-btn--next{right:-8px}}.poem-accent-left,.poem-accent-right{transform-origin:top;border-radius:2px;width:3px;height:65%;position:absolute;top:50%;transform:translateY(-50%)}.poem-accent-left{background:linear-gradient(#0000,#d4af37,#0000);left:20px}.poem-accent-right{background:linear-gradient(#0000,#d4af37,#0000);right:20px}.invite-section{background-color:#faf7f2;position:relative;overflow:hidden}.invite-bg{background:linear-gradient(#faf7f2 0%,#f4efe6 50%,#faf7f2 100%);position:absolute;inset:0}.invite-bg:after{content:"";background:radial-gradient(70% 80%,#c59b2714 0%,#0000 70%);position:absolute;inset:0}.invite-container{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:720px;margin:0 auto;padding:0 24px;display:flex;position:relative}.invite-label{letter-spacing:.35em;color:#8b6d1b;text-transform:uppercase;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.75rem;font-weight:700}.invite-formal-text{color:#183059;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.3rem,3.8vw,1.9rem);font-style:italic;font-weight:600}.devteam-callout{background:#fff;border:2px solid #c59b27a6;border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:28px 56px;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:0 16px 40px #0d1b3514,0 4px 20px #c59b272e}.devteam-callout:before{content:"VIP GUEST";letter-spacing:.12em;color:#183059;background:linear-gradient(135deg,#f5e8c7 0%,#f3e8c9 100%);border:1px solid #c59b2799;border-radius:20px;padding:3px 18px;font-family:Montserrat,Inter,sans-serif;font-size:.72rem;font-weight:700;position:absolute;top:-12px;box-shadow:0 2px 8px #c59b2733}@media (width<=640px){.devteam-callout{padding:22px 28px}}.devteam-emoji-row{gap:10px;display:flex}.devteam-emoji{font-size:1.6rem;display:inline-block}.devteam-name{letter-spacing:.03em;background:linear-gradient(135deg,#183059 0%,#c59b27 50%,#8b6d1b 100%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Dancing Script,cursive;font-size:clamp(2.6rem,8.5vw,3.8rem);font-weight:700;line-height:1.1}.invite-body{flex-direction:column;align-items:center;gap:18px;width:100%;max-width:720px;display:flex}.invite-body__main{color:#183059;letter-spacing:.02em;white-space:nowrap;font-family:Playfair Display,Georgia,serif;font-size:clamp(1rem,3.2vw,1.48rem);font-style:italic;font-weight:600;line-height:1.4}.invite-body__card{text-align:left;background:#fff;border:1.5px solid #c59b2773;border-radius:16px;flex-direction:column;gap:14px;padding:28px 32px;display:flex;box-shadow:0 12px 35px #0d1b350f,0 2px 8px #c59b2714}.invite-body__card p{color:#2c5282;font-family:Montserrat,Inter,sans-serif;font-size:.96rem;line-height:1.8}.invite-body__card p strong{color:#183059;font-weight:700}.invite-body__sign{color:#8b6d1b;font-family:Dancing Script,cursive;font-size:1.5rem;font-style:italic;font-weight:700}.event-section{background-color:#faf7f2;padding:80px 0;position:relative;overflow:hidden}.event-bg{pointer-events:none;background:radial-gradient(circle at 20% 30%,#d4af3714 0%,#0000 50%),radial-gradient(circle at 80% 70%,#1830590f 0%,#0000 50%),radial-gradient(85% 65%,#c59b271a 0%,#0000 75%);position:absolute;inset:0}.event-container{z-index:1;flex-direction:column;align-items:center;gap:0;max-width:1100px;margin:0 auto;padding:0 24px;display:flex;position:relative}.event-eyebrow{letter-spacing:.35em;color:#8b6d1b;margin-bottom:10px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.75rem;font-weight:700}.event-title{color:#183059;letter-spacing:.1em;text-align:center;margin-bottom:8px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700}.detail-cards{grid-template-columns:repeat(3,1fr);gap:26px;width:100%;max-width:980px;margin:44px 0 36px;display:grid}@media (width<=1024px){.detail-cards{grid-template-columns:repeat(3,1fr);gap:16px}}@media (width<=640px){.detail-cards{grid-template-columns:1fr;gap:22px}}.detail-card{text-align:center;cursor:default;background:linear-gradient(145deg,#162b4e 0%,#1e3a68 55%,#132442 100%);border:1.8px solid #d4af37b3;border-radius:22px;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;min-height:250px;padding:38px 24px 34px;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 16px 45px #0d1b3538,0 0 20px #d4af371f,inset 0 1px 1px #ffffff26}.detail-card:before{content:"";background:linear-gradient(90deg,#0000,#d4af37,#f4d35e,#d4af37,#0000);border-radius:2px;width:80px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.detail-card__glow{opacity:.6;pointer-events:none;background:radial-gradient(circle at 50% 0,#d4af3726 0%,#0000 60%);transition:opacity .35s;position:absolute;inset:0}.detail-card:hover{border-color:#f4d35e;transform:translateY(-8px);box-shadow:0 22px 55px #0d1b3559,0 0 35px #d4af3759,inset 0 1px 1px #ffffff4d}.detail-card:hover .detail-card__glow{opacity:1}.detail-card__icon-wrap{color:#f4d35e;background:linear-gradient(135deg,#d4af3738 0%,#d4af3714 100%);border:1.5px solid #d4af37b3;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:6px;transition:all .3s;display:flex;box-shadow:0 4px 15px #00000040}.detail-card:hover .detail-card__icon-wrap{color:#132442;background:linear-gradient(135deg,#f4d35e 0%,#d4af37 100%);transform:scale(1.1);box-shadow:0 0 22px #d4af37a6}.detail-card__label{letter-spacing:.22em;text-transform:uppercase;color:#ffffffa6;font-family:Montserrat,Inter,sans-serif;font-size:.72rem;font-weight:700}.detail-card__value{color:#f5e8c7;font-family:Montserrat,Inter,sans-serif;font-size:.92rem;font-weight:600}.detail-card__main{color:#fff;white-space:pre-line;letter-spacing:.02em;text-shadow:0 2px 8px #0006;margin-top:auto;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(1.15rem,2.3vw,1.45rem);font-weight:800;line-height:1.35}.detail-card:nth-child(3) .detail-card__main{font-size:clamp(.88rem,1.6vw,1.05rem);font-weight:700;line-height:1.45}.detail-card__map-btn{color:#f4d35e;background:#d4af3726;border:1px solid #d4af3773;border-radius:50px;align-items:center;gap:6px;margin-top:12px;padding:6px 14px;font-family:Montserrat,Inter,sans-serif;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.detail-card__map-btn:hover{color:#132442;background:#d4af37;border-color:#f4d35e;transform:translateY(-2px);box-shadow:0 0 15px #d4af3766}.dress-code-banner{background:linear-gradient(135deg,#183059 0%,#162e52 100%);border:1.8px solid #d4af37;border-radius:50px;align-items:center;gap:14px;margin-bottom:24px;padding:12px 32px;transition:all .3s;display:flex;box-shadow:0 12px 35px #0d1b3533,0 0 20px #d4af372e}.dress-code-banner:hover{transform:translateY(-3px);box-shadow:0 16px 45px #0d1b354d,0 0 30px #d4af3759}.dress-code-banner .dress-code__label{letter-spacing:.2em;text-transform:uppercase;color:#f4d35e;font-family:Montserrat,Inter,sans-serif;font-size:.75rem;font-weight:700}.dress-code-banner .dress-code__divider{background:#d4af3780;width:1px;height:14px}.dress-code-banner .dress-code__value{color:#fff;font-family:Montserrat,Inter,sans-serif;font-size:.95rem;font-weight:700}.event-contacts{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.contact-chip{color:#183059;background:#fff;border:1.5px solid #c59b2799;border-radius:50px;align-items:center;gap:8px;padding:10px 24px;font-family:Montserrat,Inter,sans-serif;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 6px 20px #0d1b3514}.contact-chip:hover{color:#fff;background:#183059;border-color:#183059;transform:translateY(-2px);box-shadow:0 10px 30px #1830594d}.contact-chip:hover svg{color:#f4d35e}.contact-chip svg{color:#8b6d1b;flex-shrink:0;transition:all .2s}.countdown-section{background-color:#faf7f2;position:relative;overflow:hidden}.countdown-bg{background:radial-gradient(80% 60%,#c59b271a 0%,#0000 70%),linear-gradient(#faf7f2 0%,#f4efe6 100%);position:absolute;inset:0}.countdown-container{z-index:1;flex-direction:column;align-items:center;gap:12px;max-width:1100px;margin:0 auto;padding:0 24px;display:flex;position:relative}.countdown-eyebrow{letter-spacing:.35em;color:#8b6d1b;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.75rem;font-weight:700}.countdown-title{color:#183059;letter-spacing:.1em;text-align:center;margin-bottom:20px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700}.countdown-units{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.countdown-unit-wrapper{align-items:flex-start;gap:8px;display:flex}.countdown-separator{color:#183059;margin-top:8px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,5vw,3rem);font-weight:700}.count-unit{flex-direction:column;align-items:center;gap:10px;display:flex}.count-card{background:#fff;border:2px solid #c59b2780;border-radius:8px;justify-content:center;align-items:center;width:clamp(72px,15vw,105px);height:clamp(82px,18vw,115px);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0d1b3514}.count-card--flip{animation:.5s ease-in-out flipNumber}.count-card__divider{background:#c59b2740;height:1px;position:absolute;top:50%;left:0;right:0}.count-number{color:#183059;z-index:1;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(2.2rem,6vw,3.4rem);font-weight:800;line-height:1;position:relative}.count-label{letter-spacing:.18em;text-transform:uppercase;color:#64748b;font-family:Montserrat,Inter,sans-serif;font-size:.72rem;font-weight:600}.countdown-sub{color:#2c5282;letter-spacing:.05em;text-align:center;margin-top:16px;font-family:Montserrat,Inter,sans-serif;font-size:.85rem;font-weight:500}.gallery-section{background-color:#faf7f2;position:relative;overflow:hidden}@media (width<=640px){.gallery-section{padding-bottom:40px}.gallery-section.section{padding-bottom:30px}}.gallery-bg{background:radial-gradient(70% 50% at 50% 0,#c59b2714 0%,#0000 60%),linear-gradient(#faf7f2 0%,#f4efe6 100%);position:absolute;inset:0}.gallery-container{z-index:1;flex-direction:column;align-items:center;gap:0;max-width:1100px;margin:0 auto;padding:0 24px;display:flex;position:relative}.gallery-eyebrow{letter-spacing:.35em;color:#8b6d1b;margin-bottom:10px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.75rem;font-weight:700}.gallery-title{color:#183059;letter-spacing:.1em;text-align:center;margin-bottom:8px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:20px;width:100%;margin-top:44px;display:grid}@media (width<=1024px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}}@media (width<=640px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px}}.gallery-item{cursor:pointer;background:#fff;border:2px solid #c59b2766;border-radius:16px;transition:all .4s cubic-bezier(.16,1,.3,1);overflow:hidden;box-shadow:0 10px 30px #0d1b350f}.gallery-item:hover{border-color:#c59b27;transform:translateY(-8px);box-shadow:0 16px 40px #0d1b351f,0 4px 20px #c59b2740}.gallery-item__img-wrap{aspect-ratio:4/3;position:relative;overflow:hidden}@media (width<=640px){.gallery-item__img-wrap{aspect-ratio:1}}.gallery-item__img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1)}.gallery-item:hover .gallery-item__img{transform:scale(1.08)}.gallery-item__overlay{background:linear-gradient(#0000 0%,#0d1b354d 50%,#0d1b35e6 100%);flex-direction:column;justify-content:flex-end;padding:20px;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;inset:0;transform:translateY(100%)}.gallery-item:hover .gallery-item__overlay{transform:translateY(0)}.gallery-item__caption{color:#fff;margin-bottom:6px;font-family:Montserrat,Inter,sans-serif;font-size:.9rem;font-weight:600;line-height:1.4}.gallery-item__zoom{color:#f5e8c7;letter-spacing:.05em;font-family:Montserrat,Inter,sans-serif;font-size:.75rem}.lightbox{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d1b35e0;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox__content{width:100%;max-width:min(700px,90vw);position:relative}.lightbox__img{border:2px solid #c59b2799;border-radius:16px;width:100%;display:block;box-shadow:0 20px 60px #0006}.lightbox__caption{text-align:center;color:#fff;letter-spacing:.05em;margin-top:14px;font-family:Montserrat,Inter,sans-serif;font-size:.9rem;font-weight:500}.lightbox__nav{color:#fff;cursor:pointer;background:#fff3;border:1px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;line-height:1;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:hover{color:#183059;background:#fff}.lightbox__nav--prev{left:-52px}.lightbox__nav--next{right:-52px}@media (width<=640px){.lightbox__nav--prev{left:-20px}.lightbox__nav--next{right:-20px}.lightbox__nav{width:36px;height:36px;font-size:1.2rem}}.lightbox__close{color:#fff;cursor:pointer;background:#fff3;border:1px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:-48px;right:0}.lightbox__close:hover{color:#183059;background:#fff}.message-section{background-color:#faf7f2;position:relative;overflow:hidden}.message-bg{background:radial-gradient(60% 70%,#c59b2714 0%,#0000 65%),linear-gradient(#f4efe6 0%,#faf7f2 100%);position:absolute;inset:0}.message-container{z-index:1;flex-direction:column;align-items:center;gap:0;max-width:1100px;margin:0 auto;padding:0 24px;display:flex;position:relative}.message-eyebrow{letter-spacing:.35em;color:#8b6d1b;margin-bottom:10px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.75rem;font-weight:700}.message-title{color:#183059;letter-spacing:.1em;text-align:center;margin-bottom:8px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700}.message-card{background:#fff;border:2px solid #c59b2780;border-radius:16px;flex-direction:column;align-items:flex-start;gap:0;width:100%;max-width:640px;margin-top:40px;padding:48px 44px;display:flex;position:relative;box-shadow:0 12px 35px #0d1b3512}.message-card:before{content:"";background:linear-gradient(#0000,#c59b27,#0000);border-radius:2px;width:3px;position:absolute;top:16px;bottom:16px;left:0}@media (width<=640px){.message-card{padding:36px 28px}}.message-quote{color:#c59b27;opacity:.45;font-family:Dancing Script,cursive;font-size:5rem;line-height:.8;display:block}.message-quote--open{align-self:flex-start;margin-bottom:-20px}.message-quote--close{align-self:flex-end;margin-top:-20px;margin-bottom:24px}.message-poem{flex-direction:column;gap:6px;width:100%;display:flex}.message-poem__line{color:#183059;font-family:Playfair Display,Georgia,serif;font-size:clamp(.95rem,2.5vw,1.15rem);font-style:italic;font-weight:500;line-height:1.8}.message-poem__line--spacer{height:12px}.message-signature{flex-direction:column;align-items:flex-end;gap:4px;width:100%;padding-top:8px;display:flex}.message-signature .sig-line{background:#c59b2780;width:80px;height:1px;margin-bottom:8px}.message-signature .sig-name{color:#183059;font-family:Dancing Script,cursive;font-size:1.4rem;font-weight:700}.message-signature .sig-sub{letter-spacing:.12em;color:#64748b;font-family:Montserrat,Inter,sans-serif;font-size:.75rem;font-weight:600}.rsvp-section{background-color:#faf7f2;position:relative;overflow:hidden}.rsvp-bg{background:radial-gradient(70% 60%,#c59b2714 0%,#0000 65%);position:absolute;inset:0}.rsvp-container{z-index:1;flex-direction:column;align-items:center;gap:0;max-width:1100px;margin:0 auto;padding:0 24px;display:flex;position:relative}.rsvp-eyebrow{letter-spacing:.35em;color:#8b6d1b;margin-bottom:10px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.75rem;font-weight:700}.rsvp-title{color:#183059;letter-spacing:.1em;text-align:center;margin-bottom:8px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,5vw,3rem);font-weight:700}.rsvp-card{background:#fff;border:2px solid #c59b2780;border-radius:16px;width:100%;max-width:580px;margin-top:40px;padding:44px 40px;box-shadow:0 12px 40px #0d1b3514}@media (width<=640px){.rsvp-card{padding:32px 24px}}.rsvp-form{flex-direction:column;gap:24px;display:flex}.form-field{flex-direction:column;gap:8px;display:flex;overflow:hidden}.form-label{letter-spacing:.1em;text-transform:uppercase;color:#183059;font-family:Montserrat,Inter,sans-serif;font-size:.78rem;font-weight:700}.form-input{color:#183059;background:#faf7f2;border:1.5px solid #c59b2759;border-radius:8px;outline:none;width:100%;padding:14px 18px;font-family:Montserrat,Inter,sans-serif;font-size:.95rem;font-weight:500;transition:all .2s}.form-input::placeholder{color:#94a3b8}.form-input:focus{background:#fff;border-color:#c59b27;box-shadow:0 0 0 3px #c59b2726}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%230D1B35' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.form-select option{color:#183059;background:#fff}.form-textarea{resize:vertical;min-height:90px}.radio-group{flex-direction:column;gap:10px;display:flex}.radio-option{cursor:pointer;background:#faf7f2;border:1.5px solid #c59b274d;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.radio-option:hover{background:#f3e8c94d;border-color:#c59b27}.radio-option--active{background:#f3e8c999;border-color:#183059;box-shadow:0 0 0 2px #0d1b3526}.radio-emoji{font-size:1.2rem}.radio-text{color:#183059;font-family:Montserrat,Inter,sans-serif;font-size:.9rem;font-weight:600}.rsvp-submit-btn{cursor:pointer;letter-spacing:.15em;color:#fff;background:linear-gradient(135deg,#0d1b35 0%,#1e3a6d 100%);border:none;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 28px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.9rem;font-weight:700;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 8px 25px #0d1b3533}.rsvp-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 30px #0d1b354d,0 4px 20px #c59b2740}.rsvp-submit-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.rsvp-submit-btn--loading{animation:1s ease-in-out infinite pulseGlow}.rsvp-success{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:20px 0;animation:.5s ease-out successPop;display:flex}.rsvp-success .success-icon{color:#c59b27;animation:.6s ease-out bounceIn}.rsvp-success .success-title{color:#183059;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:1.6rem;font-weight:800}.rsvp-success .success-msg{color:#2c5282;max-width:380px;font-family:Montserrat,Inter,sans-serif;font-size:.95rem;line-height:1.7}.rsvp-reset-btn{color:#2c5282;cursor:pointer;background:0 0;border:1px solid #0d1b3533;border-radius:50px;margin-top:8px;padding:6px 18px;font-family:Montserrat,Inter,sans-serif;font-size:.8rem;font-weight:600;transition:all .2s}.rsvp-reset-btn:hover{color:#183059;border-color:#183059}.map-section{background-color:#faf7f2;position:relative}.map-bg{background:radial-gradient(80% 60% at 50% 100%,#c59b2714 0%,#0000 60%);position:absolute;inset:0}.map-container{z-index:1;flex-direction:column;align-items:center;gap:0;max-width:1100px;margin:0 auto;padding:0 24px;display:flex;position:relative}.map-eyebrow{letter-spacing:.35em;color:#8b6d1b;margin-bottom:10px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.75rem;font-weight:700}.map-title{color:#183059;letter-spacing:.1em;text-align:center;margin-bottom:8px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700}.map-layout{grid-template-columns:1fr 380px;align-items:start;gap:32px;width:100%;margin-top:44px;display:grid}@media (width<=1024px){.map-layout{grid-template-columns:1fr;gap:24px;margin-top:32px}}@media (width<=640px){.map-layout{flex-direction:column;gap:16px;margin-top:20px;display:flex}}.map-iframe-wrap{aspect-ratio:4/3;border:2px solid #c59b2780;border-radius:16px;width:100%;overflow:hidden;box-shadow:0 10px 30px #0d1b3514}@media (width<=640px){.map-iframe-wrap{aspect-ratio:16/9;flex-shrink:0}}.map-iframe{border:none;width:100%;height:100%;display:block}.map-info{background:#fff;border:2px solid #c59b2780;border-radius:16px;flex-direction:column;align-items:center;gap:24px;padding:28px 24px;display:flex;box-shadow:0 12px 35px #0d1b3514}@media (width<=640px){.map-info{flex-shrink:0;gap:16px;width:100%;padding:20px 16px}}.venue-info{align-items:flex-start;gap:14px;width:100%;display:flex}.venue-icon{color:#183059;background:#f3e8c999;border:1.5px solid #c59b2780;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.venue-details{flex-direction:column;gap:3px;display:flex}.venue-name{color:#183059;letter-spacing:.03em;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.95rem;font-weight:800}.venue-address{color:#2c5282;font-family:Montserrat,Inter,sans-serif;font-size:.85rem;font-weight:500;line-height:1.5}.map-qr{flex-direction:column;align-items:center;gap:10px;display:flex}.qr-card{background:#fff;border:1.5px solid #c59b2766;border-radius:8px;padding:10px;box-shadow:0 6px 20px #0d1b350f}.qr-img{border-radius:4px;width:140px;height:140px;display:block}.qr-hint{color:#64748b;letter-spacing:.08em;text-align:center;font-family:Montserrat,Inter,sans-serif;font-size:.75rem;font-weight:500}.navigate-btn{letter-spacing:.12em;color:#fff;background:linear-gradient(135deg,#0d1b35 0%,#1e3a6d 100%);border-radius:50px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 24px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.85rem;font-weight:700;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 8px 25px #0d1b3533}.navigate-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0d1b354d,0 4px 20px #c59b2740}.map-note{color:#2c5282;text-align:center;letter-spacing:.04em;font-family:Montserrat,Inter,sans-serif;font-size:.85rem;font-weight:500}.footer{background-color:#162e52;border-top:1.5px solid #c59b2773;padding:70px 24px 50px;position:relative;overflow:hidden}.footer-bg{background:radial-gradient(80% 80% at 50% 100%,#d4af3738 0%,#0000 65%);position:absolute;inset:0}.footer-container{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:600px;margin:0 auto;display:flex;position:relative}.footer-ornament{width:100%;margin-bottom:10px}.footer-ornament .ornament-divider__line{background:linear-gradient(90deg,#0000,#d4af3799,#0000)}.footer-ornament .ornament-divider__star{color:#d4af37}.footer-cap{font-size:2.5rem;animation:6s ease-in-out infinite floatCap}.footer-name{color:#d4af37;text-shadow:0 2px 10px #0000004d;font-family:Dancing Script,cursive;font-size:clamp(1.8rem,4.5vw,2.4rem);font-weight:700}.footer-school{letter-spacing:.12em;color:#ffffffbf;text-transform:uppercase;font-family:Montserrat,Inter,sans-serif;font-size:.78rem;font-weight:600}.footer-quote{color:#f5ebcde6;max-width:420px;margin:6px 0;font-family:Playfair Display,Georgia,serif;font-size:.95rem;font-style:italic;line-height:1.7}.footer-sep{background:#c59b2780;width:60px;height:1.5px;margin:8px 0}.footer-credit{color:#fff;letter-spacing:.06em;font-family:Montserrat,Inter,sans-serif;font-size:.85rem;font-weight:500}.footer-credit .heart{animation:2s ease-in-out infinite float;display:inline-block}.footer-team{color:#d4af37;font-weight:700}.footer-contacts{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:4px 0;display:flex}.footer-link{color:#fff;font-family:Montserrat,Inter,sans-serif;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s}.footer-link:hover{color:#d4af37}.footer-dot{color:#d4af37;font-size:.6rem}.footer-motto{letter-spacing:.25em;color:#d4af37d9;text-transform:uppercase;margin-top:8px;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.72rem;font-weight:600}.ribbon-marquee-wrapper{z-index:5;white-space:nowrap;background:linear-gradient(135deg,#183059 0%,#295796 50%,#183059 100%);border-top:1.5px solid #d4af37;border-bottom:1.5px solid #d4af37;width:100%;padding:10px 0;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 20px #0d1b352e}.ribbon-marquee-wrapper--reverse .ribbon-marquee-track{animation-direction:reverse}.ribbon-marquee-track{will-change:transform;align-items:center;gap:36px;padding-right:36px;animation:55s linear infinite marqueeContinuous;display:flex}.ribbon-marquee-item{letter-spacing:.18em;color:#fff;text-transform:uppercase;text-shadow:0 1px 4px #0006;flex-shrink:0;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:.85rem;font-weight:700}@keyframes marqueeContinuous{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-14px)rotate(1.5deg)}66%{transform:translateY(-7px)rotate(-1deg)}}@keyframes floatCap{0%,to{transform:translateY(0)rotate(-8deg)scale(1)}50%{transform:translateY(-22px)rotate(6deg)scale(1.06)}}@keyframes shimmerGold{0%{background-position:-300%}to{background-position:300%}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #d4af374d,0 0 40px #d4af371a}50%{box-shadow:0 0 40px #d4af37b3,0 0 70px #d4af3759,0 0 100px #d4af371a}}@keyframes textGlowPulse{0%,to{text-shadow:0 0 10px #d4af3733}50%{text-shadow:0 0 25px #d4af37cc,0 0 50px #d4af374d}}@keyframes borderGlow{0%,to{border-color:#d4af374d}50%{border-color:#d4af37cc}}@keyframes waxSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.08)}80%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes ringRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes flipNumber{0%{opacity:1;transform:perspective(300px)rotateX(0)}45%{opacity:.3;transform:perspective(300px)rotateX(-90deg)}55%{opacity:.3;transform:perspective(300px)rotateX(90deg)}to{opacity:1;transform:perspective(300px)rotateX(0)}}@keyframes btnShimmer{0%{left:-120%}to{left:200%}}@keyframes lineExpand{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes caretBlink{0%,to{border-right-color:#0000}50%{border-right-color:#d4af37}}@keyframes twinkle{0%,to{opacity:.15;transform:scale(.7)rotate(0)}50%{opacity:1;transform:scale(1.3)rotate(180deg)}}@keyframes separatorPulse{0%,to{opacity:.5;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.4)rotate(180deg)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes successPop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes overlaySlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;max-width:100vw;font-size:16px;overflow-x:hidden}body{color:#0d1b35;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#faf7f2;max-width:100vw;min-height:100vh;font-family:Montserrat,Inter,sans-serif;overflow-x:hidden}#root{background-color:#faf7f2;max-width:100vw;min-height:100vh;position:relative;overflow-x:hidden}.gold-text{background:linear-gradient(135deg,#0d1b35 0%,#14284b 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.shimmer-text{background:linear-gradient(90deg,#0d1b35 0%,#8b6d1b 30%,#c59b27 50%,#8b6d1b 70%,#0d1b35 100%) 0 0/300%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:5s linear infinite shimmerGold}.glass{-webkit-backdrop-filter:blur(12px);background:#ffffffe0;border:1px solid #c59b2759;box-shadow:0 12px 40px #0d1b3514,0 2px 8px #0d1b350a}.section{padding:100px 0;position:relative;overflow:hidden}@media (width<=1024px){.section{padding:80px 0}}@media (width<=640px){.section{padding:50px 0}}.ornament-divider{justify-content:center;align-items:center;gap:12px;margin:20px 0;display:flex}.ornament-divider__line{background:linear-gradient(90deg,#0000,#c59b2780,#0000);flex:1;max-width:120px;height:1px}.ornament-divider__star{color:#c59b27;font-size:.9rem;animation:3s ease-in-out infinite separatorPulse}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f4efe6}::-webkit-scrollbar-thumb{background:#c59b2780;border-radius:3px}
