@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500&family=Manrope:wght@400;500;600&display=swap");

:root{
  --color-black:#111111;--color-charcoal:#252525;--color-bone:#e8e1d6;--color-still-grey:#6b6e70;
  --color-white:#fff;--color-off-white:#f5f3ef;--color-warm-white:#f0ede7;
  --color-line:rgba(17,17,17,.14);--color-line-light:rgba(17,17,17,.075);
  --color-muted:rgba(17,17,17,.58);--color-soft:rgba(17,17,17,.38);
  --font-display:"Bodoni Moda","Times New Roman",serif;--font-body:"Manrope",Arial,Helvetica,sans-serif;
  --page-padding:32px;--page-max-width:1920px;--navbar-height:82px;
  --ease-ravirae:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);
  --duration-fast:220ms;--duration-base:420ms;--duration-slow:700ms;
  --z-navbar:100;--z-backdrop:800;--z-drawer:900;--z-loader:9999;
}
*,*::before,*::after{box-sizing:border-box}
html{margin:0;padding:0;scroll-behavior:smooth;background:var(--color-off-white);color:var(--color-black);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;min-height:100vh;background:var(--color-off-white);color:var(--color-black);font-family:var(--font-body);font-size:.9375rem;line-height:1.55}
body.is-locked,body.is-loading{overflow:hidden}
h1,h2,h3,h4,h5,h6,p,figure{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}button{padding:0;border:0;background:none;cursor:pointer}img,picture,video,canvas,svg{display:block;max-width:100%}
img,video{width:100%;height:auto}input,textarea{border-radius:0;appearance:none;-webkit-appearance:none}[hidden]{display:none!important}
::selection{background:var(--color-black);color:var(--color-off-white)}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-off-white)}::-webkit-scrollbar-thumb{background:rgba(17,17,17,.28)}
.site{position:relative;width:100%;min-height:100vh;overflow:clip}.page-container{width:100%;max-width:var(--page-max-width);margin-inline:auto;padding-inline:var(--page-padding)}
.heading-display{font-family:var(--font-display);font-weight:400;line-height:.94;letter-spacing:-.035em}
.eyebrow{font-size:.6875rem;font-weight:500;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}
.text-link{position:relative;display:inline-flex;align-items:center;gap:8px;width:fit-content;font-size:.6875rem;font-weight:500;line-height:1;letter-spacing:.075em;text-transform:uppercase}
.text-link::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--duration-base) var(--ease-ravirae)}
.text-link:hover::after{transform:scaleX(1);transform-origin:left}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 28px;border:1px solid var(--color-black);font-size:.6875rem;font-weight:600;letter-spacing:.075em;text-transform:uppercase;transition:background var(--duration-base) var(--ease-ravirae),color var(--duration-base) var(--ease-ravirae)}
.button:hover{background:var(--color-black);color:var(--color-white)}.button-dark{background:var(--color-black);color:var(--color-white)}.button-dark:hover{background:var(--color-charcoal)}
.site-header{position:fixed;inset:0 0 auto;z-index:var(--z-navbar);height:var(--navbar-height);color:var(--color-black);background:transparent;transition:background-color var(--duration-base) var(--ease-ravirae),color var(--duration-base) var(--ease-ravirae),backdrop-filter var(--duration-base) var(--ease-ravirae)}
.site-header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:100%;padding-inline:var(--page-padding);border-bottom:1px solid transparent}
.site-header.is-light:not(.is-solid){color:var(--color-white)}.site-header.is-light:not(.is-solid) .site-header-logo{filter:brightness(0) invert(1)}
.site-header.is-solid{background:rgba(245,243,239,.93);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.site-header.is-solid .site-header-inner{border-color:var(--color-line-light)}
.site-header-left{display:flex;align-items:center;justify-content:flex-start}.site-header-brand{display:flex;align-items:center;justify-content:center;line-height:0}.site-header-logo{width:clamp(158px,11.5vw,198px);max-height:34px;object-fit:contain;transition:filter var(--duration-base) var(--ease-ravirae),opacity var(--duration-fast)}
.site-header-brand:hover .site-header-logo{opacity:.7}.site-header-right{display:flex;align-items:center;justify-content:flex-end;gap:28px}
.site-header-action,.menu-trigger{font-size:.75rem;font-weight:500;line-height:1;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap;transition:opacity var(--duration-fast)}
.site-header-action:hover,.menu-trigger:hover{opacity:.55}.site-header-bag{display:inline-flex;align-items:center;gap:4px}.menu-trigger{display:inline-flex;align-items:center;gap:11px}.menu-trigger-icon{width:19px;height:19px;display:grid;place-items:center}
.drawer-backdrop{position:fixed;inset:0;z-index:var(--z-backdrop);background:rgba(17,17,17,.28);opacity:0;visibility:hidden;backdrop-filter:blur(2px);transition:opacity var(--duration-base),visibility var(--duration-base)}
.drawer-backdrop.is-active{opacity:1;visibility:visible}
.menu-drawer,.search-panel{position:fixed;top:0;z-index:var(--z-drawer);height:100dvh;background:var(--color-off-white);color:var(--color-black);overflow-y:auto;transition:transform var(--duration-slow) var(--ease-out)}
.menu-drawer{left:0;display:flex;flex-direction:column;width:min(520px,92vw);padding:30px 36px 34px;transform:translateX(-100%)}.menu-drawer.is-open{transform:translateX(0)}
.search-panel{right:0;width:min(640px,100vw);padding:30px 36px 40px;transform:translateX(100%)}.search-panel.is-open{transform:translateX(0)}
.menu-drawer-header,.search-panel-header{display:flex;align-items:center;justify-content:space-between}.menu-drawer-header{margin-bottom:74px}.search-panel-header{margin-bottom:82px}
.menu-drawer-logo{width:150px}.menu-drawer-close,.search-panel-close{width:22px;height:22px}.menu-drawer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.nav-link{font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.9rem);line-height:1.02;letter-spacing:-.035em;transition:opacity var(--duration-fast)}.nav-link:hover,.nav-link[aria-current="page"]{opacity:.42}
.nav-group{display:flex;flex-direction:column;align-items:flex-start}.nav-submenu{display:flex;flex-direction:column;gap:9px;margin:17px 0 20px 18px}.nav-submenu-link{font-size:.8125rem;color:var(--color-muted)}.nav-submenu-link:hover{color:var(--color-black)}
.menu-drawer-footer{margin-top:auto;padding-top:60px}.menu-drawer-edition,.search-panel-title{font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.menu-drawer-edition{color:var(--color-muted)}
.search-field{display:flex;align-items:center;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--color-black)}.search-field-icon{width:22px;height:22px}.search-field input{width:100%;padding:0;border:0;outline:0;background:transparent;font-family:var(--font-display);font-size:clamp(1.9rem,3vw,3.2rem);letter-spacing:-.025em}.search-field input::placeholder{color:rgba(17,17,17,.26)}.search-panel-hint{margin-top:14px;font-size:.6875rem;color:var(--color-muted)}
.site-footer{position:relative;padding:82px var(--page-padding) 28px;border-top:1px solid var(--color-line);background:var(--color-off-white)}
.site-footer-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr .85fr minmax(300px,1.65fr);gap:48px;max-width:var(--page-max-width);margin-inline:auto}.site-footer-heading{margin-bottom:22px;font-size:.71875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.site-footer-links{display:flex;flex-direction:column;gap:11px}.site-footer-link{width:fit-content;font-size:.8125rem;color:var(--color-muted)}.site-footer-link:hover{color:var(--color-black)}
.footer-newsletter{display:flex;flex-direction:column}.footer-newsletter-description{max-width:320px;margin-bottom:18px;font-size:.8125rem;color:var(--color-muted)}.footer-newsletter-form{display:flex;align-items:center;margin-top:auto;padding-bottom:12px;border-bottom:1px solid var(--color-black)}.footer-newsletter-input{flex:1;min-width:0;padding:0;border:0;outline:0;background:transparent;font-size:.8125rem}.footer-newsletter-submit{width:20px;height:20px;transition:transform var(--duration-base) var(--ease-out)}.footer-newsletter-submit:hover{transform:translateX(4px)}
.site-footer-signature{display:flex;justify-content:center;max-width:var(--page-max-width);margin:112px auto 0;padding:92px 0 88px;border-top:1px solid var(--color-line-light)}.site-footer-primary-logo{width:clamp(170px,14vw,250px);object-fit:contain}
.site-footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;max-width:var(--page-max-width);margin-inline:auto;padding-top:22px;border-top:1px solid var(--color-line-light);font-size:.6875rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--color-muted)}.site-footer-bottom-center{text-align:center}.site-footer-bottom-right{text-align:right}
.product-media{position:relative;overflow:hidden;background:var(--color-warm-white)}.product-media img{width:100%;height:100%;object-fit:contain;object-position:center}.editorial-media img{width:100%;height:100%;object-fit:cover}
.price-stack{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;font-size:.75rem}.product-order-status{margin-top:8px;font-size:.5625rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--color-soft)}.price-current{font-weight:500}.price-compare{text-decoration:line-through;color:var(--color-soft)}.price-pending{color:var(--color-muted)}
.swatches{display:flex;align-items:center;gap:8px}.swatch-button{position:relative;display:grid;place-items:center;width:28px;height:28px;border-radius:50%}.swatch-button::before{content:"";width:11px;height:11px;border:1px solid rgba(17,17,17,.18);border-radius:50%;background:var(--swatch-color,#111)}.swatch-button.is-active::after{content:"";position:absolute;inset:3px;border:1px solid var(--color-black);border-radius:50%}
.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:100px var(--page-padding);text-align:center}.empty-state h1,.error-state h1{font-family:var(--font-display);font-size:clamp(2.6rem,5vw,5rem);font-weight:400;line-height:1}.empty-state p,.error-state p{max-width:460px;margin-top:16px;color:var(--color-muted)}
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity 800ms var(--ease-out),transform 800ms var(--ease-out)}[data-reveal].is-visible{opacity:1;transform:none}
[data-parallax]{--parallax-y:0px;transform:translate3d(0,var(--parallax-y),0);will-change:transform}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
a:focus-visible,button:focus-visible,input:focus-visible{outline:1px solid currentColor;outline-offset:5px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-parallax]{transform:none!important;will-change:auto}}
