/* October 4: large original portraits, a shuffled cast and readable client copy. */
.casting-hero{--cast-x:0px;--cast-y:0px;--cast-scroll:0px;min-height:800px;height:100svh;max-height:none;background:var(--purple);isolation:isolate}
.cast-scene,.cast-shade{position:absolute;inset:0;pointer-events:none}
.cast-scene{z-index:0;transform:translate3d(var(--cast-x),calc(var(--cast-y) + var(--cast-scroll)),0);transition:transform 1.2s var(--ease)}
.cast-slot{position:absolute;inset:0;overflow:hidden}
.cast-layer{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;object-fit:contain;opacity:0;transform:translateY(8px);transition:opacity 1.15s var(--ease),transform 1.6s var(--ease);will-change:opacity,transform;mask-image:linear-gradient(180deg,transparent,#000 var(--portrait-top,.5%),#000 var(--portrait-bottom,80%),transparent 100%),linear-gradient(90deg,transparent,#000 var(--portrait-left,8%),#000 var(--portrait-right,92%),transparent);mask-composite:intersect}
.managed-content-loading .cast-scene{visibility:hidden}
.cast-layer.is-current{opacity:1;transform:translateY(0)}
.cast-instant .cast-layer{transition:none}
.cast-shade{z-index:1;background:linear-gradient(90deg,rgba(49,2,50,.78) 0%,rgba(49,2,50,.1) 48%,rgba(49,2,50,.12) 65%,rgba(49,2,50,.48)),linear-gradient(0deg,rgba(49,2,50,.95),transparent 38%)}
.cast-brand{position:absolute;z-index:3;top:180px;left:var(--page-pad);width:44%;max-width:690px}
.cast-brand>.eyebrow{margin-bottom:25px;font-size:13px}
.casting-hero h1{font-size:clamp(70px,7.8vw,140px);font-weight:200;line-height:.86;letter-spacing:-.045em;text-transform:uppercase}
.casting-hero h1>span,.casting-hero h1>strong{display:block}
.cast-primary{font-size:14px;margin-top:30px;gap:20px}
.cast-message-plane{position:absolute;z-index:5;top:188px;right:var(--page-pad);width:29.5%;max-width:490px}
.cast-message-card{position:relative;padding:26px;background:var(--purple);border:1px solid rgba(255,255,255,.48);min-height:330px;outline-offset:7px}
.cast-message-card:after{content:'';position:absolute;bottom:-17px;left:30px;width:0;height:0;border-top:17px solid var(--purple);border-right:22px solid transparent}
.cast-message-eyebrow{font-family:Proxima,Arial,sans-serif;font-weight:900;font-size:11px;letter-spacing:.025em;text-transform:uppercase;line-height:1.3;display:flex;align-items:center;gap:9px;margin-bottom:23px}
.cast-message-stack{display:grid}
.cast-message-stack>*{grid-area:1 / 1;min-width:0}
.cast-message-sizer{visibility:hidden;pointer-events:none}
.cast-message-copy{opacity:1;transform:translateY(0);transition:opacity .48s var(--ease),transform .58s var(--ease)}
.cast-message-copy.is-changing{opacity:0;transform:translateY(7px);transition-duration:.2s}
:is(.cast-message-copy,.cast-message-sizer) h2{font-family:Proxima,Arial,sans-serif;font-weight:900;font-size:clamp(30px,2.6vw,44px);line-height:1.04;letter-spacing:-.02em;text-transform:uppercase}
:is(.cast-message-copy,.cast-message-sizer) p{font-size:clamp(17px,1.38vw,21px);line-height:1.6;margin-top:20px;color:white}
.cast-story-controls{display:flex;align-items:center;gap:16px;margin-top:22px}
.cast-arrow{display:grid;place-items:center;min-width:44px;min-height:44px;font-family:Arial,sans-serif;font-size:23px;border:1px solid var(--line);transition:background .25s,color .25s}
.cast-arrow:hover{background:#fff;color:var(--purple)}
.cast-story-meter{height:1px;background:rgba(255,255,255,.26);flex:1;overflow:hidden}
.cast-story-progress{display:block;height:100%;background:white;transform:scaleX(0);transform-origin:left}
.cast-story-progress.is-running{animation:cast-reading var(--reading-time,14000ms) linear forwards}
.cast-read-all{display:flex;align-items:center;gap:22px;font-family:Proxima,Arial,sans-serif;font-weight:900;text-transform:uppercase;font-size:12px;padding:13px 0 4px;margin-top:5px;min-height:44px}
.cast-read-all span{font-size:20px;transition:transform .35s var(--ease)}
.cast-read-all:hover span{transform:translate(3px,-3px)}
.cast-person-caption{position:absolute;z-index:4;bottom:112px;left:49%;display:flex;flex-direction:column;font-family:Proxima,Arial,sans-serif;text-transform:uppercase;line-height:1.1;max-width:35%;font-size:20px;font-weight:200}
.cast-person-caption [data-cast-name]{font-size:clamp(33px,3.1vw,54px);font-weight:900;letter-spacing:-.02em;margin-bottom:5px}
.cast-bottom{position:absolute;z-index:5;bottom:26px;left:var(--page-pad);right:var(--page-pad);border-top:1px solid var(--line);padding-top:21px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.cast-world-links{display:flex;gap:28px;font-family:Proxima,Arial,sans-serif;font-weight:900;text-transform:uppercase;font-size:16px}
.cast-world-links a{min-height:44px;display:flex;align-items:center;gap:15px}
.cast-world-links a span{font-size:18px;transition:transform .35s var(--ease)}
.cast-world-links a:hover span{transform:translate(3px,-3px)}
.cast-shuffle{font-family:Proxima,Arial,sans-serif;font-weight:900;text-transform:uppercase;font-size:12px;display:flex;align-items:center;gap:18px;min-height:44px}
.cast-shuffle span{font-family:Arial,sans-serif;font-size:22px}
.casting-solo{height:auto;min-height:max(800px,100svh)}
.casting-solo .cast-message-plane{position:relative;top:auto;right:auto;margin:188px var(--page-pad) 160px auto}
.casting-ensemble{height:auto;min-height:max(860px,100svh);display:flex;flex-direction:column;align-items:center;padding-top:150px}
.casting-ensemble .cast-slot{inset:0 auto;width:37%;height:100%}
.casting-ensemble .cast-slot-0{left:0;mask-image:linear-gradient(90deg,#000 84%,transparent 100%)}
.casting-ensemble .cast-slot-1{right:0;mask-image:linear-gradient(270deg,#000 84%,transparent 100%)}
.casting-ensemble .cast-slot-1 .cast-layer{transition-delay:.16s}
.casting-ensemble .cast-instant .cast-layer{transition-delay:0s}
.casting-ensemble .cast-shade{background:linear-gradient(0deg,rgba(49,2,50,.92),transparent 32%),linear-gradient(90deg,transparent,rgba(75,3,76,.26) 34%,rgba(75,3,76,.26) 66%,transparent)}
.casting-ensemble .cast-brand{position:relative;top:auto;left:auto;width:42%;max-width:none;text-align:center}
.casting-ensemble .cast-brand>.eyebrow{font-size:11px;margin-bottom:18px}
.casting-ensemble h1{font-size:clamp(58px,5.2vw,88px);line-height:.87;letter-spacing:-.045em}
.casting-ensemble .cast-primary{display:none}
.cast-footer-contact{font-size:12px;gap:16px;min-height:44px}
.casting-ensemble .cast-message-plane{position:relative;top:auto;left:auto;right:auto;width:42%;max-width:none;margin:26px 0 32px}
.casting-ensemble .cast-message-card{padding:0;background:none;border:none;min-height:250px}
.casting-ensemble .cast-message-card:after{display:none}
.casting-ensemble .cast-message-eyebrow{justify-content:center;margin-bottom:17px;font-size:10px}
.casting-ensemble :is(.cast-message-copy,.cast-message-sizer){text-align:center}
.casting-ensemble :is(.cast-message-copy,.cast-message-sizer) h2{font-size:clamp(30px,2.222222vw,44px)}
.casting-ensemble :is(.cast-message-copy,.cast-message-sizer) p{font-size:clamp(17px,1.35vw,21px);max-width:570px;margin:17px auto 0}
.casting-ensemble .cast-story-controls{max-width:390px;margin:14px auto 0}
.casting-ensemble .cast-read-all{margin:0 auto;font-size:11px}
.casting-ensemble .cast-person-caption{left:var(--page-pad);bottom:126px;max-width:24%;font-size:17px}
.casting-ensemble .cast-caption-1{left:auto;right:var(--page-pad);text-align:right}
.casting-ensemble .cast-person-caption [data-cast-name]{font-size:clamp(30px,2.8vw,48px)}
.casting-ensemble .cast-bottom{position:relative;bottom:auto;left:auto;right:auto;width:calc(100% - var(--page-pad) * 2);margin-top:auto;padding-bottom:26px}
.messages-dialog{max-width:1020px;padding:55px;max-height:90svh}
.messages-dialog>h2{font-family:Proxima,Arial,sans-serif;font-weight:900;font-size:65px;line-height:.95;text-transform:uppercase;letter-spacing:-.025em;margin:30px 0 44px}
.message-library-item{display:grid;grid-template-columns:44px 1fr;gap:25px;border-top:1px solid var(--line);padding:25px 0}
.message-library-item>.eyebrow{padding-top:5px;color:var(--muted)}
.message-library-item h3{font-family:Proxima,Arial,sans-serif;font-weight:900;font-size:28px;line-height:1.1;text-transform:uppercase}
.message-library-item p{font-size:16px;line-height:1.7;margin:15px 0 10px;max-width:700px}
.message-library-item .text-action{font-size:11px;min-height:44px}
@keyframes cast-reading{to{transform:scaleX(1)}}
@media(min-width:761px){.casting-solo .cast-person-caption{left:var(--page-pad);max-width:42%}}
@media(min-width:761px) and (max-height:800px){.casting-solo .cast-brand{top:155px}.casting-solo h1{font-size:clamp(70px,7vw,105px)}.casting-solo .cast-message-plane{margin-top:155px}.casting-solo .cast-message-card{min-height:325px;padding:24px}.casting-solo :is(.cast-message-copy,.cast-message-sizer) p{font-size:17px}.casting-ensemble{padding-top:140px}.casting-ensemble h1{font-size:clamp(58px,5.3vw,88px)}.casting-ensemble .cast-message-card{min-height:240px}.casting-ensemble :is(.cast-message-copy,.cast-message-sizer) p{font-size:17px}}
@media(min-width:761px) and (max-width:1100px){.casting-solo .cast-brand{width:45%}.casting-solo h1{font-size:7.7vw}.casting-solo .cast-message-plane{width:35%}.casting-ensemble .cast-brand,.casting-ensemble .cast-message-plane{width:46%}.casting-ensemble .cast-slot{width:41%}}
@media(max-width:760px){
  .casting-hero{height:auto;min-height:100svh;max-height:none;overflow:hidden}
  .cast-scene{height:510px;bottom:auto;transform:none;transition:none}
  .cast-slot{inset:0}.cast-layer{transform:translateY(8px)}
  .cast-shade{height:510px;bottom:auto;background:linear-gradient(90deg,rgba(49,2,50,.75),rgba(49,2,50,.08) 80%),linear-gradient(0deg,var(--purple),transparent 25%)}
  .cast-brand{top:124px;left:22px;width:calc(100% - 44px);max-width:none}
  .cast-brand>.eyebrow{font-size:10px;margin-bottom:20px}
  .casting-hero h1{font-size:clamp(44px,12.3vw,83px);line-height:.87;letter-spacing:-.045em}
  .cast-primary{font-size:12px;margin-top:27px;gap:14px;min-height:44px}
  .cast-person-caption{top:443px;bottom:auto;left:22px;max-width:80%;font-size:14px}
  .cast-person-caption [data-cast-name]{font-size:26px;margin-bottom:2px}
  .cast-message-plane{position:relative;top:auto;left:auto;right:auto;width:auto;max-width:none;margin-top:510px;padding:20px 22px 21px}
  .casting-solo .cast-message-plane{margin:510px 0 0;width:auto}
  .cast-message-card{padding:0;background:none;border:0;min-height:330px}
  .cast-message-card:after{display:none}
  .cast-message-eyebrow{font-size:10px;margin-bottom:20px;gap:9px}
  :is(.cast-message-copy,.cast-message-sizer) h2{font-size:31px;line-height:1.04}
  :is(.cast-message-copy,.cast-message-sizer) p{font-size:17px;line-height:1.65;margin-top:18px}
  .cast-story-controls{margin-top:12px;gap:14px}
  .cast-story-controls .motion-toggle{width:44px;height:44px}
  .cast-read-all{font-size:11px;min-height:44px;margin-top:9px;padding-top:10px}
  .cast-bottom{position:relative;left:auto;right:auto;bottom:auto;margin:0 22px;padding:15px 0 20px;display:grid;grid-template-columns:1fr auto;gap:13px 15px}
  .cast-world-links{font-size:13px;gap:22px;grid-column:1 / -1;justify-content:space-between}
  .cast-world-links a{gap:10px}.cast-shuffle{font-size:10px;gap:10px}.cast-bottom .scroll-cue{font-size:10px;gap:8px}
  .cast-footer-contact{font-size:10px;max-width:150px;padding:0;line-height:1.3;border:0;text-align:right;gap:8px}
  .casting-ensemble{min-height:100svh;display:block;padding-top:0}
  .casting-ensemble .cast-brand{position:absolute;top:124px;left:22px;width:calc(100% - 44px);text-align:left}
  .casting-ensemble .cast-brand>.eyebrow{font-size:10px;margin-bottom:18px}
  .casting-ensemble h1{font-size:clamp(44px,12.3vw,83px);line-height:.87}
  .casting-ensemble .cast-primary{display:none}
  .casting-ensemble .cast-scene{top:295px;height:285px;width:100%;inset-inline:0}
  .casting-ensemble .cast-slot{inset:0 auto;width:50%;height:100%;mask-image:linear-gradient(0deg,transparent,#000 25%)}
  .casting-ensemble .cast-slot-0{left:0}.casting-ensemble .cast-slot-1{right:0}
  .casting-ensemble .cast-shade{height:285px;top:295px;bottom:auto;background:linear-gradient(0deg,var(--purple),transparent 25%)}
  .casting-ensemble .cast-person-caption{top:536px;bottom:auto;left:22px;font-size:12px;max-width:43%}
  .casting-ensemble .cast-person-caption [data-cast-name]{font-size:22px}
  .casting-ensemble .cast-caption-1{left:auto;right:22px}
  .casting-ensemble .cast-message-plane{margin:592px 0 0;position:relative;top:auto;left:auto;width:auto;padding:20px 22px 21px}
  .casting-ensemble .cast-message-card{min-height:330px}
  .casting-ensemble .cast-message-eyebrow{justify-content:start;font-size:10px;margin-bottom:20px}
  .casting-ensemble :is(.cast-message-copy,.cast-message-sizer){text-align:left}
  .casting-ensemble :is(.cast-message-copy,.cast-message-sizer) h2{font-size:31px}
  .casting-ensemble :is(.cast-message-copy,.cast-message-sizer) p{font-size:17px;line-height:1.65;margin:18px 0 0}
  .casting-ensemble .cast-story-controls{max-width:none;margin:12px 0 0}
  .casting-ensemble .cast-read-all{margin:9px 0 0;font-size:11px}
  .casting-ensemble .cast-bottom{width:auto;margin:0 22px;padding-bottom:20px}
  .messages-dialog{padding:45px 22px 25px;max-height:90svh}
  .messages-dialog>h2{font-size:44px;margin:26px 0 34px}
  .message-library-item{grid-template-columns:24px 1fr;gap:15px;padding:22px 0}
  .message-library-item h3{font-size:25px}.message-library-item p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.cast-scene,.cast-layer,.cast-message-copy{transition:none!important;transform:none!important}.cast-story-progress{animation:none!important}}

/* Fade each photograph itself, including resized uploads. */
.cast-layer{-webkit-mask-image:linear-gradient(180deg,transparent,#000 var(--portrait-top,.5%),#000 var(--portrait-bottom,80%),transparent 100%),linear-gradient(90deg,transparent,#000 var(--portrait-left,8%),#000 var(--portrait-right,92%),transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
