/*
Theme Name: Maluxury Atelier
Author: DapraLab
Description: An editorial, inquiry-led WooCommerce theme for Maluxury Furniture.
Version: 1.8.2
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maluxury
*/

:root {
  --ml-ivory: #f5f0e7;
  --ml-ivory-deep: #e9dfd0;
  --ml-paper: #fffdf8;
  --ml-ink: #171513;
  --ml-ink-soft: #3e3933;
  --ml-walnut: #553329;
  --ml-oxblood: #6d2427;
  --ml-brass: #9b7b4d;
  --ml-brass-light: #c4aa7a;
  --ml-line: rgba(23, 21, 19, 0.16);
  --ml-line-light: rgba(255, 253, 248, 0.22);
  --ml-display: Iowan Old Style, Baskerville, "Times New Roman", serif;
  --ml-sans: Inter, Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ml-page: min(100% - 40px, 1440px);
  --ml-narrow: min(100% - 40px, 840px);
  --ml-space: clamp(72px, 9vw, 140px);
  --ml-shadow: 0 18px 55px rgba(47, 31, 24, 0.12);
  --ml-transition: 220ms cubic-bezier(.2, .75, .3, 1);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--ml-ivory);
  color: var(--ml-ink);
  font-family: var(--ml-sans);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

a:hover {
  color: var(--ml-oxblood);
}

button,
input,
textarea,
select {
  color: inherit;
  font: inherit;
}

button,
input[type="submit"] {
  cursor: pointer;
}

:focus-visible {
  outline: 2px solid var(--ml-oxblood);
  outline-offset: 4px;
}

.ml-section--ink :focus-visible,
.ml-site-footer :focus-visible,
.ml-trade :focus-visible {
  outline-color: var(--ml-brass-light);
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link:focus {
  clip: auto;
  width: auto;
  height: auto;
  margin: 0;
  padding: 12px 18px;
  left: 16px;
  top: 16px;
  z-index: 9999;
  background: var(--ml-paper);
}

.ml-container {
  width: var(--ml-page);
  margin-inline: auto;
}

.ml-narrow {
  width: var(--ml-narrow);
  margin-inline: auto;
}

.ml-section {
  padding-block: var(--ml-space);
}

.ml-section--paper {
  background: var(--ml-paper);
}

.ml-section--ink {
  background: var(--ml-ink);
  color: var(--ml-paper);
}

.ml-eyebrow {
  margin: 0 0 16px;
  color: var(--ml-oxblood);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.2;
  text-transform: uppercase;
}

.ml-section--ink .ml-eyebrow {
  color: var(--ml-brass-light);
}

.ml-title,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  color: inherit;
  font-family: var(--ml-display);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.04;
}

h1,
.ml-title--hero {
  font-size: clamp(3.1rem, 7.5vw, 7.5rem);
}

h2,
.ml-title--section {
  font-size: clamp(2.35rem, 4.7vw, 5rem);
}

h3 {
  font-size: clamp(1.65rem, 2.6vw, 2.65rem);
}

p {
  margin: 0 0 1.4em;
}

.ml-lede {
  color: var(--ml-ink-soft);
  font-family: var(--ml-display);
  font-size: clamp(1.25rem, 2vw, 1.72rem);
  line-height: 1.42;
}

.ml-section--ink .ml-lede {
  color: rgba(255, 253, 248, 0.76);
}

.ml-button,
.button,
button.button,
input.button,
.wp-element-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 23px 11px;
  border: 1px solid var(--ml-ink);
  border-radius: 0;
  background: var(--ml-ink);
  color: var(--ml-paper);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  transition: background var(--ml-transition), color var(--ml-transition), border-color var(--ml-transition);
}

.ml-button:hover,
.button:hover,
button.button:hover,
input.button:hover,
.wp-element-button:hover {
  border-color: var(--ml-oxblood);
  background: var(--ml-oxblood);
  color: var(--ml-paper);
}

.ml-button--outline {
  background: transparent;
  color: var(--ml-ink);
}

.ml-section--ink .ml-button--outline,
.ml-button--light {
  border-color: var(--ml-paper);
  background: transparent;
  color: var(--ml-paper);
}

.ml-button--text {
  min-height: auto;
  padding: 0 0 5px;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: inherit;
}

.ml-button--text:hover {
  border-color: var(--ml-oxblood);
  background: transparent;
  color: var(--ml-oxblood);
}

.ml-section--ink .ml-button--text:hover {
  border-color: var(--ml-brass-light);
  color: var(--ml-brass-light);
}

