@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Lora:wght@400;500;600&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-pink:#f49aa2;--primary-pink:#fff;--pink-light:#fce4e8;--pink-dark:#e07a85;--bg:#fff;--surface:#fce4e8;--ink:#1a1a1a;--muted:#1a1a1abf;--line:#0000001a;--shadow:0 8px 24px #0000001f;--radius:10px;--paper:#fff;--plum:#5d1725;--accent:#e07a85}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}p,h1,h2,h3{overflow-wrap:break-word}.site-shell{width:100%;min-height:100vh;overflow:hidden}.announcement{background:var(--pink-light);color:var(--pink-dark);text-align:center;overflow-wrap:anywhere;padding:10px 5vw;font-size:.86rem;font-weight:700}.marquee{align-items:center;width:100%;display:flex;overflow:hidden}.marquee-track{will-change:transform;display:inline-flex}.marquee-group{flex-shrink:0;align-items:center;gap:48px;display:flex}.marquee-group span{color:var(--plum);white-space:nowrap;padding:6px 12px;font-weight:900;display:inline-block}.marquee-group .hashtag{color:var(--accent)}.site-header{background:var(--pink-light);border-bottom:1px solid var(--line);z-index:20;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 5vw;display:grid;position:sticky;top:0}.brand{align-items:center;gap:10px;font-weight:900;display:inline-flex}.brand-logo{object-fit:cover;border:1px solid #0000;border-radius:14px;width:110px;height:56px;display:block}.nav-links,.footer nav,.contact-actions,.hero-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.nav-links{justify-content:flex-start;gap:24px;font-size:1.1rem;font-weight:900}.nav-links a,.footer a{border-bottom:1px solid #0000}.nav-links a:hover,.footer a:hover{border-bottom-color:currentColor}.header-action{display:none}.hero{background:var(--pink-light);grid-template-columns:minmax(0,.75fr) minmax(480px,1.25fr);align-items:center;gap:48px;min-height:80vh;padding:80px 5vw;display:grid}.hero .eyebrow{color:#fff}.hero-copy{min-width:0}.eyebrow{color:var(--plum);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.75rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1{max-width:790px;color:var(--ink);margin-bottom:18px;font-family:Lora,Georgia,serif;font-size:3.8rem;font-weight:700;line-height:1.1}h2{color:var(--ink);margin-bottom:16px;font-family:Lora,Georgia,serif;font-size:2.4rem;font-weight:700;line-height:1.15}h3{color:var(--ink);margin-bottom:10px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.25rem;font-weight:700}.hero-text,.section-intro p,.custom-copy p,.story>p,.product-content p,.occasion-card p,.faq-list p,.footer p{color:var(--muted);line-height:1.65}.hero-text{max-width:min(650px,100%);font-size:1.1rem}.button{border-radius:var(--radius);min-height:48px;color:var(--ink);box-shadow:none;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:12px 20px;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s,color .16s;display:inline-flex}.button:hover,.header-action:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4617a26}.button.primary{color:var(--brand-pink);background:#fff;border-color:#0000;font-weight:700;box-shadow:0 6px 20px #0000001a}.button.primary:hover,.header-action:hover{background:var(--pink-dark);color:#fff;transform:translateY(-2px);box-shadow:0 8px 28px #00000026}.button.secondary{color:#fff;background:0 0;border:1.5px solid #fff;font-weight:700}.button.secondary:hover{background:var(--pink-light);border-color:var(--pink-dark);color:var(--pink-dark)}.hero-media{border-radius:16px;min-height:560px;position:relative;overflow:hidden;box-shadow:0 12px 48px #00000026}.carousel{position:absolute;inset:0;overflow:hidden}.carousel-track{width:100%;height:100%;position:relative}.carousel-slide{object-fit:cover;opacity:0;width:calc(100% + 8px);height:calc(100% + 8px);transition:opacity .9s ease-in-out,transform 7s ease-out;position:absolute;inset:-4px;transform:scale(1.08)}.carousel-slide.active{opacity:1;transform:scale(1)}.carousel:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000 45%,#00000059 100%);border-radius:12px;position:absolute;inset:0}.carousel-dots{z-index:2;gap:10px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.dot{cursor:pointer;background:#ffffff73;border:2px solid #ffffffbf;border-radius:50%;width:10px;height:10px;padding:0;transition:all .4s}.dot.active{background:#fff;border-color:#fff;border-radius:5px;width:28px}.hero-image{border:1px solid var(--ink);object-fit:cover;width:100%;height:100%}.hero-image.main{grid-row:1/3}.hero-image.small.top,.hero-image.small.bottom{object-position:center}.hero-note{-webkit-backdrop-filter:blur(8px);background:#000000a6;border:1px solid #ffffff40;border-radius:12px;max-width:240px;padding:18px 22px;position:absolute;bottom:28px;left:28px;box-shadow:0 8px 32px #00000040}.hero-note span{color:#ffffffbf;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700}.hero-note strong{color:#fff;margin-top:6px;font-family:Lora,Georgia,serif;font-size:1.4rem;font-weight:600;line-height:1.15;display:block}.ticker{background:var(--pink-light);border-bottom:1px solid var(--line);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:0;display:flex}.ticker span{border-right:1px solid var(--line);text-transform:uppercase;color:var(--pink-dark);padding:14px 24px;font-size:.85rem;font-weight:700}.section{background:var(--paper);padding:80px 5vw}.collection{background:var(--surface)}.section-intro{grid-template-columns:minmax(0,.82fr) minmax(280px,.48fr);margin-bottom:42px}.section-intro.compact{max-width:720px;display:block}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.product-card,.occasion-card,.review,.faq-list details,.process-card{border-radius:var(--radius);border:none}.product-card{background:var(--paper);border-radius:var(--radius);border:none;transition:box-shadow .26s,transform .26s;display:grid;overflow:hidden;box-shadow:0 2px 12px #0000000f,0 1px 4px #0000000a}.product-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a,0 4px 12px #0000000f}.product-card.rose,.product-card.mint,.product-card.gold{background:var(--paper)}.product-image-wrap{aspect-ratio:4/4.5;position:relative;overflow:hidden}.product-image-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .36s}.product-card:hover .product-image-wrap img,.occasion-card:hover img{transform:scale(1.05)}.product-image-wrap span{background:var(--plum);color:#fff;text-transform:uppercase;letter-spacing:.04em;border:none;border-radius:4px;padding:6px 12px;font-size:.7rem;font-weight:700;position:absolute;top:12px;left:12px}.product-content{gap:12px;padding:24px 24px 28px;display:grid}.audience{color:var(--plum);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.78rem;font-weight:900}.price-row{justify-content:space-between;align-items:end;gap:12px;margin-top:6px;display:flex}.price-row strong{font-family:Lora,Georgia,serif;font-size:1.8rem;font-weight:600}.price-row small{color:var(--muted);text-align:right;font-size:.75rem}.card-button{background:var(--surface);border:1px solid var(--line);width:100%;margin-top:12px}.card-button:hover{background:var(--pink-dark);border-color:var(--pink-dark);color:#fff}.occasion-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;display:grid}.occasion-card{background:var(--paper);gap:14px;padding-bottom:24px;transition:box-shadow .26s,transform .26s;display:grid;overflow:hidden;box-shadow:0 2px 12px #0000000f,0 1px 4px #0000000a}.occasion-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a,0 4px 12px #0000000f}.occasion-card img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;transition:transform .36s}.occasion-card span,.occasion-card p{padding-left:20px;padding-right:20px}.occasion-card span{letter-spacing:-.01em;color:var(--ink);font-size:1.12rem;font-weight:900}.occasion-card p{margin:0;font-size:.92rem}.custom-panel{background:var(--pink-dark);color:#fff;grid-template-columns:minmax(0,.9fr) minmax(320px,.55fr);gap:36px;padding:80px 5vw;display:grid}.custom-panel .eyebrow,.custom-copy p{color:#ffffffe6}.custom-copy h2{max-width:760px}.custom-copy p{max-width:700px}.process-card{background:var(--surface);color:var(--ink);display:grid;overflow:hidden;box-shadow:0 4px 16px #d4617a14}.process-step{grid-template-columns:52px 1fr;gap:16px;padding:20px;display:grid}.process-step+.process-step{border-top:1px solid var(--line)}.process-step span{color:var(--pink-dark);font-family:Lora,Georgia,serif;font-size:1.5rem;font-weight:600}.process-step p{margin:0;line-height:1.5}.story{background:var(--paper);border-bottom:1px solid var(--ink);border-top:1px solid var(--ink);grid-template-columns:minmax(0,1fr);align-items:start;gap:42px;display:grid}.about-divider{border:none;border-top:1px solid var(--ink);opacity:.25;margin:32px 0 28px}.ceo-section{align-items:start;gap:28px;display:flex}.ceo-photo{object-fit:cover;border:2px solid #d4617a26;border-radius:50%;flex-shrink:0;width:100px;height:100px;box-shadow:0 4px 20px #0000001f}.ceo-name{letter-spacing:.06em;text-transform:uppercase;color:var(--pink-dark);margin:0 0 6px;font-family:Lora,Georgia,serif;font-size:1rem;font-weight:700}.ceo-bio{color:var(--muted);margin:0 0 12px;font-size:.95rem;line-height:1.75}.ceo-bio:last-child{margin-bottom:0}.ceo-bio em{color:var(--ink);font-style:italic}.reviews-section{background:0 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:64px 5vw;display:grid}.review{background:var(--surface);border:1px solid #f49aa226;border-radius:16px;padding:28px 26px;transition:box-shadow .3s,transform .3s;box-shadow:0 4px 24px #d4617a14}.review:hover{transform:translateY(-2px);box-shadow:0 8px 36px #d4617a1f}.star-rating{color:var(--pink-dark);text-shadow:none;letter-spacing:2px;gap:3px;margin-bottom:14px;font-size:1.1rem;line-height:1;display:flex}.review blockquote{color:var(--ink);margin:0 0 20px;font-family:Lora,Georgia,serif;font-size:1.05rem;font-style:italic;line-height:1.65}.review blockquote:before{content:"“";vertical-align:-.4em;color:var(--pink-dark);opacity:.3;margin-right:4px;font-size:2rem;line-height:0}.review span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:800}.review-form-section{background:var(--paper);flex-direction:column;align-items:center;padding-top:1rem;display:flex}.reviews-empty{color:var(--muted);max-width:380px;margin:2rem auto;font-family:Lora,Georgia,serif;font-size:1.1rem;font-style:italic;line-height:1.6}.review-form{background:#fff;border:none;border-radius:24px;gap:20px;width:100%;max-width:500px;padding:40px;display:grid;box-shadow:0 10px 30px #f49aa233}.review-form label,.star-field{color:var(--pink-dark);gap:8px;font-weight:700;display:grid}.star-field{border:0;margin:0;padding:0}.star-field legend{margin-bottom:8px;padding:0;font-weight:900}.review-form input,.review-form textarea{border:2px solid var(--pink-light);color:var(--ink);font:inherit;background:#fff;border-radius:12px;width:100%;padding:14px 16px;font-weight:500;transition:border-color .2s,box-shadow .2s}.review-form input:focus,.review-form textarea:focus{border-color:var(--brand-pink);outline:none;box-shadow:0 0 0 4px #f49aa21a}.star-picker{gap:8px;display:flex}.star-picker button{border:2px solid var(--pink-light);color:#ffcad0;cursor:pointer;background:#fff;border-radius:14px;justify-content:center;align-items:center;width:54px;height:54px;padding:0;font-size:2.2rem;line-height:1;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:inline-flex}.star-picker button.selected{background:var(--pink-light);color:var(--brand-pink);border-color:var(--brand-pink);transform:scale(1.1)}.star-picker button:hover{background:var(--paper);color:var(--brand-pink);transform:translateY(-4px)scale(1.1)}.faq{grid-template-columns:minmax(280px,.55fr) minmax(0,1fr);gap:40px;display:grid}.faq-list{gap:12px;display:grid}.faq-list details{background:var(--surface);border-radius:12px;padding:22px 28px;box-shadow:0 4px 16px #d4617a14}.faq-list summary{cursor:pointer;font-size:1.1rem;font-weight:700}.faq-list p{margin:16px 0 0;font-size:1rem;line-height:1.7}.contact-banner{background:var(--surface);border-top:1px solid var(--line);text-align:center;padding:80px 5vw}.contact-banner .eyebrow{color:var(--plum)}.contact-banner h2{max-width:840px;margin-left:auto;margin-right:auto}.contact-actions{justify-content:center}.footer{background:var(--pink-dark);color:#fff;justify-content:space-between;align-items:center;gap:24px;padding:28px 5vw;display:flex}.footer-brand{align-items:center;gap:14px;display:flex}.footer-logo{object-fit:cover;border:1px solid #ffffff4d;border-radius:6px;width:120px;height:94px}.footer p{color:#ffffffd9;margin:6px 0 0}@media (width<=1020px){.site-header{grid-template-columns:1fr auto}.nav-links{grid-area:2/1/auto/-1;justify-content:flex-start}.hero,.section-intro,.custom-panel,.story,.faq{grid-template-columns:1fr}.hero{min-height:auto}h1{font-size:3.55rem}h2{font-size:2.55rem}.hero-media{min-height:500px}.product-grid,.reviews-section{grid-template-columns:1fr}.occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.announcement{padding-left:18px;padding-right:18px;font-size:.78rem}.site-header{flex-wrap:wrap;justify-content:space-between;gap:14px 12px;padding:14px 18px;display:flex}.header-action{justify-self:auto;padding:9px 13px}.brand{font-size:.94rem}.brand-logo{width:64px;height:50px}.nav-links{flex:100%;justify-content:flex-start;gap:14px}.section{padding:48px 18px}.hero,.custom-panel,.reviews-section,.contact-banner,.footer{padding-left:18px;padding-right:18px}h1{width:calc(100vw - 36px);max-width:calc(100vw - 36px);font-size:2.32rem;line-height:1.04}h2{font-size:2.15rem}.hero-media{min-height:auto;display:block}.hero-copy,.hero-actions{width:calc(100vw - 36px);max-width:calc(100vw - 36px)}.hero-text{width:min(320px,100vw - 36px);max-width:min(320px,100vw - 36px)}.hero-image.main{aspect-ratio:4/5}.hero-image.small,.hero-note{display:none}.ticker{justify-content:flex-start}.ticker span{border-bottom:1px solid var(--ink);width:50%}.occasion-grid{grid-template-columns:1fr}.price-row,.footer{flex-direction:column;align-items:flex-start}.footer-brand{align-items:flex-start}}.auth-page{background:var(--pink-light);justify-content:center;align-items:center;min-height:70vh;display:flex}.auth-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;width:100%;max-width:400px;padding:2.5rem}.auth-form{flex-direction:column;gap:1.25rem;margin-top:2rem;display:flex}.auth-form label{flex-direction:column;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.auth-form input{border:1px solid var(--line);border-radius:6px;padding:.75rem;font-size:1rem}.auth-error{color:#d00;background:#fff0f0;border:1px solid #fcc;border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.auth-divider{text-align:center;color:var(--muted);align-items:center;margin:2rem 0;font-size:.8rem;font-weight:700;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--line);flex:1}.auth-divider span{padding:0 1rem}.auth-footer{text-align:center;color:var(--muted);margin-top:2rem;font-size:.9rem}.auth-footer button{color:var(--pink-dark);cursor:pointer;font-weight:700;font-size:inherit;background:0 0;border:none;padding:0}.auth-footer button:hover{text-decoration:underline}.auth-notice{text-align:center;border:1px solid var(--line);background:#f9f9f9;border-radius:6px;padding:1rem;font-size:.85rem}.auth-notice .button{box-sizing:border-box;width:100%;margin-top:.75rem;display:block}.admin-page{max-width:760px;margin:2rem auto;padding:1.5rem}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.admin-header h2{margin:0;font-size:1.4rem}.admin-tabs{gap:.5rem;margin-bottom:1.5rem;display:flex}.admin-tab{border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s;display:flex}.admin-tab.active{background:var(--pink-dark);color:var(--paper);border-color:var(--pink-dark)}.admin-tab-count{background:#ffffff40;border-radius:999px;justify-content:center;align-items:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;font-size:.75rem;display:inline-flex}.admin-tab:not(.active) .admin-tab-count{background:var(--pink-light);color:var(--plum)}.admin-review-list{flex-direction:column;gap:1rem;display:flex}.admin-review-card{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:1.25rem;transition:box-shadow .15s}.admin-review-card:hover{box-shadow:0 2px 12px #0000000f}.admin-review-card.approved{border-left:4px solid #6b8e23}.admin-review-card.pending{border-left:4px solid #daa520}.admin-review-head{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.admin-review-name{font-size:.95rem;font-weight:700}.admin-review-date{color:var(--muted);font-size:.8rem}.admin-review-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.badge-approved{color:#2e7d32;background:#e8f5e9}.badge-pending{color:#b8860b;background:#fff8e1}.admin-review-card blockquote{color:var(--ink);border:none;margin:.5rem 0;padding-left:0;font-size:.95rem;font-style:normal;line-height:1.5}.admin-review-actions{gap:.5rem;margin-top:.75rem;display:flex}.admin-empty{text-align:center;opacity:.6;margin-top:2rem}.admin-page .button.small{border-radius:6px;padding:.4rem .9rem;font-size:.8rem}.admin-page .button.danger{color:#fff;background:#d32f2f;border:none}.admin-page .button.danger:hover{background:#b71c1c}@media (width<=600px){.admin-page,.admin-review-card{padding:1rem}.admin-review-head{flex-direction:column;align-items:flex-start;gap:.3rem}}
