@font-face{font-family:Display;src:url('assets/display.ttf') format('truetype');font-weight:900;font-display:swap}@font-face{font-family:Body;src:url('assets/body.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--bg:#101010;--paper:#f5f3eb;--muted:#aaa9a3;--line:#353535;--accent:#dfff00}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--paper);font:16px/1.6 Body,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}header{height:88px;margin:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:Display,'Arial Narrow',sans-serif;font-size:32px;font-weight:900;line-height:1;letter-spacing:-.035em}nav{display:flex;gap:32px;align-items:center;font-size:14px}.contact-nav{border:1px solid #70706a;padding:10px 18px;border-radius:30px}nav a:hover{color:var(--accent)}.hero{padding:28px 4% 0}.hero-top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em;color:#c4c3bd}.hero-wordmark{font:900 clamp(64px,17.75vw,310px)/.88 Display,'Arial Narrow',sans-serif;letter-spacing:-.045em;margin:24px 0 36px;white-space:nowrap}.hero-stage{height:clamp(480px,54vw,660px);position:relative;overflow:hidden;background:#252525}.hero-stage>video{width:100%;height:100%;object-fit:cover;object-position:50% 42%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.02)),linear-gradient(0deg,rgba(0,0,0,.6),transparent 50%)}.hero-copy{position:absolute;left:5%;bottom:20%}.hero-copy p{font-size:12px;letter-spacing:.14em}.hero-copy h2{font:900 clamp(60px,7vw,110px)/.95 Display,sans-serif;letter-spacing:-.015em;margin:18px 0 30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:1px solid #70706a;border-radius:30px;font-size:14px;background:transparent;color:var(--paper);transition:background .2s,color .2s}.light{background:var(--paper);border-color:var(--paper);color:var(--bg)}.button:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.08em}#motion{border:1px solid #aaa9a3;color:white;background:#1118;border-radius:25px;padding:7px 16px;font-size:12px}.discipline{display:flex;align-items:center;gap:30px;padding:22px 0;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.08em}.discipline-note{margin-left:auto;color:var(--muted);letter-spacing:0}footer{margin:0 4%;border-top:1px solid var(--line);padding:30px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}footer .wordmark{color:var(--paper)}.skip{position:fixed;top:-100px;left:20px;background:var(--paper);color:black;padding:15px;z-index:99}.skip:focus{top:10px}dialog{width:min(940px,94vw);max-height:95dvh;background:#121212;color:var(--paper);border:1px solid #555;padding:18px;border-radius:8px}dialog::backdrop{background:#000d;backdrop-filter:blur(12px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-header h2{font-size:18px}.dialog-header button{background:none;color:white;border:1px solid #777;border-radius:30px;padding:8px 18px}.dialog-header+p{font-size:13px}#film-player{display:block;width:100%;height:72dvh;background:black;object-fit:contain}dialog p{font-size:12px;color:var(--muted)}
@media(max-width:700px){header{height:76px}.wordmark{font-size:27px}nav{gap:15px}nav a:nth-child(2){display:none}.contact-nav{padding:8px 12px;font-size:12px}.hero{padding-top:20px}.hero-top{font-size:10px;letter-spacing:.06em}.hero-wordmark{margin:24px 0}.hero-stage{height:560px}.hero-stage>video{object-position:50% 50%}.hero-copy{bottom:22%;left:7%}.hero-copy h2{font-size:68px}.hero-shade{background:linear-gradient(0deg,#000c,transparent 85%)}.discipline{gap:22px;font-size:12px}.discipline-note{display:none}footer{gap:20px;flex-wrap:wrap}footer .wordmark{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.section{padding:110px 4%}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--muted)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:48px}.section-heading h2{font:900 clamp(56px,6vw,88px)/1 Display,sans-serif;margin:18px 0 0;letter-spacing:-.015em}.count{font:14px Body,sans-serif;vertical-align:top;display:inline-block;margin:12px 0 0 15px;color:var(--muted)}.section-heading>p{color:var(--muted);margin:0}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project:nth-child(2){padding-top:75px}.project:nth-child(3){padding-top:150px}.project-cover{position:relative;display:block;width:100%;aspect-ratio:9/14;overflow:hidden;border:0;padding:0;background:#252525;color:white}.project-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0008,transparent 30%)}.project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-cover:hover img{transform:scale(1.045)}.project-index{position:absolute;top:18px;left:18px;font-size:12px;border:1px solid #ffffff80;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;background:#1115}.play-circle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;display:grid;place-items:center;border:1px solid #fffb;border-radius:50%;background:#0004;backdrop-filter:blur(5px);font-size:18px;padding-left:3px;z-index:1}.film-duration{position:absolute;right:18px;bottom:16px;font-size:12px;z-index:1}.project-meta{margin-top:22px;display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.06em;color:var(--muted)}.project h3{font:900 42px/1.1 Display,sans-serif;margin:12px 0}.project p{font-size:14px;max-width:320px;color:var(--muted)}.text-button{background:none;padding:5px 0;border:0;border-bottom:1px solid #777;color:var(--paper);font-size:14px}.text-button:hover{color:var(--accent)}.about{background:#1b1b1a;display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.about-stamp{font:900 clamp(60px,7vw,110px)/.96 Display,sans-serif;color:#66665f;letter-spacing:-.02em;margin:80px 0 0}.about-copy h2{font:900 clamp(42px,4.8vw,72px)/1.06 Display,sans-serif;margin:0 0 32px}.about-copy h2 span{color:#a5a59d}.about-copy>p{color:#c4c3bd;max-width:660px;line-height:1.9}.service-list{margin-top:40px}.service-list>div{display:flex;align-items:center;gap:28px;padding:16px 0;border-top:1px solid #44443f}.service-list span{font-size:12px;color:var(--muted)}.service-list h3{font-size:16px;font-weight:400;margin:0}.contact{padding-top:110px;padding-bottom:110px}.contact-layout{display:grid;grid-template-columns:1.6fr 1fr;align-items:center;gap:60px;margin-top:30px}.contact h2{font:900 clamp(56px,7.4vw,112px)/.97 Display,sans-serif;letter-spacing:-.015em;margin:0}.contact h2 span{color:var(--accent)}.contact-copy{display:flex;align-items:start;flex-direction:column}.contact-copy p{color:var(--muted)}.email-link{font-size:clamp(16px,1.7vw,24px);border-bottom:1px solid #777;padding-bottom:6px;margin:10px 0 24px;overflow-wrap:anywhere}.whatsapp{background:var(--accent);color:#111;border:0}.phone{font-size:13px;color:var(--muted);margin-top:12px}
@media(max-width:900px){.project-grid{gap:18px}.project-meta{flex-direction:column;gap:3px}.about{gap:35px}.contact-layout{gap:30px}}@media(max-width:700px){.section{padding:72px 6%}.section-heading{margin-bottom:32px;align-items:start;gap:15px}.section-heading>p{font-size:13px;margin-top:30px}.section-heading h2{font-size:55px}.project-grid{grid-template-columns:1fr;gap:48px}.project:nth-child(2),.project:nth-child(3){padding-top:0}.project-cover{aspect-ratio:9/12}.project-meta{flex-direction:row;font-size:11px}.project h3{font-size:40px}.project p{max-width:none}.about{grid-template-columns:1fr;gap:28px}.about-stamp{display:none}.about-copy h2{font-size:46px}.contact-layout{grid-template-columns:1fr;gap:26px}.contact h2{font-size:64px}.email-link{font-size:20px}.count{margin-left:8px}}@media(min-width:1800px){body{max-width:1900px;margin:auto}}
/* Keep letterforms distinct at every size. */
.wordmark{letter-spacing:0}.hero-wordmark{letter-spacing:0;font-size:clamp(56px,16.5vw,285px)}

.gallery-item{margin:0;min-width:0}.photo-button{position:relative;display:block;width:100%;border:0;padding:0;background:#202020;color:var(--paper);overflow:hidden}.photo-button img{display:block;width:100%;height:100%;object-fit:cover}.photo-expand{position:absolute;bottom:16px;right:16px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff80;border-radius:50%;background:#0008;font-size:22px}.photo-button:hover .photo-expand{background:var(--accent);color:#111}.gallery-item figcaption{font-size:12px;color:var(--muted);margin-top:14px}.photo-intro{margin:100px 0 30px;border-top:1px solid var(--line);padding-top:35px}.photo-intro h3{font:900 42px/1.1 Display,sans-serif;margin:15px 0}.concert-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:start}.concert-grid .photo-button{aspect-ratio:3/2}.concert-grid .gallery-item:nth-child(2){margin-top:70px}.concert-grid .gallery-item:nth-child(2) .photo-button{aspect-ratio:2/3}.designs{border-top:1px solid var(--line)}.poster-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1040px;margin:auto}.poster-grid .photo-button{background:transparent}.poster-grid img{height:auto;object-fit:contain}.poster-grid .gallery-item:nth-child(2){margin-top:80px}.portrait{margin-top:36px}.portrait .photo-button{aspect-ratio:3/4}.portrait img{object-position:center 45%}.backstage-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:center}.backstage-grid .gallery-item:first-child .photo-button{aspect-ratio:3/4}.backstage-grid .gallery-item:first-child img{object-position:center 75%}.backstage-grid .gallery-item:nth-child(2) .photo-button{aspect-ratio:16/9}#photo-dialog{width:min(1200px,94vw)}#photo-full{display:block;width:100%;height:78dvh;object-fit:contain}.backstage{padding-bottom:40px}
@media(max-width:700px){.concert-grid,.backstage-grid{grid-template-columns:1fr;gap:32px}.concert-grid .gallery-item:nth-child(2){margin-top:0;max-width:85%;margin-left:auto}.photo-intro{margin-top:64px}.photo-intro h3{font-size:36px}.poster-grid{gap:28px;grid-template-columns:1fr}.poster-grid .gallery-item:nth-child(2){margin-top:0}.portrait{max-width:400px}.designs .section-heading,.backstage .section-heading{display:block}.designs .section-heading>p,.backstage .section-heading>p{margin-top:20px}.backstage-grid .gallery-item:first-child{max-width:85%}#photo-full{height:72dvh}}

/* Compact photo galleries on phones; desktop composition stays unchanged. */
.social-links{display:flex;gap:24px;align-items:center}.social-links a:hover{color:var(--accent)}.swipe-hint{display:none}
@media(max-width:700px){
.swipe-hint{display:block;font-size:12px;color:var(--muted);margin:0 0 16px}
.concert-grid,.backstage-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:4px 0 14px;align-items:start;scrollbar-width:thin;scrollbar-color:var(--muted) transparent}
.concert-grid .gallery-item,.concert-grid .gallery-item:nth-child(2),.backstage-grid .gallery-item,.backstage-grid .gallery-item:first-child{flex:0 0 85%;max-width:none;margin:0;scroll-snap-align:start}
.concert-grid .photo-button,.concert-grid .gallery-item:nth-child(2) .photo-button,.backstage-grid .gallery-item:first-child .photo-button,.backstage-grid .gallery-item:nth-child(2) .photo-button{aspect-ratio:4/5}
.backstage-grid .gallery-item:nth-child(2) img{object-fit:contain}
.concert-grid:focus-visible,.backstage-grid:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
}

.hero-controls{display:flex;gap:8px}#motion{min-height:44px}.process{border-top:1px solid var(--line);padding-bottom:60px}.process h2{font:900 clamp(42px,5vw,70px)/1.1 Display,sans-serif;margin:20px 0 35px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;list-style:none;padding:0;margin:0}.process-grid li{border-top:1px solid var(--line);padding-top:20px}.process-grid li>span{color:var(--accent);font-size:13px}.process h3{font:900 30px/1.1 Display,sans-serif;margin:15px 0}.process p{font-size:14px;color:var(--muted);margin:0;max-width:360px}.mobile-contact{display:none}
@media(max-width:700px){.process-grid{grid-template-columns:1fr;gap:22px}.process h3{font-size:26px;margin:8px 0}.process{padding-bottom:40px}.mobile-contact{display:block;position:fixed;z-index:10;bottom:calc(16px + env(safe-area-inset-bottom));right:16px;background:var(--accent);color:#101010;border-radius:30px;padding:13px 20px;box-shadow:0 3px 20px #0006;font-size:14px;min-height:48px}body:has(dialog[open]) .mobile-contact,.mobile-contact.is-hidden{display:none}footer{padding-bottom:100px}.hero-bottom{flex-wrap:wrap;gap:12px}.hero-bottom>span{font-size:10px}.hero-controls{gap:6px}#motion{padding:7px 12px}}

@media(min-width:701px){.concert-grid{grid-template-columns:1.35fr 1fr 1fr;align-items:start}.concert-grid .gallery-item:nth-child(2){margin-top:45px}.concert-grid .gallery-item:nth-child(3){margin-top:90px}.concert-grid .photo-button{aspect-ratio:3/2}.concert-grid .gallery-item:nth-child(n+2) .photo-button{aspect-ratio:2/3}}

@media(max-width:380px){header .wordmark{font-size:23px}nav{gap:9px;font-size:12px}.contact-nav{font-size:11px;padding:8px 10px;white-space:nowrap}}

.preview-notice{padding:14px 5%;background:#dfff00;color:#101010;font-size:14px;text-align:center}

/* On desktop, size the dialog to the actual film instead of a landscape box. */
@media(min-width:701px){#film-dialog{width:calc(var(--film-width, 40.5dvh) + 38px);max-width:94vw}#film-player{height:auto;max-height:72dvh;aspect-ratio:auto}#film-dialog .dialog-header h2{min-width:0;overflow-wrap:anywhere}#film-dialog .dialog-header button{flex-shrink:0}}
