:root {
  --studio-type: "Helvetica Neue", "Segoe UI Variable Display", "Segoe UI", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;
  --mono: var(--studio-type);
  font-family: var(--studio-type);
}
dialog,button,input,select,textarea { font-family: inherit; }
.ta-code,.ta-count,.ta-sheet-bar > span,.ta-eyebrow,.ta-plate figcaption,.ta-index-word { font-family: var(--studio-type); }
.section-index,.dept-label,.hero-kicker,.cut-code,.studio-city,.row-id,.row-duration { font-weight: 650; }
.hero-stage .hero-fallback,.hero-stage .hero-fallback img,.hero-stage video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%;
}
.hero-stage video { opacity: 0; }
.hero-stage video.is-ready { opacity: 1; }
.stage-shade { background: linear-gradient(90deg,#080c0eae 1%,#080c0e60 29%,transparent 58%),linear-gradient(0deg,#060908ed 0%,#0609084d 19%,transparent 43%,transparent 80%,#06090879 100%); }
.mast nav { gap: clamp(15px,2.4vw,45px); }
.contact-link { background: var(--accent); border-color: transparent; color: var(--ink); font-weight: 650; }
.contact-link:hover { background: #e8ff92; }
.hero-copy p { font-size: clamp(16px,1.32vw,22px); font-weight: 520; letter-spacing: .035em; color: #f2f3ef; }
.client-intro { display:flex; align-items:end; justify-content:space-between; gap:30px; margin: clamp(24px,3vw,52px) 0 clamp(26px,3vw,55px); }
.client-intro p { font-size: clamp(14px,1.1vw,17px); line-height:1.85; color:#50554a; }
.clients { padding-bottom: clamp(40px,5vw,90px); background: #e9ede0; }
.client-wall,.more-clients ul { margin:0; padding:0; list-style:none; }
.client-wall { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #79836b; }
.client-wall li { padding:clamp(19px,2.4vw,37px) 12px clamp(18px,2vw,30px) 0; border-bottom:1px solid #b8c0ae; display:flex; flex-direction:column; gap:8px; }
.client-wall strong { font-size:clamp(19px,2vw,37px); font-weight:650; line-height:1.2; letter-spacing:-.045em; }
.client-wall span { font-size:clamp(11px,.9vw,14px); color:#515a47; }
.more-clients { margin-top:18px; }
.more-clients summary { display:inline-flex; gap:15px; align-items:center; padding:8px 0; font-size:13px; font-weight:650; list-style:none; }
.more-clients summary::-webkit-details-marker { display:none; }
.more-clients summary i::after { content:'+'; font:normal 18px var(--studio-type); }
.more-clients[open] summary i::after { content:'−'; }
.more-clients ul { display:flex; flex-wrap:wrap; gap:9px 23px; font-size:15px; line-height:1.8; padding:14px 0 0; }
.studio-intro,.crew-layout,.gear-feature,.flight-heading { display:grid; grid-template-columns:minmax(0,.93fr) minmax(0,1fr); gap:clamp(26px,6vw,110px); }
.studio-intro { margin:clamp(32px,4.3vw,78px) 0; }
.studio h3 { letter-spacing:-.045em; line-height:1.3; font-weight:650; font-size:clamp(23px,2.55vw,47px); }
.studio-intro p,.gear-feature p,.flight-heading p { font-size:clamp(14px,1.1vw,19px); line-height:1.95; color:#4d5449; }
.studio-intro .studio-city { font-size:13px; color:#5b6452; letter-spacing:.06em; }
.studio-intro p,.gear-feature p { margin-top:13px; }
.crew-layout { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; margin-bottom:clamp(35px,4.8vw,88px); }
.team-frame img,.gear-feature img,.flight-images img { width:100%; height:auto; object-fit:cover; }
.team-frame img { aspect-ratio: 1.46; object-position:50% 50%; }
.team-frame figcaption { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:10px; font-size:11px; color:#51594b; }
.team-frame figcaption i { display:inline-block; width:6px; height:6px; background:#748833; border-radius:50%; }
.team-frame figcaption span { margin-left:auto; font-size:9px; letter-spacing:.13em; }
.dept-label { display:block; color:#5a6550; font-size:10px; letter-spacing:.15em; margin-bottom:10px; }
.crew-roles dl { margin-top:17px; }
.crew-roles dl > div { border-top:1px solid #bdc4b4; padding:12px 0; }
.crew-roles dt { font-size:clamp(16px,1.3vw,23px); font-weight:650; line-height:1.4; letter-spacing:-.025em; }
.crew-roles dd { color:#545c4d; font-size:clamp(13px,1vw,16px); line-height:1.75; margin:5px 0 0; }
.gear-feature { align-items:center; border-top:1px solid #a6af9c; padding-top:clamp(28px,3.5vw,60px); }
.gear-feature img { aspect-ratio:2; object-position:50% 42%; }
.flight-desk { margin-top:clamp(40px,6vw,105px); padding:clamp(22px,3vw,54px); background:#1b201a; color:#f5f6ee; }
.flight-heading { align-items:end; margin-bottom:clamp(18px,2.5vw,42px); }
.flight-heading p,.flight-credit { color:#c0c8b9; }
.flight-desk .dept-label { color:var(--accent); }
.flight-images { display:grid; grid-template-columns:1.4fr 1fr; gap:clamp(12px,1.8vw,30px); }
.flight-images figure { display:grid; grid-template-rows:1fr auto; }
.flight-images img { aspect-ratio:auto; height:clamp(180px,24vw,400px); }
.flight-images figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:5px 12px; font-size:12px; margin-top:9px; }
.flight-images figcaption a { color:#c6cdbf; font-size:11px; }
.flight-images figcaption a:hover,.flight-credit a:hover { color:var(--accent); text-decoration:underline; }
#fpv { scroll-margin-top: 16px; }
.flight-images figcaption b { color:var(--accent); font-weight:550; margin-right:8px; }
.flight-credit { font-size:10px; margin-top:16px; letter-spacing:.04em; }
.contact-invite { margin-top:14px; line-height:1.7; font-size:15px; }
.process-layout {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.35fr);
  gap: clamp(36px, 6vw, 110px);
  margin-top: clamp(30px, 3.8vw, 72px);
}
.process-intro { align-self: start; position: sticky; top: 100px; }
.process-intro h3 { margin: 30px 0 12px; font-size: clamp(20px, 1.75vw, 32px); line-height: 1.5; }
.process-intro p, .process-steps p { color: #51554b; font-size: clamp(14px, 1.05vw, 18px); line-height: 1.8; }
.process-intro p { max-width: 26em; }
.process-contact { display: inline-flex; align-items: center; gap: 20px; margin-top: 23px; padding: 8px 0; border-bottom: 1px solid currentColor; font-size: 14px; font-weight: 650; }
.process-contact span { font-size: 19px; }
.process-contact:hover { color: #536817; }
.process-steps { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ink); }
.process-steps li { display: grid; grid-template-columns: 2.25em max-content 1fr; align-items: baseline; gap: clamp(12px, 1.7vw, 32px); padding: clamp(18px, 1.65vw, 32px) 0; border-bottom: 1px solid #c7cabd; }
.process-number { color: #647037; font-size: 14px; font-weight: 650; font-variant-numeric: tabular-nums; }
.process-steps h3 { font-size: clamp(18px, 1.55vw, 29px); letter-spacing: -.035em; }
@media (max-width: 850px) {
  .process-layout { grid-template-columns: 1fr; gap: 30px; }
  .process-intro { position: static; }
  .process-intro p { max-width: 41em; }
}
@media (max-width: 650px) {
  .process-intro h3 { margin-top: 20px; }
  .process-steps li { grid-template-columns: 26px 1fr; gap: 6px 10px; padding: 17px 0; }
  .process-steps p { grid-column: 2; }
}
@media(max-width:950px) and (min-width:651px) {
  .mast { grid-template-columns:auto minmax(0,1fr) auto; column-gap:12px; }
  .mast nav { gap:clamp(8px,1.45vw,15px); justify-content:center; }
  .mast nav a { font-size:11px; white-space:nowrap; }
  .mast .wordmark { gap:6px; }
  .mast .wordmark b { font-size:16px; }
  .mast .wordmark img { width:38px; }
  .contact-link { gap:8px; padding:9px 11px; }
}
@media (min-width:651px) and (max-width:720px) {
  .mast { padding-inline: 16px; column-gap: 7px; }
  .mast nav { gap: 7px; }
}
@media(max-width:650px) {
  .stage-shade { background:linear-gradient(90deg,#060a0a2e,transparent 82%),linear-gradient(0deg,#080909 15%,#080909ce 28%,#0809095c 51%,transparent 73%,#08090976 100%); }
  .hero-stage video,.hero-stage .hero-fallback img { object-position:center 43%; }
  .client-intro,.studio-intro,.crew-layout,.gear-feature,.flight-heading { display:block; }
  .client-intro p { margin-top:12px; }
  .client-intro br { display:none; }
  .client-wall { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .client-wall li { padding:16px 6px 14px 0; gap:5px; }
  .client-wall strong { font-size:clamp(15px,4vw,23px); }
  .client-wall span { font-size:10px; }
  .studio-intro > div + div,.crew-roles,.gear-feature figure { margin-top:24px; }
  .team-frame img { aspect-ratio:1.75; }
  .crew-roles dl > div { padding:12px 0; }
  .flight-heading p { margin-top:12px; }
  .flight-images { grid-template-columns:minmax(0,1fr); gap:18px; }
  .flight-images img { height:auto; aspect-ratio: 3 / 2; }
  .flight-images figcaption { font-size:12px; line-height:1.4; }
}
