.guide-header { max-width: 1180px; margin: auto; padding: 1.2rem clamp(1rem, 4vw, 3rem); display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 3px solid var(--rule); }
.guide-header a { color: var(--ink); font-weight: 800; text-decoration: none; }
.guide { max-width: 1100px; margin: auto; padding: clamp(1rem, 4vw, 3rem); }
.guide-hero { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 2rem; margin: 1.5rem 0 3rem; }
.guide h1 { font: 700 clamp(2.6rem, 6vw, 4.6rem)/1.04 var(--display); text-wrap: balance; margin: .6rem 0 1.3rem; }
.guide h2 { font: 700 clamp(1.8rem, 4vw, 2.6rem)/1.12 var(--display); margin: 0 0 1.2rem; }
.guide h3 { font-size: 1.2rem; margin: 1.7rem 0 .5rem; }
.guide p, .guide li { max-width: 76ch; }
.guide .lede { font-size: 1.14rem; }
.guide section { scroll-margin-top: 1.5rem; margin-top: 3.5rem; padding-top: 1.8rem; border-top: 2px solid var(--rule); }
.guide figure { margin: 0; min-width: 0; }
.guide img { display: block; width: 100%; height: auto; }
.guide figcaption { margin: .7rem 0 1rem; font-size: .9rem; color: var(--ink-2); }
.guide .portrait { max-height: 450px; width: 100%; object-fit: contain; background: white; border: 1px solid var(--hair); border-radius: 8px; }
.guide .eyebrow { color: var(--series-1); font-weight: 800; text-transform: uppercase; letter-spacing: .07em; font-size: .8rem; }
.guide-toc { display: flex; flex-wrap: wrap; gap: .5rem 1.3rem; padding: 1rem 0; border-block: 1px solid var(--hair); }
.guide-toc a { color: var(--ink); }
.guide pre { max-width: 100%; overflow-x: auto; padding: 1.2rem; background: var(--surface); border: 1px solid var(--hair); border-radius: 5px; font-size: .87rem; white-space: pre; }
.guide blockquote { margin: 1rem 0; padding: 1rem 1.3rem; background: var(--surface); border-left: 4px solid var(--series-1); }
.guide blockquote p { margin: 0; }
.guide .table-wrap { overflow-x: auto; }
.guide table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.guide th, .guide td { padding: .8rem; text-align: left; border-bottom: 1px solid var(--hair); vertical-align: top; }
.guide th { background: var(--surface); }
.guide .motion { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.guide video { display: block; width: 100%; aspect-ratio: 432/620; max-height: 560px; object-fit: contain; background: white; border: 1px solid var(--hair); border-radius: 8px; scroll-margin-top: 1rem; }
.guide .controls { display: flex; flex-wrap: wrap; gap: .5rem; margin: .8rem 0; }
.guide button { font: inherit; border: 1px solid var(--ink-2); background: var(--surface); color: var(--ink); padding: .65rem 1rem; border-radius: 5px; cursor: pointer; min-height: 44px; }
.guide button:disabled { opacity: .65; cursor: wait; }
.guide button:focus-visible, .guide canvas:focus-visible { outline: 3px solid var(--series-2); outline-offset: 4px; }
.model-stage { height: min(60vh, 580px); min-height: 320px; position: relative; background: white; border: 1px solid var(--hair); border-radius: 8px; overflow: hidden; }
.model-stage > img { width: 100%; height: 100%; object-fit: contain; }
.model-stage canvas { display: block; width: 100%; height: 100%; touch-action: none; }
.guide .views { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; }
.guide .views img { background: white; border-radius: 4px; }
.guide details { border-bottom: 1px solid var(--hair); padding: 1rem 0; }
.guide summary { cursor: pointer; font-weight: 700; }
@media (max-width: 650px) { .guide-hero, .guide .motion { grid-template-columns: 1fr; } .guide-hero { gap: 1rem; } .guide .portrait { max-height: 330px; } .guide .views { grid-template-columns: repeat(2,1fr); } .guide-header { font-size: .9rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
