@charset "UTF-8";
/* Original procedural camera, with no vendor artwork or external runtime. */
#capture.camera-section{height:260svh;background:#dce8ed}
#capture .camera-stage{background:radial-gradient(ellipse at 68% 46%,#edf4f5 0,#e1ebef 43%,#d6e4e9 100%);isolation:isolate}
#capture .camera-stage:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#dae6eb88,transparent 45%);z-index:0}
#capture .camera-heading{position:absolute;top:22%;left:var(--gutter);font-family:var(--song);font-size:clamp(40px,3.7vw,66px);line-height:1.36;letter-spacing:.035em;font-weight:400;max-width:44%;z-index:3}
#capture .camera-heading em{color:#537990}
#capture .camera-intro{position:absolute;top:47%;left:var(--gutter);max-width:29%;font-family:var(--kai);font-size:clamp(14px,1.15vw,19px);line-height:1.9;color:#527185;z-index:3}
#capture .camera-canvas-shell{position:absolute;inset:15% 0 12% 29%;margin:0;z-index:2;pointer-events:auto;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;opacity:var(--camera-presence,1);transform:translate3d(0,calc((1 - var(--camera-presence,1)) * 34px),0) scale(calc(.92 + var(--camera-presence,1) * .08));transform-origin:50% 60%;will-change:transform,opacity;border-radius:20px;outline-offset:-10px}
#capture .camera-canvas-shell.is-dragging{cursor:grabbing}
#capture .camera-canvas-shell:focus-visible{outline:none}
#capture .camera-canvas-shell:focus-visible .camera-drag-hint{color:#244d65;outline:1.5px solid #668c9f;outline-offset:5px;border-radius:3px}
#capture .camera-drag-hint{position:absolute;bottom:4%;left:50%;transform:translateX(-50%);font-family:var(--kai);font-size:12px;letter-spacing:.14em;color:#5c7b8d;pointer-events:none;transition:opacity .2s}
#capture .is-dragging .camera-drag-hint{opacity:.35}
#capture .camera-canvas{display:block;width:100%;height:100%;max-width:none}
#capture .camera-orbit-index{position:absolute;right:var(--gutter);top:23%;display:flex;align-items:center;gap:12px;color:#58788b;font-size:9px;letter-spacing:.12em;z-index:3}
#capture .camera-orbit-index:before{content:"";width:30px;height:30px;border:1px solid #66899d66;border-radius:50%;background:radial-gradient(circle at 75% 20%,#7bb8d2 0 2px,transparent 3px)}
#capture .camera-annotation{position:absolute;left:52%;bottom:18%;font-size:9px;letter-spacing:.09em;display:flex;align-items:center;gap:12px;color:#59758a;z-index:3}
#capture .camera-annotation:before{content:"";height:1px;width:45px;background:#59758a66}
#capture .camera-caption{position:absolute;bottom:13%;left:var(--gutter);display:block;z-index:3}
#capture .camera-caption p{font-family:var(--kai);font-size:clamp(14px,1.1vw,18px);line-height:1.9;color:#28485f}
#capture .camera-caption>span{display:block;margin-top:16px;font-size:9px;letter-spacing:.12em;color:#648091}
#capture .scene-bottom{bottom:34px}
#capture .scene-progress{width:30%;max-width:360px}
#capture .scene-progress i{width:calc(var(--camera,0) * 100%)}
#capture .camera-orbit-ticks{display:flex;gap:25px;font:9px Arial,sans-serif;color:#6d8797;letter-spacing:.03em}
#capture .camera-orbit-ticks span{transition:color .2s}
#capture .camera-orbit-ticks span.active{color:#173c56}
#capture .camera-orbit-index,#capture .camera-annotation{opacity:var(--camera-presence,1);transform:translateY(calc((1 - var(--camera-presence,1)) * 14px))}
@media(max-width:1100px){
 #capture .camera-heading{font-size:43px;max-width:45%}
 #capture .camera-intro{top:46%;max-width:31%;font-size:15px}
 #capture .camera-canvas-shell{inset:19% -6% 17% 23%}
 #capture .camera-caption{position:absolute;bottom:14%}
 #capture .camera-orbit-index{top:20%}
 #capture .camera-annotation{bottom:21%;left:49%}
 #capture .camera-orbit-ticks{gap:16px}
}
@media(max-width:680px){
 #capture.camera-section{height:220svh}
 #capture .camera-stage{height:100svh;min-height:0}
 #capture .camera-heading{position:absolute;top:20%;font-size:37px;max-width:90%;line-height:1.35}
 #capture .camera-intro{top:max(35%,calc(20% + 122px));max-width:86%;font-size:13px;line-height:1.8}
 #capture .camera-canvas-shell{inset:42% -7% 18% -7%}
 #capture .camera-orbit-index{top:45%;right:24px;font-size:7px;gap:7px}
 #capture .camera-orbit-index:before{width:20px;height:20px}
 #capture .camera-annotation{display:none}
 #capture .camera-caption{position:absolute;bottom:12%;left:24px}
 #capture .camera-caption p{font-size:12px;line-height:1.7}
 #capture .camera-caption>span{font-size:7px;margin-top:8px}
 #capture .scene-bottom{bottom:27px;font-size:7px;gap:14px}
 #capture .scene-bottom>span:first-child{max-width:95px;line-height:1.7}
 #capture .scene-progress{width:23%}
 #capture .camera-orbit-ticks{gap:9px;font-size:7px}
 #capture .camera-drag-hint{bottom:2%;font-size:10px}
}
@media(max-height:620px){
 #capture.camera-section{height:auto}
 #capture .camera-stage{position:relative;height:680px;min-height:0}
}
@media(max-height:620px) and (max-width:680px){#capture .camera-stage{height:760px}}
html.reduced #capture.camera-section{height:auto}
html.reduced #capture .camera-stage{position:relative}
@media(prefers-reduced-motion:reduce){#capture.camera-section{height:auto}#capture .camera-stage{position:relative}}
