:root {
  --paper: #ece8de;
  --ink: #151412;
  --acid: #d4ff47;
  --line: rgba(21, 20, 18, 0.24);
  --serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --sans: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  text-transform: uppercase;
  overflow-x: hidden;
}
body.is-loading { overflow: hidden; }
body.menu-active { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; text-transform: inherit; }
a, button { touch-action: manipulation; }
.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; }
.grain {
  position: fixed;
  inset: -100%;
  z-index: 90;
  pointer-events: none;
  opacity: .13;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  animation: grain .2s steps(2) infinite;
}
@keyframes grain { 0%{transform:translate(2%,3%)} 25%{transform:translate(-3%,1%)} 50%{transform:translate(1%,-3%)} 75%{transform:translate(3%,2%)} 100%{transform:translate(-2%,-2%)} }

.loader {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 24px;
  background: var(--ink);
  color: var(--paper);
  transition: transform 1.1s var(--ease), visibility 1.1s;
}
.loader.is-gone { transform: translateY(-105%); visibility: hidden; }
.loader__word { display: flex; font-size: clamp(25px, 5vw, 72px); letter-spacing: .02em; overflow: hidden; }
.loader__word span { display:block; transform: translateY(120%); animation: letter-in .7s var(--ease) forwards; }
.loader__word span:nth-child(2){animation-delay:.03s}.loader__word span:nth-child(3){animation-delay:.06s}.loader__word span:nth-child(4){animation-delay:.09s}.loader__word span:nth-child(5){animation-delay:.12s}.loader__word span:nth-child(6){animation-delay:.15s}.loader__word span:nth-child(7){animation-delay:.18s}.loader__word span:nth-child(8){animation-delay:.21s}.loader__word span:nth-child(9){animation-delay:.24s}.loader__word span:nth-child(10){animation-delay:.27s}
.loader__line { width: min(240px, 60vw); height: 1px; background: #383632; overflow: hidden; }
.loader__line i { display:block; width:100%; height:100%; background:var(--paper); transform:translateX(-100%); animation:load-line 1.25s .15s var(--ease) forwards; }
@keyframes letter-in { to { transform: translateY(0); } }
@keyframes load-line { to { transform: translateX(0); } }

.nav {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  height: 90px;
  padding: 18px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: start;
  mix-blend-mode: difference;
  color: white;
  font-size: 11px;
  letter-spacing: .1em;
}
.brand { justify-self: start; display:inline-grid; min-width: 90px; height: 35px; align-items:center; }
.brand img { display:none; width:125px; max-height:42px; object-fit:contain; object-position:left center; filter:invert(1); }
.brand img.is-loaded { display:block; }
.brand__fallback { display:block; font: italic 25px/1 var(--serif); letter-spacing:-.08em; }
.brand__fallback.is-hidden { display:none; }
.nav__meta { justify-self:center; display:flex; gap:7vw; white-space:nowrap; }
.nav__links { justify-self:end; display:flex; gap:32px; }
.nav__links a { position:relative; }
.nav__links a::after { content:""; position:absolute; left:0; right:0; bottom:-4px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .4s var(--ease); }
.nav__links a:hover::after { transform:scaleX(1); transform-origin:left; }
.nav__links a[aria-current="page"]::after { transform:scaleX(1); }
.nav__links sup { font-size:7px; vertical-align:top; margin-left:2px; }
.menu-toggle { display:none; border:0; background:transparent; padding:5px; width:34px; }
.menu-toggle span { display:block; height:1px; background:currentColor; margin:7px 0; transition:transform .4s var(--ease); }

.hero { min-height: 100svh; padding: 128px 24px 60px; position:relative; }
.hero__eyebrow { display:flex; justify-content:space-between; width:32%; margin-left:34%; font: italic clamp(18px,2.1vw,32px)/1 var(--serif); text-transform:none; }
.hero__title { position:relative; z-index:2; margin:36px 0 0; font-size:clamp(67px,13.6vw,220px); font-weight:600; line-height:.72; letter-spacing:-.085em; font-stretch:condensed; }
.title-line { display:block; will-change:transform; }
.title-line--offset { margin-left:6.5vw; }
.stage { position:relative; width:72%; aspect-ratio:16/9; margin:-1.3vw auto 0; overflow:hidden; background:#292824; }
.stage__media { position:absolute; inset:0; transition:transform 1s var(--ease), filter 1s var(--ease); }
.stage:hover .stage__media { transform:scale(1.025); filter:brightness(.78); }
.stage iframe, .work__visual iframe { width:100%; height:100%; border:0; }
.placeholder-card { position:absolute; inset:0; padding:22px; display:grid; grid-template-columns:1fr 1fr; align-content:space-between; background:linear-gradient(135deg,#201f1d,#5d594f); color:#e7e1d5; }
.placeholder-card::after { content:""; position:absolute; width:42%; aspect-ratio:1; border:1px solid rgba(255,255,255,.22); border-radius:50%; inset:50% auto auto 50%; transform:translate(-50%,-50%); }
.placeholder-card__index { grid-column:1; font-size:11px; }
.placeholder-card p { grid-column:1; align-self:end; margin:0; font:italic clamp(28px,5vw,80px)/.8 var(--serif); text-transform:none; }
.placeholder-card small { grid-column:2; justify-self:end; align-self:end; text-align:right; font-size:9px; line-height:1.3; letter-spacing:.08em; }
.stage__control { position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; gap:12px; border:0; background:transparent; color:white; opacity:0; transition:opacity .45s; cursor:pointer; }
.stage:hover .stage__control, .stage__control:focus-visible { opacity:1; }
.stage__control span { border-bottom:1px solid; font-size:12px; letter-spacing:.08em; }
.stage__control i { font-style:normal; font-size:18px; }
.stage__caption { position:absolute; inset:auto 0 0; z-index:2; display:flex; justify-content:space-between; padding:16px; color:white; font-size:9px; letter-spacing:.1em; pointer-events:none; }
.scroll-cue { position:absolute; left:24px; bottom:26px; display:flex; gap:40px; font:italic 16px/1 var(--serif); text-transform:none; }
.scroll-cue i { font-style:normal; animation:bob 1.3s ease-in-out infinite alternate; }
@keyframes bob { to { transform:translateY(6px); } }

.section-head { display:grid; grid-template-columns:1fr 1fr 1fr; padding:22px 24px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); font-size:10px; letter-spacing:.1em; }
.section-head p { margin:0; }
.section-head p:nth-child(2){text-align:center}.section-head p:last-child{text-align:right}
.work { position:relative; z-index:0; display:grid; grid-template-columns:72px minmax(0,1fr) 240px 75px; align-items:center; min-height:132px; padding:18px 24px; border-bottom:1px solid var(--line); cursor:pointer; overflow:hidden; transition:color .5s var(--ease), padding .6s var(--ease); }
.work::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--ink); transform:translateY(101%); transition:transform .55s var(--ease); }
.work:hover { color:var(--paper); padding-left:34px; }
.work:hover::before { transform:translateY(0); }
.work__index { font-size:10px; letter-spacing:.08em; }
.work__title { margin:0; font-size:clamp(31px,5.2vw,86px); font-weight:500; letter-spacing:-.06em; line-height:.85; }
.work__meta { display:flex; justify-content:space-between; gap:20px; font-size:10px; letter-spacing:.08em; }
.work__arrow { justify-self:end; font-size:28px; font-weight:200; transform:rotate(0); transition:transform .5s var(--ease); }
.work:hover .work__arrow { transform:rotate(45deg); }
.work__visual { position:fixed; z-index:91; width:min(34vw,520px); aspect-ratio:16/10; pointer-events:none; opacity:0; transform:translate(-50%,-45%) scale(.8) rotate(-3deg); overflow:hidden; background:#504c44; transition:opacity .2s, transform .55s var(--ease); box-shadow:0 24px 80px rgba(0,0,0,.25); }
.work__visual.is-visible { opacity:1; transform:translate(-50%,-50%) scale(1) rotate(0); }
.work__visual .placeholder-card p { font-size:clamp(24px,3vw,48px); }
.work__visual iframe { position:absolute; inset:0; z-index:2; width:100%; height:100%; border:0; pointer-events:none; opacity:0; transition:opacity .12s linear; }
.work__visual.is-ready iframe { opacity:1; }

.hero--home { min-height:100svh; display:flex; flex-direction:column; padding-bottom:34px; }
.hero--home .hero__title { margin-top:4.5vh; }
.hero__portals {
  width:66%;
  min-height:180px;
  margin:42px 0 0 34%;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  transition:grid-template-columns .7s var(--ease);
}
.hero__portals:has(.portal--dark:hover) { grid-template-columns:1.35fr .65fr; }
.hero__portals:has(.portal--light:hover) { grid-template-columns:.8fr 1.2fr; }
.portal {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
  min-width:0;
  padding:20px 22px;
  border:1px solid var(--ink);
  transition:color .55s var(--ease), background .55s var(--ease);
}
.portal + .portal { border-left:0; }
.portal::before {
  content:"";
  position:absolute;
  width:240px;
  aspect-ratio:1;
  border-radius:50%;
  right:-130px;
  bottom:-190px;
  background:var(--acid);
  transition:transform .7s var(--ease);
}
.portal:hover::before { transform:translate(-45px,-85px) scale(1.25); }
.portal--dark { background:var(--ink); color:var(--paper); }
.portal--light { background:transparent; }
.portal__number { position:relative; z-index:1; align-self:start; font-size:9px; letter-spacing:.08em; }
.portal strong { position:relative; z-index:1; justify-self:center; font-size:clamp(42px,5.2vw,82px); line-height:.8; letter-spacing:-.065em; font-weight:500; }
.portal i { position:relative; z-index:1; align-self:start; font-size:24px; font-style:normal; transition:transform .45s var(--ease); }
.portal:hover i { transform:rotate(45deg); }
.works--featured { margin-top:40px; }
.works--all .work__title { font-size:clamp(30px,4.5vw,72px); }

.project-groups { margin-top:45px; border-top:1px solid var(--ink); }
.category-gateway {
  position:relative;
  z-index:0;
  overflow:hidden;
  min-height:230px;
  padding:24px;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 75px;
  align-items:center;
  border-bottom:1px solid var(--ink);
  transition:color .55s var(--ease), padding .6s var(--ease);
}
.category-gateway::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--ink); transform:translateY(101%); transition:transform .6s var(--ease); }
.category-gateway:hover { color:var(--paper); padding-left:38px; }
.category-gateway:hover::before { transform:translateY(0); }
.category-gateway > span { font-size:10px; letter-spacing:.1em; }
.category-gateway h2 { margin:0; font-size:clamp(82px,12.5vw,200px); line-height:.68; letter-spacing:-.085em; font-weight:500; }
.category-gateway i { justify-self:end; width:58px; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:var(--acid); color:var(--ink); font-size:24px; font-style:normal; transition:transform .5s var(--ease); }
.category-gateway:hover i { transform:rotate(45deg); }

