/* WILDFLOWER / FUTURE EDITION v2 — Progressive, photo-first interaction layer.
   All actual photography remains referenced by its original HTML elements. */
:root{--future-ink:#131c1a;--future-forest:#1c302a;--future-gold:#e0cba9;--future-mint:#c8ead8;--future-ease:cubic-bezier(.16,1,.3,1)}
body{background:#f9f8f4!important}
body::before{content:'';position:fixed;z-index:101;inset:0;pointer-events:none;opacity:.1;background:repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(20,39,32,.035) 5px);mix-blend-mode:multiply}
.reading-progress{height:3px;background:linear-gradient(90deg,#799b8b,#e1c596,#e9e3d3)}
/* Navigation: sharper glass material, visible and calm. */
.site-nav{background:rgba(244,246,240,.85)!important;border:1px solid rgba(255,255,255,.73)!important;box-shadow:0 14px 55px rgba(16,31,28,.13),inset 0 1px 0 rgba(255,255,255,.45)!important}
.site-nav::before{content:'';position:absolute;inset:5px;border:1px solid rgba(116,133,115,.10);border-radius:999px;pointer-events:none}
.site-nav .nav-logo,.site-nav .logo{font-family:var(--wf-serif)!important;letter-spacing:-.045em!important}
.site-nav .button{background:#21332e!important;border-color:#21332e!important;color:#f9f7f2!important}
.site-nav .button::before{background:#d4bf9d!important}
.site-nav .button:hover{color:#18241f!important}
/* Distinctly dimensional hero, with actual WebGL geometry on top of ambient light. */
.hero,.page-hero{background-color:#14201c!important;background-blend-mode:normal!important}
.hero::before,.page-hero::before{background:linear-gradient(92deg,rgba(8,19,18,.88) 0%,rgba(11,27,24,.79) 39%,rgba(13,29,25,.36) 70%,rgba(9,24,21,.57) 100%),radial-gradient(ellipse 50% 70% at 75% 43%,rgba(83,131,115,.3),transparent 78%)!important;z-index:0!important}
.hero::after,.page-hero::after{content:'';position:absolute;z-index:1;width:min(44vw,620px);height:min(76vh,760px);right:8.2%;top:13%;border-radius:46% 46% 46% 46% / 50% 50% 50% 50%;border:1px solid rgba(215,239,224,.14);background:linear-gradient(135deg,rgba(139,193,165,.12),rgba(17,34,31,.04) 38%,rgba(242,210,168,.09)),radial-gradient(ellipse at 38% 34%,rgba(210,255,223,.12),transparent 60%);box-shadow:inset 0 0 100px rgba(213,253,218,.07),0 0 150px rgba(96,155,127,.10),0 2px 90px rgba(0,0,0,.20);transform:perspective(1200px) rotateY(-17deg) rotateZ(10deg);pointer-events:none;animation:futureLens 14s ease-in-out infinite alternate}
@keyframes futureLens{0%{transform:perspective(1200px) rotateY(-17deg) rotateZ(10deg) translateY(0)}100%{transform:perspective(1200px) rotateY(-11deg) rotateZ(14deg) translateY(-18px)}}
.hero-stage{z-index:2!important}
.hero-stage::before{content:'';position:absolute;z-index:-1;right:6%;top:9%;width:min(53vw,770px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(201,244,215,.32) 0%,rgba(77,152,125,.21) 21%,rgba(39,112,92,.09) 43%,transparent 67%);filter:blur(25px);opacity:1;animation:futureGlow 9s ease-in-out infinite alternate}
.hero-stage::after{content:'';position:absolute;right:8%;top:11%;width:min(45vw,640px);aspect-ratio:1;opacity:.72;border-radius:50%;border:1px solid rgba(219,244,230,.38);box-shadow:0 0 45px rgba(185,239,207,.15),inset 0 0 40px rgba(193,238,206,.14);transform:rotateX(62deg) rotateY(-27deg);animation:futureOrbit 28s linear infinite}
@keyframes futureGlow{to{opacity:.75;transform:translate(2%,-5%) scale(1.14)}}
@keyframes futureOrbit{to{transform:rotateX(62deg) rotateY(-27deg) rotateZ(360deg)}}
.hero-stage canvas{right:-3%!important;top:0!important;width:min(65vw,1000px)!important;height:100%!important;opacity:1!important;filter:brightness(1.65) saturate(1.45) drop-shadow(0 0 23px rgba(185,232,204,.43))!important}
.hero-orbit-fallback{border-color:rgba(208,255,224,.75)!important;box-shadow:0 0 50px rgba(167,231,199,.26),inset 0 0 65px rgba(202,239,209,.14)!important}
.hero-light{background:radial-gradient(ellipse 43% 48% at var(--light-x,74%) var(--light-y,43%),rgba(174,235,200,.17),transparent 80%)!important}
.hero-inner,.page-hero-content{z-index:5!important}
.hero .kicker,.page-hero .eyebrow{display:flex;align-items:center;gap:11px!important;color:#cbe2d0!important;letter-spacing:.32em!important}
.hero .kicker::before,.page-hero .eyebrow::before{content:'';width:7px;height:7px;background:#a7d1b2;border-radius:50%;box-shadow:0 0 0 5px rgba(171,227,184,.1),0 0 21px rgba(190,250,203,.65)}
.hero h1{font-size:clamp(5rem,10.5vw,11rem)!important;text-shadow:0 20px 68px rgba(0,0,0,.31)}
.hero h1::after{background:linear-gradient(90deg,#f0d9b5,transparent);width:130px;height:2px}
.hero p,.page-hero p{color:rgba(247,252,246,.86)!important}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:31px}
.hero-actions .button{margin-top:0!important;background:#e9dac2!important;border:1px solid #f6e1c5!important;color:#1d3028!important;font-weight:700}
.hero-actions .button:hover{background:transparent!important;color:#fff!important}
.hero-actions .button::before{background:#213b33!important}
.hero-actions .button:hover{color:#fff!important}
.hero-actions .ghost-route{display:inline-flex;align-items:center;gap:15px;min-height:54px;padding:0 20px;border:1px solid rgba(221,244,230,.35);border-radius:999px;color:#f2f7ed;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(165,212,188,.07);backdrop-filter:blur(8px);transition:background .3s,transform .3s}
.ghost-route:hover{background:rgba(181,227,196,.23);transform:translateY(-2px)}
.ghost-route span{font-size:1rem}
.future-hero-index{position:absolute;z-index:5;right:max(7vw,28px);top:26%;writing-mode:vertical-rl;color:rgba(235,254,244,.65);font-size:.61rem;letter-spacing:.22em;text-transform:uppercase;display:flex;gap:20px;align-items:center}
.future-hero-index::before{content:'';width:1px;height:82px;background:linear-gradient(#c3f4d2,transparent)}
.hero-edge{border-color:rgba(199,234,212,.28)!important;color:rgba(234,250,239,.8)!important}
.future-aura{position:absolute;z-index:1;left:-12%;bottom:-50%;width:80vw;aspect-ratio:1;background:radial-gradient(circle,rgba(75,147,117,.25),transparent 59%);filter:blur(80px);pointer-events:none}
/* Unifying secondary sections: futuristic editorial, never nightclub UI. */
.intro{background:linear-gradient(125deg,#f2f4ef 2%,#e8efe7 63%,#e7e6da 100%)!important}
.intro::after{content:'EST. IN MOMENTS';position:absolute;right:6vw;top:37px;font-size:.62rem;letter-spacing:.2em;color:#718a7d}
.portfolio{background:radial-gradient(ellipse 45% 44% at 82% 0%,rgba(169,204,184,.26),transparent 90%),#fafaf7!important}
.portfolio .sectionhead{position:relative}
.portfolio .sectionhead::after{content:'INTERACTIVE COLLECTIONS / 01—05';position:absolute;right:0;bottom:-23px;font-size:.6rem;letter-spacing:.22em;color:#789285}
.portfolio-card{border:1px solid rgba(242,246,237,.35);border-radius:10px!important;box-shadow:0 34px 55px rgba(11,34,23,.14)!important;overflow:hidden}
.portfolio-card::before{inset:12px;border-radius:5px;border-color:rgba(222,255,228,.44)!important}
.portfolio-card::after{background:linear-gradient(180deg,rgba(10,34,28,.13),transparent 37%,rgba(5,17,14,.88) 100%)!important}
.portfolio-card:hover{box-shadow:0 45px 80px rgba(22,46,34,.24)!important}
.portfolio-card-content span{color:#d6e9db!important;letter-spacing:.17em!important}
.portfolio-view{width:88px!important;height:88px!important;border-color:rgba(237,251,239,.72)!important;backdrop-filter:blur(15px);background:rgba(255,255,255,.11);text-transform:uppercase;letter-spacing:.14em}
.portfolio-card:nth-child(2){transform-origin:40% 20%}
.portfolio-card:nth-child(4){transform-origin:70% 80%}
.services{background:radial-gradient(ellipse at 80% 12%,rgba(54,112,80,.26),transparent 58%),#152922!important}
.service-list{border-color:rgba(203,231,207,.16)!important}
.service-row{border-color:rgba(203,231,207,.14)!important}
.service-row:hover{background:rgba(201,255,214,.065)!important}
.about{background:#f2f5ef!important}
.about-image-wrap{box-shadow:28px 28px 0 -10px rgba(153,186,155,.24);border-color:#bccbbf!important}
.quote{background:linear-gradient(120deg,#e4ece5,#f2f0e7)!important}
.contact{background:linear-gradient(135deg,#f8f9f6,#e6eee8)!important}
.contact-form{border-radius:15px;box-shadow:0 40px 100px rgba(26,53,38,.13)!important}
.contact-form .submit{background:#234333!important;border-radius:4px}
/* Sightline progress and honest conversion route. */
.visitor-dock{position:fixed;z-index:970;right:23px;bottom:22px;display:flex;gap:4px;align-items:center;background:rgba(22,39,33,.91);border:1px solid rgba(210,241,222,.28);border-radius:999px;padding:7px;box-shadow:0 18px 60px rgba(8,29,21,.26);backdrop-filter:blur(20px);transform:translateY(150%);opacity:0;pointer-events:none;transition:transform .65s var(--future-ease),opacity .4s}
.visitor-dock.is-active{opacity:1;pointer-events:auto;transform:translateY(0)}
.visitor-dock .dock-journey{padding:0 15px;color:#c6e6d3;font-size:.59rem;letter-spacing:.14em;text-transform:uppercase;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.visitor-dock a{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:0 17px;border-radius:999px;color:#f4f9f1;text-transform:uppercase;font-size:.61rem;letter-spacing:.12em;transition:background .3s}
.visitor-dock a:hover{background:rgba(195,226,204,.15)}
.visitor-dock a.dock-primary{background:#d8ead6;color:#182e23}
.visitor-dock a.dock-primary:hover{background:#fff3db}
/* Portfolio: heading + sticky collection controls, gallery images remain in the same sequence. */
.page-hero{min-height:84svh!important}
.page-hero h1{font-size:clamp(5rem,10.4vw,10rem)!important;max-width:920px!important}
.page-hero::after{height:63vh;top:16%}
.category-nav{top:83px!important;box-shadow:0 11px 25px rgba(20,40,29,.05);scroll-padding-inline:5vw;background:rgba(248,251,247,.94)!important}
.category-nav a{transition:background .22s,transform .22s!important}
.category-nav a[aria-current='true']{background:#224738!important;border-color:#224738!important;box-shadow:0 5px 20px rgba(41,82,58,.17)}
.gallery-toolbar{position:relative;display:flex;gap:24px;align-items:center;justify-content:space-between;padding:32px 7vw;background:#e9f0e9;border-bottom:1px solid rgba(93,127,103,.16);color:#244133}
.gallery-toolbar::before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent 79px,rgba(65,125,97,.04) 80px);mask-image:linear-gradient(to right,transparent,#000 70%)}
.gallery-toolbar .toolbar-state{display:flex;align-items:center;gap:15px;min-width:0}
.gallery-toolbar .state-index{font:400 2.7rem var(--wf-serif);color:#729c83;line-height:1}
.gallery-toolbar .state-label{display:grid;gap:3px;min-width:0}
.gallery-toolbar .state-label span{font-size:.58rem;letter-spacing:.19em;text-transform:uppercase;color:#72907c}
.gallery-toolbar .state-label strong{font-weight:600;font-size:.76rem;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toolbar-controls{display:flex;gap:9px;flex-shrink:0}
.toolbar-controls button{display:inline-flex;align-items:center;justify-content:center;gap:11px;border:1px solid rgba(51,92,66,.29);border-radius:999px;min-height:42px;background:rgba(255,255,255,.34);padding:0 17px;color:#274838;letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:700;cursor:pointer;transition:background .26s,transform .26s,color .26s}
.toolbar-controls button:hover{background:#f9fffa;transform:translateY(-2px)}
.toolbar-controls button[aria-pressed='true']{background:#244333;color:#edfff1;border-color:#244333}
.toolbar-controls .control-glyph{font-size:1rem;font-weight:400}
.gallery-section{padding-top:110px!important;background:#fafbf8!important;transition:background .4s,color .4s!important}
.gallery-section:nth-of-type(even){background:#eef3ee!important}
.gallery-section::before{background:linear-gradient(90deg,rgba(76,138,100,.65),rgba(76,138,100,.06))}
.gallery-number{color:#7b9b82!important}
.gallery-header h2{color:#1a2d24!important}
.gallery-header p{color:#657b6b!important}
.gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important;align-items:start!important}
.gallery-item{grid-column:span 4;background:#e5eae2!important;border:1px solid rgba(49,100,67,.12)!important;border-radius:9px;box-shadow:0 17px 30px rgba(15,42,25,.07)!important;transition:transform .5s var(--future-ease),box-shadow .5s var(--future-ease),border-color .5s!important}
.gallery-item:nth-child(6n+1){grid-column:span 5}
.gallery-item:nth-child(6n+2){grid-column:span 3}
.gallery-item:nth-child(6n+3){grid-column:span 4}
.gallery-item:nth-child(6n+4){grid-column:span 3}
.gallery-item:nth-child(6n+5){grid-column:span 5}
.gallery-item:nth-child(6n+6){grid-column:span 4}
.gallery-item::before{border-radius:5px;border:1px solid rgba(247,255,250,.62)!important}
.gallery-item::after{background:rgba(22,57,38,.8)!important;backdrop-filter:blur(14px);bottom:16px;left:16px;border:1px solid rgba(218,246,221,.15);border-radius:999px}
.gallery-item:hover{box-shadow:0 35px 64px rgba(14,51,32,.19)!important;border-color:rgba(84,161,106,.3)!important}
.gallery-item img{width:100%!important;height:auto!important;object-fit:contain!important;aspect-ratio:auto!important}
.gallery-footer .button:hover{background:#21432e!important}
/* Opt-in dark room: gallery palette changes; photo sources and order DO NOT. */
body.cinema-mode{background:#0b1613!important}
body.cinema-mode .category-nav{background:rgba(15,30,23,.95)!important;border-color:#264534!important;box-shadow:0 7px 28px rgba(0,0,0,.25)}
body.cinema-mode .category-nav a{color:#d7e7da!important;border-color:#385341!important}
body.cinema-mode .category-nav a[aria-current='true']{background:#cbe3cf!important;color:#153223!important}
body.cinema-mode .gallery-toolbar{background:#14261d;color:#e0f5e4;border-color:#35583e}
body.cinema-mode .gallery-toolbar .state-index{color:#9abda2}
body.cinema-mode .gallery-toolbar .state-label span{color:#8ca997}
body.cinema-mode .toolbar-controls button{color:#dbefdc;border-color:#46654e;background:#1a3727}
body.cinema-mode .toolbar-controls button[aria-pressed='true']{background:#cbe3cf;color:#153223}
body.cinema-mode .gallery-section,body.cinema-mode .gallery-section:nth-of-type(even){background:#0f1b16!important;color:#f3f5ed!important}
body.cinema-mode .gallery-section:nth-of-type(even){background:#14241c!important}
body.cinema-mode .gallery-header h2{color:#e8f3e7!important}
body.cinema-mode .gallery-header p{color:#b2c6b7!important}
body.cinema-mode .gallery-number{color:#a4c2a9!important}
body.cinema-mode .gallery-item{border-color:#34503c!important;background:#223126!important;box-shadow:0 25px 44px rgba(0,0,0,.3)!important}
body.cinema-mode .gallery-section::before{background:linear-gradient(90deg,#608d6b,transparent)}
body.cinema-mode .gallery-footer .button{border-color:#a7c3a9!important;color:#e9f4e8!important}
body.cinema-mode .gallery-footer .button::before{background:#d6e9d6!important}
body.cinema-mode .gallery-footer .button:hover{color:#193426!important}
/* Immersive full-screen gallery with real scrubbable, grouped photo thumbnails */
.photo-lightbox{grid-template-rows:72px minmax(0,1fr) 46px 112px!important;background:rgba(7,20,16,.98)!important}
.lightbox-top{border-color:rgba(172,225,181,.15)!important}
.lightbox-brand{font-weight:400}
.lightbox-caption{grid-row:3!important;justify-content:space-between!important;padding:0 clamp(20px,5vw,84px);color:#b5d8bc!important;border-top:1px solid rgba(172,225,181,.12)}
.lightbox-image-wrap{overflow:hidden}
.lightbox-image{border-radius:3px;box-shadow:0 12px 80px rgba(0,0,0,.55)!important}
.lightbox-rail{grid-column:1/-1;grid-row:4;display:flex;gap:9px;overflow-x:auto;overflow-y:hidden;padding:9px 25px 15px;scrollbar-width:thin;scrollbar-color:#6d9975 transparent;align-items:center;border-top:1px solid rgba(172,225,181,.17);scroll-snap-type:x proximity}
.lightbox-thumb{position:relative;flex:none;width:70px;height:74px;border:1px solid rgba(186,222,195,.22);border-radius:4px;background:#21362b;padding:3px;cursor:pointer;opacity:.57;transition:opacity .2s,transform .2s,border-color .2s;scroll-snap-align:center}
.lightbox-thumb img{width:100%;height:100%;object-fit:contain;display:block;border-radius:2px}
.lightbox-thumb:hover,.lightbox-thumb[aria-current='true']{opacity:1;border-color:#dcebc8;transform:translateY(-3px)}
.lightbox-thumb[aria-current='true']::after{content:'';position:absolute;top:-6px;left:18px;right:18px;height:2px;background:#dcebc8}
.photo-lightbox .lightbox-zoom{display:none}
/* Quick-jump overlay: discover collections without hunting through the long page */
.story-dialog{position:fixed;inset:0;z-index:2500;display:grid;place-items:center;padding:20px;background:rgba(7,21,16,.73);backdrop-filter:blur(16px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s}
.story-dialog.is-open{opacity:1;visibility:visible;pointer-events:auto}
.story-panel{position:relative;width:min(650px,100%);max-height:min(760px,calc(100svh - 40px));overflow-y:auto;padding:clamp(25px,4vw,45px);border:1px solid rgba(197,229,201,.45);border-radius:17px;background:linear-gradient(160deg,#1e3a2b,#11241b);color:#eff8ee;box-shadow:0 50px 150px rgba(0,0,0,.4)}
.story-panel::before{content:'';position:absolute;inset:9px;border:1px solid rgba(217,242,222,.11);border-radius:9px;pointer-events:none}
.story-panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
.story-panel .dialog-eyebrow{font-size:.61rem;letter-spacing:.24em;text-transform:uppercase;color:#b4d1b9}
.story-panel h2{font:400 clamp(2.8rem,5vw,4.8rem)/.95 var(--wf-serif);margin:18px 0 30px;letter-spacing:-.035em}
.story-close{width:43px;height:43px;border:1px solid #536e57;border-radius:50%;background:transparent;color:#f1f9ec;font-size:1.2rem;cursor:pointer}
.story-search{width:100%;min-height:54px;border:1px solid #6b8871!important;background:rgba(221,250,229,.085)!important;border-radius:8px;color:#f3fcf5!important;padding:0 18px;font-size:.86rem;outline-offset:2px}
.story-search::placeholder{color:#a7bcab}
.story-results{display:grid;gap:5px;margin-top:18px}
.story-result{display:flex;align-items:center;gap:17px;padding:14px 10px;border:0;border-bottom:1px solid rgba(199,231,207,.15);background:transparent;color:#eef6eb;text-align:left;cursor:pointer;transition:background .2s,padding-left .2s}
.story-result:hover,.story-result:focus-visible{background:rgba(213,245,224,.09);padding-left:19px}
.story-result .result-no{font:400 1.55rem var(--wf-serif);color:#aac6ab;width:35px}
.story-result .result-name{font:400 1.66rem var(--wf-serif);flex:1}
.story-result .result-arrow{color:#bed9bd}
.story-empty{padding:22px;color:#c2d3c3}
body.story-open{overflow:hidden}
/* Mobile-first fit: no content clipping, no 3D mouse effects on touch */
@media(max-width:1100px){.future-hero-index{right:4%}.hero::after,.page-hero::after{right:3%;width:55vw}.hero-stage canvas{right:-10%!important}.gallery-grid{gap:15px!important}}
@media(max-width:760px){
 .site-nav{background:rgba(243,247,240,.93)!important}
 .hero,.page-hero{min-height:100svh!important}
 .hero::before,.page-hero::before{background:linear-gradient(0deg,rgba(7,19,17,.9),rgba(7,19,17,.4) 80%),linear-gradient(90deg,rgba(9,25,20,.55),transparent)!important}
 .hero::after,.page-hero::after{width:78vw;height:38vh;right:-15%;top:16%;opacity:.75;transform:rotateZ(11deg)}
 .hero-stage::before{width:130vw;right:-48%;top:7%;opacity:.75}
 .hero-stage::after{width:95vw;right:-27%;top:10%;opacity:.5}
 .hero-stage canvas{width:115vw!important;height:64vh!important;right:-37%!important;top:1%!important;opacity:.7!important}
 .hero-inner,.page-hero-content{max-width:100%!important}
 .hero h1{font-size:clamp(4.9rem,16vw,8rem)!important}
 .future-hero-index{display:none}
 .hero-actions{align-items:flex-start;gap:10px}
 .hero-actions .button,.hero-actions .ghost-route{font-size:.6rem!important;min-height:49px;padding:0 15px!important}
 .visitor-dock{bottom:14px;left:13px;right:13px;justify-content:space-between}
 .visitor-dock .dock-journey{font-size:.55rem;max-width:110px;padding:0 9px}
 .visitor-dock a{padding:0 13px;min-height:38px;font-size:.58rem}
 .portfolio .sectionhead::after{left:0;right:auto;bottom:-31px}
 .gallery-toolbar{padding:18px 5vw;gap:10px}
 .gallery-toolbar .state-index{font-size:2.2rem}
 .gallery-toolbar .state-label strong{font-size:.65rem}
 .gallery-toolbar .state-label span{font-size:.52rem}
 .toolbar-controls button{padding:0 12px;font-size:.56rem;min-height:41px}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
 .gallery-item,.gallery-item:nth-child(n){grid-column:span 1!important}
 .gallery-item:nth-child(6n+1),.gallery-item:nth-child(6n+4){grid-column:span 2!important}
 .photo-lightbox{grid-template-rows:65px minmax(0,1fr) 38px 96px!important}
 .lightbox-rail{padding:7px 14px 10px;gap:7px}
 .lightbox-thumb{width:56px;height:63px}
}
@media(max-width:520px){
 .hero-actions .ghost-route{padding:0 10px!important}
 .hero-actions .button{padding:0 13px!important}
 .gallery-toolbar .state-label span{display:none}
 .toolbar-controls{gap:6px}
 .toolbar-controls button{font-size:0;padding:0 10px;min-width:43px}
 .toolbar-controls button .control-glyph{font-size:1.1rem}
 .gallery-grid{grid-template-columns:1fr!important}
 .gallery-item,.gallery-item:nth-child(n){grid-column:1!important}
 .photo-lightbox{grid-template-columns:40px minmax(0,1fr) 40px!important;grid-template-rows:61px minmax(0,1fr) 37px 89px!important}
 .lightbox-brand{font-size:1.1rem}
 .lightbox-thumb{height:58px;width:52px}
 .lightbox-caption{padding:0 14px;font-size:.55rem!important}
 .visitor-dock .dock-journey{display:none}
 .visitor-dock a{flex:1;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.hero::after,.page-hero::after,.hero-stage::before,.hero-stage::after{animation:none!important}.story-dialog,.visitor-dock{transition:none!important}}
/* Keep every original composition visible while avoiding disconnected whitespace
   caused by portraits/landscapes with wildly different native heights. */
.gallery-item,.gallery-item:nth-child(n){height:clamp(335px,36vw,550px);min-height:0;display:flex;align-items:center;justify-content:center}
.gallery-item img{width:100%!important;height:100%!important;object-fit:contain!important;aspect-ratio:auto!important}
.page-hero,.page-hero h1{color:#fff!important}
@media(max-width:760px){.gallery-item,.gallery-item:nth-child(n){height:clamp(300px,52vw,460px)}}
@media(max-width:520px){.gallery-item,.gallery-item:nth-child(n){height:auto;min-height:0}.gallery-item img{height:auto!important;max-height:none!important}}
/* Prevent off-screen filmstrip thumbnails and the 3D viewport from extending
   the layout width on small devices; keep their internal scrolling intact. */
html,body{max-width:100%;overflow-x:clip!important}
.photo-lightbox,.lightbox-rail,.category-nav{max-width:100vw;min-width:0}
.lightbox-rail{contain:layout paint}
@media(max-width:520px){
 .visitor-dock{left:auto;right:12px;width:auto;max-width:calc(100vw - 24px)}
 .visitor-dock a:not(.dock-primary){display:none}
 .visitor-dock .dock-primary{padding:0 22px}
}
