:root{color-scheme:light;--ink:#292d30;--muted:#626970;--gold:#8d6729;--line:#e0e4e7;--paper:#f7f8f9;--stage:#edf0f3;font-family:"Segoe UI","Noto Sans JP","Yu Gothic",sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}a:focus-visible,button:focus-visible,model-viewer:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}.page{max-width:1280px;margin:64px auto;background:var(--paper)}header{min-height:80px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:18px;font-weight:650;letter-spacing:.3em;display:flex;align-items:center;gap:24px}.brand span{font-size:10px;font-weight:500;letter-spacing:.15em;color:var(--muted)}nav{display:flex;gap:32px}nav a{font-size:11px;letter-spacing:.16em;font-weight:600}nav a:last-child{color:var(--gold)}nav a:hover{color:var(--gold)}.hero{background:var(--stage);padding:24px 48px 52px}.exhibit{position:relative;width:100%;overflow:hidden}.hero-exhibit{height:490px}model-viewer{display:block;width:100%;height:100%;background:transparent;--poster-color:transparent}#hero-model{pointer-events:none}.loading{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;color:var(--muted);pointer-events:none}.fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;background:var(--stage)}.fallback img{width:100%;height:75%;object-fit:contain}.fallback p{font-size:14px;margin:12px 0}.retry{padding:10px 24px;min-height:44px;border:1px solid var(--line);background:white;color:var(--ink)}.hero-bottom{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-top:24px}h1{font-size:12px;letter-spacing:.23em;color:var(--gold);font-weight:600;margin:0 0 14px}.hero-copy{font-size:40px;letter-spacing:.06em;font-weight:350;margin:0;line-height:1.5}.cta{display:flex;gap:16px;flex-shrink:0;padding-bottom:8px}.cta a{display:flex;align-items:center;justify-content:center;gap:24px;min-height:46px;padding:12px 22px;background:#fff;border:1px solid var(--line);font-size:12px;letter-spacing:.09em}.cta .primary{background:#25292c;color:#fff;border-color:#25292c}.primary span{color:#c39b57;font-size:18px}.cta a:hover{border-color:var(--gold)}.concept{display:grid;grid-template-columns:1fr 1.4fr;gap:56px;padding:124px 128px 132px;background:#f2f4f6}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--gold);font-weight:600;margin:0 0 16px}h2{font-size:29px;font-weight:400;line-height:1.6;margin:0}p{line-height:1.9}.concept-body{font-size:15px;color:var(--muted)}.concept-body .lead{font-weight:600;color:var(--ink);margin:0 0 26px}.concept-body>p:nth-child(2){margin:0}.concept-meta{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:30px;padding-top:20px;font-size:10px;letter-spacing:.15em}.design{padding:110px 64px 128px}.design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:72px}article{background:#fff;border:1px solid var(--line);padding:26px}article img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--stage)}article>div{padding-top:30px}article .eyebrow{margin-bottom:14px}h3{font-size:16px;font-weight:600;margin:0 0 12px}article>div>p:last-child{font-size:13px;color:var(--gold);margin:0;line-height:1.8}.view{padding:100px 64px 120px;background:var(--stage)}.viewer-panel{margin-top:28px;border:1px solid var(--line);background:#f3f5f7}.interactive-exhibit{height:470px}.help{margin:0;padding:12px 20px;font-size:12px;color:var(--muted)}.mobile-help{display:none}.controls{background:#fff;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:12px}.controls button{border:1px solid var(--line);background:white;color:var(--muted);min-height:44px;padding:10px 16px;font-size:12px}.angles,.utilities,.zoom{display:flex;gap:6px;align-items:center}.angles button[aria-pressed=true],#rotate[aria-pressed=true]{background:#25292c;color:white;border-color:#25292c}.controls button:hover:not(:disabled){border-color:var(--gold)}.zoom button{width:44px;padding:0;font-size:20px}footer{padding:54px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f0f2f4}footer .brand{align-items:flex-start;flex-direction:column;gap:12px}footer p{font-size:10px;letter-spacing:.12em;color:var(--muted)}
@media(max-width:1100px){.page{margin:32px}.hero-copy{font-size:32px}.concept{padding:90px 64px}.design,.view{padding-left:40px;padding-right:40px}.design-grid{gap:20px}article{padding:18px}.utilities{flex-wrap:wrap}}
@media(max-width:700px){html{scroll-padding-top:12px}.page{margin:20px 12px}header{padding:0 16px;min-height:64px;gap:12px}.brand{font-size:14px;gap:8px}.brand span{font-size:8px}header .brand{flex-direction:column;align-items:flex-start}nav{gap:13px}nav a{font-size:9px;letter-spacing:.08em}.hero{padding:14px 16px 26px}.hero-exhibit{height:300px}.hero-bottom{display:block;margin-top:14px}h1{font-size:10px;letter-spacing:.15em;margin-bottom:8px}.hero-copy{font-size:27px;letter-spacing:.02em}.cta{flex-direction:column;gap:8px;margin-top:22px;padding:0}.cta a{width:100%;font-size:12px}.concept{grid-template-columns:1fr;gap:28px;padding:54px 24px 60px}h2{font-size:24px}.eyebrow{font-size:9px}.concept-body{font-size:14px}.concept-body .lead{margin-bottom:18px}.concept-meta{font-size:9px}.design{padding:54px 16px 60px}.design-grid{grid-template-columns:1fr;gap:20px;margin-top:32px}article{padding:12px}article img{aspect-ratio:3/2}article>div{padding:24px 12px 16px}article>div>p:last-child{font-size:14px}.view{padding:54px 16px 60px}.interactive-exhibit{height:310px}.help{padding:12px;font-size:11px}.desktop-help{display:none}.mobile-help{display:inline}.controls{gap:12px;padding:10px;display:block}.angles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.controls button{font-size:11px;padding:8px 4px}.utilities{display:flex;gap:6px;justify-content:space-between;margin-top:12px}.zoom{gap:4px}.zoom button{width:44px;font-size:18px}.utilities>button{padding:8px;flex:1}footer{padding:36px 24px;flex-direction:column;align-items:center;text-align:center}footer .brand{align-items:center}footer p{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
