.porsche-stage{position:relative;isolation:isolate;height:640px;margin-top:6px;background:radial-gradient(ellipse at 55% 43%,#39423b 0%,#232d25 27%,#141d17 55%,#111713 75%);overflow:hidden;border-bottom:1px solid var(--line)}
.studio-word{position:absolute;inset:4px 0 auto;text-align:center;font:400 clamp(190px,29vw,430px)/1 var(--serif);letter-spacing:-.06em;color:#b8bcac0b;pointer-events:none;user-select:none}
.studio-floor{position:absolute;width:70%;height:90px;left:15%;bottom:125px;border-radius:50%;background:#050a0680;filter:blur(35px);pointer-events:none}
.studio-topline{position:absolute;top:28px;left:0;right:0;display:flex;justify-content:space-between;gap:20px;z-index:3;pointer-events:none}
.studio-topline .eyebrow{margin:0;font-size:11px}
.studio-topline span:last-child{font-size:12px;color:#c4c9bf;letter-spacing:1px}
#porsche-viewer{display:block;width:100%;height:calc(100% - 112px);position:absolute;inset:0 0 auto;opacity:0;transition:opacity .65s;--progress-bar-height:0;--poster-color:transparent;--min-hotspot-opacity:0;touch-action:pan-y;cursor:grab}
#porsche-viewer:active{cursor:grabbing}
#porsche-viewer:focus-visible{outline:1px solid var(--gold);outline-offset:-8px}
.is-ready #porsche-viewer{opacity:1}
.studio-poster{position:absolute;inset:0 0 108px;transition:opacity .5s;pointer-events:none}
.studio-poster img{width:100%;height:100%;object-fit:cover;opacity:.36;filter:saturate(.55);mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}
.is-ready .studio-poster{opacity:0;visibility:hidden}
.studio-loading{position:absolute;z-index:4;top:48%;left:50%;transform:translate(-50%,-50%);text-align:center;width:min(84%,440px);padding:20px;background:#111713db;border:1px solid #c2a67830}
.model-status{font-size:14px;line-height:1.7;margin:0;color:var(--text)}
.is-loading .model-status:before{content:'';display:block;width:26px;height:26px;margin:0 auto 14px;border:1px solid #c2a67840;border-top-color:var(--gold);border-radius:50%;animation:studio-spin 1.5s linear infinite}
.is-ready .studio-loading{position:absolute;clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden}
[data-start]{color:var(--text);background:transparent;border:1px solid var(--gold);padding:12px 18px;margin-top:14px;cursor:pointer;font-size:14px}
.studio-controls{position:absolute;z-index:5;bottom:39px;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;margin-block:0;padding:0;border:0;min-width:0;transition:opacity .3s}
.studio-controls:disabled{opacity:0;pointer-events:none;visibility:hidden}
.studio-model .eyebrow{font-size:10px;margin-bottom:4px}
.studio-model strong{font:400 32px/1.15 var(--serif);display:block}
.studio-model small{display:block;font-size:11px;color:var(--muted);margin-top:8px;line-height:1.5}
.studio-paints{text-align:center}
.paint-label{font-size:12px;line-height:1.5;color:#c8cbbf;margin-bottom:10px;display:block}
.paint-swatches{display:flex;justify-content:center;gap:8px}
.paint-swatches button{width:44px;height:44px;display:grid;place-items:center;border:1px solid transparent;border-radius:50%;background:transparent;padding:6px;cursor:pointer}
.paint-swatches button:before{content:'';width:28px;height:28px;border-radius:50%;background:linear-gradient(140deg,#ffffff70,transparent 60%),var(--swatch);box-shadow:inset 0 0 0 1px #ffffff25}
.paint-swatches button[aria-pressed=true]{border-color:var(--gold)}
.studio-actions{justify-self:end}
.studio-camera{display:flex;justify-content:flex-end;gap:6px}
.studio-camera button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #c2a67850;background:#11171390;color:var(--text);font-size:22px;cursor:pointer;transition:background .2s}
.studio-camera button:hover{background:#c2a67822}
.studio-camera svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.25}
[data-motion]{display:block;border:0;border-bottom:1px solid #c2a67855;background:none;color:#d4c2a1;padding:6px 0;font-size:12px;margin-top:6px;margin-left:auto;cursor:pointer}
.studio-note{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:space-between;font-size:10px;color:#a5ad9f;gap:16px;line-height:1.5}
.studio-note a{text-decoration:underline;text-underline-offset:3px}
.studio-note a:hover{color:var(--gold)}
@keyframes studio-spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.porsche-stage{height:710px}}
@media(max-width:900px){.porsche-stage{height:620px}.studio-controls{grid-template-columns:1fr auto;row-gap:20px;bottom:45px}.studio-model{grid-column:1/-1;display:flex;align-items:baseline;gap:16px}.studio-model .eyebrow{display:none}.studio-model small{margin:0}.studio-paints{text-align:left}.paint-swatches{justify-content:flex-start}.studio-actions{display:flex;align-items:center;gap:16px}[data-motion]{margin:0}.studio-floor{bottom:190px}#porsche-viewer{height:calc(100% - 175px)}.studio-word{top:35px;font-size:34vw}}
@media(max-width:600px){.porsche-stage{height:570px;margin-top:24px}.studio-topline{top:15px}.studio-topline .eyebrow{font-size:10px;letter-spacing:1.5px}.studio-topline span:last-child{font-size:10px;letter-spacing:0}.studio-word{top:40px;font-size:52vw}#porsche-viewer{height:325px;top:18px}.studio-floor{width:86%;left:7%;bottom:240px;height:45px;filter:blur(20px)}.studio-poster{bottom:210px}.studio-controls{bottom:52px;gap:22px 12px}.studio-model{display:block}.studio-model strong{font-size:30px}.studio-model small{margin-top:7px;font-size:11px}.studio-paints{text-align:left}.paint-label{font-size:11px;margin-bottom:6px}.paint-swatches{gap:3px}.studio-actions{display:block}.studio-camera{gap:5px}.studio-camera button{width:40px;height:40px}[data-motion]{margin:8px 0 0 auto;font-size:11px}.studio-note{bottom:13px;display:block;font-size:9px}.studio-note>span{display:none}.studio-loading{top:32%}.paint-swatches button{width:40px;height:40px}.paint-swatches button:before{width:26px;height:26px}}
@media(max-width:360px){.studio-controls{gap:18px 4px}.paint-swatches{gap:0}.paint-swatches button{width:36px;height:40px}.studio-camera button{width:36px}.studio-camera{gap:3px}.studio-model strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){#porsche-viewer,.studio-poster{transition:none}.is-loading .model-status:before{animation:none}}
