:root { --ink: #0d0d0d; --paper: #ece8df; --acid: #d7ff38; --red: #9e1d19; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.site-header { position: absolute; z-index: 20; inset: 0 0 auto; height: 84px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 3vw; border-bottom: 1px solid rgba(236,232,223,.22); text-transform: uppercase; font-size: 11px; letter-spacing: .16em; }
.wordmark { font-size: 23px; font-weight: 800; letter-spacing: -.06em; }
.wordmark span { font-size: 7px; vertical-align: top; margin-left: 3px; }
.site-header nav { display: flex; gap: 32px; }
.site-header nav a, .header-contact { transition: opacity .2s ease; }
.site-header nav a:hover, .header-contact:hover { opacity: .55; }
.header-contact { justify-self: end; border-bottom: 1px solid currentColor; padding-bottom: 4px; }

.hero { min-height: 100svh; position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 108px 3vw 3vw; }
.hero-kicker, .section-heading { display: flex; justify-content: space-between; text-transform: uppercase; font-size: 10px; letter-spacing: .18em; }
.hero h1 { position: relative; z-index: 3; margin: 4vh 0 0; font-size: clamp(4.8rem,13.8vw,14rem); letter-spacing: -.085em; line-height: .76; text-transform: uppercase; font-weight: 800; }
.hero h1 em { display: block; margin-left: 17vw; color: var(--acid); font-family: Georgia,'Times New Roman',serif; font-weight: 400; text-transform: none; }
.hero-bottom { position: relative; z-index: 4; margin-top: auto; display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; text-transform: uppercase; font-size: 12px; letter-spacing: .08em; line-height: 1.35; }
.hero-thesis { color: var(--acid); }
.circle-link { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 24px; transition: background .2s,color .2s,transform .2s; }
.circle-link:hover { background: var(--paper); color: var(--ink); transform: rotate(8deg); }
.hero-art { position: absolute; width: min(40vw,580px); aspect-ratio: 4/5; right: 11vw; bottom: 0; overflow: hidden; box-shadow: 0 0 0 1px rgba(255,255,255,.12); }
.hero-art img { width:100%; height:100%; object-fit:cover; object-position:50% 45%; filter:saturate(.88) contrast(1.08); }
.hero-art::before { content:''; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 45%,rgba(0,0,0,.42)); pointer-events:none; }
.art-label,.art-note { position:absolute; z-index:2; text-transform:uppercase; font-size:9px; letter-spacing:.15em; }
.art-label { top:15px; left:15px; }.art-note { right:15px; bottom:15px; writing-mode:vertical-rl; }

.statement { background:var(--acid); color:var(--ink); padding:10vw 3vw; font-size:clamp(3.3rem,9.4vw,10rem); line-height:.84; letter-spacing:-.07em; text-transform:uppercase; }
.statement p { margin:0; }.statement p:nth-child(2) { text-align:center; }.statement p:nth-child(3) { text-align:right; }
.statement em,.contact em { font-family:Georgia,'Times New Roman',serif; font-weight:400; text-transform:none; }

