:root{--cream:#f8f5ef;--forest:#25463b;--sage:#a8b8a0;--rose:#b97978;--muted:#73756d;--line:#b7c1af;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--event-color:var(--forest)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--forest);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--rose);outline-offset:6px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}p{font-size:17px;line-height:1.7}.wrap{width:calc(100% - 144px);max-width:1440px;margin-inline:auto}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:2}.wordmark{font-family:var(--serif);font-size:50px;line-height:1;letter-spacing:-2px}.site-header nav{display:flex;gap:40px;font-family:var(--serif);font-size:21px}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--forest);transition:width .2s}.site-header nav a:hover:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--forest);color:var(--cream);border:1px solid transparent;border-radius:19px;padding:17px 29px;font-family:var(--serif);font-size:22px;line-height:1.15;transition:background .2s,transform .2s}.button:hover{background:#345b4c;transform:translateY(-2px)}.header-cta{padding:14px 25px;font-size:20px;border-radius:19px}.hero{position:relative;min-height:770px;display:flex;align-items:center}.hero-copy{position:relative;z-index:1;width:57%;padding:38px 0 50px}.hero h1{font-size:clamp(64px,7.1vw,112px);line-height:.98;letter-spacing:-3.8px}.hero h1 em{font-weight:400;white-space:nowrap;color:var(--rose)}.hero-copy>p{max-width:600px;font-size:22px;line-height:1.45;margin-top:42px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:38px}.text-link{display:inline-flex;align-items:center;gap:12px;font-family:var(--serif);font-size:22px}.text-link svg{transition:transform .2s}.text-link:hover svg{transform:translateX(4px)}.hero-copy small{display:block;color:#817d74;font-size:14px;margin-top:16px}.hero-image{position:absolute;width:68%;height:100%;right:-72px;top:0;object-fit:cover;object-position:70% center;mask-image:linear-gradient(to right,transparent,black 18%);pointer-events:none;z-index:0}.occasions{border-top:1px solid #858e80;display:flex;justify-content:space-around;padding:34px 0 40px;font-family:var(--serif);font-size:16px;letter-spacing:2.6px;text-transform:uppercase}.how{padding-top:96px;padding-bottom:80px;scroll-margin-top:20px}.how h2{text-align:center;font-size:60px;letter-spacing:-1.8px;line-height:1.1}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:76px;margin-top:48px}.steps article{border-top:1px solid var(--line);padding-top:12px}.step-number{font-family:var(--serif);font-size:78px;line-height:1.15;color:var(--rose);font-variant-numeric:lining-nums}.steps h3{font-size:38px;letter-spacing:-1px;margin:8px 0 12px}.steps p{font-size:17px;line-height:1.55}.moments{display:grid;grid-template-columns:43% 57%;align-items:center;padding:30px 0 100px;gap:0}.moments h2{font-size:80px;line-height:.98;letter-spacing:-2px}.moments-copy>p{max-width:440px;margin-top:30px}.event-tabs{display:flex;border-bottom:1px solid var(--line);max-width:455px;margin-top:40px;justify-content:space-between;gap:12px}.event-tabs button{border:0;border-bottom:4px solid transparent;background:none;padding:12px 3px 15px;font-size:15px;color:#6c746d}.event-tabs button[aria-selected=true]{border-bottom-color:var(--forest);color:var(--forest);font-weight:700}.swatches{display:flex;gap:22px;margin:30px 0 18px;padding-left:5px}.swatch{width:42px;height:42px;border-radius:50%;border:0;position:relative}.swatch[aria-pressed=true]:after{content:'';position:absolute;inset:-6px;border:1px solid var(--forest);border-radius:50%}.forest{background:var(--forest)}.sage{background:var(--sage)}.rose{background:var(--rose)}.moments-copy>small{font-size:14px;color:var(--muted)}.invitation-preview{position:relative;aspect-ratio:1;min-width:0;color:var(--event-color)}.invitation-preview>img{width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(ellipse at center,black 55%,transparent 73%)}.paper-content{position:absolute;left:22%;top:25%;width:48%;height:54%;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;font-family:var(--serif);padding:15px}.paper-content p{font-family:var(--serif);font-size:17px;line-height:1.4}.paper-content h3{font-size:47px;line-height:1.05;margin:28px 0 24px;letter-spacing:-1.5px}.paper-content h3 em{color:var(--sage);font-size:1.1em;font-weight:400}.paper-rule{width:48px;height:1px;background:var(--sage);margin-bottom:20px}.paper-content .invite-date{font-family:var(--sans);font-size:12px;letter-spacing:3px;text-transform:uppercase;margin-bottom:25px}.preview-open{font-family:var(--sans);font-size:13px;background:var(--event-color);border-radius:30px;padding:12px 20px;margin-top:22px;color:#fff}.preview-open svg{width:15px;height:15px}.preview-open:hover{background:var(--event-color);filter:brightness(.9)}.faq{display:grid;grid-template-columns:40% minmax(0,1fr);gap:30px;padding:50px 0 90px}.faq h2{font-size:60px;letter-spacing:-1.5px;line-height:1.08;padding-top:30px}.faq-list details{border-top:1px solid var(--line);padding:23px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--serif);font-size:32px;cursor:pointer}summary::-webkit-details-marker{display:none}details[open] summary svg path{d:path('M4 12h16')}details p{margin:16px 40px 8px 0;font-size:19px;color:#4d6358;max-width:680px}.closing{background:var(--forest);color:var(--cream);text-align:center;padding:40px 24px 56px}.flower{width:54px;height:70px;color:var(--sage);stroke-width:1}.closing h2{font-size:65px;line-height:1.02;letter-spacing:-1.5px;margin:13px 0 20px}.closing p{font-size:18px;margin-bottom:28px}.button-light{background:var(--cream);color:var(--forest);border-radius:6px;padding:18px 35px}.button-light:hover{background:#e9e5dc}.site-footer{display:flex;align-items:center;justify-content:space-between;padding:30px 0;gap:20px}.site-footer p{font-family:var(--serif);font-size:18px;letter-spacing:.5px}.site-footer .text-link{font-size:18px}.menu-toggle{display:none;background:none;border:0;padding:8px}.mobile-menu[hidden]{display:none}.mobile-menu{padding:12px 24px 24px;display:grid;gap:20px;border-bottom:1px solid var(--line)}.skip-link{position:fixed;top:-80px;left:16px;z-index:10;background:var(--forest);color:white;padding:12px}.skip-link:focus{top:16px}dialog{border:1px solid var(--sage);background:var(--cream);color:var(--event-color);padding:45px;max-width:490px;width:calc(100% - 32px);max-height:90vh;overflow:auto;border-radius:4px;box-shadow:0 25px 90px #152d2540}dialog::backdrop{background:#142a22a6;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:14px;top:14px;border:0;background:none;padding:5px}.demo-inner{text-align:center}.demo-label{font-family:var(--serif);font-size:22px}.demo-inner h2{font-size:48px;line-height:1.1;margin:22px 0}.demo-inner>p{margin-bottom:14px}.demo-inner form{text-align:left;margin:24px 0 20px}.demo-inner label,.demo-inner legend{font-size:14px}.demo-inner input[type=text],.demo-inner input:not([type]){width:100%;padding:12px;border:1px solid var(--sage);background:transparent;border-radius:4px;margin:8px 0 18px;color:var(--forest)}fieldset{border:0;padding:0;margin:0 0 22px}fieldset label{display:block;margin:12px 0}input[type=radio]{accent-color:var(--event-color)}.demo-inner form .button{width:100%;font-size:20px;background:var(--event-color)}.demo-note{color:var(--muted);font-size:12px;line-height:1.7;display:block}.demo-inner #demo-result{padding:28px 0;color:var(--forest)}
@media(min-width:1600px){.hero-image{right:-72px}.hero{min-height:770px}}
@media(max-width:1150px){.wrap{width:calc(100% - 80px)}.site-header nav{gap:22px;font-size:18px}.header-cta{font-size:17px;padding:13px 18px}.hero{min-height:590px}.hero h1{font-size:76px}.hero-image{right:-40px;width:74%}.hero-copy>p{font-size:16px;max-width:440px}.hero-actions{gap:20px}.hero-actions .button,.text-link{font-size:18px}.steps{gap:35px}.steps h3{font-size:32px}.how h2{font-size:50px}.moments h2{font-size:66px}.paper-content{padding:6px}.paper-content h3{font-size:37px;margin:18px 0}.paper-content p{font-size:14px}.paper-content .invite-date{font-size:10px;letter-spacing:2px;margin-bottom:17px}.preview-open{font-size:11px;padding:10px 15px;margin-top:16px}.faq h2{font-size:43px}summary{font-size:24px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.site-header{height:84px}.wordmark{font-size:42px}.site-header nav{display:none}.header-cta{margin-left:auto;font-size:16px;padding:12px 17px}.menu-toggle{display:block}.hero{display:flex;flex-direction:column;min-height:0;align-items:stretch}.hero-copy{width:100%;padding:44px 0 15px}.hero h1{font-size:clamp(47px,9vw,74px);letter-spacing:-2px}.hero-copy>p{margin-top:26px;max-width:510px;font-size:16px}.hero-actions{margin-top:25px;gap:24px}.hero-actions .button{font-size:19px;padding:16px 22px}.text-link{font-size:19px}.hero-image{position:relative;right:auto;width:calc(100% + 40px);margin-left:-20px;height:auto;aspect-ratio:1.35;object-fit:cover;mask-image:linear-gradient(to bottom,transparent,black 10%,black 90%,transparent)}.occasions{padding:24px 0;font-size:12px;letter-spacing:1.3px;gap:12px}.how{padding:60px 0 40px}.how h2{font-size:43px}.steps{gap:22px;margin-top:34px}.step-number{font-size:58px}.steps h3{font-size:28px;line-height:1.05}.steps p{font-size:14px}.moments{grid-template-columns:1fr;padding:45px 0 55px}.moments-copy{max-width:520px}.moments h2{font-size:67px}.moments-copy>p{font-size:16px}.event-tabs{margin-top:26px}.invitation-preview{width:100%;max-width:650px;margin:15px auto 0}.paper-content{left:22%;top:25%;width:48%;height:54%}.paper-content h3{font-size:clamp(30px,7vw,46px);margin:24px 0}.paper-content p{font-size:16px}.paper-content .invite-date{font-size:11px}.preview-open{font-size:12px;padding:12px 18px}.faq{grid-template-columns:1fr;gap:35px;padding:15px 0 60px}.faq h2{font-size:46px;padding-top:0}.closing{padding:34px 20px 45px}.closing h2{font-size:49px}.closing p{font-size:16px}.site-footer{flex-wrap:wrap;gap:20px}.site-footer p{order:3;width:100%;font-size:16px}.site-footer .text-link{font-size:17px}}
@media(max-width:480px){.site-header{gap:10px}.header-cta{font-size:15px;padding:12px 15px}.hero-copy{padding-top:28px}.hero h1{font-size:48px;letter-spacing:-1.9px}.hero-actions{gap:16px;align-items:flex-start;flex-direction:column}.hero-actions .button{font-size:19px}.hero-actions .text-link{font-size:19px}.hero-copy small{font-size:12px}.hero-image{aspect-ratio:1.25}.occasions{font-size:10px;letter-spacing:1px;gap:8px}.how h2{font-size:38px;text-align:left;max-width:300px}.steps{grid-template-columns:1fr;gap:28px}.steps article{display:grid;grid-template-columns:58px 1fr;column-gap:16px;padding-top:17px}.step-number{grid-row:span 2;font-size:50px}.steps h3{font-size:32px;margin:0 0 8px}.steps p{font-size:15px}.moments h2{font-size:58px}.event-tabs{gap:8px}.event-tabs button{font-size:13px}.swatches{margin-top:24px}.swatch{width:36px;height:36px}.paper-content{padding:0}.paper-content h3{font-size:30px;margin:14px 0}.paper-content p{font-size:12px}.paper-content .invite-date{font-size:9px;letter-spacing:1.5px;margin-bottom:12px}.paper-rule{margin-bottom:12px}.preview-open{font-size:10px;padding:9px 12px;margin-top:12px;gap:2px}.invite-intro{max-width:130px}.faq h2{font-size:41px}summary{font-size:24px}details p{font-size:15px;margin-right:10px}.closing h2{font-size:40px}.closing p{font-size:14px}.button-light{font-size:20px}dialog{padding:45px 25px 30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.language-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid #25463b44;border-radius:10px;background:#fffaf3;margin-left:auto}.language-switch button{min-width:34px;min-height:30px;border:0;border-radius:7px;background:transparent;color:var(--forest);font:700 11px var(--sans);letter-spacing:.06em}.language-switch button[aria-pressed="true"]{background:var(--forest);color:var(--cream)}.language-switch button:focus-visible{outline-offset:2px}
@media(max-width:800px){.language-switch{margin-left:auto}.header-cta{margin-left:0}}
@media(max-width:480px){.header-cta{display:none}}
