/* An Indian wedding keepsake: quiet paper, a few embroidered objects, living margins. */
#invitation>.page-edge{display:none}
#invitation>.section[class*="garden-"],#invitation>.garden-closing{position:relative;isolation:isolate;overflow:hidden;margin:0;border:0;box-shadow:none;min-height:0;color:#46513d;text-align:center;scroll-margin-top:0}
#invitation>.section[class*="garden-"]:before,#invitation>.section[class*="garden-"]:after{display:none}
.garden-reading{position:relative;z-index:2;max-width:420px;margin:0 auto;min-width:0}
#invitation>.section[class*="garden-"] h2{font:400 clamp(39px,10.8vw,58px)/1.09 Garden,Georgia,serif;letter-spacing:-.6px;text-wrap:balance;margin:0 0 24px;color:#46513d}
#invitation>.section[class*="garden-"] h2 em{font-weight:400;color:#75816a}
#invitation>.section[class*="garden-"] .chapter-eyebrow{font:10px/1.7 Georgia,serif;letter-spacing:1.5px;text-transform:uppercase;color:#77775f;margin:0 0 19px}
#invitation>.section[class*="garden-"] p{overflow-wrap:anywhere}
.garden-intro,.welcome-message{font:22px/1.5 Garden,Georgia,serif;color:#626954;margin:0 auto 26px}
.garden-signoff{font:italic 23px/1.4 Garden,Georgia,serif;color:#9a8062;margin:24px auto 0;max-width:350px}
.garden-art{position:relative;z-index:2;margin-left:auto;margin-right:auto;pointer-events:none}
.garden-art img{width:100%;height:auto;margin:auto}
[data-garden-scene] figure{position:relative;z-index:2}
.paper-botanical{position:absolute;z-index:1;pointer-events:none;width:106px;opacity:.34}
.paper-botanical img{width:100%;height:auto}
.paper-botanical.corner-left{left:-48px;top:55px;rotate:21deg}
.paper-botanical.corner-right{right:-45px;bottom:40px;rotate:195deg}
.paper-shadow{position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.6;background:radial-gradient(ellipse at -12% 12%,#bfc5aa22 0,transparent 47%),radial-gradient(ellipse at 108% 78%,#e2c4a226 0,transparent 42%);transform-origin:center}
.garden-thread{display:block;position:relative;z-index:1;width:150px;height:42px;margin:0 auto;overflow:visible;color:#b69b6e}
.garden-thread path{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}
/* The first chapter: the embroidery appears in three quiet beats. */
#invitation>.garden-welcome{padding:72px 34px 58px;background:#fbf8f1}
.garden-welcome .garden-reading{max-width:390px}
.garden-welcome .welcome-message{max-width:360px;margin-bottom:30px}
.welcome-keepsake{width:100%;max-width:280px;margin:28px auto 10px}
.garden-welcome .garden-signoff{max-width:260px;margin-top:23px}
.garden-welcome .corner-left{top:10px}.garden-welcome .corner-right{bottom:34px}
/* An open, unframed date on pale sage. */
#invitation>.garden-date{padding:64px 30px;background:linear-gradient(#fbf8f1,#f0f2e9 40px,#f0f2e9 calc(100% - 40px),#fbf8f1)}
.garden-date .date-heading h2{margin-bottom:25px!important}
.date-inscription{position:relative;margin:0 auto 17px;max-width:300px}
.garden-date .date-month{font:italic 27px/1.2 Garden,serif;color:#72785e;margin:0}
.garden-date .date-day{font:118px/1.07 Garden,serif;color:#697657;letter-spacing:-5px;padding-right:5px;margin:0}
.garden-date .date-year{font:11px/1.5 Georgia,serif;letter-spacing:6px;color:#76765f;margin:9px 0 11px;padding-left:6px}
.garden-date .countdown-date{font:19px/1.4 Garden,serif;color:#687056;margin:0 auto}
.date-keepsake{width:132px;margin:22px auto 18px;position:relative}
.diya-glow{position:absolute;left:25%;top:16%;width:34px;height:34px;pointer-events:none;opacity:.45;border-radius:50%;background:radial-gradient(#fbdc8a88,transparent 68%);mix-blend-mode:multiply}
.garden-date .garden-countdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:280px;margin:15px auto 24px}
.garden-date .garden-countdown>div{width:100%;padding:0 10px;border:0}
.garden-date .garden-countdown>div+div{border-left:1px solid #b9b69966}
.garden-date .medallion{background:none;display:block;aspect-ratio:auto;min-height:0;width:100%;height:auto}
.garden-date .medallion strong{font:34px/1.1 Garden,serif;letter-spacing:-.5px;padding:0;color:#5e6d51}
.garden-date .garden-countdown>div>span{font:10px/1.5 Georgia,serif;text-transform:uppercase;letter-spacing:1.2px;display:block;margin-top:9px;color:#6a755c}
.garden-calendar-link{display:inline-flex;align-items:center;justify-content:center;gap:23px;padding:12px 1px 8px;min-height:44px;font:12px/1.5 Georgia,serif;letter-spacing:.7px;text-transform:uppercase;color:#746544;border-bottom:1px solid #baa67d;cursor:pointer;text-decoration:none}
/* A single mandap carries the place; practical details sit alongside one another. */
#invitation>.garden-celebration{padding:68px 30px;background:#fbf8f1}
.venue-keepsake{width:100%;max-width:340px;margin:30px auto 25px}
.venue-details{position:relative;z-index:2;max-width:450px;margin:auto}
.garden-celebration .venue-details h3{font:32px/1.14 Garden,serif;color:#5e6b4c;margin:0 auto 9px;max-width:370px}
.garden-celebration .venue-region{font:italic 23px/1.4 Garden,serif;color:#9b8561;margin:0 0 15px}
.garden-celebration .address{font:18px/1.45 Garden,serif;color:#68705c;margin:13px auto 25px;max-width:300px}
.garden-celebration .event-date{font:21px/1.4 Garden,serif;color:#7c806a;margin:0}
.garden-celebration .garden-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid #b8b29355;border-bottom:1px solid #b8b29355;margin:30px 0 25px;position:relative;z-index:2}
.garden-celebration .event{min-width:0;padding:26px 12px 24px;background:transparent;border:0;border-radius:0;box-shadow:none}
.garden-celebration .event+.event{border-left:1px solid #b8b29355}
.garden-celebration .event-mark{display:block;font:9px/1.5 Georgia,serif;letter-spacing:2px;color:#8b7858;margin-bottom:12px}
.garden-celebration .event-name{font:25px/1.1 Garden,serif;color:#5a654a;margin:0 0 14px;min-height:2.2em}
.garden-celebration .event .event-time{font:26px/1.3 Garden,serif!important;color:#9a7c56!important;margin:0 0 9px!important}
.garden-celebration .event .event-place{font:18px/1.4 Garden,serif!important;color:#767b64!important;margin:0}
.garden-celebration .event-note{font:17px/1.4 Garden,serif;color:#8a826e;margin:12px 0 0}.garden-celebration .event-note:empty{display:none}
/* Useful links are visible immediately, with no disclosure menus to open. */
.garden-celebration .direct-event-actions,.garden-breakfast .direct-event-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;max-width:420px;margin:28px auto 0;position:relative;z-index:2}
.direct-event-choice{min-width:0;text-align:center}
.direct-event-link{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:7px;row-gap:5px;min-height:51px;padding:12px 3px;border:0;border-bottom:1px solid #a9977166;background:none;color:#59684a;text-decoration:none;font:13px/1.4 Georgia,serif;letter-spacing:.2px;cursor:pointer}
.direct-event-link svg{width:17px;height:19px;flex-shrink:0;fill:none;stroke:#a58b5e;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.direct-event-link .action-arrow{font:15px/1 Georgia,serif;color:#9a8059}
.direct-event-alternative{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 2px;font:12px/1.4 Georgia,serif;color:#676b54;text-decoration:underline;text-decoration-color:#b8a58188;text-underline-offset:4px;cursor:pointer}
.direct-event-link:hover,.direct-event-alternative:hover{color:#35432d;border-color:#8a7958}
.direct-event-link:focus-visible,.direct-event-alternative:focus-visible{outline:2px solid #7b8666;outline-offset:4px;border-radius:2px}
@container woven (max-width: 360px) {.garden-celebration .direct-event-actions,.garden-breakfast .direct-event-actions{gap:10px}.direct-event-link{font-size:12px;column-gap:5px}.direct-event-link svg{width:15px}}
.garden-celebration .demo-note{font:11px/1.5 Garden,Georgia,serif;max-width:310px;color:#7a7b67;margin:25px auto 0;position:relative;z-index:2}
/* The day's rhythm is a simple printed programme, connected by fine thread. */
#invitation>.garden-programme{padding:64px 31px;background:linear-gradient(#fbf8f1,#f8f2eb 40px,#f8f2eb calc(100% - 40px),#fbf8f1)}
.programme-heading{position:relative;z-index:2;max-width:380px;margin:auto}
.garden-programme .programme-intro{font:italic 23px/1.4 Garden,serif;color:#a18a70;margin:0 auto 32px;max-width:280px}
.garden-programme .timeline-rows{position:relative;z-index:2;max-width:420px;margin:0 auto;text-align:left}
.garden-programme .timeline-row{display:grid;grid-template-columns:68px minmax(0,1fr);gap:20px;min-height:0;padding:20px 0;border-top:1px solid #bba98a44;align-items:baseline}
.garden-programme .timeline-time{font:21px/1.3 Garden,serif;color:#87714f;margin:0}
.garden-programme .timeline-title{font:24px/1.2 Garden,serif;text-transform:none;letter-spacing:0;color:#5a654c;margin:0 0 7px}
.garden-programme .timeline-note{font:18px/1.45 Garden,serif;color:#68705c;margin:0}
/* A quiet page for the couple’s story. */
#invitation>.garden-story{padding:68px 34px;background:#fbf8f1}
.garden-story .story-copy,.garden-story.story-expanded .story-copy{position:static;inset:auto;max-width:400px;margin:auto}
.garden-story .story-copy p,.garden-story.story-expanded .story-copy p{font:23px/1.5 Garden,serif;color:#626954;margin:0}
.garden-story .garden-signoff{max-width:300px;margin-top:28px}
/* Four useful notes, kept together in a small courtyard of cards. */
#invitation>.garden-guests{padding:68px 24px;background:linear-gradient(#fbf8f1,#f0f2e9 40px,#f0f2e9 calc(100% - 40px),#fbf8f1)}
.garden-guests .garden-reading{padding:0 10px;max-width:390px}
.garden-guests .garden-intro{font-size:21px;max-width:310px;margin:0 auto 28px}
.garden-guests .guest-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;position:relative;z-index:2;max-width:540px;margin:auto}
.garden-guests .guest-card{min-width:0;padding:20px 13px;align-items:center;background:#fdfbf6;border:1px solid #aeb59b55;border-radius:14px;box-shadow:none}
.garden-guests .guest-card-art{width:72px;max-width:100%;aspect-ratio:1;margin:0 0 15px;flex:none}
.garden-guests .guest-card h3{font:23px/1.15 Garden,serif;color:#4e5f43;min-height:1.15em;display:flex;align-items:center;justify-content:center;margin:0 0 10px}
.garden-guests .guest-card p{font:18px/1.45 Garden,serif;color:#626954;margin:0}
.garden-guests .guest-card-link{font:12px/1.5 Georgia,serif;text-transform:uppercase;letter-spacing:.1px;min-height:44px;margin-top:14px;padding:12px 0 6px;color:#776544}
.garden-guests .palette{gap:6px;margin:17px 0 0}.garden-guests .palette span{width:10px;height:10px}
/* A little steam is enough to bring the morning page to life. */
#invitation>.garden-breakfast{padding:68px 34px;background:#fbf8f1}
.garden-breakfast .garden-intro{max-width:320px;margin:0 auto 15px}
.tea-keepsake{position:relative;width:180px;max-width:75%;margin:24px auto 28px}
.tea-keepsake img{height:auto;aspect-ratio:auto}
.ambient-steam{position:absolute;left:50%;top:8%;width:13px;height:39px;border-left:1px solid #b9aa8880;border-radius:50%;filter:blur(.5px);opacity:.35;pointer-events:none}
.garden-breakfast .brunch-details{max-width:360px;margin:0 auto 22px;position:relative;z-index:2}
.garden-breakfast h3{font:30px/1.15 Garden,serif;color:#657050;margin:0 0 16px}
.garden-breakfast .brunch-details p{font:20px/1.4 Garden,serif;color:#68705c;margin:8px 0}
.garden-breakfast #brunch-time{font-size:27px;color:#9a825b}.garden-breakfast #brunch-address{font-size:18px}
/* One invitation to reply. The complete form is a calm modal sheet. */
#invitation>.garden-rsvp{padding:64px 34px 68px;background:linear-gradient(#fbf8f1,#f8f2eb 40px,#f8f2eb calc(100% - 40px),#fbf8f1)}
.reply-keepsake{width:154px;max-width:65%;margin:0 auto 25px}
.garden-rsvp .rsvp-deadline{font:21px/1.45 Garden,serif;color:#68705c;max-width:300px;margin:0 auto 26px}
.garden-reply-action{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:52px;padding:16px 25px;border:1px solid #87916e;background:#6b7b5a;color:#fffaf0;font:11px/1.5 Georgia,serif;letter-spacing:1.1px;text-transform:uppercase;border-radius:28px;box-shadow:0 4px 16px #77805d0d;transition:background .25s,box-shadow .25s}
.garden-reply-action:hover{background:#5b6e4b;box-shadow:0 5px 18px #66734d20}
#reply-dialog{width:min(440px,calc(100% - 28px));max-height:88dvh;margin:auto;padding:0;overflow-y:auto;background:#fcf9f0;color:#586449;border:1px solid #c9bea1;border-radius:5px;overscroll-behavior:contain;box-shadow:0 20px 100px #23351c40}
#reply-dialog:not([open]){display:none}
#reply-dialog::backdrop{background:#293c2580;backdrop-filter:blur(4px)}
#reply-dialog .reply-paper{position:relative;padding:55px 26px 29px;background:#fcf9f0;max-width:none;margin:0}
#reply-dialog .reply-close{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:44px;height:44px;font:27px/1 Georgia,serif;color:#637050;background:none;border:0}
#invitation>.garden-rsvp #reply-dialog h2{font:38px/1.1 Garden,serif;color:#5d6b4e;margin:0 0 25px}
#invitation>.garden-rsvp #reply-dialog .chapter-eyebrow{font-size:8px;margin:0 0 18px;color:#968565}
#reply-dialog #rsvp-form{padding:0;margin:0;max-width:none;border:0;border-radius:0;background:none;box-shadow:none}
#reply-dialog #rsvp-form label,#reply-dialog #rsvp-form legend{color:#677254;font-size:12px}
#reply-dialog #rsvp-form input:not([type=radio]),#reply-dialog #rsvp-form select,#reply-dialog #rsvp-form textarea{background:#fffdf7;border:1px solid #c6bca166;border-radius:2px;color:#5e6b4d}
#reply-dialog #rsvp-form .radio-label{font-size:13px;min-height:44px;margin:0}
#reply-dialog #rsvp-form .reply-button{font:11px/1.5 Georgia,serif;letter-spacing:.5px;border-radius:24px;background:#6b7c58;border-color:#6b7c58}
#reply-dialog .form-status{font-size:18px;line-height:1.4;color:#5b704c;margin:16px 0 0}#reply-dialog .form-status:empty{margin:0}
/* A signature, not another scene. */
#invitation>.garden-closing{padding:32px 32px 35px;background:#fbf8f1}
.garden-closing>.garden-reading>.italic{font:italic 22px/1.4 Garden,serif;color:#867653;max-width:300px;margin:0 auto 24px}
.garden-closing h2{font:52px/1.12 Garden,serif;color:#657152;margin:0 0 24px;overflow-wrap:anywhere}
.garden-closing h2 i{font:italic 25px/1.4 Garden,serif;display:block;color:#ad9772;margin:4px 0}
.garden-closing .small-caps{font:10px/1.7 Georgia,serif;color:#72765e;letter-spacing:1.4px;max-width:300px;margin:auto}
.garden-closing .maker{color:#82916e;margin:55px auto 0}.garden-closing .maker small{color:#9b9c84}
.garden-closing .collection-back{display:block;font:10px/1.5 Georgia,serif;color:#94977e;max-width:280px;margin:22px auto 0}
@container woven (min-width: 540px) {
 #invitation>.garden-welcome{padding:80px 56px 64px}.garden-welcome .garden-reading{max-width:440px}.welcome-message{font-size:25px;max-width:420px!important}.welcome-keepsake{max-width:320px}.garden-signoff{font-size:26px}
 #invitation>.garden-date{padding-top:72px;padding-bottom:72px}.garden-date .date-day{font-size:140px}.date-keepsake{width:150px}
 #invitation>.garden-celebration{padding-left:65px;padding-right:65px}.venue-keepsake{max-width:390px}.garden-celebration .venue-details h3{font-size:39px}.garden-celebration .event-name{font-size:29px}.garden-celebration .event .event-place{font-size:21px!important}
 #invitation>.garden-programme{padding-left:65px;padding-right:65px}.garden-programme .timeline-row{grid-template-columns:88px 1fr;gap:28px;padding:22px 0}.garden-programme .timeline-time{font-size:26px}.garden-programme .timeline-title{font-size:29px}.garden-programme .timeline-note{font-size:20px}
 .garden-story .story-copy p{font-size:25px}
 #invitation>.garden-guests{padding-left:54px;padding-right:54px}.garden-guests .guest-card{padding:22px 20px 27px}.garden-guests .guest-card-art{width:90px}.garden-guests .guest-card h3{font-size:27px;min-height:1.2em}.garden-guests .guest-card p{font-size:20px}
 .tea-keepsake{width:210px}.reply-keepsake{width:180px}
}
@container woven (max-width: 360px) {
 #invitation>.section[class*="garden-"] h2{font-size:38px}
 #invitation>.garden-welcome{padding:64px 28px 56px}.welcome-message{font-size:22px}.garden-signoff{font-size:22px}
 #invitation>.garden-date{padding-left:26px;padding-right:26px}.garden-date .date-day{font-size:112px}
 #invitation>.garden-celebration{padding-left:23px;padding-right:23px}.garden-celebration .event{padding-left:8px;padding-right:8px}.garden-celebration .event-name{font-size:23px}.garden-celebration .event .event-place{font-size:17px!important}
 #invitation>.garden-programme{padding-left:26px;padding-right:26px}.garden-programme .timeline-row{grid-template-columns:62px 1fr;gap:19px}.garden-programme .timeline-time{font-size:20px}.garden-programme .timeline-title{font-size:23px}.garden-programme .timeline-note{font-size:18px}
 #invitation>.garden-story{padding-left:28px;padding-right:28px}.garden-story .story-copy p{font-size:22px}
 #invitation>.garden-guests{padding-left:17px;padding-right:17px}.garden-guests .guest-cards{gap:10px 8px}.garden-guests .guest-card{padding:15px 10px 20px}.garden-guests .guest-card h3{font-size:21px}.garden-guests .guest-card p{font-size:17px}.garden-guests .guest-card-art{width:68px}
 #invitation>.garden-breakfast,#invitation>.garden-rsvp{padding-left:28px;padding-right:28px}#reply-dialog .reply-paper{padding-left:19px;padding-right:19px}
}
@media print{.paper-shadow,.paper-botanical,.garden-petal-field,.garden-reply-action{display:none!important}#invitation>.section[class*="garden-"],#invitation>.garden-closing{background:#fff!important;padding:25px!important}.garden-art{break-inside:avoid}}

.direct-event-link .action-arrow,.direct-event-alternative span{font-family:Arial,sans-serif}

.direct-event-link svg.action-arrow,.direct-event-alternative svg.action-arrow,.garden-calendar-link svg.action-arrow{width:12px;height:12px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}

/* Short, legible chapter labels and quiet shared alignment. */
#invitation>.section[class*="garden-"] h2{max-width:420px;margin-left:auto;margin-right:auto}
.garden-programme .programme-heading{margin-bottom:30px}
.garden-welcome .garden-thread{height:26px;width:100px;margin-top:8px}
.garden-guests .guest-card-link{display:inline-flex;align-items:center;justify-content:center;gap:5px}
.garden-guests .guest-card-link:after{display:none}
#invitation .action-arrow{display:inline-block;width:12px;height:12px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.garden-reply-action .action-arrow{width:16px;height:16px}

@container woven (min-width: 540px) {#invitation>.garden-programme .programme-heading,#invitation>.garden-programme h2{max-width:500px}}

@container woven (max-width: 360px) {.garden-programme .timeline-row{grid-template-columns:70px minmax(0,1fr);gap:16px}}
