:root{color-scheme:dark;--black:#000;--surface:#080908;--ink:#f3f0e9;--muted:#b3b4ab;--accent:#c6b48a;--line:#30322e;--serif:'Garamond','Baskerville','Palatino Linotype',Georgia,serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{background:#000;scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;background:#000;color:var(--ink);font:1rem/1.6 var(--sans)}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:disabled{opacity:.35;cursor:default}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(3rem,6vw,5.8rem);line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(2.25rem,4.1vw,4.2rem);line-height:1.12;letter-spacing:-.025em}h3{font-size:2rem;line-height:1.2}p{color:var(--muted)}.skip-link{position:fixed;top:-5rem;left:1rem;background:#fff;color:#000;padding:1rem;z-index:100}.skip-link:focus{top:1rem}.section{max-width:1420px;margin:0 auto;padding:6rem clamp(1.5rem,5vw,5rem)}
.site-header{position:sticky;top:0;z-index:25;min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.1rem clamp(1.5rem,5vw,5rem);border-bottom:1px solid var(--line);background:rgba(0,0,0,.96)}.brand{display:flex;flex-direction:column;gap:.1rem;text-decoration:none}.brand span:first-child{font:1.5rem/1.35 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.22em}.brand span:last-child{font: .875rem/1.5 var(--serif);letter-spacing:.14em}.site-header nav{display:flex;gap:clamp(1.5rem,3vw,3.4rem);align-items:center}.site-header nav a{font-size:.9375rem;line-height:1.4;text-decoration:none;color:var(--muted);padding:.5rem 0;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--ink);border-bottom-color:var(--accent)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:.55rem .8rem}.menu-toggle span{margin-left:.5rem}
.entrance{max-width:1500px;margin:0 auto;min-height:clamp(620px,78svh,840px);display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:3rem;padding:3rem clamp(1.5rem,6vw,6rem) 4rem}.eyebrow{color:var(--accent);font-size:.875rem;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.3rem}.welcome-line{font:1.4rem/1.5 var(--serif);margin:1.5rem 0 2.6rem;max-width:25rem}.text-link{display:inline-flex;align-items:center;gap:1rem;font-size:1rem;text-decoration:none;border-bottom:1px solid #777b6d;padding:.45rem 0}.text-link:hover{color:var(--accent)}.entrance-portrait{display:grid;gap:1.25rem;align-items:center;justify-items:center}.entrance-portrait a{display:block;width:100%;height:clamp(400px,62vh,660px)}.entrance-portrait img{height:100%;width:100%;object-fit:contain}.entrance-portrait figcaption{font:1rem/1.5 var(--serif);color:var(--muted);text-align:center}.entrance-portrait i{display:block;font-size:.9375rem;color:#8d9186}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}.section-heading>p{max-width:24rem}.collection-index{border-top:1px solid var(--line)}.collection-doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.5rem 3rem}.collection-door{text-decoration:none;display:grid;grid-template-rows:350px auto;min-width:0;border-top:1px solid var(--line);padding-top:1.4rem}.door-image{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}.door-image>img{width:100%;height:100%;object-fit:contain}.door-copy{display:block;margin-top:1.75rem}.door-count{color:var(--accent);font-size:.875rem}.door-copy h3{margin:.45rem 0 .7rem}.door-copy p{font:1.1rem/1.55 var(--serif);max-width:28rem}.door-enter{display:block;margin-top:1.1rem;font-size:.9375rem;color:var(--muted)}.door-enter span{margin-left:.7rem}.collection-door:hover .door-enter{color:var(--ink)}.door-botanical{grid-column:span 2;grid-template-columns:1fr 1.15fr;grid-template-rows:450px;gap:4rem;align-items:center}.door-botanical .door-image{grid-column:2;grid-row:1}.door-botanical .door-copy{grid-column:1;grid-row:1}.door-botanical h3{font-size:clamp(2.4rem,4vw,3.5rem)}.door-arcana .door-image{width:218.75px;margin:auto}.door-arcana .caption-mask{bottom:0}.recent-section{border-top:1px solid var(--line)}.about{display:grid;grid-template-columns:1fr 2fr;gap:3rem;border-top:1px solid var(--line)}.about p:not(.eyebrow){max-width:38rem;font:1.25rem/1.65 var(--serif);margin-top:1.5rem}
.gallery-intro{padding-top:3rem;padding-bottom:2rem}.breadcrumb{display:inline-block;color:var(--muted);font-size:.9375rem;text-decoration:none;margin-bottom:3.5rem}.breadcrumb:hover{color:var(--ink)}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem}.gallery-heading>p{max-width:24rem;font:1.2rem/1.55 var(--serif);padding-bottom:.4rem}.gallery-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2.5rem}.gallery-filters button{padding:.65rem 1rem;border:1px solid var(--line);background:#000;line-height:1.4;border-radius:2px;font-size:.9375rem}.gallery-filters button span{font-size:.875rem;display:inline-block;margin-left:.65rem;color:var(--muted)}.gallery-filters button[aria-pressed=true]{color:var(--ink);border-color:var(--accent);background:#161711}.gallery-filters button:hover{border-color:#777b6d}.gallery-section{padding-top:0;padding-bottom:4rem}.gallery-status{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.4rem 0;border-top:1px solid var(--line);margin-bottom:2rem;font-size:.9375rem;color:var(--muted)}
.art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.5rem 2.5rem}.art-card{min-width:0}.art-link{display:block;color:inherit;text-decoration:none;cursor:zoom-in}.artwork{position:relative;display:block;height:clamp(270px,28vw,390px);width:100%;background:#000}.artwork>img{width:100%;height:100%;object-fit:contain}.art-caption{display:flex;gap:.75rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1.25rem;line-height:1.4}.art-caption strong{font:400 1.35rem/1.25 var(--serif);display:block;overflow-wrap:break-word}.art-caption em,.art-detail{display:block;font:1rem/1.4 var(--serif);color:var(--muted);margin-top:.35rem}.art-caption em{font-style:italic}.art-number{color:var(--accent);font-size:.9rem;flex-shrink:0;min-width:1.7rem}.art-link:hover .art-caption strong{color:var(--accent)}.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.45rem;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line)}.pagination button{min-width:2.75rem;min-height:2.75rem;padding:.55rem .75rem;background:#000;border:1px solid transparent;font-size:.9375rem}.pagination button[aria-current]{border-color:var(--accent);background:#151610}.pagination button:hover:not(:disabled){border-color:#777b6d}.pagination .page-direction{padding-inline:1.1rem}.arcana-art .artwork{height:auto;aspect-ratio:10/16;max-width:300px;margin:auto}.caption-mask{position:absolute;bottom:0;left:0;right:0;height:var(--mask);background:#000;pointer-events:none}.temperance-card{position:relative;width:100%;height:100%;display:block;background:#000;font-family:var(--serif);text-align:center;overflow:hidden}.temperance-card img{position:absolute;top:21%;left:7%;width:86%;height:60%;object-fit:cover;object-position:center}.temperance-number,.temperance-title{position:absolute;z-index:1;right:0;left:0;letter-spacing:.2em;line-height:1.4;font-size:.9375rem}.temperance-number{top:6%}.temperance-title{top:10%}.botanical-seal{position:absolute;bottom:6%;left:0;right:0;font-size:1.8rem;line-height:.8}
.bamboo-section{max-width:1420px;margin:1rem auto 5rem;padding:4rem clamp(1.5rem,5vw,5rem) 0;border-top:1px solid var(--line)}.bamboo-section h2{max-width:36rem}.bamboo-window{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:10px;background:#201e19;border:1px solid #514a3d}.bamboo-pane{grid-column:span 2;display:block;aspect-ratio:9/16;min-width:0;cursor:zoom-in}.bamboo-pane.bamboo-wide{grid-column:span 3;aspect-ratio:16/9}.bamboo-pane img{width:100%;height:100%;object-fit:contain}
.site-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;padding:2.5rem clamp(1.5rem,5vw,5rem);border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--ink)}.footer-name{font:1.4rem var(--serif);color:var(--ink)}.review-main{max-width:1000px}.review-main .eyebrow{margin-top:2rem}.review-intro{font:1.4rem/1.6 var(--serif);margin-top:2rem}.review-main ol{padding-left:1.5rem;margin:3rem 0}.review-main li{padding:1.3rem .75rem;border-bottom:1px solid var(--line);font:1.3rem/1.6 var(--serif)}
/* The photograph fills the viewport; controls float above it without reserving space. */
.viewer{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:#000;color:var(--ink);overflow:hidden}
.viewer::backdrop{background:#000}.viewer[open]{display:block}
.viewer-main{position:absolute;inset:0;min-height:0}
.viewer-stage{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:100%;min-height:0;margin:0}
.viewer-stage>img{width:100%;height:100%;object-fit:contain}
.viewer-stage .card-mount{position:relative;aspect-ratio:10/16;height:100%;max-width:100%;flex:none}
.card-mount>img{width:100%;height:100%;object-fit:contain}
.viewer-toolbar{position:absolute;inset:0 0 auto;z-index:2;display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:1rem;padding:max(.75rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) .75rem max(1rem,env(safe-area-inset-left));background:linear-gradient(#000b,transparent);pointer-events:none}
.viewer-toolbar p{font-size:.875rem;line-height:1.4;padding:.7rem 0;text-shadow:0 1px 4px #000}
.viewer-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:.5rem;max-width:100%;margin-left:auto;pointer-events:auto}
.viewer-actions button{min-height:44px;padding:.5rem .75rem;border:1px solid #777;background:#000b;font-size:.9375rem;line-height:1.4}
.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;font-size:2.4rem;line-height:1;width:3rem;height:3.5rem;border:1px solid #555;background:#0009}
.viewer-prev{left:max(.75rem,env(safe-area-inset-left))}.viewer-next{right:max(.75rem,env(safe-area-inset-right))}.viewer-nav:hover{border-color:var(--ink)}
.viewer-bottom{position:absolute;inset:auto 0 0;z-index:2;padding:1.5rem max(1rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));display:flex;gap:1rem;justify-content:space-between;align-items:end;background:linear-gradient(transparent,#000c);pointer-events:none;text-shadow:0 1px 4px #000}
.viewer-caption{max-width:55rem;min-width:0}.viewer-caption h2{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.3;letter-spacing:0;overflow-wrap:break-word}.viewer-caption p{font:1rem/1.45 var(--serif);margin-top:.2rem}.viewer-bottom>span{font-size:.875rem;color:var(--muted);white-space:nowrap}
.viewer-toolbar,.viewer-nav,.viewer-bottom{transition:opacity .2s ease}
.viewer.controls-hidden .viewer-toolbar,.viewer.controls-hidden .viewer-nav,.viewer.controls-hidden .viewer-bottom{opacity:0;pointer-events:none}.viewer.controls-hidden .viewer-actions{pointer-events:none}.viewer.controls-hidden{cursor:none}
.viewer-loading{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);background:#000c;padding:.2rem .7rem;font-size:.875rem}.viewer-loading[hidden]{display:none}.viewer-open{overflow:hidden}.viewer-error{display:block;text-align:center;font-size:1rem}
@media(min-width:1500px){.artwork{height:400px}}
@media(max-width:1080px){.entrance{gap:1rem}.welcome h1{font-size:clamp(3.2rem,6.4vw,5rem)}.gallery-heading{align-items:start;flex-direction:column;gap:1.25rem}.gallery-heading>p{max-width:36rem}.art-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.artwork{height:360px}.recent-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.recent-grid .artwork{height:270px}.collection-door{grid-template-rows:300px auto}.door-botanical{grid-template-rows:380px}.door-arcana .door-image{width:187.5px}.site-header nav{gap:1.6rem}}
@media(max-width:700px){html{scroll-padding-top:6rem}.section{padding:3.5rem 1.5rem}.site-header{min-height:78px;padding:.8rem 1.25rem;gap:1rem;flex-wrap:wrap}.brand span:first-child{font-size:1.2rem}.brand span:last-child{font-size:.875rem}.js .menu-toggle{display:block}.site-header nav{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:.8rem 0}.site-header nav a{padding:.75rem;font-size:1rem}.js .site-header nav{display:none}.js .site-header nav.is-open{display:flex}.entrance{padding:3rem 1.5rem;min-height:0;grid-template-columns:1fr;gap:2.5rem}.welcome h1{font-size:clamp(3.1rem,12vw,4.6rem)}.welcome .eyebrow{font-size:.875rem}.welcome-line{font-size:1.3rem;margin:1.25rem 0 1.5rem}.entrance-portrait a{height:400px}.entrance-portrait figcaption{font-size:1rem}.section-heading{align-items:start;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.collection-doors{grid-template-columns:1fr;gap:3rem}.collection-door{grid-template-rows:310px auto}.door-botanical{grid-column:auto;display:grid;grid-template-columns:1fr;gap:0}.door-botanical .door-image,.door-botanical .door-copy{grid-column:1;grid-row:auto}.door-botanical .door-copy{margin-top:1.75rem}.door-botanical h3{font-size:2.2rem}.door-arcana .door-image{width:193.75px}.about{grid-template-columns:1fr;gap:.5rem}.about p:not(.eyebrow){font-size:1.2rem}.gallery-intro{padding-top:2rem;padding-bottom:1.5rem}.breadcrumb{margin-bottom:2.5rem}.gallery-heading h1{font-size:clamp(2.7rem,10vw,4rem)}.gallery-filters{gap:.5rem;margin-top:2rem}.gallery-filters button{padding:.6rem .75rem;font-size:.875rem}.gallery-status{align-items:start;flex-direction:column;gap:.4rem;margin-bottom:1rem}.gallery-status>span{font-size:.875rem}.gallery-section{padding-top:0}.art-grid,.recent-grid{grid-template-columns:1fr;gap:3rem}.artwork,.recent-grid .artwork{height:clamp(280px,90vw,430px)}.art-caption strong{font-size:1.4rem}.pagination{gap:.25rem;margin-top:3rem}.pagination button{padding:.45rem;min-width:2.6rem}.pagination .page-direction{padding:.55rem .65rem}.bamboo-section{padding:3rem 1.5rem 0}.bamboo-window{gap:5px;padding:5px}.site-footer{display:grid;grid-template-columns:1fr 1fr;padding:2rem 1.5rem;gap:1rem;font-size:.875rem}.footer-name{grid-column:span 2}.viewer-toolbar{gap:.5rem}.viewer-toolbar p{font-size:.875rem}.viewer-actions{gap:.35rem}.viewer-actions button{font-size:.875rem;padding:.5rem .6rem}.viewer-nav{width:44px;height:48px;font-size:2rem}.viewer-prev{left:max(.35rem,env(safe-area-inset-left))}.viewer-next{right:max(.35rem,env(safe-area-inset-right))}.viewer-caption h2{font-size:1.25rem}.viewer-caption p{font-size:.9375rem}.review-main h1{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.viewer-toolbar,.viewer-nav,.viewer-bottom{transition:none}}
[hidden]{display:none!important}
html{scrollbar-gutter:stable}
.art-grid:has(>.art-card:only-child){grid-template-columns:minmax(0,1fr);max-width:950px;margin-inline:auto}
.art-grid:has(>.art-card:only-child) .artwork{height:clamp(320px,55vw,650px)}
@media(min-width:701px){.art-grid:has(>.art-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep navigation reachable and text inside the screen at larger text sizes. */
.site-header{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;flex-wrap:wrap}
.site-header nav{flex-wrap:wrap;max-width:100%}
.brand,.entrance>*,.section-heading>*,.gallery-heading>*,.collection-door>*,.about>*,.site-footer>*{min-width:0}
.brand,.entrance,.section-heading,.gallery-heading,.collection-door,.about,.site-footer,.viewer-toolbar,.viewer-caption,.review-main{overflow-wrap:anywhere}
.art-caption>span:last-child{min-width:0;overflow-wrap:anywhere}
.gallery-filters button,.pagination button,.viewer-actions button{max-width:100%;overflow-wrap:anywhere}
@media(max-width:700px){
 .entrance{grid-template-columns:minmax(0,1fr)}
 .site-footer{grid-template-columns:repeat(2,minmax(0,1fr))}
 .section,.entrance,.bamboo-section{padding-left:clamp(1rem,6vw,1.5rem);padding-right:clamp(1rem,6vw,1.5rem)}
}

/* Japanese names form the final caption line on every image surface. */
.japanese-name{display:block;margin-top:.55rem;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans CJK JP",sans-serif;font-size:1rem;font-style:normal;font-weight:400;line-height:1.65;letter-spacing:.035em;color:var(--muted);overflow-wrap:anywhere;line-break:strict}
.viewer-caption .japanese-name{color:var(--ink);margin-top:.3rem}
.bamboo-card{grid-column:span 2;min-width:0;margin:0}
.bamboo-card.bamboo-wide{grid-column:span 3}
.bamboo-card figcaption{text-align:center;padding:.1rem .4rem .65rem}

.collection-door-empty{display:block;align-self:center;border-top:1px solid var(--line,#333);padding-top:2rem}.collection-door-empty .door-copy{margin-top:0}
