/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}}:root{--wine:#3d0d1b;--wine-deep:#260610;--cream:#f3ecdf;--cream-light:#fbf7ef;--gold:#b49151;--ink:#291b1b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--font-sans), Arial, sans-serif;margin:0;overflow-x:hidden}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.welcome-screen{z-index:100;color:var(--wine);background:linear-gradient(#f6f0e5cc,#f6f0e5e0),url(/images/floral-frame.png) 50%/cover;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0;overflow:hidden}.welcome-screen:before{content:"";pointer-events:none;border:1px solid #b4915161;position:absolute;inset:1.2rem}.welcome-screen:after{content:"";aspect-ratio:1;border:1px solid #b4915124;border-radius:50%;width:min(78vw,38rem);position:absolute;box-shadow:0 0 0 3rem #b4915109,0 0 0 6rem #b4915106}.welcome-card{z-index:1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);text-align:center;background:#fffcf69e;border:1px solid #b491514d;width:min(100%,34rem);padding:clamp(3rem,8vw,5.5rem) 1.5rem;animation:.85s both reveal;position:relative;box-shadow:0 28px 90px #3d0d1b1f}.welcome-card>p{color:#9b7a40;letter-spacing:.36em;margin:0 0 2rem;font-size:.58rem;font-weight:700}.welcome-monogram{font-family:var(--font-serif), Georgia, serif;color:var(--gold);font-size:2.1rem;font-style:italic}.welcome-monogram span{padding:0 .25em;font-size:.65em}.welcome-card h2{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.045em;margin:1.25rem 0 .5rem;font-size:clamp(2.5rem,8vw,4.5rem);font-weight:400;line-height:1}.welcome-card small{color:#3d0d1b94;letter-spacing:.18em;text-transform:uppercase;font-size:.66rem}.welcome-card button{border:1px solid var(--gold);background:var(--wine);color:#fff9ed;cursor:pointer;letter-spacing:.16em;justify-content:center;align-items:center;gap:.8rem;min-width:13.5rem;margin:2.2rem auto .8rem;padding:1rem 1.35rem;font-size:.68rem;font-weight:700;transition:all .25s;display:flex}.welcome-card button:hover{background:#57152a;transform:translateY(-2px);box-shadow:0 12px 30px #3d0d1b2e}.welcome-card button i{color:#dfc17d;font-family:Georgia,serif;font-size:1rem;font-style:normal}.welcome-card>em{color:#3d0d1b7a;font-family:var(--font-serif), Georgia, serif;font-size:.78rem}.hero{min-height:100svh;color:var(--wine);isolation:isolate;background:#eee5d6;place-items:center;padding:6rem 1.5rem 4rem;display:grid;position:relative;overflow:hidden}.hero:before{content:"";z-index:-3;background:url(/images/floral-frame.png) 50% 36%/cover no-repeat;animation:14s ease-out both heroBloom;position:absolute;inset:0;transform:scale(1.025)}.hero:after{content:"";z-index:-2;background:radial-gradient(#f9f4eaeb 0%,#f9f4eab8 31%,#f9f4ea14 70%),linear-gradient(#f7f2e81f,#f7f2e85c);position:absolute;inset:0}.grain{opacity:.13;z-index:-1;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");position:absolute;inset:0}.orb{z-index:-1;border:1px solid #525b3d29;border-radius:50%;width:28rem;height:28rem;position:absolute}.orb:before,.orb:after{content:"";border-radius:inherit;border:1px solid #525b3d1a;position:absolute;inset:2.2rem}.orb:after{inset:5.2rem}.orb-one{top:-14rem;left:-12rem}.orb-two{bottom:-15rem;right:-14rem}.ornament{color:#8e713d;align-items:center;gap:1rem;width:min(68vw,28rem);height:1.5rem;display:flex;position:absolute;top:2.2rem;left:50%;transform:translate(-50%)}.ornament:before,.ornament:after{content:"";background:linear-gradient(90deg,#0000,currentColor);flex:1;height:1px}.ornament:after{transform:scaleX(-1)}.ornament span{font-size:.7rem}.hero-content{text-align:center;width:min(100%,58rem);padding:clamp(2rem,6vw,4.8rem);position:relative}.hero-content:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#faf7ef61;border:1px solid #8e713d3d;position:absolute;inset:0;box-shadow:0 30px 100px #402e1d14,inset 0 0 0 8px #ffffff29}.eyebrow,.section-kicker{letter-spacing:.38em;color:var(--gold);margin:0 0 2.2rem;font-size:.7rem;font-weight:650}.monogram,.footer-monogram{font-family:var(--font-serif), Georgia, serif;color:var(--gold);font-size:clamp(2rem,4vw,3rem);font-style:italic;line-height:1}.monogram span,.footer-monogram span{padding:0 .22em;font-size:.62em;font-weight:400;display:inline-block}.hero h1{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.055em;text-shadow:0 2px 18px #ffffffb3;margin:1.5rem auto 1.8rem;font-size:clamp(4.5rem,11vw,8.8rem);font-weight:500;line-height:.73}.hero h1 span{display:block}.hero h1 em{color:var(--gold);font-family:var(--font-sans), Arial, sans-serif;letter-spacing:.45em;text-transform:uppercase;margin:.5em 0 .15em;font-size:.09em;font-style:normal;font-weight:600;display:block}.date-line{justify-content:center;align-items:center;gap:1.2rem;display:flex}.date-line span{background:#5d46228c;width:clamp(2rem,6vw,5rem);height:1px}.date-line p{font-family:var(--font-serif), Georgia, serif;letter-spacing:.08em;margin:0;font-size:clamp(1.05rem,2vw,1.4rem)}.hero-note{font-family:var(--font-serif), Georgia, serif;color:#3d0d1ba8;margin:1.2rem 0 0;font-size:1rem;font-style:italic}.scroll-cue{color:#3d0d1ba6;letter-spacing:.32em;flex-direction:column;align-items:center;gap:.65rem;font-size:.56rem;text-decoration:none;display:flex;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.scroll-cue i{background:linear-gradient(var(--gold), transparent);transform-origin:top;width:1px;height:1.9rem;animation:1.8s ease-in-out infinite scrollLine;display:block}.reveal{opacity:0;animation:.9s cubic-bezier(.2,.7,.2,1) forwards reveal;transform:translateY(18px)}.reveal-1{animation-delay:.1s}.reveal-2{animation-delay:.28s}.reveal-3{animation-delay:.42s}.reveal-4{animation-delay:.6s}.reveal-5{animation-delay:.72s}.reveal-6{animation-delay:.9s}.music-control{z-index:30;color:#f9f3e8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;letter-spacing:.12em;background:#250610b8;border:1px solid #b491516b;border-radius:999px;align-items:center;gap:.65rem;padding:.55rem .9rem .55rem .55rem;font-size:.63rem;transition:all .25s;display:flex;position:fixed;top:1.25rem;right:1.25rem;box-shadow:0 10px 30px #00000026}.music-control:hover{border-color:var(--gold);transform:translateY(-2px)}.music-icon{background:var(--gold);width:2rem;height:2rem;color:var(--wine-deep);border-radius:50%;place-items:center;display:grid}.music-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.music-control i{background:#9e8560;border-radius:50%;width:.28rem;height:.28rem}.music-control.is-playing i{background:#d9b86f;animation:1.4s infinite pulse;box-shadow:0 0 0 5px #d9b86f21}.music-player{z-index:29;color:#fbf7ef;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#260610f0;border:1px solid #b4915180;width:min(23rem,100vw - 2rem);padding:.7rem;animation:.35s both playerIn;position:fixed;top:5.5rem;right:1.25rem;box-shadow:0 24px 70px #12020866}.music-player:before{content:"";pointer-events:none;border:1px solid #ddbe7e29;position:absolute;inset:.38rem}.music-player-head{justify-content:space-between;align-items:center;padding:.65rem .75rem 1rem;display:flex;position:relative}.music-player-head div{gap:.22rem;display:grid}.music-player-head small{color:#c9a765;letter-spacing:.28em;font-size:.52rem}.music-player-head strong{font-family:var(--font-serif), Georgia, serif;font-size:1.05rem;font-weight:400}.music-player-head button{color:#dfc58d;cursor:pointer;background:0 0;border:0;font-size:1.6rem;position:relative}.music-player iframe{aspect-ratio:16/9;background:#160309;border:0;width:100%;display:block;position:relative}.invitation-section{background:radial-gradient(circle at 92% 12%,#be8a7b33,#0000 24rem),radial-gradient(circle at 4% 88%,#74845d29,#0000 22rem),#f8f2e7;grid-template-columns:minmax(0,1fr) minmax(18rem,28rem);align-items:center;gap:clamp(3rem,8vw,8rem);max-width:none;margin:auto;padding:clamp(7rem,11vw,11rem) max(1.5rem,50vw - 37rem);display:grid;position:relative;overflow:hidden}.invitation-section:before,.invitation-section:after{content:"";filter:blur(2px);pointer-events:none;border-radius:50%;position:absolute}.invitation-section:before{border:1px solid #905c5233;width:22rem;height:22rem;top:-12rem;right:-8rem;box-shadow:0 0 0 2.5rem #b491510a,0 0 0 5rem #905c5208}.invitation-section:after{background:#74845d14;width:15rem;height:15rem;bottom:-7rem;left:-9rem}.section-mark{color:var(--gold);position:absolute;top:2.5rem;left:50%;transform:translate(-50%)}.invitation-copy h2{max-width:42rem;font-family:var(--font-serif), Georgia, serif;letter-spacing:-.035em;margin:0;font-size:clamp(2.3rem,5vw,4.5rem);font-weight:400;line-height:1.05}.message{color:#665454;max-width:40rem;margin:2rem 0;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.9}.signature{font-family:var(--font-serif), Georgia, serif;color:var(--wine);border-top:1px solid #b4915180;padding-top:1.1rem;font-size:1.18rem;font-style:italic;display:inline-block}.event-card{background:linear-gradient(#fffbf4de,#fffbf4e6),url(/images/floral-frame.png) 50%/cover;border:1px solid #3d0d1b2e;padding:2rem;position:relative;transform:rotate(1.2deg);box-shadow:0 28px 70px #3d0d1b21}.event-card:before{content:"";pointer-events:none;border:1px solid #b491514d;position:absolute;inset:.55rem}.event-card-head{border-bottom:1px solid #3d0d1b29;justify-content:space-between;align-items:center;padding:.6rem .2rem 1.25rem;display:flex}.event-card-head p,.event-card-head span{letter-spacing:.25em;color:#7e6666;margin:0;font-size:.62rem}.event-date{justify-content:center;align-items:center;gap:1.3rem;padding:2.2rem 0;display:flex}.event-date span{writing-mode:vertical-rl;letter-spacing:.23em;color:var(--gold);font-size:.55rem;transform:rotate(180deg)}.event-date strong{font-family:var(--font-serif), Georgia, serif;color:var(--wine);font-size:clamp(5rem,10vw,7.5rem);font-weight:400;line-height:.8}.event-time{text-align:center;letter-spacing:.2em;color:var(--wine);border-top:1px solid #3d0d1b29;padding:1.1rem 0 .5rem;font-size:.67rem;font-weight:700}.details-section{color:var(--cream-light);background:radial-gradient(circle at 15% 15%,#72384a 0%,#0000 28rem),radial-gradient(circle at 88% 80%,#554129 0%,#0000 26rem),linear-gradient(135deg,#310914,#4c1021 55%,#29110f);position:relative;overflow:hidden}.details-section:after{content:"";opacity:.08;background-image:url("data:image/svg+xml,%3Csvg width='90' height='90' viewBox='0 0 90 90' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23dfc38a' stroke-width='.7'%3E%3Cpath d='M45 0c0 25-20 45-45 45 25 0 45 20 45 45 0-25 20-45 45-45-25 0-45-20-45-45Z'/%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.details-section:before{content:"Б  ·  Ш";color:#ffffff06;font-family:var(--font-serif), Georgia, serif;white-space:nowrap;font-size:clamp(12rem,35vw,30rem);line-height:1;position:absolute;top:-3rem;right:-2rem}.details-inner{z-index:1;text-align:center;max-width:72rem;margin:auto;padding:clamp(6rem,10vw,9rem) 1.5rem;position:relative}.section-kicker.light{color:#cfad6b}.details-inner>h2{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.04em;margin:0;font-size:clamp(2.7rem,6vw,5.3rem);font-weight:400;line-height:1}.countdown{grid-template-columns:repeat(4,minmax(0,1fr));max-width:46rem;margin:clamp(3rem,6vw,5rem) auto;display:grid}.count-unit{padding:0 .5rem;position:relative}.count-unit:not(:last-child):after{content:"";background:#b4915147;width:1px;height:70%;position:absolute;top:15%;right:0}.count-unit strong{font-family:var(--font-serif), Georgia, serif;color:#e2c17d;font-variant-numeric:tabular-nums;font-size:clamp(2.7rem,7vw,5.8rem);font-weight:400;line-height:1;display:block}.count-unit span{color:#fbf7ef94;letter-spacing:.2em;text-transform:uppercase;margin-top:.8rem;font-size:.57rem;display:block}.location-card{text-align:left;background:#ffffff0a;border:1px solid #b4915154;grid-template-columns:auto 1fr auto;align-items:center;gap:1.4rem;max-width:52rem;margin:auto;padding:1.5rem;display:grid}.location-icon{width:3.8rem;height:3.8rem;color:var(--wine);background:#d3b06b;border-radius:50%;place-items:center;display:grid}.location-icon svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:1.35rem}.location-card p{color:#c7a666;letter-spacing:.28em;margin:0 0 .35rem;font-size:.56rem}.location-card h3{font-family:var(--font-serif), Georgia, serif;margin:0 0 .35rem;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:400}.location-card address{color:#fbf7ef9e;font-size:.82rem;font-style:normal}.location-card a{color:#d9bd83;letter-spacing:.1em;white-space:nowrap;border-bottom:1px solid #b4915180;padding-bottom:.3rem;font-size:.68rem;text-decoration:none}.calendar-button{letter-spacing:.16em;border:1px solid #b4915180;align-items:center;gap:1rem;margin-top:1.5rem;padding:.9rem 1.2rem;font-size:.65rem;text-decoration:none;transition:all .25s;display:inline-flex}.calendar-button:hover{color:var(--wine);background:#d1ad67}.calendar-button span{font-size:1rem}.blessing-section{min-height:31rem;color:var(--wine);text-align:center;background:linear-gradient(#f9f5ecc7,#f9f5ece6),url(/images/floral-frame.png) 50% 52%/cover;place-content:center;justify-items:center;padding:7rem 1.5rem;display:grid;position:relative;overflow:hidden}.blessing-section:before{content:"";border:1px solid #b4915152;position:absolute;inset:2rem}.blessing-ornament{color:var(--gold);font-size:.8rem}.blessing-section>p{color:#957442;letter-spacing:.38em;margin:1.4rem 0;font-size:.62rem;font-weight:700}.blessing-section h2{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.035em;text-shadow:0 2px 20px #ffffffbf;margin:0;font-size:clamp(2.3rem,5vw,4.6rem);font-weight:400;line-height:1.08}.blessing-line{color:#7b5e32;letter-spacing:.28em;align-items:center;gap:1.3rem;margin-top:2rem;font-size:.58rem;display:flex}.blessing-line i{color:var(--gold);font-family:var(--font-serif), Georgia, serif;letter-spacing:0;font-size:1.5rem;font-style:normal}footer{color:var(--wine);text-align:center;background:linear-gradient(#f7f1e5e0,#f7f1e5eb),url(/images/floral-frame.png) 50% 84%/cover;border-top:1px solid #b491514d;padding:5.5rem 1.5rem;position:relative}footer p{font-family:var(--font-serif), Georgia, serif;margin:1.2rem 0 .8rem;font-size:clamp(1.5rem,4vw,2.2rem)}footer small{color:#3d0d1b85;letter-spacing:.18em;text-transform:uppercase;font-size:.62rem}@keyframes reveal{to{opacity:1;transform:translateY(0)}}@keyframes scrollLine{0%,to{opacity:.35;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}}@keyframes pulse{50%{opacity:.5}}@keyframes heroBloom{0%{filter:saturate(.82)brightness(.98);transform:scale(1.09)}to{filter:saturate()brightness();transform:scale(1.025)}}@keyframes playerIn{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}@media (width<=760px){.hero{min-height:100svh;padding-inline:1rem}.hero:before{background-position:43%}.hero:after{background:radial-gradient(#f9f4eaed 0%,#f9f4eab8 43%,#f9f4ea14 100%)}.hero-content{padding:3.2rem 1rem}.hero h1{font-size:clamp(4.4rem,25vw,7rem)}.music-control{top:.75rem;right:.75rem}.music-control>span:nth-child(2){display:none}.music-control{padding-right:.65rem}.music-player{top:4.8rem;right:1rem}.invitation-section{grid-template-columns:1fr;gap:3.5rem}.invitation-copy{text-align:center}.section-kicker{line-height:1.7}.signature{margin-top:.5rem}.event-card{width:100%;max-width:28rem;margin:auto;transform:none}.countdown{gap:0}.count-unit strong{font-size:clamp(2.4rem,13vw,4rem)}.count-unit span{letter-spacing:.1em;font-size:.5rem}.location-card{grid-template-columns:auto 1fr}.location-card a{text-align:center;border:1px solid #b4915152;grid-column:1/-1;padding:.9rem}}@media (width<=410px){.hero h1{font-size:4.2rem}.count-unit{padding-inline:.2rem}.count-unit strong{font-size:2.25rem}.location-card{gap:1rem;padding:1.1rem}.location-icon{width:3rem;height:3rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}@media print{.music-control,.scroll-cue,.calendar-button{display:none}.hero{-webkit-print-color-adjust:exact;print-color-adjust:exact;min-height:90vh}}
