@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&family=Noto+Serif+JP:wght@400;500;800&display=swap');

/* 全セレクターを .rslp 内に限定。host-* は既存EC側の固定UIに合わせて設定。 */
.rslp {
  --rslp-bg: #080D12;
  --rslp-navy: #0B1C2A;
  --rslp-panel: #122A3B;
  --rslp-gold: #C4A66A;
  --rslp-white: #F4F0E8;
  --rslp-muted: #BAC5CD;
  --rslp-line: #3C5060;
  --rslp-serif: 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
  --rslp-sans: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
  --rslp-gutter: clamp(24px, 4.45vw, 80px);
  --rslp-host-top-offset: 24px;
  display: block;
  position: relative;
  isolation: isolate;
  width: 100%;
  margin: 0;
  background: var(--rslp-bg);
  color: var(--rslp-white);
  font: 400 1rem/1.9 var(--rslp-sans);
  letter-spacing: .02em;
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  color-scheme: dark;
}
.rslp *, .rslp *::before, .rslp *::after { box-sizing: border-box; }
.rslp :where(h1,h2,h3,h4,h5,p,figure,dl,dd,ul) { margin: 0; padding: 0; }
.rslp :where(h1,h2,h3,h4,h5) { color: inherit; font-family: var(--rslp-serif); font-weight: 500; overflow-wrap: normal; line-break: strict; }
.rslp h1 { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.5; letter-spacing: .08em; }
.rslp h2 { font-size: clamp(1.75rem, 2.8vw, 2.5rem); line-height: 1.7; letter-spacing: .06em; }
.rslp h3 { font-size: 1.5rem; line-height: 1.7; letter-spacing: .04em; }
.rslp h4 { font: 500 1.25rem/1.7 var(--rslp-sans); }
.rslp h5 { font: 500 1.0625rem/1.8 var(--rslp-sans); }
.rslp img { display: block; max-width: 100%; height: auto; border: 0; border-radius: 0; }
.rslp a { color: inherit; text-decoration: underline; text-underline-offset: .25em; text-decoration-thickness: 1px; }
.rslp a:hover { color: var(--rslp-gold); }
.rslp a:focus-visible, .rslp summary:focus-visible { outline: 2px solid var(--rslp-white); outline-offset: 5px; }
.rslp section:focus-visible { outline: 2px solid var(--rslp-white); outline-offset: -2px; }
.rslp [hidden] { display: none !important; }
.rslp [id] { scroll-margin-top: var(--rslp-host-top-offset); }
.rslp :where(a,summary) { scroll-margin-block: calc(var(--rslp-host-top-offset) + 16px) 24px; }
.rslp .rslp-container { width: min(1200px, calc(100% - var(--rslp-gutter) * 2)); margin-inline: auto; }
.rslp .rslp-section { padding-block: clamp(80px, 9vw, 136px); }
.rslp .rslp-small { color: var(--rslp-muted); font: 400 .875rem/1.8 var(--rslp-sans); }
.rslp .rslp-story { font: 400 1.125rem/2.15 var(--rslp-serif); letter-spacing: .04em; }
.rslp .rslp-text-link { display: inline-flex; justify-content: space-between; gap: 24px; align-items: center; min-height: 48px; max-width: 100%; font-weight: 500; }
.rslp .rslp-text-link span { flex: none; text-decoration: none; }
.rslp .rslp-button { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 56px; padding: 16px 24px; background: var(--rslp-gold); border: 1px solid transparent; border-radius: 2px; color: var(--rslp-bg); font: 500 1rem/1.6 var(--rslp-sans); text-decoration: none; transition: background-color 180ms; }
.rslp .rslp-button:hover { background: #D6BB83; color: var(--rslp-bg); }
.rslp .rslp-button:active { background: #B79656; }
.rslp .rslp-button span { flex: none; }
.rslp .rslp-price { font-size: clamp(2rem, 3.8vw, 2.75rem); font-weight: 500; line-height: 1.4; letter-spacing: 0; white-space: nowrap; }
.rslp .rslp-price > span { font-size: 1.125rem; margin-left: .25em; }

.rslp .rslp-hero-visual { position: relative; display: flex; align-items: center; min-height: clamp(640px, 54vw, 840px); }
.rslp .rslp-hero-background { position: absolute; inset: 0; background: url('https://stprodaeonblob.blob.core.windows.net/eshop-files/images/event/2024/foodevent/DSC07337.JPG') center / cover no-repeat; }
.rslp .rslp-hero-visual::after { content: ''; position: absolute; inset: 0; background: rgba(8, 13, 18, .42); pointer-events: none; }
.rslp .rslp-hero-heading { position: relative; z-index: 1; text-align: center; padding-block: 96px; }
.rslp .rslp-hero-heading h1 { font-size: clamp(3rem, 6.2vw, 5.75rem); font-weight: 800; line-height: 1.35; letter-spacing: .045em; }
.rslp .rslp-hero-heading h1, .rslp .rslp-hero-copy { text-shadow: 0 2px 4px rgba(8, 13, 18, .85); }
.rslp .rslp-origin-name { display: block; font-size: .5em; margin-bottom: 12px; letter-spacing: .14em; }
.rslp .rslp-hero-copy { margin-top: 32px; font: 800 clamp(1.5rem, 2.6vw, 2.25rem)/1.8 var(--rslp-serif); letter-spacing: .04em; }
.rslp .rslp-hero-period { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 4px 20px; max-width: 100%; margin-top: 40px; padding: 14px 28px; background-color: var(--rslp-gold); color: var(--rslp-bg); font-size: 1.0625rem; font-weight: 500; }
.rslp .rslp-type-char { opacity: 1; }
.rslp .rslp-hero-action { padding-block: 32px 40px; text-align: center; }
.rslp .rslp-hero-link { width: min(100%, 360px); margin-inline: auto; }
.rslp .rslp-photo-note { margin-top: 20px; color: var(--rslp-muted); font-size: .875rem; }

.rslp .rslp-origin { background: var(--rslp-navy); }
.rslp .rslp-origin-layout { display: grid; grid-template-columns: 4fr 6.6fr; gap: 40px 8%; align-items: start; }
.rslp .rslp-origin-intro { padding-top: 32px; }
.rslp .rslp-origin-intro h2 { margin-bottom: 32px; }
.rslp .rslp-origin-figure { grid-column: 2; grid-row: 1; }
.rslp .rslp-origin-crop { aspect-ratio: 3/2; overflow: hidden; }
.rslp .rslp-origin-crop img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.rslp figcaption { margin-top: 14px; color: var(--rslp-muted); font-size: .875rem; }
.rslp .rslp-island-detail { display: grid; grid-template-columns: 4fr 6.6fr; gap: 8%; align-items: center; margin-top: 64px; }
.rslp .rslp-mountain-photo img { width: 100%; aspect-ratio: 2/1; }
.rslp .rslp-kelp { display: grid; grid-template-columns: 4fr 6.6fr; gap: 40px 8%; padding-block: 100px 80px; align-items: start; }
.rslp .rslp-kelp-text { padding-top: 32px; min-width: 0; }
.rslp .rslp-kelp-text h2 { margin-bottom: 32px; }
.rslp .rslp-kelp-photo { min-width: 0; grid-column: 2; }
.rslp .rslp-kelp-photo img { width: 100%; aspect-ratio: 1280/850; }
.rslp .rslp-kelp-text p + p { margin-top: 20px; }
.rslp .rslp-island-life { display: grid; grid-template-columns: 1fr 1.1fr; gap: 8%; padding-top: 72px; }
.rslp .rslp-island-life h3 { font-size: clamp(1.75rem, 2.6vw, 2.25rem); line-height: 1.65; }
.rslp .rslp-island-life .rslp-story { font-size: 1.125rem; line-height: 2.1; }


.rslp .rslp-product { --rslp-muted: #52616B; --rslp-line: #BBC8CE; background: #F4F0E8; color: #182D3B; color-scheme: light; }
.rslp .rslp-product a:not(.rslp-button):hover { color: #745728; }
.rslp .rslp-product:focus-visible, .rslp .rslp-product a:focus-visible, .rslp .rslp-table-wrap:focus-visible { outline: 2px solid #182D3B; outline-offset: 4px; }
.rslp .rslp-product > .rslp-container > h2 { margin-bottom: 24px; }
.rslp .rslp-product-intro { margin-bottom: 48px; max-width: 800px; }
.rslp .rslp-product-item + .rslp-product-item { margin-top: 64px; padding-top: 64px; border-top: 1px solid var(--rslp-line); }
.rslp .rslp-product-info { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.rslp .rslp-product-image { position: relative; min-width: 0; }
.rslp .rslp-product-image img { width: 100%; aspect-ratio: 1131/848; }
.rslp .rslp-product-purchase { min-width: 0; }
.rslp .rslp-product-purchase h3 { font-size: 1.625rem; }
.rslp .rslp-product-volume { margin-block: 16px 12px; font-size: 1.125rem; }
.rslp .rslp-product-volume strong { display: block; font-weight: 500; font-size: 1.375rem; }
.rslp .rslp-product-volume span { display: block; margin-top: 4px; }
.rslp .rslp-pricing { margin-block: 24px 28px; text-align: right; }
.rslp .rslp-pricing-net { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: baseline; gap: 4px 16px; }
.rslp .rslp-pricing-tax { margin-top: 4px; font-size: 1rem; }
.rslp .rslp-delivery-info { margin-top: 72px; padding: clamp(24px, 3.5vw, 40px); background: #E7EDF0; }
.rslp .rslp-delivery-info > h3 { margin-bottom: 32px; font-size: 1.75rem; }
.rslp .rslp-delivery-stack { max-width: 100%; }
.rslp .rslp-delivery-summary h4, .rslp .rslp-delivery-schedule h4 { margin-bottom: 20px; }
.rslp .rslp-delivery-summary > p + p { margin-top: 20px; }
.rslp .rslp-delivery-schedule { margin-top: 40px; padding-top: 36px; border-top: 2px solid #9AAFB9; }
.rslp .rslp-order-period { font-size: 1.125rem; font-weight: 500; }
.rslp .rslp-table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.rslp .rslp-shipping, .rslp .rslp-schedule { width: 100%; border-collapse: collapse; margin-block: 16px; color: #182D3B; font: 400 1rem/1.8 var(--rslp-sans); }
.rslp .rslp-shipping caption, .rslp .rslp-schedule caption { text-align: center; color: var(--rslp-muted); font-size: .875rem; padding-bottom: 14px; }
.rslp .rslp-shipping th, .rslp .rslp-shipping td, .rslp .rslp-schedule th, .rslp .rslp-schedule td { border: 1px solid #B7CBD7; padding: 14px 12px; vertical-align: middle; text-align: center; }
.rslp .rslp-shipping thead th, .rslp .rslp-schedule thead th { background: #DCEAF3; color: #182D3B; font-weight: 500; }
.rslp .rslp-shipping tbody th, .rslp .rslp-shipping tbody td, .rslp .rslp-schedule tbody td { background: #FFFFFF; color: #182D3B; font-weight: 400; }
.rslp .rslp-shipping td { white-space: nowrap; }
.rslp .rslp-col-region { width: 70%; }
.rslp .rslp-col-fee { width: 30%; }
.rslp .rslp-shipping tbody th span { display: block; margin-top: 4px; color: #52616B; font-size: .875rem; }
.rslp .rslp-schedule th:first-child { width: 63%; }
.rslp .rslp-delivery-area { margin-bottom: 16px; }
.rslp .rslp-delivery-area strong { display: block; font-weight: 500; font-size: 1.125rem; }
.rslp .rslp-before-order { margin-top: 40px; padding: 36px 40px; border-top: 2px solid #C4A66A; background: #FBF9F4; }
.rslp .rslp-before-order > h3 { font-size: 1.5rem; }
.rslp .rslp-before-order ul { margin-block: 20px 28px; padding-left: 1.3em; }
.rslp .rslp-before-order li { padding-left: .2em; margin-top: 8px; }
.rslp .rslp-arrival { max-width: 900px; }
.rslp .rslp-arrival h4 { margin-bottom: 12px; }
.rslp .rslp-order-action > p { margin-top: 16px; }

.rslp .rslp-faq-layout { display: grid; grid-template-columns: 1fr 2fr; gap: 8%; }
.rslp .rslp-faq-items { border-top: 1px solid var(--rslp-line); }
.rslp .rslp-faq details { border-bottom: 1px solid var(--rslp-line); }
.rslp .rslp-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 72px; padding: 20px 4px; cursor: pointer; list-style: none; font-weight: 500; }
.rslp .rslp-faq summary::-webkit-details-marker { display: none; }
.rslp .rslp-faq summary::after { content: '+'; flex: none; font: 400 1.5rem/1 var(--rslp-sans); }
.rslp .rslp-faq details[open] > summary::after { content: '−'; }
.rslp .rslp-faq details > div { padding: 0 32px 24px 4px; color: var(--rslp-muted); }

@media (max-width: 1100px) {
  .rslp .rslp-product-info { gap: 40px; }
}
@media (max-width: 767px) {
  .rslp { --rslp-gutter: 24px; }
  .rslp h1 { font-size: clamp(1.875rem, 7.9vw, 2.5rem); letter-spacing: .035em; }
  .rslp h2 { font-size: 1.75rem; letter-spacing: .04em; }
  .rslp .rslp-story { font-size: 1rem; line-height: 2.1; }
  .rslp .rslp-hero-visual { min-height: 560px; }
  .rslp .rslp-hero-background { background-image: url('https://stprodaeonblob.blob.core.windows.net/eshop-files/images/event/2024/foodevent/DSC073372.JPG'); background-position: 52% center; }
  .rslp .rslp-hero-heading { padding-block: 72px; }
  .rslp .rslp-hero-heading h1 { font-size: clamp(2.25rem, 8.8vw, 3.5rem); letter-spacing: .025em; line-height: 1.4; }
  .rslp .rslp-origin-name { font-size: .6em; margin-bottom: 8px; }
  .rslp .rslp-hero-copy { margin-top: 28px; font-size: 1.5rem; line-height: 1.8; }
  .rslp .rslp-hero-period { flex-direction: column; gap: 4px; margin-top: 32px; padding: 12px 20px; font-size: 1rem; }
  .rslp .rslp-hero-action { padding-block: 24px 32px; }
  .rslp .rslp-origin-layout { display: flex; flex-direction: column; align-items: stretch; gap: 32px; }
  .rslp .rslp-origin-intro { width: 100%; min-width: 0; padding-top: 0; }
  .rslp .rslp-origin-intro .rslp-story br { display: none; }
  .rslp .rslp-origin-intro h2 { margin-bottom: 24px; }
  .rslp .rslp-origin-figure { width: 100%; }
  .rslp .rslp-island-detail { display: block; margin-top: 40px; }
  .rslp .rslp-mountain-photo { margin-bottom: 28px; }
  .rslp .rslp-kelp { display: block; padding-block: 64px 48px; }
  .rslp .rslp-kelp-text { padding-top: 0; }
  .rslp .rslp-kelp-text h2 { margin-bottom: 24px; }
  .rslp .rslp-kelp-photo { margin-top: 32px; }
  .rslp .rslp-island-life { display: block; padding-top: 48px; }
  .rslp .rslp-island-life h3 { font-size: 1.5rem; margin-bottom: 20px; }
  .rslp .rslp-island-life .rslp-story { font-size: 1rem; }
  .rslp .rslp-product-intro { margin-bottom: 32px; }
  .rslp .rslp-product-item + .rslp-product-item { margin-top: 48px; padding-top: 48px; }
  .rslp .rslp-product-info { display: block; }
  .rslp .rslp-product-purchase { margin-top: 28px; }
  .rslp .rslp-product-purchase h3 { font-size: 1.375rem; }
  .rslp .rslp-product-volume { font-size: 1rem; }
  .rslp .rslp-product-volume strong { font-size: 1.25rem; }
  .rslp .rslp-delivery-info { margin-top: 48px; padding: 28px 12px; }
  .rslp .rslp-delivery-info > h3 { font-size: 1.5rem; margin-bottom: 28px; }
  .rslp .rslp-delivery-schedule { margin-top: 32px; padding-top: 28px; }
  .rslp .rslp-shipping { font-size: .875rem; }
  .rslp .rslp-shipping th, .rslp .rslp-shipping td { padding: 12px 4px; }
  .rslp .rslp-shipping tbody th span { font-size: .75rem; }
  .rslp .rslp-schedule th, .rslp .rslp-schedule td { padding: 12px 8px; }
  .rslp .rslp-before-order { margin-top: 32px; padding: 28px 18px; }
  .rslp .rslp-before-order > h3 { font-size: 1.375rem; }
  .rslp .rslp-faq-layout { display: block; }
  .rslp .rslp-faq-layout h2 { margin-bottom: 28px; }
  .rslp .rslp-faq summary { gap: 16px; }
  .rslp .rslp-faq details > div { padding-right: 20px; }
  .rslp a.rslp-text-link[href="#rslp-product"] { display: flex; width: fit-content; max-width: 100%; justify-content: center; margin-inline: auto; }

}
@media (max-width: 359px) {
  .rslp { --rslp-gutter: 16px; }
  .rslp .rslp-order-period { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .rslp *, .rslp *::before, .rslp *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* PCの見出し内brは維持。スマホは現在の文言を1行で読めるサイズへ。 */
@media (max-width: 767px) {
  .rslp[data-rslp] :is(h2,h3,h4,h5) {
    font-size: min(var(--rslp-heading-max, 1.5rem), calc((100vw - var(--rslp-gutter) * 2 - var(--rslp-heading-inset, 0px)) / var(--rslp-heading-units, 18)));
    letter-spacing: .025em;
    white-space: normal;
    overflow-wrap: anywhere;
    line-break: auto;
  }
  .rslp :is(h2,h3,h4,h5) br { display: none; }
  .rslp h2 { --rslp-heading-max: 1.75rem; }
  .rslp #rslp-origin-title { --rslp-heading-units: 12; }
  .rslp #rslp-kelp-title { --rslp-heading-units: 18; }
  .rslp #rslp-product-title { --rslp-heading-units: 13; }
  .rslp #rslp-faq-title { --rslp-heading-units: 8; }
  .rslp .rslp-island-life h3 { --rslp-heading-units: 17.2; }
  .rslp .rslp-product-purchase h3 { --rslp-heading-units: 13.8; --rslp-heading-max: 1.375rem; }
  .rslp .rslp-delivery-info > h3 { --rslp-heading-units: 5.4; --rslp-heading-inset: 24px; }
  .rslp .rslp-delivery-summary h4 { --rslp-heading-units: 7.5; --rslp-heading-inset: 24px; --rslp-heading-max: 1.25rem; }
  .rslp .rslp-delivery-schedule h4 { --rslp-heading-units: 10.8; --rslp-heading-inset: 24px; --rslp-heading-max: 1.25rem; }
  .rslp .rslp-before-order > h3 { --rslp-heading-units: 13; --rslp-heading-inset: 36px; --rslp-heading-max: 1.375rem; }
  .rslp .rslp-arrival h4 { --rslp-heading-units: 17; --rslp-heading-inset: 36px; --rslp-heading-max: 1.0625rem; }
}

/* クーポン：PCは正方形2列、スマホは1列。実画像はcontainで全体を表示。 */
.rslp .rslp-coupons { margin: 0; padding-block: 64px 72px; background: var(--rslp-bg); }
.rslp .rslp-coupons h2 { text-align: center; margin-bottom: 40px; }
.rslp .rslp-coupon-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 48px); max-width: 1040px; margin-inline: auto; }
.rslp .rslp-coupon { min-width: 0; }
.rslp .rslp-coupon h3 { margin-bottom: 16px; text-align: center; font: 500 1.25rem/1.7 var(--rslp-sans); }
.rslp .rslp-coupon-visual { aspect-ratio: 1; width: 100%; display: grid; place-items: center; border: 1px solid var(--rslp-gold); background: var(--rslp-white); color: var(--rslp-navy); text-align: center; }
.rslp .rslp-coupon-visual > img { width: 100%; height: 100%; object-fit: contain; }
.rslp .rslp-coupon-action { width: 100%; margin-top: 20px; padding-inline: 20px; justify-content: center; gap: 12px; }
@media (max-width: 767px) {
  .rslp .rslp-coupons { padding-block: 48px; }
  .rslp #rslp-coupons-title { --rslp-heading-units: 15.5; --rslp-heading-max: 1.75rem; margin-bottom: 28px; }
  .rslp .rslp-coupon-list { grid-template-columns: minmax(0, 1fr); gap: 36px; max-width: 430px; }
  .rslp .rslp-coupon h3 { --rslp-heading-units: 10; --rslp-heading-max: 1.125rem; margin-bottom: 12px; }
  .rslp .rslp-coupon-action { margin-top: 16px; padding-inline: 12px; font-size: .9375rem; }
}

/* 商品写真の上に容量と配送温度を表示。写真データ自体は変更しない。 */
.rslp .rslp-product-image-labels { position: absolute; inset: 16px 16px auto auto; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; max-width: calc(100% - 32px); pointer-events: none; }
.rslp .rslp-product-capacity { display: inline-flex; align-items: baseline; gap: 4px; padding: 10px 16px; background: #ab1f05; color: #FFFFFF; font: 500 clamp(1.5rem, 3vw, 2rem)/1.2 var(--rslp-sans); letter-spacing: 0; }
.rslp .rslp-product-capacity > span { font-size: .6em; }
.rslp .rslp-product-chilled { display: inline-flex; align-items: center; padding: 10px 12px; background: #1e369d; color: #FFFFFF; font: 500 1rem/1.5 var(--rslp-sans); }

/* コードを常時表示し、JSが使えない環境でも手動コピーできるようにする。 */
.rslp .rslp-coupon-code { margin-top: 18px; text-align: center; font-size: 1rem; }
.rslp .rslp-coupon-code code { font: 500 1.25rem/1.6 var(--rslp-sans); letter-spacing: .04em; user-select: all; -webkit-user-select: all; }
.rslp .rslp-coupon-action { margin-top: 14px; cursor: pointer; -webkit-appearance: none; appearance: none; }
.rslp .rslp-coupon-action:focus-visible { outline: 2px solid var(--rslp-white); outline-offset: 5px; }
.rslp .rslp-coupon-action:disabled { background: #BDC6CC; color: #223543; cursor: default; }
.rslp .rslp-copy-status { min-height: 3.6em; margin-top: 10px; text-align: center; color: var(--rslp-white); font: 400 .875rem/1.8 var(--rslp-sans); }
.rslp .rslp-copy-buffer { position: fixed; left: -9999px; top: 0; width: 1px; height: 1px; padding: 0; border: 0; opacity: 0; font-size: 16px; }
@media (max-width: 767px) {
  .rslp .rslp-product-image-labels { inset: 12px 12px auto auto; max-width: calc(100% - 24px); }
  .rslp .rslp-product-capacity { padding: 8px 12px; }
  .rslp .rslp-product-chilled { padding: 8px 10px; font-size: .875rem; }
}

/* 添付HTMLの紹介文を引き継ぎ、刺身と煮物を紺色のイントロ内にまとめる。 */
.rslp .rslp-origin { margin: 0; padding-bottom: clamp(48px, 6vw, 80px); }
.rslp .rslp-story-label { margin: 2rem; text-align: center; font: 500 clamp(2rem, 4vw, 3.5rem)/1.5 var(--rslp-serif); letter-spacing: .08em; }
.rslp .rslp-origin-sashimi img { width: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: center; }
.rslp .rslp-origin-simmered { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(32px, 5vw, 72px); margin-top: clamp(48px, 6vw, 80px); }
.rslp .rslp-origin-simmered-photo, .rslp .rslp-origin-simmered-copy { min-width: 0; }
.rslp .rslp-origin-simmered-photo img { width: 100%; aspect-ratio: 3/2; object-fit: cover; object-position: center; }
.rslp .rslp-origin-simmered-copy .rslp-story { color: var(--rslp-white); font-family: var(--rslp-serif); }
.rslp .rslp-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 767px) {
  .rslp .rslp-origin-sashimi img { aspect-ratio: 3/2; }
  .rslp .rslp-origin-simmered { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 40px; }
}
