:root { --ink:#090a0d; --paper:#eee9df; --muted:#aaa49c; --gold:#c39b61; --line:rgba(238,233,223,.2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font:16px/1.55 Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.eyebrow { margin:0; color:var(--gold); font:11px "DM Mono",monospace; letter-spacing:.1em; }
.site-nav { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:25px clamp(22px,5vw,78px); border-bottom:1px solid var(--line); }
.wordmark { font:500 17px "DM Mono",monospace; letter-spacing:.08em; }
.site-nav div { display:flex; gap:24px; font:11px "DM Mono",monospace; letter-spacing:.06em; }
.site-nav a:hover { color:var(--gold); }
.project-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr); min-height:620px; }
.project-hero-copy { display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(65px,9vw,140px) clamp(22px,8vw,125px); }
.project-number { color:var(--gold); font:11px "DM Mono",monospace; letter-spacing:.1em; margin-bottom:50px; }
h1,h2,h3 { font-family:"Playfair Display",Georgia,serif; font-weight:500; letter-spacing:-.045em; }
h1 { max-width:760px; margin:13px 0 25px; font-size:clamp(58px,8vw,130px); line-height:.9; }
h1 em,h2 em { color:var(--gold); font-weight:500; }
.project-intro { max-width:510px; margin:0; color:rgba(238,233,223,.72); font-size:18px; }
.project-hero-image { min-height:520px; overflow:hidden; }
.project-hero-image img { width:100%; height:100%; display:block; object-fit:cover; }
.project-body { padding:clamp(75px,10vw,145px) clamp(22px,8vw,125px); background:#151419; }
.project-details { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); gap:45px; max-width:1100px; }
.project-details h2 { margin:0; font-size:clamp(38px,5vw,68px); line-height:1; }
.project-details p:not(.eyebrow) { margin:0; max-width:590px; color:rgba(238,233,223,.73); font-size:18px; }
.project-gallery { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; padding:0 clamp(22px,8vw,125px) clamp(82px,10vw,135px); background:#151419; }
.project-gallery figure { min-height:420px; margin:0; overflow:hidden; background:#242129; }
.project-gallery figure:first-child { grid-row:span 2; min-height:790px; }
.project-gallery img { width:100%; height:100%; display:block; object-fit:cover; }
.gallery-caption { padding:14px 0 0; color:var(--muted); font:11px "DM Mono",monospace; letter-spacing:.07em; }
.project-footer { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:28px clamp(22px,5vw,78px); background:var(--paper); color:var(--ink); }
.project-footer a { font:11px "DM Mono",monospace; letter-spacing:.06em; }
.project-footer a:hover { color:#8a6839; }
.archive-hero { padding:clamp(80px,11vw,160px) clamp(22px,8vw,125px) clamp(65px,8vw,110px); }
.archive-hero h1 { max-width:900px; }
.archive-hero p:not(.eyebrow) { max-width:520px; color:rgba(238,233,223,.72); font-size:18px; }
.archive-list { padding:0 clamp(22px,8vw,125px) clamp(90px,12vw,165px); }
.archive-item { display:grid; grid-template-columns:80px minmax(0,1fr) minmax(190px,.42fr) 32px; gap:25px; align-items:center; padding:28px 0; border-top:1px solid var(--line); transition:padding .25s ease,color .25s ease; }
.archive-item:hover { padding-left:12px; color:var(--gold); }
.archive-item:last-child { border-bottom:1px solid var(--line); }
.archive-item b { color:var(--gold); font:11px "DM Mono",monospace; font-weight:400; letter-spacing:.08em; }
.archive-item h2 { margin:0; font-size:clamp(28px,3.5vw,49px); line-height:1; }
.archive-item p { margin:0; color:var(--muted); font-size:13px; }
.archive-item i { font-size:22px; font-style:normal; }
.dance-hero { min-height:720px; position:relative; display:flex; align-items:flex-end; overflow:hidden; }
.dance-hero-media { position:absolute; inset:0; width:100%; height:100%; }
.dance-hero-media { overflow:hidden; background:#090a0d; }
.dance-hero-media img,.dance-hero-media iframe { position:absolute; top:50%; left:50%; display:block; width:100%; height:100%; border:0; transform:translate(-50%,-50%); }
.dance-hero-media img { object-fit:cover; }
.dance-hero-media iframe { width:177.78vh; min-width:100%; height:56.25vw; min-height:100%; pointer-events:none; }
.dance-intro { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr); gap:clamp(35px,7vw,110px); padding:clamp(75px,10vw,145px) clamp(22px,8vw,125px); background:#151419; }
.dance-intro h2 { margin:0; font-size:clamp(42px,5.4vw,76px); line-height:.98; }
.dance-intro p:not(.eyebrow) { max-width:620px; margin:0; color:rgba(238,233,223,.75); font-size:18px; }
.dance-film { display:grid; grid-template-columns:1.15fr .85fr; background:#eee9df; color:#090a0d; }
.dance-film-media { min-height:560px; position:relative; overflow:hidden; }
.dance-film-media img { width:100%; height:100%; display:block; object-fit:cover; }
.dance-film-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(55px,8vw,125px); }
.dance-film-copy h2 { margin:0 0 24px; font-size:clamp(42px,5vw,72px); line-height:.98; }
.dance-film-copy p:not(.eyebrow) { max-width:420px; margin:0 0 26px; color:#514d47; }
.dance-film-links { display:flex; flex-wrap:wrap; gap:12px 22px; }
.dance-film-links a { padding-bottom:5px; border-bottom:1px solid currentColor; font:11px "DM Mono",monospace; letter-spacing:.05em; }
.dance-film-links a:hover { color:#8a6839; }
.dance-artists { padding:clamp(78px,11vw,150px) clamp(22px,8vw,125px); background:#101218; }
.dance-artists-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:52px; }
.dance-artists-heading h2 { max-width:680px; margin:0; font-size:clamp(48px,6.5vw,94px); line-height:.93; }
.dance-artists-heading > p { max-width:360px; margin:0; color:rgba(238,233,223,.7); }
.dance-people { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.dance-person { background:#1a1821; }
.dance-person figure { margin:0; aspect-ratio:4 / 5; overflow:hidden; background:#29262c; }
.dance-person figure img { width:100%; height:100%; display:block; object-fit:cover; }
.dance-person:first-child figure img { object-position:center 30%; }
.dance-person:last-child figure img { object-position:center 50%; }
.dance-person-copy { padding:28px clamp(24px,4vw,50px) 40px; }
.dance-person-copy h3 { margin:0 0 9px; font-size:clamp(31px,3.3vw,49px); line-height:1; }
.dance-person-copy > p { max-width:590px; margin:0; color:rgba(238,233,223,.72); }
.dance-person details { margin-top:23px; border-top:1px solid rgba(238,233,223,.22); }
.dance-person summary { display:flex; justify-content:space-between; gap:18px; padding:14px 0 2px; cursor:pointer; list-style:none; color:#c39b61; font:11px "DM Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }
.dance-person summary::-webkit-details-marker { display:none; }
.dance-person summary span { font-size:18px; line-height:1; }
.dance-person details[open] summary span { transform:rotate(45deg); }
.dance-person .full-bio { padding:18px 0 0; }
.dance-person .full-bio p { margin:0 0 17px; color:rgba(238,233,223,.7); }
@media (max-width:720px) { .dance-hero { min-height:620px; } .dance-intro,.dance-film,.dance-people { grid-template-columns:1fr; } .dance-film-media { min-height:390px; } .dance-artists-heading { display:block; } .dance-artists-heading > p { margin-top:24px; } .dance-person figure { aspect-ratio:3 / 4; } .work-card-actions { gap:0 16px; } }
@media (max-width:720px) { .site-nav div { gap:14px; } .site-nav div a:not(:last-child) { display:none; } .project-hero { grid-template-columns:1fr; } .project-hero-image { min-height:440px; } .project-details { grid-template-columns:1fr; gap:26px; } .project-gallery { grid-template-columns:1fr; } .project-gallery figure:first-child { grid-row:auto; min-height:520px; } .project-gallery figure { min-height:420px; } .archive-item { grid-template-columns:42px minmax(0,1fr) 22px; gap:16px; } .archive-item p { display:none; } }
