/* Shared typography and registration accents from the paper edition. */
body,body *,body *::before,body *::after{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;
}
body{-webkit-font-smoothing:antialiased}
body.portfolio-page{
  width:100%;min-height:100vh;margin:0 auto;
  background-color:#f5f3ed;
  border:0;box-shadow:none;
}
body:has(.viewer){
  background-color:#f5f3ed;
}
.portfolio-page .wordmark,.wordmark{font-weight:500;letter-spacing:-.055em}
.portfolio-page .header nav a,.portfolio-page .studio-nav a,
.portfolio-page .filters a[data-filter],.shop-filters button{
  font-size:13px;letter-spacing:-.015em;font-weight:400;
}
.portfolio-page .film-client{letter-spacing:-.015em;font-size:13px}
.portfolio-page .film .film-title{font-style:normal;letter-spacing:-.02em}
.portfolio-page .portfolio-footer,.product-type,.product-action,
.release-year,.rule-card strong,.rules-content .eyebrow{letter-spacing:.015em}
.portfolio-page{
  --corner-mark:linear-gradient(currentColor,currentColor) left center/5px 1px no-repeat,
    linear-gradient(currentColor,currentColor) right center/5px 1px no-repeat,
    linear-gradient(currentColor,currentColor) center top/1px 5px no-repeat,
    linear-gradient(currentColor,currentColor) center bottom/1px 5px no-repeat;
}
.portfolio-page .header-dot{
  width:15px;height:15px;right:0;top:5px;border-radius:0;
  color:var(--ink);background:var(--corner-mark);pointer-events:none;
}
.portfolio-page .header-dot::before,.portfolio-page .header-dot::after{content:none}
.portfolio-page::before,.portfolio-page::after{
  content:"";width:15px;height:15px;border-radius:0;
  color:var(--ink);background:var(--corner-mark);
}
.moving-page .index-toolbar,.moving-page .film-grid{position:relative}
.moving-page .index-toolbar::before,.moving-page .film-grid::after{
  content:"+";position:absolute;width:14px;height:14px;
  font:400 20px/14px "Helvetica Neue",Helvetica,Arial,sans-serif;
  color:var(--ink);pointer-events:none;
}
.moving-page .index-toolbar::before{left:-18px;top:-17px}
.moving-page .film-grid::after{right:-18px;top:-17px}
@media(max-width:700px){
  .portfolio-page .header nav a,.portfolio-page .studio-nav a{font-size:12px}
  .moving-page .index-toolbar::before{left:-14px}
  .moving-page .film-grid::after{right:-14px;top:1px;font-size:20px}
}

/* Monospace is reserved for small factual details. */
@font-face{
  font-family:"Portfolio Mono";
  src:url("../assets/fonts/plex-mono-regular.ttf") format("truetype");
  font-style:normal;font-weight:400;font-display:swap;
}
.release-year,.product-type,.product-price,.rule-card strong,
.viewer #time,.recognition-list li>span:first-of-type{
  font-family:"Portfolio Mono",monospace!important;
  font-weight:400;letter-spacing:.015em;
}
.portfolio-page .studio-content h1,
.portfolio-page .release-heading h2,
.portfolio-page .painting figcaption,
.viewer .caption h1{
  letter-spacing:-.015em;
}
.viewer .caption h1{font-size:13px;font-weight:500}
.viewer .caption p{font-style:normal;letter-spacing:-.02em}
.viewer header a:last-child,.viewer .next-film,.viewer .controls button{
  letter-spacing:0;
}

@media(max-width:650px){
  .portfolio-page .header nav a,.portfolio-page .studio-nav a,
  .portfolio-page .filters a[data-filter],.studio-image-nav a,
  .portfolio-page .portfolio-footer a{
    min-height:36px;display:inline-flex;align-items:center;
  }
  .portfolio-page .film figcaption a{min-height:44px}
}

@font-face{font-family:"Portfolio Mono";src:url("../assets/fonts/plex-mono-medium.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
