@font-face{font-family:FloralModern;src:url("/static/fonts/chrome-unbounded.3ba1d6fdf96b.ttf");font-display:swap}
body.floral-modern{--paper:#fbf8f2;--ink:#414b40;--soft:#eedfdf;--accent:#77655e;background:var(--paper);color:var(--ink)}.floral-page{max-width:1700px;margin:auto}.floral-modern h1,.floral-modern h2{font-family:FloralModern,Arial,sans-serif;font-weight:400;letter-spacing:-.06em;line-height:1.2}.floral-modern h1{font-size:clamp(44px,5.4vw,84px)}.floral-modern h2{font-size:clamp(30px,3.5vw,52px)}.floral-modern .eyebrow{letter-spacing:.08em;font-size:16px}.floral-modern .hero{min-height:720px;padding:100px 8% 90px;grid-template-columns:1.5fr 1fr;background:#f4ece5;gap:20px}.floral-modern .hero h1{margin:28px 0}.floral-modern .hero-copy{max-width:none}.floral-modern .subtitle{font-size:19px}.floral-modern .date{border:0;margin-top:30px;padding:0}.hero-link{display:block;margin-top:25px;font-size:17px;width:fit-content}.hero-note{position:absolute;bottom:25px;left:8%;font-size:16px}.floral-modern .art-stage{margin:0;animation:float 12s ease-in-out infinite}.art-stage img{height:540px;object-fit:contain}.hero-photo,.venue-background,.rsvp-background{display:none}.floral-modern .intro{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);padding:100px 8%;gap:9%;align-items:center}.intro-copy h2{margin:25px 0}.intro-copy p{max-width:600px}.photo-slot{position:relative}.photo-slot>img{display:block;width:100%;height:auto}.portrait{max-width:470px;padding:0 25px 25px 0}.portrait:after{content:'';position:absolute;inset:25px 0 0 25px;border:1px solid #89947f;z-index:0;pointer-events:none}.portrait img{position:relative;z-index:1;max-height:640px;object-fit:contain}.intro:not(.has-photo-0){grid-template-columns:1fr}.floral-modern .venue{padding:85px 8%;background:#e3e7de;display:grid;grid-template-columns:1fr 1fr;gap:70px;text-align:left;align-items:center}.venue:not(:has(#venue-photo:not([hidden]))){grid-template-columns:1fr}.venue h2{margin:25px 0}.venue-copy{max-width:700px}.venue figure{margin:0}.venue figure img{width:100%;max-height:600px;object-fit:contain}.floral-modern .program{padding:100px 8%;display:grid;grid-template-columns:1fr 1.1fr;gap:8%}.program h2{margin-top:20px}.schedule-row{display:grid;grid-template-columns:75px 1fr;gap:20px;padding:25px 0;border-top:1px solid #959d8e}.schedule-row time{font-variant-numeric:tabular-nums}.plan-text{white-space:pre-line;grid-column:1/-1}.photo-interlude{padding:0 8% 80px}.landscape{max-width:1100px;margin:auto}.landscape img{max-height:650px;object-fit:contain}.floral-modern .invitation-details{background:#f0e1df;padding:80px 9% 20px;position:relative}.invitation-details h2{margin:22px 0}.flower-sprig{display:block;width:min(440px,80%);height:210px;object-fit:contain;margin:20px auto 0}.floral-modern .rsvp{padding:95px 8%;position:relative}.rsvp h2{margin:20px 0 30px}.rsvp details{width:100%}.rsvp summary{background:var(--ink);color:var(--paper)}.rsvp form{background:var(--paper);color:var(--ink)}.floral-modern .closing{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:80px 8%;gap:8%;background:#e3e7de}.closing-photo{max-width:500px}.closing-photo img{max-height:480px;object-fit:contain}.closing h2{font-style:normal;font-size:clamp(30px,3.2vw,48px)}.closing:not(.has-photo-2){grid-template-columns:1fr}.floral-modern footer{background:#e3e7de;padding:80px 20px 32px}.photo-control,.photo-remove,.photo-label{display:none}.editing .photo-slot{min-height:200px;border:1px dashed #a49a85;background:#f5efe6}.editing .photo-control,.editing .photo-remove{display:block;position:absolute;z-index:5;left:12px;bottom:12px;background:#fffaf1;color:#414b40;font-size:16px}.editing .photo-remove{left:auto;right:12px}.editing .photo-label{display:block;position:absolute;top:12px;left:12px;font-size:16px;background:#fffaf1;color:#414b40;padding:4px 10px;z-index:4}.editing .hero h1{font-size:clamp(38px,4.4vw,72px)}
.backgrounds .hero{display:flex;min-height:830px;background:#ddd9cd;isolation:isolate;align-items:center;justify-content:center;text-align:center}.backgrounds .hero-photo{display:block;position:absolute;inset:0;z-index:-2}.backgrounds .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}.backgrounds .hero.has-photo-0:before{content:'';position:absolute;inset:0;background:linear-gradient(#16251d33,#14221899);z-index:-1}.backgrounds .hero.has-photo-0{color:#fffaf0}.backgrounds .hero-copy{max-width:850px}.backgrounds .hero-link{margin-inline:auto}.backgrounds .subtitle{margin:auto}.backgrounds .hero .art-stage{position:absolute;right:0;bottom:0;width:20%;max-width:270px;opacity:.95;pointer-events:none}.backgrounds .hero .art-stage img{height:400px}.backgrounds .hero-note{left:0;right:0;text-align:center}.backgrounds .portrait,.backgrounds .photo-interlude,.backgrounds .closing-photo{display:none!important}.backgrounds .intro{display:block;padding:90px 15%;text-align:center}.backgrounds .intro p{margin:auto}.backgrounds .venue{position:relative;min-height:650px;isolation:isolate;display:flex;padding:70px 8%;justify-content:flex-end}.backgrounds .venue-background{display:block;position:absolute;inset:0;z-index:-2}.backgrounds .venue-background img{height:100%;width:100%;object-fit:cover}.backgrounds .venue-copy{background:#fbf8f2ed;padding:45px;max-width:510px}.backgrounds .venue #venue-photo{display:none}.backgrounds .rsvp{isolation:isolate;min-height:650px;display:flex;align-items:center;justify-content:center}.backgrounds .rsvp-background{display:block;position:absolute;inset:0;z-index:-2}.backgrounds .rsvp-background img{width:100%;height:100%;object-fit:cover}.backgrounds .rsvp.has-photo-2:before{content:'';position:absolute;inset:0;background:#17251d88;z-index:-1}.backgrounds .rsvp.has-photo-2{color:#fffaf1}.backgrounds .rsvp-copy{width:min(700px,100%)}.backgrounds .rsvp summary{background:#fffaf1;color:#414b40}.backgrounds .closing{display:block;background:var(--paper)}.backgrounds footer{background:var(--paper)}.backgrounds .venue:not(.has-photo-1),.backgrounds .rsvp:not(.has-photo-2){min-height:0}.inserts .hero-photo,.inserts .venue-background,.inserts .rsvp-background{display:none!important}.editing.backgrounds .hero-photo,.editing.backgrounds .venue-background,.editing.backgrounds .rsvp-background{z-index:0;background:transparent}.editing.backgrounds .hero-copy,.editing.backgrounds .venue-copy,.editing.backgrounds .rsvp-copy{position:relative;z-index:1;pointer-events:none}.editing.backgrounds :is(.hero-copy,.venue-copy,.rsvp-copy)>*{pointer-events:auto}.editing.backgrounds .photo-control{bottom:15px}.floral-modern .scene>div.waiting,.floral-modern .scene>h2.waiting,.floral-modern .scene>p.waiting{opacity:0;translate:0 18px}.floral-index{background:#fbf8f2;color:#414b40}.floral-index .cards{grid-template-columns:1fr 1fr;max-width:1000px;margin:auto}.floral-index .collection-heading h1{font-family:FloralModern;font-size:clamp(36px,5vw,70px);margin-top:40px}.floral-cover{background:#f0e1df;color:#414b40}.floral-cover h2{font-family:FloralModern;font-size:clamp(27px,3vw,44px)}.floral-cover.inserts img{height:65%;width:60%;left:38%;bottom:-4%}.floral-cover.backgrounds img{width:100%;height:100%;left:0;bottom:0;object-fit:cover;z-index:0;filter:brightness(.64)}.floral-cover.backgrounds span,.floral-cover.backgrounds h2{z-index:1;position:relative;color:#fffaf1}.demo-note{max-width:900px;margin:0 auto 70px;padding:20px;font-size:16px}.demo-note p{margin-top:15px}
@media(max-width:760px){.floral-modern .hero{min-height:0;padding:95px 7% 60px;grid-template-columns:1fr;text-align:left}.floral-modern .hero h1,.editing .hero h1{font-size:clamp(34px,8.8vw,62px)}.floral-modern .hero .subtitle{margin:0}.floral-modern .art-stage{width:62%;margin:-40px -6% 0 auto}.art-stage img{height:310px}.hero-note{position:static;font-size:16px;margin-top:15px}.floral-modern .intro{padding:60px 7%;grid-template-columns:1fr;gap:45px}.floral-modern h2{font-size:32px}.portrait{max-width:430px;margin:auto}.floral-modern .venue{padding:60px 7%;grid-template-columns:1fr;gap:30px}.floral-modern .program{padding:60px 7%;grid-template-columns:1fr;gap:35px}.schedule-row{font-size:17px;gap:15px;grid-template-columns:60px 1fr}.photo-interlude{padding:0 7% 60px}.floral-modern .invitation-details{padding:60px 7% 10px}.flower-sprig{height:170px}.floral-modern .rsvp{padding:65px 7%}.floral-modern .closing{padding:55px 7%;grid-template-columns:1fr;gap:35px}.closing-photo{margin:auto}.backgrounds .hero{min-height:820px;display:flex;text-align:center}.backgrounds .hero .subtitle{margin:auto}.backgrounds .hero .art-stage{width:28%;margin:0;opacity:.9}.backgrounds .hero .art-stage img{height:240px}.backgrounds .hero-note{position:absolute;bottom:25px}.backgrounds .hero h1{font-size:clamp(35px,9vw,55px)}.backgrounds .intro{padding:65px 7%}.backgrounds .venue{min-height:620px;align-items:flex-end;display:flex}.backgrounds .venue-copy{padding:28px 22px}.backgrounds .rsvp{min-height:650px}.floral-index .cards{grid-template-columns:1fr;max-width:450px}.floral-cover h2{font-size:32px}.photo-control,.photo-remove{padding:8px 12px}.floral-modern .gallery-section{display:none}}
@media(prefers-reduced-motion:reduce){.floral-modern .scene .waiting{opacity:1;translate:none}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Additional local concepts: editorial serif and quiet contemporary sans. */
.poetry{--ink:#62514f;--paper:#fcf8f3}.floral-modern.poetry h1,.floral-modern.poetry h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.045em;font-weight:400;line-height:1.06}.floral-modern.poetry h1{font-size:clamp(62px,8vw,118px);font-style:italic}.floral-modern.poetry h2{font-size:clamp(38px,4.5vw,65px)}.poetry .hero{background:#eee1df;grid-template-columns:1.3fr 1fr;min-height:800px}.poetry .hero-copy{z-index:2}.poetry .intro{grid-template-columns:.9fr 1.1fr}.poetry .portrait{padding:0;rotate:-2deg}.poetry .portrait:after{inset:18px -18px -18px 18px;border-color:#b7a393}.poetry .program{background:#f2ede5}.poetry .invitation-details{background:#eadfdd}.poetry .closing,.poetry footer{background:#e8e9df}.poetry .hero .art-stage{transform-origin:bottom center;animation:botanical-sway 10s ease-in-out infinite}.petal-scene,.light-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.petal-scene i{position:absolute;left:calc(14% + var(--i)*15%);top:-30px;width:12px;height:19px;border-radius:70% 15% 65% 30%;background:linear-gradient(135deg,#fffcf5,#dcb8b1);box-shadow:inset 1px 1px 3px #fff8;opacity:0;animation:petal-drift 19s linear infinite;animation-delay:calc(var(--i)*-3.2s)}
@keyframes petal-drift{0%{opacity:0;transform:translate(0,-20px) rotate(0)}10%,75%{opacity:.65}100%{opacity:0;transform:translate(50px,850px) rotate(240deg)}}@keyframes botanical-sway{0%,100%{rotate:-1deg;translate:0 0}50%{rotate:1.5deg;translate:0 -8px}}
.floral-modern.air h1,.floral-modern.air h2{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:300;letter-spacing:-.055em;line-height:1.08}.floral-modern.air h1{font-size:clamp(60px,7.6vw,112px)}.floral-modern.air h2{font-size:clamp(37px,4.5vw,64px)}.air .hero-copy{position:relative;z-index:2}.air .hero{min-height:870px}.air .hero.has-photo-0:before{background:linear-gradient(90deg,#1c292b88,#1c292b33)}.air .hero .art-stage{right:auto;left:0;width:18%;opacity:.7}.air .intro{padding:100px 18%}.air .program{background:#edf0e9}.air .venue-copy{border-radius:2px 70px 2px 2px;background:#fcf9f1f2}.air .invitation-details{background:#eee4df}.air .light-scene{mix-blend-mode:screen;opacity:.5}.light-scene i{position:absolute;inset:-40% 20%;background:linear-gradient(110deg,transparent 40%,#fff5d433 50%,transparent 60%);filter:blur(18px);transform:rotate(-15deg);animation:light-breathe 13s ease-in-out infinite}.light-scene i:nth-child(2){inset:-30% -30%;animation-delay:-5s}.light-scene i:nth-child(3){inset:-40% 60%;animation-delay:-9s}@keyframes light-breathe{0%,100%{opacity:.2;translate:-15px 0}50%{opacity:.75;translate:25px 0}}
.floral-cover.poetry{background:#eee1df}.floral-cover.poetry h2{font-family:Georgia,serif;font-style:italic;font-size:52px;line-height:1.08}.floral-cover.poetry img{width:62%;height:65%;left:35%;bottom:-5%}.floral-cover.air{background:#e8ebe3}.floral-cover.air h2{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:300;font-size:49px;letter-spacing:-.055em;line-height:1.12}.floral-cover.air img{width:100%;height:50%;left:0;bottom:0;object-fit:contain}
@media(max-width:760px){.floral-modern.poetry .hero{grid-template-columns:1fr;min-height:0}.floral-modern.poetry h1,.floral-modern.air h1{font-size:clamp(52px,14vw,76px)}.floral-modern.poetry h2,.floral-modern.air h2{font-size:38px}.poetry .intro{grid-template-columns:1fr}.poetry .portrait{max-width:92%}.air .intro{padding:70px 8%}.air .hero{min-height:800px}.air .hero .art-stage{width:27%}.poetry .hero .art-stage{margin-top:-15px}.floral-cover.poetry h2,.floral-cover.air h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){.petal-scene,.light-scene{display:none}.poetry .hero .art-stage{animation:none;rotate:0;translate:none}}
/* A centred venue composition appears only without an uploaded photograph. */
.venue-flower{display:none}
.floral-modern.air .venue:not(.has-photo-1){display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:520px;padding:70px 8%;background:#e8e5dc;text-align:center}
.air .venue:not(.has-photo-1) .venue-copy{background:transparent;padding:0;border-radius:0;width:100%;max-width:1000px;text-align:center;order:0}
.air .venue:not(.has-photo-1) .venue-copy .eyebrow{margin:0 0 26px}
.floral-modern.air .venue:not(.has-photo-1) .venue-copy h2{font-size:clamp(48px,6.5vw,94px);line-height:1.1;margin:0 auto 25px;width:100%;text-align:center}
.air .venue:not(.has-photo-1) .venue-copy p[data-field=address]{border:0;padding:0;font-size:20px;text-align:center;margin:0 auto;max-width:750px}
.air .venue:not(.has-photo-1) .venue-flower{display:block;order:1;width:155px;pointer-events:none}
.venue-flower img{width:100%;height:230px;object-fit:contain;display:block}
.air .venue:not(.has-photo-1) #map{display:inline-block;margin-top:22px}.air .venue #map[hidden]{display:none}
.editing.air .venue:not(.has-photo-1){padding-bottom:105px}.editing.air .venue:not(.has-photo-1) .venue-background{border:0;background:transparent;min-height:0}
@media(max-width:760px){.floral-modern.air .venue:not(.has-photo-1){padding:55px 7%;min-height:0;gap:24px}.floral-modern.air .venue:not(.has-photo-1) .venue-copy h2{font-size:clamp(42px,11vw,60px)}.air .venue:not(.has-photo-1) .venue-copy p[data-field=address]{font-size:18px}.air .venue:not(.has-photo-1) .venue-flower{width:130px}.venue-flower img{height:195px}.editing.air .venue:not(.has-photo-1){padding-bottom:105px}}
/* The schedule is revealed row by row, once on entry. */
.air #schedule.waiting{opacity:1;translate:none}
.air #schedule.plan-stagger .schedule-row{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--step-delay,0ms)}
.air #schedule.plan-revealed .schedule-row,.editing.air #schedule .schedule-row{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.air #schedule.plan-stagger .schedule-row{opacity:1;transform:none;transition:none}}
/* Without a venue photo, place and schedule form one continuous composition. */
.floral-modern.air .venue:not([hidden]):not(.has-photo-1):has(+ .program:not([hidden])){padding-bottom:0;min-height:0}
.floral-modern.air .venue:not([hidden]):not(.has-photo-1):has(+ .program:not([hidden])) .venue-flower{margin-top:8px}
.floral-modern.air .venue:not([hidden]):not(.has-photo-1) + .program:not([hidden]){background:#e8e5dc;padding-top:35px;padding-bottom:80px}
.editing.air .venue:not([hidden]):not(.has-photo-1):has(+ .program:not([hidden])){padding-bottom:65px}
@media(max-width:760px){.floral-modern.air .venue:not([hidden]):not(.has-photo-1) + .program:not([hidden]){padding-top:30px;padding-bottom:55px}.air .venue:not([hidden]):not(.has-photo-1) + .program .program-heading{text-align:center}}

/* Desktop: venue / botanical divider / programme, only when both blocks exist without a venue image. */
@media(min-width:901px){
.air .venue-program:has(> .venue:not([hidden]):not(.has-photo-1)):has(> .program:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.38fr) minmax(0,1fr);align-items:center;gap:30px;background:#e8e5dc;padding:80px 7%;position:relative}
.floral-modern.air .venue-program:has(> .program:not([hidden])) > .venue:not([hidden]):not(.has-photo-1){display:contents}
.air .venue-program:has(> .program:not([hidden])) > .venue:not([hidden]):not(.has-photo-1) .venue-copy{grid-column:1;grid-row:1;order:0;min-width:0}
.air .venue-program:has(> .program:not([hidden])) > .venue:not([hidden]):not(.has-photo-1) .venue-flower{grid-column:2;grid-row:1;order:0;width:100%;max-width:180px;margin:0 auto}
.air .venue-program:has(> .program:not([hidden])) > .venue:not([hidden]):not(.has-photo-1) .venue-flower img{height:330px;transform:translateX(-24px)}
.floral-modern.air .venue-program > .venue:not([hidden]):not(.has-photo-1) + .program:not([hidden]){grid-column:3;grid-row:1;display:block;padding:0;min-width:0;background:transparent}
.floral-modern.air .venue-program > .venue:not([hidden]):not(.has-photo-1) .venue-copy h2{font-size:clamp(42px,4.5vw,68px)}
.air .venue-program > .venue:not([hidden]):not(.has-photo-1) + .program .program-heading{text-align:center;margin-bottom:30px}
.floral-modern.air .venue-program > .venue:not([hidden]):not(.has-photo-1) + .program h2{font-size:clamp(30px,3vw,44px);margin-top:20px}
.air .venue-program .schedule-row{grid-template-columns:60px minmax(0,1fr);gap:15px}
.editing.air .venue-program:has(> .venue:not(.has-photo-1)):has(> .program:not([hidden])){padding-bottom:110px}
.editing.air .venue-program > .venue:not(.has-photo-1) .venue-background{inset:auto 55% 15px 7%;height:55px}
}