.ml-button-group {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* Header */
.ml-announcement {
  padding: 8px 20px;
  background: var(--ml-walnut);
  color: var(--ml-paper);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-align: center;
  text-transform: uppercase;
}

.ml-site-header {
  position: relative;
  z-index: 50;
  border-bottom: 1px solid #6d5238;
  background: #251c15;
}

.ml-header-main {
  display: grid;
  min-height: 92px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 32px;
}

.ml-brand {
  display: inline-flex;
  align-items: center;
  width: clamp(245px, 22vw, 330px);
  color: var(--ml-ink);
  line-height: 1;
  text-decoration: none;
}

.ml-brand__logo {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

.ml-brand__name {
  font-family: var(--ml-display);
  font-size: clamp(1.18rem, 1.45vw, 1.55rem);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.ml-brand__descriptor {
  margin-top: 7px;
  color: var(--ml-walnut);
  font-size: 0.57rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ml-primary-nav {
  justify-self: center;
}

.ml-primary-nav ul,
.ml-primary-nav .menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ml-primary-nav a {
  display: block;
  padding-block: 8px;
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.105em;
  text-decoration: none;
  text-transform: uppercase;
}

.ml-site-header .ml-primary-nav > ul > li > a,
.ml-site-header .ml-primary-nav > .menu > li > a {
  color: #f3e5cf;
}

.ml-primary-nav a:hover,
.ml-primary-nav .current-menu-item > a {
  color: var(--ml-oxblood);
}

.ml-site-header .ml-primary-nav > ul > li > a:hover,
.ml-site-header .ml-primary-nav > .menu > li > a:hover,
.ml-site-header .ml-primary-nav > ul > .current-menu-item > a,
.ml-site-header .ml-primary-nav > .menu > .current-menu-item > a {
  color: var(--ml-brass-light);
}

.ml-primary-nav li {
  position: relative;
}

.ml-primary-nav .sub-menu {
  position: absolute;
  z-index: 60;
  top: calc(100% + 13px);
  left: 50%;
  display: grid;
  width: min(860px, 86vw);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding: 22px;
  border-top: 3px solid var(--ml-brass);
  background: var(--ml-paper);
  box-shadow: var(--ml-shadow);
  opacity: 0;
  pointer-events: none;
  transform: translate(-25%, -8px);
  visibility: hidden;
  transition: opacity var(--ml-transition), transform var(--ml-transition), visibility var(--ml-transition);
}

.ml-primary-nav .ml-mega-menu {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 22px 34px;
}

.ml-primary-nav .ml-menu-group {
  border: 0;
}

.ml-menu-group__title {
  display: block;
  margin: 0 0 8px;
  padding: 0 12px 9px;
  border-bottom: 1px solid var(--ml-brass);
  color: var(--ml-walnut);
  font-family: var(--ml-display);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .025em;
}

.ml-primary-nav .ml-menu-group__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 12px;
}

.ml-primary-nav .ml-menu-group:nth-child(2) .ml-menu-group__items {
  grid-template-columns: 1fr;
}

.ml-primary-nav .ml-menu-group--quick {
  grid-column: 1 / -1;
  padding-top: 4px;
}

.ml-primary-nav .ml-menu-group--quick .ml-menu-group__items {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ml-primary-nav .ml-menu-group__items li {
  border-bottom: 1px solid var(--ml-line);
}

.ml-primary-nav .ml-menu-child-list {
  margin: -2px 0 8px 12px;
  padding: 0 0 0 10px;
  border-left: 1px solid var(--ml-brass);
  list-style: none;
}

.ml-primary-nav .ml-menu-group__items .ml-menu-child-list li {
  border: 0;
}

.ml-primary-nav .ml-menu-child-list a {
  padding-block: 4px;
  color: var(--ml-ink-soft);
  font-size: 0.61rem;
  letter-spacing: 0.09em;
}

.ml-primary-nav .sub-menu::before {
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 16px;
  content: "";
}

.ml-primary-nav .sub-menu li {
  border-bottom: 1px solid var(--ml-line);
}

.ml-primary-nav .sub-menu a {
  padding: 11px 12px;
  color: var(--ml-ink-soft);
  font-size: .64rem;
  letter-spacing: .08em;
}

.ml-definition-grid,
.ml-option-compare {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.ml-definition-grid article,
.ml-option-compare article {
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid var(--ml-line);
  background: var(--ml-paper);
  box-shadow: 0 16px 42px rgba(47, 31, 24, .08);
}

.ml-definition-grid article > span {
  color: var(--ml-brass);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.ml-definition-grid h3,
.ml-option-compare h3 {
  margin: 12px 0 10px;
  font-family: var(--ml-display);
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.08;
}

.ml-option-compare {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ml-option-compare article {
  min-height: 310px;
}

.ml-primary-nav .menu-item-has-children:hover > .sub-menu,
.ml-primary-nav .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-25%, 0);
  visibility: visible;
}

.ml-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ml-cart-link {
  border-bottom: 1px solid currentColor;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

.ml-search-toggle,
.ml-menu-toggle {
  display: inline-grid;
  width: 45px;
  height: 45px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--ml-line);
  background: transparent;
  color: var(--ml-ink);
}

.ml-site-header .ml-search-toggle,
.ml-site-header .ml-menu-toggle {
  border-color: rgba(213, 167, 100, .48);
  color: #e6c58f;
}

.ml-site-header .ml-search-toggle:hover,
.ml-site-header .ml-menu-toggle:hover {
  border-color: var(--ml-brass-light);
  color: var(--ml-brass-light);
}

.ml-site-header .ml-header-actions .ml-button {
  border-color: #d5a764;
  background: #d5a764;
  color: #251c15;
}

.ml-site-header .ml-header-actions .ml-button:hover {
  border-color: #f0d19d;
  background: #f0d19d;
  color: #251c15;
}

.ml-search-toggle:hover,
.ml-menu-toggle:hover {
  border-color: var(--ml-oxblood);
  color: var(--ml-oxblood);
}

.ml-menu-toggle {
  display: none;
}

.ml-icon {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-width: 1.6;
}

.ml-search-panel {
  display: none;
  padding: 25px 0 28px;
  border-top: 1px solid var(--ml-line);
  background: var(--ml-paper);
}

.ml-search-panel.is-open {
  display: block;
}

html:not(.js) .ml-search-toggle {
  display: none;
}

html:not(.js) .ml-search-panel {
  display: block;
}

.ml-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.ml-search-form input[type="search"] {
  min-width: 0;
  padding: 13px 2px;
  border: 0;
  border-bottom: 1px solid var(--ml-ink);
  border-radius: 0;
  background: transparent;
  font-family: var(--ml-display);
  font-size: clamp(1.2rem, 2.2vw, 1.75rem);
}

/* Hero */
.ml-hero {
  min-height: min(790px, calc(100vh - 126px));
  display: grid;
  overflow: hidden;
  grid-template-columns: minmax(0, 1.07fr) minmax(360px, .93fr);
  border-bottom: 1px solid var(--ml-line);
}

.ml-hero__copy {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(36px, 4vw, 58px) clamp(24px, 3vw, 50px);
  text-align: center;
}

.ml-hero__copy-inner {
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
}

.ml-hero h1 {
  max-width: none;
  margin-inline: auto;
  font-size: clamp(2.75rem, 3.8vw, 3.8rem);
  line-height: 1;
  margin-bottom: 30px;
}

.ml-hero .ml-lede {
  max-width: 610px;
  margin-inline: auto;
  margin-bottom: 38px;
}

.ml-hero .ml-button-group {
  justify-content: center;
}

.ml-hero__visual {
  position: relative;
  min-height: 610px;
  overflow: hidden;
  background: var(--ml-walnut);
}

/* On wider screens, let the image finish with the copy rather than extending
   below it. This removes the unused space beneath the hero call-to-action. */
@media (min-width: 901px) {
  .ml-hero {
    min-height: 0;
    align-items: start;
  }

  .ml-hero__visual {
    min-height: 0;
    aspect-ratio: 1.2 / 1;
    align-self: start;
  }
}

.ml-hero__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ml-hero__visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(23, 21, 19, .58));
  content: "";
  pointer-events: none;
}

.ml-hero__placeholder {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 68% 31%, rgba(196, 170, 122, .38) 0 7%, transparent 7.3%),
    linear-gradient(135deg, transparent 0 46%, rgba(255,255,255,.07) 46% 48%, transparent 48%),
    linear-gradient(22deg, #311e19 0 35%, #6a4233 35% 64%, #2a1b18 64%);
}

.ml-hero__placeholder::before {
  position: absolute;
  width: 55%;
  height: 42%;
  left: 19%;
  bottom: 14%;
  border: 1px solid rgba(255, 253, 248, .35);
  box-shadow: 26px -26px 0 rgba(155, 123, 77, .15);
  content: "";
}

.ml-hero__caption {
  position: absolute;
  z-index: 2;
  right: 30px;
  bottom: 26px;
  left: 30px;
  color: var(--ml-paper);
  font-size: .67rem;
  letter-spacing: .15em;
  text-transform: uppercase;
}

/* Homepage-only preview state */
.ml-preview-hold {
  display: grid;
  min-height: calc(100vh - 126px);
  place-items: center;
  padding: clamp(84px, 13vw, 168px) 20px;
  background:
    linear-gradient(135deg, rgba(196, 170, 122, .1), transparent 46%),
    var(--ml-paper);
  text-align: center;
}

.ml-preview-hold__inner {
  max-width: 720px;
}

.ml-preview-hold .ml-eyebrow {
  margin-bottom: 18px;
}

.ml-preview-hold h1 {
  margin-bottom: 22px;
  font-size: clamp(3.1rem, 6.8vw, 6.5rem);
  line-height: .92;
}

.ml-preview-hold .ml-lede {
  max-width: 570px;
  margin: 0 auto 34px;
}

/* Shared section headers */
.ml-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, .38fr);
  align-items: end;
  gap: clamp(24px, 3.5vw, 50px);
  margin-bottom: clamp(42px, 6vw, 76px);
}

.ml-section-head h2 {
  max-width: none;
  margin-bottom: 0;
  font-size: clamp(1.8rem, 3.3vw, 3.55rem);
  letter-spacing: -0.04em;
  text-wrap: nowrap;
  white-space: nowrap;
}

.ml-section-head__aside {
  max-width: 520px;
  justify-self: end;
}

/* Product cards */
.ml-product-grid,
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 2.5vw, 38px) 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ml-product-card,
.woocommerce ul.products li.product {
  position: relative;
  float: none;
  width: auto;
  margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}

body.woocommerce ul.products[class*="columns-"] li.product,
body.woocommerce-page ul.products[class*="columns-"] li.product,
body .woocommerce ul.products[class*="columns-"] li.product {
  clear: none;
  float: none;
  width: auto;
  margin: 0;
}

.ml-product-card__media,
.woocommerce ul.products li.product a img {
  position: relative;
  aspect-ratio: 4 / 5;
  width: 100%;
  margin: 0 0 18px;
  overflow: hidden;
  background: var(--ml-ivory-deep);
  object-fit: cover;
}

.ml-product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 600ms cubic-bezier(.2,.7,.2,1);
}

.ml-product-card:hover .ml-product-card__media img {
  transform: scale(1.025);
}

.ml-product-card h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin: 0 0 7px;
  padding: 0;
  font-family: var(--ml-display);
  font-size: clamp(1.22rem, 1.8vw, 1.55rem);
  line-height: 1.18;
}

.ml-product-card a {
  text-decoration: none;
}

.ml-product-card__meta,
.woocommerce ul.products li.product .price {
  color: var(--ml-ink-soft);
  font-size: .78rem;
  letter-spacing: .04em;
}

.ml-product-card__empty {
  min-height: 380px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 30px;
  border: 1px solid var(--ml-line);
  background:
    linear-gradient(145deg, transparent 40%, rgba(155,123,77,.14) 40% 41%, transparent 41%),
    var(--ml-ivory-deep);
}

.ml-status-badge {
  position: absolute;
  z-index: 4;
  top: 12px;
  left: 12px;
  padding: 7px 9px 6px;
  background: var(--ml-paper);
  color: var(--ml-ink);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ml-product-inquiry {
  display: inline-block;
  margin-top: 9px;
  border-bottom: 1px solid currentColor;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-decoration: none;
  text-transform: uppercase;
}

.ml-empty-state {
  display: grid;
  min-height: 280px;
  place-items: center;
  padding: 50px 24px;
  border: 1px solid var(--ml-line);
  text-align: center;
}

.ml-empty-state__inner {
  max-width: 530px;
}

.ml-empty-state h3 {
  margin-bottom: 12px;
}

.ml-collection-pagination {
  margin-top: clamp(42px, 6vw, 72px);
}

.ml-collection-pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ml-collection-pagination li {
  margin: 0;
}

.ml-collection-pagination a,
.ml-collection-pagination span {
  display: grid;
  min-width: 44px;
  min-height: 44px;
  place-items: center;
  padding: 8px 12px;
  border: 1px solid var(--ml-line);
  text-decoration: none;
}

.ml-collection-pagination .current,
.ml-collection-pagination a:hover {
  background: var(--ml-ink);
  color: var(--ml-paper);
}

/* Room and style cards */
.ml-room-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
}

.ml-room-card {
  position: relative;
  min-height: 360px;
  display: flex;
  grid-column: span 4;
  align-items: flex-end;
  overflow: hidden;
  padding: 30px;
  background: var(--ml-walnut);
  color: var(--ml-paper);
  text-decoration: none;
}

.ml-room-card:nth-child(1),
.ml-room-card:nth-child(5) {
  grid-column: span 4;
}

.ml-room-card::before,
.ml-room-card::after {
  position: absolute;
  content: "";
}

