*{box-sizing:border-box}body{--paper:#faf7f0;--ink:#45403c;--accent:#726757;--line:#c8bba5;--wash:#eee8dd;--swatch1:#f3eadb;--swatch2:#ceb994;--swatch3:#aeb5b5;margin:0;background:#e9e5de;color:var(--ink);font:18px/1.6 system-ui,sans-serif}.theme-garden{--paper:#fbf6ec;--ink:#334b3c;--accent:#51694b;--line:#b9bc9e;--wash:#ede8d7;--swatch1:#e9b59e;--swatch2:#9ba68b;--swatch3:#eee2c8}.theme-wine{--paper:#f4eadc;--ink:#47242a;--accent:#762939;--line:#b79970;--wash:#e9d7c3;--swatch1:#762939;--swatch2:#edddc3;--swatch3:#baa073}h1,h2,h3,p{margin:0;overflow-wrap:anywhere}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(42px,7cqw,78px);letter-spacing:-.035em}h2{font-size:clamp(30px,4.7cqw,48px);margin-bottom:24px;letter-spacing:-.02em}h3{font-size:26px}p{white-space:pre-line}button,input,textarea,summary{font:inherit;color:inherit}button,summary{cursor:pointer}button,a,summary{touch-action:manipulation}button{padding:11px 18px;min-height:46px;background:var(--paper);border:1px solid var(--line);border-radius:8px}button:hover{background:var(--wash)}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,[contenteditable]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}img{display:block;max-width:100%;height:auto}label{display:block;font-size:16px;margin:14px 0}input:not([type=checkbox],[type=radio]),textarea{display:block;width:100%;min-height:46px;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}textarea{min-height:90px;resize:vertical}.editor-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:12px 22px;background:#fffaf3f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px);font-size:16px}.editor-bar>div{margin-right:auto}.editor-bar strong{display:block}.editor-bar span{font-size:16px}.editor-bar button{font-size:16px;background:var(--accent);color:white;border:0}.collection-link{font-size:16px}#editor{position:fixed;top:95px;bottom:0;width:275px;overflow:auto;background:#fffaf3;padding:24px}#editor h2{font:600 24px/1.2 system-ui}#editor p{font-size:16px;margin:16px 0}#invitation{margin-left:275px;padding:24px}.wedding-page{container-type:inline-size;max-width:1000px;margin:auto;background:var(--paper);position:relative;overflow:hidden;box-shadow:0 18px 70px #34241312}.scene{position:relative;padding:76px 10%;isolation:isolate}.copy{position:relative;z-index:2;min-width:0}.hero{min-height:660px;text-align:center;display:flex;align-items:center;justify-content:center;padding:120px 13% 140px}.hero .copy{width:100%}.hero-art{position:absolute;left:0;bottom:0;width:100%;height:auto;pointer-events:none;z-index:-1}.eyebrow{font-size:16px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:32px}.subtitle{font:21px/1.4 Georgia;margin:24px 0}.date-control{font:22px/1.4 Georgia;background:var(--paper);border:1px solid var(--line);padding:10px 20px}#music-toggle{position:absolute;right:24px;top:24px;font-size:16px;border-radius:30px}.intro{text-align:center;padding-inline:18%;background:linear-gradient(180deg,transparent,var(--wash),transparent)}.intro p{max-width:620px;margin:auto}.love-mark{font:italic 86px/1 Georgia;color:var(--line);margin-bottom:26px}.venue{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}.section-number{grid-column:1/-1;font-size:16px;letter-spacing:.09em;color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:5px}.venue h3{margin:20px 0}.venue p{margin:15px 0}.venue-upload{position:relative;min-height:320px;border:1px solid var(--line);border-radius:180px 180px 8px 8px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:18px;overflow:hidden;background:linear-gradient(140deg,var(--wash),var(--paper))}.venue-upload img{width:100%;height:auto;border-radius:160px 160px 4px 4px}.venue-upload:has(img:not([hidden])){padding:8px;min-height:0}.venue-upload button{font-size:16px}#map-link{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:10px 24px;background:var(--accent);color:white;text-decoration:none;margin-top:14px;border-radius:30px}.edit-only{margin:16px auto}.venue .edit-only{display:block;margin-left:0}.program{background:var(--wash)}.program .copy{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;margin-top:35px}.schedule{border-left:1px solid var(--accent);padding-left:32px}.schedule>div{position:relative;display:grid;grid-template-columns:70px 1fr;gap:16px;margin-bottom:28px}.schedule>div:last-child{margin-bottom:0}.schedule>div:before{content:'';width:9px;height:9px;border-radius:50%;background:var(--accent);position:absolute;left:-37px;top:10px}.schedule strong{font:23px/1.4 Georgia}.outfit{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.palette{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.palette span{font-size:16px;text-align:center}.palette span:before{content:'';display:block;width:56px;height:56px;border-radius:50%;background:var(--swatch1);margin:0 auto 12px;box-shadow:inset 0 0 0 1px #7772}.palette span:nth-child(2):before{background:var(--swatch2)}.palette span:nth-child(3):before{background:var(--swatch3)}.gallery-section{text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 7%;padding-inline:3%}.public-gallery{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:20px;margin-top:32px}.public-gallery figure{margin:0;width:calc(50% - 10px)}.public-gallery img{width:100%;height:auto}.gallery-tools{display:flex;gap:8px;margin-top:10px}.gallery-tools button{flex:1;font-size:16px;padding:8px}.invitation-details{display:grid;grid-template-columns:.75fr 1.25fr;gap:45px;align-items:center}.invitation-details p+p{margin-top:18px}.letter-art{aspect-ratio:1.45;background:linear-gradient(150deg,var(--paper),var(--wash));border:1px solid var(--line);position:relative;transform:rotate(-7deg);box-shadow:0 16px 25px #38221b12}.letter-art:before,.letter-art:after{content:'';position:absolute;width:70%;height:1px;background:var(--line);top:45%;left:-3%;transform:rotate(35deg)}.letter-art:after{left:auto;right:-3%;transform:rotate(-35deg)}.letter-art span{position:absolute;left:calc(50% - 25px);top:calc(50% - 25px);width:50px;height:50px;border-radius:50%;background:var(--accent);color:var(--paper);display:grid;place-items:center;font:30px Georgia;box-shadow:inset 0 0 0 4px #ffffff22}.invitation-rsvp{text-align:center;background:var(--wash)}.invitation-rsvp .copy{max-width:660px;margin:auto}.invitation-rsvp h2,.invitation-rsvp #deadline-text{width:100%;text-align:center}.rsvp-disclosure{max-width:520px;margin:30px auto 0}.rsvp-disclosure summary{min-height:52px;list-style:none;padding:15px 20px;background:var(--accent);color:white;border-radius:30px;text-align:center;font-size:18px}.rsvp-disclosure summary::-webkit-details-marker{display:none}.rsvp-disclosure__panel{text-align:left;padding:24px;background:var(--paper);border-radius:12px;margin-top:16px}fieldset{margin:0;padding:0;border:0}fieldset label,.check{display:flex;align-items:center;gap:12px}input[type=radio],input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}.rsvp-disclosure__panel p{font-size:16px;margin-top:16px}.closing{text-align:center;padding-top:88px;padding-bottom:0}.closing h2{white-space:pre-line;font-style:italic;font-size:clamp(32px,4.7cqw,48px)}.closing-rule{display:block;color:var(--accent);font:30px Georgia;margin:35px auto}.closing:before{content:'';display:block;width:70px;height:70px;border:1px solid var(--line);border-radius:50%;margin:0 auto 36px;box-shadow:22px 0 0 -1px var(--paper),23px 0 0 0 var(--line);transform:translateX(-11px)}footer{padding:75px 0 32px;text-align:center}footer a{font-size:14px;text-decoration:none}.editing [data-field]{min-height:1em;outline:1px dashed #aa8c6559;outline-offset:4px;border-radius:4px}.editing [data-field]:after{content:' ✎';font:16px system-ui;color:var(--accent)}.editing [data-field]:focus{outline:2px solid var(--accent);background:#ffffff88}.editing [data-field]:focus:after{display:none}.editing [data-field]:empty:before{content:attr(data-placeholder);font:16px system-ui;color:var(--accent)}.editing .date-control:after{content:' ✎';font:16px system-ui}.clean #editor,.clean .edit-only,.clean .photo-edit,.clean .gallery-tools{display:none!important}.clean #invitation{margin-left:0}.clean .editor-bar span{display:none}.clean [data-field]:empty{display:none}.clean .date-control{pointer-events:none}.clean .venue-upload:not(:has(img:not([hidden]))){display:none}.clean .venue:not(:has(img:not([hidden]))){display:block;text-align:center}.clean .gallery-section:has(.public-gallery:empty){display:none}.embedded .editor-bar{display:none}.embedded #invitation{margin:0;padding:0}dialog{width:min(540px,calc(100% - 24px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:16px;padding:26px;background:var(--paper)}dialog::backdrop{background:#281c24aa;backdrop-filter:blur(5px)}dialog h2{font-size:30px}.close-dialog{float:right;width:44px;padding:0;font-size:25px}dialog p{font-size:16px;margin:16px 0}.scene .copy{transition:opacity .75s ease,translate .75s ease}.scene .letter-art{transition:opacity .9s ease .1s,translate .9s ease .1s}.scene.reveal-ready:not(.visible) .copy{opacity:0;translate:0 16px}.scene.reveal-ready:not(.visible) .letter-art{opacity:0;translate:-14px 8px}
/* Three distinct compositions, sharing the author controls and block order. */
.theme-pearl .hero:before{content:'';position:absolute;inset:36px;border:1px solid var(--line);border-radius:240px 240px 0 0;z-index:-2}.theme-pearl .hero .copy{padding-inline:5%}.theme-pearl h1{font-style:italic}.theme-pearl .intro{background:none}.theme-pearl .program{margin:0 6%;padding-inline:7%;border-radius:240px 240px 0 0;padding-top:110px}.theme-pearl .section-number{text-align:center}.theme-garden h1{font-style:italic}.theme-garden .hero{min-height:700px;padding-bottom:190px}.theme-garden .hero-art{width:110%;max-width:none;left:-5%}.theme-garden .intro{margin:0 5%;border-radius:50% 50% 0 0}.theme-garden .venue-upload{border-radius:12px;transform:rotate(2deg)}.theme-garden .program .copy{display:block;max-width:560px;margin:35px auto 0}.theme-garden .program h2{text-align:center;margin-bottom:35px}.theme-garden .outfit{text-align:center;display:block}.theme-garden .palette{margin-top:32px}.theme-wine .hero{background:#32161e;color:#f3e4ca;min-height:660px}.theme-wine .hero h1{font-size:clamp(42px,7.6cqw,82px)}.theme-wine .hero .eyebrow{color:#dec397}.theme-wine .date-control{background:#32161edd;border-color:#bea073;color:#f5e6d2}.theme-wine #music-toggle{background:#43232a;color:#f5e6d2}.theme-wine .hero-art{z-index:0}.theme-wine .hero .copy{z-index:1}.theme-wine .intro .love-mark{color:#8a4b52}.theme-wine .program{background:#52242e;color:#f7ebd9}.theme-wine .program .section-number{color:#e0c69d}.theme-wine .program .schedule{border-color:#e0c69d}.theme-wine .schedule>div:before{background:#d7b888}.theme-wine .invitation-rsvp{background:#e3cdbb}.theme-wine .closing{background:linear-gradient(var(--paper),#e6d1bc)}
@media(max-width:760px){#editor{display:none}#invitation{padding:0;margin:0}.editor-bar{padding:10px 12px;gap:8px}.editor-bar span,.collection-link{display:none}.editor-bar strong{font-size:16px}.editor-bar button{font-size:16px;padding:9px 12px}.wedding-page{box-shadow:none}}
@container(max-width:620px){.scene{padding:52px 26px}h1{font-size:44px}h2{font-size:32px}h3{font-size:25px}.hero,.theme-garden .hero,.theme-wine .hero{min-height:540px;padding:90px 26px 180px}.hero-art{width:125%;max-width:none;left:-12.5%}.hero .copy{width:100%}.eyebrow{letter-spacing:.08em;margin-bottom:25px}.subtitle{font-size:21px}.date-control{font-size:20px}#music-toggle{right:16px;top:18px}.theme-pearl .hero:before{inset:20px}.theme-pearl .hero .copy{padding:0}.theme-garden .hero-art{width:130%;left:-15%}.intro{padding-inline:30px}.love-mark{font-size:65px}.venue,.outfit,.invitation-details{display:block}.venue .copy{text-align:center}.venue .edit-only{margin-inline:auto}.venue-upload{width:90%;margin:28px auto 0;min-height:280px}.program .copy{display:block;margin-top:30px}.program h2{text-align:center;margin-bottom:32px}.schedule{padding-left:22px}.schedule>div{grid-template-columns:64px 1fr;gap:12px}.schedule>div:before{left:-27px}.section-number{font-size:16px}.theme-pearl .program{margin:0 14px;padding:76px 24px 45px;border-radius:120px 120px 0 0}.outfit{text-align:center}.palette{margin-top:30px;gap:18px}.palette span:before{width:45px;height:45px}.gallery-section{margin:0 20px;padding-inline:6px}.public-gallery figure{width:100%}.gallery-tools{flex-wrap:wrap}.invitation-details .letter-art{width:170px;margin:0 auto 38px}.invitation-details .copy{text-align:center}.invitation-rsvp{padding-inline:24px}.rsvp-disclosure__panel{padding:20px 14px}.closing h2{font-size:34px}footer{padding-top:64px}.theme-wine .hero h1{font-size:44px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scene .copy,.scene .letter-art{opacity:1!important;translate:none!important}}
@container(max-width:620px){.hero .hero-art,.theme-garden .hero .hero-art{width:100%;left:0;bottom:0}.theme-pearl .hero{padding-bottom:230px}.theme-pearl .hero .copy{align-self:start}.theme-wine .hero .hero-art{width:100%;left:0}}
