:root{--color-bg: #FDF8F4;--color-bg-alt: #F5EDE6;--color-primary: #8B5E3C;--color-secondary: #C9956B;--color-accent: #D4AF37;--color-text: #3A2E2A;--color-muted: #A08070;--color-white: #FFFFFF;--color-overlay: rgba(253, 248, 244, .9);--font-serif: "Noto Serif Armenian", "Georgia", serif;--font-sans: "Montserrat", "Helvetica Neue", sans-serif;--font-weight-thin: 100;--font-weight-extralight: 200;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 5rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 50%;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .6s ease;--shadow-sm: 0 2px 8px rgba(58, 46, 42, .08);--shadow-md: 0 4px 16px rgba(58, 46, 42, .12);--shadow-lg: 0 8px 32px rgba(58, 46, 42, .16)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:16px;font-weight:var(--font-weight-light);line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,svg{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}ul,ol{list-style:none}iframe{border:0}.page-loader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-bg);display:flex;align-items:center;justify-content:center;z-index:9999;animation:loaderFadeOut .8s ease-out 1.5s forwards;pointer-events:none}.page-loader__content{text-align:center;animation:loaderPulse 1.5s ease-in-out}.page-loader__hearts{font-size:2rem;color:var(--color-accent);letter-spacing:.3em;animation:loaderHeartBeat 1s ease-in-out .3s}.page-loader__names{font-family:var(--font-serif);font-size:clamp(1.5rem,5vw,2.5rem);font-weight:var(--font-weight-thin);color:var(--color-primary);margin-top:var(--space-md);opacity:0;animation:loaderNameReveal 1s ease-out .5s forwards}@keyframes loaderFadeOut{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes loaderPulse{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}@keyframes loaderHeartBeat{0%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1)}75%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes loaderNameReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.petals{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9998;overflow:hidden;animation:petalsContainerFade 1s ease-out 6s forwards}@keyframes petalsContainerFade{to{opacity:0;visibility:hidden}}.petal{position:absolute;top:-40px;width:12px;height:16px;border-radius:50% 0 50% 50%;opacity:0;animation:petalFall linear forwards}.petal:nth-child(1){background:#d4af3799}.petal:nth-child(2){background:#c9956b80}.petal:nth-child(3){background:#d4af3766}.petal:nth-child(4){background:#dba69680}.petal:nth-child(5){background:#c9956b99}.petal:nth-child(6){background:#d4af3780}.petal:nth-child(7){background:#dba69666}.petal:nth-child(8){background:#c9956b80}.petal:nth-child(9){background:#d4af3799}.petal:nth-child(10){background:#dba69680}.petal:nth-child(11){background:#d4af3766}.petal:nth-child(12){background:#c9956b99}.petal:nth-child(1){left:5%;width:10px;height:14px;animation-duration:5s;animation-delay:1.5s}.petal:nth-child(2){left:15%;width:14px;height:18px;animation-duration:6s;animation-delay:1.8s}.petal:nth-child(3){left:25%;width:8px;height:12px;animation-duration:5.5s;animation-delay:2s}.petal:nth-child(4){left:35%;width:12px;height:16px;animation-duration:6.5s;animation-delay:1.6s}.petal:nth-child(5){left:45%;width:10px;height:14px;animation-duration:5s;animation-delay:2.2s}.petal:nth-child(6){left:55%;width:14px;height:18px;animation-duration:5.8s;animation-delay:1.7s}.petal:nth-child(7){left:65%;width:9px;height:13px;animation-duration:6.2s;animation-delay:2.4s}.petal:nth-child(8){left:75%;width:12px;height:16px;animation-duration:5.3s;animation-delay:1.9s}.petal:nth-child(9){left:85%;width:11px;height:15px;animation-duration:6s;animation-delay:2.1s}.petal:nth-child(10){left:92%;width:10px;height:14px;animation-duration:5.5s;animation-delay:2.5s}.petal:nth-child(11){left:10%;width:13px;height:17px;animation-duration:6.8s;animation-delay:2.8s}.petal:nth-child(12){left:50%;width:11px;height:15px;animation-duration:5.2s;animation-delay:3s}@keyframes petalFall{0%{opacity:0;transform:translate(0) rotate(0) scale(.8)}10%{opacity:1}to{opacity:0;transform:translate(80px) rotate(360deg) translateY(100vh) scale(.4)}}.petal:nth-child(2n){border-radius:0 50% 50%}@media (prefers-reduced-motion: reduce){.page-loader{animation:none;display:none}.petals{display:none}}.scroll-container{height:100vh;height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch}.section{min-height:100vh;min-height:100dvh;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:var(--space-lg);overflow:hidden}.section__arrow{position:absolute;bottom:var(--space-lg);left:50%;transform:translate(-50%);color:var(--color-secondary);opacity:.7;transition:opacity var(--transition-normal),transform var(--transition-normal);animation:bounce 2s infinite;z-index:2}.section__arrow:hover{opacity:1;transform:translate(-50%) scale(1.2)}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-8px)}60%{transform:translate(-50%) translateY(-4px)}}.section__title{font-family:var(--font-serif);font-size:clamp(1.5rem,4vw,2.5rem);font-weight:var(--font-weight-extralight);color:var(--color-primary);text-align:center;margin-bottom:var(--space-xl);letter-spacing:.05em}.minimap{position:fixed;top:50%;right:var(--space-md);transform:translateY(-50%);display:flex;flex-direction:column;gap:var(--space-sm);z-index:1000;padding:var(--space-sm);border-radius:var(--radius-lg);background:var(--color-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.minimap__dot{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);color:var(--color-muted);transition:color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast)}.minimap__dot:hover{color:var(--color-primary);background-color:#d4af371a;transform:scale(1.1)}.minimap__dot--active{color:var(--color-accent);background-color:#d4af3726}@media (max-width: 480px){.minimap{right:var(--space-xs);padding:var(--space-xs);gap:2px}.minimap__dot{width:28px;height:28px}.minimap__dot svg{width:14px;height:14px}}.section--hero{background:linear-gradient(135deg,var(--color-bg) 0%,var(--color-bg-alt) 50%,var(--color-bg) 100%)}.hero__content{text-align:center}.hero__ornament{width:120px;height:40px;margin:0 auto var(--space-lg);background:linear-gradient(90deg,transparent,var(--color-accent),transparent);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Cpath d='M0 20 Q30 0 60 20 Q90 40 120 20' stroke='black' fill='none' stroke-width='2'/%3E%3C/svg%3E");-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Cpath d='M0 20 Q30 0 60 20 Q90 40 120 20' stroke='black' fill='none' stroke-width='2'/%3E%3C/svg%3E");mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;opacity:.7}.hero__ornament--bottom{margin:var(--space-lg) auto 0;transform:rotate(180deg)}.hero__names{font-family:var(--font-serif);font-size:clamp(2.5rem,8vw,5rem);font-weight:var(--font-weight-thin);color:var(--color-primary);line-height:1.2;letter-spacing:-.02em}.hero__amp{display:block;font-size:.5em;color:var(--color-accent);margin:var(--space-xs) 0;font-style:italic}.hero__subtitle{font-family:var(--font-sans);font-size:clamp(1rem,3vw,1.5rem);font-weight:var(--font-weight-extralight);color:var(--color-muted);margin-top:var(--space-md);letter-spacing:.15em;text-transform:uppercase}.hero__date{font-family:var(--font-serif);font-size:clamp(1.2rem,3vw,1.8rem);color:var(--color-secondary);margin-top:var(--space-sm)}.section--countdown{background-color:var(--color-bg-alt)}.countdown{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center;align-items:center}.countdown__item{display:flex;flex-direction:column;align-items:center;background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);box-shadow:var(--shadow-md);min-width:100px;transition:transform var(--transition-normal)}.countdown__item:hover{transform:translateY(-4px)}.countdown__number{font-family:var(--font-serif);font-size:clamp(2rem,6vw,3.5rem);font-weight:var(--font-weight-thin);color:var(--color-accent);line-height:1;transition:transform var(--transition-fast)}.countdown__number.flip{animation:flipDigit .3s ease-in-out}.countdown__label{font-family:var(--font-sans);font-size:clamp(.75rem,2vw,1rem);color:var(--color-muted);margin-top:var(--space-sm);font-weight:var(--font-weight-extralight);text-transform:uppercase;letter-spacing:.1em}@keyframes flipDigit{0%{transform:rotateX(0)}50%{transform:rotateX(90deg);opacity:.5}to{transform:rotateX(0)}}@media (max-width: 380px){.countdown{gap:var(--space-sm)}.countdown__item{padding:var(--space-md) var(--space-lg);min-width:70px}}.section--invitation{background:var(--color-bg)}.invitation__card{max-width:600px;width:100%;text-align:center;padding:var(--space-xl);background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.invitation__divider{width:60px;height:2px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);margin:var(--space-lg) auto}.invitation__title{font-family:var(--font-serif);font-size:clamp(1.5rem,4vw,2.2rem);font-weight:var(--font-weight-extralight);color:var(--color-primary);margin-bottom:var(--space-lg);letter-spacing:.05em}.invitation__text{font-family:var(--font-sans);font-size:clamp(.95rem,2.5vw,1.1rem);font-weight:var(--font-weight-light);color:var(--color-text);line-height:1.8}@media (max-width: 480px){.invitation__card{padding:var(--space-lg) var(--space-md)}}.section--calendar{background:var(--color-bg-alt)}.calendar{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md);width:100%;max-width:400px}.calendar__header{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-xs);margin-bottom:var(--space-md)}.calendar__header span{text-align:center;font-family:var(--font-sans);font-size:.75rem;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-xs)}.calendar__day{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;font-family:var(--font-sans);font-size:clamp(.8rem,2vw,1rem);color:var(--color-text);border-radius:var(--radius-full);transition:background-color var(--transition-fast)}.calendar__day--empty{visibility:hidden}.calendar__day--highlight{position:relative;background:var(--color-accent);color:var(--color-white);font-weight:700;box-shadow:0 0 0 3px var(--color-accent),0 0 0 6px #d4af374d;animation:ringPulse 2s infinite}@keyframes ringPulse{0%,to{box-shadow:0 0 0 3px var(--color-accent),0 0 0 6px #d4af374d}50%{box-shadow:0 0 0 4px var(--color-accent),0 0 0 10px #d4af371a}}@media (max-width: 380px){.calendar{padding:var(--space-md)}}.section--locations{background:var(--color-bg)}.locations__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);width:100%;max-width:900px}.location-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md);text-align:center;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.location-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.location-card__icon{color:var(--color-accent);margin-bottom:var(--space-md);display:flex;justify-content:center}.location-card__title{font-family:var(--font-serif);font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:var(--font-weight-extralight);color:var(--color-primary);margin-bottom:var(--space-sm)}.location-card__address{font-family:var(--font-sans);font-size:.9rem;color:var(--color-muted);margin-bottom:var(--space-md)}.location-card__map{border-radius:var(--radius-md);overflow:hidden;border:1px solid rgba(0,0,0,.05)}.location-card__map iframe{display:block;width:100%;height:200px}@media (max-width: 768px){.locations__grid{grid-template-columns:1fr;gap:var(--space-md)}.section--locations{padding:var(--space-lg) var(--space-md)}}.section--photobooth{background:var(--color-bg-alt)}.photobooth__text{font-family:var(--font-sans);font-size:clamp(1rem,2.5vw,1.2rem);color:var(--color-text);text-align:center;max-width:500px;margin-bottom:var(--space-xl);line-height:1.7}.photobooth__qr{display:flex;justify-content:center}.photobooth__qr-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:200px;height:200px;border:2px dashed var(--color-secondary);border-radius:var(--radius-lg);color:var(--color-muted);gap:var(--space-sm);background:var(--color-white)}.photobooth__qr-placeholder p{font-size:.85rem;font-weight:500}.photobooth__qr-placeholder svg{width:80px;height:80px}.section--footer{background:var(--color-primary);min-height:auto;min-height:60vh;padding:var(--space-2xl) var(--space-lg)}.footer__content{text-align:center;max-width:500px}.footer__ornament{font-size:2rem;color:var(--color-accent);margin-bottom:var(--space-lg)}.footer__text{font-family:var(--font-sans);font-size:clamp(1rem,2.5vw,1.2rem);font-weight:var(--font-weight-extralight);color:#ffffffd9;line-height:1.8;margin-bottom:var(--space-lg)}.footer__names{font-family:var(--font-serif);font-size:clamp(1.5rem,4vw,2rem);font-weight:var(--font-weight-thin);color:var(--color-accent);margin-bottom:var(--space-md)}.footer__hearts{font-size:1.2rem;color:#fff9;letter-spacing:.3em}.section--hero .hero__content{opacity:0;transform:scale(.95);transition:opacity .8s ease-out,transform .8s ease-out}.section--hero.visible .hero__content{opacity:1;transform:scale(1)}.section--countdown .section__title{opacity:0;transform:translateY(30px);transition:opacity .5s ease-out,transform .5s ease-out}.section--countdown.visible .section__title{opacity:1;transform:translateY(0)}.section--countdown .countdown__item{opacity:0;transform:translateY(40px);transition:opacity .5s ease-out,transform .5s ease-out}.section--countdown.visible .countdown__item:nth-child(1){opacity:1;transform:translateY(0);transition-delay:.15s}.section--countdown.visible .countdown__item:nth-child(2){opacity:1;transform:translateY(0);transition-delay:.3s}.section--countdown.visible .countdown__item:nth-child(3){opacity:1;transform:translateY(0);transition-delay:.45s}.section--countdown.visible .countdown__item:nth-child(4){opacity:1;transform:translateY(0);transition-delay:.6s}.section--invitation .invitation__card{opacity:0;clip-path:inset(50% 50% 50% 50%);transition:clip-path .7s cubic-bezier(.25,.46,.45,.94),opacity .4s ease-out}.section--invitation.visible .invitation__card{opacity:1;clip-path:inset(0% 0% 0% 0%)}.section--calendar .section__title{opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out}.section--calendar.visible .section__title{opacity:1;transform:translateY(0)}.section--calendar .calendar{opacity:0;transform:perspective(800px) rotateX(15deg) translateY(30px);transition:opacity .6s ease-out .2s,transform .6s ease-out .2s}.section--calendar.visible .calendar{opacity:1;transform:perspective(800px) rotateX(0) translateY(0)}.section--locations .section__title{opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out}.section--locations.visible .section__title{opacity:1;transform:translateY(0)}.section--locations .location-card:first-child{opacity:0;transform:translate(-50px);transition:opacity .6s ease-out .2s,transform .6s ease-out .2s}.section--locations .location-card:last-child{opacity:0;transform:translate(50px);transition:opacity .6s ease-out .4s,transform .6s ease-out .4s}.section--locations.visible .location-card:first-child{opacity:1;transform:translate(0)}.section--locations.visible .location-card:last-child{opacity:1;transform:translate(0)}@media (max-width: 768px){.section--locations .location-card:first-child{transform:translateY(40px)}.section--locations .location-card:last-child{transform:translateY(40px)}.section--locations.visible .location-card:first-child,.section--locations.visible .location-card:last-child{transform:translateY(0)}}.section--photobooth .section__title{opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out}.section--photobooth.visible .section__title{opacity:1;transform:translateY(0)}.section--photobooth .photobooth__text{opacity:0;transform:scale(1.05);filter:blur(4px);transition:opacity .6s ease-out .2s,transform .6s ease-out .2s,filter .6s ease-out .2s}.section--photobooth.visible .photobooth__text{opacity:1;transform:scale(1);filter:blur(0)}.section--photobooth .photobooth__qr{opacity:0;transform:scale(1.1);filter:blur(6px);transition:opacity .6s ease-out .4s,transform .6s ease-out .4s,filter .6s ease-out .4s}.section--photobooth.visible .photobooth__qr{opacity:1;transform:scale(1);filter:blur(0)}.section--footer .footer__content{opacity:0;transform:translateY(30px);transition:opacity .7s ease-out,transform .7s ease-out}.section--footer.visible .footer__content{opacity:1;transform:translateY(0)}.section--footer.visible .footer__names{background:linear-gradient(90deg,var(--color-accent) 0%,#f5e6a3 50%,var(--color-accent) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:goldShimmer 2s ease-in-out .3s both}@keyframes goldShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){.section--hero .hero__content,.section--countdown .section__title,.section--countdown .countdown__item,.section--invitation .invitation__card,.section--calendar .section__title,.section--calendar .calendar,.section--locations .section__title,.section--locations .location-card:first-child,.section--locations .location-card:last-child,.section--photobooth .section__title,.section--photobooth .photobooth__text,.section--photobooth .photobooth__qr,.section--footer .footer__content{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important;animation:none!important}}
