/* HOMEは画像のみ。3D本体はABOUTで操作を始めたときに読み込みます。 */
.about-place > div:first-child { max-width:720px; }
.about-place > .info-card { max-width:720px; margin-top:3rem; }
.diorama { margin-top:3.5rem; scroll-margin-top:100px; }
.diorama .section-heading { max-width:800px; margin-bottom:1.75rem; }
.diorama .section-heading h2 { font-size:clamp(1.65rem,3.8vw,2.5rem); }
.diorama-stage { position:relative; width:100%; aspect-ratio:9 / 7; max-height:750px; overflow:hidden; border:1px solid var(--line); border-radius:1.25rem; background:var(--cream); isolation:isolate; }
.diorama-preview { position:absolute; inset:0; z-index:1; display:grid; justify-items:center; align-content:end; padding:0 1rem 1.5rem; }
.diorama-preview img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; z-index:-1; }
.diorama-start { box-shadow:0 3px 16px #fff9; min-width:160px; }
.diorama-stage model-viewer { display:block; position:absolute; inset:0; width:100%; height:100%; background:var(--cream); --poster-color:var(--cream); --progress-bar-color:var(--accent-dark); touch-action:pan-y; }
.diorama-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.25rem; margin-top:1rem; }
.diorama-toolbar .button { min-height:44px; font-size:.9rem; }
.diorama-text-button { min-height:44px; padding:.4rem .2rem; color:var(--accent-dark); background:none; border:0; cursor:pointer; text-decoration:underline; text-underline-offset:.25em; }
.diorama-status { min-height:1.8em; margin:.85rem 0 0; color:#625b53; font-size:.9rem; }
.diorama [hidden] { display:none !important; }
.diorama button:focus-visible,.diorama-home a:focus-visible { outline:3px solid var(--accent-dark); outline-offset:5px; }
.diorama-start:disabled { cursor:wait; transform:none; background:var(--accent-dark); }
.diorama-home { border-top:1px solid var(--line); }
.diorama-home-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.diorama-home-image { display:block; overflow:hidden; border:1px solid var(--line); border-radius:1rem; background:var(--cream); }
.diorama-home-image img { display:block; width:100%; height:auto; }
.diorama-home h2 { margin:.3rem 0 1rem; font-size:clamp(1.65rem,3vw,2.3rem); line-height:1.45; }
@media(max-width:760px) {
  .diorama-home-grid { grid-template-columns:1fr; gap:1.5rem; }
  .diorama { margin-top:2.5rem; }
  .diorama-stage { aspect-ratio:1 / 1; border-radius:1rem; }
  .diorama-preview { padding-bottom:1rem; }
  .diorama .section-heading h2 { line-height:1.5; }
}
