/* Warm product chapter; photographic asset is based on the supplied real product. */
.heat-chapter { background: #17231a; }
.heat-image, .heat-shade { position: absolute; inset: 0; pointer-events: none; }
.heat-image { overflow: hidden; }
.heat-image img { display: block; width: 100%; height: 100%; object-fit: cover; transform: translateX(-3.5vw); mask-image: linear-gradient(90deg, #000 80%, transparent); }
.heat-shade { background: linear-gradient(90deg, transparent 51%, #13211812 61%, #1421185c 90%), linear-gradient(0deg, #07130c99, transparent 24%), linear-gradient(180deg, #07130c55, transparent 22%); }
.heat-copy { position: absolute; z-index: 2; top: 17.5vh; left: 64vw; right: 5.3vw; font-family: "Moments Sans", var(--sans); }
.heat-eyebrow { margin: 0 0 1.5vh; font-size: 12px; letter-spacing: .19em; color: #d6c7a3; }
.heat-copy h2 { margin: 0; font-family: "Moments Serif", var(--serif); font-size: clamp(38px, 3.35vw, 62px); font-weight: 400; line-height: 1.4; letter-spacing: .035em; white-space: nowrap; }
.heat-tagline { margin: 1.5vh 0 2.6vh; font-family: "Moments Serif", var(--serif); font-size: clamp(18px, 1.45vw, 26px); line-height: 1.65; letter-spacing: .04em; color: #f3f0e6dc; }
.heat-heritage { display: flex; align-items: center; gap: 1.15em; margin: 0; font-size: clamp(13px, 1.05vw, 18px); line-height: 1.6; letter-spacing: .09em; color: #e4cba0; }
.heat-heritage span { padding-left: 1.15em; border-left: 1px solid #e4cba065; }
.heat-timing { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5vw; margin: 3.8vh 0 3.2vh; padding: 2.6vh 0 2.8vh; border-top: 1px solid #f3f0e638; border-bottom: 1px solid #f3f0e638; }
.heat-timing > div + div { border-left: 1px solid #f3f0e625; padding-left: 2.2vw; }
.heat-timing dt { font-size: 12px; color: #e1dccd; white-space: nowrap; }
.heat-timing dt span { font-family: "Moments Serif", var(--serif); font-size: clamp(51px, 4.5vw, 78px); font-weight: 400; line-height: 1; color: #f3f0e6; letter-spacing: -.035em; padding-right: .08em; }
.heat-timing dd { margin: 1.6vh 0 0; font-size: clamp(13px, 1vw, 17px); letter-spacing: .1em; }
.heat-features { display: grid; gap: 2.2vh; }
.heat-features h3 { font-size: clamp(16px, 1.2vw, 21px); font-weight: 400; line-height: 1.4; letter-spacing: .1em; margin: 0 0 .65vh; }
.heat-features p { font-size: clamp(13px, .95vw, 16px); line-height: 1.8; letter-spacing: .025em; color: #f3f0e6ba; margin: 0; }
.heat-entry { transition: color 300ms; }
.heat-entry:hover { color: #714529; }
.heat-entry:focus-visible { outline-color: #986347; }
.motion-enabled .story:has(.heat-chapter) { height: 510vh; }
.motion-enabled .heat-chapter { z-index: 5; background: #17231a; opacity: var(--heat-image-opacity, 0); }
.motion-enabled .heat-image { transform: scale(var(--heat-image-scale, 1.035)); transform-origin: 32% 62%; filter: blur(var(--heat-image-blur, 5px)); }
.motion-enabled .heat-copy, .motion-enabled .heat-foot { opacity: var(--heat-copy-opacity, 0); }
.motion-enabled .moments-content { opacity: var(--moments-exit-opacity, 1); }
.motion-enabled .moments-foot { opacity: calc(var(--moments-copy-opacity, 0) * var(--moments-exit-opacity, 1)); }
@media (max-aspect-ratio: 4/3) {
  .heat-image img { position: absolute; top: 26vh; height: auto; object-fit: initial; mask-image: linear-gradient(180deg, transparent, #000 18% 82%, transparent), linear-gradient(90deg, #000 80%, transparent); mask-composite: intersect; }
}
@media (max-height: 760px) {
  .heat-copy { top: 16vh; }
  .heat-tagline { margin: 1.2vh 0 2vh; }
  .heat-timing { margin: 2.8vh 0 2.7vh; padding: 2.1vh 0 2.3vh; }
  .heat-features { gap: 1.8vh; }
}
