:root {
  --msd-ink: #18151d;
  --msd-muted: #655f68;
  --msd-ivory: #f8f5f0;
  --msd-paper: #fffdf9;
  --msd-plum: #643354;
  --msd-plum-dark: #48223d;
  --msd-copper: #a95f3e;
  --msd-sage: #3f695b;
  --msd-rose: #c88686;
  --msd-line: #ded7cf;
  --msd-soft-line: #ebe5de;
  --msd-shadow: 0 24px 70px rgb(39 29 37 / 10%);
  --msd-serif: "Iowan Old Style", Baskerville, Georgia, Cambria, serif;
  --msd-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-padding-top: 8rem; }
body.msd-site { margin: 0; color: var(--msd-ink); background: var(--msd-ivory); font-family: var(--msd-sans); -webkit-font-smoothing: antialiased; }
body.msd-site a { color: inherit; text-decoration: none; }
body.msd-site button, body.msd-site input, body.msd-site select { font: inherit; }
body.msd-site img { max-width: 100%; height: auto; }
body.msd-site h1, body.msd-site h2, body.msd-site h3 { text-wrap: balance; }
body.msd-site p { text-wrap: pretty; }
:focus-visible { outline: 3px solid var(--msd-copper); outline-offset: 3px; }
[hidden] { display: none !important; }
.msd-shell { width: min(1240px, calc(100% - 3rem)); margin-inline: auto; }
.msd-main { min-height: 60vh; }
.msd-section { padding-block: clamp(4.5rem, 8vw, 8rem); }
.msd-section--tint { background: #eee8e1; }
.msd-section--dark { color: #fff; background: var(--msd-ink); }
.msd-kicker { display: block; margin-bottom: 1rem; color: var(--msd-copper); font-size: .72rem; font-weight: 800; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; }
.msd-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: 2.25rem; }
.msd-section-heading h2 { max-width: 760px; margin: 0; font: 500 clamp(2rem, 4vw, 3.8rem)/1.05 var(--msd-serif); letter-spacing: -.03em; }
.msd-section-heading > p { max-width: 380px; margin: 0; color: var(--msd-muted); }
.msd-button { display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; border: 1px solid var(--msd-plum); border-radius: 999px; padding: .8rem 1.35rem; color: #fff !important; background: var(--msd-plum); font-size: .9rem; font-weight: 750; line-height: 1.1; cursor: pointer; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.msd-button:hover { border-color: var(--msd-plum-dark); background: var(--msd-plum-dark); transform: translateY(-1px); }
.msd-button.is-secondary { color: var(--msd-ink) !important; border-color: var(--msd-line); background: transparent; }
.msd-button.is-secondary:hover { border-color: var(--msd-ink); background: var(--msd-paper); }
.msd-button.is-light { color: var(--msd-ink) !important; border-color: #fff; background: #fff; }
.msd-button--full { width: 100%; }
.msd-button[disabled] { cursor: not-allowed; opacity: .58; transform: none; }
.msd-text-link { display: inline-flex; align-items: center; gap: .4rem; color: var(--msd-plum) !important; font-weight: 750; }
.msd-text-link:hover { text-decoration: underline; text-underline-offset: .25em; }
.msd-microcopy { color: var(--msd-muted); font-size: .78rem; }

.msd-skip-link { position: fixed; z-index: 9999; top: .5rem; left: .5rem; padding: .7rem 1rem; color: #fff !important; background: var(--msd-ink); transform: translateY(-160%); }
.msd-skip-link:focus { transform: none; }
.msd-local-ribbon { padding: .38rem 1rem; color: #f8ede5; background: var(--msd-ink); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.msd-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid rgb(24 21 29 / 10%); background: rgb(248 245 240 / 92%); backdrop-filter: blur(16px); }
.msd-header__inner { display: flex; min-height: 5.35rem; align-items: center; gap: 2rem; }
.msd-logo { display: inline-flex; flex-direction: column; gap: .1rem; min-width: 150px; }
.msd-logo strong { font: 600 1.45rem/1 var(--msd-serif); letter-spacing: -.03em; }
.msd-logo span { color: var(--msd-copper); font-size: .58rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.msd-nav-desktop { display: flex; align-self: stretch; align-items: center; gap: 1.7rem; margin-left: auto; }
.msd-nav-desktop > a, .msd-nav-group > button { border: 0; padding: .75rem 0; color: var(--msd-ink); background: transparent; font-size: .88rem; font-weight: 700; cursor: pointer; }
.msd-nav-desktop > a:hover, .msd-nav-group > button:hover { color: var(--msd-plum); }
.msd-nav-group { position: relative; display: flex; align-self: stretch; align-items: center; }
.msd-nav-dropdown { position: absolute; top: calc(100% - .25rem); left: -1.5rem; display: none; width: 280px; padding: .65rem; border: 1px solid var(--msd-soft-line); border-radius: 1rem; background: var(--msd-paper); box-shadow: var(--msd-shadow); }
.msd-nav-group:hover .msd-nav-dropdown, .msd-nav-group:focus-within .msd-nav-dropdown { display: grid; }
.msd-nav-dropdown a { display: grid; gap: .15rem; padding: .75rem .8rem; border-radius: .65rem; }
.msd-nav-dropdown a:hover { background: var(--msd-ivory); }
.msd-nav-dropdown b { font-size: .85rem; }
.msd-nav-dropdown small { color: var(--msd-muted); }
.msd-header-cta { border-bottom: 1px solid var(--msd-plum); padding-block: .4rem; color: var(--msd-plum) !important; font-size: .84rem; font-weight: 800; }
.msd-menu-toggle { display: none; width: 3rem; height: 3rem; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1px solid var(--msd-line); border-radius: 50%; background: transparent; }
.msd-menu-toggle span { display: block; width: 17px; height: 1px; background: var(--msd-ink); }
.msd-menu-toggle b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.msd-mobile-menu { display: grid; padding: 1rem 1.5rem 1.75rem; border-top: 1px solid var(--msd-line); background: var(--msd-paper); }
.msd-mobile-menu > a:not(.msd-button) { display: flex; justify-content: space-between; padding: .85rem 0; border-bottom: 1px solid var(--msd-soft-line); font-weight: 700; }
.msd-mobile-menu .msd-button { margin-top: 1rem; }

.msd-hero { display: grid; min-height: min(760px, calc(100vh - 7.7rem)); grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(3rem, 7vw, 7rem); padding-block: clamp(4rem, 9vw, 8rem); }
.msd-hero h1 { max-width: 800px; margin: 0; font: 500 clamp(3.2rem, 7vw, 6.8rem)/.9 var(--msd-serif); letter-spacing: -.055em; }
.msd-hero h1 em { color: var(--msd-plum); font-weight: 400; }
.msd-hero__copy > p:not(.msd-microcopy) { max-width: 620px; margin: 1.75rem 0; color: var(--msd-muted); font-size: clamp(1.05rem, 1.6vw, 1.3rem); }
.msd-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.msd-hero__panel { position: relative; aspect-ratio: .85; min-height: 420px; overflow: hidden; border-radius: 45% 45% 1.5rem 1.5rem; background: linear-gradient(145deg, #e4d4cf, #c9a4a5 55%, #69405b); box-shadow: var(--msd-shadow); }
.msd-orbit { position: absolute; border: 1px solid rgb(255 255 255 / 50%); border-radius: 50%; }
.orbit-one { inset: 10% -15% 15% 16%; }
.orbit-two { inset: 25% 15% -20% -18%; }
.msd-hero-metric { position: absolute; top: 12%; left: 10%; display: grid; padding: 1.35rem; border: 1px solid rgb(255 255 255 / 45%); border-radius: 1rem; color: #fff; background: rgb(24 21 29 / 28%); backdrop-filter: blur(12px); }
.msd-hero-metric small { font-weight: 700; }
.msd-hero-metric strong { font: 500 5rem/.9 var(--msd-serif); }
.msd-hero-metric span { font-size: .78rem; }
.msd-hero-chip { position: absolute; padding: .65rem .9rem; border-radius: 999px; color: var(--msd-ink); background: rgb(255 253 249 / 90%); font-size: .76rem; font-weight: 800; box-shadow: 0 10px 30px rgb(30 20 28 / 16%); }
.chip-one { right: 8%; top: 34%; }
.chip-two { left: 8%; bottom: 24%; }
.chip-three { right: 13%; bottom: 10%; }
.msd-fixture-notice { display: flex; width: min(900px, calc(100% - 3rem)); align-items: center; gap: 1rem; margin: 0 auto 1rem; padding: .75rem 1rem; border: 1px solid #d7b69f; border-radius: .8rem; color: #6c3925; background: #fff4e9; font-size: .82rem; }
.msd-fixture-notice strong { white-space: nowrap; }

.msd-criteria-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--msd-line); }
.msd-criteria-grid a { min-height: 260px; padding: 2rem 1.5rem; border-right: 1px solid var(--msd-line); }
.msd-criteria-grid a:last-child { border-right: 0; }
.msd-criteria-grid a:hover { background: var(--msd-paper); }
.msd-criteria-grid span { color: var(--msd-copper); font-size: .72rem; font-weight: 800; }
.msd-criteria-grid h3 { margin: 4rem 0 .65rem; font: 500 1.75rem/1.05 var(--msd-serif); }
.msd-criteria-grid p { margin: 0; color: var(--msd-muted); }

.msd-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.15rem; }
.msd-product-card { min-width: 0; overflow: hidden; border: 1px solid var(--msd-line); border-radius: 1.1rem; background: var(--msd-paper); transition: transform .2s ease, box-shadow .2s ease; }
.msd-product-card:hover { box-shadow: 0 18px 45px rgb(44 32 42 / 10%); transform: translateY(-3px); }
.msd-product-visual { position: relative; display: grid; aspect-ratio: 4/4.5; place-items: center; overflow: hidden; background: #d9c9c5; }
.msd-product-visual::before, .msd-gallery-main::before { position: absolute; width: 58%; height: 76%; border: 1px solid rgb(255 255 255 / 40%); border-radius: 48% 48% 38% 38%; background: linear-gradient(150deg, rgb(255 255 255 / 36%), rgb(255 255 255 / 5%)); content: ""; transform: rotate(7deg); }
.msd-product-visual.has-image::before, .msd-gallery-main.has-image::before { content: none; }
.msd-product-card__image { width: 100%; height: 100%; object-fit: cover; }
.tone-plum { background: linear-gradient(150deg, #e2ccda, #8d5778) !important; }
.tone-copper { background: linear-gradient(150deg, #ead6ca, #b77758) !important; }
.tone-sage { background: linear-gradient(150deg, #d8e0d9, #6a8c7d) !important; }
.tone-rose { background: linear-gradient(150deg, #f0dddd, #bd7f88) !important; }
.tone-ink { background: linear-gradient(150deg, #beb8c1, #49404d) !important; }
.msd-product-visual > span { position: absolute; z-index: 1; top: 1rem; left: 1rem; color: rgb(255 255 255 / 88%); font-size: .62rem; font-weight: 800; letter-spacing: .12em; }
.msd-product-visual > .msd-product-visual__fallback { position: relative; inset: auto; display: grid; max-width: 80%; place-items: center; gap: .45rem; padding: 1rem; border: 1px solid rgb(255 255 255 / 45%); border-radius: 1rem; background: rgb(55 35 51 / 14%); letter-spacing: normal; text-align: center; }
.msd-product-visual__fallback b { color: rgb(255 255 255 / 92%); font: 400 clamp(3.5rem, 7vw, 6rem)/.9 var(--msd-serif); }
.msd-product-visual__fallback em { color: #fff; font-size: .72rem; font-style: normal; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.msd-product-visual__fallback small { overflow: hidden; max-width: 100%; color: rgb(255 255 255 / 82%); font-size: .68rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.msd-product-visual > b, .msd-gallery-main > b { position: relative; z-index: 1; color: rgb(255 255 255 / 88%); font: 400 clamp(4rem, 8vw, 7rem)/1 var(--msd-serif); }
.msd-product-visual > em { position: absolute; z-index: 1; right: 1rem; bottom: 1rem; left: 1rem; color: rgb(255 255 255 / 82%); font-size: .68rem; font-style: normal; text-align: center; }
.msd-product-card__body { padding: 1.15rem; }
.msd-card-meta { display: flex; align-items: center; justify-content: space-between; gap: .75rem; color: var(--msd-muted); font-size: .7rem; }
.msd-badge { display: inline-flex; padding: .3rem .55rem; border-radius: 999px; color: var(--msd-plum); background: #f1e6ed; font-size: .62rem; font-weight: 850; letter-spacing: .08em; }
.msd-product-card h3 { margin: 1rem 0 .65rem; font: 600 1.35rem/1.08 var(--msd-serif); }
.msd-product-card h3 a:hover { color: var(--msd-plum); }
.msd-card-summary { min-height: 3.8em; color: var(--msd-muted); font-size: .83rem; line-height: 1.52; }
.msd-card-specs { display: grid; grid-template-columns: repeat(3, 1fr); margin: 1rem 0; padding-block: .8rem; border-block: 1px solid var(--msd-soft-line); }
.msd-card-specs div { min-width: 0; padding-inline: .45rem; border-right: 1px solid var(--msd-soft-line); }
.msd-card-specs div:first-child { padding-left: 0; }
.msd-card-specs div:last-child { border: 0; }
.msd-card-specs dt { color: var(--msd-muted); font-size: .62rem; }
.msd-card-specs dd { margin: .2rem 0 0; font-size: .76rem; font-weight: 800; }
.msd-rating { display: inline-flex; gap: 2px; color: var(--msd-sage); font-size: .45rem; white-space: nowrap; }
.msd-rating .is-empty { color: var(--msd-line); }
.msd-product-card__footer { display: flex; align-items: end; justify-content: space-between; gap: .75rem; }
.msd-product-card__footer strong { font-size: 1rem; }
.msd-product-card__footer small { display: block; color: var(--msd-muted); font-size: .58rem; font-weight: 500; }
.msd-product-card__footer .msd-text-link { font-size: .76rem; }
.msd-compare-toggle { display: flex; align-items: center; gap: .45rem; margin-top: 1rem; color: var(--msd-muted); font-size: .72rem; cursor: pointer; }
.msd-compare-toggle input { width: 1rem; height: 1rem; accent-color: var(--msd-plum); }

.msd-method { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 8rem); }
.msd-method h2 { margin: 0; font: 500 clamp(2.2rem, 4vw, 4rem)/1 var(--msd-serif); }
.msd-method ol { margin: 0; padding: 0; list-style: none; }
.msd-method li { display: grid; grid-template-columns: 3rem 1fr; gap: 1.25rem; padding: 1.5rem 0; border-top: 1px solid var(--msd-line); }
.msd-method li > span { display: grid; width: 2.4rem; height: 2.4rem; place-items: center; border: 1px solid var(--msd-line); border-radius: 50%; color: var(--msd-copper); font-weight: 800; }
.msd-method h3 { margin: 0 0 .45rem; font: 600 1.35rem var(--msd-serif); }
.msd-method p { margin: 0; color: var(--msd-muted); }
.msd-guide-grid, .msd-guide-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.msd-guide-grid > a, .msd-guide-card { display: flex; min-height: 280px; flex-direction: column; align-items: flex-start; padding: 1.7rem; border: 1px solid var(--msd-line); border-radius: 1rem; background: var(--msd-paper); }
.msd-guide-grid > a:hover, .msd-guide-card:hover { border-color: var(--msd-copper); }
.msd-guide-grid span, .msd-guide-card > span { color: var(--msd-copper); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.msd-guide-grid h3, .msd-guide-card h2 { margin: auto 0 .75rem; font: 600 1.55rem/1.08 var(--msd-serif); }
.msd-guide-grid p, .msd-guide-card p { margin: 0; color: var(--msd-muted); font-size: .88rem; }
.msd-guide-card .msd-text-link { margin-top: 1rem; }
.msd-reassurance { display: grid; grid-template-columns: repeat(3, 1fr) auto; align-items: center; gap: 2rem; padding-block: 3rem; }
.msd-reassurance div { display: grid; }
.msd-reassurance strong { font-family: var(--msd-serif); font-size: 1.2rem; }
.msd-reassurance span { color: #bfb6c0; font-size: .76rem; }

.msd-page-hero { padding-block: clamp(4rem, 8vw, 7rem) 3rem; }
.msd-page-hero h1, .msd-brand-hero h1, .msd-guide-detail h1 { max-width: 900px; margin: 0; font: 500 clamp(2.8rem, 6vw, 5.5rem)/.95 var(--msd-serif); letter-spacing: -.045em; }
.msd-page-hero p { max-width: 700px; margin: 1.25rem 0 0; color: var(--msd-muted); font-size: 1.1rem; }
.msd-catalog-layout { display: grid; grid-template-columns: 250px 1fr; align-items: start; gap: 2rem; padding-block: 2rem 7rem; }
.msd-filter-panel { position: sticky; top: 7rem; display: grid; gap: 1.2rem; padding: 1.25rem; border: 1px solid var(--msd-line); border-radius: 1rem; background: var(--msd-paper); }
.msd-filter-heading { display: flex; align-items: center; justify-content: space-between; }
.msd-filter-heading h2 { margin: 0; font: 600 1.4rem var(--msd-serif); }
.msd-reset { border: 0; padding: .2rem; color: var(--msd-plum); background: none; font-size: .7rem; font-weight: 750; cursor: pointer; }
.msd-filter-panel label, .msd-catalog-toolbar label, .msd-assistant form > section > label:not(.msd-choice) { display: grid; gap: .45rem; color: var(--msd-ink); font-size: .76rem; font-weight: 750; }
.msd-filter-panel select, .msd-catalog-toolbar select, .msd-assistant select { width: 100%; min-height: 2.8rem; border: 1px solid var(--msd-line); border-radius: .45rem; padding: .55rem .65rem; color: var(--msd-ink); background: #fff; }
input[type="range"] { width: 100%; accent-color: var(--msd-plum); }
.msd-filter-panel output { float: right; color: var(--msd-muted); font-weight: 500; }
.msd-catalog-toolbar { display: flex; min-height: 3rem; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.msd-catalog-toolbar p { margin: 0; color: var(--msd-muted); font-size: .82rem; }
.msd-catalog-toolbar label { grid-template-columns: auto 150px; align-items: center; }
.msd-catalog-layout .msd-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.msd-empty-state { padding: 5rem 2rem; border: 1px dashed var(--msd-line); border-radius: 1rem; text-align: center; }
.msd-empty-state span { color: var(--msd-copper); font-weight: 800; }
.msd-empty-state h2 { font: 600 2rem var(--msd-serif); }
.msd-pagination { display: flex; justify-content: center; gap: .5rem; margin-top: 2rem; }
.msd-pagination button, .msd-pagination span { display: grid; min-width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid var(--msd-line); border-radius: 50%; background: transparent; }

.msd-breadcrumbs { padding-block: 1.2rem; }
.msd-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; padding: 0; color: var(--msd-muted); font-size: .72rem; list-style: none; }
.msd-breadcrumbs li + li::before { margin-right: .45rem; color: var(--msd-line); content: "/"; }
.msd-breadcrumbs a:hover { color: var(--msd-plum); text-decoration: underline; }
.msd-product-main { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(2rem, 6vw, 5rem); padding: 2rem 0 4rem; }
.msd-gallery-main { position: relative; display: grid; aspect-ratio: .9; place-items: center; overflow: hidden; border-radius: 1.3rem; }
.msd-product-gallery__main-image { width: 100%; height: 100%; object-fit: contain; background: var(--msd-paper); }
.msd-gallery-main > span { position: absolute; z-index: 1; top: 1.2rem; left: 1.2rem; color: rgb(255 255 255 / 88%); font-size: .66rem; font-weight: 800; letter-spacing: .12em; }
.msd-gallery-main > em { position: absolute; z-index: 1; bottom: 1.2rem; color: rgb(255 255 255 / 78%); font-size: .72rem; }
.msd-gallery-thumbs { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .7rem; }
.msd-gallery-thumb { display: block; width: 4rem; height: 4rem; overflow: hidden; border: 2px solid var(--msd-line); border-radius: .6rem; background: var(--msd-paper); }
.msd-gallery-thumb.is-active { border-color: var(--msd-plum); }
.msd-product-gallery__thumb-image { width: 100%; height: 100%; object-fit: cover; }
.msd-catalog-results { padding-bottom: 5rem; }
.msd-pagination { margin-top: 2rem; }
.msd-pagination .page-numbers { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.msd-pagination a, .msd-pagination .current { display: inline-flex; min-width: 2.6rem; min-height: 2.6rem; align-items: center; justify-content: center; padding: .55rem .8rem; border: 1px solid var(--msd-line); border-radius: .65rem; }
.msd-pagination .current { color: #fff; border-color: var(--msd-plum); background: var(--msd-plum); }
.msd-buy-panel { min-width: 0; align-self: center; }
.msd-buy-panel h1 { margin: 1.2rem 0; font: 500 clamp(2.7rem, 5vw, 4.8rem)/.95 var(--msd-serif); letter-spacing: -.045em; }
.msd-product-lead { color: var(--msd-muted); font-size: 1.02rem; }
.msd-product-lead p { margin: 0; }
.msd-price { margin: 1.5rem 0 .5rem; font: 600 1.8rem var(--msd-serif); }
.msd-price small { color: var(--msd-muted); font: 500 .68rem var(--msd-sans); }
.msd-availability { color: var(--msd-sage); font-size: .78rem; font-weight: 750; }
.msd-availability span { display: inline-block; width: .5rem; height: .5rem; margin-right: .4rem; border-radius: 50%; background: var(--msd-sage); }
.msd-availability.is-unavailable { color: var(--msd-copper); }
.msd-availability.is-unavailable span { background: var(--msd-copper); }
.msd-purchase-options { display: grid; gap: .85rem; margin: 1.4rem 0; padding: 1.15rem; border: 1px solid var(--msd-line); border-radius: .85rem; background: rgb(255 255 255 / 65%); }
.msd-purchase-options h2 { margin: 0; font: 700 .82rem var(--msd-sans); letter-spacing: .02em; }
.msd-purchase-options label { display: grid; gap: .4rem; color: var(--msd-muted); font-size: .72rem; font-weight: 750; }
.msd-purchase-options select { width: 100%; min-height: 2.8rem; border: 1px solid var(--msd-line); border-radius: .5rem; padding: .55rem .7rem; color: var(--msd-ink); background: #fff; }
.msd-key-specs { display: grid; grid-template-columns: repeat(3, 1fr); margin: 1.5rem 0; border-block: 1px solid var(--msd-line); }
.msd-key-specs div { padding: 1rem .75rem; border-right: 1px solid var(--msd-line); }
.msd-key-specs div:last-child { border: 0; }
.msd-key-specs dt { color: var(--msd-muted); font-size: .66rem; }
.msd-key-specs dd { margin: .3rem 0 0; font-size: .78rem; font-weight: 800; }
.msd-buy-panel .msd-button + .msd-button { margin-top: .65rem; }
.msd-scorecard { display: grid; grid-template-columns: .7fr 1.3fr; gap: 3rem; padding: 2rem; border: 1px solid var(--msd-line); border-radius: 1rem; background: var(--msd-paper); }
.msd-scorecard h3 { margin: 0 0 .6rem; font: 600 1.35rem var(--msd-serif); }
.msd-scorecard p { margin: 0; color: var(--msd-muted); font-size: .85rem; }
.msd-scorecard__rows { display: grid; gap: 1rem; }
.msd-scorecard__rows > div { display: grid; grid-template-columns: 180px 1fr 35px; align-items: center; gap: .8rem; font-size: .76rem; }
.msd-score-track { height: .4rem; overflow: hidden; border-radius: 999px; background: #e6dfd9; }
.msd-score-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--msd-copper), var(--msd-plum)); }
.msd-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-block: 2rem 5rem; background: var(--msd-line); }
.msd-two-column > div { padding: clamp(2rem, 5vw, 4rem); background: var(--msd-paper); }
.msd-two-column h2 { margin: 0 0 1.5rem; font: 600 2rem var(--msd-serif); }
.msd-two-column li { margin-bottom: .8rem; }
.msd-pros li::marker { color: var(--msd-sage); }
.msd-cons li::marker { color: var(--msd-copper); }
.msd-product-description, .msd-characteristics { max-width: 1040px; margin-inline: auto; }
.msd-product-description { padding-block: clamp(3.75rem, 7vw, 6rem) 2rem; }
.msd-editorial-heading { max-width: 720px; margin-bottom: 2rem; }
.msd-editorial-heading h2 { margin: .55rem 0 .8rem; font: 600 clamp(2rem, 4vw, 3.35rem)/1 var(--msd-serif); letter-spacing: -.025em; }
.msd-editorial-heading p { margin: 0; color: var(--msd-muted); }
.msd-product-description__content { max-width: 780px; color: var(--msd-ink); font-size: clamp(1rem, 1.5vw, 1.1rem); line-height: 1.82; }
.msd-product-description__content > :first-child { margin-top: 0; }
.msd-product-description__content > :last-child { margin-bottom: 0; }
.msd-characteristics { padding-block: clamp(3rem, 6vw, 5.5rem); }
.msd-spec-table { overflow: hidden; border: 1px solid var(--msd-line); border-radius: 1rem; background: var(--msd-paper); box-shadow: 0 18px 55px rgb(47 35 43 / 6%); }
.msd-spec-table table { width: 100%; table-layout: fixed; border-collapse: collapse; background: transparent; }
.msd-spec-table tr + tr { border-top: 1px solid var(--msd-line); }
.msd-spec-table th, .msd-spec-table td { padding: 1.05rem 1.25rem; border: 0; text-align: left; vertical-align: middle; }
.msd-spec-table th { width: 43%; color: var(--msd-muted); background: rgb(238 231 223 / 42%); font-size: .76rem; }
.msd-spec-table td { color: var(--msd-ink); font-size: .86rem; font-weight: 750; overflow-wrap: anywhere; }
.msd-spec-label { display: inline-flex; align-items: center; gap: .75rem; }
.msd-spec-icon { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; color: var(--msd-copper); }
.msd-related-products { padding-top: 4rem; border-top: 1px solid var(--msd-line); }
.msd-options { margin-top: 1.5rem; padding: 1.5rem; border-left: 3px solid var(--msd-copper); background: #f2ebe5; }
.msd-provenance { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-block: 4rem; padding: 2rem; border: 1px solid #d7b69f; border-radius: 1rem; background: #fff4e9; }
.msd-provenance h2 { margin: 0; font: 600 1.5rem var(--msd-serif); }
.msd-provenance dl { display: flex; gap: 2rem; margin: 0; }
.msd-provenance dl div { display: grid; }
.msd-provenance dt { color: var(--msd-muted); font-size: .65rem; }
.msd-provenance dd { margin: .2rem 0 0; font-size: .72rem; font-weight: 800; }
.msd-faq { max-width: 900px; margin-inline: auto; }
.msd-faq > h2 { font: 500 clamp(2rem, 4vw, 3.5rem)/1 var(--msd-serif); }
.msd-faq details { border-top: 1px solid var(--msd-line); padding: 1.2rem 0; }
.msd-faq summary { font-weight: 800; cursor: pointer; }
.msd-faq details p { color: var(--msd-muted); }

.msd-comparator { padding-block: 2rem 7rem; }
.msd-comparator-choices { margin-bottom: 2rem; }
.msd-comparator-choices h2 { font: 600 1.7rem var(--msd-serif); }
.msd-comparator-choices > div { display: grid; grid-template-columns: repeat(5, 1fr); gap: .7rem; }
.msd-comparator-choices label { display: grid; grid-template-columns: 2.5rem 1fr; align-items: center; gap: .75rem; padding: .75rem; border: 1px solid var(--msd-line); border-radius: .75rem; background: var(--msd-paper); cursor: pointer; }
.msd-comparator-choices input { position: absolute; opacity: 0; }
.msd-comparator-choices label:has(input:checked) { border-color: var(--msd-plum); box-shadow: inset 0 0 0 1px var(--msd-plum); }
.msd-comparator-choices label > span { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: .5rem; color: #fff; font: 600 1.25rem var(--msd-serif); }
.msd-comparator-choices b { font-size: .73rem; }
.msd-comparator-choices small { grid-column: 2; color: var(--msd-muted); font-size: .62rem; }
.msd-comparison-table { overflow-x: auto; border: 1px solid var(--msd-line); border-radius: 1rem; background: var(--msd-paper); }
.msd-comparison-table table { width: 100%; min-width: 760px; border-collapse: collapse; }
.msd-comparison-table th, .msd-comparison-table td { min-width: 180px; padding: 1rem; border-right: 1px solid var(--msd-line); border-bottom: 1px solid var(--msd-line); text-align: left; vertical-align: top; }
.msd-comparison-table th:first-child { min-width: 170px; color: var(--msd-muted); background: #f1ece6; font-size: .72rem; }
.msd-comparison-table thead th { font: 600 1.2rem var(--msd-serif); }
.msd-comparison-table tr:last-child th, .msd-comparison-table tr:last-child td { border-bottom: 0; }

.msd-assistant { display: grid; grid-template-columns: 1.2fr .8fr; gap: 2rem; padding-block: 2rem 7rem; }
.msd-assistant form, .msd-assistant-method { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--msd-line); border-radius: 1rem; background: var(--msd-paper); }
.msd-assistant-progress { height: .3rem; overflow: hidden; border-radius: 999px; background: var(--msd-soft-line); }
.msd-assistant-progress span { display: block; height: 100%; border-radius: inherit; background: var(--msd-plum); transition: width .2s ease; }
.msd-step-label { color: var(--msd-muted); font-size: .72rem; }
.msd-assistant h2 { font: 600 clamp(1.7rem, 3vw, 2.6rem)/1.05 var(--msd-serif); }
.msd-choice { display: flex; align-items: center; gap: 1rem; margin-bottom: .65rem; padding: 1rem; border: 1px solid var(--msd-line); border-radius: .7rem; cursor: pointer; }
.msd-choice:has(input:checked) { border-color: var(--msd-plum); background: #f6edf3; }
.msd-choice input { width: 1.1rem; height: 1.1rem; accent-color: var(--msd-plum); }
.msd-choice span { display: grid; }
.msd-choice small { color: var(--msd-muted); }
.msd-helper { color: var(--msd-muted); font-size: .8rem; }
.msd-assistant-actions { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
.msd-assistant-method { align-self: start; background: #eee7df; }
.msd-assistant-method li { margin-bottom: .65rem; color: var(--msd-muted); font-size: .85rem; }
.msd-assistant-results { grid-column: 1 / -1; padding: 2rem; border: 1px solid var(--msd-sage); border-radius: 1rem; background: #eaf1ed; }
.msd-assistant-results > h2 { margin-top: 0; }
.msd-assistant-results .msd-product-grid { grid-template-columns: repeat(3, 1fr); }

.msd-brand-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; padding-block: 2rem 7rem; }
.msd-brand-card { display: flex; min-height: 330px; flex-direction: column; padding: 2rem; border: 1px solid var(--msd-line); border-radius: 1rem; background: var(--msd-paper); }
.msd-brand-card:hover { color: #fff; border-color: var(--msd-plum); background: var(--msd-plum); }
.msd-brand-card > span { color: var(--msd-copper); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.msd-brand-card h2 { margin: auto 0 1rem; font: 600 2.2rem var(--msd-serif); }
.msd-brand-card p { color: var(--msd-muted); }
.msd-brand-card:hover p { color: #e9dce5; }
.msd-brand-hero { padding: 4rem 0; border-bottom: 1px solid var(--msd-line); }
.msd-brand-hero > p { max-width: 700px; color: var(--msd-muted); font-size: 1.08rem; }
.msd-brand-hero dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 2rem; background: var(--msd-line); }
.msd-brand-hero dl div { padding: 1rem; background: var(--msd-paper); }
.msd-brand-hero dt { color: var(--msd-muted); font-size: .68rem; }
.msd-brand-hero dd { margin: .35rem 0 0; font-weight: 700; }
.msd-guide-list { padding-block: 2rem 7rem; }
.msd-guide-detail { padding-bottom: 7rem; }
.msd-guide-detail > header { max-width: 900px; padding: 4rem 0 3rem; }
.msd-guide-detail .wp-block-post-excerpt { max-width: 720px; color: var(--msd-muted); font-size: 1.1rem; }
.msd-guide-meta { display: flex; gap: 1rem; color: var(--msd-muted); font-size: .72rem; }
.msd-guide-layout { display: grid; grid-template-columns: 220px minmax(0, 760px); justify-content: center; gap: 4rem; }
.msd-guide-toc { position: sticky; top: 7rem; align-self: start; padding: 1rem; border-left: 2px solid var(--msd-copper); }
.msd-guide-toc nav { display: grid; gap: .55rem; margin-top: .8rem; }
.msd-guide-toc a { color: var(--msd-muted); font-size: .76rem; }
.msd-guide-content { min-width: 0; }
.msd-guide-content h2 { margin-top: 3rem; font: 600 2.2rem/1.05 var(--msd-serif); }
.msd-guide-content h3 { margin-top: 2rem; font: 600 1.45rem var(--msd-serif); }
.msd-guide-content table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; }
.msd-guide-content th, .msd-guide-content td { min-width: 150px; padding: .8rem; border: 1px solid var(--msd-line); text-align: left; }
.msd-guide-content blockquote { margin: 2rem 0; padding: 1.4rem; border-left: 3px solid var(--msd-copper); background: #efe7df; }
.msd-page { padding-bottom: 6rem; }
.msd-page > .wp-block-post-content { max-width: none; }
.msd-page .wp-block-post-content > h1 { margin-top: 4rem; font: 500 clamp(2.8rem, 6vw, 5rem)/.95 var(--msd-serif); }

.msd-footer { color: #e8e0e8; background: #211b23; }
.msd-footer__top { display: grid; grid-template-columns: 1.8fr repeat(3, 1fr); gap: 3rem; padding-block: 4rem; }
.msd-logo.is-footer strong { color: #fff; }
.msd-footer-brand p { max-width: 380px; color: #bdb4bd; }
.msd-footer-fixture { display: inline-flex; margin-top: 1rem; padding: .4rem .65rem; border: 1px solid #5f525f; border-radius: 999px; color: #cdbfcb; font-size: .65rem; }
.msd-footer h2 { margin: 0 0 1rem; color: #fff; font: 600 1.15rem var(--msd-serif); }
.msd-footer__top > div:not(:first-child) { display: flex; flex-direction: column; gap: .6rem; }
.msd-footer__top > div:not(:first-child) a { color: #bdb4bd; font-size: .78rem; }
.msd-footer__top a:hover { color: #fff; }
.msd-footer__bottom { display: flex; justify-content: space-between; padding-block: 1rem; border-top: 1px solid #413841; color: #948a94; font-size: .66rem; }

@media (max-width: 1100px) {
  .msd-nav-desktop { gap: 1rem; }
  .msd-product-grid { grid-template-columns: repeat(3, 1fr); }
  .msd-criteria-grid { grid-template-columns: repeat(2, 1fr); }
  .msd-criteria-grid a:nth-child(2) { border-right: 0; }
  .msd-criteria-grid a:nth-child(-n+2) { border-bottom: 1px solid var(--msd-line); }
  .msd-comparator-choices > div { grid-template-columns: repeat(3, 1fr); }
  .msd-footer__top { grid-template-columns: 1.5fr repeat(3, 1fr); gap: 2rem; }
}

@media (max-width: 900px) {
  .msd-shell { width: min(100% - 2rem, 760px); }
  .msd-nav-desktop, .msd-header-cta { display: none; }
  .msd-menu-toggle { display: flex; margin-left: auto; }
  .msd-hero { min-height: 0; grid-template-columns: 1fr; padding-top: 4rem; }
  .msd-hero__panel { min-height: 0; aspect-ratio: 1.35; }
  .msd-product-grid, .msd-catalog-layout .msd-product-grid { grid-template-columns: repeat(2, 1fr); }
  .msd-method, .msd-product-main, .msd-scorecard, .msd-assistant { grid-template-columns: 1fr; }
  .msd-reassurance { grid-template-columns: repeat(3, 1fr); }
  .msd-reassurance .msd-button { grid-column: 1 / -1; justify-self: start; }
  .msd-catalog-layout { grid-template-columns: 1fr; }
  .msd-filter-panel { position: static; grid-template-columns: repeat(2, 1fr); }
  .msd-filter-heading { grid-column: 1 / -1; }
  .msd-two-column { grid-template-columns: 1fr; }
  .msd-provenance { align-items: flex-start; flex-direction: column; }
  .msd-guide-grid, .msd-guide-list, .msd-brand-grid { grid-template-columns: repeat(2, 1fr); }
  .msd-guide-layout { grid-template-columns: 1fr; gap: 1rem; }
  .msd-guide-toc { position: static; }
  .msd-footer__top { grid-template-columns: 1.5fr 1fr 1fr; }
  .msd-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .msd-shell { width: min(100% - 1.25rem, 520px); }
  .msd-local-ribbon { font-size: .58rem; }
  .msd-header__inner { min-height: 4.65rem; }
  .msd-section { padding-block: 4.25rem; }
  .msd-section-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .msd-hero { gap: 2.5rem; padding-block: 3.5rem; }
  .msd-hero h1 { font-size: clamp(3rem, 16vw, 4.6rem); }
  .msd-hero__panel { aspect-ratio: .95; }
  .msd-hero-metric strong { font-size: 4rem; }
  .msd-actions { align-items: stretch; flex-direction: column; }
  .msd-actions .msd-button { width: 100%; }
  .msd-fixture-notice { width: calc(100% - 1.25rem); align-items: flex-start; flex-direction: column; gap: .25rem; }
  .msd-criteria-grid { grid-template-columns: 1fr; }
  .msd-criteria-grid a { min-height: 190px; border-right: 0; border-bottom: 1px solid var(--msd-line); }
  .msd-criteria-grid a:last-child { border-bottom: 0; }
  .msd-criteria-grid h3 { margin-top: 2.5rem; }
  .msd-product-grid, .msd-catalog-layout .msd-product-grid, .msd-assistant-results .msd-product-grid { grid-template-columns: 1fr; }
  .msd-card-summary { min-height: 0; }
  .msd-guide-grid, .msd-guide-list, .msd-brand-grid { grid-template-columns: 1fr; }
  .msd-reassurance { grid-template-columns: 1fr; }
  .msd-reassurance .msd-button { grid-column: auto; }
  .msd-filter-panel { grid-template-columns: 1fr; }
  .msd-catalog-toolbar { align-items: flex-start; flex-direction: column; }
  .msd-catalog-toolbar label { width: 100%; grid-template-columns: 1fr; }
  .msd-product-main { padding-top: 1rem; }
  .msd-gallery-main { aspect-ratio: .95; }
  .msd-buy-panel h1 { margin-block: 1rem; font-size: clamp(2.25rem, 12vw, 3.25rem); }
  .msd-product-lead { font-size: .95rem; line-height: 1.65; }
  .msd-product-description, .msd-characteristics { width: 100%; }
  .msd-editorial-heading { margin-bottom: 1.35rem; }
  .msd-spec-table { border-radius: .8rem; }
  .msd-spec-table table, .msd-spec-table tbody { display: block; width: 100%; }
  .msd-spec-table tr { display: grid; grid-template-columns: minmax(0, 44%) minmax(0, 56%); width: 100%; }
  .msd-spec-table th, .msd-spec-table td { width: auto; min-width: 0; padding: .85rem .75rem; }
  .msd-spec-label { gap: .5rem; }
  .msd-spec-icon { width: 1rem; height: 1rem; }
  .msd-key-specs { grid-template-columns: 1fr; }
  .msd-key-specs div { border-right: 0; border-bottom: 1px solid var(--msd-line); }
  .msd-scorecard__rows > div { grid-template-columns: 1fr 35px; }
  .msd-score-track { grid-column: 1 / -1; grid-row: 2; }
  .msd-provenance dl { width: 100%; flex-direction: column; gap: .75rem; }
  .msd-comparator-choices > div { grid-template-columns: 1fr; }
  .msd-assistant-actions { flex-wrap: wrap; }
  .msd-brand-hero dl { grid-template-columns: 1fr; }
  .msd-footer__top { grid-template-columns: 1fr 1fr; }
  .msd-footer-brand { grid-column: 1 / -1; }
  .msd-footer__bottom { flex-direction: column; gap: .35rem; }
}

@media (max-width: 390px) {
  .msd-logo strong { font-size: 1.25rem; }
  .msd-hero h1 { font-size: 2.9rem; }
  .msd-hero__panel { aspect-ratio: .85; }
  .msd-hero-chip { font-size: .65rem; }
  .msd-product-card__footer { align-items: flex-start; flex-direction: column; }
  .msd-footer__top { grid-template-columns: 1fr; }
}

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