:root {
  --background:#f4f4f4;
  --surface:#fff;
  --ink:#0a0a0a;
  --muted:#a4a4a4;
  --line:#e5e5e5;
  --beige:#d8cec1;
  --font:"Helvetica Neue",Helvetica,Arial,sans-serif;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--background); color:var(--ink); font-family:var(--font); font-weight:400; }
body.overlay-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { color:inherit; }
:focus-visible { outline:2px solid #111; outline-offset:4px; }

.announcement { align-items:center; background:var(--surface); border-bottom:1px solid var(--line); display:flex; font-size:12px; height:48px; justify-content:center; letter-spacing:.01em; padding:0 16px; text-align:center; }
.main-header { align-items:center; background:#fff; border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr auto 1fr; height:82px; padding:0 max(24px,calc((100vw - 1440px)/2 + 12px)); position:sticky; top:0; transition:box-shadow 250ms ease; z-index:50; }
.main-header.is-scrolled { box-shadow:0 4px 20px rgba(0,0,0,.05); }
.wordmark,.footer-wordmark { align-items:center; display:flex; font-family:Arial Black,Arial,sans-serif; font-size:14px; font-weight:900; gap:10px; justify-self:start; letter-spacing:-.07em; line-height:.72; }
.wordmark img { height:48px; object-fit:cover; width:48px; }
.wordmark>span,.footer-wordmark>span { display:flex; flex-direction:column; }
.wordmark strong,.footer-wordmark strong { font-weight:900; }
.desktop-menu { align-items:center; display:flex; gap:30px; height:100%; }
.desktop-menu>a,.nav-dropdown>a { align-items:center; display:flex; font-size:10px; font-weight:500; gap:5px; height:100%; letter-spacing:.08em; position:relative; }
.desktop-menu>a::after,.nav-dropdown>a::after { background:#111; bottom:25px; content:""; height:1px; left:0; position:absolute; transform:scaleX(0); transform-origin:right; transition:transform 250ms ease; width:100%; }
.desktop-menu>a:hover::after,.nav-dropdown:hover>a::after,.nav-dropdown:focus-within>a::after { transform:scaleX(1); transform-origin:left; }
.nav-dropdown { align-items:center; display:flex; height:100%; position:relative; }
.nav-dropdown i { font-size:12px; font-style:normal; transition:transform 250ms ease; }
.nav-dropdown:hover i,.nav-dropdown:focus-within i { transform:rotate(180deg); }
.dropdown-panel { background:#fff; border-top:1px solid #111; display:flex; flex-direction:column; gap:2px; left:-18px; min-width:190px; opacity:0; padding:14px 18px 18px; pointer-events:none; position:absolute; top:68px; transform:translateY(-8px); transition:opacity 250ms ease,transform 250ms ease; }
.dropdown-panel a { font-size:12px; padding:9px 0; }
.dropdown-panel a:hover { color:#8d8d8d; }
.nav-dropdown:hover .dropdown-panel,.nav-dropdown:focus-within .dropdown-panel { opacity:1; pointer-events:auto; transform:translateY(0); }
.header-actions { align-items:center; display:flex; gap:18px; justify-self:end; }
.icon-button,.language-button,.menu-toggle { background:transparent; border:0; cursor:pointer; padding:5px; }
.language-button { font-size:10px; font-weight:500; letter-spacing:.08em; }
.search-icon { border:1.5px solid #111; border-radius:50%; display:block; height:15px; position:relative; width:15px; }
.search-icon::after { background:#111; bottom:-4px; content:""; height:1.5px; position:absolute; right:-3px; transform:rotate(45deg); width:6px; }
.bag-button { align-items:center; display:flex; gap:6px; }
.bag-icon { border:1.4px solid #111; display:block; height:15px; position:relative; width:14px; }
.bag-icon::before { border:1.4px solid #111; border-bottom:0; border-radius:7px 7px 0 0; content:""; height:5px; left:3px; position:absolute; top:-6px; width:6px; }
.bag-button small { font-size:9px; }
.menu-toggle { display:none; height:30px; position:relative; width:30px; }
.menu-toggle span { background:#111; height:1px; left:5px; position:absolute; transition:transform 250ms ease,top 250ms ease; width:20px; }
.menu-toggle span:first-child { top:10px; }.menu-toggle span:last-child { top:18px; }
.menu-toggle.is-open span:first-child { top:14px; transform:rotate(45deg); }.menu-toggle.is-open span:last-child { top:14px; transform:rotate(-45deg); }

.editorial-hero { height:calc(100svh - 130px); min-height:620px; overflow:hidden; position:relative; }
.hero-image { animation:heroZoom 1.8s cubic-bezier(.2,.7,.2,1) both; height:100%; inset:0; object-fit:cover; object-position:center; position:absolute; width:100%; }
.hero-wash { background:linear-gradient(90deg,rgba(255,255,255,.28),transparent 50%,rgba(255,255,255,.1)); inset:0; position:absolute; }
.collection-title { animation:fadeUp .8s .15s both; left:max(48px,calc((100vw - 1440px)/2 + 75px)); letter-spacing:-.07em; line-height:.82; margin:0; position:absolute; top:55px; }
.collection-title span { display:block; font-size:clamp(72px,8vw,125px); font-weight:400; }
.collection-title span:last-child { color:#aaa; }
.hero-message { animation:fadeUp .8s .35s both; max-width:245px; position:absolute; right:max(42px,calc((100vw - 1440px)/2 + 70px)); top:45%; }
.hero-message h2 { font-size:15px; font-weight:500; letter-spacing:-.01em; margin:0 0 12px; }
.hero-message p { font-size:14px; font-style:italic; line-height:1.45; margin:0; }
.collection-cta { align-items:center; animation:fadeUp .8s .5s both; background:#111; bottom:48px; color:#fff; display:flex; font-size:11px; height:58px; justify-content:space-between; left:max(48px,calc((100vw - 1440px)/2 + 75px)); letter-spacing:.04em; padding:0 20px 0 0; position:absolute; transition:background 220ms ease; width:245px; }
.collection-cta>i { background:#fff; height:100%; width:18px; }
.arrow { display:inline-block; transition:transform 220ms ease; }
.collection-cta:hover { background:#292929; }.collection-cta:hover .arrow,.text-link:hover .arrow,.service-list a:hover .arrow,.contact-section>a:hover .arrow { transform:translateX(5px); }
.collection-year { bottom:30px; display:flex; flex-direction:column; letter-spacing:-.06em; line-height:.72; position:absolute; right:max(40px,calc((100vw - 1440px)/2 + 60px)); text-align:right; }
.collection-year span:first-child { font-size:82px; }.collection-year span:last-child { color:#c4c4c4; font-size:72px; }
.hero-index { bottom:12px; font-size:8px; left:50%; letter-spacing:.18em; margin:0; position:absolute; transform:translateX(-50%); }

.editorial-section { margin:0 auto; max-width:1440px; padding:130px 6vw; }
.section-label { color:#7c7c7c; font-size:9px; font-weight:500; letter-spacing:.18em; margin:0; }
.intro-grid { align-items:start; display:grid; gap:12vw; grid-template-columns:1.2fr .8fr; margin-top:55px; }
.intro-grid h2 { font-size:clamp(44px,6vw,86px); font-weight:400; letter-spacing:-.065em; line-height:.95; margin:0; max-width:920px; }
.intro-grid>div { padding-top:14px; }
.intro-grid p { color:#686868; font-size:14px; line-height:1.75; margin:0 0 32px; max-width:410px; }
.text-link { align-items:center; border-bottom:1px solid #111; display:inline-flex; font-size:10px; gap:28px; letter-spacing:.08em; padding-bottom:8px; }

.collection-section { display:grid; grid-template-columns:repeat(3,1fr); min-height:630px; }
.collection-panel { align-items:flex-end; border-right:1px solid rgba(255,255,255,.4); color:#fff; display:flex; justify-content:space-between; overflow:hidden; padding:26px; position:relative; }
.collection-panel::before { content:""; inset:0; position:absolute; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.collection-panel::after { background:linear-gradient(to top,rgba(0,0,0,.52),transparent 55%); content:""; inset:0; position:absolute; }
.panel-clothing::before { background:linear-gradient(140deg,#cfc7bd,#82776c); }
.panel-footwear::before { background:linear-gradient(155deg,#c3ad92,#6d6258); }
.panel-accessories::before { background:linear-gradient(135deg,#dedad2,#81786f); }
.collection-panel:hover::before { transform:scale(1.035); }
.collection-panel>* { position:relative; z-index:2; }
.panel-number { align-self:flex-start; font-size:9px; letter-spacing:.18em; }
.collection-panel small { font-size:8px; letter-spacing:.18em; }
.collection-panel h3 { font-size:clamp(42px,4.8vw,72px); font-weight:400; letter-spacing:-.06em; line-height:.9; margin:12px 0; }
.collection-panel p { font-size:11px; line-height:1.5; margin:0; max-width:210px; }
.collection-panel>.arrow { font-size:24px; }

.section-heading-row { align-items:center; display:flex; justify-content:space-between; }
.oversized-statement { display:flex; flex-direction:column; font-size:clamp(72px,12vw,172px); letter-spacing:-.075em; line-height:.73; margin:90px 0 48px; }
.oversized-statement span:last-child { color:#b9b9b9; text-align:right; }
.arrivals-copy { color:#666; font-size:14px; line-height:1.7; margin-left:auto; max-width:410px; }

.services-section { background:#111; color:#fff; display:grid; gap:8vw; grid-template-columns:.85fr 1.15fr; padding:130px max(6vw,calc((100vw - 1440px)/2 + 40px)); }
.service-intro h2 { font-size:clamp(48px,5.5vw,82px); font-weight:400; letter-spacing:-.065em; line-height:.93; margin:46px 0 0; }
.services-section .section-label { color:#8c8c8c; }
.service-list { border-top:1px solid #434343; }
.service-list a { align-items:center; border-bottom:1px solid #434343; display:grid; gap:24px; grid-template-columns:38px 1.1fr 1fr 24px; min-height:116px; transition:background 220ms ease,padding 220ms ease; }
.service-list a:hover { background:#191919; padding:0 12px; }
.service-list span:first-child { color:#777; font-size:9px; letter-spacing:.15em; }
.service-list h3 { font-size:20px; font-weight:400; letter-spacing:-.03em; margin:0; }
.service-list p { color:#8f8f8f; font-size:11px; line-height:1.5; margin:0; }

.contact-section { align-items:center; background:#050505; color:#fff; display:flex; flex-direction:column; overflow:hidden; padding:112px 24px 130px; position:relative; text-align:center; }
.contact-section::before { border:1px solid #242424; content:""; height:520px; position:absolute; right:-180px; top:-260px; transform:rotate(35deg); width:520px; }
.contact-section::after { border:1px solid #242424; bottom:-280px; content:""; height:520px; left:-210px; position:absolute; transform:rotate(35deg); width:520px; }
.contact-section>* { position:relative; z-index:1; }
.contact-logo { height:118px; margin-bottom:38px; object-fit:cover; width:118px; }
.contact-section .section-label { color:#9a9a9a; }
.contact-section h2 { font-size:clamp(52px,7vw,100px); font-weight:400; letter-spacing:-.07em; line-height:.9; margin:55px 0 28px; }
.contact-section>p:not(.section-label) { color:#bdbdbd; font-size:13px; line-height:1.7; max-width:460px; }
.contact-section>a { align-items:center; background:#fff; color:#050505; display:flex; font-size:10px; gap:35px; letter-spacing:.09em; margin-top:28px; min-height:58px; padding:0 24px; }
.contact-section>a:hover { background:#d8d8d8; }

footer { align-items:end; background:#fff; display:grid; gap:32px; grid-template-columns:1fr auto 1fr; padding:70px max(4vw,calc((100vw - 1440px)/2 + 20px)) 28px; }
.footer-wordmark { font-size:20px; }
.footer-wordmark img { height:64px; object-fit:cover; width:64px; }
footer>p { color:#777; font-size:10px; letter-spacing:.08em; margin:0; }
footer>div { display:flex; font-size:10px; gap:25px; justify-self:end; }
footer small { border-top:1px solid var(--line); color:#999; font-size:9px; grid-column:1/-1; padding-top:20px; text-align:center; }

.mobile-navigation { background:#fff; display:none; inset:108px 0 0; opacity:0; padding:30px 24px; pointer-events:none; position:fixed; transform:translateY(-12px); transition:opacity 250ms ease,transform 250ms ease; z-index:45; }
.mobile-navigation.is-open { opacity:1; pointer-events:auto; transform:translateY(0); }
.main-header.is-scrolled + .mobile-navigation { inset:82px 0 0; }
.mobile-navigation nav { display:flex; flex-direction:column; }
.mobile-navigation nav a { align-items:center; border-bottom:1px solid var(--line); display:flex; font-size:36px; justify-content:space-between; letter-spacing:-.05em; padding:17px 0; }
.mobile-navigation nav span { color:#999; font-size:9px; letter-spacing:.14em; }
.mobile-contact { align-items:center; display:flex; font-size:11px; gap:18px; margin-top:40px; }

.search-overlay { background:#fff; display:flex; inset:0; opacity:0; padding:10vw; pointer-events:none; position:fixed; transform:translateY(-20px); transition:opacity 280ms ease,transform 280ms ease; z-index:80; }
.search-overlay.is-open { opacity:1; pointer-events:auto; transform:translateY(0); }
.close-button,.bag-drawer>div button { background:transparent; border:0; cursor:pointer; font-size:36px; font-weight:200; position:absolute; right:30px; top:22px; }
.search-overlay form { margin:auto; max-width:900px; width:100%; }
.search-overlay label { display:block; font-size:clamp(42px,6vw,84px); letter-spacing:-.065em; margin-bottom:55px; }
.search-overlay form>div { border-bottom:1px solid #111; display:flex; }
.search-overlay input { background:transparent; border:0; font-size:24px; outline:0; padding:20px 0; width:100%; }
.search-overlay form button { background:transparent; border:0; cursor:pointer; font-size:26px; padding:0 12px; }
.search-overlay form p { color:#999; font-size:11px; margin-top:20px; }

.bag-drawer { background:#fff; bottom:0; max-width:460px; padding:28px; position:fixed; right:0; top:0; transform:translateX(105%); transition:transform 300ms cubic-bezier(.2,.7,.2,1); width:90vw; z-index:80; }
.bag-drawer.is-open { transform:translateX(0); }
.bag-drawer>div { border-bottom:1px solid var(--line); display:flex; justify-content:space-between; padding-bottom:24px; }
.bag-drawer>div p { font-size:10px; letter-spacing:.14em; margin:0; }.bag-drawer>div button { font-size:30px; position:static; }
.bag-drawer section { align-items:center; display:flex; flex-direction:column; justify-content:center; min-height:70vh; text-align:center; }
.empty-bag-icon { border:1px solid #111; height:44px; margin-bottom:32px; position:relative; width:40px; }
.empty-bag-icon::before { border:1px solid #111; border-bottom:0; border-radius:20px 20px 0 0; content:""; height:14px; left:10px; position:absolute; top:-15px; width:18px; }
.bag-drawer h2 { font-size:28px; font-weight:400; letter-spacing:-.04em; }
.bag-drawer section p { color:#777; font-size:12px; line-height:1.6; max-width:290px; }
.bag-drawer section a { border-bottom:1px solid #111; display:flex; font-size:10px; gap:20px; margin-top:22px; padding-bottom:7px; }
.page-scrim { background:rgba(0,0,0,.28); border:0; inset:0; opacity:0; pointer-events:none; position:fixed; transition:opacity 250ms ease; z-index:40; }.page-scrim.is-visible { opacity:1; pointer-events:auto; }

@keyframes heroZoom { from { opacity:.5; transform:scale(1.035); } to { opacity:1; transform:scale(1); } }
@keyframes fadeUp { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }

@media (max-width:1100px) {
  .main-header { grid-template-columns:1fr auto; padding:0 24px; }
  .desktop-menu { display:none; }
  .menu-toggle { display:block; }
  .mobile-navigation { display:block; inset:130px 0 0; }
  .collection-title { left:40px; }.collection-title span { font-size:72px; }
  .hero-message { right:40px; }
  .collection-cta { left:40px; }
  .collection-year { right:35px; }.collection-year span:first-child { font-size:66px; }.collection-year span:last-child { font-size:56px; }
  .intro-grid { gap:8vw; }
  .collection-section { min-height:560px; }
  .services-section { gap:70px; grid-template-columns:1fr; }
}

@media (max-width:720px) {
  .announcement { font-size:10px; height:40px; }
  .main-header { height:68px; padding:0 18px; top:0; }
  .wordmark { font-size:12px; }.wordmark img { height:42px; width:42px; }
  .header-actions { gap:10px; }
  .language-button { display:none; }
  .mobile-navigation { inset:108px 0 0; }
  .main-header.is-scrolled + .mobile-navigation { inset:68px 0 0; }
  .editorial-hero { height:calc(100svh - 108px); min-height:600px; }
  .hero-image { object-position:60% center; }
  .hero-wash { background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 45%,rgba(255,255,255,.16)); }
  .collection-title { left:22px; top:35px; }.collection-title span { font-size:54px; }
  .hero-message { left:22px; max-width:280px; right:22px; top:48%; }
  .hero-message h2 { font-size:14px; }.hero-message p { font-size:12px; max-width:245px; }
  .collection-cta { bottom:28px; height:54px; left:22px; width:220px; }
  .collection-year { bottom:105px; right:20px; }.collection-year span:first-child { font-size:48px; }.collection-year span:last-child { font-size:40px; }
  .hero-index { display:none; }
  .editorial-section { padding:90px 22px; }
  .intro-grid { gap:38px; grid-template-columns:1fr; margin-top:38px; }
  .intro-grid h2 { font-size:48px; }
  .collection-section { grid-template-columns:1fr; }
  .collection-panel { min-height:480px; }
  .oversized-statement { font-size:21vw; margin:70px 0 40px; }.oversized-statement span:last-child { text-align:left; }
  .section-heading-row { align-items:flex-start; flex-direction:column; gap:24px; }
  .arrivals-copy { margin-left:0; }
  .services-section { padding:90px 22px; }
  .service-intro h2 { font-size:52px; }
  .service-list a { gap:14px; grid-template-columns:28px 1fr 20px; padding:25px 0; }
  .service-list a p { grid-column:2/4; }.service-list a>.arrow { grid-column:3; grid-row:1; }
  .contact-section { padding:90px 22px; }.contact-section h2 { font-size:56px; }
  footer { grid-template-columns:1fr; justify-items:center; text-align:center; }.footer-wordmark,footer>div { justify-self:center; } footer small { grid-column:1; width:100%; }
  .search-overlay { padding:24px; }.search-overlay label { font-size:46px; margin-bottom:35px; }.search-overlay input { font-size:17px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}
