@font-face {
  font-family: 'Assistant';
  src: url('/assets/fonts/Assistant-Variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
:root { --body-font:'Assistant',sans-serif; --display-font:'Assistant',sans-serif; }
body,button,input,select,textarea { font-family:var(--body-font); }
.portfolio-title,.ugc .scene-title { font-family:var(--display-font);font-weight:800; }
.identity h1,.scene-title,.video-card figcaption,.footer-top h2 { font-weight:800; }
.portfolio-title { font-size:18.5cqw;line-height:.9;font-weight:800;letter-spacing:-.025em;height:auto;aspect-ratio:auto; }
.identity h1 { height:auto;max-width:none;line-height:1.1; }
.scene-title { height:auto;aspect-ratio:auto;line-height:1.1; }
.scene-description { font-weight:400; }
.hero-role { font-weight:700; }
.hero-age { font-weight:600; }
.bio-ending { white-space:nowrap; }
.video-card figcaption { overflow-wrap:normal;text-wrap:balance; }
.television .scene-description { text-wrap:balance; }
#youtube-notice a { white-space:nowrap; }
.text-size-control { flex-wrap:wrap; }

@media(min-width:901px) {
  html:not(.large-text) .portfolio-title { top:2.5%;height:auto; }
  html:not(.large-text) .identity h1 { position:relative;font-size:3.1cqw;line-height:1.1;text-align:right; }
  html:not(.large-text) .scene-title { width:auto;left:auto;right:3.333%;height:auto;font-size:4.35cqw; }
  html:not(.large-text) .ugc .scene-title { top:3%;font-size:13.1cqw;line-height:1;letter-spacing:-.03em; }
  html:not(.large-text) .television .scene-title { top:8.5%;font-size:7.2cqw; }
  html:not(.large-text) .personal .scene-title { font-size:4.35cqw; }
  html:not(.large-text):not(.high-contrast) .hero-role { left:auto;right:3.333%;top:82.8%;width:auto;height:auto;font-size:2.55cqw;line-height:1.25; }
  html:not(.large-text):not(.high-contrast) .hero-age { left:auto;right:3.333%;top:89.4%;width:auto;height:auto;font-size:2cqw;line-height:1.25; }
  html:not(.large-text):not(.high-contrast) .bio { top:79.8%;left:4.79%;width:31.025%;height:auto;font-size:1.38cqw;line-height:1.3; }
  html:not(.large-text):not(.high-contrast) .work-scene .scene-description { height:auto;font-size:1.8cqw;line-height:1.4; }
  html:not(.large-text):not(.high-contrast) .ugc .scene-description { left:24%;width:48%; }
  html:not(.large-text):not(.high-contrast) .television .scene-description { font-size:1.5cqw;line-height:1.35; }
  html:not(.large-text):not(.high-contrast) .work-scene .video-card:nth-child(n) figcaption { left:0;right:0;top:calc(100% + 1.25cqw);width:auto;height:auto;margin:0;font-size:1.8cqw;line-height:1.2; }
  html:not(.large-text):not(.high-contrast) .work-scene .video-card:nth-child(n) .long-caption { font-size:1.6cqw; }
  /* Contrast changes colours without losing the live text's fitting rules. */
  html.high-contrast:not(.large-text) .work-scene .scene-description { height:auto;font-size:1.8cqw;line-height:1.4; }
  html.high-contrast:not(.large-text) .ugc .scene-description { left:24%;right:auto;width:48%; }
  html.high-contrast:not(.large-text) .television .scene-description { font-size:1.5cqw;line-height:1.35; }
  .tv-card figcaption { font-size:clamp(.875rem,.76cqw,1rem); }
}
@media(max-width:900px) {
  .portfolio-title { font-size:19.1cqw;line-height:1; }
  .identity h1 { font-size:clamp(1.7rem,4.5cqw,2.7rem);height:auto;line-height:1.1; }
  .scene-title,.brands .scene-title,.television .scene-title,.personal .scene-title { width:100%;max-width:none;height:auto;aspect-ratio:auto;font-size:clamp(2.3rem,7.5cqw,4rem);line-height:1.12;text-wrap:balance; }
  .ugc .scene-title { width:100%;max-width:none;height:auto;aspect-ratio:auto;font-size:clamp(5rem,22cqw,8rem);font-weight:800;line-height:1;letter-spacing:-.03em;text-align:right; }
  .scene-description,.ugc .scene-description,.television .scene-description,.personal .scene-description { font-size:1.125rem;line-height:1.5; }
  .bio { font-size:1.0625rem;line-height:1.5; }
  .video-card figcaption,.video-card .long-caption,.personal .video-card figcaption { font-size:1rem;line-height:1.25; }
}
@media(max-width:480px) {
  .identity h1 { font-size:1.75rem; }
  .brands .scene-title { font-size:clamp(1.9rem,8cqw,2.4rem); }
  .hero-meta { flex-wrap:wrap; }
  .hero-role { font-size:1.125rem; }
  .hero-age { font-size:1rem; }
  .video-card figcaption,.video-card .long-caption,.personal .video-card figcaption { font-size:.95rem; }
}
html.large-text .portfolio-title { height:auto;aspect-ratio:auto;font-size:17cqw;line-height:1; }
html.large-text .identity h1 { font-size:2.8rem;line-height:1.15; }
html.large-text .scene-title { width:100%;height:auto;aspect-ratio:auto;font-size:3rem; }
html.large-text .ugc .scene-title { font-size:5rem; }
html.high-contrast .scene-title { color:#000; }
