:root{--paper:#f5f2eb;--green:#153e35;--ink:#263b34;--muted:#65736b;--gold:#b6a07b;--line:#d9ded5;--white:#ffffff;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;--number:Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.95;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,p,figure{margin:0}h1,h2{text-wrap:balance}p,dd,li{text-wrap:pretty}img{display:block;max-width:100%;height:auto}h2{font-family:var(--serif);font-size:clamp(25px,3vw,36px);font-weight:500;line-height:1.7;letter-spacing:.08em}strong{font-weight:600}.wrap{width:min(1160px,calc(100% - 120px));margin-inline:auto}.section-space{padding-block:105px}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:600;line-height:1.8}.small-note{font-size:12px;line-height:1.9;color:var(--muted)}.skip-link{position:absolute;left:16px;top:-100px;z-index:20;background:var(--paper);padding:10px 20px}.skip-link:focus{top:10px}.button{min-height:58px;padding:15px 28px;border:1px solid transparent;border-radius:2px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-weight:600;font-size:14px;letter-spacing:.05em;transition:background .2s,color .2s}.button span{font-size:20px;font-weight:400;line-height:1}.button-cream{background:var(--paper);color:var(--green)}.button-cream:hover{background:var(--white)}.button-green{background:var(--green);color:var(--paper)}.button-green:hover{background:var(--ink)}.text-link{display:inline-block;font-size:13px;border-bottom:1px solid var(--gold);padding-block:6px}.text-link span{margin-left:18px}
.site-header{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:30px 48px;color:var(--white);gap:20px}.brand{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-size:19px;letter-spacing:.07em;line-height:1.6}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.23em}.brand-mark{border:1px solid #ffffff80;display:grid;place-items:center;width:42px;height:46px;font-size:24px}.site-header nav{display:flex;align-items:center;gap:28px;font-size:12px}.site-header nav>a{padding-block:12px}.site-header .nav-rsvp{border:1px solid #ffffff80;padding:10px 20px}.nav-rsvp span{margin-left:18px}.hero{min-height:810px;height:100svh;max-height:1100px;position:relative;color:var(--white);background:var(--green);isolation:isolate;display:flex;align-items:center}.slides,.slide,.hero-shade{position:absolute;inset:0}.slides{z-index:-3}.slide{opacity:0;transition:opacity 1.2s cubic-bezier(.4,0,.2,1)}.slide.is-active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover;object-position:50% 53%}.slide:nth-child(2) img{object-position:center}.hero-shade{z-index:-2;background:linear-gradient(90deg,#153e35d9 0%,#153e3573 52%,#00000026 100%),linear-gradient(0deg,#00000073,transparent 38%)}.hero-content{padding-top:90px;padding-bottom:100px}.hero .eyebrow{font-size:10px;letter-spacing:.2em}.hero .eyebrow span{display:inline-block;margin-left:26px}.hero h1{font-family:var(--serif);font-size:clamp(38px,5.2vw,72px);font-weight:500;line-height:1.65;letter-spacing:.11em;margin:25px 0 18px}.hero h1>span{display:block}.hero-lead{font-size:15px;letter-spacing:.12em;margin-bottom:29px}.hero-date{display:flex;align-items:center;gap:24px}.hero-date time{font-family:var(--number);font-size:clamp(36px,4.2vw,52px);line-height:1.2;letter-spacing:.025em}.hero-date time span{color:var(--gold)}.hero-date .day{font-size:10px;letter-spacing:.14em;line-height:1.8;border-left:1px solid #ffffff80;padding-left:20px}.hero-venue{font-size:13px;margin:10px 0 26px;letter-spacing:.06em}.hero-deadline{font-size:11px;letter-spacing:.03em;margin-top:11px}.hero .button{min-width:270px}.hero-bottom{position:absolute;bottom:30px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.hero-bottom>p{font-size:10px;letter-spacing:.12em}.slide-controls{display:flex;align-items:center;gap:14px}.slide-controls button{color:var(--white);border:0;background:transparent;padding:0;min-width:32px;min-height:44px}.slide-controls .slide-dot{font-family:var(--number);font-size:13px;opacity:.65}.slide-controls .slide-dot.is-active{opacity:1;border-bottom:1px solid var(--gold)}.control-line{width:45px;height:1px;background:#ffffff80}.slide-controls .slide-arrow{border:1px solid #ffffff80;border-radius:50%;font-size:14px;width:36px;min-height:36px}.slide-controls .slide-arrow:hover{background:#ffffff26}
.greeting{display:grid;grid-template-columns:1fr 2fr;gap:80px}.label-rule{display:block;width:38px;height:1px;background:var(--gold);margin:19px 0 24px}.section-label .eyebrow{color:var(--muted)}.section-index{margin-top:15px;font-family:var(--serif);font-size:17px;letter-spacing:.1em}.greeting-copy h2{margin-bottom:32px}.greeting-copy>p{margin-top:23px;line-height:2.25}.letter-note{border-left:2px solid var(--gold);padding:5px 0 5px 24px;margin-top:32px;font-size:14px}.greeting-copy .signature{text-align:right;font-size:13px;margin-top:25px;letter-spacing:.08em}
.information{background:var(--green);color:var(--paper);padding-block:80px}.info-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:75px}.event-heading .eyebrow{color:var(--gold)}.event-heading h2{font-size:27px;margin-top:12px}.display-date{font-family:var(--number);font-size:105px;line-height:1.3;margin-top:20px;letter-spacing:-.035em}.display-date span{font-size:52px;color:var(--gold);vertical-align:10px;padding-inline:6px}.event-year{font-family:var(--serif);font-size:21px}.event-place{font-size:13px;letter-spacing:.06em;margin-top:14px}.schedule{display:grid;grid-template-columns:repeat(3,1fr);padding:12px 0 25px;border-bottom:1px solid #ffffff26}.schedule>div{display:flex;flex-direction:column;gap:5px}.schedule span{font-size:12px;color:var(--gold)}.schedule strong{font-family:var(--number);font-size:31px;font-weight:400;line-height:1.3}.details-list{margin:0}.details-list>div{display:grid;grid-template-columns:50px 1fr;gap:20px;border-bottom:1px solid #ffffff26;padding-block:22px}.details-list dt{font-size:12px;color:var(--gold);padding-top:3px}.details-list dd{margin:0;font-size:16px}.details-list dd>small{display:block;font-size:12px;margin:5px 0 9px}.details-list dd>a{display:inline-block;font-size:11px;border-bottom:1px solid #ffffff80;margin:0 22px 0 0}.details-list dd>a span{margin-left:7px}.fees{display:flex;gap:35px}.fees>span{display:flex;flex-direction:column;font-size:11px}.fees strong{font-family:var(--number);font-size:32px;font-weight:400;line-height:1.5}.fees strong small{font-family:var(--sans);font-size:13px;padding-left:5px}.event-details>.small-note{color:var(--paper);font-size:11px;margin-top:19px}.venue-photo{position:relative;height:420px;overflow:hidden;background:var(--green)}.venue-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.venue-photo-caption{position:absolute;bottom:32px;left:60px;color:var(--white);background:#153e35d9;padding:16px 26px}.venue-photo-caption>span{font-size:9px;letter-spacing:.18em}.venue-photo-caption>p{font-family:var(--serif);font-size:20px;margin-top:3px}
.access-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:75px}.access-grid .eyebrow{color:var(--muted);margin-bottom:14px}.access-grid h2{margin-bottom:24px}.access-grid p{font-size:14px}.bus-times{display:flex;align-items:center;gap:34px;padding:0 0 22px;border-bottom:1px solid var(--line)}.bus-times>div{display:flex;flex-direction:column}.bus-times span{font-size:12px;color:var(--muted)}.bus-times strong{font-family:var(--number);font-size:48px;font-weight:400;line-height:1.6;color:var(--green)}.bus-times>.bus-arrow{font-size:24px;color:var(--gold);margin-top:20px}.access-grid .bus-place{font-size:17px;margin-block:23px 8px}.return-note{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.return-note>span{font-size:12px;letter-spacing:.07em;display:block;margin-bottom:10px;color:var(--muted)}
.afterparty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:80px}.after-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px}.after-title .eyebrow{color:var(--muted)}.after-script{font-family:var(--number);font-size:clamp(38px,5vw,64px);font-style:italic;line-height:1.4;color:var(--green);margin:34px 0 26px;letter-spacing:-.035em}.after-title h2{font-size:25px}.venue-name{font-family:var(--serif);font-size:27px;line-height:1.7}.venue-name small{display:block;font-family:var(--number);font-size:15px;letter-spacing:.08em;margin-bottom:18px}.after-details>p{margin-top:15px;font-size:14px}.after-details>.venue-name{font-size:27px;margin-top:0}.after-fee{display:flex;align-items:center;gap:22px;border-block:1px solid var(--line);padding-block:18px;margin-top:24px}.after-fee>span{font-size:12px}.after-fee>strong{font-family:var(--number);font-size:26px;font-weight:400}.after-fee small{font-size:11px;font-family:var(--sans)}.after-fee>small{color:var(--muted)}.after-details>.small-note{font-size:12px;margin-top:20px}
.rsvp{text-align:center}.rsvp h2{font-size:clamp(26px,3.2vw,40px);margin:18px 0 20px}.rsvp-heading>.eyebrow{color:var(--muted)}.rsvp-heading>p{font-size:14px}.deadline{display:flex;align-items:center;justify-content:center;gap:20px;margin:28px 0}.deadline>span{font-size:12px}.deadline>strong{font-family:var(--number);font-weight:400;font-size:36px;line-height:1.4}.rsvp-actions{display:flex;flex-direction:column;align-items:center;gap:16px}.rsvp-actions .button{min-width:340px}.rsvp-actions>.small-note{margin-top:0}#form-panel{margin-top:40px;text-align:left}#form-panel[hidden]{display:none}.form-help{font-size:12px;text-align:center;margin-bottom:15px}#rsvp-frame{width:100%;height:2800px;border:1px solid var(--line);background:var(--white);display:block}.line-section{padding-block:65px;background:#d9ded580}.line-grid{display:grid;grid-template-columns:1fr 220px;gap:100px;align-items:center}.line-grid h2{font-size:28px;margin:12px 0 22px}.line-grid .button{margin-top:26px}.line-grid .small-note{margin-top:20px}.line-qr{padding:19px;background:var(--white);text-align:center}.line-qr img{width:180px;height:180px}.line-qr figcaption{font-size:10px;line-height:1.8;margin-top:12px}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:45px;font-size:12px}.site-footer>div>p{font-family:var(--serif);font-size:16px}.site-footer>div>span{font-size:8px;letter-spacing:.2em}.site-footer>a{min-width:44px;min-height:44px;border:1px solid var(--line);display:grid;place-items:center;font-size:20px}.site-footer>p{color:var(--muted)}
@media(min-width:1450px){.hero-content{padding-top:110px}.hero h1{font-size:76px}}
@media(max-width:900px){.wrap{width:calc(100% - 64px)}.site-header{padding:24px 32px}.site-header nav{gap:18px}.site-header nav>a:not(.nav-rsvp){display:none}.greeting{gap:40px;grid-template-columns:1fr 2.5fr}.info-grid,.access-grid{gap:40px}.after-grid{gap:40px}.display-date{font-size:86px}.line-grid{gap:40px}.hero h1{font-size:54px}.after-fee{flex-wrap:wrap;gap:10px 20px}}
@media(max-width:600px){body{font-size:14px}.wrap{width:calc(100% - 48px)}.site-header{padding:20px 24px;gap:10px}.brand{font-size:15px;gap:9px}.brand small{font-size:7px;letter-spacing:.15em}.brand-mark{width:32px;height:37px;font-size:21px}.site-header .nav-rsvp{font-size:10px;padding:8px 11px;white-space:nowrap}.nav-rsvp span{margin-left:5px}.hero{min-height:740px;height:100svh;max-height:900px}.hero-content{padding-top:80px;padding-bottom:86px}.hero .eyebrow{font-size:8px;letter-spacing:.13em}.hero .eyebrow span{display:block;margin:3px 0 0}.hero h1{font-size:clamp(29px,8.4vw,43px);line-height:1.85;letter-spacing:.055em;margin:22px 0 16px}.hero-lead{font-size:12px;letter-spacing:.05em;margin-bottom:27px}.hero-date{gap:14px}.hero-date time{font-size:37px}.hero-date .day{padding-left:12px;font-size:8px;letter-spacing:.05em}.hero-venue{font-size:11px;line-height:1.9;margin-top:13px;margin-bottom:23px}.hero-venue>span{display:block}.hero .button{min-width:250px;font-size:13px}.hero-deadline{font-size:10px}.hero-bottom{bottom:22px;align-items:flex-start;flex-direction:column;gap:9px}.hero-bottom>p{font-size:9px}.slide-controls{gap:10px}.slide-controls .slide-arrow{width:32px;min-height:32px}.slide-controls .slide-dot{min-height:32px}.control-line{width:35px}.hero .slide img{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#153e35d9,#153e3573),linear-gradient(0deg,#00000073,transparent 50%)}.section-space{padding-block:65px}.greeting,.info-grid,.access-grid,.after-grid,.line-grid{grid-template-columns:1fr;gap:32px}.greeting .section-label{display:flex;align-items:center;gap:14px}.label-rule{width:25px;margin:0}.section-index{display:none}.greeting-copy h2{font-size:25px;margin-bottom:25px;letter-spacing:.04em}.greeting-copy>p{font-size:13px;line-height:2.2;margin-top:20px}.letter-note{font-size:12px;padding-left:18px;margin-top:26px}.greeting-copy .signature{font-size:11px}.information{padding-block:56px}.event-heading h2{font-size:25px}.display-date{font-size:84px;margin-top:15px}.event-year{font-size:19px}.event-place{margin-top:8px}.info-grid{gap:34px}.schedule strong{font-size:29px}.details-list>div{grid-template-columns:36px 1fr;gap:16px}.details-list dd{font-size:14px}.details-list dd>a{margin-right:16px;font-size:10px}.fees{gap:30px}.fees strong{font-size:30px}.venue-photo{height:265px}.venue-photo-caption{left:24px;bottom:24px;padding:10px 18px}.venue-photo-caption p{font-size:16px}.venue-photo-caption span{font-size:7px}.access-grid h2{font-size:26px;margin-bottom:16px}.access-grid p{font-size:13px}.bus-times{gap:28px}.bus-times strong{font-size:44px}.bus-times .bus-arrow{font-size:20px}.access-grid .bus-place{font-size:16px}.afterparty{padding-block:56px}.after-script{font-size:47px;margin:20px 0}.after-title h2{font-size:23px;letter-spacing:.03em}.after-grid{gap:34px}.after-details>.venue-name{font-size:25px}.after-details>p{font-size:13px}.after-fee{gap:12px}.after-fee>span{font-size:11px}.after-fee>small{font-size:10px}.rsvp h2{font-size:25px;letter-spacing:.025em;margin-block:15px 20px}.rsvp-heading>p{font-size:12px}.deadline{gap:12px;flex-wrap:wrap;margin-block:25px}.deadline>span{font-size:10px}.deadline>strong{font-size:30px}.rsvp-actions .button{min-width:0;width:100%;padding-inline:20px;font-size:12px;gap:10px}.text-link{font-size:12px}#rsvp-frame{height:3300px}.line-section{padding-block:55px}.line-grid{gap:30px}.line-grid h2{font-size:24px;letter-spacing:.03em}.line-grid>div>p{font-size:13px}.line-grid .button{font-size:12px;padding-inline:18px;gap:14px;width:100%}.line-grid .small-note{font-size:10px}.line-qr{justify-self:center;width:190px;padding:16px}.line-qr img{width:158px;height:158px}.line-qr figcaption{font-size:9px}.site-footer{flex-wrap:wrap;gap:15px;padding-block:30px}.site-footer>p{font-size:10px;order:3;flex-basis:100%}.site-footer>div>p{font-size:15px}.site-footer>div>span{font-size:7px}.site-footer>a{margin-left:auto}}
.phrase{display:inline-block}
.slide{transition:opacity 2.4s cubic-bezier(.4,0,.2,1);z-index:0}.slide.is-previous{opacity:1;z-index:1}.slide.is-active{z-index:2}
.text-link,.details-list dd>a{min-height:44px;display:inline-flex;align-items:center}.details-list dd>a{margin-top:6px}
.venue-photo-caption small{display:block;font-size:10px;line-height:1.7;margin-top:5px;max-width:420px}.after-photo{margin-top:34px}.after-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.after-photo figcaption{font-size:10px;color:var(--muted);margin-top:8px;letter-spacing:.04em}
@media(max-width:600px){.venue-photo-caption{right:24px}.venue-photo-caption small{font-size:9px}.after-photo{margin-top:25px}.after-photo img{aspect-ratio:4/3}.line-grid h2 .phrase{white-space:nowrap}}
@media(max-width:600px){.slide-controls .slide-arrow{width:40px;min-height:44px}.slide-controls .slide-dot{min-width:28px;min-height:44px}.slide-controls{gap:7px}.control-line{width:24px}.greeting-copy>p,.access-grid p,.after-details>p{font-size:14px}.letter-note{font-size:14px}.event-details>.small-note{font-size:12px}.rsvp-heading>p{font-size:14px}.line-grid>div>p{font-size:14px}.site-header .nav-rsvp{min-height:44px;display:flex;align-items:center}.hero h1{font-size:clamp(26px,8.2vw,43px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(prefers-reduced-motion:reduce){[data-carousel].allow-fade .slide{transition:opacity 2.4s cubic-bezier(.4,0,.2,1)!important}}
.mer-carousel{margin-top:34px}.mer-photos{aspect-ratio:4/3;position:relative;background:var(--green);overflow:hidden;isolation:isolate}.mer-photos .slide img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.mer-photos .slide{margin:0}.mer-carousel .slide-controls{gap:6px;justify-content:space-between;margin-top:10px}.mer-carousel .slide-controls button{color:var(--green);min-width:30px;min-height:44px}.mer-carousel .slide-controls .slide-arrow{border-color:var(--muted);width:38px;min-height:44px}.mer-carousel .slide-controls .slide-dot{opacity:.75}.mer-carousel .slide-controls .is-active{opacity:1}.mer-caption{font-size:10px;color:var(--muted);margin-top:9px;line-height:1.8;letter-spacing:.025em}