.page-main { min-height:100svh; padding-top:112px; }
.page-title { display:grid; grid-template-columns:1fr 5fr; align-items:end; padding:35px 24px 28px; border-bottom:1px solid var(--ink); }
.page-title p { align-self:start; margin:10px 0 0; font-size:10px; letter-spacing:.1em; }
.page-title h1 { margin:0; font-size:clamp(90px,16.5vw,265px); line-height:.68; letter-spacing:-.085em; font-weight:500; }

.site-footer { margin-top:80px; padding:18px 24px 22px; display:grid; grid-template-columns:1fr 1fr 1fr; border-top:1px solid var(--line); font-size:9px; letter-spacing:.08em; }
.site-footer span:nth-child(2) { text-align:center; }
.site-footer button, .site-footer > a { justify-self:end; border:0; padding:0; background:transparent; color:inherit; cursor:pointer; }
.site-footer--paper { color:var(--ink); }

.about { min-height:100svh; padding:110px 24px 18px; background:var(--ink); color:var(--paper); display:flex; flex-direction:column; justify-content:space-between; }
.about__top { display:grid; grid-template-columns:1fr 5fr; }
.about__label { margin:10px 0 0; font-size:10px; letter-spacing:.1em; }
.about h1, .about h2 { margin:0; font-size:clamp(50px,9.7vw,156px); line-height:.79; letter-spacing:-.07em; font-weight:500; }
.about h1 .char, .about h2 .char { display:inline-block; transition:transform .35s; }
.about h1:hover .char:nth-child(3n), .about h2:hover .char:nth-child(3n) { transform:translateY(-.08em) rotate(-2deg); }
.about__grid { margin-top:90px; display:grid; grid-template-columns:2fr 1fr 2fr; gap:8vw; align-items:end; padding-bottom:60px; }
.about__bio { max-width:440px; margin:0; font:italic clamp(18px,2vw,29px)/1.15 var(--serif); text-transform:none; }
.about__details { display:grid; gap:7px; font-size:9px; letter-spacing:.08em; }
.about__details strong { font-size:11px; font-weight:400; margin-bottom:14px; }
.contact-link { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid; padding-bottom:8px; font-size:clamp(22px,3vw,46px); letter-spacing:-.04em; }
.contact-link i { font-style:normal; transition:transform .45s var(--ease); }
.contact-link:hover i { transform:rotate(45deg); }
footer { display:grid; grid-template-columns:1fr 1fr 1fr; padding-top:18px; border-top:1px solid #4c4942; font-size:9px; letter-spacing:.08em; }
footer span:nth-child(2){text-align:center} footer button{justify-self:end;border:0;background:transparent;padding:0;cursor:pointer;color:inherit;}

body[data-page="about"] { background:var(--ink); }
.about--page { min-height:100svh; }
.about footer > a { justify-self:end; }

.project-page { min-height:100svh; padding-top:112px; }
.project-head { display:grid; grid-template-columns:1fr 5fr; padding:36px 24px 30px; border-bottom:1px solid var(--ink); }
.project-head p { margin:10px 0 0; font-size:10px; letter-spacing:.1em; }
.project-head h1 { margin:0; font-size:clamp(64px,9vw,145px); line-height:.78; letter-spacing:-.075em; font-weight:500; }
.project-film { position:relative; z-index:91; width:min(86vw,1480px); margin:70px auto; overflow:hidden; background:#111; }
.project-film iframe { display:block; width:100%; height:100%; border:0; }
.project-info { display:grid; grid-template-columns:1fr 2fr; gap:8vw; padding:70px 24px 110px; border-top:1px solid var(--ink); }
.project-info__label { margin:0; font-size:10px; letter-spacing:.1em; }
.project-note { max-width:360px; margin:28px 0 0; font:italic 24px/1.1 var(--serif); text-transform:none; }
.credits { margin:0; }
.credit-row { display:grid; grid-template-columns:minmax(160px,1fr) 2fr; gap:30px; padding:12px 0; border-bottom:1px solid var(--line); }
.credit-row:first-child { border-top:1px solid var(--line); }
.credit-row dt { font-size:9px; letter-spacing:.09em; }
.credit-row dd { margin:0; font-size:15px; letter-spacing:-.01em; }
.credit-row a { position:relative; }
.credit-row a::after { content:""; position:absolute; inset:auto 0 -2px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .35s var(--ease); }
.credit-row a:hover::after { transform:scaleX(1); transform-origin:left; }
.credit-separator { opacity:.55; }
.project-switcher { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.project-switcher a { min-width:0; padding:24px; display:grid; gap:40px; transition:background .45s var(--ease), color .45s var(--ease); }
.project-switcher a + a { text-align:right; border-left:1px solid var(--ink); }
.project-switcher a:hover { background:var(--ink); color:var(--paper); }
.project-switcher span { font-size:9px; letter-spacing:.1em; }
.project-switcher strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:clamp(24px,3vw,48px); letter-spacing:-.055em; font-weight:500; }
.not-found { min-height:70vh; display:grid; place-content:center; text-align:center; }
.not-found h1 { margin:10px 0 40px; font-size:8vw; letter-spacing:-.07em; }

.video-modal { position:fixed; inset:0; z-index:80; display:grid; place-items:center; background:rgba(12,12,11,.96); opacity:0; visibility:hidden; transition:opacity .5s, visibility .5s; }
.video-modal.is-open { opacity:1; visibility:visible; }
.video-modal__frame { width:min(88vw,1400px); aspect-ratio:16/9; }
.video-modal__frame iframe { width:100%; height:100%; border:0; }
.video-modal__frame .empty-video { width:100%; height:100%; display:grid; place-items:center; border:1px solid #555; color:#bbb; font-size:11px; letter-spacing:.12em; }
.video-modal__close { position:absolute; top:28px; right:28px; border:0; background:none; color:white; cursor:pointer; font-size:10px; letter-spacing:.1em; }
.video-modal__close span { font-size:22px; margin-left:10px; vertical-align:middle; }
.cursor { position:fixed; left:0; top:0; z-index:95; width:76px; height:76px; border-radius:50%; background:var(--acid); color:var(--ink); display:grid; place-items:center; pointer-events:none; opacity:0; transform:translate(-50%,-50%) scale(.3); transition:opacity .2s, transform .35s var(--ease); }
.cursor.is-active { opacity:1; transform:translate(-50%,-50%) scale(1); }
.cursor span { max-width:62px; text-align:center; font-size:9px; line-height:1.1; letter-spacing:.05em; }
[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
[data-reveal].is-visible { opacity:1; transform:none; }

@media (max-width: 760px) {
  .grain { opacity:.1; }
  .cursor { display:none; }
  .nav { height:72px; padding:14px 15px; grid-template-columns:1fr auto; }
  .brand img { width:100px; }
  .nav__meta { display:none; }
  .menu-toggle { display:block; justify-self:end; }
  .nav__links { position:fixed; inset:0; z-index:-1; background:var(--ink); display:flex; flex-direction:column; justify-content:flex-end; padding:90px 15px 34px; gap:8px; font-size:18vw; line-height:.8; transform:translateY(-105%); transition:transform .8s var(--ease); }
  .nav__links a { opacity:0; transform:translateY(36px); transition:opacity .45s var(--ease), transform .65s var(--ease); }
  .nav.menu-open .nav__links { transform:translateY(0); }
  .nav.menu-open .nav__links a { opacity:1; transform:translateY(0); }
  .nav.menu-open .nav__links a:nth-child(2) { transition-delay:.08s; }
  .nav.menu-open .menu-toggle span:first-child { transform:translateY(4px) rotate(45deg); }
  .nav.menu-open .menu-toggle span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .hero { padding:110px 15px 52px; min-height:auto; }
  .hero__eyebrow { width:55%; margin-left:42%; font-size:19px; }
  .hero__title { font-size:20vw; line-height:.76; margin-top:42px; }
  .title-line--offset { margin-left:3vw; }
  .hero--home { min-height:auto; padding-bottom:18px; }
  .hero--home .hero__title { margin-top:34px; }
  .hero__portals { width:100%; min-height:0; margin:28px 0 0; grid-template-columns:1fr; }
  .hero__portals:has(.portal--dark:hover), .hero__portals:has(.portal--light:hover) { grid-template-columns:1fr; }
  .portal { min-height:82px; gap:10px; padding:11px 13px; }
  .portal::before { width:170px; right:-98px; bottom:-142px; }
  .portal:active { transform:scale(.985); }
  .portal:active::before { transform:translate(-45px,-85px) scale(1.25); }
  .portal:active i { transform:rotate(45deg); }
  .portal + .portal { border-left:1px solid var(--ink); border-top:0; }
  .portal strong { font-size:10.8vw; }
  .portal i { font-size:18px; }
  .stage { width:calc(100% + 30px); margin:18px -15px 0; aspect-ratio:4/5; }
  .stage__control { opacity:1; align-items:flex-end; justify-content:flex-start; padding:0 15px 48px; }
  .stage__caption { padding:15px; }
  .placeholder-card { padding:15px; }
  .placeholder-card p { font-size:13vw; }
  .scroll-cue { display:none; }
  .section-head { padding:16px 15px; grid-template-columns:1fr auto; }
  .section-head p:nth-child(2){display:none}.section-head p:last-child{text-align:right}
  .work { grid-template-columns:32px minmax(0,1fr) 34px; min-height:108px; padding:18px 15px 20px; align-items:start; }
  .work:hover { padding-left:15px; }
  .work.is-mobile-active { color:var(--paper); }
  .work.is-mobile-active::before { transform:translateY(0); }
  .work.is-mobile-active .work__arrow { transform:rotate(45deg); }
  .work__title { font-size:10.3vw; overflow-wrap:anywhere; }
  .work__meta { grid-column:2; margin-top:9px; justify-content:flex-start; font-size:8px; }
  .work__arrow { grid-column:3; grid-row:1/3; font-size:22px; }
  .work__visual { display:block; position:relative; z-index:2; grid-column:1/-1; grid-row:3; width:100%; margin-top:18px; opacity:.72; transform:translateY(12px) scale(.975); box-shadow:none; transition:opacity .45s var(--ease), transform .7s var(--ease); }
  .work.is-mobile-active .work__visual { opacity:1; transform:none; }
  .about { padding:76px 15px 15px; }
  .about__top { display:block; }
  .about__label { margin-bottom:25px; }
  .about h1, .about h2 { font-size:15.8vw; line-height:.82; }
  .about__grid { margin-top:70px; display:grid; grid-template-columns:1fr; gap:45px; padding-bottom:65px; }
  .about__bio { font-size:22px; }
  .about__details { grid-template-columns:auto 1fr; gap:7px 25px; }
  .about__details strong { margin-bottom:8px; }
  .contact-link { font-size:31px; }
  footer { grid-template-columns:1fr auto; gap:16px; }
  footer span:nth-child(2){display:none}
  .page-main, .project-page { padding-top:78px; }
  .page-title { grid-template-columns:1fr; padding:28px 15px 18px; }
  .page-title p { display:none; }
  .page-title h1 { font-size:21vw; }
  .page-title--category h1 { font-size:15.2vw; line-height:.75; white-space:nowrap; }
  .project-head { display:block; padding:40px 15px 20px; }
  .project-head p { margin:0 0 14px; }
  .project-head h1 { font-size:16vw; }
  .project-film { width:100%; margin:34px 0 60px; }
  .project-info { display:block; padding:35px 15px 70px; }
  .project-info > div { margin-bottom:35px; }
  .credit-row { grid-template-columns:115px 1fr; gap:16px; padding:10px 0; }
  .credit-row dt { font-size:8px; line-height:1.25; }
  .credit-row dd { font-size:13px; line-height:1.25; overflow-wrap:anywhere; }
  .project-switcher { grid-template-columns:1fr; }
  .project-switcher a + a { border-left:0; border-top:1px solid var(--ink); }
  .project-switcher a { gap:20px; padding:18px 15px; }
  .project-switcher strong { font-size:8vw; }
  .site-footer { margin-top:50px; padding:16px 15px 20px; grid-template-columns:1fr auto; }
  .project-groups { margin-top:0; }
  .category-gateway { min-height:155px; padding:15px; grid-template-columns:28px minmax(0,1fr) 42px; column-gap:6px; }
  .category-gateway:hover { padding-left:15px; }
  .category-gateway.is-mobile-active { color:var(--paper); }
  .category-gateway.is-mobile-active::before { transform:translateY(0); }
  .category-gateway.is-mobile-active i { transform:rotate(45deg); }
  .category-gateway h2 { font-size:13.2vw; white-space:nowrap; }
  .category-gateway i { width:40px; font-size:18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
  [data-reveal] { opacity:1; transform:none; }
  .loader { display:none; }
}
