/* Archive treatments for the studio's real works */
.brand-mark{overflow:hidden;background:#f4f3ec}
.brand-mark img{width:150%;height:150%;object-fit:cover;mix-blend-mode:multiply}
.hero-copy{z-index:3}
.hero-object{z-index:2}
.hero-photo{position:absolute;right:9%;top:14%;width:min(25vw,320px);height:min(47vw,570px);margin:0;overflow:hidden;z-index:1;background:#18131d;transform:rotate(4deg);box-shadow:18px 20px 55px #0008}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent 42%,#fc2db744);mix-blend-mode:screen;pointer-events:none}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 51%;filter:saturate(1.2) contrast(1.1)}
.hero-photo figcaption{position:absolute;z-index:1;left:12px;bottom:12px;font:700 9px/1.4 var(--body);letter-spacing:.1em;color:#fff}
.work-image img{object-position:center 51%}
.work-card:nth-child(3n+1) .work-image img{object-position:center 47%}
.work-card:nth-child(3n+2) .work-image img{object-position:center 55%}
@media(max-width:760px){.hero-photo{width:51vw;height:390px;right:4%;top:41%;opacity:.78}}

.work-card{cursor:zoom-in}.work-card:focus-visible{outline:2px solid var(--acid);outline-offset:5px}
.side-trace{position:fixed;right:17px;top:50%;transform:translateY(-50%);z-index:12;display:grid;justify-items:center;gap:10px;pointer-events:none}.trace-dot{width:9px;height:9px;border:1px solid var(--acid);background:#0b0a12;border-radius:50%;box-shadow:0 0 13px var(--acid);animation:pulse 1.6s infinite}.trace-track{height:170px;width:1px;background:#77728b55;position:relative;overflow:hidden}.trace-track i{position:absolute;top:0;left:-1px;width:3px;height:4%;background:linear-gradient(var(--acid),var(--pink));box-shadow:0 0 9px var(--acid),0 0 24px var(--pink);transition:height .12s linear}.trace-label{font:700 8px var(--body);letter-spacing:.15em;color:#a6a1b3;writing-mode:vertical-rl;transform:rotate(180deg)}
.viewer{max-width:none;width:100vw;height:100dvh;max-height:none;margin:0;padding:clamp(20px,4vw,60px);border:0;background:#07060e;color:var(--bone);display:none;grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);gap:clamp(22px,4vw,65px);align-items:center;overflow:hidden}
.viewer[open]{display:grid}.viewer::backdrop{background:#000c;backdrop-filter:blur(14px)}
.viewer-close{position:absolute;top:20px;right:28px;background:none;border:0;color:var(--bone);font:300 46px/1 var(--display);cursor:pointer;z-index:3}.viewer-close:hover{color:var(--acid)}
.viewer-info{align-self:end;max-width:310px;padding-bottom:36px}.viewer-info h2{font-size:clamp(35px,5.1vw,72px);margin-bottom:20px;word-break:break-word}.viewer-info>p:not(.eyebrow){font-size:13px;line-height:1.65;color:var(--muted);margin:0 0 24px}.viewer-info span{font:700 10px var(--body);letter-spacing:.16em;color:var(--acid)}
.viewer-stage{min-height:0;height:calc(100dvh - 120px);display:grid;grid-template-columns:50px minmax(0,1fr) 50px;align-items:center;gap:13px}.viewer-stage>img{width:100%;height:100%;object-fit:contain;filter:saturate(1.1) contrast(1.05);box-shadow:0 0 90px #fc2db722}.viewer-arrow{border:1px solid var(--line);border-radius:50%;background:#0d0b16;color:var(--bone);width:45px;height:45px;cursor:pointer;font-size:20px;transition:.2s}.viewer-arrow:hover{background:var(--acid);color:#111;border-color:var(--acid)}
.viewer-thumbs{position:absolute;left:clamp(20px,4vw,60px);bottom:28px;display:flex;gap:7px;max-width:calc(100vw - 120px);overflow:auto;padding:3px}.viewer-thumb{flex:0 0 auto;border:1px solid transparent;background:#15121f;padding:0;width:42px;height:42px;cursor:pointer;opacity:.55}.viewer-thumb img{width:100%;height:100%;object-fit:cover}.viewer-thumb.active{border-color:var(--acid);opacity:1;box-shadow:0 0 10px #d9ff3855}
#work-form small{display:block;margin-top:6px;color:#777285;font-size:10px;letter-spacing:0;text-transform:none}
@media(max-width:760px){.viewer{padding:58px 16px 95px;display:block}.viewer[open]{display:block}.viewer-info{padding:0 20px 12px;max-width:none}.viewer-info .eyebrow{margin-bottom:10px}.viewer-info h2{font-size:37px;margin-bottom:9px}.viewer-info>p:not(.eyebrow){display:none}.viewer-stage{height:calc(100dvh - 255px);grid-template-columns:35px minmax(0,1fr) 35px;gap:3px}.viewer-arrow{width:32px;height:32px;font-size:16px}.viewer-close{right:15px;top:12px}.viewer-thumbs{left:16px;bottom:22px;max-width:calc(100vw - 32px)}}
@media(max-width:760px){.side-trace{right:8px}.trace-track{height:112px}.trace-label{display:none}}

/* Neon identity / full-height archive beam */
.hero-logo{position:absolute;right:clamp(32px,2.5vw,52px);top:50%;width:min(44vw,640px);margin:0;transform:translateY(-50%) rotate(-2deg);z-index:2}.logo-gradient{padding:4px;border-radius:28px;background:radial-gradient(circle farthest-side at 0 100%,#d9ff38,transparent 45%),radial-gradient(circle farthest-side at 100% 0,#fc2db7,transparent 48%),radial-gradient(circle farthest-side at 100% 100%,#674bff,transparent 45%),#100e1a;background-size:200% 200%;animation:logoGradient 7s ease-in-out infinite;box-shadow:0 0 30px #fc2db75e,0 0 70px #d9ff3838}.logo-gradient img{display:block;width:100%;border-radius:25px;filter:saturate(1.14) contrast(1.04)}.hero-logo figcaption{font:700 9px var(--body);letter-spacing:.15em;color:var(--acid);margin-top:12px;text-align:right}.side-trace{position:absolute;right:18px;top:0;bottom:0;transform:none;width:22px;display:block;z-index:10}.trace-track{position:absolute;top:0;bottom:0;left:10px;height:auto;width:1px;background:linear-gradient(transparent,#77728b66 4%,#77728b66 96%,transparent);overflow:visible}.trace-track i{top:0;left:-1px;width:3px;min-height:5px;background:linear-gradient(var(--acid),var(--pink));box-shadow:0 0 9px var(--acid),0 0 24px var(--pink)}.trace-dot{position:sticky;top:calc(50vh - 5px);display:block;margin-left:6px;z-index:1}.trace-label{position:sticky;top:calc(50vh + 22px);display:block;margin-left:5px}.viewer{padding:0;display:block}.viewer[open]{display:block}.viewer-stage{height:100dvh;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;gap:0}.viewer-stage>img{height:100dvh;width:100%;object-fit:contain;box-shadow:none;background:#05040a}.viewer-info{position:absolute;left:clamp(18px,4vw,60px);bottom:40px;z-index:3;max-width:290px;padding:18px;background:#090711cc;border:1px solid #ffffff19;backdrop-filter:blur(13px)}.viewer-info h2{font-size:clamp(27px,3.4vw,48px);margin-bottom:11px}.viewer-info>p:not(.eyebrow){margin-bottom:12px}.viewer-thumbs{z-index:4;left:auto;right:clamp(25px,4vw,60px);bottom:32px}.viewer-arrow{z-index:4;justify-self:center}.viewer-close{position:fixed;top:20px;right:28px}.viewer::backdrop{background:#000e}.viewer-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#05040a55,transparent 25%,transparent 75%,#05040a55)}
@keyframes logoGradient{50%{background-position:100% 100%;filter:hue-rotate(12deg)}}
@media(max-width:760px){.hero-logo{width:84vw;right:3vw;top:57%;transform:translateY(-50%)}.hero-logo figcaption{font-size:7px}.side-trace{right:7px}.trace-track{left:10px}.trace-label{display:none}.viewer-stage{height:100dvh;grid-template-columns:43px minmax(0,1fr) 43px}.viewer-stage>img{height:100dvh}.viewer-info{left:12px;bottom:79px;right:66px;padding:11px 12px;max-width:none}.viewer-info .eyebrow{margin-bottom:5px}.viewer-info h2{font-size:27px;margin:0}.viewer-info>p:not(.eyebrow),.viewer-info span{display:none}.viewer-thumbs{left:12px;right:auto;bottom:20px;max-width:calc(100vw - 24px)}.viewer-close{top:10px;right:12px}.viewer-arrow{background:#09071199;backdrop-filter:blur(5px)}}

/* Always-visible scroll rail and meteor field */
.side-trace{position:fixed;right:19px;top:50%;bottom:auto;width:22px;height:66vh;transform:translateY(-50%);z-index:18;display:block;pointer-events:none}.trace-track{position:absolute;inset:0 auto 0 10px;height:auto;overflow:visible;background:linear-gradient(transparent,#77728b66 8%,#77728b66 92%,transparent)}.trace-track i{transition:height .1s linear}.trace-dot{position:absolute;left:6px;top:0;margin:0;transition:top .1s linear}.trace-label{position:absolute;top:calc(100% + 10px);left:5px;margin:0;white-space:nowrap}
@media(max-width:760px){.side-trace{right:8px;height:46vh}.trace-label{display:none}}

/* Keep dialogs out of the document until explicitly opened. */
.viewer:not([open]){display:none}.nav,main,footer{position:relative;z-index:2}.grain{z-index:20}.manifesto-line span{width:max-content;min-width:100%;animation:marqueeRight 23s linear infinite;will-change:transform}@keyframes marqueeRight{from{transform:translateX(-25%)}to{transform:translateX(0)}}
.brand-neon{height:64px;width:118px;overflow:hidden;display:block;border:0;background:#0a0811;box-shadow:0 0 18px #fc2db744}.brand-neon img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.brand-classic{width:58px;height:58px;background:#fff;border-radius:8px;box-shadow:0 0 16px #fff2,0 0 30px #fc2db733}.brand-classic img{object-fit:cover;padding:0}.brand-neon+nav{margin-left:auto}@media(max-width:760px){.brand-neon{width:50px;height:50px}.brand-classic{width:50px;height:50px}}

/* Phone hero: a deliberate vertical composition, never overlapping. */
@media(max-width:760px){
  .hero{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:0;padding:54px 22px 42px;overflow:hidden}
  .hero-copy{max-width:none}
  .hero h1{font-size:clamp(46px,14vw,60px);line-height:.88}
  .intro{margin:25px 0 28px;max-width:32rem}
  .hero-actions{gap:16px;align-items:flex-start;flex-wrap:wrap}
  .hero-logo{position:static;width:min(100%,390px);margin:42px auto 0;transform:none}
  .hero-logo figcaption{text-align:center;margin-top:10px;font-size:7px}
  .scroll-hint{position:static;margin-top:32px;justify-self:start}
  .hero-object,.hero-photo{display:none}
}

/* Viewer controls retain their neon shape even under mobile browser button defaults. */
.viewer-stage{position:relative}.viewer-arrow{appearance:none;-webkit-appearance:none;display:grid!important;place-items:center;line-height:1;font-family:Arial,sans-serif;font-weight:400;padding:0!important;flex:0 0 auto;border:1px solid var(--line)!important;border-radius:999px!important;background:#0d0b16!important;color:var(--bone)!important;box-shadow:0 0 0 1px #ffffff0d,0 8px 24px #0008}.viewer-arrow:hover,.viewer-arrow:focus-visible{background:var(--acid)!important;color:#08070f!important;border-color:var(--acid)!important;outline:none}.viewer-arrow:focus-visible{box-shadow:0 0 0 3px #d9ff3866,0 8px 24px #0008}@media(max-width:760px){.viewer-arrow{width:36px!important;height:36px!important;font-size:19px!important;background:#090711e6!important;border-color:#ffffff3d!important}.viewer-arrow:hover,.viewer-arrow:focus-visible{background:var(--acid)!important;color:#08070f!important}}