.ml-room-card::before {
  inset: 0;
  background-image: linear-gradient(180deg, rgba(23,21,19,.05), rgba(23,21,19,.38)), var(--ml-room-photo), var(--ml-room-image, linear-gradient(145deg, #6e4d3c, #2e201b));
  background-position: center;
  background-size: cover;
  transform: scale(1.001);
  transition: transform 700ms cubic-bezier(.2,.7,.2,1);
}

.ml-room-card::after {
  inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(23,21,19,.75));
}

.ml-room-card:hover {
  color: var(--ml-paper);
}

.ml-room-card:hover::before {
  transform: scale(1.035);
}

.ml-room-card__content {
  position: relative;
  z-index: 2;
}

.ml-room-card h3 {
  margin-bottom: 7px;
}

.ml-room-card span {
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.ml-room-card--seating { --ml-room-image: linear-gradient(135deg, #321d1c, #8a5550); }
.ml-room-card--tables { --ml-room-image: linear-gradient(25deg, #332017, #846345); }
.ml-room-card--bedroom { --ml-room-image: linear-gradient(145deg, #6f665c, #2f2a25); }
.ml-room-card--office { --ml-room-image: linear-gradient(42deg, #242321, #6b5a49); }
.ml-room-card--storage { --ml-room-image: linear-gradient(155deg, #483127, #977b55); }
.ml-room-card--sets { --ml-room-image: linear-gradient(45deg, #3a2625, #70545a); }

.ml-path-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.ml-path-card {
  position: relative;
  overflow: hidden;
  min-height: 340px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(30px, 4vw, 58px);
  border: 1px solid rgba(196,170,122,.42);
  border-radius: 4px;
  box-shadow: 0 18px 42px rgba(0,0,0,.22);
}

.ml-path-card::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(23,21,19,.12), rgba(23,21,19,.92)), var(--ml-path-photo), linear-gradient(145deg, #2b211e, #171513);
  background-position: center;
  background-size: cover;
  content: "";
  opacity: .46;
  transition: transform 700ms cubic-bezier(.2,.7,.2,1), opacity var(--ml-transition);
}

.ml-path-card:hover::before { opacity: .62; transform: scale(1.035); }

.ml-path-card > * { position: relative; z-index: 1; }

.ml-path-card:last-child {
  border-right: 1px solid rgba(196,170,122,.42);
}

.ml-path-card__number {
  color: var(--ml-brass-light);
  font-family: var(--ml-display);
  font-size: 1.1rem;
}

.ml-path-card p {
  color: rgba(255,253,248,.72);
}

.ml-style-grid {
  display: grid;
  grid-template-columns: 1.25fr .75fr .75fr;
  gap: 18px;
}

.ml-style-card {
  position: relative;
  overflow: hidden;
  min-height: 470px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid rgba(155,123,77,.58);
  border-radius: 4px;
  background: var(--ml-walnut);
  color: var(--ml-paper);
  box-shadow: 0 20px 46px rgba(47,31,24,.18);
}

.ml-style-card::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,253,248,.02), rgba(23,21,19,.75)), var(--ml-style-photo);
  background-position: center;
  background-size: cover;
  content: "";
  opacity: .36;
  transition: transform 700ms cubic-bezier(.2,.7,.2,1), opacity var(--ml-transition);
}

.ml-style-card:hover::before { opacity: .52; transform: scale(1.035); }
.ml-style-card > * { position: relative; z-index: 1; }
.ml-style-card h3, .ml-style-card .ml-eyebrow { text-shadow: 0 1px 12px rgba(255,253,248,.35); }

.ml-style-card:nth-child(1) {
  background: linear-gradient(145deg, rgba(109,36,39,.72), rgba(23,21,19,.92)), var(--ml-walnut);
}

.ml-style-card:nth-child(2) {
  background: linear-gradient(35deg, rgba(85,51,41,.84), rgba(23,21,19,.92)), var(--ml-walnut);
}

.ml-style-card:nth-child(3) {
  background: linear-gradient(155deg, rgba(155,123,77,.72), rgba(23,21,19,.92)), var(--ml-walnut);
}

.ml-style-card p {
  color: rgba(255,253,248,.78);
}

.ml-service-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--ml-line);
  border-bottom: 1px solid var(--ml-line);
}

.ml-service {
  padding: 34px 26px;
  border-right: 1px solid var(--ml-line);
}

.ml-service:last-child {
  border-right: 0;
}

.ml-service h3 {
  margin-bottom: 10px;
  font-size: 1.2rem;
}

.ml-service p {
  margin: 0;
  color: var(--ml-ink-soft);
  font-size: .83rem;
}

.ml-trade {
  display: grid;
  min-height: 560px;
  grid-template-columns: 1fr 1fr;
  background: var(--ml-walnut);
  color: var(--ml-paper);
}

.ml-trade__visual {
  min-height: 420px;
  background:
    linear-gradient(155deg, transparent 45%, rgba(196,170,122,.22) 45% 46%, transparent 46%),
    linear-gradient(20deg, rgba(37,24,23,.38), rgba(104,69,58,.28)),
    var(--ml-trade-photo),
    linear-gradient(20deg, #251817, #68453a);
  background-position: center;
  background-size: cover;
}

.ml-trade__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(50px, 7vw, 110px);
}

.ml-trade__copy p:not(.ml-eyebrow) {
  color: rgba(255,253,248,.76);
}

.ml-editorial-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.ml-editorial-card {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(26px, 3.5vw, 45px);
  border: 1px solid var(--ml-line);
  border-top: 3px solid var(--ml-brass);
  border-radius: 3px;
  background: var(--ml-paper);
  box-shadow: 0 14px 35px rgba(47,31,24,.08);
  text-decoration: none;
  transition: background var(--ml-transition), color var(--ml-transition), transform var(--ml-transition), box-shadow var(--ml-transition);
}

.ml-editorial-card:hover {
  background: var(--ml-ink);
  color: var(--ml-paper);
  box-shadow: 0 20px 42px rgba(47,31,24,.2);
  transform: translateY(-4px);
}

.ml-editorial-card__index {
  color: var(--ml-walnut);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .13em;
}

.ml-editorial-card h3 {
  margin: 38px 0 9px;
}

.ml-editorial-card p {
  margin: 0;
  color: var(--ml-ink-soft);
  font-size: .84rem;
}

.ml-editorial-card:hover p {
  color: rgba(255,253,248,.68);
}

.ml-client-notes {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  align-items: center;
  gap: clamp(50px, 9vw, 140px);
}

.ml-client-notes #client-notes-title {
  max-width: none;
  font-size: clamp(1.3rem, 2.3vw, 2.45rem);
  letter-spacing: -0.045em;
  white-space: nowrap;
}

.ml-client-note-placeholder {
  padding: clamp(40px, 6vw, 82px);
  border: 1px solid var(--ml-line-light);
}

.ml-client-note-placeholder blockquote {
  margin: 0;
  font-family: var(--ml-display);
  font-size: clamp(1.65rem, 3vw, 3.1rem);
  line-height: 1.2;
}

.ml-client-note-placeholder p {
  margin: 24px 0 0;
  color: rgba(255,253,248,.68);
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Interior pages */
.ml-page-hero {
  padding: clamp(80px, 11vw, 170px) 0 clamp(55px, 7vw, 105px);
  border-bottom: 1px solid var(--ml-line);
}

.ml-page-hero h1 {
  max-width: 12ch;
  margin-bottom: 20px;
}

.ml-page-hero .ml-lede {
  max-width: 700px;
}

.ml-content {
  padding-block: clamp(60px, 8vw, 120px);
}

.ml-prose {
  width: var(--ml-narrow);
  margin-inline: auto;
}

.ml-prose > * {
  max-width: 100%;
}

.ml-prose a {
  color: var(--ml-oxblood);
}

.ml-prose blockquote {
  margin: 2.3em 0;
  padding-left: 28px;
  border-left: 2px solid var(--ml-brass);
  font-family: var(--ml-display);
  font-size: 1.5rem;
}

.ml-page-hero--editorial {
  background:
    radial-gradient(circle at 80% 22%, rgba(196, 170, 122, .18), transparent 28%),
    linear-gradient(135deg, var(--ml-paper), var(--ml-ivory));
}

.ml-page-hero--dark,
.ml-page-hero--story,
.ml-page-hero--atelier {
  background:
    linear-gradient(110deg, rgba(23, 21, 19, .94), rgba(75, 44, 36, .8)),
    linear-gradient(145deg, #2b1c19, #7a594d);
  color: var(--ml-paper);
}

.ml-page-hero--dark .ml-eyebrow,
.ml-page-hero--story .ml-eyebrow,
.ml-page-hero--atelier .ml-eyebrow {
  color: var(--ml-brass-light);
}

.ml-page-hero--dark .ml-lede,
.ml-page-hero--story .ml-lede,
.ml-page-hero--atelier .ml-lede {
  color: rgba(255, 253, 248, .76);
}

.ml-page-hero__inner {
  max-width: 1040px;
}

.ml-page-hero__inner h1 {
  max-width: none;
}

.ml-intro-split,
.ml-story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  gap: clamp(45px, 8vw, 130px);
  align-items: start;
}

.ml-intro-split h2,
.ml-story-grid h2,
.ml-story-statement blockquote {
  font-size: clamp(2.3rem, 4.5vw, 4.8rem);
  line-height: .98;
}

.ml-intro-split > div:last-child,
.ml-story-grid article {
  color: var(--ml-ink-soft);
}

.ml-intro-split > div:last-child {
  padding-top: 28px;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
}

.ml-section-head--single {
  align-items: end;
  margin-bottom: clamp(42px, 6vw, 78px);
}

.ml-section-head--single h2 {
  white-space: normal;
}

.ml-info-grid {
  display: grid;
  gap: 22px;
}

.ml-info-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ml-info-card {
  min-height: 250px;
  padding: clamp(28px, 3vw, 42px);
  border: 1px solid var(--ml-line);
  background: var(--ml-ivory);
  box-shadow: 0 14px 38px rgba(47, 31, 24, .06);
}

.ml-card-rule {
  display: block;
  width: 42px;
  height: 2px;
  margin-bottom: 34px;
  background: var(--ml-brass);
}

.ml-info-card h3 {
  margin-bottom: 14px;
  font-size: clamp(1.45rem, 2.2vw, 2rem);
}

.ml-info-card p {
  margin: 0;
  color: var(--ml-ink-soft);
  font-size: .9rem;
}

.ml-process-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--ml-line);
  list-style: none;
  counter-reset: ml-process;
}

.ml-process-list li {
  display: grid;
  grid-template-columns: 72px minmax(190px, .7fr) minmax(0, 1fr);
  gap: 30px;
  align-items: baseline;
  padding: 27px 0;
  border-bottom: 1px solid var(--ml-line);
  counter-increment: ml-process;
}

.ml-process-list li::before {
  color: var(--ml-brass);
  font-family: var(--ml-display);
  font-size: 1.4rem;
  content: "0" counter(ml-process);
}

.ml-process-list h3,
.ml-process-list p {
  margin: 0;
}

.ml-process-list p {
  color: var(--ml-ink-soft);
}

.ml-audience-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--ml-line);
  border-left: 1px solid var(--ml-line);
}

.ml-audience-row span {
  display: grid;
  min-height: 130px;
  place-items: center;
  padding: 20px;
  border-right: 1px solid var(--ml-line);
  border-bottom: 1px solid var(--ml-line);
  font-family: var(--ml-display);
  font-size: 1.15rem;
  text-align: center;
}

.ml-cta-band {
  padding-block: clamp(56px, 7vw, 96px);
  background: linear-gradient(115deg, #1b1412, #57362d);
  color: var(--ml-paper);
}

.ml-cta-band__inner {
  display: flex;
  justify-content: space-between;
  gap: 36px;
  align-items: center;
}

.ml-cta-band h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 4.2rem);
}

.ml-cta-band .ml-eyebrow {
  color: var(--ml-brass-light);
}

.ml-empty-state {
  padding: clamp(42px, 7vw, 90px);
  border: 1px solid var(--ml-line);
  background: linear-gradient(145deg, rgba(196, 170, 122, .12), rgba(255, 253, 248, .7));
  text-align: center;
}

.ml-empty-state h3 {
  margin-bottom: 12px;
  font-size: clamp(2rem, 4vw, 3.8rem);
}

.ml-empty-state p:last-child {
  max-width: 620px;
  margin: 0 auto;
  color: var(--ml-ink-soft);
}

.ml-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px 24px;
}

.ml-gallery-tile {
  text-decoration: none;
}

.ml-gallery-tile__media {
  aspect-ratio: 4 / 5;
  margin-bottom: 16px;
  overflow: hidden;
  background: var(--ml-paper);
}

.ml-gallery-tile:nth-child(3n + 2) .ml-gallery-tile__media {
  aspect-ratio: 1 / 1.12;
}

.ml-gallery-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 600ms ease;
}

.ml-gallery-tile:hover img {
  transform: scale(1.025);
}

.ml-gallery-tile > span {
  font-family: var(--ml-display);
  font-size: 1.2rem;
}

.ml-gallery-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(145deg, #d8c3a8, #65463a);
}

.ml-material-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.ml-material-card {
  display: flex;
  min-height: 320px;
  flex-direction: column;
  justify-content: space-between;
  padding: 34px;
  color: var(--ml-paper);
}

.ml-material-card--wood { background: linear-gradient(145deg, #826047, #2f201c); }
.ml-material-card--metal { background: linear-gradient(145deg, #c6a665, #5c4224); }
.ml-material-card--textile { background: linear-gradient(145deg, #c5b8aa, #67554e); }

.ml-material-card span {
  font-size: .7rem;
  letter-spacing: .16em;
}

.ml-material-card h3 {
  margin: 0;
  font-size: clamp(1.7rem, 3vw, 2.8rem);
}

.ml-story-statement {
  max-width: 1100px;
}

.ml-story-statement blockquote {
  margin: 0;
  font-family: var(--ml-display);
}

.ml-story-grid article {
  padding: clamp(32px, 5vw, 60px);
  border-top: 2px solid var(--ml-brass);
  background: var(--ml-ivory);
}

.ml-text-link {
  display: inline-block;
  margin-top: 20px;
  border-bottom: 1px solid var(--ml-brass);
  color: var(--ml-ink);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

.ml-craft-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.ml-craft-card {
  display: grid;
  min-height: 390px;
  grid-template-columns: .85fr 1fr;
  overflow: hidden;
  background: var(--ml-ivory);
  box-shadow: var(--ml-shadow);
}

.ml-craft-card__visual {
  background: linear-gradient(145deg, #c1a374, #442e27);
}

.ml-craft-card--2 .ml-craft-card__visual { background: repeating-linear-gradient(35deg, #b58b57 0 12px, #704d35 12px 24px, #d0b17b 24px 36px); }
.ml-craft-card--3 .ml-craft-card__visual { background: radial-gradient(circle at 45% 40%, #d8be7d 0 10%, #886b35 11% 21%, #2c2119 22%); }
.ml-craft-card--4 .ml-craft-card__visual { background: linear-gradient(115deg, #f1d998, #a77a33 48%, #6c4a24); }
.ml-craft-card--5 .ml-craft-card__visual { background: repeating-linear-gradient(90deg, #c8b8a8 0 6px, #917c6c 6px 12px); }
.ml-craft-card--6 .ml-craft-card__visual { background: linear-gradient(155deg, #ead6b4, #745344 55%, #2d211d); }

.ml-craft-card__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 4vw, 50px);
}

.ml-craft-card__copy > span {
  color: var(--ml-brass);
  font-size: .7rem;
  letter-spacing: .16em;
}

.ml-craft-card h2 {
  margin: 18px 0 14px;
  font-size: clamp(1.7rem, 2.8vw, 2.7rem);
}

.ml-craft-card p {
  margin: 0;
  color: var(--ml-ink-soft);
  font-size: .88rem;
}

.ml-completed-piece {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(44px, 7vw, 110px);
  align-items: center;
}

.ml-completed-piece h2 {
  font-size: clamp(2.4rem, 4.5vw, 4.6rem);
  line-height: .98;
}

.ml-completed-piece__visual {
  min-height: 520px;
  background:
    linear-gradient(145deg, transparent 38%, rgba(255,255,255,.12) 38% 39%, transparent 39%),
    linear-gradient(135deg, #3b2923, #b58d59);
  box-shadow: var(--ml-shadow);
}

.ml-contact-options,
.ml-selected-piece {
  margin-top: clamp(42px, 6vw, 72px);
  padding: clamp(26px, 4vw, 44px);
  border: 1px solid var(--ml-line);
  background: var(--ml-paper);
}

.ml-contact-options h2,
.ml-selected-piece h2 {
  margin-bottom: 16px;
  font-size: clamp(2rem, 4vw, 3.6rem);
}

.ml-contact-options > p:not(.ml-eyebrow),
.ml-selected-piece__details > p:not(.ml-eyebrow) {
  color: var(--ml-ink-soft);
}

.ml-contact-options .ml-button-group {
  margin-top: 28px;
}

.ml-contact .ml-button,
.ml-contact .ml-button:hover {
  color: var(--ml-paper);
}

.ml-contact .ml-button--outline {
  color: var(--ml-ink);
}

.ml-selected-piece {
  display: grid;
  grid-template-columns: minmax(170px, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: clamp(26px, 5vw, 58px);
}

.ml-selected-piece__media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--ml-ivory-deep);
}

.ml-selected-piece__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ml-selected-piece__reference {
  margin: -4px 0 22px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ml-selected-piece .ml-button {
  margin-top: 8px;
}

.ml-selected-piece__details:only-child {
  grid-column: 1 / -1;
}

.ml-prose input:not([type="submit"]),
.ml-prose textarea,
.ml-prose select,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
  width: 100%;
  padding: 13px 12px;
  border: 1px solid var(--ml-line);
  border-radius: 0;
  background: var(--ml-paper);
}

.ml-search-results {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.ml-search-result {
  padding: 28px;
  border: 1px solid var(--ml-line);
  background: var(--ml-paper);
}

.ml-search-result h2 {
  font-size: 1.7rem;
}

.ml-search-result a {
  text-decoration: none;
}

/* WooCommerce */
.ml-shop-shell {
  width: var(--ml-page);
  margin-inline: auto;
  padding-block: clamp(55px, 7vw, 105px);
}

.woocommerce .woocommerce-breadcrumb {
  margin-bottom: 30px;
  color: var(--ml-ink-soft);
  font-size: .7rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin-bottom: 36px;
}

.woocommerce .woocommerce-ordering select {
  padding: 10px 32px 10px 10px;
  border: 1px solid var(--ml-line);
  border-radius: 0;
  background: transparent;
}

.woocommerce span.onsale {
  min-width: 0;
  min-height: 0;
  padding: 7px 9px;
  border-radius: 0;
  background: var(--ml-oxblood);
  font-size: .6rem;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.woocommerce div.product {
  display: flow-root;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  margin-bottom: 70px;
}

.woocommerce div.product .product_title {
  font-size: clamp(2.5rem, 5vw, 5rem);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--ml-walnut);
  font-family: var(--ml-display);
  font-size: 1.35rem;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--ml-ink-soft);
  font-size: 1.03rem;
}

.woocommerce-product-gallery__image {
  background: var(--ml-ivory-deep);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-color: var(--ml-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top-color: var(--ml-brass);
  background: var(--ml-paper);
}

.woocommerce-info::before,
.woocommerce-message::before {
  color: var(--ml-brass);
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
  border-color: var(--ml-line);
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 44px;
  padding: 12px;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--ml-ink);
  color: var(--ml-paper);
}

body.ml-inquiry-mode .cart,
body.ml-inquiry-mode .added_to_cart,
body.ml-inquiry-mode .wc-block-mini-cart,
body.ml-inquiry-mode .woocommerce-mini-cart,
body.ml-inquiry-mode a[href*="/cart"],
body.ml-inquiry-mode a[href*="/checkout"] {
  display: none !important;
}

/* Footer */
.ml-site-footer {
  padding: clamp(60px, 8vw, 110px) 0 28px;
  border-top: 4px solid var(--ml-brass);
  background: linear-gradient(180deg, #1b1412 0%, #11100f 34%);
  color: var(--ml-paper);
}

.ml-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, minmax(150px, .6fr));
  gap: 44px;
  padding-bottom: 70px;
}

.ml-footer-intro {
  max-width: 460px;
}

.ml-footer-intro .ml-brand {
  margin-bottom: 22px;
  color: var(--ml-paper);
}

.ml-footer-intro .ml-brand__descriptor {
  color: var(--ml-brass-light);
}

.ml-footer-intro p {
  color: rgba(255,253,248,.64);
}

.ml-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ml-social-links--footer {
  margin-top: 24px;
}

.ml-social-links--footer a {
  display: inline-flex;
  color: var(--ml-paper);
  text-decoration: none;
}

.ml-social-links__mark {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(213,167,100,.62);
  border-radius: 50%;
  color: var(--ml-brass-light);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .04em;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.ml-social-links--footer a:hover .ml-social-links__mark,
.ml-social-links--footer a:focus-visible .ml-social-links__mark {
  background: var(--ml-brass-light);
  color: #1b1412;
  transform: translateY(-2px);
}

.ml-footer-column h2 {
  margin-bottom: 22px;
  color: var(--ml-brass-light);
  font-family: var(--ml-sans);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.ml-footer-column ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ml-footer-column li + li {
  margin-top: 11px;
}

.ml-footer-column a {
  color: rgba(255,253,248,.76);
  font-size: .83rem;
  text-decoration: none;
}

.ml-footer-column a:hover {
  color: var(--ml-paper);
}

.ml-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  padding-top: 26px;
  border-top: 1px solid var(--ml-line-light);
  color: rgba(255,253,248,.5);
  font-size: .67rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

/* Contact social destinations */
.ml-social-section {
  border-top: 1px solid var(--ml-line);
  background: var(--ml-paper);
}

.ml-editorial-heading--center {
  justify-content: center;
  text-align: center;
}

.ml-editorial-heading--center > div {
  max-width: 760px;
}

.ml-editorial-heading--center > div > p:last-child {
  margin-inline: auto;
  color: var(--ml-ink-soft);
}

.ml-social-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.ml-social-card {
  display: grid;
  grid-template-columns: 52px 1fr auto;
  gap: 16px;
  align-items: center;
  min-width: 0;
  padding: 24px 22px;
  border: 1px solid var(--ml-line);
  background: #fffdf8;
  color: var(--ml-ink);
  text-decoration: none;
  box-shadow: 0 16px 42px rgba(52,36,27,.06);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.ml-social-card:hover,
.ml-social-card:focus-visible {
  border-color: var(--ml-brass);
  box-shadow: 0 20px 50px rgba(52,36,27,.12);
  transform: translateY(-3px);
}

.ml-social-card__mark {
  display: inline-grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 1px solid var(--ml-brass);
  border-radius: 50%;
  color: var(--ml-brass-dark);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .05em;
}

.ml-social-card small,
.ml-social-card strong {
  display: block;
}

.ml-social-card small {
  margin-bottom: 4px;
  color: var(--ml-ink-soft);
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ml-social-card strong {
  font-family: var(--ml-display);
  font-size: 1.25rem;
  font-weight: 400;
}

.ml-social-card__arrow {
  color: var(--ml-brass-dark);
  font-size: 1.1rem;
}

/* WordPress alignment */
.alignwide {
  width: min(100vw - 40px, 1180px);
  max-width: none;
  margin-right: 50%;
  margin-left: 50%;
  transform: translateX(-50%);
}

.alignfull {
  width: 100vw;
  max-width: none;
  margin-right: 50%;
  margin-left: 50%;
  transform: translateX(-50%);
}

/* Editorial inner-page system */
.ml-editorial-page {
  overflow: clip;
  background: var(--ml-ivory);
}

.ml-section--parchment {
  background: #e9dfd0;
}

.ml-editorial-hero {
  position: relative;
  display: grid;
  min-height: clamp(620px, 76vh, 880px);
  align-items: end;
  isolation: isolate;
  background: #2a211d var(--ml-image) center / cover no-repeat;
  color: var(--ml-paper);
}

.ml-editorial-hero__shade {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(17,14,12,.88) 0%, rgba(17,14,12,.56) 44%, rgba(17,14,12,.14) 76%), linear-gradient(0deg, rgba(17,14,12,.56), transparent 58%);
}

.ml-editorial-hero__content {
  padding-block: clamp(110px, 14vw, 190px) clamp(76px, 9vw, 120px);
}

.ml-editorial-hero__content > * {
  max-width: 760px;
}

.ml-editorial-hero__content--wide > * {
  max-width: 950px;
}

.ml-editorial-hero h1 {
  max-width: 1100px;
  margin-bottom: 28px;
  font-size: clamp(4rem, 8vw, 8.8rem);
  line-height: .91;
  text-wrap: balance;
}

.ml-editorial-hero__content--wide h1 {
  font-size: clamp(3.45rem, 6.6vw, 7.5rem);
}

.ml-editorial-lede {
  color: rgba(255,253,248,.84);
  font-family: var(--ml-display);
  font-size: clamp(1.15rem, 1.7vw, 1.52rem);
  line-height: 1.45;
}

.ml-editorial-hero .ml-eyebrow {
  color: var(--ml-brass-light);
}

.ml-museum-caption {
  position: absolute;
  right: 24px;
  bottom: 20px;
  margin: 0;
  color: rgba(255,253,248,.65);
  font-size: .58rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}

.ml-button--ghost-light {
  border-color: rgba(255,253,248,.62);
  background: transparent;
  color: var(--ml-paper);
}

.ml-button--ghost-light:hover {
  border-color: var(--ml-paper);
  background: var(--ml-paper);
  color: var(--ml-ink);
}

.ml-editorial-intro__grid,
.ml-story-manifesto__grid {
  display: grid;
  grid-template-columns: 90px minmax(0, 1.5fr) minmax(260px, .75fr);
  gap: clamp(30px, 5vw, 80px);
  align-items: start;
}

.ml-story-manifesto__grid {
  grid-template-columns: 90px minmax(0, 1fr);
  max-width: 1150px;
}

.ml-editorial-number {
  color: var(--ml-brass);
  font-family: var(--ml-display);
  font-size: clamp(2.6rem, 5vw, 5rem);
  line-height: .85;
}

.ml-editorial-intro h2 {
  max-width: 760px;
  margin-bottom: 0;
}

.ml-editorial-intro__copy {
  padding-top: 34px;
  color: var(--ml-ink-soft);
  font-size: 1.02rem;
}

.ml-story-manifesto blockquote,
.ml-brief-band blockquote,
.ml-story-eye blockquote {
  max-width: 1050px;
  margin: 0;
  font-family: var(--ml-display);
  font-size: clamp(2.35rem, 5vw, 5rem);
  line-height: 1.04;
}

.ml-editorial-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .35fr);
  gap: 40px;
  align-items: end;
  margin-bottom: clamp(42px, 6vw, 76px);
}

.ml-editorial-heading h2 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(2.3rem, 4vw, 4.7rem);
  text-wrap: balance;
}

.ml-editorial-heading > p {
  margin: 0;
  color: var(--ml-ink-soft);
  font-size: .86rem;
}

.ml-editorial-heading--light > p {
  color: rgba(255,253,248,.62);
}

.ml-craft-mosaic,
.ml-character-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 28px;
}

.ml-visual-story-card,
.ml-character-card {
  display: grid;
  grid-template-rows: minmax(300px, 1fr) auto;
  min-height: 520px;
  overflow: hidden;
  background: var(--ml-paper);
  color: var(--ml-ink);
  box-shadow: var(--ml-shadow);
  text-decoration: none;
}

.ml-visual-story-card__image,
.ml-character-card__image {
  min-height: 320px;
  background: #cdbda8 var(--ml-image) center / cover no-repeat;
  transition: transform 600ms ease;
}

.ml-visual-story-card:hover .ml-visual-story-card__image,
.ml-character-card:hover .ml-character-card__image {
  transform: scale(1.025);
}

.ml-visual-story-card__copy,
.ml-character-card__copy {
  position: relative;
  z-index: 1;
  display: block;
  padding: 28px 30px 32px;
  background: var(--ml-paper);
}

.ml-visual-story-card__copy > span,
.ml-character-card small,
.ml-audience-panel span {
  color: var(--ml-brass);
  font-size: .62rem;
  letter-spacing: .16em;
}

.ml-visual-story-card h3,
.ml-character-card strong {
  display: block;
  margin: 8px 0 10px;
  font-family: var(--ml-display);
  font-size: clamp(1.7rem, 2.5vw, 2.7rem);
  font-weight: 400;
}

.ml-visual-story-card p,
.ml-character-card em {
  display: block;
  margin: 0;
  color: var(--ml-ink-soft);
  font-size: .84rem;
  font-style: normal;
  line-height: 1.6;
}

.ml-visual-story-card--1,
.ml-character-card--1 { grid-column: 1 / span 7; }
.ml-visual-story-card--2,
.ml-character-card--2 { grid-column: 8 / span 5; margin-top: 100px; }
.ml-visual-story-card--3,
.ml-character-card--3 { grid-column: 1 / span 5; margin-top: -35px; }
.ml-visual-story-card--4,
.ml-character-card--4 { grid-column: 6 / span 7; margin-top: 60px; }
.ml-visual-story-card--5,
.ml-character-card--5 { grid-column: 1 / span 7; }
.ml-visual-story-card--6,
.ml-character-card--6 { grid-column: 8 / span 5; margin-top: 90px; }

.ml-editorial-sequence,
.ml-catalog-steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--ml-line-light);
  list-style: none;
}

.ml-editorial-sequence li,
.ml-catalog-steps li {
  min-height: 190px;
  padding: 26px 22px;
  border-right: 1px solid var(--ml-line-light);
}

.ml-editorial-sequence li:last-child,
.ml-catalog-steps li:last-child {
  border-right: 0;
}

.ml-editorial-sequence span,
.ml-catalog-steps span {
  display: block;
  margin-bottom: 58px;
  color: var(--ml-brass-light);
  font-size: .62rem;
  letter-spacing: .16em;
}

.ml-editorial-sequence strong,
.ml-catalog-steps strong {
  font-family: var(--ml-display);
  font-size: clamp(1.25rem, 2vw, 2rem);
  font-weight: 400;
}

.ml-catalog-steps {
  grid-template-columns: repeat(4, 1fr);
}

.ml-editorial-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, .75fr);
  min-height: 670px;
  background: var(--ml-paper);
  box-shadow: var(--ml-shadow);
}

.ml-editorial-feature--reverse .ml-editorial-feature__image { order: 2; }
.ml-editorial-feature--reverse .ml-editorial-feature__copy { order: 1; }

.ml-editorial-feature__image {
  position: relative;
  min-height: 560px;
  background: #cdbda8 var(--ml-image) center / cover no-repeat;
}

.ml-editorial-feature__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(46px, 7vw, 100px);
}

.ml-editorial-feature__copy h2 {
  font-size: clamp(2.4rem, 4.5vw, 5rem);
}

.ml-editorial-final,
.ml-brief-band {
  padding-block: clamp(84px, 11vw, 150px);
  background: linear-gradient(125deg, #241713, #120f0e);
  color: var(--ml-paper);
  text-align: center;
}

.ml-editorial-final .ml-container,
.ml-brief-band .ml-container {
  max-width: 1080px;
}

.ml-editorial-final .ml-eyebrow,
.ml-brief-band .ml-eyebrow { color: var(--ml-brass-light); }
.ml-editorial-final h2 { margin-inline: auto; font-size: clamp(2.7rem, 5.5vw, 6rem); }
.ml-editorial-final p:not(.ml-eyebrow) { color: rgba(255,253,248,.7); }
.ml-editorial-final .ml-button-group { justify-content: center; }

.ml-story-eye {
  padding-block: clamp(90px, 12vw, 170px);
}

.ml-story-eye__inner {
  max-width: 1150px;
}

.ml-story-eye__links {
  display: flex;
  gap: 36px;
  margin-top: 55px;
}

.ml-story-eye__links a,
.ml-brief-band .ml-text-link {
  color: var(--ml-brass-light);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.ml-lookbook-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 140px;
  gap: 18px;
}

.ml-lookbook-tile {
  position: relative;
  overflow: hidden;
  background: #cdbda8 var(--ml-image) center / cover no-repeat;
}

.ml-lookbook-tile::after,
.ml-custom-tile::after,
.ml-catalog-tile::after,
.ml-contact-path__image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(17,14,12,.68), transparent 62%);
  content: "";
}

.ml-lookbook-tile__caption {
  position: absolute;
  z-index: 1;
  right: 20px;
  bottom: 16px;
  left: 20px;
  color: var(--ml-paper);
  font-family: var(--ml-display);
  font-size: 1.2rem;
}

.ml-lookbook-tile--1 { grid-column: 1 / span 7; grid-row: span 4; }
.ml-lookbook-tile--2 { grid-column: 8 / span 5; grid-row: span 3; }
.ml-lookbook-tile--3 { grid-column: 8 / span 5; grid-row: span 4; }
.ml-lookbook-tile--4 { grid-column: 1 / span 5; grid-row: span 3; }
.ml-lookbook-tile--5 { grid-column: 6 / span 7; grid-row: span 4; }
.ml-lookbook-tile--6 { grid-column: 1 / span 7; grid-row: span 4; }
.ml-lookbook-tile--7 { grid-column: 8 / span 5; grid-row: span 3; }
.ml-lookbook-tile--8 { grid-column: 8 / span 5; grid-row: span 4; }
.ml-lookbook-tile--9 { grid-column: 1 / span 5; grid-row: span 3; }
.ml-lookbook-tile--10 { grid-column: 6 / span 7; grid-row: span 4; }

.ml-gallery-category-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  margin-top: 45px;
}

.ml-gallery-category-links a {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.ml-detail-strip {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}

.ml-detail-strip a { color: var(--ml-paper); text-decoration: none; }
.ml-detail-strip__image { display: block; aspect-ratio: 2 / 3; margin-bottom: 13px; background: #332822 var(--ml-image) center / cover no-repeat; }
.ml-detail-strip a:nth-child(even) { margin-top: 58px; }
.ml-detail-strip a > span:last-child { color: rgba(255,253,248,.68); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }

.ml-styled-collections,
.ml-custom-mosaic,
.ml-catalog-mosaic {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 110px;
  gap: 18px;
}

.ml-styled-collection,
.ml-custom-tile,
.ml-catalog-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: end;
  overflow: hidden;
  padding: 26px;
  background: #b8a68e var(--ml-image) center / cover no-repeat;
  color: var(--ml-paper);
  text-decoration: none;
}

.ml-styled-collection::after { position:absolute; inset:0; background:linear-gradient(0deg,rgba(17,14,12,.76),transparent 62%); content:""; }
.ml-styled-collection span, .ml-styled-collection strong,
.ml-custom-tile span, .ml-custom-tile strong,
.ml-catalog-tile span, .ml-catalog-tile strong { position: relative; z-index: 1; }
.ml-styled-collection span, .ml-custom-tile span, .ml-catalog-tile span { margin-bottom: 8px; color: var(--ml-brass-light); font-size: .58rem; letter-spacing: .15em; }
.ml-styled-collection strong, .ml-custom-tile strong, .ml-catalog-tile strong { font-family: var(--ml-display); font-size: clamp(1.5rem, 2.6vw, 2.8rem); font-weight: 400; line-height: 1; }

.ml-styled-collection--1 { grid-column: 1 / span 7; grid-row: span 5; }
.ml-styled-collection--2 { grid-column: 8 / span 5; grid-row: span 3; }
.ml-styled-collection--3 { grid-column: 8 / span 5; grid-row: span 4; }
.ml-styled-collection--4 { grid-column: 1 / span 5; grid-row: span 4; }
.ml-styled-collection--5 { grid-column: 6 / span 7; grid-row: span 4; }

.ml-audience-editorial {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
}

.ml-audience-panel {
  grid-column: span 4;
  background: var(--ml-paper);
  box-shadow: var(--ml-shadow);
}

.ml-audience-panel:nth-child(1), .ml-audience-panel:nth-child(4) { grid-column: span 7; }
.ml-audience-panel:nth-child(2), .ml-audience-panel:nth-child(5) { grid-column: span 5; }
.ml-audience-panel:nth-child(3) { grid-column: 3 / span 8; }
.ml-audience-panel__image { min-height: 330px; background: #cdbda8 var(--ml-image) center / cover no-repeat; }
.ml-audience-panel > div:last-child { padding: 28px 30px 34px; }
.ml-audience-panel h3 { margin: 9px 0 12px; }
.ml-audience-panel p { margin: 0; color: var(--ml-ink-soft); font-size: .85rem; }

.ml-support-editorial {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
  gap: clamp(60px, 10vw, 150px);
}

.ml-support-list { margin: 0; padding: 0; border-top: 1px solid var(--ml-line-light); list-style: none; }
.ml-support-list li { display: grid; grid-template-columns: 44px 1fr; gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--ml-line-light); font-family: var(--ml-display); font-size: 1.25rem; }
.ml-support-list span { color: var(--ml-brass-light); font-family: var(--ml-sans); font-size: .58rem; letter-spacing: .14em; }
.ml-brief-band { background: #dfd2c0; color: var(--ml-ink); }
.ml-brief-band .ml-eyebrow, .ml-brief-band .ml-text-link { color: var(--ml-oxblood); }
.ml-brief-band blockquote { margin-inline: auto; font-size: clamp(2.1rem, 4.5vw, 4.8rem); }
.ml-brief-band .ml-button, .ml-brief-band .ml-text-link { margin-top: 38px; }

.ml-custom-tile--1 { grid-column: 1 / span 7; grid-row: span 5; }
.ml-custom-tile--2 { grid-column: 8 / span 5; grid-row: span 3; }
.ml-custom-tile--3 { grid-column: 8 / span 5; grid-row: span 4; }
.ml-custom-tile--4 { grid-column: 1 / span 5; grid-row: span 4; }
.ml-custom-tile--5 { grid-column: 6 / span 7; grid-row: span 4; }
.ml-custom-tile--6 { grid-column: 1 / span 6; grid-row: span 4; }
.ml-custom-tile--7 { grid-column: 7 / span 6; grid-row: span 4; }
.ml-custom-tile--8 { grid-column: 3 / span 8; grid-row: span 4; }

.ml-client-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--ml-line);
}

.ml-client-split article { padding: clamp(50px, 7vw, 95px); background: var(--ml-paper); }
.ml-client-split h2 { font-size: clamp(2.2rem, 4vw, 4.4rem); }

.ml-arrival-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 38px 24px;
}

.ml-arrival-card--feature { grid-column: span 2; grid-row: span 2; }
.ml-arrival-card__image { position: relative; display: block; aspect-ratio: 4 / 5; background: #cdbda8 var(--ml-image) center / cover no-repeat; }
.ml-arrival-card--feature .ml-arrival-card__image { aspect-ratio: 1 / 1; }
.ml-arrival-card h3 { margin: 18px 0 6px; font-size: clamp(1.5rem, 2.3vw, 2.5rem); }
.ml-arrival-card h3 a { text-decoration: none; }
.ml-arrival-card p { margin-bottom: 8px; color: var(--ml-ink-soft); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.ml-arrival-badge { position: absolute; top: 14px; left: 14px; padding: 8px 10px; background: rgba(23,21,19,.9); color: var(--ml-paper); font-size: .56rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ml-arrival-grid--dark .ml-arrival-card p { color: rgba(255,253,248,.6); }
.ml-arrival-grid--dark .ml-arrival-card h3, .ml-arrival-grid--dark .ml-text-link { color: var(--ml-paper); }
.ml-arrival-preview { display: grid; grid-template-columns: 130px 1fr; gap: 50px; max-width: 850px; padding: clamp(42px, 7vw, 90px); border: 1px solid var(--ml-line-light); }
.ml-arrival-preview--light { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .8fr); gap: 0; max-width: none; padding: 0; border: 0; background: var(--ml-paper); box-shadow: var(--ml-shadow); }
.ml-arrival-preview__image { min-height: 540px; background: #cdbda8 var(--ml-image) center / cover no-repeat; }
.ml-arrival-preview--light > div:last-child { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(46px, 7vw, 92px); }

.ml-catalog-tile--1 { grid-column: 1 / span 7; grid-row: span 5; }
.ml-catalog-tile--2 { grid-column: 8 / span 5; grid-row: span 3; }
.ml-catalog-tile--3 { grid-column: 8 / span 5; grid-row: span 4; }
.ml-catalog-tile--4 { grid-column: 1 / span 5; grid-row: span 4; }
.ml-catalog-tile--5 { grid-column: 6 / span 7; grid-row: span 4; }
.ml-catalog-tile--6 { grid-column: 1 / span 6; grid-row: span 4; }
.ml-catalog-tile--7 { grid-column: 7 / span 6; grid-row: span 4; }

.ml-contact-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ml-contact-path { display: grid; grid-template-rows: 360px auto; background: var(--ml-paper); box-shadow: var(--ml-shadow); text-decoration: none; }
.ml-contact-path__image { position: relative; background: #cdbda8 var(--ml-image) center / cover no-repeat; }
.ml-contact-path__copy { display: block; padding: 28px 28px 34px; }
.ml-contact-path__copy small { color: var(--ml-brass); font-size: .58rem; letter-spacing: .14em; }
.ml-contact-path__copy strong { display: block; margin: 10px 0; font-family: var(--ml-display); font-size: 2rem; font-weight: 400; }
.ml-contact-path__copy em { display: block; color: var(--ml-ink-soft); font-size: .84rem; font-style: normal; line-height: 1.55; }

.ml-contact-concierge { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, .8fr); gap: clamp(50px, 9vw, 130px); align-items: start; }
.ml-contact-concierge__intro h2 { font-size: clamp(2.7rem, 5vw, 5.5rem); }
.ml-inquiry-panel { padding: clamp(38px, 5vw, 68px); background: var(--ml-paper); box-shadow: var(--ml-shadow); }
.ml-inquiry-panel h3 { overflow-wrap: anywhere; font-size: clamp(1.55rem, 2.2vw, 2.3rem); }
.ml-inquiry-panel__label { color: var(--ml-brass); font-size: .6rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ml-inquiry-panel__piece { display: grid; grid-template-columns: 110px 1fr; gap: 22px; align-items: center; margin-bottom: 30px; }
.ml-inquiry-panel__piece img { width: 110px; height: 130px; object-fit: cover; }
.ml-inquiry-panel__piece h3 { margin: 8px 0 0; font-size: 1.5rem; }
.ml-inquiry-panel .ml-text-link { display: block; margin-top: 24px; }
.ml-contact-details { display: flex; justify-content: center; gap: 35px; margin-top: 34px; }
.ml-contact-details a { font-size: .76rem; font-weight: 700; letter-spacing: .1em; }

/* Responsive */
@media (max-width: 1180px) {
  .ml-header-main {
    gap: 18px;
  }

  .ml-primary-nav ul,
  .ml-primary-nav .menu {
    gap: 5px 11px;
  }

  .ml-primary-nav a {
    font-size: .59rem;
  }

  .ml-header-actions .ml-button {
    display: none;
  }

  .ml-product-grid,
  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ml-style-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ml-style-card:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  :root {
    --ml-page: min(100% - 30px, 1440px);
    --ml-narrow: min(100% - 30px, 840px);
  }

  .ml-editorial-hero { min-height: 680px; }
  .ml-editorial-hero__content > *, .ml-editorial-hero__content--wide > * { max-width: 780px; }
  .ml-editorial-intro__grid, .ml-story-manifesto__grid, .ml-support-editorial, .ml-contact-concierge { grid-template-columns: 1fr; }
  .ml-editorial-number { margin-bottom: 0; }
  .ml-editorial-intro__copy { max-width: 680px; padding-top: 0; }
  .ml-editorial-heading { grid-template-columns: 1fr; }
  .ml-editorial-heading > p { max-width: 620px; }
  .ml-editorial-feature { grid-template-columns: 1fr; }
  .ml-editorial-feature--reverse .ml-editorial-feature__image { order: 1; }
  .ml-editorial-feature--reverse .ml-editorial-feature__copy { order: 2; }
  .ml-editorial-sequence, .ml-catalog-steps { grid-template-columns: 1fr; }
  .ml-editorial-sequence li, .ml-catalog-steps li { display: grid; grid-template-columns: 56px 1fr; min-height: 0; align-items: center; border-right: 0; border-bottom: 1px solid var(--ml-line-light); }
  .ml-editorial-sequence span, .ml-catalog-steps span { margin-bottom: 0; }
  .ml-detail-strip { grid-template-columns: repeat(3, 1fr); }
  .ml-contact-paths, .ml-arrival-grid { grid-template-columns: repeat(2, 1fr); }
  .ml-contact-path:last-child { grid-column: 1 / -1; max-width: calc(50% - 12px); }
  .ml-arrival-card--feature { grid-column: 1 / -1; }

  .ml-header-main {
    min-height: 76px;
    grid-template-columns: auto 1fr auto;
  }

  .ml-menu-toggle {
    display: inline-grid;
    grid-column: 1;
    grid-row: 1;
  }

  .ml-brand {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    width: clamp(200px, 47vw, 250px);
    text-align: center;
  }

  .ml-header-actions {
    grid-column: 3;
    grid-row: 1;
  }

  .ml-primary-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    padding: 0 0 20px;
    background: #251c15;
  }

  .js .ml-primary-nav {
    position: absolute;
    z-index: 49;
    top: 100%;
    left: 0;
    max-height: calc(100vh - 76px);
    padding: 20px 30px 34px;
    box-shadow: var(--ml-shadow);
    opacity: 0;
    overflow-y: auto;
    pointer-events: none;
    transform: translateY(-10px);
    visibility: hidden;
    transition: opacity var(--ml-transition), transform var(--ml-transition);
  }

  .js .ml-primary-nav.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }

  html:not(.js) .ml-menu-toggle {
    display: none;
  }

  .ml-menu-toggle {
    position: relative;
    z-index: 51;
  }

  .ml-primary-nav ul,
  .ml-primary-nav .menu {
    display: block;
  }

  .ml-primary-nav li {
    border-bottom: 1px solid rgba(213, 167, 100, .22);
  }

  .ml-primary-nav a {
    padding: 16px 2px;
    font-family: var(--ml-display);
    font-size: 1.35rem;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
  }

  .ml-primary-nav .sub-menu {
    position: static;
    display: grid;
    width: 100%;
    grid-template-columns: 1fr;
    padding: 0 0 18px 18px;
    border-top: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
  }

  .ml-primary-nav .menu-item-has-children:hover > .sub-menu,
  .ml-primary-nav .menu-item-has-children:focus-within > .sub-menu {
    transform: none;
  }

  .ml-primary-nav .ml-menu-group {
    padding: 10px 0;
  }

  .ml-menu-group__title {
    margin-top: 8px;
    padding-left: 4px;
    font-size: 1rem;
    color: #e6c58f;
  }

  .ml-site-header .ml-primary-nav .sub-menu a,
  .ml-site-header .ml-primary-nav .ml-menu-child-list a {
    color: #eadcc7;
  }

  .ml-primary-nav .ml-menu-group__items,
  .ml-primary-nav .ml-menu-group:nth-child(2) .ml-menu-group__items,
  .ml-primary-nav .ml-menu-group--quick .ml-menu-group__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-left: 0;
  }

  .ml-primary-nav .ml-menu-group--quick {
    grid-column: auto;
  }

  .ml-primary-nav .sub-menu::before {
    display: none;
  }

  .ml-primary-nav .sub-menu li {
    border: 0;
  }

  .ml-primary-nav .sub-menu a {
    padding: 8px 4px;
    font-family: var(--ml-sans);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .ml-definition-grid,
  .ml-option-compare {
    grid-template-columns: 1fr;
  }

  .ml-option-compare article {
    min-height: 0;
  }

  .ml-hero {
    grid-template-columns: 1fr;
  }

  .ml-hero__copy {
    padding: clamp(42px, 7vw, 58px) 20px 58px;
  }

  .ml-hero h1 {
    max-width: 22ch;
    font-size: clamp(2.1rem, 7.5vw, 3.4rem);
  }

  .ml-hero .ml-eyebrow {
    margin-bottom: 11px;
  }

  .ml-hero__visual {
    min-height: 62vw;
  }

  .ml-section-head,
  .ml-client-notes {
    grid-template-columns: 1fr;
  }

  .ml-product-grid,
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ml-section-head__aside {
    justify-self: start;
  }

  .ml-section-head {
    gap: 20px;
    margin-bottom: clamp(34px, 5vw, 48px);
  }

  .ml-section-head h2 {
    max-width: none;
    font-size: clamp(1.8rem, 5vw, 2.45rem);
    white-space: nowrap;
  }

  .ml-room-card,
  .ml-room-card:nth-child(1),
  .ml-room-card:nth-child(5) {
    grid-column: span 6;
  }

  .ml-path-grid {
    grid-template-columns: 1fr;
  }

  .ml-path-card {
    min-height: 260px;
    border: 1px solid rgba(196,170,122,.42);
  }

  .ml-path-card:last-child {
    border: 1px solid rgba(196,170,122,.42);
  }

  .ml-service-strip,
  .ml-editorial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ml-service:nth-child(2) {
    border-right: 0;
  }

  .ml-service:nth-child(-n+2) {
    border-bottom: 1px solid var(--ml-line);
  }

  .ml-trade {
    grid-template-columns: 1fr;
  }

  .ml-trade__visual {
    min-height: 55vw;
  }

  .ml-footer-grid {
    grid-template-columns: 1.2fr 1fr 1fr;
  }

  .ml-footer-intro {
    grid-column: 1 / -1;
  }

  .ml-social-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ml-search-results {
    grid-template-columns: 1fr 1fr;
  }

  .ml-info-grid--three,
  .ml-gallery-grid,
  .ml-material-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ml-audience-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ml-craft-card {
    grid-template-columns: 1fr;
  }

  .ml-craft-card__visual {
    min-height: 240px;
  }
}

@media (max-width: 620px) {
  .ml-editorial-hero { min-height: 640px; background-position: center; }
  .ml-editorial-hero__shade { background: linear-gradient(0deg, rgba(17,14,12,.92) 0%, rgba(17,14,12,.52) 72%, rgba(17,14,12,.2)); }
  .ml-editorial-hero__content { padding-block: 100px 64px; text-align: center; }
  .ml-editorial-hero h1, .ml-editorial-hero__content--wide h1 { font-size: clamp(2.75rem, 13vw, 4.2rem); line-height: .95; }
  .ml-editorial-hero .ml-button-group { justify-content: center; }
  .ml-museum-caption { display: none; }
  .ml-editorial-heading h2, .ml-story-manifesto blockquote, .ml-brief-band blockquote, .ml-story-eye blockquote { font-size: clamp(2rem, 10vw, 3.2rem); }
  .ml-craft-mosaic, .ml-character-grid, .ml-audience-editorial, .ml-styled-collections, .ml-custom-mosaic, .ml-catalog-mosaic, .ml-lookbook-grid { display: grid; grid-template-columns: 1fr; grid-auto-rows: auto; }
  .ml-visual-story-card, .ml-character-card,
  .ml-visual-story-card--1, .ml-visual-story-card--2, .ml-visual-story-card--3, .ml-visual-story-card--4, .ml-visual-story-card--5, .ml-visual-story-card--6,
  .ml-character-card--1, .ml-character-card--2, .ml-character-card--3, .ml-character-card--4, .ml-character-card--5, .ml-character-card--6,
  .ml-audience-panel, .ml-audience-panel:nth-child(1), .ml-audience-panel:nth-child(2), .ml-audience-panel:nth-child(3), .ml-audience-panel:nth-child(4), .ml-audience-panel:nth-child(5),
  .ml-styled-collection, .ml-custom-tile, .ml-catalog-tile, .ml-lookbook-tile { grid-column: 1; grid-row: auto; min-height: 0; margin-top: 0; }
  .ml-visual-story-card__image, .ml-character-card__image, .ml-audience-panel__image { min-height: 340px; }
  .ml-styled-collection, .ml-custom-tile, .ml-catalog-tile, .ml-lookbook-tile { min-height: 390px; }
  .ml-detail-strip { grid-template-columns: 1fr 1fr; }
  .ml-detail-strip a:nth-child(even) { margin-top: 28px; }
  .ml-client-split, .ml-contact-paths, .ml-arrival-grid, .ml-arrival-preview { grid-template-columns: 1fr; }
  .ml-contact-path:last-child { grid-column: 1; max-width: none; }
  .ml-arrival-card--feature { grid-column: 1; grid-row: auto; }
  .ml-arrival-card--feature .ml-arrival-card__image { aspect-ratio: 4 / 5; }
  .ml-arrival-preview { gap: 22px; }
  .ml-arrival-preview--light { gap: 0; }
  .ml-arrival-preview__image { min-height: 390px; }
  .ml-contact-details, .ml-story-eye__links { flex-direction: column; align-items: center; gap: 16px; }
  .ml-social-grid { grid-template-columns: 1fr; }
  .ml-social-card { padding: 20px; }

  .ml-announcement {
    font-size: .58rem;
  }

  .ml-brand__descriptor {
    display: none;
  }

  .ml-brand {
    width: min(55vw, 215px);
  }

  .ml-header-actions {
    gap: 5px;
  }

  .ml-menu-toggle,
  .ml-search-toggle {
    width: 40px;
    height: 40px;
  }

  .ml-hero__visual {
    min-height: 86vw;
  }

  .ml-hero__copy {
    padding: 38px 20px 52px;
  }

  .ml-hero h1 {
    max-width: none;
    margin-bottom: 22px;
    font-size: clamp(1.7rem, 7.5vw, 2.2rem);
    line-height: 1.02;
  }

  .ml-section-head h2 {
    font-size: clamp(1.8rem, 9vw, 2.4rem);
    letter-spacing: -0.05em;
  }

  .ml-section-head--compact h2 {
    font-size: clamp(1.08rem, 5.15vw, 1.5rem);
    letter-spacing: -0.055em;
  }

  .ml-client-notes #client-notes-title {
    font-size: clamp(1.08rem, 5.15vw, 1.5rem);
    letter-spacing: -0.055em;
  }

  .ml-button-group .ml-button {
    width: 100%;
  }

  .ml-product-grid,
  .woocommerce ul.products,
  .ml-style-grid,
  .ml-service-strip,
  .ml-editorial-grid,
  .ml-search-results {
    grid-template-columns: 1fr;
  }

  .ml-room-card,
  .ml-room-card:nth-child(1),
  .ml-room-card:nth-child(5) {
    min-height: 310px;
    grid-column: 1 / -1;
  }

  .ml-service {
    border-right: 0;
    border-bottom: 1px solid var(--ml-line);
  }

  .ml-service:last-child {
    border-bottom: 0;
  }

  .ml-style-card:first-child {
    grid-column: auto;
  }

  .ml-style-card {
    min-height: 370px;
  }

  .ml-footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ml-footer-intro {
    grid-column: 1 / -1;
  }

  .ml-footer-bottom {
    flex-direction: column;
  }

  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    width: 100%;
    float: none;
  }

  /* Keep product videos inside the mobile content column. WordPress oEmbed
     supplies a fixed iframe width, so the theme must make it responsive. */
  .woocommerce-product-details__short-description iframe,
  .woocommerce-Tabs-panel iframe {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .ml-selected-piece {
    grid-template-columns: 1fr;
  }

  .ml-selected-piece__media {
    max-width: 380px;
  }

  .ml-primary-nav .sub-menu,
  .ml-info-grid--three,
  .ml-gallery-grid,
  .ml-material-grid,
  .ml-craft-grid,
  .ml-audience-row,
  .ml-intro-split,
  .ml-story-grid,
  .ml-completed-piece {
    grid-template-columns: 1fr;
  }

  .ml-process-list li {
    grid-template-columns: 46px 1fr;
    gap: 14px;
  }

  .ml-process-list p {
    grid-column: 2;
  }

  .ml-cta-band__inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .ml-audience-row span {
    min-height: 95px;
  }

  .ml-completed-piece__visual {
    min-height: 340px;
  }
}

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

@media print {
  .ml-announcement,
  .ml-site-header,
  .ml-site-footer,
  .ml-button,
  .ml-product-inquiry {
    display: none !important;
  }

  body {
    background: white;
    color: black;
  }
}
