.site-header{position:sticky;top:0;z-index:8}.site-header nav{gap:25px}.menu-toggle{display:none}.story{background:#f1eee5;padding-top:95px;padding-bottom:95px}.story-intro{display:grid;grid-template-columns:1fr 1fr;gap:25px 8vw;align-items:end}.story-intro>.eyebrow{grid-column:1/-1}.story h2{font-size:clamp(46px,4.7vw,74px)}.story-intro>p:last-child{font-size:12px;max-width:390px;line-height:1.9;padding-bottom:5px}.story-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:8vw;margin-top:55px;align-items:center}.story-image{position:relative;aspect-ratio:1.22;overflow:hidden}.story-image img{height:100%;transition:opacity .25s,transform 1s}.story-image:hover img{transform:scale(1.025)}.story-image>span{position:absolute;bottom:20px;left:22px;background:#f8f5edeb;padding:8px 12px;font-size:8px;letter-spacing:.12em}.story-chapters button{display:block;width:100%;text-align:left;padding:20px 0;border-bottom:1px solid var(--line);opacity:.6;transition:opacity .3s,padding .3s}.story-chapters button:first-child{border-top:1px solid var(--line)}.story-chapters button[aria-selected=true]{opacity:1;padding-left:18px;border-left:2px solid #6b91a6}.story-chapters button>span{display:block;font-size:8px;letter-spacing:.13em;margin-bottom:7px}.story-chapters button strong{font:400 clamp(25px,2.3vw,35px) var(--serif);letter-spacing:-.03em}.story-panel{min-height:150px;padding-top:25px}.story-panel p{font-size:12px;line-height:1.9;max-width:380px}.weekend{padding-top:100px}.weekend-kit{display:grid;grid-template-columns:1fr 1fr;gap:12vw;padding-block:70px;border-bottom:1px solid var(--line)}.weekend-kit h2{font-size:clamp(40px,4.5vw,64px);margin:25px 0}.weekend-kit p:not(.eyebrow){font-size:12px;max-width:350px}.weekend-kit .text-button{margin-top:20px}.packing-list{border:0;padding:15px 0 0;margin:0}.packing-list legend{font-size:10px;letter-spacing:.12em}.packing-list label{display:flex;align-items:center;gap:12px;font-size:12px;padding:15px 0;border-bottom:1px solid var(--line);cursor:pointer}.packing-list input{accent-color:var(--ink);width:15px;height:15px}.packing-list i{font-style:normal;margin-left:auto;opacity:0;transition:opacity .3s}.packing-list label:has(input:checked) i{opacity:1}.packing-list input:checked+span{text-decoration:line-through;text-decoration-color:#6e94a7}.gallery{padding-bottom:80px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.gallery-photo{padding:0;position:relative;overflow:hidden;text-align:left;aspect-ratio:1.16;background:#d5e1e5}.gallery-wide{grid-column:1/-1;aspect-ratio:2.05}.gallery-photo img{height:100%;transition:transform 1.2s}.gallery-photo:hover img{transform:scale(1.04)}.gallery-photo>span{position:absolute;bottom:20px;left:22px;right:22px;font-size:8px;letter-spacing:.13em;color:white;display:flex;align-items:center;justify-content:space-between;text-shadow:0 1px 12px #123348}.gallery-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#122a3e55);pointer-events:none}.gallery-photo>span{z-index:1}.gallery-photo i{font-style:normal;font-size:20px}.gallery-help{font-size:10px;text-align:right;margin-top:20px;opacity:.7}.party{background:#e6edf0}.party-heading{display:grid;grid-template-columns:1fr 1fr;gap:25px 10vw;align-items:end;margin-bottom:50px}.party-heading>.eyebrow{grid-column:1/-1}.party-heading h2{font-size:clamp(48px,5vw,76px)}.party-heading>p:last-child{font-size:12px;max-width:350px}.party-photo{margin:0;position:relative;overflow:hidden}.party-photo img{height:auto;aspect-ratio:1.9;object-position:center}.party-photo figcaption{font-size:8px;letter-spacing:.13em;position:absolute;bottom:20px;left:22px;color:white;text-shadow:0 1px 12px #123348}.party-names{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:40px}.party-names article>span{font-size:8px;letter-spacing:.1em}.party-names h3{font-size:39px;margin:12px 0 15px}.party-names p{font-size:11px;line-height:1.9;max-width:220px}.gift-note{text-align:center;background:#f1eee5}.gift-note h2{font-size:clamp(48px,5.5vw,80px);margin:30px 0}.gift-note>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:440px;margin:auto}.gift-note .text-button{margin-top:25px}#wish-preview{max-width:500px;margin:45px auto 0;padding:28px;background:#e6edf0;transform:rotate(-1deg);box-shadow:0 10px 20px #284d650c}#wish-preview>span{font-size:7px;letter-spacing:.2em}#wish-preview p{font:italic 28px/1.4 var(--serif);margin-top:15px}.questions{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw}.questions h2{font-size:clamp(46px,4.5vw,70px);margin:25px 0}.questions>div>p:last-child{font-size:12px;max-width:310px}.questions summary{font-size:23px;letter-spacing:-.02em}.questions .travel-list details{padding:20px 0}.questions details p{margin-left:0}.reply-deadline{display:inline-block;margin-top:12px;font-size:11px;opacity:.75}dialog textarea,dialog select{width:100%;border:1px solid var(--line);border-radius:0;background:transparent;font:12px/1.8 var(--sans);color:var(--ink);padding:10px 12px}dialog textarea{resize:vertical}dialog select{padding-block:12px}.event-checks input{accent-color:var(--ink)}#attending-details>label{display:grid;gap:8px;font-size:11px;margin-block:20px}#reply-summary{border-block:1px solid var(--line);margin-block:20px;padding:12px 0}#reply-summary p{font-size:11px;margin:8px 0}#photo-dialog{max-width:1100px;width:calc(100% - 40px);padding:50px 22px 20px;background:#f8f5ed}#photo-dialog figure{margin:0}#photo-dialog img{width:100%;height:min(66svh,700px);object-fit:contain}#photo-caption{text-align:center;font:italic 25px var(--serif);margin-top:18px}.photo-controls{display:flex;align-items:center;justify-content:center;gap:35px;margin-top:10px}.photo-controls button{min-height:44px;min-width:44px;font-size:22px}.photo-controls span{font-size:9px;letter-spacing:.1em}
@media(max-width:1000px){.site-header nav{gap:18px;font-size:10px}.party-names{gap:20px}.questions{gap:6vw}.story-layout{gap:6vw}}
@media(max-width:800px){.site-header{z-index:10}.menu-toggle{display:inline-flex;align-items:center;gap:20px;font-size:11px;padding:10px 0}.site-header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:20px 7vw 30px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #284d6510}.site-header.nav-open nav{display:grid;gap:0}.site-header nav>a{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.site-header .nav-rsvp{width:max-content;margin-top:15px;font-size:12px}.story{padding-block:65px}.story-intro,.story-layout,.party-heading,.weekend-kit,.questions{grid-template-columns:1fr;gap:28px}.story h2{font-size:46px}.story-intro>.eyebrow,.party-heading>.eyebrow{grid-column:auto}.story-intro>p:last-child{max-width:100%}.story-layout{margin-top:30px}.story-image{aspect-ratio:1.15}.story-chapters button{padding-block:15px}.story-chapters button strong{font-size:29px}.story-panel{min-height:140px;padding-top:22px}.story-panel p{max-width:100%}.weekend{padding-top:70px}.weekend-kit{padding-block:60px}.weekend-kit h2{font-size:50px}.packing-list{padding-top:0}.gallery .section-heading h2{font-size:45px}.photo-grid{gap:12px}.gallery-wide{aspect-ratio:1.15}.gallery-photo{aspect-ratio:.8}.gallery-photo>span{font-size:6px;letter-spacing:.07em;left:12px;right:12px;bottom:10px}.gallery-photo i{font-size:15px}.gallery-help{font-size:9px}.party-heading{margin-bottom:30px}.party-heading h2{font-size:51px}.party-photo img{aspect-ratio:1.3;object-position:center}.party-names{grid-template-columns:1fr 1fr;gap:30px 20px;margin-top:30px}.party-names h3{font-size:34px}.party-photo figcaption{font-size:6px;bottom:14px;left:14px}.gift-note h2{font-size:51px}.gift-note>p:not(.eyebrow){font-size:12px}.questions{gap:35px}.questions h2{font-size:48px}.questions .travel-list details{padding:18px 0}.questions summary{font-size:22px}.reply h2{font-size:61px}#photo-dialog{padding:45px 12px 18px;width:calc(100% - 20px)}#photo-dialog img{height:min(62svh,600px)}#photo-caption{font-size:23px}#wish-preview{padding:24px}#wish-preview p{font-size:25px}}
@media(max-width:800px){.party-photo img{aspect-ratio:auto;height:auto;object-fit:contain}}
@media(prefers-reduced-motion:reduce){.gallery-photo:hover img,.story-image:hover img{transform:none}}
