/* The invitation reads like a small collection of personal letters. */
:root{background:#eee9e1}
.invitation-shell{box-shadow:0 20px 65px #382b2020}
.details{padding:0 46px 42px}
.invitation-countdown{text-align:center;padding:38px 0 33px;border-bottom:1px solid #a58d6b50}
.invitation-countdown .section-label{font-family:var(--serif);font-size:12px;letter-spacing:0;margin:0 0 20px}
.countdown-digits{display:flex;justify-content:center;gap:0;max-width:350px;margin:0 auto}
.countdown-digits>div{display:flex;flex-direction:column;gap:8px;width:33.333%;border-right:1px solid #a58d6b45}
.countdown-digits>div:last-child{border:0}
.countdown-digits b{font-family:Georgia,serif;font-size:38px;line-height:1.1;font-weight:400;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.countdown-digits span{font-size:8px;letter-spacing:.06em}
.details-intro{padding:40px 0 33px;text-align:center}
.letter-sprig{display:block;width:103px;height:32px;margin:0 auto 22px;color:var(--accent)}
.details-intro .section-label{font-size:8px;letter-spacing:.05em}
.details-intro h2{font-size:28px;font-weight:400;line-height:1.6;margin-bottom:20px}
.details-intro>p:last-child{font-size:12px;line-height:2.15;max-width:385px;margin:0 auto}
.chapter-heading{display:flex;gap:16px;align-items:center;margin:11px 0 0;padding:22px 0 16px;border-top:1px solid #a58d6b50}
.chapter-heading .number{font:italic 26px/1 Georgia,serif;opacity:.65}
.chapter-heading h2{font-family:var(--serif);font-weight:400;font-size:19px;line-height:1.7;margin:0}
.agenda{margin:0;border-top:0;padding:0 0 18px}
.agenda li{padding:24px 0;gap:24px;align-items:baseline;border-bottom:1px solid #a58d6b32}
.agenda li:last-child{border-bottom:0}
.agenda time{font-size:23px;flex-basis:58px}
.agenda h3{font-family:var(--serif);font-size:15px;font-weight:400;line-height:1.65}
.agenda p{font-size:10px;line-height:1.95;margin-top:7px}
.venue-block{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:19px 22px;padding:30px 26px 24px;margin-top:20px;border:1px solid #a58d6b66;text-align:left;position:relative;border-radius:100px 100px 8px 8px}
.venue-block:before{content:'';position:absolute;inset:6px;border:1px solid #a58d6b25;border-radius:inherit;pointer-events:none}
.venue-copy{padding-top:23px}
.venue-block .section-label{font-size:8px}
.venue-block h2{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.65}
.venue-block .venue-copy>p:last-child{font-size:10px;line-height:1.9;margin:7px 0 0}
.venue-date{display:flex;flex-direction:column;justify-content:center;align-items:center;align-self:center;gap:9px;padding-top:22px;min-width:74px}
.venue-date b{font:48px/1 Georgia,serif;font-weight:400;letter-spacing:-2px}
.venue-date span{font:9px/1.7 var(--sans);white-space:nowrap;letter-spacing:.02em}
.venue-block>a{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:18px;border:1px solid currentColor;border-radius:999px;padding:11px 18px;min-height:43px;font-size:10px;line-height:1.6}
/* Shared across all invitation themes, including the shorter Save the Date. */
.venue-block>.venue-map{grid-column:1/-1;align-self:stretch;width:100%;min-width:0;margin:3px 0 0;overflow:hidden;isolation:isolate;position:relative;z-index:1;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:20px;background:color-mix(in srgb,var(--paper) 90%,var(--ink))}
.venue-map iframe{display:block;width:100%;height:clamp(230px,55vw,290px);min-height:230px;border:0;border-radius:inherit;background:#e8e7df;color-scheme:light}
.venue-block>.venue-map-note{grid-column:1/-1;max-width:100%;margin:0;font:10px/1.8 var(--sans);color:inherit;opacity:.85}
.venue-block>.venue-map-link{grid-column:1/-1;border-radius:999px;position:relative;z-index:1;max-width:100%;white-space:normal}
.letter-closing{text-align:center;padding:45px 10px 17px}
.letter-closing .flourish{width:85px;opacity:.75;margin-bottom:21px}
.letter-closing .closing-copy{font-size:13px;line-height:2;margin:0 auto;max-width:370px}
.closing-signature{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.7;margin:22px 0 0;letter-spacing:-.5px}
.closing-signature i{font:italic 24px Georgia,serif;margin:0 5px}
.invitation-actions{margin-top:25px;gap:10px}
.invitation-actions button{border-radius:999px;font-size:9px;min-height:45px;padding:10px 12px}
.invitation-footer{padding:34px 24px 28px;background:#f2ebe0}
.footer-wordmark{font-size:27px}
.footer-contact{font-size:10px;min-height:42px;margin:9px auto}
.invitation-footer p{font-size:8px;margin:10px auto;max-width:300px}
.cover-button{border-radius:999px}
/* GARDEN LETTER — embroidery, warm linen, olive ink. */
.theme-wedding{--accent:#8b6e43;color:#4e4d36;background:#f3ebdc}
.theme-wedding .hero,.theme-wedding .invitation-cover{color:#57543b;background:#eee4d0}
.theme-wedding .hero-art{object-fit:fill;object-position:center}
.theme-wedding .art-wash{background:none}
.theme-wedding .cover-border{display:none}
.theme-wedding .cover-wedding-heading{top:16%;left:14%;right:14%}
.theme-wedding .cover-wedding-heading>span{font-size:23px;color:#7c704d;letter-spacing:.15em;margin-bottom:16px}
.theme-wedding .cover-wedding-heading .flourish{width:72px;color:#a7895c}
.theme-wedding .cover-wedding-heading>p{font-size:9px;letter-spacing:.04em;margin-top:27px}
.theme-wedding .cover-wedding-heading>h2{font-size:calc(35px * var(--name-scale));font-weight:400;line-height:1.8;margin-top:22px;letter-spacing:-1.3px}
.theme-wedding .cover-wedding-heading>h2 i{font-size:27px;margin:0 4px}
.theme-wedding .cover-wedding-heading>div{font-size:10px;margin-top:15px}
.theme-wedding .cover-button{top:52%;left:50%;right:auto;bottom:auto;font-size:9px;gap:13px;transform:translateX(-50%);padding:0 17px;white-space:nowrap;border-radius:0}
.theme-wedding .wax-seal{width:59px;height:59px;background:radial-gradient(ellipse at 34% 23%,#b2b294,#7c8465 80%);color:#f7ebcb;box-shadow:inset 0 0 0 3px #6a725959,inset 0 0 0 5px #d1ccae5c,1px 3px 5px #65482e24;font-size:19px}
.theme-wedding .cover-button:hover .wax-seal{transform:translateY(-3px) rotate(-5deg)}
.theme-wedding .cover-button>span:not(.wax-seal){background:#f3e9d4d9;border-radius:999px;padding:7px 12px}
.theme-wedding .cover-bottom-note{bottom:26px;font-size:9px;background:#fff8eadc;color:#645b40;border-color:#b5a27d8c}
.theme-wedding .wedding-top{top:13%;left:18%;right:18%}
.theme-wedding .wedding-top>span{font-size:23px;color:#7e7958;margin-bottom:16px}
.theme-wedding .wedding-top p{font-size:8px;margin-top:17px;line-height:1.8}
.theme-wedding .wedding-copy{top:30%;left:16%;right:16%}
.theme-wedding .couple-names>span{font-size:calc(47px * var(--name-scale));line-height:1.3;letter-spacing:-1.5px}
.theme-wedding .couple-names>i{font-size:26px;color:#95855b;margin:5px 0 8px}
.theme-wedding .wedding-copy .hero-tagline{font-size:9px;line-height:1.8;margin-top:22px}
.theme-wedding .wedding-date{font-size:10px;line-height:1.8;margin-top:17px!important}
.theme-wedding .wedding-bottom{bottom:26px;padding:7px 14px;font-size:9px;background:#fff8eadc;color:#645b40;border-color:#b5a27d8c}
.theme-wedding .details{background:#f8f1e4;color:#5d5b40;padding-top:0;text-align:left}
.theme-wedding .section-label{color:#897a54}
.theme-wedding .invitation-countdown{border-color:#a6966d55}
.theme-wedding .countdown-digits b{color:#676b4a}
.theme-wedding .details-intro{padding-top:44px}
.theme-wedding .details-intro h2{font-size:29px}
.theme-wedding .chapter-heading h2{font-size:20px}
.theme-wedding .agenda{margin-top:0;border-top:0}
.theme-wedding .agenda li{border-color:#a6966d3c}
.theme-wedding .agenda time{color:#8f7950}
.theme-wedding .agenda h3{font-family:var(--serif);font-size:15px;font-weight:400}
.theme-wedding .venue-block{background:#f0e7d6;border-color:#ac9d744f;text-align:left}
.theme-wedding .venue-block>a{color:#6c704c;background:#fbf8ee80}
.theme-wedding .venue-date b{color:#7c7954}
.theme-wedding .closing-signature{color:#74734e}
.theme-wedding .invitation-footer{background:#eee5d4;color:#6d674d;border-color:#a6966d3c}
.theme-wedding .invitation-actions button{border-color:#a6966d88;color:#686646}
@media(min-width:600px){.theme-wedding .hero,.theme-wedding .invitation-cover{height:900px}.theme-wedding .cover-wedding-heading>h2{font-size:calc(40px * var(--name-scale))}.theme-wedding .wedding-copy{top:29%}.theme-wedding .couple-names>span{font-size:calc(53px * var(--name-scale))}}
@media(max-width:620px){.details{padding:0 31px 34px}.details-intro>p:last-child{font-size:12px}.chapter-heading h2{font-size:18px}.venue-block{padding:25px 23px 22px}.venue-block h2{font-size:22px}.invitation-countdown{padding:33px 0 29px}}
@media(max-width:389px){.details{padding:0 24px 31px}.countdown-digits b{font-size:33px}.countdown-digits span{font-size:7px}.invitation-countdown .section-label{font-size:11px}.details-intro{padding:32px 0 25px}.details-intro h2,.theme-wedding .details-intro h2{font-size:25px}.details-intro>p:last-child{font-size:11px;line-height:2.15}.chapter-heading{gap:12px;padding-top:19px}.chapter-heading h2,.theme-wedding .chapter-heading h2{font-size:17px}.chapter-heading .number{font-size:24px}.agenda li{gap:15px;padding:19px 0}.agenda time{font-size:20px;flex-basis:48px}.agenda h3,.theme-wedding .agenda h3{font-size:13px}.agenda p{font-size:9px;line-height:1.9}.venue-block{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:24px 18px 20px;gap:15px 12px;border-radius:70px 70px 8px 8px}.venue-block h2{font-size:20px}.venue-date{min-width:52px}.venue-date b{font-size:38px}.venue-date span{font-size:7px}.venue-block .venue-copy>p:last-child{font-size:9px}.venue-block>a{margin-top:0;font-size:9px;padding:10px 15px;gap:12px}.letter-closing{padding:34px 0 13px}.letter-closing .closing-copy{font-size:12px}.closing-signature{font-size:23px}.invitation-actions button{font-size:8px;padding:9px 8px}.theme-wedding .cover-wedding-heading{top:18%;left:13%;right:13%}.theme-wedding .cover-wedding-heading>h2{font-size:calc(27px * var(--name-scale));line-height:1.8}.theme-wedding .cover-wedding-heading>h2 i{font-size:22px}.theme-wedding .cover-wedding-heading>p{font-size:8px;margin-top:28px}.theme-wedding .cover-wedding-heading>div{font-size:9px}.theme-wedding .cover-button{top:52%;font-size:8px}.theme-wedding .wedding-top{top:15%;left:15%;right:15%}.theme-wedding .wedding-copy{top:32%;left:15%;right:15%}.theme-wedding .couple-names>span{font-size:calc(38px * var(--name-scale))}.theme-wedding .wedding-copy .hero-tagline{font-size:8px;margin-top:18px}.theme-wedding .wedding-date{font-size:9px;margin-top:15px!important}.theme-wedding .wedding-bottom,.theme-wedding .cover-bottom-note{font-size:8px;bottom:23px}}
@media(prefers-reduced-motion:reduce){.theme-wedding .cover-button:hover .wax-seal{transform:none}}
