:root {
  --bg: #070707;
  --fg: #f3f3f0;
  --muted: #aaa;
  --line: #3a3a3a;
  --max: 1440px;
  --gutter: clamp(24px, 5vw, 76px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; background: var(--bg); color: var(--fg); font-family: Arial, Helvetica, sans-serif; font-weight: 300; letter-spacing: .01em; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
.site-header { width: min(calc(100% - 2*var(--gutter)), var(--max)); margin: 0 auto; min-height: 128px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.brand { justify-self: start; }
.brand img { width: 48px; height: 68px; object-fit: contain; }
.site-nav { justify-self: center; }
.nav-list { list-style: none; display: flex; gap: clamp(32px, 5vw, 74px); padding: 0; margin: 0; }
.nav-list a { font-size: 12px; letter-spacing: .34em; }
.nav-list a:hover { opacity: .55; }
.menu-toggle { display: none; background: none; color: var(--fg); border: 1px solid var(--line); padding: 10px 14px; letter-spacing: .2em; }
.section-shell { width: min(calc(100% - 2*var(--gutter)), var(--max)); margin: 0 auto; }
.hero { min-height: 650px; display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px, 8vw, 130px); align-items: center; padding: 58px 0 110px; }
.hero-copy h1 { margin: 0; max-width: 690px; font-size: clamp(44px, 5vw, 86px); line-height: .98; font-weight: 500; letter-spacing: .075em; }
.hero-copy p { color: var(--muted); font-size: clamp(17px, 1.3vw, 22px); line-height: 1.6; max-width: 560px; }
.rule { display: block; width: 48px; border-top: 1px solid #aaa; margin: 36px 0 28px; }
.hero-image { margin: 0; align-self: stretch; display: flex; align-items: center; }
.hero-image img { width: 100%; max-height: 570px; object-fit: cover; object-position: center 28%; filter: grayscale(1) contrast(1.08); }
.work-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 120px clamp(70px, 12vw, 190px); padding: 10px 0 120px; }
.work-card { min-width: 0; }
.work-card:nth-child(2n) { margin-top: 30px; }
.eyebrow { display: grid; gap: 12px; margin-bottom: 20px; font-size: 12px; letter-spacing: .34em; }
.work-image-link { display: block; overflow: hidden; }
.work-image-link img { width: 100%; aspect-ratio: 16/10; object-fit: cover; transition: transform .7s ease, filter .7s ease; }
.work-card:hover img { transform: scale(1.015); filter: brightness(.9); }
.arrow-link { display: inline-block; font-size: 30px; margin-top: 16px; }
.site-footer { width: min(calc(100% - 2*var(--gutter)), var(--max)); margin: 0 auto; border-top: 1px solid var(--line); padding: 34px 0 52px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; color: var(--muted); font-size: 10px; letter-spacing: .18em; }
.site-footer > :nth-child(2){ text-align:center; }.footer-links{justify-self:end;display:flex;gap:20px}
.page-intro { padding: 100px 0 80px; }.narrow{max-width:900px}.kicker{font-size:11px;letter-spacing:.35em;color:var(--muted);text-transform:uppercase}.page-intro h1,.project-header h1,.about-copy h1,.contact-page h1{font-size:clamp(52px,7vw,110px);line-height:.95;font-weight:500;letter-spacing:.04em;margin:18px 0 30px}.prose,.project-content{font-size:18px;line-height:1.75;color:#d4d4d4}.prose p,.project-content p{max-width:780px}.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:100px 70px;padding-bottom:120px}.archive-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.archive-meta{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.archive-meta h2{font-size:18px;letter-spacing:.08em;font-weight:400}.single-project{padding:90px 0 120px}.project-header{max-width:900px;margin-bottom:70px}.lede{font-size:20px;color:var(--muted);line-height:1.6}.project-hero{margin:0 0 80px}.project-hero img{width:100%;max-height:78vh;object-fit:contain;background:#000}.project-content{max-width:1050px;margin:0 auto}.project-content .wp-block-image{margin:70px 0}.about-page{display:grid;grid-template-columns:minmax(300px,.9fr) 1.1fr;gap:clamp(60px,10vw,170px);padding:80px 0 130px;align-items:start}.about-photo img{width:100%;filter:grayscale(1);}.about-copy{padding-top:40px}.contact-page{padding:120px 0 180px}.contact-cta{font-size:clamp(24px,3vw,40px);margin-top:60px}.text-link{border-bottom:1px solid #777}.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media (max-width: 900px){
  .site-header{min-height:100px;grid-template-columns:1fr auto}.site-nav{position:fixed;inset:0 0 auto 0;background:#080808;padding:120px 28px 40px;transform:translateY(-110%);transition:.3s;z-index:10}.site-nav.is-open{transform:none}.nav-list{flex-direction:column;gap:28px}.menu-toggle{display:block;justify-self:end;z-index:20}.hero{grid-template-columns:1fr;gap:45px;min-height:auto;padding:50px 0 90px}.hero-image{order:-1}.hero-image img{max-height:58vh}.work-grid,.archive-grid,.about-page{grid-template-columns:1fr}.work-grid{gap:82px}.work-card:nth-child(2n){margin-top:0}.site-footer{grid-template-columns:1fr;line-height:1.7}.site-footer > :nth-child(2){text-align:left}.footer-links{justify-self:start}.about-page{gap:50px}.archive-grid{gap:70px}.brand img{width:42px;height:60px}
}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}

/* DANCE — curated gallery, deliberately not an archive grid */
.dance-intro{padding:100px 0 40px}.dance-intro h1{font-size:clamp(64px,10vw,150px);line-height:.88;font-weight:500;letter-spacing:.06em;margin:18px 0 24px}.dance-subtitle{margin:0;color:var(--muted);font-size:14px;letter-spacing:.18em}.dance-gallery{padding:80px 0 180px;display:flex;flex-direction:column;gap:clamp(100px,13vw,210px)}.dance-item{position:relative;margin:0;max-width:100%}.dance-item img{width:100%;height:auto;display:block}.dance-small{width:min(48%,660px)}.dance-medium{width:min(68%,930px)}.dance-large{width:min(92%,1260px)}.dance-left{align-self:flex-start}.dance-center{align-self:center}.dance-right{align-self:flex-end}.dance-item.has-info{cursor:pointer;outline:none}.dance-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;padding:clamp(18px,3vw,38px);background:linear-gradient(to top,rgba(0,0,0,.74),rgba(0,0,0,.06) 52%,rgba(0,0,0,0));opacity:0;transition:opacity .28s ease;color:#fff;pointer-events:none}.dance-caption strong{font-size:clamp(14px,1.3vw,18px);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.dance-caption span{font-size:12px;line-height:1.5;letter-spacing:.08em;color:#d6d6d6}.dance-item.has-info:hover .dance-caption,.dance-item.has-info:focus .dance-caption,.dance-item.has-info.is-caption-open .dance-caption{opacity:1}.dance-item.has-info:hover img,.dance-item.has-info:focus img,.dance-item.has-info.is-caption-open img{filter:brightness(.84)}
@media (max-width:900px){.dance-intro{padding:70px 0 20px}.dance-gallery{padding:60px 0 120px;gap:90px}.dance-small{width:72%}.dance-medium{width:88%}.dance-large{width:100%}.dance-caption{opacity:0}.dance-item.is-caption-open .dance-caption{opacity:1}}

/* 0.3 — PEOPLE / STORIES / ABOUT / CONTACT */
.gallery-intro{padding:100px 0 35px}.gallery-intro h1{font-size:clamp(64px,10vw,150px);line-height:.88;font-weight:500;letter-spacing:.06em;margin:18px 0 24px}.gallery-subtitle{margin:0;color:var(--muted);font-size:14px;letter-spacing:.18em}
.people-gallery,.stories-gallery{padding:80px 0 180px;display:flex;flex-direction:column;gap:clamp(95px,12vw,190px)}
.portfolio-item,.story-item{position:relative;margin:0;overflow:hidden;outline:none}.portfolio-item img,.story-item img{width:100%;height:auto;transition:filter .3s ease,transform .6s ease}
.people-small{width:min(46%,620px)}.people-medium{width:min(67%,900px)}.people-large{width:min(88%,1220px)}
.left{align-self:flex-start}.right{align-self:flex-end}.center{align-self:center}
.portfolio-caption,.story-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;padding:clamp(18px,3vw,38px);background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.04) 58%,transparent);opacity:0;transition:opacity .28s ease;pointer-events:none}
.portfolio-caption span,.story-overlay span{font-size:12px;letter-spacing:.09em;color:#d7d7d7}.portfolio-caption .meta-placeholder,.story-overlay strong{font-size:14px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:#fff}
.portfolio-item:hover .portfolio-caption,.portfolio-item:focus .portfolio-caption,.story-item:hover .story-overlay,.story-item:focus .story-overlay{opacity:1}.portfolio-item:hover img,.story-item:hover img{filter:brightness(.82);transform:scale(1.008)}
.story-hero{width:min(94%,1320px)}.story-medium{width:min(65%,900px)}.story-wide{width:min(82%,1140px)}.story-square{width:min(52%,700px)}
.about-editorial{align-items:start}.about-photo{position:sticky;top:36px}.about-photo img{filter:none;max-height:72vh;object-fit:contain;margin:8vh 0}.image-note{font-size:10px;letter-spacing:.12em;color:#666;margin-top:10px}.about-manifesto{font-size:clamp(23px,2.2vw,34px);line-height:1.35;margin:0 0 58px}.about-signoff{font-size:clamp(34px,4vw,62px);line-height:1.08;margin:90px 0 0;letter-spacing:.025em}
.contact-page h1{font-size:clamp(70px,11vw,160px)}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-top:65px}.contact-cta{font-size:clamp(24px,3vw,40px);margin:0;border-bottom:1px solid #777;padding-bottom:6px}.contact-secondary{font-size:12px;letter-spacing:.18em;color:var(--muted)}
@media(max-width:900px){.gallery-intro{padding:70px 0 20px}.people-gallery,.stories-gallery{padding:60px 0 120px;gap:85px}.people-small,.people-medium,.people-large,.story-hero,.story-medium,.story-wide,.story-square{width:100%}.about-photo{position:static}.about-photo img{transform:none;max-height:none;margin:0}.image-note{display:none}.portfolio-caption,.story-overlay{opacity:0}.portfolio-item:focus .portfolio-caption,.story-item:focus .story-overlay{opacity:1}}

/* About — WordPress editor has control over typography */
.about-editable{
  max-width:62ch;
}
.about-editable p{
  margin:0 0 1.2rem;
  line-height:1.65;
}
.about-editable h2,
.about-editable h3,
.about-editable h4{
  margin:2.4rem 0 1rem;
  line-height:1.12;
}
.about-editable .has-small-font-size{font-size:.86rem;}
.about-editable .has-medium-font-size{font-size:1rem;}
.about-editable .has-large-font-size{font-size:clamp(1.2rem,1.5vw,1.45rem);}
.about-editable .has-x-large-font-size{font-size:clamp(1.45rem,2vw,1.9rem);}
.about-editable .has-text-align-center{text-align:center;}
.about-editable .has-text-align-right{text-align:right;}
.about-editable strong{font-weight:600;}
.about-editable .wp-block-spacer{display:block;}


/* Fixed home logo: remains available while scrolling */
.site-header .brand,
.site-header .site-logo,
.site-header .custom-logo-link{
  position:fixed;
  top:clamp(18px,2.2vw,34px);
  left:clamp(18px,3vw,48px);
  z-index:1000;
}
.site-header .brand img,
.site-header .site-logo img,
.site-header .custom-logo{
  display:block;
}
@media (max-width:700px){
  .site-header .brand,
  .site-header .site-logo,
  .site-header .custom-logo-link{
    top:16px;
    left:16px;
  }
}

/* Contact editor content */
.contact-editable{
  max-width:62ch;
}
.contact-editable p{
  margin:0 0 1.2rem;
  line-height:1.65;
}
.contact-editable h2,
.contact-editable h3{
  margin:2.4rem 0 1rem;
  line-height:1.12;
}
.contact-cta{
  margin-top:2.5rem;
}
.contact-cta a{
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:.15em;
}
