/* Maison navigation: the existing typeface, generous rhythm, one overlay controller. */
body .site-header.site-header--luxury { background:#fff; border:0; }
body .site-header.site-header--luxury .main-header { background:#fff; border-bottom:1px solid #e9e9e9; }
body .site-header.site-header--luxury .main-header__inner { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); grid-template-rows:80px 48px; gap:0 28px; width:100%; max-width:1680px; padding:0 48px; min-height:0; }
body .site-header.site-header--luxury .site-brand { grid-column:2; grid-row:1; width:208px; max-width:none; justify-self:center; margin:0; }
body .site-header.site-header--luxury .site-brand__svg { width:100%; height:auto; display:block; }
body .site-header.site-header--luxury .desktop-nav { display:block; grid-column:1/-1; grid-row:2; justify-self:center; height:100%; }
body .site-header.site-header--luxury .desktop-nav__list { display:flex; gap:32px; height:100%; align-items:center; }
body .site-header.site-header--luxury .desktop-nav__link { min-height:48px; display:flex; align-items:center; padding:0; font-size:13px; line-height:1.4; font-weight:400; letter-spacing:.085em; }
body .site-header.site-header--luxury .header-actions { grid-column:3; grid-row:1; justify-self:end; margin:0; }
body .site-header.site-header--luxury .header-actions__desktop { display:flex; gap:24px; align-items:center; }
body .site-header.site-header--luxury .header-utility-link { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0; border:0; font-size:12px; line-height:1.5; letter-spacing:.065em; font-weight:400; }
body .site-header.site-header--luxury .header-desktop-search-icon { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.25; }
body .site-header.site-header--luxury .header-actions__mobile,
body .site-header.site-header--luxury .icon-button--menu { display:none; }
body .site-header.site-header--luxury .header-utility-link--cart { padding-left:20px; border:0; border-left:1px solid rgba(17,17,17,.12); }
body .site-header.site-header--luxury .announcement-rail__inner { min-height:30px; max-width:1680px; padding-inline:48px; }
body .site-header.site-header--luxury .announcement-pill { font-size:9px; font-weight:400; letter-spacing:.065em; line-height:1.5; }
/* Legacy header utilities declare rem sizes !important; retain an actual 44px touch target. */
body .site-header.site-header--luxury .icon-button--header { width:44px !important; height:44px !important; min-width:44px !important; min-height:44px !important; padding:10px; border:0; border-radius:0; background:transparent; }
body .site-header.site-header--luxury .header-menu-icon { display:block; width:24px; height:24px; stroke:currentColor; stroke-width:1.25; fill:none; }
body .site-header.site-header--luxury .header-action__svg { width:23px; height:23px; stroke-width:1.25; }
body .site-header.site-header--luxury .icon-button--header :is(svg,.header-action__icon) { display:inline-flex; width:24px !important; height:24px !important; min-width:24px; max-width:none; align-items:center; justify-content:center; }
body .site-header.site-header--luxury .mega-menu { border-top:1px solid #eee; box-shadow:0 16px 28px #00000008; transition:opacity 180ms ease,transform 240ms ease,visibility 240ms; }
body .site-header.site-header--luxury .mega-menu__inner { width:100%; max-width:1680px; padding:38px 64px 48px; }
body .site-header.site-header--luxury .mega-panel__columns { gap:48px; }
body .site-header.site-header--luxury .mega-panel__title { margin:0 0 18px; font-size:11px; font-weight:400; letter-spacing:.1em; color:#666; }
body .site-header.site-header--luxury .mega-panel__links { display:grid; gap:4px; }
body .site-header.site-header--luxury .mega-panel__links a { display:flex; align-items:center; min-height:40px; font-size:14px; font-weight:400; line-height:1.5; }
body .site-header.site-header--luxury :is(a,button):focus-visible { outline:2px solid #111; outline-offset:4px; }
body .site-header.site-header--luxury .navigation-nojs { padding:16px 24px; border-bottom:1px solid #eee; }
body .site-header.site-header--luxury .navigation-nojs form { display:flex; gap:12px; max-width:640px; margin:auto; }
body .site-header.site-header--luxury .navigation-nojs input { flex:1; min-width:0; min-height:48px; padding:12px; font-size:16px; border:1px solid #ddd; }
body .site-header.site-header--luxury .navigation-nojs button { min-height:48px; padding:12px 18px; background:#111; color:#fff; border:0; }
body .site-header.site-header--luxury .navigation-nojs nav { display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:center; margin-top:12px; }
body .site-header.site-header--luxury .navigation-nojs a { display:flex; align-items:center; min-height:44px; font-size:14px; }

/* Both panels use the application's single backdrop, focus trap and scroll lock. */
body .drawer.drawer--navigation,body .drawer.drawer--discovery { display:flex; flex-direction:column; top:0; height:100dvh; max-height:100dvh; padding:0; border:0; background:#fff; color:#111; box-shadow:none; transition:transform 280ms cubic-bezier(.22,.61,.36,1); }
body .drawer.drawer--navigation { width:min(580px,100vw); max-width:100vw; }
body .drawer.drawer--discovery { width:min(920px,100vw); max-width:100vw; }
body .drawer--navigation .drawer__header,body .drawer--discovery .drawer__header { flex:0 0 auto; min-height:88px; padding:20px 40px; gap:16px; background:#fff; border-bottom:1px solid #eee; }
body .drawer--navigation .icon-button,body .drawer--discovery .icon-button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; min-height:44px; padding:10px; border:0; border-radius:0; background:transparent; }
body :is(.drawer--navigation,.drawer--discovery) .icon-button svg { display:block; width:24px; height:24px; stroke:currentColor; stroke-width:1.25; fill:none; }
body .drawer--navigation .drawer__body,body .drawer--discovery .drawer__body { min-height:0; overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
body :is(.drawer--navigation,.drawer--discovery) :is(a,button,summary,input):focus-visible { outline:2px solid #111; outline-offset:3px; }
body :is(.drawer--navigation,.drawer--discovery) [hidden] { display:none !important; }
body .drawer--navigation .navigation-heading { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; padding:12px 24px; }
body .drawer--navigation .navigation-wordmark { justify-self:center; font-size:16px; font-weight:400; letter-spacing:.1em; white-space:nowrap; }
body .drawer--navigation .navigation-body { padding:16px 32px max(32px,env(safe-area-inset-bottom)); }
body .drawer--navigation .nav-accordion { border:0; margin:0; padding:0; }
body .drawer--navigation :is(.nav-accordion > summary,.navigation-direct) { display:flex; align-items:center; justify-content:space-between; min-height:64px; padding:14px 0; gap:20px; font-size:17px; line-height:1.4; font-weight:400; letter-spacing:.035em; text-transform:none; list-style:none; border:0; cursor:pointer; }
body .drawer--navigation .nav-accordion > summary::-webkit-details-marker { display:none; }
body .drawer--navigation .nav-accordion > summary::after { display:none; }
body .drawer--navigation .nav-accordion > summary svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.2; flex-shrink:0; transition:transform 180ms ease; }
body .drawer--navigation .nav-accordion[open] > summary svg { transform:rotate(90deg); }
body .drawer--navigation .nav-accordion__panel { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; padding:8px 0 28px; }
body .drawer--navigation .navigation-view-all { display:flex; align-items:center; justify-content:space-between; min-height:48px; font-size:16px; text-decoration:underline; text-underline-offset:5px; }
body .drawer--navigation .nav-accordion__title { font-size:11px; font-weight:400; line-height:1.6; letter-spacing:.09em; text-transform:uppercase; margin:0 0 10px; color:#666; }
body .drawer--navigation .nav-accordion__group ul { display:grid; gap:0; margin:0; padding:0; list-style:none; }
body .drawer--navigation .nav-accordion__group a { display:flex; align-items:center; min-height:44px; font-size:16px; font-weight:400; line-height:1.5; letter-spacing:0; padding-block:8px; }
body .drawer--navigation .navigation-secondary { display:grid; gap:0; margin:28px -32px -32px; padding:24px 32px max(32px,env(safe-area-inset-bottom)); background:#f7f7f6; }
body .drawer--navigation .navigation-secondary a { display:flex; justify-content:space-between; align-items:center; min-height:48px; padding:10px 0; font-size:14px; font-weight:400; letter-spacing:.01em; text-transform:none; }
body .drawer--navigation .navigation-tiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body .drawer--navigation .navigation-tiles img { width:100%; aspect-ratio:1; object-fit:contain; background:#fff; }
body .drawer--navigation .navigation-tiles span { display:block; font-size:14px; padding-top:12px; }
body .drawer--navigation.is-enhanced.has-submenu [data-navigation-section]:not([open]),body .drawer--navigation.is-enhanced.has-submenu :is(.navigation-direct,.navigation-secondary) { display:none; }
body .drawer--navigation.is-enhanced.has-submenu .nav-accordion[open] > summary { justify-content:flex-start; gap:16px; font-size:14px; color:#555; border-bottom:1px solid #eee; margin-bottom:12px; }
body .drawer--navigation.is-enhanced.has-submenu .nav-accordion[open] > summary svg { order:-1; transform:rotate(180deg); }
@keyframes maison-navigation-reveal { from { opacity:.4; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
body .drawer--navigation.is-enhanced .nav-accordion[open] .nav-accordion__panel { animation:maison-navigation-reveal 180ms ease-out; }

body .drawer--discovery .discovery-heading h2 { margin:0; font-size:26px; font-weight:400; line-height:1.3; letter-spacing:-.02em; }
body .drawer--discovery .discovery-body { padding:24px 40px max(40px,env(safe-area-inset-bottom)); }
body .drawer--discovery .discovery-form { margin:0; }
body .drawer--discovery .discovery-field { display:flex; align-items:center; gap:14px; min-height:64px; border-bottom:1px solid #111; }
body .drawer--discovery .discovery-field > svg { width:23px; height:23px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.25; }
body .drawer--discovery .discovery-field input { display:block; flex:1; min-width:0; width:100%; min-height:60px; padding:10px 0; margin:0; border:0; border-radius:0; outline-offset:-2px; background:transparent; color:#111; font-family:inherit; font-size:20px; font-weight:400; line-height:1.5; box-shadow:none; }
body .drawer--discovery .discovery-field input::-webkit-search-cancel-button { display:none; }
body .drawer--discovery .discovery-field input::placeholder { color:#777; opacity:1; }
body .drawer--discovery .discovery-field input:focus-visible { outline:0; }
body .drawer--discovery .discovery-field:focus-within { box-shadow:0 1px 0 #111; }
body .drawer--discovery .discovery-field button { display:flex; align-items:center; justify-content:center; flex:0 0 44px; min-width:44px; width:44px; height:44px; padding:10px; border:0; border-radius:0; background:transparent; color:#111; cursor:pointer; }
body .drawer--discovery .discovery-field button svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.25; }
body .drawer--discovery .discovery-help { margin:12px 0 0; font-size:13px; line-height:1.65; color:#666; }
body .drawer--discovery .discovery-status { margin:0; min-height:24px; padding-top:18px; font-size:13px; line-height:1.65; color:#666; }
body .drawer--discovery :is(.discovery-start,.discovery-results) { margin-top:28px; }
body .drawer--discovery .discovery-results[aria-busy=true] { opacity:.45; }
body .drawer--discovery .discovery-start { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; }
body .drawer--discovery .discovery-section h3,body .drawer--discovery .discovery-results h3 { margin:0 0 20px; font-size:12px; font-weight:400; line-height:1.5; letter-spacing:.075em; color:#666; text-transform:uppercase; }
body .drawer--discovery .discovery-categories { display:grid; gap:0; }
body .drawer--discovery .discovery-categories a { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid #eee; font-size:20px; line-height:1.4; font-weight:400; letter-spacing:-.01em; }
body .drawer--discovery .discovery-maisons { display:grid; gap:4px; }
body .drawer--discovery .discovery-maisons a { min-height:44px; display:flex; align-items:center; font-size:16px; line-height:1.5; }
body .drawer--discovery .discovery-services { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; padding-top:28px; border-top:1px solid #eee; }
body .drawer--discovery .discovery-services h3 { grid-column:1/-1; }
body .drawer--discovery .discovery-services a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; font-size:14px; line-height:1.5; }
body .drawer--discovery .discovery-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; }
body .drawer--discovery .discovery-product { display:grid; grid-template-columns:92px minmax(0,1fr); gap:16px; align-items:center; min-width:0; min-height:120px; }
body .drawer--discovery .discovery-product img { display:block; width:92px; height:112px; object-fit:contain; background:#fff; }
body .drawer--discovery .discovery-product__copy { display:grid; gap:6px; min-width:0; }
body .drawer--discovery .discovery-product__brand { font-size:10px; line-height:1.5; color:#666; letter-spacing:.07em; text-transform:uppercase; }
body .drawer--discovery .discovery-product__name { font-size:14px; font-weight:400; line-height:1.5; overflow-wrap:anywhere; }
body .drawer--discovery .discovery-product__price { font-size:13px; line-height:1.5; }
body .drawer--discovery .discovery-product__availability { font-size:12px; line-height:1.5; color:#666; }
body .drawer--discovery .discovery-result-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 40px; padding-top:32px; }
body .drawer--discovery .discovery-result-links a { display:flex; flex-direction:column; justify-content:center; min-height:52px; font-size:15px; line-height:1.5; padding:6px 0; }
body .drawer--discovery .discovery-result-links small { color:#777; font-size:12px; }
body .drawer--discovery .discovery-all { display:flex; align-items:center; justify-content:center; min-height:52px; width:100%; margin-top:28px; padding:12px 24px; color:#fff; background:#111; font-size:14px; font-weight:400; line-height:1.5; text-align:center; }
body .drawer--discovery .discovery-empty { margin:0 0 24px; font-size:18px; line-height:1.5; font-weight:400; }
body .drawer--discovery .discovery-spelling { display:flex; align-items:center; min-height:48px; font-size:16px; text-decoration:underline; text-underline-offset:4px; }
body .drawer--discovery .discovery-product:hover .discovery-product__name,body .drawer--discovery :is(.discovery-maisons a,.discovery-services a,.discovery-result-links a):hover { text-decoration:underline; text-underline-offset:4px; }

@media(max-width:1199px) {
 body .site-header.site-header--luxury .main-header__inner { grid-template-columns:88px minmax(0,1fr) 88px; grid-template-rows:76px; padding:0 24px; gap:0 8px; }
 body .site-header.site-header--luxury .site-brand { grid-column:2; width:184px; max-width:100%; }
 body .site-header.site-header--luxury .desktop-nav,body .site-header.site-header--luxury .header-actions__desktop,body .site-header.site-header--luxury .mega-menu { display:none; }
 body .site-header.site-header--luxury .icon-button--menu { display:inline-flex; align-items:center; justify-content:center; grid-column:1; grid-row:1; }
 body .site-header.site-header--luxury .header-actions__mobile { display:flex; gap:0; align-items:center; }
 body .site-header.site-header--luxury .header-actions { grid-column:3; }
 body .site-header.site-header--luxury .announcement-rail__inner { padding-inline:24px; }
}
@media(max-width:767px) {
 body .site-header.site-header--luxury .main-header__inner { padding-inline:16px; grid-template-columns:72px minmax(0,1fr) 88px; }
 body .site-header.site-header--luxury .site-brand { width:176px; }
 body .site-header.site-header--luxury .announcement-rail__inner { display:flex; justify-content:center; min-height:28px; padding:4px 12px; }
 body .site-header.site-header--luxury .announcement-pill { flex:0 1 auto; min-width:0; padding:0; border:0; white-space:normal; text-align:center; font-size:9px; }
 body .site-header.site-header--luxury .announcement-pill:not(:first-child) { display:none; }
 body .site-header.site-header--luxury .announcement-pill::after { display:none; }
 body .drawer.drawer--navigation,body .drawer.drawer--discovery { width:100vw; }
 body .drawer--navigation .navigation-heading { min-height:80px; padding:12px 16px; gap:8px; }
 body .drawer--navigation .navigation-body { padding:12px 24px 32px; }
 body .drawer--navigation .navigation-secondary { margin-inline:-24px; padding-inline:24px; }
 body .drawer--navigation .navigation-wordmark { font-size:14px; letter-spacing:.09em; }
 body .drawer--navigation :is(.nav-accordion > summary,.navigation-direct) { min-height:64px; font-size:16px; }
 body .drawer--discovery .drawer__header { min-height:80px; padding:14px 24px; gap:12px; }
 body .drawer--discovery .discovery-heading h2 { font-size:24px; }
 body .drawer--discovery .discovery-body { padding:16px 24px max(32px,env(safe-area-inset-bottom)); }
 body .drawer--discovery .discovery-field { gap:8px; }
 body .drawer--discovery .discovery-field input { font-size:16px; }
 body .drawer--discovery .discovery-start { grid-template-columns:minmax(0,1fr); gap:32px; margin-top:24px; }
 body .drawer--discovery .discovery-categories a { font-size:20px; min-height:58px; }
 body .drawer--discovery .discovery-maisons { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
 body .drawer--discovery .discovery-services { grid-template-columns:minmax(0,1fr); padding-top:24px; }
 body .drawer--discovery .discovery-product-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
 body .drawer--discovery .discovery-product { grid-template-columns:96px minmax(0,1fr); min-height:116px; }
 body .drawer--discovery .discovery-product img { width:96px; height:116px; }
 body .drawer--discovery .discovery-product__name { font-size:15px; }
 body .drawer--discovery .discovery-result-links { grid-template-columns:minmax(0,1fr); gap:24px; }
}
@media(max-width:359px) {
 body .site-header.site-header--luxury .main-header__inner { grid-template-columns:44px minmax(0,1fr) 88px; gap:0 2px; padding-inline:12px; grid-template-rows:72px; }
 body .site-header.site-header--luxury .site-brand { width:146px; }
 body .site-header.site-header--luxury .header-actions__mobile .icon-button { padding:8px; }
 body .drawer--discovery .drawer__header,body .drawer--discovery .discovery-body { padding-inline:18px; }
 body .drawer--discovery .discovery-heading h2 { font-size:22px; }
 body .drawer--discovery .discovery-field > svg { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 body .drawer.drawer--navigation,body .drawer.drawer--discovery,body .site-header.site-header--luxury .mega-menu,body .drawer--navigation .nav-accordion > summary svg,body .drawer--navigation.is-enhanced .nav-accordion[open] .nav-accordion__panel { transition:none; animation:none; }
}
