/* Product page (design/static/Product.html). */

html { scroll-padding-top: 72px; }
@media (max-width: 900px) { html { scroll-padding-bottom: 96px; } }
.ms-u { text-decoration: underline; }
.ms-fw-500 { font-weight: 500; }
.ms-small-15 { font-size: 15px; }
.ms-self-start { align-self: flex-start; }
.ms-h2--40 { font-size: 40px; line-height: 1.08; letter-spacing: -.03em; }
@media (max-width: 640px) { .ms-h2--40 { font-size: 32px; } }

.ms-pdp__crumbs { padding-top: 20px; padding-bottom: 20px; }

/* Top: gallery + buy box */
.ms-pdp__top { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: start; padding-bottom: 72px; }
@media (max-width: 1024px) { .ms-pdp__top { grid-template-columns: minmax(0, 1fr); gap: 32px; } }
@media (max-width: 640px) { .ms-pdp__top { padding-bottom: 56px; } }

.ms-gallery { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
@media (min-width: 1025px) { .ms-gallery { position: sticky; top: 24px; } }
.ms-gallery__main { position: relative; aspect-ratio: 1 / 1; background: var(--color-linen); border-radius: var(--radius-card); overflow: hidden; }
@media (max-width: 1024px) { .ms-gallery__main { aspect-ratio: 4 / 3; } }
.ms-gallery__main img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ms-gallery__main img.is-shot { object-fit: contain; mix-blend-mode: multiply; padding: 6%; }
.ms-gallery__badge { position: absolute; top: 16px; left: 16px; padding: 6px 12px; font-size: 13px; border-radius: 16px; }
.ms-gallery__demo { position: absolute; right: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; border-radius: 20px; background: #fff; color: var(--color-ink); font-size: 13px; font-weight: 600; text-decoration: none; }
/* Thumbs: one sliding row (4 visible), arrows when there are more than four. */
.ms-gallery__strip { position: relative; margin-top: 12px; }
.ms-gallery__thumbs { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.ms-gallery__thumbs::-webkit-scrollbar { display: none; }
.ms-gallery__thumbs > * { flex: 0 0 calc((100% - 30px) / 4); scroll-snap-align: start; }
.ms-gallery__arrow, .ms-gallery__nav { position: absolute; z-index: 2; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--color-line); border-radius: 50%; background: rgba(255, 255, 255, .94); color: var(--color-ink); box-shadow: 0 2px 10px rgba(28, 27, 25, .12); cursor: pointer; transition: opacity .2s; }
.ms-gallery__arrow { top: 50%; transform: translateY(-50%); }
.ms-gallery__arrow--prev { left: 6px; }
.ms-gallery__arrow--next { right: 6px; }
.ms-gallery__arrow[disabled] { opacity: .35; cursor: default; }
.ms-gallery__nav { top: 50%; transform: translateY(-50%); width: 44px; height: 44px; opacity: .72; }
.ms-gallery__nav--prev { left: 14px; }
.ms-gallery__nav--next { right: 14px; }
.ms-gallery__main:hover .ms-gallery__nav, .ms-gallery__nav:focus-visible { opacity: 1; }
.ms-gallery__arrow svg, .ms-gallery__nav svg { transform: rotate(-90deg); } /* chevron icon points down: next = right */
.ms-gallery__arrow svg.ms-flip, .ms-gallery__nav svg.ms-flip { transform: rotate(90deg); }
@media (max-width: 640px) { .ms-gallery__arrow { display: none; } .ms-gallery__thumbs > * { flex-basis: calc((100% - 20px) / 3.4); } .ms-gallery__nav { width: 38px; height: 38px; } }
.ms-gallery__thumb { position: relative; aspect-ratio: 1 / 1; padding: 0; border: 1px solid var(--color-line); border-radius: var(--radius-tile); overflow: hidden; background: var(--color-linen); color: var(--color-taupe); font-size: 11px; font-weight: 600; }
.ms-gallery__thumb[aria-current="true"] { border: 2px solid var(--color-ink); }
.ms-gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ms-gallery__thumb img.is-shot { object-fit: contain; mix-blend-mode: multiply; }
.ms-gallery__thumb.is-todo { display: flex; align-items: center; justify-content: center; padding: 6px; text-align: center; }
.ms-gallery__note { font-size: 13px; color: var(--color-taupe); }

.ms-buy { display: flex; flex-direction: column; gap: 22px; min-width: 0; margin: 0; }
.ms-buy__head { display: flex; flex-direction: column; gap: 10px; }
.ms-buy__eyebrow { letter-spacing: .12em; }
.ms-buy__eyebrow:empty { display: none; }
.ms-h1--product { line-height: 1.04; }
@media (max-width: 640px) { .ms-h1--product { font-size: 36px; } }
.ms-buy__rating { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 15px; text-decoration: none; }
.ms-buy__lead { margin-top: 4px; font-size: 16px; line-height: 1.6; color: var(--color-body); }
.ms-buy__price { display: flex; flex-direction: column; gap: 6px; }
.ms-buy__price-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; }
.ms-buy__now { font-size: 32px; font-weight: 700; }
.ms-buy__now.is-sale { color: var(--color-clay); }
.ms-buy__was { font-size: 17px; color: var(--color-taupe); }
.ms-affirm { font-size: 14px; line-height: 1.5; color: var(--color-body); }
.ms-buy__perk { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }

.ms-opts--swatch .ms-opts__list { display: flex; flex-wrap: wrap; gap: 14px; }
.ms-swatch { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: var(--swatch, #DDD7CE); box-shadow: 0 0 0 1px var(--color-field-line); }
.ms-swatch[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--color-stone), 0 0 0 4px var(--color-ink); }
.ms-swatch:focus-visible { outline-offset: 5px; }
.ms-opts--cards .ms-opts__list { display: flex; flex-direction: column; gap: 10px; }
.ms-optcard { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 62px; padding: 12px 18px; border: 1px solid var(--color-field-line); border-radius: 12px; background: #fff; color: var(--color-ink); text-align: left; }
.ms-optcard[aria-pressed="true"] { border: 2px solid var(--color-ink); padding: 11px 17px; }
.ms-optcard[aria-disabled="true"] { opacity: .55; }
.ms-optcard__text { display: flex; flex-direction: column; gap: 2px; }
.ms-optcard__name { font-size: 16px; font-weight: 600; }
.ms-optcard__note { font-size: 13px; font-weight: 600; color: var(--color-success); }
.ms-optcard__note:empty { display: none; }
.ms-optcard__price { font-size: 16px; font-weight: 700; white-space: nowrap; }
.ms-buy__alt { font-size: 14px; color: var(--color-body); margin-top: -10px; }
.ms-buy__alt a { font-weight: 600; }

.ms-addons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 400px) { .ms-addons { grid-template-columns: minmax(0, 1fr); } }
.ms-addon { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px 14px; border: 1px solid var(--color-field-line); border-radius: 12px; background: #fff; font-size: 14px; cursor: pointer; }
.ms-addon input { width: 18px; height: 18px; margin: 0; flex: 0 0 auto; accent-color: var(--color-pine); }
.ms-addon.is-pending { cursor: not-allowed; }
.ms-addon__text { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; }
.ms-addon__text strong { font-weight: 600; }

.ms-buy__cta { display: flex; flex-wrap: wrap; gap: 10px; }
.ms-buy__submit { flex: 1 1 220px; font-size: 17px; }
.ms-buy__msg { color: var(--color-clay); font-weight: 600; font-size: 14px; margin-top: -10px; }
.ms-buy__fine { display: flex; gap: 6px; margin-top: -8px; font-size: 13px; line-height: 1.5; color: var(--color-taupe); }
.ms-buy__fine .ms-icon { margin-top: 2px; }
.ms-buy__fine a { color: var(--color-ink); font-weight: 600; }

.ms-info { display: flex; flex-direction: column; gap: 12px; padding: 18px; background: var(--color-linen); border-radius: 12px; font-size: 15px; }
.ms-info__lead { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--color-success); }
.ms-info__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--color-success); flex: 0 0 auto; }
.ms-info__row { display: flex; align-items: flex-start; gap: 10px; }
.ms-info__row > .ms-icon { margin-top: 1px; }
.ms-info__body { display: flex; flex-direction: column; gap: 8px; flex: 1 1 0; min-width: 0; }
.ms-zip { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ms-zip__input.ms-input { width: 120px; min-height: 40px; height: 40px; padding: 0 14px; font-size: 15px; }
.ms-zip__btn.ms-btn { min-height: 40px; padding: 0 16px; font-size: 14px; }
@media (pointer: coarse) { .ms-zip__input.ms-input, .ms-zip__btn.ms-btn { min-height: 44px; height: 44px; } }
.ms-zip__msg { font-size: 14px; color: var(--color-body); }
.ms-zip__msg.is-error { color: var(--color-clay); font-weight: 600; }

.ms-fit { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; border: 1px solid var(--color-field-line); border-radius: 12px; background: #fff; text-decoration: none; }
.ms-fit__text { display: flex; align-items: center; gap: 12px; }
.ms-fit__text > span { display: flex; flex-direction: column; }
.ms-fit__text strong { font-size: 15px; }
.ms-fit__text .ms-muted { font-size: 14px; }
.ms-fit__chev { transform: rotate(-90deg); }

/* Section nav */
.ms-secnav { position: sticky; top: 0; z-index: 5; border-top: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); background: var(--color-stone); }
.ms-secnav__inner { display: flex; flex-wrap: nowrap; gap: 4px 34px; overflow-x: auto; white-space: nowrap; font-size: 15px; font-weight: 600; scrollbar-width: none; }
.ms-secnav__inner::-webkit-scrollbar { display: none; }
.ms-secnav a { padding: 18px 0; border-bottom: 2px solid transparent; text-decoration: none; }
.ms-secnav a.is-current { border-bottom-color: var(--color-ink); }

/* Key specs band */
.ms-keyspecs__inner { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding-top: 40px; padding-bottom: 40px; }
.ms-keyspec { display: flex; flex-direction: column; gap: 4px; padding-left: 18px; border-left: 1px solid #6B7F72; }
.ms-keyspec__value { font-family: var(--font-display); font-weight: 500; font-size: 32px; letter-spacing: -.02em; }
.ms-keyspec__label { font-size: 14px; color: var(--color-on-dark-muted); }
@media (max-width: 1024px) { .ms-keyspecs__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ms-keyspec__value { font-size: 22px; } }

/* Feature rows */
.ms-features { display: flex; flex-direction: column; gap: 72px; padding-top: 88px; padding-bottom: 88px; }
.ms-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.ms-feature.is-reverse .ms-feature__img { order: 2; }
.ms-feature.is-textonly { grid-template-columns: minmax(0, 1fr); }
.ms-feature.is-textonly .ms-feature__text { max-width: 720px; }
.ms-feature__img { display: block; aspect-ratio: 4 / 3; border-radius: var(--radius-card); overflow: hidden; background: var(--color-sand); }
.ms-feature__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ms-feature__img.is-shot { background: var(--color-linen); }
.ms-feature__img.is-shot img { object-fit: contain; mix-blend-mode: multiply; padding: 6%; }
.ms-feature__img.is-todo { display: flex; align-items: center; justify-content: center; padding: 24px; background: var(--color-linen); color: var(--color-taupe); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-align: center; }
.ms-feature__text { display: flex; flex-direction: column; gap: 16px; max-width: 520px; }
.ms-feature__n { font-size: 14px; font-weight: 600; color: var(--color-maple); }
.ms-feature__title { font-size: 40px; line-height: 1.08; letter-spacing: -.03em; }
.ms-feature__text p { font-size: 17px; line-height: 1.65; color: var(--color-body); }
@media (max-width: 1024px) { .ms-feature { grid-template-columns: minmax(0, 1fr); gap: 24px; } .ms-feature .ms-feature__img, .ms-feature.is-reverse .ms-feature__img { order: -1; } }
@media (max-width: 640px) { .ms-features { gap: 48px; padding-top: 56px; padding-bottom: 56px; } .ms-feature__title { font-size: 32px; } }

/* Specs + dimensions */
.ms-specs__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; padding-top: 80px; padding-bottom: 80px; }
@media (max-width: 1024px) { .ms-specs__inner { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .ms-specs__inner { padding-top: 56px; padding-bottom: 56px; } }
.ms-specs__col { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.ms-spectable { width: 100%; font-size: 15px; }
.ms-spectable tr { border-bottom: 1px solid #D2CBBF; }
.ms-spectable th { width: 42%; padding: 14px 16px 14px 0; text-align: left; font-weight: 600; vertical-align: top; }
.ms-spectable td { padding: 14px 0; color: var(--color-body); }
.ms-iconlink { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; }
.ms-drawing { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; aspect-ratio: 4 / 3; padding: 24px; background: #fff; border-radius: 12px; color: var(--color-taupe); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-align: center; }
.ms-drawing img { width: 100%; height: 100%; object-fit: contain; }
.ms-dims { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.ms-dim { display: flex; flex-direction: column; gap: 2px; padding: 16px; background: #fff; border-radius: var(--radius-tile); }
.ms-dim span { font-size: 13px; color: var(--color-taupe); }
.ms-dim strong { font-size: 18px; }
.ms-box { display: flex; flex-direction: column; gap: 14px; padding-top: 8px; }
.ms-box__title { font-size: 24px; letter-spacing: -.02em; }
.ms-box__note { font-size: 14px; line-height: 1.5; color: var(--color-taupe); max-width: 640px; }
.ms-box__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; font-size: 15px; }
@media (max-width: 640px) { .ms-box__list { grid-template-columns: minmax(0, 1fr); } }

/* Springs */
.ms-springs { display: flex; flex-direction: column; gap: 24px; padding-top: 80px; }
.ms-springs__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.ms-spring { display: flex; flex-direction: column; gap: 8px; padding: 18px; background: #fff; border-radius: 12px; }
.ms-spring__bar { width: 36px; height: 10px; border-radius: 5px; }
.ms-spring strong { font-size: 16px; }
.ms-spring .ms-muted { font-size: 14px; }
.ms-springs__note { font-size: 15px; color: var(--color-body); }
@media (max-width: 640px) {
	.ms-springs { padding-top: 56px; }
	.ms-springs__grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.ms-spring { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 12px 14px; }
}

/* Compare */
.ms-compare { display: flex; flex-direction: column; gap: 28px; padding-top: 80px; padding-bottom: 80px; }
.ms-compare__hint { display: none; margin-top: -12px; font-size: 14px; color: var(--color-taupe); }
.ms-compare__scroll { overflow-x: auto; background: #fff; border-radius: var(--radius-card); }
.ms-cmptable { width: 100%; min-width: 760px; font-size: 15px; text-align: left; }
.ms-cmptable__corner { width: 22%; padding: 20px; vertical-align: bottom; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--color-taupe); }
.ms-cmptable thead th { padding: 20px; vertical-align: top; }
.ms-cmptable .is-current { background: #F7F5F0; }
.ms-cmptable__head { display: flex; flex-direction: column; gap: 10px; }
.ms-cmptable__img { aspect-ratio: 4 / 3; border-radius: 8px; }
.ms-cmptable__img img { padding: 6%; }
.ms-cmptable__name { font-family: var(--font-display); font-weight: 500; font-size: 18px; letter-spacing: -.01em; }
.ms-cmptable__price { font-size: 15px; font-weight: 700; }
.ms-cmptable tbody tr { border-top: 1px solid var(--color-line-soft); }
.ms-cmptable tbody th { padding: 16px 20px; font-weight: 600; }
.ms-cmptable tbody td { padding: 16px 20px; }
@media (max-width: 600px) {
	.ms-compare__hint { display: block; }
	.ms-cmptable tbody th[scope=row], .ms-cmptable__corner { position: sticky; left: 0; z-index: 1; min-width: 96px; background: #fff; }
}
@media (max-width: 640px) { .ms-compare { padding-top: 56px; padding-bottom: 56px; } }

/* Reviews (empty state; full block from the reviews module) */
.ms-reviews-sec { border-top: 1px solid var(--color-line); }
.ms-reviews-sec__empty { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 80px; padding-bottom: 80px; max-width: 760px; margin-left: max(0px, calc((100% - var(--container)) / 2)); }
@media (max-width: 640px) { .ms-reviews-sec__empty { padding-top: 56px; padding-bottom: 56px; } }

/* FAQ accordion */
.ms-pfaq__inner { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 56px; padding-top: 80px; padding-bottom: 80px; }
@media (max-width: 1024px) { .ms-pfaq__inner { grid-template-columns: minmax(0, 1fr); gap: 24px; } }
@media (max-width: 640px) { .ms-pfaq__inner { padding-top: 56px; padding-bottom: 56px; } }
/* Related */
.ms-related { display: flex; flex-direction: column; gap: 32px; padding-top: 80px; padding-bottom: 96px; }
@media (max-width: 640px) { .ms-related { padding-top: 56px; padding-bottom: 56px; } }

/* Reviews (verified owners only) */
.ms-reviews { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 56px; padding-top: 80px; padding-bottom: 80px; }
.ms-reviews__side { display: flex; flex-direction: column; gap: 18px; flex: 1 1 280px; max-width: 340px; }
.ms-reviews__avg { display: flex; align-items: center; gap: 14px; }
.ms-reviews__score { font-family: var(--font-display); font-weight: 500; font-size: 60px; line-height: 1; letter-spacing: -.03em; }
.ms-reviews__of { display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.ms-reviews__of span { color: var(--color-taupe); }
.ms-reviews__dist { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.ms-reviews__bar { display: flex; align-items: center; gap: 10px; }
.ms-reviews__bar > span:first-child { width: 44px; }
.ms-reviews__track { flex: 1 1 0; height: 8px; border-radius: 4px; overflow: hidden; background: var(--color-line); }
.ms-reviews__track span { display: block; height: 100%; background: var(--color-pine); }
.ms-reviews__n { width: 36px; text-align: right; color: var(--color-taupe); }
.ms-reviews__rule { font-size: 14px; line-height: 1.5; color: var(--color-taupe); }
.ms-reviews__side .ms-btn { align-self: flex-start; }
.ms-reviews__main { display: flex; flex-direction: column; flex: 999 1 560px; min-width: 0; }
.ms-reviews__filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
.ms-review { display: flex; flex-direction: column; gap: 10px; padding: 22px 0; border-bottom: 1px solid var(--color-line); }
.ms-review__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.ms-review__stars { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; }
.ms-review__verified { display: inline-flex; align-items: center; gap: 4px; color: var(--color-success); }
.ms-review__date { font-size: 13px; color: var(--color-taupe); }
.ms-review__title { font-family: var(--font-body); font-size: 17px; font-weight: 700; letter-spacing: 0; }
.ms-review__text { font-size: 16px; line-height: 1.6; color: var(--color-body); }
.ms-review__photos { display: flex; flex-wrap: wrap; gap: 8px; }
.ms-review__photo { display: block; width: 88px; height: 88px; overflow: hidden; border-radius: 8px; background: var(--color-linen); }
.ms-review__photo img { width: 100%; height: 100%; object-fit: cover; }
.ms-review__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font-size: 13px; color: var(--color-taupe); }
.ms-review__meta strong { color: var(--color-ink); }
.ms-review__reply { margin-top: 4px; padding: 14px 16px; border-left: 3px solid var(--color-pine); border-radius: 0 8px 8px 0; background: var(--color-stone); font-size: 15px; }
.ms-review__reply p { margin-top: 4px; color: var(--color-body); }
.ms-reviews__more { align-self: flex-start; margin-top: 20px; }
@media (max-width: 640px) { .ms-reviews { gap: 32px; padding-top: 56px; padding-bottom: 56px; } .ms-reviews__side { max-width: none; } }

/* About this item (marketplace-style highlights) */
.ms-about { padding-top: 72px; padding-bottom: 72px; }
.ms-about__list { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 48px; }
.ms-about__item { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; }
.ms-about__tick { margin-top: 4px; }
.ms-about__item p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--color-body); }
.ms-about__item strong { color: var(--color-ink, #1c1b19); font-weight: 650; }
@media (max-width: 860px) { .ms-about__list { grid-template-columns: minmax(0, 1fr); } .ms-about { padding-top: 48px; padding-bottom: 48px; } }

/* Product description (long-form copy) */
.ms-desc { padding-top: 80px; padding-bottom: 80px; }
.ms-desc__prose { max-width: 760px; margin-top: 24px; }
.ms-desc__inner.has-media { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.ms-desc__media { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 20px; }
.ms-desc__img { display: block; aspect-ratio: 4 / 3; border-radius: var(--radius-card); overflow: hidden; background: var(--color-sand); }
.ms-desc__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ms-desc__img.is-shot { background: #fff; }
.ms-desc__img.is-shot img { object-fit: contain; padding: 6%; }
@media (max-width: 1024px) { .ms-desc__inner.has-media { grid-template-columns: minmax(0, 1fr); gap: 32px; } .ms-desc__media { position: static; flex-direction: row; } .ms-desc__img { flex: 1; } }
.ms-desc__prose h3 { margin: 32px 0 10px; font-size: 22px; line-height: 1.25; letter-spacing: -.01em; }
.ms-desc__prose h3:first-child { margin-top: 0; }
.ms-desc__prose p { margin: 0 0 14px; font-size: 17px; line-height: 1.7; color: var(--color-body); }
.ms-desc__prose ul { margin: 0 0 14px; padding-left: 20px; }
.ms-desc__prose li { margin-bottom: 6px; font-size: 17px; line-height: 1.6; color: var(--color-body); }
@media (max-width: 860px) { .ms-desc { padding-top: 56px; padding-bottom: 56px; } }

/* A closer look (maker's detail images, stacked like marketplace A+ content) */
.ms-closer { padding-top: 80px; padding-bottom: 80px; }
.ms-closer__title { text-align: center; margin-bottom: 32px; }
.ms-closer__stack { max-width: 880px; margin: 0 auto; border-radius: var(--radius-card); overflow: hidden; background: #fff; box-shadow: 0 1px 0 var(--color-line); }
.ms-closer__img { display: block; width: 100%; height: auto; }
.ms-closer__mod { margin: 0; }
.ms-closer__mod + .ms-closer__mod, .ms-closer__img + .ms-closer__mod { border-top: 1px solid var(--color-line); }
.ms-closer__cap { padding: 22px 32px 30px; }
.ms-closer__cap-title { font-family: var(--font-display); font-weight: 500; font-size: 24px; line-height: 1.2; letter-spacing: -.01em; color: var(--color-ink); }
.ms-closer__cap p { margin-top: 8px; font-size: 16px; line-height: 1.6; color: var(--color-body); max-width: 640px; }
@media (max-width: 860px) { .ms-closer { padding-top: 56px; padding-bottom: 56px; } .ms-closer__stack { border-radius: 0; margin: 0 -16px; } .ms-closer__cap { padding: 18px 16px 24px; } .ms-closer__cap-title { font-size: 20px; } }
