@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Instrument+Serif:ital@0;1&display=swap');

:root {
  --paper: #F3F3F3;
  --ink: #0B0B0D;
  --red: #E10613;
  --deep-red: #A3000D;
  --gold: #C7A86C;
  --gray: #2A2D34;
  --blue: var(--red);
  --acid: var(--gold);
  --line: rgba(11,11,13,.24);
  --header-bg: rgba(243,243,243,.94);
  --mono: "DM Mono", "Courier New", monospace;
  --serif: "Instrument Serif", Georgia, serif;
  --sans: Arial, Helvetica, sans-serif;
}

html { color-scheme: light; }
html[data-theme="dark"] {
  color-scheme: dark;
  --paper: #0B0B0D;
  --ink: #F3F3F3;
  --gray: #17191E;
  --line: rgba(243,243,243,.2);
  --header-bg: rgba(11,11,13,.94);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  overflow-x: hidden;
  transition: background-color .35s ease,color .35s ease;
}
body::selection { background: var(--blue); color: white; }
a { color: inherit; }
img { display: block; width: 100%; }
.sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 100;
  padding: 12px 16px;
  background: var(--acid);
  transform: translateY(-140%);
  transition: transform .2s ease;
  font: 500 12px var(--mono);
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: fixed;
  z-index: 20;
  inset: 0 0 auto;
  height: 84px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 12px 22px;
  background: var(--header-bg);
  border-bottom: 1px solid var(--line);
  transition: background-color .35s ease,color .35s ease,border-color .35s ease;
}
.wordmark { display: flex; align-items: center; gap: 11px; width: max-content; }
.wordmark__stamp {
  width: 39px; height: 39px; display: grid; place-items: center;
  padding:0; border:1px solid transparent; border-radius:0; cursor:pointer;
  background: var(--ink); color: var(--paper);
  font: 700 14px var(--sans); letter-spacing: -.08em;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
.wordmark__stamp:hover,.wordmark__stamp:focus-visible { transform:rotate(-8deg); border-color:var(--red); outline:0; }
.wordmark__stamp[aria-pressed="true"] { background:var(--gold); color:#0B0B0D; border-color:var(--gold); }
.wordmark__text { color:inherit; text-decoration:none; font: 500 9px/1.15 var(--mono); letter-spacing: .12em; }
.site-nav { display: flex; gap: clamp(16px,2.3vw,34px); }
.site-nav a {
  position: relative; text-decoration: none; text-transform: uppercase;
  font: 500 10px var(--mono); letter-spacing: .08em;
}
.site-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-5px; height:1px; background:currentColor; transition:right .25s ease; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { right:0; }
.header-status { justify-self: end; display: flex; align-items: center; gap: 8px; text-transform: uppercase; font: 500 9px var(--mono); letter-spacing: .08em; }
.header-status span { width: 7px; height: 7px; background: var(--red); border-radius: 50%; animation: pulse 2.4s infinite; }

.hero {
  min-height: 100svh;
  padding-top: 84px;
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) 52px;
  border-bottom: 1px solid var(--line);
}
.hero__rail, .hero__marker {
  font: 400 8px var(--mono);
  letter-spacing: .15em;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  justify-content: space-around;
  text-transform: uppercase;
  padding: 24px 0;
}
.hero__rail { background: var(--blue); color: white; }
.hero__marker { border-left: 1px solid var(--line); }
.hero__content { min-height: calc(100svh - 84px); display: flex; flex-direction: column; padding: 24px 34px 28px; }
.eyebrow { margin: 0; display: flex; justify-content: space-between; text-transform: uppercase; font: 500 10px var(--mono); letter-spacing: .08em; }
.hero h1 {
  margin: auto 0;
  display: flex;
  flex-direction: column;
  font-weight: 400;
  line-height: .68;
  letter-spacing: -.075em;
}
.hero h1 span { font-size: clamp(5.7rem, 17vw, 16.5rem); text-transform: uppercase; }
.hero h1 em {
  align-self: flex-end;
  margin-right: 2.5vw;
  font: italic 400 clamp(6.4rem, 18vw, 18rem)/.72 var(--serif);
  letter-spacing: -.065em;
}
.hero__bottom { display: grid; grid-template-columns: 1fr 280px; align-items: end; gap: 8vw; }
.hero__lede { max-width: 600px; margin: 0; font: 400 clamp(1rem,1.6vw,1.35rem)/1.35 var(--sans); letter-spacing: -.02em; }
.down-link {
  display: flex; justify-content: space-between; align-items: center;
  padding: 15px 0 12px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink);
  text-transform: uppercase; text-decoration: none; font: 500 10px var(--mono); letter-spacing: .08em;
}
.down-link b { font-size: 22px; transition: transform .2s ease; }
.down-link:hover b { transform: translateY(5px); }

