@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--paper:#faf8f2;--green:#354d43;--ink:#293f36;--muted:#6e756e;--coral:#b76f56;--line:#dcded2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:5px}.container{max-width:1200px}header{border-bottom:1px solid var(--line);background:#faf8f2f5;position:sticky;top:0;z-index:20}.nav-wrap{height:92px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:'Playfair Display',Georgia,serif;font-size:33px;letter-spacing:-1.5px;font-weight:600;line-height:1}.brand span{display:block;font-family:'DM Sans',sans-serif;font-weight:500;font-size:8px;letter-spacing:2.8px;margin-top:10px}.navlinks{display:flex;align-items:center;gap:29px;font-size:12px}.navlinks>a:hover{color:var(--coral)}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;background:var(--green);color:white;padding:17px 25px;border:1px solid var(--green);border-radius:5px;font-size:13px;font-weight:500;transition:transform .2s,background .2s}.button:hover{background:#243b31;color:white;transform:translateY(-2px)}.button.small{padding:12px 19px;font-size:11px}.text-link{padding:18px 8px;font-size:13px}.text-link span{margin-left:18px}.hero{overflow:hidden;padding:65px 0 55px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin-bottom:24px}.tiny-flower{color:var(--coral);font-size:21px;vertical-align:middle;margin-right:8px}h1,h2,.card-names,.invite-names,.price,.big-monogram{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(48px,5.1vw,69px);line-height:1.12;letter-spacing:-2px;margin-bottom:24px}h1 em,h2 em{color:var(--coral);font-weight:400}h2{font-size:43px;line-height:1.22;letter-spacing:-1.2px;margin-bottom:24px}h3{font-size:17px;font-weight:500}.hero-copy>p{max-width:420px;line-height:1.9;color:var(--muted);font-size:14px;margin-bottom:29px}.hero-note{display:flex;gap:23px;font-size:10px;color:var(--muted);margin-top:35px}.hero-art{height:560px;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#e4e8db 0,transparent 68%)}.phone{width:244px;height:478px;background:#f8f6ec;border:6px solid #fff;border-radius:32px;padding:4px;box-shadow:0 28px 50px #354d432a;position:relative;transform:rotate(8deg);margin-left:115px;z-index:2}.speaker{position:absolute;top:8px;left:80px;width:70px;height:15px;background:#faf8f2;border-radius:0 0 12px 12px;z-index:3}.invite{border:1px solid #a7b29e;height:100%;border-radius:23px;position:relative;text-align:center;overflow:hidden;padding:67px 12px 20px;background-color:#e6eadf}.sage{background:#e4e9dc;color:#405a44}.botanical{position:absolute;font-family:Georgia,serif;font-size:114px;top:-29px;left:-24px;color:#7f967575;transform:rotate(25deg)}.botanical.bottom{top:auto;bottom:-55px;left:auto;right:-20px;transform:rotate(190deg)}.invite small{font-size:8px;letter-spacing:3px}.invite-names{font-size:43px;line-height:.9;margin:27px 0 15px}.invite-names i{font-size:25px;font-style:italic}.invite-rule{width:30px;height:1px;background:#7c8f73;margin:20px auto 16px}.invite p{font-size:6px;letter-spacing:1.8px;margin:13px 0}.invite strong{font-size:12px;font-weight:400;letter-spacing:3px}.invite-button{background:#4c654b;color:#fff;border:0;border-radius:20px;padding:9px 23px;font-size:8px;position:relative;z-index:1}.back-card{position:absolute;left:32px;top:95px;transform:rotate(-13deg);width:218px;height:332px;background:#b97761;color:#f7e4cf;display:flex;align-items:center;flex-direction:column;justify-content:center;box-shadow:0 15px 30px #62422f20;outline:1px solid #e4bb9f;outline-offset:-14px}.back-card span{font-size:6px;letter-spacing:2px}.back-card strong{font:65px/.92 'Playfair Display',serif;text-align:center;margin:24px}.little-note{position:absolute;top:1px;right:5px;font:18px/1.3 Georgia,serif;transform:rotate(8deg);color:#7b816e}.little-note em{font-size:15px}.floating-tag{position:absolute;z-index:3;bottom:23px;left:39px;background:#fffdf7;box-shadow:0 8px 30px #354d4310;border:1px solid #e7e8df;padding:15px 24px;display:flex;gap:13px;align-items:center;transform:rotate(-3deg);font-size:11px;border-radius:7px}.floating-tag>span{font-size:26px;color:var(--coral)}.floating-tag small{display:block;font-size:8px;color:var(--muted);margin-top:5px}.orbit{position:absolute;width:410px;height:410px;border:1px solid #c5cdb9;border-radius:50%;transform:rotate(-30deg);opacity:.6}.orbit-two{width:500px;height:290px;transform:rotate(-35deg)}.occasion-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.occasion-strip .container{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.occasion-strip span{font-family:'Playfair Display',serif;font-size:20px}.occasion-strip span:first-child{font:9px 'DM Sans',sans-serif;letter-spacing:2px;color:var(--muted)}.occasion-strip b{font-size:17px;color:var(--coral);font-weight:400}.section{padding:95px 0}.muted,.section p{color:var(--muted);line-height:1.8;font-size:13px}.icon{width:38px;height:38px;border:1px solid #cbd2c4;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:17px;font-size:21px}.feature p{max-width:240px;margin:10px 0 0}.feature{padding-bottom:15px}.section .discrete,.discrete{font-size:10px;color:#7c8077}.designs{background:#eeefe6}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-heading h2{margin-bottom:12px}.section-heading>p{font-size:12px}.filter-bar{display:flex;gap:10px;margin:23px 0 32px;flex-wrap:wrap}.filter-bar button{border:1px solid #ccd2c5;color:var(--green);background:transparent;padding:9px 20px;border-radius:25px;font-size:11px}.filter-bar button.active{background:var(--green);color:#fff;border-color:var(--green)}.design-preview{border:0;width:100%;height:400px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;outline:1px solid #ffffff80;outline-offset:-17px;transition:transform .25s}.design-preview:hover{transform:translateY(-5px)}.preview-label{position:absolute;top:29px;font-size:6px;letter-spacing:1.8px}.ornament{font:100px/.9 Georgia,serif;color:#79906d;margin-bottom:20px}.card-kicker{font-size:7px;letter-spacing:2px;margin:15px}.card-names{font-size:34px;line-height:1.15}.sage .card-names{max-width:180px}.card-names i{font-weight:400;font-size:25px}.card-date{font-size:7px;letter-spacing:2px;margin-top:27px;line-height:2}.preview-action{position:absolute;bottom:27px;font-size:10px;border-bottom:1px solid currentColor;padding-bottom:3px}.rose{background:#bd816e;color:#fff1df}.big-monogram{font-size:115px;line-height:1.3;letter-spacing:-14px;margin-left:-20px}.big-monogram span{font-style:italic;font-size:50px;position:relative;z-index:2}.rose .card-names{font-size:23px}.classic{background:#f9f4e9;color:#7b6443;outline-color:#c7b798}.classic:before{content:'';position:absolute;inset:45px 32px 60px;border:1px solid #c7b798;border-radius:50% 50% 0 0;pointer-events:none}.classic-seal{font-family:Georgia,serif;font-size:12px;margin:30px 0 8px}.classic .card-names{font-size:30px;line-height:1}.classic .card-date{font-size:6px;margin-top:18px}.design-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:18px;flex-wrap:wrap}.design-caption h3{font-size:14px;margin:0}.design-caption span{font-size:9px;color:var(--muted)}.process .step{display:block;font:italic 35px 'Playfair Display',serif;color:var(--coral);border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:23px}.process p{max-width:300px}.packages{background:#f0eee6}.price-card{height:100%;background:#faf8f2;padding:35px 30px;border:1px solid #d6dacf;border-radius:7px;position:relative}.price-card .eyebrow{font-size:8px}.price-card h3{font-family:'Playfair Display',serif;font-size:26px;margin:14px 0 22px}.price{font-size:38px;margin-bottom:12px;letter-spacing:-1px}.price small{font:10px 'DM Sans',sans-serif;letter-spacing:0;color:var(--muted)}.price-card p{font-size:11px;min-height:40px}.price-card ul{padding:22px 0 10px;border-top:1px solid var(--line);list-style:none;min-height:195px}.price-card li{font-size:11px;margin-bottom:16px}.price-card li:before{content:'✓';margin-right:12px;color:#648060}.price-card .button{width:100%;font-size:11px}.outline{color:var(--green);background:transparent}.featured{border:1.5px solid var(--green)}.recommend{position:absolute;top:-14px;left:30px;right:30px;padding:8px;text-align:center;background:var(--green);color:#fff;font-size:8px;border-radius:3px;letter-spacing:1px}.feedback-card{background:#eeefe7;border-radius:6px;padding:35px 45px}.quote-mark{font:70px/1 Georgia,serif;color:var(--coral)}blockquote{font:25px/1.5 'Playfair Display',Georgia,serif;margin:0 0 30px}.feedback-bottom{display:flex;gap:13px;align-items:center}.avatar{border:1px solid #bcc7b5;border-radius:50%;padding:10px 15px}.feedback-bottom strong{font-size:11px;font-weight:500}.feedback-bottom small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.faq{padding-top:25px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-size:14px;cursor:pointer}.faq details p{margin:15px 15px 0 0}.contact{background:var(--green);color:#faf8f2}.contact h2{font-size:53px}.contact h2 em{color:#e1b39b}.contact p{color:#c7d1c8}.contact .email{font-size:14px;border-bottom:1px solid #8eaa95;padding-bottom:8px}.contact label{font-size:11px;display:block;margin:16px 0 9px}.contact input,.contact select,.contact textarea{background:#ffffff08;border:1px solid #7a8e80;border-radius:4px;color:#fff;padding:12px;width:100%;font-size:12px;color-scheme:dark}.contact input::placeholder,.contact textarea::placeholder{color:#bcc9bf}.contact select option{background:var(--green)}.contact .button{background:#ede6d6;color:var(--green);margin-top:18px;width:100%}.contact .form-note{font-size:9px;margin:12px 0 0}.footer-wrap{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:35px;padding-bottom:25px}.footer-wrap p,.footer-wrap>span{font-size:10px;color:var(--muted);margin:0}.source-download{text-align:right;font-size:10px;padding-bottom:25px;color:var(--muted)}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:10px;background:#fff;padding:10px;z-index:50}.skip:focus{top:10px}dialog{border:1px solid #c8cfbf;border-radius:14px;background:var(--paper);color:var(--ink);padding:35px;max-width:440px;width:calc(100% - 30px);max-height:90vh}dialog::backdrop{background:#1d3029ad;backdrop-filter:blur(4px)}.close-dialog{position:absolute;right:12px;top:9px;border:0;background:transparent;padding:5px;font-size:20px;z-index:2}dialog h2{font-size:26px}dialog .design-preview{height:360px;outline-offset:-12px}dialog .preview-action{display:none}.dialog-caption{font-size:11px;color:var(--muted);margin:15px 0}dialog .button{width:100%}[hidden]{display:none!important}@media(min-width:1400px){.hero{padding-top:80px;padding-bottom:75px}}@media(max-width:991px){.navlinks{gap:18px}.navlinks>a:not(.button){font-size:11px}.hero-copy{max-width:650px}.hero{padding-top:45px}.hero-art{max-width:500px;margin:auto}.hero h1{font-size:65px}.desktop{display:none}.section-heading{display:block}.price-card p{min-height:0}.price-card ul{min-height:0}.hero-note{margin-top:25px}.section{padding:70px 0}.faq{padding-top:10px}.hero-art{height:520px}.contact h2{font-size:45px}}@media(max-width:767px){.container{padding-left:24px;padding-right:24px}.nav-wrap{height:78px}.brand{font-size:29px}.menu-toggle{display:block;border:1px solid #bbc6b6;border-radius:4px;padding:8px 12px;background:transparent;color:var(--green);font-size:12px}.navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:24px;align-items:stretch;box-shadow:0 12px 15px #0001}.navlinks.open{display:flex;flex-direction:column}.navlinks>a:not(.button){font-size:14px;padding:5px}.hero h1{font-size:49px;letter-spacing:-1.7px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-copy>p{font-size:13px}.hero-art{height:465px;margin-top:-10px}.phone{width:218px;height:430px;margin-left:65px}.invite{padding-top:47px}.invite-names{font-size:39px}.back-card{width:183px;height:290px;left:0;top:90px}.little-note{font-size:15px;top:0;right:0}.floating-tag{left:0;bottom:5px;padding:12px 15px}.orbit{width:330px;height:330px}.orbit-two{width:360px;height:230px}.occasion-strip .container{justify-content:center;gap:15px}.occasion-strip span:first-child{width:100%;text-align:center}.occasion-strip span{font-size:14px}.occasion-strip b{font-size:11px}h2{font-size:35px}.section{padding:60px 0}.design-preview{height:420px}.design-caption{padding-bottom:12px}.feature p{max-width:none}.feedback-card{padding:25px}blockquote{font-size:23px}.footer-wrap{flex-direction:column;align-items:start}.source-download{text-align:left}.hero-note{gap:16px;font-size:9px}.contact h2{font-size:40px}.filter-bar{gap:7px}.filter-bar button{font-size:10px;padding:8px 13px}.hero .button{padding:15px 18px}.faq{padding-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Package catalogue */
.price-card{display:flex;flex-direction:column}.price-card ul{flex:1;min-height:0}.price-card .price-range{font-size:30px}.price-card .price-range small{display:block;margin-top:8px}.addons{margin-top:40px;padding:32px;border:1px solid var(--line);border-radius:7px;background:#faf8f280}.addons .eyebrow{margin-bottom:12px}.addons h3{font:26px 'Playfair Display',Georgia,serif}.addon-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:20px 0 0}.addon-item{display:flex;justify-content:space-between;align-items:baseline;gap:18px;border-top:1px solid var(--line);padding:18px 0}.addon-item dt{font-size:12px;font-weight:400}.addon-item dd{margin:0;font-size:12px;white-space:nowrap;font-weight:600}@media(max-width:767px){.addons{padding:24px}.addon-grid{grid-template-columns:1fr}.price-card .price-range{font-size:32px}}
