@font-face {
  font-family: Anybody;
  src: url("/anybody.woff2") format("woff2");
  font-weight: 400 900;
  font-stretch: 50% 150%;
  font-display: swap;
}
@font-face {
  font-family: Manrope;
  src: url("/manrope.woff2") format("woff2");
  font-weight: 400 800;
  font-display: swap;
}

:root {
  color-scheme: dark;
  --black: #0a0a0a;
  --white: #faf8f6;
  --red: #ff3d4d;
  --muted: #ccc6c4;
  --line: #4d4646;
  --sans: Manrope, system-ui, sans-serif;
  --display: Anybody, Manrope, system-ui, sans-serif;
  --gutter: clamp(18px, 5vw, 88px);
  --space: clamp(58px, 10vw, 157px);
}
*, *::before, *::after { box-sizing: border-box }
body { margin: 0; background: var(--black); color: var(--white); font: 16px/1.6 var(--sans); scrollbar-color: #95464a var(--black) }
[hidden] { display: none !important }
a { color: inherit }
a:hover { color: var(--red) }
button, input, textarea, select { font: inherit; color: inherit }
button { cursor: pointer }
img { display: block; max-width: 100%; height: auto }
figure, p, h1, h2, h3, dl, dd { margin: 0 }
h1, h2, h3 { font-family: var(--display); font-weight: 720; font-stretch: 93%; line-height: 1.02; letter-spacing: -.036em; text-wrap: balance }
h1 { font-size: clamp(48px, 8.2vw, 127px) }
h2 { font-size: clamp(36px, 6vw, 87px) }
h3 { font-size: clamp(27px, 4vw, 62px) }
:focus-visible { outline: 2px solid var(--red); outline-offset: 5px }
::selection { background: var(--red); color: var(--black) }
.frame { width: min(100% - 2 * var(--gutter), 1550px); margin-inline: auto }
.opening-active { overflow: hidden }
.opening[open] {
  position: fixed; inset: 0; isolation: isolate;
  width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0;
  overflow: hidden; border: 0; background: transparent; touch-action: pinch-zoom;
}
.opening::backdrop { background: transparent }
.opening-plate {
  display: grid; align-items: safe center; justify-items: center;
  width: 100%; height: 100%; overflow: auto;
  padding: 18px max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  background: var(--black); color: var(--white); transform-origin: 50% 49%;
}
.opening-sheet { width: min(100%, 920px); text-align: center }
.opening-register {
  display: flex; justify-content: space-between; gap: 12px;
  padding-block: 9px; border-block: 1px solid var(--line); text-align: start;
}
.opening-register span:last-child { text-align: end }
.opening-wordmark {
  margin-block: clamp(10px, 2.2svh, 22px);
  color: var(--white); font: 890 clamp(54px, min(17vw, 18svh), 156px)/.9 var(--display);
  font-stretch: 110%; letter-spacing: -.04em;
}
.opening-wordmark span { color: var(--red) }
.opening-frames { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(4px, 1vw, 12px) }
.opening-photo { height: clamp(72px, 31svh, 324px); background: #24191b center 37% / cover no-repeat }
.opening[open] .opening-photo-lux { background-image: url("/media/d6264876-0d93-43de-aa26-5852853854e5/480.webp"); background-position: center 8% }
.opening[open] .opening-photo-love { background-image: url("/media/molly-01/480.webp"); background-position: center 18% }
.opening[open] .opening-photo-grit { background-image: url("/media/krystal-galtry-01/480.webp") }
.opening-frames figcaption {
  display: flex; align-items: baseline; gap: .65em;
  border-bottom: 1px solid var(--line); padding: 8px 2px;
  color: var(--white); font: 800 .72rem/1.25 var(--sans); letter-spacing: .12em;
}
.opening-frames figcaption span { color: var(--red); font-variant-numeric: tabular-nums }
.opening-actions { margin-top: clamp(12px, 3.1svh, 28px) }
.opening-actions p { margin-bottom: 8px; color: var(--muted); font-size: .84rem }
.opening-actions button:focus-visible { outline-color: var(--white); outline-offset: 3px }
@media (max-width: 480px) {
  .opening-register { font-size: .58rem; letter-spacing: .11em }
  .opening-photo { height: clamp(72px, 29svh, 215px) }
}
@media (max-height: 440px) {
  .opening-sheet { max-width: 540px }
  .opening-wordmark { margin-block: 8px; font-size: clamp(42px, 15svh, 66px) }
  .opening-photo { height: clamp(52px, 23svh, 104px) }
  .opening[open] .opening-photo-love { background-position: center 5% }
  .opening[open] .opening-photo-grit { background-position: center 22% }
  .opening-actions { margin-top: 10px }
  .opening-actions p { margin-bottom: 5px }
}
@media (prefers-reduced-motion: reduce) { .opening[open] { display: none } }

.skip { position: fixed; z-index: 10; top: 8px; left: 8px; padding: 12px; background: var(--white); color: var(--black); transform: translateY(-160%) }
.skip:focus { transform: none }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap }
.micro, .cover-index { color: var(--muted); font: 730 .68rem/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase }
.lede { color: var(--muted); font-size: clamp(16px, 2vw, 24px); max-width: 42ch }
.button, .text-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; font-weight: 750 }
.button { padding: 10px 17px; border: 1px solid transparent; background: var(--red); color: var(--black); font-size: .84rem; text-align: center; text-decoration: none }
.button:hover { background: var(--white); color: var(--black) }
.button:disabled { opacity: .65; cursor: wait }
.text-link { text-underline-offset: .35em; text-decoration-thickness: 1px }
.bare { padding: 0; border: 0; background: none }

.top { position: relative; z-index: 2 }
.top-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 14px;
  min-height: 74px;
  border-bottom: 1px solid var(--line);
}
.wordmark { display: inline-flex; align-items: baseline; gap: 8px; width: fit-content; text-decoration: none; line-height: 1 }
.wordmark > span { position: relative; padding-right: .17em; font-family: var(--display); font-stretch: 112%; font-size: clamp(25px, 2.85vw, 42px); font-weight: 830; letter-spacing: -.04em }
.wordmark > span::after { position: absolute; content: ""; right: 0; bottom: .06em; width: .12em; aspect-ratio: 1; background: var(--red) }
.wordmark small { font-size: .61rem; font-weight: 780; letter-spacing: .14em }
.main-nav, .top-actions { display: flex; gap: clamp(12px, 2.7vw, 42px); align-items: center }
.top-actions { justify-content: end }
.main-nav a, .top-actions a, .shortlist-trigger {
  display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; font-size: .79rem; font-weight: 760; white-space: nowrap;
}
.main-nav a[aria-current], .top-actions .top-cast, .shortlist-trigger span { color: var(--red) }
.main-nav a[aria-current] { text-decoration: underline; text-underline-offset: .42em }
.shortlist-trigger span { min-width: 1.5ch; margin-left: 5px; font-variant-numeric: tabular-nums }

.cover { position: relative; overflow: clip }
.cover-graphic { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none }
.cover-graphic-field { fill: #351018 }
.cover-graphic-rule { fill: none; stroke: #a03042; stroke-width: 1; vector-effect: non-scaling-stroke }
.cover-graphic-trace { fill: none; stroke: var(--red); stroke-width: 1.3; stroke-dasharray: .24 .76; vector-effect: non-scaling-stroke }
.cover-stage { position: relative; isolation: isolate; display: grid; grid-template-rows: auto 1fr auto; min-height: clamp(610px, calc(100svh - 75px), 940px) }
.cover-slate { position: relative; z-index: 4; grid-row: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px }
.cover-slate > span { display: inline-flex; align-items: center; gap: 10px }
.cover-slate > span::before { content: ""; flex: 0 0 7px; width: 7px; height: 7px; background: var(--red) }
.cover-switcher { display: flex; align-items: center; gap: 4px }
.cover-switcher > span { margin-right: 8px }
.cover-switcher button { min-width: 44px; min-height: 44px; padding: 0; color: var(--muted); background: none; border: 1px solid transparent; font-size: .72rem; font-variant-numeric: tabular-nums }
.cover-switcher button[aria-pressed=true] { border-bottom-color: var(--red); color: var(--white) }
.cover-switcher button:hover { border-color: var(--red); color: var(--white) }
.cover-pictures {
  position: absolute; inset: 64px 0 74px 34%; display: grid; min-height: 0; perspective: 1080px; touch-action: pan-y pinch-zoom;
  grid-template-columns: minmax(0, 1fr) minmax(0, .31fr);
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); gap: 5px;
}
.cover-pictures::before { position: absolute; content: ""; inset: 0 auto 0 -5px; width: 1px; background: var(--red); opacity: .8 }
.cover-pictures::after { position: absolute; content: ""; inset: auto -5px -5px auto; width: 23px; height: 23px; border-right: 2px solid var(--red); border-bottom: 2px solid var(--red); pointer-events: none }
.cover-portrait { position: relative; transform-origin: 0 0; min-width: 0; min-height: 0; overflow: hidden; background: #211b1b }
.cover-portrait[data-cover-position="0"] { grid-column: 1; grid-row: 1 / -1; z-index: 1 }
.cover-portrait[data-cover-position="1"] { grid-column: 2; grid-row: 1 }
.cover-portrait[data-cover-position="2"] { grid-column: 2; grid-row: 2 }
.cover-pictures:has(.cover-portrait:nth-child(2):last-child) [data-cover-position="1"] { grid-row: 1 / -1 }
.cover-pictures-single .cover-portrait { grid-column: 1 / -1 }
.cover-portrait > a { display: block; width: 100%; height: 100% }
.cover-portrait > a:focus-visible { outline-offset: -5px; position: relative; z-index: 2 }
.cover-portrait img { width: 100%; height: 100%; object-fit: cover; }
.cover-portrait[data-cover-position="0"] > a::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgb(10 10 10 / .88) 0%, rgb(10 10 10 / .2) 25%, transparent 51%);
}
.cover-portrait[data-cover-position="0"] > a { position: relative }
.cover-portrait figcaption {
  position: absolute; display: flex; flex-wrap: wrap; align-items: center; gap: 7px;
  inset: auto auto 8px 8px; max-width: calc(100% - 16px); pointer-events: none;
  padding: 5px 8px; background: #0a0a0a; color: var(--white); font-size: .66rem; line-height: 1.3;
}
.cover-portrait figcaption span { color: var(--red); font-variant-numeric: tabular-nums }
.profile-shot figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 3px 10px; padding-top: 7px; font-size: .69rem; line-height: 1.4 }
.cover-title { position: relative; z-index: 3; grid-row: 2; align-self: center; justify-self: start; width: fit-content; max-width: 63%; padding-block: 32px; pointer-events: none }
.cover-title h1 { display: grid; text-transform: uppercase; text-wrap: nowrap; letter-spacing: -.04em }
.cover-cast { font-size: clamp(108px, 14vw, 230px); font-weight: 890; font-stretch: 103%; line-height: .8; }
.cover-index-title { font-size: clamp(53px, 6.7vw, 111px); font-weight: 650; font-stretch: 139%; line-height: .98 }
.cover-index-title > span { color: var(--red) }
.cover-title h1, .cover-title p { text-shadow: 0 3px 19px rgb(0 0 0 / .66) }
.cover-title p { max-width: 30ch; margin: clamp(16px, 2.65vw, 40px) 0 12px; font-size: clamp(15px, 1.4vw, 19px) }
.cover-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 16px; pointer-events: auto; width: fit-content }
.cover-title .contact-jump { font-size: .78rem }
.cover-index { grid-row: 3; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px; border-block: 1px solid var(--line) }
.cover-index nav { display: flex; gap: clamp(12px, 2.5vw, 36px); align-items: center }
.cover-index a { display: inline-flex; align-items: center; min-height: 44px; color: var(--white); text-decoration: none; font-family: var(--display); font-size: .87rem; font-weight: 790 }
.cover-index a:hover { color: var(--red); text-decoration: underline; text-underline-offset: .4em }
.cover-empty .cover-stage { min-height: 435px }
.cover-empty .cover-title { max-width: 100% }
.cover-empty .cover-pictures { display: none }