.manifesto {
  padding: 140px 7vw 100px;
  display: grid;
  grid-template-columns: 180px minmax(0,1fr);
  gap: 40px;
  border-bottom: 1px solid var(--line);
}
.section-label { margin: 0; text-transform: uppercase; font: 500 9px var(--mono); letter-spacing: .12em; }
.manifesto__statement {
  margin: -15px 0 70px;
  max-width: 1080px;
  font: 400 clamp(2.7rem,6.5vw,7.1rem)/.9 var(--sans);
  letter-spacing: -.07em;
}
.manifesto__statement em { font-family: var(--serif); font-weight: 400; }
.manifesto__aside { grid-column: 2; display: flex; flex-wrap: wrap; gap: 8px 28px; font: 500 9px var(--mono); letter-spacing: .09em; }

.work-index { padding: 42px 22px 120px; }
.section-head {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  align-items: end;
  padding: 0 0 24px;
}
.section-head h2 { margin: 0; font-size: clamp(2.5rem,5vw,5.6rem); line-height:.9; letter-spacing: -.06em; }
.section-head > p:last-child { margin: 0; justify-self: end; font: 400 10px var(--mono); }

.project { margin-top: 22px; border-top: 1px solid var(--ink); }
.project__visual {
  position: relative; display: block; overflow: hidden; background: var(--project-ink);
  line-height: 0;
  border: 1px solid var(--ink); text-decoration: none;
}
.project__visual img {
  width: 100%; height: auto; object-fit: contain; object-position: center top;
  filter: none;
}
.project__visual::after {
  display: none;
}
.project__open {
  position:absolute; z-index:2; right:14px; bottom:14px;
  display:flex; align-items:center; gap:24px; padding:12px 14px;
  color: var(--paper); background: var(--ink); text-transform:uppercase;
  font:500 9px var(--mono); letter-spacing:.08em;
  transform: translateY(calc(100% + 16px)); transition: transform .28s ease;
}
.project__visual:hover .project__open, .project__visual:focus-visible .project__open { transform:translateY(0); }
.project__info { display:grid; grid-template-columns: 68px 1fr minmax(250px,34%); gap:20px; padding:22px 0 42px; }
.project__number { font:500 11px var(--mono); }
.project__type { margin:0 0 12px; text-transform:uppercase; font:500 9px var(--mono); letter-spacing:.09em; }
.project h3 { margin:0; font:400 clamp(2.4rem,4.6vw,5.7rem)/.83 var(--sans); letter-spacing:-.07em; }
.project__description { margin:0; max-width:440px; font-size:14px; line-height:1.48; }
.project--hero .project__visual { height:auto; }
.project--hero .project__visual img { object-position:center 10%; }

.project-pair { display:grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap:22px; align-items:start; }
.project--tall .project__visual { height:auto; }
.project--tall .project__visual img { object-position: center top; }
.project--stacked { margin-top:180px; }
.project--stacked .project__visual { height:auto; }
.project--stacked .project__info { grid-template-columns:50px 1fr; }
.project--stacked .project__description { grid-column:2; max-width:480px; }
.project-pair .project h3 { font-size:clamp(2.4rem,4vw,4.9rem); }
.project-pair .project__info { grid-template-columns:50px 1fr; }
.project-pair .project__description { grid-column:2; max-width:520px; }

