*{box-sizing:border-box}
:root{--pink:#f486ad;--hot:#ee4f91;--deep:#3a2631;--berry:#943d61;--cream:#fffafc;--blush:#ffe6ef;--pale:#fff1f6;--line:#efd6e1;--muted:#75606a;--white:#fff;--shadow:0 25px 70px rgba(97,34,58,.12);--radius:28px}
html{scroll-behavior:smooth}
body{margin:0;color:var(--deep);font-family:"DM Sans",sans-serif;background:var(--cream);line-height:1.6;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:18px 18px;mix-blend-mode:soft-light;z-index:-1}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.top-strip{background:var(--deep);color:#ffe8f1;display:flex;justify-content:center;gap:13px;align-items:center;flex-wrap:wrap;padding:9px 15px;font-size:10px;font-weight:800;letter-spacing:.12em}
.top-strip i{font-style:normal;color:#ff89b2}
.header{height:86px;background:rgba(255,250,252,.9);backdrop-filter:blur(16px);position:sticky;top:0;z-index:30;border-bottom:1px solid #f2dce5;display:flex;align-items:center;gap:30px;padding:8px clamp(18px,5vw,75px)}
.logo-link{width:154px;height:70px;border-radius:18px;overflow:hidden;flex:none;box-shadow:0 8px 20px rgba(80,30,50,.08)}
.logo-link img{width:100%;height:100%;object-fit:cover}
.header nav{display:flex;gap:27px;margin-left:auto;align-items:center;font-weight:800;font-size:13px}
.header nav a{position:relative;padding:8px 0}
.header nav a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--hot);transform:scaleX(0);transition:.2s}
.header nav a:hover:after{transform:scaleX(1)}
.header-icon{position:relative;border:0;background:var(--deep);color:white;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;font-size:21px;flex:none}
.header-icon b{position:absolute;right:-2px;top:-3px;width:18px;height:18px;border-radius:50%;background:var(--hot);font-size:10px;display:grid;place-items:center}
.menu-trigger{display:none;background:white;color:var(--deep);border:1px solid var(--line);font-size:19px}
.hero{min-height:710px;padding:70px clamp(22px,7vw,110px) 80px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:70px;background:linear-gradient(135deg,#fff9fc 0%,#fff0f6 52%,#ffdbe9 100%);position:relative}
.hero:after{content:"";position:absolute;right:-100px;bottom:-160px;width:440px;height:440px;border-radius:50%;border:1px dashed rgba(238,79,145,.28)}
.hero-left{max-width:690px;position:relative;z-index:2}
.sticker{display:inline-block;background:white;color:var(--hot);font-family:"Pacifico";padding:7px 15px;border:2px solid #ffc5d8;border-radius:999px;transform:rotate(-3deg);box-shadow:0 10px 25px rgba(110,40,65,.08);margin-bottom:22px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#d6427f;font-size:10px;font-weight:900}
.hero h1{font-family:"Baloo 2";font-size:clamp(65px,8vw,105px);line-height:.87;letter-spacing:-.055em;margin:16px 0 25px}
.hero h1 span{color:var(--hot)}
.hero-lede{font-size:18px;color:var(--muted);max-width:600px;margin:0 0 28px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{border-radius:999px;padding:14px 22px;border:0;font-weight:900;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:14px;transition:.2s}
.btn span{font-size:18px;line-height:0}
.btn-primary{background:var(--hot);color:white;box-shadow:0 13px 28px rgba(238,79,145,.24)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(238,79,145,.30)}
.btn-secondary{background:white;border:1px solid var(--line)}
.btn-secondary:hover{background:#fff0f6}
.trust-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px;color:#705764;font-size:11px;font-weight:800}
.hero-right{position:relative;min-height:570px;display:grid;place-items:center}
.pink-orb{position:absolute;width:470px;height:470px;border-radius:50% 45% 55% 45%/50% 55% 45% 50%;background:#f8a2c0;transform:rotate(-9deg)}
.hero-photo-frame{width:min(435px,84%);position:relative;z-index:2;background:#fff;padding:15px 15px 0;border-radius:33px;box-shadow:var(--shadow);transform:rotate(3.2deg)}
.hero-photo-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:22px}
.hero-label{padding:14px 10px 18px;text-align:center}
.hero-label small{display:block;font-size:9px;color:#d6427f;font-weight:900;letter-spacing:.14em}
.hero-label strong{display:block;font-family:"Baloo 2";font-size:25px;line-height:1.05}
.hero-label em{font-style:normal;color:var(--hot);font-weight:900}
.floating-note{position:absolute;right:1%;bottom:50px;z-index:4;background:white;padding:16px 18px;border-radius:18px;box-shadow:0 18px 35px rgba(84,31,52,.16);transform:rotate(-4deg);max-width:215px}
.floating-note b{display:block;font-family:"Baloo 2";font-size:19px}.floating-note span{font-size:10px;color:var(--muted)}
.hero-squiggle{position:absolute;color:var(--hot);font-size:42px;z-index:5}.squiggle-one{top:40px;left:8%}.squiggle-two{right:12%;top:10px}
.category-ribbon{margin:-25px auto 0;position:relative;z-index:4;width:min(1180px,92%);background:white;border:1px solid var(--line);border-radius:23px;padding:14px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 15px 35px rgba(78,31,50,.08)}
.category-ribbon a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr 1fr;column-gap:12px;align-items:center;padding:10px 18px;border-right:1px dashed #e8cfd9}.category-ribbon a:last-child{border-right:0}
.cat-icon{grid-row:span 2;width:42px;height:42px;display:grid;place-items:center;background:#fff0f6;border-radius:14px;font-size:22px}
.category-ribbon b{font-size:13px}.category-ribbon small{font-size:10px;color:var(--muted)}
.section{padding:95px clamp(22px,7vw,110px)}.section-head{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:35px}.section-head.centered{display:block;text-align:center}.section-head.centered>p{margin:16px auto 0}
.section-head h2,.statement h2,.order-copy h2{font-family:"Baloo 2";font-size:clamp(45px,5vw,68px);letter-spacing:-.04em;line-height:.96;margin:9px 0 0}.section-head h2 span,.statement h2 span,.order-copy h2 span{color:var(--hot)}
.section-head>p{max-width:470px;color:var(--muted);margin:0;font-size:14px}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter{border:1px solid var(--line);background:white;color:var(--deep);padding:9px 14px;border-radius:999px;font-weight:800;font-size:11px}.filter.active,.filter:hover{background:var(--hot);color:white;border-color:var(--hot)}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.product-card{background:white;border:1px solid var(--line);border-radius:25px;overflow:hidden;box-shadow:0 12px 35px rgba(71,29,48,.06);transition:.25s;display:flex;flex-direction:column}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.product-card.hide{display:none}
.product-photo{height:275px;background:#fff0f6;overflow:hidden;position:relative}.product-photo img{width:100%;height:100%;object-fit:cover;transition:.35s}.product-card:hover .product-photo img{transform:scale(1.04)}
.product-info{padding:19px;display:flex;flex-direction:column;flex:1}.pill{display:inline-flex;align-self:flex-start;background:#fff1f6;color:#d6427f;padding:5px 9px;border-radius:99px;font-size:8px;font-weight:900;letter-spacing:.12em}.pill.hot{background:#ffedf4;color:#c53e71}.pill.pink{background:#ffe2ed;color:#dc3f80}
.product-info h3{font-family:"Baloo 2";font-size:25px;line-height:1.0;margin:11px 0 8px}.product-info p{color:var(--muted);font-size:12px;margin:0 0 16px}
.product-foot{margin-top:auto;border-top:1px solid #f0dde5;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:8px}.product-foot strong{font-size:12px}.add{border:0;background:var(--deep);color:white;border-radius:999px;padding:9px 12px;font-size:10px;font-weight:900}.add:hover{background:var(--hot)}.add span{font-size:14px;margin-left:3px}
.statement{padding:75px clamp(22px,7vw,110px);background:linear-gradient(135deg,#ffc2d8,#ffdeeb);position:relative;overflow:hidden}.statement:before,.statement:after{content:"♡";position:absolute;color:rgba(255,255,255,.64);font-size:180px;font-family:"Baloo 2";transform:rotate(-15deg)}.statement:before{left:-40px;top:-75px}.statement:after{right:-55px;bottom:-110px}
.statement-inner{max-width:1250px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;position:relative;z-index:2}.statement-copy p{max-width:650px;color:#694b58;font-size:17px}.text-link{display:inline-block;color:var(--berry);font-weight:900;margin-top:11px}
.statement-art{min-height:420px;position:relative;display:grid;place-items:center}.arch{width:min(350px,75%);aspect-ratio:4/5;background:white;padding:12px 12px 0;border-radius:170px 170px 28px 28px;box-shadow:0 30px 65px rgba(98,37,62,.15);transform:rotate(4deg)}.arch img{width:100%;height:100%;object-fit:cover;border-radius:150px 150px 18px 18px}
.mini-sticker{position:absolute;right:0;bottom:22px;background:white;padding:13px 17px;border-radius:16px;box-shadow:0 14px 32px rgba(90,35,58,.12);font-size:10px;transform:rotate(-5deg);text-align:center}.mini-sticker b{font-family:"Baloo 2";font-size:18px;line-height:1}.star-cluster{position:absolute;top:23px;left:9%;font-size:25px;color:var(--hot);line-height:1.2}
.occasions{background:#fffafc}.occasion-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:35px}.occasion-grid div{background:white;border:1px solid var(--line);border-radius:21px;padding:24px 12px;text-align:center;box-shadow:0 10px 25px rgba(87,32,53,.04)}.occasion-grid b{font-size:27px;display:block}.occasion-grid h3{font-family:"Baloo 2";font-size:20px;margin:7px 0 3px}.occasion-grid span{display:block;color:var(--muted);font-size:9px}
.social-proof{background:#fff1f6;padding:25px clamp(22px,7vw,110px);display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.social-card{background:white;border:1px solid var(--line);border-radius:19px;padding:22px;min-height:145px}.social-card p{font-family:"Baloo 2";font-size:21px;line-height:1.0;margin:8px 0}.social-card span{font-size:9px;color:var(--muted)}.quote-mark,.proof-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff0f6;color:var(--hot);font-size:20px}
.gallery{background:#fffafc}.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:250px 250px 250px;gap:15px}.gallery-grid figure{margin:0;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#fff0f6}.gallery-grid figure img{width:100%;height:100%;object-fit:cover}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:2/4}
.order-section{padding:88px clamp(22px,7vw,110px);background:linear-gradient(135deg,#f68aad,#ffb8d0)}.order-shell{max-width:1250px;margin:auto;display:grid;grid-template-columns:.88fr 1.12fr;gap:65px;align-items:start}.order-copy{color:#fff;padding-top:36px}.order-copy .eyebrow{color:#fff0f5}.order-copy h2 span{color:white;text-shadow:0 3px 0 rgba(198,56,110,.35)}.order-copy>p{max-width:600px;color:#fff6fa;font-size:15px}.order-perks{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}.order-perks span{background:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.4);padding:7px 10px;border-radius:999px;font-size:10px;font-weight:900}
.order-form{background:white;padding:28px;border-radius:30px;box-shadow:0 25px 60px rgba(95,31,56,.2)}.form-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.form-title span{font-family:"Baloo 2";font-size:25px}.form-title small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.form-row{display:grid;gap:12px;margin-bottom:12px}.form-row.two{grid-template-columns:1fr 1fr}label{font-size:10px;font-weight:900;color:#6e5560;display:grid;gap:6px}input,select,textarea{width:100%;border:1px solid #ead6df;border-radius:14px;padding:11px 12px;background:#fffafc;outline:0;font-size:12px;color:var(--deep)}input:focus,select:focus,textarea:focus{border-color:#f28aaf;box-shadow:0 0 0 3px #ffe4ef}textarea{resize:vertical;margin-bottom:12px}
.order-summary{background:#fff2f7;border:1px solid #f2d9e3;border-radius:18px;padding:14px;margin:5px 0 15px}.order-summary>div:first-child{display:flex;justify-content:space-between}.order-summary strong{font-family:"Baloo 2";font-size:18px}.order-summary div:first-child span{font-size:9px;color:var(--muted);align-self:center}.order-summary p{font-size:10px;color:var(--muted);margin:8px 0}.summary-line{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px dashed #e4cdd7;font-size:10px}.summary-line b{font-size:10px}.summary-line span{color:var(--muted)}.micro-note{font-size:9px!important;color:var(--muted);text-align:center;margin:10px 3px 0}.full{width:100%}
footer{background:var(--deep);color:#fff;padding:50px clamp(22px,7vw,110px) 25px}.footer-main{display:flex;justify-content:space-between;gap:50px;align-items:center}.footer-brand{display:flex;gap:17px;align-items:center}.footer-brand img{width:90px;height:68px;object-fit:cover;border-radius:14px}.footer-brand h3{font-family:"Baloo 2";font-size:25px;margin:0;line-height:1}.footer-brand p{margin:7px 0 0;color:#e8cad5;font-size:10px}.footer-social{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:11px}.footer-social>span{color:#d7bcc7}.footer-social a:hover{color:#ffb1cc}.footer-bottom{border-top:1px solid #5d3c4a;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;color:#cdb4bf;font-size:9px}
.cart-drawer{position:fixed;right:0;top:0;bottom:0;width:min(430px,94vw);background:white;z-index:60;transform:translateX(102%);transition:.3s;box-shadow:-25px 0 70px rgba(51,20,34,.22);display:flex;flex-direction:column}.cart-drawer.open{transform:translateX(0)}.cart-head{padding:25px 24px 15px;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line)}.cart-head h3{font-family:"Baloo 2";font-size:30px;line-height:1;margin:5px 0}.cart-head button{background:#fff0f6;border:0;border-radius:50%;width:38px;height:38px;font-size:24px;color:var(--hot)}.cart-body{padding:18px 24px;overflow:auto;flex:1}.cart-empty{padding:70px 15px;text-align:center;color:var(--muted)}.cart-empty .heart{font-size:50px;color:var(--hot);font-family:"Baloo 2"}.cart-item{display:grid;grid-template-columns:65px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #f0dfe6}.cart-item img{width:65px;height:65px;object-fit:cover;border-radius:14px}.cart-item h4{font-family:"Baloo 2";font-size:17px;margin:0;line-height:1}.cart-item p{font-size:9px;color:var(--muted);margin:4px 0}.qty{display:flex;gap:5px;align-items:center}.qty button{width:23px;height:23px;border:1px solid var(--line);background:#fff;border-radius:50%;font-size:12px}.cart-item>strong{font-size:10px;align-self:start}.cart-footer{padding:19px 24px;border-top:1px solid var(--line);background:#fffafc}.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.cart-total span{font-size:10px;color:var(--muted)}.cart-total strong{font-family:"Baloo 2";font-size:23px}.cart-footer small{font-size:8px;color:var(--muted);display:block;text-align:center;margin-top:10px}
.overlay{position:fixed;inset:0;background:rgba(39,16,25,.34);backdrop-filter:blur(2px);z-index:50;opacity:0;pointer-events:none;transition:.2s}.overlay.show{opacity:1;pointer-events:auto}
.success-dialog{border:0;border-radius:30px;padding:0;width:min(490px,92vw);box-shadow:0 35px 100px rgba(49,18,32,.28);background:white}.success-dialog::backdrop{background:rgba(38,15,25,.5);backdrop-filter:blur(2px)}.success-content{text-align:center;padding:45px 34px}.success-icon{width:65px;height:65px;border-radius:50%;background:#fff0f6;color:var(--hot);display:grid;place-items:center;font-size:35px;margin:0 auto 15px}.success-content h2{font-family:"Baloo 2";font-size:42px;line-height:.98;margin:10px 0}.success-content h2 span{color:var(--hot)}.success-content p{font-size:12px;color:var(--muted);margin:0 0 25px}

@media(max-width:1050px){
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .occasion-grid{grid-template-columns:repeat(3,1fr)}
  .hero{gap:35px}.header nav{gap:18px}
}
@media(max-width:850px){
  .header nav{display:none;position:absolute;top:86px;left:0;right:0;background:white;padding:18px 22px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(60,24,40,.06)}
  .header nav.open{display:flex}.menu-trigger{display:grid}.hero{grid-template-columns:1fr;padding-top:55px}.hero-right{min-height:520px}.statement-inner,.order-shell{grid-template-columns:1fr}.statement-art{min-height:410px}.social-proof{grid-template-columns:1fr}.footer-main{align-items:flex-start;flex-direction:column}
}
@media(max-width:650px){
  .top-strip{font-size:8px;gap:8px}.header{height:78px}.logo-link{width:128px;height:58px}.header nav{top:78px}.hero{padding:42px 20px 48px}.hero h1{font-size:67px}.hero-right{min-height:500px}.pink-orb{width:350px;height:350px}.hero-photo-frame{width:84%}.floating-note{right:0;bottom:12px}.category-ribbon{grid-template-columns:1fr 1fr;padding:8px}.category-ribbon a{border-right:0;padding:10px}.section{padding:70px 20px}.section-head{display:block}.section-head>p{margin-top:16px}.product-grid{grid-template-columns:1fr 1fr}.product-photo{height:230px}.product-info{padding:15px}.product-info h3{font-size:21px}.product-info p{font-size:10px}.product-foot{display:block}.add{width:100%;margin-top:9px}.statement{padding:60px 20px}.occasion-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 230px 230px}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:1/3}.order-section{padding:55px 20px}.order-form{padding:22px}.form-row.two{grid-template-columns:1fr}.footer-main{gap:30px}.footer-social{display:grid;grid-template-columns:1fr 1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}
}
@media(max-width:480px){
  .product-grid{grid-template-columns:1fr}.product-photo{height:310px}.category-ribbon{grid-template-columns:1fr}.occasion-grid{grid-template-columns:1fr 1fr}.hero-cta .btn{width:100%}
}
