.intro-animation-snowfall{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;overflow:hidden;pointer-events:none}.intro-animation-snowflake{position:absolute;display:inline-block;line-height:1;color:var(--color-ivory);will-change:transform}.ransom-caption__letter{display:inline-block;padding:.08em .16em .12em;margin:0 .03em;line-height:1.15;font-weight:700;box-shadow:.06em .1em .2em #0006,0 0 0 1px #0000000d;vertical-align:middle}.ransom-caption__space{display:inline-block;width:.5em}@media (max-width: 30rem){.intro-animation-walker .intro-animation-caption{display:inline-flex;flex-wrap:wrap;justify-content:center;white-space:normal;max-width:min(88vw,22rem);font-size:clamp(1.1rem,.85rem + 1.6vw,1.5rem)}.ransom-caption__space--break{flex-basis:100%;width:0;height:0}}.intro-animation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-intro);display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--color-burgundy)}.intro-animation-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.45;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.intro-animation-walker{position:relative;z-index:3;display:flex;align-items:center;gap:clamp(.75rem,1vw + .5rem,1.75rem)}@media (max-width: 30rem){.intro-animation-walker{flex-direction:column-reverse;gap:.5rem}}.intro-animation-caption{font-size:clamp(1.75rem,1.3rem + 2vw,2.75rem);white-space:nowrap}.intro-animation-photo{max-height:70vh;width:auto}@media (max-width: 30rem){.intro-animation-photo{max-height:34vh}}@keyframes music-prompt-backdrop-in{0%{opacity:0}}@keyframes music-prompt-card-in{0%{opacity:0;transform:scale(.96)}}.music-prompt{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-music-prompt);display:flex;align-items:center;justify-content:center;padding:var(--space-md);background-color:#00000043;animation:music-prompt-backdrop-in var(--duration-base) var(--ease-out-quart) both}.music-prompt__card{position:relative;width:100%;max-width:24rem;padding:var(--space-sm);background-color:var(--color-burgundy);border-radius:16px;animation:music-prompt-card-in calc(var(--duration-base) * 1.3) var(--ease-out-quart) both}.music-prompt__mark{position:absolute;top:var(--space-3xs);right:var(--space-2xs);font-size:var(--text-lg);line-height:1;color:var(--color-gold);opacity:.4;pointer-events:none}.music-prompt__frame{padding:var(--space-lg) var(--space-md);border:1px dotted color-mix(in oklch,var(--color-gold) 60%,transparent);text-align:center}.music-prompt__question{margin-bottom:var(--space-lg);color:var(--color-ivory);font-size:var(--text-lg);letter-spacing:.05em;line-height:var(--leading-normal)}.music-prompt__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm)}.music-prompt__button{display:inline-block;padding:var(--space-xs) clamp(1.5rem,1rem + 2vw,var(--space-lg));border:1px solid var(--color-gold);border-radius:999px!important;font-size:var(--text-sm);letter-spacing:.1em;cursor:pointer;transition:background-color var(--duration-base) var(--ease-out-quart),color var(--duration-base) var(--ease-out-quart),border-color var(--duration-base) var(--ease-out-quart)}.music-prompt__button--yes{background-color:var(--color-gold);color:var(--color-burgundy)}.music-prompt__button--yes:hover{background-color:var(--color-gold-dark);border-color:var(--color-gold-dark)}.music-prompt__button--no{background:none;color:var(--color-gold)}.music-prompt__button--no:hover{background-color:var(--color-gold);color:var(--color-burgundy)}.music-button{position:fixed;right:var(--space-sm);bottom:var(--space-sm);z-index:var(--z-sticky);display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;background-color:var(--color-burgundy);border:1px solid var(--color-gold);border-radius:50%;color:var(--color-gold);cursor:pointer;transition:background-color var(--duration-base) var(--ease-out-quart),color var(--duration-base) var(--ease-out-quart)}.music-button:hover{background-color:var(--color-gold);color:var(--color-burgundy)}.rsvp-form{display:flex;flex-direction:column;gap:var(--space-md)}.rsvp-form__row-collapse{display:grid;grid-template-columns:1fr;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--duration-base) var(--ease-out-quart),opacity var(--duration-base) var(--ease-out-quart)}.rsvp-form__row-collapse.is-open{grid-template-rows:1fr;opacity:1}.rsvp-form__row-collapse>.rsvp-form__row,.rsvp-form__row-collapse>.rsvp-form__field{min-height:0;overflow:hidden}.rsvp-form__row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.rsvp-form__field{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.rsvp-form__label{font-size:var(--text-sm);color:var(--color-text-muted);letter-spacing:.03em}.rsvp-form__field input[type=text],.rsvp-form__field input[type=email],.rsvp-form__field input[type=tel],.rsvp-form__field input[type=number],.rsvp-form__field select,.rsvp-form__field textarea{padding:var(--space-2xs) var(--space-xs);border:1px solid var(--color-border);border-radius:.2rem;font-family:inherit;font-size:var(--text-base);background-color:color-mix(in oklch,var(--color-surface-raised) 45%,transparent);color:var(--color-text);transition:border-color var(--duration-base) var(--ease-out-quart),background-color var(--duration-base) var(--ease-out-quart)}.rsvp-form__field input[type=text]:hover,.rsvp-form__field input[type=email]:hover,.rsvp-form__field input[type=tel]:hover,.rsvp-form__field input[type=number]:hover,.rsvp-form__field select:hover,.rsvp-form__field textarea:hover{border-color:var(--color-accent)}.rsvp-form__field input[type=text]:focus-visible,.rsvp-form__field input[type=email]:focus-visible,.rsvp-form__field input[type=tel]:focus-visible,.rsvp-form__field input[type=number]:focus-visible,.rsvp-form__field select:focus-visible,.rsvp-form__field textarea:focus-visible{border-color:var(--color-action);outline:2px solid var(--color-accent);outline-offset:1px}.rsvp-form__segmented{display:inline-flex;width:fit-content;border:1px solid var(--color-border);border-radius:999px;overflow:hidden}.rsvp-form__segment{position:relative;padding:var(--space-2xs) var(--space-md);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--duration-base) var(--ease-out-quart),color var(--duration-base) var(--ease-out-quart)}.rsvp-form__segment:not(:first-child){border-left:1px solid var(--color-border)}.rsvp-form__segment input{position:absolute;width:1px;height:1px;opacity:0}.rsvp-form__segment:has(:checked){background-color:var(--color-action);color:var(--color-ivory)}.rsvp-form__segment:has(:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.rsvp-form__checkbox{display:flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);cursor:pointer;width:fit-content}.rsvp-form__submit{align-self:flex-start;margin-top:var(--space-xs);padding:var(--space-xs) var(--space-lg);background-color:var(--color-action);color:var(--color-ivory);border:none;border-radius:.25rem;cursor:pointer;font-family:inherit;font-size:var(--text-base);letter-spacing:.03em;transition:background-color var(--duration-base) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.rsvp-form__submit:hover:not(:disabled){background-color:var(--color-action-hover)}.rsvp-form__submit:active:not(:disabled){transform:scale(.98)}.rsvp-form__submit:disabled{opacity:.55;cursor:not-allowed}.rsvp-form__feedback{display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm);border-radius:.25rem;font-size:var(--text-sm)}.rsvp-form__feedback-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex-shrink:0;border-radius:50%;font-size:var(--text-xs)}.rsvp-form__feedback--success{background-color:color-mix(in oklch,var(--color-forest) 12%,var(--color-ivory));color:var(--color-forest-dark)}.rsvp-form__feedback--success .rsvp-form__feedback-icon{background-color:var(--color-forest);color:var(--color-ivory)}.rsvp-form__feedback--error{background-color:color-mix(in oklch,var(--color-error) 10%,var(--color-ivory));color:var(--color-error)}.rsvp-form__feedback--error .rsvp-form__feedback-icon{background-color:var(--color-error);color:var(--color-ivory)}@media (max-width: 30rem){.rsvp-form__row{grid-template-columns:1fr}}.success-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-lightbox);display:flex;align-items:center;justify-content:center;padding:var(--space-md);background-color:#00000043}.success-modal__card{width:100%;max-width:24rem;padding:var(--space-lg) var(--space-md);background-color:var(--color-burgundy);border:1px dotted color-mix(in oklch,var(--color-gold) 60%,transparent);border-radius:16px;text-align:center}.success-modal__title{margin-bottom:var(--space-md);color:var(--color-ivory);font-size:var(--text-lg);letter-spacing:.05em}.success-modal__countdown{margin-bottom:var(--space-lg);color:var(--color-gold);font-family:var(--font-display-serif);font-size:var(--text-2xl);line-height:1}.success-modal__proceed{display:inline-block;padding:var(--space-xs) var(--space-lg);background:none;border:1px solid var(--color-gold);border-radius:999px;color:var(--color-gold);font-size:var(--text-sm);letter-spacing:.1em;cursor:pointer;transition:background-color var(--duration-base) var(--ease-out-quart),color var(--duration-base) var(--ease-out-quart)}.success-modal__proceed:hover{background-color:var(--color-gold);color:var(--color-burgundy)}.rsvp-page{display:flex;flex-direction:column}.rsvp-page__photo{position:relative;aspect-ratio:4/3;max-height:26rem;overflow:hidden;background-color:var(--color-forest-dark)}@media (min-width: 60rem){.rsvp-page__photo{position:fixed;inset-block:0;left:0;width:38%;height:100dvh;aspect-ratio:auto;max-height:none}}.rsvp-page__photo-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.rsvp-page__photo-veil{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to top,color-mix(in oklch,var(--color-forest-dark) 88%,black) 0%,transparent 55%);pointer-events:none}.rsvp-page__photo-snow{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}@keyframes rsvp-page-drift{0%{top:-10%;transform:translate(0);opacity:0}10%,90%{opacity:.85}to{top:115%;transform:translate(1rem);opacity:0}}.rsvp-page__photo-flake{position:absolute;display:inline-block;line-height:1;color:var(--color-gold-soft);animation-name:rsvp-page-drift;animation-timing-function:linear;animation-iteration-count:infinite}.rsvp-page__photo-mark{position:absolute;top:var(--space-md);left:var(--space-md);display:flex;align-items:center;gap:var(--space-2xs)}.rsvp-page__photo-mark-icon{display:inline-block;font-size:1.35rem;line-height:1;color:var(--color-gold)}.rsvp-page__photo-mark-line{width:2.25rem;height:1px;background-color:color-mix(in oklch,var(--color-gold) 60%,transparent)}.rsvp-page__photo-caption{position:absolute;left:var(--space-md);right:var(--space-md);bottom:var(--space-md);color:var(--color-ivory)}@media (min-width: 60rem){.rsvp-page__photo-caption{left:var(--space-lg);right:var(--space-lg);bottom:var(--space-lg)}}.rsvp-page__photo-caption-script{font-family:var(--font-script-alt);color:var(--color-gold);font-size:var(--text-xl);margin-bottom:var(--space-3xs);font-weight:700}.rsvp-page__photo-caption-text{font-size:var(--text-sm);letter-spacing:.02em;opacity:.9}.rsvp-page__photo-caption-line{display:block;margin-top:var(--space-sm);width:4rem;height:1px;background-color:var(--color-gold)}.rsvp-page__form-panel{position:relative;padding:4rem 0;background-color:var(--color-surface);overflow:hidden}@media (min-width: 60rem){.rsvp-page__form-panel{margin-left:38%;min-height:100dvh;display:flex;align-items:center}}.rsvp-page__form-panel:before{content:"";position:fixed;top:50%;left:50%;width:32rem;height:32rem;transform:translate(-50%,-50%);background-image:url(/images/logo.png);background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.06;pointer-events:none;display:none}@media (min-width: 60rem){.rsvp-page__form-panel:before{display:block;left:69%;width:48rem;height:48rem}}.rsvp-page__form-panel .site-container{position:relative;z-index:1}@media (min-width: 60rem){.rsvp-page__form-panel .site-container{margin-inline:0}}.rsvp-page__hero{margin-bottom:4rem}.rsvp-page__hero-mark{position:absolute;top:var(--space-lg);right:var(--space-lg);font-family:Zapf Dingbats,sans-serif;font-size:clamp(2.5rem,2rem + 2vw,4rem);line-height:1;color:var(--color-gold);opacity:.35;pointer-events:none;font-weight:700}.rsvp-page__eyebrow{font-family:var(--font-script-alt);font-size:var(--text-lg);color:var(--color-accent);margin-bottom:var(--space-3xs);font-weight:700}.rsvp-page__title{font-size:var(--text-2xl);font-weight:700}.rsvp-page__divider{display:flex;align-items:center;gap:var(--space-2xs);margin-top:var(--space-sm)}.rsvp-page__divider-line{flex:1;max-width:2rem;height:1px;background-color:var(--color-border)}.rsvp-page__divider-label{font-size:var(--text-xs);letter-spacing:.15em;color:var(--color-accent)}.rsvp-page__save-date{margin-bottom:var(--space-xl);padding:var(--space-sm);background-color:var(--color-burgundy);border-radius:16px}.rsvp-page__save-date-frame{padding:var(--space-md) var(--space-sm);border:1px dotted color-mix(in oklch,var(--color-gold) 60%,transparent);text-align:center}.rsvp-page__save-date-label{font-size:var(--text-xs);letter-spacing:.4em;color:var(--color-gold)}.rsvp-page__save-date-logo{display:block;width:170px;height:auto;margin:0 auto;filter:brightness(0) saturate(100%) invert(72%) sepia(24%) saturate(672%) hue-rotate(357deg) brightness(93%) contrast(88%)}.rsvp-page__save-date-date{font-size:var(--text-base);letter-spacing:.2em;color:var(--color-gold);margin-bottom:var(--space-sm)}.rsvp-page__save-date-details{font-size:var(--text-sm);letter-spacing:.08em;line-height:2;color:var(--color-gold);opacity:.9}.photo-gallery{display:flex;align-items:flex-start;margin-left:calc(-1 * var(--space-sm));width:auto}.photo-gallery__column{padding-left:var(--space-sm);background-clip:padding-box}.photo-gallery__item{display:block;width:100%;margin-bottom:var(--space-sm);padding:0;border:none;background:none;cursor:pointer;overflow:hidden}.photo-gallery__item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform var(--duration-slow) var(--ease-out-quart)}.photo-gallery__item:hover img,.photo-gallery__item:focus-visible img{transform:scale(1.04)}.content-empty{font-family:var(--font-script);font-size:var(--text-lg);color:var(--color-accent)}.couple-info{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-2xl)}.couple-info__person{display:flex;flex-direction:column;align-items:center;max-width:17.5rem}.couple-info__person:first-child img{object-position:5px 4px;scale:1.6}.couple-info__person:last-child img{object-position:-11px -8px;scale:1.1}.couple-info__photo{width:220px;height:220px;max-width:60vw;max-height:60vw;margin-bottom:var(--space-md);border-radius:50%;border:1px solid var(--color-gold);background-color:var(--color-ivory-shade);display:flex;align-items:center;justify-content:center;overflow:hidden}.couple-info__photo-img{width:100%;height:100%;object-fit:cover}.couple-info__photo-initial{font-family:var(--font-cjk);font-size:3rem;color:var(--color-gold)}.couple-info__name{font-size:var(--text-xl);letter-spacing:.1em;margin-bottom:var(--space-3xs)}.couple-info__role{font-size:var(--text-xs);letter-spacing:.25em;color:var(--color-text-muted)}.ceremony-timeline{position:relative;display:flex;justify-content:space-between;gap:var(--space-sm);list-style:none;margin:0;padding:0}.ceremony-timeline:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--color-gold) 55%,transparent) 10%,color-mix(in oklch,var(--color-gold) 55%,transparent) 90%,transparent)}.ceremony-timeline__item{position:relative;flex:1;display:flex;flex-direction:column;align-items:center}.ceremony-timeline__item--alt{margin-top:6rem}.ceremony-timeline__title{order:1;margin-bottom:var(--space-md);font-size:var(--text-base);letter-spacing:.05em}.ceremony-timeline__node{order:2}.ceremony-timeline__time{order:3;margin-top:var(--space-md);font-size:var(--text-sm);letter-spacing:.15em;color:var(--color-gold)}.ceremony-timeline__item--alt .ceremony-timeline__node{order:1}.ceremony-timeline__item--alt .ceremony-timeline__time{order:2;margin-top:var(--space-md);margin-bottom:var(--space-md)}.ceremony-timeline__item--alt .ceremony-timeline__title{order:3;margin-top:0;margin-bottom:0}.ceremony-timeline__node{width:3.375rem;height:3.375rem;border-radius:50%;border:1px solid var(--color-gold);background-color:var(--color-forest);display:flex;align-items:center;justify-content:center;transition:transform var(--duration-slow) var(--ease-out-quart),box-shadow var(--duration-slow) var(--ease-out-quart)}.ceremony-timeline__item:hover .ceremony-timeline__node{transform:scale(1.12);box-shadow:0 0 0 6px color-mix(in oklch,var(--color-gold) 15%,transparent)}.ceremony-timeline__number{width:2.5rem;height:2.5rem;border-radius:50%;border:1px dotted color-mix(in oklch,var(--color-gold) 60%,transparent);display:flex;align-items:center;justify-content:center;font-family:var(--font-display-serif);font-size:var(--text-base);color:var(--color-gold)}@media (max-width: 40rem){.ceremony-timeline{flex-direction:column;gap:var(--space-lg)}.ceremony-timeline:before{display:none}.ceremony-timeline__item,.ceremony-timeline__item--alt{flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--space-md);margin-top:0;text-align:left}.ceremony-timeline__title,.ceremony-timeline__item--alt .ceremony-timeline__title{order:3;margin:0}.ceremony-timeline__time,.ceremony-timeline__item--alt .ceremony-timeline__time{order:2;min-width:3.5rem;margin:0}.ceremony-timeline__node,.ceremony-timeline__item--alt .ceremony-timeline__node{order:1}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-lightbox);display:flex;align-items:center;justify-content:center;background-color:color-mix(in oklch,black 82%,var(--color-burgundy) 18%)}.lightbox__image{max-width:85vw;max-height:85vh;object-fit:contain;border-radius:.2rem}.lightbox__close,.lightbox__nav{background:none;border:none;color:var(--color-ivory);cursor:pointer;line-height:1;transition:opacity var(--duration-base) var(--ease-out-quart)}.lightbox__close:hover,.lightbox__nav:hover{opacity:.7}.lightbox__close{position:absolute;top:1rem;right:1.5rem;font-size:1.5rem;padding:var(--space-sm)}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);font-size:2.5rem;padding:var(--space-sm) var(--space-md)}.lightbox__nav--prev{left:0}.lightbox__nav--next{right:0}.venue-info{display:flex;justify-content:center}.venue-info__inner{width:100%;max-width:50rem;padding:var(--space-sm);background-color:var(--color-burgundy);border-radius:16px}.venue-info__frame{padding:var(--space-lg) var(--space-md);border:1px dotted color-mix(in oklch,var(--color-gold) 60%,transparent);text-align:center}.venue-info__name{margin-bottom:var(--space-sm);color:var(--color-ivory);font-size:var(--text-lg);letter-spacing:.05em}.venue-info__address{margin-bottom:var(--space-lg);color:var(--color-gold);font-size:var(--text-sm);line-height:var(--leading-normal);letter-spacing:.03em}.venue-info__map-button{display:inline-block;padding:var(--space-xs) var(--space-lg);border:1px solid var(--color-gold);border-radius:999px;color:var(--color-gold);text-decoration:none;font-size:var(--text-sm);letter-spacing:.1em;transition:background-color var(--duration-base) var(--ease-out-quart),color var(--duration-base) var(--ease-out-quart)}.venue-info__map-button:hover{background-color:var(--color-gold);color:var(--color-burgundy)}.venue-info__parking{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid color-mix(in oklch,var(--color-gold) 25%,transparent);text-align:center}.venue-info__parking-label{margin-bottom:var(--space-xs);color:color-mix(in oklch,var(--color-ivory) 70%,transparent);font-size:var(--text-xs);letter-spacing:.1em}.venue-info__parking-address{margin-bottom:var(--space-xs);color:color-mix(in oklch,var(--color-gold) 75%,transparent);font-size:var(--text-xs);line-height:var(--leading-normal);letter-spacing:.02em}.venue-info__parking-link{color:color-mix(in oklch,var(--color-gold) 75%,transparent);font-size:var(--text-xs);text-decoration:underline;text-underline-offset:.2em;transition:color var(--duration-base) var(--ease-out-quart)}.venue-info__parking-link:hover{color:var(--color-gold)}.section-heading{margin-bottom:var(--space-2xl);text-align:center}.section-heading__title{font-family:var(--font-script-alt);font-weight:400;font-size:clamp(1.75rem,1.4rem + 1.6vw,2.5rem);color:var(--color-accent);margin-bottom:var(--space-sm)}.section-heading__rule{display:block;width:2.75rem;height:1px;margin-inline:auto;background-color:var(--color-accent)}.opening-hero{position:relative;height:100vh;height:100svh;overflow:hidden;background-color:var(--color-forest-dark);cursor:pointer}.opening-hero__photo{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;padding:3rem}@media (max-width: 768px){.opening-hero__photo{padding:0}}.opening-hero__photo img{width:100%;height:100%;object-fit:cover;border-radius:16px}@media (max-width: 768px){.opening-hero__photo img{border-radius:0}}.opening-hero__door{position:absolute;top:0;width:50%;height:100%;z-index:1;display:flex;align-items:flex-end;padding-bottom:14vh;background-color:var(--color-forest);transition:transform 2.4s var(--ease-out-expo),opacity 1.4s ease}.opening-hero__door--left{left:0;justify-content:flex-end;padding-right:var(--space-md)}.opening-hero__door--right{right:0;justify-content:flex-start;padding-left:var(--space-md)}.opening-hero--opened .opening-hero__door--left{transform:translate(-100%);opacity:.5}.opening-hero--opened .opening-hero__door--right{transform:translate(100%);opacity:.5}.opening-hero__door-name{font-family:var(--font-script-alt);font-size:clamp(2rem,1.5rem + 2vw,3.5rem);color:var(--color-gold)}.opening-hero__logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:min(50vw,60rem);height:auto;opacity:.1;pointer-events:none;filter:brightness(0) saturate(100%) invert(72%) sepia(24%) saturate(672%) hue-rotate(357deg) brightness(93%) contrast(88%);transition:opacity .6s ease}.opening-hero--opened .opening-hero__logo{opacity:0}.opening-hero__caption{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:min(90vw,30rem);text-align:center;pointer-events:none;transition:opacity .6s ease}.opening-hero--opened .opening-hero__caption{opacity:0}.opening-hero__eyebrow{color:var(--color-gold);font-size:var(--text-xs);letter-spacing:.35em;margin-bottom:var(--space-sm)}.opening-hero__names{color:var(--color-ivory);font-size:var(--text-lg);letter-spacing:.15em}.opening-hero__date{margin-top:var(--space-xs);color:var(--color-gold);font-family:var(--font-display-serif);font-size:var(--text-base);letter-spacing:.1em}.opening-hero__hint{position:absolute;right:var(--space-md);bottom:var(--space-md);z-index:3;text-align:right;color:var(--color-gold);font-size:var(--text-xs);letter-spacing:.2em;pointer-events:none;animation:opening-hero-bob 2s ease-in-out infinite;transition:opacity .4s ease}.opening-hero--opened .opening-hero__hint{opacity:0}.opening-hero__hint-arrow{display:block;margin-top:.4em;font-size:1.1rem}@keyframes opening-hero-bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@media (max-width: 30rem){.opening-hero__door-name{font-size:clamp(1.5rem,1.2rem + 2vw,2.25rem)}.opening-hero__logo{width:min(85vw,80rem)}}.countdown{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-lg) var(--space-xl)}.countdown__unit{display:flex;flex-direction:column;align-items:center}.countdown__value{font-family:var(--font-display-serif);font-size:clamp(2.25rem,1.75rem + 2vw,3.5rem);line-height:1;color:var(--color-ivory)}.countdown__label{margin-top:var(--space-xs);font-size:var(--text-xs);letter-spacing:.25em;color:var(--color-gold)}.countdown__celebrate{display:inline-block;max-width:100%;font-size:clamp(1rem,.75rem + 1.2vw,1.75rem);white-space:nowrap}@media (max-width: 30rem){.countdown__celebrate{display:inline-flex;flex-wrap:wrap;justify-content:center;white-space:normal;max-width:min(88vw,22rem);font-size:clamp(.8rem,.65rem + 1vw,1.1rem)}}.invitation-page{background-color:var(--color-surface);overflow-x:hidden}.invitation-page__section{padding-block:var(--space-2xl);text-align:center}.invitation-page__section--dark{background-color:var(--color-forest);color:var(--color-ivory)}.invitation-page__timeline-container{max-width:60rem}.invitation-page__gallery-container{max-width:75rem}.invitation-page__date-label{margin-bottom:var(--space-2xl);color:color-mix(in oklch,var(--color-gold) 70%,transparent);font-size:var(--text-xs);letter-spacing:.3em}.invitation-page__footer{padding:var(--space-lg) var(--space-sm);text-align:center;color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.1em}:root{--color-burgundy: #6b2737;--color-burgundy-dark: color-mix(in oklch, #6b2737 82%, black);--color-burgundy-soft: color-mix(in oklch, #6b2737 22%, white);--color-forest: #2f4a3c;--color-forest-dark: color-mix(in oklch, #2f4a3c 82%, black);--color-forest-soft: color-mix(in oklch, #2f4a3c 20%, white);--color-ivory: #f8f3ea;--color-ivory-shade: color-mix(in oklch, #f8f3ea 93%, #6b2737);--color-ivory-deep: color-mix(in oklch, #f8f3ea 84%, #6b2737);--color-gold: #c8a15b;--color-gold-dark: color-mix(in oklch, #c8a15b 78%, black);--color-gold-soft: color-mix(in oklch, #c8a15b 35%, white);--color-surface: var(--color-ivory);--color-surface-raised: var(--color-ivory-shade);--color-text: var(--color-burgundy);--color-text-muted: color-mix(in oklch, var(--color-burgundy) 65%, var(--color-ivory));--color-accent: var(--color-gold);--color-action: var(--color-burgundy);--color-action-hover: var(--color-burgundy-dark);--color-action-secondary: var(--color-forest);--color-action-secondary-hover: var(--color-forest-dark);--color-error: #8a2f1f;--color-border: color-mix(in oklch, var(--color-gold) 55%, var(--color-ivory));--font-cjk: "Noto Serif TC", serif;--font-script: "Great Vibes", cursive;--font-script-alt: "Alex Brush", cursive;--font-display-serif: "Cormorant Garamond", serif;--text-xs: .8125rem;--text-sm: .9375rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: clamp(1.375rem, 1.15rem + 1vw, 1.75rem);--text-2xl: clamp(2rem, 1.5rem + 2vw, 2.75rem);--text-display: clamp(2.75rem, 1.9rem + 3.6vw, 4.5rem);--leading-tight: 1.2;--leading-normal: 1.7;--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: clamp(2.5rem, 2rem + 2vw, 3.5rem);--space-xl: clamp(4rem, 3rem + 4vw, 6rem);--space-2xl: clamp(5rem, 3.5rem + 6vw, 8rem);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-base: .25s;--duration-slow: .85s;--z-decorative: 1;--z-sticky: 10;--z-lightbox: 9998;--z-intro: 9999;--z-music-prompt: 10000}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background-color:var(--color-surface);color:var(--color-text);font-family:var(--font-cjk);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;line-height:var(--leading-tight);font-weight:500;letter-spacing:.02em}p{margin:0}a{color:inherit}.site-container{max-width:65rem;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2rem)}:focus{outline:none}:focus-visible{outline:none;outline-offset:3px;border-radius:2px}.reveal{opacity:0;transform:translateY(2.25rem);transition:opacity var(--duration-slow) var(--ease-out-quart),transform var(--duration-slow) var(--ease-out-quart)}.reveal.is-revealed{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
