:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:#f1f2f4;background:#08090b;--silver:#c3c7cb;--muted:#b7bbc2}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:1px solid #f7f8fb;outline-offset:5px}button{border-radius:0}::selection{background:#d2d7e1;color:#0a0b0e}.skip{position:fixed;left:20px;top:-80px;z-index:50;background:#d1d4d8;color:#000;padding:12px}.skip:focus{top:16px}
.ribbon-page{position:relative;isolation:isolate;height:100svh;min-height:560px;overflow:hidden}
.backdrop,.backdrop-shade{position:absolute;inset:0;pointer-events:none;z-index:-2}.backdrop{background:#08090b}.backdrop img{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;object-position:50% 48%;opacity:0;filter:brightness(.24);transition:opacity .8s ease}.backdrop img.is-active{opacity:1}.backdrop-shade{z-index:-1;background:linear-gradient(180deg,#0203074d,transparent 25%,#03040622 60%,#030406a6 100%)}
.ribbon-header{position:absolute;top:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:25px 30px}
.wordmark{justify-self:start}.wordmark img{display:block;width:154px;filter:invert(1)}.ribbon-header nav{display:flex;gap:20px;align-items:center}.nav-link{background:none;border:0;padding:8px 0;color:#d9dde3;font-size:13px;position:relative}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.nav-link:hover:after,.nav-link[aria-current=page]:after{transform:scaleX(1)}.header-contact{justify-self:end;font-size:13px;padding:8px 0}.header-contact span{margin-left:18px}
.gallery{position:absolute;inset:0}.gallery canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;outline-offset:-10px}.gallery canvas.is-dragging{cursor:grabbing}.gallery-help{position:absolute;top:103px;left:30px;margin:0;color:var(--muted);font-size:11px;pointer-events:none;opacity:.8}.gallery-help:before{content:"↔";margin-right:10px;font-size:15px}#loading-state{position:absolute;top:48%;left:0;right:0;text-align:center;font-size:13px;letter-spacing:.02em;color:#c3c8d0}
.gallery-meta{position:absolute;left:30px;right:30px;bottom:90px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;pointer-events:none}.gallery-meta h1{font-size:clamp(18px,1.65vw,30px);line-height:1.13;letter-spacing:-.025em;font-weight:400;margin:0}.selected-item{text-align:center;padding-bottom:3px;min-width:260px}.selected-item p{font-size:17px;line-height:1.2;margin:0 0 7px}.selected-item span{font-size:11px;color:#d2d6dc;line-height:1.4}.gallery-controls{display:flex;gap:7px;justify-self:end;pointer-events:auto}.gallery-controls button{display:grid;place-items:center;width:42px;height:42px;background:#d4d9e008;border:1px solid #c4cbd447;font-size:20px;transition:background .2s ease,color .2s ease}.gallery-controls button:hover{background:#d6dbe3;color:#101216}#ribbon-motion{font-size:16px}.ribbon-footer{position:absolute;left:30px;right:30px;bottom:24px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;color:#c4c8ce;font-size:11px;align-items:end;pointer-events:none}.ribbon-footer a{justify-self:end;pointer-events:auto}.ribbon-footer a:hover{text-decoration:underline;text-underline-offset:4px}.ribbon-footer a span{margin-left:10px}.visual-note{font-size:10px;color:#b3b8c1}
.sheet{position:fixed;inset:84px 24px 24px auto;margin:0;width:min(780px,calc(100vw - 48px));max-width:none;height:calc(100svh - 108px);max-height:none;border:1px solid #b6bdc545;padding:28px 36px 40px;background:#0b0d10;color:#f1f3f5;overflow:auto;overscroll-behavior:contain}.sheet::backdrop{background:#020307b3;backdrop-filter:blur(5px)}.sheet-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid #c2c8d34d;font-size:12px;color:#bfc5cd}.close-sheet{background:none;border:0;padding:8px 0;font-size:12px}.close-sheet:hover{color:#fff}.sheet h2{font-size:clamp(34px,4.4vw,66px);font-weight:400;line-height:1.03;letter-spacing:-.035em;margin:46px 0 36px;text-wrap:balance}.studio-copy{max-width:49ch}.studio-copy p{font-size:17px;line-height:1.55;color:#c9cdd4;margin:0 0 25px}.sheet-socials{display:flex;gap:28px;margin-top:38px;padding-top:24px;border-top:1px solid #c3cad12e;font-size:13px}.sheet-socials a:hover{text-decoration:underline;text-underline-offset:4px}.direction-list{display:grid}.direction-list button{width:100%;padding:15px 0;display:flex;align-items:center;gap:20px;background:none;text-align:left;border:0;border-bottom:1px solid #c3cbd333}.direction-list button img{display:block;width:48px;height:57px;object-fit:cover}.direction-list button span{font-size:clamp(23px,2.4vw,36px);font-weight:400;letter-spacing:-.02em}.direction-list button:after{content:"↗";margin-left:auto;font-size:24px;color:#8f97a3;transition:transform .2s ease}.direction-list button:hover:after{color:#f3f5f7;transform:translate(3px,-3px)}.direction-list button[aria-current=true]{color:#fff}.direction-list button:not([aria-current=true]){color:#b7bdc5}.directions-sheet h2{margin-bottom:24px}.canvas-fallback{position:absolute;inset:140px 0 180px;overflow-x:auto;display:flex;gap:12px;align-items:center;padding:0 25px}.canvas-fallback[hidden]{display:none}.canvas-fallback img{height:90%;width:auto}.no-script{position:fixed;inset:0;z-index:20;background:#08090b;color:#eee;display:grid;place-content:center;padding:30px}.no-script p{max-width:40ch;line-height:1.5}
.sound-control{display:flex;align-items:center;justify-self:end;gap:14px;pointer-events:auto}
#site-sound{display:flex;align-items:center;gap:9px;background:none;border:0;padding:6px 0;font-size:11px;color:#d1d5dc;white-space:nowrap}
#site-sound:hover{color:#fff}
#site-sound svg{display:block;width:18px;height:18px}
#site-sound:disabled{cursor:wait;color:#a5acb6}
.sound-waves{display:none}
#site-sound[aria-pressed=true] .sound-waves{display:block}
#site-sound[aria-pressed=true] .sound-muted{display:none}
#site-volume{width:64px;height:18px;accent-color:#c7cdd6;margin:0;cursor:pointer}
@media(max-width:600px){.sound-control{grid-column:2;grid-row:1 / 3;align-self:end;gap:0}#site-sound{font-size:10px;gap:6px}#site-volume{display:none}}
@media(max-width:850px){.ribbon-header{padding:23px 22px;gap:15px}.wordmark img{width:128px}.ribbon-header nav{gap:14px}.nav-link,.header-contact{font-size:12px}.header-contact span{margin-left:4px}.gallery-meta{left:22px;right:22px;gap:16px}.selected-item{min-width:210px}.gallery-meta h1{font-size:19px}.ribbon-footer{left:22px;right:22px;gap:14px}.gallery-help{left:22px}}
@media(max-width:600px){.ribbon-page{min-height:600px}.ribbon-header{padding:24px 20px;grid-template-columns:1fr auto;gap:16px}.wordmark img{width:126px}.ribbon-header nav{gap:13px}.nav-link{font-size:11px}.header-contact{display:none}.gallery-help{left:20px;top:88px;font-size:10px}.gallery-meta{left:20px;right:20px;bottom:105px;grid-template-columns:1fr auto;gap:24px 12px}.gallery-meta h1{font-size:21px;grid-column:1;grid-row:1}.selected-item{min-width:0;text-align:left;grid-column:1;grid-row:2}.selected-item p{font-size:15px;margin-bottom:5px}.selected-item span{font-size:10px}.gallery-controls{grid-column:2;grid-row:2;gap:5px}.gallery-controls button{width:36px;height:36px;font-size:18px}.ribbon-footer{left:20px;right:20px;bottom:25px;grid-template-columns:1fr auto;font-size:10px;gap:12px}.visual-note{grid-column:1;grid-row:2;font-size:9px}.ribbon-footer a{grid-column:2;grid-row:1}.ribbon-footer a span{margin-left:4px}.sheet{inset:78px 12px 12px;width:calc(100vw - 24px);height:calc(100svh - 90px);padding:20px 22px 30px}.sheet h2{font-size:39px;margin:34px 0 28px}.studio-copy p{font-size:16px}.sheet-top{font-size:11px}.direction-list button{padding:12px 0;gap:16px}.direction-list button span{font-size:27px}.direction-list button img{width:40px;height:48px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}.sheet::backdrop{backdrop-filter:none}}
