@font-face {font-family: 'Anton';font-style: normal;font-weight: 400;font-display: swap;src: url('../../fonts/anton-normal-400-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'Anton';font-style: normal;font-weight: 400;font-display: swap;src: url('../../fonts/anton-normal-400-latin.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'Caveat';font-style: normal;font-weight: 500;font-display: swap;src: url('../../fonts/caveat-normal-500-cyrillic-ext.woff2') format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face {font-family: 'Caveat';font-style: normal;font-weight: 500;font-display: swap;src: url('../../fonts/caveat-normal-500-cyrillic.woff2') format('woff2');unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face {font-family: 'Caveat';font-style: normal;font-weight: 500;font-display: swap;src: url('../../fonts/caveat-normal-500-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'Caveat';font-style: normal;font-weight: 500;font-display: swap;src: url('../../fonts/caveat-normal-500-latin.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'Libre Caslon Text';font-style: italic;font-weight: 400;font-display: swap;src: url('../../fonts/libre-caslon-text-italic-400-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'Libre Caslon Text';font-style: italic;font-weight: 400;font-display: swap;src: url('../../fonts/libre-caslon-text-italic-400-latin.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'Libre Caslon Text';font-style: normal;font-weight: 400;font-display: swap;src: url('../../fonts/libre-caslon-text-normal-400-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'Libre Caslon Text';font-style: normal;font-weight: 400;font-display: swap;src: url('../../fonts/libre-caslon-text-normal-400-latin.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'Libre Caslon Text';font-style: normal;font-weight: 700;font-display: swap;src: url('../../fonts/libre-caslon-text-normal-700-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'Libre Caslon Text';font-style: normal;font-weight: 700;font-display: swap;src: url('../../fonts/libre-caslon-text-normal-700-latin.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'Nunito';font-style: normal;font-weight: 800;font-display: swap;src: url('../../fonts/nunito-normal-800-cyrillic-ext.woff2') format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face {font-family: 'Nunito';font-style: normal;font-weight: 800;font-display: swap;src: url('../../fonts/nunito-normal-800-cyrillic.woff2') format('woff2');unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face {font-family: 'Nunito';font-style: normal;font-weight: 800;font-display: swap;src: url('../../fonts/nunito-normal-800-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'Nunito';font-style: normal;font-weight: 800;font-display: swap;src: url('../../fonts/nunito-normal-800-latin.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'Source Sans 3';font-style: normal;font-weight: 400 700;font-display: swap;src: url('../../fonts/source-sans-3-normal-var-cyrillic-ext.woff2') format('woff2');unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face {font-family: 'Source Sans 3';font-style: normal;font-weight: 400 700;font-display: swap;src: url('../../fonts/source-sans-3-normal-var-cyrillic.woff2') format('woff2');unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face {font-family: 'Source Sans 3';font-style: normal;font-weight: 400 700;font-display: swap;src: url('../../fonts/source-sans-3-normal-var-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face {font-family: 'Source Sans 3';font-style: normal;font-weight: 400 700;font-display: swap;src: url('../../fonts/source-sans-3-normal-var-latin.woff2') format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
:root {
  --bg: #f8f4ec; --surface: #fffdf9; --sand: #efe4d1; --sand-2: #f3ebdd; --sand-3: #e8dbc3;
  --ink: #221a12; --ink-2: #3a2f26; --ink-3: #4a3f36; --muted: #6f6257; --muted-2: #9a8c7c;
  --gold: #6e4f1a; --gold-dark: #4a3410; --gold-deep: #2a2118; --accent: #d9b36a; --accent-hover: #f0cd85;
  --cream-1: #f1e7d6; --cream-2: #e6dac4; --cream-3: #c9bca6; --cream-4: #b9a888;
  --error: #9b2c2c;
  --border: rgba(110, 79, 26, .14); --border-header: rgba(110, 79, 26, .12); --border-rule: rgba(110, 79, 26, .18); --border-input: rgba(110, 79, 26, .25); --border-outline: rgba(110, 79, 26, .3);
  --line: rgba(110, 79, 26, .2); --line-soft: rgba(110, 79, 26, .1); --line-faint: rgba(110, 79, 26, .08);
  --ok: #2f6b3a; --ok-bg: #e8efe2;
  --gold-tint: rgba(110, 79, 26, .12); --gold-tint-2: rgba(110, 79, 26, .45);
  --tint-1: rgba(255, 255, 255, .08); --tint-2: rgba(255, 255, 255, .12); --tint-3: rgba(255, 255, 255, .2); --tint-4: rgba(255, 255, 255, .5); --tint-5: rgba(255, 255, 255, .85);
  --line-on-dark: rgba(255, 255, 255, .15); --border-on-dark: rgba(255, 255, 255, .3); --cream-line: rgba(230, 218, 196, .35); --cream-line-soft: rgba(230, 218, 196, .15);
  --scrim: rgba(34, 26, 18, .45); --header-bg: rgba(255, 253, 249, .94); --bar-bg: rgba(248, 244, 236, .94); --note-bg: rgba(247, 241, 230, .72);
  --font-display: 'Libre Caslon Text', Georgia, 'Times New Roman', serif; --font-body: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif; --font-hand: 'Caveat', 'Segoe Script', cursive;
  --r-pill: 999px; --r-input: 10px; --r-sm: 14px; --r-md: 18px; --r-lg: 22px; --r-xl: 28px; --r-xs: 8px; --r-badge: 6px;
  --sh-card: 0 18px 44px rgba(74, 52, 16, .14); --sh-cta: 0 10px 24px rgba(74, 52, 16, .22); --sh-drop: 0 24px 60px rgba(34, 26, 18, .16); --sh-drawer: -30px 0 80px rgba(34, 26, 18, .25);
  --elev-raised: var(--sh-card); --elev-overlay: var(--sh-drop); --elev-sheet: var(--sh-drawer); --elev-float: 0 8px 24px rgba(34, 26, 18, .15); --elev-toast: 0 16px 40px rgba(34, 26, 18, .3);
  --ds-dark-obj: drop-shadow(0 24px 28px rgba(0, 0, 0, .45));
  --sh-stickybar: 0 -12px 32px rgba(0, 0, 0, .6);
  --ds-card: drop-shadow(0 12px 18px rgba(74, 52, 16, .18)); --ds-product: drop-shadow(0 30px 40px rgba(74, 52, 16, .28)); --ds-logo: drop-shadow(0 10px 14px rgba(74, 52, 16, .2));
  --ring: 0 0 0 3px rgba(110, 79, 26, .12); --ring-on-dark: 0 0 0 3px rgba(217, 179, 106, .5);
  --night: #0c0c0c; --night-2: #151515; --night-tile: rgba(255, 255, 255, .055); --night-line: rgba(255, 255, 255, .13);
  --night-ink: #f2f2f2; --night-muted: #a8a8a8; --night-on-accent: #ffffff; --energy: #d8232a; --energy-hover: #b3181f;
  --grain-neutral: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  --font-poster: 'Anton', 'Source Sans 3', system-ui, sans-serif;
  --font-round: 'Nunito', 'Source Sans 3', system-ui, sans-serif;
  --soft-page: #fbfaf8; --soft-tile: #ffffff; --soft-ink: #2b1f33; --soft-muted: #6b5c72; --soft-line: #ece4dc; --soft-band: #2b1f33; --soft-accent: #b2337c;
  --soft-figure: #f1ebe3; --soft-mud: #7b4a25; --soft-mud-2: #a36f43; --soft-mud-3: #d9b48c; --soft-straw: #ffffff; --soft-straw-2: #e6dfeb; --soft-hole: #d8d4dc; --soft-shade: rgba(20, 10, 30, .2); --soft-shade-2: rgba(20, 10, 30, .08); --soft-shadow: rgba(70, 25, 5, .3); --soft-shadow-0: rgba(70, 25, 5, 0);
  --sh-photo: 0 34px 60px -26px rgba(43, 31, 51, .45), 0 1px 3px rgba(43, 31, 51, .12); --sh-ring-ink: inset 0 0 0 2px var(--soft-ink); --sh-ring-accent: inset 0 0 0 2px var(--soft-accent); --sh-hole: inset 0 0 0 2px rgba(0, 0, 0, .12); --sh-ring-line: inset 0 0 0 1px var(--l-line, var(--border-rule)); --sh-fade-up: 0 -24px 24px -4px var(--soft-page);
  --dur-scene: 1100ms;
  --cocoa: var(--gold-deep); --cocoa-2: #3a2c1c; --on-cocoa: var(--cream-1); --on-cocoa-2: var(--cream-2); --on-cocoa-muted: var(--cream-3); --line-on-cocoa: rgba(230, 218, 196, .18);
  --grain-svg: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .3 0 0 0 0 .2 0 0 0 0 .1 0 0 0 1 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  --paper-svg: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='.035' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .2 0 0 0 .9 0'/></filter><rect width='400' height='400' filter='url(%23p)'/></svg>");
  --grain-a-light: .035; --grain-a-dark: .07;
  --dur-marquee: 34s;
  --dur-instant: 100ms; --dur-fast: 150ms; --dur-normal: 250ms; --dur-slow: 400ms; --dur-brand: 600ms; --dur-loop: 800ms;
  --ease-out: cubic-bezier(.23, 1, .32, 1); --ease-in-out: cubic-bezier(.77, 0, .175, 1); --ease-drawer: cubic-bezier(.32, .72, 0, 1);
  --stagger: 50ms;
  --z-grain: 10; --z-sticky: 20; --z-stickybar: 25; --z-header: 30; --z-dropdown: 40; --z-float: 50; --z-banner: 60; --z-backdrop: 70; --z-sheet: 80; --z-toast: 90; --z-skip: 100;
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px; --sp-6: 24px; --sp-7: 32px; --sp-8: 40px; --sp-9: 48px; --sp-10: 64px; --sp-11: 80px;
  --page-top: 40px; --page-bottom: 80px;
  --rhythm-xl: clamp(72px, 7vw, 96px); --rhythm-lg: clamp(48px, 5vw, 64px); --rhythm-md: clamp(32px, 3.2vw, 40px); --rhythm-sm: 20px;
  --fs-12: 12px; --fs-13: 13px; --fs-14: 14px; --fs-15: 15px; --fs-16: 16px; --fs-18: 18px; --fs-20: 20px; --fs-22: 22px; --fs-26: 26px;
  --fs-display: clamp(40px, 5.4vw, 76px); --fs-h1: clamp(34px, 3.6vw, 50px); --fs-h2: clamp(24px, 2.5vw, 34px); --fs-h3: clamp(18px, 1.5vw, 22px);
  --fs-lede: clamp(17px, 1.3vw, 19px); --fs-body: 16px; --fs-meta: 13px; --fs-small: 13px;
  --lh-body: 1.6; --lh-ui: 1.4; --lh-display: .98; --measure: 66ch;
  --obj-cover: clamp(240px, 32vw, 460px); --obj-list: clamp(140px, 13vw, 180px); --obj-row: 100px;
  --container: 1280px; --container-wide: 1440px; --col-gap: clamp(16px, 1.8vw, 24px); --gutter: clamp(20px, 3vw, 32px); --header-h: 72px;
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
html,
body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  font-size: var(--fs-body);
  line-height: 1.5;
}
* {
  box-sizing: border-box;
}
a {
  color: var(--gold);
  text-decoration: none;
}
a:hover {
  color: var(--gold-dark);
}
.mg-crumbs a, .mg-meta a, .mg-lede a, .mg-masthead__meta a, .mg-nl__consent a, .mg-prose a, .mg-row__meta a, .mg-cathead__tools a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.mg-crumbs a, .mg-cathead__tools a, .mg-masthead__meta a { text-decoration-color: var(--border-outline); }
img {
  max-width: 100%;
  height: auto;
}
input,
select,
textarea,
button {
  font-family: inherit;
  font-size: inherit;
}
input::placeholder,
textarea::placeholder {
  color: var(--muted-2);
}
select {
  appearance: none;
  -webkit-appearance: none;
}
::selection {
  background: var(--accent);
  color: var(--ink);
}
:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}
h1,
h2,
h3 {
  text-wrap: balance;
  margin: 0;
}
p { text-wrap: pretty; }
[hidden]:not([hidden="until-found"]) {
  display: none!important;
}
html { scrollbar-gutter: stable; }
html:has(dialog[open]) { overflow: hidden; }
.mg-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: clip;
}
.mg-main {
  flex: 1;
}
.mg-container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.mg-section {
  padding-block: 40px 80px;
}
.mg-narrow {
  max-width: 920px;
}
.mg-skip {
  position: absolute;
  left: -999px;
  top: 8px;
  background: var(--gold);
  color: var(--surface);
  padding: 8px 16px;
  border-radius: 8px;
  z-index: var(--z-skip);
}
.mg-skip:focus {
  left: 8px;
  color: var(--surface);
}
.mg-printhead { display: none; }
.mg-sr { position: absolute!important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.mg-h1--lede { margin-bottom: 16px; }
.mg-hp {
  position: absolute!important;
  left: -9999px!important;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.mg-display { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-display); line-height: var(--lh-display); letter-spacing: -.02em; margin: 0; }
.mg-h1 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--fs-h1);
  line-height: 1.02;
  letter-spacing: -.02em;
  margin: 12px 0 16px;
}
.mg-h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--fs-h2);
  line-height: 1.08;
  letter-spacing: -.01em;
}
.mg-h3 { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h3); line-height: 1.2; margin: 0; }
.mg-lede { font-size: var(--fs-lede); line-height: 1.45; color: var(--ink-2); margin: 0; text-wrap: pretty; max-width: 48ch; }
.mg-meta { font-size: var(--fs-meta); color: var(--muted); }
.mg-italic { font-family: var(--font-display); font-style: italic; font-weight: 400; }
.mg-cap { font-family: var(--font-hand); font-size: 20px; color: var(--gold-dark); rotate: -2deg; display: inline-block; }
.mg-prose {
  font-size: var(--fs-body);
  line-height: 1.65;
  color: var(--ink-2);
  max-width: var(--measure);
}
.mg-prose p {
  margin: 0 0 1.2em;
}
.mg-prose h2,
.mg-prose h3 {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.15;
  margin: 1.4em 0 .5em;
  text-wrap: balance;
}
.mg-prose ul, .mg-prose ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.mg-prose li { margin: 0 0 .4em; }
.mg-prose blockquote { margin: 1.4em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--accent); font-family: var(--font-display); font-size: 1.1em; color: var(--ink); }
.mg-prose img { border-radius: var(--r-md); }
.mg-prose .mg-prose__img { display: block; width: 100%; height: auto; margin: 1.4em 0; }
.mg-prose figure { margin: 1.4em 0; }
.mg-prose figcaption { font-size: var(--fs-14); color: var(--muted); margin-top: 8px; }
.mg-prose hr { border: 0; border-top: 1px solid var(--border-rule); margin: 2em 0; }
.mg-prose table { width: 100%; border-collapse: collapse; font-size: var(--fs-15); margin: 0 0 1.4em; }
.mg-prose th, .mg-prose td { text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--border); vertical-align: top; }
.mg-prose th { font-weight: 700; color: var(--ink); }
.mg-prose a { text-decoration: underline; text-underline-offset: 3px; }
.mg-span2 {
  grid-column: 1/-1;
}
@media (max-width:1180px) {
  .mg-search__input { min-height: 32px;
    width: 90px!important;
  }
}
@media (max-width:900px) {
  .mg-desk {
    display: none!important;
  }
}
@media (min-width:901px) {
  .mg-mob {
    display: none!important;
  }
}
@keyframes mgFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mgDrop {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  .mg-header { view-transition-name: mg-header; }
  .mg-masthead__title { view-transition-name: mg-masthead; }
}
@media (prefers-reduced-motion: reduce) {
  @keyframes mgDrop { from { opacity: 0; } to { opacity: 1; } }
  *,
  *::before,
  *::after {
    animation-duration: var(--dur-fast)!important;
    transition-duration: var(--dur-fast)!important;
    scroll-behavior: auto!important;
  }
  .mg-drawer, .mg-drawer[open], .mg-toast, .mg-toast[hidden], .mg-mega[hidden], .mg-mobile[hidden], .mg-stickybar[hidden] { translate: 0 0!important; }
  .mg-toast, .mg-toast[hidden] { translate: -50% 0!important; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation-duration: 0s!important; }
  .mg-btn:active, .mg-chip:active, .mg-iconbtn:active, .mg-inqbtn:active,
  .mg-btn--primary:hover, .mg-btn--accent:hover,
  .mg-card:hover .mg-card__obj > img, .mg-mega__cat:hover .mg-mega__catobj > img, .mg-404__art:hover .mg-404__crumb {
    transform: none!important;
  }
}
.mg-fade { opacity: 0; }
.mg-obj img, .mg-still img, .mg-photo { transition: opacity var(--dur-slow) var(--ease-out); }
@media (prefers-reduced-motion: reduce) { .mg-fade { opacity: 1; } }
@keyframes mgReveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes mgHeroImg { from { opacity: 0; transform: scale(1.03); } to { opacity: 1; transform: none; } }
@keyframes mgNote { from { opacity: 0; rotate: -14deg; } to { opacity: 1; rotate: -9deg; } }
.mg-reveal-group > :nth-child(1) { --i: 0; } .mg-reveal-group > :nth-child(2) { --i: 1; } .mg-reveal-group > :nth-child(3) { --i: 2; } .mg-reveal-group > :nth-child(4) { --i: 3; }
.mg-reveal-group > :nth-child(5) { --i: 4; } .mg-reveal-group > :nth-child(6) { --i: 5; } .mg-reveal-group > :nth-child(7) { --i: 6; } .mg-reveal-group > :nth-child(8) { --i: 7; }
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    html.mg-js .mg-reveal { animation: mgReveal linear both; animation-timeline: view(); animation-range: entry 0% entry 25%; }
    html.mg-js .mg-reveal-group > * { animation: mgReveal linear both; animation-timeline: view(); animation-range: entry calc(0% + var(--i, 0) * 4%) entry calc(25% + var(--i, 0) * 4%); }
  }
  @supports not (animation-timeline: view()) {
    html.mg-js .mg-reveal:not(.is-inview), html.mg-js .mg-reveal-group:not(.is-inview) > * { opacity: 0; }
    html.mg-js .mg-reveal.is-inview { animation: mgReveal var(--dur-brand) var(--ease-out) both; }
    html.mg-js .mg-reveal-group.is-inview > * { animation: mgReveal var(--dur-brand) var(--ease-out) both; animation-delay: calc(var(--i, 0) * var(--stagger)); }
  }
  .mg-hero__h1, .mg-hero__sub, .mg-hero__ctas, .mg-hero__meta { animation: mgReveal var(--dur-slow) var(--ease-out) both; }
  .mg-hero__sub { animation-delay: calc(var(--stagger) * 1.2); }
  .mg-hero__ctas { animation-delay: calc(var(--stagger) * 2.4); }
  .mg-hero__meta { animation-delay: calc(var(--stagger) * 3.6); }
  .mg-hero-img { animation: mgHeroImg var(--dur-brand) var(--ease-out) both; }
  .mg-hero__note { animation: mgNote var(--dur-slow) var(--ease-out) both; animation-delay: var(--dur-slow); }
}
@media print { body::after { display: none!important; } }
.mg-container--wide { max-width: var(--container-wide); }
.mg-grid-12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: var(--row-gap, var(--sp-6)); align-items: start; }
.mg-span-1 { grid-column-end: span 1; } .mg-span-2 { grid-column-end: span 2; } .mg-span-3 { grid-column-end: span 3; } .mg-span-4 { grid-column-end: span 4; }
.mg-span-5 { grid-column-end: span 5; } .mg-span-6 { grid-column-end: span 6; } .mg-span-7 { grid-column-end: span 7; } .mg-span-8 { grid-column-end: span 8; }
.mg-span-9 { grid-column-end: span 9; } .mg-span-10 { grid-column-end: span 10; } .mg-span-11 { grid-column-end: span 11; } .mg-span-12 { grid-column: 1 / -1; }
.mg-start-2 { grid-column-start: 2; } .mg-start-3 { grid-column-start: 3; } .mg-start-4 { grid-column-start: 4; } .mg-start-5 { grid-column-start: 5; }
.mg-start-6 { grid-column-start: 6; } .mg-start-7 { grid-column-start: 7; } .mg-start-8 { grid-column-start: 8; } .mg-start-9 { grid-column-start: 9; }
.mg-row-gap-sm { --row-gap: var(--sp-4); } .mg-row-gap-md { --row-gap: var(--sp-7); } .mg-row-gap-lg { --row-gap: var(--sp-10); }
.mg-stack > * + * { margin-top: var(--stack, var(--sp-5)); }
.mg-stack--sm { --stack: var(--sp-3); } .mg-stack--lg { --stack: var(--sp-8); }
.mg-main { container: page / inline-size; }
.mg-bleed { width: 100cqw; margin-inline: calc(50% - 50cqw); }
.mg-bleed--gutter { width: calc(100cqw - 2 * var(--gutter)); margin-inline: calc(50% - 50cqw + var(--gutter)); }
.mg-band { padding-block: var(--rhythm-lg); }
.mg-band--xl { padding-block: var(--rhythm-xl); }
.mg-band--sand { background: var(--sand-2); }
@media (max-width: 900px) {
  [class*="mg-span-"], [class*="mg-start-"] { grid-column: 1 / -1; }
  .mg-span-md-6 { grid-column: span 6; } .mg-span-md-4 { grid-column: span 4; } .mg-span-md-8 { grid-column: span 8; }
}
@media (max-width: 600px) {
  .mg-span-md-6, .mg-span-md-4, .mg-span-md-8 { grid-column: 1 / -1; }
}
.mg-kicker {
  font-size: var(--fs-12);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
}
.mg-panel--dark .mg-kicker { color: var(--accent); }
.mg-crumbs {
  font-size: var(--fs-13);
  color: var(--muted);
  margin-bottom: 16px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.mg-crumbs span { opacity: .5; }
.mg-crumbs span:last-child { opacity: 1; }
.mg-sechead { display: flex; align-items: baseline; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; margin: var(--rhythm-lg) 0 var(--rhythm-sm); }
.mg-sechead--md { margin-top: var(--rhythm-md); }
.mg-sechead--flush { margin-top: 0; }
.mg-sechead__title { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h2); line-height: 1.1; letter-spacing: -.01em; margin: 0; }
.mg-sechead__sub { font-family: var(--font-display); font-style: italic; font-size: var(--fs-18); color: var(--ink-2); margin: 8px 0 0; }
.mg-sechead__desc { font-size: var(--fs-15); color: var(--muted); margin: 8px 0 0; max-width: 60ch; text-wrap: pretty; }
.mg-sechead__link { display: inline-block; font-weight: 600; font-size: var(--fs-15); color: var(--ink); white-space: nowrap; padding-block: 6px; margin-block: -6px; }
.mg-sechead__link:hover { color: var(--gold); }
.mg-sechead__tools { display: flex; gap: 8px; align-items: center; }
.mg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: var(--r-pill);
  padding: 12px 24px;
  font-weight: 600;
  font-size: var(--fs-16);
  line-height: 1.2;
  cursor: pointer;
  border: 1.5px solid transparent;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
@supports (text-box-trim: trim-both) {
  .mg-btn { text-box-trim: trim-both; text-box-edge: cap alphabetic; padding-top: 13px; padding-bottom: 13px; }
}
.mg-btn--primary { background: var(--gold); color: var(--surface); box-shadow: var(--sh-cta); }
.mg-btn--primary:hover { background: var(--gold-dark); color: var(--surface); }
.mg-btn--outline { border-color: var(--gold); color: var(--gold); background: transparent; }
.mg-btn--outline:hover { background: var(--gold); color: var(--surface); }
.mg-btn--accent { background: var(--accent); color: var(--gold-deep); border: 0; }
.mg-btn--accent:hover { background: var(--accent-hover); color: var(--gold-deep); }
.mg-btn--ghost { background: transparent; color: var(--gold); padding-left: 12px; padding-right: 12px; }
.mg-btn--ghost:hover { color: var(--gold-dark); background: var(--gold-tint); }
.mg-btn--sm { padding: 8px 16px; font-size: var(--fs-14); }
.mg-btn--lg { padding: 16px 28px; font-size: 17px; gap: 12px; }
.mg-btn--block { width: 100%; }
.mg-btn[disabled],
.mg-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; box-shadow: none; }
.mg-btn.is-shake { animation: mgShake var(--dur-fast) var(--ease-out); }
.mg-btn.is-loading { pointer-events: none; }
.mg-btn.is-loading::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid currentColor;
  border-right-color: transparent;
  animation: mgSpin var(--dur-loop) linear infinite;
}
@media (hover: hover) and (pointer: fine) {
  .mg-btn--primary:hover { transform: translateY(-1px); }
  .mg-btn--accent:hover { transform: translateY(-1px); }
}
.mg-btn:active,
.mg-chip:active,
.mg-iconbtn:active { transform: scale(.97); }
.mg-iconbtn {
  --size: 38px;
  flex: none;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  border: 1.5px solid var(--gold);
  background: transparent;
  color: var(--gold);
  cursor: pointer;
  display: inline-grid;
  place-items: center;
  font-size: 18px;
  line-height: 1;
  padding: 0;
  position: relative;
  transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.mg-iconbtn:hover { background: var(--gold); color: var(--surface); }
.mg-iconbtn--thin { border-width: 1px; border-color: var(--border-outline); font-size: 16px; }
.mg-iconbtn--ghost { border-color: transparent; color: var(--muted); font-size: 22px; }
.mg-iconbtn--ghost:hover { background: var(--gold-tint); color: var(--ink); }
.mg-iconbtn[disabled] { opacity: .35; cursor: default; pointer-events: none; }
@media (pointer: coarse) {
  .mg-iconbtn::after { content: ""; position: absolute; inset: calc((var(--size) - 44px) / 2); }
}
@keyframes mgShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}
@keyframes mgSpin { to { transform: rotate(360deg); } }
.mg-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border-input);
  border-radius: var(--r-pill);
  padding: 4px 12px;
  font-size: var(--fs-14);
  font-weight: 600;
  line-height: 1.4;
  color: var(--ink);
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.mg-chip:hover { border-color: var(--gold); color: var(--ink); }
.mg-chip.is-on,
.mg-chip[aria-current] { background: var(--gold); color: var(--surface); border-color: var(--gold); }
.mg-chip--dashed { border-style: dashed; border-color: var(--border-outline); }
.mg-chip--thumb { padding: 4px 16px 4px 4px; }
.mg-chip--thumb .mg-well { --size: 30px; width: var(--size); height: var(--size); }
.mg-chip--lg { padding: 8px 16px; }
@media (pointer: coarse) {
  .mg-chip::after { content: ""; position: absolute; left: 0; right: 0; top: -7px; bottom: -7px; }
}
.mg-badge {
  display: inline-block;
  border-radius: var(--r-pill);
  padding: 4px 12px;
  font-size: var(--fs-12);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .04em;
  color: var(--ink-3);
  border: 1px solid var(--border-input);
  white-space: nowrap;
}
.mg-badge--tag { border-radius: var(--r-badge); font-size: 11px; letter-spacing: .06em; padding: 2px 8px; }
.mg-panel--dark .mg-badge--tag { border-color: var(--cream-line); color: var(--cream-2); }
.mg-num { font-variant-numeric: tabular-nums; }
.mg-well {
  --well-img: 78%;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: var(--r-sm);
  background: transparent;
}
.mg-well > img,
.mg-well > a > img {
  width: var(--well-img);
  height: var(--well-img);
  object-fit: contain;
  display: block;
  mix-blend-mode: multiply;
}
.mg-well--xs { border-radius: var(--r-xs); --well-img: 82%; }
.mg-well--sm { border-radius: var(--r-input); --well-img: 80%; }
.mg-well--flat { background: var(--surface); box-shadow: inset 0 0 0 1px var(--line-soft); }
.mg-well--sand { background: var(--sand); }
.mg-well--bordered { box-shadow: inset 0 0 0 1px var(--line-soft); }
.mg-well__ph {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: repeating-linear-gradient(135deg, var(--tint-3) 0 10px, transparent 10px 20px);
  font-size: var(--fs-13);
  color: var(--muted);
  text-align: center;
  padding: 12px;
}
.mg-obj {
  --obj-h: 240px;
  --obj-shadow: .26;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  place-items: end center;
  height: var(--obj-h);
}
.mg-obj > img, .mg-obj > a > img {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.mg-obj::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4%;
  width: 62%;
  height: 9%;
  translate: -50% 0;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(74, 52, 16, var(--obj-shadow)), rgba(74, 52, 16, 0) 70%);
  pointer-events: none;
}
.mg-obj--cutout > img { filter: drop-shadow(0 14px 10px rgba(74, 52, 16, .14)); }
.mg-obj__tip { position: absolute; left: 50%; bottom: calc(100% + 8px); translate: -50% 4px; z-index: var(--z-float); padding: 4px 8px; border-radius: var(--r-xs); background: var(--ink); color: var(--surface); font-family: var(--font-body); font-size: var(--fs-12); line-height: 16px; font-weight: 600; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity var(--dur-fast) var(--ease-out), translate var(--dur-fast) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .mg-obj:hover > .mg-obj__tip { opacity: 1; translate: -50% 0; } }
.mg-still { display: flex; align-items: flex-end; justify-content: center; gap: 0; }
.mg-still > .mg-obj { flex: 0 1 auto; }
.mg-still > .mg-obj + .mg-obj { margin-left: -12%; }
.mg-still > .mg-obj:nth-child(2) { z-index: 2; }
.mg-still > .mg-obj:nth-child(3) { --obj-h: calc(var(--still-h, 240px) * .86); }
.mg-still > .mg-obj:nth-child(1) { --obj-h: calc(var(--still-h, 240px) * .92); }
.mg-still > .mg-obj:nth-child(2) { --obj-h: var(--still-h, 240px); }
.mg-still > .mg-obj:nth-child(4) { --obj-h: calc(var(--still-h, 240px) * .8); }
.mg-still > .mg-obj:nth-child(5) { --obj-h: calc(var(--still-h, 240px) * .74); }
.mg-still--even { gap: var(--still-gap, 28px); width: 100%; container-type: inline-size; overflow-x: clip; }
.mg-still--even > .mg-obj { flex: none; --still-h: min(var(--still-max, 340px), calc((100cqw - (var(--still-n, 1) - 1) * var(--still-gap, 28px)) / var(--still-fit, 3))); }
.mg-still--even > .mg-obj + .mg-obj { margin-left: 0; }
.mg-still--even > .mg-obj[style*="--ink-l"] { margin-left: calc(-1 * var(--ink-l) * var(--obj-h) * var(--asp, 1)); margin-right: calc(-1 * var(--ink-r) * var(--obj-h) * var(--asp, 1)); margin-bottom: calc(-1 * var(--ink-b) * var(--obj-h)); }
.mg-grid {
  container-type: inline-size;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--sp-7) var(--col-gap);
}
.mg-grid--catalog { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mg-grid--related { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.mg-card { position: relative; display: block; color: var(--ink); min-width: 0; }
.mg-card__obj { --obj-h: var(--obj-list); --obj-shadow: .22; width: 100%; }
.mg-card__obj > img { transition: translate var(--dur-normal) var(--ease-out); }
.mg-card__link { color: inherit; }
.mg-card__link::after { content: ""; position: absolute; inset: 0; }
.mg-card__foot { margin-top: 12px; display: grid; gap: 4px; align-content: start; }
.mg-card__brand { display: block; font-size: var(--fs-small); color: var(--muted); letter-spacing: .02em; }
.mg-card__name { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-18); line-height: 1.2; margin: 0; transition: color var(--dur-fast) var(--ease-out); }
.mg-card__meta { font-size: var(--fs-meta); color: var(--muted); margin: 0; font-variant-numeric: tabular-nums; }
.mg-card__avail { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; line-height: 20px; font-size: var(--fs-12); font-weight: 600; color: var(--ok); }
.mg-card__avail i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.mg-card__b2b { display: none; margin-top: 4px; line-height: 20px; font-size: var(--fs-meta); color: var(--muted); }
html[data-mode="partner"] .mg-card--grid .mg-card__meta, html[data-mode="partner"] .mg-card--grid .mg-card__avail { display: none; }
html[data-mode="partner"] .mg-card--grid .mg-card__b2b { display: block; }
.mg-card--grid { padding: 12px 12px 16px; margin: -12px -12px -16px; border-radius: var(--r-sm); transition: background-color var(--dur-fast) var(--ease-out); }
.mg-card--grid .mg-card__quick { right: 16px; top: calc(var(--obj-list) - 28px); }
.mg-card__note { font-family: var(--font-hand); font-size: 19px; color: var(--gold-dark); margin-top: 8px; rotate: -2deg; display: inline-block; max-width: 100%; }
.mg-card__quick { position: absolute; right: 4px; top: calc(var(--obj-list) - 40px); z-index: 2; opacity: 0; background: var(--surface); border: 1px solid var(--border-outline); transition: opacity var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out); }
.mg-card:hover .mg-card__quick, .mg-card:focus-within .mg-card__quick, .mg-card__quick.is-on { opacity: 1; }
.mg-card__plus, .mg-card__check { grid-area: 1/1; display: block; transition: transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out); }
.mg-card__check { opacity: 0; transform: scale(.6); font-size: 16px; }
.mg-card__quick.is-on { background: var(--gold); color: var(--surface); box-shadow: var(--ring); }
.mg-card__quick.is-on:hover { background: var(--gold-dark); }
.mg-card__quick.is-on .mg-card__plus { opacity: 0; transform: rotate(90deg); }
.mg-card__quick.is-on .mg-card__check { opacity: 1; transform: scale(1); }
.mg-card--lead { grid-column: span 2; }
.mg-card--lead .mg-card__obj { --obj-h: calc(var(--obj-list) * 1.5); }
.mg-card--lead .mg-card__name { font-size: var(--fs-h2); }
.mg-card--mini .mg-card__obj { --obj-h: calc(var(--obj-list) * .8); }
.mg-card--mini .mg-card__name { font-size: var(--fs-18); }
.mg-card--snap, .mg-card--lead { scroll-snap-align: start; }
@media (hover: hover) and (pointer: fine) {
  .mg-card:hover .mg-card__obj > img { translate: 0 -4px; }
  .mg-card:hover .mg-card__name { color: var(--gold); }
  .mg-card--grid:hover { background: var(--surface); }
}
@media (pointer: coarse) { .mg-card__quick { opacity: 1; } }
@media (max-width: 1180px) {
  .mg-grid--catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mg-grid--related { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .mg-grid, .mg-grid--catalog, .mg-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-7) 16px; }
  .mg-card__obj { --obj-h: 40vw; }
  .mg-card--grid { padding: 0; margin: 0; }
  .mg-card--grid .mg-card__quick { right: 4px; top: calc(40vw - 36px); }
  .mg-card__name { font-size: var(--fs-18); }
  .mg-card--lead { grid-column: span 1; }
  .mg-card--lead .mg-card__obj { --obj-h: 40vw; }
  .mg-card--lead .mg-card__name { font-size: var(--fs-18); }
}
.mg-card__ext { color: var(--muted); font-size: var(--fs-14); }
.mg-surface {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: var(--surface-pad, 24px);
  color: var(--ink);
}
.mg-surface--md { border-radius: var(--r-md); }
.mg-surface--flush { padding: 0; overflow: hidden; }
@media (hover: hover) and (pointer: fine) {
}
.mg-panel {
  position: relative;
  overflow: hidden;
  border-radius: var(--r-xl);
  padding: var(--panel-pad, clamp(28px, 4vw, 48px));
}
.mg-panel--dark {
  background: linear-gradient(165deg, rgba(255, 255, 255, .04), transparent 45%), linear-gradient(0deg, rgba(0, 0, 0, .18), transparent 55%), var(--cocoa);
  color: var(--on-cocoa);
}
.mg-grain::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--grain-svg) repeat; opacity: var(--grain-a, var(--grain-a-dark)); mix-blend-mode: multiply; pointer-events: none; }
.mg-band--paper { position: relative; background: var(--sand-2); }
.mg-band--paper > * { position: relative; }
.mg-panel > * { position: relative; }
.mg-panel--dark p { color: var(--cream-2); }
.mg-panel--dark strong { color: var(--cream-1); }
.mg-panel--dark a:not(.mg-btn) { color: var(--cream-1); }
.mg-panel--dark a:not(.mg-btn):hover { color: var(--accent-hover); }
.mg-panel__title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--fs-h2);
  line-height: 1.08;
  letter-spacing: -.01em;
  margin: 12px 0 16px;
}
@media (max-width: 900px) {
  .mg-panel { --panel-pad: 28px; }
}
.mg-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px var(--col-gap);
}
.mg-form__group { grid-column: 1 / -1; padding-top: var(--sp-5); font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h3); }
.mg-form--tight { grid-template-columns: 1fr 1fr; gap: 12px; }
.mg-form__actions { display: flex; justify-content: flex-end; align-items: center; gap: 16px; flex-wrap: wrap; }
.mg-form__actions--between { justify-content: space-between; }
.mg-form__error { color: var(--error); font-size: var(--fs-14); }
.mg-panel--dark .mg-form__error { color: var(--accent-hover); }
.mg-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: var(--fs-13);
  font-weight: 600;
  color: var(--ink-3);
  min-width: 0;
}
.mg-panel--dark .mg-field { color: var(--cream-2); }
.mg-field :where(input:not([type=checkbox]):not([type=radio])),
.mg-field select,
.mg-field textarea {
  width: 100%;
  border: 1px solid var(--border-input);
  border-radius: var(--r-input);
  padding: 12px 16px;
  font-size: var(--fs-16);
  font-weight: 400;
  background: var(--surface);
  color: var(--ink);
  outline: 0;
  resize: vertical;
  min-height: 48px;
  transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.mg-field select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%236e4f1a'/></svg>"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 32px; }
.mg-field input:hover, .mg-field select:hover, .mg-field textarea:hover { border-color: var(--border-outline); }
.mg-field input:focus, .mg-field select:focus, .mg-field textarea:focus { border-color: var(--gold); box-shadow: var(--ring); }
.mg-panel--dark .mg-field input, .mg-panel--dark .mg-field select, .mg-panel--dark .mg-field textarea { border-color: transparent; }
.mg-panel--dark .mg-field input:focus, .mg-panel--dark .mg-field select:focus, .mg-panel--dark .mg-field textarea:focus { box-shadow: var(--ring-on-dark); border-color: transparent; }
.mg-field input[aria-invalid="true"], .mg-field textarea[aria-invalid="true"] { border-color: var(--error); }
.mg-field input:user-invalid, .mg-field select:user-invalid, .mg-field textarea:user-invalid { border-color: var(--error); }
.mg-field input[disabled], .mg-field select[disabled], .mg-field textarea[disabled] { opacity: .55; cursor: not-allowed; }
.mg-field__error { font-weight: 600; color: var(--error); font-size: var(--fs-13); }
.mg-panel--dark .mg-field__error { color: var(--accent-hover); }
.mg-field--check {
  flex-direction: row;
  align-items: center;
  gap: 12px;
  font-weight: 400;
  font-size: var(--fs-14);
  color: var(--ink);
  min-height: 44px;
  cursor: pointer;
}
.mg-panel--dark .mg-field--check { color: var(--cream-1); }
.mg-field--check input { width: 18px; height: 18px; flex: none; accent-color: var(--gold); margin: 0; }
.mg-panel--dark .mg-field--check input { accent-color: var(--accent); }
.mg-field--check.is-strong { font-size: var(--fs-15); }
.mg-field--pill input { border: 0; border-radius: var(--r-pill); padding: 13px 16px; }
.mg-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
form[aria-busy="true"] { opacity: .8; }
form[aria-busy="true"] button[type=submit] { pointer-events: none; }
@media (max-width: 900px) {
  .mg-form--tight { grid-template-columns: 1fr; }
}
.mg-fieldcard { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: clamp(24px, 3vw, 40px); box-shadow: var(--elev-raised); }
.mg-fieldcard__head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px 24px; flex-wrap: wrap; margin-bottom: var(--sp-6); padding-bottom: var(--sp-5); border-bottom: 1px solid var(--border-rule); }
.mg-fieldcard__title { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h3); line-height: 1.15; letter-spacing: -.01em; }
.mg-fieldcard__sub { font-family: var(--font-display); font-style: italic; font-size: var(--fs-16); color: var(--ink-2); }
.mg-fieldcard .mg-noscript { margin-bottom: var(--sp-5); }
.mg-field:focus-within { color: var(--gold-dark); }
.mg-field__opt { margin-top: -4px; font-size: var(--fs-12); font-weight: 400; color: var(--muted); }
.mg-form__trust { margin-right: auto; max-width: 34ch; font-size: var(--fs-13); line-height: 1.45; color: var(--muted); }
.mg-receipt { position: relative; background: var(--surface); border: 1px solid var(--border-rule); border-bottom: 0; border-radius: var(--r-sm) var(--r-sm) 0 0; padding: var(--sp-6) var(--sp-7) var(--sp-8); outline: 0; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), 98.438% 100%, 96.875% calc(100% - 10px), 95.312% 100%, 93.750% calc(100% - 10px), 92.188% 100%, 90.625% calc(100% - 10px), 89.062% 100%, 87.500% calc(100% - 10px), 85.938% 100%, 84.375% calc(100% - 10px), 82.812% 100%, 81.250% calc(100% - 10px), 79.688% 100%, 78.125% calc(100% - 10px), 76.562% 100%, 75.000% calc(100% - 10px), 73.438% 100%, 71.875% calc(100% - 10px), 70.312% 100%, 68.750% calc(100% - 10px), 67.188% 100%, 65.625% calc(100% - 10px), 64.062% 100%, 62.500% calc(100% - 10px), 60.938% 100%, 59.375% calc(100% - 10px), 57.812% 100%, 56.250% calc(100% - 10px), 54.688% 100%, 53.125% calc(100% - 10px), 51.562% 100%, 50% calc(100% - 10px), 48.438% 100%, 46.875% calc(100% - 10px), 45.312% 100%, 43.750% calc(100% - 10px), 42.188% 100%, 40.625% calc(100% - 10px), 39.062% 100%, 37.500% calc(100% - 10px), 35.938% 100%, 34.375% calc(100% - 10px), 32.812% 100%, 31.250% calc(100% - 10px), 29.688% 100%, 28.125% calc(100% - 10px), 26.562% 100%, 25.000% calc(100% - 10px), 23.438% 100%, 21.875% calc(100% - 10px), 20.312% 100%, 18.750% calc(100% - 10px), 17.188% 100%, 15.625% calc(100% - 10px), 14.062% 100%, 12.500% calc(100% - 10px), 10.938% 100%, 9.375% calc(100% - 10px), 7.812% 100%, 6.250% calc(100% - 10px), 4.688% 100%, 3.125% calc(100% - 10px), 1.562% 100%, 0 calc(100% - 10px)); }
.mg-fieldcard .mg-receipt { border-color: var(--border); background: var(--bg); }
.mg-receipt__head { display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap; margin-bottom: var(--sp-6); }
.mg-receipt__stamp { display: inline-block; padding: 6px 14px; border: 3px double var(--gold); border-radius: var(--r-xs); color: var(--gold); font-family: var(--font-display); font-size: var(--fs-20); line-height: 1.1; letter-spacing: .04em; text-transform: uppercase; rotate: -4deg; mix-blend-mode: multiply; }
.mg-receipt__date { font-size: var(--fs-13); color: var(--muted); }
.mg-receipt__reflabel { font-size: var(--fs-13); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.mg-receipt__ref { margin: 2px 0 var(--sp-5); font-family: var(--font-display); font-size: clamp(28px, 3vw, 40px); line-height: 1.1; letter-spacing: .02em; color: var(--ink); }
.mg-receipt__next { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; font-size: var(--fs-15); line-height: 1.5; color: var(--ink-2); }
.mg-receipt__next li { position: relative; padding-left: 20px; }
.mg-receipt__next li::before { content: "✓"; position: absolute; left: 0; color: var(--gold); font-weight: 700; }
@media (prefers-reduced-motion: no-preference) {
  .mg-receipt:not([hidden]) { animation: mgPop var(--dur-slow) var(--ease-out); }
  .mg-receipt:not([hidden]) .mg-receipt__stamp { animation: mgStamp var(--dur-slow) var(--ease-out) both; animation-delay: var(--dur-normal); }
}
@media (max-width: 600px) {
  .mg-fieldcard { padding: 20px 16px; }
  .mg-receipt { padding: var(--sp-5) var(--sp-5) var(--sp-7); }
  .mg-form__trust { max-width: none; flex-basis: 100%; }
}
.mg-done {
  display: grid;
  place-items: center;
  text-align: center;
  padding: 40px 24px; background: var(--sand-2); border-radius: var(--r-md);
}
.mg-done--sand { border: 0; background: var(--sand); padding: 24px; }
.mg-done--chip { display: inline-block; border: 0; border-radius: var(--r-pill); padding: 12px 16px; background: var(--tint-2); font-size: var(--fs-15); text-align: left; }
.mg-done--line { display: block; padding: 12px 0; border: 0; border-radius: 0; background: none; font-size: var(--fs-16); font-weight: 600; line-height: 1.45; text-align: left; color: var(--ink); }
.mg-panel--dark .mg-done--line { color: var(--on-cocoa); }
.mg-panel--dark .mg-done { border-color: var(--border-on-dark); }
.mg-done__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto;
  border-radius: 50%;
  background: var(--gold);
  color: var(--surface);
  display: grid;
  place-items: center;
  font-size: 24px;
}
.mg-done--sand .mg-done__icon { width: 48px; height: 48px; font-size: 20px; }
.mg-panel--dark .mg-done__icon { background: var(--accent); color: var(--gold-deep); }
.mg-done__title { font-family: var(--font-display); font-size: var(--fs-26); margin: 16px 0 8px; }
.mg-done--sand .mg-done__title { font-size: var(--fs-22); margin-top: 12px; }
.mg-done__text { font-size: var(--fs-15); color: var(--ink-2); max-width: 380px; line-height: 1.5; margin: 0; }
.mg-panel--dark .mg-done__text { color: var(--cream-2); }
@media (prefers-reduced-motion: no-preference) {
  .mg-done { animation: mgPop var(--dur-slow) var(--ease-out); }
}
@keyframes mgPop { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
.mg-empty { background: var(--sand-2); border-radius: var(--r-md);
  padding: 40px 24px;
  text-align: center;
  color: var(--muted);
}
.mg-empty--big { padding: 72px 32px; border-radius: var(--r-lg); }
.mg-empty__title { font-family: var(--font-display); font-size: 28px; color: var(--ink); }
.mg-empty p { margin: 8px 0 16px; }
.mg-testimonials, .mg-nlwrap, .mg-footer { content-visibility: auto; contain-intrinsic-size: auto 480px; }
.mg-h1--tight { margin: 8px 0 0; line-height: 1; }
.mg-noscript { margin: 0 0 var(--sp-4); padding: 12px 16px; border: 1px solid var(--border-rule); border-radius: var(--r-input); font-size: var(--fs-14); line-height: 1.5; color: var(--ink-2); }
.mg-panel--dark .mg-noscript { border-color: var(--border-on-dark); color: var(--on-cocoa-2); }
.mg-noscript__menu { display: inline-flex; align-items: center; min-height: 40px; padding: 0 12px; font-weight: 600; color: var(--ink); }
.mg-404__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.mg-404__text { margin: var(--sp-5) 0 var(--sp-6); }
.mg-404__search { margin-bottom: 16px; max-width: 420px; }
.mg-404__search .mg-search__input { width: 100%; min-height: 40px; }
.mg-404__chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
.mg-404__ctas { display: flex; gap: 12px; flex-wrap: wrap; margin: 0; }
.mg-404__art { position: relative; display: grid; place-items: center; color: var(--ink-3); }
.mg-404__cookie { width: min(320px, 70%); }
.mg-404__crumb { transition: transform var(--dur-slow) var(--ease-out); }
.mg-404__note { position: absolute; right: 8%; bottom: 6%; font-family: var(--font-hand); font-size: clamp(20px, 2.2vw, 28px); color: var(--gold-dark); rotate: -2deg; }
@media (hover: hover) and (pointer: fine) {
  .mg-404__art:hover .mg-404__crumb { transform: translate(6px, -5px); }
  .mg-404__art:hover .mg-404__crumb:nth-child(even) { transform: translate(-4px, 6px); }
}
@media (max-width: 900px) {
  .mg-404__grid { grid-template-columns: 1fr; }
  .mg-404__art { order: -1; }
  .mg-404__cookie { width: 180px; }
}
.mg-legal__h1 { margin: 0 0 var(--rhythm-md); }
.mg-legal__grid { align-items: start; }
.mg-legal__toc { position: sticky; top: calc(var(--header-h) + 24px); }
.mg-legal__toc summary { list-style: none; margin: 0 0 var(--sp-3); font-size: var(--fs-meta); font-weight: 600; color: var(--muted); }
.mg-legal__toc summary::-webkit-details-marker { display: none; }
.mg-legal__toc ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border-rule); }
.mg-legal__toc a { display: block; padding: 10px 0; border-bottom: 1px solid var(--border-rule); font-size: var(--fs-15); line-height: 1.35; color: var(--ink-2); transition: color var(--dur-fast) var(--ease-out); }
.mg-legal__toc a:hover { color: var(--gold); }
.mg-legal__body > :first-child { margin-top: 0; }
.mg-legal__body h2 { scroll-margin-top: calc(var(--header-h) + 24px); }
@media (min-width: 901px) { .mg-legal__toc summary { pointer-events: none; } }
@media (max-width: 900px) {
  .mg-legal__toc { position: static; margin-bottom: var(--sp-6); }
  .mg-legal__toc summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin: 0; border-block: 1px solid var(--border-rule); font-size: var(--fs-15); color: var(--ink); cursor: pointer; }
  .mg-legal__toc summary::after { content: "+"; color: var(--gold); }
  .mg-legal__toc[open] summary::after { content: "−"; }
  .mg-legal__toc ol { border-top: 0; }
}
.mg-404__maybe { display: grid; gap: 4px; margin: var(--sp-5) 0 var(--sp-6); }
.mg-404__label { margin: 0 0 4px; font-size: var(--fs-meta); color: var(--muted); }
.mg-404__hit { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 14px; align-items: center; padding: 6px 0; color: var(--ink); font-weight: 600; }
.mg-404__hit small { display: block; font-weight: 400; font-size: var(--fs-13); color: var(--muted); }
.mg-404__hitobj { --obj-h: 52px; width: 56px; }
.mg-404__hit:hover { color: var(--gold); }
.mg-404__routes { list-style: none; margin: var(--sp-5) 0 0; padding: 0; border-top: 1px solid var(--border-rule); max-width: 560px; }
.mg-404__routes a { display: grid; grid-template-columns: minmax(120px, 2fr) minmax(0, 3fr); gap: 4px 16px; padding: 12px 0; border-bottom: 1px solid var(--border-rule); color: var(--ink); }
.mg-404__rname { font-family: var(--font-display); font-size: var(--fs-20); line-height: 1.2; }
.mg-404__rwhat { align-self: center; font-size: var(--fs-15); color: var(--ink-2); }
.mg-404__routes a:hover .mg-404__rname { color: var(--gold); }
@media (max-width: 600px) { .mg-404__routes a { grid-template-columns: 1fr; } }
@media (pointer: coarse) {
  html .mg-crumbs a, html .mg-footer__legal a, html .mg-sechead__link, html .mg-nl__more, html .mg-cover__kicker a, html .mg-addr__lines a, html .mg-quick__tile a, html .mg-quote figcaption a, html .mg-brandrow__link, html .mg-masthead__meta a, html .mg-masthead__meta > span a, html .mg-newsfresh__all, html .mg-rfq__drawerbtn { display: inline-block; padding-block: 12px; margin-block: -12px; }
  html .mg-article__share a, html .mg-article__share button { min-height: 44px; }
  html .mg-footer__col a { display: flex; align-items: center; min-height: 44px; }
  html .mg-club__q > summary { padding-block: 11px; }
  html .mg-seg > a, html .mg-seg > button, html .mg-chip, html .mg-btn, html .mg-select, html .mg-inqbtn { min-height: 44px; }
  html .mg-iconbtn { min-width: 44px; min-height: 44px; }
  html .mg-logo { display: inline-flex; align-items: center; min-height: 44px; }
  html .mg-suggest__all > span[aria-hidden] { visibility: hidden; }
  html .mg-suggest__all { min-height: 44px; align-items: center; }
}
@media (max-width: 900px) {
  html .mg-select { font-size: var(--fs-16); }
  html .mg-card__avail, html .mg-kicker, html .mg-field__opt, html .mg-partnerform .mg-partnerform__contacts dt, html .mg-cal__day { font-size: var(--fs-13); }
}
.mg-langs { display: inline-flex; align-items: center; gap: 2px; }
.mg-langs a { position: relative; display: inline-flex; align-items: center; min-height: 40px; padding: 0 6px; font-size: var(--fs-13); font-weight: 600; letter-spacing: .04em; color: var(--muted); }
.mg-langs a:hover { color: var(--ink); }
.mg-langs a[aria-current] { color: var(--ink); }
.mg-langs a[aria-current]::after { content: ""; position: absolute; left: 6px; right: 6px; bottom: 8px; height: 2px; background: var(--gold); }
.mg-langsel { position: relative; display: inline-flex; align-items: center; }
.mg-langsel select { border: 0; background: transparent; color: var(--ink); font-size: var(--fs-14); font-weight: 600; cursor: pointer; padding: 0 16px 0 4px; min-height: 40px; appearance: none; -webkit-appearance: none; }
.mg-langsel__arrow { position: absolute; right: 0; pointer-events: none; font-size: var(--fs-12); color: var(--muted); }
.mg-header {
  --header-h: 72px;
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  background: var(--header-bg);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border-header);
}
.mg-header__in { display: flex; align-items: center; gap: 24px; height: var(--header-h); transition: height var(--dur-normal) var(--ease-out); }
.mg-header.is-scrolled { --header-h: 60px; }
.mg-logo { flex: none; display: flex; align-items: center; }
.mg-logo img { height: 44px; width: auto; display: block; transition: height var(--dur-normal) var(--ease-out); }
.mg-header.is-scrolled .mg-logo img { height: 36px; }
.mg-nav { display: flex; gap: 2px; flex: 1 1 0; min-width: 0; justify-content: center; height: 100%; overflow: hidden; }
.mg-nav__link {
  display: flex;
  align-items: center;
  padding: 0 16px;
  font-size: var(--fs-16);
  font-weight: 600;
  white-space: nowrap;
  position: relative;
  color: var(--ink);
  transition: color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.mg-nav__link:hover { color: var(--gold); box-shadow: inset 0 -2px 0 var(--gold-tint-2); }
.mg-nav__link.is-active { color: var(--gold); box-shadow: inset 0 -2px 0 var(--gold); }
.mg-header__tools { position: relative; display: flex; align-items: center; gap: 4px; flex: 0 0 auto; margin-left: auto; }
.mg-header__searchbtn { --size: 40px; color: var(--ink); }
.mg-header__searchbtn[aria-expanded="true"] { color: var(--gold); background: var(--gold-tint); }
.mg-search { position: absolute; right: 0; top: calc(100% + 10px); width: 380px; z-index: calc(var(--z-dropdown) + 1); }
.mg-search[hidden] { display: none; }
.mg-search--inline { position: relative; top: auto; right: auto; width: 100%; z-index: auto; }
.mg-search--inline .mg-search__box { box-shadow: none; }
.mg-search__box {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--border-input);
  border-radius: var(--r-pill);
  padding: 8px 12px;
  background: var(--surface);
  box-shadow: var(--elev-overlay);
  transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.mg-search__box:focus-within { border-color: var(--gold); box-shadow: var(--ring); }
.mg-search__input { border: 0; outline: 0; background: transparent; font-size: var(--fs-16); width: 100%; color: var(--ink); -webkit-appearance: none; min-height: 24px; }
.mg-search__input::-webkit-search-cancel-button { display: none; }
.mg-search kbd { font-family: inherit; font-size: 11px; color: var(--muted-2); border: 1px solid var(--line); border-radius: 5px; padding: 1px 4px; line-height: 1.4; }
.mg-suggest {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 100%;
  max-width: none;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  box-shadow: var(--elev-overlay);
  padding: 8px;
  animation: mgDrop var(--dur-fast) var(--ease-out);
  z-index: var(--z-dropdown);
  transform-origin: top right;
}
.mg-suggest__item { display: grid; grid-template-columns: 48px 1fr; gap: 12px; align-items: center; padding: 8px 12px; border-radius: var(--r-input); color: var(--ink); }
.mg-suggest__item:hover, .mg-suggest__item.is-active { background: var(--sand-2); color: var(--ink); }
.mg-suggest__thumb { width: 44px; height: 44px; }
.mg-suggest__name { display: block; font-weight: 600; font-size: var(--fs-15); }
.mg-suggest__meta { display: block; font-size: var(--fs-13); color: var(--muted); }
.mg-suggest__none { padding: 16px 12px; font-size: var(--fs-14); color: var(--muted); }
.mg-suggest__all { display: flex; justify-content: space-between; padding: 12px 12px 8px; font-size: var(--fs-14); font-weight: 600; color: var(--gold); border-top: 1px solid var(--border-header); margin-top: 4px; }
.mg-inqbtn { display: inline-flex; align-items: center; gap: 8px; border: 0; background: transparent; color: var(--ink); padding: 8px 12px; border-radius: var(--r-pill); font-weight: 600; font-size: var(--fs-15); cursor: pointer; white-space: nowrap; min-height: 40px; transition: color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out); }
.mg-inqbtn:hover { color: var(--gold); background: var(--gold-tint); }
.mg-inqbtn__badge { min-width: 24px; height: 24px; padding: 0 8px; border-radius: var(--r-pill); display: grid; place-items: center; font-size: var(--fs-13); font-weight: 700; background: var(--gold-tint); color: var(--gold); transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.mg-inqbtn.has-items .mg-inqbtn__badge { background: var(--gold); color: var(--surface); }
.mg-inqbtn:not(.has-items) .mg-inqbtn__badge { display: none; }
.mg-inqbtn__badge.is-bump { animation: mg-bump var(--dur-normal) var(--ease-out); }
@keyframes mg-bump { 40% { transform: scale(1.35); } }
.mg-burger { color: var(--ink); --size: 40px; }
@media (min-width: 901px) and (max-width: 1180px) {
  .mg-header__in { gap: 16px; }
  .mg-nav__link { padding: 0 7px; font-size: var(--fs-15); }
  .mg-langs a { padding: 0 4px; }
  .mg-langs a[aria-current]::after { left: 4px; right: 4px; }
  .mg-inqbtn { padding-inline: 8px; }
}
@media (max-width: 600px) {
  .mg-header { --header-h: 56px; }
  .mg-header.is-scrolled { --header-h: 56px; }
  .mg-logo img, .mg-header.is-scrolled .mg-logo img { height: 34px; }
  .mg-header__in { gap: 8px; }
  .mg-header__tools { gap: 0; }
  .mg-header .mg-search:not(.mg-search--inline) { position: fixed; left: var(--gutter); right: var(--gutter); top: calc(var(--header-h) + 8px); width: auto; }
  .mg-header .mg-search:not([hidden]):not(.mg-search--inline)::before { content: ""; position: absolute; top: -8px; left: calc(-1 * var(--gutter)); right: calc(-1 * var(--gutter)); height: 100svh; z-index: -1; background: var(--bg); }
}
.mg-suggest__thumb { border: 0 !important; background: none !important; box-shadow: none !important; }
.mg-suggest__thumb img { object-fit: contain; }
.mg-suggest__start { display: grid; gap: 8px; padding: 12px 12px 14px; }
.mg-suggest__label { font-size: var(--fs-13); color: var(--muted); }
.mg-suggest__pop { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-bottom: 6px; }
.mg-suggest__word { border: 0; background: none; padding: 6px 0; font: inherit; font-family: var(--font-display); font-size: var(--fs-18); color: var(--ink); cursor: pointer; }
.mg-suggest__word:hover { color: var(--gold); }
.mg-suggest__shelves { display: flex; flex-wrap: wrap; gap: 2px 18px; }
.mg-suggest__shelf { padding: 6px 0; font-weight: 600; font-size: var(--fs-15); color: var(--ink); }
.mg-suggest__shelf .mg-num { color: var(--muted); font-weight: 500; }
.mg-suggest__shelf:hover { color: var(--gold); }
.mg-mega {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  box-shadow: var(--elev-overlay);
  transform-origin: top;
  z-index: var(--z-dropdown);
  opacity: 1;
  translate: 0 0;
  transition: opacity var(--dur-normal) var(--ease-out), translate var(--dur-normal) var(--ease-out), display var(--dur-normal) allow-discrete;
}
.mg-mega[hidden] { opacity: 0; translate: 0 -6px; }
@starting-style {
  .mg-mega:not([hidden]) { opacity: 0; translate: 0 -6px; }
}
.mg-nav__item { display: flex; align-items: stretch; }
.mg-nav__item .mg-nav__link { padding-right: 8px; }
.mg-nav__more {
  border: 0;
  background: transparent;
  color: var(--ink-3);
  cursor: pointer;
  padding: 0 12px 0 2px;
  display: grid;
  place-items: center;
  transition: color var(--dur-fast) var(--ease-out);
}
.mg-nav__more svg { transition: transform var(--dur-normal) var(--ease-out); }
.mg-nav__more:hover, .mg-nav__item.is-open .mg-nav__more { color: var(--gold); }
.mg-nav__item.is-open .mg-nav__more svg { transform: rotate(180deg); }
.mg-mega__grid { padding-top: 24px; padding-bottom: 28px; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 40px; }
.mg-mega__kicker { display: block; margin-bottom: 12px; font-family: var(--font-display); font-size: var(--fs-18); font-weight: 400; line-height: 1.2; color: var(--ink-2); }
.mg-mega__cats { display: grid; grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr)); grid-template-rows: auto auto auto; column-gap: 16px; }
.mg-mega__cat { display: grid; grid-row: span 3; grid-template-rows: subgrid; align-content: start; color: var(--ink); }
.mg-mega__cat:hover { color: var(--gold); }
.mg-mega__catart { display: block; height: 84px; margin-bottom: 12px; }
.mg-mega__catobj { --obj-h: 84px; --obj-shadow: .18; width: 100%; }
.mg-mega__catart .mg-obj { height: 84px; }
.mg-mega__catart .mg-obj > img { height: 100%; width: auto; max-width: 100%; object-fit: contain; }
.mg-mega__catobj > img { transition: translate var(--dur-normal) var(--ease-out); }
.mg-mega__catname { display: block; font-weight: 700; font-size: var(--fs-15); }
.mg-mega__catcount { display: block; font-size: var(--fs-13); color: var(--muted); }
.mg-mega__foot { display: flex; gap: 24px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border-header); font-size: var(--fs-14); }
.mg-mega__foot a { font-weight: 600; }
.mg-mega__foot a.is-muted { color: var(--muted); }
.mg-mega__foot a.is-muted:hover { color: var(--gold); }
.mg-mega__brands { display: flex; flex-direction: column; gap: 8px; }
.mg-mega__brands a { font-size: var(--fs-15); color: var(--ink); }
.mg-mega__brands--own a { font-family: var(--font-display); font-size: var(--fs-18); line-height: 1.25; }
.mg-mega__brands--partner { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border-rule); }
.mg-mega__brands--partner a { color: var(--ink-2); }
.mg-mega__brands a:hover { color: var(--gold); }
.mg-mega__tile { display: block; color: var(--ink); padding: 16px; margin: -16px; border-radius: var(--r-md); transition: background-color var(--dur-fast) var(--ease-out); }
.mg-mega__tile:hover { background: var(--sand-2); color: var(--ink); }
.mg-mega__tilegrid { display: grid; grid-template-columns: 96px 1fr; gap: 16px; align-items: center; margin-top: 12px; }
.mg-mega__tileobj { --obj-h: 96px; --obj-shadow: .2; width: 96px; }
.mg-mega__tilegrid .mg-obj { height: 96px; }
.mg-mega__tilegrid .mg-obj > img { height: 100%; width: auto; max-width: 100%; object-fit: contain; }
.mg-mega__tilename { display: block; font-family: var(--font-display); font-size: var(--fs-18); line-height: 1.2; }
.mg-mega__tilemeta { display: block; font-size: var(--fs-14); color: var(--muted); margin-top: 4px; }
.mg-mega__tilecta { display: block; font-size: var(--fs-14); color: var(--gold); font-weight: 600; margin-top: 8px; }
@media (hover: hover) and (pointer: fine) {
  .mg-mega__cat:hover .mg-mega__catobj > img { translate: 0 -3px; }
}
.mg-mobile { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; border: 0; padding: 0 var(--gutter) var(--sp-7); background: var(--bg); color: var(--ink); flex-direction: column; overflow: auto; opacity: 0; translate: 0 -8px; transition: opacity var(--dur-normal) var(--ease-out), translate var(--dur-normal) var(--ease-out), display var(--dur-normal) allow-discrete, overlay var(--dur-normal) allow-discrete; }
.mg-mobile[open] { display: flex; opacity: 1; translate: 0 0; }
@starting-style {
  .mg-mobile[open] { opacity: 0; translate: 0 -8px; }
}
.mg-mobile::backdrop { background: transparent; }
.mg-mobile__head { display: flex; justify-content: space-between; align-items: center; height: 56px; flex: none; }
.mg-mobile__close { --size: 44px; font-size: var(--fs-26); color: var(--ink); }
.mg-mobile__nav { display: flex; flex-direction: column; margin-top: 8px; }
.mg-mobile__link { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; font-family: var(--font-display); font-size: var(--fs-h2); line-height: 1.1; color: var(--ink); cursor: pointer; list-style: none; }
.mg-mobile__link::-webkit-details-marker { display: none; }
.mg-mobile__link[aria-current] { color: var(--gold); }
.mg-mobile__chev { color: var(--muted); transition: rotate var(--dur-fast) var(--ease-out); }
.mg-mobile__link--sub { padding: 12px 0; font-size: var(--fs-h3); }
.mg-mobile__langs { gap: 8px; }
.mg-mobile__langs a { min-height: 44px; padding: 0; font-size: var(--fs-15); letter-spacing: 0; }
.mg-mobile__langs a[aria-current]::after { left: 0; right: 0; bottom: 6px; }
.mg-mobile__group[open] .mg-mobile__chev { rotate: 180deg; }
.mg-mobile__cats { display: grid; gap: 2px; padding: 2px 0 16px; }
.mg-mobile__cat { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; align-items: center; padding: 8px 0; color: var(--ink); font-size: var(--fs-16); font-weight: 600; }
.mg-mobile__cat small { display: block; font-weight: 400; font-size: var(--fs-13); color: var(--muted); }
.mg-mobile__catobj { --obj-h: 44px; --obj-shadow: .16; width: 56px; }
.mg-mobile__catall { display: block; padding: 8px 0; font-weight: 600; color: var(--gold); }
.mg-mobile__foot { margin-top: auto; display: flex; gap: 20px; align-items: center; flex-wrap: wrap; padding-top: 16px; font-size: var(--fs-15); }
.mg-mobile__foot a { color: var(--ink); font-weight: 600; }
@media (max-width: 1180px) {
  .mg-mega { max-height: calc(100dvh - var(--header-h)); overflow: auto; overscroll-behavior: contain; }
}
.mg-nlwrap { width: 100%; }
.mg-nlwrap .mg-panel { border-radius: 0; padding: var(--rhythm-lg) 0; }
.mg-nlwrap .mg-panel--dark { background: var(--cocoa); }
.mg-nlwrap + .mg-footer { border-top: 1px solid var(--border-on-dark); }
.mg-nl--draw { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--col-gap); align-items: stretch; }
.mg-nl__title { margin: 12px 0; font-size: var(--fs-h2); line-height: 1.1; max-width: 18ch; }
.mg-nl__text p { margin: 0 0 16px; font-size: var(--fs-16); line-height: 1.5; max-width: 520px; }
.mg-nl__consent { font-size: var(--fs-13)!important; color: var(--on-cocoa-muted)!important; margin: 12px 0 0!important; max-width: 520px; }
.mg-nl__consent a { color: var(--on-cocoa-2); text-decoration: underline; }
.mg-nlform { display: flex; align-items: flex-start; gap: 8px; max-width: 440px; }
.mg-nlform__field { flex: 1; min-width: 0; }
.mg-nlform .mg-btn { min-height: 48px; padding: 13px 24px; font-weight: 700; font-size: var(--fs-15); flex: none; }
.mg-nl__stub { display: grid; align-content: center; gap: var(--sp-6); padding-left: clamp(24px, 3vw, 40px); border-left: 1px solid var(--border-on-dark); color: var(--on-cocoa); }
.mg-nl__when { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: var(--sp-5) 0 0 !important; padding-top: var(--sp-4); border-top: 1px solid var(--border-on-dark); font-size: var(--fs-14) !important; line-height: 1.45; color: var(--on-cocoa-2); max-width: 520px; }
.mg-nl__when strong { font-weight: 600; color: var(--on-cocoa); }
.mg-nl__cd { font-variant-numeric: tabular-nums; }
.mg-nl__cd::before { content: "·"; margin-right: 12px; }
.mg-nl__when .mg-nl__more { margin: 0 0 0 auto; padding-block: 0; }
.mg-nl__prize { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 16px; align-items: center; }
.mg-nl__prizeimg { width: 88px; height: 88px; border-radius: var(--r-sm); }
.mg-nl__prizelabel { font-size: var(--fs-13); color: var(--on-cocoa-muted); }
.mg-nl__prizename { margin-top: 2px; font-family: var(--font-display); font-size: var(--fs-20); line-height: 1.2; color: var(--on-cocoa); }
.mg-nl__prizename a { color: inherit; text-decoration: none; }
.mg-nl__prizename a:hover { color: var(--accent-hover); }
.mg-nl__more { display: inline-block; margin-top: 4px; font-size: var(--fs-14); font-weight: 600; color: var(--accent); padding-block: 6px; }
.mg-nl__more:hover { color: var(--accent-hover); }
@media (max-width: 900px) {
  .mg-nlwrap .mg-panel { padding: var(--rhythm-md) 0; }
  .mg-nl--draw { grid-template-columns: 1fr; row-gap: 24px; }
  .mg-nl__stub { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 20px var(--col-gap); padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--border-on-dark); }
  .mg-nl__prize { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
  .mg-nl__prizeimg { width: 64px; height: 64px; border-radius: var(--r-input); }
}
@media (max-width: 600px) {
  .mg-nl__stub { grid-template-columns: 1fr; }
}
.mg-footer { position: relative; isolation: isolate; background: var(--cocoa); color: var(--on-cocoa-2); }
.mg-footer__top { display: flex; align-items: center; gap: 12px 32px; flex-wrap: wrap; padding-top: 40px; padding-bottom: 8px; }
.mg-footer__logo { height: 40px; width: auto; display: block; filter: brightness(1.6) saturate(.9); }
.mg-footer__addr { margin: 0; font-size: var(--fs-15); color: var(--cream-3); flex: 1 1 auto; }
.mg-footer__contacts { margin: 0; display: flex; gap: 20px; flex-wrap: wrap; font-size: var(--fs-15); }
.mg-footer__contacts a { color: var(--cream-2); transition: color var(--dur-fast) var(--ease-out); }
.mg-footer__contacts a:hover { color: var(--surface); }
.mg-footer__grid { padding-top: 28px; padding-bottom: 32px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px var(--col-gap); }
.mg-footer__col { display: flex; flex-direction: column; gap: 8px; font-size: var(--fs-15); }
.mg-footer__col a { color: var(--cream-2); transition: color var(--dur-fast) var(--ease-out); }
.mg-footer__col a:hover { color: var(--surface); }
.mg-footer__col a[aria-current] { color: var(--accent); }
.mg-footer__head { margin-bottom: 8px; font-family: var(--font-display); font-size: var(--fs-18); color: var(--on-cocoa); }
.mg-footer__sites { color: var(--cream-4); font-size: var(--fs-14); }
.mg-footer__bottom { border-top: 1px solid var(--cream-line-soft); }
.mg-footer__bottomin { padding-top: 16px; padding-bottom: 16px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: var(--fs-13); color: var(--cream-4); }
.mg-footer__note { display: inline-block; margin-left: 12px; color: var(--cream-4); }
.mg-footer__legal { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.mg-footer__legal a { color: var(--cream-4); }
.mg-footer__legal a:hover { color: var(--surface); }
.mg-footer__sep { opacity: .4; }
.mg-footer__certs { color: var(--on-cocoa-2); white-space: nowrap; }
@media (max-width: 900px) {
  .mg-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .mg-footer__top { padding-top: 28px; }
  .mg-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px var(--col-gap); }
  .mg-footer__col { gap: 0; font-size: var(--fs-16); }
  .mg-footer__col:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--col-gap); }
  .mg-footer__col:first-child .mg-footer__head { grid-column: 1 / -1; }
  .mg-footer__head { margin-bottom: 4px; }
}
.mg-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  margin: 0;
  width: min(520px, 100vw);
  height: 100dvh;
  max-height: none;
  max-width: none;
  border: 0;
  padding: 0;
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--elev-sheet);
  flex-direction: column;
  opacity: 0;
  translate: 40px 0;
  transition: opacity var(--dur-normal) var(--ease-out), translate var(--dur-normal) var(--ease-out), display var(--dur-normal) allow-discrete, overlay var(--dur-normal) allow-discrete;
}
.mg-drawer[open] {
  display: flex;
  opacity: 1;
  translate: 0 0;
  transition-duration: var(--dur-slow);
  transition-timing-function: var(--ease-drawer);
}
@starting-style {
  .mg-drawer[open] { opacity: 0; translate: 40px 0; }
}
.mg-drawer::backdrop {
  background: var(--scrim);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity var(--dur-normal) var(--ease-out), display var(--dur-normal) allow-discrete, overlay var(--dur-normal) allow-discrete;
}
.mg-drawer[open]::backdrop { opacity: 1; }
@starting-style {
  .mg-drawer[open]::backdrop { opacity: 0; }
}
.mg-drawer__head { display: flex; justify-content: space-between; align-items: center; padding: 24px 28px; border-bottom: 1px solid var(--border); }
.mg-drawer__title { font-family: var(--font-display); font-size: var(--fs-26); letter-spacing: -.01em; }
.mg-drawer__body { flex: 1; overflow: auto; overscroll-behavior: contain; padding: 20px 28px; }
.mg-drawer__empty { padding: 8px 0 24px; }
.mg-drawer__empty[hidden] { display: none; }
.mg-drawer__emptytitle { margin: 0 0 8px; font-family: var(--font-display); font-size: var(--fs-22); line-height: 1.25; }
.mg-drawer__empty p { margin: 0 0 16px; line-height: 1.5; color: var(--ink-2); }
.mg-drawer__emptylinks { display: flex; flex-wrap: wrap; gap: 8px 24px; font-weight: 600; }
.mg-drawer__emptylinks a { color: var(--gold-dark); padding-block: 4px; }
.mg-drawer__clear { display: block; margin: 0 0 8px auto; border: 0; background: none; padding: 6px 0; font: inherit; font-size: var(--fs-13); color: var(--muted); cursor: pointer; }
.mg-drawer__clear:hover { color: var(--ink); }
.mg-drawer__items { display: flex; flex-direction: column; border-top: 1px solid var(--border-rule); }
.mg-inqitem { display: grid; grid-template-columns: 64px 1fr auto; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--border-rule); }
.mg-inqitem__img { width: 64px; height: 64px; }
.mg-inqitem__img img { width: 100%; height: 100%; object-fit: contain; }
.mg-inqitem__name { font-weight: 600; font-size: var(--fs-15); line-height: 1.25; }
.mg-inqitem__meta { font-size: var(--fs-13); color: var(--muted); }
.mg-inqitem__qty { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: var(--fs-13); color: var(--muted); }
.mg-inqitem__remove { align-self: start; --size: 32px; }
.mg-stepper { display: inline-flex; border: 1px solid var(--border-input); border-radius: var(--r-pill); overflow: hidden; }
.mg-stepper button { border: 0; background: transparent; cursor: pointer; padding: 3px 12px; font-size: var(--fs-15); color: var(--gold); min-width: 32px; min-height: 30px; transition: background-color var(--dur-fast) var(--ease-out); }
.mg-stepper button:hover { background: var(--gold-tint); }
.mg-stepper span { padding: 3px 8px; min-width: 34px; text-align: center; color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; align-self: center; }
.mg-drawer__sent, .mg-drawer .mg-receipt { margin-top: 24px; outline: 0; }
.mg-drawer__form { margin-top: 24px; }
.mg-drawer__formtitle { font-family: var(--font-display); font-size: var(--fs-20); line-height: 1.2; color: var(--ink); }
.mg-drawer__foot { padding: 16px 28px calc(16px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.mg-drawer__summary { font-size: var(--fs-13); color: var(--muted); line-height: 1.5; }
.mg-drawer__summary strong { color: var(--ink); }
.mg-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  translate: -50% 0;
  background: var(--ink);
  color: var(--cream-1);
  padding: 12px 16px 12px 16px;
  border-radius: var(--r-pill);
  font-size: var(--fs-15);
  font-weight: 600;
  z-index: var(--z-toast);
  display: flex;
  gap: 12px;
  align-items: center;
  box-shadow: var(--elev-toast);
  white-space: nowrap;
  opacity: 1;
  transition: opacity var(--dur-normal) var(--ease-out), translate var(--dur-normal) var(--ease-out), display var(--dur-normal) allow-discrete;
}
.mg-toast[hidden] { opacity: 0; translate: -50% 16px; }
@starting-style {
  .mg-toast:not([hidden]) { opacity: 0; translate: -50% 16px; }
}
.mg-toast__check { width: 22px; height: 22px; border-radius: 50%; background: var(--accent); color: var(--gold-deep); display: grid; place-items: center; font-size: var(--fs-12); }
.mg-toast button { border: 0; background: transparent; color: var(--accent); font-weight: 700; cursor: pointer; font-size: var(--fs-14); padding: 0 0 0 8px; min-height: 24px; }
.mg-cookie { position: fixed; left: 0; right: 0; bottom: 0; background: var(--header-bg); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); z-index: var(--z-banner); animation: mgDrop var(--dur-normal) var(--ease-out); box-shadow: var(--elev-raised); }
.mg-cookie__in { display: flex; align-items: center; gap: 12px 32px; flex-wrap: wrap; padding-top: 16px; padding-bottom: 16px; }
.mg-cookie__text { margin: 0; flex: 1 1 420px; font-size: var(--fs-14); line-height: 1.5; color: var(--ink-2); }
.mg-cookie__text strong { color: var(--ink); }
.mg-cookie__text a { text-decoration: underline; text-underline-offset: 3px; }
.mg-cookie__actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-left: auto; }
.mg-cookie__prefs { flex-basis: 100%; display: grid; gap: 8px; margin: 0; }
.mg-cookie__prefs .mg-field--check { min-height: 0; align-items: start; font-size: var(--fs-13); line-height: 1.4; }
.mg-cookie__prefs .mg-field--check input { margin-top: 2px; }
.mg-cookie__prefsbtn { border: 0; background: transparent; color: var(--gold); font-weight: 600; font-size: var(--fs-14); cursor: pointer; padding: 8px 0; min-height: 40px; }
.mg-cookie__prefsbtn:hover { color: var(--gold-dark); }
@media (max-width: 900px) {
  .mg-cookie__actions { margin-left: 0; }
  .mg-toast { left: 16px; right: 16px; translate: 0 0; white-space: normal; border-radius: var(--r-md); }
  .mg-toast[hidden] { translate: 0 16px; }
  @starting-style { .mg-toast:not([hidden]) { translate: 0 16px; } }
}
.mg-suggest__skel .mg-suggest__item { pointer-events: none; }
.mg-suggest__skel .mg-skel__obj { width: 40px; height: 40px; flex: none; border-radius: var(--r-xs); background: var(--sand-2); }
.mg-suggest__skel .mg-skel__rows { display: grid; gap: 7px; flex: 1 1 auto; }
.mg-suggest__skel .mg-skel__line { height: 9px; border-radius: var(--r-pill); background: var(--sand-2); }
.mg-suggest__skel .mg-skel__line--lg { width: 62%; }
.mg-suggest__skel .mg-skel__line--sm { width: 34%; }
@media (prefers-reduced-motion: no-preference) {
  .mg-suggest__skel .mg-skel__obj, .mg-suggest__skel .mg-skel__line { animation: mg-skel var(--dur-loop) var(--ease-in-out) infinite alternate; }
}
.mg-hero { position: relative; background: var(--cream-1); overflow: hidden; }
.mg-hero-img { position: absolute; right: 0; top: 0; height: 100%; width: 70%; object-fit: cover; object-position: right center; scale: 1.18; transform-origin: right center; }
.mg-hero__fade { position: absolute; inset: 0; background: linear-gradient(90deg, var(--cream-1) 34%, rgba(241, 231, 214, .92) 42%, rgba(241, 231, 214, 0) 58%); }
.mg-hero__in { position: relative; padding-top: var(--rhythm-lg); padding-bottom: 104px; }
.mg-hero__text { max-width: 620px; }
.mg-hero__h1 { margin: 0 0 24px; color: var(--ink); }
.mg-hero__sub { margin: 0 0 28px; max-width: 40ch; }
.mg-hero__ctas { display: flex; gap: 12px 28px; flex-wrap: wrap; align-items: center; }
.mg-hero__cta2 { display: inline-flex; align-items: center; gap: 8px; color: var(--gold-dark); padding: 16px 8px; font-weight: 600; font-size: var(--fs-16); border-bottom: 1.5px solid rgba(74, 52, 16, .4); transition: border-color var(--dur-fast) var(--ease-out); }
.mg-hero__cta2:hover { border-color: var(--gold-dark); }
.mg-hero__meta { display: flex; gap: 16px; margin-top: 44px; font-size: var(--fs-meta); color: var(--muted); flex-wrap: wrap; }
.mg-hero__note {
  position: absolute;
  left: 52%;
  top: 24px;
  font-family: var(--font-hand);
  font-size: clamp(20px, 4.4vw - 31px, 32px);
  color: var(--gold-dark);
  rotate: -9deg;
  line-height: 1.05;
  text-align: center;
  padding: 12px 16px;
  border-radius: var(--r-sm);
  background: var(--note-bg);
  backdrop-filter: blur(3px);
}
.mg-hero__note span { font-size: .8em; }
.mg-hero__wave { position: absolute; left: 0; bottom: -1px; width: 100%; height: 70px; display: block; }
.mg-ctarow { margin-block: var(--rhythm-lg); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: 12px var(--col-gap); padding: var(--sp-6) 0; border-block: 1px solid var(--border-rule); }
.mg-ctarow__title { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h3); line-height: 1.2; margin: 0; }
.mg-ctarow__links { justify-self: end; display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0; font-weight: 600; }
.mg-ctarow__links a { color: var(--gold-dark); padding-block: 6px; }
.mg-ctarow__links a:hover { color: var(--gold); }
@media (max-width: 1180px) {
  .mg-hero__note { left: auto; right: 24px; top: 16px; }
}
@media (max-width: 900px) {
  .mg-hero { min-height: calc(100svh - var(--header-h, 56px)); }
  .mg-hero__in { padding-top: var(--sp-8); padding-bottom: 44svh; }
  .mg-hero__text { display: flex; flex-direction: column; }
  .mg-hero__meta { margin: var(--sp-5) 0 0; gap: 4px 14px; font-size: var(--fs-13); line-height: 1.45; color: var(--ink-2); }
  .mg-hero__meta span { background: none; padding: 0; }
  .mg-hero__meta a { color: inherit; }
  .mg-hero__h1 { margin-bottom: var(--sp-4); font-size: clamp(42px, 12.2vw, 58px); line-height: .98; letter-spacing: -.025em; text-wrap: balance; }
  .mg-hero__sub { margin-bottom: var(--sp-6); max-width: 34ch; font-size: calc(var(--fs-16) + 1px); line-height: 1.5; }
  .mg-hero__ctas { flex-wrap: nowrap; gap: 8px 22px; }
  .mg-hero__ctas .mg-btn { width: auto; flex: 0 0 auto; }
  .mg-hero__cta2 { padding: 14px 2px; white-space: nowrap; }
  .mg-ctarow { grid-template-columns: 1fr; margin-block: var(--rhythm-md) var(--rhythm-lg); }
  .mg-ctarow__links { justify-self: start; }
  .mg-hero + [data-section="rail"] .mg-sechead { margin-top: var(--rhythm-lg); }
  .mg-hero__note { left: auto; right: var(--gutter); top: auto; bottom: 92px; font-size: var(--fs-22); padding: 8px 12px; rotate: -7deg; }
  .mg-hero-img { width: 100%; object-position: 60% 74%; scale: 1; }
  .mg-hero__fade { background: linear-gradient(180deg, var(--cream-1) 36%, rgba(241, 231, 214, .9) 50%, rgba(241, 231, 214, 0) 70%); }
}
.mg-cathead__crumbs { padding-top: var(--sp-6); }
.mg-cathead .mg-crumbs { margin-bottom: 0; }
.mg-cathead .mg-masthead--crumbed { padding-top: var(--sp-5); }
.mg-cathead__obj { --obj-h: 220px; --obj-shadow: .22; width: 260px; }
.mg-cathead__tools strong { color: var(--ink); font-weight: 600; }
.mg-filterbar { position: sticky; top: var(--header-h); z-index: var(--z-sticky); background: var(--bar-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.mg-filterbar__in { padding-top: 4px; padding-bottom: 4px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "seg tools" "chips chips"; align-items: center; gap: 0 24px; border-bottom: 1px solid var(--border-rule); }
.mg-seg--cats { grid-area: seg; justify-self: start; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.mg-filterbar__tools { grid-area: tools; }
.mg-filterbar__chips { grid-area: chips; }
.mg-filterbar__pdf { font-size: var(--fs-13); font-weight: 600; color: var(--gold); white-space: nowrap; }
.mg-filterbar__count { font-size: var(--fs-13); color: var(--muted); white-space: nowrap; }
.mg-seg { display: inline-flex; padding: 4px; border-radius: var(--r-pill); background: var(--sand-2); }
.mg-seg > a, .mg-seg > button { display: inline-flex; align-items: center; gap: 8px; padding: 4px 16px; border: 0; border-radius: var(--r-pill); background: transparent; color: var(--ink); font: inherit; font-size: var(--fs-13); font-weight: 600; line-height: 24px; min-height: 32px; box-sizing: border-box; white-space: nowrap; cursor: pointer; text-decoration: none; transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.mg-seg > a:hover, .mg-seg > button:hover { background: var(--sand-3); }
.mg-seg > [aria-current], .mg-seg > [aria-pressed="true"] { background: var(--ink); color: var(--surface); }
.mg-seg .mg-num { opacity: .65; font-weight: 500; }
.mg-seg--text { padding: 0; gap: 4px var(--sp-5); background: none; border-radius: 0; flex-wrap: wrap; }
.mg-seg--text > a, .mg-seg--text > button { position: relative; padding: 8px 0; border-radius: 0; background: none; color: var(--muted); }
.mg-seg--text > a:hover, .mg-seg--text > button:hover { background: none; color: var(--ink); }
.mg-seg--text > [aria-current], .mg-seg--text > [aria-pressed="true"] { background: none; color: var(--ink); }
.mg-seg--text > [aria-current]::after, .mg-seg--text > [aria-pressed="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--gold); }
.mg-masthead__meta > .mg-seg, .mg-masthead__meta .mg-seg { display: inline-flex; gap: 0; align-items: center; flex-wrap: nowrap; }
.mg-seg--icons > a { padding: 4px 12px; } .mg-seg--icons svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.mg-filterbar__chips { display: flex; gap: 4px var(--sp-5); flex-wrap: wrap; align-items: center; }
.mg-filterbar__chips:empty { display: none; }
.mg-filterbar__feat { display: inline-flex; align-items: center; gap: 8px; padding: 8px 0; font-size: var(--fs-14); font-weight: 600; color: var(--ink-2); }
.mg-filterbar__feat .mg-num { color: var(--muted); font-weight: 500; }
.mg-filterbar__box { width: 14px; height: 14px; padding: 2px; border: 1.5px solid var(--border-outline); border-radius: 3px; background-clip: content-box; }
.mg-filterbar__feat[aria-current] .mg-filterbar__box { background-color: var(--gold); border-color: var(--gold); }
.mg-filterbar__feat:hover { color: var(--ink); }
.mg-filterbar__clear { color: var(--gold); font-weight: 600; font-size: var(--fs-14); padding: 4px 8px; }
.mg-filterbar__tools { display: flex; gap: 8px; align-items: center; }
.mg-select {
  border: 1px solid var(--border-input);
  border-radius: var(--r-pill);
  padding: 8px 28px 8px 12px;
  font-size: var(--fs-14);
  background: var(--surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%236e4f1a'/></svg>") no-repeat right 12px center;
  color: var(--ink);
  cursor: pointer;
  min-height: 34px;
}
.mg-catbody { padding-block: var(--sp-7) var(--page-bottom); outline: 0; transition: opacity var(--dur-fast) var(--ease-out); view-transition-name: mg-results; }
.mg-cathead { view-transition-name: mg-cathead; }
.mg-filterbar { view-transition-name: mg-filters; }
.mg-catbody[aria-busy="true"] { pointer-events: none; }
.mg-skel { display: grid; gap: 10px; align-content: start; }
.mg-skel__obj { aspect-ratio: 1; border-radius: var(--r-sm); background: var(--sand-2); }
.mg-skel__line { height: 10px; border-radius: var(--r-pill); background: var(--sand-2); }
.mg-skel__line--sm { width: 42%; }
.mg-skel__line--lg { width: 76%; }
@media (prefers-reduced-motion: no-preference) {
  .mg-skel__obj, .mg-skel__line { animation: mg-skel var(--dur-loop) var(--ease-in-out) infinite alternate; }
  .mg-skel__line { animation-delay: var(--dur-fast); }
}
@keyframes mg-skel { to { opacity: .5; } }
@media (prefers-reduced-motion: no-preference) {
  .mg-catbody[aria-busy="true"] { animation: mgPulse var(--dur-loop) var(--ease-in-out) infinite alternate; }
}
@keyframes mgPulse { from { opacity: .55; } to { opacity: .3; } }
.mg-group { margin-bottom: var(--rhythm-lg); }
.mg-table { overflow: auto; overscroll-behavior-x: contain; border-top: 1px solid var(--border-rule); }
.mg-table__head,
.mg-table__row {
  min-width: 760px;
  display: grid;
  grid-template-columns: var(--cols, 64px minmax(0, 2fr) minmax(0, 1fr) 90px 150px 90px 90px 44px);
  gap: 16px;
  padding: 12px 20px;
  align-items: center;
}
.mg-table__head {
  font-size: var(--fs-13);
  font-weight: 600;
  color: var(--muted);
  border-bottom: 1px solid var(--border-rule);
}
.mg-table__row {
  padding: 12px 20px;
  border-bottom: 1px solid var(--line-faint);
  color: var(--ink);
  font-size: var(--fs-15);
  transition: background-color var(--dur-fast) var(--ease-out);
}
.mg-table__row { position: relative; }
.mg-table__row:hover { background: var(--sand-2); color: var(--ink); }
.mg-table__thumb { width: 52px; height: 52px; }
.mg-table__thumb img { width: 100%; height: 100%; object-fit: contain; }
.mg-table__name { font-weight: 600; }
.mg-table__name a { color: inherit; }
.mg-table__name a::after { content: ""; position: absolute; inset: 0; }
.mg-table__sub { display: block; margin-top: 2px; font-weight: 400; font-size: var(--fs-13); color: var(--muted); }
.mg-table__add { position: relative; z-index: 1; justify-self: end; }
.mg-table__add[aria-pressed="true"] { background: var(--gold); color: var(--surface); }
.mg-table__muted { color: var(--muted); }
.mg-table__foot { display: flex; justify-content: space-between; gap: 16px; margin-top: 16px; font-size: var(--fs-14); flex-wrap: wrap; color: var(--muted); }
.mg-table__actions { display: flex; gap: 16px; }
.mg-table__actions a { font-weight: 600;  display: inline-block; padding-block: 6px; margin-block: -6px; }
@media (max-width: 900px) {
  .mg-masthead__meta     .mg-filterbar { position: sticky; top: var(--header-h); z-index: var(--z-sticky); background: var(--bar-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
  .mg-filterbar__in { display: flex; flex-wrap: nowrap; align-items: center; overflow-x: auto; scrollbar-width: none; gap: 20px; mask-image: linear-gradient(90deg, black 86%, transparent); padding-right: 32px; }
  .mg-filterbar__in::-webkit-scrollbar { display: none; }
  .mg-filterbar__chips { flex-wrap: nowrap; flex: none; }
  .mg-filterbar__count, .mg-filterbar__pdf { display: none; }
  .mg-seg--cats, .mg-seg--text { flex-wrap: nowrap; flex: none; overflow: visible; }
  .mg-seg--text > a, .mg-seg--text > button { white-space: nowrap; }
  .mg-filterbar__tools { flex: none; }
}
.mg-cathead__still { --still-h: clamp(180px, 20vw, 300px); width: min(100%, 520px); }
.mg-cathead__search { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--border-outline); }
.mg-cathead__q { flex: 1; min-width: 0; padding: 4px 0; border: 0; background: none; font-family: var(--font-display); font-size: var(--fs-h1); line-height: 1.05; letter-spacing: -.02em; color: var(--ink); outline: 0; }
.mg-cathead__q::-webkit-search-cancel-button { display: none; }
.mg-cathead__search:focus-within { border-color: var(--gold); }
.mg-cathead__go { border: 0; background: none; padding: 8px; font-size: var(--fs-h3); color: var(--gold); cursor: pointer; }
.mg-emptyline { padding-block: var(--rhythm-md); border-top: 1px solid var(--border-rule); }
.mg-emptyline__title { margin: 0; font-family: var(--font-display); font-size: var(--fs-h3); line-height: 1.2; }
.mg-emptyline__hint { margin: var(--sp-3) 0 var(--sp-5); color: var(--ink-2); }
.mg-emptyline__cats { display: flex; flex-wrap: wrap; gap: 8px var(--sp-6); font-weight: 600; }
.mg-emptyline__cats a { padding-block: 6px; color: var(--ink); }
.mg-emptyline__cats a:hover { color: var(--gold); }
.mg-emptyline__cats .mg-num { color: var(--muted); font-weight: 500; }
@media (max-width: 900px) {
  .mg-table { border-top: 0; }
  .mg-table__head { display: none; }
  .mg-table__row { min-width: 0; grid-template-columns: 52px minmax(0, 1fr) 44px; padding: 10px 0; }
  .mg-cathead__still { --still-h: 180px; margin-top: var(--sp-5); }
}
.mg-prodcover { padding-top: var(--sp-6); }
.mg-crumbs--product { margin-bottom: var(--sp-5); }
.mg-prodcover__grid { padding-top: 0; padding-bottom: var(--rhythm-md); }
.mg-gallery__main { --obj-shadow: .24; }
.mg-gallery__main > img { grid-area: 1 / 1; transition: opacity var(--dur-normal) var(--ease-out), filter var(--dur-normal) var(--ease-out); }
@media (prefers-reduced-motion: no-preference) { .mg-gallery__main > .mg-gallery__img { view-transition-name: mg-pdp-img; } }
::view-transition-old(mg-pdp-img), ::view-transition-new(mg-pdp-img) { mix-blend-mode: normal; animation-duration: var(--dur-slow); }
.mg-gallery__img.is-enter, .mg-gallery__img.is-exit { opacity: 0; filter: blur(6px); }
.mg-gallery__main--photo > img { mix-blend-mode: normal; border-radius: var(--r-md); filter: none; }
.mg-gallery__main--photo::after { display: none; }
.mg-gallery__thumbs { display: flex; gap: 12px; margin-top: var(--sp-5); justify-content: center; }
.mg-gallery__thumb { width: 56px; height: 56px; cursor: pointer; padding: 0 0 4px; border: 0; background: transparent; border-bottom: 2px solid transparent; transition: border-color var(--dur-fast) var(--ease-out); }
.mg-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; display: block; }
.mg-gallery__thumb--photo img { mix-blend-mode: normal; object-fit: cover; border-radius: var(--r-xs); }
.mg-gallery__thumb:hover, .mg-gallery__thumb[aria-pressed="true"] { border-bottom-color: var(--gold); }
.mg-prodcover__h1 { margin: 0; }
.mg-cover__kicker a { display: inline-block; color: var(--gold-dark); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; padding-block: 8px; margin-block: -8px; }
.mg-prodcover__new { color: var(--gold); font-weight: 600; }
.mg-prodcover__facts { margin: var(--sp-4) 0 0; font-family: var(--font-display); font-style: italic; font-size: var(--fs-20); color: var(--ink-2); }
.mg-prodcover__inq[aria-pressed="true"] { background: var(--gold); color: var(--surface); }
.mg-prodcover__inq[aria-pressed="true"] .mg-prodcover__plus { display: none; }
.mg-prodcover__hint { margin: var(--sp-4) 0 0; } .mg-prodcover__hint a { font-weight: 600; color: var(--gold-dark); }
.mg-buy { padding-top: var(--sp-6); }
.mg-buy__shop { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 var(--sp-6); }
.mg-buy__chains { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 0; margin: 0 0 var(--sp-6); font-family: var(--font-display); font-size: var(--fs-20); line-height: 1.35; }
.mg-buy__chains .mg-meta { margin-right: 12px; font-family: var(--font-body); }
.mg-buy__chains .mg-chip--static { all: unset; color: var(--ink); }
.mg-buy__chains .mg-chip--static::after { content: none; }
.mg-buy__chains .mg-chip--static:not(:last-child)::after { content: "·"; position: static; inset: auto; width: auto; height: auto; margin: 0 .45em; background: none; color: var(--gold); }
.mg-buy__store { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin: 0 0 var(--sp-6); line-height: 1.35; }
.mg-buy__store > .mg-meta, .mg-buy__shop > .mg-meta, .mg-buy__chains > .mg-meta { min-width: 8rem; margin-right: 0; font-family: var(--font-body); }
.mg-buy__chains > .mg-meta { margin-right: 16px; }
.mg-buy__store .mg-buy__name { display: inline; font-size: var(--fs-20); }
.mg-buy__store .mg-buy__addr { display: inline; margin: 0; font-size: var(--fs-16); }
.mg-buy__store .mg-buy__addr::before { content: "·"; margin: 0 .45em; color: var(--gold); }
.mg-buy__store .mg-buy__link { font-size: var(--fs-15); }
@media (max-width: 600px) { .mg-buy__store > .mg-meta, .mg-buy__shop > .mg-meta, .mg-buy__chains > .mg-meta { flex-basis: 100%; min-width: 0; } }
.mg-buy__grid { align-items: start; }
.mg-buy__cities { margin-bottom: var(--sp-5); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.mg-buy__cities::-webkit-scrollbar { display: none; }
.mg-buy__col { min-width: 0; }
.mg-buy--many .mg-buy__col--fixed { position: relative; align-self: stretch; min-height: 280px; }
.mg-buy--many .mg-buy__col--fixed .mg-buy__scroll { position: absolute; inset: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding-right: var(--sp-4); mask-image: linear-gradient(to bottom, currentColor calc(100% - 24px), transparent); }
.mg-buy__group + .mg-buy__group { margin-top: var(--sp-5); }
.mg-buy__group[hidden] { display: none; }
.mg-buy__more { display: none; }
.mg-buy__city { position: sticky; top: 0; z-index: var(--z-sticky); display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0 0 4px; padding: 4px 0; background: var(--bg); font-family: var(--font-body); font-size: var(--fs-13); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.mg-buy__city .mg-num { font-weight: 500; }
.mg-buy__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.mg-buy__item { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 4px 12px; padding: 12px 0; border-radius: var(--r-sm); }
.mg-buy__item::before { content: ''; position: absolute; inset: 0 -16px; z-index: -1; border-radius: var(--r-sm); background: transparent; transition: background-color var(--dur-fast) var(--ease-out); }
.mg-buy__item[data-buy-item] { cursor: pointer; }
.mg-buy__item.is-active::before, .mg-buy__item[data-buy-item]:hover::before { background: var(--sand-2); }
.mg-buy__num { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--gold); color: var(--surface); font-size: var(--fs-13); font-weight: 700; font-variant-numeric: tabular-nums; }
.mg-buy__num--none { background: var(--sand-3); color: var(--muted); }
.mg-buy__name { display: block; font-family: var(--font-display); font-weight: 400; font-size: var(--fs-18); line-height: 1.25; }
.mg-buy__addr { display: block; font-size: var(--fs-15); color: var(--ink-2); margin-top: 2px; }
.mg-buy__text { min-width: 0; }
.mg-buy__link { display: inline-block; grid-column: 2; justify-self: start; font-size: var(--fs-13); font-weight: 600; color: var(--gold); padding-block: 6px; }
.mg-buy__link:hover { color: var(--gold-dark); }
.mg-buy--many .mg-buy__item { grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; padding: 8px 0; }
.mg-buy--many .mg-buy__link { grid-column: 3; grid-row: 1; align-self: center; padding: 6px 8px; font-size: var(--fs-16); }
.mg-buy--many .mg-buy__linktext { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.mg-buy--many .mg-buy__name { font-size: var(--fs-16); }
.mg-buy--many .mg-buy__addr { font-size: var(--fs-14); }
.mg-buy__map { position: relative; width: 100%; aspect-ratio: 4 / 3; min-height: 320px; border-radius: var(--r-lg); background: var(--sand-3); overflow: hidden; }
.mg-buy__map:has(.mg-buy__canvas[hidden]) { aspect-ratio: auto; min-height: 0; background: none; border-block: 1px solid var(--border-rule); border-radius: 0; }
.mg-buy__map:has(.mg-buy__canvas[hidden]) .mg-buy__over { position: static; padding: var(--sp-5) 0; }
.mg-buy__over { position: absolute; inset: 0; display: grid; align-content: end; justify-items: start; gap: 12px; padding: 24px; }
.mg-buy__consent { max-width: 40ch; text-wrap: pretty; }
.mg-buy__canvas { position: absolute; inset: 0; overflow: hidden; touch-action: none; cursor: grab; user-select: none; -webkit-user-select: none; }
.mg-buy__canvas.is-drag { cursor: grabbing; }
.mg-buy__layer { position: absolute; left: 0; top: 0; will-change: transform; }
.mg-buy__layer img { position: absolute; width: 256px; height: 256px; max-width: none; pointer-events: none; }
.mg-buy__pin { position: absolute; translate: -50% -50%; width: 28px; height: 28px; padding: 0; border: 3px solid var(--surface); border-radius: 50%; box-sizing: content-box; display: grid; place-items: center; background: var(--gold); color: var(--surface); font: 700 var(--fs-13)/1 var(--font-body); box-shadow: var(--elev-float); cursor: pointer; transition: background-color var(--dur-fast) var(--ease-out), scale var(--dur-fast) var(--ease-out); }
.mg-buy__pin:hover, .mg-buy__pin.is-active { background: var(--gold-dark); scale: 1.12; z-index: var(--z-float); }
.mg-buy__pin--group { width: auto; min-width: 28px; padding-inline: 8px; border-radius: var(--r-pill); font-variant-numeric: tabular-nums; white-space: nowrap; }
.mg-buy__tip { position: absolute; left: 50%; bottom: calc(100% + 8px); translate: -50% 0; padding: 4px 8px; border-radius: var(--r-xs); background: var(--ink); color: var(--surface); font: 600 var(--fs-12)/16px var(--font-body); white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity var(--dur-fast) var(--ease-out); }
.mg-buy__pin:hover .mg-buy__tip, .mg-buy__pin.is-active .mg-buy__tip { opacity: 1; }
.mg-buy__zoom { position: absolute; right: 12px; top: 12px; display: grid; gap: 4px; z-index: var(--z-float); }
.mg-buy__zoom button { width: 32px; height: 32px; border: 0; border-radius: var(--r-xs); background: var(--surface); color: var(--ink); font-size: var(--fs-18); line-height: 1; box-shadow: var(--elev-float); cursor: pointer; }
.mg-buy__zoom button:hover { color: var(--gold); }
.mg-buy__attr { position: absolute; right: 8px; bottom: 8px; z-index: var(--z-float); padding: 2px 8px; border-radius: var(--r-badge); background: var(--header-bg); font-size: var(--fs-12); color: var(--muted); }
.mg-buy__attr a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 900px) { .mg-buy__map { aspect-ratio: 1 / 1; min-height: 280px; margin-top: var(--sp-5); }
  .mg-buy--many .mg-buy__col--fixed { position: static; min-height: 0; }
  .mg-buy--many .mg-buy__col--fixed .mg-buy__scroll { position: static; max-height: 400px; overflow: hidden; padding-right: 0; }
  .mg-buy--many .mg-buy__scroll:not(.is-open) .mg-buy__group:not(:first-of-type) { display: none; }
  .mg-buy--many .mg-buy__scroll.is-open { max-height: none; mask-image: none; }
  .mg-buy--many .mg-buy__more { display: block; width: 100%; margin-top: var(--sp-4); padding: 10px 16px; border: 1px solid var(--border-outline); border-radius: var(--r-pill); background: transparent; color: var(--ink); font: inherit; font-size: var(--fs-14); font-weight: 600; cursor: pointer; }
  .mg-buy--many .mg-buy__more[aria-expanded="true"] { display: none; }
}
.mg-prodbody { padding-top: var(--sp-6); }
.mg-prodbody__grid { align-items: start; }
.mg-prodaside { display: grid; }
.mg-prodaside__row { display: grid; gap: 4px; padding: 0 0 16px; }
.mg-prodaside__k { font-size: var(--fs-meta); color: var(--muted); }
.mg-prodaside__v { font-size: var(--fs-16); color: var(--ink); line-height: 1.45; }
.mg-variant { align-items: start; padding: 0 0 var(--sp-7); }
.mg-variant__name { margin: 0 0 8px; }
.mg-variant__ing { margin: 0; font-size: var(--fs-body); line-height: 1.6; color: var(--ink-2); max-width: 64ch; }
.mg-variant__k { color: var(--ink); font-weight: 600; }
.mg-nutri { margin: 0; display: grid; border-top: 1px solid var(--border-rule); }
.mg-nutri > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border-rule); font-size: var(--fs-15); }
.mg-nutri dt { color: var(--muted); }
.mg-nutri dd { margin: 0; color: var(--ink); font-weight: 600; white-space: nowrap; }
.mg-datasheetband { margin-top: var(--rhythm-lg); }
.mg-datasheet { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--col-gap); border-top: 1px solid var(--border-rule); }
.mg-datasheet > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--border-rule); font-size: var(--fs-16); }
.mg-datasheet__ask { margin: var(--sp-5) 0 0; max-width: 52ch; font-family: var(--font-display); font-size: var(--fs-20); line-height: 1.35; color: var(--ink); }
.mg-datasheet dt { color: var(--muted); }
.mg-datasheet dd { margin: 0; color: var(--ink); font-weight: 600; text-align: right; }
.mg-datasheet__note { margin: var(--sp-4) 0 0; max-width: 64ch; }
.mg-rfq { margin-top: var(--rhythm-lg); scroll-margin-top: 120px; align-items: start; }
.mg-rfq__title { margin: 0 0 12px; }
.mg-rfq__text { font-size: var(--fs-body); line-height: 1.55; margin: 0 0 16px; color: var(--ink-2); text-wrap: pretty; }
.mg-rfq__steps { margin: 0 0 16px; font-size: var(--fs-15); color: var(--muted); line-height: 1.6; }
.mg-rfq__steps a, .mg-rfq__contact { font-size: var(--fs-15); color: var(--ink-2); margin: 0 0 16px; line-height: 1.6; }
.mg-rfq__contact strong { color: var(--ink); }
.mg-rfq__drawerbtn { border: 0; background: transparent; font: inherit; font-weight: 600; color: var(--gold-dark); cursor: pointer; padding: 0; }
.mg-rfq__drawerbtn:hover { color: var(--gold); }
.mg-rfq__form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mg-rfq__sent { align-self: start; margin-bottom: var(--sp-5); }
.mg-form__more { grid-column: 1 / -1; }
.mg-form__more summary { cursor: pointer; font-weight: 600; font-size: var(--fs-15); color: var(--gold-dark); padding: 8px 0; list-style: none; }
.mg-form__more summary::-webkit-details-marker { display: none; }
.mg-form__more summary::before { content: "+ "; }
.mg-form__more[open] summary::before { content: "− "; }
.mg-form__moregrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px var(--col-gap); padding-top: 12px; }
.mg-prodrelated { padding-top: var(--rhythm-lg); padding-bottom: var(--page-bottom); }
.mg-recent { padding-top: var(--rhythm-lg); }
.mg-recent__head { margin-bottom: 12px; }
.mg-recent__list { display: flex; gap: 12px; flex-wrap: wrap; }
.mg-stickybar {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--header-h);
  z-index: var(--z-stickybar);
  background: var(--header-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: var(--elev-raised);
  opacity: 1;
  translate: 0 0;
  transition: opacity var(--dur-normal) var(--ease-out), translate var(--dur-normal) var(--ease-out), display var(--dur-normal) allow-discrete;
}
.mg-stickybar[hidden] { opacity: 0; translate: 0 -8px; }
@starting-style {
  .mg-stickybar:not([hidden]) { opacity: 0; translate: 0 -8px; }
}
.mg-stickybar__in { padding-top: 8px; padding-bottom: 8px; display: flex; align-items: center; gap: 16px; }
.mg-stickybar__thumb { --obj-h: 40px; --obj-shadow: 0; width: 40px; flex: none; }
.mg-stickybar__text { min-width: 0; flex: 1; }
.mg-stickybar__name { display: block; font-weight: 700; font-size: var(--fs-15); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mg-stickybar__meta { display: block; font-size: var(--fs-13); color: var(--muted); }
.mg-stickybar__nav { display: flex; gap: 24px; font-weight: 600; font-size: var(--fs-15); margin-right: var(--sp-4); }
.mg-stickybar__nav a { color: var(--ink); }
.mg-stickybar__nav a:hover { color: var(--gold); }
@media (max-width: 900px) {
  .mg-prodcover__grid { padding-bottom: var(--rhythm-md); }
  .mg-gallery__thumbs { justify-content: flex-start; }
  .mg-prodcover__inq { width: 100%; justify-content: center; }
  .mg-datasheet { grid-template-columns: 1fr; }
  .mg-rfq__form, .mg-form__moregrid { grid-template-columns: 1fr; }
  .mg-rfq { padding-top: var(--sp-6); }
}
#ulevaade, #koostis, #kus-osta, #tootekaart, #rfq { scroll-margin-top: calc(var(--header-h) + 72px); }
.mg-tablewrap { overflow-x: auto; }
.mg-variants { display: grid; gap: var(--sp-7); padding-bottom: var(--sp-7); }
.mg-variants__ing { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0 var(--col-gap); }
.mg-variants__row { padding-top: var(--sp-4); border-top: 1px solid var(--border-rule); }
.mg-variants__name { margin: 0 0 6px; font-family: var(--font-display); font-weight: 400; font-size: var(--fs-20); line-height: 1.2; }
.mg-nutable { width: 100%; border-collapse: collapse; font-size: var(--fs-15); font-variant-numeric: tabular-nums; }
.mg-nutable th, .mg-nutable td { padding: 10px 0 10px 16px; border-bottom: 1px solid var(--border-rule); text-align: right; white-space: nowrap; }
.mg-nutable thead th { padding-top: 0; font-weight: 600; color: var(--ink); vertical-align: bottom; white-space: normal; }
.mg-nutable tbody th { padding-left: 0; text-align: left; font-weight: 400; color: var(--muted); }
.mg-nutable td { color: var(--ink); font-weight: 600; }
@media (max-width: 600px) {
  .mg-nutable { font-size: var(--fs-14); }
  .mg-nutable th, .mg-nutable td { padding-left: 12px; white-space: normal; }
  .mg-nutable td { min-width: 5.5rem; }
  .mg-nutable tbody th, .mg-nutable thead th:first-child { position: sticky; left: 0; z-index: 1; max-width: 7.5rem; padding-left: 0; background: var(--bg); }
}
.mg-rfq__formwrap .mg-fieldcard__head { margin-bottom: var(--sp-5); }
.mg-recent__item { display: inline-flex; align-items: center; gap: 10px; padding: 6px 0; margin-right: var(--sp-6); font-size: var(--fs-15); color: var(--ink); }
.mg-recent__item img { width: 48px; height: 48px; object-fit: contain; }
.mg-recent__item:hover { color: var(--gold); }
.mg-stickybar__nav a { position: relative; padding-block: 6px; }
.mg-stickybar__nav a[aria-current]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--gold); }
.mg-stickybar__acts { display: flex; gap: 8px; width: 100%; }
.mg-stickybar__acts .mg-btn { flex: 1 1 0; justify-content: center; }
@media (max-width: 900px) {
  .mg-stickybar { top: auto; bottom: 0; padding-bottom: env(safe-area-inset-bottom, 0px); border-top: 1px solid var(--border-rule); box-shadow: none; }
  .mg-stickybar[hidden] { translate: 0 8px; }
  @starting-style { .mg-stickybar:not([hidden]) { translate: 0 8px; } }
  .mg-stickybar__thumb, .mg-stickybar__text { display: none; }
}
.mg-brands { padding-bottom: var(--page-bottom); }
.mg-brandrows { }
.mg-brandrow { align-items: center; padding: var(--rhythm-md) 0; }
.mg-brandrow__logo { display: block; width: 120px; height: auto; margin: 0 0 16px; mix-blend-mode: multiply; }
.mg-brandrow__name { margin: 0 0 8px; }
.mg-brandrow__name a { color: inherit; transition: color var(--dur-fast) var(--ease-out); }
.mg-brandrow__name a:hover { color: var(--gold); }
.mg-brandrow__tag { font-size: var(--fs-20); color: var(--gold); }
.mg-brandrow__desc { font-size: var(--fs-lede); line-height: 1.5; color: var(--ink-2); margin: var(--sp-4) 0 var(--sp-5); max-width: 40ch; text-wrap: pretty; }
.mg-brandrow__link { display: inline-block; font-weight: 600; color: var(--ink); padding-block: 6px; margin-block: -6px; }
.mg-brandrow__link:hover { color: var(--gold); }
.mg-brandrow__still { --still-max: 320px; --still-gap: 36px; justify-content: flex-end; }
.mg-partnersrow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--rhythm-md) var(--col-gap); margin-top: var(--rhythm-md); padding-top: var(--rhythm-md); border-top: 1px solid var(--border-rule); }
.mg-partner { color: var(--ink); text-decoration: none; min-width: 0; }
.mg-partner__obj { --obj-h: var(--obj-list); margin-bottom: 20px; }
.mg-partner .mg-obj > img { transition: translate var(--dur-normal) var(--ease-out); }
.mg-partner__name { display: block; font-family: var(--font-display); font-size: var(--fs-h3); transition: color var(--dur-fast) var(--ease-out); }
.mg-partner__tag { display: block; font-size: var(--fs-meta); color: var(--gold); font-weight: 600; margin-top: 2px; }
.mg-partner p { font-size: var(--fs-15); line-height: 1.5; color: var(--ink-2); margin: 8px 0 0; max-width: 36ch; text-wrap: pretty; }
@media (min-width: 901px) {
  .mg-partner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: minmax(0, 1fr) auto auto auto; column-gap: var(--sp-5); }
  .mg-partner__obj { grid-column: 1; grid-row: 1 / -1; margin-bottom: 0; }
  .mg-partner__name, .mg-partner__tag, .mg-partner p { grid-column: 2; }
  .mg-partner__name { grid-row: 2; }
  .mg-partner__tag { grid-row: 3; }
  .mg-partner p { grid-row: 4; }
}
@media (hover: hover) and (pointer: fine) {
  .mg-partner:hover .mg-partner__name { color: var(--gold); }
  .mg-partner:hover .mg-obj > img { translate: 0 -4px; }
}
@media (max-width: 1180px) {
  .mg-partnersrow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .mg-brandrow { padding: var(--sp-7) 0; }
  .mg-brandrow__still { order: -1; --still-max: 200px; --still-gap: 20px; justify-content: flex-start; }
  .mg-partnersrow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mg-partner__obj { --obj-h: 140px; }
}
.mg-about__h1 { margin: 0; }
.mg-about__photo { margin: 0; width: 100%; }
.mg-about__photo .mg-photo { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; border-radius: var(--r-lg); }
.mg-about__photo figcaption { padding: 12px 0 0; }
.mg-about__still { --still-max: 320px; --still-gap: 36px; justify-content: center; }
.mg-about__ledger { margin-top: var(--rhythm-md); }
.mg-journey { padding-top: var(--rhythm-xl); }
.mg-journey__rows .mg-row { grid-template-columns: minmax(150px, 2fr) minmax(0, 6fr) minmax(0, 4fr); padding: var(--sp-7) 0; }
.mg-journey__rows .mg-row__year { white-space: nowrap; font-size: clamp(24px, 2.6vw, 38px); }
.mg-journey__rows .mg-row__text { max-width: 56ch; }
.mg-journey__rows .mg-row__art { justify-self: start; }
.mg-journey__rows .mg-row__art .mg-obj { --obj-h: 150px; width: 200px; }
.mg-journey__rows .mg-row__art .mg-photo { width: 200px; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--r-sm); display: block; }
.mg-about__values { padding-top: var(--rhythm-xl); }
.mg-career { margin: var(--rhythm-xl) 0 var(--page-bottom); }
.mg-career__in { align-items: center; }
.mg-career__title { margin: 0 0 12px; }
.mg-career__btn { margin-top: var(--sp-6); }
.mg-career__team { margin: 0; }
.mg-career__team .mg-photo { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; border-radius: var(--r-lg); }
@media (max-width: 900px) {
  .mg-about__still { --still-max: 190px; --still-gap: 20px; justify-content: flex-start; }
  .mg-journey__rows .mg-row { padding: var(--sp-6) 0; grid-template-columns: minmax(0, 1fr) auto; row-gap: var(--sp-3); align-items: end; }
  .mg-journey__rows .mg-row__year { grid-column: 1; grid-row: 1; }
  .mg-journey__rows .mg-row__art { grid-column: 2; grid-row: 1; align-self: end; }
  .mg-journey__rows .mg-row__art .mg-obj { width: 104px; --obj-h: 88px; }
  .mg-journey__rows .mg-row__art .mg-photo { width: 120px; }
  .mg-journey__rows .mg-row__body { grid-column: 1 / -1; grid-row: 2; }
}
.mg-about__certs { margin: var(--sp-6) 0 0; font-weight: 600; }
.mg-about__certs a { color: var(--gold-dark); }
.mg-b2b { padding-bottom: var(--rhythm-xl); }
.mg-b2bcover__h1 { margin: 0; }
.mg-b2bcover__login { font-weight: 600; color: var(--gold-dark); padding: 12px 0; border-bottom: 1.5px solid var(--border-outline); }
.mg-b2bcover__login:hover { color: var(--gold); border-color: var(--gold); }
.mg-b2bcover__still { --still-max: 290px; --still-gap: 28px; justify-content: center; }
.mg-b2b__line { margin-top: var(--rhythm-md); }
.mg-b2b__line strong { color: var(--ink); font-weight: 600; }
.mg-b2b__ledger { margin-top: var(--rhythm-md); }
.mg-segments .mg-segment { grid-template-columns: minmax(220px, 4fr) minmax(0, 8fr); }
.mg-segments .mg-segment > span:last-child:empty { display: none; }
.mg-segment__title { font-weight: 600; font-size: var(--fs-16); margin: 0 0 8px; }
.mg-b2b__segments, .mg-b2b__terms, .mg-b2b__materials { margin-top: var(--rhythm-lg); }
.mg-terms { margin: 0; border-top: 1px solid var(--border-rule); }
.mg-terms__row { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 8px var(--col-gap); padding: var(--sp-5) 0; border-bottom: 1px solid var(--border-rule); }
.mg-terms dt { font-family: var(--font-display); font-size: var(--fs-20); line-height: 1.3; color: var(--ink); }
.mg-terms dd { margin: 0; max-width: 64ch; font-size: var(--fs-body); line-height: 1.6; color: var(--ink-2); text-wrap: pretty; }
.mg-files { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border-rule); }
.mg-files a { display: flex; justify-content: space-between; gap: 16px; padding: var(--sp-4) 0; border-bottom: 1px solid var(--border-rule); color: var(--ink); }
.mg-files__name { font-weight: 600; }
.mg-files__meta { color: var(--muted); white-space: nowrap; }
.mg-files a:hover .mg-files__name { color: var(--gold); }
.mg-b2b { padding-bottom: var(--rhythm-lg); }
.mg-partnerpanel { border-radius: 0; padding: var(--rhythm-lg) 0; background: var(--cocoa); color: var(--on-cocoa); }
body:has(.mg-partnerband) .mg-footer { border-top: 1px solid var(--border-on-dark); }
.mg-partnerpanel .mg-h2 { color: var(--on-cocoa); }
.mg-partnerpanel .mg-lede { color: var(--on-cocoa-2); }
.mg-partnerpanel .mg-fieldcard__head { border-color: var(--border-on-dark); }
.mg-partnerpanel .mg-fieldcard__title { color: var(--on-cocoa); }
.mg-partnerpanel .mg-fieldcard__sub, .mg-partnerpanel .mg-form__trust { color: var(--on-cocoa-muted); }
.mg-partnerpanel .mg-field__opt { color: var(--on-cocoa-muted); }
.mg-partnerform { align-items: start; scroll-margin-top: 120px; }
.mg-partnerform__intro .mg-h2 { margin: 0 0 12px; }
.mg-partnerform__contacts { margin-top: var(--sp-6); }
.mg-partnerform .mg-partnerform__contacts > div { grid-template-columns: 1fr; gap: 2px; padding: 10px 0; border-top: 1px solid var(--border-on-dark); }
.mg-partnerform .mg-partnerform__contacts dt { font-family: var(--font-body); font-size: var(--fs-13); font-weight: 600; color: var(--on-cocoa-muted); }
.mg-partnerform .mg-partnerform__contacts dd { margin: 0; font-size: var(--fs-16); color: var(--on-cocoa); }
.mg-partnerform__form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mg-form__row3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px var(--col-gap); }
@media (max-width: 900px) {
  .mg-b2bcover__still { --still-max: 150px; --still-gap: 16px; justify-content: flex-start; }
  .mg-b2bcover__still > .mg-obj:nth-child(n+4) { display: none; }
  .mg-b2bcover__still > .mg-obj { --still-h: min(var(--still-max), calc((100cqw - 2 * var(--still-gap)) / var(--still-fit3, 2.4))); }
  .mg-segments .mg-segment { grid-template-columns: 1fr; }
  .mg-terms__row { grid-template-columns: 1fr; }
  .mg-partnerform__form, .mg-form__row3 { grid-template-columns: 1fr; }
}
.mg-news { padding-bottom: var(--page-bottom); }
.mg-featart { align-items: center; margin-top: var(--rhythm-md); color: var(--ink); }
.mg-featart__img { display: block; }
.mg-featart__img .mg-photo { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; border-radius: var(--r-lg); }
.mg-featart__text { display: block; }
.mg-featart__title { display: block; font-family: var(--font-display); font-size: var(--fs-h2); line-height: 1.1; margin: 12px 0 16px; letter-spacing: -.01em; transition: color var(--dur-fast) var(--ease-out); }
.mg-featart:hover .mg-featart__title { color: var(--gold); }
.mg-featart__excerpt { display: block; margin: 0 0 16px; font-size: var(--fs-lede); line-height: 1.5; color: var(--ink-2); max-width: 40ch; text-wrap: pretty; }
.mg-featart__more { font-weight: 600; color: var(--gold); }
.mg-newslist { margin-top: var(--rhythm-lg); }
.mg-newslist .mg-row__art .mg-photo { width: 160px; aspect-ratio: 3/2; object-fit: cover; border-radius: var(--r-sm); display: block; }
@media (max-width: 900px) {
  .mg-featart { margin-top: var(--sp-7); }
  .mg-newslist { margin-top: var(--sp-8); }
  .mg-newslist .mg-row__art .mg-photo { width: 96px; }
}
.mg-newsfresh { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin: var(--sp-6) 0 var(--rhythm-md); padding: var(--sp-4) 0; border-block: 1px solid var(--border-rule); }
.mg-newsfresh__label { font-family: var(--font-display); font-style: italic; font-size: var(--fs-18); color: var(--gold); }
.mg-newsfresh__item { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-weight: 600; font-size: var(--fs-15); }
.mg-newsfresh__obj { --obj-h: 48px; width: 52px; }
.mg-newsfresh__item:hover { color: var(--gold); }
.mg-newsfresh__all { margin-left: auto; font-weight: 600; color: var(--gold-dark); }
@media (max-width: 900px) { .mg-newsfresh__all { margin-left: 0; } }
.mg-article { padding-block: var(--page-top) var(--page-bottom); }
.mg-article__head { row-gap: 0; margin-top: var(--sp-6); }
.mg-article__meta { margin: 0 0 16px; }
.mg-article__h1 { margin: 0; }
.mg-article__lede { margin-top: var(--sp-5); }
.mg-article__img { margin: var(--rhythm-md) 0 0; }
.mg-article__img .mg-photo { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; border-radius: var(--r-lg); }
.mg-article__grid { margin-top: var(--rhythm-md); align-items: start; }
.mg-article__body { font-size: var(--fs-18); line-height: 1.65; }
.mg-article__body h2 { font-size: var(--fs-h2); }
.mg-article__body h3 { font-size: var(--fs-h3); }
.mg-article__body img { border-radius: var(--r-md); }
.mg-article__aside { position: sticky; top: calc(var(--header-h) + 24px); display: grid; gap: var(--sp-7); }
.mg-article__products { display: grid; gap: var(--sp-5); align-content: start; }
.mg-article__product { display: grid; gap: 8px; color: var(--ink); }
.mg-article__obj { --obj-h: 120px; width: 100%; margin: 8px 0; }
.mg-article__pname { font-family: var(--font-display); font-size: var(--fs-18); line-height: 1.2; transition: color var(--dur-fast) var(--ease-out); }
.mg-article__product:hover .mg-article__pname { color: var(--gold); }
.mg-article__share { display: grid; gap: 8px; }
.mg-article__share a, .mg-article__share button { border: 0; background: transparent; padding: 6px 0; margin: -2px 0; font: inherit; font-weight: 600; color: var(--ink); text-align: left; cursor: pointer; }
.mg-article__share a:hover, .mg-article__share button:hover { color: var(--gold); }
@media (max-width: 900px) {
  .mg-article__head { margin-top: var(--sp-4); }
  .mg-article__img { margin-top: var(--sp-6); }
  .mg-article__body { font-size: var(--fs-body); line-height: 1.6; }
  .mg-article__aside { position: static; grid-template-columns: 1fr 1fr; align-items: start; }
}
.mg-reach { margin-top: var(--rhythm-md); padding-top: var(--sp-6); border-top: 1px solid var(--border-rule); align-items: start; }
.mg-reach__main { display: grid; justify-items: start; gap: 4px; }
.mg-reach__big { font-family: var(--font-display); font-size: clamp(34px, 4.2vw, 56px); line-height: 1.1; letter-spacing: -.02em; color: var(--ink); overflow-wrap: anywhere; }
.mg-reach__big:hover { color: var(--gold); }
.mg-reach__note { margin: var(--sp-4) 0 0; font-size: var(--fs-16); color: var(--ink-2); }
.mg-reach__deps { margin: var(--sp-6) 0 0; width: 100%; border-top: 1px solid var(--border-rule); }
.mg-reach__deps > div { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 4px var(--col-gap); padding: var(--sp-4) 0; border-bottom: 1px solid var(--border-rule); }
.mg-reach__deps dt { font-weight: 600; }
.mg-reach__deps dd { margin: 0; color: var(--ink-2); }
.mg-reach__addr { margin: 6px 0 var(--sp-5); font-family: var(--font-display); font-size: var(--fs-h3); line-height: 1.25; }
.mg-reach__hourstitle { margin: 0 0 6px; font-size: var(--fs-meta); font-weight: 600; color: var(--muted); }
.mg-reach__hours { margin: 0; border-top: 1px solid var(--border-rule); }
.mg-reach__hours > div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--border-rule); font-size: var(--fs-15); color: var(--ink-2); }
.mg-reach__hours dd { margin: 0; color: var(--ink); font-weight: 600; }
.mg-reach__hours > .is-today { color: var(--ink); }
.mg-reach__hours > .is-today dt { font-weight: 600; }
.mg-reach__hours > .is-today dd { color: var(--gold); }
.mg-reach__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: var(--sp-5) 0 0; }
.mg-reach__maplink { border: 0; background: none; padding: 8px 0; font: inherit; font-weight: 600; color: var(--gold-dark); cursor: pointer; }
.mg-reach__maplink:hover { color: var(--gold); }
.mg-reach__ids { margin: var(--sp-4) 0 0; }
.mg-reach__map { position: relative; margin-top: var(--rhythm-md); aspect-ratio: 16 / 6; min-height: 280px; background: var(--sand-2); border-radius: var(--r-sm); overflow: hidden; }
.mg-reach__map iframe, .mg-reach__img { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }
.mg-reach__mapnote { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 8px 12px; background: var(--header-bg); }
.mg-reach__map.is-loaded .mg-reach__img { display: none; }
.mg-contact__more { padding-block: var(--rhythm-xl) var(--page-bottom); }
.mg-contact__grid { align-items: start; }
.mg-contact__intro .mg-h2 { margin: 0 0 8px; }
.mg-contact__sub { margin: 0; color: var(--ink-2); }
.mg-contact__form { scroll-margin-top: 120px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .mg-reach__place { margin-top: var(--sp-7); }
  .mg-reach__map { aspect-ratio: 4 / 3; min-height: 0; }
  .mg-reach__deps > div { grid-template-columns: 1fr; }
  .mg-contact__more { padding-top: var(--rhythm-lg); }
}
@media (max-width: 600px) { .mg-contact__form { grid-template-columns: 1fr; } }
.mg-projects { padding-bottom: var(--page-bottom); }
.mg-projects__logo { height: 90px; width: auto; mix-blend-mode: multiply; }
.mg-projects__rows { margin-top: var(--rhythm-md); }
.mg-projects__rows .mg-row { grid-template-columns: minmax(160px, 3fr) minmax(0, 9fr) 0; }
.mg-projects__prose { margin-top: var(--rhythm-md); }
@media (max-width: 900px) {
  .mg-projects__logo { height: 64px; }
  .mg-projects__rows .mg-row { grid-template-columns: 1fr; }
}
.mg-projects__fund { margin: 0; display: grid; justify-items: end; gap: 8px; max-width: 240px; }
.mg-projects__fund figcaption { font-size: var(--fs-13); line-height: 1.4; color: var(--ink-2); text-align: right; }
@media (max-width: 900px) { .mg-projects__fund { justify-items: start; } .mg-projects__fund figcaption { text-align: left; } }
.mg-shelf { --still-h: 190px; }
.mg-shelf__board { position: relative; display: inline-flex; min-width: 100%; align-items: flex-end; gap: var(--col-gap); vertical-align: top; }
.mg-shelf__group { position: relative; flex: var(--w, 1) 1 0; min-width: 0; display: flex; flex-direction: column; color: var(--ink); text-decoration: none; }
.mg-shelf__still { height: var(--still-h); padding: 0 5%; }
.mg-shelf__still .mg-obj { --obj-shadow: .22; }
.mg-shelf__still .mg-obj > img { height: 100%; width: auto; max-width: none; }
.mg-shelf__flat { width: calc(var(--still-h) * .8); margin: 0 auto 12px; }
.mg-shelf__label { padding: 24px 0 0; }
.mg-shelf__name { display: block; font-family: var(--font-display); font-size: var(--fs-h3); line-height: 1.1; letter-spacing: -.01em; transition: color var(--dur-fast) var(--ease-out); }
.mg-shelf__count { display: block; margin-top: 4px; font-size: var(--fs-meta); color: var(--muted); font-variant-numeric: tabular-nums; }
.mg-shelf__group .mg-obj > img { transition: translate var(--dur-normal) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .mg-shelf__group:hover .mg-still > .mg-obj:nth-child(1) > img { translate: 0 -6px; }
  .mg-shelf__group:hover .mg-still > .mg-obj:nth-child(2) > img { translate: 0 -4px; transition-delay: calc(var(--dur-fast) / 4); }
  .mg-shelf__group:hover .mg-still > .mg-obj:nth-child(3) > img { translate: 0 -3px; transition-delay: calc(var(--dur-fast) / 2); }
  .mg-shelf__group:hover .mg-shelf__name { color: var(--gold); }
}
@media (max-width: 900px) {
  .mg-shelf { --still-h: 170px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter); }
  .mg-shelf::-webkit-scrollbar { display: none; }
  .mg-shelf__board { gap: var(--sp-5); }
  .mg-shelf__group { flex: 0 0 82vw; scroll-snap-align: start; }
}
.mg-scroller {
  container-type: inline-size;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(200px, 1fr);
  gap: var(--col-gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  padding-bottom: 8px;
  margin: 0 calc(-1 * var(--gutter));
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  scroll-padding-inline: var(--gutter);
}
@media (prefers-reduced-motion: no-preference) { .mg-scroller { scroll-behavior: smooth; } }
.mg-scroller::-webkit-scrollbar { display: none; }
@media (min-width: 901px) { .mg-scroller { mask-image: linear-gradient(90deg, black calc(100% - var(--gutter) - 48px), transparent); } }
.mg-scroller__dots { display: flex; gap: 8px; justify-content: center; margin-top: 8px; min-height: 6px; }
.mg-scroller__dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--sand-3); transition: background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.mg-scroller__dots i.is-on { background: var(--gold); transform: scale(1.2); }
.mg-scroller .mg-card__name { font-size: var(--fs-18); }
.mg-scroller .mg-card__meta { font-size: var(--fs-13); }
.mg-card__note { font-family: var(--font-hand); font-size: 18px; color: var(--gold-dark); margin-top: 4px; rotate: -2deg; display: inline-block; }
@media (max-width: 600px) {
  .mg-scroller { grid-auto-columns: 64vw; }
  .mg-scroller .mg-card--lead { grid-column: span 1; }
}
.mg-scroller:has(.mg-card--lead) { align-items: end; }
.mg-storyband { margin-top: var(--rhythm-lg); padding-block: var(--rhythm-lg); }
.mg-story__lead { align-items: start; }
.mg-story__lead .mg-h2 { margin: 0; }
.mg-story__sub { font-family: var(--font-display); font-style: italic; font-size: var(--fs-20); color: var(--ink-2); margin: 8px 0 0; }
.mg-story__text { margin: 0 0 20px; max-width: 46ch; }
.mg-timeline { --tl-h: 180px; list-style: none; margin: var(--rhythm-md) 0 0; padding: 0; position: relative; display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: var(--col-gap); }
.mg-timeline__line { display: none; }
.mg-timeline__item { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.mg-timeline__noart { display: block; height: var(--tl-h); }
.mg-timeline__obj { --obj-h: var(--tl-h); height: var(--tl-h); width: fit-content; max-width: 100%; margin: 0; }
.mg-timeline__obj > img { height: 100%; width: auto; max-width: none; }
.mg-timeline__still { --still-h: var(--tl-h); height: var(--tl-h); justify-content: flex-start; max-width: 100%; }
.mg-timeline__year { font-family: var(--font-display); font-style: italic; font-size: var(--fs-26); color: var(--gold); letter-spacing: -.02em; line-height: 1; margin-top: 20px; font-variant-numeric: tabular-nums; }
.mg-timeline__year--empty { letter-spacing: -.01em; }
.mg-timeline__title { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h3); margin: 12px 0 8px; }
.mg-timeline__text { font-size: var(--fs-15); line-height: 1.55; color: var(--ink-2); margin: 0; text-wrap: pretty; max-width: 34ch; }
.mg-timeline__year--empty + .mg-sr + .mg-timeline__text { margin-top: 8px; }
.mg-timeline__cap { display: block; font-family: var(--font-hand); font-size: 20px; color: var(--gold-dark); margin-top: 8px; rotate: -2deg; }
.mg-timeline__photo { margin: 0; width: min(100%, 300px); height: var(--tl-h); display: grid; align-items: end; }
.mg-timeline__photo img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--r-md); display: block; }
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    html.mg-js .mg-timeline__line { animation: mgGrowX linear both; animation-timeline: view(); animation-range: entry 10% entry 70%; }
  }
}
@keyframes mgGrowX { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (min-width: 901px) { .mg-timeline__dots { display: none; } }
@media (max-width: 900px) {
  .mg-timeline { --tl-h: 168px; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 80%; gap: var(--sp-6); margin: var(--sp-8) calc(-1 * var(--gutter)) 0;
    padding: 0 var(--gutter) var(--sp-2); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; overscroll-behavior-x: contain; }
  .mg-timeline::-webkit-scrollbar { display: none; }
  .mg-timeline__item { padding-top: 0; scroll-snap-align: start; }
  .mg-timeline__year { margin-top: 16px; font-size: var(--fs-26); }
  .mg-timeline__text { max-width: none; }
  .mg-timeline__dots { margin-top: var(--sp-4); }
}
.mg-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 24px 32px; margin: 0; padding: 0; }
.mg-facts dt { font-size: var(--fs-13); color: var(--muted); margin-bottom: 8px; }
.mg-facts dd { margin: 0; font-family: var(--font-display); font-size: var(--fs-22); line-height: 1.25; color: var(--ink); text-wrap: balance; font-variant-numeric: tabular-nums; }
.mg-facts--ledger { grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr)); gap: 16px var(--col-gap); margin-top: var(--sp-9); padding-top: 0; }
.mg-facts--ledger dd { font-size: var(--fs-20); text-wrap: pretty; }
.mg-facts__wide { grid-column: span 2; }
@media (max-width: 900px) {
  .mg-facts--ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--sp-8); }
}
@media (max-width: 600px) {
  .mg-facts--ledger { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--border-rule); }
  .mg-facts--ledger > div { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--border-rule); }
  .mg-facts--ledger dt { margin: 0; }
  .mg-facts--ledger dd { font-size: var(--fs-18); line-height: 1.3; }
  .mg-facts--ledger .mg-facts__wide { grid-column: auto; }
}
.mg-scroller--quotes { grid-auto-columns: minmax(300px, 1fr); align-items: start; }
.mg-testimonials .mg-sechead { margin-top: var(--rhythm-lg); }
.mg-quote { margin: 0; }
.mg-quote--card { scroll-snap-align: start; display: grid; gap: 12px; align-content: start; padding-top: 4px; }
.mg-quote__obj { --obj-h: 120px; --obj-shadow: .18; width: 140px; margin: 8px 0 0; justify-self: start; }
.mg-quote blockquote { margin: 0; font-family: var(--font-display); font-style: italic; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.4; color: var(--ink); text-wrap: pretty; hanging-punctuation: first; }
.mg-quote blockquote::before { content: '„'; } .mg-quote blockquote::after { content: '“'; }
.mg-quote figcaption { font-size: var(--fs-14); color: var(--muted); }
.mg-quote figcaption strong { color: var(--ink); font-weight: 600; }
.mg-quote figcaption a { color: var(--gold-dark); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) {
  .mg-scroller--quotes { grid-auto-columns: 84%; align-items: stretch; }
  .mg-quote--card { grid-template-columns: 56px minmax(0, 1fr); column-gap: var(--sp-4); row-gap: var(--sp-4); align-content: start; }
  .mg-quote--card blockquote { grid-column: 1 / -1; font-size: var(--fs-20); line-height: 1.38; }
  .mg-quote--card .mg-quote__obj { grid-row: 2; grid-column: 1; --obj-h: 56px; width: 56px; margin: 0; }
  .mg-quote--card figcaption { grid-row: 2; grid-column: 2; align-self: center; font-size: var(--fs-15); line-height: 1.4; }
  .mg-quote--card:not(:has(.mg-quote__obj)) figcaption { grid-column: 1 / -1; }
  .mg-testimonials .mg-sechead__tools { display: none; }
}
.mg-masthead { padding-top: var(--rhythm-lg); grid-template-rows: auto auto minmax(0, 1fr) auto; }
.mg-masthead__title { grid-column: 1 / span 8; grid-row: 1; margin: 0; }
.mg-masthead__lede { grid-column: 1 / span 6; grid-row: 2; margin-top: 0; }
.mg-masthead__art { grid-column: 9 / span 4; grid-row: 1 / span 3; justify-self: end; align-self: end; }
.mg-masthead:not(:has(.mg-masthead__lede)):not(:has(.mg-masthead__art)) { grid-template-rows: auto auto; }
.mg-masthead:not(:has(.mg-masthead__lede)):not(:has(.mg-masthead__art)) .mg-masthead__meta { grid-row: 2; margin-top: var(--sp-5); }
.mg-masthead:not(:has(.mg-masthead__meta)):not(:has(.mg-masthead__art)) { grid-template-rows: auto auto; }
.mg-masthead__meta {
  grid-column: 1 / -1;
  grid-row: 4;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px 24px;
  flex-wrap: wrap;
  margin-top: var(--sp-7);
  padding-bottom: 0;
  font-size: var(--fs-meta);
  color: var(--muted);
}
.mg-masthead__meta a { color: var(--ink); font-weight: 600; }
.mg-masthead__meta > span a { display: inline-block; padding-block: 6px; }
.mg-masthead__meta a:hover { color: var(--gold); }
.mg-masthead__meta > * { display: flex; gap: 16px 24px; flex-wrap: wrap; align-items: baseline; }
.mg-cover { align-items: center; padding-top: var(--rhythm-lg); }
.mg-cover__text { grid-column: span 5; }
.mg-cover__art { grid-column: span 7; justify-self: center; }
.mg-cover--rev .mg-cover__text { grid-column: 8 / span 5; grid-row: 1; }
.mg-cover--rev .mg-cover__art { grid-column: 1 / span 7; grid-row: 1; }
.mg-cover__kicker { font-size: var(--fs-meta); color: var(--muted); margin-bottom: 16px; }
.mg-cover__lede { margin-top: var(--sp-5); }
.mg-cover__actions { display: flex; gap: 12px 24px; align-items: center; flex-wrap: wrap; margin-top: var(--sp-6); }
.mg-cover__meta { margin-top: var(--sp-6); font-size: var(--fs-meta); color: var(--muted); }
.mg-obj--cover { --obj-h: var(--obj-cover); width: 100%; }
.mg-obj--cover > img { height: 100%; width: auto; max-width: 100%; }
@media (max-width: 900px) {
  .mg-masthead__title, .mg-masthead__lede { grid-column: 1 / -1; grid-row: auto; }
  .mg-masthead__art { grid-column: 1 / -1; grid-row: auto; justify-self: start; }
  .mg-masthead__meta { margin-top: var(--sp-6); }
  .mg-cover { padding-top: var(--sp-6); }
  .mg-cover__text, .mg-cover__art, .mg-cover--rev .mg-cover__text, .mg-cover--rev .mg-cover__art { grid-column: 1 / -1; grid-row: auto; }
  .mg-cover__art { order: -1; justify-self: start; }
  .mg-cover__actions .mg-btn { width: 100%; justify-content: center; }
}
.mg-rows { list-style: none; margin: 0; padding: 0; }
.mg-row {
  display: grid;
  grid-template-columns: minmax(120px, 2fr) minmax(0, 7fr) minmax(0, 3fr);
  gap: 8px var(--col-gap);
  align-items: baseline;
  padding: var(--sp-6) 0;
  color: var(--ink);
}
.mg-row--tight { padding: var(--sp-4) 0; }
.mg-row__meta, .mg-row__body, .mg-row__title, .mg-row__text, .mg-row__art { display: block; }
.mg-row__meta { font-size: var(--fs-meta); color: var(--muted); line-height: 1.5; font-variant-numeric: tabular-nums; }
.mg-row__year { font-family: var(--font-display); font-style: italic; font-size: clamp(28px, 2.8vw, 40px); color: var(--gold); letter-spacing: -.02em; line-height: 1; }
.mg-row__term { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h3); line-height: 1.2; margin: 0; }
.mg-row__body { min-width: 0; }
.mg-row__title { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h3); line-height: 1.2; margin: 0; transition: color var(--dur-fast) var(--ease-out); }
a.mg-row:hover .mg-row__title, .mg-row a:hover { color: var(--gold); }
.mg-row__text { font-size: var(--fs-body); line-height: 1.55; color: var(--ink-2); margin: 8px 0 0; max-width: 64ch; }
.mg-row__list { margin: 8px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: var(--fs-15); color: var(--ink-2); }
.mg-row__list li::before { content: "·"; color: var(--gold); margin-right: 8px; }
.mg-row__art { justify-self: end; }
.mg-row__art:has(img, .mg-obj) { align-self: start; }
.mg-row__art .mg-obj { --obj-h: var(--obj-row); width: 160px; }
.mg-row__art img.mg-photo { width: 160px; aspect-ratio: 3/2; object-fit: cover; border-radius: var(--r-sm); display: block; }
.mg-ledger--rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--col-gap); margin: 0; padding: 0; border-top: 0; }
.mg-ledger--rows > div { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 8px var(--col-gap); padding: var(--sp-5) 0; }
.mg-ledger--rows dt { font-family: var(--font-display); font-size: var(--fs-h3); line-height: 1.2; color: var(--ink); }
.mg-ledger--rows dd { margin: 0; font-size: var(--fs-body); line-height: 1.55; color: var(--ink-2); font-family: var(--font-body); text-wrap: pretty; }
.mg-ledger--rows--1 { grid-template-columns: 1fr; }
.mg-facts--tight { gap: 16px var(--col-gap); padding-top: 16px; }
.mg-facts--tight dd { font-size: var(--fs-18); }
@media (max-width: 900px) {
  .mg-row { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
  .mg-row__meta, .mg-row__year, .mg-row__term { grid-column: 1; grid-row: 1; }
  .mg-row__meta { display: flex; flex-wrap: wrap; gap: 0 12px; }
  .mg-row__meta br { display: none; }
  .mg-rows:not(.mg-club__history) .mg-row__body { display: contents; }
  .mg-rows:not(.mg-club__history) .mg-row__body > * { grid-column: 1 / -1; }
  .mg-rows:not(.mg-club__history) .mg-row__body > :first-child { grid-column: 1; }
  .mg-club__history .mg-row__body { grid-column: 1; }
  .mg-row__art { grid-column: 2; grid-row: 1 / span 2; align-self: start; }
  .mg-row__art .mg-obj { width: 96px; --obj-h: 80px; }
  .mg-row__art img.mg-photo { width: 96px; }
  .mg-ledger--rows { grid-template-columns: 1fr; }
  .mg-ledger--rows > div { grid-template-columns: 1fr; gap: 4px; }
}
.mg-club { padding-bottom: var(--page-bottom); }
.mg-club__tagline { display: block; margin-top: 10px; font-family: var(--font-display); font-style: italic; font-weight: 400; font-size: var(--fs-h3); line-height: 1.2; letter-spacing: 0; color: var(--gold); text-wrap: balance; }
.mg-nlform--paper .mg-nlform__field input { border: 1px solid var(--border-input); background: var(--surface); }
.mg-nlform--paper .mg-nlform__field input:hover { border-color: var(--border-outline); }
.mg-nlform--paper .mg-nlform__field input:focus { border-color: var(--gold); }
@keyframes mgStamp { from { opacity: 0; transform: scale(1.5); } to { opacity: .88; transform: none; } }
@keyframes mgSettle { from { opacity: 0; transform: translateY(-14px) rotate(-.6deg); } to { opacity: 1; transform: none; } }
.mg-club__cover { margin-top: var(--sp-6); align-items: start; scroll-margin-top: calc(var(--header-h) + 16px); }
.mg-club__lead { display: grid; align-content: start; }
.mg-club__h1 { margin: 0; }
.mg-club__lede { margin: var(--sp-5) 0 var(--sp-7); max-width: 40ch; }
.mg-club__side { margin-top: clamp(8px, 2vw, 32px); }
.mg-issue { position: relative; overflow: hidden; display: grid; align-content: start; }
.mg-issue__head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px 16px; margin-bottom: var(--sp-5); padding-bottom: var(--sp-4); border-bottom: 1px solid var(--border-rule); font-size: var(--fs-meta); color: var(--muted); }
.mg-issue__no { font-family: var(--font-display); font-style: italic; font-size: var(--fs-h3); line-height: 1; color: var(--gold); }
.mg-issue__title { margin: 0 0 var(--sp-3); font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h2); line-height: 1.08; letter-spacing: -.01em; text-wrap: balance; }
.mg-issue__text { margin: 0 0 var(--sp-5); font-size: var(--fs-body); line-height: 1.55; color: var(--ink-2); max-width: 44ch; text-wrap: pretty; }
.mg-issue__consent { margin: var(--sp-3) 0 0; font-size: var(--fs-13); line-height: 1.5; color: var(--muted); }
.mg-issue__consent a { color: var(--ink-2); text-decoration: underline; text-underline-offset: 3px; }
.mg-issue__cal { margin-top: var(--sp-6); padding-top: var(--sp-5); border-top: 1px solid var(--border-rule); }
.mg-cal { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(16, minmax(0, 1fr)); gap: 4px; max-width: 440px; }
.mg-cal__day { aspect-ratio: 1; display: grid; place-items: center; border: 1px solid transparent; border-radius: 50%; font-size: var(--fs-12); line-height: 1; font-variant-numeric: tabular-nums; color: var(--ink-2); }
.mg-cal__day.is-past { color: var(--muted); }
.mg-cal__day.is-today { border-color: var(--ink); color: var(--ink); font-weight: 600; }
.mg-cal__day--draw, .mg-cal__day--draw.is-today { background: var(--gold); border-color: var(--gold); color: var(--surface); font-weight: 700; }
.mg-issue__when { display: flex; align-items: baseline; gap: 4px 12px; flex-wrap: wrap; margin: var(--sp-4) 0 0; font-size: var(--fs-14); line-height: 1.45; color: var(--ink-2); }
.mg-issue__when strong { font-weight: 600; color: var(--ink); }
.mg-issue__cd { color: var(--muted); font-variant-numeric: tabular-nums; }
.mg-issue__cd::before { content: "·"; margin-right: 12px; }
.mg-issue__cal.is-now .mg-issue__cd { color: var(--gold); font-weight: 600; }
.mg-issue__prev { margin: var(--sp-3) 0 0; font-size: var(--fs-14); color: var(--ink-2); }
.mg-issue__prev span { color: var(--muted); }
.mg-club__prize { display: grid; justify-items: center; align-content: end; gap: var(--sp-6); }
.mg-club__obj { --obj-h: clamp(260px, 30vw, 440px); width: min(100%, 560px); }
.mg-club__still { --still-h: clamp(220px, 24vw, 340px); width: 100%; }
.mg-club__photo { display: block; width: min(100%, 560px); height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-sm); box-shadow: var(--elev-raised); }
.mg-club__label { justify-self: stretch; display: grid; grid-template-columns: minmax(150px, 3fr) minmax(0, 9fr); gap: 8px var(--col-gap); align-items: start; padding-top: var(--sp-4); border-top: 1px solid var(--border-rule); }
.mg-club__label .mg-cap { margin-top: 2px; }
.mg-club__prizename { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h3); line-height: 1.2; }
.mg-club__prizetext { margin: 8px 0 0; font-size: var(--fs-15); line-height: 1.5; color: var(--ink-2); max-width: 54ch; text-wrap: pretty; }
.mg-club__prizelink { display: inline-block; margin-top: 8px; padding-block: 2px; font-size: var(--fs-14); font-weight: 600; color: var(--gold-dark); }
.mg-club__prizelink:hover { color: var(--gold); }
.mg-club__flow { margin-top: var(--rhythm-lg); }
.mg-flow { --n: 4; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: var(--col-gap); border-top: 1px solid var(--border-rule); }
.mg-flow__step { position: relative; padding: var(--sp-6) var(--sp-4) 0 0; }
.mg-flow__dot { position: absolute; left: 0; top: -5px; width: 9px; height: 9px; border-radius: 50%; background: var(--gold); }
.mg-flow__when { display: block; margin-bottom: var(--sp-3); font-family: var(--font-display); font-style: italic; font-size: var(--fs-18); line-height: 1.2; color: var(--gold); }
.mg-flow__title { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h3); line-height: 1.2; }
.mg-flow__step p { margin: 8px 0 0; font-size: var(--fs-15); line-height: 1.55; color: var(--ink-2); max-width: 34ch; text-wrap: pretty; }
.mg-club__lettersec { margin-top: var(--rhythm-lg); }
.mg-club__letterintro { display: grid; align-content: start; gap: var(--sp-4); }
.mg-club__letterintro .mg-h2 { margin: 0; }
.mg-club__lettertext { margin: 0; font-size: var(--fs-lede); line-height: 1.45; color: var(--ink-2); max-width: 38ch; text-wrap: pretty; }
.mg-club__perkstitle { margin: var(--sp-6) 0 0; font-family: var(--font-display); font-style: italic; font-weight: 400; font-size: var(--fs-18); line-height: 1.2; color: var(--gold); }
.mg-club__perks { margin-top: var(--sp-2); }
.mg-club__perks > div { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: var(--sp-4) 0; border-top: 1px solid var(--border-rule); }
.mg-club__perks > div:last-child { border-bottom: 1px solid var(--border-rule); }
.mg-club__perks dt { font-size: var(--fs-18); }
.mg-club__perks dd { font-size: var(--fs-15); }
.mg-letter { display: grid; gap: var(--sp-3); align-self: start; }
.mg-letter__frame { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-sm); box-shadow: var(--elev-raised); overflow: hidden; }
.mg-letter__bar { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 16px; padding: 14px 20px; border-bottom: 1px solid var(--border-rule); font-size: var(--fs-13); line-height: 1.4; }
.mg-letter__k { color: var(--muted); }
.mg-letter__v { color: var(--ink); overflow-wrap: anywhere; }
.mg-letter__body { pointer-events: none; }
.mg-letter__body table { border-collapse: separate; border-spacing: 0; }
.mg-letter__body img { max-width: 100%; }
.mg-letter__cap { margin: 0 8px 0 0; justify-self: end; }
.mg-club__historysec { margin-top: var(--rhythm-lg); }
.mg-club__history .mg-row { border-top: 1px solid var(--border-rule); }
.mg-club__history .mg-row:last-child { border-bottom: 1px solid var(--border-rule); }
.mg-club__hprize { display: flex; align-items: center; gap: 12px; }
.mg-club__hthumb { width: 48px; flex: none; }
.mg-club__hname { font-family: var(--font-display); font-size: var(--fs-18); line-height: 1.25; }
.mg-club__hwinner { font-size: var(--fs-15); color: var(--ink-2); text-align: right; }
.mg-club__rules { scroll-margin-top: calc(var(--header-h) + 16px); }
.mg-club__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-6) var(--col-gap); padding-top: var(--sp-5); border-top: 1px solid var(--border-rule); }
.mg-club__facts dd { font-size: var(--fs-20); }
.mg-club__rulesbox { margin-top: var(--sp-7); }
.mg-club__rulesbox > summary { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; list-style: none; padding: 10px 18px; border: 1.5px solid var(--gold); border-radius: var(--r-pill); font-weight: 600; font-size: var(--fs-15); color: var(--gold); transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.mg-club__rulesbox > summary::-webkit-details-marker { display: none; }
.mg-club__rulesbox > summary::after { content: "+"; font-size: var(--fs-18); line-height: 1; }
.mg-club__rulesbox[open] > summary::after { content: "−"; }
.mg-club__rulesbox > summary:hover { background: var(--gold); color: var(--surface); }
.mg-club__rulestext { margin-top: var(--sp-6); }
.mg-club__faq { display: grid; }
.mg-club__q { padding: var(--sp-5) 0; border-top: 1px solid var(--border-rule); }
.mg-club__q summary { cursor: pointer; list-style: none; font-family: var(--font-display); font-size: var(--fs-18); line-height: 1.3; }
.mg-club__q summary::-webkit-details-marker { display: none; }
.mg-club__q summary::after { content: '+'; float: right; margin-left: 16px; color: var(--gold); }
.mg-club__q[open] summary::after { content: '−'; }
.mg-club__q p { margin: 8px 0 0; max-width: 70ch; font-size: var(--fs-15); line-height: 1.6; color: var(--ink-2); }
.mg-club__cta { display: flex; justify-content: space-between; align-items: center; gap: 16px 24px; flex-wrap: wrap; margin-top: var(--rhythm-lg); padding-top: var(--sp-6); border-top: 1px solid var(--border-rule); }
.mg-club__ctatext { font-family: var(--font-display); font-style: italic; font-size: var(--fs-h3); line-height: 1.2; }
.mg-clubmodal { position: fixed; inset: 0; margin: auto; width: min(560px, calc(100vw - 24px)); max-width: none; max-height: calc(100svh - 24px); padding: 0; border: 0; background: transparent; overflow: visible; }
.mg-clubmodal::backdrop { background: var(--scrim); }
.mg-clubmodal .mg-issue { max-height: calc(100svh - 24px); overflow: auto; box-shadow: var(--elev-overlay); }
.mg-clubmodal--prize { width: min(860px, calc(100vw - 24px)); }
.mg-clubmodal--prize[open] { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); background: var(--surface); border-radius: var(--r-sm); box-shadow: var(--elev-overlay); overflow: hidden; }
.mg-clubmodal--prize .mg-issue { border: 0; border-radius: 0; box-shadow: none; }
.mg-clubmodal__prize { margin: 0; display: grid; align-content: center; justify-items: center; gap: var(--sp-4); padding: var(--sp-7) var(--sp-6); background: var(--sand-2); }
.mg-clubmodal__obj { --obj-h: clamp(180px, 22vw, 260px); width: 100%; }
.mg-clubmodal__photo { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.mg-clubmodal__prize figcaption { display: grid; gap: 4px; text-align: center; }
.mg-clubmodal__prize strong { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-20); line-height: 1.2; }
.mg-clubmodal__close { position: absolute; right: 10px; top: 10px; z-index: 2; background: var(--surface); }
.mg-issue--prompt .mg-issue__head { padding-right: 44px; }
.mg-issue__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; margin-top: var(--sp-5); }
.mg-issue__more { font-size: var(--fs-14); font-weight: 600; color: var(--gold-dark); padding-block: 6px; }
.mg-issue__more:hover { color: var(--gold); }
.mg-issue__decline { border: 0; background: transparent; padding: 8px 0; font: inherit; font-size: var(--fs-14); color: var(--muted); cursor: pointer; }
.mg-issue__decline:hover { color: var(--ink); }
@media (prefers-reduced-motion: no-preference) {
  .mg-clubmodal[open] { animation: mgSettle var(--dur-brand) var(--ease-out) both; }
  .mg-clubmodal[open]::backdrop { animation: mgFade var(--dur-normal) var(--ease-out) both; }
}
@media (max-width: 1180px) {
  .mg-club__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mg-club__label { grid-template-columns: 1fr; gap: 4px; }
}
@media (max-width: 900px) {
  .mg-club__tagline { font-size: var(--fs-20); }
  .mg-club__cover { margin-top: var(--sp-6); }
  .mg-club__prize { justify-items: start; align-content: start; gap: var(--sp-5); }
  .mg-club__side { margin-top: var(--rhythm-md); }
  .mg-club__obj { --obj-h: 220px; width: 100%; }
  .mg-club__still { --still-h: 180px; }
  .mg-club__flow, .mg-club__lettersec, .mg-club__historysec { margin-top: var(--rhythm-lg); }
  .mg-flow { grid-template-columns: 1fr; gap: 0; border-top: 0; border-left: 1px solid var(--border-rule); }
  .mg-flow__step { padding: 0 0 var(--sp-6) var(--sp-6); }
  .mg-flow__step:last-child { padding-bottom: 0; }
  .mg-flow__dot { left: -5px; top: 6px; }
  .mg-letter { margin-top: var(--sp-4); }
  .mg-club__hwinner { text-align: left; }
  .mg-club__cta .mg-btn { width: 100%; justify-content: center; }
}
@media (max-width: 600px) {
  .mg-issue .mg-nlform { max-width: none; }
  .mg-issue .mg-nlform__field { width: 100%; }
  .mg-clubmodal, .mg-clubmodal--prize { width: 100%; max-height: 90svh; margin: auto 0 0; }
  .mg-clubmodal .mg-issue { max-height: 90svh; border-radius: var(--r-sm) var(--r-sm) 0 0; padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)); }
  .mg-clubmodal--prize[open] { grid-template-columns: 1fr; max-height: 90svh; overflow: auto; border-radius: var(--r-sm) var(--r-sm) 0 0; }
  .mg-clubmodal--prize .mg-issue { max-height: none; overflow: visible; }
  .mg-clubmodal__prize { grid-template-columns: 72px minmax(0, 1fr); justify-items: start; align-items: center; padding: var(--sp-5) var(--sp-5) 0; background: none; }
  .mg-clubmodal__obj { --obj-h: 72px; width: 72px; }
  .mg-clubmodal__photo { width: 72px; }
  .mg-clubmodal__prize figcaption { text-align: left; }
  .mg-club__facts { grid-template-columns: 1fr; }
  .mg-club__perks > div { grid-template-columns: 1fr; gap: 4px; }
  .mg-letter__bar { padding: 12px 16px; }
}
@media print {
  @page { size: A4; margin: 14mm 14mm 16mm; }
  .mg-header, .mg-footer, .mg-nlwrap, .mg-drawer, .mg-toast, .mg-cookie, .mg-stickybar,
  .mg-crumbs, .mg-cover__actions, .mg-prodcover__links, .mg-prodcover__hint, .mg-buy, .mg-stickybar, .mg-runhead__tools, .mg-sechead__tools, .mg-gallery__thumbs, .mg-rfq, .mg-grid--related, .mg-recent,
  .mg-filterbar, .mg-cattabs, .mg-table__actions, .mg-hero__wave, .mg-noprint, [data-live] {
    display: none!important;
  }
  html, body { background: #fff!important; color: #000!important; font-size: 11pt; }
  body::after { display: none!important; }
  .mg-main, .mg-container { max-width: none!important; padding-left: 0!important; padding-right: 0!important; }
  .mg-printhead { display: block; font-size: 9pt; color: #555; border-bottom: 1px solid #999; padding-bottom: 4mm; margin-bottom: 6mm; }
  .mg-prodcover__grid { padding-top: 0!important; padding-bottom: 6mm!important; }
  .mg-prodcover__grid, .mg-datasheet { grid-template-columns: 1fr!important; gap: 6mm!important; }
  .mg-obj--cover { --obj-h: 60mm!important; }
  .mg-gallery__main { max-width: 70mm; aspect-ratio: 1; background: none!important; box-shadow: none!important; border: 1px solid #ddd; }
  .mg-gallery__main > img { filter: none!important; }
  .mg-h1 { font-size: 20pt!important; margin: 0 0 3mm!important; }
  .mg-cover__lede { font-size: 11pt!important; margin: 3mm 0!important; }
  .mg-surface { box-shadow: none!important; border: 1px solid #ccc!important; break-inside: avoid; page-break-inside: avoid; }
  .mg-datasheet, .mg-variant, .mg-variants, .mg-nutable { break-inside: avoid; }
  .mg-chip, .mg-badge { border: 1px solid #999!important; background: none!important; color: #000!important; }
  a { color: #000!important; text-decoration: none!important; }
  .mg-catbody { padding: 0!important; }
  .mg-table__head, .mg-table__row { min-width: 0!important; gap: 3mm!important; padding: 2mm 0!important; font-size: 9pt!important; }
  .mg-table__add { visibility: hidden!important; }
  .mg-table .mg-desk { display: block!important; }
  .mg-table .mg-mob { display: none!important; }
  .mg-table__row { break-inside: avoid; }
  .mg-card, .mg-group { break-inside: avoid; }
  .mg-reveal, .mg-reveal-group > * { opacity: 1!important; animation: none!important; transform: none!important; }
}
