:root {
  --gold: #c9a94f;
  --red: #bb271a;
  --ink: #0a0a0a;
  --paper: #f5f3ee;
  --line: #ddd9d0;
  --muted: #77736d;
  --gutter: clamp(20px, 5vw, 96px);
}

* { box-sizing: border-box; }
html { background: var(--ink); scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  padding-top: 112px;
  background: #fff;
  color: #111;
  font-family: Cochin, "Times New Roman", "Yu Mincho", "Hiragino Mincho ProN", serif;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }

.page-header {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 112px;
  padding: 22px clamp(20px, 2.8vw, 54px);
  background: #050505;
  color: #fff;
}
.page-header__back {
  justify-self: start;
  color: #aaa;
  font: 9px/1.4 Arial, sans-serif;
  letter-spacing: .2em;
  text-decoration: none;
  text-transform: uppercase;
}
.page-header__logo { width: clamp(142px, 16.6vw, 239px); height: auto; }
.page-header__actions { display: flex; gap: 22px; justify-self: end; align-items: center; }
.page-header__cart {
  color: #ddd;
  font: 9px/1.4 Arial, sans-serif;
  letter-spacing: .18em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.page-header__menu { width: clamp(27px, 2.8vw, 40px); }

.page-kicker { margin: 0 0 16px; color: #927a38; font: 9px/1.4 Arial, sans-serif; letter-spacing: .25em; text-transform: uppercase; }
.page-title { margin: 0; font-size: clamp(42px, 6.2vw, 98px); font-weight: 400; line-height: .95; letter-spacing: .03em; }
.page-lead { margin: 25px 0 0; color: var(--muted); font-size: clamp(14px, 1.1vw, 17px); line-height: 2; }

.site-footer { padding: clamp(72px, 8vw, 150px) var(--gutter) 42px; background: #050505; color: #fff; text-align: center; }
.site-footer__logo { width: min(42vw, 220px); margin: 0 auto; }
.site-footer__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px clamp(20px, 3vw, 48px); margin-top: 46px; }
.site-footer__nav a { color: #ccc; font: 10px/1.5 Arial, sans-serif; letter-spacing: .16em; text-decoration: none; text-transform: uppercase; }
.site-footer__copyright { margin: 52px 0 0; color: #555; font: 9px/1.5 Arial, sans-serif; letter-spacing: .12em; }

.product-hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr); gap:clamp(48px,6vw,110px); width:min(1380px,100%); min-height:calc(100svh - 112px); margin:0 auto; padding:clamp(54px,6vw,105px) var(--gutter) clamp(75px,8vw,135px); background:#fff; }
.product-gallery { position:relative; align-self:start; min-width:0; }
.product-gallery__viewport { position:relative; display:grid; place-items:center; aspect-ratio:1.3/1; overflow:hidden; background:#f3f2ef; }
.product-gallery__main { width:82%; height:82%; object-fit:contain; transition:opacity var(--product-gallery-fade,320ms) ease; }
.product-gallery__main.is-changing { opacity: .18; }
.product-gallery__counter { position:absolute; right:22px; bottom:18px; color:#777; font:9px/1 Arial,sans-serif; letter-spacing:.15em; }
.product-gallery__arrow { position:absolute; z-index:2; top:50%; display:grid; place-items:center; width:40px; height:40px; padding:0; border:0; background:rgba(255,255,255,.88); color:#222; font:16px/1 Arial,sans-serif; cursor:pointer; transform:translateY(-50%); }
.product-gallery__arrow--prev { left:14px; }
.product-gallery__arrow--next { right:14px; }
.product-gallery__thumbs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:10px; }
.product-gallery__thumb { display:grid; place-items:center; min-width:0; aspect-ratio:1.45/1; padding:7px; border:1px solid transparent; background:#f3f2ef; cursor:pointer; }
.product-gallery__thumb img { width:100%; height:100%; object-fit:contain; }
.product-gallery__thumb[aria-pressed="true"] { border-color:#111; }
.product-info { display:flex; flex-direction:column; justify-content:center; padding:0; background:#fff; }
.product-info__series { margin: 0 0 18px; color: #8e793f; font: 9px/1.4 Arial, sans-serif; letter-spacing: .22em; text-transform: uppercase; }
.product-info h1 { margin: 0; font-size: clamp(35px, 3.8vw, 62px); font-weight: 400; line-height: 1.05; }
.product-info__model { margin: 14px 0 0; color: #888; font: 11px/1.5 Arial, sans-serif; letter-spacing: .16em; }
.product-info__price { margin: 38px 0 0; font-size: 21px; letter-spacing: .08em; }
.product-info__tax { color: #888; font-size: 11px; }
.variant-label { display:flex; justify-content:space-between; margin:38px 0 17px; padding-top:23px; border-top:1px solid var(--line); font:9px/1.5 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.variant-label strong { color: #8b7436; font-weight: 400; }
.variants { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px 9px; }
.variant {
  display:grid;
  min-width:0;
  gap:6px;
  padding:5px;
  border: 1px solid transparent;
  background:#f5f4f1;
  color:#333;
  cursor: pointer;
  text-align:center;
}
.variant img { width:100%; height:auto; aspect-ratio:1.7/1; object-fit:contain; mix-blend-mode:multiply; }
.variant span { overflow:hidden; font:9px/1.35 Arial,sans-serif; letter-spacing:.04em; text-overflow:ellipsis; white-space:nowrap; }
.variant[aria-pressed="true"] { border-color: #111; }
.product-stock { margin: 28px 0 0; color: #60715a; font: 9px/1.4 Arial, sans-serif; letter-spacing: .17em; text-transform: uppercase; }
.product-stock::before { display: inline-block; width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; background: #6f885f; content: ""; }
.add-cart { width: 100%; margin-top: 18px; padding: 20px 24px; border: 1px solid #111; background: #111; color: #fff; font: 10px/1.4 Arial, sans-serif; letter-spacing: .2em; cursor: pointer; text-transform: uppercase; transition: background .25s,color .25s; }
.add-cart:hover { background: #fff; color: #111; }
.add-cart__message { min-height: 18px; margin: 12px 0 0; color: #806b32; font: 10px/1.5 Arial, sans-serif; letter-spacing: .08em; }

.product-story { display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,1.35fr); gap: clamp(42px,9vw,170px); padding: clamp(90px,11vw,205px) var(--gutter); background: #0b0b0b; color: #fff; }
.product-story h2 { margin: 18px 0 0; font-size: clamp(35px,4.8vw,76px); font-weight: 400; line-height: 1.05; }
.product-story__copy { max-width: 780px; }
.product-story__quote { margin: 0 0 32px; color: var(--gold); font-size: clamp(23px,2.2vw,35px); line-height: 1.6; }
.product-story__copy p:not(.product-story__quote) { margin: 0; color: #aaa; font-size: clamp(13px,1vw,16px); line-height: 2.15; }
.detail-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); background: #eee; }
.detail-gallery img { width: 100%; height: 100%; aspect-ratio: 1.25/1; object-fit: cover; }
.detail-gallery img:nth-child(n+3) { aspect-ratio: .8/1; }
.spec-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px,8vw,145px); padding: clamp(90px,11vw,190px) var(--gutter); background: var(--paper); }
.spec-section h2 { margin: 18px 0 0; font-size: clamp(40px,5vw,76px); font-weight: 400; }
.spec-list { margin: 0; border-top: 1px solid #bbb5aa; }
.spec-row { display: grid; grid-template-columns: minmax(120px,.55fr) 1.45fr; gap: 24px; padding: 21px 0; border-bottom: 1px solid #d2cec5; }
.spec-row dt { color: #8c793f; font: 9px/1.6 Arial,sans-serif; letter-spacing: .17em; }
.spec-row dd { margin: 0; color: #383531; font-size: 14px; line-height: 1.7; }
.lens-banner { display: grid; grid-template-columns: 1fr 1fr; min-height: 520px; background: #fff; }
.lens-banner img { width: 100%; height: 100%; object-fit: cover; }
.lens-banner__copy { align-self: center; padding: clamp(50px,7vw,120px); }
.lens-banner h2 { margin: 0 0 25px; font-size: clamp(31px,3.6vw,58px); font-weight: 400; }
.lens-banner p { color: #777; font-size: 14px; line-height: 2; }

.commerce-head { padding: clamp(70px,8vw,130px) var(--gutter) clamp(45px,6vw,90px); background: var(--paper); }
.commerce-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(320px,.6fr); gap: clamp(42px,7vw,120px); padding: clamp(55px,7vw,110px) var(--gutter) clamp(90px,10vw,170px); }
.cart-item { display: grid; grid-template-columns: minmax(150px,240px) 1fr auto; gap: clamp(20px,3vw,48px); align-items: center; padding: 28px 0; border-top: 1px solid var(--line); }
.cart-item:last-child { border-bottom: 1px solid var(--line); }
.cart-item img { width: 100%; background: #f1f0ed; }
.cart-item h2 { margin: 0; font-size: clamp(22px,2vw,32px); font-weight: 400; }
.cart-meta { margin: 10px 0 0; color: #777; font: 10px/1.6 Arial,sans-serif; letter-spacing: .08em; }
.cart-price { margin: 18px 0 0; font-size: 16px; }
.quantity { display: flex; align-items: center; margin-top: 22px; }
.quantity button,.quantity output { display:grid; place-items:center; width:36px; height:36px; border:1px solid #ccc; background:#fff; }
.quantity output { border-right:0; border-left:0; font:11px Arial,sans-serif; }
.remove-item { margin-top: 14px; padding: 0; border: 0; background: transparent; color: #888; font: 9px/1.5 Arial,sans-serif; letter-spacing: .12em; cursor:pointer; text-decoration: underline; text-transform: uppercase; }
.cart-line-total { align-self: start; padding-top: 4px; font-size: 17px; }
.empty-cart { padding: 65px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #777; line-height: 2; }
.order-summary { align-self: start; padding: 34px; background: var(--paper); }
.order-summary h2 { margin:0 0 28px; font-size:25px; font-weight:400; }
.summary-line { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-top:1px solid #d9d5cc; color:#666; font-size:13px; }
.summary-line--total { margin-top:12px; color:#111; font-size:18px; }
.primary-link,.primary-button { display:block; width:100%; margin-top:25px; padding:18px 22px; border:1px solid #111; background:#111; color:#fff; font:10px/1.5 Arial,sans-serif; letter-spacing:.18em; text-align:center; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.secondary-link { display:block; margin-top:18px; color:#777; font:9px/1.5 Arial,sans-serif; letter-spacing:.14em; text-align:center; text-transform:uppercase; }

.checkout-form h2 { margin: 0 0 28px; font-size: clamp(28px,3vw,44px); font-weight:400; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.field { display:grid; gap:8px; }
.field--full { grid-column:1/-1; }
.field label { font:9px/1.4 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.field input,.field select,.field textarea { width:100%; min-height:50px; padding:13px 15px; border:1px solid #cfcac0; border-radius:0; background:#fff; color:#111; font:14px/1.5 Arial,sans-serif; }
.field textarea { min-height:110px; resize:vertical; }
.checkout-section { margin-top:58px; padding-top:42px; border-top:1px solid var(--line); }
.payment-choice { display:flex; align-items:flex-start; gap:12px; padding:20px; border:1px solid #bbb5aa; background:var(--paper); }
.payment-choice p { margin:4px 0 0; color:#777; font-size:12px; line-height:1.7; }
.checkout-success { display:none; padding:32px; border:1px solid #b7b08f; background:#f7f3e4; line-height:1.8; }
.checkout-success.is-visible { display:block; }

.editorial-head { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(40px,8vw,150px); align-items:end; padding:clamp(85px,10vw,180px) var(--gutter) clamp(65px,8vw,130px); background:var(--paper); }
.editorial-head__intro { max-width:650px; padding-bottom:8px; }
.news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(50px,6vw,105px) clamp(22px,3vw,52px); padding:clamp(70px,8vw,135px) var(--gutter) clamp(100px,11vw,190px); }
.news-card { min-width:0; text-decoration:none; }
.news-card__image { overflow:hidden; background:#efefed; }
.news-card img { width:100%; aspect-ratio:1.28/1; object-fit:cover; transition:transform 700ms cubic-bezier(.22,1,.36,1); }
.news-card:hover img { transform:scale(1.025); }
.news-card__meta { margin:22px 0 9px; color:#977b35; font:9px/1.4 Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.news-card h2 { margin:0; font-size:clamp(18px,1.6vw,25px); font-weight:400; line-height:1.55; }
.news-card__arrow { display:inline-block; margin-top:19px; color:#888; font:9px/1.4 Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.news-pagination { display:flex; justify-content:center; gap:9px; padding:0 var(--gutter) 100px; }
.news-pagination span { display:grid; place-items:center; width:38px; height:38px; border:1px solid #ccc; font:10px Arial,sans-serif; }
.news-pagination .is-current { border-color:#111; background:#111; color:#fff; }

.article { padding:clamp(80px,10vw,180px) var(--gutter) clamp(100px,12vw,210px); }
.article__header { display:grid; grid-template-columns:.55fr 1.45fr; gap:clamp(35px,7vw,120px); align-items:start; max-width:1250px; margin:0 auto clamp(60px,8vw,120px); }
.article__date { color:#9a7e38; font:10px/1.5 Arial,sans-serif; letter-spacing:.2em; }
.article__header h1 { margin:0; font-size:clamp(38px,5.4vw,82px); font-weight:400; line-height:1.12; }
.article__hero { width:min(1200px,100%); margin:0 auto; }
.article__hero img { width:100%; max-height:900px; object-fit:cover; }
.article__body { width:min(750px,100%); margin:clamp(60px,8vw,120px) auto 0; }
.article__body p { margin:0 0 30px; color:#555; font-size:clamp(14px,1.05vw,17px); line-height:2.15; }
.article__body .article__lead { color:#111; font-size:clamp(20px,2vw,31px); line-height:1.8; }
.article__gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; width:min(1200px,100%); margin:clamp(60px,8vw,120px) auto 0; }
.article__gallery img { width:100%; height:100%; aspect-ratio:1/1.18; object-fit:cover; }
.article__back { display:block; width:max-content; margin:80px auto 0; color:#777; font:10px/1.5 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }

.location-hero { position:relative; min-height:min(72vw,880px); display:grid; align-items:end; overflow:hidden; background:#111; color:#fff; }
.location-hero::after { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.75)); content:""; }
.location-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.location-hero__content { position:relative; z-index:1; padding:clamp(130px,16vw,280px) var(--gutter) clamp(65px,8vw,130px); }
.location-hero h1 { margin:0; font-size:clamp(54px,9vw,145px); font-weight:400; line-height:.9; }
.location-hero p { margin:24px 0 0; color:#ddd; font-size:clamp(15px,1.5vw,23px); letter-spacing:.12em; }
.showroom-intro { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(42px,8vw,150px); padding:clamp(90px,11vw,195px) var(--gutter); background:var(--paper); }
.showroom-intro h2,.showroom-feature h2 { margin:18px 0 0; font-size:clamp(36px,4.8vw,75px); font-weight:400; line-height:1.1; }
.showroom-copy { color:#5f5a54; font-size:clamp(14px,1.05vw,17px); line-height:2.15; }
.showroom-feature { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-height:700px; }
.showroom-feature:nth-of-type(even) .showroom-feature__image { order:2; }
.showroom-feature__image { width:100%; height:100%; object-fit:cover; }
.showroom-feature__copy { align-self:center; padding:clamp(60px,8vw,145px) var(--gutter); }
.showroom-feature__copy p:not(.page-kicker) { margin:30px 0 0; color:#777; font-size:14px; line-height:2.05; }
.showroom-feature--dark { background:#0a0a0a; color:#fff; }
.showroom-feature--dark .showroom-feature__copy p:not(.page-kicker) { color:#aaa; }
.showroom-mosaic { display:grid; grid-template-columns:1.15fr .85fr; background:#111; }
.showroom-mosaic img { width:100%; height:100%; object-fit:cover; }
.showroom-address { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(40px,8vw,150px); padding:clamp(90px,11vw,190px) var(--gutter); background:#b82318; color:#fff; }
.showroom-address h2 { margin:18px 0 0; font-size:clamp(38px,5vw,78px); font-weight:400; }
.showroom-address address { font-style:normal; font-size:clamp(16px,1.5vw,23px); line-height:2; }
.showroom-address a { text-underline-offset:5px; }

.stores-tools { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:25px; align-items:center; padding:45px var(--gutter); border-bottom:1px solid var(--line); background:#fff; }
.store-search { width:100%; padding:17px 0; border:0; border-bottom:1px solid #aaa; border-radius:0; outline:none; font-size:clamp(18px,2vw,28px); }
.store-count { color:#888; font:9px/1.4 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.region-filter { display:flex; flex-wrap:wrap; gap:9px; padding:32px var(--gutter); background:var(--paper); }
.region-filter button { padding:10px 15px; border:1px solid #ccc6bb; background:transparent; color:#555; font:9px/1.4 Arial,sans-serif; letter-spacing:.1em; cursor:pointer; }
.region-filter button.is-active { border-color:#111; background:#111; color:#fff; }
.stores-layout { display:grid; grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr); min-height:850px; }
.store-map { position:sticky; top:112px; align-self:start; min-height:calc(100svh - 112px); display:grid; place-items:center; overflow:hidden; background:#0c0c0c; color:#fff; }
.store-map::before,.store-map::after { position:absolute; border:1px solid rgba(201,169,79,.2); border-radius:50%; content:""; }
.store-map::before { width:34vw; height:34vw; }
.store-map::after { width:20vw; height:20vw; }
.store-map__label { position:relative; z-index:1; text-align:center; }
.store-map__label strong { display:block; color:var(--gold); font-size:clamp(58px,8vw,130px); font-weight:400; }
.store-map__label span { font:9px/1.5 Arial,sans-serif; letter-spacing:.25em; text-transform:uppercase; }
.store-list { padding:clamp(55px,7vw,105px) var(--gutter); }
.store-card { display:grid; grid-template-columns:110px 1fr auto; gap:24px; padding:28px 0; border-top:1px solid var(--line); }
.store-card[hidden] { display:none; }
.store-card__region { color:#9a7c34; font:9px/1.5 Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.store-card h2 { margin:0 0 10px; font-size:clamp(19px,1.7vw,27px); font-weight:400; }
.store-card address { color:#777; font-style:normal; font-size:12px; line-height:1.8; }
.store-card__links { display:flex; gap:14px; align-self:center; }
.store-card__links a { color:#555; font:9px/1.4 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.stores-empty { display:none; padding:50px 0; color:#777; }
.stores-empty.is-visible { display:block; }

.contact-layout { display:grid; grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr); }
.contact-aside { padding:clamp(65px,8vw,140px) var(--gutter); background:#0b0b0b; color:#fff; }
.contact-aside h2 { margin:14px 0 25px; font-size:clamp(30px,3vw,48px); font-weight:400; }
.contact-aside__block { padding:35px 0; border-top:1px solid #292929; }
.contact-aside__block p { margin:0; color:#999; font:12px/1.9 Arial,sans-serif; }
.contact-aside__phone { display:block; margin:14px 0; color:var(--gold); font-size:clamp(29px,3vw,48px); text-decoration:none; }
.contact-main { padding:clamp(65px,8vw,140px) var(--gutter) clamp(100px,11vw,180px); }
.contact-main h2 { margin:0 0 42px; font-size:clamp(36px,4vw,62px); font-weight:400; }
.contact-success { display:none; padding:28px; border:1px solid #b7b08f; background:#f7f3e4; line-height:1.8; }
.contact-success.is-visible { display:block; }

.collections-intro {
  display: block;
  padding: clamp(72px,7.5vw,144px) var(--gutter) clamp(48px,5vw,96px);
  background: #fff;
  text-align: center;
}
.collections-intro > div:first-child {
  padding-bottom: 16px;
  border-bottom: 1px solid #111;
}
.collections-intro .page-kicker { margin-bottom: 12px; }
.collections-intro .page-title {
  font-size: clamp(32px,3.2vw,58px);
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.collections-intro__copy { max-width: 740px; margin: clamp(24px,2.5vw,48px) auto 0; }
.collections-intro__copy .page-lead { margin-top: 0; }
.collections-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: clamp(48px,5vw,96px) clamp(24px,3vw,58px);
  padding: 0 var(--gutter) clamp(96px,9vw,172px);
  background: #fff;
}
.collection-card {
  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
  background: #fff;
  color: #111;
  text-align: center;
  text-decoration: none;
}
.collection-card::after { display: none; }
.collection-card img {
  width: 100%;
  aspect-ratio: 2/1;
  object-fit: contain;
  background: #f7f6f3;
  transition: transform 500ms ease;
}
.collection-card:hover img { transform: scale(1.035); }
.collection-card__content { padding: clamp(18px,1.7vw,32px) 4px 0; }
.collection-card__number {
  display: block;
  margin-bottom: 8px;
  color: #9a7b35;
  font: 8px/1.4 Arial,sans-serif;
  letter-spacing: .2em;
}
.collection-card h2 {
  margin: 0;
  font-size: clamp(15px,1.35vw,22px);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .04em;
}
.collection-card p { margin: 5px 0 0; color: #999; font-size: clamp(10px,.8vw,13px); }
.collection-card__arrow { display: none; }

.collection-hero { position:relative; min-height:min(70vw,850px); display:grid; align-items:end; overflow:hidden; background:#111; color:#fff; }
.collection-hero::after { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.82)); content:""; }
.collection-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.collection-hero__content { position:relative; z-index:1; padding:clamp(120px,14vw,230px) var(--gutter) clamp(60px,7vw,120px); }
.collection-hero h1 { margin:0; font-size:clamp(66px,11vw,175px); font-weight:400; line-height:.82; }
.collection-hero__copy { max-width:780px; margin:30px 0 0; color:#ddd; font-size:clamp(13px,1.05vw,17px); line-height:2; }
.catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:30px var(--gutter); border-bottom:1px solid var(--line); background:#fff; }
.catalog-toolbar__title { font-size:clamp(24px,2.5vw,39px); }
.catalog-toolbar__count { color:#888; font:9px/1.5 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.catalog-filter-toggle { display:none; padding:11px 15px; border:1px solid #111; background:#fff; color:#111; font:9px/1 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.catalog-layout { display:grid; grid-template-columns:minmax(245px,.28fr) minmax(0,1.72fr); align-items:start; }
.catalog-filters { position:sticky; top:112px; padding:52px clamp(25px,3.5vw,58px) 80px var(--gutter); border-right:1px solid var(--line); background:var(--paper); }
.filter-search { width:100%; padding:13px 0; border:0; border-bottom:1px solid #aaa; border-radius:0; background:transparent; outline:none; font:13px/1.5 Arial,sans-serif; }
.filter-group { margin:34px 0 0; padding-top:25px; border-top:1px solid #d4d0c7; }
.filter-group h3 { margin:0 0 16px; color:#927a38; font:9px/1.4 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.filter-option { display:flex; align-items:center; gap:9px; margin:11px 0; color:#555; font:11px/1.5 Arial,sans-serif; cursor:pointer; }
.filter-option input { accent-color:#111; }
.filter-reset { margin-top:35px; padding:0 0 4px; border:0; border-bottom:1px solid #999; background:transparent; color:#666; font:9px/1.4 Arial,sans-serif; letter-spacing:.16em; cursor:pointer; text-transform:uppercase; }
.catalog-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:#ddd9d0; }
.catalog-card { min-width:0; padding:clamp(25px,3.2vw,52px); background:#fff; color:#111; text-decoration:none; }
.catalog-card[hidden] { display:none; }
.catalog-card__visual { display:grid; place-items:center; aspect-ratio:1.5/1; overflow:hidden; background:#f3f2ef; }
.catalog-card img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform 500ms ease; }
.catalog-card:hover img { transform:scale(1.035); }
.catalog-card__edition { margin:25px 0 8px; color:#9a7b35; font:8px/1.4 Arial,sans-serif; letter-spacing:.17em; text-transform:uppercase; }
.catalog-card h2 { margin:0; font-size:clamp(17px,1.55vw,24px); font-weight:400; line-height:1.4; }
.catalog-card__meta { display:flex; justify-content:space-between; gap:12px; margin:12px 0 0; color:#888; font:9px/1.5 Arial,sans-serif; letter-spacing:.08em; }
.catalog-empty { display:none; grid-column:1/-1; min-height:400px; place-items:center; padding:60px; background:#fff; color:#777; text-align:center; }
.catalog-empty.is-visible { display:grid; }

@media (max-width: 900px) {
  .product-hero,.product-story,.spec-section,.lens-banner,.commerce-layout,.editorial-head,.article__header,.showroom-intro,.showroom-feature,.showroom-address,.stores-layout,.contact-layout,.collections-intro { grid-template-columns:1fr; }
  .product-hero { min-height:auto; }
  .product-gallery__main { max-height:none; }
  .product-info { padding-top:70px; padding-bottom:80px; }
  .detail-gallery { grid-template-columns:1fr; }
  .detail-gallery img,.detail-gallery img:nth-child(n+3) { aspect-ratio:auto; }
  .lens-banner img { min-height:420px; }
  .order-summary { order:-1; }
  .news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .showroom-feature:nth-of-type(even) .showroom-feature__image { order:0; }
  .showroom-feature__image { max-height:650px; }
  .store-map { position:relative; min-height:420px; }
  .collections-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .collection-card { min-height:0; }
  .catalog-layout { grid-template-columns:1fr; }
  .catalog-filters { position:relative; display:none; padding:35px var(--gutter) 50px; border-right:0; border-bottom:1px solid var(--line); }
  .catalog-filters.is-open { display:block; }
  .catalog-filter-toggle { display:block; }
}

@media (max-width: 620px) {
  body { padding-top:104px; }
  .page-header { grid-template-columns:1fr auto; min-height:104px; padding:20px 22px; }
  .page-header__back,.page-header__cart { display:none; }
  .page-header__actions { gap:0; }
  .page-header__logo { width:164px; }
  .page-header__menu { width:32px; }
  .product-info { padding-right:24px; padding-left:24px; }
  .cart-item { grid-template-columns:110px 1fr; align-items:start; }
  .cart-line-total { grid-column:2; }
  .commerce-layout { padding-right:20px; padding-left:20px; }
  .form-grid { grid-template-columns:1fr; }
  .field--full { grid-column:auto; }
  .news-grid { grid-template-columns:1fr; }
  .article__gallery { grid-template-columns:1fr; }
  .showroom-mosaic { grid-template-columns:1fr; }
  .stores-tools { grid-template-columns:1fr; }
  .store-card { grid-template-columns:1fr; gap:8px; }
  .store-card__links { margin-top:12px; }
  .catalog-products { grid-template-columns:1fr; }
  .collections-grid { gap:42px 16px; padding-right:18px; padding-left:18px; }
  .collection-card { min-height:0; }
}

@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
