/* Original Home 08 import; maintained production CSS as of 0.4.8.
 * Shared palette and approved refinements live here. Legacy import scripts
 * do not reproduce these maintained edits; see release documentation. */
/* Revision 02: native video, factory assets and a dedicated 3D viewer. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-film{opacity:1;container-type:normal}
.hero-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.hero-poster{object-position:50% 50%}
.hero:after{background:linear-gradient(90deg,rgba(var(--vj-color-forest-rgb),.92) 0%,rgba(var(--vj-color-forest-rgb),.83) 26%,rgba(var(--vj-color-forest-rgb),.31) 57%,rgba(var(--vj-color-forest-rgb),.04) 100%),linear-gradient(0deg,rgba(var(--vj-color-forest-rgb),.5),transparent 38%)}
.hero-base{align-items:center}
.film-status{font-size:11px;max-width:190px}
.film-frame{aspect-ratio:12/5;min-height:0;background:var(--vj-color-forest);object-fit:contain;max-height:70vh}
.gallery-frame{background:var(--vj-color-field)}
.gallery-frame img{object-fit:contain}
.gallery-tabs{gap:24px}
.gallery-tabs button{font-size:12px;min-height:44px}
.preview-note{font-size:10px;letter-spacing:.11em}
.viewer-section{padding:78px 0 83px;background:var(--vj-color-surface);border-top:1px solid var(--vj-color-line);border-bottom:1px solid var(--vj-color-line)}
.viewer-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:65px;align-items:center}
.viewer-copy .eyebrow{color:var(--vj-color-accent);font-size:11px}
.viewer-copy h2{font-size:clamp(39px,4.4vw,60px);line-height:1.09;letter-spacing:-.045em;margin-top:17px}
.viewer-copy>p:not(.eyebrow){font-size:14px;color:var(--vj-color-muted);line-height:1.85;max-width:320px;margin-top:24px}
.viewer-copy .model-footnote{font-size:12px!important;line-height:1.7!important;margin-top:23px!important}
.model-source{border:0;border-bottom:1px solid var(--vj-color-line-strong);background:none;color:var(--ink);font-size:12px;min-height:44px;padding:8px 0;text-align:left}
.viewer-panel{min-width:0}
.model-stage{position:relative;aspect-ratio:1.40;overflow:hidden;isolation:isolate;border:1px solid var(--vj-color-line);border-radius:3px;background:radial-gradient(ellipse at 48% 32%,var(--vj-color-field) 0%,var(--vj-color-surface) 64%,var(--vj-color-surface) 100%)}
.model-stage:before{content:'';position:absolute;bottom:10%;left:17%;right:17%;height:7%;border-radius:50%;background:rgba(var(--vj-color-forest-rgb),0.2000);filter:blur(15px);z-index:-1}
.model-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.model-stage canvas.dragging{cursor:grabbing}
.model-stage canvas:focus-visible{outline:3px solid var(--vj-color-focus);outline-offset:-5px}
.model-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--vj-color-field)}
.model-label{position:absolute;left:18px;top:16px;z-index:2;background:rgba(var(--vj-color-surface-rgb),0.9098);padding:6px 9px;font-size:10px;color:var(--vj-color-ink);letter-spacing:.07em;pointer-events:none;max-width:calc(100% - 36px)}
.model-controls{padding-top:16px}
.model-control-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.model-view-buttons,.model-turn-buttons{display:flex;gap:6px}
.model-controls button{min-height:44px;min-width:44px;border:1px solid var(--vj-color-line);background:transparent;color:var(--vj-color-ink);border-radius:3px;padding:8px 13px;font-size:12px}
.model-controls button:hover{background:var(--vj-color-surface)}
.model-controls button[aria-pressed=true]{background:var(--forest);color:var(--vj-color-inverse);border-color:var(--forest)}
.model-controls button:disabled{opacity:.5;cursor:default}
.model-controls button:focus-visible,.model-controls input:focus-visible{outline:3px solid var(--vj-color-focus);outline-offset:3px}
.model-turn-buttons button{font-size:20px;line-height:1}
.model-secondary{margin-top:13px;border-top:1px solid var(--vj-color-line);padding-top:13px;display:flex;align-items:center;gap:20px;justify-content:space-between;flex-wrap:wrap}
.model-zoom{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--vj-color-ink)}
.model-zoom input{width:115px;min-height:44px;accent-color:var(--forest)}
.model-instructions{font-size:12px;line-height:1.75;color:var(--vj-color-muted);margin-top:14px}
.model-instructions kbd{font:inherit;font-weight:700}
.model-note{font-size:11px;color:var(--vj-color-muted);margin-top:7px}
@media(min-width:981px){.desktop-nav{gap:23px}}
@media(max-width:1050px){.viewer-layout{gap:35px;grid-template-columns:.75fr 1.25fr}.viewer-copy h2{font-size:45px}.viewer-section{padding-block:64px}}
@media(max-width:980px){.desktop-nav{display:none}.menu-toggle{display:inline-grid}}
@media(max-width:800px){.viewer-layout{grid-template-columns:1fr;gap:30px}.viewer-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.viewer-copy .eyebrow,.viewer-copy h2{grid-column:1}.viewer-copy>p:not(.eyebrow){grid-column:2;margin-top:0}.viewer-copy>p:nth-of-type(2){grid-row:1/3;align-self:end}.viewer-copy .model-footnote{margin-top:12px!important}.model-source{align-self:start;justify-self:start;grid-column:1}.model-stage{aspect-ratio:1.65}.viewer-panel{width:min(680px,100%);margin-inline:auto}}
@media(max-width:700px){
  .hero{display:flex;flex-direction:column;min-height:0}
  .hero-inner{order:0;min-height:0;padding-top:43px;padding-bottom:91px}
  .hero-film{position:relative;inset:auto;order:1;width:100%;aspect-ratio:12/5;z-index:0}
  .hero-film video{object-fit:contain;object-position:center;background:var(--vj-color-forest)}
  .hero-poster,.hero:after{display:none}
  .hero h1{font-size:clamp(59px,11vw,78px);margin-top:23px}
  .hero-description{max-width:340px}
  .hero-buttons{flex-direction:row;align-items:center;gap:12px 22px;margin-top:26px}
  .hero-buttons .button{min-width:190px}
  .hero-subtitle{font-size:29px;max-width:none}
  .hero-base{bottom:20px}
  .hero-marker{font-size:9px}
  .film-status{font-size:10px;max-width:150px}
  .viewer-section{padding-block:49px}
}
@media(max-width:560px){
  .preview-note{font-size:8px;letter-spacing:.08em}
  .hero h1{font-size:clamp(57px,14vw,76px);letter-spacing:-.055em}
  .hero-subtitle{font-size:27px}
  .hero-description{font-size:13px;max-width:300px}
  .hero-buttons{gap:12px 20px}.hero-buttons .button{min-width:180px;padding-inline:17px}
  .hero-buttons .text-button{font-size:12px}
  .hero-marker span{max-width:110px;line-height:1.6}
  .hero-base{gap:15px}.film-controls{gap:8px}.film-status{max-width:114px;text-align:right}
  .gallery-tabs{gap:20px}.gallery-tabs button{font-size:11px}
  .viewer-copy{display:block}.viewer-copy h2{font-size:43px}.viewer-copy>p:not(.eyebrow){margin-top:20px}.viewer-copy .model-footnote{margin-top:15px!important}
  .model-stage{aspect-ratio:1.23}.model-label{left:12px;top:12px;font-size:9px;padding:5px 7px;max-width:calc(100% - 24px)}
  .model-control-row{gap:9px}.model-controls button{font-size:11px;padding:8px 11px}.model-turn-buttons button{font-size:19px}
  .model-secondary{gap:8px}.model-instructions{font-size:11px}.model-view-buttons{gap:5px}.model-turn-buttons{gap:5px}.model-zoom{font-size:11px}.model-zoom input{width:98px}
}
