:root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}button,input,textarea,select{font:inherit}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:clip}html{scroll-behavior:smooth}:root{--font-heading: "Cormorant Garamond", serif;--font-service-title: "Cormorant Garamond", serif;--font-body: "Manrope", sans-serif;--color-soft-charcoal: #342f3d;--color-warm-gray: #6f6574;--color-steel-blue: #665a74;--color-calm-blue-gray: #8d7d98;--color-maroon: #ad738a;--color-bone: #f6efe9;--color-dark-blue: #4d4358;--color-black: #2f2a35;--color-white: #ffffff;--color-grey-50: #fcf8f6;--color-grey-100: #f4ece8;--color-grey-200: #e9dde5;--color-grey-300: #d8c9d6;--color-grey-400: #bfacc0;--color-grey-500: #a08da8;--color-grey-600: #7b6b87;--color-grey-700: #5f536b;--color-grey-800: #4a4154;--color-grey-900: #312b39;--color-primary: #665a74;--color-primary-dark: #4d4358;--color-primary-light: #d5cad9;--color-secondary: #8d7d98;--color-accent: #f1dedc;--color-background: #f9f5f3;--color-text-dark: #2f2a35;--color-text-medium: #5f5668;--color-text-light: #91879b;--color-text: #51485e;--color-border: #e6dce5;--surface-lavender: #f3edf7;--surface-rose: #f8efec;--surface-sage: #edf2ec;--surface-cream: #fdfaf7;--shadow-soft: 0 14px 36px rgba(65, 47, 79, .08);--shadow-lift: 0 18px 40px rgba(55, 40, 68, .14);--radius-sm: 12px;--radius-md: 18px;--radius-lg: 26px;--content-width: 1200px}body{font-family:var(--font-body);font-weight:500;color:var(--color-text-dark);line-height:1.6;background:radial-gradient(circle at 10% -10%,rgba(232,216,229,.45),transparent 50%),radial-gradient(circle at 95% 10%,rgba(234,224,216,.36),transparent 45%),var(--color-background);padding-top:calc(112px + env(safe-area-inset-top))}@media(max-width:1024px){body{padding-top:calc(102px + env(safe-area-inset-top))}}@media(max-width:768px){body{padding-top:calc(92px + env(safe-area-inset-top))}}@media(max-width:540px){body{padding-top:calc(84px + env(safe-area-inset-top))}}.App{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-black);line-height:1.12;font-weight:600;letter-spacing:-.01em;margin:0}h1{font-size:clamp(2.4rem,5.8vw,4.45rem)}h2{font-size:clamp(2rem,4.8vw,3.25rem)}h3{font-size:clamp(1.3rem,2.6vw,2rem)}p{font-family:var(--font-body);font-weight:500;color:var(--color-text-medium);font-size:clamp(1rem,1.2vw,1.06rem);line-height:1.72;margin:0}a{color:inherit;text-decoration:none}.container{width:min(var(--content-width),100% - 2.25rem);margin:0 auto}.btn-primary,.btn-secondary{appearance:none;border:1px solid transparent;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.45rem;min-height:46px;font-family:var(--font-body);font-weight:700;font-size:.92rem;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease}.btn-primary{background:linear-gradient(140deg,var(--color-primary),#726182);color:var(--color-white);box-shadow:0 10px 28px #6453733d}.btn-primary:hover,.btn-primary:focus-visible{transform:translateY(-1px);box-shadow:0 12px 30px #5945684d}.btn-secondary{background:#ffffffbf;color:var(--color-primary-dark);border-color:var(--color-primary-light)}.btn-secondary:hover,.btn-secondary:focus-visible{background:var(--color-white);border-color:var(--color-secondary);transform:translateY(-1px)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid rgba(133,108,150,.75);outline-offset:2px}.route-loading{min-height:46vh}.header{position:fixed;inset:0 0 auto;padding-top:env(safe-area-inset-top);z-index:1200;background:#fffcfadb;border-bottom:1px solid rgba(121,102,136,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header-scroll-lock{overflow:hidden;touch-action:none}.header-inner{min-height:108px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.4rem}.logo{display:inline-flex;align-items:center}.logo-image{height:68px;width:auto;display:block}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:.35rem}.nav-link,.nav-link-button,.dropdown-trigger{display:inline-flex;align-items:center;gap:.42rem;min-height:40px;padding:.54rem .9rem;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--color-primary-dark);font-size:.86rem;font-weight:700;letter-spacing:.01em;transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}.nav-link-button,.dropdown-trigger{font-family:inherit;cursor:pointer}.nav-link:hover,.nav-link-button:hover,.dropdown-trigger:hover{background:#9784a61f;border-color:#8871983d;transform:translateY(-1px)}.nav-link.is-active:not(.nav-quote-link){background:#9784a629;border-color:#88719842}.nav-quote-link{background:linear-gradient(135deg,#6d5b7c,#7a6488);color:#fff}.nav-quote-link:hover{color:#fff;background:linear-gradient(135deg,#5e4d6f,#6e5a7d)}.nav-dropdown{position:relative}.dropdown-arrow{font-size:.62rem}.dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;min-width:220px;padding:.5rem;border-radius:14px;border:1px solid rgba(131,111,146,.2);background:#fffdfcf5;box-shadow:var(--shadow-soft);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}.dropdown-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-link{display:block;padding:.62rem .68rem;border-radius:10px;color:var(--color-text-medium);font-size:.9rem;font-weight:600;transition:background-color .16s ease,color .16s ease}.dropdown-link:hover{background:#9784a61f;color:var(--color-primary-dark)}.header-actions{display:flex;align-items:center;gap:.68rem}.nav-phone{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.62rem 1rem;border-radius:999px;border:1px solid rgba(131,111,146,.26);background:#ffffffb3;color:var(--color-primary-dark);font-size:.84rem;font-weight:800;letter-spacing:.01em;transition:background-color .17s ease,border-color .17s ease,transform .17s ease}.nav-phone:hover{background:#fffffff2;border-color:#836f9280;transform:translateY(-1px)}.nav-phone-icon{width:14px;height:14px;object-fit:contain;filter:brightness(0) saturate(100%) invert(29%) sepia(12%) saturate(834%) hue-rotate(237deg) brightness(97%) contrast(85%)}.cart-header-btn{width:44px;height:44px;border:1px solid rgba(131,111,146,.24);border-radius:14px;background:linear-gradient(150deg,#6b5c79,#79688a);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s ease}.cart-header-btn:hover{transform:translateY(-1px)}.cart-icon{position:relative;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;line-height:0}.cart-icon-bag{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.cart-icon-bag img{display:block;width:18px;height:18px;object-fit:contain;object-position:center;filter:brightness(0) invert(1)}.cart-badge{position:absolute;top:-8px;right:-10px;min-width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 .24rem;background:#fff;color:var(--color-primary-dark);font-size:.65rem;font-weight:800;border:1px solid rgba(86,68,100,.16)}.mobile-menu-btn{display:none;width:42px;height:42px;border:1px solid rgba(131,111,146,.22);border-radius:12px;background:#ffffffb8;align-items:center;justify-content:center;flex-direction:column;gap:3px;cursor:pointer}.hamburger-line{width:20px;height:2px;border-radius:999px;background:var(--color-primary-dark);transition:transform .18s ease,opacity .18s ease}.hamburger-line.active:nth-child(1){transform:translateY(5px) rotate(45deg)}.hamburger-line.active:nth-child(2){opacity:0}.hamburger-line.active:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.mobile-nav-overlay{position:fixed;inset:0;background:#3127393d;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}.mobile-nav-overlay.open{opacity:1;visibility:visible}.mobile-nav{position:absolute;top:calc(.8rem + env(safe-area-inset-top));right:.8rem;width:min(340px,calc(100vw - 1.6rem));max-height:calc(100vh - 1.6rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:22px;border:1px solid rgba(126,105,141,.24);background:linear-gradient(160deg,#fdf9f7,#f5eff6);box-shadow:var(--shadow-lift);overflow:hidden;transform:translate(26px);opacity:0;transition:transform .19s ease,opacity .19s ease;display:flex;flex-direction:column}.mobile-nav.open{transform:translate(0);opacity:1}.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .7rem;border-bottom:1px solid rgba(122,101,138,.15)}.mobile-nav-header h3{font-size:1.26rem;font-weight:600}.mobile-nav-close{width:34px;height:34px;border:1px solid rgba(121,100,136,.22);border-radius:10px;background:#fff;color:var(--color-primary-dark);font-size:1.35rem;line-height:1;cursor:pointer}.mobile-nav-body{padding:.82rem .9rem calc(1rem + env(safe-area-inset-bottom));overflow-y:auto;display:grid;gap:.38rem}.mobile-nav-link,.mobile-nav-button{display:flex;align-items:center;justify-content:flex-start;min-height:44px;padding:.58rem .8rem;border-radius:11px;border:1px solid transparent;background:transparent;color:var(--color-primary-dark);font-size:.92rem;font-weight:700;cursor:pointer;text-align:left}.mobile-nav-button{font-family:inherit}.mobile-nav-link:hover,.mobile-nav-button:hover{background:#8a769a24;border-color:#84709438}.mobile-quote-link{background:linear-gradient(135deg,#6d5b7c,#7a6488);color:#fff}.mobile-phone{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;margin-top:.5rem;min-height:44px;border-radius:999px;border:1px solid rgba(131,111,146,.3);background:#fff;color:var(--color-primary-dark);font-weight:800;font-size:.9rem}.cart-mobile-btn{margin-top:.3rem;min-height:44px;border-radius:999px;border:1px solid rgba(124,104,139,.28);background:#ffffffd6;color:var(--color-primary-dark);display:inline-flex;align-items:center;justify-content:center;gap:.42rem;font-size:.9rem;font-weight:700;cursor:pointer}.cart-mobile-btn .cart-icon-bag img{filter:brightness(0) saturate(100%) invert(29%) sepia(12%) saturate(834%) hue-rotate(237deg) brightness(97%) contrast(85%)}.cart-drawer-overlay{position:fixed;inset:0;background:#29213133;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;z-index:1300}.cart-drawer-overlay.open{opacity:1;visibility:visible}.cart-drawer{position:absolute;top:calc(.9rem + env(safe-area-inset-top));right:.9rem;width:min(370px,calc(100vw - 1.8rem));max-height:calc(100vh - 1.8rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:24px;border:1px solid rgba(123,103,138,.28);background:linear-gradient(165deg,#fefbfa,#f4ecf3);box-shadow:var(--shadow-lift);overflow:hidden;display:flex;flex-direction:column;transform:translate(28px);transition:transform .19s ease}.cart-drawer.open{transform:translate(0)}.cart-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1.05rem 1.05rem .86rem;border-bottom:1px solid rgba(123,103,138,.15)}.cart-drawer-header h3{font-size:1.35rem}.cart-close{width:34px;height:34px;border-radius:10px;border:1px solid rgba(129,109,145,.26);background:#fff;color:var(--color-primary-dark);font-size:1.4rem;line-height:1;cursor:pointer}.cart-drawer-body{min-height:0;overflow-y:auto;padding:.85rem 1rem}.empty-cart{padding:1.2rem;text-align:center;color:var(--color-text-medium)}.cart-items{margin:0;padding:0;list-style:none;display:grid;gap:.58rem}.cart-item{display:grid;grid-template-columns:1fr auto auto auto;gap:.45rem;align-items:center;padding:.65rem;border-radius:12px;border:1px solid rgba(130,111,145,.2);background:#fffc}.cart-item-main{min-width:0}.cart-item-title{margin:0;color:var(--color-text-dark);font-size:.86rem;font-weight:700;line-height:1.32}.cart-item-meta{margin-top:.2rem;font-size:.72rem;color:var(--color-text-medium);line-height:1.4}.cart-item-price{margin:0;font-size:.86rem;color:var(--color-text-dark);font-weight:800}.icon-btn,.cart-remove{width:32px;height:32px;border-radius:8px;border:1px solid rgba(127,107,142,.24);background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn img{width:14px;height:14px}.cart-remove{font-size:1.05rem;color:var(--color-primary-dark)}.cart-drawer-footer{border-top:1px solid rgba(127,107,142,.15);padding:.86rem 1rem calc(1rem + env(safe-area-inset-bottom));background:#ffffffb8}@supports (height: 100dvh){.mobile-nav{max-height:calc(100dvh - 1.6rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.cart-drawer{max-height:calc(100dvh - 1.8rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}.cart-summary{display:grid;gap:.34rem;margin-bottom:.72rem}.cart-summary .row{display:flex;align-items:center;justify-content:space-between;color:var(--color-text-medium);font-size:.84rem}.cart-summary .row.discount{color:#3f7b53}.cart-summary .row.total{color:var(--color-text-dark);font-size:.97rem;font-weight:800}.cart-actions{display:grid}.cart-actions .btn-primary{width:100%}@media(max-width:1100px){.desktop-nav{gap:.15rem}.nav-link,.nav-link-button,.dropdown-trigger{padding-inline:.72rem;font-size:.82rem}.nav-phone{padding-inline:.76rem;font-size:.78rem}}@media(max-width:980px){.header-inner{min-height:98px;grid-template-columns:auto 1fr auto}.desktop-nav{display:none}.mobile-menu-btn{display:inline-flex}.nav-phone{display:none}}@media(max-width:768px){.header-inner{min-height:88px}.logo-image{height:56px}.cart-header-btn{width:40px;height:40px;border-radius:12px}.cart-drawer,.mobile-nav{top:calc(.65rem + env(safe-area-inset-top));right:.65rem;width:min(340px,calc(100vw - 1.3rem));max-height:calc(100vh - 1.3rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.mobile-nav-close,.cart-close{width:40px;height:40px}.icon-btn,.cart-remove{width:36px;height:36px}}@media(max-width:480px){.header-inner{min-height:80px;gap:.45rem}.container.header-inner{width:min(var(--content-width),100% - 1.25rem)}.logo-image{height:50px}.cart-drawer,.mobile-nav{top:calc(.5rem + env(safe-area-inset-top));right:.5rem;width:calc(100vw - 1rem);max-height:calc(100vh - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}.footer{margin-top:4.5rem;padding:0 0 1.9rem;color:var(--color-text-medium)}.footer>.container{border-radius:28px;border:1px solid rgba(132,113,148,.2);background:radial-gradient(circle at 10% 0%,rgba(237,224,236,.5),transparent 56%),linear-gradient(160deg,#faf6f4,#f2ebf1);box-shadow:var(--shadow-soft);padding:2.35rem 2rem 1.85rem}.footer-top-cta{display:flex;align-items:center;justify-content:space-between;gap:1.45rem;padding:1.35rem;border-radius:20px;border:1px solid rgba(132,113,148,.18);background:#ffffffbd}.footer-top-eyebrow{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--color-secondary)}.footer-top-cta h3{margin-top:.2rem;font-size:clamp(1.25rem,2.1vw,1.75rem);line-height:1.22}.footer-top-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.footer-grid{margin-top:2.2rem;display:grid;grid-template-columns:1.3fr 1fr .8fr 1fr;gap:2rem}.footer-grid>section{display:grid;align-content:start;gap:.42rem}.footer h4{margin:0;font-size:1.2rem;font-weight:600;color:var(--color-text-dark)}.footer-brand-col{display:grid;gap:1rem}.footer-logo{width:180px;max-width:100%;height:auto}.footer-brand-col p{font-size:.95rem;line-height:1.82}.footer-trust-list{display:grid;gap:.55rem}.footer-trust-list span{font-size:.87rem;color:var(--color-text-dark);font-weight:600}.footer-links,.footer-contact-list{margin:.95rem 0 0;padding:0;list-style:none;display:grid;gap:.62rem}.footer-links a,.footer-contact-list a,.footer-contact-list li{color:var(--color-text-medium);font-size:.93rem;font-weight:600;line-height:1.6;transition:color .16s ease,transform .16s ease}.footer-links a:hover,.footer-contact-list a:hover{color:var(--color-primary-dark);transform:translate(2px)}.footer-socials{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.7rem}.footer-socials a{display:inline-flex;align-items:center;min-height:34px;padding:.35rem .65rem;border-radius:999px;border:1px solid rgba(132,113,148,.26);background:#ffffffc2;color:var(--color-primary-dark);font-size:.82rem;font-weight:700}.footer-areas{margin-top:2rem;padding:1.3rem;border-radius:18px;border:1px dashed rgba(132,113,148,.3);background:#ffffff8c}.footer-areas h4{margin-bottom:.9rem}.footer-area-chips{display:flex;flex-wrap:wrap;gap:.45rem}.footer-area-chips span{display:inline-flex;align-items:center;min-height:30px;padding:.2rem .6rem;border-radius:999px;border:1px solid rgba(132,113,148,.24);background:#fffc;color:var(--color-primary-dark);font-size:.79rem;font-weight:700}.footer-bottom{margin-top:1.75rem;padding-top:1.2rem;border-top:1px solid rgba(123,103,138,.16);display:flex;align-items:center;justify-content:space-between;gap:.8rem}.footer-bottom p,.partner-link{font-size:.8rem;color:var(--color-text-medium);font-weight:600}.partner-link:hover{color:var(--color-primary-dark)}@media(max-width:1120px){.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid section:last-child{grid-column:span 3}}@media(max-width:820px){.footer{margin-top:3.5rem}.footer>.container{border-radius:22px;padding:1.5rem 1.1rem 1.3rem}.footer-top-cta{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.1rem}.footer-grid{margin-top:1.5rem;grid-template-columns:1fr;gap:1.35rem}.footer-grid section:last-child{grid-column:auto}.footer-links a,.footer-contact-list a{display:inline-flex;align-items:center;min-height:40px;padding:.18rem 0}.footer-contact-list li{min-height:32px;display:inline-flex;align-items:center;max-width:100%}.footer-contact-list a,.partner-link{word-break:break-word;overflow-wrap:anywhere}.footer-socials a{min-height:40px;padding:.4rem .74rem}.partner-link{display:inline-flex;align-items:center;min-height:32px}.footer-bottom{flex-direction:column;align-items:flex-start}}@media(max-width:520px){.footer>.container{padding:1.25rem .9rem 1.15rem}.footer-top-actions,.footer-top-actions .btn-primary,.footer-top-actions .btn-secondary{width:100%}.footer-links,.footer-contact-list{gap:.36rem}}