.project--editorial {
  display:grid; grid-template-columns: minmax(340px,.7fr) minmax(0,1.3fr);
  background:var(--project-ink); color:#F3F3F3;
}
.project--editorial .project__info {
  padding:34px 34px 40px; display:flex; flex-direction:column; align-items:flex-start;
}
.project--editorial h3 { margin-top:14px; color:#F3F3F3; }
.project--editorial .project__description { margin-top:auto; max-width:430px; }
.project--editorial .text-link {
  margin-top:28px; padding-bottom:8px; border-bottom:1px solid currentColor;
  text-decoration:none; text-transform:uppercase; font:500 9px var(--mono); letter-spacing:.08em;
}
.project--editorial .project__visual { border:0; border-left:1px solid rgba(240,232,232,.35); min-height:0; }
.project--editorial .project__visual img { object-position:center top; }

.project--commerce { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr); align-items:start; background:#F3F3F3; color:#0B0B0D; }
.project--commerce .project__visual { min-height:0; align-self:start; border:0; border-right:1px solid #0B0B0D; }
.project--commerce .project__info { display:flex; flex-direction:column; padding:28px 28px 36px; }
.project--commerce .project__number { margin-bottom:clamp(34px,5vw,86px); }
.project--commerce .project__description { margin-top:auto; }

.lab-note {
  margin-top:22px; min-height:470px;
  display:grid; grid-template-columns:1.25fr 1fr auto;
  background:var(--acid); border-top:1px solid var(--ink); border-bottom:1px solid var(--ink);
}
.lab-note__signal { position:relative; overflow:hidden; border-right:1px solid var(--ink); }
.lab-note__signal::before, .lab-note__signal::after {
  content:""; position:absolute; inset:50% auto auto 50%; width:min(38vw,500px); aspect-ratio:1;
  border:1px solid var(--ink); border-radius:50%; transform:translate(-50%,-50%);
}
.lab-note__signal::after { width:min(24vw,320px); }
.lab-note__signal span { position:absolute; left:50%; top:50%; width:9px; height:9px; border-radius:50%; background:var(--ink); transform:translate(-50%,-50%); }
.lab-note__signal span:nth-child(2){left:20%;top:25%}.lab-note__signal span:nth-child(3){left:76%;top:30%}.lab-note__signal span:nth-child(4){left:28%;top:78%}.lab-note__signal span:nth-child(5){left:82%;top:72%}
.lab-note__copy { padding:34px; display:flex; flex-direction:column; }
.lab-note h3 { margin:25px 0 auto; font-size:clamp(3.2rem,5.7vw,6.8rem); line-height:.78; letter-spacing:-.08em; }
.lab-note__copy > p:last-child { max-width:470px; margin:40px 0 0; font-size:13px; line-height:1.5; }
.lab-note__status { padding:28px 18px; border-left:1px solid var(--ink); writing-mode:vertical-rl; text-transform:uppercase; font:500 9px var(--mono); letter-spacing:.12em; }
.lab-note__status span { font-size:18px; margin-bottom:10px; }

.profile-vault { padding:120px 22px 130px; background:var(--gray); color:#F3F3F3; }
.profile-vault__intro { display:grid; grid-template-columns:180px minmax(0,1fr) minmax(280px,32%); gap:40px; align-items:end; }
.profile-vault__intro h2 { margin:0; font:400 clamp(3.8rem,8.5vw,9.6rem)/.76 var(--sans); letter-spacing:-.08em; }
.profile-vault__intro h2 em { color:var(--gold); font-family:var(--serif); font-weight:400; }
.profile-vault__intro > p:last-child { margin:0 0 8px; max-width:430px; font-size:15px; line-height:1.5; }
.resource-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:90px; border-top:1px solid rgba(243,243,243,.48); border-bottom:1px solid rgba(243,243,243,.48); }
.resource-card { min-height:240px; padding:22px; display:flex; flex-direction:column; text-decoration:none; border-right:1px solid rgba(243,243,243,.32); transition:background .25s ease,color .25s ease; }
.resource-card:last-child { border-right:0; }
.resource-card span,.resource-card small,.ai-reel__head .section-label,.film-feature__copy > span,.film-card span { text-transform:uppercase; font:500 9px var(--mono); letter-spacing:.09em; }
.resource-card strong { margin:auto 0; font:400 clamp(2.8rem,5vw,5.8rem)/.82 var(--sans); letter-spacing:-.065em; }
.resource-card small { display:flex; justify-content:space-between; align-items:center; }
.resource-card small b { font-size:18px; }
.resource-card:hover,.resource-card:focus-visible { background:var(--gold); color:var(--ink); outline:0; }
.resource-card--linkedin:hover,.resource-card--linkedin:focus-visible { background:var(--red); color:white; }
.ai-reel { margin-top:150px; padding-top:30px; border-top:1px solid rgba(243,243,243,.48); }
.ai-reel__head { display:grid; grid-template-columns:180px 1fr minmax(280px,32%); gap:40px; align-items:end; margin-bottom:55px; }
.ai-reel__head h3 { margin:0; font:400 clamp(4rem,8vw,9rem)/.78 var(--sans); letter-spacing:-.08em; }
.ai-reel__head > p:last-child { margin:0 0 7px; font-size:14px; line-height:1.5; }
.film-feature { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr); background:var(--ink); border:1px solid rgba(243,243,243,.42); }
.film-feature video,.film-card video { display:block; width:100%; aspect-ratio:848/464; background:#000; object-fit:contain; }
.film-feature video { border-right:1px solid rgba(243,243,243,.32); }
.film-feature__copy { padding:26px; display:flex; flex-direction:column; }
.film-feature__copy h4 { margin:auto 0; font:400 clamp(2.7rem,5vw,5.6rem)/.8 var(--sans); letter-spacing:-.07em; }
.film-feature__copy p { margin:24px 0 0; max-width:350px; font-size:13px; line-height:1.5; }
.film-shorts { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:18px; }
.film-card { border:1px solid rgba(243,243,243,.42); background:var(--ink); }
.film-card > div { min-height:110px; padding:18px; display:flex; flex-direction:column; justify-content:space-between; }
.film-card strong { font:400 clamp(1.7rem,2.6vw,3rem)/.9 var(--sans); letter-spacing:-.055em; }

.notes { padding:120px 7vw 130px; background:var(--blue); color:white; }
.notes h2 { margin:40px 0 90px; font-size:clamp(4rem,9vw,10.5rem); line-height:.78; letter-spacing:-.085em; font-weight:400; }
.notes__grid { display:grid; grid-template-columns:1fr 1fr; gap:12vw; align-items:start; }
.notes__grid > p { max-width:580px; margin:0; font:400 clamp(1.1rem,2vw,1.55rem)/1.35 var(--sans); }
.notes dl { margin:0; }
.notes dl div { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-top:1px solid rgba(255,255,255,.45); font:400 10px var(--mono); text-transform:uppercase; }
.notes dd { margin:0; }

footer {
  min-height:440px; display:grid; grid-template-columns:1fr 1fr; align-content:space-between;
  padding:46px 22px 24px; background:#0B0B0D; color:#F3F3F3;
}
.footer-mark { grid-column:1 / -1; text-decoration:none; font-size:clamp(4rem,11vw,12rem); line-height:.75; letter-spacing:-.085em; white-space:nowrap; }
footer p { margin:0; align-self:end; font-size:13px; line-height:1.35; }
footer > div { align-self:end; display:flex; justify-content:space-between; font:400 9px var(--mono); text-transform:uppercase; }
footer > div a { text-decoration:none; border-bottom:1px solid currentColor; }

.ask-trigger {
  position:fixed; z-index:48; right:22px; bottom:22px;
  min-width:148px; height:52px; padding:0 18px 0 8px;
  display:flex; align-items:center; gap:12px;
  border:1px solid rgba(243,243,243,.45); border-radius:28px;
  background:var(--ink); color:var(--paper); box-shadow:0 14px 42px rgba(0,0,0,.24);
  text-transform:uppercase; font:500 10px var(--mono); letter-spacing:.08em;
  cursor:pointer; transition:transform .2s ease,background .2s ease,color .2s ease;
}
.ask-trigger span { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:var(--red); color:white; font:700 10px var(--sans); }
.ask-trigger:hover,.ask-trigger:focus-visible { transform:translateY(-3px); background:var(--gold); color:var(--ink); outline:0; }
.ask-trigger:hover span,.ask-trigger:focus-visible span { background:var(--ink); }
.ask-panel { position:fixed; z-index:60; inset:0; }
.ask-backdrop { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; background:rgba(11,11,13,.68); backdrop-filter:blur(7px); cursor:pointer; }
.ask-dialog {
  position:absolute; inset:0 0 0 auto; width:min(590px,100%); height:100%;
  display:grid; grid-template-rows:auto minmax(0,1fr) auto auto auto;
  background:var(--paper); color:var(--ink); border-left:1px solid var(--ink);
  box-shadow:-30px 0 80px rgba(0,0,0,.28); animation:ask-in .32s cubic-bezier(.2,.75,.2,1);
}
.ask-dialog__head { min-height:146px; padding:22px; display:flex; justify-content:space-between; gap:24px; border-bottom:1px solid var(--ink); background:var(--gray); color:var(--paper); }
.ask-dialog__head p { margin:0 0 24px; display:flex; align-items:center; gap:9px; text-transform:uppercase; font:500 8px var(--mono); letter-spacing:.1em; }
.ask-dialog__head p span { width:7px; height:7px; border-radius:50%; background:#30df95; box-shadow:0 0 0 5px rgba(48,223,149,.13); }
.ask-dialog__head h2 { margin:0; font:400 clamp(3.4rem,7vw,6.2rem)/.72 var(--sans); letter-spacing:-.075em; }
.ask-close { align-self:flex-start; width:42px; height:42px; border:1px solid rgba(243,243,243,.45); border-radius:50%; background:transparent; color:var(--paper); font:300 28px/1 var(--sans); cursor:pointer; }
.ask-close:hover,.ask-close:focus-visible { background:var(--red); border-color:var(--red); outline:0; }
.ask-messages { min-height:0; overflow-y:auto; padding:24px 22px 30px; display:flex; flex-direction:column; gap:16px; background:linear-gradient(180deg,#F3F3F3 0%,#E9E9E8 100%); }
.ask-message { max-width:88%; padding:16px 17px 18px; border:1px solid var(--ink); background:var(--paper); }
.ask-message span { display:block; margin-bottom:12px; text-transform:uppercase; font:500 8px var(--mono); letter-spacing:.1em; color:var(--deep-red); }
.ask-message p { margin:0; white-space:pre-wrap; font-size:14px; line-height:1.5; }
.ask-message--user { align-self:flex-end; background:var(--ink); color:var(--paper); }
.ask-message--user span { color:var(--gold); }
.ask-message--typing p::after { content:""; display:inline-block; width:28px; height:8px; margin-left:8px; background:radial-gradient(circle,currentColor 2px,transparent 3px) 0 50%/9px 9px repeat-x; animation:ask-dots 1s steps(3) infinite; }
.ask-message__source { display:block; margin-top:12px; color:#62656c; text-transform:uppercase; font:500 7px var(--mono); letter-spacing:.08em; }
.ask-prompts { padding:14px 22px; display:flex; gap:8px; overflow-x:auto; border-top:1px solid var(--ink); background:var(--paper); }
.ask-prompts button { flex:0 0 auto; padding:9px 12px; border:1px solid var(--ink); border-radius:18px; background:transparent; color:var(--ink); font:500 8px var(--mono); text-transform:uppercase; letter-spacing:.06em; cursor:pointer; }
.ask-prompts button:hover,.ask-prompts button:focus-visible { background:var(--gold); outline:0; }
.ask-form { padding:12px 22px; display:grid; grid-template-columns:1fr auto; gap:8px; border-top:1px solid var(--ink); background:var(--paper); }
.ask-form input { min-width:0; height:50px; padding:0 15px; border:1px solid var(--ink); background:white; color:var(--ink); border-radius:0; font:400 14px var(--sans); }
.ask-form input:focus { outline:2px solid var(--gold); outline-offset:-3px; }
.ask-form button { height:50px; padding:0 17px; display:flex; align-items:center; gap:18px; border:1px solid var(--ink); background:var(--red); color:white; text-transform:uppercase; font:500 9px var(--mono); letter-spacing:.08em; cursor:pointer; }
.ask-form button:hover,.ask-form button:focus-visible { background:var(--deep-red); outline:0; }
.ask-form button:disabled,.ask-form input:disabled { opacity:.55; cursor:wait; }
.ask-disclosure { margin:0; padding:0 22px 17px; background:var(--paper); color:#676a70; font:400 8px/1.4 var(--mono); }
body.ask-open { overflow:hidden; }
@keyframes ask-in { from{transform:translateX(100%)} to{transform:translateX(0)} }
@keyframes ask-dots { from{background-position:0 50%} to{background-position:9px 50%} }

html[data-theme="dark"] .project--commerce { background:#15171C; color:#F3F3F3; }
html[data-theme="dark"] .project--commerce .project__visual { border-color:#F3F3F3; }
html[data-theme="dark"] .lab-note { --ink:#0B0B0D; color:#0B0B0D; }
html[data-theme="dark"] .ask-trigger { background:var(--gold); color:#0B0B0D; border-color:rgba(243,243,243,.55); }
html[data-theme="dark"] .ask-trigger span { background:var(--red); color:white; }
html[data-theme="dark"] .ask-dialog { background:#111216; color:#F3F3F3; border-color:#F3F3F3; }
html[data-theme="dark"] .ask-messages { background:linear-gradient(180deg,#111216 0%,#191B20 100%); }
html[data-theme="dark"] .ask-message { background:#181A1F; border-color:#F3F3F3; }
html[data-theme="dark"] .ask-message--user { background:#F3F3F3; color:#0B0B0D; }
html[data-theme="dark"] .ask-message__source { color:#A9ACB4; }
html[data-theme="dark"] .ask-prompts,
html[data-theme="dark"] .ask-form,
html[data-theme="dark"] .ask-disclosure { background:#0B0B0D; }
html[data-theme="dark"] .ask-prompts button { border-color:#F3F3F3; color:#F3F3F3; }
html[data-theme="dark"] .ask-prompts button:hover,
html[data-theme="dark"] .ask-prompts button:focus-visible { color:#0B0B0D; }
html[data-theme="dark"] .ask-form input { background:#181A1F; color:#F3F3F3; border-color:#F3F3F3; }
html[data-theme="dark"] .ask-form input::placeholder { color:#A9ACB4; }
html[data-theme="dark"] .ask-disclosure { color:#A9ACB4; }

.reveal { opacity:0; transform:translateY(34px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }

/* Project screenshots must paint immediately. Fading large bitmap layers can
   leave gray compositor tiles in browser captures and printed PDFs. */
.project.reveal {
  opacity: 1;
  transform: none;
  transition: none;
}
@keyframes pulse { 0%,100%{box-shadow:0 0 0 0 rgba(225,6,19,.4)} 50%{box-shadow:0 0 0 6px rgba(225,6,19,0)} }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none!important; transition:none!important; }
  .reveal { opacity:1; transform:none; }
}
@media (max-width: 900px) {
  .site-header { grid-template-columns:1fr auto; height:72px; }
  .site-nav { display:none; }
  .header-status { font-size:8px; }
  .hero { padding-top:72px; grid-template-columns:32px minmax(0,1fr); }
  .hero__marker { display:none; }
  .hero__content { min-height:calc(100svh - 72px); padding:20px 18px 24px; }
  .hero h1 { line-height:.76; }
  .hero h1 span { font-size:clamp(4rem,19vw,8rem); }
  .hero h1 em { font-size:clamp(4.7rem,22vw,9rem); }
  .hero__bottom { grid-template-columns:1fr; gap:28px; }
  .down-link { width:100%; }
  .manifesto { grid-template-columns:1fr; padding:90px 22px 70px; }
  .manifesto__statement { margin:0 0 45px; }
  .manifesto__aside { grid-column:1; }
  .section-head { grid-template-columns:1fr auto; }
  .section-head h2 { grid-column:1 / -1; grid-row:2; margin-top:20px; }
  .project__info, .project-pair .project__info { grid-template-columns:44px 1fr; }
  .project__description, .project-pair .project__description { grid-column:2; }
  .project-pair { grid-template-columns:1fr; }
  .project--stacked { margin-top:22px; }
  .project--tall .project__visual, .project--stacked .project__visual { height:auto; min-height:0; }
  .project--editorial, .project--commerce { grid-template-columns:1fr; }
  .project--editorial .project__info { min-height:0; }
  .project--editorial .project__visual { min-height:0; border-left:0; border-top:1px solid rgba(240,232,232,.35); }
  .project--commerce .project__visual { min-height:0; border-right:0; border-bottom:1px solid #0B0B0D; }
  .project--commerce .project__info { min-height:0; }
  .profile-vault { padding:90px 20px 100px; }
  .profile-vault__intro,.ai-reel__head { grid-template-columns:1fr; gap:26px; }
  .profile-vault__intro h2,.ai-reel__head h3 { margin-top:15px; }
  .resource-grid { grid-template-columns:1fr; margin-top:65px; }
  .resource-card { min-height:180px; border-right:0; border-bottom:1px solid rgba(243,243,243,.32); }
  .resource-card:last-child { border-bottom:0; }
  .film-feature { grid-template-columns:1fr; }
  .film-feature video { border-right:0; border-bottom:1px solid rgba(243,243,243,.32); }
  .film-feature__copy { min-height:280px; }
  .film-shorts { grid-template-columns:1fr; }
  .lab-note { grid-template-columns:1fr auto; }
  .lab-note__signal { display:none; }
  .notes__grid { grid-template-columns:1fr; gap:60px; }
}
@media (max-width: 560px) {
  .wordmark__text { display:none; }
  .hero__content { padding-left:14px; padding-right:14px; }
  .hero h1 span { font-size:18vw; }
  .hero h1 em { font-size:21vw; margin-right:0; }
  .hero__lede { font-size:14px; }
  .manifesto__statement { font-size:2.8rem; }
  .work-index { padding-left:12px; padding-right:12px; }
  .section-head > p:last-child { display:none; }
  .project--hero .project__visual { height:auto; min-height:0; }
  .project__open { transform:none; }
  .project h3, .project-pair .project h3 { font-size:2.65rem; }
  .project__info { padding-bottom:28px; }
  .project--editorial .project__info { padding:26px 20px; }
  .project--commerce .project__info { padding:25px 20px; }
  .lab-note { min-height:540px; }
  .lab-note__copy { padding:24px 20px; }
  .notes { padding:90px 20px 100px; }
  .notes h2 { font-size:3.9rem; margin-bottom:70px; }
  footer { min-height:360px; grid-template-columns:1fr; gap:55px; }
  .footer-mark { font-size:15vw; white-space:normal; }
  footer > div { grid-column:1; }
  .ask-trigger { right:12px; bottom:12px; min-width:132px; height:48px; }
  .ask-trigger span { width:32px; height:32px; }
  .ask-dialog { width:100%; border-left:0; }
  .ask-dialog__head { min-height:130px; padding:18px 16px; }
  .ask-dialog__head h2 { font-size:4rem; }
  .ask-messages { padding:18px 14px 24px; }
  .ask-message { max-width:94%; }
  .ask-prompts { padding-left:14px; padding-right:14px; }
  .ask-form { padding:10px 14px; }
  .ask-form button { padding:0 14px; gap:10px; }
  .ask-disclosure { padding-left:14px; padding-right:14px; }
}
