/* NOCTURNE — exhibition in motion. Scoped companion to Atlas and Folio. */
html[data-design=nocturne]{--n-bg:#0b0e0c;--n-ink:#edf0e7;--n-soft:#b0b8aa;--n-line:#354033;--n-card:#141a15;--n-panel:#1d271c;--n-accent:#d3fc78;--font-ui:'Archive Grotesk','Microsoft YaHei','PingFang SC',sans-serif;--font-display:'Archive Grotesk',Arial,sans-serif;--font-serif-cn:var(--font-ui);--font-mono:var(--font-ui);--gutter:clamp(22px,4.5vw,76px);--page-max:1520px;color-scheme:dark}
html[data-design=nocturne][data-theme=light]{--n-bg:#e9ece3;--n-ink:#172219;--n-soft:#4c5d4d;--n-line:#b6c1b2;--n-card:#f4f6f0;--n-panel:#d9e2d2;--n-accent:#345b19;color-scheme:light}
html[data-design=nocturne],html[data-design=nocturne] body:is(.fj-shared,.fj-app){--bg:var(--n-bg);--ink:var(--n-ink);--soft:var(--n-soft);--line:var(--n-line);--card:var(--n-card);--panel:var(--n-panel);--accent:var(--n-accent);--accent-pop:var(--n-accent);--g-bg:var(--n-bg);--g-ink:var(--n-ink);--g-soft:var(--n-soft);--g-line:var(--n-line);--g-card:var(--n-card);--g-panel:var(--n-panel);--g-accent:var(--n-accent);--g-accent-pop:var(--n-accent);--font:var(--font-ui);background-color:var(--n-bg);color:var(--n-ink);font-family:var(--font-ui)}
html[data-design=nocturne] ::selection{background:#d3fc78;color:#132019}
html[data-design=nocturne] body.fj-shared .site-header{background:#0b0e0c;color:#edf0e7;border-color:#31392e;position:sticky;top:0;z-index:20}
html[data-design=nocturne] body.fj-shared .site-header__inner{min-height:72px}
html[data-design=nocturne] .site-header :is(.wordmark,.site-nav a,.theme-toggle,.nav-toggle,.fj-search-toggle){color:#edf0e7!important}
html[data-design=nocturne] .site-header .site-nav a:hover{color:#d3fc78!important}
html[data-design=nocturne] .site-header :is(.theme-toggle,.nav-toggle,.fj-search-toggle){background:transparent;border-color:#424d3d}
html[data-design=nocturne] .site-header .fj-design-control select{background:#141a15;color:#d3fc78;border-color:#424d3d;border-radius:30px;width:138px;padding-inline:14px}
html[data-design=nocturne] body.fj-shared .site-nav.is-open{background:#0b0e0c}
.noc-hero{display:none}
html[data-design=nocturne] .fj-home :is(.fj-mast,.fj-intro){display:none!important}
html[data-design=nocturne] .noc-hero{display:grid;position:relative;isolation:isolate;grid-template-columns:1fr 1fr;min-height:660px;height:calc(100svh - 72px);max-height:980px;overflow:hidden;background:#0b0e0c;color:#edf0e7;border-bottom:1px solid #354033;padding:clamp(36px,5vw,80px) var(--gutter) 38px}
.noc-copy{position:relative;z-index:3;align-self:center;pointer-events:none;max-width:750px;padding-bottom:40px}
.noc-copy>*{pointer-events:auto}
.noc-kicker{margin:0 0 22px;font:12px/1.5 var(--font-ui);letter-spacing:.15em;color:#d3fc78}
.noc-title{font:500 clamp(100px,16vw,236px)/.85 var(--font-display)!important;letter-spacing:-.09em;margin:0 0 35px;white-space:nowrap;color:#edf0e7}
.noc-title span{color:transparent;-webkit-text-stroke:1px #d3fc78}
.noc-copy h2{font:500 clamp(27px,3.4vw,49px)/1.35 var(--font-ui)!important;letter-spacing:-.045em;max-width:13ch;margin:0 0 18px;color:#edf0e7}
.noc-copy p.noc-desc{font:14px/1.9 var(--font-ui);color:#b0b8aa;max-width:28em;margin:0 0 26px}
.noc-actions{display:flex;align-items:center;gap:24px}
.noc-enter{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:54px;padding:13px 23px;background:#d3fc78;color:#0b0e0c!important;border-radius:40px;border:1px solid #d3fc78;font:500 14px/1.5 var(--font-ui);text-decoration:none;transition:background .2s,transform .2s}
.noc-enter:hover{background:#ecffbe;transform:translateY(-3px)}
.noc-enter span{font-size:23px;line-height:1}
.noc-surprise{background:none;border:0;border-bottom:1px solid #6d7b64;padding:10px 0;color:#edf0e7;font:13px/1.5 var(--font-ui);cursor:pointer}
.noc-stage{position:absolute;right:-4%;top:0;width:66%;height:100%;z-index:1;touch-action:pan-y;cursor:grab;outline-offset:-8px}
.noc-stage:active{cursor:grabbing}
.noc-stage canvas{display:block;width:100%;height:100%;position:absolute;inset:0}
.noc-stage:focus-visible{outline:2px solid #d3fc78}
.noc-hero::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(90deg,#0b0e0c 0%,rgba(11,14,12,.5) 26%,transparent 53%)}
.noc-toolbar{position:absolute;right:var(--gutter);bottom:34px;z-index:4;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#b0b8aa;font:11px/1.5 var(--font-ui)}
.noc-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;background:#141a15;color:#edf0e7;border:1px solid #46513f;padding:8px 15px;border-radius:30px;font:12px/1.5 var(--font-ui);cursor:pointer;transition:background .2s,color .2s}
.noc-toolbar button:hover{background:#d3fc78;color:#0b0e0c}
.noc-toolbar button:disabled{opacity:.5;cursor:default}
.noc-toolbar .noc-hint{margin-right:12px}
.noc-stage-note{position:absolute;bottom:34px;left:var(--gutter);z-index:4;font:11px/1.5 var(--font-ui);letter-spacing:.12em;color:#b0b8aa}
.noc-fallback{position:absolute;inset:13% 12%;display:flex;align-items:center;justify-content:center;perspective:800px;pointer-events:none}
.noc-fallback i{position:absolute;width:68%;aspect-ratio:1;border:2px solid #d3fc78;border-radius:50%;box-shadow:0 0 35px #d3fc7820,inset 0 0 35px #d3fc7810;transform:rotateY(54deg) rotateZ(22deg)}
.noc-fallback i:nth-child(2){width:78%;transform:rotateY(-44deg) rotateX(36deg)}
.noc-fallback i:nth-child(3){width:86%;transform:rotateX(65deg) rotateZ(-25deg);border-width:1px}
.noc-stage[data-ready=true] .noc-fallback{display:none}
html[data-design=nocturne] .fj-home .fj-featured{padding-block:100px 120px;border:0;content-visibility:visible}
html[data-design=nocturne] .fj-home .section-title{font-size:clamp(34px,6vw,80px);font-weight:500;letter-spacing:-.06em}
html[data-design=nocturne] .fj-home .fj-featured .section-head{border:0;margin-bottom:60px;padding:0}
html[data-design=nocturne] .fj-home .fj-featured .card-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:100px 28px}
html[data-design=nocturne] .fj-home .fj-featured .work-card{grid-column:span 6;display:block;min-width:0;transform:none;transition:none}
html[data-design=nocturne] .fj-home .fj-featured .work-card:first-child{grid-column:1/9;display:block}
html[data-design=nocturne] .fj-home .fj-featured .work-card:nth-child(2){grid-column:9/-1;align-self:end;margin-bottom:-100px}
html[data-design=nocturne] .fj-home .fj-featured .work-card:nth-child(3){grid-column:1/6;margin-top:55px}
html[data-design=nocturne] .fj-home .fj-featured .work-card:nth-child(4){grid-column:7/-1;margin-top:130px}
html[data-design=nocturne] .fj-home .fj-featured .work-card:nth-child(5){grid-column:3/11}
html[data-design=nocturne] .fj-home .fj-featured .work-card .work-card__visual{aspect-ratio:1.4;padding:35px;background:#cfdfc0;overflow:hidden;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .5s var(--ease-out);border:0;border-radius:3px}
html[data-design=nocturne] .fj-home .fj-featured .work-card:nth-child(2) .work-card__visual{aspect-ratio:.85;background:#282f26;padding:20px}
html[data-design=nocturne] .fj-home .fj-featured .work-card:nth-child(3) .work-card__visual{background:#c9cbbf;aspect-ratio:1}
html[data-design=nocturne] .fj-home .fj-featured .work-card:nth-child(4) .work-card__visual{background:#657059}
html[data-design=nocturne] .fj-home .fj-featured .work-card:nth-child(5) .work-card__visual{background:#b9c58f;aspect-ratio:1.9}
html[data-design=nocturne] .fj-home .work-card__visual img{width:100%;height:100%;object-fit:cover;border-radius:3px;box-shadow:0 18px 40px #0003;transition:transform .8s var(--ease-out)}
html[data-design=nocturne] .fj-home .work-card:hover .work-card__visual img{transform:scale(1.035)}
html[data-design=nocturne] .fj-home .fj-featured .work-card__body{display:block;padding:25px 0 0;border-top:0}
html[data-design=nocturne] .fj-home .fj-featured .work-card__title{font-size:clamp(27px,3vw,46px);font-weight:500;letter-spacing:-.045em;line-height:1.2;margin:0 0 10px}
html[data-design=nocturne] .fj-home .fj-featured .work-card:first-child .work-card__title{font-size:clamp(42px,5vw,68px)}
html[data-design=nocturne] .fj-home .fj-featured .exhibition-label{margin:0 0 12px;color:var(--soft)}
html[data-design=nocturne] .fj-home .fj-featured .work-card__line{max-width:50ch;font-size:14px}
html[data-design=nocturne] .fj-home .fj-featured .work-card__foot{margin-top:18px;max-width:none}
html[data-design=nocturne] .fj-home .tracks{padding-block:60px;background:#d3fc78;color:#16200f;max-width:none}
html[data-design=nocturne] .fj-home .track-grid{border:0;gap:50px;max-width:1368px;margin:auto}
html[data-design=nocturne] .fj-home .track__en{font-size:clamp(38px,5vw,72px);letter-spacing:-.055em}
html[data-design=nocturne] .fj-home .track__title{color:#314827}
html[data-design=nocturne] .fj-home .track .btn{background:#16200f;color:#ecf2df;border-color:#16200f;border-radius:30px}
html[data-design=nocturne] .fj-home .fj-quote{border:0;min-height:460px;align-items:center;padding-block:100px!important}
html[data-design=nocturne] .fj-quote .hero__tagline-de{font:500 clamp(27px,4vw,56px)/1.2 var(--font-ui);letter-spacing:-.04em}
html[data-design=nocturne] .fj-home .fj-collection{border-top:1px solid var(--line);padding-top:80px}
html[data-design=nocturne] .fj-home :is(.tracks,.fj-quote,.fj-collection){content-visibility:visible;contain-intrinsic-size:none}
html[data-design=nocturne] .fj-home .fj-collection{background:var(--n-bg)}
html[data-design=nocturne] .fj-home .col-list{gap:0 60px}
html[data-design=nocturne] .cl-name{letter-spacing:-.03em}
html[data-design=nocturne] .cl-list li:hover,html[data-design=nocturne] .col-list li:hover{background:var(--panel)}
html[data-design=nocturne] body.fj-shared .page-title{font-size:clamp(66px,12vw,168px);line-height:1;letter-spacing:-.07em;font-weight:500}
html[data-design=nocturne] .page-title__cn{font-size:20px;letter-spacing:0}
html[data-design=nocturne] .fj-footer{max-width:none;background:#0b0e0c;color:#edf0e7;border-color:#354033;padding-top:65px}
html[data-design=nocturne] .fj-footer__word{color:#d3fc78;font-size:clamp(100px,23vw,350px);line-height:.9;margin-block:60px 35px;letter-spacing:-.09em}
html[data-design=nocturne] .fj-footer a{color:#edf0e7}
html[data-design=nocturne] .fj-footer__note{color:#b0b8aa}
html[data-design=nocturne] .fj-dialog{background:var(--n-bg);color:var(--n-ink);border-color:var(--n-line)}
html[data-design=nocturne] .fj-app :is(.muted,.empty,.sub,.lead){color:var(--n-soft)}
html[data-design=nocturne] body.fj-skills .stats-row :is(.k,.v){color:var(--n-ink)}
html[data-design=nocturne] body.fj-joki :is(.chblock,#search .drop,.related .wl,.tbtn2){background:var(--n-card);color:var(--n-ink);border-color:var(--n-line)}
html[data-design=nocturne] body.fj-joki .chblock :is(.ct,.tags a,.more){color:var(--n-ink);border-color:var(--n-line);background:transparent}
html[data-design=nocturne] body.fj-joki .chblock :is(.ct,.tags a):hover{background:var(--n-panel);color:var(--n-accent)}
html[data-design=nocturne] body.fj-joki .chblock .ct:hover .more{background:var(--n-accent);color:var(--n-bg)}
html[data-design=nocturne] body.fj-reading :is(nav.toc li a,.sent .en){color:var(--n-ink)}
html[data-design=nocturne] body.fj-reading :is(.toc-label,.toc-date,th){color:var(--n-soft)}
html[data-design=nocturne] body.fj-reading table:focus-visible{outline:2px solid var(--n-accent);outline-offset:4px}
@media(hover:hover) and (pointer:fine){html[data-design=nocturne] .link-arrow{transition:color .2s,transform .2s}html[data-design=nocturne] .link-arrow:hover{transform:translateX(5px)}}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){html[data-design=nocturne] .fj-home .fj-featured .work-card__visual{animation:noc-image-in linear both;animation-timeline:view();animation-range:entry 0% entry 95%}@keyframes noc-image-in{from{clip-path:inset(12% 3% 12% 3%)}to{clip-path:inset(0)}}}}
@media(max-width:1000px){.noc-title{font-size:18vw}.noc-stage{right:-13%;width:76%}.noc-copy h2{font-size:35px;max-width:10ch}.noc-desc{max-width:23em!important}.noc-hint{display:none}.noc-hero{min-height:620px!important}.noc-stage-note{max-width:180px}}
@media(max-width:760px){html[data-design=nocturne] .noc-hero{height:auto;min-height:calc(100svh - 104px)!important;display:flex;flex-direction:column;padding:30px 24px 86px;max-height:none}.noc-copy{align-self:stretch;padding:0;max-width:none;z-index:3}.noc-kicker{font-size:10px;margin-bottom:14px}.noc-title{font-size:clamp(85px,24vw,160px);margin-bottom:22px}.noc-copy h2{font-size:30px;max-width:none;margin-bottom:10px}.noc-copy .noc-desc{max-width:26em!important;font-size:12px;line-height:1.8;margin-bottom:18px}.noc-stage{position:relative;width:calc(100% + 48px);right:auto;margin:0 -24px;height:320px;order:2;z-index:3}.noc-hero::after{display:none}.noc-actions{gap:20px}.noc-enter{min-height:45px;font-size:13px;padding:10px 19px}.noc-stage-note{display:none}.noc-toolbar{left:24px;right:24px;justify-content:center;bottom:25px}.noc-toolbar button{font-size:11px;padding:7px 11px}.noc-fallback{inset:8% 12%}html[data-design=nocturne] .fj-home .fj-featured{padding-block:64px}html[data-design=nocturne] .fj-home .fj-featured .section-head{margin-bottom:30px}html[data-design=nocturne] .fj-home .fj-featured .card-grid{display:block}html[data-design=nocturne] .fj-home .fj-featured .work-card{margin:0 0 55px!important}html[data-design=nocturne] .fj-home .fj-featured .work-card .work-card__visual{padding:22px;aspect-ratio:1.2!important}html[data-design=nocturne] .fj-home .fj-featured .work-card:nth-child(even){margin-left:28px!important}html[data-design=nocturne] .fj-home .fj-featured .work-card:nth-child(odd){margin-right:15px!important}html[data-design=nocturne] .fj-home .track-grid{grid-template-columns:1fr;gap:20px}html[data-design=nocturne] .fj-home .tracks{padding-block:20px}html[data-design=nocturne] .fj-home .fj-quote{grid-template-columns:1fr;gap:30px;padding-block:65px!important;min-height:0}html[data-design=nocturne] .fj-home .col-list{display:block}html[data-design=nocturne] .fj-home .fj-collection{padding-top:55px}html[data-design=nocturne] .fj-footer{margin-top:40px}.noc-copy h2 br{display:none}}
@media(prefers-reduced-motion:reduce){html[data-design=nocturne] *,html[data-design=nocturne] *::before,html[data-design=nocturne] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.noc-enter:hover{transform:none}}
@media print{.noc-hero{display:none!important}html[data-design=nocturne] .fj-home :is(.fj-mast,.fj-intro){display:block!important}html[data-design=nocturne] .site-header{position:static!important}}