.casting-section, .casting-outro, .selected-work { margin-top: var(--space) }
.section-rail { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 10px 20px; margin-bottom: clamp(18px, 3vw, 45px) }
.section-rail h2 { flex: 1 1 auto }
.section-rail .micro { align-self: center }
.section-rail > .text-link { font-size: .85rem }
.sheet-workbench { display: grid; grid-template-columns: minmax(125px, .26fr) minmax(0, 1.5fr); gap: clamp(12px, 3vw, 44px); align-items: start }
.sheet-frames { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 7px; padding-block: 10px; border-block: 1px solid var(--line) }
.sheet-thumb { display: grid; gap: 5px; min-width: 0; padding: 4px; border: 1px solid transparent; background: none; text-align: left }
.sheet-thumb[aria-pressed=true] { border-color: var(--red); color: var(--red) }
.sheet-thumb img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: #211b1b }
.sheet-thumb span { font-size: .65rem; line-height: 1.2; padding-bottom: 3px; overflow-wrap: anywhere }
.proof-frame { position: relative; min-width: 0 }
.proof-frame > img { width: 100%; aspect-ratio: 1.59; object-fit: cover; background: #211b1b }
.proof-frame figcaption {
  position: absolute; inset: auto 0 0; display: flex; align-items: end; justify-content: space-between; gap: 10px;
  padding: clamp(30px, 5vw, 66px) clamp(12px, 3vw, 45px) clamp(12px, 2.5vw, 32px);
  background: linear-gradient(transparent, rgb(0 0 0 / .94));
}
.proof-frame figcaption .micro { color: #eee5e3 }
.proof-frame h3 { margin-top: 5px; overflow-wrap: anywhere }
.proof-frame .measurements { border: 0; margin-top: 6px; padding: 0; column-gap: 13px }
.proof-frame .measurements dt { color: #e6dfdd }
.proof-actions { display: flex; flex-wrap: wrap; justify-content: end; align-items: center; gap: 6px }
.sheet-controls { display: flex; grid-column: 2; align-items: center; gap: 6px; justify-content: end }
.sheet-controls .micro { margin-right: 7px; font-variant-numeric: tabular-nums }
.casting-outro { background: var(--white); color: var(--black) }

.intro { position: relative; isolation: isolate; padding-block: clamp(41px, 7vw, 110px) clamp(26px, 5vw, 75px) }
.intro::before {
  position: absolute; z-index: -1; content: ""; inset: 0 -0.8rem -35%;
  background: radial-gradient(ellipse at 70% 40%, #451217 0%, transparent 66%); pointer-events: none;
}
.intro h1 { max-width: 17ch; overflow-wrap: break-word }
.intro .micro { color: var(--red); margin-top: 16px }
.intro .lede { margin-top: 10px }
.filter-row { display: flex; align-items: end; flex-wrap: wrap; gap: 12px 18px; padding: 15px 0; border-block: 1px solid var(--line) }
.world-filters { display: flex; gap: 5px; flex-wrap: wrap; margin-right: auto }
.world-filters button, .lab-controls button {
  min-height: 44px; padding: 8px 13px; border: 1px solid #686161; background: transparent; font-size: .8rem; font-weight: 760;
}
.world-filters button:hover, .lab-controls button:hover { border-color: var(--red) }
.world-filters button[aria-pressed=true], .lab-controls button[aria-pressed=true] { color: var(--black); background: var(--red); border-color: var(--red) }
.filter-row label { display: grid; gap: 4px; font-size: .75rem; font-weight: 730 }
input, textarea, select { min-height: 44px; width: 100%; max-width: 100%; padding: 8px 10px; border: 1px solid #766b6b; border-radius: 0; background: #191717; caret-color: var(--red) }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1 }
input[type=checkbox] { accent-color: var(--red); min-height: 0; width: 18px; height: 18px; flex: 0 0 auto }
.result-count { margin: 12px 0; font-variant-numeric: tabular-nums }
.model-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 3.2vw, 48px) clamp(9px, 2.4vw, 35px); align-items: start }
.model-card:nth-child(even) { margin-top: clamp(16px, 3.1vw, 47px) }
.model-card:nth-child(4n + 3) .model-image img { aspect-ratio: .86 }
.model-image { position: relative }
.model-image img { width: 100%; aspect-ratio: .76; object-fit: cover; background: #211b1b }
.model-caption { display: grid; gap: 4px; padding-top: 8px }
.model-caption a { font: 720 clamp(19px, 2.65vw, 40px)/1.05 var(--display); letter-spacing: -.035em; text-decoration: none; overflow-wrap: anywhere }
.save-button, .icon-button {
  display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; padding: 0;
  border: 1px solid #837878; border-radius: 50%; background: #191717; color: var(--white); font: 500 1.27rem/1 var(--sans);
}
.save-button:hover, .save-button[aria-pressed=true], .icon-button:hover { background: var(--red); border-color: var(--red); color: var(--black) }
.model-image .save-button { position: absolute; right: 7px; bottom: 7px }

.model-profile { display: grid; grid-template-columns: minmax(0, .83fr) minmax(0, 1.17fr); align-items: center; gap: clamp(16px, 4.4vw, 69px); padding-top: clamp(18px, 3vw, 52px) }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; color: var(--muted); margin-bottom: 13px; font-size: .83rem }
.breadcrumbs a { display: inline-flex; min-height: 44px; align-items: center }
.model-profile h1 { font-size: clamp(42px, 6.7vw, 106px); overflow-wrap: anywhere; margin: 9px 0 13px }
.profile-info > .micro { color: var(--red) }
.profile-bio { max-width: 55ch; margin-top: 13px; color: var(--muted) }
.specialties { font-weight: 730 }
.measurements { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 17px; padding: 10px 0; border-block: 1px solid var(--line) }
.measurements dt { color: var(--muted); font-size: .72rem }
.measurements dd { font-size: .92rem; font-weight: 750; font-variant-numeric: tabular-nums }
.measurements:empty, .social-links:empty { display: none }
.profile-actions, .social-links { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-top: 15px }
.social-links { font-size: .85rem }
.photo-button { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in }
.profile-shot img { width: 100%; background: #211b1b }
.model-profile .profile-shot img { aspect-ratio: .88; object-fit: cover }
.portfolio-grid { display: grid; grid-template-columns: 1.17fr .83fr; gap: clamp(11px, 4vw, 62px); align-items: start }
.portfolio-grid .profile-shot:nth-child(even) { margin-top: clamp(16px, 7vw, 106px) }

.prose { max-width: 870px; padding-top: 17px; border-top: 1px solid var(--line); overflow-wrap: break-word }
.prose h2, .prose h3 { font-size: clamp(33px, 4vw, 54px); margin: 24px 0 10px }
.prose h2:first-child, .prose h3:first-child { margin-top: 0 }
.prose p + p { margin-top: 13px }
.prose details { border-top: 1px solid var(--line) }
.prose summary { cursor: pointer; padding: 13px 0; font-weight: 740 }
.prose details p { color: var(--muted); padding-bottom: 13px }
.team-grid, .contact-list { display: grid; gap: clamp(22px, 4vw, 63px); padding-top: clamp(24px, 4vw, 55px); border-top: 1px solid var(--red) }
.team-grid { grid-template-columns: 1fr 1fr }
.team-member { position: relative; isolation: isolate; min-height: clamp(200px, 19vw, 310px); padding: 21px 0; border-bottom: 1px solid var(--line) }
.team-initials { position: absolute; z-index: -1; inset: 0 0 auto auto; color: #311017; font: 900 clamp(75px, 12vw, 185px)/1 var(--display); letter-spacing: -.04em }
.team-links { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 19px }
.contact-list { grid-template-columns: repeat(2, minmax(0, 1fr)) }
.team-grid h2, .contact-list h2 { font-size: clamp(28px, 3.5vw, 58px); overflow-wrap: anywhere }
.team-grid .micro { margin-top: 8px; color: var(--red) }
.team-grid p:not(.micro), .contact-list p { max-width: 53ch; margin-top: 13px; color: var(--muted) }
.contact-list .text-link { margin-top: 12px; overflow-wrap: anywhere }
.rate-estimate { position: sticky; top: 24px; border-color: var(--red); scroll-margin-top: 24px }
.rate-estimate .micro { color: var(--red) }
.rate-estimate h2 { font-size: clamp(32px, 5vw, 68px); margin: 8px 0 13px; overflow-wrap: anywhere; text-wrap: wrap; font-variant-numeric: tabular-nums }
.rate-estimate p:not(.micro) { color: var(--muted); max-width: 56ch }
.rate-estimate .button { margin-top: 14px }
.rate-estimate .rate-note { margin-top: 15px; font-size: .86rem }
.rate-lines { padding: 0; list-style: none }
.rate-lines li { display: flex; justify-content: space-between; gap: 12px; padding-block: 9px; border-bottom: 1px solid var(--line) }

.field-wide { grid-column: 1 / -1 }
.talent-selection { margin: 0; min-width: 0 }
.talent-selection legend { font-weight: 730 }
.talent-selection p, .form-footer p { font-size: .86rem; color: var(--muted) }
.form-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px }
.form-result { padding: 9px; border: 1px solid var(--line); overflow-wrap: anywhere }
.form-result:empty { display: none }
.form-result[data-error=true] { color: #ffb2b4; background: #310b0e; border-color: var(--red) }

.footer { margin: var(--space) 0 30px }
.footer-inner { display: grid; grid-template-columns: 1.2fr 1fr .8fr; gap: 17px; padding-block: 27px 12px; border-top: 1px solid var(--red) }
.footer p { font-size: .84rem; margin-top: 10px }
.footer nav, .footer-inner > div:nth-child(3) { display: grid; align-content: start }
.footer a:not(.wordmark) { display: flex; align-items: center; min-height: 36px; font-size: .84rem; text-decoration: none }
.footer small { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 9px }
dialog { color: var(--white); background: #171313; border: 1px solid var(--line) }
dialog::backdrop { background: rgb(0 0 0 / .79); backdrop-filter: blur(5px) }
.drawer {
  position: fixed; inset: 0; margin: auto;
  width: min(calc(100% - 24px), 640px); max-width: none;
  max-height: calc(100% - 24px); overflow: auto; overscroll-behavior: contain;
  padding: clamp(18px, 3vw, 38px);
}
.drawer h2 { font-size: clamp(48px, 7vw, 77px) }
.dialog-top, .gallery-bar { display: flex; justify-content: space-between; align-items: start; gap: 10px; margin-bottom: 12px }
.shortlist-list { display: grid; gap: 10px; padding: 0; list-style: none }
.shortlist-list li { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; padding-block: 6px; border-bottom: 1px solid var(--line) }
.shortlist-list a { display: flex; align-items: center; gap: 8px }
.shortlist-list img { width: 52px; aspect-ratio: 3 / 4; object-fit: cover }
.gallery-dialog { width: min(95%, 1160px); max-height: 95vh; padding: 10px }
.gallery-view { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 7px; align-items: center }
.gallery-view img { width: 100%; max-height: 76vh; object-fit: contain }
[data-gallery-credit] { min-height: 1em; font-size: .83rem; color: var(--muted); text-align: center }
.lab { display: grid; gap: 34px }
.lab-study { border-top: 1px solid var(--line); padding-top: 15px }
.lab-study header p { margin-top: 6px }
.lab-controls { display: flex; flex-wrap: wrap; gap: 5px; margin: 12px 0 }
.lab-panes { display: flex; align-items: center; gap: 6px }
.lab-panes figure { flex: 1; min-width: 0 }
.lab-panes img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover }
.lab-panes .active { flex: 1.8 }
.lab-spatial .lab-panes { perspective: 740px }
.lab-spatial figure:not(.active) { transform: rotateY(-24deg) scale(.82) }
.lab-type .lab-panes { display: grid; grid-template-columns: 1fr }
.lab-type figure:not(.active) { display: none }
.lab-type figure.active { display: grid; grid-template-columns: .6fr 1fr; align-items: end; gap: 10px }
.lab-type figcaption { font: 720 clamp(30px, 5vw, 88px)/1.02 var(--display) }
.lab-proof .active img { outline: 2px solid var(--red); outline-offset: 1px }

@media (max-width: 1050px) {
  .model-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) }
}
@media (max-width: 830px) {
  .top-inner { grid-template-columns: 1fr auto; gap: 0 8px; padding-top: 4px }
  .main-nav { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; border-top: 1px solid var(--line) }
}
@media (max-width: 670px) {
  .top-actions .top-cast { display: none }
  .main-nav { gap: 4px 7px; flex-wrap: wrap }
  .main-nav a { font-size: .72rem }
  .cover-stage { min-height: 0; grid-template-rows: auto auto auto auto }
  .cover-graphic { opacity: .75 }
  .cover-slate { min-height: 55px; gap: 6px }
  .cover-slate > span { max-width: 23ch; font-size: .56rem; letter-spacing: .1em }
  .cover-switcher > span { display: none }
  .cover-switcher { gap: 0 }
  .cover-switcher button { min-width: 44px }
  .cover-pictures { position: relative; grid-row: 2; inset: auto; height: clamp(250px, 76vw, 460px); margin-left: 7%; grid-template-columns: minmax(0, 1fr) minmax(0, .28fr) }
  .cover-portrait[data-cover-position="0"] > a::after { background: linear-gradient(transparent 48%, rgb(10 10 10 / .24) 76%, rgb(10 10 10 / .9)) }
  .cover-portrait figcaption { display: none }
  .cover-portrait[data-cover-position="0"] figcaption { display: flex; inset: 7px auto auto 7px }
  .cover-title { grid-row: 3; max-width: 100%; margin-top: clamp(-115px, -19vw, -60px); padding-block: 0 21px }
  .cover-cast { font-size: clamp(75px, 22vw, 140px) }
  .cover-index-title { font-size: clamp(42px, 11.5vw, 76px) }
  .cover-title p { margin: 14px 0 9px }
  .cover-index { grid-row: 4; min-height: 52px; font-size: .57rem }
  .cover-index a { font-size: .69rem }
  .proof-frame figcaption { flex-wrap: wrap }
  .proof-actions { justify-content: start }
  .cover-empty .cover-stage { min-height: 0 }
  .cover-empty .cover-title { margin-top: 0; padding-top: 20px }
  .section-rail { gap: 4px 10px }
  .section-rail > .text-link { font-size: .75rem }
  .sheet-workbench { display: flex; flex-direction: column; align-items: stretch }
  .sheet-proof { order: -1 }
  .sheet-frames { display: flex; overflow-x: auto; padding-inline: 4px; scrollbar-width: thin }
  .sheet-thumb { flex: 0 0 71px }
  .sheet-controls .micro { margin-right: auto }
  .proof-frame > img { aspect-ratio: .96 }
  .proof-frame figcaption .button { padding-inline: 8px }
  .model-profile, .team-grid, .contact-list { grid-template-columns: 1fr }
  .model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) }
  .model-caption .micro { font-size: .6rem }
  .intro h1 { font-size: clamp(41px, 11vw, 73px) }
  .world-filters { width: 100% }
  .filter-row label { flex: 1 1 110px; min-width: 0 }
  .footer-inner { grid-template-columns: 1fr 1fr }
  .footer-inner > div:first-child { grid-column: 1 / -1 }
}
@media (prefers-reduced-motion: no-preference) {
  a, button { transition: color .16s ease, background-color .16s ease, border-color .16s ease }
  .cover-graphic-trace { animation: run-trace 1.25s cubic-bezier(.16, 1, .3, 1) both }
  .cover-portrait[data-cover-position="0"] img { animation: exposure .65s cubic-bezier(.16, 1, .3, 1) both }
  .cover-portrait > a { transition: scale .38s cubic-bezier(.16, 1, .3, 1) }
  .proof-frame.is-entering { animation: proof-in .34s cubic-bezier(.16, 1, .3, 1) both }
  .lab-panes figure { transition: flex-grow .28s ease, transform .28s ease }
  @keyframes run-trace { from { stroke-dashoffset: .62 } to { stroke-dashoffset: 0 } }
  @keyframes exposure {
    from { clip-path: inset(0 7% 0 2%); opacity: .8 }
    to { clip-path: inset(0); opacity: 1 }
  }
  @keyframes proof-in {
    from { opacity: .73; clip-path: inset(1% 2%) }
    to { opacity: 1; clip-path: inset(0) }
  }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .cover-portrait > a:hover { scale: 1.025 }
}
@media (prefers-reduced-motion: reduce) {
  .lab-spatial figure:not(.active) { transform: none }
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .cover-graphic { animation: registration-shift linear both; animation-timeline: view(); animation-range: exit 0% exit 100% }
    @keyframes registration-shift { to { transform: translate3d(-42px, 28px, 0) } }
  }
}

