/* Natural-size alternating tiles: matched edges, no vertical stretching. */
.continuous-fabric{inset:0 0 var(--woven-end);overflow:hidden}
.continuous-fabric img{position:relative;inset:auto;display:block;width:100%;height:auto;object-fit:contain;opacity:1;transform:none}
.continuous-fabric img:nth-child(even){transform:scaleY(-1)}
.opening{height:auto;aspect-ratio:2/3;min-height:0;isolation:isolate}
.opening-art{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border:none;border-radius:0;mask-image:linear-gradient(#000 0%,#000 90%,transparent 100%);z-index:-1}
.opening-copy{top:14%;left:21%;width:58%}
.opening h1{font-size:52px;line-height:1.05;margin-top:18px}.opening .faith{font-size:33px;margin-bottom:16px}
.opening .eyebrow{font-size:10px}.opening-subtitle{font-size:25px;margin-top:18px}.hashtag{margin-bottom:12px}
.opening .occasion{margin-top:20px}.hero-date{font-size:21px}.open-link{margin-top:10px;font-size:10px}
.scroll-hint{display:none}
.family{padding-top:55px}
.host-name{font-size:38px;letter-spacing:-.02em;font-weight:500}.family .soft-line{font-size:22px}.family-names{font-size:22px}.lineage{font-size:19px}
.venue-photo{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;object-position:35% 50%;border-radius:100px 100px 4px 4px}
.scratch-card{border-radius:140px 140px 6px 6px;outline:1px solid #bca47e;outline-offset:7px;border:0}.scratch-section{padding-bottom:65px}
.heritage-map{margin:25px -6% 20px;border:1px solid #b99a67;background:#f8f1e5;text-align:left;border-radius:8px;overflow:hidden}
.heritage-map-stage{position:relative;height:290px}#venue-live-map{height:100%;width:100%;z-index:0;background:#e6e5dc}
.map-event,#map-reset{position:absolute;z-index:2;font:9px/1.4 Manrope,sans-serif;background:#fffaf0;border:1px solid #c2a777;border-radius:20px;padding:9px 12px;color:#69431f;min-height:36px}.map-event{top:12px;left:12px}#map-reset{top:12px;right:12px}.map-caption{display:flex;flex-direction:column;padding:20px 22px;gap:5px}.map-caption strong{font-size:26px;font-weight:500}.map-caption>span:last-child{font:10px Manrope}
.hl-map-pin{background:none;border:none}.hl-map-pin span{display:grid;place-items:center;width:34px;height:34px;background:#a35469;border:2px solid #fff6e6;border-radius:50% 50% 50% 0;transform:rotate(-45deg);color:white;font:18px Georgia;box-shadow:0 3px 8px #59472a55}.leaflet-control-attribution{font-size:8px!important}.leaflet-control-zoom a{color:#69431f!important}
.monogram{font:italic 90px/.9 'Cormorant Garamond',serif;position:relative;letter-spacing:-.15em;margin:0 0 22px;padding-right:15px}.monogram span{font-size:.8em;display:inline-block;transform:translate(-8px,14px)}
.couple h2{font-size:27px;text-transform:uppercase;letter-spacing:.02em}.couple h2 > span:not(.glow-word){font-size:8px}.couple .weds{font-size:19px}.couples>.soft-line{font-size:24px}.couples{padding-top:25px}.closing{padding-top:45px}.closing h2{font-size:44px}
@media(max-width:480px){.opening-copy{top:14%;left:20%;width:60%}.opening h1{font-size:32px;margin-top:14px}.opening .faith{font-size:26px;margin-bottom:12px}.opening .eyebrow{font-size:8px}.hashtag{font-size:8px;margin-bottom:9px}.opening-subtitle{font-size:19px;margin-top:12px}.opening .occasion{font-size:7px;margin-top:14px}.hero-date{font-size:17px}.open-link{font-size:8px;min-height:38px;padding:10px 14px;margin-top:5px}.host-name{font-size:29px}.family .soft-line{font-size:20px}.family-names{font-size:20px}.lineage{font-size:17px}.heritage-map-stage{height:260px}.map-event,#map-reset{font-size:8px;padding:8px}.monogram{font-size:66px;margin-bottom:20px}.couple h2{font-size:22px}.couples>.soft-line{font-size:21px}.closing>p{font-size:19px}.venue-photo{aspect-ratio:1.45}}
@media(max-width:360px){.opening h1{font-size:27px}.opening .faith{font-size:23px}.opening-subtitle{font-size:17px}.hero-date{font-size:15px}.opening .occasion{margin-top:10px}.host-name{font-size:25px}.lineage{font-size:16px}.monogram{font-size:58px}.couple h2{font-size:20px}}

.woven-infinity{transform:scaleX(-1);margin-top:-45px;height:calc(var(--woven-end) + 45px);mask-image:linear-gradient(transparent,#000 15%)}
.continuous-fabric{bottom:0}
.date-confetti{position:absolute;width:6px;height:10px;border-radius:1px;pointer-events:none}
