[hidden]{display:none!important}html,body{height:100%;overflow:hidden}body{background:#e8e2d9}.section{width:min(100%,430px);height:100svh;min-height:0;margin:auto;content-visibility:visible;overflow-y:auto;scrollbar-width:none}.section::-webkit-scrollbar{display:none}.section-bg{position:fixed;left:50%;transform:translateX(-50%);width:min(100%,430px);height:100svh;object-fit:cover}.section-shade{display:none}.reveal{opacity:1;transform:none}.progress,.dock{display:none}.section-inner{padding:0;position:relative;height:100%;min-height:0;width:100%}.section-heading{position:absolute;top:9%;left:12%;right:12%;margin:0}.section-heading h2{font-size:34px;line-height:1.05}.section-heading p{font-size:11px;line-height:1.6}.eyebrow{font-size:9px;letter-spacing:.25em;margin-bottom:10px}.cover-content,.closing-content{min-height:0;height:100%;padding:15% 12% 23%;justify-content:center}.cover h1{font-size:45px;line-height:1.02}.cover h1>span,.cover h1>i{display:block}.cover h1 span{font-size:inherit}.cover h1 i{font-size:30px;color:var(--gold)}.cover .date{font-size:15px}.guest-note{width:100%;box-shadow:none;backdrop-filter:none}.cover .btn{margin-top:18px}.opening{display:none}.page-navigation{position:fixed;z-index:85;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 40px),390px);height:48px;border:1px solid #c7aa7c;border-radius:28px;background:#fffaf2ed;display:flex;align-items:center;gap:10px;padding:6px;box-shadow:0 3px 20px #6d53251a}.page-navigation button{width:34px;height:34px;border-radius:50%;border:1px solid #c7aa7c;background:transparent;color:#79613e;display:grid;place-items:center}.page-navigation button:disabled{opacity:.3}.page-navigation svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.page-navigation span{flex:1;font-size:11px}.page-navigation small{font-size:10px}.is-locked .page-navigation{display:none}.music-toggle{right:max(16px,calc((100vw - 430px)/2 + 16px));top:18px;width:36px;height:36px}.couple .section-heading{top:8%}.couple-grid{position:absolute;top:28%;left:11%;right:11%;height:51%;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.amp{display:none}.portrait-frame{height:66%;aspect-ratio:auto;max-width:none;padding:0;border:0;border-radius:50% 50% 8% 8%/27% 27% 5% 5%;background:none;box-shadow:none}.portrait-frame img{border-radius:inherit;object-position:50% 23%}.profile-card{height:100%;min-width:0}.profile-card h3{font-size:20px!important;margin:12px 0 6px}.profile-card p{font-size:9px;line-height:1.5;max-height:70px;overflow:auto}.story .section-heading{top:7%}.story .section-heading>p:last-child{display:none}.timeline{position:absolute;top:24%;bottom:14%;left:20%;right:20%;gap:7%;grid-template-rows:repeat(4,1fr)}.timeline:before,.timeline-card>span{display:none}.timeline-card{margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;display:flex;flex-direction:column;justify-content:center;text-align:center;min-height:0;overflow:auto}.timeline-card small{font-size:9px}.timeline-card h3{font-size:20px;margin:5px 0}.timeline-card p{font-size:10px;line-height:1.5;margin:0}.event .section-heading{top:7%}.event .section-heading>p:last-child{display:none}.event-stack{position:absolute;top:24%;bottom:24%;left:17%;right:17%;display:grid;grid-template-rows:1fr 1fr;gap:5%;grid-template-columns:1fr}.event-card{background:none;border:0;border-radius:0;box-shadow:none;padding:10px 8px;backdrop-filter:none;text-align:center;overflow:auto}.event-icon{display:none}.event-card h3{font-size:24px;margin:0 0 6px}.event-card .event-date,.event-card p,.event-card strong{font-size:10px;margin:4px 0;line-height:1.4}.event-card dl{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:6px 0}.event-card dl>div:last-child{grid-column:1/-1}.event-card dt{font-size:8px}.event-card dd{font-size:10px;margin:2px 0}.event-card .btn,.wk-map{padding:7px;font-size:10px;min-height:0}.gallery .section-heading{top:5%}.gallery .section-heading p:last-child{display:none}.gallery-grid{position:absolute;top:17%;left:13%;right:13%;height:65%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);gap:3%}.gallery-grid figure{margin:0;border:0;padding:0;background:none;box-shadow:none;grid-column:auto;grid-row:auto;border-radius:4px;overflow:hidden}.gallery-grid .g1{border-radius:50% 50% 3px 3px/35% 35% 3px 3px}.gallery-grid .g4{border-radius:50% 50% 3px 3px/35% 35% 3px 3px}.gallery-grid .g5{grid-column:1/-1}.gallery-grid img{width:100%;height:100%;object-fit:contain;background:#f4e8d4;cursor:zoom-in}.rsvp .section-heading{top:9%;left:15%;right:15%}.rsvp .section-heading h2{font-size:29px}.rsvp .section-heading>p:last-child{font-size:10px}.gift-tabs{position:absolute;top:25%;left:16%;right:16%;display:flex;gap:8px}.gift-tabs button{flex:1;border:1px solid #c8ae86;border-radius:20px;padding:9px;background:#fff9ef;color:#695238;font:inherit;font-size:11px}.gift-tabs button[aria-pressed=true]{background:#a98755;color:white}.rsvp-form,.gift-block{position:absolute;top:32%;left:17%;right:17%;bottom:14%;margin:0;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;overflow-y:auto;scrollbar-width:none}.rsvp-form{display:flex;flex-direction:column;gap:8px}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{padding:9px;font-size:11px;margin-top:4px}.rsvp-form label,.rsvp-form legend{font-size:10px}.rsvp-form .choice span{padding:8px;font-size:10px}.rsvp-form textarea{min-height:50px}.rsvp-form .btn{padding:10px;font-size:11px}.gift-block>h2,.gift-block>.eyebrow,.gift-block>p:not(.demo-gift){display:none}.demo-gift{font-size:9px;line-height:1.5;margin:0 0 8px}.qr-shell{width:140px;margin:9px auto;padding:8px;box-shadow:none;border-radius:10px}.qr-shell img,.wk-qris img{object-fit:contain;cursor:zoom-in}.wk-qris{max-width:140px;margin:auto}.bank-card{padding:10px;margin:8px 0;box-shadow:none}.bank-card strong{font-size:18px}.closing-content h2{font-size:43px}.closing-content>p:not(.eyebrow):not(.date){font-size:13px}.closing-content h3{font-size:26px}.photo-dialog{width:min(92vw,650px);max-height:92svh;padding:40px 10px 10px;border:0;border-radius:12px;background:#fffaf2}.photo-dialog::backdrop{background:#28221de6}.photo-dialog img{width:100%;max-height:80svh;object-fit:contain}.photo-dialog button{position:absolute;right:10px;top:5px;border:0;background:none;font-size:28px}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid #977038;outline-offset:3px}@media(max-width:355px){.cover h1{font-size:36px}.section-heading h2{font-size:28px}.profile-card h3{font-size:17px!important}.timeline-card h3{font-size:17px}.timeline-card p{font-size:9px}.event-card h3{font-size:20px}.rsvp .section-heading h2{font-size:24px}.qr-shell{width:110px}.rsvp-form{gap:5px}}
[hidden]{display:none!important}
.gallery-grid{display:block;top:19%;height:62%}.gallery-grid figure{position:absolute;width:48%;height:30%}.gallery-grid .g1{left:0;top:0;height:31%}.gallery-grid .g2{right:0;top:8%;height:23%}.gallery-grid .g3{left:0;top:34%;height:23%}.gallery-grid .g4{right:0;top:34%;height:31%}.gallery-grid .g5{left:0;bottom:0;width:100%;height:31%}.couple .section-heading{top:13%}.event-card .btn{background:#fdf6e8;color:#6e542d;border:1px solid #c4a574}.gift-block:has(.bank-card:not([hidden])) .bank-card{margin-top:15px}

.section-heading h2{text-shadow:0 1px 8px #fff8ed,0 0 16px #fff8ed}.gallery-grid figure{outline:none}.gallery-grid img{background:transparent}.profile-card h3{max-height:65px;overflow:auto;overflow-wrap:anywhere}.cover h1{overflow-wrap:anywhere;max-width:100%;max-height:none;overflow:visible}.event-card,.timeline-card{scrollbar-width:none}.event-card::-webkit-scrollbar,.timeline-card::-webkit-scrollbar{display:none}

.cover h1{max-height:none;overflow:visible;flex-shrink:0;font-size:clamp(34px,10.7vw,45px);line-height:1.12}.cover h1>span,.cover h1>i{display:block}.cover h1>i{font-size:.62em;margin:5px 0}.cover-content{justify-content:safe center;overflow-y:auto;scrollbar-width:none}.cover-content::-webkit-scrollbar{display:none}

/* Preserve the 720:1280 artwork ratio on every screen. */
.section{container-type:size}
.section-bg{object-fit:cover;object-position:center center}
.section>.section-inner,.section>.cover-content,.section>.closing-content{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100cqw,56.25cqh);height:max(100cqh,177.777778cqw);max-width:none;min-height:0;margin:0}
.section .portrait-frame img{object-fit:cover;object-position:50% 23%}
.section .gallery-grid img{object-fit:contain}
.section .qr-shell img{object-fit:contain}

/* Calibrated to the inner edges of the new twin portrait arches. */
#couple>.section-inner{width:max(100cqw,56.2799043cqh);height:max(100cqh,177.6833156cqw)}
#couple .section-heading{top:9%;left:18%;right:18%}
#couple .section-heading h2{font-size:32px}
#couple .couple-grid{top:24.1%;left:9.9%;right:9.9%;height:49%;gap:10.2%;grid-template-columns:1fr 1fr}
#couple .portrait-frame{height:68.36%;margin:0;padding:0;border:0;border-radius:50% 50% 0 0/27.7% 27.7% 0 0;background:none;box-shadow:none}
#couple .portrait-frame img{border-radius:inherit;object-fit:cover;object-position:50% 23%}
#couple .profile-card h3{font-size:21px!important;line-height:1.12;margin:20px 0 8px;max-height:64px;scrollbar-width:none}
#couple .profile-card p{font-size:10px;line-height:1.5;margin:0;color:#675a44}
#couple .reveal{transform:none;opacity:1;transition:none}
@media(max-width:355px){#couple .section-heading h2{font-size:28px}#couple .profile-card h3{font-size:18px!important;margin-top:15px}#couple .profile-card p{font-size:9px}}

/* Story: continuous backdrop and readable timeline, no conflicting painted slots. */
#story .section-heading{top:10%;left:18%;right:18%}
#story .section-heading h2{font-size:30px}
#story .timeline{top:28%;bottom:18%;left:20%;right:20%;gap:12px;grid-template-rows:repeat(4,1fr)}
#story .timeline-card{justify-content:safe center;text-align:left;padding:0 0 8px 15px;border-left:1px solid #b49964;overflow-y:auto;scrollbar-width:none}
#story .timeline-card small{font-size:10px}
#story .timeline-card h3{font-size:21px;margin:5px 0 7px;line-height:1.1}
#story .timeline-card p{font-size:11px;line-height:1.5;color:#675b45}
/* Event cards fully inside the two painted panels. */
#event .section-heading{top:8%;left:18%;right:18%}
#event .event-stack{top:25.6%;bottom:26%;left:20%;right:20%;gap:15%;grid-template-rows:1fr 1fr}
#event .event-card{padding:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:safe center}
#event .event-card>*{flex-shrink:0}
#event .event-card h3{font-size:24px;line-height:1.1;margin:0 0 6px}
#event .event-card p,#event .event-card strong{font-size:11px;line-height:1.4;margin:4px 0}
#event .event-card .event-time{font-weight:700;margin-top:8px}
#event .event-card .btn,#event .wk-map{font-size:10px;padding:7px 11px;min-height:28px;line-height:1.2;margin-top:8px;border-radius:20px;text-decoration:none}
#event .event-card .btn svg{width:12px;height:12px}
#event .wk-event h3{font-size:24px}#event .wk-event p,#event .wk-event strong{font-size:11px;line-height:1.4;margin:4px 0}
/* Five photographs calibrated to the inner painted frame edges. */
#gallery .section-heading{top:4%;left:26%;right:26%}
#gallery .gallery-grid{inset:0;top:0;left:0;right:0;height:100%;width:100%;display:block}
#gallery .gallery-grid figure{position:absolute;padding:0;background:none;border:0;outline:none;box-shadow:none}
#gallery .gallery-grid .g1{left:19.1%;top:14.6%;width:31.4%;height:26.3%;border-radius:50% 50% 0 0/32% 32% 0 0}
#gallery .gallery-grid .g2{left:56.8%;top:19.8%;width:27.1%;height:19.2%;border-radius:0}
#gallery .gallery-grid .g3{left:16.6%;top:44.2%;width:36.2%;height:15.15%;border-radius:0}
#gallery .gallery-grid .g4{left:59.8%;top:42.3%;width:23.8%;height:20.1%;border-radius:50% 50% 0 0/32% 32% 0 0}
#gallery .gallery-grid .g5{left:25.7%;top:64.8%;bottom:auto;width:47.1%;height:14.7%;border-radius:0}
#gallery .gallery-grid img{object-fit:cover;object-position:50% 22%;background:none}
#gallery .gallery-grid .g3 img,#gallery .gallery-grid .g5 img{object-position:50% 8%}
/* RSVP form on an uninterrupted central wall. */
#rsvp .section-heading{top:10%;left:18%;right:18%}
#rsvp .section-heading h2{font-size:28px;line-height:1.08}
#rsvp .gift-tabs{top:25%;left:20%;right:20%;gap:7px}
#rsvp .gift-tabs button{padding:9px 5px;font-size:11px}
#rsvp .rsvp-form,#rsvp .gift-block{top:33%;bottom:20%;left:20%;right:20%;padding:0}
#rsvp .rsvp-form{gap:7px}
#rsvp .rsvp-form label,#rsvp .rsvp-form legend{font-size:10px}
#rsvp .rsvp-form input,#rsvp .rsvp-form select,#rsvp .rsvp-form textarea{font-size:11px;padding:8px 9px;background:#f4eddfd9;border-color:#c6b68f}
#rsvp .rsvp-form textarea{height:49px;min-height:49px}
#rsvp .rsvp-form .choice span{padding:8px 4px;font-size:10px;background:#f4eddfd9}
#rsvp .rsvp-form .btn{padding:9px;min-height:34px;font-size:11px;box-shadow:none}
#story .reveal,#event .reveal,#gallery .reveal,#rsvp .reveal{transform:none;opacity:1;transition:none}
@media(max-width:355px){#story .section-heading h2{font-size:27px}#story .timeline{left:17%;right:17%;gap:8px}#story .timeline-card{padding:0 0 0 12px}#story .timeline-card h3{font-size:18px;margin:4px 0}#story .timeline-card p{font-size:10px;line-height:1.4}#event .event-card h3,#event .wk-event h3{font-size:20px}#event .event-card p,#event .event-card strong,#event .wk-event p,#event .wk-event strong{font-size:10px;margin:3px 0}#event .event-card .event-time{margin-top:4px}#event .event-card .btn,#event .wk-map{margin-top:5px;padding:6px 9px}#rsvp .section-heading h2{font-size:25px}#rsvp .rsvp-form{gap:5px}#rsvp .gift-tabs{top:26%}#rsvp .rsvp-form,#rsvp .gift-block{top:34%;bottom:17%}}

#story>.section-inner,#rsvp>.section-inner{width:max(100cqw,56.2799043cqh);height:max(100cqh,177.6833156cqw)}
#event .event-stack{top:25%;bottom:25.4%;gap:10%}
#event .event-card h3{margin-bottom:4px}
#event .event-card p,#event .event-card strong,#event .wk-event p,#event .wk-event strong{line-height:1.2;margin:2px 0}
#event .event-card .event-time{margin-top:3px}
#event .event-card .btn,#event .wk-map{margin-top:4px;padding:6px 9px;min-height:25px}
@media(max-width:355px){#event .event-card h3,#event .wk-event h3{font-size:18px}#event .event-card .event-time{margin-top:2px}}

@media(max-width:355px){#rsvp .rsvp-form{bottom:12%}}

#gallery .gallery-grid img{border-radius:inherit}

#story .timeline-card{padding-bottom:0}#story .timeline-card h3{font-size:20px;margin:4px 0}#story .timeline-card p{font-size:10.5px;line-height:1.4}
