:root{--paper:#f6f2eb;--soft-paper:#ece5da;--ink:#302821;--muted:#796653;--accent:#c7ad87;--line:#ddd4c7;--serif:"Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "STSong", "SimSun", serif;--body:-apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;background:#eae5dd;margin:0}body.viewing-photo{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button:disabled{opacity:.5}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}img{width:100%;height:auto;display:block}picture{display:block}svg{flex-shrink:0;width:22px;height:22px}.invitation{background:var(--paper);max-width:1440px;margin:0 auto;overflow:clip}.eyebrow{font-family:var(--body);letter-spacing:.21em;font-size:10px;font-weight:400;line-height:1.6;display:block}.section-space{padding:100px 26px}.skip-link{z-index:100;background:var(--paper);color:var(--ink);padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.hero{height:100svh;min-height:720px;max-height:1100px;color:var(--paper);background:var(--ink);isolation:isolate;position:relative}.hero-visual,.hero-shade{z-index:-1;position:absolute;inset:0}.hero-visual picture,.hero-visual img{height:100%}.hero-visual img{object-fit:cover;object-position:50% 52%}.hero-shade{background:linear-gradient(#14110d61,#14110d42 24%,#0000 45%,#14110d14 58%,#14110da3)}.masthead{padding:calc(27px + env(safe-area-inset-top)) 25px 0;letter-spacing:.17em;justify-content:space-between;font-size:9px;display:flex}.masthead i{margin:0 4px;font-family:Georgia,serif;font-size:13px}.hero-intro{text-align:center;width:100%;animation:1.1s both arrive;position:absolute;top:15%;left:0}.hero-eyebrow{font-family:var(--serif);letter-spacing:.45em;margin-left:.45em;font-size:12px}.hero h1{letter-spacing:.08em;text-shadow:0 2px 22px #00000026;justify-content:center;align-items:center;gap:14px;margin:13px 0 7px;font-size:clamp(34px,9.7vw,59px);line-height:1.7;display:flex}.hero h1 i{font-family:Georgia,serif;font-size:.65em;font-weight:400}.hero-subtitle{font-family:var(--serif);letter-spacing:.2em;font-size:11px}.hero-bottom{position:absolute;bottom:29px;left:26px;right:26px}.hero-date{align-items:center;gap:18px;display:flex}.hero-date>span{letter-spacing:-.04em;font-family:Georgia,serif;font-size:62px;font-weight:400;line-height:1}.hero-date i{padding:0 3px;font-style:normal}.hero-date>div{letter-spacing:.16em;border-left:1px solid #f6f2eb73;padding-left:16px;font-size:9px;line-height:1.9}.hero-bottom>p{letter-spacing:.09em;margin:16px 0 29px;font-size:11px}.hero-bottom>p span{padding:0 8px}.scroll-note{letter-spacing:.2em;border-top:1px solid #f6f2eb59;justify-content:space-between;align-items:center;min-height:44px;padding-top:18px;font-size:10px;display:flex}.scroll-note>span:last-child{font-size:19px}.hero-side-note{writing-mode:vertical-rl;letter-spacing:.21em;opacity:.8;font-size:8px;position:absolute;top:47%;right:21px}.welcome .eyebrow{color:var(--muted);margin-bottom:25px}h2{letter-spacing:.08em;font-size:clamp(34px,8.4vw,47px);line-height:1.6}.indent{padding-left:1em;display:inline-block}.invitation-letter{margin:45px 0 60px;padding-left:38px}.letter-rule{background:var(--accent);width:24px;height:1px;margin-bottom:24px;display:block}.invitation-letter>p:first-of-type{font-family:var(--serif);letter-spacing:.035em;font-size:14px;line-height:2.5}.signature{font-family:var(--serif);letter-spacing:.16em;align-items:center;gap:12px;margin-top:27px;font-size:14px;display:flex}.signature i{color:var(--muted);font:italic 18px Georgia,serif}.photo-button{width:100%;color:var(--paper);text-align:left;background:#d9cbbb;border:0;padding:0;display:block;position:relative}.expand-photo{background:#1e181240;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;bottom:10px;right:10px}.expand-photo svg{width:17px;height:17px}figcaption{color:var(--muted);letter-spacing:.05em;font-size:10px;line-height:1.8}.intimate-photo{margin:0 -26px}.intimate-photo figcaption{justify-content:space-between;gap:15px;padding:13px 22px 0;display:flex}.intimate-photo figcaption span:last-child{letter-spacing:.12em;font-size:7px}.portrait-section{padding:0 26px 80px;position:relative}.portrait-note{margin:0 0 30px 8px}.portrait-note .eyebrow{color:var(--muted);margin-bottom:13px;font-size:9px}.portrait-note p{font-family:var(--serif);letter-spacing:.16em;font-size:21px;line-height:1.8}.portrait-photo{margin-left:28px}.portrait-photo figcaption{text-align:right;padding-top:14px}.portrait-side{writing-mode:vertical-rl;letter-spacing:.18em;color:var(--muted);font-size:8px;position:absolute;top:49%;left:20px}.moments{background:var(--soft-paper);padding-top:85px;padding-bottom:62px}.moments-heading .eyebrow{color:var(--muted);margin-bottom:23px;font-size:9px}.moments-heading h2{letter-spacing:.05em;font-size:clamp(29px,7.3vw,46px);line-height:1.8}.moments-heading>p{font-family:var(--serif);color:var(--muted);margin-top:20px;font-size:12px;line-height:2}.moments-layout{margin-top:45px}.moment-one{width:87%;margin-left:-5px}.moment-two{width:78%;margin:38px -3px 0 auto}.moments-layout figcaption{padding-top:12px}.moment-two figcaption{text-align:right}.moments-footer{color:var(--muted);align-items:center;gap:12px;margin-top:46px;display:flex}.moments-footer>span:first-child{letter-spacing:.18em;white-space:nowrap;font-size:8px}.fine-line{background:var(--line);flex:1;height:1px}.moments-footer i{font:italic 15px Georgia,serif}.toast-section{padding-top:87px}.toast-heading{margin-bottom:35px;padding:0 26px}.toast-heading .eyebrow{color:var(--muted);margin-bottom:20px}.toast-heading h2{font-size:33px}.celebration{text-align:center;padding-top:85px;padding-bottom:90px}.arch-mark{width:36px;height:45px;color:var(--muted);margin:0 auto 25px;display:block}.celebration-heading .eyebrow{letter-spacing:.17em;color:var(--muted);font-size:8px}.celebration-heading h2{letter-spacing:.07em;white-space:nowrap;margin-top:19px;font-size:clamp(22px,6vw,34px)}.celebration-heading>p{font-family:var(--serif);color:var(--muted);margin-top:15px;font-size:12px;line-height:2}.event-details{border-top:1px solid var(--line);max-width:550px;margin:42px auto 0}.event-date{letter-spacing:-.045em;justify-content:center;align-items:center;gap:23px;margin-top:35px;font-family:Georgia,serif;font-size:78px;font-weight:400;line-height:1.2;display:flex}.event-date i{color:var(--muted);font-size:35px;font-style:normal}.event-year{letter-spacing:.08em;margin-top:8px;font-size:11px;line-height:2;display:block}.event-year span{padding:0 6px}.event-time{justify-content:center;align-items:center;gap:16px;margin-top:23px;display:flex}.event-time span{letter-spacing:.05em;color:var(--muted);font-size:10px}.event-time strong{font-family:Georgia,serif;font-size:25px;font-weight:400}.reception-time{color:var(--muted);margin-top:12px;font-size:11px}.venue-details{border-top:1px solid var(--line);margin-top:35px;padding:30px 0 25px}.venue-details .eyebrow{color:var(--muted);font-size:8px}.venue-details h3{letter-spacing:.08em;margin-top:13px;font-size:22px;line-height:1.6}.venue-details p{margin-top:11px;font-size:13px;line-height:1.9}.street-address{-webkit-user-select:text;user-select:text}.copy-address{border:0;border-bottom:1px solid var(--line);color:var(--muted);background:0 0;margin-top:8px;padding:10px;font-size:11px}.navigation-button{border:1px solid var(--ink);background:var(--ink);width:100%;min-height:54px;color:var(--paper);letter-spacing:.12em;justify-content:center;align-items:center;gap:13px;font-size:13px;display:flex}.navigation-button>svg:last-child{margin-left:auto}.navigation-button>svg:first-child{margin-right:auto}.navigation-button{padding:0 19px}.parking-link{letter-spacing:.03em;text-underline-offset:5px;min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);padding:15px 0 5px;font-size:11px;line-height:1.8;display:inline-block}.parking-link.unavailable{color:var(--muted);text-decoration-style:dotted}.parking-link>span{padding-left:4px}.travel-note{color:var(--muted);margin-top:8px;font-size:10px;line-height:1.8}.ending{color:var(--paper);background:var(--ink);isolation:isolate;position:relative}.ending-visual img{width:100%;height:auto}.ending-shade{background:linear-gradient(#12100c61,#0000 42%,#12100c52);position:absolute;inset:0}.ending-message{text-align:center;width:100%;position:absolute;top:12%;left:0}.ending-message .eyebrow{letter-spacing:.23em;font-size:8px}.ending-message h2{letter-spacing:.16em;margin-top:16px;font-size:clamp(27px,7.4vw,48px)}.ending-signature{text-align:center;width:100%;font-family:var(--serif);letter-spacing:.18em;font-size:12px;position:absolute;bottom:54px;left:0}.ending-signature i{margin:0 8px;font-family:Georgia,serif}.ending-date{text-align:center;letter-spacing:.2em;width:100%;font-size:8px;position:absolute;bottom:23px;left:0}.ending-date span{margin:0 10px}.will-reveal{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(15px)}.will-reveal.is-visible{opacity:1;transform:none}.lightbox{width:100%;max-width:none;height:100%;max-height:none;color:var(--paper);background:#161411;border:0;margin:0;padding:0;position:fixed;inset:0}.lightbox[open]{grid-template-rows:calc(68px + env(safe-area-inset-top)) minmax(0, 1fr) calc(70px + env(safe-area-inset-bottom));display:grid}.lightbox::backdrop{background:#161411}.lightbox-top,.lightbox-bottom{justify-content:space-between;align-items:center;padding:0 20px;display:flex}.lightbox-top{padding-top:env(safe-area-inset-top)}.lightbox-bottom{padding-bottom:env(safe-area-inset-bottom)}.lightbox-counter{letter-spacing:.12em;font:14px Georgia,serif}.lightbox button{color:inherit;background:0 0;border:0;min-width:48px;min-height:44px;font-size:22px}.lightbox-close{align-items:center;gap:14px;display:flex;font-size:12px!important}.lightbox-close>span{font:30px Georgia,serif}.lightbox-image{object-fit:contain;width:100%;height:100%;min-height:0}.lightbox-bottom>span{letter-spacing:.2em;font-size:9px}.status-message{background:var(--ink);color:var(--paper);opacity:0;pointer-events:none;z-index:5;white-space:nowrap;border-radius:2px;padding:12px 20px;font-size:13px;transition:opacity .2s,transform .2s;position:fixed;bottom:30px;left:50%;transform:translate(-50%,10px)}.status-message.show{opacity:1;transform:translate(-50%)}.no-script{text-align:center;padding:50px;line-height:2.2}.site-registration{max-width:1440px;padding:20px 24px calc(20px + env(safe-area-inset-bottom));background:var(--paper);color:var(--muted);text-align:center;margin:0 auto;font-size:11px;line-height:1.8}.site-registration a{align-items:center;min-height:44px;display:inline-flex}.site-registration a:hover{text-underline-offset:3px;text-decoration:underline}.parking-page .site-registration{max-width:920px}@keyframes arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (width>=600px) and (width<=899px){.invitation{max-width:620px}.hero-intro{top:12%}.section-space{padding-left:55px;padding-right:55px}.intimate-photo{margin-left:-55px;margin-right:-55px}}@media (width>=900px){.hero{min-height:780px;max-height:1000px}.hero-visual{left:36%}.hero-visual img{object-position:50% 48%}.hero-shade{background:linear-gradient(90deg,#302821 0% 25%,#302821d4 35%,#30282126 58%,#0000 78%)}.masthead{padding:36px 48px}.masthead>span{font-size:10px}.hero-intro{width:45%;top:29%;left:1%}.hero h1{gap:14px;margin-top:25px;font-size:clamp(44px,4.9vw,65px)}.hero-eyebrow{font-size:14px}.hero-subtitle{margin-top:13px;font-size:12px}.hero-bottom{width:27%;bottom:48px;left:7%;right:auto}.hero-date>span{font-size:76px}.hero-side-note{right:30px}.section-space{padding:135px 8%}.welcome{grid-template-columns:1fr 1fr;gap:70px 50px;display:grid}h2{font-size:51px}.welcome .section-heading{padding-left:10%}.invitation-letter{margin:45px 0 0;padding-left:0}.invitation-letter>p:first-of-type{font-size:16px;line-height:2.5}.intimate-photo{grid-column:1/-1;width:88%;margin:10px auto 0}.intimate-photo figcaption{padding-left:0;padding-right:0;font-size:12px}.intimate-photo figcaption span:last-child{font-size:9px}.portrait-section{grid-template-columns:30% 70%;align-items:center;max-width:1080px;margin:0 auto;padding:0 80px 130px;display:grid}.portrait-note{margin:0}.portrait-note p{font-size:29px;line-height:2}.portrait-photo{margin:0}.portrait-photo figcaption{font-size:12px}.portrait-side{top:auto;bottom:180px;left:95px}.moments{padding-bottom:80px}.moments-heading{margin-left:7%}.moments-heading h2{font-size:44px}.moments-heading>p{font-size:14px}.moments-layout{grid-template-columns:1fr 1fr;align-items:start;gap:11%;margin-top:60px;padding:0 5%;display:grid}.moment-one{width:100%;margin:0}.moment-two{width:100%;margin:180px 0 0}.moments-layout figcaption{font-size:12px}.moments-footer{margin:60px 5% 0}.moments-footer>span:first-child{font-size:10px}.moments-footer i{font-size:20px}.toast-section{padding:120px 8% 0}.toast-heading{justify-content:space-between;align-items:center;margin-bottom:45px;padding:0;display:flex}.toast-heading .eyebrow{margin:0}.toast-heading h2{font-size:43px}.celebration{padding-top:120px;padding-bottom:120px}.celebration-heading h2{font-size:35px}.celebration-heading>p{font-size:14px}.celebration-heading .eyebrow{font-size:10px}.event-details{margin-top:45px}.event-date{font-size:100px}.event-year{font-size:13px}.venue-details h3{font-size:27px}.parking-link{font-size:12px}.ending{width:70%;max-width:800px;margin:0 auto}.ending-message h2{font-size:45px}.ending-message .eyebrow{font-size:10px}.ending-signature{font-size:15px;bottom:75px}.ending-date{font-size:10px;bottom:35px}}@media (width<=359px){.hero{min-height:650px}.hero h1{gap:10px;font-size:32px}.masthead{padding-left:20px;padding-right:20px;font-size:8px}.section-space{padding-left:21px;padding-right:21px}.invitation-letter{padding-left:14px}.intimate-photo{margin-left:-21px;margin-right:-21px}.hero-bottom{left:21px;right:21px}.celebration-heading h2{font-size:21px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.will-reveal{opacity:1;transform:none}}
