/* Every selector is scoped to the original Garden Letter design (id: wedding). */
.garden-letter{--garden-ink:#4f593d;--garden-muted:#68704f;--garden-thread:#ac9870;--garden-paper:#f7f1e5;color:var(--garden-ink)}
.garden-letter .hero,.garden-letter .invitation-cover{height:900px;container-type:inline-size;color:var(--garden-ink);font-family:var(--serif)}
.garden-letter .invitation-cover{perspective:1600px;background:#c8cbb7;isolation:isolate}
.garden-letter .garden-panel{position:absolute;inset:0 auto 0 0;width:50%;overflow:hidden;background:#c8cbb7;transform-origin:left center;backface-visibility:hidden}
.garden-letter .garden-panel-right{left:50%;transform-origin:right center;box-shadow:inset 1px 0 2px #4c59484d}
.garden-letter .garden-fabric{position:absolute;inset:0 auto 0 0;width:200%;height:100%;max-width:none;object-fit:fill}
.garden-letter .garden-panel-right .garden-fabric{left:-100%}
.garden-letter .garden-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 86%,#29381d1f);pointer-events:none}
.garden-letter .garden-panel-right:after{background:linear-gradient(90deg,#29381d1f,transparent 14%)}
.garden-letter .garden-cover-layout{position:absolute;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:center;justify-items:center;gap:22px;padding:82px 10% 52px}
.garden-letter .garden-cover-heading{position:relative;width:100%;text-align:center;color:#25351f;text-shadow:0 1px 1px #f7f1dfa8;background:radial-gradient(ellipse,#eef1df80,transparent 72%);padding:10px 0}
.garden-letter .garden-cover-heading>p{font:500 12px/1.9 var(--sans);letter-spacing:.05em}
.garden-letter .garden-cover-heading h2{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 9px;font:400 calc(34px * var(--garden-name-scale,1))/1.55 var(--serif);margin:14px 0 10px;overflow-wrap:anywhere}
.garden-letter .garden-cover-heading h2>span{max-width:100%;text-wrap:balance}
.garden-letter .garden-cover-heading h2 i{font:italic 24px Georgia,serif;margin:0 5px}
.garden-letter .garden-cover-heading>time,.garden-letter .garden-cover-heading>.garden-cover-date-fallback{font:500 14px/1.8 var(--sans)}
.garden-letter .garden-open{position:relative;max-width:260px;width:100%;padding:0;border:0;background:none;color:#78633f;display:flex;flex-direction:column;align-items:center;gap:22px;cursor:pointer;z-index:2}
.garden-letter .garden-seal{position:relative;display:block;width:100%;max-width:245px;aspect-ratio:260/330;filter:drop-shadow(2px 9px 7px #39432c39);transition:transform .4s ease,filter .4s ease}
.garden-letter .garden-cartouche{width:100%;height:100%;display:block}
.garden-letter .garden-seal-motion{position:relative;display:block;width:100%;height:100%}
.garden-letter .garden-initials{position:absolute;inset:34% 18% auto;display:block;font:400 52px/1.3 var(--serif);letter-spacing:.1em;text-align:center;text-shadow:0 1px #fff8e4}
.garden-letter .garden-seal .garden-branch{position:absolute;left:30%;bottom:26%;width:40%;height:auto;color:#9a8d68}
.garden-letter .garden-open-label{display:flex;align-items:center;justify-content:center;gap:12px;font:11px/1.8 var(--sans);min-height:44px;padding:10px 20px;border:1px solid #6a76545c;border-radius:999px;background:#faf7edcc;color:#48553c;white-space:nowrap}
.garden-letter .garden-open-label svg{width:25px;height:14px}
.garden-letter .garden-open:hover .garden-seal{transform:translateY(-3px) rotate(-1deg);filter:drop-shadow(3px 12px 9px #39432c45)}
.garden-letter .garden-open:focus-visible{outline:none}
.garden-letter .garden-open:focus-visible .garden-open-label{outline:2px solid #47543b;outline-offset:5px}
.garden-letter .garden-cover-note{position:relative;margin:0;max-width:260px;text-align:center;font:500 12px/1.9 var(--serif);color:#25351f;text-shadow:0 1px 1px #f7f1dfb3}
.garden-letter .garden-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1}
.garden-letter .garden-hero-copy{position:absolute;top:15%;left:16%;right:16%;text-align:center}
/* Let edited names and locations make the full invitation taller instead of clipping. */
.invitation-shell.garden-letter .hero{height:auto;min-height:900px;display:flow-root}
.invitation-shell.garden-letter .hero>.garden-hero-copy{position:relative;top:auto;left:auto;right:auto;width:68%;margin:135px auto 240px;z-index:1}
.garden-letter .garden-eyebrow{font:10px/1.9 var(--sans);letter-spacing:.06em;margin:0 0 19px}
.garden-letter .garden-names{display:flex;flex-direction:column;align-items:center;gap:3px;margin:0;color:var(--garden-ink);font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:1.4}
.garden-letter .garden-names>span{font-size:calc(53px * var(--garden-name-scale));max-width:100%;overflow-wrap:anywhere}
.garden-letter .garden-names>i{font:italic 26px/1.1 Georgia,serif;color:#9c885b;margin:4px 0}
.garden-letter .garden-branch{display:block;width:115px;height:30px;margin:14px auto;color:var(--garden-thread)}
.garden-letter .garden-date{display:flex;align-items:center;justify-content:center;gap:15px;margin:20px auto 0;text-align:left;color:#4f593d}
.garden-letter .garden-date b{font:400 49px/1 Georgia,serif;border-right:1px solid #a9976e77;padding-right:15px}
.garden-letter .garden-date>span{font:13px/1.65 var(--serif)}
.garden-letter .garden-date small{display:block;font:11px/1.9 var(--sans);letter-spacing:.12em}
.garden-letter .garden-meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:3px 10px;font:12px/1.85 var(--sans);margin-top:18px!important;overflow-wrap:anywhere}
.garden-letter .garden-meta>span{max-width:100%}
.garden-letter .garden-meta i{font-style:normal;color:#a4936e}
.garden-letter .garden-discover{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;max-width:100%;width:fit-content;margin:23px auto 0;padding:4px 12px;text-decoration:none;font:11px/1.8 var(--sans);color:#4f593d;border-bottom:1px solid #a9976e70;border-radius:0 0 18px 18px}
.garden-letter .garden-discover:focus-visible{outline:2px solid #586444;outline-offset:5px;border-radius:12px}
.garden-letter .garden-discover>span{font:20px Georgia,serif;animation:garden-arrow 2.4s ease-in-out infinite}
/* Movement stays inside the invitation; the button's hit area never drifts. */
.invitation-shell.garden-letter .garden-cover-heading>*{animation:garden-ink-in .85s both}
.invitation-shell.garden-letter .garden-cover-heading>h2{animation-delay:.12s}
.invitation-shell.garden-letter .garden-cover-heading>time,.invitation-shell.garden-letter .garden-cover-heading>.garden-cover-date-fallback{animation-delay:.24s}
.invitation-shell.garden-letter .garden-open{animation:garden-ink-in 1s .3s both}
.invitation-shell.garden-letter .garden-seal-motion{transform-origin:50% 12%;animation:garden-cartouche-sway 4.8s .9s ease-in-out infinite}
.invitation-shell.garden-letter .garden-cover-note{animation:garden-ink-in 1s .5s both}
.invitation-shell.garden-letter .garden-open-label svg{animation:garden-invite-arrow 2.6s ease-in-out infinite}
.garden-letter .invitation-cover.is-opening{animation:none;background:transparent;overflow:hidden;z-index:6}
.garden-letter .is-opening .garden-panel-left{animation:garden-left-open 1.65s cubic-bezier(.22,.7,.2,1) both}
.garden-letter .is-opening .garden-panel-right{animation:garden-right-open 1.48s .15s cubic-bezier(.22,.7,.2,1) both}
.invitation-shell.garden-letter .is-opening .garden-open{animation:garden-seal-lift .65s ease both}
.invitation-shell.garden-letter .is-opening .garden-seal-motion{animation:none}
.invitation-shell.garden-letter .is-opening .garden-cover-heading,.invitation-shell.garden-letter .is-opening .garden-cover-note{animation:garden-cover-fade .45s ease both}
.garden-letter .is-open .hero>.garden-art{animation:garden-art-settle 2.8s ease-out both}
.garden-letter .is-open .garden-hero-copy>*{animation:garden-ink-in 1s .7s cubic-bezier(.2,.7,.25,1) both}
.garden-letter .is-open .garden-hero-copy>.garden-names{animation:none}
.garden-letter .is-open .garden-names>span{animation:garden-name-in 1.2s .85s cubic-bezier(.2,.75,.2,1) both}
.garden-letter .is-open .garden-names>span:last-child{--garden-name-x:18px;animation-delay:1.15s}
.garden-letter .is-open .garden-names>i{animation:garden-ink-in 1.1s 1s ease both}
.garden-letter .is-open .garden-hero-copy>.garden-branch{animation:garden-ink-in 1s 1.15s both,garden-branch-sway 6s 2.15s ease-in-out infinite}
.garden-letter .is-open .garden-hero-copy>.garden-date{animation-delay:1.35s}
.garden-letter .is-open .garden-hero-copy>.garden-meta{animation-delay:1.5s}
.garden-letter .is-open .garden-hero-copy>.garden-discover{animation-delay:1.65s}
.garden-letter .is-open .garden-hero-copy>.garden-branch path{stroke-dasharray:220;stroke-dashoffset:220;animation:garden-stitch 1.8s 1.05s ease both}
.garden-letter .garden-breeze{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.garden-letter .garden-petal{position:absolute;left:8%;top:15%;width:16px;height:23px;color:#b8a17b;opacity:.65}
.garden-letter .garden-petal svg{display:block;width:100%;height:100%}
.garden-letter .garden-petal:nth-child(2){left:85%;top:12%;width:13px;height:19px;color:#ccb8a4;--petal-x:-14px;--petal-y:48px;--petal-turn:-58deg;--petal-duration:9s;--petal-delay:-4s}
.garden-letter .garden-petal:nth-child(3){left:5%;top:52%;width:11px;height:17px;color:#8e9b72;--petal-x:13px;--petal-y:28px;--petal-turn:46deg;--petal-duration:8s;--petal-delay:-6s}
.garden-letter .garden-petal:nth-child(4){left:91%;top:45%;color:#8e9b72;--petal-x:-19px;--petal-y:40px;--petal-turn:-32deg;--petal-duration:11s;--petal-delay:-2s}
.garden-letter .garden-petal:nth-child(5){left:13%;top:74%;width:14px;height:20px;color:#cda998;--petal-x:12px;--petal-y:35px;--petal-turn:68deg;--petal-duration:9.5s;--petal-delay:-5s}
.garden-letter .garden-petal:nth-child(6){left:82%;top:79%;width:11px;height:16px;--petal-x:-12px;--petal-y:28px;--petal-turn:-48deg;--petal-duration:8.5s;--petal-delay:-1s}
.garden-letter .is-open .garden-petal{animation:garden-petal-drift var(--petal-duration,10s) var(--petal-delay,0s) ease-in-out infinite}
.garden-letter .garden-butterflies{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.garden-letter .garden-butterfly{position:absolute;left:87%;top:32%;width:34px;height:32px;opacity:.85}
.garden-letter .garden-butterfly:nth-child(2){left:5%;top:67%;width:28px;height:26px;--butterfly-x:12px;--butterfly-y:-24px;--butterfly-turn:15deg;--butterfly-duration:12s;--butterfly-delay:-5s}
.garden-letter .garden-butterfly svg{display:block;width:100%;height:100%;overflow:visible}
.garden-letter .garden-wing{transform-origin:26px 26px}
.garden-letter .is-open .garden-butterfly{animation:garden-butterfly-flight var(--butterfly-duration,10s) var(--butterfly-delay,0s) ease-in-out infinite}
.garden-letter .is-open .garden-wing-left{animation:garden-wing-left .85s ease-in-out infinite alternate}
.garden-letter .is-open .garden-wing-right{animation:garden-wing-right .85s ease-in-out infinite alternate}
.garden-letter .garden-butterfly:nth-child(2) .garden-wing{animation-duration:1.1s;animation-delay:-.3s}
.garden-letter.garden-motion-hidden,.garden-letter [data-garden-in-view="false"]{--garden-ambient-state:paused}
.invitation-shell.garden-letter .garden-seal-motion,.invitation-shell.garden-letter .garden-open-label svg,.garden-letter .is-open .garden-petal,.garden-letter .garden-discover>span,.garden-letter .is-open .garden-butterfly,.garden-letter .is-open .garden-wing{animation-play-state:var(--garden-ambient-state,running)}
.garden-letter .is-open .garden-hero-copy>.garden-branch{animation-play-state:running,var(--garden-ambient-state,running)}
.garden-letter .details{background:linear-gradient(#fff9ed45,#fff9ed45),repeating-linear-gradient(0deg,#a8946e06 0 1px,transparent 1px 4px),var(--garden-paper);color:var(--garden-ink);padding:0 48px 34px;position:relative;overflow-wrap:anywhere}
.garden-letter .details:before{content:'';position:absolute;inset:25px 18px 22px;border-left:1px dashed #a99c7644;border-right:1px dashed #a99c7644;pointer-events:none}
.garden-letter .invitation-countdown{padding:45px 0 37px;border-bottom:1px dashed #a99c7680}
.garden-letter .invitation-countdown .section-label{font-size:13px;color:#596247}
.garden-letter .countdown-digits b{font-size:46px;color:#586444;font-variant-numeric:tabular-nums}
.garden-letter .countdown-digits span{font-size:11px;color:#687254}
.garden-letter .details-intro{padding:48px 0 42px}
.garden-letter .details-intro .section-label{font-size:10px;color:#7a7154}
.garden-letter .details-intro h2{max-width:400px;margin:14px auto 22px;font-size:30px;line-height:1.65;color:#4f593d;text-wrap:balance}
.garden-letter .details-intro>p:last-child{font:15px/2.05 var(--serif);max-width:370px;color:#555e47;text-wrap:pretty}
.garden-letter .chapter-heading{border-top:1px dashed #a99c7680;justify-content:center;padding:28px 0 18px;gap:14px}
.garden-letter .chapter-heading .number{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px dashed #a9976e8c;border-radius:50%;color:#8b764d;font-size:16px}
.garden-letter .chapter-heading h2{font-size:20px}
.garden-letter .agenda{position:relative;padding-bottom:18px}
.garden-letter .agenda:before{content:'';position:absolute;top:34px;bottom:50px;left:95px;border-left:1px dashed #aa987173;pointer-events:none}
html[lang] .garden-letter .agenda li{position:relative;display:grid;grid-template-columns:78px minmax(0,1fr);align-items:start;padding:26px 0;border-bottom:0;gap:36px}
.garden-letter .agenda li:before{content:'';position:absolute;left:92px;top:37px;width:7px;height:7px;border:1px solid #aa9871;background:#f7f1e5;border-radius:50%;box-shadow:0 0 0 4px #f7f1e5}
.garden-letter .agenda time{font-size:26px;min-width:0;text-align:right;color:#7b6947;white-space:nowrap}
.garden-letter .agenda h3{font-size:17px;color:#4f593d}
.garden-letter .agenda p{font-size:13px;line-height:1.9;color:#5e674f}
.garden-letter .venue-block{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;margin-top:30px;padding:38px 25px 30px;border-radius:160px 160px 14px 14px;background:#eee9da;border:1px solid #a99c7666}
.garden-letter .venue-block:before{inset:7px;border:1px dashed #a99c7666}
.garden-letter .venue-copy{padding-top:10px}
.garden-letter .venue-block .section-label{font-size:10px;margin-bottom:10px;color:#7a7154}
.garden-letter .venue-block h2{font-size:28px;line-height:1.6;color:#4f593d;text-wrap:balance}
.garden-letter .venue-block .venue-copy>p:last-child{font-size:12px;line-height:1.9;color:#68705b}
.garden-letter .venue-date{padding:4px 0 5px;gap:7px}
.garden-letter .venue-date b{font-size:44px;color:#596247}
.garden-letter .venue-date span{font-size:10px}
.garden-letter .venue-block>a{font-size:12px;padding:13px 24px;min-height:48px;background:#536043;color:#fffaf0;border-color:#536043;z-index:1;gap:14px}
.garden-letter .venue-block>a:hover{background:#425034;border-color:#425034}
.garden-letter .venue-block>a:focus-visible{outline:2px solid #536043;outline-offset:5px}
.garden-letter .letter-closing{padding:50px 4px 23px}
.garden-letter .letter-closing .closing-copy{font-size:14px;line-height:2;color:#5a624a}
.garden-letter .closing-signature{font-size:30px;color:#4f593d}
.garden-letter .invitation-actions{grid-template-columns:1fr;max-width:340px;margin:18px auto 0}
.garden-letter .invitation-actions button{min-height:48px;font-size:11px;color:#596247;border-color:#9ba68780;background:#fcf8ee66}
.garden-letter .invitation-footer{background:#e8e7d8;border-color:#b1b79d80;color:#596247;padding:38px 25px calc(120px + env(safe-area-inset-bottom,0px))}
.garden-letter .footer-wordmark{font-size:28px;color:#4e593d}
.garden-letter .footer-contact{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:12px;color:#596247}
.garden-letter .invitation-footer p{font-size:9px;line-height:1.9}
.garden-letter .footer-back{color:#626c51;font-size:10px}
.garden-letter .invitation-reveal .letter-sprig path{stroke-dasharray:220;stroke-dashoffset:220;animation:garden-stitch 1.6s ease forwards}
.invitation-shell.garden-letter .invitation-reveal{animation:garden-section-in .95s cubic-bezier(.2,.75,.2,1) both;animation-delay:var(--reveal-delay,0ms)}
.invitation-shell.garden-letter .invitation-reveal:focus-within{animation:none}
.garden-letter .invitation-reveal .countdown-digits>div{animation:garden-ink-in .9s both;animation-delay:calc(var(--reveal-delay,0ms) + 80ms)}
.garden-letter .invitation-reveal .countdown-digits>div:nth-child(2){animation-delay:calc(var(--reveal-delay,0ms) + 180ms)}
.garden-letter .invitation-reveal .countdown-digits>div:nth-child(3){animation-delay:calc(var(--reveal-delay,0ms) + 280ms)}
.garden-letter .agenda:has(.invitation-reveal):before{transform-origin:top;animation:garden-timeline-grow 1.5s ease both}
.garden-letter .agenda li.invitation-reveal:before{animation:garden-timeline-dot 1.1s ease both;animation-delay:var(--reveal-delay,0ms)}
.garden-letter .agenda li.invitation-reveal>div{animation:garden-ink-in .9s ease both;animation-delay:calc(var(--reveal-delay,0ms) + 130ms)}
.garden-letter .venue-block>a,.garden-letter .invitation-actions button{transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.garden-letter .venue-block>a svg{transition:transform .25s ease}
@media(hover:hover){
  .garden-letter .venue-block>a:hover,.garden-letter .invitation-actions button:hover{transform:translateY(-3px);box-shadow:0 7px 14px #53604318}
  .garden-letter .venue-block>a:hover svg{transform:translateX(4px)}
}
.garden-letter .venue-block>a:active,.garden-letter .invitation-actions button:active{transform:translateY(0) scale(.98)}
.garden-letter.garden-mini{position:absolute;inset:0;container-type:inline-size;overflow:hidden;isolation:isolate;font-family:var(--serif)}
.garden-letter.garden-mini .garden-hero-copy{top:13%;left:15%;right:15%}
.garden-letter.garden-mini .garden-eyebrow{font-size:2.6cqw;margin-bottom:5cqw;letter-spacing:0}
.garden-letter.garden-mini .garden-names>span{font-size:calc(11.5cqw * var(--garden-name-scale))}
.garden-letter.garden-mini .garden-names>i{font-size:5cqw;margin:1cqw 0}
.garden-letter.garden-mini .garden-branch{width:24%;height:5cqw;margin:3cqw auto}
.garden-letter.garden-mini .garden-date{gap:3cqw;margin-top:4cqw}
.garden-letter.garden-mini .garden-date b{font-size:10cqw;padding-right:3cqw}
.garden-letter.garden-mini .garden-date>span{font-size:3cqw}
.garden-letter.garden-mini .garden-date small{font-size:2.4cqw}
.garden-letter.garden-mini .garden-meta{font-size:2.5cqw;margin-top:4cqw!important;gap:2cqw}
@keyframes garden-left-open{0%{transform:rotateY(0);opacity:1}12%{transform:rotateY(5deg);opacity:1}78%{opacity:.65}100%{transform:rotateY(-112deg);opacity:0}}
@keyframes garden-right-open{0%{transform:rotateY(0);opacity:1}12%{transform:rotateY(-5deg);opacity:1}78%{opacity:.65}100%{transform:rotateY(112deg);opacity:0}}
@keyframes garden-cartouche-sway{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-6px) rotate(1.2deg)}}
@keyframes garden-invite-arrow{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
@keyframes garden-seal-lift{0%{opacity:1;transform:none}35%{opacity:1;transform:translateY(-10px) rotate(-3deg) scale(1.05)}100%{opacity:0;transform:translateY(-34px) rotate(5deg) scale(1.15)}}
@keyframes garden-cover-fade{to{opacity:0;transform:translateY(-16px)}}
@keyframes garden-ink-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes garden-name-in{from{opacity:0;transform:translate(var(--garden-name-x,-18px),18px)}to{opacity:1;transform:none}}
@keyframes garden-art-settle{from{transform:scale(1.06);opacity:.65}to{transform:scale(1);opacity:1}}
@keyframes garden-branch-sway{0%,100%{transform:rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg)}}
@keyframes garden-petal-drift{0%,100%{transform:translate(0,0) rotate(-15deg);opacity:.45}50%{transform:translate(var(--petal-x,18px),var(--petal-y,42px)) rotate(var(--petal-turn,55deg));opacity:.8}}
@keyframes garden-butterfly-flight{0%,100%{transform:translate(0,0) rotate(-14deg)}45%{transform:translate(var(--butterfly-x,-16px),var(--butterfly-y,32px)) rotate(var(--butterfly-turn,-28deg))}75%{transform:translate(3px,12px) rotate(2deg)}}
@keyframes garden-wing-left{from{transform:rotateY(0)}to{transform:rotateY(65deg)}}
@keyframes garden-wing-right{from{transform:rotateY(0)}to{transform:rotateY(-65deg)}}
@keyframes garden-section-in{from{opacity:.45;transform:translateY(28px) scale(.985)}to{opacity:1;transform:none}}
@keyframes garden-timeline-grow{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}
@keyframes garden-timeline-dot{0%{transform:scale(.4)}60%{transform:scale(1.55)}100%{transform:scale(1)}}
@keyframes garden-stitch{to{stroke-dashoffset:0}}
@keyframes garden-arrow{0%,100%{transform:translateY(-2px)}50%{transform:translateY(6px)}}
@media(max-width:599px){
  .garden-letter .hero,.garden-letter .invitation-cover{height:clamp(710px,190vw,790px)}
  .invitation-shell.garden-letter .hero{height:auto;min-height:clamp(710px,190vw,790px)}
  .invitation-shell.garden-letter .hero>.garden-hero-copy{width:70%;margin-top:clamp(92.3px,24.7vw,102.7px);margin-bottom:205px}
  .garden-letter .garden-butterfly{width:27px;height:25px;left:88%;top:32%}
  .garden-letter .garden-butterfly:nth-child(2){width:23px;height:21px;left:4%}
  .garden-letter .garden-cover-layout{padding:58px 10% 42px;gap:18px}
  .garden-letter .garden-cover-heading h2{font-size:calc(28px * var(--garden-name-scale,1));margin:12px 0 9px;gap:0 6px}
  .garden-letter .garden-cover-heading h2 i{font-size:20px}
  .garden-letter .garden-cover-heading>p{font-size:11px}
  .garden-letter .garden-cover-heading>time,.garden-letter .garden-cover-heading>.garden-cover-date-fallback{font-size:12px}
  .garden-letter .garden-open{max-width:210px;gap:17px}
  .garden-letter .garden-seal{max-width:190px}
  .garden-letter .garden-initials{font-size:39px}
  .garden-letter .garden-cover-note{font-size:11px;max-width:230px}
  .garden-letter .garden-hero-copy{top:13%;left:15%;right:15%}
  .garden-letter .garden-eyebrow{font-size:11px;margin-bottom:17px}
  .garden-letter .garden-names>span{font-size:calc(44px * var(--garden-name-scale))}
  .garden-letter .garden-names>i{font-size:22px}
  .garden-letter .garden-branch{width:92px;margin:12px auto}
  .garden-letter .garden-date{margin-top:17px;gap:12px}
  .garden-letter .garden-date b{font-size:46px;padding-right:12px}
  .garden-letter .garden-date>span{font-size:13px}
  .garden-letter .garden-date small{font-size:11px}
  .garden-letter .garden-meta{font-size:12px;margin-top:16px!important;gap:2px 8px}
  .garden-letter .garden-discover{font-size:10px;margin-top:18px;gap:8px}
  .garden-letter .details{padding:0 30px 28px}
  .garden-letter .details:before{left:12px;right:12px}
  .garden-letter .details-intro h2{font-size:26px;line-height:1.7}
  .garden-letter .details-intro>p:last-child{font-size:14px;line-height:2}
  .garden-letter .chapter-heading{gap:10px}
  .garden-letter .chapter-heading h2{font-size:18px}
  .garden-letter .chapter-heading .number{width:30px;height:30px;font-size:14px}
  .garden-letter .agenda:before{left:75px}
  html[lang] .garden-letter .agenda li{grid-template-columns:59px minmax(0,1fr);gap:33px}
  .garden-letter .agenda li:before{left:72px;top:35px}
  .garden-letter .agenda time{font-size:22px}
  .garden-letter .agenda h3{font-size:16px;line-height:1.7}
  .garden-letter .agenda p{font-size:12px;line-height:1.9}
  .garden-letter .venue-block{padding:38px 22px 28px;margin-top:26px}
  .garden-letter .venue-block h2{font-size:25px}
  .garden-letter .venue-block .venue-copy>p:last-child{font-size:13px}
  .garden-letter .letter-closing .closing-copy{font-size:14px}
  .garden-letter .closing-signature{font-size:28px}
}
@media(max-width:359px){
  .invitation-shell.garden-letter .hero>.garden-hero-copy{width:72%}
  .garden-letter .garden-cover-layout{padding:48px 9% 38px;gap:15px}
  .garden-letter .garden-cover-heading h2{font-size:calc(25px * var(--garden-name-scale,1))}
  .garden-letter .garden-open{max-width:195px}
  .garden-letter .garden-seal{max-width:175px}
  .garden-letter .garden-open-label{font-size:10px;padding:10px 15px}
  .garden-letter .garden-cover-note{font-size:10px}
  .garden-letter .garden-names>span{font-size:calc(39px * var(--garden-name-scale))}
  .garden-letter .garden-hero-copy{left:14%;right:14%}
  .garden-letter .garden-eyebrow{font-size:10px}
  .garden-letter .garden-date{margin-top:13px}
  .garden-letter .garden-discover{font-size:10px;margin-top:14px;padding-left:0;padding-right:0}
  .garden-letter .details{padding-left:26px;padding-right:26px}
  .garden-letter .details-intro h2{font-size:23px}
  .garden-letter .chapter-heading h2{font-size:16px}
  html[lang] .garden-letter .agenda li{grid-template-columns:53px minmax(0,1fr);gap:26px}
  .garden-letter .agenda:before{left:65px}
  .garden-letter .agenda li:before{left:62px}
  .garden-letter .agenda time{font-size:21px}
  .garden-letter .agenda h3{font-size:15px}
  .garden-letter .countdown-digits b{font-size:38px}
}
.is-thumbnail .invitation-shell.garden-letter .hero{height:760px;min-height:760px}
.is-thumbnail .garden-letter *,.is-thumbnail .garden-letter *:before,.is-thumbnail .garden-letter *:after{animation:none!important}
.is-thumbnail .garden-letter .garden-breeze,.is-thumbnail .garden-letter .garden-butterflies{display:none}
.is-thumbnail .garden-letter .garden-hero-copy>.garden-branch path{stroke-dashoffset:0}
html[lang=en] .garden-letter .agenda time{font-size:16px;line-height:1.9}
@media(max-width:359px){html[lang=en] .garden-letter .agenda time{font-size:14px}}
@media(prefers-reduced-motion:reduce){.garden-letter *,.garden-letter *:before,.garden-letter *:after{animation:none!important;transition:none!important}.garden-letter .invitation-cover.is-opening{display:none}.garden-letter .garden-hero-copy>*,.garden-letter .garden-names>*,.garden-letter .garden-cover-heading>*{opacity:1;transform:none}.garden-letter .garden-breeze,.garden-letter .garden-butterflies{display:none}.garden-letter .invitation-reveal .letter-sprig path,.garden-letter .is-open .garden-hero-copy>.garden-branch path{stroke-dashoffset:0}}
