/* Original wedding stationery: five compositions, one celebration. */
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:14px;--paper:#f3f1e8;--paper2:#e9eadd;--ink:#394333;--muted:#626b58;--accent:#606c45;--line:#69714c33;--envelope:#66704e;--env-light:#7c8562;--env-dark:#4b5636;--seal:#d8c9a7;--seal-dark:#ad9870;--seal-ink:#6a6248;--letter:#faf7ed;--letter-ink:#454a36;--display:"Cormorant Garamond",Georgia,serif;--script:"Allura","Cormorant Garamond",cursive;--shadow:#2c382029;--button-ink:#fffdf6;--stage-grain:.037}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button,select{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}button svg,a svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h2 em{font-weight:400}::selection{background:var(--accent);color:var(--button-ink)}.skip-link{position:fixed;left:20px;top:-100px;z-index:1000;background:var(--ink);color:var(--paper);padding:15px}.skip-link:focus{top:15px}.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--paper) 83%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;display:flex;align-items:center;gap:22px}.brand-monogram{font-family:var(--display);font-size:32px;letter-spacing:-3px;white-space:nowrap}.brand-monogram>span{font-family:var(--script);font-size:20px;vertical-align:2px;margin:0 4px}.brand-label{font-size:9px;letter-spacing:2.1px}.header-right{display:flex;align-items:center;gap:30px}.current-theme{font-size:10px;letter-spacing:1.5px;display:flex;align-items:center;gap:6px}.slash{opacity:.4;margin:0 4px}.theme-name{font-size:12px;letter-spacing:0;margin-left:17px}.theme-toggle{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:30px;background:transparent;padding:10px 15px;font-size:11px}.theme-toggle:hover{background:var(--line)}.theme-toggle svg{width:14px;height:14px;stroke-width:1.2}.envelope-section{height:170svh;min-height:1000px;position:relative}.envelope-stage{height:100svh;min-height:600px;position:sticky;top:0;overflow:hidden;isolation:isolate;--p:0;--lift:0;--flap:0;--seal-opacity:1;--caption:1;background:var(--paper)}.envelope-stage::after,.invitation-letter::after,.envelope-pocket::after,.envelope-flap::after,.envelope-back::after{content:"";position:absolute;inset:0;opacity:var(--stage-grain);pointer-events:none;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='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E")}.envelope-stage::after{z-index:20;opacity:.032}.stage-aura{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 52%,#fff8 0,transparent 65%);z-index:-1}.hero-title{position:absolute;top:16%;left:0;right:0;text-align:center;z-index:2;opacity:var(--caption);transform:translateY(calc(var(--p)*-30px))}.eyebrow{font-size:10px;letter-spacing:3.2px;font-weight:500;line-height:1.7}.hero-title h1{font-family:var(--display);font-size:clamp(48px,5.3vw,78px);line-height:1.15;letter-spacing:-2px;margin:8px 0 10px}.hero-title h1 span{font-family:var(--script);font-size:.85em;display:inline-block;margin:0 4px}.hero-date{font-size:9px;letter-spacing:3px}.hero-art{position:absolute;z-index:0;width:min(1050px,100vw);height:90%;left:50%;top:8%;transform:translateX(-50%);opacity:.82;pointer-events:none}.hero-art img{width:100%;height:100%;object-fit:fill}.envelope-scene{position:absolute;left:50%;top:54%;width:min(53vw,610px);aspect-ratio:1.65;transform:translate(-50%,calc(-39% + var(--p)*90px));perspective:1500px;isolation:isolate}.envelope-shadow{position:absolute;left:8%;right:8%;height:14%;bottom:-14%;background:var(--env-dark);opacity:.2;filter:blur(26px);border-radius:50%;transform:scaleX(calc(1 - var(--p)*.15))}.envelope-back{position:absolute;inset:0;background:linear-gradient(120deg,var(--env-dark),var(--envelope));border-radius:4px;box-shadow:0 3px 7px var(--shadow),0 26px 45px -12px var(--shadow);z-index:1;overflow:hidden}.invitation-letter{position:absolute;left:11%;bottom:7%;width:78%;height:87%;background:var(--letter);color:var(--letter-ink);box-shadow:0 -4px 18px #141a1315;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateY(calc(var(--lift)*-75%));padding:18px 12px;overflow:hidden}.letter-border{position:absolute;inset:12px;border:1px solid color-mix(in srgb,var(--letter-ink) 25%,transparent);pointer-events:none}.letter-border::before{content:"";position:absolute;inset:4px;border:1px solid color-mix(in srgb,var(--letter-ink) 13%,transparent)}.letter-star{font-size:16px;margin-bottom:7px;color:var(--seal-dark)}.letter-eyebrow{font-size:8px;letter-spacing:2.8px;margin-bottom:7px}.letter-names{font-family:var(--script);font-size:66px;line-height:.82;text-align:center;display:flex;flex-direction:column;align-items:center}.letter-names>span{font-size:25px;line-height:1.1;margin:6px 0}.letter-rule{width:26px;height:1px;background:var(--seal-dark);margin:17px 0 11px}.letter-date{font-family:var(--display);font-size:18px;letter-spacing:4px}.letter-venue{font-size:6px;letter-spacing:2px;margin-top:8px}.envelope-fold{position:absolute;inset:0;z-index:3;border-radius:3px}.fold-left{clip-path:polygon(0 0,57% 55%,0 100%);background:linear-gradient(35deg,var(--env-light),var(--envelope))}.fold-right{clip-path:polygon(100% 0,43% 55%,100% 100%);background:linear-gradient(140deg,var(--env-dark),var(--envelope) 63%)}.envelope-pocket{position:absolute;inset:0;z-index:4;clip-path:polygon(0 100%,0 0,50% 57%,100% 0,100% 100%);background:linear-gradient(0deg,var(--envelope),var(--env-light));border-radius:3px;overflow:hidden}.envelope-pocket::before{content:"";position:absolute;inset:0;background:linear-gradient(31deg,transparent 49.7%,#ffffff25 50%,transparent 50.3%) left bottom / 51% 100% no-repeat,linear-gradient(-31deg,transparent 49.7%,#00000013 50%,transparent 50.3%) right bottom / 51% 100% no-repeat}.envelope-address{position:absolute;left:20%;right:20%;bottom:9%;display:flex;align-items:center;flex-direction:column;gap:5px;color:#faf6e5d9;text-shadow:0 1px 1px #00000015}.envelope-address>span{font-family:var(--display);font-style:italic;font-size:13px}.envelope-address strong{font-family:var(--display);font-size:25px;font-weight:400;letter-spacing:1px}.envelope-flap{position:absolute;inset:0 0 auto;height:58%;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(160deg,var(--env-light) 0,var(--envelope) 70%);transform-origin:50% 0;transform:rotateX(calc(var(--flap)*180deg));z-index:6;filter:drop-shadow(0 1px 1px #00000020);backface-visibility:visible}.flap-outline{position:absolute;inset:7px 9px 11px;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(160deg,#ffffff18,transparent 55%)}.wax-seal{position:absolute;left:50%;top:44%;width:83px;height:84px;transform:translate(-50%,-30%) scale(calc(.8 + var(--seal-opacity)*.2)) rotate(-9deg);border:0;border-radius:48% 51% 47% 52%;z-index:8;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 34% 24%,#ffffff55,transparent 55%),linear-gradient(140deg,var(--seal),var(--seal-dark));box-shadow:2px 5px 9px #00000025,inset 1px 2px 1px #ffffff70,inset -2px -3px 3px #00000020;opacity:var(--seal-opacity);color:var(--seal-ink)}.wax-seal::before,.wax-seal::after{content:"";position:absolute;inset:5px;border:1px solid #ffffff40;border-radius:47% 51% 48% 49%;box-shadow:0 1px 2px #00000021}.wax-seal::after{inset:10px;border-color:#00000015;box-shadow:inset 0 1px 2px #00000018}.seal-initials{font-family:var(--display);font-size:30px;letter-spacing:-4px;padding-right:4px;text-shadow:1px 1px 1px #fff6;position:relative;z-index:1}.seal-initials>span{font-family:var(--script);font-size:21px;position:relative;top:6px;margin:0 3px}.wax-seal:hover{filter:brightness(1.07)}.silk-ribbon{display:none}.envelope-band{display:none}.open-prompt{position:absolute;bottom:9%;left:50%;transform:translateX(-50%);z-index:10;text-align:center;background:transparent;border:0;display:flex;flex-direction:column;align-items:center;gap:11px;width:max-content;max-width:90%;opacity:var(--caption)}.prompt-label{font-size:8px;letter-spacing:2.4px}.open-label{font-size:12px;display:flex;gap:12px;align-items:center}.open-label svg{height:20px;width:13px;animation:float-arrow 2.2s ease-in-out infinite}.scroll-note{font-size:9px;opacity:.65}.stage-foot{position:absolute;bottom:26px;left:5vw;right:5vw;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:var(--muted)}.section-shell{position:relative;padding:100px max(7vw,24px) 100px max(13vw,24px);scroll-margin-top:20px}.section-side{position:absolute;left:5vw;top:115px;display:flex;align-items:center;gap:19px;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px;color:var(--muted)}.section-side>span:first-child{font-size:11px;writing-mode:horizontal-tb}.invitation-section{background:var(--paper);padding-top:65px;padding-bottom:110px}.invitation-content{position:relative;width:min(740px,100%);margin:auto;min-height:800px;display:grid;place-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.invitation-ornament{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:.75;pointer-events:none}.invitation-inner{position:relative;z-index:1;text-align:center;padding:80px 45px}.invitation-prelude{font-family:var(--script);font-size:40px;font-weight:400;line-height:1.3;margin-bottom:28px}.invitation-copy{font-family:var(--display);font-size:24px;line-height:1.55;margin-top:18px}.couple-names{font-family:var(--display);font-size:116px;line-height:.9;margin:32px 0 28px;display:flex;flex-direction:column;align-items:center;font-weight:400;letter-spacing:-4px}.couple-names>em{font-family:var(--script);font-size:54px;line-height:.9;font-style:normal;margin:5px 0}.small-ornament{display:flex;gap:15px;align-items:center;justify-content:center;font-size:14px;color:var(--accent)}.small-ornament span{width:45px;height:1px;background:var(--line)}.closing-copy{font-size:19px;margin-top:23px}.date-section{background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.date-layout{max-width:1160px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:28px 70px;align-items:center}.date-heading h2,.venue-content h2{font-family:var(--display);font-size:61px;line-height:1.02;letter-spacing:-1.5px;margin:22px 0}.date-heading h2 em,.venue-content h2 em{font-style:italic}.body-copy{font-size:13px;line-height:1.9;color:var(--muted)}.date-card{grid-column:2;grid-row:1 / 3;position:relative;min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:180px 180px 4px 4px;padding:40px 22px;background:color-mix(in srgb,var(--paper) 70%,transparent)}.date-card::before{content:"";position:absolute;inset:9px;border:1px solid var(--line);border-radius:inherit}.date-weekday{font-size:11px;letter-spacing:4px;z-index:1}.date-numeral{font-family:var(--display);font-size:160px;letter-spacing:-10px;line-height:1.1;margin-left:-6px}.date-month{font-size:12px;letter-spacing:3px;display:flex;gap:16px;align-items:center}.date-month>i{width:23px;height:1px;background:var(--line)}.date-time{border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;margin-top:27px;padding-top:17px;font-size:11px;color:var(--muted)}.date-time svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1}.countdown-block{align-self:end;display:flex;align-items:flex-start;flex-direction:column;gap:8px}.countdown-line{display:flex;gap:17px;align-items:center;margin-bottom:17px}.countdown-line strong{font-family:var(--display);font-size:57px;font-weight:400;line-height:1}.countdown-line>span{font-size:8px;letter-spacing:1.8px;line-height:1.7}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 21px;border:1px solid var(--accent);font-size:11px;text-decoration:none;min-height:48px;transition:transform .2s,background .2s;line-height:1.4}.button>span:last-child{margin-left:15px;font-size:15px}.button-primary{background:var(--accent);color:var(--button-ink)}.button-secondary{border-color:var(--line);background:transparent}.button:hover{transform:translateY(-2px)}.calendar-note{font-size:9px;color:var(--muted);margin:5px 0 0}.venue-section{padding-top:130px;padding-bottom:130px}.venue-layout{display:grid;grid-template-columns:.88fr 1.2fr;gap:8vw;align-items:center;max-width:1160px;margin:auto}.venue-art{position:relative;background:var(--paper2);padding:40px 28px;min-height:440px;box-shadow:10px 13px 0 var(--line);transform:rotate(-3deg)}.venue-arch{height:100%;min-height:360px;border:1px solid var(--line);border-radius:170px 170px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:25px;padding:50px 15px}.venue-art-top{font-size:7px;letter-spacing:2.7px}.location-symbol{width:65px;height:82px;fill:none;stroke:var(--accent);stroke-width:1;overflow:visible}.venue-art-name{font-family:var(--script);font-size:55px;line-height:1;margin-top:3px}.venue-art-city{font-size:8px;letter-spacing:3px;margin-top:-12px}.venue-art-decoration{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:15px}.venue-content h3{font-family:var(--display);font-size:24px;line-height:1.4;margin:28px 0 10px}.venue-content address{font-style:normal;font-size:13px;line-height:1.9;color:var(--muted)}.venue-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.venue-note{font-family:var(--display);font-style:italic;font-size:20px;margin-top:24px}.closing-section{padding:100px 24px 90px;text-align:center;background:var(--paper2);border-top:1px solid var(--line)}.closing-section h2{font-family:var(--display);font-size:76px;line-height:.98;margin:25px 0;letter-spacing:-2px}.closing-section>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted)}.closing-monogram{font-family:var(--display);font-size:74px;letter-spacing:-11px;margin:42px 0 16px;padding-right:7px}.closing-monogram>span{font-family:var(--script);font-size:50px;display:inline-block;transform:translateY(12px);margin:0 5px}.closing-date{font-size:9px;letter-spacing:4px}.collection-section{background:#fbfaf6;color:#383a34;padding:80px 5vw 38px;border-top:1px solid #e5e3da}.collection-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:35px}.collection-heading h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:44px;line-height:1.05;margin-top:15px}.collection-heading>p{font-size:11px;line-height:1.9;color:#727468}.theme-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.theme-card{appearance:none;text-align:left;background:none;border:0;padding:0;position:relative;color:#383a34;display:flex;flex-direction:column;min-width:0}.theme-card:focus-visible{outline-color:#5f684b}.theme-preview{aspect-ratio:4/5;display:block;width:100%;background:var(--thumb-paper);overflow:hidden;position:relative;border:1px solid #0000000b;transition:transform .3s}.theme-card:hover .theme-preview{transform:translateY(-5px)}.theme-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:.75}.mini-eyebrow{position:absolute;top:13%;left:0;right:0;text-align:center;font-size:6px;letter-spacing:1.5px;color:var(--thumb-ink);opacity:.7}.mini-names{position:absolute;top:22%;left:0;right:0;text-align:center;font-family:var(--thumb-font);font-size:clamp(18px,2.2vw,34px);color:var(--thumb-ink);line-height:1}.mini-envelope{position:absolute;left:16%;right:16%;top:43%;height:35%;background:var(--thumb-env);box-shadow:0 8px 12px #00000015;transform:rotate(-4deg)}.mini-envelope::before{content:"";position:absolute;inset:0;background:linear-gradient(28deg,#fff2,transparent 50%),linear-gradient(-28deg,#0002,transparent 50%);clip-path:polygon(0 100%,0 0,50% 55%,100% 0,100% 100%)}.mini-envelope::after{content:"";position:absolute;left:0;right:0;top:0;height:57%;background:linear-gradient(135deg,#ffffff25,#00000005),var(--thumb-env);clip-path:polygon(0 0,100% 0,50% 100%)}.mini-seal{position:absolute;z-index:2;left:50%;top:43%;width:23%;aspect-ratio:1;transform:translate(-50%,-20%);border-radius:48%;background:var(--thumb-seal);box-shadow:1px 3px 4px #0002;display:grid;place-items:center;font-family:Georgia,serif;font-size:8px;color:var(--thumb-ink);border:3px double #ffffff45}.mini-date{position:absolute;bottom:10%;left:0;right:0;text-align:center;font-size:6px;letter-spacing:2px;color:var(--thumb-ink)}.theme-card-label{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:11px;margin-top:15px;line-height:1.4}.theme-card-label b{font-weight:400}.theme-card-label>span{opacity:.5;font-size:10px}.theme-card-mood{font-size:9px;color:#707267;line-height:1.5;margin-top:5px}.selected-tag{position:absolute;right:8px;top:8px;z-index:3;font-size:7px;letter-spacing:1px;padding:6px 7px;background:#fbfaf6;color:#3d4434;border:1px solid #d0d3c5}.sample-note{text-align:center;font-size:10px;color:#707267;margin:40px 0 0;line-height:1.7}.site-footer{background:#fbfaf6;color:#686b60;padding:25px 5vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e5e3da;font-size:8px;letter-spacing:1.4px}.site-footer a{font-size:10px;letter-spacing:0;text-decoration:none}.theme-dialog{background:#fbfaf6;color:#383a34;border:1px solid #deded3;padding:30px 40px 35px;width:min(1180px,calc(100% - 40px));max-height:90svh;overflow-y:auto;box-shadow:0 20px 100px #10151133}.theme-dialog::backdrop{background:#1c241b70;backdrop-filter:blur(10px)}.dialog-header{display:flex;align-items:center;justify-content:space-between}.close-dialog{background:transparent;border:1px solid #d6d8ce;width:35px;height:35px;border-radius:50%;font-size:25px;line-height:1;font-weight:400;display:grid;place-items:center}.theme-dialog h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:55px;margin-top:12px;letter-spacing:-1px}.dialog-intro{color:#6a6f61;font-size:12px;margin:10px 0 28px;line-height:1.7}.dialog-footnote{font-size:10px;color:#6a6f61;margin-top:27px;text-align:center;line-height:1.8}body.dialog-open{overflow:hidden}.reveal{opacity:1;transform:none}.js-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.js-ready .reveal.in-view{opacity:1;transform:none}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:3px;font-size:11px;z-index:80;opacity:0;pointer-events:none;transition:.25s}#toast.visible{opacity:1;transform:translate(-50%,0)}.noscript-note{position:fixed;bottom:0;background:var(--paper);padding:10px;font-size:12px;width:100%;text-align:center;z-index:50}

