/* Opt-in orbit gallery. Scoped separately so the default gallery stays unchanged. */
.gallery-count{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.gallery-view-switch{display:inline-flex;align-items:center;padding:4px;gap:3px;border:1px solid var(--line,#465047);border-radius:999px;background:var(--surface,#222822)}
.gallery-view-switch button{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 15px;border:0;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.gallery-view-switch button[aria-pressed=true]{background:#dfb88e;color:#27251f;box-shadow:0 2px 8px #0002}
.gallery-view-switch svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.3}
.gallery-view-switch button>span{font-size:20px;line-height:1}
.gallery-view-switch button:focus-visible,.project-orbit button:focus-visible,.orbit-stage:focus-visible,.orbit-dialog button:focus-visible{outline:2px solid #e4a672;outline-offset:5px}
.project-orbit{border:1px solid #465044;border-radius:20px;overflow:hidden;background:#121915;color:#f2efe5;isolation:isolate}
.orbit-stage{height:570px;position:relative;overflow:hidden;touch-action:pan-y;cursor:grab;user-select:none;contain:layout paint;outline-offset:-5px!important;background:radial-gradient(ellipse at 50% 43%,#32382955,transparent 60%)}
.orbit-stage.is-dragging,.orbit-stage.is-dragging *{cursor:grabbing}
.orbit-heading{position:absolute;top:29px;left:32px;z-index:110;pointer-events:none}
.orbit-heading>span{font-size:9px;letter-spacing:.17em;color:#b1ae99}.orbit-heading h2{font-size:clamp(24px,3vw,36px);font-weight:500;letter-spacing:-.055em;margin:7px 0 0;line-height:1.2}
.orbit-space{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.orbit-glow{position:absolute;width:65%;height:80%;left:17.5%;top:12%;background:radial-gradient(ellipse,#b0874330,transparent 66%)}
.orbit-core{position:absolute;width:118px;height:118px;border-radius:50%;left:calc(50% - 59px);top:calc(43% - 59px);background:radial-gradient(circle at 29% 24%,#edc79a,#a36e43 42%,#34382a 74%);box-shadow:inset -13px -12px 24px #111a1899,0 0 65px #d6ad5930;opacity:.85}
.orbit-core:after{content:"";position:absolute;inset:-14px -65px;border:1px solid #e2bb8370;border-radius:50%;transform:rotate(-23deg) scaleY(.35);box-shadow:0 0 0 5px #daba7110,0 0 0 12px #daba7110}
.orbit-ring{position:absolute;width:81%;height:210px;left:9.5%;top:calc(43% - 105px);border:1px solid #c5a97230;border-radius:50%;transform:rotate(-9deg);box-shadow:0 0 0 12px #bca47005,0 0 0 13px #bca4700c}
.orbit-ring.ring-two{width:92%;height:275px;left:4%;top:calc(43% - 137px);border-style:dashed;border-color:#c5a97218;transform:rotate(-9deg)}
.orbit-stars{position:absolute;inset:-10%;animation:orbit-dust 26s ease-in-out infinite alternate;will-change:transform}.orbit-stars i{position:absolute;background:#e0d7b7;border-radius:50%;box-shadow:0 0 6px #eed7a644}
@keyframes orbit-dust{from{transform:translate3d(-7px,7px,0) rotate(-1deg)}to{transform:translate3d(8px,-9px,0) rotate(1deg)}}
.motion-paused .orbit-stars{animation-play-state:paused}
.orbit-deck{position:absolute;inset:0;pointer-events:none}
.orbit-card{position:absolute;left:50%;top:43%;width:290px;padding:7px;border:1px solid #7a86716b;border-radius:14px;background:#202a22;color:#f0efe4;box-shadow:0 15px 25px #0005;text-align:left;cursor:pointer;pointer-events:auto;will-change:transform;transform-origin:center;backface-visibility:hidden;font:inherit;overflow:hidden}
.orbit-card.is-front{border-color:#d7b181b3;box-shadow:0 18px 36px #0007,0 0 0 1px #dab67a20}
.orbit-card .project-visual{height:180px;min-height:0;aspect-ratio:auto;border-radius:8px;margin:0;pointer-events:none}.orbit-card .gallery-visual{container-type:inline-size}
.orbit-card .visual-kicker{font-size:6px;top:15px;left:15px}.orbit-card .visual-footnote{font-size:7px;bottom:13px;left:15px}.orbit-card .life-visual>img{width:88%;left:6%;top:23%;height:62%;object-fit:contain}.orbit-card .visual-pill{font-size:7px;padding:4px 7px;top:8%;right:5%}.orbit-card .sketch-inset{width:25%;left:5%;bottom:6%;padding:4px}.orbit-card .sketch-inset span{font-size:4px}.orbit-card .sketch-inset img{height:auto}.orbit-card .demo-titlebar{min-height:8px}.orbit-card .phone-preview{border-width:3px;border-radius:13px}
.orbit-card-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 7px 7px}.orbit-card-caption strong{font-size:13px;letter-spacing:-.025em;font-weight:550;line-height:1.3}.orbit-card-caption>span{color:#dab68d;font-size:18px;flex-shrink:0}
.orbit-bottom-hint{position:absolute;bottom:22px;width:100%;text-align:center;font-size:11px;color:#b8bcaa;pointer-events:none;z-index:110;letter-spacing:.02em}.orbit-mobile-hint{display:none}
.orbit-navigation{display:flex;align-items:center;justify-content:center;position:relative;gap:20px;min-height:105px;border-top:1px solid #46504488;padding:15px 68px;background:#1b231e}
.orbit-arrow,.orbit-motion{border:1px solid #57634f;border-radius:50%;color:#e7e7d9;background:transparent;cursor:pointer;display:grid;place-items:center;flex-shrink:0}.orbit-arrow{height:40px;width:40px;font-size:21px}.orbit-arrow:hover,.orbit-motion:hover{background:#344032}.orbit-arrow:disabled{opacity:.3;cursor:default}
.orbit-current{min-width:0;width:290px;color:inherit;font:inherit;background:none;border:0;text-align:center;cursor:pointer;display:grid;gap:5px;justify-items:center}.orbit-position{color:#aaa996;font-size:9px;letter-spacing:.14em}.orbit-current strong{font-weight:550;font-size:17px;letter-spacing:-.03em}.orbit-open{font-size:10px;color:#d9b48a}.orbit-motion{position:absolute;right:22px;width:30px;height:30px;font-size:12px}
.orbit-dialog{width:min(640px,calc(100% - 28px));max-height:88dvh;padding:26px;border:1px solid var(--line,#53604e);border-radius:18px;background:var(--bg,#191c19);color:var(--ink,#eeeee5);overscroll-behavior:contain;box-shadow:0 30px 100px #0008}.orbit-dialog::backdrop{background:#070d0cce}.orbit-close{position:sticky;top:0;display:grid;place-items:center;width:34px;height:34px;margin:0 0 15px auto;border:1px solid var(--line,#53604e);border-radius:50%;background:var(--bg,#191c19);color:inherit;font-size:25px;cursor:pointer;z-index:2}.orbit-modal-open{overflow:hidden}.orbit-detail-card>.project-visual{aspect-ratio:16/10;min-height:0;height:auto;margin-bottom:20px}.orbit-detail-card .project-heading{margin-top:0}.orbit-detail-card .project-heading h3{font-size:28px}.orbit-detail-card>p{font-size:14px}.orbit-detail-card .gallery-detail{margin-top:20px}.orbit-detail-card .project-actions{flex-wrap:wrap}
[data-theme=light] .project-orbit{background:#e7e9dd;color:#283529;border-color:#bec7b4}[data-theme=light] .orbit-stage{background:radial-gradient(ellipse at 50% 43%,#c6bd9766,transparent 65%)}[data-theme=light] .orbit-heading>span,[data-theme=light] .orbit-bottom-hint{color:#5c6652}[data-theme=light] .orbit-ring{border-color:#8f865a55}[data-theme=light] .orbit-stars i{background:#767f59}[data-theme=light] .orbit-navigation{background:#dfe4d7;border-color:#bec7b4}[data-theme=light] .orbit-current,[data-theme=light] .orbit-arrow,[data-theme=light] .orbit-motion{color:#283529}[data-theme=light] .orbit-position,[data-theme=light] .orbit-open{color:#60694b}[data-theme=light] .orbit-arrow:hover,[data-theme=light] .orbit-motion:hover{background:#cad2bf}
@media(max-width:650px){.gallery-count{gap:16px}.gallery-view-switch button{font-size:11px;padding:8px 12px}.orbit-stage{height:475px}.orbit-heading{top:25px;left:22px}.orbit-heading>span{font-size:8px}.orbit-heading h2{font-size:25px}.orbit-card{width:224px;padding:5px;border-radius:11px}.orbit-card .project-visual{height:145px}.orbit-card-caption{padding:10px 5px 6px;gap:8px}.orbit-card-caption strong{font-size:11px}.orbit-core{width:85px;height:85px;left:calc(50% - 42.5px);top:calc(43% - 42.5px)}.orbit-ring{height:160px;top:calc(43% - 80px)}.orbit-ring.ring-two{height:200px;top:calc(43% - 100px)}.orbit-bottom-hint{font-size:10px;bottom:20px}.orbit-desktop-hint{display:none}.orbit-mobile-hint{display:inline}.orbit-navigation{gap:9px;padding:16px 42px 16px 14px;min-height:104px}.orbit-arrow{height:31px;width:31px;font-size:17px}.orbit-current strong{font-size:13px}.orbit-motion{right:9px;width:25px;height:25px;font-size:10px}.orbit-dialog{padding:16px}.orbit-detail-card .project-heading h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){.orbit-stars{animation:none}.orbit-card{will-change:auto}}

/* Keep the image readable at card scale and reserve space above mobile orbits. */
.orbit-card .life-visual{display:block;position:relative;padding:0}.orbit-card .life-visual>img{position:absolute;left:6%;top:24%;width:88%;height:58%;object-fit:contain}
.orbit-detail-card .life-visual{display:block;position:relative;padding:0}.orbit-detail-card .life-visual>img{position:absolute;left:6%;top:22%;width:88%;height:60%;object-fit:contain}.orbit-detail-card .visual-kicker{top:8%;left:6%;font-size:10px}.orbit-detail-card .visual-footnote{left:6%;bottom:7%;font-size:10px}.orbit-detail-card .sketch-inset{width:25%;padding:6px;left:5%;bottom:6%}.orbit-detail-card .sketch-inset img{height:auto}.orbit-detail-card .sketch-inset span{font-size:7px}.orbit-detail-card .visual-pill{font-size:10px;padding:5px 8px;top:6%;right:5%}
@media(max-width:650px){.orbit-deck .orbit-card{top:47%}.orbit-card .life-visual .visual-kicker{font-size:5px;top:11px;left:12px}.orbit-card .life-visual .visual-footnote{font-size:6px;bottom:9px;left:12px}.orbit-detail-card .visual-kicker,.orbit-detail-card .visual-footnote{font-size:8px}}
