:root {
  --mg-ivory: #faf7f2;
  --mg-surface: #ffffff;
  --mg-warm: #f4ede3;
  --mg-taupe: #a48976;
  --mg-taupe-soft: #b69e8c;
  --mg-taupe-dark: #665044;
  --mg-espresso: #30251f;
  --mg-muted: #665044;
  --mg-bronze: #84684f;
  --mg-border: #d8ccc1;
  --mg-border-light: #e9e0d7;
  --mg-shell: min(1240px, calc(100% - 64px));
  --mg-serif: "Cormorant Garamond", Georgia, serif;
  --mg-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mg-ease: cubic-bezier(.22, .61, .36, 1);
}

html { scroll-behavior: smooth; }
body.mg-site {
  background: var(--mg-ivory);
  color: var(--mg-espresso);
  font-family: var(--mg-sans);
  font-size: 15px;
  line-height: 1.65;
  /* clip does not create a body scroll container, so the masthead can stick. */
  overflow-x: clip;
}
body.mg-site a { color: inherit; }
body.mg-site a:hover { color: var(--mg-bronze); }
body.mg-site button,
body.mg-site input,
body.mg-site select,
body.mg-site textarea { font-family: inherit; }
body.mg-site *,
body.mg-site *::before,
body.mg-site *::after { box-sizing: border-box; }
body.mg-site input,
body.mg-site select,
body.mg-site textarea { max-width: 100%; min-width: 0; }
body.mg-site h1,
body.mg-site h2,
body.mg-site h3,
body.mg-site h4 { color: var(--mg-espresso); font-family: var(--mg-serif); font-weight: 500; line-height: 1.02; letter-spacing: -.025em; }
body.mg-site h1 { font-size: clamp(3.5rem, 7vw, 7.4rem); }
body.mg-site h2 { font-size: clamp(2.4rem, 4vw, 4.3rem); }
body.mg-site h3 { font-size: clamp(1.75rem, 2.5vw, 2.6rem); }
body.mg-site p { margin: 0 0 1rem; }
body.mg-site img { max-width: 100%; }
body.mg-site [hidden] { display: none !important; }
.mg-shell { width: var(--mg-shell); margin-inline: auto; }
.mg-main { min-height: 45vh; }
.mg-home { background: var(--mg-home-background, var(--mg-background-base, var(--mg-ivory))); }
.mg-home > .mg-home-section--decorative {
  background: var(--mg-section-background, var(--mg-section-base, transparent));
}
.mg-home > .mg-home-section--decorative.mg-shell {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: none;
  width: 100vw;
}
.mg-home > .mg-home-section--decorative.mg-shell > * {
  margin-left: auto;
  margin-right: auto;
  width: var(--mg-shell);
}
.screen-reader-text,
.mg-site .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; }
.mg-eyebrow,
.mg-kicker { color: var(--mg-bronze); font-size: .68rem; font-weight: 600; letter-spacing: .19em; line-height: 1.4; text-transform: uppercase; }
.mg-kicker { margin-bottom: 1rem; }
.mg-section { padding-block: clamp(5rem, 10vw, 9.5rem); }
.mg-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.6rem; }
.mg-section-heading h2 { margin: 0; }
.mg-section-heading p { max-width: 29rem; color: var(--mg-muted); margin: 0; }
.mg-text-link,
.mg-footer-social { display: inline-flex; align-items: center; gap: .75rem; border-bottom: 1px solid currentColor; color: var(--mg-espresso); font-size: .76rem; font-weight: 600; letter-spacing: .08em; padding-bottom: .35rem; text-decoration: none; text-transform: uppercase; }
.mg-text-link .mg-icon,
.mg-footer-social .mg-icon { height: 1rem; width: 1rem; transition: transform .3s var(--mg-ease); }
.mg-text-link:hover .mg-icon,
.mg-footer-social:hover .mg-icon { transform: translateX(4px); }
.mg-button,
.mg-site a.button,
.mg-site button.button,
.mg-site .woocommerce a.button,
.mg-site .woocommerce button.button,
.mg-site input.button,
.mg-site #respond input#submit { align-items: center; background: var(--mg-espresso); border: 1px solid var(--mg-espresso); border-radius: 0; color: #fff; display: inline-flex; font-size: .72rem; font-weight: 600; gap: .75rem; justify-content: center; letter-spacing: .12em; min-height: 48px; padding: .85rem 1.5rem; text-transform: uppercase; transition: background .25s var(--mg-ease), border-color .25s var(--mg-ease), color .25s var(--mg-ease); }
.mg-button:hover,
.mg-site a.button:hover,
.mg-site button.button:hover,
.mg-site .woocommerce a.button:hover,
.mg-site .woocommerce button.button:hover,
.mg-site input.button:hover { background: var(--mg-taupe-dark); border-color: var(--mg-taupe-dark); color: #fff; }
.mg-button--light { background: var(--mg-ivory); border-color: var(--mg-ivory); color: var(--mg-espresso); }
.mg-button--light:hover { background: transparent; border-color: var(--mg-ivory); color: var(--mg-ivory); }
.mg-button--outline { background: transparent; border-color: var(--mg-espresso); color: var(--mg-espresso); }
.mg-button--outline:hover { background: var(--mg-espresso); color: #fff; }
.mg-icon { display: inline-block; height: 1.25rem; width: 1.25rem; }

/* Keep CTA text visible when the site-wide inherited link colour is active. */
body.mg-site .mg-button,
body.mg-site a.mg-button,
body.mg-site a.button,
body.mg-site .woocommerce a.button,
body.mg-site .woocommerce button.button,
body.mg-site input.button,
body.mg-site #respond input#submit { color: #fff; text-decoration: none; }
body.mg-site .mg-button--light,
body.mg-site a.mg-button--light,
body.mg-site .mg-button--outline,
body.mg-site a.mg-button--outline { color: var(--mg-espresso); }
body.mg-site .mg-button--light:hover,
body.mg-site a.mg-button--light:hover,
body.mg-site .mg-button--outline:hover,
body.mg-site a.mg-button--outline:hover { color: #fff; }

/* Header, utility panels and navigation. */
.mg-preview-bar { align-items: center; background: var(--mg-taupe-dark); color: #fffaf4; display: flex; font-size: .65rem; gap: .65rem; justify-content: center; letter-spacing: .11em; min-height: 30px; padding: .35rem 1rem; text-transform: uppercase; }
.mg-site-header { background: rgba(250,247,242,.96); border-bottom: 1px solid var(--mg-border-light); position: sticky; top: var(--mg-header-top, 0px); z-index: 40; }
.mg-header-inner { align-items: center; display: grid; grid-template-columns: 1fr auto 1fr; min-height: 92px; }
.mg-brand { background: var(--mg-taupe); display: block; justify-self: start; line-height: 0; padding: 3px 7px; width: 126px; }
.mg-brand img { display: block; height: auto; width: 100%; }
.mg-primary-nav { justify-self: center; }
.mg-menu-list { align-items: center; display: flex; gap: clamp(1.3rem, 2.5vw, 2.6rem); list-style: none; margin: 0; padding: 0; }
.mg-menu-list li { margin: 0; padding: 0; }
.mg-menu-list a { color: var(--mg-espresso); font-size: .69rem; font-weight: 600; letter-spacing: .1em; position: relative; text-decoration: none; text-transform: uppercase; }
.mg-primary-nav .mg-menu-list a::after { background: var(--mg-bronze); bottom: -.55rem; content: ""; height: 1px; left: 0; position: absolute; transform: scaleX(0); transform-origin: right; transition: transform .3s var(--mg-ease); width: 100%; }
.mg-primary-nav .mg-menu-list a:hover::after,
.mg-primary-nav .current-menu-item a::after { transform: scaleX(1); transform-origin: left; }
.mg-header-actions { align-items: center; display: flex; gap: .25rem; justify-self: end; }
.mg-header-control,
.mg-icon-button { align-items: center; background: transparent; border: 0; box-shadow: none; color: var(--mg-espresso); cursor: pointer; display: inline-flex; justify-content: center; min-height: 44px; min-width: 44px; padding: .55rem; position: relative; transition: color 200ms ease; }
.mg-header-control:hover,
.mg-icon-button:hover { color: var(--mg-taupe); }
.mg-header-control:focus,
.mg-icon-button:focus { outline: none; box-shadow: none; background: transparent; }
.mg-header-control:focus-visible,
.mg-icon-button:focus-visible { outline: 2px solid var(--mg-taupe-dark); outline-offset: 3px; }
.mg-header-control:active,
.mg-header-control[aria-expanded="true"],
.mg-icon-button:active { color: var(--mg-espresso); background: transparent; }
.mg-site-header .mg-brand:focus:not(:focus-visible),
.mg-site-header .mg-primary-nav .mg-menu-list a:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}
button.mg-header-control.mg-menu-trigger,
.mg-header-control.mg-menu-trigger { align-items: center; appearance: none; background: transparent; background-image: none; border: 0; box-shadow: none; color: var(--mg-espresso); cursor: pointer; justify-content: center; min-height: 44px; min-width: 44px; padding: .55rem; position: relative; transition: color 200ms ease; }
button.mg-header-control.mg-menu-trigger:hover,
.mg-header-control.mg-menu-trigger:hover { color: var(--mg-taupe); }
button.mg-header-control.mg-menu-trigger:focus,
.mg-header-control.mg-menu-trigger:focus { outline: none; box-shadow: none; background: transparent; background-image: none; }
button.mg-header-control.mg-menu-trigger:focus-visible,
.mg-header-control.mg-menu-trigger:focus-visible { outline: 2px solid var(--mg-taupe-dark); outline-offset: 3px; }
button.mg-header-control.mg-menu-trigger:active,
.mg-header-control.mg-menu-trigger[aria-expanded="true"],
.mg-header-control.mg-menu-trigger:active { color: var(--mg-espresso); background: transparent; background-image: none; }
.mg-header-control .mg-icon { height: 1.15rem; width: 1.15rem; }
.mg-bag-count { align-items: center; background: var(--mg-taupe); border-radius: 50%; color: #fff; display: flex; font-size: .58rem; font-weight: 600; height: 17px; justify-content: center; line-height: 1; position: absolute; right: 3px; top: 4px; width: 17px; }
.mg-menu-trigger { display: none; }
.mg-overlay { background: rgba(48,37,31,var(--mg-overlay-opacity,.35)); cursor: pointer; inset: 0; position: fixed; z-index: 50; }
.mg-drawer,
.mg-search-panel { background: var(--mg-ivory); box-shadow: 0 20px 60px rgba(48,37,31,.16); min-width: 0; overscroll-behavior: contain; position: fixed; z-index: 60; }
.mg-mobile-drawer { bottom: 0; left: 0; max-width: 440px; overflow-y: auto; padding: 2rem clamp(1.5rem, 5vw, 3rem); top: 0; transform: translateX(-100%); transition: transform .42s var(--mg-ease); width: min(88vw, 440px); }
.mg-mobile-drawer.is-open { transform: translateX(0); }
.mg-drawer-header,
.mg-search-heading { align-items: start; display: flex; justify-content: space-between; }
.mg-drawer-header .mg-eyebrow,
.mg-search-heading .mg-eyebrow { margin: .9rem 0 0; }
.mg-drawer-nav { margin-top: 2.5rem; }
.mg-drawer-nav .mg-menu-list { align-items: start; flex-direction: column; gap: 1.3rem; }
.mg-drawer-nav .mg-menu-list a { font-family: var(--mg-serif); font-size: 2.35rem; font-weight: 500; letter-spacing: -.015em; text-transform: none; }
.mg-drawer-secondary { border-top: 1px solid var(--mg-border); display: flex; flex-direction: column; gap: .75rem; margin-top: 3rem; padding-top: 1.5rem; }
.mg-drawer-secondary a { align-items: center; display: inline-flex; font-size: .72rem; font-weight: 600; gap: .7rem; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.mg-drawer-secondary .mg-icon { height: 1rem; width: 1rem; }
.mg-drawer-note { color: var(--mg-muted); font-family: var(--mg-serif); font-size: 1.2rem; line-height: 1.2; margin-top: 3rem; max-width: 15rem; }
.mg-search-panel { inset: 0 0 auto; max-height: min(100vh, 520px); overflow-y: auto; padding-block: 2.2rem 3.5rem; transform: translateY(-110%); transition: transform .42s var(--mg-ease); }
.mg-search-panel.is-open { transform: translateY(0); }
.mg-search-inner { max-width: 1040px; }
.mg-search-form { align-items: center; border-bottom: 1px solid var(--mg-espresso); display: flex; gap: 1rem; margin-top: 2.8rem; min-width: 0; width: 100%; }
.mg-search-form input { background: transparent; border: 0; color: var(--mg-espresso); flex: 1 1 auto; font-family: var(--mg-serif); font-size: clamp(2rem, 4vw, 3.6rem); min-height: 64px; min-width: 0; outline: 0; padding: 0; width: 100%; }
.mg-search-form input::placeholder { color: var(--mg-taupe-soft); }
.mg-search-submit { align-items: center; background: transparent; border: 0; color: var(--mg-espresso); display: inline-flex; flex: 0 0 auto; gap: .6rem; min-height: 48px; min-width: 44px; padding: .5rem 0; text-transform: uppercase; }
.mg-search-submit span { font-size: .68rem; font-weight: 600; letter-spacing: .1em; }

/* Editorial home and page building blocks. */
.mg-hero { background: var(--mg-warm); display: grid; grid-template-columns: minmax(360px, .72fr) minmax(0, 1.28fr); min-height: min(730px, calc(100vh - 122px)); }
.mg-hero__copy { align-items: flex-start; display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(3.5rem, 8vw, 8.5rem) clamp(2rem, 7vw, 8rem); }
.mg-hero__copy h1 { margin: .8rem 0 1.5rem; max-width: 7.5ch; }
.mg-hero__copy p { color: var(--mg-muted); font-family: var(--mg-serif); font-size: clamp(1.2rem, 2vw, 1.6rem); line-height: 1.25; margin-bottom: 2.2rem; max-width: 21rem; }
.mg-hero__media { min-height: 620px; overflow: hidden; position: relative; }
.mg-hero__media img { height: 100%; object-fit: cover; object-position: center; width: 100%; }
.mg-hero__media::after { border: 1px solid rgba(255,255,255,.42); content: ""; inset: 18px; pointer-events: none; position: absolute; }
.mg-home-about { background: var(--mg-ivory); width: 100%; max-width: none; height: auto; min-height: 0; padding-top: var(--mg-about-desktop-padding-top, 16px); padding-bottom: var(--mg-about-desktop-padding-bottom, 16px); padding-inline: clamp(16px, 2vw, 32px); }
.mg-home-about[data-mg-about-height-mode="custom"] { height: var(--mg-about-desktop-height, 540px); min-height: var(--mg-about-desktop-safe-height, 390px); }
.mg-home-about .mg-home-about__inner { width: 100%; max-width: none; margin-inline: auto; }
.mg-home-about .mg-home-about__seal { width: var(--mg-about-desktop-seal-size, clamp(72px, 6vw, 88px)); max-width: 100%; margin: 0 auto var(--mg-about-seal-spacing, 12px); }
.mg-home-about .mg-home-about__seal img { display: block; width: 100%; height: auto; max-width: 100%; margin-inline: auto; }
.mg-home-about .mg-home-about__grid { display: grid; grid-template-columns: minmax(0, var(--mg-about-desktop-image-width, 47fr)) minmax(0, var(--mg-about-desktop-copy-width, 53fr)); align-items: center; min-width: 0; gap: var(--mg-about-desktop-gap, 36px); }
/* Keep intrinsic image dimensions out of the ratio-defined grid frame. */
.mg-home-about .mg-home-about__media { aspect-ratio: var(--mg-about-image-ratio, 3 / 2); height: var(--mg-about-desktop-frame-height, auto); align-self: center; width: 100%; min-width: 0; min-height: 0; overflow: hidden; position: relative; background: var(--mg-warm); }
.mg-home-about .mg-home-about__media img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--mg-about-image-position, center center); }
.mg-home-about .mg-home-about__copy { width: 100%; max-width: none; min-width: 0; overflow-wrap: anywhere; font-family: var(--mg-sans); }
.mg-home-about .mg-home-about__copy h2 { margin: 0 0 .9rem; font-family: var(--mg-serif); font-size: clamp(2.25rem, 3.6vw, 3.5rem); line-height: 1.06; text-wrap: balance; }
.mg-home-about .mg-home-about__copy p { color: var(--mg-muted); line-height: 1.7; margin-bottom: .75rem; text-wrap: pretty; }
.mg-home-about .mg-home-about__copy p:last-of-type { margin-bottom: 0; }
.mg-home-about .mg-home-about__copy .mg-home-about__eyebrow { color: var(--mg-bronze); font-size: .68rem; font-weight: 600; letter-spacing: .19em; line-height: 1.4; margin-bottom: .65rem; text-transform: uppercase; }
.mg-home-about .mg-home-about__cta { display: inline-flex; align-items: center; min-height: 44px; margin-top: .5rem; border-bottom: 1px solid currentColor; font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-decoration: none; }
.mg-home-about .mg-home-about__cta:focus-visible { outline: 2px solid var(--mg-bronze); outline-offset: 5px; }
.mg-home-about[data-mg-about-height-mode="custom"] .mg-home-about__inner { display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100%; min-height: 0; }
.mg-home-about[data-mg-about-height-mode="custom"] .mg-home-about__grid { height: 100%; min-height: 0; }
.mg-home-about[data-mg-about-height-mode="custom"] .mg-home-about__media { aspect-ratio: auto; height: min(100%, var(--mg-about-desktop-frame-fill-height, 100%)); }
@media (min-width: 721px) and (max-width: 1024px) {
  .mg-home-about { padding-top: var(--mg-about-tablet-padding-top, 16px); padding-bottom: var(--mg-about-tablet-padding-bottom, 16px); }
  .mg-home-about[data-mg-about-height-mode="custom"] { height: var(--mg-about-tablet-height, 500px); min-height: var(--mg-about-tablet-safe-height, 390px); }
  .mg-home-about .mg-home-about__seal { width: var(--mg-about-tablet-seal-size, clamp(72px, 6vw, 88px)); }
  .mg-home-about .mg-home-about__grid { grid-template-columns: minmax(0, var(--mg-about-tablet-image-width, 47fr)) minmax(0, var(--mg-about-tablet-copy-width, 53fr)); gap: var(--mg-about-tablet-gap, 26px); }
  .mg-home-about .mg-home-about__media { height: var(--mg-about-tablet-frame-height, auto); }
  .mg-home-about[data-mg-about-height-mode="custom"] .mg-home-about__media { height: min(100%, var(--mg-about-tablet-frame-fill-height, 100%)); }
}
@media (max-width: 720px) {
  .mg-home-about { padding-top: var(--mg-about-mobile-padding-top, 32px); padding-bottom: var(--mg-about-mobile-padding-bottom, 32px); }
  .mg-home-about[data-mg-about-height-mode="custom"] { height: var(--mg-about-mobile-height, 850px); min-height: var(--mg-about-mobile-safe-height, 650px); }
  .mg-home-about .mg-home-about__seal { width: var(--mg-about-mobile-seal-size, clamp(72px, 6vw, 88px)); }
  .mg-home-about .mg-home-about__grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .mg-home-about .mg-home-about__media { aspect-ratio: 1 / 1; height: var(--mg-about-mobile-frame-height, auto); }
  .mg-home-about .mg-home-about__copy { max-width: 32rem; margin-inline: auto; }
  .mg-home-about[data-mg-about-height-mode="custom"] .mg-home-about__grid { grid-template-rows: minmax(0, 1fr) auto; }
  .mg-home-about[data-mg-about-height-mode="custom"] .mg-home-about__media { height: min(100%, var(--mg-about-mobile-frame-fill-height, 100%)); }
}
@media (max-width: 560px) {
  .mg-home-about .mg-home-about__media { aspect-ratio: 4 / 5; }
}
/* Keep the familiar mobile crop by default, but let explicit ratio choices preview there too. */
.mg-home-about[data-mg-about-ratio="selected"] .mg-home-about__media { aspect-ratio: var(--mg-about-image-ratio, 3 / 2); }
/* Original ratio needs an in-flow image; manual frame heights do not apply. */
.mg-home-about[data-mg-about-ratio="auto"] .mg-home-about__media { aspect-ratio: auto; height: auto; }
.mg-home-about[data-mg-about-ratio="auto"] .mg-home-about__media img { position: static; inset: auto; height: auto; }
.mg-home-about[data-mg-about-height-mode="custom"][data-mg-about-ratio="auto"] .mg-home-about__media { height: min(100%, var(--mg-about-desktop-frame-fill-height, 100%)); }
.mg-home-about[data-mg-about-height-mode="custom"][data-mg-about-ratio="auto"] .mg-home-about__media img { position: absolute; inset: 0; height: 100%; }
@media (min-width: 721px) and (max-width: 1024px) {
  .mg-home-about[data-mg-about-height-mode="custom"][data-mg-about-ratio="auto"] .mg-home-about__media { height: min(100%, var(--mg-about-tablet-frame-fill-height, 100%)); }
}
@media (max-width: 720px) {
  .mg-home-about[data-mg-about-height-mode="custom"][data-mg-about-ratio="auto"] .mg-home-about__media { height: min(100%, var(--mg-about-mobile-frame-fill-height, 100%)); }
}

.mg-home-intro { background: var(--mg-ivory); max-width: 880px; padding-block: clamp(5rem, 10vw, 9.5rem); text-align: center; }
.mg-home-intro h2 { margin: 1rem auto 1.3rem; max-width: 13ch; }
.mg-home-intro p { color: var(--mg-muted); font-family: var(--mg-serif); font-size: clamp(1.3rem, 2.2vw, 1.8rem); line-height: 1.25; margin-inline: auto; max-width: 30rem; }
.mg-category-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mg-category-card { display: block; overflow: hidden; position: relative; text-decoration: none; }
.mg-category-card::after { background: linear-gradient(180deg, transparent 46%, rgba(48,37,31,.55)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.mg-category-card__media { aspect-ratio: 4/5; background: var(--mg-warm); overflow: hidden; }
.mg-category-card__media img { height: 100%; object-fit: cover; transition: transform .7s var(--mg-ease); width: 100%; }
.mg-category-card:hover .mg-category-card__media img { transform: scale(1.035); }
.mg-category-card__copy { bottom: 2rem; color: #fff; left: 2rem; position: absolute; z-index: 1; }
.mg-category-card__copy h3 { color: #fff; font-size: clamp(2rem, 3vw, 3.2rem); margin: 0 0 .15rem; }
.mg-category-card__copy span { font-size: .68rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.mg-editorial-split { align-items: stretch; background: var(--mg-taupe-dark); color: #fff; display: grid; grid-template-columns: 1.1fr .9fr; }
.mg-editorial-split__media { min-height: 520px; overflow: hidden; }
.mg-editorial-split__media img { height: 100%; object-fit: cover; width: 100%; }
.mg-editorial-split__copy { align-items: flex-start; display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 7vw, 7rem); }
.mg-editorial-split__copy h2 { color: #fff; margin: .75rem 0 1.25rem; max-width: 9ch; }
.mg-editorial-split__copy p { color: rgba(255,250,244,.72); font-family: var(--mg-serif); font-size: 1.35rem; line-height: 1.25; max-width: 20rem; }
.mg-editorial-split__copy .mg-kicker { color: #e4cdb9; }
.mg-collections-banner { background: var(--mg-collections-base, var(--mg-taupe-dark)); height: var(--mg-collections-desktop-height, 800px); min-height: 700px; overflow: hidden; position: relative; width: 100%; }
.mg-collections-banner__media,
.mg-collections-banner__media picture,
.mg-collections-banner__media img { height: 100%; inset: 0; width: 100%; }
.mg-collections-banner__media { position: absolute; }
.mg-collections-banner__media picture { display: block; position: absolute; }
.mg-collections-banner__media img { display: block; object-fit: cover; object-position: var(--mg-collections-image-position, center center); }
.mg-material-note {
  background: var(--mg-material-note-background, var(--mg-material-note-base, var(--mg-taupe-dark)));
  height: auto;
  max-width: none;
  padding-block: clamp(5rem, 10vw, 9.5rem);
  width: 100%;
}
.mg-home > .mg-material-note.mg-home-section--decorative { background: var(--mg-material-note-background, var(--mg-material-note-base, var(--mg-taupe-dark))) !important; position: relative; z-index: 3; }
.mg-material-note[data-mg-material-note-height-mode="custom"] {
  --mg-material-note-active-height: var(--mg-material-note-desktop-height, 800px);
  height: var(--mg-material-note-active-height);
  min-height: var(--mg-material-note-safe-height, 480px);
  padding-block: clamp(1.25rem, calc(var(--mg-material-note-active-height) * .06), 4rem);
}
.mg-material-note__inner { margin-inline: auto; min-width: 0; width: var(--mg-shell); }
.mg-material-note .mg-section-heading { margin-bottom: 2.6rem; }
.mg-material-note[data-mg-material-note-height-mode="custom"] .mg-material-note__inner {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  min-height: 0;
}
.mg-material-note[data-mg-material-note-height-mode="custom"] .mg-section-heading {
  margin-bottom: clamp(.75rem, calc(var(--mg-material-note-active-height) * .03), 2.6rem);
}
.mg-material-note__scroller {
  align-items: stretch;
  display: flex;
  gap: 1px;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  scroll-behavior: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
}
.mg-material-note[data-mg-material-note-height-mode="custom"] .mg-material-note__scroller {
  height: 100%;
  min-height: 0;
}
.mg-material-note[data-mg-material-note-count="1"] .mg-material-note__scroller { overflow-x: hidden; }
.mg-material-note__scroller::-webkit-scrollbar { display: none; height: 0; width: 0; }
.mg-material-note__scroller:focus-visible { outline: 2px solid #fff; outline-offset: -6px; }
.mg-material-note__panel {
  background: var(--mg-warm);
  display: flex;
  flex: 0 0 calc((100% - 3px) / 4);
  flex-direction: column;
  min-width: 0;
  position: relative;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.mg-material-note[data-mg-material-note-height-mode="custom"] .mg-material-note__panel { height: 100%; }
.mg-material-note__media { aspect-ratio: 4 / 3; background: var(--mg-material-note-background, var(--mg-warm)); overflow: hidden; position: relative; }
.mg-material-note[data-mg-material-note-height-mode="custom"] .mg-material-note__media {
  aspect-ratio: auto;
  flex: 1 1 0;
  min-height: clamp(120px, calc(var(--mg-material-note-active-height) * .22), 180px);
}
.mg-material-note__media::after { background: var(--mg-material-note-overlay-color, #30251f); content: ""; inset: 0; opacity: var(--mg-material-note-overlay-opacity, 0); pointer-events: none; position: absolute; }
.mg-material-note__media picture,
.mg-material-note__media img { display: block; height: 100%; inset: 0; width: 100%; }
.mg-material-note__media picture { position: absolute; }
.mg-material-note__media img { object-fit: cover; object-position: var(--mg-material-note-desktop-position, center center); }
.mg-material-note__copy { min-height: 190px; padding: 1.5rem; position: relative; }
.mg-material-note__copy h3 { font-size: 1.7rem; margin: 2.7rem 0 .25rem; }
.mg-material-note[data-mg-material-note-height-mode="custom"] .mg-material-note__copy {
  flex: 0 0 auto;
  min-height: 0;
  padding: clamp(.65rem, calc(var(--mg-material-note-active-height) * .018), 1.25rem);
}
.mg-material-note[data-mg-material-note-height-mode="custom"] .mg-material-note__copy h3 {
  margin-top: clamp(1.35rem, calc(var(--mg-material-note-active-height) * .03), 2rem);
}
.mg-material-note__copy p { color: var(--mg-muted); font-size: .76rem; margin: 0; }
.mg-material-note__copy .mg-icon { position: absolute; right: 1.3rem; top: 1.3rem; }
.mg-material-note__panel:nth-child(even) { background: var(--mg-border-light); }
.mg-story { align-items: center; display: grid; gap: clamp(3rem, 8vw, 9rem); grid-template-columns: .85fr 1.15fr; }
.mg-story__media { aspect-ratio: 4/5; overflow: hidden; }
.mg-story__media img { height: 100%; object-fit: cover; width: 100%; }
.mg-story__copy h2 { margin: .7rem 0 1.4rem; max-width: 10ch; }
.mg-story__copy p { color: var(--mg-muted); font-family: var(--mg-serif); font-size: 1.45rem; line-height: 1.25; max-width: 31rem; }
.mg-story__copy .mg-body-copy { color: var(--mg-muted); font-family: var(--mg-sans); font-size: .95rem; line-height: 1.75; margin-top: 1.5rem; }
/* Homepage Point of View: size the frame independently from the section and
 * allocate image width from the space remaining after the column gap. */
.mg-home > .mg-story {
  background: var(--mg-pov-background, transparent);
  /* Paint the section full-bleed; keep its grid content inside the shell. */
  margin-inline: 0;
  padding-inline: calc((100% - var(--mg-shell)) / 2);
  width: 100%;
  gap: var(--mg-pov-desktop-gap, clamp(3rem, 8vw, 9rem));
  grid-template-columns: minmax(0, calc((100% - var(--mg-pov-desktop-gap, clamp(3rem, 8vw, 9rem))) * var(--mg-pov-desktop-image-width, 42.5) / 100)) minmax(0, 1fr);
  height: auto;
  min-height: 0;
  padding-top: var(--mg-pov-desktop-padding-top, clamp(5rem, 10vw, 9.5rem));
  padding-bottom: var(--mg-pov-desktop-padding-bottom, clamp(5rem, 10vw, 9.5rem));
}
.mg-home > .mg-story[data-mg-pov-height-mode="custom"] {
  height: var(--mg-pov-desktop-section-height, 750px);
  min-height: max-content;
}
@media (min-width: 1025px) {
  .mg-home > .mg-story[data-mg-pov-height-mode="custom"] {
    min-height: var(--mg-pov-desktop-safe-height, max-content);
  }
}
.mg-home > .mg-story .mg-story__media {
  aspect-ratio: 4 / 5;
  height: var(--mg-pov-desktop-image-height, auto);
  min-height: 0;
  min-width: 0;
  position: relative;
  width: 100%;
}
.mg-home > .mg-story .mg-story__media img {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: var(--mg-pov-desktop-image-position, center center);
  position: absolute;
  width: 100%;
}
.mg-home > .mg-story .mg-story__copy { min-width: 0; overflow-wrap: anywhere; }
.mg-home > .mg-story .mg-story__copy .mg-kicker {
  color: var(--mg-pov-eyebrow-color, var(--mg-bronze));
  font-family: var(--mg-sans);
  font-size: .68rem;
  line-height: 1.4;
}
body.mg-site .mg-home > .mg-story .mg-story__copy h2 { color: var(--mg-pov-heading-color, var(--mg-espresso)); }
.mg-home > .mg-story .mg-story__copy p:not(.mg-kicker),
.mg-home > .mg-story .mg-story__copy .mg-body-copy { color: var(--mg-pov-text-color, var(--mg-muted)); }

/* Homepage content-width pass: keep the established About section and the
 * full-bleed campaign artwork untouched, while giving the other content
 * sections a consistent viewport gutter. */
.mg-home > .mg-home-products,
.mg-home > .mg-material-note,
.mg-home > .mg-story { --mg-shell: calc(100% - 60px); }

/* The hero is full-bleed artwork; only its copy uses the homepage gutter. */
.mg-home .mg-hero__slide .mg-hero__copy { padding-inline: 30px; }

@media (min-width: 561px) and (max-width: 1024px) {
  .mg-home > .mg-story {
    gap: var(--mg-pov-tablet-gap, 3rem);
    grid-template-columns: minmax(0, calc((100% - var(--mg-pov-tablet-gap, 3rem)) * var(--mg-pov-tablet-image-width, 50) / 100)) minmax(0, 1fr);
    padding-top: var(--mg-pov-tablet-padding-top, clamp(5rem, 10vw, 9.5rem));
    padding-bottom: var(--mg-pov-tablet-padding-bottom, clamp(5rem, 10vw, 9.5rem));
  }
  .mg-home > .mg-story[data-mg-pov-height-mode="custom"] { height: var(--mg-pov-tablet-section-height, 750px); }
  /* WordPress's Desktop preview can be 821–1024px wide after its sidebar
   * takes space. Only its desktop height control should win in that case. */
  .mg-home > .mg-story[data-mg-pov-height-mode="custom"][data-mg-pov-preview-device="desktop"] {
    height: var(--mg-pov-desktop-section-height, 750px);
    min-height: var(--mg-pov-desktop-safe-height, max-content);
  }
  .mg-home > .mg-story .mg-story__media { height: var(--mg-pov-tablet-image-height, auto); }
  .mg-home > .mg-story .mg-story__media img { object-position: var(--mg-pov-tablet-image-position, center center); }
}

@media (max-width: 560px) {
  .mg-home > .mg-story {
    gap: var(--mg-pov-mobile-gap, 3rem);
    grid-template-columns: minmax(0, 1fr);
    padding-top: var(--mg-pov-mobile-padding-top, 4rem);
    padding-bottom: var(--mg-pov-mobile-padding-bottom, 4rem);
  }
  .mg-home > .mg-story[data-mg-pov-height-mode="custom"] { height: var(--mg-pov-mobile-section-height, 750px); }
  .mg-home > .mg-story .mg-story__media {
    height: var(--mg-pov-mobile-image-height, auto);
    max-width: 100%;
    width: min(100%, calc(var(--mg-pov-mobile-image-width, 86) * 1%));
  }
  .mg-home > .mg-story .mg-story__media img { object-position: var(--mg-pov-mobile-image-position, center center); }
}

.mg-landing-main { padding-block: clamp(4rem, 8vw, 7rem) clamp(5rem, 10vw, 9rem); }
.mg-landing-hero { align-items: stretch; background: var(--mg-warm); display: grid; grid-template-columns: .9fr 1.1fr; min-height: min(640px, 70vh); }
.mg-landing-hero__copy { align-items: flex-start; display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 7vw, 7rem); }
.mg-landing-hero__copy h1 { margin: .7rem 0 1.2rem; max-width: 9ch; }
.mg-landing-hero__copy p:not(.mg-kicker) { color: var(--mg-muted); font-family: var(--mg-serif); font-size: 1.35rem; line-height: 1.25; max-width: 24rem; }
.mg-landing-hero__media { min-height: 520px; overflow: hidden; }
.mg-landing-hero__media img { height: 100%; object-fit: cover; width: 100%; }
.mg-landing-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); }
.mg-landing-card { background: var(--mg-warm); display: block; text-decoration: none; }
.mg-landing-card__media { aspect-ratio: 4/5; overflow: hidden; }
.mg-landing-card__media img { height: 100%; object-fit: cover; transition: transform .65s var(--mg-ease); width: 100%; }
.mg-landing-card:hover .mg-landing-card__media img { transform: scale(1.025); }
.mg-landing-card__copy { padding: 1.3rem 1.5rem 1.6rem; }
.mg-landing-card__copy h3 { margin: .45rem 0 .8rem; }
.mg-landing-card__copy > span:last-child { align-items: center; display: inline-flex; font-size: .68rem; font-weight: 600; gap: .6rem; letter-spacing: .08em; text-transform: uppercase; }
.mg-landing-card__copy .mg-icon { height: .95rem; width: .95rem; }
.mg-about-copy { max-width: 790px; }
.mg-about-copy h2 { margin: .6rem 0 1.4rem; }
.mg-about-copy .mg-lede { color: var(--mg-muted); font-family: var(--mg-serif); font-size: clamp(1.4rem, 2.3vw, 1.9rem); line-height: 1.25; max-width: 40rem; }
.mg-fabric-grid { display: grid; gap: 1px; grid-template-columns: repeat(4, 1fr); }
.mg-fabric-card { background: var(--mg-warm); min-height: 190px; padding: 1.5rem; position: relative; }
.mg-fabric-card:nth-child(even) { background: var(--mg-border-light); }
.mg-fabric-card h3 { font-size: 1.7rem; margin: 2.7rem 0 .25rem; }
.mg-fabric-card p { color: var(--mg-muted); font-size: .76rem; margin: 0; }
.mg-fabric-card .mg-icon { position: absolute; right: 1.3rem; top: 1.3rem; }
.mg-sample-label { color: var(--mg-bronze); font-size: .64rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }

/* Product cards and WooCommerce catalogue. */
.mg-product-grid,
body.mg-site ul.products { clear: both; display: grid !important; gap: clamp(1.25rem, 2.5vw, 2.3rem) 1.25rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 !important; padding: 0 !important; }
body.mg-site ul.products::before,
body.mg-site ul.products::after { display: none !important; }
body.mg-site ul.products li.product,
.mg-product-card { float: none !important; margin: 0 !important; padding: 0 !important; width: auto !important; }
.mg-product-card { list-style: none; position: relative; }
.mg-product-card__visual { background: var(--mg-warm); overflow: hidden; position: relative; }
/* Only the homepage arrivals image/wishlist/badge boundary rounds; card copy stays outside. */
.mg-home-products[data-mg-arrivals-radius-mode="all"] .mg-product-card__visual,
.mg-home-products[data-mg-arrivals-radius-mode="all"] .mg-placeholder-card > img { border-radius: var(--mg-arrivals-radius-desktop, 8px); }
.mg-home-products[data-mg-arrivals-radius-mode="individual"] .mg-product-card__visual,
.mg-home-products[data-mg-arrivals-radius-mode="individual"] .mg-placeholder-card > img { border-radius: var(--mg-arrivals-radius-top-left, 8px) var(--mg-arrivals-radius-top-right, 8px) var(--mg-arrivals-radius-bottom-right, 8px) var(--mg-arrivals-radius-bottom-left, 8px); }
@media (min-width: 601px) and (max-width: 820px) {
  .mg-home-products[data-mg-arrivals-radius-mode="all"] .mg-product-card__visual,
  .mg-home-products[data-mg-arrivals-radius-mode="all"] .mg-placeholder-card > img { border-radius: var(--mg-arrivals-radius-tablet, 8px); }
}
@media (max-width: 600px) {
  .mg-home-products[data-mg-arrivals-radius-mode="all"] .mg-product-card__visual,
  .mg-home-products[data-mg-arrivals-radius-mode="all"] .mg-placeholder-card > img { border-radius: var(--mg-arrivals-radius-mobile, 6px); }
}
.mg-product-card__visual a { display: block; }
.mg-product-card__visual img { aspect-ratio: 3/4; display: block; height: auto; object-fit: cover; transition: transform .65s var(--mg-ease); width: 100%; }
/* Archive-only full-garment frames; homepage media controls stay independent. */
.mg-shop-catalogue .mg-product-card__visual { aspect-ratio: 4 / 5; }
.mg-shop-catalogue .mg-product-card__visual > a { position: absolute; inset: 0; height: 100%; }
.mg-shop-catalogue ul.products li.product .mg-product-card__visual > a > img { aspect-ratio: auto; height: 100%; object-fit: contain; }
.mg-shop-catalogue .mg-product-card:hover .mg-product-card__visual img { transform: none; }

.mg-product-card:hover .mg-product-card__visual img { transform: scale(1.025); }
.mg-product-card__wishlist { align-items: center; background: rgba(250,247,242,.96); border-radius: 50%; display: flex; height: 44px; justify-content: center; position: absolute; right: .75rem; top: .75rem; width: 44px; z-index: 2; }
.mg-product-card__wishlist .yith-wcwl-add-to-wishlist,
.mg-product-card__wishlist .yith-add-to-wishlist-button-block { align-items: center; display: flex; height: 44px; justify-content: center; margin: 0; min-height: 44px; min-width: 44px; width: 44px; }
.mg-product-card__wishlist a,
.mg-product-card__wishlist button,
.mg-product-card__wishlist [role="button"] { align-items: center; background: transparent; border: 0; color: var(--mg-espresso); cursor: pointer; display: flex; height: 44px; justify-content: center; min-height: 44px; min-width: 44px; padding: 0; text-decoration: none; width: 44px; }
.mg-product-card__wishlist .mg-icon { height: 1rem; width: 1rem; }
.mg-product-card__wishlist .yith-wcwl-add-to-wishlist-button-anchor-wrapper,
.mg-product-card__wishlist .yith-wcwl-add-to-wishlist-button { align-items: center; background: transparent; border: 0; color: var(--mg-espresso); display: flex; height: 44px; justify-content: center; min-height: 44px; min-width: 44px; padding: 0; width: 44px; }
.mg-product-card__wishlist .yith-wcwl-add-to-wishlist-button__label,
.mg-product-card__wishlist .mg-wishlist-label { height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.mg-product-card__wishlist .yith-wcwl-add-to-wishlist-button-icon,
.mg-product-card__wishlist svg,
.mg-product-card__wishlist i { display: block; flex: 0 0 auto; height: 1rem; width: 1rem; }
.mg-product-card__wishlist .yith-wcwl-add-to-wishlist a { font-size: 0; }
.mg-product-card__wishlist .yith-wcwl-add-to-wishlist .feedback { height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.mg-product-card__badge { background: var(--mg-ivory); bottom: .75rem; color: var(--mg-bronze); font-size: .58rem; font-weight: 600; left: .75rem; letter-spacing: .12em; padding: .32rem .5rem; position: absolute; text-transform: uppercase; }
.mg-product-card__body { padding-top: .95rem; }
.mg-product-card__title { font-family: var(--mg-serif); font-size: 1.35rem; line-height: 1.05; margin: 0 0 .35rem; }
.mg-product-card__title a { text-decoration: none; }
.mg-product-card__meta { color: var(--mg-muted); display: flex; font-size: .68rem; justify-content: space-between; letter-spacing: .03em; }
.mg-product-card__price { color: var(--mg-espresso); font-size: .75rem; font-weight: 600; }
.mg-product-card__category { text-transform: uppercase; }
.mg-product-card__body .price { color: var(--mg-espresso); font-size: .78rem; font-weight: 600; }
.mg-product-card__body .price del { color: var(--mg-muted); font-weight: 400; }
.mg-product-card__body .price ins { background: none; text-decoration: none; }
.mg-product-card__body .mg-demo-short { color: var(--mg-muted); font-size: .7rem; line-height: 1.45; margin-top: .45rem; }
.mg-sample-label { display: inline-block; line-height: 1.35; }
.mg-archive-main { padding-block: clamp(4rem, 8vw, 7rem) clamp(5rem, 9vw, 9rem); }
.mg-archive-header { align-items: end; border-bottom: 1px solid var(--mg-border); display: flex; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; padding-bottom: 2rem; }
.mg-archive-header h1 { margin: .7rem 0 0; }
.mg-archive-header p { color: var(--mg-muted); margin: 0; max-width: 24rem; }
.mg-archive-tools { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1.75rem; }
.mg-archive-tools .woocommerce-result-count { color: var(--mg-muted); font-size: .72rem; margin: 0; }
.mg-archive-tools .woocommerce-ordering { margin: 0; }
.mg-archive-tools select,
.mg-filter-form select { background: transparent; border: 1px solid var(--mg-border); border-radius: 0; color: var(--mg-espresso); font-size: .7rem; min-height: 42px; padding: .5rem 2rem .5rem .7rem; }
.mg-filter-bar { border-bottom: 1px solid var(--mg-border-light); display: flex; gap: .75rem; margin-bottom: 2rem; padding-bottom: 1rem; }
.mg-filter-toggle { align-items: center; background: transparent; border: 1px solid var(--mg-border); color: var(--mg-espresso); display: inline-flex; font-size: .68rem; font-weight: 600; gap: .6rem; letter-spacing: .08em; min-height: 42px; padding: .5rem .8rem; text-transform: uppercase; }
.mg-filter-toggle .mg-icon { height: .9rem; width: .9rem; }
.mg-filter-form { background: var(--mg-warm); display: grid; gap: 1rem; grid-template-columns: repeat(4, 1fr); margin-bottom: 2rem; padding: 1.2rem; }
.mg-filter-form label { color: var(--mg-muted); display: flex; flex-direction: column; font-size: .65rem; gap: .35rem; letter-spacing: .08em; text-transform: uppercase; }
.mg-filter-form .mg-filter-actions { align-items: end; display: flex; gap: .7rem; }
.mg-filter-form .mg-filter-actions .mg-button { min-height: 42px; padding-inline: 1rem; }
.mg-filter-reset { align-items: center; border-bottom: 1px solid currentColor; color: var(--mg-muted); display: inline-flex; font-size: .68rem; text-decoration: none; }
.mg-empty-state { background: var(--mg-warm); margin-top: 2rem; padding: 4rem 2rem; text-align: center; }
.mg-empty-state h2 { margin: 0 0 .8rem; }
.mg-empty-state p { color: var(--mg-muted); margin-inline: auto; max-width: 28rem; }

/* Product page. */
.mg-product-main { padding-block: clamp(2rem, 5vw, 5rem) clamp(5rem, 10vw, 9rem); }
.mg-breadcrumbs { color: var(--mg-muted); font-size: .66rem; letter-spacing: .06em; margin-bottom: 2rem; }
.mg-breadcrumbs a { text-decoration: none; }
.mg-product-shell { display: grid; gap: clamp(2.5rem, 6vw, 7rem); grid-template-columns: minmax(0, 1.05fr) minmax(340px, .75fr); }
.mg-product-media { min-width: 0; }
.mg-product-media .woocommerce-product-gallery { float: none !important; margin: 0 !important; width: 100% !important; }
.mg-product-media .flex-control-thumbs { display: grid; gap: .65rem; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); margin-top: .7rem !important; }
.mg-product-media .flex-control-thumbs li { float: none !important; margin: 0 !important; min-width: 0; width: auto !important; }
.mg-product-media .flex-control-thumbs img { aspect-ratio: 3/4; object-fit: cover; opacity: .58; transition: opacity .25s; }
.mg-product-media .flex-control-thumbs .flex-active { opacity: 1; }
.mg-product-media .woocommerce-product-gallery__image { background: var(--mg-warm); }
.mg-product-media .woocommerce-product-gallery__image > a:not(.woocommerce-product-gallery__trigger) { display: block; line-height: 0; }
.mg-product-media .woocommerce-product-gallery__image img { aspect-ratio: 3/4; display: block; object-fit: cover; width: 100%; }
.mg-product-media a.woocommerce-product-gallery__trigger { align-items: center; background: rgba(250,247,242,.96); border: 1px solid var(--mg-border); border-radius: 50%; display: flex; font-size: 0; height: 44px; justify-content: center; line-height: 1; margin: 0; min-height: 44px; min-width: 44px; padding: 0; right: 1rem; text-decoration: none; top: 1rem; width: 44px; z-index: 3; }
.mg-product-media a.woocommerce-product-gallery__trigger::before { border: 1.5px solid currentColor; border-radius: 50%; content: ""; height: 12px; position: absolute; transform: translate(-2px, -2px); width: 12px; }
.mg-product-media a.woocommerce-product-gallery__trigger::after { background: currentColor; content: ""; height: 7px; position: absolute; transform: translate(5px, 5px) rotate(-45deg); width: 1.5px; }
.mg-product-info { padding-top: .5rem; }
.mg-product-taxonomy { display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin: 0 0 1rem; }
.mg-product-taxonomy a { color: var(--mg-bronze); font-size: .66rem; font-weight: 600; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.mg-product-taxonomy a + a { border-left: 1px solid var(--mg-border); padding-left: .8rem; }
.mg-product-info .product_title { font-size: clamp(2.35rem, 4vw, 4.2rem); margin: 0 0 .9rem; max-width: 11ch; }
.mg-product-info .price { color: var(--mg-espresso); font-size: 1rem; font-weight: 600; margin-bottom: 1.8rem; }
.mg-product-info .woocommerce-product-details__short-description { color: var(--mg-muted); font-family: var(--mg-serif); font-size: 1.3rem; line-height: 1.3; margin-bottom: 2rem; }
.mg-product-info form.cart { border-bottom: 1px solid var(--mg-border); margin-bottom: 1.5rem; padding-bottom: 1.8rem; }
.mg-product-info form.cart .variations { border: 0; margin-bottom: 1rem; }
.mg-product-info form.cart .variations tr { align-items: center; display: grid; gap: .7rem; grid-template-columns: 84px 1fr; }
.mg-product-info form.cart .variations td { border: 0; padding: .35rem 0; text-align: left; }
.mg-product-info form.cart .variations label { font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.mg-product-info form.cart .variations select { border: 1px solid var(--mg-border); border-radius: 0; min-height: 45px; padding: .5rem .7rem; width: 100%; }
.mg-product-info form.cart .reset_variations { color: var(--mg-muted); font-size: .65rem; }
.mg-product-info .quantity { margin-right: .55rem !important; }
.mg-product-info .quantity .qty { border: 1px solid var(--mg-border); border-radius: 0; min-height: 50px; padding: .5rem; text-align: center; width: 60px; }
.mg-product-info form.cart .single_add_to_cart_button { min-height: 50px; }
.mg-product-info form.cart .maangi-buy-now-button { margin: .5rem 0 0 .5rem; }
.mg-product-info form.cart .maangi-buy-now-button.disabled { cursor: not-allowed; opacity: .5; }
.mg-product-media .flex-viewport { max-width: 100%; }
.mg-product-media .flex-control-thumbs img { display: block; height: auto; width: 100%; }
.mg-product-description__short + .mg-product-description__full { margin-top: 1rem; }
.mg-product-info .woocommerce-product-attributes { border-collapse: collapse; font-size: inherit; width: 100%; }
.mg-product-info .woocommerce-product-attributes th,
.mg-product-info .woocommerce-product-attributes td { border-bottom: 1px solid var(--mg-border); padding: .6rem; text-align: left; vertical-align: top; }
.mg-product-help { display: flex; flex-direction: column; gap: .65rem; margin-top: 1rem; }
.mg-product-help a { align-items: center; border-bottom: 1px solid var(--mg-border); display: flex; font-size: .7rem; justify-content: space-between; padding-bottom: .65rem; text-decoration: none; text-transform: uppercase; }
.mg-product-help .mg-icon { height: .9rem; width: .9rem; }
.mg-demo-note { background: var(--mg-warm); border-left: 2px solid var(--mg-taupe); display: flex; flex-direction: column; gap: .3rem; margin: 0 0 1.5rem; padding: .85rem 1rem; }
.mg-demo-note strong { color: var(--mg-taupe-dark); font-size: .62rem; letter-spacing: .13em; line-height: 1.45; text-transform: uppercase; }
.mg-demo-note span { color: var(--mg-muted); font-size: .72rem; line-height: 1.55; }
.mg-product-accordions { border-top: 1px solid var(--mg-border); margin-top: 2rem; }
.mg-accordion { border-bottom: 1px solid var(--mg-border); }
.mg-accordion button { align-items: center; background: transparent; border: 0; color: var(--mg-espresso); display: flex; font-size: .7rem; font-weight: 600; justify-content: space-between; letter-spacing: .08em; min-height: 56px; padding: 0; text-align: left; text-transform: uppercase; width: 100%; }
.mg-accordion button .mg-icon { transition: transform .25s; }
.mg-accordion button[aria-expanded="true"] .mg-icon { transform: rotate(180deg); }
.mg-accordion__body { color: var(--mg-muted); font-size: .82rem; padding: 0 2rem 1.2rem 0; }
.mg-related { border-top: 1px solid var(--mg-border); grid-column: 1 / -1; margin-top: clamp(5rem, 9vw, 9rem); min-width: 0; padding-top: clamp(4rem, 7vw, 7rem); }
.mg-related h2 { margin: 0 0 2.5rem; }
@media (max-width: 560px) {
  .mg-product-media .flex-control-thumbs { grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); }
  .mg-product-info form.cart .maangi-buy-now-button { display: block; margin: .75rem 0 0; width: 100%; }
}

/* Pages, cart, checkout and account. */
.mg-page-main { padding-block: clamp(4rem, 8vw, 7rem) clamp(5rem, 10vw, 9rem); }
.mg-page-header { border-bottom: 1px solid var(--mg-border); margin-bottom: 3rem; padding-bottom: 2rem; }
.mg-page-header h1 { margin: .7rem 0 0; }
.mg-page-content { max-width: 780px; }
.mg-page-content > * + * { margin-top: 1.2rem; }
.mg-page-content p,
.mg-page-content li { color: var(--mg-muted); }
.mg-page-content h2 { font-size: 2.7rem; margin-top: 3.5rem; }
.mg-page-content h3 { font-size: 2rem; margin-top: 2.5rem; }
.mg-page-content ul { padding-left: 1.2rem; }
.mg-page-content a { text-decoration: underline; text-decoration-color: var(--mg-taupe-soft); text-underline-offset: 3px; }
/* page.php also wraps WooCommerce and wishlist shortcodes in the editorial column. */
body.mg-site.woocommerce-page .mg-page-content,
body.mg-site .mg-page-content:has(.woocommerce),
body.mg-site .mg-page-content:has(.yith-wcwl-main),
body.mg-site .mg-page-content:has(.wishlist-fragment),
body.mg-site .mg-page-content:has(.wishlist_table) { max-width: none; width: 100%; }
body.mg-site .mg-page-content > .woocommerce,
body.mg-site .mg-page-content > .yith-wcwl-main,
body.mg-site .mg-page-content .wishlist-fragment,
body.mg-site .mg-page-content .wishlist_table { max-width: none; min-width: 0; width: 100%; }
.woocommerce-cart .mg-main,
.woocommerce-checkout .mg-main,
.woocommerce-account .mg-main { padding-block: clamp(4rem, 8vw, 7rem) clamp(5rem, 10vw, 9rem); }
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce { margin-inline: 0; max-width: none; min-width: 0; width: 100%; }
.mg-site .woocommerce,
.mg-site .woocommerce-page { min-width: 0; }
.mg-site .woocommerce-cart-form,
.mg-site .cart-collaterals,
.mg-site .cart_totals,
.mg-site #customer_details,
.mg-site #order_review { min-width: 0; }
.mg-site .woocommerce-cart-form { overflow-x: auto; }
.mg-site .woocommerce table.shop_table { border: 1px solid var(--mg-border); border-collapse: collapse; border-radius: 0; font-size: .82rem; }
.mg-site .woocommerce table.shop_table th,
.mg-site .woocommerce table.shop_table td { border-color: var(--mg-border); padding: 1rem; }
.mg-site .woocommerce table.shop_table th { color: var(--mg-muted); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.mg-site .woocommerce table.shop_table .product-thumbnail img { height: 90px; object-fit: cover; width: 68px; }
.mg-site .woocommerce .cart_totals,
.mg-site .woocommerce .cross-sells { margin-top: 3rem; }
.mg-site .woocommerce .cart_totals h2 { font-size: 2.5rem; }
.mg-site .woocommerce form .form-row input.input-text,
.mg-site .woocommerce form .form-row textarea,
.mg-site .woocommerce form .form-row select,
.mg-site .woocommerce form .form-row .select2-selection { background: var(--mg-surface); border: 1px solid var(--mg-border); border-radius: 0; min-height: 46px; min-width: 0; padding: .7rem; width: 100%; }
.mg-site .woocommerce form .form-row label { color: var(--mg-muted); font-size: .7rem; letter-spacing: .04em; }
.mg-site .woocommerce form .form-row textarea { min-height: 120px; }
.mg-site .woocommerce form.checkout_coupon,
.mg-site .woocommerce form.login,
.mg-site .woocommerce form.register { border: 1px solid var(--mg-border); border-radius: 0; }
.mg-site .woocommerce-info,
.mg-site .woocommerce-message,
.mg-site .woocommerce-error { background: var(--mg-warm); border-top: 2px solid var(--mg-taupe); color: var(--mg-espresso); font-size: .8rem; }
.mg-site .woocommerce-info::before,
.mg-site .woocommerce-message::before { color: var(--mg-bronze); }
.mg-site .select2-container--default .select2-selection--single { border-color: var(--mg-border); border-radius: 0; height: 46px; }
.mg-site .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 44px; }
.mg-site .select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }
.mg-404 { align-items: center; display: flex; min-height: 65vh; padding-block: 5rem; }
.mg-404__inner { max-width: 600px; }
.mg-404 h1 { margin: .7rem 0 1rem; }
.mg-404 p { color: var(--mg-muted); font-family: var(--mg-serif); font-size: 1.4rem; max-width: 27rem; }
.mg-search-results { padding-block: 4rem 8rem; }
.mg-search-results h1 { margin: .7rem 0 3rem; }
.mg-search-results .mg-search-item { border-bottom: 1px solid var(--mg-border); padding-block: 1.2rem; }
.mg-search-results .mg-search-item a { text-decoration: none; }
.mg-search-results .mg-search-item h2 { font-size: 2rem; margin: 0 0 .25rem; }
.mg-search-results .mg-search-item p { color: var(--mg-muted); font-size: .8rem; margin: 0; }

/* Footer. */
.mg-site-footer { background: var(--mg-footer-background, var(--mg-espresso)); color: #f7eee5; margin-top: auto; }
.mg-footer-main { display: grid; gap: 3rem; grid-template-columns: 1.3fr .7fr .7fr 1.35fr; padding-block: clamp(4rem, 7vw, 7rem); }
.mg-footer-logo { display: block; line-height: 0; margin-bottom: 1.3rem; width: 126px; }
.mg-footer-logo img { display: block; height: auto; width: 100%; }
.mg-footer-intro p { color: rgba(247,238,229,.68); font-family: var(--mg-serif); font-size: 1.25rem; line-height: 1.25; max-width: 16rem; }
.mg-footer-social { border-color: rgba(247,238,229,.45); color: #f7eee5; font-size: .62rem; margin-top: 1rem; }
.mg-footer-column h2,
.mg-footer-newsletter h2 { color: #f7eee5; font-family: var(--mg-serif); font-size: 1.65rem; margin: 0 0 1.2rem; }
.mg-footer-column .mg-menu-list { align-items: start; flex-direction: column; gap: .55rem; }
.mg-footer-column .mg-menu-list a { color: rgba(247,238,229,.68); font-size: .7rem; font-weight: 400; letter-spacing: .04em; text-transform: none; }
.mg-footer-column .mg-menu-list a:hover { color: #fff; }
.mg-footer-newsletter > p:not(.mg-eyebrow) { color: rgba(247,238,229,.68); font-size: .78rem; max-width: 20rem; }
.mg-footer-newsletter .mg-eyebrow { color: #d8bca5; margin-bottom: .8rem; }
.mg-newsletter-form { border-bottom: 1px solid rgba(247,238,229,.7); display: flex; margin-top: 2rem; min-width: 0; width: 100%; }
.mg-newsletter-form input { background: transparent; border: 0; color: #fff; flex: 1 1 auto; min-height: 46px; min-width: 0; outline: 0; padding: .5rem 0; width: 100%; }
.mg-newsletter-form input::placeholder { color: rgba(247,238,229,.56); }
.mg-newsletter-form button { align-items: center; background: transparent; border: 0; color: #fff; cursor: pointer; display: inline-flex; flex: 0 0 44px; justify-content: center; min-height: 44px; min-width: 44px; padding: .5rem; }
.mg-newsletter-feedback { color: #e4d7cc; font-size: .7rem; line-height: 1.45; margin: .75rem 0 0; min-height: 1.45em; }
.mg-footer-newsletter small { color: #d1c0b2; display: block; font-size: .65rem; letter-spacing: .04em; line-height: 1.45; margin-top: 1rem; }
.mg-footer-bottom { align-items: center; border-top: 1px solid rgba(247,238,229,.18); color: rgba(247,238,229,.48); display: flex; font-size: .62rem; justify-content: space-between; letter-spacing: .04em; padding-block: 1.2rem; }
.mg-footer-bottom a { align-items: center; color: #f7eee5; display: inline-flex; gap: .5rem; text-decoration: none; }
.mg-footer-bottom .mg-icon { height: .9rem; width: .9rem; }

/* Accessibility and responsive rhythm. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible { outline: 2px solid var(--mg-bronze); outline-offset: 3px; }
.mg-site button,
.mg-site input[type="email"],
.mg-site input[type="search"],
.mg-site input[type="text"],
.mg-site input[type="number"],
.mg-site select { min-height: 44px; }
.mg-site .woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: .4rem; }
.mg-site .woocommerce nav.woocommerce-pagination ul li { border: 0; }
.mg-site .woocommerce nav.woocommerce-pagination ul li a,
.mg-site .woocommerce nav.woocommerce-pagination ul li span { align-items: center; border: 1px solid var(--mg-border); display: flex; height: 38px; justify-content: center; min-width: 38px; padding: 0; }
.mg-site .woocommerce nav.woocommerce-pagination ul li span.current { background: var(--mg-espresso); color: #fff; }
/* YITH may render either the classic fragment or its 4.18 React block. Keep
 * the plugin's native icon/label; only compact card labels are visually hidden. */
.mg-site .yith-wcwl-add-to-wishlist,
.mg-site .yith-add-to-wishlist-button-block { min-width: 0; }
.mg-site .yith-wcwl-add-to-wishlist a,
.mg-site .yith-wcwl-add-to-wishlist button,
.mg-site .yith-add-to-wishlist-button-block a,
.mg-site .yith-add-to-wishlist-button-block button { align-items: center; min-height: 44px; }
.mg-product-card__wishlist .yith-wcwl-add-to-wishlist-button-icon { display: block; }

@media (max-width: 1100px) {
  :root { --mg-shell: min(100% - 40px, 1080px); }
  .mg-primary-nav .mg-menu-list { gap: 1.15rem; }
  .mg-primary-nav .mg-menu-list a { font-size: .62rem; }
  .mg-product-grid,
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mg-footer-main { grid-template-columns: 1.2fr .8fr .8fr; }
  .mg-footer-newsletter { grid-column: 1 / -1; max-width: 440px; }
}

@media (max-width: 820px) {
  .mg-home > .mg-home-products,
  .mg-home > .mg-material-note,
  .mg-home > .mg-story { --mg-shell: calc(100% - 40px); }
  .mg-home .mg-hero__slide .mg-hero__copy { padding-inline: 20px; }
  :root { --mg-shell: calc(100% - 32px); }
  .mg-preview-bar { min-height: calc(30px + env(safe-area-inset-top)); padding-top: calc(.35rem + env(safe-area-inset-top)); }
  .mg-site-header { top: var(--mg-header-top, 0px); }
  .mg-header-inner { column-gap: 0; grid-template-columns: 34px 34px minmax(106px, 1fr) 34px 34px; min-height: 76px; }
  .mg-menu-trigger { display: inline-flex; grid-column: 1; grid-row: 1; justify-self: start; }
  .mg-brand { grid-column: 3; grid-row: 1; justify-self: center; width: 106px; }
  .mg-primary-nav { display: none; }
  .mg-header-actions { gap: 0; grid-column: 5; grid-row: 1; justify-self: end; min-width: 44px; }
  .mg-header-actions .mg-account-link,
  .mg-header-actions .mg-wishlist-link { display: none; }
  .mg-header-actions .mg-header-control { min-width: 44px; }
  .mg-hero { grid-template-columns: 1fr; min-height: auto; }
  .mg-hero__copy { min-height: 410px; padding: 4rem 16px; }
  .mg-hero__copy h1 { font-size: clamp(3.8rem, 13vw, 6rem); }
  .mg-hero__media { min-height: min(680px, 120vw); }
  .mg-hero__media::after { inset: 12px; }
  .mg-collections-banner { height: var(--mg-collections-mobile-height, 560px); min-height: 500px; }
  .mg-collections-banner__media img { object-position: var(--mg-collections-mobile-image-position, var(--mg-collections-image-position, center center)); }
  .mg-material-note[data-mg-material-note-height-mode="custom"] { --mg-material-note-active-height: var(--mg-material-note-mobile-height, 560px); }
  .mg-material-note__panel { flex-basis: calc((100% - 1px) / 2); }
  .mg-material-note__media img { object-position: var(--mg-material-note-mobile-position, var(--mg-material-note-desktop-position, center center)); }
  .mg-story { gap: 3rem; grid-template-columns: 1fr 1fr; }
  .mg-story__copy p { font-size: 1.2rem; }
  .mg-landing-hero { grid-template-columns: 1fr 1fr; }
  .mg-landing-hero__copy { padding: 3rem 1.5rem; }
  .mg-landing-hero__media { min-height: 430px; }
  .mg-fabric-grid { grid-template-columns: repeat(2, 1fr); }
  .mg-product-grid,
  .woocommerce ul.products { gap: 2rem .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mg-product-shell { gap: 3rem; grid-template-columns: 1fr; }
  .mg-product-info { max-width: 680px; }
  .mg-filter-form { grid-template-columns: repeat(2, 1fr); }
  .mg-footer-main { gap: 2.5rem 1.7rem; grid-template-columns: 1fr 1fr; }
}

@media (min-width: 821px) and (max-width: 1024px) {
  .mg-collections-banner { height: var(--mg-collections-tablet-height, 620px); min-height: 550px; }
  .mg-material-note[data-mg-material-note-height-mode="custom"] { --mg-material-note-active-height: var(--mg-material-note-tablet-height, 620px); }
  .mg-material-note__panel { flex-basis: calc((100% - 2px) / 3); }
}

@media (max-width: 560px) {
  .mg-home > .mg-home-products,
  .mg-home > .mg-material-note,
  .mg-home > .mg-story { --mg-shell: calc(100% - 32px); }
  .mg-home .mg-hero__slide .mg-hero__copy { padding-inline: 16px; }
  .mg-home > .mg-story .mg-story__copy { padding-left: 0; }
  .mg-material-note { padding-block: 4rem; }
  .mg-material-note__panel { flex-basis: calc((100% - 1px) / 2); }
  .mg-material-note__copy { min-height: 165px; padding: 1rem; }
  .mg-material-note__copy h3 { font-size: 1.5rem; margin-top: 2.2rem; }
}

@media (max-width: 560px) {
  .mg-preview-bar { font-size: .56rem; gap: .4rem; }
  .mg-section { padding-block: 4rem; }
  .mg-section-heading { align-items: start; flex-direction: column; gap: 1rem; }
  .mg-section-heading h2 { font-size: 2.9rem; }
  .mg-category-grid { gap: .65rem; }
  .mg-category-card__copy { bottom: 1.2rem; left: 1rem; }
  .mg-category-card__copy h3 { font-size: 1.8rem; }
  .mg-editorial-split { grid-template-columns: 1fr; }
  .mg-editorial-split__media { min-height: 390px; }
  .mg-editorial-split__copy { min-height: 380px; padding: 3.2rem 16px; }
  .mg-story { grid-template-columns: 1fr; }
  .mg-story__media { aspect-ratio: 4/5; max-width: 86%; }
  .mg-story__copy { padding-left: 1rem; }
  .mg-landing-hero { grid-template-columns: 1fr; }
  .mg-landing-hero__copy { min-height: 360px; padding: 3rem 16px; }
  .mg-landing-hero__media { min-height: 430px; }
  .mg-landing-grid { gap: .65rem; }
  .mg-landing-card__copy { padding: 1rem; }
  .mg-fabric-card { min-height: 165px; padding: 1.1rem; }
  .mg-fabric-card h3 { font-size: 1.4rem; margin-top: 2.2rem; }
  .mg-archive-header { align-items: start; flex-direction: column; }
  .mg-archive-header h1 { font-size: 3.2rem; }
  .mg-archive-tools { align-items: start; flex-direction: column; gap: .8rem; }
  .mg-filter-form { grid-template-columns: 1fr; }
  .mg-filter-form .mg-filter-actions { align-items: start; }
  .mg-product-info .product_title { font-size: 3.2rem; }
  .mg-product-info form.cart .variations tr { grid-template-columns: 68px 1fr; }
  .mg-product-info form.cart .quantity { margin: 0 .3rem 0 0 !important; }
  .mg-product-info form.cart .single_add_to_cart_button { padding-inline: .9rem; }
  .mg-site .woocommerce table.shop_table { font-size: .72rem; }
  .mg-site .woocommerce table.shop_table th,
  .mg-site .woocommerce table.shop_table td { padding: .6rem .4rem; }
  .mg-site .woocommerce .product-thumbnail { display: none; }
  .mg-footer-main { grid-template-columns: 1fr 1fr; }
  .mg-footer-intro,
  .mg-footer-newsletter { grid-column: 1 / -1; }
  .mg-footer-bottom { align-items: start; flex-direction: column; gap: .55rem; }
}

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

/* Desktop masthead: keep the genuine mark on its own editorial row. */
@media (min-width: 821px) {
  .mg-site-header { background: rgba(250,247,242,.98); }
  .mg-header-inner { display: grid; grid-template-columns: 1fr auto 1fr; grid-template-rows: auto auto; min-height: 0; width: 100%; padding-inline: 40px; }
  .mg-site-header:not(.is-compact) .mg-header-inner { padding-top: var(--mg-header-desktop-logo-top, .4rem); padding-bottom: 0; row-gap: var(--mg-header-desktop-logo-bottom, 0px); }
  .mg-brand { grid-column: 2; grid-row: 1; justify-self: center; width: 280px; }
  .mg-header-actions { align-self: center; grid-column: 3; grid-row: 1; }
  .mg-primary-nav { border-top: 1px solid var(--mg-border-light); grid-column: 1 / -1; grid-row: 2; justify-self: stretch; }
  .mg-site-header:not(.is-compact) .mg-primary-nav { padding-block: var(--mg-header-desktop-nav-top, .5rem) var(--mg-header-desktop-nav-bottom, .25rem); }
  .mg-primary-nav .mg-menu-list { justify-content: center; gap: clamp(1.5rem, 3.5vw, 3.5rem); }
}

@media (min-width: 561px) and (max-width: 820px) {
  .mg-site-header:not(.is-compact) .mg-header-inner { padding-block: var(--mg-header-tablet-top, 0px) var(--mg-header-tablet-bottom, 0px); }
}

@media (max-width: 560px) {
  .mg-site-header:not(.is-compact) .mg-header-inner { padding-block: var(--mg-header-mobile-top, 0px) var(--mg-header-mobile-bottom, 0px); }
}

@media (max-width: 820px) {
  .mg-brand { width: 106px; }
  body.mg-site .mg-home-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Display the artwork area of the untouched transparent PNG, not its empty canvas. */
.mg-brand, .mg-footer-logo { background: transparent; aspect-ratio: 475 / 215; height: auto; overflow: hidden; position: relative; }
.mg-brand img, .mg-footer-logo img { display: block; height: auto; left: -80%; max-width: none; position: absolute; top: -280%; width: 250%; }

@media (max-width: 820px) {
  .mg-brand img, .mg-footer-logo img { left: -80%; top: -280%; width: 250%; }
}

/* MAANGI masthead correction — intentionally scoped to header chrome only. */
.mg-site-header { background: #a48976; border-bottom-color: rgba(250,247,242,.22); }
.mg-site-header .mg-brand img { filter: grayscale(1) brightness(0) invert(1); }
.mg-site-header .mg-menu-list a,
.mg-site-header .mg-header-control,
.mg-site-header .mg-icon-button { color: #faf7f2; }
.mg-site-header .mg-primary-nav { border-top-color: rgba(250,247,242,.25); }
.mg-site-header .mg-menu-list a { font-size: 14px; font-weight: 500; letter-spacing: .1em; }
.mg-site-header .mg-primary-nav .mg-menu-list { gap: clamp(1.5rem, 3vw, 3rem); }
.mg-site-header .mg-primary-nav .mg-menu-list a::after { background: #faf7f2; }
.mg-site-header .mg-bag-count { background: #faf7f2; color: #665044; }
.mg-site-header .mg-header-control:hover,
.mg-site-header .mg-icon-button:hover { color: var(--mg-taupe); }
.mg-site-header .mg-brand { aspect-ratio: 475 / 215; height: auto; overflow: visible; width: 280px; }
.mg-site-header .mg-brand img { height: auto; left: auto; max-width: 100%; position: static; top: auto; width: 100%; }

@media (max-width: 820px) {
  .mg-site-header { background: #a48976; }
  .mg-site-header .mg-primary-nav { border-top: 0; }
  .mg-site-header .mg-brand { width: 106px; }
}

/* Controlled header texture, scroll state, and discovery controls. */
.mg-site-header { background-color: #a48976; background-image: radial-gradient(rgba(250,247,242,.09) .7px, transparent .9px), radial-gradient(rgba(48,37,31,.07) .7px, transparent .9px), linear-gradient(135deg, rgba(255,255,255,.06), transparent 42%, rgba(48,37,31,.06)); background-position: 0 0, 7px 9px, 0 0; background-size: 13px 13px, 17px 17px, 100% 100%; }
.mg-header-left { align-items: center; display: flex; gap: .25rem; grid-column: 1; grid-row: 1; justify-self: start; }
.mg-recent-panel { background: #faf7f2; box-shadow: 0 20px 60px rgba(48,37,31,.16); inset: 0 0 auto; max-height: min(100vh, 520px); overflow-y: auto; padding-block: 2.2rem 3.5rem; position: fixed; transform: translateY(-110%); transition: transform .42s var(--mg-ease); z-index: 60; }
.mg-recent-panel.is-open { transform: translateY(0); }
.mg-recent-inner { max-width: 1040px; }
.mg-recent-item { border-bottom: 1px solid var(--mg-border-light); display: block; font-family: var(--mg-serif); font-size: 1.5rem; padding: .8rem 0; text-decoration: none; }
.mg-recent-empty { color: var(--mg-muted); font-family: var(--mg-serif); font-size: 1.35rem; padding-top: 1rem; }
@media (min-width: 821px) {
  /* Zero-height flow marker while expanded; the fixed state reserves the
   * measured height with the same overlap already applied before compaction. */
  .mg-header-spacer { width: 100%; }
  /* Astra transitions all link properties, including this layout width.
   * Restore the expanded footprint atomically; the child image retains its
   * transform animation without resizing the header or the page below it. */
  .mg-site-header .mg-brand { transition: none; }
  .mg-site-header.is-measuring { position: absolute; visibility: hidden; width: 100%; }
  .mg-site-header.is-compact { height: 81px; left: 0; max-height: max(0px, calc(100vh - var(--mg-header-top, 0px))); overflow-y: auto; position: fixed; right: 0; top: var(--mg-header-top, 0px); width: 100%; }
  .mg-site-header.is-compact .mg-header-inner { grid-template-rows: 1fr; padding-block: .35rem; }
  .mg-site-header.is-compact .mg-primary-nav { display: none; }
  .mg-site-header.is-compact .mg-brand { width: 150px; }
  .mg-site-header.is-compact .mg-header-left,
  .mg-site-header.is-compact .mg-header-actions { grid-row: 1; }
  .mg-site-header.is-compact .mg-menu-trigger { display: inline-flex; }
}
/* Scroll anchoring must not counter-scroll when the overlap changes or resets.
 * The class lasts through the release frame, then normal anchoring resumes. */
body.mg-site.mg-header-adjusting { overflow-anchor: none; }
@media (max-width: 820px) {
  .mg-header-left { display: contents; left: auto; position: static; }
  .mg-header-left .mg-search-trigger { display: inline-flex; grid-column: 2; grid-row: 1; justify-self: start; }
  .mg-header-left [data-open-recent] { display: inline-flex; grid-column: 4; grid-row: 1; justify-self: end; }
}

/* Real texture crop from IMG_6668 copy.jpg; no synthetic header pattern. */
.mg-site-header { background-color: #665044; background-image: none; isolation: isolate; }
.mg-site-header::before { background-image: url("./maangi-header-texture.jpg"); background-position: center; background-repeat: repeat; background-size: 320px 320px; content: ""; inset: 0; opacity: .2; pointer-events: none; position: absolute; z-index: -1; }
.mg-site-header { background-color: #e9ded4; }
.mg-site-header .mg-menu-list a,
.mg-site-header .mg-header-control,
.mg-site-header .mg-icon-button { color: #30251f; }
.mg-site-header .mg-primary-nav { border-top-color: rgba(48,37,31,.22); }
.mg-site-header .mg-primary-nav .mg-menu-list a::after { background: #30251f; }
.mg-site-header .mg-bag-count { background: #30251f; color: #faf7f2; }
@media (min-width: 821px) {
  .mg-site-header.is-compact .mg-menu-trigger { grid-column: 1; grid-row: 1; justify-self: start; }
  .mg-site-header.is-compact .mg-header-left { padding-left: 44px; }
}

/* Final approved header colour only. */
.mg-site-header { background-color: #e9ded4; }
.mg-site-header .mg-menu-list a,
.mg-site-header .mg-header-control,
.mg-site-header .mg-icon-button { color: #30251f; }
.mg-site-header .mg-primary-nav .mg-menu-list a::after { background: #30251f; }
.mg-site-header .mg-bag-count { background: #30251f; color: #faf7f2; }

/* Keep the mark's painted width stable while its 280px/150px link boxes switch
 * immediately. Only the image scales; the header, spacer and nav never tween. */
@media (min-width: 821px) and (prefers-reduced-motion: no-preference) {
  .mg-site-header .mg-brand img {
    left: 50%;
    max-width: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) scale(1);
    transition: transform 240ms ease-out;
    width: 266px; /* expanded link width minus its existing 7px side padding */
  }
  .mg-site-header.is-compact .mg-brand img {
    transform: translate(-50%, -50%) scale(.511278); /* 136px / 266px */
  }
  .mg-site-header .mg-header-left,
  .mg-site-header .mg-header-actions { transform: translateY(2px); transition: transform 220ms ease-out; }
  .mg-site-header.is-compact .mg-header-left,
  .mg-site-header.is-compact .mg-header-actions { transform: translateY(0); }
  /* The nav's display switch remains immediate: no departing row or empty gap. */
  .mg-site-header .mg-primary-nav { opacity: 1; transform: translateY(0); transition: opacity 220ms ease-out, transform 220ms ease-out; }
  @starting-style {
    .mg-site-header:not(.is-compact) .mg-primary-nav { opacity: 0; transform: translateY(-4px); }
    .mg-site-header.is-compact .mg-menu-trigger { opacity: 0; transform: translateY(4px); }
  }
  .mg-site-header.is-compact .mg-menu-trigger { opacity: 1; transform: translateY(0); transition: opacity 220ms ease-out, transform 220ms ease-out; }
}

@media (min-width: 821px) {
  .mg-hero { min-height: 480px; }
  .mg-hero__media { min-height: 480px; }
  .mg-hero__copy { padding: 3rem clamp(2rem, 5vw, 5rem); }
  body.mg-site .mg-hero__copy h1 { font-size: clamp(3.5rem, 4.8vw, 5rem); max-width: 10ch; }
  .mg-hero__copy .mg-kicker { font-family: var(--mg-sans); font-size: .68rem; font-weight: 400; }
.mg-home-products { padding-block: 4rem; }
.mg-home > .mg-home-products { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: none; width: 100vw; }
.mg-home-products__inner { margin-inline: auto; width: var(--mg-shell); }
}

/* Quiet, original paper/fabric surface treatment. */
body.mg-site { background-color: var(--mg-ivory); background-image: radial-gradient(circle at 12% 18%, rgba(180,158,140,.08) 0 1px, transparent 1.5px), radial-gradient(circle at 82% 72%, rgba(132,104,79,.045) 0 1px, transparent 1.5px), linear-gradient(115deg, rgba(255,255,255,.22), transparent 36%, rgba(180,158,140,.035) 70%, transparent); background-size: 17px 19px, 23px 21px, 100% 100%; }

@media (min-width: 821px) {
  .mg-home-products { max-width: 1160px; }
  .mg-home-products ul.products { gap: 2.4rem 1.5rem; }
}

/* Arrivals: the frame owns geometry, never the intrinsic image/video size.
 * Card Height owns the frame: zero = auto 3:4; positive = exact pixels.
 * Section height is a minimum; normal flow always reserves all content. */
.mg-home > .mg-home-products {
  height: auto;
  padding-top: var(--mg-arrivals-desktop-padding-top, 64px);
  padding-bottom: var(--mg-arrivals-desktop-padding-bottom, 64px);
}
.mg-home > .mg-home-products[data-mg-arrivals-height-mode="custom"] {
  box-sizing: border-box;
  min-height: var(--mg-arrivals-desktop-section-height, 640px);
}
.mg-home-products .mg-arrivals-placeholders,
body.mg-site .mg-home-products ul.products {
  display: grid;
  gap: 2.4rem 1.5rem;
  grid-template-columns: repeat(var(--mg-arrivals-desktop-columns, 4), minmax(0, 1fr));
}
.mg-home-products .mg-product-card,
.mg-home-products .mg-placeholder-card { min-height: 0; min-width: 0; }
.mg-home-products .mg-product-card__visual {
  aspect-ratio: 3 / 4;
  height: var(--mg-arrivals-desktop-card-height, auto);
  min-height: 0;
  margin-inline: auto;
  width: var(--mg-arrivals-desktop-media-width, 100%);
}
.mg-home-products .mg-product-card__visual > a { height: 100%; }
/* Outrank Astra's .woocommerce-js ul.products li.product a img (0,3,4). */
.mg-home-products ul.products li.product .mg-product-card__visual > a > img,
.mg-home-products ul.products li.product .mg-product-card__visual > a > video,
.mg-home-products ul.products li.product .mg-product-card__visual > video {
  display: block;
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
  height: 100%;
  max-height: none;
  border: 0;
  margin: 0;
  object-fit: cover;
  object-position: var(--mg-arrivals-desktop-media-position, center center);
  width: 100%;
}
.mg-home-products .mg-placeholder-card > img {
  display: block;
  aspect-ratio: 3 / 4;
  height: var(--mg-arrivals-desktop-card-height, auto);
  object-fit: cover;
  object-position: var(--mg-arrivals-desktop-media-position, center center);
  margin-inline: auto;
  width: var(--mg-arrivals-desktop-media-width, 100%);
}
.mg-home-products .mg-product-card__body,
.mg-home-products .mg-placeholder-card { overflow-wrap: anywhere; }
@media (min-width: 821px) and (max-width: 1100px) {
  .mg-home-products .mg-arrivals-placeholders,
  body.mg-site .mg-home-products ul.products { grid-template-columns: repeat(var(--mg-arrivals-compact-columns, 3), minmax(0, 1fr)); }
}
@media (min-width: 601px) and (max-width: 820px) {
  .mg-home > .mg-home-products { padding-top: var(--mg-arrivals-tablet-padding-top, 64px); padding-bottom: var(--mg-arrivals-tablet-padding-bottom, 64px); }
  .mg-home > .mg-home-products[data-mg-arrivals-height-mode="custom"] { min-height: var(--mg-arrivals-tablet-section-height, 600px); }
  .mg-home-products .mg-arrivals-placeholders,
  body.mg-site .mg-home-products ul.products { gap: 2rem .8rem; grid-template-columns: repeat(var(--mg-arrivals-tablet-columns, 2), minmax(0, 1fr)); }
  .mg-home-products .mg-product-card__visual { height: var(--mg-arrivals-tablet-card-height, auto); width: var(--mg-arrivals-tablet-media-width, 100%); }
  .mg-home-products ul.products li.product .mg-product-card__visual > a > img,
  .mg-home-products ul.products li.product .mg-product-card__visual > a > video,
  .mg-home-products ul.products li.product .mg-product-card__visual > video,
  .mg-home-products .mg-placeholder-card > img { object-position: var(--mg-arrivals-tablet-media-position, center center); }
  .mg-home-products .mg-placeholder-card > img { height: var(--mg-arrivals-tablet-card-height, auto); width: var(--mg-arrivals-tablet-media-width, 100%); }
}
@media (max-width: 600px) {
  .mg-home > .mg-home-products { padding-top: var(--mg-arrivals-mobile-padding-top, 64px); padding-bottom: var(--mg-arrivals-mobile-padding-bottom, 64px); }
  .mg-home > .mg-home-products[data-mg-arrivals-height-mode="custom"] { min-height: var(--mg-arrivals-mobile-section-height, 580px); }
  .mg-home-products .mg-arrivals-placeholders,
  body.mg-site .mg-home-products ul.products { gap: 2rem .8rem; grid-template-columns: repeat(var(--mg-arrivals-mobile-columns, 2), minmax(0, 1fr)); }
  .mg-home-products .mg-product-card__visual { height: var(--mg-arrivals-mobile-card-height, auto); width: var(--mg-arrivals-mobile-media-width, 100%); }
  .mg-home-products ul.products li.product .mg-product-card__visual > a > img,
  .mg-home-products ul.products li.product .mg-product-card__visual > a > video,
  .mg-home-products ul.products li.product .mg-product-card__visual > video,
  .mg-home-products .mg-placeholder-card > img { object-position: var(--mg-arrivals-mobile-media-position, center center); }
  .mg-home-products .mg-placeholder-card > img { height: var(--mg-arrivals-mobile-card-height, auto); width: var(--mg-arrivals-mobile-media-width, 100%); }
}

/* Homepage hero slider. Scoped so the masthead and the other editorial blocks retain their styling. */
.mg-hero--slider { display: block; height: var(--mg-hero-height, 640px); min-height: 0; overflow: hidden; position: relative; }
.mg-hero__slides, .mg-hero__slide { height: 100%; width: 100%; }
.mg-hero__slide { inset: 0; opacity: 0; position: absolute; transition: opacity var(--mg-hero-transition, .65s) ease; visibility: hidden; }
.mg-hero__slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.mg-hero__slide .mg-hero__media { inset: 0; min-height: 0; overflow: hidden; position: absolute; }
.mg-hero__slide .mg-hero__media::after { background: linear-gradient(90deg, rgba(48,37,31,.48), transparent 70%); border: 0; inset: 0; }
.mg-hero--no-overlay .mg-hero__slide .mg-hero__media::after { background: transparent; }
.mg-hero__slide .mg-hero__media img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: var(--mg-slide-desktop-position-x, 50%) var(--mg-slide-desktop-position-y, 50%);
  transform: scale(var(--mg-slide-desktop-zoom, 1));
  transform-origin: var(--mg-slide-desktop-position-x, 50%) var(--mg-slide-desktop-position-y, 50%);
  width: 100%;
}
.mg-hero__slide .mg-hero__copy { color: #fff; height: 100%; justify-content: var(--mg-slide-position, center); padding: clamp(5rem, 10vw, 9rem) clamp(1.5rem, 8vw, 8rem); position: relative; text-align: var(--mg-slide-align, left); z-index: 2; }
.mg-hero__slide .mg-hero__copy > * { margin-left: 0; margin-right: 0; }
.mg-hero__slide .mg-hero__copy[style*="center"] { align-items: center; }
.mg-hero__slide .mg-hero__copy h1, .mg-hero__slide .mg-hero__copy h2 { color: #fff; max-width: 11ch; }
.mg-hero__slide .mg-hero__copy p:not(.mg-kicker) { color: rgba(255,255,255,.82); }
.mg-hero__slide .mg-hero__copy .mg-kicker { color: rgba(255,255,255,.86); }
.mg-hero__slide .mg-hero__media::after { opacity: var(--mg-hero-overlay, .33); }
.mg-hero__arrow { align-items: center; background: rgba(255,255,255,.86); border: 0; border-radius: 50%; color: var(--mg-espresso); display: flex; font-size: 1.4rem; height: 44px; justify-content: center; position: absolute; top: 50%; transform: translateY(-50%); width: 44px; z-index: 3; }
.mg-hero__arrow--prev { left: 1.25rem; }
.mg-hero__arrow--next { right: 1.25rem; }
.mg-hero--slider .mg-hero__pagination {
  bottom: var(--mg-hero-pagination-bottom-desktop, 24px);
  display: flex;
  gap: var(--mg-hero-pagination-gap, 7px);
   left: 50%;
   max-width: calc(100% - 32px);
   box-sizing: border-box;
   justify-content: center;
   overflow: hidden;
   position: absolute;
  transform: translateX(-50%);
  width: max-content;
  z-index: 10;
}
.mg-hero--slider .mg-hero__pagination button {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: transparent;
  cursor: pointer;
  flex: 0 1 clamp(20px, var(--mg-hero-pagination-width, 50px), min(80px, calc(100vw - 32px)));
  height: 44px;
  min-height: 44px;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-indent: -9999px;
  white-space: nowrap;
  width: clamp(20px, var(--mg-hero-pagination-width, 50px), min(80px, calc(100vw - 32px)));
}
.mg-hero--slider .mg-hero__pagination button::before {
  background: var(--mg-hero-pagination-inactive-color, #ffffff);
  content: "";
  height: var(--mg-hero-pagination-height, 2px);
  left: 0;
  opacity: var(--mg-hero-pagination-inactive-opacity, .58);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.mg-hero--slider .mg-hero__pagination button::after {
  background: var(--mg-hero-pagination-active-color, #ffffff);
  content: "";
  height: var(--mg-hero-pagination-height, 2px);
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: var(--mg-hero-pagination-progress, 0%);
  z-index: 1;
}
.mg-hero--slider .mg-hero__pagination button[aria-selected="true"]::after {
  opacity: var(--mg-hero-pagination-active-opacity, 1);
}
@media (max-width: 820px) {
  .mg-hero--slider .mg-hero__pagination { bottom: var(--mg-hero-pagination-bottom-tablet, 24px); }
  .mg-hero__slide .mg-hero__media img {
    object-fit: cover;
    object-position: var(--mg-slide-tablet-position-x, 50%) var(--mg-slide-tablet-position-y, 50%);
    transform: scale(var(--mg-slide-tablet-zoom, 1));
    transform-origin: var(--mg-slide-tablet-position-x, 50%) var(--mg-slide-tablet-position-y, 50%);
  }
}
@media (max-width: 560px) {
  .mg-hero--slider .mg-hero__pagination { bottom: var(--mg-hero-pagination-bottom-mobile, 24px); }
  .mg-hero__slide .mg-hero__media img {
    object-fit: cover;
    object-position: var(--mg-slide-mobile-position-x, 50%) var(--mg-slide-mobile-position-y, 50%);
    transform: scale(var(--mg-slide-mobile-zoom, 1));
    transform-origin: var(--mg-slide-mobile-position-x, 50%) var(--mg-slide-mobile-position-y, 50%);
  }
}
/* Slide 2's source is taller than the desktop hero frame. At zoom 100%,
 * object-fit: cover therefore fits its width exactly and leaves no horizontal
 * overflow for X positioning to move. A small slide-local overscan preserves
 * the existing controls without changing Slide 1 or the hero layout. */
.mg-hero__slide[data-slide-number="2"] .mg-hero__media img { transform: scale(var(--mg-slide-desktop-zoom, 1)) scale(1.05); }
@media (max-width: 820px) {
  .mg-hero__slide[data-slide-number="2"] .mg-hero__media img { transform: scale(var(--mg-slide-tablet-zoom, 1)) scale(1.05); }
}
@media (max-width: 560px) {
  .mg-hero__slide[data-slide-number="2"] .mg-hero__media img { transform: scale(var(--mg-slide-mobile-zoom, 1)) scale(1.05); }
}
@media (prefers-reduced-motion: reduce) {
  .mg-hero--slider .mg-hero__pagination button::after { transition: none; }
}
.mg-hero__slide .mg-hero__copy { max-width: var(--mg-hero-desktop-content-max-width, none); transform: translate(var(--mg-hero-desktop-content-x, 0px), var(--mg-hero-desktop-content-y, 0px)); }
.mg-hero__slide .mg-hero__copy .mg-kicker { font-size: var(--mg-hero-desktop-eyebrow-font-size, .68rem); letter-spacing: var(--mg-hero-desktop-eyebrow-letter-spacing, .19em); transform: translate(var(--mg-hero-desktop-eyebrow-x, 0px), var(--mg-hero-desktop-eyebrow-y, 0px)); }
.mg-hero__slide .mg-hero__copy h1 { font-size: var(--mg-hero-desktop-heading-font-size, clamp(3.5rem, 4.8vw, 5rem)); line-height: var(--mg-hero-desktop-heading-line-height, 1.02); transform: translate(var(--mg-hero-desktop-heading-x, 0px), var(--mg-hero-desktop-heading-y, 0px)); }
.mg-hero__slide .mg-hero__copy h2 { font-size: var(--mg-hero-desktop-heading-font-size, clamp(2.4rem, 4vw, 4.3rem)); line-height: var(--mg-hero-desktop-heading-line-height, 1.02); transform: translate(var(--mg-hero-desktop-heading-x, 0px), var(--mg-hero-desktop-heading-y, 0px)); }
.mg-hero__slide .mg-hero__copy p:not(.mg-kicker) { font-size: var(--mg-hero-desktop-subtitle-font-size, clamp(1.2rem, 2vw, 1.6rem)); line-height: var(--mg-hero-desktop-subtitle-line-height, 1.25); max-width: var(--mg-hero-desktop-subtitle-max-width, 21rem); transform: translate(var(--mg-hero-desktop-subtitle-x, 0px), var(--mg-hero-desktop-subtitle-y, 0px)); }
.mg-hero__slide .mg-hero__copy .mg-button { font-size: var(--mg-hero-desktop-button-font-size, .72rem); padding: var(--mg-hero-desktop-button-padding-y, .85rem) var(--mg-hero-desktop-button-padding-x, 1.5rem); transform: translate(var(--mg-hero-desktop-button-x, 0px), var(--mg-hero-desktop-button-y, 0px)); }
@media (max-width: 820px) { .mg-hero--slider { height: var(--mg-hero-tablet-height, 560px); } .mg-hero__slide .mg-hero__copy { padding-inline: 3rem; } }
@media (max-width: 560px) { .mg-hero--slider { height: var(--mg-hero-mobile-height, 640px); } .mg-hero__slide .mg-hero__copy { padding-inline: 1.5rem; } .mg-hero__arrow { height: 38px; width: 38px; } }
@media (max-width: 820px) {
  .mg-hero__slide .mg-hero__copy { max-width: var(--mg-hero-tablet-content-max-width, none); transform: translate(var(--mg-hero-tablet-content-x, 0px), var(--mg-hero-tablet-content-y, 0px)); }
  .mg-hero__slide .mg-hero__copy .mg-kicker { font-size: var(--mg-hero-tablet-eyebrow-font-size, .68rem); letter-spacing: var(--mg-hero-tablet-eyebrow-letter-spacing, .19em); transform: translate(var(--mg-hero-tablet-eyebrow-x, 0px), var(--mg-hero-tablet-eyebrow-y, 0px)); }
  .mg-hero__slide .mg-hero__copy h1 { font-size: var(--mg-hero-tablet-heading-font-size, clamp(3.8rem, 13vw, 6rem)); line-height: var(--mg-hero-tablet-heading-line-height, 1.02); transform: translate(var(--mg-hero-tablet-heading-x, 0px), var(--mg-hero-tablet-heading-y, 0px)); }
  .mg-hero__slide .mg-hero__copy h2 { font-size: var(--mg-hero-tablet-heading-font-size, clamp(2.4rem, 4vw, 4.3rem)); line-height: var(--mg-hero-tablet-heading-line-height, 1.02); transform: translate(var(--mg-hero-tablet-heading-x, 0px), var(--mg-hero-tablet-heading-y, 0px)); }
  .mg-hero__slide .mg-hero__copy p:not(.mg-kicker) { font-size: var(--mg-hero-tablet-subtitle-font-size, clamp(1.2rem, 2vw, 1.6rem)); line-height: var(--mg-hero-tablet-subtitle-line-height, 1.25); max-width: var(--mg-hero-tablet-subtitle-max-width, 21rem); transform: translate(var(--mg-hero-tablet-subtitle-x, 0px), var(--mg-hero-tablet-subtitle-y, 0px)); }
  .mg-hero__slide .mg-hero__copy .mg-button { font-size: var(--mg-hero-tablet-button-font-size, .72rem); padding: var(--mg-hero-tablet-button-padding-y, .85rem) var(--mg-hero-tablet-button-padding-x, 1.5rem); transform: translate(var(--mg-hero-tablet-button-x, 0px), var(--mg-hero-tablet-button-y, 0px)); }
}
@media (max-width: 560px) {
  .mg-hero__slide .mg-hero__copy { max-width: var(--mg-hero-mobile-content-max-width, none); transform: translate(var(--mg-hero-mobile-content-x, 0px), var(--mg-hero-mobile-content-y, 0px)); }
  .mg-hero__slide .mg-hero__copy .mg-kicker { font-size: var(--mg-hero-mobile-eyebrow-font-size, .68rem); letter-spacing: var(--mg-hero-mobile-eyebrow-letter-spacing, .19em); transform: translate(var(--mg-hero-mobile-eyebrow-x, 0px), var(--mg-hero-mobile-eyebrow-y, 0px)); }
  .mg-hero__slide .mg-hero__copy h1 { font-size: var(--mg-hero-mobile-heading-font-size, clamp(3.8rem, 13vw, 6rem)); line-height: var(--mg-hero-mobile-heading-line-height, 1.02); transform: translate(var(--mg-hero-mobile-heading-x, 0px), var(--mg-hero-mobile-heading-y, 0px)); }
  .mg-hero__slide .mg-hero__copy h2 { font-size: var(--mg-hero-mobile-heading-font-size, clamp(2.4rem, 4vw, 4.3rem)); line-height: var(--mg-hero-mobile-heading-line-height, 1.02); transform: translate(var(--mg-hero-mobile-heading-x, 0px), var(--mg-hero-mobile-heading-y, 0px)); }
  .mg-hero__slide .mg-hero__copy p:not(.mg-kicker) { font-size: var(--mg-hero-mobile-subtitle-font-size, clamp(1.2rem, 2vw, 1.6rem)); line-height: var(--mg-hero-mobile-subtitle-line-height, 1.25); max-width: var(--mg-hero-mobile-subtitle-max-width, 21rem); transform: translate(var(--mg-hero-mobile-subtitle-x, 0px), var(--mg-hero-mobile-subtitle-y, 0px)); }
  .mg-hero__slide .mg-hero__copy .mg-button { font-size: var(--mg-hero-mobile-button-font-size, .72rem); padding: var(--mg-hero-mobile-button-padding-y, .85rem) var(--mg-hero-mobile-button-padding-x, 1.5rem); transform: translate(var(--mg-hero-mobile-button-x, 0px), var(--mg-hero-mobile-button-y, 0px)); }
}

/* Header navigation controls apply to the expanded desktop row only. */
.mg-site-header {
  --mg-nav-gap-desktop: 48px;
  --mg-nav-gap-tablet: 24px;
  --mg-nav-max-width-desktop: 1000px;
  --mg-nav-font-desktop: 14px;
  --mg-nav-font-tablet: 14px;
  --mg-nav-letter-spacing-desktop: 1.4px;
}
@media (min-width: 821px) {
  .mg-site-header .mg-primary-nav { min-width: 0; }
  .mg-site-header .mg-primary-nav .mg-menu-list {
    gap: var(--mg-nav-gap-desktop);
    justify-content: center;
    margin-inline: auto;
    max-width: min(100%, var(--mg-nav-max-width-desktop));
    min-width: 0;
    width: max-content;
  }
  .mg-site-header .mg-primary-nav .mg-menu-list li { min-width: 0; }
  .mg-site-header .mg-primary-nav .mg-menu-list a {
    display: block;
    font-size: var(--mg-nav-font-desktop);
    letter-spacing: var(--mg-nav-letter-spacing-desktop);
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
@media (min-width: 821px) and (max-width: 1100px) {
  .mg-site-header .mg-primary-nav .mg-menu-list { gap: var(--mg-nav-gap-tablet); }
  .mg-site-header .mg-primary-nav .mg-menu-list a { font-size: var(--mg-nav-font-tablet); }
}

/* Safari browser chrome samples the root canvas, not safe-area padding alone.
 * Keep the page's existing ivory texture above that canvas. */
@media (max-width: 600px) {
  html { background-color: #665044; }
  body.mg-site {
    background-color: var(--mg-taupe-dark);
    background-image: radial-gradient(circle at 12% 18%, rgba(180,158,140,.08) 0 1px, transparent 1.5px), radial-gradient(circle at 82% 72%, rgba(132,104,79,.045) 0 1px, transparent 1.5px), linear-gradient(115deg, rgba(255,255,255,.22), transparent 36%, rgba(180,158,140,.035) 70%, transparent), linear-gradient(var(--mg-ivory), var(--mg-ivory));
  }
}/* Hide Astra Sale badge without changing discounted prices */
body.single-product .ast-onsale-card {
    display: none !important;
}