.availability-result { padding: 14px 0; border-block: 1px solid var(--line) }
.availability-result p { margin-top: 8px; color: var(--muted) }

/* Casting desk */
.desk-intro { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 26px; padding-block: clamp(48px,7vw,106px) clamp(29px,4vw,62px) }
.desk-intro h1 { font-size: clamp(50px,8.3vw,126px); max-width: 15ch }
.desk-intro p { margin-top: 16px; max-width: 52ch; color: var(--muted); font-size: clamp(16px,1.6vw,22px) }
.desk-mark { align-self: stretch; display: grid; justify-items: end; align-content: space-between; gap: 30px; padding: 10px 0 10px 20px; border-left: 1px solid var(--line); text-align: right }
.desk-mark span { font-size: .72rem; font-weight: 800; line-height: 1.1; letter-spacing: .14em }
.desk-mark strong { color: var(--red); font: 850 clamp(22px,4vw,62px)/.8 var(--display); font-stretch: 75% }
.desk-layout { display: grid; grid-template-columns: minmax(145px,.28fr) minmax(0,1fr); align-items: start; gap: clamp(24px,5vw,85px) }
.desk-with-ticket { grid-template-columns: minmax(0,1fr) minmax(264px,.39fr); gap: clamp(25px,4.3vw,73px) }
.desk-form { display: grid; gap: clamp(33px,5vw,68px); min-width: 0 }
.desk-section { border-top: 1px solid var(--line); padding-block: 16px 0; scroll-margin-top: 18px }
.desk-section-head { display: grid; grid-template-columns: auto minmax(0,1fr); gap: clamp(12px,2vw,29px); margin-bottom: 21px; align-items: start }
.desk-section-head > span { color: var(--red); font: 800 clamp(23px,3.7vw,54px)/1 var(--display); font-stretch: 70%; font-variant-numeric: tabular-nums }
.desk-section h2 { font-size: clamp(30px,4.4vw,63px) }
.desk-section-head p { color: var(--muted); max-width: 60ch; margin-top: 8px }
.desk-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 24px }
.form-rail { position: sticky; top: 20px; color: var(--muted); font-size: .86rem }
.form-rail > .micro { color: var(--red); margin: 22px 0 7px }
.form-rail > a { display: flex; text-align: left; justify-content: start }
.desk-index { display: grid; border-block: 1px solid var(--line) }
.desk-index a { display: grid; grid-template-columns: 3ch minmax(0,1fr); gap: 10px; padding: 11px 4px; text-decoration: none; align-items: center; font-weight: 750; color: var(--white) }
.desk-index a + a { border-top: 1px solid var(--line) }
.desk-index a span { color: var(--red); font-variant-numeric: tabular-nums; font-size: .8rem }
.desk-index a:hover { color: var(--red) }
.desk-submit { display: flex; flex-wrap: wrap; align-items: center; gap: 20px }
.desk-form .writing-field { display: grid; gap: 3px; min-width: 0; align-content: start; font-weight: 750; font-size: .91rem; border-bottom: 1px solid var(--line); padding: 12px 10px 3px; background: #141212 }
.writing-field:focus-within { border-bottom-color: var(--red); background: #1d1516 }
.desk-form small { color: var(--muted); font-weight: 550 }
.desk-form .writing-field :is(input,textarea) { border: 0; padding: 4px 0 8px; min-width: 0; background: transparent; font-weight: 550; caret-color: var(--red) }
.desk-form .writing-field :is(input,textarea):focus-visible { outline-offset: 1px }
.desk-form .writing-field textarea { resize: vertical; line-height: 1.7 }
.desk-form .writing-field ::placeholder { color: #ae9d9d }
.desk-form .form-footer { margin-top: 10px }
.desk-form .form-footer p { max-width: 42ch }

.talent-selection { padding: 0; border: 0 }
.sheet-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; margin-bottom: 9px; border-block: 1px solid var(--line) }
.sheet-toolbar p { padding-block: 8px; color: var(--white); font-weight: 730 }
.sheet-toolbar button, .view-switch button { min-height: 44px; border: 0; padding: 6px 10px; color: var(--red); background: transparent; font-size: .84rem; font-weight: 800 }
.talent-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px 10px; margin: 0 }
.talent-options .casting-frame { position: relative; display: grid; gap: 6px; align-content: start; min-width: 0; cursor: pointer }
.casting-frame > input, .choice-field input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; margin: 0 }
.casting-frame-visual { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #211b1b }
.casting-frame-visual::after { content: ""; position: absolute; inset: 0; border: 2px solid transparent; pointer-events: none }
.casting-frame-visual img { width: 100%; height: 100%; object-fit: cover }
.casting-frame-caption { display: grid; align-content: start; line-height: 1.25; overflow-wrap: anywhere; padding: 1px 0 5px; border-bottom: 1px solid var(--line) }
.casting-frame-caption small { margin-top: 4px; font-size: .67rem; letter-spacing: .1em }
.frame-number, .casting-frame-toggle { position: absolute; display: grid; place-items: center; background: var(--black); color: var(--white); font-weight: 800 }
.frame-number { top: 0; left: 0; font-size: .69rem; padding: 3px 7px }
.casting-frame-toggle { right: 0; bottom: 0; width: 34px; height: 34px }
.casting-frame-toggle svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.8 }
.casting-frame-toggle .check-mark, .casting-frame input:checked + span .add-mark { display: none }
.casting-frame input:checked + span .check-mark { display: block }
.casting-frame input:checked + span .casting-frame-toggle { background: var(--red); color: var(--black) }
.casting-frame input:checked + span::after { border-color: var(--red) }
.casting-frame input:checked ~ .casting-frame-caption { border-color: var(--red) }
.casting-frame input:focus-visible + span, .choice-field input:focus-visible + span { outline: 2px solid var(--red); outline-offset: 3px }
.casting-frame:hover .casting-frame-caption { color: var(--red) }

