/* A photographic visit, from the entrance to the selected terroir. */
.cave-experience{min-height:780px;background:#171712}
.cave-experience .cave-stage,.cave-experience[data-state='shelf'] .cave-stage{inset:0;opacity:1;height:auto;z-index:0}
.cave-experience:after{opacity:.025;z-index:1}
.journey-world{position:absolute;inset:-12px;overflow:hidden;transform:translate(var(--pan-x,0),var(--pan-y,0)) scale(var(--travel-scale,1));transition:transform 1.6s cubic-bezier(.2,.7,.2,1);will-change:transform}
.journey-room-photo{width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.8) brightness(.88);transition:filter 1.2s;display:block}
.journey-shade{position:absolute;inset:0;background:linear-gradient(90deg,#11170fef 0%,#10170fc9 22%,#11170f33 53%,#11170f11 75%),linear-gradient(0deg,#10150ff7 0%,transparent 35%,#11170f55 100%)}
.journey-light{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 20%,#ffd9a02a,transparent 50%);mix-blend-mode:screen;animation:journey-breathe 12s ease-in-out infinite alternate}
.cave-intro{top:17%;left:5%;width:43%}.cave-page .cave-intro h1{font-size:clamp(44px,5.5vw,82px);line-height:1.06;letter-spacing:-.045em}.cave-intro-copy{max-width:310px;font-size:13px;color:#d0d1c4}.cave-intro-rule{margin:24px 0}.cave-instruction{display:none}.cave-list-link{margin-top:20px}
.cave-bottom{left:5%;right:5%;padding-bottom:27px}.cave-bottom-heading{color:#d1c9b4}.cave-categories{background:#192019bd;border-color:#e6d4af4a;border-radius:5px}.cave-categories a{min-height:83px;padding:20px 15px;font-size:12px}.cave-category-number{color:#d3b681}.cave-categories a:hover{background:#c4aa7e}
.cave-search-wrap{right:5%;top:27px}.cave-scene-tools{bottom:155px;right:5%;background:#171e16b8}.cave-scene-caption{display:none}
.journey-breadcrumb{position:absolute;top:36px;left:5%;z-index:8;display:flex;align-items:center;gap:13px;color:#f0e5cf;font-size:11px;max-width:55%;flex-wrap:wrap}.journey-breadcrumb button{border:0;border-bottom:1px solid #dfd3b44d;background:none;padding:4px 0;font-size:11px}.journey-breadcrumb>span{color:#b2b7a5}.journey-breadcrumb #journey-current{color:#f0e5cf}
.journey-heading{position:absolute;left:5%;top:125px;z-index:4;pointer-events:none}.cave-page .journey-heading h1{font:400 clamp(42px,5vw,70px)/1.1 'Fraunces',serif;margin:12px 0 17px;outline:none}.journey-heading>p:last-child{font-size:12px;color:#dedfce}
.cave-experience[data-state='room'] .cave-intro{opacity:0;visibility:hidden}.cave-experience[data-state='room'] .journey-shade{background:linear-gradient(180deg,#10160fc9 0%,#10160f35 35%,#10160f00 60%,#10160ff2 100%)}
.journey-regions{position:absolute;left:6%;right:6%;top:37%;bottom:25%;display:flex;align-items:end;gap:13px;z-index:4;perspective:900px}
.cave-page .journey-region{position:relative;flex:1;min-width:0;min-height:170px;display:flex;flex-direction:column;justify-content:end;text-align:left;padding:19px 15px;border:1px solid #fff9;border-radius:4px;background:linear-gradient(0deg,#121a12ed,#121a1200 90%);box-shadow:0 0 0 4px #ffffff04,inset 0 0 40px #fcebd309;backdrop-filter:blur(1px);transition:transform .45s,background .45s,box-shadow .45s;animation:journey-arrive .8s both;animation-delay:calc(var(--index)*60ms);color:#fff9e5}
.journey-region:before{content:'+';position:absolute;top:15px;right:15px;width:24px;height:24px;display:grid;place-items:center;border:1px solid #fff8;border-radius:50%;font-size:18px}.journey-region:hover,.journey-region:focus-visible{transform:translateY(-12px);background:linear-gradient(0deg,#b9965bd9,#151b1233);box-shadow:0 12px 30px #0006,inset 0 0 40px #ffe8b522}.journey-region-number{font:10px 'IBM Plex Mono',monospace;color:#e4c690;margin-bottom:auto}.journey-region strong{font:400 clamp(17px,1.6vw,24px)/1.2 'Fraunces',serif}.journey-region small{font-size:9px;line-height:1.5;margin-top:10px;color:#ebe4d4}.labels-muted .journey-region small{visibility:hidden}
.cave-experience[data-state='shelf'] .journey-room-photo{filter:blur(4px) brightness(.42) saturate(.65)}
.cave-experience[data-state='shelf'] .cave-shelf-panel{top:95px;bottom:145px;left:5%;width:340px;background:#171d16e8;backdrop-filter:blur(18px)}
.journey-cabinet{position:absolute;left:calc(5% + 385px);right:6%;top:115px;bottom:185px;max-width:850px;margin:auto;border:12px solid #282c27;border-top-width:18px;border-bottom-width:20px;border-radius:3px;background:linear-gradient(90deg,#151713,#242822 45%,#141712);box-shadow:0 30px 80px #0008,inset 0 0 45px #000b;z-index:3;perspective:1100px;animation:journey-arrive .8s both}
.journey-cabinet[data-material='wood']{border-color:#80603b;background:linear-gradient(#2e2115a8,#1d180f99),url('/images/cave/chene-naturel.webp') center/cover;box-shadow:0 20px 80px #0008,inset 0 0 60px #1d110acc}
.journey-cabinet-glow{position:absolute;inset:0;box-shadow:inset 0 8px 15px -8px #ffdd9d,inset 0 -4px 12px -7px #ffcf83;pointer-events:none}
.journey-bottles{height:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));padding:0 10px;gap:0 4px}
.cave-page .journey-bottle.cave-bottle-hotspot{position:relative;inset:auto;transform:none;pointer-events:auto;min-width:0;width:100%;height:100%;padding:12px 4px 37px;display:flex;justify-content:center;align-items:end;border:0;border-bottom:12px solid #6e5132;border-radius:0;background:transparent;box-shadow:0 5px 7px #0005;color:#efe7d2;white-space:normal}
.journey-bottle:after{content:'';position:absolute;bottom:-12px;left:-4px;right:-4px;height:12px;background:linear-gradient(#c19b66,#82623f 28%,#59422b);box-shadow:0 6px 15px #0009;pointer-events:none}
.journey-bottle img{display:block;position:relative;height:100%;max-height:235px;max-width:88%;width:auto;object-fit:contain;filter:drop-shadow(9px 5px 4px #0007);transition:transform .45s,filter .45s;z-index:1;transform-origin:bottom;}
.journey-bottle[data-packshot='false'] img{max-width:62%;border-radius:4px;box-shadow:0 5px 15px #0005}
.journey-bottle:hover img,.journey-bottle:focus-visible img{transform:translateY(-10px) rotate(-3deg) scale(1.06);filter:drop-shadow(12px 12px 9px #0009)}
.journey-bottle-halo{position:absolute;inset:5% 3% 8%;border-radius:50%;background:radial-gradient(ellipse,#ffe0a327,transparent 68%);opacity:0;transition:opacity .4s}.journey-bottle:hover .journey-bottle-halo{opacity:1}.journey-bottle-name{position:absolute;left:-5%;right:-5%;bottom:30px;text-align:center;font-size:9px;line-height:1.3;max-height:2.6em;overflow:hidden;background:#192017e8;z-index:2;padding:3px;opacity:0;transition:opacity .2s}.journey-bottle:hover .journey-bottle-name,.journey-bottle:focus-visible .journey-bottle-name{opacity:1}.journey-bottle-price{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);background:#e5d9bb;color:#282b20;padding:4px 8px;white-space:nowrap;border-radius:1px;font:10px 'IBM Plex Mono',monospace;z-index:2}.journey-bottle.is-lifted img{visibility:hidden}
.journey-empty{grid-column:1/-1;grid-row:1/-1;align-self:center;text-align:center;padding:30px;font:16px/1.8 'Fraunces',serif;color:#e8ddc4}
.cave-stage[data-view='cabinet'] .cave-shelf-pagination{display:flex;left:calc(50% + 175px);bottom:140px;z-index:4;background:#1a2118e8}.cave-stage:not([data-view='cabinet']) .cave-shelf-pagination{display:none}
.journey-dust{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}.journey-dust i{position:absolute;width:2px;height:2px;background:#ffe6b6;border-radius:50%;opacity:0;animation:journey-drift 20s linear infinite;box-shadow:0 0 4px #fff8}.journey-paused *{animation-play-state:paused!important}
.journey-extracted{position:fixed;object-fit:contain;z-index:90;pointer-events:none;filter:drop-shadow(10px 15px 12px #0009)}
@keyframes journey-drift{0%,100%{opacity:0;transform:translate(0,25px)}30%,65%{opacity:.35}90%{transform:translate(45px,-90px)}}
@keyframes journey-breathe{to{opacity:.5;transform:scale(1.08)}}
@keyframes journey-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1150px) and (min-width:801px){.cave-experience[data-state='shelf'] .cave-shelf-panel{width:290px}.journey-cabinet{left:calc(5% + 315px);right:4%}.journey-region{padding:14px 10px!important}.journey-regions{gap:8px}.journey-region strong{font-size:18px}.cave-categories a{padding:17px 9px;font-size:10px}}
@media(max-width:800px){
 .cave-experience{min-height:840px;height:calc(100svh - 115px)}.cave-experience[data-state='shelf']{min-height:1160px}
 .cave-intro{top:120px;left:24px;width:calc(100% - 48px)}.cave-page .cave-intro h1{font-size:53px;max-width:350px;margin-top:18px}.cave-intro-copy{max-width:290px;font-size:12px}.cave-intro-rule{display:none}.cave-list-link{margin-top:18px}
 .journey-shade{background:linear-gradient(90deg,#11170fe3,#11170f30),linear-gradient(0deg,#11170f 0%,transparent 45%)}.journey-room-photo{object-position:60% center}
 .cave-bottom{left:24px;right:24px;padding-bottom:20px}.cave-categories a{min-height:55px;padding:13px 7px;font-size:9px}.cave-bottom-heading{font-size:7px}
 .cave-search-wrap{left:24px;right:24px;top:22px;width:auto}.cave-scene-tools{right:24px;bottom:163px}
 .journey-breadcrumb{top:83px;left:24px;right:24px;max-width:none;font-size:10px;gap:9px}.journey-breadcrumb button{font-size:10px}
 .journey-heading{top:145px;left:24px;right:24px}.cave-page .journey-heading h1{font-size:42px}.journey-heading>p:last-child{font-size:11px}
 .journey-regions{left:24px;right:24px;top:290px;bottom:205px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch;overflow-y:auto;padding:4px;scrollbar-width:thin}
 .cave-page .journey-region{min-height:110px;padding:12px}.journey-region strong{font-size:20px}.journey-region small{font-size:8px;margin-top:6px}.journey-region:before{top:10px;right:10px;width:20px;height:20px}.journey-region-number{font-size:8px;margin-bottom:15px}
 .cave-experience[data-state='shelf'] .cave-stage{inset:0;height:auto}.cave-experience[data-state='shelf'] .cave-shelf-panel{left:24px;right:24px;top:610px;bottom:163px;width:auto}
 .journey-cabinet{left:24px;right:24px;top:155px;bottom:auto;height:390px;border-width:9px}
 .journey-bottles{padding:0 5px;gap:0 2px}.cave-page .journey-bottle.cave-bottle-hotspot{padding:12px 2px 32px}.journey-bottle img{max-width:94%;max-height:138px}.journey-bottle-price{font-size:8px;padding:4px 5px}.journey-bottle-name{display:none}
 .cave-stage[data-view='cabinet'] .cave-shelf-pagination{left:50%;top:557px;bottom:auto}.cave-experience[data-state='shelf'] .cave-scene-tools{top:118px;bottom:auto;right:24px}
 .cave-experience[data-state='shelf'] .journey-shade{background:#12170f99}.cave-experience[data-state='room'] .journey-shade{background:linear-gradient(#11170fb8,transparent 80%,#11170f)}
}
@media(prefers-reduced-motion:reduce){.journey-world{transition:none;transform:none}.journey-light,.journey-dust{animation:none;display:none}.journey-region,.journey-cabinet{animation:none}.journey-bottle img{transition:none}}
.journey-bottle .journey-packshot{display:block;position:relative;height:100%;max-height:235px;max-width:88%;width:auto;object-fit:contain;filter:drop-shadow(9px 5px 4px #0007);transition:transform .45s,filter .45s;z-index:1;transform-origin:bottom}
.journey-bottle:hover .journey-packshot,.journey-bottle:focus-visible .journey-packshot{transform:translateY(-10px) rotate(-3deg) scale(1.06)}.journey-bottle.is-lifted .journey-packshot{visibility:hidden}
@media(max-width:800px){.journey-bottle .journey-packshot{max-width:94%;max-height:138px}}

/* A named catalogue card when only a whole-room photograph is available. */
.journey-reference{align-self:center;max-width:115px;padding:24px 12px;border:1px solid #cfb88970;border-radius:2px;background:#1d251beb;color:#eadfc3;font:14px/1.4 'Fraunces',serif;box-shadow:6px 8px 15px #0005}
.journey-reference:after{content:'EXAMINER ↗';display:block;margin-top:18px;font:8px 'IBM Plex Mono',monospace;letter-spacing:.1em;color:#c9ad75}
@media(max-width:800px){.journey-reference{padding:12px 5px;font-size:10px}.journey-reference:after{font-size:6px;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.journey-bottle .journey-packshot{transition:none}}

.journey-cabinet:before,.journey-cabinet:after{content:'';position:absolute;top:0;bottom:0;width:50%;z-index:5;pointer-events:none;border:1px solid #e7d3a959;background:linear-gradient(115deg,#ffffff18,transparent 38%,#ffffff07 60%,transparent);backdrop-filter:blur(2px);animation:journey-door-left 1.1s cubic-bezier(.2,.7,.2,1) both}
.journey-cabinet:before{left:0;transform-origin:left center}.journey-cabinet:after{right:0;transform-origin:right center;animation-name:journey-door-right}
@keyframes journey-door-left{0%,15%{transform:rotateY(0);opacity:1}85%,100%{transform:rotateY(-115deg);opacity:0}}
@keyframes journey-door-right{0%,15%{transform:rotateY(0);opacity:1}85%,100%{transform:rotateY(115deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.journey-cabinet:before,.journey-cabinet:after{display:none}}
