:root{--bg:#090806;--ink:#fffaf1;--muted:#c9bca7;--gold:#d7ad58;--gold2:#f0d18a;--line:rgba(222,181,99,.46);--glass:rgba(12,10,8,.72);--radius:24px;--safe-b:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity;background:var(--bg)}body{margin:0;background:#050504;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}.svg-sprite{position:absolute;overflow:hidden}.progress{position:fixed;inset:0 0 auto;z-index:60;height:2px;background:rgba(255,255,255,.06)}.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));box-shadow:0 0 12px rgba(231,190,102,.65)}
main{width:min(100%,520px);margin-inline:auto;overflow:hidden;background:#070604;box-shadow:0 0 80px rgba(0,0,0,.5)}.section{position:relative;min-height:100svh;display:grid;place-items:center;isolation:isolate;scroll-snap-align:start;overflow:hidden;padding:clamp(34px,6svh,64px) 20px}.section-bg{position:absolute;inset:0;z-index:-3;background:center/cover no-repeat;transform:scale(1.01)}.section-bg.lazy-bg{opacity:0;transition:opacity .55s ease}.section-bg.lazy-bg.loaded{opacity:1}.cover .section-bg{background-image:url('bg/01-cover.webp')}.overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(3,3,2,.18),rgba(3,3,2,.13) 45%,rgba(3,3,2,.32))}.overlay.soft{background:radial-gradient(circle at 50% 45%,rgba(0,0,0,.02),rgba(0,0,0,.22) 74%)}
.content-shell{position:relative;width:100%;max-width:430px;text-align:center;z-index:2}.content-shell.compact{max-width:414px}.eyebrow{margin:0 0 9px;text-transform:uppercase;letter-spacing:.24em;font-size:10px;font-weight:700;color:var(--gold2)}h1,h2,h3,p{margin-top:0}h1,h2,h3,.closing-name{font-family:Georgia,"Times New Roman",serif}h1{display:grid;gap:2px;margin:8px 0 14px;font-size:clamp(40px,12vw,58px);font-weight:400;line-height:.88;text-shadow:0 4px 30px rgba(0,0,0,.6)}h1 b{font-size:.62em;font-style:italic;font-weight:400;color:var(--gold2)}h2{font-size:clamp(25px,7vw,34px);line-height:1.08;font-weight:400;margin-bottom:18px}h3{font-weight:400}.date-line{letter-spacing:.18em;font-size:11px;text-transform:uppercase;color:#f6e5bc}.glass{background:linear-gradient(180deg,rgba(17,14,10,.78),rgba(9,8,6,.68));border:1px solid rgba(224,183,98,.38);box-shadow:0 14px 48px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.03);backdrop-filter:blur(9px)}.guest-card{width:min(92%,340px);margin:30px auto 18px;padding:18px 20px;border-radius:18px}.guest-card span,.guest-card small{display:block;color:var(--muted);font-size:11px;line-height:1.5}.guest-card strong{display:block;margin:6px 0;font-family:Georgia,serif;font-size:18px;color:#fff4d6}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border:0;border-radius:999px;text-decoration:none;font:700 12px/1 inherit;letter-spacing:.03em;cursor:pointer;transition:.2s ease}.btn svg,.meta svg,.copy-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.btn.gold{background:linear-gradient(180deg,#efd28d,#c8943a);color:#20160a;box-shadow:0 8px 28px rgba(200,148,58,.25)}.btn.outline{margin-top:10px;border:1px solid var(--line);color:#f4d998;background:rgba(0,0,0,.24)}.btn:active{transform:translateY(1px) scale(.99)}.scroll-cue{position:absolute;bottom:max(14px,calc(var(--safe-b) + 9px));left:50%;transform:translateX(-50%);display:grid;place-items:center;text-decoration:none;color:#d9c8a4;font-size:9px;letter-spacing:.2em;text-transform:uppercase}.scroll-cue svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;animation:bob 1.8s infinite}@keyframes bob{50%{transform:translateY(5px)}}
.couple-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.person-card{min-width:0}.portrait{aspect-ratio:3/4;overflow:hidden;border:1px solid rgba(229,188,100,.62);box-shadow:0 12px 30px rgba(0,0,0,.34)}.arch{border-radius:48% 48% 18px 18px}.portrait img,.gallery-grid img,.qr-wrap img{width:100%;height:100%;object-fit:cover;display:block}.person-card h3{font-size:18px;color:#f7e0a9;margin:11px 0 4px}.person-card p{font-size:10px;line-height:1.45;color:var(--muted)}.person-card strong{font-weight:600;color:#eee0c6}
.timeline{display:grid;gap:12px;margin:22px auto 0;width:min(100%,370px);position:relative}.timeline:before{content:"";position:absolute;left:50%;top:6px;bottom:6px;width:1px;background:linear-gradient(transparent,var(--gold),transparent)}.milestone{position:relative;width:47%;padding:12px 13px;border:1px solid rgba(220,176,87,.42);background:rgba(6,5,4,.72);border-radius:15px;text-align:left;box-shadow:0 8px 28px rgba(0,0,0,.26)}.milestone:nth-child(even){margin-left:auto}.milestone:after{content:"";position:absolute;top:24px;width:8px;height:8px;border:1px solid var(--gold2);background:#0d0a06;transform:rotate(45deg)}.milestone:nth-child(odd):after{right:-21px}.milestone:nth-child(even):after{left:-21px}.milestone time{font-size:9px;color:var(--gold2);letter-spacing:.16em}.milestone h3{font-size:15px;margin:3px 0 4px}.milestone p{margin:0;font-size:9px;line-height:1.45;color:var(--muted)}
.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.event-card{padding:19px 12px 16px;border-radius:18px}.event-card h3{font-size:21px;color:#f6dc9e;margin-bottom:12px}.event-card p{font-size:10px;line-height:1.45;margin-bottom:6px}.event-card small{display:block;min-height:34px;font-size:9px;line-height:1.4;color:var(--muted)}.meta{display:flex;align-items:center;justify-content:center;gap:5px;color:#d9c6a0}.event-card .btn{padding-inline:10px;font-size:9px;width:100%}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.gallery-grid figure{margin:0;overflow:hidden;border:1px solid rgba(221,179,93,.54);border-radius:15px;aspect-ratio:4/3;background:#0c0a08}.gallery-grid figure.arch{aspect-ratio:3/4}.gallery-grid img{transition:transform .45s ease}.gallery-grid figure:active img{transform:scale(1.025)}
.rsvp{padding-block:32px}.rsvp .content-shell{display:grid;gap:28px}.rsvp-panel{padding:18px;border-radius:20px}.rsvp-panel h2,.gift-panel h2{font-size:27px;margin-bottom:13px}.rsvp form{display:grid;gap:10px;text-align:left}.rsvp label,.rsvp legend{font-size:9px;color:#dfcfad;letter-spacing:.04em}.rsvp input,.rsvp select{width:100%;height:39px;margin-top:5px;border:1px solid rgba(222,181,99,.34);border-radius:11px;background:rgba(0,0,0,.44);color:white;padding:0 11px;outline:0}.rsvp input:focus,.rsvp select:focus{border-color:#d7ad58;box-shadow:0 0 0 3px rgba(215,173,88,.08)}fieldset{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.radio{position:relative}.radio input{position:absolute;opacity:0}.radio span{display:grid;place-items:center;height:39px;border:1px solid rgba(222,181,99,.28);border-radius:11px;background:rgba(0,0,0,.33)}.radio input:checked+span{border-color:#e3bd6f;background:rgba(215,173,88,.14);color:#ffe6aa}.rsvp .btn{width:100%;margin-top:2px}.gift-panel{padding-top:3px}.gift-copy{width:min(90%,330px);margin:-5px auto 12px;font-size:9px;line-height:1.5;color:#cdbfa5}.qr-wrap{width:128px;aspect-ratio:1;margin:0 auto 14px;padding:7px;border-radius:13px;background:#fffdf8;border:1px solid #e7c87f;box-shadow:0 12px 34px rgba(0,0,0,.25);overflow:hidden}.qr-wrap img{border-radius:7px}.bank-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bank-card{position:relative;padding:13px 11px;border-radius:15px;text-align:left}.bank-card span,.bank-card small{display:block;font-size:8px;color:var(--muted)}.bank-card strong{display:block;margin:5px 0 4px;font-size:11px;letter-spacing:.08em}.copy-btn{position:absolute;right:8px;top:9px;display:flex;align-items:center;gap:4px;background:none;border:0;color:#ddbc78;font-size:8px;padding:4px;cursor:pointer}.copy-btn svg{width:12px;height:12px}
.closing{text-align:center}.heart-mark{width:28px;height:28px;fill:none;stroke:#e3bc6d;stroke-width:1.3;margin-bottom:12px}.closing .content-shell>p:not(.eyebrow):not(.date-line){width:min(90%,350px);margin-inline:auto;color:#d1c4ad;font-size:11px;line-height:1.65}.closing-name{font-size:30px;color:#f2d38e;margin:26px 0 8px}.closing-name i{font-weight:400}.back-top{position:absolute;bottom:max(18px,calc(var(--safe-b) + 10px));color:#ccb47e;font-size:9px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.music-btn{position:fixed;z-index:70;right:max(14px,calc((100vw - 520px)/2 + 14px));bottom:max(15px,calc(var(--safe-b) + 12px));width:46px;height:46px;border-radius:50%;border:1px solid rgba(232,193,111,.55);background:rgba(9,8,6,.82);color:#f0d18a;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.38);backdrop-filter:blur(10px);cursor:pointer}.music-btn svg{grid-area:1/1;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.music-btn .music-off{display:none}.music-btn[aria-pressed="false"] .music-on{display:none}.music-btn[aria-pressed="false"] .music-off{display:block}.music-btn.playing{animation:pulse 2.5s infinite}@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(218,176,88,.08),0 10px 30px rgba(0,0,0,.38)}}.toast{position:fixed;z-index:80;left:50%;bottom:78px;transform:translate(-50%,10px);width:max-content;max-width:calc(100vw - 40px);padding:10px 14px;border-radius:999px;background:#15110b;border:1px solid rgba(218,176,88,.35);color:#f6dfaa;font-size:10px;opacity:0;pointer-events:none;transition:.22s ease}.toast.show{opacity:1;transform:translate(-50%,0)}
.reveal{opacity:0;transform:translateY(18px);transition:.72s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}@media (max-width:360px){.section{padding-inline:15px}.couple-grid,.event-grid{gap:8px}.person-card h3{font-size:16px}.event-card{padding-inline:9px}.milestone{padding:10px}.bank-card strong{font-size:10px}}@media (min-width:521px){body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 50% 10%,#282013,#050504 55%)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-cue svg,.music-btn.playing{animation:none}}

/* Full-page navigation with layout aligned to the original background artwork. */
html,body{height:100%;overflow:hidden;scroll-snap-type:none}#invitation{position:relative;width:100%;max-width:430px;height:100svh;height:100dvh;overflow:hidden;margin:auto}.section{position:absolute;inset:0;width:100%;height:100svh;min-height:100svh;max-height:100svh;overflow-x:hidden;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:15% 12% 20%;scrollbar-width:none;scroll-snap-align:none}.section[hidden]{display:none!important}.section::-webkit-scrollbar,.rsvp-panel::-webkit-scrollbar{display:none}.section-bg{position:fixed;top:0;left:50%;bottom:0;width:min(100%,430px);height:100svh;background-size:100% 100%;transform:translateX(-50%)}.overlay{pointer-events:none;background:linear-gradient(180deg,#03030208,#03030214 70%,#03030226)}.content-shell,.content-shell.compact{max-width:none;min-width:0;width:100%}.reveal{opacity:1;transform:none}.page-active>.content-shell{animation:black-gold-enter .35s ease}@keyframes black-gold-enter{from{opacity:.5;translate:0 8px}to{opacity:1;translate:0 0}}.section h1{font-size:clamp(35px,11vw,48px);line-height:1.08;gap:6px;overflow-wrap:anywhere}.section h2{font-size:26px;line-height:1.18}.section .eyebrow{font-size:9px;letter-spacing:.22em}.cover .content-shell{padding-top:15px}.cover .guest-card{width:100%;padding:15px 13px;margin:23px auto 19px;background:#100d099c;box-shadow:none;border-color:#d7ad5838;border-radius:12px}.guest-card strong{font-size:16px;overflow-wrap:anywhere}.guest-card small{font-size:9px}.date-line{font-size:9px;letter-spacing:.12em;line-height:1.65}.cover .scroll-cue{bottom:12%;font-size:8px}.cover .btn{font-size:11px;min-height:42px}.page-nav{position:fixed;bottom:calc(15px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 44px),342px);z-index:65;display:flex;align-items:center;gap:10px;padding:5px 8px;background:#100c07e8;border:1px solid #a8894b60;border-radius:30px;backdrop-filter:blur(12px);box-shadow:0 6px 24px #0004;color:#e6d1a4}.page-nav button{height:32px;width:32px;flex-shrink:0;display:grid;place-items:center;border:1px solid #b9985244;border-radius:50%;background:#292011;color:#f3d489;font-size:17px;cursor:pointer}.page-nav button:disabled{opacity:.25;cursor:default}#pageLabel{flex:1;text-align:left;font-size:10px}#pageCount{font-size:9px;letter-spacing:.05em;color:#aa9b7c}.music-btn{right:max(16px,calc((100vw - 430px)/2 + 16px));bottom:calc(75px + env(safe-area-inset-bottom));width:35px;height:35px}.music-btn svg{width:16px;height:16px}.progress{max-width:430px;left:50%;right:auto;width:100%;transform:translateX(-50%)}
/* Portraits occupy the two painted arches, rather than floating cards. */
.couple .content-shell{position:static}.couple .eyebrow{position:absolute;top:18.5%;left:20%;width:60%}.couple h2{position:absolute;top:22%;left:19%;width:62%;font-size:21px;line-height:1.25}.couple-grid{position:absolute;top:34%;left:11%;right:11%;height:34%;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:9%}.person-card{display:flex;flex-direction:column;height:100%;align-items:center}.portrait{width:100%;height:calc(100% - 72px);aspect-ratio:auto;flex-shrink:0;border:0;border-radius:45% 45% 4px 4px;box-shadow:none;background:linear-gradient(#30271b,#15120c)}.portrait img{object-position:center 28%;filter:saturate(.8)}.person-card h3{font-size:17px;line-height:1.1;margin:10px 0 5px;overflow-wrap:anywhere}.person-card p{font-size:8px;line-height:1.45;margin:0;max-height:58px;overflow-y:auto;width:100%}.person-card strong{font-weight:400}.person-card a{font-size:8px}
/* The two event columns follow the gold frame boundaries. */
.event .content-shell{position:static}.event .eyebrow{position:absolute;top:18.5%;left:20%;width:60%}.event h2{position:absolute;top:22%;left:20%;width:60%;font-size:29px}.event-grid{position:absolute;top:36%;left:10%;right:10%;height:35%;margin:0;gap:10%;grid-template-columns:repeat(2,minmax(0,1fr))}.event-card{padding:10px 3px;background:none;border:0;box-shadow:none;backdrop-filter:none;border-radius:0;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;justify-content:center}.event-card h3,.event-card .wk-event h3{font-size:21px;margin:0 0 12px}.event-card p,.event-card .wk-event p{font-size:10px;line-height:1.5}.event-card small{font-size:9px;min-height:0}.event-card .btn{font-size:8px;padding:10px 4px;min-height:35px;line-height:1.3}.event-card .wk-event strong{font-size:13px;display:block;overflow-wrap:anywhere}.event-card .wk-map{font-size:9px;display:block;margin-top:15px;color:#edce85}
.story{align-items:flex-start;padding-top:19%;padding-bottom:24%}.story h2{font-size:24px;max-width:250px;margin:0 auto 23px}.timeline{gap:15px;margin-top:0}.timeline:before{left:8px}.milestone{width:100%;margin:0!important;background:#0d0a0759;border:0;border-radius:0;border-bottom:1px solid #d7ad582e;box-shadow:none;padding:5px 0 16px 28px}.milestone:after,.milestone:nth-child(odd):after,.milestone:nth-child(even):after{left:4px;right:auto;top:11px;width:7px;height:7px}.milestone h3{font-size:18px;margin:5px 0}.milestone p{font-size:10px;line-height:1.65}.gallery{align-items:flex-start;padding-top:20%;padding-bottom:24%}.gallery h2{font-size:29px}.gallery-grid{gap:10px}.gallery-grid figure{border-radius:4px;aspect-ratio:1;background:#15110a}.gallery-grid figure.arch{aspect-ratio:3/4;border-radius:45% 45% 4px 4px}.gallery-grid img{font-size:9px}.closing h2{font-size:25px;line-height:1.35}.closing-name{font-size:29px;line-height:1.2;overflow-wrap:anywhere}.closing .back-top{bottom:12%}
/* RSVP belongs in the dark upper frame; QRIS and bank details in the lower artwork. */
.rsvp .content-shell{position:static;display:block}.rsvp-panel{position:absolute;top:17%;left:13%;width:74%;height:29%;padding:0 5px 10px;overflow-y:auto;scrollbar-width:none;background:none;border:0;box-shadow:none;backdrop-filter:none;border-radius:0}.rsvp-panel h2{font-size:23px;margin-bottom:13px}.rsvp-panel form{gap:8px}.rsvp input,.rsvp select{height:32px;margin-top:4px;border-radius:5px;font-size:10px}.radio span{height:32px;border-radius:5px;font-size:9px}.rsvp textarea{width:100%;padding:9px;color:#fff4d6;font-size:10px;border:1px solid #d7ad583b;background:#100c08;border-radius:5px;resize:vertical}.rsvp label,.rsvp legend{font-size:8px}.rsvp .btn{font-size:10px;min-height:34px;padding:10px}.gift-panel{display:contents}.gift-panel>.eyebrow{display:none}.gift-panel>h2{position:absolute;top:48.5%;left:20%;width:60%;font-size:22px;margin:0}.gift-copy{display:none}.qr-wrap{position:absolute;top:55%;left:32.5%;width:35%;margin:0;padding:5px;aspect-ratio:1;border:0;box-shadow:none;border-radius:3px}.qr-wrap img{object-fit:contain;border-radius:0}.bank-grid{position:absolute;top:77.5%;left:5.5%;right:5.5%;height:9%;gap:6%;grid-template-columns:repeat(2,minmax(0,1fr))}.bank-card{background:none;border:0;box-shadow:none;backdrop-filter:none;border-radius:0;padding:6px 8px}.bank-card strong{font-size:10px;margin:5px 0;overflow-wrap:anywhere}.bank-card small{font-size:7px}.copy-btn{right:2px;top:4px;font-size:7px}.rsvp .wk-rsvp-status{font-size:9px}.rsvp .wk-qris{height:100%;object-fit:contain}
@media(max-width:355px){.section h1{font-size:37px}.couple h2{font-size:18px}.person-card h3{font-size:15px}.person-card p{font-size:7px}.event-card h3,.event-card .wk-event h3{font-size:18px}.event-card p,.event-card .wk-event p{font-size:9px}.rsvp-panel h2{font-size:20px}}@media(prefers-reduced-motion:reduce){.page-active>.content-shell{animation:none}}

.couple .portrait{height:calc(100% - 93px)}.person-card p{font-size:9px}.person-card h3{font-size:16px}.gift-panel>h2{top:54.3%;font-size:17px;color:#503a20}.qr-wrap{top:58%;left:34.5%;width:31%}.gallery-grid figure:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:4/3}@media(max-width:355px){.person-card p{font-size:7.5px}.person-card h3{font-size:14px}}
@keyframes black-gold-enter{from{opacity:.4}to{opacity:1}}.section{overscroll-behavior:contain}
.rsvp-panel form{gap:6px}.rsvp-panel h2{margin-bottom:9px}.rsvp input,.rsvp select,.radio span{height:28px}.rsvp .btn{min-height:32px;padding:8px}.rsvp-panel{padding-bottom:4px}

/* Story artwork leaves an uninterrupted reading area inside the perimeter. */
.story{padding:clamp(56px,10svh,86px) 14% 110px;align-items:start}.story .content-shell{max-width:330px}.story h2{font-size:clamp(23px,6.2vw,28px);max-width:290px;margin-bottom:28px;line-height:1.18}.story .timeline{gap:18px}.story .milestone{background:none;padding:4px 0 17px 26px}.story .milestone p{font-size:11px;line-height:1.7}.story .overlay{background:linear-gradient(180deg,#0000000d,#00000000 70%,#0000001a)}

.story h2{width:100%;max-width:230px;font-size:24px;margin-bottom:22px}.story .timeline{gap:12px}.story .milestone{padding-bottom:13px}@media(max-width:355px){.story h2{font-size:22px}.story .timeline{gap:8px}.story .milestone p{font-size:10px}.story .milestone h3{font-size:17px}}

/* Gallery photographs keep their original aspect ratio, without arch clipping. */
.gallery{padding:clamp(60px,10svh,92px) 14% 110px;align-items:start}.gallery h2{font-size:clamp(23px,6vw,28px);line-height:1.2;margin-bottom:24px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;margin-top:0}.gallery .gallery-grid figure,.gallery .gallery-grid figure.arch,.gallery .gallery-grid figure:last-child:nth-child(odd){aspect-ratio:auto;border-radius:3px;padding:4px;border:1px solid #d7ad5866;background:linear-gradient(135deg,#352b1d,#0d0b08);box-shadow:0 5px 18px #0005}.gallery .gallery-grid img{width:100%;height:auto;object-fit:contain;display:block;border-radius:0;transform:none}.gallery .gallery-grid figure:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:100%;max-width:220px}.gallery .overlay{background:linear-gradient(180deg,#0000000d,#00000000 70%,#0000001a)}

/* Couple artwork and portraits share the same 720 x 1280 cover geometry. */
#couple{container-type:size;padding:0}
#couple .section-bg{position:absolute;inset:0;width:100%;height:100%;transform:none;background-size:cover;background-position:center}
#couple .content-shell{position:absolute;width:max(100cqw,56.25cqh);height:max(100cqh,177.777778cqw);left:calc((100cqw - max(100cqw,56.25cqh))/2);top:calc((100cqh - max(100cqh,177.777778cqw))/2);max-width:none}
#couple .eyebrow{top:18.5%;left:20%;width:60%}
#couple h2{top:22%;left:19%;width:62%;font-size:clamp(18px,5cqw,23px)}
#couple .couple-grid{top:32.9%;left:10.6%;right:10.6%;height:50%;gap:9%;margin:0}
#couple .person-card{height:100%;min-width:0}
#couple .portrait{height:71%;width:100%;flex-shrink:0;border:0;border-radius:50% 50% 2px 2px / 21% 21% 2px 2px;background:transparent;box-shadow:none;overflow:hidden}
#couple .portrait img{width:100%;height:100%;object-fit:cover;object-position:center 23%;filter:none}
#couple .person-card h3{width:100%;margin:12px 0 5px;font-size:clamp(14px,4cqw,18px);line-height:1.2;overflow-wrap:break-word}
#couple .person-card p{font-size:clamp(8px,2.25cqw,10px);line-height:1.45;margin:0;padding:0 2px;max-height:65px;overflow-y:auto}

#couple .person-card p{font-size:clamp(11px,3cqw,13px);line-height:1.5;max-height:85px;padding:0 4px}#couple .person-card strong{font-size:inherit}

#event .event-card .wk-map,#event .event-card a.btn{color:#241b0c;background:linear-gradient(180deg,#f5dfaa,#d9b76e);border:1px solid #edcf88;font-size:12px;font-weight:700;line-height:1.35;min-height:40px;padding:10px 8px;border-radius:999px;text-decoration:none;text-shadow:none;opacity:1}#event .event-card .wk-map svg{stroke:currentColor}

/* Event details are stacked in two wide gold frames. */
#event{container-type:size;padding:0}
#event .section-bg{position:absolute;inset:0;width:100%;height:100%;transform:none;background-size:cover;background-position:center}
#event .content-shell{position:absolute;width:max(100cqw,56.25cqh);height:max(100cqh,177.777778cqw);left:calc((100cqw - max(100cqw,56.25cqh))/2);top:calc((100cqh - max(100cqh,177.777778cqw))/2);max-width:none}
#event .eyebrow{top:14%;left:18%;width:64%}
#event h2{top:17.5%;left:18%;width:64%;font-size:clamp(24px,7cqw,30px);margin:0}
#event .event-grid{position:absolute;top:27%;left:14%;right:14%;height:50%;display:grid;grid-template-columns:1fr;grid-template-rows:46% 46%;row-gap:8%;margin:0}
#event .event-card{padding:8px 12px;overflow-y:auto;justify-content:center;align-items:center;text-align:center}
#event .event-card .wk-event{width:100%}
#event .event-card h3,#event .event-card .wk-event h3{font-size:clamp(21px,6cqw,25px);line-height:1.15;margin:0 0 5px}
#event .event-card p,#event .event-card .wk-event p{font-size:clamp(10px,2.8cqw,12px);line-height:1.4;margin:3px 0}
#event .event-card .wk-event strong{font-size:clamp(12px,3.3cqw,14px);line-height:1.3;margin:4px 0 2px}
#event .event-card small{font-size:11px;line-height:1.35;min-height:0;margin:2px 0}
#event .event-card .wk-map,#event .event-card a.btn{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;min-height:32px;padding:7px 14px;margin-top:7px;flex-shrink:0;font-size:11px;line-height:1.2}

#event .content-shell{width:max(100cqw,56.279904cqh);height:max(100cqh,177.683316cqw);left:calc((100cqw - max(100cqw,56.279904cqh))/2);top:calc((100cqh - max(100cqh,177.683316cqw))/2)}#event .event-grid{top:28.3%;height:43.3%;grid-template-rows:44% 40%;row-gap:16%}

#event .event-grid{top:27.8%;height:44%;grid-template-rows:45% 42%;row-gap:13%}
#event .event-card{padding:3px 8px}
#event .event-card .wk-event{display:grid;grid-template-columns:1fr 1fr;gap:2px 5px;align-content:center}
#event .wk-event>h3,#event .wk-event>strong,#event .wk-event>p:nth-of-type(3),#event .wk-event>a{grid-column:1/-1}
#event .event-card h3,#event .event-card .wk-event h3{font-size:clamp(20px,5.6cqw,24px);line-height:1.1;margin:0 0 2px}
#event .event-card p,#event .event-card .wk-event p{font-size:clamp(10px,2.7cqw,12px);line-height:1.25;margin:1px 0}
#event .event-card .wk-event strong{font-size:clamp(12px,3.1cqw,14px);line-height:1.2;margin:1px 0}
#event .event-card small{font-size:10px;line-height:1.25;margin:1px 0}
#event .event-card .wk-map,#event .event-card a.btn{min-height:28px;padding:6px 12px;margin:3px auto 0;font-size:11px}

#event .event-card .wk-event{padding:0;grid-template-columns:70% minmax(0,1fr);column-gap:0;row-gap:1px}#event .event-card .wk-event h3{margin:0 0 2px!important}#event .wk-event>p:nth-of-type(1),#event .wk-event>p:nth-of-type(2){white-space:nowrap}#event .wk-event>.wk-map{justify-self:center;margin:3px 0 0}

#event .event-card{padding:0 8px}#event .event-card .wk-event{row-gap:0}#event .event-card .wk-event h3{line-height:1.05;margin-bottom:1px!important}#event .event-card .wk-event p{margin:0;line-height:1.2}#event .event-card .wk-event strong{margin:1px 0}#event .event-card .wk-map{min-height:26px;padding:5px 12px;margin-top:2px}

/* Open event layout: readable typography, no artwork frames to constrain text. */
#event{display:block;padding:clamp(78px,14svh,120px) 12% 120px;overflow-y:auto}
#event .content-shell{position:relative;inset:auto;width:100%;height:auto;max-width:360px;margin:0 auto;text-align:center}
#event .eyebrow{position:static;width:auto;margin:0 0 12px;font-size:11px;letter-spacing:.2em}
#event h2{position:static;width:auto;margin:0 0 36px;font-size:32px;line-height:1.2}
#event .event-grid{position:static;inset:auto;width:100%;height:auto;display:grid;grid-template-columns:1fr;grid-template-rows:auto;gap:36px;margin:0}
#event .event-card{display:block;padding:0;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}
#event .event-card .wk-event{display:block;padding:0;font:inherit}
#event .event-card h3,#event .event-card .wk-event h3{font-size:28px;line-height:1.2;margin:0 0 14px!important}
#event .event-card p,#event .event-card .wk-event p{font-size:15px;line-height:1.5;margin:7px 0;white-space:normal}
#event .event-card strong,#event .event-card .wk-event strong{display:block;font-size:17px;line-height:1.4;margin:12px 0 7px;color:#f9ecd0}
#event .event-card small{display:block;font-size:14px;line-height:1.5;margin:7px 0}
#event .event-card .wk-map,#event .event-card a.btn{display:inline-flex;width:auto;min-height:44px;max-width:100%;padding:11px 20px;font-size:14px;line-height:1.3;margin:16px auto 0;color:#241b0c;background:linear-gradient(180deg,#f5dfaa,#d9b76e)}
#event .event-card p.meta{display:flex;justify-content:center;align-items:center;gap:5px}
#event .event-card .wk-event>p:nth-of-type(1),#event .event-card .wk-event>p:nth-of-type(2){white-space:normal}

#event .section-bg{position:fixed;inset:0 auto auto 50%;width:min(100%,430px);height:100svh;transform:translateX(-50%);background-size:cover;background-position:center}
