/* Homepage only. Public collection, Gallery and Studio retain their own layouts. */
.cur-home { --cur-gold:#c5ad80; --cur-ink:#090c0e; background:var(--cur-ink); color:#eae5dc; }
.cur-home * { box-sizing:border-box; }
.cur-home p,.cur-home h1,.cur-home h2,.cur-home h3,.cur-home figure { margin:0; }
.cur-home a { color:inherit; text-decoration:none; }
.cur-home a:focus-visible,.cur-home button:focus-visible { outline:2px solid var(--cur-gold); outline-offset:6px; }
.cur-home h1,.cur-home h2,.cur-home h3 { font-family:var(--v5-ff-display); font-weight:400; }
.cur-wrap { max-width:1580px; margin-inline:auto; padding-inline:clamp(24px,5vw,96px); }
.cur-hero { min-height:740px; height:calc(100svh - 62px); max-height:1100px; position:relative; overflow:hidden; isolation:isolate; }
.cur-stage { position:absolute; inset:0 0 0 32%; overflow:hidden; }
.cur-stage::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,var(--cur-ink),transparent 12%),linear-gradient(0deg,var(--cur-ink),transparent 18%); }
.cur-poster,.cur-live { display:block; width:100%; height:100%; object-fit:cover; }
.cur-live { position:absolute; inset:0; opacity:0; transition:opacity .7s; }
.cur-stage[data-model-state="ready"] .cur-live { opacity:1; }
.cur-hero-copy { position:relative; z-index:1; margin-left:clamp(24px,5vw,96px); padding-top:clamp(64px,9vh,120px); width:32%; max-width:480px; pointer-events:none; }
.cur-hero-copy a { pointer-events:auto; }
.cur-meta { display:flex; gap:30px; align-items:center; color:var(--cur-gold); font:10px/1.5 var(--v5-ff-mono); letter-spacing:.18em; }
.cur-meta span:first-child { font-family:var(--v5-ff-sans); font-size:12px; letter-spacing:.3em; }
.cur-home h1 { display:flex; flex-direction:column; font-size:clamp(96px,8.2vw,158px); line-height:1.12; letter-spacing:.08em; margin:34px 0 26px; }
.cur-home h1 span:last-child { padding-left:.6em; color:#d7c7a9; }
.cur-english { font:11px/1.6 var(--v5-ff-mono); letter-spacing:.19em; white-space:nowrap; }
.cur-intro { font-size:15px; line-height:1.95; color:#9b9f9f; max-width:330px; margin-top:28px!important; }
.cur-actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; margin-top:34px; }
.cur-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:42px; min-height:48px; padding:12px 22px; border:1px solid #b69e76; background:#cdb88f; color:#171915!important; font-size:14px; transition:background .2s; }
.cur-primary:hover { background:#e4d3b1; }
.cur-text-link { font-size:13px; color:#b5b5ad!important; padding-block:12px; border-bottom:1px solid transparent; }
.cur-text-link:hover { color:#e0cfad!important; border-bottom-color:#897650; }
.cur-hero-foot { position:absolute; bottom:24px; inset-inline:clamp(24px,5vw,96px); display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:20px; border-top:1px solid #8e82612b; color:#888e8d; font:11px/1.5 var(--v5-ff-mono); letter-spacing:.12em; }
.cur-hero-count { display:flex; align-items:center; gap:12px; font-size:9px; }
.cur-hero-count strong { font:italic 28px/1 var(--v5-ff-display); color:#c6b694; }
.cur-motion { color:#aeb0aa; border:0; background:none; cursor:pointer; font-size:12px; padding:10px; }
.cur-motion[hidden] { display:none; }
.cur-section-no { font:11px/1.6 var(--v5-ff-mono); color:var(--cur-gold); letter-spacing:.12em; }
.cur-prologue { display:grid; grid-template-columns:1.2fr 1fr; gap:38px 12%; padding-block:120px; border-bottom:1px solid #c5ad8029; scroll-margin-top:80px; }
.cur-prologue .cur-section-no { grid-column:1/-1; }
.cur-home h2 { font-size:clamp(30px,3.1vw,52px); line-height:1.5; letter-spacing:.035em; }
.cur-prologue-text { padding-top:7px; font-size:15px; line-height:2; color:#a4aaa9; max-width:460px; }
.cur-prologue-text p+p { margin-top:20px; }
.cur-prologue-text a { display:inline-block; margin-top:24px; }
.cur-details { padding-block:104px 72px; }
.cur-detail-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:28px 12%; align-items:end; }
.cur-detail-heading .cur-section-no { grid-column:1/-1; }
.cur-detail-heading em { font-style:normal; color:#aea18a; }
.cur-detail-heading>p:last-child { color:#858e8e; font-size:14px; line-height:1.9; padding-bottom:12px; }
.cur-detail-grid { display:grid; grid-template-columns:1fr 1.25fr .9fr; align-items:start; gap:clamp(24px,3vw,56px); margin-top:64px; }
.cur-detail:nth-child(2) { padding-top:90px; }
.cur-detail:nth-child(3) { padding-top:24px; }
.cur-detail-image { display:block; position:relative; overflow:hidden; background:#0e1214; }
.cur-detail-image img { display:block; width:100%; height:auto; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.cur-detail-image:hover img { transform:scale(1.035); }
.cur-image-link { position:absolute; bottom:12px; right:12px; width:36px; height:36px; display:grid; place-items:center; background:#090c0ebd; border:1px solid #a79c7a66; color:#dccaaa; }
.cur-detail-meta { margin:22px 0 14px!important; font:9px/1.5 var(--v5-ff-mono); letter-spacing:.13em; color:#a39983; }
.cur-home h3 { font-size:clamp(19px,1.45vw,24px); line-height:1.5; }
.cur-detail figcaption>p:last-child { color:#8f9898; font-size:13px; line-height:1.9; margin-top:12px; }
.cur-index { padding-block:34px 104px; }
.cur-index-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.cur-index-heading h2 { font-size:22px; }
.cur-index-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-block:1px solid #c5ad802b; }
.cur-index-list a { display:grid; grid-template-columns:1fr auto; gap:10px; padding:26px 24px; border-right:1px solid #c5ad802b; transition:background .25s; }
.cur-index-list a:first-child { padding-left:0; }
.cur-index-list a:last-child { border:0; }
.cur-index-number { grid-column:1/-1; color:#8f836a; font:10px/1.5 var(--v5-ff-mono); }
.cur-index-name { font:22px/1.5 var(--v5-ff-display); }
.cur-index-en { grid-column:1; grid-row:3; font:9px/1.5 var(--v5-ff-mono); letter-spacing:.08em; color:#788383; }
.cur-index-list a>span:last-child { grid-column:2; grid-row:2; align-self:center; color:#af9b78; }
.cur-index-list a:hover { background:#c5ad800a; }
.cur-studio { display:grid; grid-template-columns:.8fr 1.4fr; gap:8%; align-items:center; padding-block:72px 120px; border-top:1px solid #c5ad8029; }
.cur-studio-copy h2 { margin:24px 0; }
.cur-studio-copy>p:not(.cur-section-no) { color:#929c9c; font-size:14px; line-height:2; max-width:330px; }
.cur-studio-copy .cur-primary { margin-top:30px; background:transparent; color:#d7c7a9!important; }
.cur-studio-copy .cur-primary:hover { background:#c5ad801a; }
.cur-studio-image { min-width:0; }
.cur-studio-image img { display:block; width:100%; height:auto; border:1px solid #a0907033; }
.cur-studio-image figcaption { color:#788282; font:10px/1.7 var(--v5-ff-mono); margin-top:14px; }
.cur-reveal.is-seen { animation:cur-arrive .8s both; }
@keyframes cur-arrive { from { opacity:.25; transform:translateY(22px); } to { opacity:1; transform:none; } }
@media(min-width:768px) and (max-height:850px) {
  .cur-hero { min-height:660px; }
  .cur-hero-copy { padding-top:46px; }
  .cur-home h1 { font-size:96px; margin-block:24px 18px; }
  .cur-intro { margin-top:20px!important; font-size:14px; }
  .cur-actions { margin-top:24px; gap:18px; }
}
@media(max-width:1100px) and (min-width:768px) {
  .cur-hero-copy { width:35%; margin-left:32px; }
  .cur-home h1 { font-size:96px; }
  .cur-english { font-size:9px; letter-spacing:.08em; }
  .cur-stage { left:34%; }
  .cur-actions { gap:16px; }
  .cur-primary { gap:20px; padding-inline:16px; }
}
@media(max-width:767px) {
  .cur-hero { display:flex; flex-direction:column; height:auto; min-height:0; max-height:none; padding-top:36px; }
  .cur-hero-copy { display:contents; }
  .cur-home .cur-meta,.cur-home h1,.cur-home .cur-english,.cur-home .cur-intro,.cur-actions { margin-inline:24px; }
  .cur-meta { order:0; font-size:9px; gap:20px; }
  .cur-home h1 { order:1; flex-direction:row; font-size:clamp(52px,13vw,92px); line-height:1.3; margin-top:22px; margin-bottom:12px; letter-spacing:.02em; }
  .cur-home h1 span:last-child { padding:0; }
  .cur-english { order:2; font-size:9px; letter-spacing:.1em; }
  .cur-stage { order:3; position:relative; inset:auto; width:100%; aspect-ratio:1.286; margin:12px 0 0; }
  .cur-stage::after { background:linear-gradient(0deg,var(--cur-ink),transparent 12%); }
  .cur-poster { object-fit:contain; }
  .cur-intro { order:4; max-width:none; font-size:13px; line-height:1.9; margin-top:8px!important; }
  .cur-actions { order:5; margin-top:24px; gap:24px; }
  .cur-hero-foot { order:6; position:relative; inset:auto; margin:30px 24px 0; padding:18px 0; gap:12px; font-size:9px; }
  .cur-hero-count { font-size:8px; gap:8px; }
  .cur-hero-count strong { font-size:24px; }
  .cur-prologue { grid-template-columns:1fr; padding-block:64px; gap:24px; }
  .cur-home h2 { font-size:30px; }
  .cur-prologue-text { font-size:14px; padding:0; }
  .cur-details { padding-block:64px 24px; }
  .cur-detail-heading { grid-template-columns:1fr; gap:24px; }
  .cur-detail-heading>p:last-child { display:none; }
  .cur-detail-grid { grid-template-columns:1fr; gap:44px; margin-top:36px; }
  .cur-detail:nth-child(n) { padding-top:0; }
  .cur-detail:nth-child(1) { margin-right:32px; }
  .cur-detail:nth-child(2) { margin-left:20px; }
  .cur-detail:nth-child(3) { margin-right:50px; }
  .cur-detail-meta { margin-top:16px!important; }
  .cur-index { padding-block:40px 64px; }
  .cur-index-heading h2 { font-size:22px; }
  .cur-index-list { grid-template-columns:1fr; }
  .cur-index-list a,.cur-index-list a:first-child { display:flex; align-items:center; gap:16px; padding:18px 0; border-right:0; border-bottom:1px solid #c5ad8020; }
  .cur-index-name { font-size:20px; }
  .cur-index-en { margin-left:auto; font-size:8px; }
  .cur-studio { grid-template-columns:1fr; gap:36px; padding-block:56px 64px; }
  .cur-studio-copy>p:not(.cur-section-no) { max-width:none; }
}
@media(prefers-reduced-motion:reduce) {
  .cur-home * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
