/* The grid stays 3 × 2; Doku and GEEGI continuations use one native scrollport. */
:root{--scene-boundary-height:clamp(12px,1.2vh,26px);--boundary-gold:#b9a15b;--boundary-sea:#345875;--boundary-forest:#627655}
.viewport.product-scroll{overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:none;scroll-behavior:auto}
.viewport.product-scroll.is-detail-travel{scroll-behavior:auto!important;overflow-anchor:none}
.viewport.product-scroll::-webkit-scrollbar{display:none;width:0;height:0}
.viewport.product-scroll:focus{outline:none}
.scene-boundary{position:absolute;left:0;top:200dvh;width:300vw;height:var(--scene-boundary-height);display:grid;grid-template-columns:repeat(3,100vw);z-index:4;pointer-events:none}
.scene-boundary>span{display:block;width:100%;height:100%;min-width:0}
.scene-boundary>span:nth-child(1){background:var(--boundary-gold)}
.scene-boundary>span:nth-child(2){background:var(--boundary-sea)}
.scene-boundary>span:nth-child(3){background:var(--boundary-forest)}
.overview .scene-boundary{visibility:hidden}
.product-details{position:absolute;left:100vw;top:200dvh;width:100vw;min-height:100dvh;z-index:2;background:var(--paper,#f0e8d2);color:#594f3e;color-scheme:light;padding:calc(var(--scene-boundary-height) + clamp(110px,14vh,310px)) var(--gutter) clamp(100px,13vh,290px);line-height:1.7}
.product-details[data-product-scene="doku"],#doku-details{left:0}
.product-details[data-product-scene="diver"],#geegi-details{left:100vw}
.product-details[hidden]{display:none!important}
.product-details-inner{width:min(76vw,2600px);margin:0 auto}
.product-details h2{font-size:clamp(32px,3vw,100px);line-height:1.2;font-weight:400;margin:0 0 clamp(18px,2.5vh,60px);letter-spacing:-.025em}
.product-details h3{font-size:clamp(24px,2vw,68px);line-height:1.4;font-weight:400;margin:clamp(38px,6vh,130px) 0 clamp(20px,3vh,70px)}
.product-details p{font-size:clamp(16px,1.08vw,36px);max-width:58em;margin:0 0 1.5em}
.product-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(30px,5vw,190px);margin:clamp(38px,6vh,140px) 0}
.product-details dl>div{border-top:1px solid rgb(141 130 108/.36);padding:clamp(22px,3vh,72px) 0;min-width:0}
.product-details dt{font-size:clamp(15px,1vw,32px);margin-bottom:.4em}
.product-details dd{font-size:clamp(18px,1.3vw,44px);margin:0;color:#8d826c;overflow-wrap:anywhere}
.product-details table{width:100%;border-collapse:collapse;font-size:clamp(16px,1.08vw,36px);margin:clamp(38px,6vh,140px) 0}
.product-details th,.product-details td{text-align:left;vertical-align:top;font-weight:400;border-top:1px solid rgb(141 130 108/.36);padding:clamp(22px,3vh,72px) 0}
.product-details th{width:45%;padding-right:2em}.product-details td{color:#8d826c}
.product-details [data-return-surface]{background:transparent;border-bottom:1px solid currentColor;padding:12px 0;font-size:clamp(16px,1.05vw,34px);min-height:44px;color:#594f3e}
[data-open-details]{background:transparent;border-bottom:1px solid rgb(240 232 210/.5);padding:12px 0;min-height:44px;font-size:clamp(16px,1.05vw,34px);color:var(--paper);cursor:pointer}
.product-details :is(a,button):focus-visible{outline-color:#8d826c}
.product-details :is(h2,h3):focus{outline:none}
.product-detail-reading .site-header{background:var(--sky,#527391)}
.product-detail-controls .scene-controls{color:#594f3e}
.product-detail-controls .grid-icon i{border-color:#8d826c}
.product-detail-controls .mini-map button{background:rgb(141 130 108/.09);border-color:rgb(141 130 108/.4)}
.product-detail-controls .mini-map button[aria-current=true]{background:rgb(141 130 108/.52);border-color:#8d826c}
@media(max-width:760px){
  .product-details{padding:calc(var(--scene-boundary-height) + 140px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-left,0px)) calc(120px + env(safe-area-inset-bottom,0px))}
  .product-details-inner{width:100%;margin:0}
  .product-details h2{font-size:36px}.product-details h3{font-size:26px}
  .product-details p,.product-details table{font-size:16px}
  .product-details dl{grid-template-columns:1fr;gap:0;margin:40px 0}
  .product-details dt{font-size:15px}.product-details dd{font-size:20px}
  .product-details dl>div,.product-details th,.product-details td{padding:22px 0}
  .product-details th{padding-right:18px}
  .product-details [data-return-surface],[data-open-details]{font-size:16px}
}
