/* Shared wall, lighting and canvas materials for every public gallery page. */
html:has(body.gallery-site){background:#252925}
body.gallery-site{
 --paper:#252925;--ink:#eee9df;--muted:#bdc1b5;--green:#cbd3c0;--line:#eee9df29;
 --gallery-wall:linear-gradient(155deg,#252925 0%,#34362f 52%,#252b25 100%);
 --gallery-shadow:1px 2px 3px #080b0780,6px 12px 11px -3px #080b0799,16px 32px 32px -10px #080b0785;
 --gallery-light:radial-gradient(ellipse at 50% 28%,#f2eadc42 0%,#e6e2d52b 24%,#dce0ce10 48%,transparent 73%);
 background:var(--gallery-wall);color:var(--ink);isolation:isolate;color-scheme:dark;
}
body.gallery-site::before{
 content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
 background:url('/assets/gallery-wall-photo.jpg') center/cover no-repeat;
 opacity:.16;filter:grayscale(1) brightness(1.2);mix-blend-mode:normal;
}
body.gallery-site :is(main,.gallery-opening,.single-bloom-section,.narrative-painting,.narrative-artist,.narrative-records,.home-contact,.site-footer,.related,.world-chapter,.world-end,.reading-link,.gallery-welcome,.series-archive-link){background:transparent}
body.gallery-site #home-world{background:transparent;border:0}
body.gallery-site #single-blooms{background:transparent}
body.gallery-site :is(.artist-note,.critical-note){background:transparent}
body.gallery-site #home-world::before{content:none}
body.gallery-site .header{background:#252925f2;backdrop-filter:blur(18px);border-color:var(--line)}
body.gallery-site :is(.mobile-menu,.skip-link){background:#252925;color:var(--ink)}
body.gallery-site .site-footer{border-color:var(--line)}
body.gallery-site .footer-bottom{border-color:var(--line)}
body.gallery-site .cursor{display:none}
body.gallery-site ::selection{background:#cbd3c0;color:#252925}

/* The old page-specific halos and edge shadows no longer own the artwork. */
body.gallery-site :is(.salon-work,.collection-pair figure,.wall-bloom,.work-card,.home-work-preview figure,.narrative-painting figure,.opening-painting,.single-bloom-art)::before{content:none}
body.gallery-site .gallery-mount,
body.gallery-site .gallery-mount:hover{
 display:block;position:relative;width:100%;padding:0;background:transparent;
 box-shadow:none;outline:none;overflow:visible;aspect-ratio:auto;
}
body.gallery-site .gallery-mount:not(.opening-painting){transform:none}
body.gallery-site .gallery-mount::after{content:none}
body.gallery-site :is(.single-bloom-art,.wall-bloom>button)>span:not(.canvas-surface){display:none}
body.gallery-site .gallery-mount:focus-visible{outline:2px solid var(--green);outline-offset:8px}
body.gallery-site .gallery-hanging[data-gallery-hanging]{isolation:isolate}
body.gallery-site .gallery-hanging[data-gallery-hanging]:not(.series-stage):not(.detail-art){position:relative}
body.gallery-site .gallery-hanging[data-gallery-hanging]::before{
 content:"";position:absolute;pointer-events:none;z-index:-1;
 inset:-75px -16% -25px;border-radius:50%;background:var(--gallery-light);
 filter:blur(18px);mask-image:none;
}
body.gallery-site .gallery-installation[data-gallery-hanging]::before{inset:0 -8% 5%;filter:blur(24px)}

/* A near-frontal canvas, with restrained painted right and bottom returns. */
body.gallery-site .gallery-mount>.canvas-surface{
 --canvas-depth:14px;display:block;position:relative;inset:auto;width:100%;height:auto;
 min-height:0;max-height:none;padding:0;border:0;border-radius:0;background:transparent;color:inherit;
 transform-style:preserve-3d;transform:perspective(2600px) rotateX(2.2deg) rotateY(-4deg);
 box-shadow:var(--gallery-shadow);isolation:auto;
}
body.gallery-site .canvas-surface::before,body.gallery-site .canvas-surface::after{
 content:"";position:absolute;pointer-events:none;display:block;background-repeat:no-repeat;backface-visibility:hidden;
}
body.gallery-site .canvas-surface::before{
 left:100%;top:0;width:var(--canvas-depth);height:100%;
 background-image:linear-gradient(90deg,#0002,#0005),var(--canvas-image);
 background-size:100% 100%,var(--canvas-width) 100%;background-position:center,right top;
 transform:rotateY(90deg);transform-origin:left center;
}
body.gallery-site .canvas-surface::after{
 left:0;top:100%;width:100%;height:var(--canvas-depth);
 background-image:linear-gradient(#0005,#0008),var(--canvas-image);
 background-size:100% 100%,100% var(--canvas-height);background-position:center,left bottom;
 transform:rotateX(-90deg);transform-origin:center top;
}
body.gallery-site .canvas-surface>img{
 display:block;width:100%;height:auto;max-width:none;max-height:none;
 transform:none!important;box-shadow:none;filter:none;outline:none;
 backface-visibility:hidden;transition:none;object-fit:contain;
}
body.gallery-site .gallery-panel .canvas-surface{transform:none;--canvas-depth:5px}
body.gallery-site .gallery-mount>.canvas-surface[data-art-shape="round"]{border-radius:50%}
body.gallery-site .canvas-surface[data-art-shape="round"]::before,
body.gallery-site .canvas-surface[data-art-shape="round"]::after{display:none}
body.gallery-site .light-shadow-photo>a{box-shadow:var(--gallery-shadow);outline:none}

/* Detail pages use the same wall instead of an unrelated pale mounting board. */
body.gallery-site .detail-art{background:transparent;padding:35px 30px;min-height:0;overflow:visible}
body.gallery-site .detail-art .canvas-surface{width:min(100%,calc(clamp(280px,calc(100svh - 310px),760px) * var(--art-ratio,1)));margin-inline:auto}
body.gallery-site .detail-art>button[data-art-shape],body.gallery-site .detail-art>button{background:transparent;border-radius:0;filter:none}
body.gallery-site .detail-art>button>span:not(.canvas-surface){font:12px/1.8 var(--sans);color:var(--muted);margin-top:26px;display:block}
body.gallery-site .collection-card>div{height:auto;aspect-ratio:auto;overflow:visible;background:transparent}
body.gallery-site .collection-card>div>span:not(.canvas-surface){display:none}
body.gallery-site .catalog-series-panels{gap:8px}
body.gallery-site .bloom-wall,body.gallery-site .single-bloom-grid{column-gap:8px}

/* The same quiet wall labels, while editorial copy keeps its own hierarchy. */
body.gallery-site :is(.narrative-painting figure,.home-work-preview figure,.salon-work,.collection-pair figure)>figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-top:23px;padding-top:0;color:var(--muted);font:13px/1.8 var(--sans)}
body.gallery-site :is(.narrative-painting figure,.home-work-preview figure,.salon-work,.collection-pair figure)>figcaption>span:first-child,
body.gallery-site .work-caption h3{font:400 24px/1.3 var(--serif);letter-spacing:0;color:var(--ink)}
body.gallery-site .work-caption{margin-top:23px;padding-top:0}
body.gallery-site :is(.work-caption p,.work-year,.single-bloom-grid figcaption,.wall-bloom figcaption){font:12px/1.8 var(--sans);color:var(--muted)}
body.gallery-site .catalog-series .work-caption h3{font:11px/1.7 var(--sans);letter-spacing:.12em;color:var(--muted)}

/* Existing public editorial pages share the palette and the continuous wall. */
body.gallery-site :is(.bio-body,.note-body,.world-chapter,.world-editorial,.world-end,.reading-link,.gallery-welcome,.contact-layout,.exhibition-detail,.archive-entry,.series-archive-link){color:var(--ink)}
body.gallery-site :is(.bio-body>p,.note-body>p,.world-chapter p,.world-editorial p,.exhibition-detail p,.contact-layout p,.gallery-welcome p,.series-record-note,.chapter-number,.bio-location,.artist-portrait-detail figcaption,.artist-portrait figcaption){color:var(--muted)}
body.gallery-site :is(.bio-body .bio-lead,.note-body blockquote,.world-chapter h2,.world-editorial h2,.contact-layout h2,.archive-entry h2,.gallery-welcome h2){color:var(--ink)}
body.gallery-site .critical-note blockquote,
body.gallery-site .critical-note figcaption strong,
body.gallery-site .world-chapter .artist-voice-excerpt p{color:var(--ink)}
body.gallery-site :is(.critical-context,.critical-place,.critical-note figcaption,.world-process figcaption,.artist-voice-source,.kobe-artist-letter small,.cv-group p,.cv-group time,.artist-english,.press-meta,.press-meta time){color:var(--muted)}
body.gallery-site :is(.cv-group ol>li,.press-list,.press-list li){border-color:var(--line)}
body.gallery-site :is(.collection-toolbar input,.contact-layout select,.contact-layout textarea){background:#1b201d80;color:var(--ink);border-color:var(--line)}
body.gallery-site :is(.collection-toolbar input,.contact-layout textarea)::placeholder{color:var(--muted)}
body.gallery-site .solid-button{background:var(--green);color:#252925}

/* Original-image viewers share their materials; no perspective is applied here. */
body.gallery-site :is(.art-dialog,.series-dialog,.collection-viewer,.catalog-lightbox,.info-dialog){background:#1b201d;color:var(--ink)}
body.gallery-site :is(.art-dialog,.series-dialog,.collection-viewer,.catalog-lightbox,.info-dialog)::backdrop{background:#1b201df5}
body.gallery-site :is(.series-dialog h2,.series-dialog button,.series-dialog a,.series-position){color:var(--ink)}
body.gallery-site :is(.series-view button,.collection-view-stage button,.catalog-prev,.catalog-next){border:1px solid #eee9df55;background:#1b201d80;color:var(--ink);border-radius:50%;width:44px;height:44px}

@media(max-width:760px){
 body.gallery-site{--gallery-shadow:1px 2px 3px #080b0780,4px 9px 9px -3px #080b0790,11px 23px 23px -8px #080b077a}
 body.gallery-site .gallery-mount>.canvas-surface{--canvas-depth:10px}
 body.gallery-site .gallery-panel .canvas-surface{--canvas-depth:4px}
 body.gallery-site .gallery-hanging[data-gallery-hanging]::before{inset:-45px -10% -18px;filter:blur(14px)}
 body.gallery-site .gallery-installation[data-gallery-hanging]::before{inset:20px -4% 10%}
 body.gallery-site .detail-art{padding:20px 8px}
 body.gallery-site .catalog-series-panels{gap:6px}
 body.gallery-site .bloom-wall,body.gallery-site .single-bloom-grid{column-gap:6px}
 body.gallery-site :is(.narrative-painting figure,.home-work-preview figure,.salon-work,.collection-pair figure)>figcaption{margin-top:18px}
 body.gallery-site :is(.narrative-painting figure,.home-work-preview figure,.salon-work,.collection-pair figure)>figcaption>span:first-child,
 body.gallery-site .work-caption h3{font-size:22px}
}
@media(max-width:900px){body.gallery-site .series-stage.gallery-hanging{position:relative;top:auto}}

/* Requested scroll lighting: only the wall lights up, never recolour the painting. */
body.gallery-site.scroll-wall-lighting .gallery-hanging[data-gallery-hanging]::before{content:none}
body.gallery-site.scroll-wall-lighting .wall-light{isolation:isolate}
body.gallery-site.scroll-wall-lighting .wall-light::before{
 content:"";position:absolute;inset:-70px -12% -35px;z-index:-1;pointer-events:none;
 background:radial-gradient(ellipse at 50% 22%,#fff3d87a 0%,#eee5cc48 34%,transparent 71%);
 filter:blur(16px);opacity:.06;transition:opacity 1.3s cubic-bezier(.22,.61,.36,1);transition-delay:var(--light-delay,0ms);
}
body.gallery-site.scroll-wall-lighting .wall-light-on::before{opacity:1}
body.gallery-site.scroll-wall-lighting.motion-off .wall-light::before{opacity:1;transition:none}
@media(prefers-reduced-motion:reduce){body.gallery-site.scroll-wall-lighting .wall-light::before{opacity:1;transition:none}}

/* The series wash sits outside its horizontal scrolling viewport. */
body.gallery-site.scroll-wall-lighting .series-wall-light[data-gallery-hanging]::before{
 content:"";inset:70px -5% -20px;filter:blur(22px);
 background:radial-gradient(ellipse at 50% 44%,#fff3d86b 0%,#eee5cc3b 40%,transparent 72%);
}
body.gallery-site.scroll-wall-lighting .series-wall-light .gallery-mount::before{content:none}

/* Homepage hanging depth: a crisp contact edge and a softer lower wall shadow. */
body.gallery-site.page-home{--gallery-shadow:2px 3px 2px #050805dd,8px 13px 5px -2px #050805cc,18px 30px 18px -5px #050805bb,30px 48px 38px -12px #0508058c}
body.gallery-site.page-home .gallery-mount:not(.gallery-panel)>.canvas-surface{--canvas-depth:28px;transform:perspective(2400px) rotateX(3deg) rotateY(-7deg)}
@media(max-width:760px){
 body.gallery-site.page-home{--gallery-shadow:2px 3px 2px #050805d9,6px 10px 4px -2px #050805c2,13px 23px 14px -5px #050805ad,21px 34px 28px -10px #05080580}
 body.gallery-site.page-home .gallery-mount:not(.gallery-panel)>.canvas-surface{--canvas-depth:18px;transform:perspective(1800px) rotateX(2.5deg) rotateY(-5deg)}
}

/* The pigment detail is also a hanging image, with its light outside the crop. */
body.gallery-site .renewal-light>figure{height:auto;max-height:none;overflow:visible}
body.gallery-site .detail-photo-mount .canvas-surface>img{height:clamp(320px,55vw,650px);max-height:80svh;object-fit:cover}


/* Let the wall wash fade beyond its section instead of meeting a hard clip edge. */
body.gallery-site.page-home section:has(.wall-light),body.gallery-site.page-home #single-blooms{overflow:visible}
body.gallery-site.scroll-wall-lighting .wall-light::before{mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 25%,transparent 100%)}
