@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;1,500&family=Dancing+Script:wght@600;700&family=Poppins:wght@400;500;600&display=swap";.app{--ink:#201a1d;--blush:#e85d8c;--gold:#c79a45;--cream:#fff8f3;--blush-l:#fdeaf0;background:var(--cream);color:var(--ink);min-height:100vh;font-family:Poppins,sans-serif}.app *{box-sizing:border-box}.font-display{font-family:Playfair Display,serif;font-weight:600}.script{font-family:Dancing Script,cursive}.accent-script{color:var(--blush);font-weight:700}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--gold);align-items:center;gap:.4rem;margin-bottom:.75rem;font-size:.78rem;font-weight:600;display:inline-flex}.nav{z-index:40;background:var(--cream);border-bottom:1px solid #201a1d14;position:sticky;top:0}.nav-inner{align-items:center;gap:2rem;max-width:1180px;margin:0 auto;padding:1rem 1.5rem;display:flex}.brand{cursor:pointer;background:0 0;border:none;align-items:center;gap:.65rem;display:flex}.brand-mark{background:linear-gradient(150deg, var(--blush), var(--gold));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-family:Playfair Display,serif;font-size:.85rem;font-weight:600;display:flex}.brand-name{color:var(--ink);font-size:1.3rem}.nav-links{gap:1.75rem;margin-left:auto;display:flex}.nav-link{cursor:pointer;color:#201a1d8c;background:0 0;border:none;border-bottom:2px solid #0000;padding:.25rem 0;font-size:.85rem;font-weight:500}.nav-link.active,.nav-link:hover{color:var(--ink);border-bottom-color:var(--blush)}.nav-icon-btn,.menu-toggle{cursor:pointer;color:var(--ink);background:0 0;border:none;display:none}.mobile-menu{display:none}@media (width<=780px){.nav-links{display:none}.menu-toggle{margin-left:auto;display:block}.mobile-menu{flex-direction:column;gap:.25rem;padding:0 1.5rem 1rem;display:flex}.mobile-menu .nav-link{text-align:left;padding:.5rem 0}}.hero{text-align:center;padding:5.5rem 1.5rem 5rem;position:relative;overflow:hidden}.hero-inner{z-index:2;max-width:620px;margin:0 auto;position:relative}.hero-title{margin:.5rem 0 1.25rem;font-size:clamp(2.2rem,5.5vw,3.6rem);line-height:1.15}.hero-sub{color:#201a1db3;max-width:460px;margin:0 auto 2rem;font-size:1.05rem;line-height:1.65}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.hero-ring{border:2px solid var(--blush);opacity:.25;z-index:1;border-radius:50%;width:380px;height:380px;position:absolute;top:-120px;right:-120px}.hero-ring:after{content:"";border:1.5px solid var(--gold);opacity:.7;border-radius:50%;position:absolute;inset:20px}.btn-primary{background:var(--blush);color:#fff;cursor:pointer;border:none;border-radius:30px;align-items:center;gap:.5rem;padding:.85rem 1.6rem;font-size:.9rem;font-weight:600;transition:transform .15s,background .15s;display:inline-flex}.btn-primary:hover{background:#d64e7c;transform:translateY(-1px)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-ghost{color:var(--ink);cursor:pointer;background:0 0;border:1.5px solid #201a1d40;border-radius:30px;padding:.85rem 1.6rem;font-size:.9rem;font-weight:600}.btn-ghost:hover{border-color:var(--ink)}.section-divider{align-items:center;gap:.75rem;max-width:1180px;margin:0 auto;padding:0 1.5rem;display:flex}.divider-line{background:linear-gradient(90deg,#0000,#c79a4566,#0000);flex:1;height:1px}.section{max-width:1180px;margin:0 auto;padding:4.5rem 1.5rem}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2.25rem;display:flex}.section-head h2{margin:0;font-size:1.9rem}.link-more{cursor:pointer;color:var(--blush);background:0 0;border:none;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;display:inline-flex}.grid{gap:1.5rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.grid-3,.grid-4{grid-template-columns:1fr}}.product-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #201a1d14;border-radius:14px;padding:0;transition:box-shadow .15s,transform .15s;overflow:hidden}.product-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #e85d8c26}.product-swatch{justify-content:center;align-items:center;height:170px;display:flex;position:relative}.swatch-ring{border:2px solid #ffffffd9;border-radius:50%;width:54px;height:54px}.swatch-ring.large{width:90px;height:90px}.product-info{padding:1rem 1.1rem 1.25rem}.product-row{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.product-row h3{margin:0;font-family:Playfair Display,serif;font-size:1.05rem;font-weight:600}.price{color:var(--blush);font-size:.9rem;font-weight:600}.price.large{font-size:1.4rem}.note{color:#201a1d9e;margin:.4rem 0 0;font-size:.85rem;line-height:1.5}.process-grid{grid-template-columns:repeat(4,1fr);gap:1.75rem;margin-top:2.25rem;display:grid}@media (width<=900px){.process-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.process-grid{grid-template-columns:1fr}}.step-num{color:var(--blush);margin-bottom:.25rem;font-size:2rem;display:block}.process-step h4{margin:0 0 .4rem;font-size:1.1rem}.process-step p{color:#201a1da6;margin:0;font-size:.88rem;line-height:1.55}.cta{text-align:center;background:var(--blush-l);padding:5rem 1.5rem}.cta h2{max-width:560px;margin:0 auto 2rem;font-size:clamp(1.5rem,3.6vw,2.2rem)}.filter-row{gap:.5rem;display:flex}.filter-btn{cursor:pointer;color:#201a1d99;background:#fff;border:1px solid #201a1d26;border-radius:20px;padding:.4rem 1rem;font-size:.78rem;font-weight:500}.filter-btn.active{background:var(--ink);border-color:var(--ink);color:#fff}.about-page h2{max-width:560px;font-size:2rem}.about-grid{grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0;display:grid}.about-grid p{color:#201a1db8;line-height:1.7}@media (width<=700px){.about-grid{grid-template-columns:1fr}}.about-stats{flex-wrap:wrap;gap:3rem;margin-top:2rem;display:flex}.stat-num{color:var(--blush);font-size:2.4rem;display:block}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:#201a1d80;font-size:.75rem}.contact-grid{grid-template-columns:1.4fr 1fr;gap:3rem;margin-top:2rem;display:grid}@media (width<=700px){.contact-grid{grid-template-columns:1fr}}.contact-form{flex-direction:column;gap:1.1rem;display:flex}.contact-form label{color:#201a1da6;flex-direction:column;gap:.4rem;font-size:.8rem;font-weight:500;display:flex}.contact-form input,.contact-form textarea{color:var(--ink);resize:vertical;background:#fff;border:1px solid #201a1d33;border-radius:10px;padding:.65rem .85rem;font-family:Poppins,sans-serif;font-size:.95rem}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--blush);outline-offset:1px}.contact-form .btn-primary{align-self:flex-start}.contact-side{flex-direction:column;gap:1rem;display:flex}.contact-side p{color:#201a1db3;line-height:1.6}.contact-link{color:var(--blush);align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.modal-backdrop{z-index:60;background:#201a1d80;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;grid-template-columns:1fr 1fr;width:100%;max-width:640px;display:grid;position:relative;overflow:hidden}@media (width<=600px){.modal{grid-template-columns:1fr}}.modal-close{cursor:pointer;z-index:2;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:.75rem;right:.75rem}.modal-swatch{justify-content:center;align-items:center;min-height:220px;display:flex}.modal-info{flex-direction:column;padding:1.75rem;display:flex}.modal-info h3{margin:.25rem 0 .5rem;font-size:1.4rem}.modal-info .note{margin:.5rem 0 1.5rem}.modal-footer{justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;display:flex}.footer{background:var(--ink);color:#fff;margin-top:2rem}.footer-inner{flex-wrap:wrap;align-items:center;gap:2rem;max-width:1180px;margin:0 auto;padding:2.5rem 1.5rem;display:flex}.footer-inner .brand-name{font-size:1.4rem}.footer-links{gap:1.25rem;margin-left:auto;display:flex}.footer-links button{color:#ffffffbf;cursor:pointer;background:0 0;border:none;font-size:.8rem;font-weight:500}.footer-copy{color:#ffffff73;font-size:.72rem}.brand-logo{width:auto;height:44px}