.choice-field { margin: 0; min-width: 0; padding: 0; border: 0 }
.choice-field legend { margin-bottom: 7px; font-size: .86rem; font-weight: 750 }
.choice-field > div { display: flex; flex-wrap: wrap; gap: 5px }
.choice-field label { position: relative; cursor: pointer }
.choice-field label span { display: grid; align-items: center; min-height: 44px; padding: 6px 12px; background: #211b1b; border-bottom: 1px solid var(--line); font-weight: 750; font-size: .88rem }
.choice-field input:checked + span { color: var(--black); background: var(--red); border-color: var(--red) }
.choice-field label:hover span { border-color: var(--red) }
.setting-row { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,.6fr) minmax(0,1fr); align-items: center; min-height: 52px; gap: 8px 15px; border-bottom: 1px solid var(--line); padding-bottom: 6px }
.setting-row > label { font-weight: 750; font-size: .9rem }
.setting-row select { min-width: 0; width: 100% }
.setting-row details { min-width: 0 }
.setting-row details[open] { grid-column: 1 / -1 }
.setting-row summary { min-height: 44px; display: flex; justify-content: space-between; align-items: center; gap: 8px; cursor: pointer; padding: 4px 10px; background: #211b1b; font-weight: 750; overflow-wrap: anywhere }
.setting-row summary::-webkit-details-marker { display: none }
.setting-row summary svg { flex: 0 0 15px; width: 15px; fill: none; stroke: var(--red); stroke-width: 1.6 }
.setting-row details[open] summary svg { transform: rotate(180deg) }
.setting-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin-top: 4px; background: var(--line) }
.setting-options button { min-height: 46px; padding: 8px; color: var(--white); background: #171414; border: 0; text-align: left; font-weight: 650; overflow-wrap: anywhere }
.setting-options button:hover { color: var(--red); background: #25191a }
.setting-options button[aria-pressed=true] { color: var(--black); background: var(--red) }
.line-toggle { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; font-size: .94rem }
.line-toggle input { margin-left: 0 }

.estimate-ticket { container-type: inline-size; --ticket: #f4e9e0; --ticket-ink: #281a1b; --ticket-line: #bcaaa1; color-scheme: light; color: var(--ticket-ink); background: var(--ticket); border: 0; padding: clamp(17px,3vw,32px); padding-top: 12px }
.estimate-ticket::after { content: ""; position: absolute; top: 100%; inset-inline: 0; height: 9px; background: var(--ticket); clip-path: polygon(0 0,100% 0,100% 40%,99% 90%,98% 43%,97% 88%,96% 37%,95% 83%,94% 48%,93% 82%,92% 36%,91% 90%,90% 47%,80% 79%,74% 38%,65% 82%,60% 55%,54% 86%,46% 44%,34% 83%,28% 40%,20% 81%,10% 44%,8% 87%,6% 41%,4% 85%,2% 44%,0 84%); pointer-events: none }
.ticket-stub { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding-bottom: 9px; border-bottom: 1px dashed var(--ticket-line); font-weight: 800; font-size: .66rem; letter-spacing: .09em }
.ticket-stub span:last-child, .ticket-label { color: #8b1d27 }
.estimate-ticket h2 { font-size: clamp(28px,16cqw,58px); font-stretch: 89%; overflow-wrap: normal; text-wrap: balance; margin: 18px 0 8px }
.estimate-ticket p:not(.micro) { color: var(--ticket-ink) }
.estimate-ticket .rate-note { padding-top: 13px; border-top: 1px dashed var(--ticket-line); color: #4d3737; font-size: .79rem }
.estimate-ticket .rate-lines li { border-color: var(--ticket-line) }
.estimate-ticket .button { display: flex; width: 100%; color: var(--white); background: #8b1d27 }
.estimate-ticket .button:hover { color: var(--white); background: #61131a }
.estimate-ticket a.text-link:hover { color: #8b1d27 }
.estimate-ticket .ticket-notice { font-weight: 760 }
.ticket-cast { margin-top: 12px; padding-top: 10px; border-top: 1px dashed var(--ticket-line) }
.ticket-label { font-size: .74rem; text-transform: uppercase; letter-spacing: .11em; font-weight: 800 }
.ticket-cast ul { list-style: none; padding: 0; display: grid; gap: 4px; margin-bottom: 0 }
.ticket-cast li { display: flex; align-items: center; gap: 8px; font-weight: 750; font-size: .86rem }
.ticket-cast img { width: 31px; height: 38px; object-fit: cover }
.availability-result { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 8px 14px }
.availability-result p { margin-top: 0 }
.availability-light { width: 11px; height: 11px; border: 1px solid var(--muted); transform: rotate(45deg) }
.availability-result[data-state=available] .availability-light { background: #a0daa7; border-color: #a0daa7 }
.availability-result[data-state=unconfirmed] .availability-light { background: #ffd098; border-color: #ffd098 }
.availability-result[data-state=unavailable] .availability-light, .availability-result[data-state=error] .availability-light { background: var(--red); border-color: var(--red) }

/* Index, portfolios and agency routing */
.drawer { background: #151212; border-top: 4px solid var(--red) }
.shortlist-stamp { display: flex; justify-content: space-between; gap: 10px; border-block: 1px solid var(--line); padding: 9px 0; margin-bottom: 14px; font-size: .78rem; font-weight: 800; letter-spacing: .09em }
.shortlist-stamp b { color: var(--red) }
.shortlist-list { grid-template-columns: repeat(3,minmax(0,1fr)) }
.shortlist-list li { position: relative; display: block; padding: 0 0 6px }
.shortlist-list a { display: grid; gap: 5px; text-decoration: none; font-size: .84rem; line-height: 1.3; overflow-wrap: anywhere }
.shortlist-list img { width: 100%; aspect-ratio: 4 / 5 }
.shortlist-list .icon-button { position: absolute; top: 0; right: 0; background: var(--black) }
.shortlist-actions { display: flex; flex-wrap: wrap; gap: 7px 15px }
.roster-readout { display: flex; justify-content: space-between; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); margin-block: 8px 15px }
.roster-readout p { margin: 0 }
.view-switch { display: flex; gap: 2px }
.view-switch button { color: var(--muted) }
.view-switch button[aria-pressed=true] { color: var(--white); box-shadow: inset 0 -2px var(--red) }
.index-location { display: none }
[data-roster-mode=index] .model-grid { display: grid; grid-template-columns: 1fr; gap: 0 }
[data-roster-mode=index] .model-card { display: grid; grid-template-columns: clamp(87px,14vw,154px) minmax(0,1fr); align-items: center; border-bottom: 1px solid var(--line) }
[data-roster-mode=index] .model-image { align-self: stretch }
[data-roster-mode=index] .model-image img { height: 100%; aspect-ratio: 1 }
[data-roster-mode=index] .model-caption { display: grid; grid-template-columns: 12ch minmax(0,1fr) minmax(0,.38fr); align-items: center; gap: 12px; padding-inline: clamp(8px,3vw,42px) }
[data-roster-mode=index] .model-caption a { font-size: clamp(22px,4.4vw,65px); text-decoration: none }
[data-roster-mode=index] .index-location { display: block; color: var(--muted); font-size: .88rem }
.world-mast { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.73fr); align-items: center; min-height: clamp(420px,55vw,730px); margin-block: 28px; border-block: 1px solid var(--line) }
.world-mast > div { z-index: 1; padding: 23px 0 }
.world-mast h1 { font-size: clamp(65px,16vw,230px); font-stretch: 114%; line-height: .83 }
.world-mast h1 span { color: var(--red) }
.world-mast p { max-width: 37ch; margin-top: 8px; text-shadow: 0 2px 12px #000 }
.world-mast .world-mast-title { font-weight: 800; margin-top: 22px }
.world-mast a { position: absolute; inset: 0 0 0 42%; overflow: hidden }
.world-mast a img { width: 100%; height: 100%; object-fit: cover }
.world-mast a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,var(--black),transparent 50%); pointer-events: none }
.world-mast a span { position: absolute; z-index: 1; right: 0; bottom: 0; padding: 5px 10px; color: var(--white); background: var(--black); font-size: .77rem; font-weight: 800 }
.world-mast[data-discipline=LOVE] h1 { font-stretch: 92% }
.world-mast[data-discipline=GRIT] h1 { font-stretch: 73% }
.selected-work .portfolio-grid { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(220px,36%); align-items: start; overflow-x: auto; scroll-snap-type: x proximity; padding: 4px 4px 12px }
.selected-work .profile-shot { scroll-snap-align: start }
.selected-work .profile-shot .photo-button img { aspect-ratio: 4 / 5; object-fit: cover }
.team-grid { display: block; padding-top: 0 }
.team-member { display: grid; grid-template-columns: minmax(105px,.37fr) minmax(0,1fr); gap: clamp(14px,6vw,105px); padding: clamp(22px,4vw,63px) 0; border-bottom: 1px solid var(--line); align-items: center }
.team-grid .team-initials { position: static; z-index: auto; color: var(--red); font: 880 clamp(48px,15vw,208px)/.9 var(--display); font-stretch: 78%; letter-spacing: -.04em }
.team-member:nth-child(2) .team-initials { color: var(--white) }
.contact-list { grid-template-columns: 1fr; gap: 0; padding-top: 0 }
.contact-route { display: grid; grid-template-columns: minmax(70px,.24fr) minmax(0,1fr); align-items: start; gap: clamp(14px,3vw,44px); padding: clamp(18px,4vw,53px) 0; border-bottom: 1px solid var(--line); text-decoration: none }
.contact-index { color: var(--red); font: 870 clamp(24px,6.6vw,92px)/1 var(--display); font-stretch: 68%; letter-spacing: -.03em }
.contact-route p { margin-top: 6px }
.contact-action { display: inline-block; margin-top: 10px; font-weight: 750; font-size: .86rem; text-decoration: underline; text-underline-offset: .25em }
.contact-route:hover .contact-index { color: var(--white) }
.faq-layout { display: grid; grid-template-columns: minmax(145px,.28fr) minmax(0,1fr); gap: clamp(25px,6vw,92px) }
.faq-layout .desk-index { align-self: start }
.faq-block { scroll-margin-top: 20px; margin-bottom: 32px }
.faq-block h2 { font-size: clamp(30px,4vw,55px); margin-bottom: 17px }
.faq-block details { border-top: 1px solid var(--line); padding: 12px 0 }
.faq-block details:last-child { border-bottom: 1px solid var(--line) }
.faq-search { display: grid; gap: 5px; margin-bottom: 30px; padding: 14px 15px; border-block: 1px solid var(--line); background: #151212 }
.faq-search label { font-weight: 750 }
.faq-search p { color: var(--muted); font-size: .83rem }
.faq-contact { margin-top: 19px }
.faq-contact a { display: flex; justify-content: start }
.faq-block summary { display: grid; grid-template-columns: 5ch minmax(0,1fr); min-height: 44px; cursor: pointer; font-weight: 750 }
.faq-block summary::-webkit-details-marker { display: none }
.faq-block summary span { color: var(--red); font-variant-numeric: tabular-nums; font-size: .74rem; padding-top: 3px }
.faq-block details p { margin-left: 3ch }
.faq-block details[open] summary { color: var(--red) }
.faq-block details p { color: var(--muted); max-width: 68ch; padding: 0 0 8px 17px }

@media (max-width: 830px) {
  .desk-with-ticket { grid-template-columns: minmax(0,1fr) minmax(225px,.53fr) }
  .talent-options { grid-template-columns: repeat(3,minmax(0,1fr)) }
}
@media (max-width: 670px) {
  .desk-layout, .desk-with-ticket, .faq-layout { grid-template-columns: minmax(0,1fr) }
  .desk-intro { align-items: start; gap: 9px }
  .desk-intro h1 { font-size: clamp(41px,10vw,74px) }
  .desk-intro p { font-size: .95rem }
  .desk-mark { padding-left: 8px; align-self: start; gap: 10px }
  .desk-mark strong { font-size: 21px }
  .desk-mark span { font-size: .54rem }
  .form-rail { position: static }
  .form-rail > a { display: inline-flex; margin-right: 10px }
  .desk-index { grid-template-columns: repeat(auto-fit,minmax(100px,1fr)); gap: 0 4px }
  .desk-index a, .desk-index a + a { border: 0; gap: 3px }
  .desk-fields { gap: 12px 9px }
  .desk-form .writing-field { padding-inline: 7px }
  .estimate-ticket { position: relative; top: auto }
  .selected-work .portfolio-grid { grid-auto-columns: minmax(195px,69%) }
  [data-roster-mode=index] .model-caption { grid-template-columns: 1fr; gap: 2px }
  .world-mast { min-height: 420px; align-items: end }
  .world-mast > div { grid-column: 1 / -1; padding-bottom: 30px; pointer-events: none }
  .world-mast a { inset: 0 0 0 14% }
  .world-mast a::after { background: linear-gradient(0deg,var(--black),transparent 70%),linear-gradient(90deg,var(--black),transparent 60%) }
}
@media (max-width: 390px) {
  .desk-fields { grid-template-columns: 1fr }
  .talent-options { grid-template-columns: repeat(2,minmax(0,1fr)) }
  .availability-result { grid-template-columns: auto minmax(0,1fr) }
  .availability-result button { grid-column: 2 }
}
@media (prefers-reduced-motion: no-preference) {
  .casting-frame-visual img, .contact-index { transition: transform .33s cubic-bezier(.2,.8,.2,1) }
  .casting-frame:hover .casting-frame-visual img { transform: scale(1.035) }
  .contact-route:hover .contact-index { transform: translateX(5px) }
}

/* A single screen with a native scroll playhead. */
.reel-world { margin-top: var(--space); overflow: clip; background: #140e10 }
.reel-world-stage { position: relative; isolation: isolate; display: grid; align-items: center; min-height: clamp(470px,64vw,800px); padding-block: 30px }
.reel-world-copy { position: relative; z-index: 2; max-width: min(42ch,55%); pointer-events: none }
.reel-world-copy h2 { font-size: clamp(76px,17vw,245px); font-stretch: 104%; line-height: .84; text-wrap: nowrap }
.reel-world-copy h2 span { color: var(--red) }
.reel-world-copy p { color: #f6eeec; margin-top: 9px; max-width: 37ch; text-shadow: 0 2px 14px #090708 }
.reel-world-copy .reel-world-title { font-weight: 800; margin-top: 20px; font-size: clamp(16px,1.6vw,22px) }
.reel-world-copy a { margin-top: 15px; pointer-events: auto }
.reel-world-photo, .reel-world-detail { display: block; position: absolute; overflow: clip; background: #251619 }
.reel-world-photo { inset: 0 0 0 36% }
.reel-world-photo img, .reel-world-detail img { width: 100%; height: 100%; object-fit: cover }
.reel-world-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#140e10,transparent 68%); pointer-events: none }
.reel-world-photo > span, .reel-world-detail > span { position: absolute; z-index: 1; right: 0; bottom: 0; padding: 6px 10px; background: var(--black); color: var(--white); font-size: .73rem; font-weight: 780 }
.reel-world-detail { z-index: 1; inset: 12% 0 auto auto; width: 15%; aspect-ratio: .75; outline: 1px solid #e9b9ba }
.reel-world-photo:focus-visible, .reel-world-detail:focus-visible { outline-offset: -4px }
.reel-world[data-world-scene=LOVE] { background: #271217 }
.reel-world[data-world-scene=LOVE] .reel-world-copy h2 { font-stretch: 88% }
.reel-world[data-world-scene=LOVE] .reel-world-photo { inset-inline: 30% 8% }
.reel-world[data-world-scene=LOVE] .reel-world-photo::after { background: linear-gradient(90deg,#271217,transparent 64%) }
.reel-world[data-world-scene=LOVE] .reel-world-detail { inset-block: auto 12% }
.reel-world[data-world-scene=GRIT] .reel-world-copy h2 { font-stretch: 77%; font-weight: 880 }
.reel-world[data-world-scene=GRIT] .reel-world-photo { inset-inline: 28% 0 }
.reel-world[data-world-scene=GRIT] .reel-world-detail { inset-inline: auto 8%; inset-block: auto 8% }
.reel-finale-inner { min-height: clamp(365px,65vw,700px); display: grid; grid-template-columns: minmax(0,1fr) minmax(230px,.46fr); align-items: center; gap: 20px; padding-block: 32px }
.reel-finale h2 { font-size: clamp(68px,12vw,175px); font-weight: 870; font-stretch: 89%; line-height: .86 }
.reel-finale h2 span { color: #b22034 }
.reel-finale-actions { border-top: 1px solid #a73748; padding-top: 14px; display: grid; justify-items: start; gap: 7px }
.reel-finale-actions p { margin-bottom: 5px; max-width: 34ch; font-size: clamp(15px,1.65vw,23px) }
.reel-finale-actions .button { background: #9e192b; color: var(--white) }
.reel-finale-actions .button:hover { background: var(--black); color: var(--white) }

[data-reel-enabled] { height: calc(100svh - var(--reel-top) + var(--reel-steps) * 82svh); overflow-anchor: none }
body:has([data-reel-enabled]) .top { position: sticky; top: 0; z-index: 8; background: var(--black); box-shadow: 0 0 0 100vmax var(--black); clip-path: inset(0 -100vmax) }
[data-reel-enabled] .reel-stage { position: sticky; top: var(--reel-top); height: calc(100svh - var(--reel-top)); display: grid; grid-template-rows: minmax(0,1fr) auto; isolation: isolate }
[data-reel-enabled] .reel-screen { position: relative; min-height: 0; overflow: clip; background: var(--black) }
[data-reel-enabled] .reel-scene {
  visibility: hidden; position: absolute; inset: 0; background: var(--black);
  transform: scale(var(--reel-depth,1));
  transform-origin: 50% 48%;
}
.reel-aperture { display: none }
[data-reel-enabled] .reel-aperture { display: block; position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; opacity: var(--gate-light,0); transform: scale(var(--gate-depth,1)); transform-origin: 50% 48% }
.reel-aperture path { fill: none; stroke: #ff8390; stroke-width: 1.25; vector-effect: non-scaling-stroke }
.reel-aperture path:nth-child(2) { stroke: var(--red); opacity: .7 }
.reel-aperture path:nth-child(3) { stroke: var(--red); opacity: .44 }
[data-reel-enabled] .reel-scene :is(.cover-pictures,.sheet-proof,.reel-world-photo) { scale: var(--reel-image-depth,1); transform-origin: 50% 48% }
[data-reel-enabled] .reel-scene::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: rgb(0 0 0 / var(--reel-shade,0)) }
[data-reel-enabled] .reel-scene[data-reel-visible] { visibility: visible }
[data-reel-enabled] .reel-scene[inert] { pointer-events: none }
[data-reel-enabled] .reel-scene > section { height: 100%; margin-top: 0 }
[data-reel-enabled] :is(.cover-stage,.reel-world-stage,.reel-finale-inner) { height: 100%; min-height: 0 }
[data-reel-enabled] .cover-stage { grid-template-rows: auto minmax(0,1fr) }
[data-reel-enabled] .cover-graphic { animation: none }
[data-reel-enabled] .cover-pictures { bottom: 15px }
[data-reel-enabled] .cover-index { display: none }
[data-reel-enabled] .casting-section { padding-top: clamp(9px,3vh,30px); display: grid; grid-template-rows: auto minmax(0,1fr) }
[data-reel-enabled] .section-rail { margin-bottom: 9px; gap: 4px 10px }
[data-reel-enabled] .section-rail h2 { font-size: clamp(30px,4.5vw,70px) }
[data-reel-enabled] .contact-sheet { min-height: 0 }
[data-reel-enabled] .sheet-workbench { height: 100%; grid-template-columns: minmax(110px,.31fr) minmax(0,1fr); grid-template-rows: minmax(0,1fr) auto; gap: 7px clamp(9px,2vw,28px) }
[data-reel-enabled] .sheet-frames { max-height: 100%; overflow: auto; overscroll-behavior: contain; grid-template-columns: repeat(3,minmax(0,1fr)) }
[data-reel-enabled] .sheet-thumb img { aspect-ratio: 1 }
[data-reel-enabled] :is(.sheet-proof,.proof-frame) { min-height: 0; height: 100% }
[data-reel-enabled] .proof-frame > img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover }
[data-reel-enabled] .sheet-controls { padding-bottom: 4px }
.reel-nav { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 15px; background: var(--black); border-top: 1px solid var(--line); min-height: 51px; padding-bottom: env(safe-area-inset-bottom,0px) }
.reel-progress { position: absolute; inset: -1px 0 auto; height: 1px; pointer-events: none }
.reel-progress span { display: block; width: 100%; height: 100%; background: var(--red); transform-origin: left; transform: scaleX(var(--reel-progress,0)) }
.reel-chapters { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)) }
.reel-chapters a { min-height: 47px; display: grid; place-items: center; color: var(--muted); text-decoration: none; text-transform: uppercase; font-size: .78rem; letter-spacing: .09em; font-weight: 800 }
.reel-chapters a:hover, .reel-chapters a[aria-current] { color: var(--white) }
.reel-chapters a[aria-current] { box-shadow: inset 0 -2px var(--red) }
.reel-chapters a:focus-visible { outline-offset: -4px }

@media (max-width: 670px) {
  .reel-world-stage { align-items: end; min-height: 490px; padding-block: 22px }
  .reel-world-copy { max-width: min(100%,37ch) }
  .reel-world-copy h2 { font-size: clamp(64px,19vw,132px) }
  .reel-world-copy .reel-world-title { margin-top: 13px }
  .reel-world-copy p { font-size: .89rem }
  .reel-world-detail { display: none }
  .reel-world .reel-world-photo { inset: 0 0 0 7% }
  .reel-world[data-world-scene] .reel-world-photo::after { background: linear-gradient(0deg,#140e10 4%,rgb(20 14 16 / .81) 23%,transparent 68%) }
  .reel-world-photo > span { top: 7px; right: 7px; bottom: auto }
  .reel-finale-inner { grid-template-columns: 1fr; align-content: center; gap: 24px }
  .reel-finale h2 { font-size: clamp(61px,17vw,110px) }
  .reel-nav { grid-template-columns: minmax(0,1fr); gap: 0; min-height: 45px }
  .reel-scroll-hint { display: none }
  .reel-chapters a { min-height: 45px; font-size: .65rem; letter-spacing: .04em }
  [data-reel-enabled] .cover-stage { grid-template-rows: auto minmax(0,1fr) auto }
  [data-reel-enabled] .cover-slate { min-height: 44px }
  [data-reel-enabled] .cover-pictures { height: 100%; bottom: auto }
  [data-reel-enabled] .cover-title { margin-top: -50px; padding-bottom: 10px }
  [data-reel-enabled] .cover-title p { margin-block: 10px 4px }
  [data-reel-enabled] .sheet-workbench { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) auto auto }
  [data-reel-enabled] .sheet-proof { grid-row: 1; grid-column: 1 }
  [data-reel-enabled] .sheet-frames { grid-row: 2; display: flex; padding-block: 4px; max-height: 79px }
  [data-reel-enabled] .sheet-thumb { flex-basis: 57px; padding: 2px }
  [data-reel-enabled] .sheet-controls { grid-column: 1; grid-row: 3 }
  [data-reel-enabled] .proof-frame figcaption .measurements { display: none }
}

.card-spec { position: absolute; inset: 0; pointer-events: none }
.card-spec summary { position: absolute; z-index: 2; top: 7px; left: 7px; display: flex; gap: 5px; align-items: center; min-height: 44px; padding: 5px 7px; color: white; background: rgb(12 8 10 / .34); border: 1px solid rgb(255 255 255 / .32); cursor: pointer; pointer-events: auto; font-size: .66rem; font-weight: 800; text-shadow: 0 1px 4px #000 }
.card-spec summary::-webkit-details-marker { display: none }
.card-spec summary svg { width: 18px; stroke: currentColor; stroke-width: 1.3; fill: none; filter: drop-shadow(0 1px 2px #000) }
.card-spec[open] summary { border-bottom-color: var(--red) }
.card-spec-sheet { position: absolute; inset: auto 0 0; padding: 18px 50px 9px 10px; color: white; background: linear-gradient(0deg,rgb(9 7 8 / .65),rgb(9 7 8 / .4) 73%,transparent); text-shadow: 0 1px 4px #000,0 1px 10px #000 }
.card-spec-sheet > p { display: none }
.card-spec-sheet dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 6px }
.card-spec-sheet dl > div { padding-top: 2px; border-top: 1px solid rgb(255 255 255 / .55) }
.card-spec-sheet dt { font-size: .63rem; line-height: 1.16 }
.card-spec-sheet dd { font: 800 clamp(12px,1.15vw,18px)/1.08 var(--display); overflow-wrap: anywhere; font-variant-numeric: tabular-nums }
[data-roster-mode=index] .card-spec-sheet { inset: 0 auto auto 100%; z-index: 4; width: min(230px,57vw); padding: 8px 10px; background: rgb(9 7 8 / .88); box-shadow: 8px 9px 22px #0005 }
[data-roster-mode=index] .model-card:has(.card-spec[open]) { position: relative; z-index: 3 }
[data-roster-mode=index] .card-spec summary span { display: none }
@media (max-width: 670px) { .card-spec summary span { display: none } }
@media (prefers-reduced-motion: no-preference) {
  .card-spec[open] .card-spec-sheet { animation: measurement-slate .23s cubic-bezier(.16,1,.3,1) both }
  @keyframes measurement-slate { from { clip-path: inset(0 100% 0 0) } to { clip-path: inset(0) } }
}
.quote-reason { display: block; color: #69454a; font-size: .74rem }
.quote-standard { display: grid; gap: 2px; margin-top: 13px; padding-top: 8px; border-top: 1px dashed var(--ticket-line); font-size: .82rem }
.specialist-field { border-block: 1px solid var(--line); padding-block: 8px }
.specialist-field summary { min-height: 44px; align-content: center; cursor: pointer; font-weight: 750 }
.specialist-field p { color: var(--muted); font-size: .87rem }

.folio-frame { --folio-paper:#f4e9e0; background: var(--folio-paper); color: #23181a; padding: clamp(7px,1.4vw,18px); position: relative }
.folio-register, .folio-frame figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 10px; color: #592d34; font-weight: 800; font-size: .68rem; letter-spacing: .06em }
.folio-register { padding-bottom: 7px; margin-bottom: 7px; border-bottom: 1px dashed #ae8e89 }
.folio-frame figcaption { padding-top: 7px }
.folio-frame figcaption > span:last-child { color: #8b1d27 }
.folio-frame::after { content: ""; position: absolute; inset: auto 0 -5px; height: 6px; background: var(--folio-paper); clip-path: polygon(0 0,100% 0,100% 67%,88% 20%,73% 83%,60% 37%,45% 78%,29% 39%,16% 84%,0 52%); pointer-events: none }
.form-result[data-receipt=true] { background: #f4e9e0; color: #281a1b; border: 0; padding: 14px; font-weight: 700 }
.form-result[data-receipt=true]::before { content: "MRPD / RECEIVED"; display: block; color: #8b1d27; font-size: .72rem; letter-spacing: .12em; padding-bottom: 6px; border-bottom: 1px dashed #bcaaa1; margin-bottom: 8px }
.team-portrait { width: min(100%,380px) }
.team-portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover }


/* MRPD typography. The display face names people and stories, the condensed
   sans directs the work, and the mono records casting and production details. */
@font-face {
  font-family: "Bodoni Moda";
  src: url("/mrpd-bodoni.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/mrpd-plex-mono.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

:root {
  --editorial-serif: "Bodoni Moda", "Bodoni 72", Didot, Georgia, serif;
  --production-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  --editorial-display: clamp(3rem, 8.6vw, 6rem);
}

/* Profiles and the agency's editorial pages share a magazine masthead. */
.intro:has(+ :is(.team-grid, .contact-list)) h1,
.model-profile h1,
.team-grid h2 {
  font-family: var(--editorial-serif);
  font-optical-sizing: none;
  font-variation-settings: "opsz" 36;
  font-weight: 540;
  font-stretch: normal;
  line-height: .98;
  letter-spacing: -.022em;
}

.intro:has(+ :is(.team-grid, .contact-list)) h1,
.model-profile h1 {
  font-size: var(--editorial-display);
}

.team-grid h2 {
  font-size: clamp(2rem, 4.6vw, 4.2rem);
}

/* Working pages retain the MRPD sans, set narrower for quicker scanning. */
.intro:has(+ :is(.directory, .prose)) h1,
.desk-intro h1,
.desk-section h2,
.faq-block h2,
.contact-list h2,
.selected-work .section-rail h2,
.prose h2,
.prose h3 {
  font-stretch: 79%;
  font-weight: 780;
  letter-spacing: -.028em;
  line-height: 1.06;
}

.intro:has(+ .prose) h1 {
  font-size: clamp(2.65rem, 6vw, 5.25rem);
}

.prose h2,
.prose h3 {
  font-size: clamp(1.7rem, 3.1vw, 2.65rem);
}

.desk-intro p,
.profile-bio,
.team-grid p:not(.micro),
.contact-route p,
.prose p,
.prose li {
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.62;
  max-width: 65ch;
}

/* Mono identifies records, figures, captions and sequence numbers. */
.micro,
.cover-index,
.cover-switcher button,
.cover-portrait figcaption,
.opening-frames figcaption,
.folio-register,
.folio-frame figcaption,
.measurements dt,
.measurements dd,
.card-spec-sheet dt,
.card-spec-sheet dd,
.frame-number,
.casting-frame-caption small,
.desk-mark span,
.desk-index a span,
.faq-block summary span,
.ticket-stub,
.ticket-label,
.shortlist-stamp,
.form-result[data-receipt=true]::before {
  font-family: var(--production-mono);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.micro,
.ticket-stub,
.ticket-label,
.shortlist-stamp {
  letter-spacing: .09em;
}

.measurements dt,
.card-spec-sheet dt {
  text-transform: uppercase;
  letter-spacing: .025em;
}

.measurements dd {
  font-size: .95rem;
}


/* The cover uses a cutting pattern, registration marks and three exposed frames. */
.cover-graphic-field { fill: #291319 }
.cover-graphic-rule { stroke: #87505a }
.cover-pattern-stitch {
  fill: none; stroke: #9d636a; stroke-width: 1;
  stroke-dasharray: 3 5; vector-effect: non-scaling-stroke;
}
.cover-pattern-note { fill: #af7d83; font: 10px var(--production-mono, monospace); letter-spacing: .14em }
.cover-slate { border-bottom: 1px solid var(--line) }
.cover-slate > span::before { width: 9px; height: 9px; flex-basis: 9px; background: none; border: 1px solid var(--red) }
.cover-title h1 { text-transform: none; row-gap: .02em }
.cover-cast {
  text-transform: uppercase; font-size: clamp(96px, 12.9vw, 211px);
  font-weight: 880; font-stretch: 83%; line-height: .8;
}
.cover-index-title {
  font-family: var(--editorial-serif, Georgia, serif);
  font-size: clamp(94px, 12vw, 191px); font-stretch: normal; font-weight: 540;
  font-optical-sizing: none; font-variation-settings: "opsz" 48;
  line-height: .86; letter-spacing: -.04em;
}
.cover-pictures::before { inset-inline-start: -7px; background: #9a6269 }
.cover-pictures::after { width: 27px; height: 27px }
.cover-portrait figcaption { font-family: var(--production-mono, monospace); font-weight: 500; letter-spacing: .06em }
.cover-portrait[data-cover-position="0"] figcaption { border-inline-start: 1px solid var(--red) }
.reel-chapters a { font-family: var(--production-mono, monospace); font-weight: 500 }
.reel-finale h2 .finale-serif {
  font-family: var(--editorial-serif, Georgia, serif); font-weight: 540;
  font-optical-sizing: none; font-variation-settings: "opsz" 48;
  font-stretch: normal; font-style: normal; letter-spacing: -.04em;
}
.casting-section .section-rail h2 {
  font-family: var(--editorial-serif, Georgia, serif); font-weight: 540; font-stretch: normal;
  font-optical-sizing: none; font-variation-settings: "opsz" 38;
}
.sheet-proof { outline: 1px solid var(--line); outline-offset: 3px }
.proof-frame figcaption .measurements dt { font-family: var(--production-mono, monospace) }

/* Working pages borrow the notation and rules of production call sheets. */
.desk-section { border-image: repeating-linear-gradient(90deg, #675053 0 3px, transparent 3px 7px) 1 }
.desk-mark { border-left-style: dashed }
.desk-mark span, .desk-section-head > span, .desk-index a span, .ticket-stub, .ticket-label,
.frame-number, .shortlist-stamp { font-family: var(--production-mono, monospace); font-weight: 500 }
.desk-section-head > span { font-size: clamp(18px, 2.9vw, 36px); line-height: 1.15 }
.desk-form .writing-field { background: #171213 }
.desk-form .writing-field:focus-within { background: #211617 }
.ticket-stub { font-variant-numeric: tabular-nums }
.footer small { font-family: var(--production-mono, monospace); color: var(--muted); font-size: .73rem }

@media (max-width: 670px) {
  .cover-cast { font-size: clamp(70px, 20vw, 133px) }
  .cover-index-title { font-size: clamp(58px, 15vw, 99px) }
  .cover-graphic { opacity: .34 }
  .cover-pattern-note { display: none }
  .cover-pictures::before { inset-inline-start: -4px }
  .cover-pictures::after { width: 16px; height: 16px }
}

@media (min-width: 671px) {
  /* The wider lead frame needs a higher crop than the portrait folio. */
  .cover-portrait[data-cover-position="0"] img[src*="d6264876"] { object-position: 50% 19% !important }
}

@media (prefers-reduced-motion: no-preference) {
  .cover-index-title { animation: cover-type-exposure .64s cubic-bezier(.16, 1, .3, 1) backwards }
  @keyframes cover-type-exposure {
    from { clip-path: inset(0 0 100%); transform: translateY(.07em) }
    to { clip-path: inset(-12% -5% -25%); transform: none }
  }
}


/* A common proof format with different materials and type for each collection. */
:is(.world-mast, .reel-world) {
  --world-paper: #161817;
  --world-ink: #f6f5ee;
  --world-note: #cbc9bf;
  --world-rule: #63655d;
  --world-mark: #ff5365;
  --world-diagram: #ea706b;
  --world-button: #ff5262;
  --world-button-ink: #180c0d;
  --world-pad: clamp(21px, 4.25vw, 64px);
  --world-photo-inset: clamp(12px, 2.1vw, 30px);
  background: var(--world-paper);
  color: var(--world-ink);
}
:is(.world-mast[data-discipline="LUX"], .reel-world[data-world-scene="LUX"]) {
  --world-paper: #e9e5da;
  --world-ink: #201e1a;
  --world-note: #514a41;
  --world-rule: #84786a;
  --world-mark: #922b3a;
  --world-diagram: #8c6454;
  --world-button: #24211d;
  --world-button-ink: #f6f0e6;
}
:is(.world-mast[data-discipline="LOVE"], .reel-world[data-world-scene="LOVE"]) {
  --world-paper: #3b1d2a;
  --world-ink: #fff2ec;
  --world-note: #edc6c5;
  --world-rule: #a47482;
  --world-mark: #ffb2ba;
  --world-diagram: #e5a1ab;
  --world-button: #f9d8d1;
  --world-button-ink: #361823;
}
.world-mast {
  min-height: clamp(470px, 48vw, 715px);
  margin-block: clamp(12px, 2vw, 28px);
  border: 1px solid var(--world-rule);
  grid-template-columns: 1fr;
}
.reel-world[data-world-scene] { background: var(--world-paper); overflow: clip }
.reel-world-stage { grid-template-columns: 1fr }
.world-mast > div,
.reel-world-copy {
  position: relative;
  z-index: 2;
  justify-self: start;
  width: min(46%, 620px);
  max-width: none;
  padding: clamp(18px, 3vw, 44px) 0 clamp(18px, 3vw, 44px) var(--world-pad);
  pointer-events: none;
}
:is(.world-mast h1, .reel-world-copy h2) {
  width: max-content;
  max-width: 100%;
  font-size: clamp(78px, 13vw, 196px);
  line-height: .86;
  letter-spacing: -.035em;
  white-space: nowrap;
}
.reel-world-copy h2 { font-size: clamp(68px, min(12vw, 23svh), 176px) }
:is(.world-mast h1, .reel-world-copy h2) span { color: var(--world-mark) }
:is(.world-mast, .reel-world-copy) p {
  max-width: 34ch;
  color: var(--world-note);
  font-size: clamp(14px, 1.32vw, 19px);
  line-height: 1.45;
  text-shadow: none;
}
:is(.world-mast .world-mast-title, .reel-world-copy .reel-world-title) {
  margin-block: clamp(12px, 1.6vw, 26px) 0;
  color: var(--world-ink);
  font-size: clamp(20px, 2.55vw, 39px);
  line-height: 1.06;
  text-wrap: balance;
}
:is([data-discipline="LUX"], [data-world-scene="LUX"], [data-discipline="LOVE"], [data-world-scene="LOVE"]) :is(h1, h2) {
  font-family: var(--editorial-serif, "Bodoni MT", Didot, Georgia, serif);
  font-weight: 520;
  font-stretch: normal;
  font-optical-sizing: none;
  font-variation-settings: "opsz" 32;
}
:is([data-discipline="LOVE"], [data-world-scene="LOVE"]) :is(h1, h2) {
  font-size: clamp(72px, 10vw, 154px);
}
:is([data-discipline="LOVE"], [data-world-scene="LOVE"]) :is(.world-mast-title, .reel-world-title) {
  font-family: var(--editorial-serif, Georgia, serif);
  font-style: italic;
  font-weight: 520;
  font-optical-sizing: none;
  font-variation-settings: "opsz" 26;
}
:is([data-discipline="GRIT"], [data-world-scene="GRIT"]) :is(h1, h2) {
  font-family: var(--display);
  font-weight: 900;
  font-stretch: 66%;
  font-variation-settings: "wdth" 64;
}
.world-mast > a,
.reel-world .reel-world-photo {
  inset: var(--world-photo-inset) var(--world-photo-inset) var(--world-photo-inset) 46%;
  border: 1px solid var(--world-rule);
  overflow: hidden;
}
.world-mast > a::after,
.reel-world[data-world-scene] .reel-world-photo::after {
  inset: 7px;
  background: none;
  border: 0;
  pointer-events: none;
  background-image: linear-gradient(var(--world-ink), var(--world-ink)), linear-gradient(var(--world-ink), var(--world-ink)), linear-gradient(var(--world-ink), var(--world-ink)), linear-gradient(var(--world-ink), var(--world-ink));
  background-position: top left, top left, bottom right, bottom right;
  background-size: 12px 1px, 1px 12px, 12px 1px, 1px 12px;
  background-repeat: no-repeat;
}
.world-mast > a > span,
.reel-world :is(.reel-world-photo, .reel-world-detail) > span {
  inset: auto 8px 8px auto;
  background: var(--world-paper);
  color: var(--world-ink);
  padding: 7px 10px;
  font: 600 11px/1.15 var(--production-mono, ui-monospace, monospace);
  letter-spacing: .035em;
}
.world-mast > a:focus-visible,
.reel-world :is(.reel-world-photo, .reel-world-detail):focus-visible {
  outline: 3px solid var(--world-mark);
  outline-offset: -4px;
}
.reel-world-copy .button { background: var(--world-button); color: var(--world-button-ink); border-color: var(--world-button) }
.reel-world-copy .button:hover { background: var(--world-paper); color: var(--world-ink); border-color: var(--world-ink) }
.reel-world-copy .button:focus-visible { outline-color: var(--world-mark) }
.reel-world .reel-world-detail {
  inset: auto var(--world-photo-inset) var(--world-photo-inset) auto;
  width: clamp(90px, 13%, 175px);
  border: 4px solid var(--world-paper);
  outline: 1px solid var(--world-rule);
}
.reel-world[data-world-scene="LUX"] .reel-world-photo { inset-inline-end: 8% }
/* The portrait carries a shared inline position. These wider plates keep her eyes in frame. */
.world-mast[data-discipline="LUX"] > a img,
.reel-world[data-world-scene="LUX"] .reel-world-photo img { object-position: center 5% !important }
.world-mast[data-discipline="LOVE"] > a,
.reel-world[data-world-scene="LOVE"] .reel-world-photo {
  inset: var(--world-photo-inset) 53% var(--world-photo-inset) var(--world-photo-inset);
}
.world-mast[data-discipline="LOVE"] > div,
.reel-world[data-world-scene="LOVE"] .reel-world-copy {
  justify-self: end;
  width: 50%;
  padding-inline: clamp(10px, 2vw, 28px) var(--world-pad);
}
.world-mast[data-discipline="GRIT"] > a,
.reel-world[data-world-scene="GRIT"] .reel-world-photo { inset: 0 0 0 42%; border: 0 }
.world-mast[data-discipline="GRIT"] > div,
.reel-world[data-world-scene="GRIT"] .reel-world-copy { width: 42% }
.reel-world[data-world-scene="GRIT"] .reel-world-detail { inset: auto auto 10% 40% }
.world-diagram {
  position: absolute;
  inset: 4% auto auto 19%;
  width: min(25%, 300px);
  height: auto;
  color: var(--world-diagram);
  stroke: currentColor;
  stroke-width: 1;
  opacity: .55;
  pointer-events: none;
  z-index: 1;
}
.world-diagram text {
  fill: currentColor;
  stroke: none;
  font: 600 12px/1 var(--production-mono, ui-monospace, monospace);
  letter-spacing: .06em;
}
.world-diagram .diagram-guide { stroke-dasharray: 4 4; opacity: .62 }
.world-diagram .diagram-swatch { fill: currentColor; fill-opacity: .22 }
.world-diagram .diagram-swatch:nth-child(2) { fill-opacity: .4 }
.world-diagram .diagram-swatch:nth-child(3) { fill-opacity: .62 }
:is([data-discipline="LOVE"], [data-world-scene="LOVE"]) .world-diagram {
  inset: 3% 1.5% auto auto;
  width: min(24%, 250px);
  opacity: .36;
}
:is([data-discipline="GRIT"], [data-world-scene="GRIT"]) .world-diagram {
  inset: auto auto 5% var(--world-pad);
  width: min(34%, 380px);
}
.world-mast + .directory .world-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 clamp(12px, 2.8vw, 42px);
  margin-block: 0 12px;
  border-block: 1px solid var(--line);
}
.world-mast + .directory .world-nav a {
  min-height: 44px;
  white-space: nowrap;
  text-decoration: none;
}
.world-mast + .directory .world-nav a:last-child { margin-inline-start: auto }
.world-mast + .directory .world-nav a[aria-current="page"] {
  color: var(--red);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .48em;
}

@media (min-width: 721px) {
  .world-mast[data-discipline="LUX"] + .directory .model-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) }
  .world-mast[data-discipline="LOVE"] + .directory .model-grid { grid-template-columns: minmax(0, .57fr) }
  .world-mast[data-discipline="GRIT"] + .directory .model-card:nth-child(even) { margin-top: 0 }
  .world-mast[data-discipline="GRIT"] + .directory .model-image img { aspect-ratio: .78 }
}
@media (max-width: 720px) {
  .world-mast {
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .world-mast > div,
  .world-mast:is([data-discipline="LOVE"], [data-discipline="GRIT"]) > div {
    width: auto;
    padding: 22px 18px 18px;
  }
  .world-mast[data-discipline] > a {
    position: relative;
    inset: auto;
    margin: 0 var(--world-photo-inset) var(--world-photo-inset);
    aspect-ratio: 1.1;
  }
  .world-mast[data-discipline="GRIT"] > a { margin: 0; aspect-ratio: 1.38 }
  .world-mast[data-discipline] h1 { font-size: clamp(70px, 19vw, 125px) }
  .reel-world-stage,
  [data-reel-enabled] .reel-world-stage {
    grid-template-rows: minmax(0, 1fr) auto;
    align-items: stretch;
    padding-block: 10px 12px;
  }
  .reel-world[data-world-scene] .reel-world-photo {
    position: relative;
    inset: auto;
    grid-row: 1;
    grid-column: 1;
    min-height: 0;
    display: block;
  }
  .reel-world .reel-world-detail { display: none }
  .reel-world[data-world-scene] .reel-world-copy {
    grid-row: 2;
    grid-column: 1;
    justify-self: stretch;
    width: auto;
    padding: 12px 1px 0;
  }
  .reel-world[data-world-scene] .reel-world-copy h2 { font-size: clamp(55px, 13vw, 84px) }
  :is(.world-mast .world-mast-title, .reel-world-copy .reel-world-title) { margin-top: 10px; font-size: clamp(20px, 4.9vw, 30px) }
  .reel-world-copy p { margin-top: 5px }
  .reel-world-copy a { margin-top: 9px }
  .reel-world .world-diagram { display: none }
  .world-mast[data-discipline] .world-diagram { inset: 2% 3% auto auto; width: 27%; opacity: .44 }
  .world-mast[data-discipline="GRIT"] .world-diagram { inset: 7% 3% auto auto; width: 32% }
}
@media (max-width: 560px) {
  .world-mast + .directory .world-nav a:last-child {
    flex-basis: 100%;
    justify-content: flex-start;
    margin: 0;
    border-top: 1px solid var(--line);
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .world-mast > a img { transition: scale 480ms cubic-bezier(.16, 1, .3, 1) }
  .world-mast > a:hover img { scale: 1.025 }
}


/* Casting files, portrait folios and the light table */
:is([data-directory], .model-profile, .selected-work, #gallery) {
  --archive-paper: #f1e7da;
  --archive-ink: #2d1e21;
  --archive-mark: #852d3d;
  --archive-rule: #b99e95;
  --archive-mono: var(--production-mono, ui-monospace, monospace);
}

#main > .intro:has(+ [data-directory])::before { display: none }
#main > .intro:has(+ [data-directory]) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 31%);
  align-items: end;
  column-gap: clamp(12px, 3vw, 40px);
  padding-block: clamp(28px, 4.5vw, 65px) clamp(22px, 3vw, 44px);
}
#main > .intro:has(+ [data-directory]) h1 {
  grid-row: span 2;
  font-size: clamp(42px, 10vw, 145px);
  font-stretch: 79%;
  letter-spacing: -.025em;
  text-transform: uppercase;
}
#main > .intro:has(+ [data-directory]) .micro {
  font-family: var(--production-mono, ui-monospace, monospace);
  margin-block: 0 4px;
}
#main > .intro:has(+ [data-directory]) .lede { margin-top: 0; font-size: clamp(.96rem, 1.5vw, 1.25rem) }

[data-directory] .filter-row { border-top-color: var(--red) }
[data-directory] :is(.world-filters button, .roster-readout, .model-caption .micro, .index-location) {
  font-family: var(--archive-mono);
  font-variant-numeric: tabular-nums;
}
[data-directory] .roster-readout { margin-bottom: clamp(14px, 2vw, 30px) }
[data-directory]:not([data-roster-mode="index"]) .model-card {
  --proof-edge: clamp(4px, .65vw, 10px);
  min-width: 0;
  padding: var(--proof-edge);
  background: var(--archive-paper);
  color: var(--archive-ink);
}
[data-directory]:not([data-roster-mode="index"]) .model-caption {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 2px 8px;
  padding: 8px 2px 2px;
  margin-top: 6px;
  border-top: 1px solid var(--archive-rule);
}
[data-directory]:not([data-roster-mode="index"]) .model-caption .micro {
  grid-column: 2;
  grid-row: 1;
  color: var(--archive-mark);
  letter-spacing: .04em;
  white-space: nowrap;
}
[data-directory]:not([data-roster-mode="index"]) .model-caption a {
  grid-column: 1;
  grid-row: 1;
  font-size: clamp(20px, 2.3vw, 34px);
}
[data-directory]:not([data-roster-mode="index"]) .model-card a:hover { color: var(--archive-mark) }
[data-directory]:not([data-roster-mode="index"]) .model-card :focus-visible { outline-color: var(--archive-mark) }
[data-directory] .card-spec-sheet :is(dt, dd) { font-family: var(--archive-mono) }
[data-directory][data-roster-mode="index"] .model-card { margin-block-start: 0; padding-block: 8px }
[data-directory][data-roster-mode="index"] .model-caption a { font-stretch: 82% }

.model-profile { column-gap: clamp(18px, 4vw, 64px) }
.model-profile .profile-info {
  padding-block: clamp(12px, 2vw, 30px);
  border-block: 1px solid var(--line);
}
.model-profile h1 {
  font-size: clamp(48px, 7.9vw, 122px);
  font-stretch: 79%;
  letter-spacing: -.025em;
  text-transform: uppercase;
  text-wrap: initial;
}
.model-profile :is(.breadcrumbs, .profile-info > .micro, .measurements dt, .measurements dd) {
  font-family: var(--archive-mono);
}
.model-profile .breadcrumbs { margin-bottom: 8px }
.model-profile .measurements { gap: 9px 0 }
.model-profile .measurements > div {
  min-width: 4.45rem;
  padding-inline: 10px;
  border-inline-start: 1px solid var(--line);
}
.model-profile .measurements dt { letter-spacing: .06em; text-transform: uppercase }
.model-profile .measurements dd { margin-top: 2px; font-weight: 650 }

:is(.model-profile, .selected-work) .folio-frame {
  --folio-paper: var(--archive-paper);
  --folio-inset: clamp(8px, 1.45vw, 21px);
  color: var(--archive-ink);
  padding: var(--folio-inset);
}
:is(.model-profile, .selected-work) .folio-frame::after { content: none }
:is(.model-profile, .selected-work) .folio-register,
:is(.model-profile, .selected-work) .folio-frame figcaption {
  color: var(--archive-ink);
  font: 600 clamp(.64rem, 1vw, .76rem)/1.4 var(--archive-mono);
  letter-spacing: .035em;
}
:is(.model-profile, .selected-work) .folio-register {
  padding-bottom: 8px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--archive-rule);
}
:is(.model-profile, .selected-work) .folio-register > span:last-child,
:is(.model-profile, .selected-work) .folio-frame figcaption > span:last-child { color: var(--archive-mark) }
:is(.model-profile, .selected-work) .folio-frame figcaption { padding-top: 10px }
:is(.model-profile, .selected-work) .folio-frame .photo-button { position: relative }
:is(.model-profile, .selected-work) .folio-frame .photo-button:focus-visible { outline-color: var(--archive-mark) }
:is(.model-profile, .selected-work) .photo-button::before,
:is(.model-profile, .selected-work) .photo-button::after {
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  pointer-events: none;
  color: var(--archive-mark);
}
:is(.model-profile, .selected-work) .photo-button::before {
  inset: -4px auto auto -4px;
  border-top: 1px solid currentColor;
  border-left: 1px solid currentColor;
}
:is(.model-profile, .selected-work) .photo-button::after {
  inset: auto -4px -4px auto;
  border-bottom: 1px solid currentColor;
  border-right: 1px solid currentColor;
}
.selected-work .section-rail h2 {
  font-family: var(--editorial-serif, Georgia, serif);
  font-weight: 500;
  letter-spacing: -.025em;
}
.selected-work .portfolio-grid {
  grid-auto-columns: minmax(205px, 30.5%);
  gap: clamp(9px, 1.35vw, 22px);
  padding-block: 8px 14px;
}
.selected-work .portfolio-grid .profile-shot { margin-block-start: 0 }

#gallery {
  padding: clamp(9px, 1.5vw, 23px);
  border-color: var(--archive-rule);
  background: var(--archive-paper);
  color: var(--archive-ink);
}
#gallery :is(.gallery-bar, [data-gallery-credit]) { font-family: var(--archive-mono) }
#gallery .gallery-bar { align-items: center; border-bottom: 1px solid var(--archive-rule); padding-bottom: 8px }
#gallery [data-gallery-credit] { color: var(--archive-mark); margin-top: 8px }
#gallery :focus-visible { outline-color: var(--archive-mark) }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  :is(.model-profile, .selected-work) .photo-button::before,
  :is(.model-profile, .selected-work) .photo-button::after {
    transition: transform .23s cubic-bezier(.16, 1, .3, 1);
  }
  :is(.model-profile, .selected-work) .photo-button:hover::before { transform: translate(3px, 3px) }
  :is(.model-profile, .selected-work) .photo-button:hover::after { transform: translate(-3px, -3px) }
}

@media (max-width: 820px) {
  [data-directory]:not([data-roster-mode="index"]) .model-caption { grid-template-columns: minmax(0, 1fr) }
  [data-directory]:not([data-roster-mode="index"]) .model-caption .micro { grid-area: 1 / 1 }
  [data-directory]:not([data-roster-mode="index"]) .model-caption a { grid-area: 2 / 1 }
}

@media (max-width: 670px) {
  #main > .intro:has(+ [data-directory]) { grid-template-columns: minmax(0, 1fr) }
  #main > .intro:has(+ [data-directory]) h1 { grid-row: auto }
  #main > .intro:has(+ [data-directory]) .micro { margin-block: 8px }
  .model-profile .profile-info { padding-block: 4px 12px }
  .model-profile h1 { font-size: clamp(44px, 12vw, 75px) }
  .selected-work .portfolio-grid { grid-auto-columns: minmax(190px, 73%) }
}
