[hidden]{display:none!important}.invitation-locked{overflow:hidden}.welcome{background:#ede9df;place-items:center;min-height:100svh;padding:80px 24px;display:grid;position:relative;overflow:hidden}.invitation-locked .welcome{z-index:50;perspective:1800px;position:fixed;inset:0}.window-scene{background:#f6f3e9;position:absolute;inset:0}.window-scene img{object-fit:cover;object-position:center 37%;opacity:.6;width:100%;height:100%}.window-doors{perspective:1800px;position:absolute;inset:0}.door{backface-visibility:hidden;background:linear-gradient(110deg,#f5f1e6,#e9e8dc);border:1px solid #cecbbd;width:50%;transition:transform 1.8s cubic-bezier(.32,0,.16,1) .12s,opacity .7s 1.15s;position:absolute;top:0;bottom:0}.door-left{transform-origin:0;left:0}.door-right{transform-origin:100%;background:linear-gradient(250deg,#f5f1e6,#e9e8dc);right:0}.door-moulding{border:1px solid #cacbbc;position:absolute;inset:28px;box-shadow:inset 0 0 0 9px #f5f1e680,0 0 0 8px #d5d4c735}.door-moulding:before{content:"";border:1px solid #d1d0c2;border-radius:180px 180px 0 0;position:absolute;inset:18px}.door:after{content:"";background:#b0a88d;border-radius:8px;width:5px;height:54px;position:absolute;top:55%;box-shadow:2px 2px 4px #756e4c22}.door-left:after{right:18px}.door-right:after{left:18px}.welcome-copy{text-align:center;z-index:2;max-width:650px;transition:opacity .65s,transform .9s cubic-bezier(.22,1,.36,1);position:relative}.welcome-script{font:22px var(--hand);color:#92967e;margin:55px 0 22px;display:block}.welcome h1{font:400 clamp(40px,6.7vw,78px)/1.04 var(--serif);letter-spacing:-2px;overflow-wrap:anywhere;margin:20px 0 28px}.welcome-rule{color:#989d86;font-size:26px}.welcome-copy>p{letter-spacing:2px;white-space:pre-line;font-size:11px}.welcome .guest-greeting{letter-spacing:.3px;margin:32px 0 20px;font-size:12px}.welcome-footnote{letter-spacing:2px;color:#919480;margin-top:25px;font-size:7px;display:block}.floral-spray{pointer-events:none}.door-flower{transform-origin:bottom;width:clamp(130px,23vw,320px);animation:7s ease-in-out infinite alternate flower-sway;position:absolute;bottom:-35px;left:0}.door-right .door-flower{animation:none;left:auto;right:0;transform:scaleX(-1)}.opening .door-left{opacity:0;transform:rotateY(-88deg)}.opening .door-right{opacity:0;transition-delay:.23s,1.26s;transform:rotateY(88deg)}.opening .welcome-copy{opacity:0;pointer-events:none;transform:translateY(-10px)scale(.985)}.opening{animation:2.25s linear both cover-fade}.story-section{padding:70px max(6%,50vw - 560px);position:relative;overflow:hidden}.section-heading{text-align:center;z-index:1;margin:45px auto 35px;position:relative}.handwritten{font:19px var(--hand);color:#8d977d}.section-heading h2{font:400 clamp(42px,5vw,65px)/1.05 var(--serif);letter-spacing:-1.7px;margin:18px 0}.section-heading h2 em{color:var(--sage);font-weight:400}.section-heading p{color:#7d8472;font-size:12px;line-height:1.9}.gallery-grid{grid-template-columns:1fr 1.12fr 1fr;align-items:center;gap:28px;margin:45px 0 20px;display:grid}.gallery-grid figure{margin:0}.gallery-grid figure:first-child{transform:rotate(-3deg)}.gallery-grid figure:last-child{transform:rotate(3deg)}.gallery-photo{background:#fffdf8;border:0;width:100%;padding:9px;display:block;position:relative;box-shadow:0 6px 24px #494b3b12}.gallery-photo img{aspect-ratio:3/4;object-fit:cover;filter:saturate(.8);width:100%;height:auto;transition:filter .5s;display:block}.gallery-photo:hover img{filter:saturate()}.gallery-photo>span{width:30px;height:30px;color:var(--sage);background:#fffaf0db;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:18px;right:18px}.gallery-grid figcaption{font:12px var(--hand);text-align:center;color:#7b846e;margin-top:16px}.rsvp-section{background:#e9ecdf}.guest-layout{grid-template-columns:1fr 1fr;align-items:center;gap:90px;margin-top:40px;display:grid}.guest-layout .section-heading{text-align:left;margin:0}.guest-layout .section-heading p{max-width:320px}.local-note{color:#7b806f;max-width:380px;margin-top:20px;font-size:10px;line-height:1.7;display:block}.section-flower{opacity:.6;width:190px;position:absolute;bottom:8px;left:-35px}.guest-form{z-index:1;position:relative}.guest-form label{letter-spacing:.3px;margin-top:20px;font-size:11px}.guest-form input,.guest-form textarea,.guest-form select{background:#faf9f280;border-color:#cbd0bf;padding:13px;font-size:14px}.guest-form fieldset{border:0;margin:23px 0 0;padding:0}.guest-form legend{font-size:11px}.guest-form .radio-option{align-items:center;gap:10px;font-size:12px;display:flex}.radio-option input{width:16px;height:16px;accent-color:var(--sage);margin:0}select{width:100%;font:inherit;color:var(--ink);border:1px solid #cbd0bf;border-radius:2px;margin-top:8px;display:block}.guest-form .print-button{margin-top:24px}.form-status{color:#616f50;min-height:20px;font-size:11px;line-height:1.7}.attendance-record{border-top:1px solid #cdd3bf;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-top:40px;padding-top:25px;display:flex;position:relative}.attendance-record .eyebrow{justify-content:flex-start}.attendance-record p{font-size:12px}.text-button{color:#646e56;text-underline-offset:5px;background:0 0;border:0;padding:8px 0;font-size:11px;text-decoration:underline}.text-button:disabled{cursor:default;opacity:.5}#attendance-list{flex-basis:100%;max-height:240px;margin:0;padding:0;list-style:none;overflow:auto}#attendance-list li{overflow-wrap:anywhere;border-top:1px solid #d7dccb;justify-content:space-between;gap:15px;padding:13px 0;font-size:12px;display:flex}#attendance-list small{white-space:nowrap;color:#727d63}.wishes-layout{grid-template-columns:1fr 1fr;align-items:start;gap:80px;display:grid}.wishes-section{background:#f7f1eb}.wish-list{max-height:430px;margin-top:20px;padding:4px;overflow:auto}.empty-wishes{text-align:center;font:italic 30px/1.4 var(--serif);color:#929880;padding:35px 0}.empty-wishes span{font:10px/1.8 var(--sans);margin-top:20px;display:block}.wish-note{overflow-wrap:anywhere;background:#fcfaf4;border:1px solid #e5dfd2;margin-bottom:16px;padding:20px 25px;box-shadow:0 3px 8px #55553c04}.wish-note p{font:20px/1.45 var(--serif);white-space:pre-wrap;margin:0 0 15px}.wish-note span{color:#8a917b;font-size:10px}.gift-section{text-align:center}.gift-section .section-heading{margin-top:28px}.gift-flower{opacity:.75;width:200px;position:absolute;bottom:40px;right:6%;transform:rotate(15deg)}.bank-card{text-align:left;background:#ececde;border:1px solid #d9ddc9;border-radius:3px;max-width:380px;margin:32px auto 5px;padding:29px 32px;position:relative;box-shadow:0 10px 25px #57604208}.bank-label{letter-spacing:2px;justify-content:space-between;font-size:8px;display:flex}.bank-label span{font-size:18px;line-height:1}.bank-card h3{font:25px var(--serif);margin:27px 0 14px}.account-number{letter-spacing:2px;overflow-wrap:anywhere;user-select:all;font-size:19px}.account-holder{letter-spacing:.5px;overflow-wrap:anywhere;font-size:10px}.bank-card .local-note{margin-top:12px;font-size:9px}.guest-nav{z-index:15;backdrop-filter:blur(14px);background:#faf9f0ed;border:1px solid #d9ddca;border-radius:50px;gap:6px;padding:9px 15px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 5px 30px #4a533524}.guest-nav a{text-align:center;color:#727d63;border-radius:25px;width:62px;padding:4px;font-size:9px}.guest-nav a:hover,.guest-nav a:focus-visible{background:#e7ebdc}.guest-nav a span{margin-bottom:4px;font-size:18px;display:block}#lightbox{width:auto;max-width:92vw;max-height:94svh;padding:12px 12px 5px;overflow:auto}#lightbox img{width:auto;max-width:100%;max-height:80svh;margin:auto;display:block}#lightbox .close{background:#fcfaf5e8;border-radius:50%;width:34px;height:34px;top:18px;right:18px}#lightbox p{text-align:center;padding:0 8px;font-size:11px}.will-reveal{opacity:0;transition:opacity .85s,transform .85s;transform:translateY(25px)}.will-reveal.revealed{opacity:1;transform:translateY(0)}.intro-star{animation:4s ease-in-out infinite star-breathe}.flower{transform-origin:bottom;animation:6s ease-in-out infinite alternate flower-sway}.gift-section .eyebrow{z-index:1;position:relative}#toast{bottom:100px}.site-header nav{gap:22px}@keyframes flower-sway{0%{rotate:-3deg}to{rotate:3deg}}@keyframes star-breathe{50%{opacity:.4;scale:.9}}@keyframes cover-fade{0%,46%{opacity:1}72%{opacity:.65}to{opacity:0}}@media (width<=760px){.welcome-script{margin-top:42px}.welcome h1{font-size:42px}.door-moulding{inset:12px}.door-moulding:before{inset:10px}.door-flower{width:145px;bottom:-10px}.story-section{padding:48px 7%}.section-heading{margin:32px 0}.section-heading h2{font-size:44px}.gallery-grid{grid-template-columns:1fr 1fr;gap:15px}.gallery-grid figure:nth-child(2){grid-row:span 2;align-self:center}.gallery-grid figure:last-child{grid-column:1;transform:rotate(2deg)}.gallery-grid figcaption{font-size:10px;line-height:1.5}.gallery-photo{padding:6px}.guest-layout,.wishes-layout{grid-template-columns:1fr;gap:20px}.guest-layout{margin-top:30px}.guest-layout .section-heading{text-align:center}.guest-layout .section-heading p,.local-note{margin-left:auto;margin-right:auto}.section-flower{opacity:.3;width:140px}.gift-flower{opacity:.5;width:140px;bottom:10px;right:-35px}.bank-card{max-width:100%;padding:26px}.guest-nav{gap:0;padding:8px;bottom:12px}.guest-nav a{width:59px;font-size:8px}.empty-wishes{padding:10px 0}.welcome-footnote{font-size:6px}.guest-form input,.guest-form textarea,.guest-form select{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.will-reveal{opacity:1;transform:none}}@media print{.welcome,.story-section,.guest-nav,#lightbox{display:none!important}.invitation-locked{overflow:visible}.will-reveal{opacity:1;transform:none}#page-content{display:block!important}}img.floral-spray{object-fit:contain;user-select:none;filter:saturate(.65);height:auto;display:block}.door img.door-flower{opacity:.88;width:clamp(170px,25vw,350px);bottom:-30px;left:-38px}.door-right img.door-flower{left:auto;right:-38px}.gallery-flower{opacity:.35;z-index:0;width:220px;position:absolute;top:75px;right:-45px;transform:rotate(-24deg)}.gallery-section .section-label,.gallery-grid{z-index:1;position:relative}img.section-flower{opacity:.3;width:210px;bottom:5px;left:-65px}img.gift-flower{opacity:.75;width:240px;bottom:50px;right:3%;transform:rotate(8deg)}@media (width<=760px){.door img.door-flower{opacity:.7;width:165px;bottom:-18px;left:-45px}.door-right img.door-flower{left:auto;right:-45px}.gallery-flower{opacity:.22;width:135px;top:85px;right:-52px}img.section-flower{opacity:.2;width:150px;left:-65px}img.gift-flower{opacity:.4;width:145px;bottom:8px;right:-45px}}@keyframes soft-arrival{0%{opacity:0;translate:0 20px}to{opacity:1;translate:0}}@keyframes photo-unfold{0%{opacity:0;translate:0 28px;scale:.97}to{opacity:1;translate:0;scale:1}}@keyframes floral-drift{0%,to{translate:0;rotate:-2deg}50%{translate:0 -7px;rotate:2deg}}@keyframes heart-greeting{0%,to{scale:1}45%{scale:1.15}65%{scale:1}}@keyframes window-photo-reveal{0%{transform:scale(1.035)}to{transform:scale(1)}}@media screen and (prefers-reduced-motion:no-preference){.welcome-copy>*{animation:.85s both soft-arrival}.welcome-copy>:nth-child(2){animation-delay:.12s}.welcome-copy>:nth-child(3){animation-delay:.24s}.welcome-copy>:nth-child(n+4){animation-delay:.38s}.opening .window-scene img{animation:2.25s cubic-bezier(.22,1,.36,1) both window-photo-reveal}.invitation-opened .intro>*{animation:1.15s cubic-bezier(.22,1,.36,1) both soft-arrival}.invitation-opened .intro h1{animation-delay:.12s}.invitation-opened .intro>p{animation-delay:.25s}.invitation-opened .intro>.scroll-link{animation-delay:.38s}.invitation-opened .guest-nav{animation:.7s .35s both soft-arrival}.motion-item{opacity:0;transition:opacity .8s,translate .8s cubic-bezier(.2,.7,.2,1);translate:0 24px}.motion-item.revealed{opacity:1;translate:0}.gallery-grid figure.motion-item:nth-child(2){transition-delay:.12s}.gallery-grid figure.motion-item:nth-child(3){transition-delay:.24s}.door .door-flower,.door-right .door-flower{animation:7s ease-in-out infinite floral-drift}.door-right .door-flower{animation-delay:-3.5s}.gallery-flower,.section-flower,.gift-flower{transform-origin:bottom;animation:9s ease-in-out infinite floral-drift}.section-flower{animation-delay:-3s}.gift-flower{animation-delay:-6s}#lightbox[open]{animation:.35s ease-out both photo-unfold}#lightbox[open]::backdrop{animation:.3s ease-out both soft-arrival}.wish-note:first-child{animation:.5s ease-out both soft-arrival}.tiny-heart{animation:2.5s ease-in-out 3 heart-greeting}.print-button,.edit-button,.text-button,.guest-nav a,.gallery-photo{transition:translate .25s,box-shadow .25s,background-color .25s}.print-button:active:not(:disabled),.edit-button:active,.gallery-photo:active{scale:.97}.gallery-photo img{transition:filter .5s,scale .6s}.gallery-photo{overflow:hidden}.guest-form input,.guest-form textarea,.guest-form select{transition:border-color .25s,box-shadow .25s}.guest-form :is(input,textarea,select):focus{box-shadow:0 0 0 3px #929d7f20}}@media screen and (hover:hover) and (prefers-reduced-motion:no-preference){.print-button:hover:not(:disabled),.edit-button:hover{translate:0 -3px;box-shadow:0 6px 15px #4a533520}.gallery-photo:hover{translate:0 -5px;box-shadow:0 14px 30px #494b3b20}.gallery-photo:hover img{scale:1.035}.guest-nav a:hover{translate:0 -3px}.text-button:hover:not(:disabled){translate:0 -2px}}@media (prefers-reduced-motion:reduce){.motion-item{opacity:1!important;translate:none!important;scale:1!important}}@media print{.motion-item{opacity:1!important;translate:none!important;scale:1!important}*,:before,:after{transition:none!important;animation:none!important}}.ink-text{margin:-.12em -.16em;padding:.12em .16em;display:inline-block}@keyframes ink-writing{0%{clip-path:inset(-15% 100% -15% -10%);opacity:.3}to{clip-path:inset(-15% -10%);opacity:1}}@keyframes ink-arrow{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes note-float{0%,to{translate:0}50%{translate:0 -4px}}@media screen and (prefers-reduced-motion:no-preference){.ink-note:not(.revealed) .ink-text{clip-path:inset(-15% 100% -15% -10%)}.ink-note.revealed .ink-text{animation:1.5s ease-in-out .15s both ink-writing}.ink-note.hand-note.revealed .ink-text,.ink-note.bottom-note.revealed .ink-text{animation:1.7s ease-in-out .15s both ink-writing,4s ease-in-out 1.85s 2 note-float}.ink-note.hand-note svg path{stroke-dasharray:100;stroke-dashoffset:100px}.ink-note.hand-note.revealed svg path{animation:1.1s ease-in-out 1.4s forwards ink-arrow}.welcome-script .ink-text{animation:1.6s ease-in-out .3s both ink-writing}}@media (prefers-reduced-motion:reduce){.ink-text{clip-path:none!important;opacity:1!important;translate:none!important}.hand-note svg path{stroke-dasharray:none!important;stroke-dashoffset:0!important}}@media print{.ink-text{clip-path:none!important;opacity:1!important;translate:none!important}.hand-note svg path{stroke-dasharray:none!important;stroke-dashoffset:0!important}}.skip-link{z-index:40;background:var(--ink);color:var(--ivory);padding:12px 18px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:where(button,a,input,textarea,select):focus-visible{outline:2px solid var(--sage);outline-offset:4px}.guest-nav{bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 20px)}.guest-nav a{flex:1;min-width:0;min-height:44px}.site-footer{padding-bottom:calc(115px + env(safe-area-inset-bottom,0px))}#toast{text-align:center;max-width:calc(100vw - 32px);bottom:calc(100px + env(safe-area-inset-bottom,0px))}button:disabled{cursor:default}@media (width<=380px){.intro h1{font-size:clamp(48px,17vw,64px)}.intro-star{right:-16px}.wordmark{font-size:23px}.edit-button span{margin-left:6px}.guest-nav a{width:52px}dialog{padding:24px}.form-actions{flex-wrap:wrap}}@media print{.skip-link{display:none!important}}.opening .door,.opening .welcome-copy{will-change:transform,opacity}.opening .window-scene img{will-change:transform}.opening .door .door-flower{animation-play-state:paused}@media screen and (prefers-reduced-motion:no-preference){.invitation-opened .site-header{animation:1s cubic-bezier(.22,1,.36,1) both soft-arrival}}:root{--ivory:#f7f5ee;--ink:#45483e;--muted:#8b8c80;--sage:#777f69;--blush:#eadbd4;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",sans-serif;--hand:"Nothing You Could Do",cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--ivory);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";pointer-events:none;opacity:.035;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--sage);outline-offset:5px}.site-header{border-bottom:1px solid #dedfd4;justify-content:space-between;align-items:center;max-width:1440px;margin:auto;padding:32px 6%;display:flex}.wordmark{font-family:var(--serif);letter-spacing:-1px;font-size:31px;line-height:1}.wordmark>span{font:8px var(--sans);letter-spacing:2px;margin-top:11px;display:block}.site-header nav{align-items:center;gap:35px;font-size:12px;display:flex}.site-header nav a{color:#777c6c}.edit-button{color:var(--ink);background:0 0;border:1px solid #b5b9a7;border-radius:3px;padding:12px 19px;font-size:11px}.edit-button span{margin-left:17px}.intro{text-align:center;max-width:1200px;margin:auto;padding:76px 20px 60px;position:relative}.eyebrow{letter-spacing:2.5px;justify-content:center;align-items:center;gap:15px;font-size:9px;display:flex}.eyebrow>span{background:#a7ae98;width:23px;height:1px}.intro h1{font:400 clamp(60px,7.4vw,100px)/.99 var(--serif);letter-spacing:-3.8px;width:fit-content;margin:25px auto;position:relative}.intro h1 em,.closing h2 em{color:var(--sage);font-weight:400}.intro-star{color:#8b967a;width:32px;height:42px;position:absolute;top:29px;right:-65px}.intro>p{color:#86887b;margin:23px 0 28px;font-size:12px;line-height:1.9}.scroll-link{letter-spacing:2px;align-items:center;gap:17px;font-size:8px;display:inline-flex}.scroll-link span{font-size:16px}.side-note{font:15px var(--hand);color:#919781;width:120px;line-height:1.8;position:absolute;top:58%;left:7%;transform:rotate(-10deg)}.invitation-section{background:#eeeee5;padding:30px 6% 60px;position:relative}.section-label{color:#909481;letter-spacing:1.7px;justify-content:space-between;max-width:1120px;margin:auto;font-size:8px;display:flex}.invitation-wrap{flex-direction:column;align-items:center;max-width:1120px;margin:36px auto 0;display:flex;position:relative}.invitation{aspect-ratio:148/210;background:#fcfaf5;flex-direction:column;width:min(100%,640px);padding:35px 40px 25px;display:flex;position:relative;box-shadow:0 7px 35px #4d514318}.card-top{letter-spacing:1.7px;color:#8a8e7e;justify-content:space-between;font-size:7px;display:flex}.card-top span[lang]{font-size:6px}.invitation h2{text-align:center;font:400 43px/1.05 var(--serif);letter-spacing:-1.2px;overflow-wrap:anywhere;margin:26px -12px 23px}.photo-layout{flex:1;min-height:0;margin:0 28px 0 22px;position:relative}.couple-photo{background:#e8e3d8;width:100%;height:100%;min-height:330px;max-height:460px;margin:0;position:relative;transform:rotate(-2deg)}.couple-photo img{object-fit:cover;object-position:center 46%;filter:saturate(.76);width:100%;height:100%;display:block;position:absolute}.photo-tape{clip-path:polygon(2% 0,97% 4%,100% 94%,0 100%);background:#ede8d6a6;width:85px;height:23px;position:absolute;top:-9px;left:40%;transform:rotate(3deg)}.vertical-text{writing-mode:vertical-rl;letter-spacing:2px;color:#8c8d81;font-size:6px;position:absolute;top:35%;left:-28px;transform:rotate(180deg)}.photo-caption{font:25px var(--hand);color:#69755c;white-space:nowrap;z-index:1;position:absolute;bottom:-20px;right:-24px;transform:rotate(-7deg)}.flower{color:#858f74;z-index:2;width:80px;height:120px;position:absolute;bottom:-30px;left:-55px;transform:rotate(-17deg)}.card-details{text-align:center;margin:35px 0 19px}.tiny-heart{color:#89927b;font-size:20px;line-height:1}.message{font:italic 19px/1.3 var(--serif);white-space:pre-line;overflow-wrap:anywhere;max-width:330px;margin:9px auto 20px}.wedding-date{letter-spacing:2.1px;white-space:pre-line;overflow-wrap:anywhere;margin:0 0 9px;font-size:12px}.time-venue{letter-spacing:1.2px;white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:9px;line-height:1.7}.card-footer{letter-spacing:1.3px;color:#8a8e7e;border-top:1px solid #deded2;justify-content:space-between;align-items:center;margin-top:auto;padding-top:17px;font-size:5px;display:flex}.forever{font:italic 16px var(--serif);letter-spacing:0}.hand-note{width:145px;font:21px/1.6 var(--hand);color:#7f896e;position:absolute;top:66px;right:0;transform:rotate(9deg)}.hand-note svg{width:75px;margin:10px 0 0 -15px;display:block;transform:rotate(50deg)}.bottom-note{font:15px var(--hand);color:#8f947e;margin-top:32px;transform:rotate(-3deg)}.closing{text-align:center;padding:76px 20px 72px}.closing h2{font:400 54px/1.05 var(--serif);letter-spacing:-1px;margin:24px 0 18px}.closing p{color:#858879;font-size:12px}.print-button{color:#fffdf6;background:#747e65;border:1px solid #747e65;border-radius:2px;padding:14px 24px;font-size:11px}.closing .print-button{margin-top:14px}.print-button span{margin-left:28px}.print-info{letter-spacing:1.8px;color:#9a9d8e;margin-top:16px;font-size:7px;display:block}.site-footer{letter-spacing:1.8px;color:#858b76;border-top:1px solid #dcded2;justify-content:space-between;align-items:center;margin:0 6%;padding:27px 0 33px;font-size:7px;display:flex}.site-footer .wordmark{color:var(--ink);font-size:25px}.site-footer a{font-size:7px}dialog{width:min(520px,100% - 32px);color:var(--ink);background:#fcfaf5;border:1px solid #d8dacd;border-radius:4px;padding:36px;box-shadow:0 25px 90px #32372d30}dialog::backdrop{backdrop-filter:blur(5px);background:#3f463c55}dialog h2{font:44px var(--serif);margin:13px 0}dialog h2 em{color:var(--sage)}dialog p{color:#848978;font-size:12px}dialog .eyebrow{justify-content:flex-start;font-size:8px}.close{color:var(--muted);background:0 0;border:0;font-size:25px;position:absolute;top:10px;right:15px}label{letter-spacing:1px;margin-top:20px;font-size:10px;display:block}input,textarea{width:100%;color:var(--ink);resize:vertical;background:#f7f5ee;border:1px solid #d9dacd;border-radius:2px;margin-top:8px;padding:11px;font-size:13px;display:block}input:focus,textarea:focus{outline:1px solid var(--sage)}.form-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:25px;display:flex}#reset{color:var(--sage);background:0 0;border:0;font-size:10px;text-decoration:underline}.storage-note{text-align:center;font-size:9px!important}#toast{opacity:0;pointer-events:none;background:var(--ink);color:var(--ivory);z-index:20;border-radius:3px;padding:14px 22px;font-size:12px;transition:all .2s;position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px)}#toast.visible{opacity:1;transform:translate(-50%)}@media (width>=1200px){.invitation{width:640px}.couple-photo{min-height:415px}}@media (width<=1000px){.hand-note{width:95px;font-size:16px;right:-10px}.side-note{width:90px;font-size:12px;left:3%}.invitation-wrap{max-width:850px}.invitation{width:570px}.couple-photo{min-height:365px}}@media (width<=760px){.site-header{padding:23px 6%}.wordmark{font-size:27px}.wordmark>span{letter-spacing:1.3px;font-size:6px}.site-header nav{gap:0}.site-header nav>a{display:none}.edit-button{padding:10px 13px;font-size:10px}.intro{padding:60px 20px 48px}.intro h1{letter-spacing:-2.5px;font-size:70px}.intro-star{width:21px;top:0;right:-25px}.side-note,.hand-note{display:none}.invitation-section{padding:24px 5% 39px}.section-label{letter-spacing:1.2px;font-size:6px}.invitation-wrap{margin-top:26px}.invitation{aspect-ratio:auto;width:100%;max-width:500px;min-height:620px;padding:24px 24px 20px}.card-top{letter-spacing:1px;font-size:5px}.card-top span[lang]{font-size:4px}.invitation h2{margin:25px -7px 22px;font-size:clamp(24px,6.7vw,37px)}.photo-layout{margin:0 17px 0 16px}.couple-photo{aspect-ratio:1.13;height:auto;min-height:0;max-height:400px}.vertical-text{font-size:5px;left:-22px}.flower{width:62px;bottom:-26px;left:-36px}.photo-caption{font-size:20px;bottom:-19px;right:-11px}.card-details{margin:34px 0 22px}.message{max-width:260px;margin-bottom:17px;font-size:17px}.wedding-date{font-size:10px}.time-venue{font-size:8px}.card-footer{letter-spacing:.6px;font-size:4px}.forever{font-size:14px}.closing{padding:60px 20px}.closing h2{font-size:46px}.site-footer>span:nth-child(2){display:none}.site-footer{padding:24px 0}.bottom-note{font-size:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}#toast{transition:none}}@page{size:A5 portrait;margin:0}@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}html,body{background:#fcfaf5;width:148mm;height:210mm;margin:0}body:before,.site-header,.intro,.section-label,.hand-note,.bottom-note,.closing,.site-footer,dialog,#toast{display:none!important}main,.invitation-section,.invitation-wrap{background:0 0;max-width:none;margin:0;padding:0;display:block}.invitation{aspect-ratio:auto;width:148mm;height:210mm;min-height:0;box-shadow:none;break-inside:avoid;padding:9mm 10mm 6mm}.card-top{font-size:5.5pt}.card-top span[lang]{font-size:4.5pt}.invitation h2{margin:6mm -2mm;font-size:29pt}.photo-layout{flex:1;min-height:0;margin:0 7mm 0 5mm}.couple-photo{aspect-ratio:auto;height:100%;min-height:0;max-height:none}.vertical-text{font-size:4.5pt}.photo-caption{font-size:17pt}.card-details{margin:9mm 0 5mm}.message{max-width:90mm;margin:2mm auto 5mm;font-size:13pt}.wedding-date{font-size:9pt}.time-venue{font-size:7pt}.card-footer{padding-top:4mm;font-size:4pt}.forever{font-size:11pt}}
