/* Product world / 94: architectural, full-bleed compositions without photographic cut-outs. */
body[data-room-theme="home"] .closer-section { padding:0; background:#32040d }
body[data-room-theme="home"] .cinema-stage { min-height:clamp(620px,58vw,850px); align-items:center; padding:7% 5% }
body[data-room-theme="home"] .cinema-image-button { inset:0; width:100% }
body[data-room-theme="home"] .cinema-image-button img {
  width:100%; height:100%; object-fit:cover; object-position:center;
  -webkit-mask-image:none; mask-image:none; -webkit-mask-composite:initial; mask-composite:initial;
}
body[data-room-theme="home"] .cinema-image-button::after {
  -webkit-mask-image:none; mask-image:none;
  background:linear-gradient(90deg,rgba(35,2,9,.90) 0%,rgba(35,2,9,.62) 32%,rgba(35,2,9,.02) 75%);
}
body[data-room-theme="home"] .cinema-copy { width:min(47%,530px) }
body[data-room-theme="home"] .cinema-copy .disclosure { max-width:400px; font-size:10px; margin-top:30px }
body[data-room-theme="home"] .cinema-view { right:5%; bottom:6%; font-size:10px }
body[data-room-theme="home"] #range {
  padding:80px 5% 75px; color:#fff7ed; min-height:800px;
  background-image:radial-gradient(ellipse at 72% 50%,var(--range-glow),transparent 52%),linear-gradient(90deg,rgba(36,2,10,.93),rgba(50,4,12,.68) 48%,rgba(43,3,12,.25)),url("assets/page-flavours-v83.webp");
  background-position:center; background-size:cover; background-repeat:no-repeat;
}
body[data-room-theme="home"] #range .range-layout {
  display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);
  grid-template-rows:auto 1fr; grid-template-areas:"heading image" "copy image";
  align-items:start; gap:0 5%; max-width:1600px; margin:0 auto;
}
body[data-room-theme="home"] #range .range-heading { grid-area:heading; padding:18px 0 24px }
body[data-room-theme="home"] #range .range-heading h2 { font-size:clamp(52px,6vw,96px); line-height:.9 }
body[data-room-theme="home"] #range .range-heading p { font-size:14px; line-height:1.6; margin-top:18px }
body[data-room-theme="home"] #range .range-copy { grid-area:copy; padding:0; width:100%; max-width:520px }
body[data-room-theme="home"] #range .range-buttons button { min-height:58px }
body[data-room-theme="home"] #range .range-buttons strong { font-size:clamp(21px,2vw,28px) }
body[data-room-theme="home"] #range .range-visual { grid-area:image; position:relative; align-self:center; width:100%; min-width:0 }
#range-preview { position:relative; height:clamp(560px,58vw,740px); touch-action:pan-y; cursor:grab }
#range-preview:active { cursor:grabbing }
#range-preview::before { content:""; position:absolute; width:50%; height:35px; left:25%; bottom:5%; background:radial-gradient(ellipse,rgba(21,0,5,.55),transparent 70%); pointer-events:none }
#range-preview canvas { position:relative; display:block; width:100%; height:100%; touch-action:pan-y; outline-offset:-4px }
#range-preview img { display:block; width:100%; height:100%; object-fit:contain }
#range-preview img[hidden] { display:none }
.range-visual-caption { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:8px 8%; border-top:1px solid #ffffff55; font-size:10px; letter-spacing:.08em }
.range-visual-caption button { color:inherit; min-height:44px; border:0; background:none; font:inherit; cursor:pointer }
body[data-room-theme="home"] .product-chapter,body[data-room-theme="home"] .product-club {
  position:relative; display:flex; align-items:center; min-height:clamp(590px,60vw,800px); padding:7% 5%; isolation:isolate;
  background:linear-gradient(90deg,rgba(35,2,9,.91),rgba(35,2,9,.55) 40%,rgba(35,2,9,.05) 80%),url("assets/red-room-can-splash-v94.webp") center/cover;
}
body[data-room-theme="home"] .product-club { background-image:linear-gradient(90deg,rgba(35,2,9,.91),rgba(35,2,9,.60) 40%,rgba(35,2,9,.08) 80%),url("assets/lower-glass-v82.webp") }
body[data-room-theme="home"] .product-chapter-copy,body[data-room-theme="home"] .product-club .club-copy { padding:0; max-width:525px; position:relative; z-index:2 }
.product-chapter h2,.product-club h2 { font-size:clamp(54px,6.6vw,100px); line-height:.92; margin-top:24px }
.product-chapter-copy>p:not(.disclosure) { font-size:15px; line-height:1.75; max-width:380px; margin-top:24px }
.product-chapter-copy .line-link { margin-top:28px }.product-chapter-copy .disclosure { margin-top:26px }
body[data-room-theme="home"] :is(.closer-section,.range-section,.product-chapter,.mix-section,.product-club,.render-chapter,.vertical-callout)::before,
body[data-room-theme="home"] :is(.closer-section,.range-section,.product-chapter,.mix-section,.product-club,.render-chapter,.vertical-callout)::after { display:none }
/* Flavour page: actual room imagery runs edge to edge with type placed within the scene. */
body.info-page .flavour-scene { min-height:clamp(580px,60vw,800px) }
body.info-page .flavour-scene img,body.info-page .flavour-scene:nth-child(even) img {
  inset:0; width:100%; height:100%; object-fit:cover; -webkit-mask-image:none; mask-image:none;
  -webkit-mask-composite:initial; mask-composite:initial;
}
body.info-page .flavour-scene::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(30,2,8,.91),rgba(30,2,8,.47) 42%,transparent 80%); z-index:0; pointer-events:none }
body.info-page .flavour-scene:nth-child(even)::after { background:linear-gradient(270deg,rgba(30,2,8,.91),rgba(30,2,8,.5) 42%,transparent 80%) }
body.info-page .flavour-copy { text-shadow:0 2px 20px #200008 }
/* Supporting product pages. */
body.product-page { background:#30030b; color:#fff6e9; overflow-x:clip }
body.product-page .site-header { position:absolute; color:#fff6e9 }
.product-page .world-scene { min-height:clamp(630px,67vw,880px); display:flex; align-items:center; padding:120px 5% 70px; background-position:center; background-size:cover; position:relative; isolation:isolate }
.product-page .world-scene::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(32,2,9,.9),rgba(32,2,9,.58) 38%,rgba(32,2,9,.05) 78%) }
.product-page .scene-can { background-image:url("assets/lower-original-can-v82.webp") }
.product-page .scene-ice { background-image:url("assets/red-room-can-splash-v94.webp") }
.product-page .scene-glass { background-image:url("assets/lower-glass-v82.webp") }
.product-page .world-copy { max-width:630px }
.product-page .world-copy h1,.product-page .world-copy h2,.product-page .world-intro h2,.product-page .world-outro h2 { margin-top:22px; font-size:clamp(52px,7.1vw,108px); line-height:.9; letter-spacing:-.055em }
.product-page .world-copy p,.product-page .world-intro p,.product-page .world-outro p { max-width:460px; font-size:15px; line-height:1.8; margin-top:25px }
.product-page .line-link { margin-top:30px }
.product-page .world-intro,.product-page .world-outro { padding:110px 5%; min-height:500px; background:linear-gradient(90deg,rgba(40,2,10,.91),rgba(45,2,10,.48)),url("assets/red-room-continuation-v81.webp") center/cover }
.product-page .world-outro>div { display:flex; flex-wrap:wrap; gap:24px; margin-top:32px }
.product-page .world-outro>div a { border-bottom:1px solid #fff8; min-height:44px; display:inline-flex; align-items:center; font-size:12px }
.product-page .world-outro .disclosure { font-size:10px; opacity:.7 }
.product-page .product-footer { padding:65px 5% 35px; background:#29030a }
.product-footer img { width:min(50vw,340px); height:auto; margin-bottom:45px }
.product-footer nav { display:flex; flex-wrap:wrap; gap:12px 28px; border-top:1px solid #fff4; padding-top:24px }
.product-footer nav a { font-size:12px; min-height:44px; display:flex; align-items:center }
.product-footer p { font-size:10px; max-width:800px; line-height:1.8; opacity:.7 }
@media(max-width:700px) {
 body[data-room-theme="home"] .cinema-stage { min-height:720px; align-items:flex-end; padding:50px 5% }
 body[data-room-theme="home"] .cinema-image-button::after { background:linear-gradient(0deg,rgba(34,2,9,.95),rgba(34,2,9,.2) 78%) }
 body[data-room-theme="home"] .cinema-image-button img { object-position:74% center }
 body[data-room-theme="home"] .cinema-copy { width:100%; max-width:440px }
 body[data-room-theme="home"] .cinema-view { bottom:49% }
 body[data-room-theme="home"] #range { padding:58px 5% 55px; background-size:cover; background-position:67% center }
 body[data-room-theme="home"] #range .range-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:"heading" "image" "copy"; gap:0 }
 body[data-room-theme="home"] #range .range-heading { padding:0 0 10px }
 body[data-room-theme="home"] #range .range-heading h2 { font-size:clamp(46px,12vw,70px) }
 body[data-room-theme="home"] #range .range-copy { padding:25px 0 0 }
 #range-preview { height:460px }
 .range-visual-caption { padding-inline:0 }
 body[data-room-theme="home"] .product-chapter,body[data-room-theme="home"] .product-club { min-height:670px; align-items:flex-end; padding:50px 5%; background-position:74% center; background-size:cover }
 body[data-room-theme="home"] .product-chapter { background-image:linear-gradient(0deg,rgba(35,2,9,.96),rgba(35,2,9,.14) 85%),url("assets/red-room-can-splash-v94.webp") }
 body[data-room-theme="home"] .product-club { background-image:linear-gradient(0deg,rgba(35,2,9,.96),rgba(35,2,9,.14) 85%),url("assets/lower-glass-v82.webp") }
 .product-chapter h2,.product-club h2 { font-size:clamp(48px,12vw,74px) }
 body.info-page .flavour-scene { min-height:680px }
 body.info-page .flavour-scene img,body.info-page .flavour-scene:nth-child(even) img { object-position:72% center; -webkit-mask-image:none; mask-image:none }
 body.info-page .flavour-scene::after,body.info-page .flavour-scene:nth-child(even)::after { background:linear-gradient(0deg,rgba(35,2,9,.94),rgba(35,2,9,.12) 85%) }
 .product-page .world-scene { min-height:700px; align-items:flex-end; padding:130px 5% 65px; background-position:74% center }
 .product-page .world-scene::before { background:linear-gradient(0deg,rgba(32,2,9,.96),rgba(32,2,9,.18) 85%) }
 .product-page .world-copy h1,.product-page .world-copy h2,.product-page .world-intro h2,.product-page .world-outro h2 { font-size:clamp(42px,11vw,70px) }
 .product-page .world-intro,.product-page .world-outro { min-height:430px; padding:75px 5% }
}
@media(prefers-reduced-motion:reduce) { #range-preview canvas { scroll-behavior:auto } }

@media(max-width:700px) {
 body.product-page .site-header nav>a:not(.club-nav) { display:none }
 body.product-page .site-header nav { gap:9px }
 body.product-page .club-nav { white-space:nowrap; padding-inline:10px }
}
.range-drag-hint { color:#fff9; white-space:nowrap; font-size:9px }
@media(max-width:420px) { .range-drag-hint { font-size:8px; letter-spacing:0 } }
