.wedding-page{overflow-x:clip}.wedding-page header.wedding-story-head{position:relative;background:none;color:inherit;display:block;padding-top:145px}.wedding-index{padding-top:160px;padding-bottom:70px;min-height:70svh}.wedding-heading{font-size:clamp(48px,7.7vw,112px);line-height:1.02;margin:0;overflow-wrap:anywhere;max-width:1100px}.wedding-intro{color:var(--ink-dim);line-height:1.7;max-width:48ch;font-size:17px;margin:30px 0 60px}.wedding-meta{color:var(--ink-dim);margin:28px 0 45px;line-height:1.7}.wedding-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px 48px}.wedding-tile:nth-child(even){padding-top:100px}.wedding-tile a{text-decoration:none}.wedding-tile-photo{position:relative;overflow:hidden;background:var(--teal);aspect-ratio:4/5}.wedding-tile:nth-child(3n) .wedding-tile-photo{aspect-ratio:5/4}.wedding-tile-photo img{width:100%;height:100%;object-fit:cover;transition:transform .85s var(--ease)}.wedding-arrow{position:absolute;right:20px;bottom:20px;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--bg);font-size:24px;transition:transform .3s,background .3s}.wedding-tile-meta{padding-top:20px}.wedding-tile-meta span,.wedding-tile-meta p{font-size:12px;color:var(--ink-dim);line-height:1.6}.wedding-tile-meta h2{font-size:clamp(24px,3vw,40px);margin:12px 0;overflow-wrap:anywhere}.wedding-cover{overflow:hidden;max-height:85svh;background:var(--teal);margin:0 clamp(0px,2vw,36px)}.wedding-cover img{width:100%;height:min(76vw,85svh);display:block;object-fit:cover;object-position:center;transform:scale(1.025)}.wedding-story{display:grid;grid-template-columns:1fr 2fr;gap:45px;padding-block:80px}.wedding-story p{font-size:clamp(18px,2.2vw,28px);line-height:1.7;max-width:48ch;margin:0 0 25px;overflow-wrap:anywhere}.wedding-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start;padding-bottom:60px}.wedding-gallery-item{padding:0;background:var(--teal);border:0;overflow:hidden;cursor:zoom-in}.wedding-gallery-item:nth-child(5n+3){grid-column:1/-1}.wedding-gallery-item img{width:100%;height:auto;max-height:85svh;object-fit:cover;display:block;transition:transform .8s var(--ease)}.wedding-film{padding-block:50px}.wedding-film iframe{border:0;width:100%;aspect-ratio:16/9;display:block;background:#202A2F}.wedding-end{padding-block:90px;border-top:1px solid var(--line)}.wedding-end h2{font-size:clamp(40px,6vw,80px);line-height:1.05;margin:20px 0 40px}.wedding-back{display:inline-block;margin:20px 0 30px;color:var(--ink-dim);font-size:13px}.wedding-end .wedding-back{margin:25px}.wedding-empty{grid-column:1/-1;min-height:220px;border:1px solid var(--line);padding:40px}.wedding-empty p{line-height:1.7;color:var(--ink-dim);margin:0 0 35px}.wedding-placeholder{min-height:250px;display:grid;place-items:center;padding:30px;color:var(--ink-dim)}.wedding-pagination{display:flex;justify-content:space-between;gap:30px;padding-block:50px}.wedding-preview{margin:95px 22px -110px;position:relative;z-index:1;padding:15px;background:var(--teal);border:1px solid var(--line);font-size:12px;line-height:1.7}.wedding-preview a{margin-left:10px}.wedding-animate .wedding-reveal{transition:opacity .85s var(--ease),transform .85s var(--ease),clip-path 1s var(--ease)}.wedding-animate .wedding-pending{opacity:0;transform:translateY(25px)}.wedding-animate .wedding-cover.wedding-pending{opacity:1;transform:none}.wedding-animate .wedding-cover img{transition:clip-path 1s var(--ease)}.wedding-animate .wedding-cover.wedding-pending img{clip-path:inset(0 0 100% 0)}#weddingLightbox{width:100vw;height:100svh;max-width:100vw;max-height:100svh;position:fixed;inset:0;margin:0;padding:65px 20px 80px;border:0;background:rgba(8,31,38,.98);color:var(--ink)}#weddingLightbox::backdrop{background:#081F26}#weddingLightbox img{display:block;width:100%;height:100%;object-fit:contain}#weddingLightbox button{border:1px solid var(--line);background:var(--teal);padding:12px 18px;font:inherit}#weddingLightboxClose{position:absolute;right:22px;top:16px}.wedding-lightbox-controls{display:flex;align-items:center;justify-content:center;gap:25px;padding-top:15px}body.wedding-modal-open{overflow:hidden}@media(hover:hover) and (pointer:fine){.wedding-tile a:hover img,.wedding-gallery-item:hover img{transform:scale(1.045)}.wedding-tile a:hover .wedding-arrow{transform:rotate(45deg);background:var(--accent)}}@media(max-width:700px){.wedding-page header.wedding-story-head,.wedding-index{padding-top:120px}.wedding-grid{gap:45px;grid-template-columns:1fr}.wedding-tile:nth-child(even){padding-top:0}.wedding-intro{font-size:15px;margin-bottom:35px}.wedding-gallery{gap:12px}.wedding-cover{margin:0}.wedding-story{grid-template-columns:1fr;gap:12px;padding-block:45px}.wedding-story .eyebrow{margin-bottom:12px}.wedding-heading{font-size:clamp(42px,10vw,70px)}.wedding-meta{font-size:13px}.wedding-end{padding-block:55px}.wedding-end .wedding-back{display:block;margin:30px 0 0}.wedding-preview{margin-top:85px;margin-bottom:-100px}}@media(prefers-reduced-motion:reduce){html:not(.motion-opt-in) .wedding-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}html:not(.motion-opt-in) .wedding-page .wedding-pending,html:not(.motion-opt-in) .wedding-page .wedding-pending img{opacity:1!important;transform:none!important;clip-path:none!important}}.wedding-page.motion-paused .wedding-pending{opacity:1;transform:none;clip-path:none}.wedding-page.motion-paused *{transition:none!important}
@media(max-width:700px){.wedding-animate .wedding-reveal,.wedding-animate .wedding-cover img{transition-duration:.5s}}
