@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap');

:root {
  --ink: #0e0f11;
  --ink-2: #15171a;
  --ink-3: #1e2024;
  --paper: #f1ede6;
  --paper-2: #ded8ce;
  --muted: #9d9b97;
  --copper: #b8744e;
  --copper-soft: #d3a285;
  --line: rgba(241,237,230,.16);
  --line-dark: rgba(14,15,17,.15);
  --max: 1240px;
  --pad: clamp(20px, 4vw, 64px);
  --display: 'Barlow Condensed', Impact, sans-serif;
  --body: 'Manrope', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
::selection { background: var(--copper); color: var(--paper); }

.skip-link {
  position: fixed; left: 16px; top: -60px; z-index: 9999;
  padding: 10px 14px; background: var(--paper); color: var(--ink);
  transition: top .2s ease;
}
.skip-link:focus { top: 16px; }

.container { width: min(var(--max), calc(100% - 2*var(--pad))); margin: 0 auto; }
.eyebrow {
  margin: 0 0 18px; text-transform: uppercase; letter-spacing: .18em;
  font-size: .72rem; font-weight: 700; color: var(--copper-soft);
}
.display {
  font-family: var(--display); text-transform: uppercase; letter-spacing: -.025em;
  line-height: .9; font-weight: 600; margin: 0;
}
.section-title { font-size: clamp(3.2rem, 7.8vw, 7.3rem); max-width: 11ch; }
.lead { font-size: clamp(1.05rem, 1.6vw, 1.35rem); max-width: 680px; color: #c9c5be; }
.light .lead { color: #4e4d49; }

.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 100;
  padding: 22px 0; transition: background .25s ease, padding .25s ease, border-color .25s ease;
  border-bottom: 1px solid transparent;
}
.site-header.scrolled {
  padding: 13px 0; background: rgba(14,15,17,.92); backdrop-filter: blur(18px);
  border-color: var(--line);
}
.nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-family: var(--display); font-size: 1.4rem; letter-spacing: .09em; text-transform: uppercase; }
.brand-mark { width: 32px; height: 32px; border: 1px solid rgba(241,237,230,.55); display: grid; place-items: center; font-size: .8rem; letter-spacing: -.05em; }
.nav-links { display: flex; align-items: center; gap: clamp(18px, 2vw, 34px); font-size: .78rem; text-transform: uppercase; letter-spacing: .13em; font-weight: 700; }
.nav-links a { position: relative; opacity: .82; }
.nav-links a::after { content: ''; position: absolute; left: 0; bottom: -7px; width: 100%; height: 1px; background: var(--copper); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.nav-links a:hover::after, .nav-links a[aria-current='page']::after { transform: scaleX(1); }
.nav-links a:hover, .nav-links a[aria-current='page'] { opacity: 1; }
.nav-cta { border: 1px solid rgba(241,237,230,.65); padding: 10px 15px; }
.nav-cta::after { display: none; }
.menu-btn { display: none; border: 0; background: none; color: var(--paper); padding: 8px; cursor: pointer; }
.menu-btn span { display:block; width: 26px; height: 1px; background: currentColor; margin: 6px 0; transition: transform .2s ease, opacity .2s ease; }

.hero {
  min-height: 96svh; display: flex; align-items: flex-end; position: relative; overflow: hidden;
  padding: 150px 0 clamp(70px, 10vw, 120px);
  background:
    radial-gradient(circle at 76% 24%, rgba(184,116,78,.21), transparent 28%),
    radial-gradient(circle at 28% 72%, rgba(255,255,255,.06), transparent 30%),
    linear-gradient(125deg, #101113 0%, #15171a 50%, #090a0c 100%);
}
.hero::before {
  content: ''; position: absolute; inset: 0; pointer-events:none;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 56px 56px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.45), transparent 86%);
}
.hero::after { content:''; position:absolute; inset:0; pointer-events:none; opacity:.22; background: radial-gradient(ellipse at center, transparent 0%, transparent 50%, #000 100%); }
.hero-inner { position: relative; z-index: 2; width: 100%; }
.hero-kicker { display:flex; align-items:center; gap:14px; margin-bottom: 26px; font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:#cbc6bd; }
.hero-kicker::before { content:''; width: 42px; height:1px; background: var(--copper); }
.hero h1 { font-size: clamp(5.4rem, 14vw, 13rem); max-width: 900px; }
.hero h1 .accent { color: var(--copper-soft); }
.hero-bottom { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(270px, .75fr); gap: 48px; align-items:end; margin-top: 38px; }
.hero-copy { max-width: 680px; font-size: clamp(1.05rem,1.8vw,1.35rem); color:#c8c3bb; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:flex-end; }

.btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding: 0 22px; border:1px solid transparent; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; font-weight:700; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--paper); color: var(--ink); }
.btn-primary:hover { background: var(--copper-soft); }
.btn-outline { border-color: rgba(241,237,230,.5); color:var(--paper); }
.btn-outline:hover { border-color: var(--paper); background: rgba(255,255,255,.04); }
.btn-dark { background: var(--ink); color: var(--paper); }

.trust-bar { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#111214; }
.trust-grid { min-height: 92px; display:grid; grid-template-columns: repeat(3,1fr); }
.trust-item { display:flex; align-items:center; gap:14px; padding: 20px 28px; border-right:1px solid var(--line); text-transform:uppercase; letter-spacing:.11em; font-size:.72rem; color:#c8c4bd; }
.trust-item:first-child { padding-left:0; }
.trust-item:last-child { border-right:0; }
.trust-number { font-family:var(--display); font-size:1.8rem; color:var(--copper-soft); }

.section { padding: clamp(86px, 11vw, 150px) 0; }
.section.light { background: var(--paper); color: var(--ink); }
.section.deep { background: #0a0b0d; }
.section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom: clamp(46px, 7vw, 84px); }
.section-head .section-title { max-width: 9ch; }
.text-link { display:inline-flex; gap:10px; align-items:center; text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:700; border-bottom:1px solid currentColor; padding-bottom:5px; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }

.project-grid { display:grid; grid-template-columns: 1.35fr .65fr; gap: 18px; }
.project-card { position:relative; overflow:hidden; min-height: 620px; background:#1b1d20; }
.project-card.small { min-height: 620px; }
.project-card .art { position:absolute; inset:0; transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.project-card:hover .art { transform: scale(1.025); filter:brightness(.84); }
.project-card::after { content:''; position:absolute; inset:0; background: linear-gradient(to top, rgba(5,6,7,.92) 0%, rgba(5,6,7,.12) 58%, rgba(5,6,7,.08)); }
.art-arn { background: radial-gradient(circle at 70% 38%, rgba(226,190,160,.3), transparent 20%), linear-gradient(135deg,#111820 0%,#344452 48%,#111315 100%); }
.art-reel { background: radial-gradient(circle at 25% 34%, rgba(219,145,92,.44), transparent 17%), linear-gradient(145deg,#3d2a22 0%,#18191c 42%,#090b0d 100%); }
.art-nise { background: radial-gradient(circle at 58% 42%, rgba(148,179,196,.3), transparent 18%), linear-gradient(140deg,#0e1316 0%,#26383e 50%,#0b0c0e 100%); }
.art-harmony { background: radial-gradient(circle at 68% 37%, rgba(227,195,169,.34), transparent 18%), linear-gradient(135deg,#1c1918,#4e423a 48%,#131416); }
.art-lives { background: radial-gradient(circle at 43% 45%, rgba(181,67,53,.28), transparent 19%), linear-gradient(135deg,#0d1116,#263440 50%,#090b0f); }
.art-grid { background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 42px 42px; mix-blend-mode:overlay; position:absolute; inset:0; }
.art-frame { position:absolute; inset: 12% 10%; border:1px solid rgba(255,255,255,.16); }
.art-frame::before, .art-frame::after { content:''; position:absolute; background:rgba(255,255,255,.1); }
.art-frame::before { width:1px; height:100%; left:33%; }
.art-frame::after { height:1px; width:100%; top:62%; }
.project-meta { position:absolute; z-index:2; left: clamp(24px,4vw,48px); right: clamp(24px,4vw,48px); bottom: clamp(28px,4vw,48px); }
.project-type { font-size:.68rem; text-transform:uppercase; letter-spacing:.16em; color:#c8c4be; margin-bottom:10px; }
.project-name { font-family:var(--display); text-transform:uppercase; font-size:clamp(2.6rem,5vw,5.3rem); line-height:.92; margin:0 0 14px; }
.project-card.small .project-name { font-size: clamp(2.5rem,4vw,4rem); }
.project-summary { max-width:540px; color:#d1ccc4; margin:0 0 20px; font-size:.94rem; }

.services-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line-dark); }
.service { padding: 42px 28px 48px 0; border-bottom:1px solid var(--line-dark); }
.service:nth-child(odd) { border-right:1px solid var(--line-dark); padding-right:50px; }
.service:nth-child(even) { padding-left:50px; }
.service-index { font-family:var(--display); color:var(--copper); font-size:1.2rem; }
.service h3 { font-family:var(--display); text-transform:uppercase; font-size:clamp(2.3rem,4vw,4rem); line-height:.95; margin:12px 0 18px; }
.service p { color:#55534f; max-width: 540px; }

.statement { display:grid; grid-template-columns:.8fr 1.2fr; gap: clamp(40px,8vw,120px); align-items:start; }
.statement .display { font-size:clamp(3.7rem,8vw,8rem); }
.statement-copy { padding-top:10px; }
.statement-copy p { font-size:clamp(1.05rem,1.7vw,1.32rem); color:#c7c2b9; margin:0 0 26px; }

.process { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); margin-top:70px; }
.process-step { padding: 30px 30px 0 0; border-right:1px solid var(--line); min-height:210px; }
.process-step + .process-step { padding-left:30px; }
.process-step:last-child { border-right:0; }
.process-step b { font-family:var(--display); font-size:2rem; color:var(--copper-soft); }
.process-step h4 { text-transform:uppercase; letter-spacing:.09em; margin:12px 0 10px; }
.process-step p { color:#9f9b94; font-size:.9rem; }

.originals-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.original-card { min-height:420px; position:relative; overflow:hidden; background:#181a1d; border:1px solid var(--line); }
.original-card .art { position:absolute; inset:0; opacity:.78; transition: transform .5s ease, opacity .4s ease; }
.original-card:hover .art { transform:scale(1.03); opacity:1; }
.original-card::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.9),transparent 68%); }
.original-meta { position:absolute; z-index:2; left:28px; bottom:28px; right:28px; }
.original-meta h3 { margin:0; font:600 2.8rem/.9 var(--display); text-transform:uppercase; }
.original-meta p { margin:8px 0 0; font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; color:#c8c3bb; }

.cta { background:var(--copper); color:#0e0f11; overflow:hidden; }
.cta-inner { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:end; padding: clamp(70px,9vw,120px) 0; }
.cta .display { font-size:clamp(4rem,10vw,10rem); max-width:9ch; }
.cta .btn { background:#0e0f11; color:var(--paper); }

.page-hero { padding: 190px 0 92px; background:linear-gradient(145deg,#131518,#090a0c); border-bottom:1px solid var(--line); }
.page-hero h1 { font-size:clamp(5rem,13vw,12rem); }
.page-intro { display:grid; grid-template-columns: 1.2fr .8fr; gap:70px; margin-top:36px; align-items:end; }
.page-intro p { margin:0; color:#c5c0b8; font-size:clamp(1rem,1.6vw,1.24rem); }

.work-list { display:grid; gap:22px; }
.work-row { display:grid; grid-template-columns: 1.1fr .9fr; min-height:480px; background:#15171a; border:1px solid var(--line); }
.work-row .work-art { position:relative; overflow:hidden; min-height:400px; }
.work-row .work-content { padding: clamp(34px,5vw,70px); display:flex; flex-direction:column; justify-content:center; }
.work-row h2 { font:600 clamp(3rem,6vw,6rem)/.92 var(--display); text-transform:uppercase; margin:0 0 22px; }
.work-row p { color:#bcb8b1; max-width:520px; }
.work-row:nth-child(even) .work-art { order:2; }

/* Producing Under Pressure photographic thumbnail */
.work-row .work-art.work-art-image {
  background:#08090a;
  display:flex;
  align-items:center;
  justify-content:center;
}
.work-row .work-art .work-thumb {
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  transition:transform .7s cubic-bezier(.2,.7,.2,1), filter .4s ease;
}
.work-row:hover .work-art .work-thumb {
  transform:scale(1.018);
  filter:brightness(.92);
}

/* NiseKabuki poster-to-still hover card */
.nise-hover-card {
  background:#06070a;
}
.nise-hover-card::before {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 18%, rgba(34,54,84,.16), transparent 28%), linear-gradient(to bottom, rgba(0,0,0,.06), rgba(0,0,0,.24));
  pointer-events:none;
  z-index:2;
}
.nise-hover-card .nise-layer {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  transition:opacity .5s ease, transform .8s cubic-bezier(.2,.7,.2,1), filter .4s ease;
}
.nise-hover-card .nise-layer-default {
  object-fit:contain;
  object-position:center center;
  opacity:1;
  z-index:0;
  background:#06070a;
}
.nise-hover-card .nise-layer-hover {
  object-fit:cover;
  object-position:center 28%;
  opacity:0;
  transform:scale(1.035);
  z-index:1;
}
.work-row:hover .nise-hover-card .nise-layer-default,
.work-row:focus-within .nise-hover-card .nise-layer-default {
  opacity:0;
  transform:scale(1.015);
  filter:brightness(.85);
}
.work-row:hover .nise-hover-card .nise-layer-hover,
.work-row:focus-within .nise-hover-card .nise-layer-hover {
  opacity:1;
  transform:scale(1);
}
.detail-hero-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 36%;
  display:block;
  opacity:.9;
  filter:brightness(.62) contrast(1.04) saturate(.96);
}
.deadline-detail-hero::after {
  background:linear-gradient(to top,rgba(7,8,10,.985) 0%,rgba(7,8,10,.93) 28%,rgba(7,8,10,.48) 56%,rgba(7,8,10,.12) 82%,rgba(7,8,10,.08) 100%);
}

.detail-hero { min-height:76svh; display:flex; align-items:flex-end; padding:180px 0 80px; position:relative; background:linear-gradient(135deg,#141b22,#0a0c0f); overflow:hidden; }
.detail-hero .art { position:absolute; inset:0; opacity:.56; }
.detail-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(7,8,10,.96),rgba(7,8,10,.08) 70%); }
.detail-hero .container { position:relative; z-index:2; }
.detail-hero h1 { font-size:clamp(5rem,12vw,11rem); max-width:9ch; }
.detail-meta { display:flex; flex-wrap:wrap; gap:12px 30px; margin-top:30px; font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; color:#c7c2ba; }
.case-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:80px; }
.case-label { text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; color:var(--copper-soft); }
.case-copy h2 { font:600 clamp(3rem,6vw,6rem)/.95 var(--display); text-transform:uppercase; margin:0 0 28px; }
.case-copy p { color:#c5c0b8; font-size:1.05rem; }
.deliverables { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:36px; }
.deliverable { border:1px solid var(--line); padding:22px; font-size:.82rem; text-transform:uppercase; letter-spacing:.09em; }

.about-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.about-bts {
  min-height:650px; position:relative; overflow:hidden; isolation:isolate;
  background:#090a0b; border:1px solid var(--line); outline:none;
}
.about-bts-stage { position:absolute; inset:0; background:#090a0b; }
.bts-slide {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;
  opacity:0; transform:scale(1.018); filter:saturate(.92) contrast(1.02);
  transition:opacity .42s ease, transform 1.6s cubic-bezier(.2,.7,.2,1), filter .42s ease;
}
.bts-slide.is-active { opacity:1; transform:scale(1); filter:saturate(1) contrast(1.02); }
.bts-slide--portrait { object-position:center 44%; }
.about-bts::after {
  content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(to top,rgba(7,8,10,.78) 0%,rgba(7,8,10,.12) 34%,rgba(7,8,10,.04) 74%,rgba(7,8,10,.18) 100%);
}
.about-bts-meta {
  position:absolute; z-index:3; left:24px; right:24px; bottom:26px;
  display:flex; align-items:flex-end; justify-content:space-between; gap:20px;
  text-transform:uppercase; letter-spacing:.14em; font-size:.65rem; font-weight:700;
}
.about-bts-label { color:var(--paper); }
.about-bts-hint { color:#c7c2ba; opacity:.72; text-align:right; transition:opacity .2s ease, color .2s ease; }
.about-bts:hover .about-bts-hint, .about-bts:focus .about-bts-hint { opacity:1; color:var(--copper-soft); }
.about-bts-progress { position:absolute; z-index:3; top:22px; left:22px; right:22px; display:grid; grid-template-columns:repeat(var(--bts-count,5),1fr); gap:6px; }
.about-bts-progress span { height:1px; background:rgba(241,237,230,.24); transition:background .2s ease, transform .2s ease; transform-origin:left; }
.about-bts-progress span.is-active { background:var(--copper-soft); transform:scaleY(2); }
.about-bts:focus-visible { box-shadow:0 0 0 2px var(--copper-soft); }
.about-copy h2 { font:600 clamp(4rem,8vw,8rem)/.9 var(--display); text-transform:uppercase; margin:0 0 30px; }
.about-copy p { color:#c5c0b8; font-size:1.05rem; }

.contact-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:start; }
.contact-note { position:sticky; top:130px; }
.contact-note h2 { font:600 clamp(3.2rem,6vw,6rem)/.92 var(--display); text-transform:uppercase; margin:0 0 24px; }
.contact-note p { color:#bbb7b0; }
.form { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.field { display:flex; flex-direction:column; gap:8px; }
.field.full { grid-column:1 / -1; }
.field label { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:#bcb7af; font-weight:700; }
.field input, .field select, .field textarea { width:100%; border:1px solid rgba(241,237,230,.24); background:#15171a; color:var(--paper); padding:15px 16px; border-radius:0; outline:none; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--copper-soft); box-shadow:0 0 0 1px var(--copper-soft); }
.field textarea { min-height:170px; resize:vertical; }
.honeypot { position:absolute !important; left:-9999px !important; opacity:0 !important; pointer-events:none !important; }
.form-status { grid-column:1/-1; font-size:.88rem; color:#bdb9b1; }

.footer { background:#090a0b; border-top:1px solid var(--line); padding:70px 0 36px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:60px; }
.footer-brand { font:600 clamp(2.5rem,5vw,4.7rem)/.9 var(--display); text-transform:uppercase; }
.footer p, .footer a { color:#aaa69f; font-size:.87rem; }
.footer-links { display:grid; gap:8px; }
.footer-title { color:var(--paper); text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; margin-bottom:14px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:24px; margin-top:60px; font-size:.75rem; color:#77756f; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 940px) {
  .nav-links { display:none; position:fixed; inset:0; background:#0d0e10; padding:110px var(--pad) 40px; flex-direction:column; align-items:flex-start; gap:25px; font:600 2.5rem var(--display); letter-spacing:.02em; }
  .nav-links.open { display:flex; }
  .nav-links .nav-cta { border:0; padding:0; }
  .menu-btn { display:block; z-index:102; }
  .menu-btn.open span:first-child { transform:translateY(7px) rotate(45deg); }
  .menu-btn.open span:nth-child(2) { opacity:0; }
  .menu-btn.open span:last-child { transform:translateY(-7px) rotate(-45deg); }
  .hero-bottom, .page-intro, .statement, .contact-grid, .about-grid, .case-grid { grid-template-columns:1fr; }
  .about-bts { min-height:0; aspect-ratio:16/10; }
  .hero-actions { justify-content:flex-start; }
  .project-grid { grid-template-columns:1fr; }
  .project-card, .project-card.small { min-height:560px; }
  .process { grid-template-columns:repeat(2,1fr); }
  .process-step:nth-child(2) { border-right:0; }
  .process-step:nth-child(n+3) { border-top:1px solid var(--line); }
  .originals-strip { grid-template-columns:1fr; }
  .original-card { min-height:360px; }
  .work-row { grid-template-columns:1fr; }
  .work-row:nth-child(even) .work-art { order:0; }
  .cta-inner { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
  .contact-note { position:static; }
}

@media (max-width: 640px) {
  :root { --pad: 20px; }
  .site-header { padding:16px 0; }
  .brand-mark { width:29px;height:29px; }
  .hero { min-height: 92svh; padding-bottom:60px; }
  .hero h1 { font-size: clamp(4.9rem,23vw,7.4rem); }
  .hero-bottom { gap:26px; }
  .hero-actions { display:grid; grid-template-columns:1fr; }
  .trust-grid { grid-template-columns:1fr; }
  .trust-item { border-right:0; border-bottom:1px solid var(--line); padding:17px 0; }
  .trust-item:last-child { border-bottom:0; }
  .section-head { align-items:flex-start; flex-direction:column; }
  .section-title { font-size: clamp(3.6rem,17vw,5.2rem); }
  .project-card, .project-card.small { min-height:500px; }
  .services-grid { grid-template-columns:1fr; }
  .service:nth-child(odd), .service:nth-child(even) { border-right:0; padding:34px 0 40px; }
  .process { grid-template-columns:1fr; }
  .process-step, .process-step + .process-step { border-right:0; border-top:1px solid var(--line); padding:26px 0; min-height:0; }
  .process-step:first-child { border-top:0; }
  .page-hero { padding-top:150px; }
  .page-hero h1 { font-size:clamp(4.7rem,22vw,7.5rem); }
  .deliverables { grid-template-columns:1fr; }
  .about-bts { aspect-ratio:4/3; }
  .about-bts-meta { left:16px; right:16px; bottom:18px; }
  .about-bts-progress { left:16px; right:16px; top:16px; }
  .about-bts-hint { display:none; }
  .form { grid-template-columns:1fr; }
  .field.full { grid-column:1; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
  .reveal { opacity:1; transform:none; }
}


/* YouTube-powered NPI Originals */
.completed-originals { grid-template-columns: repeat(4, 1fr); }
.completed-originals .original-card { min-height: 360px; }
.original-thumb { position:absolute; inset:0; background-size:cover; background-position:center; opacity:.72; transform:scale(1.015); transition:transform .55s ease, opacity .4s ease, filter .4s ease; }
.original-card:hover .original-thumb { transform:scale(1.045); opacity:.92; filter:saturate(.92); }
.card-play { position:absolute; z-index:3; top:24px; right:24px; width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(241,237,230,.6); background:rgba(14,15,17,.62); backdrop-filter:blur(8px); font-size:.85rem; transition:background .2s ease, transform .2s ease; }
.original-card:hover .card-play { background:var(--copper); color:var(--ink); transform:scale(1.04); }

.film-list { display:grid; gap:28px; }
.film-row { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr); min-height:470px; background:#15171a; border:1px solid var(--line); overflow:hidden; }
.film-row:nth-child(even) .film-media { order:2; }
.film-media { min-width:0; background:#090a0b; display:flex; align-items:center; }
.film-content { padding:clamp(34px,5vw,70px); display:flex; flex-direction:column; justify-content:center; }
.film-content h2 { font:600 clamp(3.2rem,6vw,6.3rem)/.9 var(--display); text-transform:uppercase; margin:0 0 22px; }
.film-content > p:not(.eyebrow) { color:#bcb8b1; max-width:540px; margin-top:0; }
.film-status { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.film-status span, .development-tag { display:inline-flex; border:1px solid var(--line); padding:8px 10px; font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:#c9c4bc; }

.video-player { position:relative; width:100%; aspect-ratio:16/9; background:#090a0b; overflow:hidden; isolation:isolate; }
.video-player img { width:100%; height:100%; object-fit:cover; opacity:.72; filter:saturate(.82) contrast(1.04); transition:transform .65s cubic-bezier(.2,.7,.2,1), opacity .3s ease; }
.video-player::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(135deg,rgba(7,8,10,.12),rgba(7,8,10,.62)); pointer-events:none; }
.video-player:hover img { transform:scale(1.02); opacity:.84; }
.video-play { position:absolute; z-index:2; left:clamp(22px,4vw,46px); bottom:clamp(22px,4vw,42px); display:inline-flex; align-items:center; gap:12px; border:1px solid rgba(241,237,230,.66); background:rgba(14,15,17,.72); color:var(--paper); padding:11px 15px 11px 11px; text-transform:uppercase; letter-spacing:.13em; font-size:.68rem; font-weight:700; cursor:pointer; backdrop-filter:blur(10px); transition:background .2s ease, color .2s ease, transform .2s ease; }
.video-play:hover { background:var(--paper); color:var(--ink); transform:translateY(-2px); }
.video-play-icon { width:34px; height:34px; display:grid; place-items:center; border:1px solid currentColor; font-size:.72rem; padding-left:2px; }
.video-player iframe { position:absolute; inset:0; width:100%; height:100%; border:0; z-index:4; background:#000; }

.development-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.development-card { border:1px solid var(--line); background:#131518; overflow:hidden; }
.development-art { min-height:300px; position:relative; }
.development-copy { padding:clamp(28px,4vw,46px); }
.development-copy h3 { font:600 clamp(3rem,5vw,5rem)/.9 var(--display); text-transform:uppercase; margin:0 0 18px; }
.development-copy > p:not(.eyebrow) { color:#bcb8b1; }

@media (max-width: 1100px) {
  .completed-originals { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 940px) {
  .film-row { grid-template-columns:1fr; }
  .film-row:nth-child(even) .film-media { order:0; }
  .development-grid { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .completed-originals { grid-template-columns:1fr; }
  .completed-originals .original-card { min-height:330px; }
  .film-row { min-height:0; }
  .film-content { padding:30px 22px 36px; }
  .video-play { left:18px; bottom:18px; }
}

/* Lightweight motion previews from NPI's real trailers */
.original-loop {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.72;
  transform:scale(1.015);
  filter:saturate(.88) contrast(1.03);
  transition:transform .55s ease, opacity .4s ease, filter .4s ease;
  background:#090a0b;
}
.original-card:hover .original-loop {
  transform:scale(1.045);
  opacity:.94;
  filter:saturate(.98) contrast(1.03);
}
.preview-player video {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:.82;
  filter:saturate(.9) contrast(1.03);
  background:#090a0b;
}
.preview-player:hover video { opacity:.94; }
.preview-badge {
  position:absolute;
  z-index:2;
  top:18px;
  right:18px;
  padding:7px 9px;
  border:1px solid rgba(241,237,230,.42);
  background:rgba(14,15,17,.62);
  color:#d8d3ca;
  backdrop-filter:blur(8px);
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  pointer-events:none;
}
@media (prefers-reduced-motion: reduce) {
  .autoplay-preview { display:block; }
}

/* Originals editorial stagger — v4 */
.film-list {
  display:grid;
  gap:clamp(78px,10vw,150px);
  padding-top:clamp(20px,3vw,44px);
}

.film-row {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:center;
  min-height:0;
  position:relative;
  background:transparent;
  border:0;
  overflow:visible;
  isolation:isolate;
}

.film-row::before {
  content:'';
  position:absolute;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,rgba(184,116,78,.48),rgba(255,255,255,.04));
  z-index:-1;
  pointer-events:none;
}

.film-row:nth-child(odd)::before { left:-5vw; right:20%; }
.film-row:nth-child(even)::before { left:20%; right:-5vw; transform:scaleX(-1); }

.film-media {
  grid-column:1 / span 8;
  min-width:0;
  background:#090a0b;
  display:flex;
  align-items:center;
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}

.film-row:nth-child(even) .film-media {
  order:initial;
  grid-column:5 / span 8;
  grid-row:1;
}

.film-content {
  grid-column:9 / 13;
  grid-row:1;
  position:relative;
  z-index:3;
  padding:clamp(26px,3vw,48px) 0 clamp(26px,3vw,48px) clamp(30px,4vw,64px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(90deg,rgba(14,15,17,.96) 0%,rgba(14,15,17,.88) 72%,rgba(14,15,17,0) 100%);
}

.film-row:nth-child(even) .film-content {
  grid-column:1 / 5;
  grid-row:1;
  padding:clamp(26px,3vw,48px) clamp(30px,4vw,64px) clamp(26px,3vw,48px) 0;
  background:linear-gradient(270deg,rgba(14,15,17,.96) 0%,rgba(14,15,17,.88) 72%,rgba(14,15,17,0) 100%);
}

.film-index {
  display:block;
  margin-bottom:18px;
  color:var(--copper);
  font-size:.58rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.film-content h2 {
  font:600 clamp(3.2rem,6.2vw,7.2rem)/.84 var(--display);
  text-transform:uppercase;
  margin:0 0 24px;
  letter-spacing:-.035em;
}

.film-content > p:not(.eyebrow) {
  color:#bcb8b1;
  max-width:500px;
  margin:0;
  font-size:clamp(.98rem,1.2vw,1.12rem);
  line-height:1.7;
}

/* The image is the interface — no utility labels above/below it. */
.preview-badge,
.film-status { display:none !important; }

.preview-player {
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}

.preview-player::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.07);
}

.video-play {
  left:clamp(20px,3vw,36px);
  bottom:clamp(20px,3vw,32px);
  border:1px solid rgba(241,237,230,.52);
  background:rgba(8,9,10,.62);
  border-radius:999px;
  padding:8px 15px 8px 8px;
  letter-spacing:.12em;
  box-shadow:0 10px 34px rgba(0,0,0,.24);
}

.video-play-icon {
  width:34px;
  height:34px;
  border-radius:50%;
}

@media (min-width: 941px) {
  .film-row:nth-child(2) { transform:translateY(16px); }
  .film-row:nth-child(3) { transform:translateY(-6px); }
  .film-row:nth-child(4) { transform:translateY(12px); }
}

@media (max-width: 940px) {
  .film-list { gap:72px; }
  .film-row,
  .film-row:nth-child(even) {
    grid-template-columns:1fr;
    transform:none;
  }
  .film-row::before { display:none; }
  .film-media,
  .film-row:nth-child(even) .film-media {
    grid-column:1;
    grid-row:1;
    order:0;
  }
  .film-content,
  .film-row:nth-child(even) .film-content {
    grid-column:1;
    grid-row:2;
    padding:28px 4px 0;
    background:none;
  }
  .film-content h2 { font-size:clamp(3.2rem,14vw,6rem); }
}


/* National reach positioning */
.reach-callout {
  margin: 40px 0 34px;
  padding: 31px 0 30px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  position: relative;
}
.reach-callout::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  width: 82px;
  height: 1px;
  background: var(--copper);
}
.reach-overline {
  color: var(--copper-soft);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.reach-heading {
  display: grid;
  gap: 2px;
  font: 600 clamp(2.65rem, 3.35vw, 4.15rem)/.9 var(--display);
  letter-spacing: -.025em;
  text-transform: uppercase;
  color: var(--paper);
  max-width: 9.5ch;
}
.reach-heading span:first-child {
  color: #d8d2c9;
}
.reach-heading span:last-child {
  color: var(--paper);
}
.reach-copy {
  margin: 25px 0 0 !important;
  color: #aaa69f !important;
  font-size: .94rem !important;
  line-height: 1.65 !important;
}
@media (max-width: 940px) {
  .reach-heading {
    font-size: clamp(2.8rem, 8vw, 4.4rem);
    max-width: 12ch;
  }
}
@media (max-width: 640px) {
  .reach-callout {
    margin: 34px 0 30px;
    padding: 27px 0 27px;
  }
  .reach-overline {
    margin-bottom: 17px;
  }
  .reach-heading {
    font-size: clamp(2.75rem, 13vw, 4rem);
  }
}


/* Alpha Responder Network editorial case study */
.case-stats-section { border-top:1px solid rgba(14,15,17,.1); border-bottom:1px solid rgba(14,15,17,.1); }
.case-stats { display:grid; grid-template-columns:repeat(3,1fr); margin-top:34px; border-top:1px solid rgba(14,15,17,.16); border-left:1px solid rgba(14,15,17,.16); }
.case-stat { min-height:190px; padding:30px 28px; border-right:1px solid rgba(14,15,17,.16); border-bottom:1px solid rgba(14,15,17,.16); display:flex; flex-direction:column; justify-content:space-between; gap:26px; }
.case-stat strong { font:600 clamp(3.6rem,7vw,7rem)/.82 var(--display); letter-spacing:-.035em; color:var(--ink); }
.case-stat span { max-width:18ch; font-size:.69rem; line-height:1.4; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#69655f; }
.case-stat-note { margin:22px 0 0; font-size:.78rem; color:#77736c; }
.editorial-points { display:grid; grid-template-columns:repeat(2,1fr); margin-top:42px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.editorial-point { padding:30px 30px 34px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.editorial-point h3 { margin:0 0 13px; font:600 clamp(1.8rem,3vw,2.7rem)/.95 var(--display); text-transform:uppercase; }
.editorial-point p { margin:0; font-size:.93rem; line-height:1.65; color:#aaa69f; }
@media (max-width: 940px) {
  .case-stats { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
  .case-stats { grid-template-columns:1fr; }
  .case-stat { min-height:150px; }
  .editorial-points { grid-template-columns:1fr; }
}


/* Deadline Filmmaking case study */
.art-deadline {
  background:
    radial-gradient(circle at 76% 24%, rgba(204,125,75,.34), transparent 18%),
    radial-gradient(circle at 22% 74%, rgba(241,237,230,.08), transparent 20%),
    linear-gradient(135deg,#17130f 0%,#342219 44%,#101114 100%);
}
.deadline-clock {
  position:absolute;
  z-index:2;
  top:clamp(24px,4vw,44px);
  right:clamp(24px,4vw,44px);
  font:600 clamp(3.2rem,7vw,7rem)/.8 var(--display);
  letter-spacing:-.04em;
  color:rgba(241,237,230,.16);
}
.deadline-clock-hero {
  font-size:clamp(7rem,18vw,18rem);
  top:50%;
  right:4vw;
  transform:translateY(-50%);
  color:rgba(241,237,230,.09);
}
.deadline-detail-hero .art::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(8,9,10,.72),rgba(8,9,10,.13) 68%,rgba(8,9,10,.35));
}
.deadline-detail-hero .container { position:relative; z-index:3; }

.deadline-head { align-items:end; margin-bottom:54px; }
.deadline-projects { display:grid; gap:clamp(54px,8vw,105px); }
.deadline-project {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:clamp(36px,6vw,90px);
  align-items:center;
}
.deadline-project.reverse .deadline-media { order:2; }
.deadline-project.reverse .deadline-project-copy { order:1; }

.deadline-media {
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#121416;
  border:1px solid var(--line);
}
.deadline-media video {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.005);
}
.deadline-media::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(7,8,9,.58),rgba(7,8,9,0) 52%);
  pointer-events:none;
}
.deadline-window {
  position:absolute;
  z-index:3;
  left:22px;
  bottom:20px;
  padding:8px 10px;
  border:1px solid rgba(241,237,230,.45);
  background:rgba(11,12,14,.62);
  backdrop-filter:blur(8px);
  color:var(--paper);
  font-size:.65rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.deadline-project-copy h3 {
  margin:0 0 20px;
  font:600 clamp(3.1rem,6vw,6.4rem)/.87 var(--display);
  text-transform:uppercase;
  letter-spacing:-.025em;
}
.deadline-project-copy p:not(.eyebrow) {
  color:#c1bcb4;
  max-width:550px;
  font-size:1rem;
}
.deadline-role {
  margin-top:26px;
  padding-top:17px;
  border-top:1px solid var(--line);
  color:#bcb7af;
  font-size:.69rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.deadline-stats { grid-template-columns:repeat(4,1fr); }

@media (max-width: 940px) {
  .deadline-project,
  .deadline-project.reverse {
    grid-template-columns:1fr;
    gap:30px;
  }
  .deadline-project.reverse .deadline-media,
  .deadline-project.reverse .deadline-project-copy {
    order:initial;
  }
  .deadline-stats { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
  .deadline-stats { grid-template-columns:1fr; }
  .deadline-clock-hero { font-size:34vw; right:2vw; }
  .deadline-projects { gap:66px; }
}


/* Producer-led positioning */
.crew-model-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.crew-model-card {
  min-height:270px;
  padding:34px 30px 32px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:flex;
  flex-direction:column;
}
.crew-model-card > span {
  color:var(--copper-soft);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.16em;
  margin-bottom:auto;
}
.crew-model-card h3 {
  margin:44px 0 14px;
  font:600 clamp(1.6rem,2.1vw,2.25rem)/.95 var(--display);
  text-transform:uppercase;
  letter-spacing:-.02em;
}
.crew-model-card p {
  margin:0;
  color:#aaa69f;
  font-size:.92rem;
  line-height:1.7;
}
@media (max-width: 940px) {
  .crew-model-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
  .crew-model-grid { grid-template-columns:1fr; }
  .crew-model-card { min-height:230px; }
}


/* Development Slate */
.slate-section {
  position: relative;
  overflow: hidden;
}
.slate-section::before {
  content:'';
  position:absolute;
  width:520px;
  height:520px;
  right:-260px;
  top:120px;
  border:1px solid rgba(184,116,78,.12);
  border-radius:50%;
  pointer-events:none;
}
.slate-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(22px,3vw,40px);
}
.slate-card {
  border:1px solid var(--line);
  background:#111315;
  min-width:0;
}
.slate-visual {
  position:relative;
  min-height:clamp(300px,34vw,470px);
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.slate-visual::after {
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top,rgba(7,8,10,.88),rgba(7,8,10,.06) 58%),
    linear-gradient(135deg,rgba(255,255,255,.02),transparent 45%);
  pointer-events:none;
}
.slate-status {
  position:absolute;
  z-index:3;
  top:24px;
  left:24px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 11px;
  border:1px solid rgba(241,237,230,.32);
  background:rgba(11,12,14,.62);
  backdrop-filter:blur(10px);
  color:#e1ddd5;
  font-size:.62rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.status-pulse {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--copper);
  box-shadow:0 0 0 4px rgba(184,116,78,.13);
}
.slate-status-writing .status-pulse {
  background:#d9c5af;
  box-shadow:0 0 0 4px rgba(217,197,175,.11);
}
.slate-visual-copy {
  position:absolute;
  z-index:3;
  left:clamp(24px,4vw,44px);
  right:clamp(24px,4vw,44px);
  bottom:clamp(26px,4vw,42px);
}
.slate-visual-copy span {
  display:block;
  margin-bottom:10px;
  color:#c6c0b8;
  font-size:.63rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.slate-visual-copy strong {
  display:block;
  font:600 clamp(3.8rem,7vw,7rem)/.82 var(--display);
  letter-spacing:-.035em;
  color:rgba(241,237,230,.11);
  text-transform:uppercase;
  white-space:nowrap;
}
.slate-copy {
  padding:clamp(30px,4vw,48px);
}
.slate-number {
  color:var(--copper-soft);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:25px;
}
.slate-copy h3 {
  margin:0 0 20px;
  font:600 clamp(3rem,5vw,5.2rem)/.88 var(--display);
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.slate-logline {
  margin:0;
  color:#c4bfb7;
  font-size:1rem;
  line-height:1.75;
}
.slate-stage {
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.slate-stage-label {
  display:block;
  margin-bottom:8px;
  color:#85817b;
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.slate-stage strong {
  display:block;
  color:var(--paper);
  font:600 1.18rem/1.15 var(--display);
  text-transform:uppercase;
  letter-spacing:.015em;
}
.slate-stage p {
  margin:11px 0 0;
  color:#98948e;
  font-size:.86rem;
  line-height:1.65;
}
@media (max-width: 940px) {
  .slate-grid { grid-template-columns:1fr; }
  .slate-visual { min-height:390px; }
}
@media (max-width: 640px) {
  .slate-visual { min-height:310px; }
  .slate-status { top:18px; left:18px; }
  .slate-visual-copy strong { font-size:clamp(3.3rem,18vw,5.5rem); }
}


/* Aerial production capability */
.aerial-capability {
  background:#101214;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.aerial-capability-grid {
  display:grid;
  grid-template-columns:1.16fr .84fr;
  gap:clamp(42px,7vw,105px);
  align-items:center;
}
.aerial-media {
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#090a0b;
  border:1px solid var(--line);
}
.aerial-media video {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.9;
  filter:saturate(.93) contrast(1.03);
}
.aerial-media::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(7,8,10,.48),transparent 52%);
  pointer-events:none;
}
.aerial-overlay {
  position:absolute;
  z-index:2;
  left:22px;
  bottom:20px;
}
.aerial-overlay span {
  display:inline-block;
  padding:8px 10px;
  border:1px solid rgba(241,237,230,.4);
  background:rgba(10,11,13,.56);
  backdrop-filter:blur(9px);
  color:#ddd8d0;
  font-size:.6rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.aerial-copy .display {
  margin:.15em 0 .3em;
  font-size:clamp(3.2rem,5.8vw,6.6rem);
  line-height:.87;
}
.aerial-copy > p:not(.eyebrow) {
  max-width:570px;
  color:#aaa69f;
  font-size:1rem;
  line-height:1.75;
}
.aerial-use-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:28px;
}
.aerial-use-list span {
  padding:8px 10px;
  border:1px solid var(--line);
  color:#bbb6ae;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
@media (max-width: 940px) {
  .aerial-capability-grid { grid-template-columns:1fr; }
  .aerial-copy { max-width:720px; }
}


/* Homepage Producing Under Pressure hover gallery */
.pressure-card .pressure-art { background:#090a0b; isolation:isolate; }
.pressure-card .pressure-slide {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 38%;
  opacity:0; transform:scale(1.025); filter:brightness(.78) contrast(1.04) saturate(.96);
  transition:opacity .38s ease, transform .95s cubic-bezier(.2,.7,.2,1), filter .38s ease;
}
.pressure-card .pressure-slide.is-active { opacity:1; transform:scale(1); filter:brightness(.9) contrast(1.04) saturate(1); }
.pressure-card .pressure-film-label {
  position:absolute; top:26px; left:28px; z-index:3; padding:7px 9px;
  border:1px solid rgba(241,237,230,.32); background:rgba(7,8,10,.5); backdrop-filter:blur(6px);
  color:rgba(241,237,230,.9); font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.15em;
  opacity:.72; transition:opacity .2s ease, color .2s ease, border-color .2s ease;
}
.pressure-card:hover .pressure-film-label, .pressure-card:focus .pressure-film-label { opacity:1; color:var(--paper); border-color:rgba(241,237,230,.55); }
.pressure-card .pressure-art::after {
  content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(to top,rgba(5,6,7,.52) 0%,rgba(5,6,7,.08) 50%,rgba(5,6,7,.12) 100%);
}
@media (prefers-reduced-motion: reduce) {
  .pressure-card .pressure-slide { transition:none; transform:none; }
}


/* ARN photographic case-study artwork */
.art-arn-photo {
  background:#0b0e12;
}
.arn-card-image {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 44%; display:block;
  filter:brightness(.76) contrast(1.05) saturate(.96);
  transition:transform .8s cubic-bezier(.2,.7,.2,1), filter .45s ease;
}
.arn-project-card:hover .arn-card-image { transform:scale(1.025); filter:brightness(.72) contrast(1.06) saturate(1); }
.arn-project-card .art-grid { opacity:.25; }
.arn-project-card .art-frame { border-color:rgba(255,255,255,.12); }
.arn-work-art { background:#090b0e !important; }
.work-row .work-art .arn-work-thumb { object-fit:cover; object-position:center 46%; }
.arn-detail-hero-image {
  object-fit:cover; object-position:58% 45%; opacity:.88;
  filter:brightness(.5) contrast(1.08) saturate(.9);
}
.arn-detail-hero::after {
  background:linear-gradient(90deg,rgba(7,8,10,.94) 0%,rgba(7,8,10,.72) 32%,rgba(7,8,10,.28) 66%,rgba(7,8,10,.16) 100%),
             linear-gradient(to top,rgba(7,8,10,.97) 0%,rgba(7,8,10,.36) 46%,rgba(7,8,10,.13) 100%);
}
@media (max-width: 760px) {
  .arn-card-image { object-position:55% center; }
  .arn-detail-hero-image { object-position:62% center; }
}


/* ARN assignment editorial excerpt */
.assignment-case-grid { align-items:start; }
.case-media-column { min-width:0; }
.case-inline-video {
  margin:26px 0 0;
  position:relative;
  overflow:hidden;
  aspect-ratio:16/9;
  background:#0b0c0e;
  border:1px solid var(--line);
}
.case-inline-video video {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:brightness(.9) contrast(1.03) saturate(.96);
  transform:scale(1.003);
}
.case-inline-video::after {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to top,rgba(7,8,10,.68) 0%,rgba(7,8,10,.06) 38%,rgba(7,8,10,0) 68%);
}
.case-inline-video figcaption {
  position:absolute;
  z-index:2;
  left:16px;
  bottom:14px;
  color:rgba(241,237,230,.82);
  font-size:.61rem;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-weight:700;
}
@media (max-width: 900px) {
  .assignment-case-grid { gap:38px; }
  .case-inline-video { margin-top:18px; max-width:680px; }
}


/* ARN edit-process feature — v2 */
.arn-edit-feature {
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  gap:clamp(42px,6vw,90px);
  align-items:center;
}
.arn-edit-copy { min-width:0; }
.arn-edit-copy .case-label { margin:0 0 26px; }
.arn-edit-copy h2 {
  margin:0;
  max-width:8.8ch;
  font:600 clamp(4.2rem,7.2vw,7.6rem)/.92 var(--display);
  text-transform:uppercase;
}
.arn-edit-lead {
  max-width:560px;
  margin:28px 0 0;
  color:#aaa69f;
  font-size:clamp(1rem,1.25vw,1.14rem);
  line-height:1.72;
}
.arn-edit-visual {
  position:relative;
  margin:0;
  aspect-ratio:3/2;
  overflow:hidden;
  background:#090b0e;
  border:1px solid var(--line);
  box-shadow:0 28px 70px rgba(0,0,0,.2);
}
.arn-edit-visual::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
  background:linear-gradient(to top,rgba(7,8,10,.54) 0%,rgba(7,8,10,0) 26%);
}
.arn-edit-loop {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:brightness(.92) contrast(1.03) saturate(.94);
}
.arn-edit-visual figcaption {
  position:absolute;
  z-index:2;
  left:18px;
  bottom:15px;
  max-width:calc(100% - 36px);
  color:rgba(241,237,230,.82);
  font-size:.61rem;
  line-height:1.35;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-weight:700;
}
.arn-edit-points {
  grid-template-columns:repeat(3,1fr);
  margin-top:clamp(54px,7vw,90px);
}
.arn-edit-points .editorial-point {
  position:relative;
  min-height:255px;
  padding:30px 30px 34px;
}
.editorial-index {
  display:block;
  margin-bottom:30px;
  color:var(--copper-soft);
  font:600 1rem/1 var(--display);
  letter-spacing:.1em;
}
@media (max-width: 1000px) {
  .arn-edit-feature { grid-template-columns:1fr; }
  .arn-edit-copy h2 { max-width:10ch; }
  .arn-edit-visual { max-width:780px; }
  .arn-edit-points { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
  .arn-edit-section { padding-top:72px; }
  .arn-edit-feature { gap:34px; }
  .arn-edit-copy .case-label { margin-bottom:18px; }
  .arn-edit-copy h2 { font-size:clamp(3.4rem,15vw,5rem); }
  .arn-edit-visual { aspect-ratio:4/3; }
  .arn-edit-points { grid-template-columns:1fr; margin-top:44px; }
  .arn-edit-points .editorial-point { min-height:auto; }
}
@media (prefers-reduced-motion: reduce) {
  .arn-edit-loop { transform:none; }
}


/* ARN results publishing animation */
.arn-results-section { overflow:hidden; }
.arn-results-grid {
  display:grid;
  grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);
  gap:clamp(48px,7vw,110px);
  align-items:center;
}
.arn-results-visual { min-width:0; }
.arn-results-label { margin:0 0 24px; }
.publish-card {
  position:relative;
  overflow:hidden;
  padding:clamp(22px,3vw,34px);
  background:linear-gradient(145deg,#15181c 0%,#0b0d10 58%,#08090b 100%);
  border:1px solid var(--line);
  box-shadow:0 30px 80px rgba(0,0,0,.24);
}
.publish-card::before {
  content:'';
  position:absolute;
  inset:-20% -12% auto auto;
  width:260px;
  height:260px;
  background:radial-gradient(circle,rgba(184,116,78,.15),transparent 68%);
  pointer-events:none;
}
.publish-window { position:relative; z-index:2; }
.publish-topline,
.upload-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:#8e8b85;
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.publish-status { color:var(--copper-soft); }
.publish-thumbnail {
  position:relative;
  aspect-ratio:16/9;
  margin:18px 0 16px;
  overflow:hidden;
  background:#050607;
  border:1px solid rgba(255,255,255,.08);
}
.publish-thumbnail img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 48%;
  filter:brightness(.7) contrast(1.07) saturate(.92);
  transform:scale(1.015);
}
.publish-thumbnail::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(5,6,7,.62),rgba(5,6,7,.02) 54%);
}
.publish-play {
  position:absolute;
  z-index:2;
  left:18px;
  bottom:15px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(241,237,230,.45);
  color:var(--paper);
  background:rgba(7,8,10,.48);
  font-size:.72rem;
}
.publish-file {
  color:#d9d4cc;
  font-size:.72rem;
  letter-spacing:.08em;
  margin-bottom:14px;
}
.upload-track {
  height:3px;
  overflow:hidden;
  background:rgba(241,237,230,.11);
}
.upload-fill {
  display:block;
  width:0;
  height:100%;
  background:var(--copper-soft);
  box-shadow:0 0 16px rgba(184,116,78,.35);
}
.upload-meta { margin-top:9px; }
.publish-live {
  position:relative;
  z-index:2;
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid var(--line);
  opacity:.28;
  transform:translateY(6px);
  transition:opacity .45s ease,transform .45s ease;
}
.publish-live.is-live { opacity:1; transform:none; }
.live-badge {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#c9c4bc;
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.live-badge span {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--copper-soft);
  box-shadow:0 0 0 5px rgba(184,116,78,.1);
}
.social-row {
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:18px;
  align-items:end;
  margin-top:20px;
}
.social-label {
  display:block;
  margin-bottom:6px;
  color:#8e8b85;
  font-size:.6rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.social-row strong {
  display:block;
  color:var(--paper);
  font:600 clamp(3rem,5vw,5.8rem)/.8 var(--display);
  letter-spacing:-.035em;
}
.social-like {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  padding-bottom:4px;
  color:#a9a59e;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:right;
}
.heart {
  color:var(--copper-soft);
  font-size:1.1rem;
  transform:scale(.84);
}
.publish-live.is-live .heart { animation:arn-heart 1.9s ease-in-out infinite; }
.episode-tally {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:5px;
  margin-top:20px;
}
.episode-tally span {
  min-height:31px;
  display:grid;
  place-items:center;
  border:1px solid rgba(241,237,230,.12);
  color:#77746f;
  font:600 .72rem/1 var(--display);
  transition:background .35s ease,color .35s ease,border-color .35s ease;
}
.episode-tally span.is-counted {
  color:var(--paper);
  border-color:rgba(184,116,78,.38);
  background:rgba(184,116,78,.08);
}
.arn-results-note {
  margin:13px 0 0;
  color:#706d68;
  font-size:.59rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.arn-results-copy h2 {
  max-width:11ch;
  margin:0 0 28px;
  font-size:clamp(4rem,7.1vw,7.6rem);
}
.arn-results-copy p { max-width:690px; }
.arn-result-animated .upload-fill { transition:width 2.35s cubic-bezier(.22,.72,.25,1); }
@keyframes arn-heart {
  0%,46%,100% { transform:scale(.84); }
  54% { transform:scale(1.22); }
  62% { transform:scale(.96); }
  70% { transform:scale(1.12); }
}
@media (max-width:980px) {
  .arn-results-grid { grid-template-columns:1fr; }
  .arn-results-visual { max-width:680px; }
  .arn-results-copy { max-width:850px; }
}
@media (max-width:560px) {
  .publish-card { padding:18px; }
  .social-row { grid-template-columns:1fr; align-items:start; }
  .social-like { justify-content:flex-start; text-align:left; }
  .arn-results-copy h2 { font-size:clamp(3.6rem,16vw,5.7rem); }
}
@media (prefers-reduced-motion: reduce) {
  .publish-live.is-live .heart { animation:none; }
  .upload-fill { transition:none !important; }
}

/* Launch legal/footer refinements */
.footer-bottom a { color:inherit; text-decoration:none; }
.footer-bottom a:hover { color:var(--paper); }
.legal-copy { max-width:860px; }
.legal-copy h2 { margin:46px 0 14px; font:600 clamp(2rem,4vw,3.3rem)/.95 var(--display); text-transform:uppercase; }
.legal-copy h2:first-child { margin-top:0; }
.legal-copy p { color:#bcb8b1; font-size:1rem; line-height:1.8; max-width:760px; }
.legal-copy a { color:var(--paper); text-decoration-color:var(--copper); text-underline-offset:3px; }
