:root{--cream:#faf7f2;--cream-dark:#f2ece0;--cream-mid:#ede5d8;--lavender:#b8a9cc;--lavender-deep:#9585b4;--lavender-pale:#e8e0f0;--taupe:#8c7b6e;--taupe-light:#b5a898;--brown:#5c4a3a;--text:#3d3028;--text-muted:#8c7b6e;--white:#fff;--font-display:"Playfair Display", "Georgia", serif;--font-body:"Cormorant Garamond", "Georgia", serif;--font-ui:"Jost", sans-serif;--gap-xs:.5rem;--gap-sm:1rem;--gap-md:2rem;--gap-lg:4rem;--gap-xl:7rem;--radius-sm:8px;--radius-md:16px;--radius-lg:32px;--shadow-soft:0 4px 24px #5c4a3a14;--shadow-card:0 8px 40px #5c4a3a1f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--cream);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:18px;line-height:1.7}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.2}p{font-family:var(--font-body);font-weight:300}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-ui);background:0 0;border:none}input,textarea,select{font-family:var(--font-body);font-size:1rem}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream-dark)}::-webkit-scrollbar-thumb{background:var(--lavender);border-radius:3px}.visually-hidden{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.65s both fadeUp}.fade-up-delay-1{animation-delay:.1s}.fade-up-delay-2{animation-delay:.2s}.fade-up-delay-3{animation-delay:.3s}.fade-up-delay-4{animation-delay:.45s}.navbar{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--cream-mid);background:#faf7f2eb;justify-content:space-between;align-items:center;padding:1.25rem 3rem;display:flex;position:sticky;top:0}.navbar__brand{letter-spacing:-.01em;align-items:center;gap:.35rem;font-size:1.6rem;display:flex}.navbar__brand-script{font-family:var(--font-display);color:var(--lavender-deep);font-style:italic;font-weight:400}.navbar__brand-serif{font-family:var(--font-display);color:var(--brown);font-weight:500}.navbar__nav{gap:2.5rem;display:flex}.navbar__link{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--taupe);padding-bottom:2px;font-size:.8rem;font-weight:400;transition:color .2s;position:relative}.navbar__link:after{content:"";background:var(--lavender-deep);width:0;height:1px;transition:width .25s;position:absolute;bottom:-2px;left:0}.navbar__link:hover,.navbar__link.active{color:var(--brown)}.navbar__link.active:after,.navbar__link:hover:after{width:100%}.navbar__tagline{font-family:var(--font-body);color:var(--taupe-light);letter-spacing:.04em;font-size:.85rem;font-style:italic;font-weight:300}@media (width<=640px){.navbar{flex-wrap:wrap;gap:.5rem;padding:1rem 1.25rem}.navbar__tagline{display:none}.navbar__nav{gap:1.5rem}}.img__logo{width:2em;height:2em}.footer{background:var(--cream-dark);border-top:1px solid var(--cream-mid);text-align:center;padding:3rem 2rem}.footer__inner{flex-direction:column;align-items:center;gap:.5rem;display:flex}.footer__brand{font-size:1.4rem}.footer__brand-script{font-family:var(--font-display);color:var(--lavender-deep);font-style:italic}.footer__brand-serif{font-family:var(--font-display);color:var(--brown);font-weight:500}.footer__tagline{font-family:var(--font-body);color:var(--taupe);font-size:.9rem;font-style:italic}.footer__copy{font-family:var(--font-ui);letter-spacing:.06em;color:var(--taupe-light);margin-top:.5rem;font-size:.7rem}.showroom__hero{text-align:center;max-width:680px;margin:0 auto;padding:7rem 2rem 4rem}.showroom__hero-label{font-family:var(--font-ui);letter-spacing:.22em;text-transform:uppercase;color:var(--lavender-deep);margin-bottom:1.25rem;font-size:.72rem}.showroom__hero-title{color:var(--brown);margin-bottom:1.5rem;font-size:clamp(2.8rem,6vw,4.5rem);font-weight:400;line-height:1.1}.showroom__hero-title em{color:var(--lavender-deep);font-style:italic}.showroom__hero-sub{color:var(--taupe);max-width:460px;margin:0 auto 2.5rem;font-size:1.15rem;font-weight:300}.showroom__cta{border:1.5px solid var(--lavender-deep);font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--lavender-deep);cursor:pointer;background:0 0;border-radius:60px;padding:.85rem 2.4rem;font-size:.78rem;font-weight:400;transition:background .22s,color .22s,border-color .22s,transform .18s;display:inline-block}.showroom__cta:hover{background:var(--lavender-deep);color:var(--white);transform:translateY(-2px)}.showroom__cta--dark{border-color:var(--brown);color:var(--brown)}.showroom__cta--dark:hover{background:var(--brown);color:var(--cream);border-color:var(--brown)}.showroom__divider{align-items:center;gap:1rem;max-width:340px;margin:2rem auto;padding:0 2rem;display:flex}.showroom__divider-line{background:var(--cream-mid);flex:1;height:1px}.showroom__divider-icon{color:var(--lavender);font-size:.7rem}.showroom__gallery{max-width:1280px;margin:0 auto;padding:2rem 2rem 6rem}.showroom__gallery-heading{text-align:center;color:var(--brown);margin-bottom:3rem;font-size:clamp(1.6rem,3vw,2.4rem);font-style:italic;font-weight:400}.showroom__grid{grid-template-columns:repeat(3,1fr);gap:1.75rem;display:grid}@media (width<=900px){.showroom__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=580px){.showroom__grid{grid-template-columns:1fr}}.showroom__card{border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow-soft);transition:transform .28s,box-shadow .28s;overflow:hidden}.showroom__card:hover{box-shadow:var(--shadow-card);transform:translateY(-6px)}.showroom__card-img-wrap{aspect-ratio:4/3;position:relative;overflow:hidden}.showroom__card-img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.showroom__card:hover .showroom__card-img{transform:scale(1.04)}.showroom__card-overlay{background:linear-gradient(#0000 40%,#3c281e2e);position:absolute;inset:0}.showroom__card-body{padding:1.25rem 1.5rem 1.5rem}.showroom__card-title{font-family:var(--font-display);color:var(--brown);margin-bottom:.4rem;font-size:1.25rem;font-style:italic;font-weight:400}.showroom__card-desc{color:var(--taupe);font-size:.92rem;font-weight:300;line-height:1.55}.showroom__banner{background:var(--lavender-pale);padding:5rem 2rem}.showroom__banner-inner{text-align:center;max-width:560px;margin:0 auto}.showroom__banner-title{color:var(--brown);margin-bottom:1rem;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:400}.showroom__banner-title em{color:var(--lavender-deep);font-style:italic}.showroom__banner-text{color:var(--taupe);margin-bottom:2rem;font-size:1.05rem}.order{max-width:720px;min-height:calc(100vh - 70px);margin:0 auto;padding:5rem 1.5rem 6rem}.order__header{text-align:center;margin-bottom:3rem}.order__header-label{font-family:var(--font-ui);letter-spacing:.22em;text-transform:uppercase;color:var(--lavender-deep);margin-bottom:.75rem;font-size:.72rem}.order__header-title{color:var(--brown);font-size:clamp(2rem,4vw,3rem);font-style:italic;font-weight:400}.order__progress{justify-content:center;align-items:flex-start;gap:0;margin-bottom:2.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.order__progress-step{flex-direction:column;flex:1;align-items:center;min-width:70px;display:flex;position:relative}.order__progress-dot{border:1.5px solid var(--cream-mid);background:var(--white);width:32px;height:32px;font-family:var(--font-ui);color:var(--taupe-light);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;transition:all .3s;display:flex;position:relative}.order__progress-step.active .order__progress-dot{border-color:var(--lavender-deep);background:var(--lavender-pale);color:var(--lavender-deep)}.order__progress-step.done .order__progress-dot{border-color:var(--lavender-deep);background:var(--lavender-deep);color:var(--white)}.order__progress-label{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--taupe-light);text-align:center;margin-top:.5rem;font-size:.65rem}.order__progress-step.active .order__progress-label,.order__progress-step.done .order__progress-label{color:var(--lavender-deep)}.order__progress-line{background:var(--cream-mid);z-index:0;width:calc(100% - 32px);height:1px;position:absolute;top:16px;left:calc(50% + 16px)}.order__progress-step.done .order__progress-line{background:var(--lavender)}.order__price-banner{text-align:center;font-family:var(--font-ui);letter-spacing:.06em;color:var(--taupe);background:var(--lavender-pale);border-radius:60px;margin-bottom:2rem;padding:.6rem 1.5rem;font-size:.8rem;transition:all .3s}.order__price-banner strong{color:var(--brown)}.order__card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:2.5rem}.order__step-title{color:var(--brown);margin-bottom:.5rem;font-size:1.6rem;font-style:italic}.order__step-sub{color:var(--taupe);margin-bottom:2rem;font-size:.95rem}.order__size-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (width<=520px){.order__size-grid{grid-template-columns:1fr}}.order__size-card{border-radius:var(--radius-md);border:1.5px solid var(--cream-mid);background:var(--cream);text-align:center;cursor:pointer;flex-direction:column;gap:.35rem;padding:1.5rem 1rem;transition:border-color .2s,background .2s,transform .18s;display:flex}.order__size-card:hover{border-color:var(--lavender);transform:translateY(-2px)}.order__size-card.selected{border-color:var(--lavender-deep);background:var(--lavender-pale)}.order__size-name{font-family:var(--font-display);color:var(--brown);font-size:1.3rem;font-style:italic}.order__size-serves{font-family:var(--font-ui);letter-spacing:.05em;color:var(--taupe);font-size:.75rem}.order__size-price{font-family:var(--font-ui);color:var(--lavender-deep);font-size:.78rem;font-weight:500}.order__base-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (width<=520px){.order__base-grid{grid-template-columns:1fr}}.order__base-card{border-radius:var(--radius-md);border:1.5px solid var(--cream-mid);background:var(--cream);cursor:pointer;flex-direction:column;align-items:center;gap:.5rem;padding:1.75rem 1rem;transition:border-color .2s,background .2s,transform .18s;display:flex}.order__base-card:hover{border-color:var(--lavender);transform:translateY(-2px)}.order__base-card.selected{border-color:var(--lavender-deep);background:var(--lavender-pale)}.order__base-emoji{font-size:2rem}.order__base-name{font-family:var(--font-display);color:var(--brown);font-size:1.15rem;font-style:italic}.order__base-desc{color:var(--taupe);text-align:center;font-size:.82rem;line-height:1.4}.order__section{margin-bottom:2rem}.order__section-label{font-family:var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--taupe);margin-bottom:1rem;font-size:.72rem;font-weight:400}.order__option-grid{flex-wrap:wrap;gap:.65rem;display:flex}.order__option-btn{border:1.5px solid var(--cream-mid);background:var(--cream);font-family:var(--font-body);color:var(--text);cursor:pointer;border-radius:40px;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:.95rem;transition:border-color .2s,background .2s;display:flex}.order__option-btn:hover{border-color:var(--lavender)}.order__option-btn.selected{border-color:var(--lavender-deep);background:var(--lavender-pale);color:var(--brown)}.order__option-extra{font-family:var(--font-ui);color:var(--lavender-deep);letter-spacing:.04em;font-size:.72rem}.order__textarea{border-radius:var(--radius-md);border:1.5px solid var(--cream-mid);background:var(--cream);width:100%;font-family:var(--font-body);color:var(--text);resize:vertical;padding:1rem 1.25rem;font-size:1rem;line-height:1.65;transition:border-color .2s}.order__textarea:focus{border-color:var(--lavender-deep);outline:none}.order__form{flex-direction:column;gap:1.25rem;margin-bottom:2rem;display:flex}.order__label{font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);flex-direction:column;gap:.45rem;font-size:.72rem;display:flex}.order__label-required{color:var(--lavender-deep)}.order__input{border-radius:var(--radius-sm);border:1.5px solid var(--cream-mid);background:var(--cream);font-family:var(--font-body);color:var(--text);padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.order__input:focus{border-color:var(--lavender-deep);outline:none}.order__input--textarea{resize:vertical;line-height:1.55}.order__summary{background:var(--cream);border-radius:var(--radius-md);border:1px solid var(--cream-mid);padding:1.5rem}.order__summary-title{font-family:var(--font-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);margin-bottom:1rem;font-size:.7rem;font-weight:400}.order__summary-list{flex-direction:column;gap:.55rem;list-style:none;display:flex}.order__summary-list li{color:var(--taupe);justify-content:space-between;font-size:.95rem;display:flex}.order__summary-list li span:first-child{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.order__summary-notes{text-align:right;max-width:60%;font-size:.85rem;font-style:italic}.order__summary-total{border-top:1px solid var(--cream-mid);margin-top:.5rem;padding-top:.75rem;color:var(--brown)!important}.order__summary-total strong{font-size:1.1rem;font-family:var(--font-display)}.order__nav{align-items:center;gap:1rem;margin-top:2rem;display:flex}.order__nav-back{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--taupe);cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;transition:color .2s}.order__nav-back:hover{color:var(--brown)}.order__cta{border:1.5px solid var(--lavender-deep);font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--lavender-deep);cursor:pointer;background:0 0;border-radius:60px;padding:.85rem 2.2rem;font-size:.78rem;font-weight:400;transition:background .22s,color .22s,opacity .22s,transform .18s}.order__cta:hover:not(.disabled){background:var(--lavender-deep);color:var(--white);transform:translateY(-2px)}.order__cta.disabled{opacity:.4;cursor:not-allowed}.order__cta--submit{border-color:var(--brown);color:var(--brown)}.order__cta--submit:hover:not(.disabled){background:var(--brown);color:var(--cream)}.order__error{color:#c0392b;text-align:center;margin-top:1rem;font-size:.9rem}.order__sent{text-align:center;max-width:460px;margin:0 auto;padding:6rem 2rem}.order__sent-icon{margin-bottom:1.5rem;font-size:4rem}.order__sent-title{color:var(--brown);margin-bottom:1rem;font-size:2.4rem;font-style:italic}.order__sent-text{color:var(--taupe);margin-bottom:2rem;font-size:1rem}.auth{background:var(--cream);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth__card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);text-align:center;width:100%;max-width:380px;padding:3rem 2.5rem;animation:.5s both fadeUp}.auth__icon{margin-bottom:1rem;font-size:2.8rem}.auth__title{font-family:var(--font-display);color:var(--brown);margin-bottom:.75rem;font-size:2rem;font-style:italic;font-weight:400}.auth__sub{color:var(--taupe);margin-bottom:2rem;font-size:.92rem;line-height:1.6}.auth__input{border-radius:var(--radius-sm);border:1.5px solid var(--cream-mid);background:var(--cream);width:100%;font-family:var(--font-body);color:var(--text);text-align:center;letter-spacing:.1em;margin-bottom:.5rem;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.auth__input:focus{border-color:var(--lavender-deep);outline:none}.auth__input.error{border-color:#c0392b}.auth__error{font-family:var(--font-ui);color:#c0392b;letter-spacing:.04em;margin-bottom:.75rem;font-size:.75rem}.auth__btn{border:1.5px solid var(--lavender-deep);font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--lavender-deep);cursor:pointer;background:0 0;border-radius:60px;margin-top:1rem;padding:.8rem 2rem;font-size:.78rem;transition:background .22s,color .22s,transform .18s;display:inline-block}.auth__btn:hover{background:var(--lavender-deep);color:var(--white);transform:translateY(-2px)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.shake{animation:.5s shake}