.selected,.about { background:var(--paper); color:var(--ink); padding:28px 3vw 9vw; }
.section-heading { padding-bottom:24px; border-bottom:1px solid rgba(13,13,13,.32); }
.photo-grid { columns:2; column-gap:2vw; padding-top:5vw; }
.photo-card { break-inside:avoid; margin:0 0 6vw; }
.photo-frame { position:relative; margin:0; overflow:hidden; background:#d8d2c8; }
.photo-frame img { display:block; width:100%; height:auto; filter:saturate(.82) contrast(1.05); transition:filter .35s ease,transform .5s ease; }
.photo-card:hover .photo-frame img { filter:saturate(1) contrast(1.02); transform:scale(1.012); }
.photo-frame::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 64%,rgba(0,0,0,.48)); pointer-events:none; }
.photo-frame figcaption { position:absolute; z-index:2; left:16px; bottom:16px; color:#fff; font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.photo-card h2 { font-size:clamp(1.2rem,2vw,2.2rem); font-weight:400; margin:14px 0 0; letter-spacing:-.04em; }
.asset-note { margin:10vw 0 0 auto; max-width:420px; color:#6b6760; font-size:11px; line-height:1.5; text-transform:uppercase; letter-spacing:.09em; }

.behind { padding:28px 3vw 10vw; background:#161616; }
.behind-intro { display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; align-items:end; padding:6vw 0; }
.behind-intro h2 { margin:0; font-size:clamp(3.2rem,7.2vw,7.8rem); line-height:.86; letter-spacing:-.065em; text-transform:uppercase; }
.behind-intro h2 em { color:var(--acid); font-family:Georgia,'Times New Roman',serif; font-weight:400; text-transform:none; }
.behind-intro p { margin:0; max-width:500px; color:#aaa59e; font-size:14px; line-height:1.65; }
.behind-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4vw 1.25vw; }
.behind-card { margin:0; }
.behind-card img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; filter:saturate(.72) contrast(1.08); transition:filter .3s ease; }
.behind-card:nth-child(1) img,.behind-card:nth-child(6) img { object-position:center; }
.behind-card:hover img { filter:saturate(1) contrast(1.03); }
.behind-card figcaption { display:flex; justify-content:space-between; gap:20px; padding-top:12px; color:#aaa59e; text-transform:uppercase; font-size:9px; letter-spacing:.15em; }
.behind-card figcaption span { color:var(--acid); }

.films { padding:28px 3vw 10vw; }.light-heading { border-color:rgba(236,232,223,.26); }
.film-stage { padding-top:5vw; display:grid; grid-template-columns:1.2fr .8fr; gap:6vw; align-items:end; }
.film-frame { min-height:66vh; position:relative; overflow:hidden; background:linear-gradient(130deg,#171b26,#4b1114 62%,#b16c42); display:flex; flex-direction:column; justify-content:space-between; padding:24px; }
.film-frame>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.72) contrast(1.08) brightness(.72); }
.film-frame::before { content:''; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 44%,rgba(0,0,0,.62)); }
.film-frame p,.film-frame button { position:relative; z-index:2; }.film-frame p { margin:0; text-transform:uppercase; font-size:11px; letter-spacing:.13em; }.film-frame p span { color:rgba(255,255,255,.55); }
.film-frame button { align-self:flex-end; color:var(--paper); background:transparent; border:1px solid rgba(255,255,255,.6); padding:13px 16px; text-transform:uppercase; font-size:10px; letter-spacing:.15em; opacity:.75; }.film-frame button span { margin-left:40px; }
.eyebrow { text-transform:uppercase; font-size:10px; letter-spacing:.16em; }
.film-copy h2 { margin:30px 0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.5rem,4.6vw,5rem); font-weight:400; line-height:.98; letter-spacing:-.05em; }
.film-copy>p:last-child { max-width:520px; color:#aca79f; line-height:1.65; font-size:14px; }

.about-grid { display:grid; grid-template-columns:1.05fr .44fr .62fr; gap:3vw; padding:7vw 0 9vw; align-items:end; }
.about-lede { margin:0; font-size:clamp(2.7rem,5.5vw,6rem); line-height:.98; letter-spacing:-.06em; }
.about-portrait { margin:0; align-self:stretch; min-height:420px; overflow:hidden; }
.about-portrait img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.08); }
.about-body { align-self:end; max-width:480px; line-height:1.65; font-size:15px; }.about-body p { margin:0 0 22px; }.verification-note { color:#77716a; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.disciplines { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(13,13,13,.32); border-bottom:1px solid rgba(13,13,13,.32); }
.disciplines span { padding:22px 14px; border-right:1px solid rgba(13,13,13,.32); text-transform:uppercase; font-size:10px; letter-spacing:.14em; }.disciplines span:last-child { border:0; }

.contact { min-height:88vh; padding:7vw 3vw 3vw; display:flex; flex-direction:column; background:var(--red); }
.contact h2 { margin:6vh 0; font-size:clamp(5rem,13vw,13rem); line-height:.76; letter-spacing:-.08em; text-transform:uppercase; }.contact h2 em { display:block; margin-left:18vw; color:var(--acid); }
.contact-bottom { margin-top:auto; display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:5vw; text-transform:uppercase; font-size:10px; letter-spacing:.14em; }
.contact-action { display:flex; justify-content:space-between; border-bottom:1px solid currentColor; padding:0 0 14px; color:rgba(255,255,255,.76); }
footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:end; min-height:210px; padding:3vw; text-transform:uppercase; font-size:9px; letter-spacing:.14em; }footer p:last-child { justify-self:end; }.footer-mark { font-size:46px; }

@media (max-width:760px) {
  .site-header { grid-template-columns:1fr auto; height:70px; padding:0 20px; }.site-header nav { display:none; }
  .hero { min-height:900px; padding:94px 20px 24px; }.hero-kicker span:last-child { display:none; }.hero h1 { font-size:clamp(4.2rem,23vw,7rem); line-height:.82; margin-top:4vh; }.hero h1 em { margin-left:0; }.hero-art { width:76vw; right:-3vw; bottom:124px; }.hero-bottom { grid-template-columns:1fr auto; }.hero-thesis { display:none; }
  .statement { padding:90px 20px; font-size:14vw; }.statement p:nth-child(2),.statement p:nth-child(3) { text-align:left; }
  .selected,.about { padding:24px 20px 80px; }.section-heading p:last-child { display:none; }.photo-grid { columns:1; padding-top:42px; }.photo-card { margin-bottom:56px; }.asset-note { margin-top:70px; }
  .behind { padding:24px 20px 90px; }.behind-intro { grid-template-columns:1fr; gap:35px; padding:60px 0; }.behind-grid { grid-template-columns:1fr 1fr; gap:45px 12px; }
  .films { padding:24px 20px 90px; }.film-stage { grid-template-columns:1fr; padding-top:42px; }.film-frame { min-height:62vh; }.film-copy { padding-top:28px; }
  .about-grid { grid-template-columns:1fr; gap:55px; padding:60px 0; }.about-portrait { min-height:520px; }.disciplines { grid-template-columns:1fr 1fr; }.disciplines span:nth-child(2) { border-right:0; }.disciplines span:nth-child(-n+2) { border-bottom:1px solid rgba(13,13,13,.32); }
  .contact { min-height:720px; padding:70px 20px 25px; }.contact h2 { font-size:21vw; line-height:.82; }.contact h2 em { margin-left:0; }.contact-bottom { grid-template-columns:1fr; }
  footer { grid-template-columns:1fr 1fr; padding:40px 20px; }footer p:nth-child(2) { display:none; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }
