@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#171917;--paper:#f3f1eb;--line:#c9c8c0;--accent:#bd482d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}a:focus-visible{outline:2px solid #b85c3b;outline-offset:5px}.shell{max-width:1460px;margin:auto;padding:0 clamp(22px,5.3vw,92px)}.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{font-family:Manrope,sans-serif;font-size:19px;font-weight:800;text-decoration:none;letter-spacing:-.07em}.nav{display:flex;gap:clamp(18px,3vw,44px)}.nav a{text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.16em;font-weight:700;opacity:.75}.nav a:hover,.nav a.active{opacity:1;text-decoration:underline;text-underline-offset:8px}.kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700}.hero{padding-top:clamp(70px,11vw,155px);padding-bottom:80px}.hero h1{font:800 clamp(76px,13.2vw,214px)/.96 Manrope,sans-serif;letter-spacing:-.103em;margin:19px 0 40px;max-width:1160px}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:35px;flex-wrap:wrap}.lead{font-size:clamp(19px,2.05vw,28px);max-width:660px;line-height:1.4;letter-spacing:-.04em;margin:0}.side-note{font-size:12px;line-height:1.65;max-width:240px;opacity:.7}.rule{border:0;border-top:1px solid var(--line);margin:0}.section{padding:85px 0 110px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:42px}.section-head h2{font:700 clamp(38px,6vw,80px)/1 Manrope,sans-serif;letter-spacing:-.065em;margin:10px 0}.section-head .number{font-size:12px;letter-spacing:.1em;opacity:.6}.feature{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(35px,8vw,150px);align-items:stretch}.feature-visual{background:#dcdfd9;min-height:460px;display:flex;justify-content:space-between;flex-direction:column;padding:36px;background-image:linear-gradient(135deg,#d4d7d1,#e8e9e4 60%,#bbc3bc)}.feature-visual .museum{font:800 clamp(58px,8vw,125px)/.85 Manrope,sans-serif;letter-spacing:-.095em}.feature-visual .small{font-size:13px;letter-spacing:.12em;text-transform:uppercase}.photo-feature{background:none;padding:0;gap:14px;min-height:560px}.photo-stage{position:relative;min-height:420px;flex:1;overflow:hidden;background:#cfd4d2}.photo-main{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-overlay{position:absolute;left:22px;right:22px;bottom:22px;display:flex;align-items:end;justify-content:space-between;gap:20px;padding:18px 20px;background:rgba(243,241,235,.92);backdrop-filter:blur(6px)}.moma-wordmark{width:min(210px,48%);height:auto;display:block}.photo-strip{display:grid;grid-template-columns:1fr 1fr;gap:14px;height:126px}.photo-strip img{width:100%;height:100%;object-fit:cover;display:block;background:#d8d9d4}.feature-copy{display:flex;justify-content:center;flex-direction:column;padding:20px 0}.feature-copy h3{font:700 clamp(38px,4.4vw,67px)/1.1 Manrope,sans-serif;letter-spacing:-.075em;margin:18px 0}.feature-copy p,.body-text{font-size:17px;line-height:1.75;color:#444944;max-width:630px}.text-link{display:inline-flex;gap:24px;align-items:center;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid currentColor;padding:13px 0;align-self:flex-start;margin-top:18px}.text-link:hover{gap:36px}.projects-teaser{background:#17191a;color:#fafaf4;padding:94px 0 110px}.projects-teaser .section-head{margin-bottom:50px}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mini{position:relative;min-height:310px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;padding:28px;background:#282b2c;overflow:hidden}.mini:nth-child(2){background:#4c504e}.mini:nth-child(3){background:#29262a}.mini strong{font:700 34px/1.08 Manrope,sans-serif;letter-spacing:-.055em;max-width:260px}.mini small{letter-spacing:.17em;text-transform:uppercase;font-size:10px}.mini:hover{transform:translateY(-3px);transition:transform .2s}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:35px 0 55px;font-size:12px}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.dark{background:#0d0f10;color:#f0f1ee}.dark .site-header{border-color:#353737}.dark .footer{border-color:#333}.dark .section-head .number{opacity:.65}.work-intro{padding-top:85px;padding-bottom:65px}.work-intro h1{font:800 clamp(83px,15vw,210px)/.9 Manrope,sans-serif;letter-spacing:-.105em;margin:18px 0 32px}.work-intro p{max-width:780px;color:#a6aaa7;font-size:18px;line-height:1.7}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 52px}.filter-row button{border:1px solid #555;color:#e9e9e6;background:transparent;padding:10px 17px;border-radius:30px;font:600 12px DM Sans;cursor:pointer}.filter-row button.active,.filter-row button:hover{background:#f1f1e9;color:#101111}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;padding-bottom:120px}.project{display:flex;flex-direction:column;text-decoration:none;min-width:0}.project-visual{height:clamp(230px,28vw,420px);background:#222729;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:36px;position:relative}.project-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.project-visual .project-type{position:absolute;top:24px;left:26px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#fff;background:#1119;padding:7px 9px}.project-visual .wordmark{font:800 clamp(42px,5.5vw,85px)/.95 Manrope,sans-serif;letter-spacing:-.08em;max-width:90%;color:#f4f2e9;text-align:center}.project:nth-child(4n+2) .project-visual{background:#5a5955}.project:nth-child(4n+3) .project-visual{background:#2c3f42}.project:nth-child(4n+4) .project-visual{background:#5a4946}.project h2{font:700 clamp(22px,2.5vw,34px)/1.2 Manrope,sans-serif;letter-spacing:-.05em;margin:17px 0 4px}.project p{font-size:14px;line-height:1.6;color:#b3b6b4;max-width:660px;margin:6px 0 18px}.project .meta{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#aaa}.project-visual:hover img{transform:scale(1.04);transition:transform .4s}.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;padding:110px 0 100px}.about-intro h1{font:800 clamp(65px,9vw,145px)/.97 Manrope,sans-serif;letter-spacing:-.095em;margin:0}.about-intro .body-text{margin-top:14px}.about-intro .body-text p{margin:0 0 20px}.about-intro .contact{font:700 25px Manrope;letter-spacing:-.035em;word-break:break-all}.timeline{padding:65px 0 105px}.timeline h2{font:700 48px Manrope;letter-spacing:-.06em;margin:0 0 40px}.timeline-item{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:28px 0}.timeline-item strong{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.timeline-item span{font-size:19px;line-height:1.5}.small-link{display:inline-block;font-size:14px;text-decoration:underline;text-underline-offset:5px}.hide{display:none!important}@media(max-width:800px){.feature,.about-intro{grid-template-columns:1fr;gap:40px}.feature-visual{min-height:330px}.photo-feature{min-height:auto}.photo-stage{min-height:340px}.photo-overlay{flex-direction:column;align-items:flex-start}.photo-strip{height:100px}.mini-grid,.work-grid{grid-template-columns:1fr}.site-header{height:75px}.hero{padding-bottom:75px}.section{padding:75px 0}.projects-teaser{padding:75px 0}.work-intro{padding-top:65px}.work-grid{padding-bottom:75px}.about-intro{padding:75px 0}.timeline-item{grid-template-columns:1fr;gap:12px}.footer{flex-wrap:wrap}}@media(max-width:470px){.nav{gap:15px}.nav a{letter-spacing:.05em;font-size:10px}.brand{font-size:17px}.hero h1{font-size:clamp(64px,14vw,90px)}.section-head h2{font-size:40px}.work-intro h1{font-size:75px}.project-visual{height:260px}.site-header{gap:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
/* Clickable project presentation */
.project-open{display:block;color:inherit;text-decoration:none}.project-open:focus-visible{outline:2px solid #fff;outline-offset:3px}.project-cta{font-size:11px;font-weight:700;letter-spacing:.16em;text-decoration:none;border-bottom:1px solid #8d9290;padding-bottom:6px;align-self:flex-start;margin-top:auto}.project-cta:hover{color:#fff;border-color:#fff}.moma-card-wordmark{width:70%!important;height:auto!important;max-height:180px!important;object-fit:contain!important;position:static!important;filter:invert(1)}.detail-wrap{padding:68px 0 110px;max-width:1160px;margin:auto}.detail-back{font-size:11px;letter-spacing:.17em;font-weight:700;text-decoration:none;color:#e5e8e5}.detail-back:hover{text-decoration:underline;text-underline-offset:6px}.detail-title{font:800 clamp(52px,9vw,130px)/.98 Manrope,sans-serif;letter-spacing:-.085em;max-width:1100px;margin:22px 0 52px;overflow-wrap:break-word}.detail-media{height:clamp(330px,55vw,660px);background:linear-gradient(135deg,#343d40,#242528 65%,#3b3436);display:flex;justify-content:center;align-items:center;padding:50px}.detail-media img{height:100%;max-width:100%;object-fit:contain}.detail-media-title{font:800 clamp(48px,8vw,110px)/1.05 Manrope,sans-serif;letter-spacing:-.075em;text-align:center;max-width:950px}.detail-info{display:grid;grid-template-columns:1fr 2fr;gap:60px;border-top:1px solid #424646;margin-top:52px;padding-top:32px}.detail-role{font-size:20px;margin-top:14px}.detail-info p{font-size:clamp(19px,2.1vw,28px);line-height:1.55;color:#d4d6d2;margin:18px 0 20px}.detail-end{border-top:1px solid #424646;margin-top:110px;padding-top:26px;display:flex;justify-content:space-between;gap:30px;color:#9a9d9a;font-size:13px}.detail-end p{margin:0}.detail-end .detail-back{flex-shrink:0}@media(max-width:700px){.detail-wrap{padding:45px 0 70px}.detail-title{margin-bottom:30px}.detail-media{padding:24px;min-height:340px}.detail-info{grid-template-columns:1fr;gap:25px}.detail-end{flex-direction:column;margin-top:70px}}

/* Version 7: editable visual placeholders, designed as intentional layouts */
.image-slot {position:relative;overflow:hidden;background:repeating-linear-gradient(135deg,#dedbd3 0,#dedbd3 2px,#e5e2db 2px,#e5e2db 32px);border:1px solid #c7c2b7;min-height:250px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;color:#57574f;}
.slot-label,.slot-hint,.project-placeholder-label,.detail-slot-label {font-size:10px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;}
.slot-mark {font:800 clamp(42px,6vw,90px)/.92 Manrope,sans-serif;letter-spacing:-.08em;color:#aaa69d;}
.slot-mark span {font-size:15px;letter-spacing:0;}
.portrait-slot{margin-top:48px;min-height:400px;max-width:450px;aspect-ratio:4/5;}
.mini{gap:20px;min-height:400px;}.mini-image-slot{display:flex;flex-direction:column;justify-content:space-between;min-height:175px;padding:16px;border:1px solid rgba(255,255,255,.2);background:repeating-linear-gradient(-45deg,rgba(255,255,255,.06),rgba(255,255,255,.06) 2px,transparent 2px,transparent 24px);font-size:9px;letter-spacing:.15em;font-style:normal;color:rgba(255,255,255,.65);}.mini-image-slot i{font-style:normal;align-self:flex-end}.mini strong{display:block;min-height:70px}
.music-feature{background:#e6e3db;color:#171917;padding:85px 0;border-top:1px solid #c9c8c0;border-bottom:1px solid #c9c8c0}.music-feature-inner{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:8vw}.music-feature h2{font:800 clamp(44px,6vw,82px)/1 Manrope,sans-serif;letter-spacing:-.07em;margin:18px 0}.music-feature p{max-width:530px;font-size:20px;line-height:1.5;margin-bottom:30px}.music-feature-art{text-decoration:none}.music-slot{aspect-ratio:1;min-height:320px}.music-slot .slot-mark{color:#a6a096}
.project-visual.is-placeholder{position:relative}.project-placeholder-label{position:absolute;top:20px;left:22px;color:rgba(255,255,255,.52);z-index:1}.detail-media.is-placeholder{position:relative;background:repeating-linear-gradient(135deg,#242629,#242629 3px,#2c2f32 3px,#2c2f32 40px)}.detail-slot-label{position:absolute;top:24px;left:25px;color:#a6a8a7}.detail-media.is-placeholder .detail-media-title{max-width:850px}.archive-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 45px}.archive-shot{min-height:240px;aspect-ratio:5/3;background:repeating-linear-gradient(135deg,#35383b,#35383b 2px,#3d4042 2px,#3d4042 35px);border-color:#5b6062;color:#b0b4b3}.archive-shot .slot-mark{color:#62686a}
@media(max-width:760px){.music-feature-inner,.archive-gallery{grid-template-columns:1fr}.music-feature{padding:65px 0}.portrait-slot{max-width:100%}.mini{min-height:340px}.mini-image-slot{min-height:130px}}

/* Project films and detailed production notes */
.detail-video{margin:26px 0 34px}.detail-video .video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#050505;overflow:hidden}.detail-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.detail-video-caption{font-size:.88rem;color:#afb3b4;padding-top:12px}.detail-info .detail-overview p{margin:0 0 18px;line-height:1.75}.detail-credit-lines{margin:16px 0 20px;padding:0;list-style:none;line-height:1.85;color:#d7dad9}.detail-credit-lines strong{color:#fff}.detail-press{display:flex;flex-wrap:wrap;gap:12px 24px;margin:22px 0 12px}.detail-press a{color:#dbe1df;text-decoration:underline;text-underline-offset:5px}.festival-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:25px 0}.festival-stats>div{border-top:1px solid #5b6062;padding-top:13px}.festival-stats strong{display:block;font-size:clamp(1.4rem,3vw,2.6rem);font-weight:500}.festival-stats span{display:block;font-size:.78rem;color:#b9bebe;margin-top:5px}.detail-press-heading{color:#b9bebe;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;margin-top:25px}@media(max-width:700px){.festival-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Portfolio V15: original, user-supplied project photography */
.has-portfolio-image{color:transparent!important;overflow:hidden;background-color:#171a1e!important;}
.mini-image-slot.has-portfolio-image{min-height:180px;}
.project-visual.has-portfolio-image{min-height:240px;}
.detail-media.has-portfolio-image{min-height:420px;}
.archive-shot.has-portfolio-image{min-height:230px;}
.portrait-slot.has-portfolio-image{min-height:300px;}
.music-slot.has-portfolio-image{min-height:300px;}
@media(max-width:650px){.detail-media.has-portfolio-image{min-height:300px;}.music-slot.has-portfolio-image{min-height:240px;}}

/* V17: image credits and archival event photography */
.image-credit{font-size:12px;line-height:1.5;color:#777b7c;letter-spacing:.015em;margin:10px 0 16px;}
.dark .image-credit{color:#b2b9bb;}
.portrait-credit{max-width:450px;}
.clamor-credit{text-align:right;margin-top:9px;color:#666b69;}
.card-image-credit{font-size:11px;margin:9px 0 2px;color:#aeb6b7;}
.archive-gallery .image-credit{grid-column:1/-1;margin-top:-10px;}
.event-photo{margin:0;background:#111;align-self:start;}
.event-photo img{width:100%;height:auto;display:block;object-fit:contain;}
