@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{--ink:#292b31;--muted:#66646a;--rose:#b43e66;--rose-dark:#943052;--rose-soft:#f8e6e9;--paper:#fffaf8;--cream:#fff3ef;--gold:#b68b50;--line:#eadbd7;--font-body:'DM Sans',Arial,sans-serif;--font-display:'Playfair Display',Georgia,serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 var(--font-body)}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13}h1,h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.035em}p{line-height:1.7}button:focus-visible,a:focus-visible{outline:3px solid var(--rose);outline-offset:4px}::selection{background:#f3ced9}
.preview-bar{background:#3d3440;color:white;text-align:center;font-size:.78rem;letter-spacing:.045em;padding:.52rem 1rem}.preview-bar span{color:#e5acb9;padding:0 .65rem}
.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:0 max(4vw,1.5rem);border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:3}.wordmark{display:block;white-space:nowrap;font:600 1.35rem/1 var(--font-display);letter-spacing:-.045em}.wordmark span{color:var(--rose)}.wordmark em{font-weight:500;color:#1c1c22}.wordmark small{display:block;font:600 .55rem/1.3 var(--font-body);letter-spacing:.23em;color:#9c7d7c;margin-top:.38rem}.site-header nav{display:flex;gap:2.3rem;font-size:.88rem;font-weight:600}.site-header nav a:hover,.text-link:hover{color:var(--rose)}.header-cta{border:1px solid var(--rose);color:var(--rose);padding:.68rem 1.15rem;border-radius:100px;font-size:.83rem;font-weight:700;white-space:nowrap}.header-cta:hover{background:var(--rose);color:#fff}
.hero{min-height:610px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:radial-gradient(circle at 78% 34%,#ffecee 0,#fff8f6 30%,#fffaf8 70%);border-bottom:1px solid var(--line)}.hero-copy{align-self:center;padding:5rem 2rem 5rem max(7vw,2rem);max-width:690px;z-index:1}.eyebrow{font-size:.75rem;letter-spacing:.2em;color:var(--rose);font-weight:700;margin-bottom:1.15rem}.sparkle{font-size:1.1rem;margin-right:.5rem;color:var(--gold)}h1{font-size:clamp(3.2rem,5.1vw,5.9rem);margin-bottom:1.25rem}h1 i{display:block;color:var(--rose);font-weight:400}.hero-intro{font-size:1.08rem;color:#514d54;max-width:34rem;margin-bottom:2rem}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.1rem;border:0;border-radius:4px;padding:.92rem 1.3rem;font-size:.9rem;font-weight:700}.button-primary{background:var(--rose);color:white}.button-primary:hover{background:var(--rose-dark)}.text-link{font-size:.88rem;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:.25rem}.hero-note{display:flex;align-items:center;gap:.65rem;font-family:var(--font-display);font-style:italic;color:#846f70;margin-top:3.3rem}.hero-note span{font-family:Georgia;font-size:1.6rem;color:var(--rose)}.hero-art{position:relative;min-height:610px;display:flex;align-items:center;justify-content:center}.hero-arch{position:absolute;inset:5% 2% 0 4%;background:#f5dadd;border-radius:49% 49% 0 0/36% 36% 0 0}.hero-card{position:absolute;background:white;padding:.5rem;box-shadow:0 23px 48px #6e3e4d33;overflow:hidden}.hero-card img{width:100%;height:100%;object-fit:cover}.hero-card-back{width:38%;height:41%;top:9%;left:6%;transform:rotate(-10deg);z-index:1}.hero-card-front{height:77%;width:46%;top:10%;left:38%;transform:rotate(7deg);z-index:2}.hero-stamp{position:absolute;bottom:10%;left:8%;z-index:3;background:#fff9f4;border:1px solid #deb9aa;border-radius:50%;width:145px;height:145px;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;font:italic 1rem/1.4 var(--font-display);color:var(--rose);box-shadow:0 10px 25px #9b566233;transform:rotate(-8deg)}.hero-stamp strong{font-weight:500}
.shop-section,.why-section,.about-section{scroll-margin-top:1rem}.shop-section{max-width:1440px;margin:auto;padding:5.3rem max(4vw,1.5rem) 6rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.section-heading h2,.why-heading h2,.about-section h2{font-size:clamp(2.3rem,3.8vw,3.6rem);margin-bottom:0}.section-heading p:last-child{max-width:330px;color:var(--muted);margin:0}.filters{display:flex;gap:.65rem;flex-wrap:wrap;margin-bottom:1.7rem}.filter{border:1px solid #e5d5d2;background:transparent;color:#514d52;border-radius:100px;padding:.6rem 1rem;font-size:.82rem;font-weight:700}.filter:hover,.filter.active{background:#332b33;color:#fff;border-color:#332b33}.filter span{margin-left:.25rem;opacity:.65}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem}.product-card{background:white;border:1px solid #eee4e1;display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}.product-card:hover{transform:translateY(-5px);box-shadow:0 15px 32px #32242b13}.product-image{height:285px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f7eeec}.product-image img{width:100%;height:100%;object-fit:cover}.product-card[data-id="wedding"] .product-image img,.product-card[data-id="baby"] .product-image img,.product-card[data-id="calendar"] .product-image img{object-fit:contain;padding:.8rem}.product-card[data-id="ai"] .product-image{background:#e7f4fb}.product-card[data-id="bingo"] .product-image{background:#fbeaf2}.product-card[data-id="trivia"] .product-image{background:#f2ebe5}.product-info{padding:1.25rem 1.2rem 1.1rem;display:flex;flex:1;flex-direction:column}.product-meta{font-size:.67rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rose);font-weight:700;margin-bottom:.45rem}.product-info h3{font:500 1.25rem/1.25 var(--font-display);margin:0 0 .55rem}.product-info p{font-size:.86rem;color:var(--muted);line-height:1.5;margin:0 0 1.1rem}.product-info button{border:0;border-top:1px solid var(--line);background:transparent;text-align:left;color:var(--rose);font-size:.82rem;font-weight:700;padding:.85rem 0 0;margin-top:auto;width:100%}.product-info button:hover{text-decoration:underline}.product-info button span{float:right;font-size:1.1rem;line-height:1}
.why-section{background:#f5e4e6;padding:5.4rem max(7vw,2rem)}.why-heading{text-align:center;max-width:680px;margin:0 auto 3rem}.why-heading p:last-child{color:#5c5358;margin:1rem 0 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;max-width:1150px;margin:auto}.steps article{background:#fffaf8;padding:2.2rem;border:1px solid #ead0d3}.step-num{display:block;font-family:var(--font-display);font-size:2.4rem;color:var(--rose);margin-bottom:1.7rem}.steps h3{font-family:var(--font-display);font-size:1.4rem;font-weight:500;margin-bottom:.55rem}.steps p{color:var(--muted);font-size:.9rem;margin:0}
.about-section{max-width:1150px;margin:auto;padding:6rem 2rem;display:grid;grid-template-columns:300px 1fr;align-items:center;gap:7vw}.about-mark{width:min(100%,300px);aspect-ratio:1/1;justify-self:center;border-radius:50%;overflow:hidden;box-shadow:0 18px 35px #66363e20}.about-mark img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover}.about-section h2{max-width:580px}.about-section p:not(.eyebrow){max-width:570px;color:var(--muted);margin:1.3rem 0 1.7rem}
footer{background:#332c34;color:#fff;padding:3rem max(7vw,2rem) 1.4rem}.footer-top{display:flex;justify-content:space-between;gap:2rem;align-items:start;padding-bottom:3rem}.footer-logo span,.footer-logo em{color:white}.footer-logo small{color:#eac2cc}.footer-top p{max-width:300px;color:#e5d4d9;font-family:var(--font-display);font-style:italic;font-size:1.2rem}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid #685760;padding-top:1.4rem;color:#dbcbd1;font-size:.77rem}.footer-bottom a:hover{text-decoration:underline}
dialog{width:min(900px,calc(100% - 2rem));max-height:min(90vh,900px);border:0;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #130b1380}dialog::backdrop{background:#211924ad}.dialog-layout{display:grid;grid-template-columns:47% 53%}.dialog-image{background:#f5e8e8;min-height:480px;display:flex;align-items:center;justify-content:center;padding:1.3rem}.dialog-image img{width:100%;max-height:62vh;object-fit:contain}.dialog-content{padding:3.5rem 3rem 3rem;overflow:auto}.dialog-content h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:1rem}.dialog-content>p:not(.eyebrow){color:var(--muted)}.dialog-content ul{padding-left:1.2rem;color:#504e53;line-height:1.8}.checkout-notice{background:#f6e9e9;padding:1rem 1.15rem;margin:1.8rem 0 1.3rem;border-left:3px solid var(--rose)}.checkout-notice strong{color:var(--rose)}.checkout-notice p{margin:.3rem 0 0;font-size:.84rem;line-height:1.5}.dialog-close{position:absolute;right:1rem;top:.8rem;border:0;background:#fff;border-radius:50%;width:36px;height:36px;font-size:1.6rem;line-height:1;z-index:1}.dialog-done{width:100%}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-header nav{gap:1.1rem}.hero-copy{padding-left:5vw}h1{font-size:clamp(3.1rem,5vw,4.8rem)}}
@media(max-width:800px){.site-header{height:auto;min-height:83px;flex-wrap:wrap;padding:1rem 1.5rem}.site-header nav{order:3;width:100%;justify-content:space-between;padding-top:.6rem;border-top:1px solid var(--line)}.header-cta{margin-left:auto}.hero{grid-template-columns:1fr}.hero-copy{padding:4rem 1.5rem 1rem;max-width:650px}.hero-art{min-height:470px}.hero-arch{inset:0 6% 0}.hero-card-front{height:75%;width:40%;left:44%}.hero-card-back{width:40%;height:48%;left:14%}.hero-stamp{bottom:6%;left:17%}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:start;display:block}.section-heading p:last-child{max-width:500px;margin-top:1rem}.steps{gap:.7rem}.steps article{padding:1.4rem}.about-section{grid-template-columns:190px 1fr;gap:2rem}.about-mark{width:190px}}
@media(max-width:550px){.preview-bar{font-size:.7rem}.site-header nav{font-size:.72rem;gap:.3rem}.header-cta{display:none}.hero-copy{padding:3.2rem 1.4rem 1rem}.eyebrow{font-size:.67rem}h1{font-size:clamp(3rem,11vw,4.2rem)}.hero-intro{font-size:1rem}.hero-art{min-height:390px}.hero-card-front{height:75%;width:51%;left:39%}.hero-card-back{width:46%;height:42%;left:5%}.hero-stamp{width:105px;height:105px;font-size:.75rem;left:6%;bottom:7%}.hero-note{margin-top:2rem}.shop-section{padding:3.8rem 1rem 4rem}.section-heading h2,.why-heading h2,.about-section h2{font-size:2.45rem}.filters{gap:.4rem}.filter{font-size:.72rem;padding:.45rem .72rem}.product-grid{gap:.65rem}.product-image{height:200px}.product-info{padding:.85rem}.product-info h3{font-size:1.1rem}.product-info p{font-size:.78rem}.product-meta{font-size:.59rem}.why-section{padding:4rem 1.2rem}.steps{grid-template-columns:1fr}.steps article{padding:1.3rem}.step-num{margin-bottom:.5rem}.about-section{grid-template-columns:1fr;padding:4rem 1.4rem;gap:2.5rem}.about-mark{width:180px;margin:auto}.footer-top{display:block}.footer-top p{margin-top:1.7rem}.dialog-layout{display:block}.dialog-image{min-height:0;height:240px}.dialog-image img{max-height:220px}.dialog-content{padding:1.4rem 1.3rem 1.6rem}.dialog-content h2{font-size:2rem}.dialog-close{right:.5rem;top:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-card{transition:none}}
.product-image{width:100%}.product-image img{object-fit:cover}.product-image:hover img{transform:scale(1.025)}.product-image img{transition:transform .25s ease}
.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:.8rem;border-top:1px solid var(--line);padding-top:.85rem;margin-top:auto}.product-price{font-size:1rem;white-space:nowrap}.product-bottom a{font-size:.82rem;font-weight:700;color:var(--rose);white-space:nowrap}.product-bottom a:hover{text-decoration:underline}.shop-footnote{font-size:.76rem;color:var(--muted);margin:1.5rem 0 0;text-align:right}
@media(max-width:550px){.product-bottom{align-items:start;flex-direction:column;gap:.45rem}.product-price{font-size:.9rem}.product-bottom a{font-size:.75rem}.shop-footnote{text-align:left}}
@media(prefers-reduced-motion:reduce){.product-image img{transition:none}}
.product-image-crop{position:relative;display:block;width:min(100%,285px);flex-shrink:0;overflow:hidden}
.product-image-crop img{position:absolute;max-width:none;height:auto}
.product-image:hover .product-image-crop img{transform:none}
@media(max-width:550px){.product-image-crop{width:min(100%,200px)}}
