:root { --paper:#f7f6f2; --white:#fff; --ink:#111; --line:rgba(17,17,17,.16); --cognac:#9c3f15; --ease:cubic-bezier(.22,1,.36,1); }
* { box-sizing:border-box; }
html { scroll-behavior:auto; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'DM Sans',sans-serif; overflow-x:clip; }
body.overlay-open { overflow:hidden; }
button,a { color:inherit; font:inherit; }
button { border:0; background:none; padding:0; cursor:pointer; }
a { text-decoration:none; }
img { display:block; width:100%; }
::selection { color:#fff; background:var(--cognac); }
:where(a,button,input):focus-visible { outline:2px solid var(--cognac); outline-offset:3px; }
.footer :where(a,button,input):focus-visible,.material-note :where(a,button,input):focus-visible { outline-color:#f4a26f; }

.preloader { position:fixed; inset:0; z-index:1000; display:grid; place-content:center; gap:22px; background:#f2efe9; text-align:center; }
.preloader__mark { font:400 clamp(28px,4vw,58px)/1 'Instrument Serif',serif; letter-spacing:-.045em; }
.preloader__mark span { font-style:italic; }
.preloader__progress { width:min(240px,58vw); height:1px; overflow:hidden; background:#d5d0c7; }
.preloader__progress i { display:block; width:100%; height:100%; background:var(--ink); transform:scaleX(0); transform-origin:left; }
.preloader__count { font-size:10px; letter-spacing:.18em; }

.site-header { position:fixed; z-index:100; top:0; left:0; right:0; height:54px; transition:background .5s,border-color .5s,transform .5s var(--ease); }
.site-header.is-scrolled { background:rgba(247,246,242,.82); border-bottom:1px solid rgba(17,17,17,.1); backdrop-filter:blur(16px); }
.site-header.is-hidden { transform:translateY(-102%); }
.nav-shell { height:100%; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 clamp(18px,3vw,54px); font-size:9px; font-weight:600; line-height:1; letter-spacing:.03em; text-transform:uppercase; }
.nav-cluster { display:flex; align-items:center; gap:clamp(13px,1.8vw,30px); }
.nav-cluster--right { justify-content:flex-end; }
.nav-cluster a,.nav-cluster button { position:relative; }
.nav-cluster a::after,.nav-cluster button::after { content:''; position:absolute; right:0; bottom:-5px; left:0; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .45s var(--ease); }
.nav-cluster a:hover::after,.nav-cluster button:hover::after { transform:scaleX(1); transform-origin:left; }
.nav-symbol { font-size:13px; }
.nav-wordmark { font:400 15px/1 'Instrument Serif',serif; letter-spacing:-.02em; }
.menu-trigger,.mobile-cart { display:none; }

.hero { position:relative; min-height:min(900px,100svh); padding-top:54px; overflow:hidden; background:var(--paper); }
.hero__copy { position:absolute; z-index:4; top:84px; left:clamp(22px,4.2vw,70px); bottom:108px; width:min(24vw,320px); display:flex; flex-direction:column; justify-content:space-between; }
.stacked-mark { display:inline-flex; flex-direction:column; width:max-content; font:400 clamp(26px,2.5vw,44px)/.67 'Instrument Serif',serif; letter-spacing:-.065em; }
.hero__collection { max-width:235px; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; padding:7px 11px; border:1px solid var(--line); border-radius:999px; font-size:9px; letter-spacing:.02em; }
.eyebrow i { width:9px; height:9px; border-radius:50%; background:var(--cognac); box-shadow:inset -2px -2px 0 rgba(0,0,0,.16); }
.hero__collection p { margin:18px 0 0; font-size:10px; line-height:1.35; letter-spacing:-.01em; }
.hero__title-wrap { position:absolute; z-index:1; top:25%; left:clamp(19px,4vw,66px); width:64vw; overflow:hidden; }
.hero__title { margin:0; font:400 clamp(110px,18vw,330px)/.72 'Instrument Serif',serif; letter-spacing:-.075em; white-space:nowrap; }
.hero__media { position:absolute; z-index:2; top:54px; right:3.4vw; width:64vw; height:calc(100% - 108px); margin:0; overflow:hidden; border-radius:0 0 2px 2px; background:#d7c0a7; clip-path:inset(0 0 0 100%); }
.hero__media picture { display:block; width:100%; height:100%; }
.hero__media img { width:105%; height:108%; object-fit:cover; object-position:52% 50%; transform:scale(1.08); }
.hero__sustainability { position:absolute; z-index:4; top:78px; right:68vw; font-size:9px; }
.hotspot { position:absolute; z-index:8; top:30%; right:8.5vw; display:flex; align-items:center; }
.hotspot__dot { position:relative; z-index:2; display:grid; place-items:center; width:25px; height:25px; border-radius:50%; }
.hotspot__dot::before,.hotspot__dot::after { content:''; position:absolute; border-radius:50%; }
.hotspot__dot::before { inset:3px; background:rgba(255,255,255,.25); animation:pulse 2s infinite; }
.hotspot__dot::after { inset:8px; background:#fff; box-shadow:0 1px 8px rgba(0,0,0,.18); }
.hotspot__line { width:clamp(40px,5vw,78px); height:1px; background:rgba(255,255,255,.7); transform-origin:left; }
.hotspot__card { position:relative; display:grid; grid-template-columns:110px 1fr; gap:15px; width:min(330px,25vw); min-width:286px; padding:11px 42px 11px 11px; border-radius:13px; background:rgba(255,255,255,.94); box-shadow:0 20px 50px rgba(57,31,14,.13); backdrop-filter:blur(12px); transform-origin:left center; }
.hotspot__thumb { height:102px; overflow:hidden; border-radius:9px; }
.hotspot__thumb img { height:100%; object-fit:cover; object-position:48% 58%; transform:scale(1.3); }
.hotspot__text { display:flex; flex-direction:column; justify-content:center; }
.hotspot__text h2 { margin:0 0 7px; font:400 21px/1 'Instrument Serif',serif; }
.hotspot__text p { margin:0 0 11px; color:#6d655e; font-size:8px; line-height:1.25; }
.hotspot__text strong { font-size:10px; }
.hotspot__add { position:absolute; right:12px; top:12px; display:grid; place-items:center; width:22px; height:22px; border:1px solid #dad6d0; border-radius:50%; font-size:15px; }
.pill-button { position:absolute; z-index:7; right:4.8vw; bottom:84px; display:flex; align-items:center; gap:13px; padding:8px 9px 8px 14px; border-radius:999px; color:#fff; background:#111; font-size:9px; }
.pill-button i { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; color:#111; background:#fff; font-style:normal; }
.hero__links { position:absolute; z-index:7; right:3.4vw; bottom:0; left:3.4vw; display:grid; grid-template-columns:repeat(3,1fr); height:54px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hero__links a { display:flex; align-items:center; justify-content:space-between; padding:0 9px; font-size:9px; font-weight:500; text-transform:uppercase; text-decoration:underline; text-underline-offset:3px; }
.hero__links a + a { border-left:1px solid var(--line); }
.hero__links span { transition:transform .4s var(--ease); }
.hero__links a:hover span { transform:translate(3px,-3px); }

@keyframes pulse { 0%,100%{transform:scale(.8);opacity:.3} 50%{transform:scale(1.5);opacity:.7} }

@media (max-width:900px) {
  .nav-cluster { display:none; }
  .nav-shell { grid-template-columns:1fr auto 1fr; }
  .nav-wordmark { grid-column:2; }
  .mobile-cart { position:relative; grid-column:1; grid-row:1; display:grid; place-items:center; width:44px; height:44px; margin-left:-10px; font-size:8px; }
  .mobile-cart::before { content:'Bag'; position:absolute; margin-top:26px; color:#77716a; font-size:6px; letter-spacing:.08em; text-transform:uppercase; }
  .mobile-cart span { display:grid; place-items:center; width:21px; height:21px; border:1px solid var(--line); border-radius:50%; }
  .menu-trigger { grid-column:3; justify-self:end; display:flex; width:44px; height:44px; margin-right:-10px; padding:0 10px; flex-direction:column; justify-content:center; gap:5px; }
  .menu-trigger span { width:100%; height:1px; background:#111; }
  .hero { min-height:100svh; }
  .hero__media { top:196px; right:18px; width:calc(100% - 36px); height:calc(100% - 270px); border-radius:16px; }
  .hero__media img { width:100%; height:100%; object-position:center center; transform:scale(1.035); }
  .hero__copy { top:80px; left:20px; right:20px; bottom:auto; width:auto; flex-direction:row; align-items:flex-start; }
  .hero__copy .stacked-mark { display:none; }
  .hero__collection { max-width:175px; text-align:right; }
  .hero__collection p { display:none; }
  .hero__title-wrap { z-index:3; top:108px; left:18px; width:calc(100% - 36px); }
  .hero__title { font-size:clamp(88px,27vw,126px); line-height:.78; letter-spacing:-.06em; }
  .hero__sustainability { display:none; }
  .hotspot { top:57%; right:11vw; }
  .hotspot__dot { width:44px; height:44px; }
  .hotspot__dot::before { inset:12px; }
  .hotspot__dot::after { inset:18px; }
  .hotspot__card { display:none; }
  .hotspot__line { width:42px; }
  .pill-button { right:32px; bottom:91px; }
  .hero__links { left:18px; right:18px; height:54px; }
  .hero__links a { padding:0 5px; font-size:7px; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
  .preloader { display:none; }
  .hero__media { clip-path:none; }
  .hero__media img { transform:none; }
}

/* Editorial system */
.section-pad { padding:clamp(84px,10vw,170px) 3.4vw; }
.section-index { display:flex; align-items:center; gap:14px; margin-bottom:25px; font-size:8px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.section-index i { width:48px; height:1px; background:var(--line); }
.micro-label { font-size:8px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.micro-wordmark { display:flex; flex-direction:column; font:400 19px/.68 'Instrument Serif',serif; letter-spacing:-.06em; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.reveal-frame { overflow:hidden; }
.text-link { display:inline-flex; align-items:center; gap:10px; border-bottom:1px solid var(--ink); padding-bottom:3px; font-size:9px; text-transform:uppercase; }
.text-link span { transition:transform .4s var(--ease); }
.text-link:hover span { transform:translate(3px,-3px); }

/* Featured */
.featured { position:relative; background:#fff; }
.featured__grid { display:grid; grid-template-columns:1.02fr .98fr; min-height:min(850px,76vw); }
.campaign-panel { --variant-tone:#9c3f15; --variant-caption:rgba(83,29,10,.94); --variant-caption-soft:rgba(112,43,15,.78); position:relative; min-height:740px; overflow:hidden; background:var(--variant-tone); transition:background .65s var(--ease); }
.campaign-panel>img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform 1.1s var(--ease); }
.campaign-panel:hover>img { transform:scale(1.018); }
.campaign-panel__eyebrow { position:absolute; top:18px; left:18px; z-index:2; background:rgba(255,255,255,.88); backdrop-filter:blur(8px); }
.mobile-variant-dock { display:none; }
.campaign-panel__caption { position:absolute; right:0; bottom:0; left:0; display:grid; grid-template-columns:116px 1fr 30px; gap:17px; align-items:end; min-height:142px; padding:15px; color:#fff; background:linear-gradient(0deg,var(--variant-caption),var(--variant-caption-soft)); transition:background .65s var(--ease); }
.campaign-panel__caption figure { align-self:stretch; margin:0; overflow:hidden; border-radius:10px; }
.campaign-panel__caption figure img { width:100%; height:100%; object-fit:contain; padding:8%; background:rgba(255,255,255,.94); }
.campaign-panel__caption h3 { margin:0 0 9px; font:400 clamp(22px,2.1vw,35px)/.95 'Instrument Serif',serif; }
.campaign-panel__caption p { max-width:280px; margin:0 0 16px; color:rgba(255,255,255,.75); font-size:8px; line-height:1.4; }
.campaign-panel__caption small { font-size:8px; }
.campaign-panel__caption button { align-self:end; width:26px; height:26px; border:1px solid rgba(255,255,255,.6); border-radius:50%; color:#fff; }
.featured-object { padding:28px clamp(22px,4vw,70px) 40px; background:#faf9f6; }
.featured-object__head { display:flex; align-items:start; justify-content:space-between; }
.round-controls { display:flex; gap:7px; }
.round-controls button { display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--line); border-radius:50%; font-size:11px; transition:color .3s,background .3s,transform .3s; }
.round-controls button:last-child { color:#fff; background:#111; }
.round-controls button:hover { transform:scale(1.07); }
.variant-stage { position:relative; display:flex; flex-direction:column; min-height:calc(100% - 44px); }
.variant-list { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; width:min(100%,480px); margin:45px auto 38px; }
.variant-chip { display:flex; flex-direction:column; align-items:center; gap:8px; opacity:.46; transition:opacity .4s,transform .5s var(--ease); }
.variant-chip:hover,.variant-chip.is-active { opacity:1; transform:translateY(-5px); }
.variant-chip span { position:relative; display:block; width:100%; height:135px; overflow:hidden; }
.variant-chip img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 14px 12px rgba(42,31,23,.12)); transform:scale(var(--variant-scale,1)); transform-origin:center bottom; }
.variant-chip[data-variant=forest] { --variant-scale:.96; }
.variant-chip[data-variant=mahogany] { --variant-scale:1.05; }
.variant-chip[data-variant=navy] { --variant-scale:.88; }
.variant-chip small { font-size:8px; font-weight:500; }
.featured-object__copy { position:relative; z-index:2; }
.featured-object__copy h2 { max-width:600px; margin:14px 0 28px; font:400 clamp(48px,5.4vw,96px)/.82 'Instrument Serif',serif; letter-spacing:-.055em; }
.featured-object__copy strong { display:block; margin-bottom:25px; font-size:14px; }
.featured-object__copy>p:last-child { max-width:265px; margin:0; color:#6c655f; font-size:9px; line-height:1.45; }
.featured-object__bottom { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-top:auto; }
.pill-button--inline { position:relative; right:auto; bottom:auto; width:max-content; white-space:nowrap; }
.detail-tile { width:min(220px,40%); aspect-ratio:1; margin:0; border-radius:18px; }
.detail-tile img { width:100%; height:100%; object-fit:cover; }
.detail-tile img[data-variant-detail] { object-fit:contain; padding:8%; background:#ece8e1; }

/* Story */
.story { position:relative; padding-top:55px; background:#f7f6f2; }
.editorial-links { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.editorial-links a { display:flex; justify-content:space-between; padding:15px 7px; font-size:8px; text-decoration:underline; text-transform:uppercase; text-underline-offset:3px; }
.editorial-links a+a { border-left:1px solid var(--line); }
.story__intro { display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:start; padding:70px 0 35px; }
.story__intro h2 { margin:0; font:400 clamp(38px,4.6vw,75px)/.92 'Instrument Serif',serif; letter-spacing:-.04em; }
.story__intro p { justify-self:end; max-width:340px; margin:9px 8vw 0 0; font-size:10px; line-height:1.45; }
.story__title-scene { position:relative; display:grid; place-items:center; min-height:clamp(360px,43vw,690px); }
.story__title-scene h3 { position:relative; z-index:1; margin:0; font:400 clamp(130px,20.6vw,370px)/.72 'Instrument Serif',serif; letter-spacing:-.08em; white-space:nowrap; }
.story__title-scene h3 span { display:inline-block; }
.story-bag { position:absolute; z-index:3; object-fit:contain; filter:drop-shadow(0 34px 28px rgba(36,29,19,.2)); }
.story-bag--olive { top:4%; left:44%; width:24%; transform:rotate(-5deg); }
.story-bag--orange { right:14%; bottom:3%; width:24%; transform:rotate(4deg); }
.specification { display:grid; grid-template-columns:11% 32% 1fr 18%; gap:clamp(18px,3vw,56px); align-items:center; padding:40px 5vw 10px; }
.specification__thumbs { display:grid; gap:9px; }
.specification__thumbs figure { aspect-ratio:1; margin:0; overflow:hidden; border-radius:9px; background:#ede9e1; }
.specification__thumbs img { width:100%; height:100%; object-fit:cover; }
.specification__list { display:grid; gap:4px; }
.specification__list button { display:grid; grid-template-columns:32px 1fr; align-items:center; min-height:45px; padding:0 14px; border-radius:10px; text-align:left; font-size:8px; transition:color .35s,background .35s,transform .35s; }
.specification__list button span { font-weight:400; }
.specification__list button b { font-weight:500; }
.specification__list button.is-active { color:#fff; background:var(--cognac); transform:translateX(4px); }
.specification__copy p { max-width:280px; margin:0; color:#68615b; font-size:9px; line-height:1.55; }
.specification__purchase { display:flex; height:100%; flex-direction:column; align-items:end; justify-content:space-between; }
.specification__purchase strong { font:400 clamp(26px,3vw,48px)/1 'Instrument Serif',serif; }

/* Material interlude */
.material-note { display:grid; grid-template-columns:48% 1fr; min-height:780px; background:#221b17; color:#f7f3ed; }
.material-note__image { margin:0; }
.material-note__image img { width:100%; height:100%; object-fit:cover; }
.material-note__copy { display:flex; flex-direction:column; justify-content:center; padding:9vw 8vw; }
.material-note__copy h2 { margin:32px 0; font:400 clamp(52px,6.3vw,110px)/.84 'Instrument Serif',serif; letter-spacing:-.05em; }
.material-note__copy h2 em { color:#c86f39; font-weight:400; }
.material-note__copy p { max-width:390px; margin:0 0 45px; color:rgba(255,255,255,.64); font-size:10px; line-height:1.6; }
.material-note .text-link { align-self:flex-start; border-color:rgba(255,255,255,.6); }

/* Catalog */
.catalog { overflow:hidden; background:#fff; }
.catalog__header { display:grid; grid-template-columns:1fr 330px; gap:8vw; align-items:end; }
.catalog__header h2 { display:flex; align-items:flex-start; gap:.1em; margin:16px 0 0; font:400 clamp(76px,10.7vw,190px)/.75 'Instrument Serif',serif; letter-spacing:-.065em; white-space:nowrap; }
.catalog__header h2 em { font-style:normal; }
.catalog__header sup { font:500 12px/1 'DM Sans',sans-serif; letter-spacing:0; vertical-align:top; }
.catalog__header>p { margin:0 0 5px; color:#6d655f; font-size:10px; line-height:1.5; }
.catalog__categories { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin:80px 0 28px 19%; padding-bottom:26px; border-bottom:1px solid var(--line); }
.category-object { --category-scale:.9; display:grid; grid-template-rows:132px auto; place-items:center; gap:10px; min-width:0; min-height:180px; padding:15px 10px 12px; overflow:hidden; border-radius:16px; background:#f7f5f1; transition:background .4s,color .4s,transform .55s var(--ease); }
.category-object:nth-child(2) { --category-scale:.96; }
.category-object:nth-child(3) { --category-scale:.83; }
.category-object:nth-child(4) { --category-scale:.88; }
.category-object:nth-child(5) { --category-scale:.82; }
.category-object span { position:relative; display:block; width:100%; height:132px; min-height:0; overflow:hidden; }
.category-object img { position:absolute; inset:0; max-width:100%; max-height:100%; width:100%; height:100%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 13px 12px rgba(24,21,19,.12)); transform:scale(var(--category-scale)); transform-origin:center bottom; transition:transform .65s var(--ease),filter .65s var(--ease); }
.category-object small { font-size:8px; letter-spacing:.04em; text-transform:uppercase; }
.category-object:hover,.category-object.is-active { color:#fff; background:#191715; transform:translateY(-3px); }
.category-object:hover img,.category-object.is-active img { transform:translateY(-6px) rotate(-1deg) scale(var(--category-scale)); filter:drop-shadow(0 20px 15px rgba(24,21,19,.18)); }
.catalog__tools { display:flex; align-items:center; justify-content:flex-end; min-height:42px; margin:0 0 18px 19%; }
.filter-toggle { display:none; }
.filters__head,.filter-apply { display:none; }
.catalog__body { display:grid; grid-template-columns:minmax(150px,16%) 1fr; gap:3vw; align-items:start; }
.filters { position:sticky; top:76px; display:grid; gap:25px; }
.filter-search { position:relative; display:block; }
.filter-search>span { display:block; margin-bottom:8px; font-size:8px; font-weight:600; text-transform:uppercase; }
.filter-search input { width:100%; height:38px; border:1px solid var(--line); border-radius:7px; outline:0; background:transparent; padding:0 32px 0 10px; font-size:9px; }
.filter-search i { position:absolute; right:10px; bottom:10px; font-style:normal; }
.filters fieldset { display:grid; gap:7px; margin:0; padding:0; border:0; }
.filters legend { width:100%; margin-bottom:11px; padding-bottom:8px; border-bottom:1px solid var(--line); font-size:8px; font-weight:600; text-transform:uppercase; }
.filters label { display:flex; align-items:center; gap:7px; font-size:8px; }
.filters input[type=radio] { appearance:none; width:9px; height:9px; margin:0; border:1px solid #8b857f; border-radius:50%; }
.filters input[type=radio]:checked { background:radial-gradient(circle,#111 0 39%,transparent 44%); }
.color-filter,.size-filter { display:flex; gap:7px; }
.color-filter button { width:17px; height:17px; border:1px solid rgba(0,0,0,.14); border-radius:50%; background:#a45120; box-shadow:inset 0 0 0 3px #fff; }
.color-filter button:nth-child(2) { background:#1f3a28; }
.color-filter button:nth-child(3) { background:#15233b; }
.color-filter button:nth-child(4) { background:#e7ded0; }
.color-filter button:nth-child(5) { background:#5e1722; }
.color-filter button.is-active { outline:1px solid #111; outline-offset:2px; }
.size-filter button { display:grid; place-items:center; width:27px; height:27px; border:1px solid var(--line); border-radius:5px; font-size:8px; }
.size-filter button:hover,.size-filter button.is-active { color:#fff; background:#111; }
.filter-reset { justify-self:start; border-bottom:1px solid currentColor; padding-bottom:3px; font-size:8px; text-transform:uppercase; }
.catalog__status { font-size:8px; letter-spacing:.06em; text-transform:uppercase; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:56px 18px; }
.product-card { position:relative; }
.product-card__media { position:relative; aspect-ratio:.74; overflow:hidden; border-radius:22px; background:var(--card-tone,#eeeae3); }
.product-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .85s var(--ease); }
.product-card:nth-child(4n+2) .product-card__media { aspect-ratio:.82; }
.product-card:hover .product-card__media img { transform:scale(1.025); }
.product-card__badge { position:absolute; z-index:2; top:13px; left:13px; padding:6px 9px; border-radius:999px; color:#fff; background:rgba(17,17,17,.86); font-size:7px; letter-spacing:.05em; text-transform:uppercase; }
.product-card__quick { position:absolute; z-index:2; right:13px; bottom:13px; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#fff; font-size:17px; opacity:0; transform:translateY(8px); transition:opacity .4s,transform .4s var(--ease); }
.product-card:hover .product-card__quick { opacity:1; transform:translateY(0); }
.product-card__index { position:absolute; z-index:2; right:14px; top:14px; color:rgba(255,255,255,.78); font-size:7px; letter-spacing:.08em; }
.product-card__info { display:grid; grid-template-columns:1fr auto; gap:6px; padding:15px 3px 0; }
.product-card__info h3 { margin:0; font:400 22px/1 'Instrument Serif',serif; }
.product-card__info strong { font-size:9px; }
.product-card__info p { grid-column:1/-1; margin:1px 0 0; color:#746d66; font-size:8px; }
.product-empty { grid-column:1/-1; display:grid; place-items:center; min-height:420px; border:1px solid var(--line); border-radius:20px; color:#6f6962; font:400 34px/1 'Instrument Serif',serif; }

/* Closing and footer */
.closing { position:relative; display:grid; place-items:center; min-height:86svh; overflow:hidden; background:#d2cdc4; text-align:center; }
.closing::before { content:'09 — PRE-ORDER'; position:absolute; top:28px; left:3.4vw; font-size:8px; letter-spacing:.08em; }
.closing p { position:relative; z-index:1; margin:0; font:400 clamp(80px,13vw,230px)/.75 'Instrument Serif',serif; letter-spacing:-.07em; }
.closing figure { position:absolute; z-index:2; width:38vw; margin:0; transform:rotate(-4deg); filter:drop-shadow(0 35px 27px rgba(30,24,18,.25)); }
.closing figure img { width:100%; }
.closing .pill-button { z-index:3; margin-top:31vw; }
.footer { padding:80px 3.4vw 28px; color:#f6f3ee; background:#111; }
.footer__top { display:flex; align-items:flex-start; justify-content:space-between; }
.footer__top p { margin:0; color:#baaea2; font:400 clamp(29px,3vw,50px)/.95 'Instrument Serif',serif; }
.footer__top a { border-bottom:1px solid #666; padding-bottom:4px; font-size:8px; text-transform:uppercase; }
.footer__brand { margin:100px 0 55px; font:400 20.1vw/.65 'Instrument Serif',serif; letter-spacing:-.075em; white-space:nowrap; }
.footer__grid { display:grid; grid-template-columns:repeat(3,1fr) 1.35fr; gap:4vw; padding:45px 0 75px; border-top:1px solid #343434; }
.footer__grid>div { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.footer__grid strong { margin-bottom:13px; color:#918b85; font-size:8px; font-weight:500; text-transform:uppercase; }
.footer__grid a,.footer__grid button { color:#d8d3ce; font-size:9px; }
.newsletter p { margin:0 0 20px; color:#928d87; font-size:9px; }
.newsletter label { display:grid; grid-template-columns:1fr auto; border-bottom:1px solid #777; }
.newsletter input { min-width:0; height:42px; border:0; outline:0; color:#fff; background:transparent; font-size:11px; }
.newsletter button { color:#fff; }
.newsletter small { display:block; min-height:18px; margin-top:10px; color:#c07142; font-size:8px; }
.footer__bottom { display:flex; gap:22px; align-items:center; padding-top:20px; border-top:1px solid #343434; color:#847f7a; font-size:7px; text-transform:uppercase; }
.footer__bottom button { color:inherit; font-size:inherit; text-transform:inherit; }
.footer__bottom span:nth-child(2) { margin-right:auto; }

/* Drawers and overlays */
.overlay-backdrop { position:fixed; z-index:180; inset:0; visibility:hidden; opacity:0; background:rgba(17,14,12,.36); backdrop-filter:blur(3px); }
.cart-drawer { position:fixed; z-index:200; top:0; right:0; bottom:0; display:flex; width:min(480px,100vw); flex-direction:column; padding:27px; background:#f6f3ed; transform:translateX(102%); }
.drawer-head { display:flex; justify-content:space-between; padding-bottom:24px; border-bottom:1px solid var(--line); }
.drawer-head h2 { margin:10px 0 0; font:400 45px/1 'Instrument Serif',serif; }
.drawer-head>button,.menu-panel__head>button,.search-panel>button { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; font-size:22px; }
.cart-items { flex:1; overflow:auto; padding:20px 0; }
.cart-empty { margin-top:40px; color:#736d67; font:400 24px/1.1 'Instrument Serif',serif; }
.cart-line { display:grid; grid-template-columns:86px 1fr; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); }
.cart-line figure { aspect-ratio:1; margin:0; overflow:hidden; border-radius:9px; background:#ece7df; }
.cart-line img { width:100%; height:100%; object-fit:cover; }
.cart-line__head { display:flex; justify-content:space-between; }
.cart-line h3 { margin:0; font:400 21px/1 'Instrument Serif',serif; }
.cart-line p { margin:6px 0 15px; color:#756d66; font-size:8px; }
.cart-line__foot { display:flex; align-items:center; justify-content:space-between; }
.qty { display:flex; gap:10px; align-items:center; padding:4px 8px; border:1px solid var(--line); border-radius:999px; font-size:9px; }
.cart-remove { border-bottom:1px solid currentColor; font-size:7px; text-transform:uppercase; }
.cart-summary { padding-top:21px; border-top:1px solid var(--line); }
.cart-summary>div { display:flex; justify-content:space-between; margin-bottom:18px; font-size:11px; }
.checkout-button { display:flex; align-items:center; justify-content:space-between; width:100%; height:48px; padding:0 17px; border-radius:999px; color:#fff; background:#111; font-size:9px; text-transform:uppercase; }
.cart-summary small { display:block; margin-top:10px; color:#777069; font-size:7px; text-align:center; }
.menu-panel { position:fixed; z-index:220; inset:0; visibility:hidden; display:flex; flex-direction:column; padding:21px; color:#111; background:#eee9e1; clip-path:inset(0 0 100% 0); }
.menu-panel__head { display:flex; justify-content:space-between; align-items:center; }
.menu-panel nav { display:flex; flex:1; flex-direction:column; justify-content:center; }
.menu-panel nav a { overflow:hidden; padding:6px 0; border-bottom:1px solid var(--line); font:400 clamp(54px,16vw,100px)/.92 'Instrument Serif',serif; letter-spacing:-.05em; }
.menu-panel nav span { display:inline-block; width:38px; font:500 8px/1 'DM Sans',sans-serif; letter-spacing:0; }
.menu-panel__foot { display:flex; justify-content:space-between; font-size:8px; text-transform:uppercase; }
.menu-panel__foot div { display:flex; gap:14px; }
.search-panel { position:fixed; z-index:230; top:0; right:0; left:0; visibility:hidden; min-height:42vh; padding:40px 5vw; background:#f7f4ee; transform:translateY(-102%); }
.search-panel>button { position:absolute; top:24px; right:3.4vw; }
.search-panel form { max-width:940px; margin:5vh auto 25px; }
.search-panel label { display:block; margin-bottom:18px; font:400 clamp(38px,5vw,80px)/1 'Instrument Serif',serif; }
.search-panel form>div { display:grid; grid-template-columns:1fr auto; border-bottom:1px solid #111; }
.search-panel input { min-width:0; height:54px; border:0; outline:0; background:transparent; font-size:15px; }
.search-panel form button { font-size:9px; text-transform:uppercase; }
.search-panel>p { max-width:940px; margin:auto; color:#7b746e; font-size:8px; }
.search-panel>p button { margin:0 2px; border-bottom:1px solid currentColor; }
.scroll-progress { position:fixed; z-index:150; right:0; bottom:0; left:0; height:2px; pointer-events:none; }
.scroll-progress i { display:block; width:100%; height:100%; background:var(--cognac); transform:scaleX(0); transform-origin:left; }
.cursor { position:fixed; z-index:400; top:0; left:0; display:grid; place-items:center; width:10px; height:10px; border-radius:50%; color:#fff; background:#111; pointer-events:none; transform:translate(-50%,-50%); opacity:0; }
.cursor span { font-size:7px; text-transform:uppercase; opacity:0; }
.toast { position:fixed; z-index:260; right:24px; bottom:24px; visibility:hidden; min-width:210px; padding:14px 18px; border-radius:999px; color:#fff; background:#111; font-size:9px; opacity:0; transform:translateY(10px); }

@media (max-width:1024px) {
  .featured__grid { min-height:760px; }
  .campaign-panel { min-height:680px; }
  .featured-object { padding:26px 28px 35px; }
  .variant-chip span { height:110px; }
  .specification { grid-template-columns:12% 34% 1fr; }
  .specification__purchase { grid-column:3; flex-direction:row; align-items:center; }
  .catalog__categories { margin-left:0; }
  .catalog__body { grid-template-columns:180px 1fr; }
  .product-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:760px) {
  .section-pad { padding:76px 18px; }
  .featured { padding:28px 18px; }
  .featured .section-index { margin-bottom:14px; }
  .featured__grid { grid-template-columns:1fr; min-height:0; }
  .campaign-panel { height:calc(100svh - 86px); min-height:560px; max-height:760px; border-radius:18px; }
  .campaign-panel>img { object-position:center 35%; }
  .mobile-variant-dock { position:absolute; z-index:4; right:10px; bottom:128px; left:10px; display:grid; grid-template-columns:minmax(72px,1fr) repeat(3,minmax(52px,64px)); gap:5px; align-items:center; min-height:66px; padding:6px 7px 6px 12px; border:1px solid rgba(255,255,255,.64); border-radius:16px; background:rgba(247,244,238,.9); box-shadow:0 16px 38px rgba(24,18,14,.17); backdrop-filter:blur(13px); }
  .mobile-variant-dock>span { color:#554f49; font-size:7px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; }
  .mobile-variant-dock button { display:grid; grid-template-rows:37px auto; place-items:center; gap:1px; min-width:0; min-height:54px; padding:3px 4px 2px; border:1px solid transparent; border-radius:11px; color:#57514a; background:rgba(255,255,255,.38); transition:color .35s,background .35s,border-color .35s,box-shadow .35s,transform .35s; }
  .mobile-variant-dock button img { width:100%; height:37px; object-fit:contain; filter:drop-shadow(0 5px 5px rgba(43,31,24,.16)); }
  .mobile-variant-dock button b { max-width:100%; overflow:hidden; font-size:6px; font-weight:600; letter-spacing:.02em; text-overflow:ellipsis; text-transform:uppercase; }
  .mobile-variant-dock button.is-active { color:#171513; border-color:#171513; background:#fff; box-shadow:0 6px 14px rgba(30,23,18,.14); transform:translateY(-3px); }
  .campaign-panel__caption { grid-template-columns:72px minmax(0,1fr) 40px; min-height:124px; padding:12px; }
  .campaign-panel__caption button { width:40px; height:40px; }
  .campaign-panel__caption h3 { margin-bottom:7px; font-size:23px; }
  .campaign-panel__caption p { display:-webkit-box; overflow:hidden; margin-bottom:8px; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .campaign-panel__caption small { display:flex; gap:8px; align-items:center; justify-content:space-between; }
  .campaign-panel__caption small span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .campaign-panel__caption small strong { flex:0 0 auto; font-size:10px; }
  .featured-object { display:none; }
  .round-controls button { width:40px; height:40px; }
  .variant-list { display:none; }
  .editorial-links { overflow:hidden; }
  .editorial-links a { justify-content:center; padding:13px 5px; font-size:6px; text-align:center; }
  .editorial-links a span { display:none; }
  .story__intro { grid-template-columns:1fr; gap:26px; padding:60px 0 40px; }
  .story__intro h2 { font-size:52px; }
  .story__intro p { justify-self:start; margin:0; max-width:280px; }
  .story__title-scene { min-height:390px; margin:0 -18px; overflow:hidden; }
  .story__title-scene h3 { font-size:38vw; }
  .story-bag--olive { top:12%; left:35%; width:44%; }
  .story-bag--orange { right:-2%; bottom:10%; width:46%; }
  .specification { grid-template-columns:70px 1fr; gap:20px; padding:20px 0 0; }
  .specification__thumbs { grid-row:1/3; }
  .specification__copy { grid-column:2; }
  .specification__purchase { grid-column:1/-1; flex-direction:row; align-items:center; margin-top:15px; }
  .material-note { grid-template-columns:1fr; min-height:0; }
  .material-note__image { height:58svh; }
  .material-note__copy { padding:76px 22px 88px; }
  .material-note__copy h2 { font-size:16vw; }
  .catalog { padding-top:92px; }
  .catalog__header { grid-template-columns:1fr; gap:28px; }
  .catalog__header h2 { gap:.09em; width:100%; font-size:clamp(69px,20.6vw,105px); line-height:.78; letter-spacing:-.055em; }
  .catalog__header h2 sup { margin-left:auto; padding-top:4px; font-size:9px; }
  .catalog__header>p { max-width:280px; }
  .catalog__categories { display:flex; gap:9px; margin:48px -18px 20px; padding:0 18px 14px; overflow-x:auto; border:0; scroll-padding-left:18px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .catalog__categories::-webkit-scrollbar { display:none; }
  .category-object { grid-template-rows:90px auto; flex:0 0 108px; min-height:132px; padding:10px 8px 9px; border:1px solid transparent; border-radius:15px; scroll-snap-align:start; }
  .category-object span { height:90px; }
  .category-object small { font-size:7px; }
  .category-object:hover { transform:none; }
  .category-object.is-active { transform:none; }
  .catalog__tools { position:sticky; z-index:12; top:59px; justify-content:space-between; min-height:62px; margin:0 -18px 28px; padding:8px 18px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.94); backdrop-filter:blur(12px); }
  .catalog__status { color:#6c655f; font-size:7px; }
  .filter-toggle { display:flex; align-items:center; gap:18px; min-height:42px; padding:0 8px 0 17px; border-radius:999px; color:#fff; background:#171513; font-size:8px; letter-spacing:.05em; text-transform:uppercase; }
  .filter-toggle i { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#171513; background:#fff; font-size:15px; font-style:normal; transition:transform .45s var(--ease); }
  .filter-toggle[aria-expanded=true] i { transform:rotate(45deg); }
  .catalog__body { grid-template-columns:1fr; }
  .filters { position:fixed; z-index:190; top:auto; right:0; bottom:0; left:0; visibility:hidden; grid-template-columns:repeat(2,1fr); gap:24px 18px; max-height:82svh; padding:18px 18px 24px; overflow:auto; border-radius:24px 24px 0 0; background:#f3f0e9; box-shadow:0 -20px 60px rgba(24,18,14,.2); transform:translateY(105%); }
  .filters__head { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; padding-bottom:16px; border-bottom:1px solid var(--line); font:400 30px/1 'Instrument Serif',serif; }
  .filters__head button { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; font:400 21px/1 'DM Sans',sans-serif; }
  .filters label { min-height:34px; }
  .color-filter button { width:32px; height:32px; }
  .size-filter button { width:40px; height:40px; }
  .filter-search { grid-column:1/-1; }
  .filter-reset { grid-column:1; align-self:center; }
  .filter-apply { grid-column:2; display:flex; align-items:center; justify-content:space-between; min-height:46px; padding:0 16px; border-radius:999px; color:#fff; background:#171513; font-size:8px; letter-spacing:.05em; text-transform:uppercase; }
  .product-grid { gap:38px 10px; }
  .product-card:first-child { grid-column:1/-1; }
  .product-card__media { aspect-ratio:.77; border-radius:14px; }
  .product-card:first-child .product-card__media { aspect-ratio:1.08; border-radius:18px; }
  .product-card:first-child .product-card__info h3 { font-size:31px; }
  .product-card:nth-child(4n+2) .product-card__media { aspect-ratio:.77; }
  .product-card__badge { top:9px; left:9px; padding:5px 7px; font-size:6px; }
  .product-card__index { top:11px; right:11px; }
  .product-card__quick { right:9px; bottom:9px; width:44px; height:44px; }
  .product-card__info h3 { font-size:18px; }
  .product-card__quick { opacity:1; transform:none; }
  .closing { min-height:74svh; }
  .closing p { font-size:24vw; }
  .closing figure { width:72vw; }
  .closing .pill-button { margin-top:65vw; }
  .pill-button { min-height:44px; }
  .footer { padding:60px 18px 22px; }
  .footer__brand { margin:90px -3px 50px; font-size:20.8vw; }
  .footer__grid { grid-template-columns:repeat(2,1fr); gap:45px 20px; }
  .newsletter { grid-column:1/-1; }
  .footer__bottom { flex-wrap:wrap; }
  .footer__bottom span:nth-child(2) { flex-basis:65%; margin-right:0; text-align:right; }
  .cursor { display:none; }
}

@media (max-width:430px) {
  .hero__collection { max-width:145px; }
  .eyebrow { padding:6px 8px; font-size:7px; }
  .hero__media { height:calc(100% - 270px); }
  .hotspot { top:58%; }
  .hero__links a { line-height:1.15; }
  .featured { padding:22px 18px; }
  .campaign-panel { height:calc(100svh - 74px); min-height:550px; max-height:720px; }
  .mobile-variant-dock { grid-template-columns:76px repeat(3,minmax(0,1fr)); min-height:64px; }
  .mobile-variant-dock button { grid-template-rows:35px auto; padding:2px; }
  .mobile-variant-dock button img { height:35px; }
  .campaign-panel__caption { grid-template-columns:68px minmax(0,1fr) 40px; }
  .specification__list button { padding:0 8px; }
  .filters { grid-template-columns:1fr 1fr; }
  .filter-search { grid-column:1/-1; }
  .filter-reset { grid-column:1; }
  .product-card__info { grid-template-columns:1fr; }
  .product-card__info strong { grid-row:3; }
  .footer__grid { grid-template-columns:1fr 1fr; }
}

@media (pointer:coarse) { .cursor { display:none; } }

@media (prefers-reduced-motion:reduce) {
  .reveal-frame { clip-path:none!important; }
  [data-split] span,.story-bag,.product-card { opacity:1!important; transform:none!important; }
}