/* Rosewater: romantic rose stationery, scallops and ribbon. */
body[data-theme="rosewater"]{--paper:#f8efeb;--paper2:#efded9;--ink:#75454b;--muted:#81545b;--accent:#985b67;--line:#a2646e33;--envelope:#c08c95;--env-light:#d2a5ac;--env-dark:#a36e79;--seal:#e7c8b4;--seal-dark:#cda387;--seal-ink:#906451;--letter:#fff7ed;--letter-ink:#764a51;--shadow:#8b4f4829}.rosewater .unused{display:none}body[data-theme="rosewater"] .hero-title h1{font-family:var(--script);font-size:90px;letter-spacing:0}body[data-theme="rosewater"] .hero-title h1 span{font-size:.65em}body[data-theme="rosewater"] .envelope-scene{transform:translate(-50%,calc(-39% + var(--p)*90px)) rotate(-2deg)}body[data-theme="rosewater"] .envelope-pocket{background:linear-gradient(0deg,var(--envelope),var(--env-light));border-bottom:8px double #edd2cb70}body[data-theme="rosewater"] .silk-ribbon{position:absolute;display:block;z-index:7;bottom:22%;left:-4%;width:108%;height:13px;background:linear-gradient(#edbfc9,#e8b3c0 45%,#d7a0af 90%);box-shadow:0 3px 4px #79435420;transform:rotate(-3deg);opacity:calc(.3 + var(--seal-opacity)*.7);pointer-events:none}body[data-theme="rosewater"] .silk-ribbon i,body[data-theme="rosewater"] .silk-ribbon b{position:absolute;width:78px;height:34px;right:12%;top:-11px;border:10px solid #e8b8c2;border-radius:70% 12% 65% 10%;transform:rotate(-16deg);box-shadow:0 1px 2px #8b596324}body[data-theme="rosewater"] .silk-ribbon b{transform:translateX(60px) rotate(21deg) scaleX(-1)}body[data-theme="rosewater"] .envelope-address{bottom:7%}body[data-theme="rosewater"] .envelope-address>span{display:none}body[data-theme="rosewater"] .envelope-address strong{font-family:var(--script);font-size:30px}body[data-theme="rosewater"] .invitation-content{border:1px solid var(--line);border-radius:45% 45% 4px 4px;background:linear-gradient(#fff4,transparent 45%)}body[data-theme="rosewater"] .couple-names{font-family:var(--script);font-size:150px;letter-spacing:0;line-height:.78}body[data-theme="rosewater"] .couple-names>em{font-size:56px;margin:9px 0}body[data-theme="rosewater"] .date-card{border-radius:12px;background:var(--paper);outline:1px dashed var(--line);outline-offset:-8px}body[data-theme="rosewater"] .date-card::before{display:none}body[data-theme="rosewater"] .date-numeral{font-style:italic}body[data-theme="rosewater"] .button{border-radius:40px}body[data-theme="rosewater"] .venue-art{border-radius:48% 48% 4px 4px;background:var(--paper2);transform:rotate(3deg)}body[data-theme="rosewater"] .venue-arch{border-radius:inherit}

/* Midnight Celestial: a luminous letter beneath a gold night sky. */
body[data-theme="midnight-celestial"]{--paper:#151d31;--paper2:#1e2940;--ink:#ece0c8;--muted:#b5b6c5;--accent:#c8aa71;--line:#d3bb8833;--envelope:#25314b;--env-light:#35415d;--env-dark:#182139;--seal:#c7ab72;--seal-dark:#8e713b;--seal-ink:#524326;--letter:#efe4cc;--letter-ink:#30374d;--shadow:#00000066;--button-ink:#182138}.midnight-celestial .unused{display:none}body[data-theme="midnight-celestial"] .stage-aura{background:radial-gradient(ellipse at 50% 55%,#46506d40,transparent 65%)}body[data-theme="midnight-celestial"] .hero-title{top:17%}body[data-theme="midnight-celestial"] .hero-title h1{font-family:"Cinzel",Georgia,serif;font-size:61px;letter-spacing:3px;margin:15px 0}body[data-theme="midnight-celestial"] .hero-title h1>span{font-family:var(--script);font-size:.8em}body[data-theme="midnight-celestial"] .hero-art{opacity:.85;width:min(940px,95vw)}body[data-theme="midnight-celestial"] .envelope-back{border:1px solid #c8aa7140}body[data-theme="midnight-celestial"] .envelope-address{color:var(--accent)}body[data-theme="midnight-celestial"] .envelope-address strong{font-family:"Cinzel",Georgia,serif;font-size:19px;letter-spacing:4px}body[data-theme="midnight-celestial"] .envelope-address>span{font-size:12px;letter-spacing:2px}body[data-theme="midnight-celestial"] .letter-border{border-radius:48% 48% 0 0}body[data-theme="midnight-celestial"] .letter-border::before{border-radius:inherit}body[data-theme="midnight-celestial"] .letter-names{font-family:var(--display);font-size:55px;letter-spacing:2px;text-transform:uppercase;line-height:.9}body[data-theme="midnight-celestial"] .letter-names>span{font-family:var(--script);font-size:28px;margin:3px 0}body[data-theme="midnight-celestial"] .invitation-content{border:1px solid var(--line);border-radius:48% 48% 0 0;min-height:880px}body[data-theme="midnight-celestial"] .invitation-ornament{opacity:.6}body[data-theme="midnight-celestial"] .couple-names{font-family:"Cinzel",Georgia,serif;font-size:89px;line-height:1;letter-spacing:6px}body[data-theme="midnight-celestial"] .date-card{background:transparent;border-radius:190px 190px 0 0}body[data-theme="midnight-celestial"] .date-numeral{color:var(--accent)}body[data-theme="midnight-celestial"] .venue-art{background:#11192a;transform:rotate(0);box-shadow:0 0 0 7px var(--paper),0 0 0 8px var(--line);border-radius:50% 50% 0 0}body[data-theme="midnight-celestial"] .venue-art-name{color:var(--accent)}body[data-theme="midnight-celestial"] .closing-monogram{color:var(--accent)}

/* Warisan: songket-inspired geometry, oxblood and old gold. */
body[data-theme="warisan"]{--paper:#f1e8da;--paper2:#e8dcca;--ink:#602b35;--muted:#7e6061;--accent:#692d3b;--line:#8a4e4233;--envelope:#672d3b;--env-light:#823e4a;--env-dark:#4c202d;--seal:#c5a163;--seal-dark:#9a743e;--seal-ink:#60482c;--letter:#fbefdb;--letter-ink:#602b35;--display:"Cormorant Garamond",Georgia,serif;--shadow:#4e162d30}.warisan .unused{display:none}body[data-theme="warisan"] .hero-title h1{font-family:"Cinzel",Georgia,serif;font-size:64px;letter-spacing:0}body[data-theme="warisan"] .hero-title h1>span{font-family:var(--script)}body[data-theme="warisan"] .hero-art{width:min(1040px,94vw);top:10%;height:83%;opacity:.6}body[data-theme="warisan"] .envelope-band{position:absolute;left:0;right:0;bottom:0;height:28px;display:block;border-top:1px solid #d7b16d66;border-bottom:1px solid #d7b16d66;background:repeating-linear-gradient(45deg,transparent 0 9px,#caa56955 9px 10px,transparent 10px 20px),repeating-linear-gradient(-45deg,transparent 0 9px,#caa56955 9px 10px,transparent 10px 20px);opacity:.8}body[data-theme="warisan"] .envelope-address{bottom:12%;color:#f3d8b1}body[data-theme="warisan"] .envelope-address strong{font-family:"Cinzel",Georgia,serif;font-size:21px;letter-spacing:2px}body[data-theme="warisan"] .envelope-address>span{font-size:13px}body[data-theme="warisan"] .wax-seal{border-radius:47%;width:87px;height:87px}body[data-theme="warisan"] .letter-border{border:3px double #ae8c5670}body[data-theme="warisan"] .letter-border::before{inset:5px}body[data-theme="warisan"] .letter-names{font-family:var(--display);font-size:60px;line-height:.9}body[data-theme="warisan"] .letter-names>span{margin:1px 0;font-family:var(--script)}body[data-theme="warisan"] .invitation-content{border:4px double var(--line);background:var(--letter)}body[data-theme="warisan"] .couple-names{font-family:"Cinzel",Georgia,serif;font-size:92px;letter-spacing:0}body[data-theme="warisan"] .date-section{background:#632e3b;color:#f1e3cd;--muted:#dac6ba;--accent:#c5a163;--line:#e3c79540;--button-ink:#42212b}body[data-theme="warisan"] .date-card{border:4px double var(--line);border-radius:0;background:transparent}body[data-theme="warisan"] .date-card::before{inset:8px;border:1px solid var(--line)}body[data-theme="warisan"] .date-numeral{font-family:"Cinzel",Georgia,serif;font-size:145px;color:#e8cca1;line-height:1.25}body[data-theme="warisan"] .venue-art{border:5px double var(--line);transform:rotate(0);background:#e8dcca;box-shadow:10px 10px 0 #5e2b3410}body[data-theme="warisan"] .venue-arch{border-radius:0;border:1px solid var(--line)}body[data-theme="warisan"] .venue-art-name{font-family:"Cinzel",Georgia,serif;font-size:31px;letter-spacing:0}body[data-theme="warisan"] .closing-section{background:#632e3b;color:#f1e3cd;--muted:#d4b8b2}body[data-theme="warisan"] .closing-monogram{color:#d2b586}

/* Pearl Atelier: fashion-editorial type, cool whites, silver seal. */
body[data-theme="pearl-atelier"]{--paper:#f4f4f0;--paper2:#e8e9e4;--ink:#3b4140;--muted:#606961;--accent:#4e5855;--line:#4b58502c;--envelope:#d9dcd4;--env-light:#e6e8e0;--env-dark:#b6bdb3;--seal:#e4e6e3;--seal-dark:#aeb8b5;--seal-ink:#68726e;--letter:#fffefa;--letter-ink:#3e4742;--display:"Bodoni Moda",Georgia,serif;--shadow:#2e3c3329}.pearl-atelier .unused{display:none}body[data-theme="pearl-atelier"] .hero-title h1{font-size:68px;letter-spacing:-4px}body[data-theme="pearl-atelier"] .hero-title h1>span{font-family:var(--display);font-style:italic;font-size:.8em}body[data-theme="pearl-atelier"] .hero-art{width:min(980px,93vw);opacity:.62}body[data-theme="pearl-atelier"] .envelope-scene{transform:translate(-50%,calc(-39% + var(--p)*90px)) rotate(2deg)}body[data-theme="pearl-atelier"] .envelope-address{color:#55614e}body[data-theme="pearl-atelier"] .envelope-address>span{font-family:var(--display);font-size:10px;letter-spacing:2px;font-style:normal;text-transform:uppercase}body[data-theme="pearl-atelier"] .envelope-address strong{font-family:var(--display);font-size:25px;letter-spacing:-.5px}body[data-theme="pearl-atelier"] .wax-seal{border-radius:50%;width:78px;height:82px}body[data-theme="pearl-atelier"] .letter-border{border:1px solid #707c6530;inset:14px}body[data-theme="pearl-atelier"] .letter-border::before{display:none}body[data-theme="pearl-atelier"] .letter-names{font-family:var(--display);font-size:53px;line-height:.9}body[data-theme="pearl-atelier"] .letter-names>span{font-family:var(--display);font-style:italic;font-size:22px;margin:4px 0}body[data-theme="pearl-atelier"] .letter-date{font-size:15px}body[data-theme="pearl-atelier"] .invitation-content{width:min(850px,100%);min-height:780px;border:0}body[data-theme="pearl-atelier"] .couple-names{font-size:112px;letter-spacing:-6px}body[data-theme="pearl-atelier"] .couple-names>em{font-family:var(--display);font-style:italic;font-size:51px;margin:12px 0}body[data-theme="pearl-atelier"] .invitation-copy{font-family:"Cormorant Garamond",Georgia,serif}body[data-theme="pearl-atelier"] .date-card{border-radius:0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}body[data-theme="pearl-atelier"] .date-card::before{display:none}body[data-theme="pearl-atelier"] .date-numeral{font-size:160px;line-height:1.3}body[data-theme="pearl-atelier"] .date-heading h2,body[data-theme="pearl-atelier"] .venue-content h2{font-size:54px;line-height:1.15}body[data-theme="pearl-atelier"] .venue-art{transform:rotate(2deg);background:#e6e8e1;box-shadow:0 15px 30px #33403315;padding:18px}body[data-theme="pearl-atelier"] .venue-arch{border-radius:50% 50% 0 0;min-height:403px}body[data-theme="pearl-atelier"] .venue-art-name{font-family:var(--display);font-size:37px;font-style:italic}body[data-theme="pearl-atelier"] .closing-section h2{font-size:67px;line-height:1.12}

@keyframes float-arrow{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
@media(min-width:1500px){.envelope-scene{width:670px}.hero-title{top:16%}.envelope-scene{top:53%}.letter-names{font-size:73px}.invitation-letter{padding:22px}.open-prompt{bottom:10%}}
@media(max-width:1050px){.brand-label{display:none}.section-shell{padding-left:11vw;padding-right:6vw}.date-layout{gap:30px 40px}.date-heading h2,.venue-content h2{font-size:50px}.venue-layout{gap:6vw}.venue-art{min-height:400px;padding:25px 20px}.venue-arch{min-height:345px}.venue-art-name{font-size:45px}.venue-buttons{gap:8px}.venue-buttons .button{padding:13px 16px}.theme-cards{gap:13px}.theme-dialog{padding:25px}.envelope-scene{width:62vw}.hero-art{width:110vw}.hero-title{top:18%}.hero-title h1{font-size:65px}.envelope-scene{top:55%}.open-prompt{bottom:9%}}
@media(max-width:700px){html{scroll-padding-top:75px}.site-header{height:72px;padding:0 22px}.brand-monogram{font-size:29px}.header-right{gap:15px}.current-theme{font-size:9px;gap:2px}.theme-name{display:none}.theme-toggle{padding:9px 11px;font-size:10px;gap:7px}.envelope-section{height:160svh;min-height:900px}.envelope-stage{min-height:560px}.hero-title{top:19%}.hero-title h1{font-size:60px;margin:9px 0 13px;letter-spacing:-2px}.hero-title .eyebrow{font-size:8px;letter-spacing:3px}.hero-date{font-size:7px;letter-spacing:2px}.hero-art{top:13%;height:75%;width:118vw;opacity:.6}.envelope-scene{width:82vw;max-width:460px;top:54%;transform:translate(-50%,calc(-28% + var(--p)*60px))}.invitation-letter{height:107%;bottom:6%;width:78%;left:11%;transform:translateY(calc(20% - var(--lift)*87%));padding:12px 8px;clip-path:inset(calc((1 - var(--lift))*21%) 0 calc((1 - var(--lift))*19%) 0)}.letter-names{font-size:50px;line-height:.78}.letter-names>span{font-size:21px;margin:5px 0}.letter-eyebrow{font-size:6px;letter-spacing:2px}.letter-star{font-size:11px;margin-bottom:6px}.letter-rule{margin:13px 0 8px;width:20px}.letter-date{font-size:14px;letter-spacing:3px}.letter-venue{font-size:5px;letter-spacing:1.4px}.letter-border{inset:8px}.letter-border::before{inset:3px}.wax-seal{width:61px;height:62px;top:42%}.seal-initials{font-size:23px;letter-spacing:-3px}.seal-initials>span{font-size:17px;top:4px;margin:0 2px}.wax-seal::before{inset:4px}.wax-seal::after{inset:8px}.envelope-address{bottom:8%;gap:3px}.envelope-address>span{font-size:10px}.envelope-address strong{font-size:20px}.open-prompt{bottom:12%;gap:10px}.prompt-label{font-size:6px;letter-spacing:1.6px}.open-label{font-size:12px}.scroll-note{font-size:8px}.stage-foot{bottom:22px;left:20px;right:20px;font-size:6px;letter-spacing:1px;justify-content:center}.stage-foot>span:last-child{display:none}.section-shell{padding:75px 24px}.section-side{display:none}.invitation-section{padding:50px 18px 65px}.invitation-content{min-height:670px}.invitation-inner{padding:65px 25px}.invitation-prelude{font-size:34px;margin-bottom:23px}.eyebrow{font-size:8px;letter-spacing:2.6px}.invitation-copy{font-size:21px;line-height:1.5}.couple-names{font-size:104px;margin:30px 0 25px;letter-spacing:-3px}.couple-names>em{font-size:45px;margin:7px 0}.closing-copy{font-size:18px;margin-top:23px}.invitation-ornament{opacity:.6}.date-layout{display:flex;flex-direction:column;gap:35px;text-align:center}.date-heading h2,.venue-content h2{font-size:49px;line-height:1.08;margin:20px 0}.body-copy{font-size:12px}.date-card{width:min(320px,100%);min-height:365px;padding:37px 20px}.date-numeral{font-size:150px}.date-time{margin-top:24px;font-size:10px}.countdown-block{align-self:center;align-items:center;gap:8px}.countdown-line{margin-bottom:14px;text-align:left}.countdown-line strong{font-size:52px}.countdown-line>span{font-size:7px}.button{padding:14px 20px}.venue-layout{display:flex;flex-direction:column;gap:55px}.venue-art{width:min(300px,90%);min-height:360px;padding:24px 20px}.venue-arch{min-height:305px;gap:23px;padding:40px 15px}.venue-art-name{font-size:49px}.venue-art-decoration{bottom:13px}.venue-content{text-align:center}.venue-content h3{font-size:23px;margin-top:23px}.venue-content address{font-size:12px}.venue-buttons{justify-content:center}.venue-note{font-size:18px}.closing-section{padding:75px 20px}.closing-section h2{font-size:58px;margin:23px 0}.closing-section>p:not(.eyebrow){font-size:11px}.closing-monogram{font-size:67px}.collection-section{padding:55px 23px 28px}.collection-heading{display:block;margin-bottom:28px}.collection-heading h2{font-size:39px}.collection-heading>p{font-size:11px;margin-top:18px}.theme-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.theme-card-label{font-size:11px;margin-top:12px}.theme-card-mood{font-size:9px}.mini-names{font-size:29px}.mini-eyebrow{font-size:5px}.mini-date{font-size:5px}.mini-seal{font-size:8px}.theme-cards .theme-card:last-child{grid-column:1 / 3;justify-self:center;width:calc(50% - 7.5px)}.sample-note{margin-top:30px;font-size:9px}.site-footer{padding:22px;gap:15px;flex-wrap:wrap;justify-content:center;font-size:7px}.site-footer a{order:3;width:100%;text-align:center;font-size:10px}.theme-dialog{padding:20px;width:calc(100% - 24px);max-height:92svh}.theme-dialog h2{font-size:45px;margin-top:15px}.dialog-intro{font-size:11px;margin:10px 0 24px}.dialog-header .eyebrow{font-size:7px}.dialog-footnote{font-size:9px}.close-dialog{width:32px;height:32px}.theme-dialog .theme-cards{gap:23px 13px}
body[data-theme="rosewater"] .hero-title h1{font-size:73px}body[data-theme="rosewater"] .envelope-scene{transform:translate(-50%,calc(-28% + var(--p)*60px)) rotate(-2deg)}body[data-theme="rosewater"] .envelope-address strong{font-size:24px}body[data-theme="rosewater"] .silk-ribbon{height:9px}body[data-theme="rosewater"] .silk-ribbon i,body[data-theme="rosewater"] .silk-ribbon b{width:49px;height:24px;border-width:7px;top:-8px}body[data-theme="rosewater"] .silk-ribbon b{transform:translateX(38px) rotate(21deg) scaleX(-1)}body[data-theme="rosewater"] .couple-names{font-size:131px}body[data-theme="rosewater"] .couple-names>em{font-size:46px;margin:8px 0}body[data-theme="midnight-celestial"] .hero-title{top:20%}body[data-theme="midnight-celestial"] .hero-title h1{font-size:39px;letter-spacing:1px;margin:18px 0}body[data-theme="midnight-celestial"] .hero-art{width:115vw}body[data-theme="midnight-celestial"] .envelope-address strong{font-size:14px;letter-spacing:2px}body[data-theme="midnight-celestial"] .envelope-address>span{font-size:9px}body[data-theme="midnight-celestial"] .letter-names{font-size:39px}body[data-theme="midnight-celestial"] .letter-names>span{font-size:22px;margin:2px 0}body[data-theme="midnight-celestial"] .invitation-content{min-height:740px}body[data-theme="midnight-celestial"] .couple-names{font-size:65px;letter-spacing:3px}body[data-theme="warisan"] .hero-title h1{font-size:43px;margin-top:14px}body[data-theme="warisan"] .hero-art{width:105vw;top:17%;height:69%}body[data-theme="warisan"] .wax-seal{width:64px;height:64px}body[data-theme="warisan"] .envelope-address strong{font-size:15px;letter-spacing:1.5px}body[data-theme="warisan"] .envelope-address>span{font-size:9px}body[data-theme="warisan"] .envelope-band{height:18px}body[data-theme="warisan"] .letter-names{font-size:46px}body[data-theme="warisan"] .couple-names{font-size:71px}body[data-theme="warisan"] .date-numeral{font-size:130px}body[data-theme="warisan"] .venue-art-name{font-size:29px}body[data-theme="pearl-atelier"] .hero-title h1{font-size:49px;letter-spacing:-3px}body[data-theme="pearl-atelier"] .hero-art{width:113vw}body[data-theme="pearl-atelier"] .envelope-scene{transform:translate(-50%,calc(-28% + var(--p)*60px)) rotate(2deg)}body[data-theme="pearl-atelier"] .wax-seal{width:60px;height:63px}body[data-theme="pearl-atelier"] .envelope-address strong{font-size:20px}body[data-theme="pearl-atelier"] .envelope-address>span{font-size:8px}body[data-theme="pearl-atelier"] .letter-names{font-size:38px}body[data-theme="pearl-atelier"] .letter-names>span{font-size:19px;margin:3px 0}body[data-theme="pearl-atelier"] .letter-date{font-size:12px}body[data-theme="pearl-atelier"] .couple-names{font-size:89px;letter-spacing:-5px}body[data-theme="pearl-atelier"] .couple-names>em{font-size:42px;margin:13px 0}body[data-theme="pearl-atelier"] .invitation-content{min-height:700px}body[data-theme="pearl-atelier"] .date-heading h2,body[data-theme="pearl-atelier"] .venue-content h2{font-size:43px}body[data-theme="pearl-atelier"] .venue-arch{min-height:325px}body[data-theme="pearl-atelier"] .venue-art-name{font-size:33px}body[data-theme="pearl-atelier"] .closing-section h2{font-size:48px}}
@media(max-width:360px){.hero-title h1{font-size:51px}.letter-names{font-size:43px}.letter-rule{margin:9px 0 6px}.letter-star{display:none}.hero-date{font-size:6px}.invitation-inner{padding:60px 16px}.invitation-copy{font-size:19px}.couple-names{font-size:93px}.theme-toggle{padding:8px 9px}.site-header{padding:0 17px}body[data-theme="midnight-celestial"] .hero-title h1{font-size:34px}body[data-theme="warisan"] .hero-title h1{font-size:37px}body[data-theme="pearl-atelier"] .hero-title h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.open-label svg{animation:none}.js-ready .reveal{opacity:1;transform:none;transition:none}.button,.theme-preview,#toast{transition:none}.envelope-flap,.invitation-letter,.wax-seal{transition:none}}

/* Keep the wider formal capitals inside the theme thumbnails. */
.theme-card[data-theme-choice="midnight-celestial"] .mini-names,.theme-card[data-theme-choice="warisan"] .mini-names{font-size:clamp(16px,1.65vw,23px);letter-spacing:-.3px}
@media(max-width:700px){.theme-card[data-theme-choice="midnight-celestial"] .mini-names,.theme-card[data-theme-choice="warisan"] .mini-names{font-size:18px}}

.continue-prompt{position:absolute;bottom:9%;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.3px;text-decoration:none;display:flex;gap:13px;align-items:center;z-index:12;visibility:hidden;opacity:0}.continue-prompt span{font-size:17px}@media(max-width:700px){.continue-prompt{bottom:12%;font-size:10px}}

.sample-time-note{font-size:9px;color:var(--muted);margin-top:9px;position:relative}
