/* Finished render player: one deliberate gesture per transformation. */
.integrated-journey{height:100svh;min-height:620px;background:#000;scroll-margin-top:0;touch-action:pan-x}
.integrated-journey[hidden]{display:none}
.integrated-journey .journey-sticky{position:relative;height:100%;min-height:620px;background:#000}
.integrated-journey .journey-top{top:25px;left:5%;right:5%;align-items:center}
.integrated-journey .journey-top button{min-height:44px;font-size:16px}
.integrated-journey .render-stage{left:38%;right:3%;top:8%;bottom:17%;touch-action:pan-x}
.integrated-journey .render-stage video,.integrated-journey #film-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;pointer-events:none}
.integrated-journey .render-stage.has-rendered-film>#film-poster:not([hidden]){display:block}
.integrated-journey [hidden],.integrated-journey .render-stage [hidden]{display:none!important}
.integrated-journey .journey-copy{left:6%;top:29%;width:31%;z-index:2;pointer-events:none}
.integrated-journey .journey-copy h2{font-size:clamp(46px,5vw,82px);margin:20px 0 24px}
.integrated-journey .journey-copy p{font-size:16px;line-height:1.85;max-width:340px;color:#a5a69f}
.integrated-journey .journey-copy .eyebrow{color:#b6aa93;font-size:16px}
.integrated-journey .journey-controls{position:absolute;left:6%;bottom:125px;display:flex;gap:20px;align-items:center;z-index:5}
.journey-controls button{border:1px solid #ffffff30;border-radius:50%;width:44px;height:44px;font-size:19px;transition:border-color .2s}
.journey-controls button:hover{border-color:#baaa8c}
.journey-controls button:disabled{opacity:.35;cursor:wait}
#journey-hint{font-size:16px;letter-spacing:.04em;min-width:120px;text-align:center;color:#b5afa3}
.integrated-journey .chapter-nav{left:6%;right:6%;bottom:28px;gap:20px;z-index:5}
.integrated-journey .chapter-nav button{flex:1;min-width:0;min-height:44px;padding:0;text-align:left}
.integrated-journey .chapter-nav button::after{display:none}
.integrated-journey .chapter-nav i{height:1px;width:100%;display:block;background:#ffffff24;margin-bottom:12px}
.integrated-journey .chapter-nav .active i{background:#baaa8c}
.integrated-journey .chapter-nav span{font-size:16px;letter-spacing:.02em;position:static;clip:auto;width:auto;height:auto;white-space:normal;color:#8c8d86}
.integrated-journey .chapter-nav .active span{color:#eee8da}
.integrated-journey .render-note{left:6%;right:auto;bottom:88px;font-size:16px;color:#62665f;max-width:90%}
.integrated-journey .mineral-caption{left:6%;right:auto;bottom:195px;width:30%;text-align:left}
.integrated-journey .mineral-caption>span{font-size:25px}
.integrated-journey .mineral-caption small{font-size:16px;margin:0;max-width:300px}
.integrated-journey.showing-science .journey-copy{top:19%}
.integrated-journey .colour-study{left:41%;right:6%;bottom:100px;width:auto;text-align:center}
.integrated-journey .colour-study>span{font-size:22px}
.integrated-journey #colour-swatches{display:flex;justify-content:center;gap:2px;margin-top:7px;padding:3px 0;flex-wrap:nowrap;overflow-x:auto}
.integrated-journey #colour-swatches button{width:36px;height:36px;flex:0 0 36px;padding:10px;background:var(--swatch);background-clip:content-box;border:0;border-radius:50%;outline:none}
.integrated-journey #colour-swatches button[aria-pressed=true]{box-shadow:inset 0 0 0 1px #baaa8c}
.integrated-journey #colour-swatches button:focus-visible{outline:1px solid #baaa8c;outline-offset:0}
.integrated-journey .colour-study .colour-play{display:block;width:auto;height:34px;padding:4px 10px;margin:3px auto;background:none;border:0;border-radius:0;outline:0;text-decoration:underline;text-underline-offset:5px;font-size:16px}
.integrated-journey .colour-study small{display:block;font-size:16px;color:#777b73}
.integrated-journey.showing-colours .render-stage{bottom:29%;top:5%}
#film-status{position:absolute;left:40%;right:6%;top:70%;z-index:8;text-align:center;font-size:16px;color:#cbbda5}
@media(max-width:700px){
 .integrated-journey,.integrated-journey .journey-sticky{min-height:560px;height:100svh}
 .integrated-journey .journey-top{top:calc(8px + env(safe-area-inset-top,0px));left:6%;right:6%;gap:8px}
 .integrated-journey .journey-top button{font-size:16px}
 .integrated-journey .journey-counter{font-size:16px;letter-spacing:.08em}
 .integrated-journey .journey-copy,.integrated-journey.showing-science .journey-copy{top:10%;left:7%;width:86%}
 .integrated-journey .journey-copy h2{font-size:clamp(35px,10vw,48px);margin:9px 0 12px;line-height:.98}
 .integrated-journey .journey-copy p{font-size:16px;line-height:1.6;max-width:380px}
 .integrated-journey .journey-copy .eyebrow{font-size:16px}
 .integrated-journey .render-stage{top:32%;bottom:18%;left:0;right:0}
 .integrated-journey.showing-science .render-stage{top:30%;bottom:31%}
 .integrated-journey.showing-colours .render-stage{top:30%;bottom:35%}
 .integrated-journey .journey-controls{left:7%;right:7%;bottom:95px;justify-content:space-between;gap:8px}
 .integrated-journey .chapter-nav{left:7%;right:7%;bottom:calc(15px + env(safe-area-inset-bottom,0px));gap:8px}
 .integrated-journey .chapter-nav span{font-size:16px!important;letter-spacing:0}
 .integrated-journey .chapter-nav i{margin-bottom:9px}
 .integrated-journey .render-note{bottom:72px;left:7%;right:7%;font-size:16px;line-height:1.4}
 .integrated-journey .mineral-caption{left:7%;right:7%;bottom:150px;width:auto;text-align:center}
 .integrated-journey .mineral-caption>span{font-size:21px}
 .integrated-journey .mineral-caption p{font-size:16px;margin:2px 0}
 .integrated-journey .mineral-caption small{font-size:16px;margin:auto;max-width:340px;line-height:1.4}
 .integrated-journey .colour-study{left:5%;right:5%;bottom:147px;width:auto}
 .integrated-journey .colour-study>span{font-size:19px}
 .integrated-journey #colour-swatches{justify-content:safe center;gap:0}
 .integrated-journey #colour-swatches button{flex-basis:30px;width:30px;height:34px;padding:8px}
 .integrated-journey .colour-study small{display:none}
 .integrated-journey #journey-product{margin-top:3px;min-height:30px;font-size:16px;padding:4px 0}
 #film-status{top:56%;left:7%;right:7%;font-size:16px}
}
@media(max-width:700px) and (max-height:680px){
 .integrated-journey .journey-copy{top:10%}
 .integrated-journey .journey-copy h2{font-size:32px;margin:6px 0 8px}
 .integrated-journey .journey-copy p{font-size:16px;line-height:1.5}
 .integrated-journey .render-stage{top:34%;bottom:25%}
 .integrated-journey.showing-science .render-stage{top:32%;bottom:36%}
 .integrated-journey.showing-colours .render-stage{top:33%;bottom:40%}
 .integrated-journey .mineral-caption small{font-size:16px}
 .integrated-journey .mineral-caption>span{font-size:17px}
}
@media(min-width:701px) and (max-height:760px){.integrated-journey .journey-copy{top:23%}.integrated-journey .journey-copy h2{font-size:48px}.integrated-journey.showing-science .journey-copy{top:14%}.integrated-journey .mineral-caption{bottom:190px}.integrated-journey .mineral-caption small{font-size:16px}}
@media(max-width:700px){.integrated-journey #colour-swatches button{flex-basis:44px;width:44px;height:44px;padding:12px}.integrated-journey #colour-swatches{scroll-snap-type:x proximity}.integrated-journey #colour-swatches button{scroll-snap-align:center}}
@media(max-width:700px) and (max-height:680px){.integrated-journey.showing-colours #chapter-description{display:none}.integrated-journey.showing-colours .render-stage{top:30%;bottom:48%}.integrated-journey .colour-study>span{font-size:17px}.integrated-journey .colour-study{bottom:146px}}
/* Keep identical framing across all holds, films and information overlays. */
.integrated-journey .render-stage,.integrated-journey.showing-science .render-stage,.integrated-journey.showing-colours .render-stage{top:8%;bottom:29%;left:38%;right:3%}
.journey-choice{text-align:center}
#gallery-choice{display:flex;align-items:center;justify-content:center;gap:7px;font-size:16px;color:#8d9188}
#gallery-choice small{font-size:16px}
.journey-controls #journey-gallery{border:0;border-radius:0;width:auto;height:30px;padding:2px 0;font-size:16px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){
 .integrated-journey .render-stage,.integrated-journey.showing-science .render-stage,.integrated-journey.showing-colours .render-stage{top:32%;bottom:34%;left:0;right:0}
 .integrated-journey .chapter-nav span{font-size:16px!important}
}
@media(max-width:700px) and (max-height:680px){
 .integrated-journey .render-stage,.integrated-journey.showing-science .render-stage,.integrated-journey.showing-colours .render-stage{top:34%;bottom:45%;left:0;right:0}
}
/* Photography collection and full-size viewer. */
.collection-grid .card-visual{background:#060606;aspect-ratio:1.25;height:auto}
.collection-grid .card-visual>img{width:100%;height:100%;object-fit:contain}
.gallery-heading{margin-bottom:28px}
.gallery-heading h3{font:clamp(40px,5vw,66px)/1.05 var(--serif);margin:12px 0}
.gallery-heading>p:last-child{font-size:16px;color:#999e93}
.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 12px}
.gallery-filters button{border:1px solid #ffffff25;border-radius:30px;padding:9px 17px;font-size:16px;min-height:44px}
.gallery-filters button[aria-pressed=true]{border-color:#baaa8c;color:#eee2ca;background:#baaa8c12}
#gallery-count{font-size:16px;color:#8f9588;margin:12px 0 25px}
.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;scroll-margin-top:100px}
.gallery-tile{display:block;text-align:left;padding:0;min-width:0;overflow:hidden}
.gallery-tile img{display:block;width:100%;aspect-ratio:1.35;object-fit:contain;transition:transform .5s}
.gallery-tile:hover img{transform:scale(1.04)}
.gallery-tile span{display:block;padding:14px 16px;font:23px var(--serif)}
#gallery-dialog{position:fixed;width:min(1100px,96vw);max-width:96vw;max-height:94svh;padding:35px 30px 20px;border:1px solid #ffffff20;color:var(--ink);overflow:auto;margin:auto}
#gallery-dialog::backdrop{background:#000e}
#gallery-dialog figure{margin:0}
#gallery-full-image{display:block;width:100%;height:70svh;object-fit:contain}
#gallery-photo-title{text-align:center;font-size:16px;color:#b5b6ae;padding:12px 0}
.gallery-close{position:absolute;right:10px;top:5px;width:44px;height:44px;font-size:18px;z-index:2}
.gallery-photo-controls{display:flex;justify-content:center;align-items:center;gap:24px;font-size:16px}
.gallery-photo-controls button{width:44px;height:44px;border:1px solid #ffffff25;border-radius:50%}
@media(max-width:700px){
 .collection-tabs{gap:20px;overflow-x:auto;white-space:nowrap}
 .collection-tabs button{font-size:16px;flex-shrink:0}
 .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .gallery-filters{gap:7px}
 .gallery-filters button{padding:7px 12px;font-size:16px}
 .gallery-tile span{font-size:19px;padding:10px}
 #gallery-dialog{padding:40px 12px 16px}
 #gallery-full-image{height:60svh}
}
@media(min-width:681px) and (max-width:1100px){.header nav{gap:10px;font-size:16px}.header .brand{font-size:18px}}
/* Feather the actual square image, not the letterboxed player rectangle. */
.integrated-journey .render-stage,.stone-film-flight{container-type:size}
.integrated-journey .render-stage video,.integrated-journey .render-stage #film-poster,.stone-film-flight .stone-film{
 width:min(100cqw,100cqh);height:min(100cqw,100cqh);inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);
 -webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);
 mask-composite:intersect;
}

.integrated-journey .rotation-colour{position:absolute;top:calc(50% + min(42cqw,42cqh));left:0;right:0;margin:0;text-align:center;font:22px/1.3 var(--serif);color:#e6dfd0;pointer-events:none;z-index:3}
@media(max-width:700px){.integrated-journey .rotation-colour{font-size:18px}}
@media(max-width:700px) and (max-height:680px){.integrated-journey .rotation-colour{font-size:16px}}


.overview-actions{display:flex;flex-wrap:wrap;gap:12px 28px;margin:22px 0}
.overview-actions .text-link{font-size:16px;gap:18px}
.overview-specifications{margin:24px 0;border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;padding:16px 0}
.overview-specifications summary{cursor:pointer;font-size:16px;color:#c5bba6}
.overview-specifications dl{margin-bottom:0}
.overview-flight{z-index:5}
#product-dialog .dialog-copy>small{margin-top:20px}
@media(max-width:700px){.overview-actions{gap:10px 22px}.overview-actions .text-link{font-size:16px}}

/* Idle chapter countdown: circumference drains over 2 seconds. */
.journey-timing{display:flex;align-items:center;justify-content:center;gap:7px}
.journey-controls .journey-countdown{width:28px;height:28px;min-width:28px;padding:0;border:0;display:grid;place-items:center;color:#baaa8c;touch-action:manipulation}
.journey-countdown svg{display:block;width:28px;height:28px;transform:rotate(-90deg);overflow:visible}
.journey-countdown circle{fill:none;stroke:currentColor;stroke-width:1.5}
.journey-countdown .countdown-track{opacity:.2}
.journey-countdown .countdown-progress{stroke-dasharray:1;stroke-dashoffset:0;stroke-linecap:round}
.journey-controls .journey-countdown:focus-visible{outline:1px solid currentColor;outline-offset:4px}


body.in-journey main{overflow-anchor:none}
