:root{--ink:#28231f;--cream:#e9e1d5;--wine:#752f30;--line:#c7bbad}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);letter-spacing:.04em;margin:0;font-family:DM Mono,monospace;font-size:12px}a{color:inherit;text-decoration:none}.brand{letter-spacing:.14em;font-size:14px}.brand i{letter-spacing:0;font-family:Cormorant Garamond;font-size:17px}.topbar{z-index:2;justify-content:space-between;align-items:center;padding:34px 5vw;display:flex;position:relative}.topbar div{align-items:center;gap:34px;display:flex}.nav-cta,.button{border:1px solid var(--ink);font:inherit;letter-spacing:.08em;cursor:pointer;background:0 0;padding:15px 20px}.button{align-items:center;gap:32px;display:inline-flex}.button:hover{background:var(--wine);color:var(--cream);border-color:var(--wine)}.landing{background:linear-gradient(115deg,#d8cec0 0%,#eee9e0 48%,#b8a995 100%);min-height:100vh;position:relative;overflow:hidden}.landing:after{content:"";mix-blend-mode:multiply;opacity:.65;filter:sepia(.3);background:url(/envelope-photograph.webp) 50%/cover;position:absolute;inset:15% 8% 8% 50%}.grain{opacity:.15;mix-blend-mode:multiply;background:url(/paper.webp) 50%/cover;position:absolute;inset:0}.landing-hero{z-index:1;width:50%;padding:13vh 0 0 10vw;position:relative}.eyebrow{letter-spacing:.16em;color:#766c61;font-size:10px}.landing h1,.auth h1,.create h1,.invite-hero h1{letter-spacing:-.045em;margin:34px 0;font:500 clamp(60px,8vw,122px)/.82 Cormorant Garamond,serif}.landing h1 em,.auth h1 em,.create h1 em,.invite-hero span{font-weight:400}.lede{letter-spacing:0;max-width:380px;margin:0 0 36px;font:20px/1.25 Cormorant Garamond}.landing-footer{z-index:2;justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:34px;left:5vw;right:5vw}.auth{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-art{color:#f5efe5;background:url(/moonlit-wedding.webp) 50%/cover;flex-direction:column;justify-content:space-between;padding:34px 5vw;display:flex}.auth-art .eyebrow{color:#d6cabb}.auth-panel{flex-direction:column;padding:34px 7vw;display:flex}.back{color:#766c61}.auth-form{max-width:380px;margin:auto 0}.auth-form h2{margin:22px 0 14px;font:500 55px/.9 Cormorant Garamond}.muted{color:#766c61;line-height:1.6}.auth form,.wedding-form{gap:22px;margin-top:32px;display:grid}label{letter-spacing:.12em;text-transform:uppercase;gap:9px;font-size:10px;display:grid}input{border:0;border-bottom:1px solid var(--line);color:var(--ink);background:0 0;outline:0;padding:13px 0;font:18px Cormorant Garamond}input:focus{border-color:var(--wine)}.switch{font:inherit;color:var(--wine);cursor:pointer;background:0 0;border:0;margin-top:24px}.create{min-height:100vh}.step{font-size:10px}.step span{color:#9e9386}.create-wrap{grid-template-columns:38% 1fr;gap:8vw;max-width:1100px;margin:7vh auto;padding:0 5vw;display:grid}.create-intro h1{font-size:76px}.progress{color:#766c61;align-items:center;gap:20px;margin-top:80px;display:flex}.progress span{background:var(--wine);width:110px;height:2px}.progress b{font-size:10px;font-weight:400}.wedding-form{max-width:560px}.form-section{border-top:1px solid var(--line);gap:20px;padding-top:20px;display:grid}.form-section .eyebrow{margin:0 0 8px}.form-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.invitation{background:#6b2e30;min-height:100vh}.envelope{color:#efe7dc;background:radial-gradient(circle at 50% 45%,#a7635c,#6b2e30 55%,#482226);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.envelope>.brand{position:absolute;top:34px;left:5vw}.envelope-card{aspect-ratio:1.45;width:min(70vw,520px);color:var(--wine);background:#e9e1d5;flex-direction:column;justify-content:center;align-items:center;display:flex;box-shadow:0 30px 80px #33181c88}.monogram{margin:0;font:70px Cormorant Garamond}.monogram i{font-size:44px}.dedication{margin:6px 0 34px;font:20px Cormorant Garamond}.seal{background:var(--wine);color:#f1e6d7;letter-spacing:.1em;cursor:pointer;border:0;border-radius:50%;width:94px;height:94px;font:10px DM Mono}.envelope-date{letter-spacing:.15em;font-size:10px;position:absolute;bottom:34px}.envelope-date span{margin:0 10px}.invite-content{background:#e9e1d5;display:none}.opened .envelope{display:none}.opened .invite-content{display:block}.invite-content nav{border-bottom:1px solid var(--line);justify-content:space-between;padding:34px 5vw;display:flex}.invite-content nav a{font-size:10px}.invite-hero{color:#f4eee5;background:linear-gradient(#0005,#0005),url(/moonlit-wedding.webp) 50%/cover;min-height:78vh;padding:13vh 10vw}.invite-hero .eyebrow{color:#e0d2c2}.invite-hero h1{font-size:clamp(70px,11vw,160px)}.hero-line{letter-spacing:0;font:24px/1.15 Cormorant Garamond}.invite-info{max-width:1100px;padding:11vw 10vw}.big-date{margin:45px 0;font:130px/.8 Cormorant Garamond}.big-date span{margin-left:15px;font:15px DM Mono}.invite-info h2{font:400 65px/.85 Cormorant Garamond}.invite-info h2 em{color:var(--wine)}.invite-info>p:not(.eyebrow):not(.big-date){max-width:440px;font:24px/1.3 Cormorant Garamond}.details-row{border-top:1px solid var(--line);justify-content:space-between;margin-top:70px;padding-top:20px;font-size:10px;display:flex}@media (max-width:700px){.topbar div{gap:12px}.nav-cta{display:none}.landing:after{inset:45% 0 0}.landing-hero{width:auto;padding:18vh 8vw}.landing h1{font-size:74px}.landing-footer span:last-child{display:none}.auth{grid-template-columns:1fr}.auth-art{min-height:42vh;padding:25px}.auth-art h1{font-size:64px}.auth-panel{padding:25px}.create-wrap{grid-template-columns:1fr;margin-top:4vh}.create-intro h1{font-size:64px}.progress{margin-top:30px}.form-grid{grid-template-columns:1fr}.envelope-card{width:85vw}.invite-hero{min-height:80vh;padding:15vh 8vw}.invite-hero h1{font-size:86px}.invite-info{padding:18vw 8vw}.big-date{font-size:100px}.invite-info h2{font-size:54px}.details-row{gap:15px;display:grid}}.generated-invite{--night:#080e14;--invite-cream:#eee9df;--muted:#a9afb3;--template-line:#ffffff25;--sans:"DM Mono",monospace;--serif:"Cormorant Garamond",serif;background:var(--night);color:var(--invite-cream);font-family:var(--sans);letter-spacing:0;min-height:100vh}.generated-invite a{color:inherit;text-decoration:none}.generated-invite button{font:inherit;cursor:pointer}.generated-invite button:focus-visible,.generated-invite a:focus-visible{outline-offset:8px;outline:2px solid}.generated-invite .envelope-screen{z-index:30;color:#766958;isolation:isolate;background:#d7cbb8;position:fixed;inset:0;overflow:hidden}.generated-invite .envelope-space{perspective:2200px;perspective-origin:50%;position:absolute;inset:0}.generated-invite .interior{background-blend-mode:multiply,normal;z-index:0;background-color:#e8decc;background-image:linear-gradient(#95806138 0%,#d9c8ab12 45%,#fff9eb30 100%),url(/paper.webp);background-size:100% 100%,680px 680px;position:absolute;inset:0;box-shadow:inset 0 18px 45px #67503720}.generated-invite .paper{background-image:url(/envelope-photograph.webp);background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.generated-invite .fold{z-index:2;position:absolute;inset:0}.generated-invite .fold-left{clip-path:polygon(0 0,50.1% 55.4%,0 100%)}.generated-invite .fold-right{clip-path:polygon(100% 0,49.9% 55.4%,100% 100%)}.generated-invite .fold-bottom{clip-path:polygon(0 100%,50% 55.2%,100% 100%)}.generated-invite .flap{z-index:5;transform-origin:50% 0;transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.generated-invite .flap-surface{clip-path:polygon(0 0,100% 0,51.2% 54.5%,50.7% 54.95%,50.3% 55.25%,50% 55.35%,49.7% 55.3%,49.3% 55.05%,48.8% 54.6%);backface-visibility:hidden;position:absolute;inset:0}.generated-invite .flap-shadow{z-index:4;pointer-events:none;position:absolute;inset:0}.generated-invite .seal{aspect-ratio:1;backface-visibility:hidden;pointer-events:auto;filter:drop-shadow(.6px 1.2px .7px #3d211b90)drop-shadow(1.5px 4px 3px #4121143d);-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:clamp(118px,12vw,172px);padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)translateZ(3px)}.generated-invite .seal img{object-fit:contain;width:100%;height:100%;transition:filter .35s;display:block;transform:scale(1.045)}.generated-invite .seal:hover img{filter:brightness(1.035)}.generated-invite .inside-light{z-index:1;opacity:0;background-blend-mode:screen,normal;background-color:#eee5d5;background-image:radial-gradient(at 50% 55%,#fffbeedb 0%,#fff5dd66 35%,#fff0d300 75%),url(/paper.webp);background-size:100% 100%,680px 680px;position:absolute;inset:0}.generated-invite .envelope-caption{text-align:center;z-index:7;pointer-events:none;width:100%;position:absolute;top:13%;left:0}.generated-invite .monogram{font:400 clamp(24px,3vw,42px) var(--serif);letter-spacing:.12em;color:#83745f;text-shadow:0 1px #ffffffe0,0 -1px #65503928;margin:0 0 10px}.generated-invite .monogram i{font-size:.7em}.generated-invite .envelope-dedication{font:italic clamp(19px,2vw,26px) var(--serif);color:#827563;text-shadow:0 1px #ffffffa0;margin:0 0 14px}.generated-invite .open-text{font:500 12px var(--sans);letter-spacing:.23em;color:#776852;pointer-events:auto;background:0 0;border:0;padding:10px}.generated-invite .envelope-bottom{text-align:center;letter-spacing:.25em;z-index:6;color:#93816a;font-size:12px;position:absolute;bottom:7%;left:0;right:0}.generated-invite .envelope-bottom span{margin:0 12px}.generated-invite.closed .wedding-template{display:none}.generated-invite.opening .wedding-template,.generated-invite.open .wedding-template{display:block}.generated-invite .wedding-template{background:var(--night);color:var(--invite-cream);overflow:clip}.generated-invite .template-hero{background:#0b1520;height:100svh;min-height:720px;position:relative;overflow:hidden}.generated-invite .hero-image{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0;transform:scale(1)}.generated-invite .hero-shade{background:linear-gradient(90deg,#020810ad 0%,#030b1250 45%,#050c1510 100%),linear-gradient(#04091448,#0000 65%,#080e14 100%);position:absolute;inset:0}.generated-invite .template-nav{z-index:2;justify-content:space-between;align-items:center;height:110px;display:flex;position:absolute;top:0;left:7%;right:7%}.generated-invite .wordmark{letter-spacing:.14em;font-size:25px;font-weight:300}.generated-invite .wordmark span{font:italic 25px var(--serif);margin:0 7px}.generated-invite .template-nav>div{gap:36px;display:flex}.generated-invite .template-nav a:not(.wordmark){letter-spacing:.12em;color:#e6eaed;font-size:12px}.generated-invite .hero-copy{z-index:1;position:absolute;top:25%;left:10%;right:7%}.generated-invite .eyebrow{letter-spacing:.18em;color:inherit;margin:0 0 30px;font-size:12px;font-weight:500;line-height:1.6}.generated-invite .template-hero h1{font:300 clamp(76px,9vw,160px)/.98 var(--serif);letter-spacing:-.045em;outline:none;margin:0}.generated-invite .template-hero h1 span{font-style:italic;font-weight:400}.generated-invite .hero-line{font:clamp(16px,1.7vw,22px)/1.6 var(--serif);color:#d4d9de;letter-spacing:0;margin:30px 0}.generated-invite .hero-cta{color:#18202a;letter-spacing:.1em;background:#f4f2ed;align-items:center;gap:48px;padding:20px 24px;font-size:10px;font-weight:600;display:inline-flex}.generated-invite .hero-cta span{font-size:20px;font-weight:400}.generated-invite .hero-bottom{letter-spacing:.17em;border-top:1px solid #ffffff3a;justify-content:space-between;padding-top:25px;font-size:10px;display:flex;position:absolute;bottom:42px;left:7%;right:7%}.generated-invite .hero-bottom p{margin:0}.generated-invite .hero-bottom span{margin:0 15px}.generated-invite .template-section{padding:100px 10% 130px}.generated-invite .section-top{border-top:1px solid var(--template-line);letter-spacing:.14em;color:#9ca9b4;justify-content:space-between;margin-bottom:110px;padding-top:24px;font-size:10px;display:flex}.generated-invite .celebration-grid{grid-template-columns:1fr 1.3fr;align-items:start;gap:12%;display:grid}.generated-invite .sticky-date{position:sticky;top:100px}.generated-invite .big-date{font:300 clamp(110px,18vw,240px)/.85 var(--serif);letter-spacing:-.05em;margin:45px 0}.generated-invite .big-date span{font:400 18px var(--sans);letter-spacing:.32em;margin-top:32px;margin-left:9px;display:block}.generated-invite .story h2,.generated-invite .moments h2{font:300 clamp(40px,4.5vw,67px)/1.15 var(--serif);letter-spacing:-.035em;margin:0 0 90px}.generated-invite h2 em{color:#bac9d4;font-style:italic;font-weight:400}.generated-invite .story>p{letter-spacing:-.025em;color:#c4ccd2;font-size:clamp(23px,2.5vw,36px);line-height:1.55;font-family:var(--serif);margin:0 0 90px}.generated-invite .day-detail{border-top:1px solid var(--template-line);letter-spacing:.12em;justify-content:space-between;padding-top:28px;font-size:10px;display:flex}.generated-invite .template-place{height:110svh;min-height:900px;position:relative;overflow:hidden}.generated-invite .place-image{object-fit:cover;object-position:72% center;width:100%;height:100%;position:absolute;inset:0}.generated-invite .place-shade{background:linear-gradient(90deg,#050d16cf,#0000 95%),linear-gradient(#080e14 0%,#0000 70%,#080e14);position:absolute;inset:0}.generated-invite .place-content{margin-left:10%;padding-top:150px;padding-bottom:100px;position:relative}.generated-invite .place-content h2{font:300 clamp(56px,7vw,110px)/1.06 var(--serif);letter-spacing:-.05em;margin:40px 0 65px}.generated-invite .venue-details{font-size:13px;line-height:1.8}.generated-invite .venue-details p:first-child{letter-spacing:.17em;font-size:11px}.generated-invite .venue-details p:nth-child(2){font:28px var(--serif);margin-top:10px}.generated-invite .venue-details p:last-child{font:18px var(--serif);color:#c7cfd5}.generated-invite .image-note{letter-spacing:.11em;color:#84909a;font-size:9px;position:absolute;bottom:35px;right:7%}.generated-invite .moments-grid{grid-template-columns:1fr 1.1fr;gap:10%;display:grid}.generated-invite .schedule article{border-top:1px solid var(--template-line);grid-template-columns:70px 1fr;gap:25px;padding:35px 0;display:grid}.generated-invite .schedule time{color:#9facb7;padding-top:7px;font-size:14px}.generated-invite .schedule h3{font:300 27px var(--serif);letter-spacing:-.03em;margin:0 0 14px}.generated-invite .schedule p{color:#aab5bf;margin:0;font-size:16px;line-height:1.8}.generated-invite .details{background:#111a22}.generated-invite .details .section-top{margin-bottom:65px}.generated-invite .detail-grid{grid-template-columns:repeat(3,1fr);gap:7%;display:grid}.generated-invite .detail-grid h3{font:300 28px var(--serif);letter-spacing:-.035em;margin:0 0 25px}.generated-invite .detail-grid p:not(.eyebrow){color:#aab5bf;font-size:16px;line-height:1.9}.generated-invite .detail-grid .eyebrow{color:#91a2af;font-size:10px}.generated-invite .closing{text-align:center;background:radial-gradient(at 50% 110%,#1a2f3f,#0000 65%),#080e14;padding:135px 7% 35px}.generated-invite .closing h2{font:300 clamp(70px,12vw,180px)/1 var(--serif);letter-spacing:-.05em;margin:40px 0 140px}.generated-invite .footer-row{border-top:1px solid var(--template-line);letter-spacing:.13em;color:#9fadb8;justify-content:space-between;align-items:center;gap:24px;padding-top:25px;font-size:9px;display:flex}.generated-invite .footer-row button{color:inherit;letter-spacing:.12em;background:0 0;border:0;padding:10px 0;font-size:9px}@media (max-width:700px){.generated-invite .envelope-caption{top:17%}.generated-invite .envelope-bottom{font-size:11px;bottom:12%}.generated-invite .seal{width:126px}.generated-invite .interior,.generated-invite .inside-light{background-size:100% 100%,450px 450px}.generated-invite .template-hero{min-height:730px}.generated-invite .hero-image{object-position:65% center}.generated-invite .hero-shade{background:linear-gradient(90deg,#02081099,#02081025),linear-gradient(#04091450,#0000 45%,#080e14)}.generated-invite .template-nav{height:88px;left:7%;right:7%}.generated-invite .template-nav>div{gap:18px}.generated-invite .template-nav a:not(.wordmark){letter-spacing:.04em;font-size:11px}.generated-invite .template-nav a:nth-child(2){display:none}.generated-invite .wordmark{font-size:23px}.generated-invite .hero-copy{top:26%;left:8%}.generated-invite .template-hero h1{font-size:clamp(70px,16vw,112px)}.generated-invite .hero-copy .eyebrow{margin-bottom:25px;font-size:9px}.generated-invite .hero-line{margin-top:27px;font-size:17px}.generated-invite .hero-cta{gap:24px;padding:16px 18px;font-size:11px}.generated-invite .hero-bottom{gap:20px;font-size:10px;line-height:1.8;bottom:28px}.generated-invite .hero-bottom span{margin:0 4px}.generated-invite .hero-bottom p:last-child{text-align:right;max-width:100px}.generated-invite .template-section{padding:75px 8% 90px}.generated-invite .section-top{gap:25px;margin-bottom:65px;font-size:11px;line-height:1.7}.generated-invite .section-top span:last-child{text-align:right}.generated-invite .celebration-grid{grid-template-columns:1fr;gap:80px}.generated-invite .sticky-date{position:static}.generated-invite .big-date{margin:30px 0;font-size:150px}.generated-invite .big-date span{font-size:15px}.generated-invite .story h2{margin-bottom:50px;font-size:45px}.generated-invite .story>p{margin-bottom:55px;font-size:26px}.generated-invite .day-detail{gap:12px;font-size:11px}.generated-invite .template-place{height:95svh;min-height:770px}.generated-invite .place-image{object-position:67% center}.generated-invite .place-content{margin-left:8%;padding-top:120px}.generated-invite .place-content h2{margin-bottom:45px;font-size:61px}.generated-invite .image-note{font-size:11px;left:8%;right:auto}.generated-invite .moments-grid{grid-template-columns:1fr;gap:20px}.generated-invite .moments h2{margin-bottom:25px;font-size:46px}.generated-invite .schedule article{grid-template-columns:55px 1fr;gap:15px;padding:28px 0}.generated-invite .schedule h3{font-size:25px}.generated-invite .detail-grid{grid-template-columns:1fr;gap:45px}.generated-invite .detail-grid article{max-width:380px}.generated-invite .closing{padding:95px 8% 30px}.generated-invite .closing .eyebrow{font-size:9px}.generated-invite .closing h2{margin-bottom:90px;font-size:83px}.generated-invite .footer-row{flex-direction:column;gap:15px;font-size:11px}.generated-invite .footer-row button{font-size:11px}}.generated-invite .edge-bloom,.generated-invite .bloom,.generated-invite .light-rays{pointer-events:none;opacity:0;z-index:8;position:absolute}.generated-invite .edge-bloom{filter:blur(10px);background:radial-gradient(#fff 10%,#fff8daaf 40%,#0000 73%);width:36vw;height:7vh;top:50%;left:50%;transform:translate(-50%,-50%)}.generated-invite .bloom{transform-origin:50%;mix-blend-mode:screen;background:radial-gradient(circle,#fff 0% 14%,#fffef5f5 23%,#fff7dfa3 35%,#fff8e233 48%,#0000 66%);width:150vmax;height:150vmax;top:40%;left:50%;transform:translate(-50%,-50%)scale(.025)}.generated-invite .light-rays{filter:blur(8px);mix-blend-mode:screen;background:repeating-conic-gradient(from 1deg at 50% 44%,#0000 0deg 13deg,#fff7db50 15deg,#0000 18deg 37deg);inset:-80%;-webkit-mask-image:radial-gradient(at 50% 44%,#000,#0000 59%);mask-image:radial-gradient(at 50% 44%,#000,#0000 59%)}.generated-invite .whiteout{z-index:50;opacity:0;pointer-events:none;background:#fff;position:fixed;inset:0}.generated-invite.opening .flap{animation:3.6s cubic-bezier(.2,.7,.2,1) .1s forwards invite-flap}.generated-invite.opening .envelope-caption{animation:.45s forwards invite-fade-out}.generated-invite.opening .flap-shadow{animation:1.4s .1s forwards invite-fade-out}.generated-invite.opening .inside-light{animation:1.7s .25s forwards invite-light}.generated-invite.opening .edge-bloom{animation:2.8s .5s forwards invite-edge}.generated-invite.opening .bloom{animation:3.1s .85s forwards invite-bloom}.generated-invite.opening .light-rays{animation:2.7s .7s forwards invite-rays}.generated-invite.opening .whiteout{animation:5.7s forwards invite-whiteout}@keyframes invite-flap{to{transform:rotateX(108deg)}}@keyframes invite-fade-out{to{opacity:0}}@keyframes invite-light{to{opacity:1}}@keyframes invite-edge{0%{opacity:0;transform:translate(-50%,-50%)scale(.35)}40%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(3.85)}}@keyframes invite-bloom{0%{opacity:0;transform:translate(-50%,-50%)scale(.025)}45%,to{opacity:1}to{transform:translate(-50%,-50%)scale(2.1)}}@keyframes invite-rays{0%{opacity:0}35%{opacity:.32}to{opacity:0}}@keyframes invite-whiteout{0%,43%{opacity:0}61%,72%{opacity:1}to{opacity:0}}body .language-switcher{z-index:85;color:#752f30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff6ecef;border:1px solid #bba28f;border-radius:999px;gap:2px;padding:3px;display:flex;position:fixed;top:18px;right:18px}body .language-switcher button{color:#752f30;letter-spacing:.04em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 10px;font:11px Arial,sans-serif}body .language-switcher button.active{color:#fff6ec;background:#752f30}body .language-switcher button:focus-visible{outline-offset:3px;outline:2px solid #752f30}@media (max-width:700px){body .language-switcher{top:10px;right:10px}}
