body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#faf7f2;--bg-warm:#f4ede3;--surface:#fff;--ink:#37322c;--ink-soft:#665d52;--accent:#a18f7a;--accent-deep:#7d6b57;--rose:#c9a9a6;--sage:#a8b79a;--line:#e5dbcc;--radius:14px;--shadow-soft:0 10px 30px #463a2c14;--shadow-lift:0 16px 40px #463a2c24;--measure:38rem;--page:62rem;--ease:cubic-bezier(0.22,0.61,0.36,1)}.inv{background-color:#faf7f2;background-color:var(--bg);color:#37322c;color:var(--ink);font-family:Cormorant Infant,Georgia,Times New Roman,serif;font-size:21px;line-height:1.6;overflow-x:hidden}.inv *,.inv :after,.inv :before{box-sizing:border-box}.inv :focus-visible{border-radius:4px;outline:2px solid #7d6b57;outline:2px solid var(--accent-deep);outline-offset:3px}.script{font-weight:400;letter-spacing:.01em;line-height:1.15}.script,.section-title{font-family:Great Vibes,Segoe Script,cursive}.section-title{color:#7d6b57;color:var(--accent-deep);font-size:clamp(2.9rem,9vw,4.3rem);line-height:1.2;margin:0 0 .6rem;text-align:center}.section-lead{color:#665d52;color:var(--ink-soft);font-size:1.12rem;margin:0 auto 2.6rem;max-width:38rem;max-width:var(--measure);text-align:center}.eyebrow{color:#7d6b57;color:var(--accent-deep);font-size:.86rem;letter-spacing:.26em;text-align:center;text-transform:uppercase}.rule{align-items:center;color:#a18f7a;color:var(--accent);display:flex;gap:.85rem;justify-content:center;margin:0 auto 2.2rem;max-width:14rem}.rule:after,.rule:before{background:linear-gradient(90deg,#0000,#e5dbcc,#0000);background:linear-gradient(90deg,#0000,var(--line),#0000);content:"";flex:1 1;height:1px}.section{padding:clamp(3.5rem,9vw,6.5rem) 1.25rem}.section--warm{background-color:#f4ede3;background-color:var(--bg-warm)}.wrap{margin:0 auto;max-width:62rem;max-width:var(--page);width:100%}.wrap--narrow{max-width:44rem}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);transition:opacity .7s var(--ease),transform .7s var(--ease);will-change:opacity,transform}.reveal.is-in{opacity:1;transform:none}.gate{align-items:center;background:radial-gradient(120% 90% at 50% 0,#fff 0,#faf7f2 55%,#f4ede3 100%);background:radial-gradient(120% 90% at 50% 0,#fff 0,var(--bg) 55%,var(--bg-warm) 100%);display:flex;flex-direction:column;gap:1.1rem;inset:0;justify-content:center;padding:2rem 1.25rem;position:fixed;text-align:center;z-index:1000}.gate__names{color:#7d6b57;color:var(--accent-deep);font-family:Great Vibes,cursive;font-size:clamp(3rem,12vw,5rem);line-height:1.1;margin-bottom:.2rem}.gate__date{color:#665d52;color:var(--ink-soft);font-size:1.05rem;letter-spacing:.3em;margin-bottom:2rem}.gate__title{color:#37322c;color:var(--ink);font-size:1.35rem;margin-bottom:.25rem}.gate__hint{align-items:center;color:#665d52;color:var(--ink-soft);display:flex;font-size:1rem;gap:.5rem;margin-bottom:1.6rem}.gate__buttons{display:flex;flex-wrap:wrap;gap:.85rem}.btn,.gate__buttons{justify-content:center}.btn{align-items:center;background-color:initial;border:1px solid #a18f7a;border:1px solid var(--accent);border-radius:999px;color:#7d6b57;color:var(--accent-deep);cursor:pointer;display:inline-flex;font-family:inherit;font-size:1.15rem;gap:.6rem;letter-spacing:.04em;min-height:48px;padding:.85rem 1.9rem;text-decoration:none;transition:background-color .25s cubic-bezier(.22,.61,.36,1),color .25s cubic-bezier(.22,.61,.36,1),transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s cubic-bezier(.22,.61,.36,1);transition:background-color .25s var(--ease),color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}.btn:hover{background-color:#a18f7a;background-color:var(--accent);box-shadow:0 10px 30px #463a2c14;box-shadow:var(--shadow-soft);color:#fff;transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn--solid{background-color:#7d6b57;background-color:var(--accent-deep);border-color:#7d6b57;border-color:var(--accent-deep);color:#fff}.btn--solid:hover{background-color:#37322c;background-color:var(--ink);border-color:#37322c;border-color:var(--ink)}.btn__icon{flex:0 0 auto;height:20px;width:20px}.hero{align-items:center;background:radial-gradient(125% 85% at 50% 0,#fff 0,#faf7f2 58%,#f4ede3 100%);background:radial-gradient(125% 85% at 50% 0,#fff 0,var(--bg) 58%,var(--bg-warm) 100%);display:flex;flex-direction:column;justify-content:center;min-height:100svh;overflow:hidden;padding:3.5rem 1.25rem 2rem;position:relative;text-align:center}.hero__photo{aspect-ratio:4/3;border-radius:14px;border-radius:var(--radius);box-shadow:0 16px 40px #463a2c24;box-shadow:var(--shadow-lift);display:block;margin:2rem auto 0;object-fit:cover;object-position:center 42%;width:min(26rem,74vw)}.hero__inner{position:relative;z-index:1}.hero__names{color:#37322c;color:var(--ink);font-family:Great Vibes,cursive;font-size:clamp(3.4rem,15vw,7rem);line-height:1.05;margin:.6rem 0 .2rem}.hero__amp{color:#a18f7a;color:var(--accent);display:block;font-size:.45em;margin:.1em 0}.hero__date{color:#7d6b57;color:var(--accent-deep);font-size:clamp(1.1rem,4vw,1.5rem);letter-spacing:.42em;margin-top:1rem;text-indent:.42em}.hero__scroll{align-items:center;color:#665d52;color:var(--ink-soft);display:flex;flex-direction:column;font-size:.88rem;gap:.5rem;letter-spacing:.22em;margin-top:auto;padding-top:3rem;position:relative;text-transform:uppercase;z-index:1}.hero__arrow{animation:nudge 2.4s cubic-bezier(.22,.61,.36,1) infinite;animation:nudge 2.4s var(--ease) infinite}@keyframes nudge{0%,to{opacity:.65;transform:translateY(0)}50%{opacity:1;transform:translateY(7px)}}.prose{font-size:1.3rem;margin:0 auto;max-width:38rem;max-width:var(--measure);text-align:center}.prose p+p{margin-top:1.1rem}.countdown{display:flex;flex-wrap:wrap;gap:clamp(.75rem,3vw,1.75rem);justify-content:center}.countdown__unit{background-color:#fff;background-color:var(--surface);border:1px solid #e5dbcc;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius);box-shadow:0 10px 30px #463a2c14;box-shadow:var(--shadow-soft);padding:1rem .5rem;text-align:center;width:7rem}.countdown__value{font-feature-settings:"tnum";color:#7d6b57;color:var(--accent-deep);font-size:clamp(1.9rem,6vw,2.6rem);font-variant-numeric:tabular-nums;line-height:1}.countdown__label{color:#665d52;color:var(--ink-soft);font-size:.9rem;letter-spacing:.12em;margin-top:.4rem;text-transform:lowercase;white-space:nowrap}.venue__photo{border-radius:14px;border-radius:var(--radius);box-shadow:0 10px 30px #463a2c14;box-shadow:var(--shadow-soft);display:block;height:auto;width:100%}.venue__card{background-color:#fff;background-color:var(--surface);border:1px solid #e5dbcc;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius);box-shadow:0 16px 40px #463a2c24;box-shadow:var(--shadow-lift);margin:-3.5rem auto 0;max-width:32rem;padding:1.75rem 1.5rem;position:relative;text-align:center}.venue__name{color:#7d6b57;color:var(--accent-deep);font-size:1.55rem;letter-spacing:.22em;margin-bottom:.35rem;text-transform:uppercase}.venue__address{color:#665d52;color:var(--ink-soft);margin-bottom:1.25rem}.venue__map{border:0;border-radius:14px;border-radius:var(--radius);box-shadow:0 10px 30px #463a2c14;box-shadow:var(--shadow-soft);display:block;height:clamp(280px,45vh,420px);margin-top:2.5rem;width:100%}.days{grid-gap:1.5rem;display:grid;gap:1.5rem}.day{background-color:#fff;background-color:var(--surface);border:1px solid #e5dbcc;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius);box-shadow:0 10px 30px #463a2c14;box-shadow:var(--shadow-soft);padding:clamp(1.5rem,4vw,2.25rem)}.day__label{color:#a18f7a;color:var(--accent);font-size:.84rem;letter-spacing:.24em;text-align:center;text-transform:uppercase}.day__title{color:#7d6b57;color:var(--accent-deep);font-family:Great Vibes,cursive;font-size:clamp(2.2rem,6.5vw,3rem);margin:.3rem 0 .75rem;text-align:center}.day__lead{color:#665d52;color:var(--ink-soft);font-size:1.12rem;margin:0 auto 1.75rem;max-width:32rem;text-align:center}.slot{align-items:baseline;border-top:1px solid #e5dbcc;border-top:1px solid var(--line);display:flex;gap:1.1rem;padding:.85rem 0}.slot:first-of-type{border-top:none}.slot__time{font-feature-settings:"tnum";color:#7d6b57;color:var(--accent-deep);flex:0 0 7.5rem;font-size:1.15rem;font-variant-numeric:tabular-nums;letter-spacing:.04em;text-align:right;white-space:nowrap}.slot__event{flex:1 1}.swatches{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));list-style:none;margin:0 auto 2.75rem;max-width:44rem;padding:0}.swatch{text-align:center}.swatch__chip{aspect-ratio:1;border:1px solid #37322c1f;border-radius:50%;box-shadow:0 10px 30px #463a2c14;box-shadow:var(--shadow-soft);width:100%}.swatch__name{color:#665d52;color:var(--ink-soft);font-size:.98rem;margin-top:.65rem}.notes{grid-gap:1.25rem;display:grid;gap:1.25rem;margin:0 auto;max-width:44rem}.note{background-color:#fff;background-color:var(--surface);border:1px solid #e5dbcc;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius);display:flex;gap:1rem;padding:1.4rem 1.5rem;text-align:left}.note__icon{color:#a18f7a;color:var(--accent);flex:0 0 auto;height:26px;margin-top:.15rem;width:26px}.wishes{grid-gap:1.25rem;counter-reset:wish;display:grid;gap:1.25rem;list-style:none;margin:0 auto;max-width:46rem;padding:0}.wish{background-color:#fff;background-color:var(--surface);border:1px solid #e5dbcc;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius);box-shadow:0 10px 30px #463a2c14;box-shadow:var(--shadow-soft);padding:1.6rem 1.6rem 1.6rem 4.25rem;position:relative}.wish:before{background-color:#f4ede3;background-color:var(--bg-warm);border-radius:50%;color:#7d6b57;color:var(--accent-deep);content:counter(wish);counter-increment:wish;display:grid;font-size:1.05rem;height:2.1rem;left:1.4rem;place-items:center;position:absolute;top:1.35rem;width:2.1rem}.photos{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr}.photo{border-radius:14px;border-radius:var(--radius);box-shadow:0 10px 30px #463a2c14;box-shadow:var(--shadow-soft);display:block;height:auto;width:100%}.actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1rem}.actions__hint{color:#665d52;color:var(--ink-soft);font-size:1.02rem;text-align:center}.outro{color:#7d6b57;color:var(--accent-deep);font-family:Great Vibes,cursive;font-size:clamp(1.9rem,6vw,2.6rem);line-height:1.4;margin-top:3.5rem;margin-inline:auto;max-width:32rem;text-align:center}.signature{color:#665d52;color:var(--ink-soft);font-size:.85rem;letter-spacing:.3em;margin-top:2rem;text-align:center;text-transform:uppercase}.sound{background-color:#ffffffeb;border:1px solid #e5dbcc;border:1px solid var(--line);border-radius:50%;box-shadow:0 10px 30px #463a2c14;box-shadow:var(--shadow-soft);color:#7d6b57;color:var(--accent-deep);cursor:pointer;display:grid;flex:0 0 auto;height:48px;place-items:center;transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s cubic-bezier(.22,.61,.36,1);transition:transform .25s var(--ease),box-shadow .25s var(--ease);width:48px}.sound:hover{box-shadow:0 16px 40px #463a2c24;box-shadow:var(--shadow-lift);transform:translateY(-2px)}@media (min-width:768px){.photos{align-items:center;grid-template-columns:1.35fr 1fr}.days{gap:2rem}}@media (max-width:600px){.inv{font-size:19px}.slot__time{flex-basis:6.5rem;font-size:1.05rem}.venue__card{margin-top:-2.25rem}.countdown__unit{padding:.85rem .35rem;width:5.4rem}}@media (max-width:380px){.slot{flex-direction:column;gap:.15rem}.slot__time{flex-basis:auto;text-align:left}}@media (prefers-reduced-motion:reduce){.inv *,.inv :after,.inv :before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}.progress{background:linear-gradient(90deg,#c9a9a6,#a18f7a,#a8b79a);background:linear-gradient(90deg,var(--rose),var(--accent),var(--sage));height:2px;left:0;pointer-events:none;position:fixed;right:0;top:0;transform:scaleX(0);transform-origin:0 50%;z-index:950}.px-frame{background-color:#f4ede3;background-color:var(--bg-warm);border-radius:14px;border-radius:var(--radius);box-shadow:0 10px 30px #463a2c14;box-shadow:var(--shadow-soft);margin:0;overflow:hidden;position:relative}.px-frame__img{display:block;height:114%;left:0;object-fit:cover;position:absolute;top:-7%;width:100%;will-change:transform}.reveal .day__title,.reveal .outro,.reveal .section-title{clip-path:inset(-.35em 100% -.5em -.2em);transition:clip-path 1.15s cubic-bezier(.22,.61,.36,1) .12s;transition:clip-path 1.15s var(--ease) .12s}.reveal.is-in .day__title,.reveal.is-in .outro,.reveal.is-in .section-title{clip-path:inset(-.35em -.3em -.5em -.2em)}.hero__names{animation:write 1.7s cubic-bezier(.22,.61,.36,1) .2s both;animation:write 1.7s var(--ease) .2s both}.hero .eyebrow,.hero__date{animation:soft-up 1s cubic-bezier(.22,.61,.36,1) both;animation:soft-up 1s var(--ease) both}.hero .eyebrow{animation-delay:.05s}.hero__date{animation-delay:1.15s}.hero__photo{animation:soft-up 1.1s cubic-bezier(.22,.61,.36,1) 1.35s both;animation:soft-up 1.1s var(--ease) 1.35s both}@keyframes write{0%{clip-path:inset(-.35em 100% -.5em -.2em)}to{clip-path:inset(-.35em -.3em -.5em -.2em)}}@keyframes soft-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero__names,.reveal .day__title,.reveal .outro,.reveal .section-title{animation:none;clip-path:none}.hero .eyebrow,.hero__date,.hero__photo{animation:none;opacity:1;transform:none}.px-frame__img{transform:none!important;will-change:auto}.progress{display:none}}.calendar{margin:0 auto;max-width:26rem;text-align:center}.calendar__month{color:#7d6b57;color:var(--accent-deep);font-family:Great Vibes,cursive;font-size:2.7rem;margin-bottom:1.1rem}.calendar__grid{grid-gap:.3rem;display:grid;gap:.3rem;grid-template-columns:repeat(7,1fr)}.calendar__weekday{border-bottom:none;color:#a18f7a;color:var(--accent);font-size:.88rem;letter-spacing:.08em;padding-bottom:.4rem;text-decoration:none;text-transform:uppercase}.calendar__day{font-feature-settings:"tnum";aspect-ratio:1;border-radius:50%;color:#665d52;color:var(--ink-soft);display:grid;font-size:1.15rem;font-variant-numeric:tabular-nums;place-items:center}.calendar__day.is-first{background-color:#c9a9a6;background-color:var(--rose);box-shadow:0 10px 30px #463a2c14;box-shadow:var(--shadow-soft);color:#37322c;color:var(--ink)}.calendar__day.is-second{box-shadow:inset 0 0 0 1px #c9a9a6;box-shadow:inset 0 0 0 1px var(--rose);color:#7d6b57;color:var(--accent-deep)}.calendar__legend{grid-gap:.55rem;color:#665d52;color:var(--ink-soft);display:grid;font-size:1.08rem;gap:.55rem;list-style:none;margin:1.6rem 0 0;padding:0}.calendar__legend li{align-items:center;display:flex;gap:.55rem;justify-content:center}.calendar__dot{border-radius:50%;flex:0 0 auto;height:.72rem;width:.72rem}.calendar__dot--first{background-color:#c9a9a6;background-color:var(--rose)}.calendar__dot--second{box-shadow:inset 0 0 0 1px #c9a9a6;box-shadow:inset 0 0 0 1px var(--rose)}.calendar__action{display:flex;justify-content:center;margin-top:1.75rem}.countdown__zone{color:#665d52;color:var(--ink-soft);font-size:.95rem;letter-spacing:.04em;margin-top:1.1rem;text-align:center}.controls{align-items:center;bottom:1rem;display:flex;gap:.5rem;position:fixed;right:1rem;z-index:900}.lang-switch{background-color:#ffffffeb;border:1px solid #e5dbcc;border:1px solid var(--line);border-radius:999px;box-shadow:0 10px 30px #463a2c14;box-shadow:var(--shadow-soft);display:flex;padding:3px}.lang-switch__btn{background-color:initial;border:none;border-radius:999px;color:#665d52;color:var(--ink-soft);cursor:pointer;font-family:inherit;font-size:.95rem;height:42px;letter-spacing:.08em;min-width:42px;padding:0 .5rem;transition:background-color .25s cubic-bezier(.22,.61,.36,1),color .25s cubic-bezier(.22,.61,.36,1);transition:background-color .25s var(--ease),color .25s var(--ease)}.lang-switch__btn:hover{color:#7d6b57;color:var(--accent-deep)}.lang-switch__btn.is-active{background-color:#7d6b57;background-color:var(--accent-deep);color:#fff}
/*# sourceMappingURL=main.2fc3e627.css.map*/