.resume-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);animation:resume-overlay-in .4s var(--ease-out-expo) both;background:#040403d1;justify-content:center;align-items:center;padding:clamp(12px,3vw,40px);animation-delay:.12s;display:flex;position:fixed;inset:0}@keyframes resume-overlay-in{0%{opacity:0}to{opacity:1}}.resume-window{background:var(--canvas-deep);border:1px solid var(--hairline);transform-origin:0 0;width:min(1200px,100%);height:min(860px,92vh);transition:transform .46s var(--ease-out-expo), opacity .46s var(--ease-out-expo);border-radius:12px;grid-template-columns:300px 1fr;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 90px #0000008c}.resume-window.is-closing{transition:transform .34s cubic-bezier(.5,0,.75,0),opacity .34s cubic-bezier(.5,0,.75,0)}.resume-window.is-instant{transition:none}.resume-overlay.is-closing{animation:.34s ease-in both resume-overlay-out}@keyframes resume-overlay-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.resume-overlay,.resume-window{transition:none!important;animation:none!important}}.resume-close{border:1px solid var(--hairline);width:32px;height:32px;color:var(--ink-black);cursor:pointer;transition:border-color var(--duration-interaction) var(--ease-out-expo), color var(--duration-interaction) var(--ease-out-expo);background:#141412b3;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:14px;right:14px}.resume-close:hover,.resume-close:focus-visible{border-color:var(--accent-orange);color:var(--accent-orange);outline:none}.resume-sidebar{background:var(--canvas-deep);border-right:1px solid var(--hairline);flex-direction:column;gap:26px;min-height:0;padding:22px 20px;display:flex;overflow-y:auto}.resume-sidebar-top{justify-content:space-between;align-items:center;display:flex}.resume-sys-label{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text-faint);font-size:.68rem}.resume-dots{gap:5px;display:flex}.resume-dots span{background:var(--warm-gray);border-radius:50%;width:6px;height:6px}.resume-dots span:last-child{background:var(--accent-orange)}.resume-sidebar-block{flex-direction:column;gap:8px;display:flex}.resume-section-tag{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text-faint);margin-bottom:2px;font-size:.66rem}.resume-name{font-family:var(--font-body);color:var(--ink-black);font-size:1.3rem;font-weight:700;line-height:1.15}.resume-role{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-sage);font-size:.72rem}.resume-status{font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:7px;margin-top:4px;font-size:.74rem;display:flex}.resume-status-dot{background:#6fce8a;border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 6px #6fce8a}.resume-location{font-family:var(--font-mono);color:var(--text-faint);font-size:.72rem}.resume-pills{flex-wrap:wrap;gap:6px;display:flex}.resume-pill{font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--hairline);border-radius:6px;padding:3px 9px;font-size:.68rem}.resume-network{flex-direction:column;gap:9px;display:flex}.resume-network-link{font-family:var(--font-mono);color:var(--accent-orange);word-break:break-all;transition:color var(--duration-interaction) var(--ease-out-expo);align-items:center;gap:9px;font-size:.74rem;display:flex}.resume-network-link svg{color:var(--text-muted);flex-shrink:0}.resume-network-link:hover,.resume-network-link:focus-visible{color:var(--ink-black)}.resume-network-row{flex-direction:column;gap:8px;display:flex}.resume-network-col{flex-direction:column;gap:8px;min-width:0;display:flex}.resume-sidebar-actions{flex-direction:column;flex-shrink:0;gap:10px;display:flex}.resume-sidebar-actions--mobile{display:none}.resume-sidebar-actions--desktop{margin-top:auto;padding-top:10px}.resume-btn{border:1px solid var(--warm-gray);font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-black);cursor:pointer;white-space:nowrap;transition:border-color var(--duration-interaction) var(--ease-out-expo), background var(--duration-interaction) var(--ease-out-expo), color var(--duration-interaction) var(--ease-out-expo);background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:.68rem;display:flex}.resume-btn:hover,.resume-btn:focus-visible{border-color:var(--accent-orange);color:var(--accent-orange);outline:none}.resume-btn--primary{background:var(--ink-black);color:var(--canvas);border-color:var(--ink-black)}.resume-btn--primary:hover,.resume-btn--primary:focus-visible{background:var(--accent-orange);border-color:var(--accent-orange);color:var(--canvas)}.resume-btn--back{color:var(--text-faint);border-color:#0000}.resume-btn--back:hover,.resume-btn--back:focus-visible{color:var(--muted-sage);border-color:#0000}.resume-doc-pane{background:#e9e7e1;justify-content:center;align-items:flex-start;min-height:0;padding:clamp(20px,3vw,40px) clamp(20px,3vw,40px) clamp(64px,8vw,100px);display:flex;overflow:hidden auto}.resume-doc{color:#1c1c1a;width:100%;max-width:760px;font-family:var(--font-headline);background:#fbfaf7;flex-shrink:0;padding:clamp(28px,4vw,52px);font-style:normal;line-height:1.5;box-shadow:0 2px 24px #0000002e}.resume-doc-header{text-align:center;margin-bottom:22px}.resume-doc-header h1{letter-spacing:.01em;font-size:clamp(1.3rem,5.5vw,1.7rem);font-weight:600}.resume-doc-contact{font-family:var(--font-body);color:#3a3a37;flex-wrap:wrap;justify-content:center;align-items:baseline;row-gap:2px;margin-top:8px;font-size:.78rem;line-height:1.7;display:flex}.resume-doc-contact br{display:none}.resume-doc-contact a,.resume-doc-links a{color:#1c4b8c;white-space:nowrap;text-decoration:none}.resume-doc-contact a:hover,.resume-doc-links a:hover{text-decoration:underline}.resume-doc-sep{color:#9a988f;margin:0 6px}.resume-doc-section{margin-top:20px}.resume-doc-section h2{color:#1c4b8c;border-bottom:1.5px solid #1c4b8c;margin-bottom:10px;padding-bottom:4px;font-size:1.02rem;font-weight:600}.resume-doc-section p{font-family:var(--font-body);color:#2a2a27;font-size:.86rem}.resume-doc-entry{margin-bottom:14px}.resume-doc-entry:last-child{margin-bottom:0}.resume-doc-entry-head{font-family:var(--font-body);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;font-size:.88rem;display:flex}.resume-doc-entry-title{flex:auto;min-width:0}.resume-doc-entry-head strong{font-weight:600}.resume-doc-context{color:#4a4a46;font-size:.82rem;font-style:italic}.resume-doc-dates{color:#4a4a46;white-space:nowrap;font-size:.78rem;font-style:italic;font-family:var(--font-headline);flex-shrink:0}.resume-doc-links{font-family:var(--font-body);white-space:nowrap;flex-shrink:0;font-size:.78rem;font-style:italic}.resume-doc-stack{font-family:var(--font-body);color:#4a4a46;margin-bottom:4px;font-size:.78rem;font-style:italic}.resume-doc-entry ul{margin-top:6px;padding-left:18px;list-style:outside}.resume-doc-entry li{font-family:var(--font-body);color:#2a2a27;margin-bottom:3px;font-size:.82rem}.resume-doc-edu-row{font-family:var(--font-body);justify-content:space-between;gap:12px;margin-bottom:6px;font-size:.86rem;display:flex}.resume-doc-skills{border-collapse:collapse;width:100%;font-family:var(--font-body);font-size:.82rem}.resume-doc-skills td{vertical-align:top;padding:4px 0}.resume-doc-skills td:first-child{white-space:nowrap;width:170px;padding-right:12px;font-weight:600}.resume-doc-section ul{padding-left:18px;list-style:outside}.resume-doc-section ul li{font-family:var(--font-body);color:#2a2a27;margin-bottom:4px;font-size:.84rem}.mark-avatar.is-spinning{animation:.7s cubic-bezier(.5,0,.2,1) resume-avatar-spin}@keyframes resume-avatar-spin{0%{transform:rotate(0)scale(1)}55%{transform:rotate(360deg)scale(1.15)}75%{box-shadow:0 0 0 4px #cf8b5c59}to{transform:rotate(360deg)scale(1)}}@media (prefers-reduced-motion:reduce){.mark-avatar.is-spinning{animation:none}}.resume-beam-wrap{z-index:99;left:var(--origin-x,50%);top:var(--origin-y,50%);pointer-events:none;width:0;height:0;position:fixed}.resume-beam-ray{background:var(--accent-orange);transform-origin:0;opacity:0;width:1px;height:1px;animation:resume-ray-fire .46s var(--ease-out-expo) forwards;animation-delay:var(--ray-delay,0s);border-radius:2px;position:absolute;top:0;left:0}.resume-beam-ray--soft{background:#cf8b5c8c}@keyframes resume-ray-fire{0%{opacity:0;width:0}12%{opacity:.95}65%{width:var(--ray-length,90px);opacity:.5}to{width:var(--ray-length,90px);opacity:0}}.resume-beam-ring{border:1.5px solid var(--accent-orange);opacity:0;width:10px;height:10px;animation:resume-ring-expand .64s var(--ease-out-expo) forwards;border-radius:50%;margin:-5px 0 0 -5px;animation-delay:60ms;position:absolute;top:0;left:0}@keyframes resume-ring-expand{0%{opacity:.8;transform:scale(.4)}to{opacity:0;transform:scale(26)}}.resume-beam-shine{opacity:0;mix-blend-mode:screen;background:conic-gradient(#0000 0deg,#ffffffd9 8deg,#0000 20deg 340deg);border-radius:50%;width:260px;height:260px;margin:-130px 0 0 -130px;animation:.62s ease-out 40ms forwards resume-shine-sweep;position:absolute;top:0;left:0}@keyframes resume-shine-sweep{0%{opacity:0;transform:rotate(0)scale(.2)}20%{opacity:.9}to{opacity:0;transform:rotate(300deg)scale(1)}}.resume-beam-flash{opacity:0;width:46px;height:46px;animation:resume-flash-pop .38s var(--ease-out-expo) forwards;background:radial-gradient(circle,#fff5e6f2 0%,#cf8b5c66 55%,#0000 75%);border-radius:50%;margin:-23px 0 0 -23px;position:absolute;top:0;left:0}@keyframes resume-flash-pop{0%{opacity:0;transform:scale(.2)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.resume-beam-wrap{display:none}}@media (max-width:860px){.resume-window{grid-template-rows:auto auto;grid-template-columns:1fr;height:auto;max-height:min(880px,94vh);overflow:hidden auto}.resume-sidebar{border-right:none;border-bottom:1px solid var(--hairline);height:auto;overflow-y:visible}.resume-doc-pane{align-items:stretch;height:auto;overflow-y:visible}.resume-network-row{gap:14px}.resume-sidebar-actions--mobile{flex-direction:row;display:flex}.resume-sidebar-actions--desktop{display:none}.resume-btn{flex:1;padding:9px 8px;font-size:.68rem}}@media (max-width:480px){.resume-doc-pane{padding-left:12px;padding-right:12px}.resume-doc{padding-left:18px;padding-right:18px}.resume-doc-contact{font-size:.72rem}.resume-doc-sep{margin:0 4px}}
.bio-row{grid-template-columns:minmax(0,1fr) 176px;gap:clamp(32px,4.4vw,60px);display:grid}.bio-col{flex-direction:column;min-width:0;display:flex}.bio-headline{font-family:var(--font-headline);color:var(--ink-black);margin-bottom:20px;font-size:clamp(1.05rem,1.6vw,1.3rem);font-style:italic;font-weight:500;line-height:1.45}.bio-p{font-family:var(--font-body);letter-spacing:.01em;color:var(--muted-sage);margin-bottom:16px;font-size:13px;line-height:1.7}.detail-pane{margin-top:32px;position:relative}.pane-content{flex-direction:column;display:flex}.meta-col{text-align:left;min-width:0;padding-left:0}.meta-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:lowercase;color:var(--text-faint);margin-top:24px;margin-bottom:10px;font-size:.78rem;font-weight:600}.meta-label:first-child{margin-top:0}.meta-value{font-family:var(--font-body);letter-spacing:.01em;color:var(--muted-sage);font-size:12px;line-height:1.8}.meta-list{padding-left:18px;list-style:outside}.meta-list .meta-value{display:list-item}.edu-entry+.edu-entry{margin-top:14px}.edu-dates{font-family:var(--font-mono);color:var(--text-faint);margin-top:3px;font-size:.6rem}.meta-links{justify-content:flex-start;gap:14px;display:flex}.find-me-row{border-top:1px solid var(--hairline);text-align:left;margin-top:clamp(20px,3vh,32px);padding-top:clamp(16px,2.4vh,24px)}.find-me-row .meta-label{margin:0 0 10px}.find-me-row .meta-links{justify-content:flex-start}.social-icon{width:20px;height:20px;color:var(--accent-orange);transition:color var(--duration-interaction) var(--ease-out-expo);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.social-icon svg{width:16px;height:16px;display:block}.social-icon:hover{color:var(--ink-black)}.cert-sleeve-row{flex-direction:row;gap:40px;display:flex}.cert-sleeve-col{flex-direction:column;flex-shrink:0;gap:10px;width:min(320px,42vw);display:flex}.cert-sleeve{aspect-ratio:4/3;border-radius:6px;width:100%;overflow:hidden}.cert-sleeve--photo{border:1px solid var(--hairline);background:var(--canvas-deep);justify-content:center;align-items:center;display:flex}.cert-cover{border:1px solid var(--hairline);border-radius:inherit;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.cert-cover-frame{border:1px solid var(--hairline);pointer-events:none;position:absolute;inset:10px}.cert-cover--sm .cert-cover-frame{inset:5px}.cert-cover-art{object-fit:contain;width:62%;height:62%;position:relative}.cert-cover--sm .cert-cover-art{width:70%;height:70%}.cert-cover-art--fade{animation:coverFadeIn .35s var(--ease-out-expo)}@keyframes coverFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.cert-cover-art--fade{animation:none}}.cert-cover-tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);position:relative}.cert-cover--lg .cert-cover-tag{font-size:.62rem}.cert-cover--sm .cert-cover-tag{display:none}.cert-list-col{flex-direction:column;flex:1;min-width:0;display:flex}.cert-list-col .tracklist-row{padding-right:20px}.cert-sleeve-img{object-fit:contain;cursor:zoom-in;width:100%;height:100%}.cert-detail-body{text-align:left;flex-direction:column;gap:14px;height:100%;display:flex}.cert-detail-body .detail-desc{text-align:left;max-width:none;margin-left:0}.cert-detail-body .detail-back{align-self:flex-start;margin-top:auto}.front-mobile-only.front-mobile-only{display:none}.meta-col--mobile{border-left:none;padding-top:24px;padding-bottom:24px;padding-left:0}.mobile-footer{flex-direction:column;align-items:stretch;gap:16px;margin-top:clamp(24px,4vh,32px);padding-top:clamp(16px,2.4vh,24px);display:flex}.mobile-footer .find-me-row{border-top:none;margin:0;padding:0}.mobile-footer-bottom{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.mobile-footer-bottom .location-group{flex-wrap:wrap;min-width:0}.mobile-footer-bottom .footer-btn-group{justify-content:flex-end;align-self:stretch}@media (max-width:720px){.front-desktop-only.front-desktop-only{display:none}.front-mobile-only.front-mobile-only{display:block}.front-mobile-only .pane-content{display:flex}.cert-sleeve-row{text-align:center;flex-direction:column;align-items:center;gap:16px}.cert-sleeve-col{align-items:center;width:min(320px,84vw)}.cert-list-col{width:100%}.cert-detail-body{text-align:center;align-items:center}.cert-detail-body .detail-desc{text-align:center;margin-left:auto;margin-right:auto}.cert-detail-body .detail-back{align-self:center}.meta-col{text-align:left}.meta-links{justify-content:flex-start}.cert-section--center .section-label{text-align:left}.cert-section--center .tracklist-row--stacked{text-align:center;align-items:center}}
.workshop-row{animation:detailViewIn .35s var(--ease-out-expo);flex-direction:row;gap:clamp(24px,4vw,48px);display:flex}.workshop-col{animation:detailViewIn .35s var(--ease-out-expo);flex-direction:column;align-items:center;gap:clamp(16px,2.4vh,22px);display:flex}@media (prefers-reduced-motion:reduce){.workshop-row,.workshop-col{animation:none}}.workshop-heading{font-family:var(--font-body);color:var(--ink-black);text-transform:lowercase;margin-bottom:18px;font-size:clamp(1.3rem,2.4vw,1.6rem);font-weight:600}.workshop-col .workshop-heading{align-self:center;margin-bottom:0}.workshop-sleeve-col{flex-direction:column;flex-shrink:0;gap:10px;width:min(200px,32vw);display:flex}.workshop-row .workshop-sleeve-col{margin-top:10px}.workshop-col .workshop-sleeve-col{align-self:center;width:min(140px,34vw)}.workshop-sleeve{aspect-ratio:1;border-radius:6px;width:100%;overflow:hidden}.sleeve-caption--fade{animation:coverFadeIn .35s var(--ease-out-expo)}@media (prefers-reduced-motion:reduce){.sleeve-caption--fade{animation:none}}.sleeve-caption{font-family:var(--font-body);color:var(--text-faint);text-align:center;font-size:.72rem;line-height:1.5}.workshop-list-col{flex-direction:column;flex:1;width:100%;min-width:0;display:flex}.tracklist{flex-direction:column;justify-content:flex-start;display:flex}.tracklist-row{border:none;border-bottom:1px solid var(--hairline);cursor:pointer;text-align:left;width:100%;transition:background var(--duration-interaction) var(--ease-out-expo);background:0 0;align-items:center;gap:16px;padding:18px 4px;display:flex}.workshop-row .tracklist-row{padding-right:20px}.tracklist--compact .tracklist-row{padding-top:12px;padding-bottom:12px}.workshop-col .tracklist--bleed{width:calc(100% + 2*clamp(28px,4.4vw,56px));margin-left:calc(-1*clamp(28px,4.4vw,56px))}.workshop-col .tracklist--bleed .tracklist-row{padding-left:clamp(28px,4.4vw,56px);padding-right:clamp(28px,4.4vw,56px)}.tracklist li:first-child .tracklist-row{border-top:1px solid var(--hairline)}.tracklist-row:hover{background:#ffffff0f}.tracklist-index{font-family:var(--font-mono);color:var(--text-faint);flex-shrink:0;font-size:.68rem}.tracklist-name{min-width:0;font-family:var(--font-body);color:var(--ink-black);transition:color var(--duration-interaction) var(--ease-out-expo);flex:1;font-size:.9rem;font-weight:500}.tracklist-tag{font-family:var(--font-mono);letter-spacing:.08em;text-transform:lowercase;color:var(--text-faint);flex-shrink:0;font-size:.64rem}.tracklist-row--stacked{flex-direction:column;align-items:flex-start;gap:4px}.detail-view{width:100%;min-width:0;max-width:100%;animation:detailViewIn .35s var(--ease-out-expo);flex-direction:column;gap:28px;display:flex}@keyframes detailViewIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.detail-view{animation:none}}.detail-title--top{text-align:center}.detail-media{justify-content:center;align-items:flex-start;width:100%;min-width:0;display:flex}.detail-body{flex-direction:column;gap:14px;display:flex}.detail-title{font-family:var(--font-body);color:var(--ink-black);text-transform:lowercase;font-size:clamp(1.5rem,3vw,1.9rem);font-weight:600}.detail-desc{font-family:var(--font-body);color:var(--muted-sage);text-align:center;max-width:64ch;margin-left:auto;margin-right:auto;font-size:.88rem;line-height:1.7}.detail-tags{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-faint);font-size:.7rem}.detail-tags--center,.section-label--center{text-align:center}.stack-section{border-top:1px solid var(--hairline);min-width:0;margin-top:4px;padding-top:24px}.features-section{border-top:1px solid var(--hairline);min-width:0;margin-top:8px;padding-top:28px}.feature-graph{box-sizing:border-box;flex-direction:column;align-items:center;gap:4px;width:100%;max-width:100%;display:flex}.feature-node-wrap{box-sizing:border-box;flex-direction:column;align-items:center;width:100%;max-width:100%;display:flex}.feature-node{box-sizing:border-box;border:1px solid var(--warm-gray);background:var(--panel);text-align:center;border-radius:8px;flex-direction:column;gap:6px;width:100%;max-width:420px;padding:18px 20px;display:flex}.feature-node-title{font-family:var(--font-body);color:var(--ink-black);font-size:.9rem;font-weight:600}.feature-node-body{font-family:var(--font-body);color:var(--text-faint);font-size:.78rem;line-height:1.55}.feature-node-link{background:var(--warm-gray);width:1px;height:24px}.detail-links{justify-content:center;gap:10px;display:flex}.detail-links .flip-btn{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.detail-links svg{width:12px;height:12px}.shot-stack{flex-direction:column;align-items:center;gap:28px;width:100%;display:flex}.shot-stack-deck{max-height:100%;position:relative}.shot-stack-deck--desktop{aspect-ratio:2.22;width:min(760px,100%,160vh)}.shot-stack-deck--mobile{aspect-ratio:.454;width:min(276px,70%,25vh)}.shot-card{border:1px solid var(--warm-gray);background:var(--panel);cursor:zoom-in;transition:transform .35s var(--ease-out-expo), opacity .35s var(--ease-out-expo);border-radius:14px;position:absolute;inset:0;overflow:hidden;box-shadow:0 12px 34px #0006}.shot-card.is-top{cursor:zoom-in;touch-action:pan-y}.shot-card.is-top:active{cursor:grabbing}.shot-card img{object-fit:contain;pointer-events:none;width:100%;height:100%}.shot-lightbox{z-index:200;cursor:zoom-out;animation:shotLightboxIn .18s var(--ease-out-expo);background:#040409e0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes shotLightboxIn{0%{opacity:0}to{opacity:1}}.shot-lightbox-img{cursor:default;border-radius:8px;box-shadow:0 30px 90px #00000080}.shot-lightbox-img--desktop{max-width:min(1100px,90vw);max-height:86vh}.shot-lightbox-img--mobile{max-width:min(420px,70vw);max-height:90vh}.shot-lightbox-close{border:1px solid var(--hairline);background:var(--canvas-deep);width:38px;height:38px;color:var(--ink-black);cursor:pointer;transition:border-color .18s var(--ease-out-expo), color .18s var(--ease-out-expo);border-radius:50%;place-items:center;font-size:1.4rem;line-height:1;display:grid;position:absolute;top:clamp(14px,3vh,28px);right:clamp(14px,3vw,28px)}.shot-lightbox-close:hover{border-color:var(--accent-orange);color:var(--accent-orange)}.shot-lightbox-nav{border:1px solid var(--hairline);background:var(--canvas-deep);width:46px;height:46px;color:var(--ink-black);cursor:pointer;transition:border-color .18s var(--ease-out-expo), color .18s var(--ease-out-expo);border-radius:50%;place-items:center;font-size:1.6rem;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.shot-lightbox-nav:hover{border-color:var(--accent-orange);color:var(--accent-orange)}.shot-lightbox-prev{left:clamp(14px,3vw,32px)}.shot-lightbox-next{right:clamp(14px,3vw,32px)}@media (max-width:720px){.shot-lightbox-nav{width:38px;height:38px;font-size:1.3rem}}.shot-placeholder{border:1px dashed var(--warm-gray);width:100%;height:100%;font-family:var(--font-mono);letter-spacing:.1em;text-transform:lowercase;color:var(--text-faint);border-radius:14px;place-items:center;font-size:.68rem;display:grid}.shot-controls{align-items:center;gap:18px;display:flex}.shot-arrow{border:1px solid var(--warm-gray);width:30px;height:30px;color:var(--ink-black);cursor:pointer;transition:border-color .18s var(--ease-out-expo), color .18s var(--ease-out-expo);background:0 0;border-radius:50%;place-items:center;font-size:1.2rem;line-height:1;display:grid}.shot-arrow:hover{border-color:var(--accent-orange);color:var(--accent-orange)}.shot-dots{align-items:center;gap:8px;display:flex}.shot-dot{background:var(--warm-gray);width:6px;height:6px;transition:background .18s var(--ease-out-expo);border-radius:50%}.shot-dot.active{background:var(--accent-orange)}@media (max-width:720px){.workshop-sleeve-col{width:160px}.workshop-col{gap:32px}.workshop-heading{margin-bottom:4px}.workshop-col .workshop-list-col{margin-top:8px}.workshop-col .tracklist--bleed,.tracklist--bleed{width:100%;margin-left:0}.workshop-list-col .tracklist--bleed .tracklist-row,.tracklist--bleed .tracklist-row{padding-left:4px;padding-right:4px}.tracklist-row{align-items:flex-start;gap:10px;padding-top:20px;padding-bottom:20px}.tracklist-index{margin-top:2px}.tracklist-name{white-space:normal;line-height:1.35}.tracklist-tag{margin-top:2px}}
.grain{z-index:0;pointer-events:none;position:fixed;inset:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flip-scene{z-index:1;perspective:1800px;width:100%;max-width:1200px;position:relative}.flip-card{transform-style:preserve-3d;transition:transform .9s cubic-bezier(.4,.1,.2,1);position:relative}.flip-card.is-back{transform:rotateY(180deg)}@media (prefers-reduced-motion:reduce){.flip-card{transition:none}}.flip-face{backface-visibility:hidden;border:1px solid var(--hairline);box-sizing:border-box;background:0 0;border-radius:10px;flex-direction:column;width:100%;min-height:min(85vh,800px);padding:clamp(20px,2.2vw,32px) clamp(20px,2.8vw,36px);display:flex}.flip-face--back{transform:rotateY(180deg)}.flip-face--offstage{height:100%;position:absolute;inset:0;overflow:hidden}.card-scroll{flex-direction:column;flex:1;display:flex}.card-header{justify-content:space-between;align-items:center;margin-bottom:clamp(20px,3vh,32px);display:flex}.mark-row{align-items:center;gap:10px;display:flex}.mark-row--back{cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.mark-back-icon{color:var(--accent-orange);transition:color var(--duration-interaction) var(--ease-out-expo), transform var(--duration-interaction) var(--ease-out-expo);font-size:1.6rem;line-height:1}.mark-row--back:hover .mark-back-icon,.mark-row--back:focus-visible .mark-back-icon{color:var(--ink-black);transform:translate(-2px)}.mark-row--back:focus-visible{outline:none}.mark-avatar{border:1px solid var(--warm-gray);border-radius:50%;flex-shrink:0;width:28px;height:28px;overflow:hidden}.mark-avatar img{object-fit:cover;width:100%;height:100%}.mark-name{font-family:var(--font-body);letter-spacing:.01em;color:var(--ink-black);text-transform:lowercase;font-size:.92rem;font-weight:600}.corner-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:lowercase;color:var(--text-faint);font-size:.68rem}.card-footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:clamp(20px,3vh,28px);display:flex}.card-footer.split{justify-content:space-between}.card-footer--end{justify-content:flex-end}.location-text{font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--text-faint);font-size:.72rem}.location-group{align-items:center;gap:8px;display:flex}.location-group .location-text+.visitor-count:before{content:"· "}.visitor-count{font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--text-faint);font-size:.72rem}.footer-btn-group{align-items:center;gap:10px;display:flex}.flip-btn{border:1px solid var(--warm-gray);color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;cursor:pointer;transition:border-color var(--duration-interaction) var(--ease-out-expo), background var(--duration-interaction) var(--ease-out-expo);background:0 0;border-radius:6px;padding:8px 18px;font-size:.74rem}.flip-btn:hover,.flip-btn:focus-visible{border-color:var(--accent-orange);color:var(--accent-orange);outline:none}.flip-btn--specular{isolation:isolate;position:relative;overflow:hidden}.flip-btn--specular:before{content:"";transition:transform .7s var(--ease-out-expo);pointer-events:none;z-index:1;background:linear-gradient(115deg,#0000 20%,#ffffff47 45% 55%,#0000 80%);position:absolute;inset:0;transform:translate(-140%)}.flip-btn--specular:hover:before,.flip-btn--specular:focus-visible:before{transform:translate(140%)}.flip-btn--specular:hover,.flip-btn--specular:focus-visible{border-color:var(--warm-gray);color:var(--ink-black)}.section-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:lowercase;color:var(--text-faint);margin-bottom:28px;font-size:.84rem;font-weight:600}@media (max-width:720px){.flip-face{min-height:93vh;padding:20px}.card-header{margin-bottom:20px}.mobile-flip-row .flip-btn--specular{border-color:var(--accent-orange);color:var(--accent-orange)}}
