    .h3d { position: relative; height: clamp(500px, 72vh, 760px); overflow: hidden; background: radial-gradient(120% 90% at 50% 60%, #FBFBFA 0%, #EEF1F2 55%, #E2E7E9 100%); box-shadow: 0 0 0 1px rgba(27,33,38,0.10), 0 60px 120px -60px rgba(27,33,38,0.55); min-width: 0; }
    .h3d-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: grab; touch-action: pan-y; }
    .h3d.is-dragging .h3d-canvas { cursor: grabbing; }
    .h3d-corner { z-index: 2; position: absolute; width: 18px; height: 18px; border: 0 solid rgba(27,33,38,0.35); pointer-events: none; }
    .h3d-corner.tl { top: 12px; left: 12px; border-top-width: 1px; border-left-width: 1px; }
    .h3d-corner.tr { top: 12px; right: 12px; border-top-width: 1px; border-right-width: 1px; }
    .h3d-corner.bl { bottom: 12px; left: 12px; border-bottom-width: 1px; border-left-width: 1px; }
    .h3d-corner.br { bottom: 12px; right: 12px; border-bottom-width: 1px; border-right-width: 1px; }
    .h3d-top { z-index: 1; position: absolute; top: 24px; left: 26px; right: 26px; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; pointer-events: none; }
    .h3d-top .seg { pointer-events: auto; background: rgba(255,255,255,0.75); box-shadow: inset 0 0 0 1px rgba(27,33,38,0.14); flex-shrink: 0; }
    .h3d-top .seg button { padding: 6px 12px; }
    .h3d-quote { max-width: 30ch; font-size: clamp(16px, 1.45vw, 20px); font-weight: 300; line-height: 1.4; color: #1B2126; transition: font-size .6s, color .6s; }
    .h3d.is-typed .h3d-quote { font-size: 14px; color: #4A535A; }
    .h3d-caret { display: inline-block; width: 1px; height: 1em; margin-left: 2px; vertical-align: -0.12em; background: #1B2126; animation: dsxBlink 1s steps(1) infinite; }
    .h3d.is-typed .h3d-caret { display: none; }
    @keyframes dsxBlink { 50% { opacity: 0; } }
    .h3d-labels { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
    .h3d-label { position: absolute; left: 0; top: 0; opacity: 0; will-change: transform; }
    .h3d-label i { position: absolute; left: -3px; top: -3px; width: 6px; height: 6px; border-radius: 50%; background: #C69A2B; box-shadow: 0 0 0 4px rgba(198,154,43,0.22); }
    .h3d-label i::after { content: ""; position: absolute; left: 2.5px; bottom: 6px; width: 1px; height: calc(26px + var(--lift, 0px)); background: rgba(27,33,38,0.45); }
    .h3d-label.flip b { left: auto; right: -4px; }
    .h3d-label b { position: absolute; left: -2px; bottom: calc(32px + var(--lift, 0px)); white-space: nowrap; font-weight: 400; font-size: 13.5px; color: #1B2126; background: rgba(255,255,255,0.88); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); padding: 5px 9px; box-shadow: 0 0 0 1px rgba(27,33,38,0.10), 0 10px 24px -12px rgba(27,33,38,0.4); }
    .h3d-bottom::before { content: ""; position: absolute; left: -26px; right: -26px; bottom: -24px; height: 150px; background: linear-gradient(to top, rgba(236,240,241,0.94), rgba(236,240,241,0)); z-index: -1; pointer-events: none; }
    .h3d-top::before { content: ""; position: absolute; left: -26px; right: -26px; top: -24px; height: 120px; background: linear-gradient(to bottom, rgba(244,246,246,0.9), rgba(244,246,246,0)); z-index: -1; pointer-events: none; }
    .h3d-bottom { z-index: 1; position: absolute; left: 26px; right: 26px; bottom: 24px; display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; pointer-events: none; }
    .h3d-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
    .h3d-name { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: #8A6914; }
    .h3d-title { font-size: clamp(26px, 2.6vw, 36px); font-weight: 200; line-height: 1.05; letter-spacing: -0.01em; }
    .h3d-line { font-size: 14.5px; font-weight: 300; color: #4A535A; }
    .h3d-side { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
    .h3d-steps { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 300; color: #9AA2A8; white-space: nowrap; }
    .h3d-steps i { width: 18px; height: 1px; background: rgba(27,33,38,0.2); }
    .h3d-steps span { transition: color .4s; }
    .h3d[data-step="words"] [data-s="words"], .h3d[data-step="plan"] [data-s="plan"], .h3d[data-step="walls"] [data-s="plan"], .h3d[data-step="home"] [data-s="home"], .h3d[data-step="inside"] [data-s="home"] { color: #1B2126; font-weight: 400; }
    .h3d-controls { display: flex; align-items: center; gap: 12px; pointer-events: auto; }
    .h3d-status { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #4A535A; white-space: nowrap; }
    .h3d-status::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #C69A2B; margin-right: 8px; vertical-align: 1px; animation: h3dPulse 1.6s ease-in-out infinite; }
    @keyframes h3dPulse { 50% { opacity: 0.3; } }
    .h3d-hint { font-size: 9.5px; letter-spacing: 0.14em; color: #9AA2A8; white-space: nowrap; }
    .h3d-play { all: unset; cursor: pointer; font-size: 10px; letter-spacing: 0.14em; padding: 6px 9px; box-shadow: inset 0 0 0 1px rgba(27,33,38,0.18); color: #4A535A; background: rgba(255,255,255,0.7); }
    .h3d-play:hover { color: #1B2126; box-shadow: inset 0 0 0 1px #1B2126; }
    .h3d-play:focus-visible { outline: 2px solid #C69A2B; outline-offset: 2px; }
      .h3d { height: 560px; }
      .h3d-top { left: 18px; right: 18px; top: 18px; }
      .h3d-bottom { left: 18px; right: 18px; bottom: 18px; flex-direction: column; align-items: flex-start; gap: 10px; }
      .h3d-side { align-items: flex-start; }
      .h3d-hint { display: none; }
      .h3d-label b { font-size: 12px; }
    .h3d { container-type: inline-size; }
      .h3d-bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
      .h3d-side { align-items: flex-start; }
      .h3d-hint { display: none; }
      .h3d-title { font-size: 26px; }