/* V4.18 — an accessible, quiet casting sheet inside the cinematic site. */
.director-toggle[hidden],.director-view[hidden] { display:none!important; }
.director-toggle { display:inline-grid; place-items:center; width:44px; height:44px; flex:0 0 44px; color:var(--paper); border:1px solid #ffffff30; border-radius:50%; background:transparent; cursor:pointer; opacity:.72; }
.director-toggle:hover,.director-toggle:focus-visible { opacity:1; border-color:#ffffffa0; }
.director-view { position:fixed; inset:0; z-index:11000; color:#20221e; background:#eeeee7; overflow:hidden; font-family:Arial,Helvetica,sans-serif; }
.director-sheet { height:100%; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:#7e8274 #eeeee7; }
.director-toolbar { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px max(24px,calc((100% - 1060px)/2)); background:#eeeee7f5; border-bottom:1px solid #25292025; }
.director-toolbar > span { text-transform:uppercase; font-size:10px; font-weight:600; letter-spacing:.18em; }
.director-toolbar button { display:flex; align-items:center; gap:18px; padding:12px 0 12px 16px; background:none; border:0; color:#30362b; cursor:pointer; font-size:12px; }
.director-toolbar button span { font-size:20px; }
.director-content { width:min(1060px,calc(100% - 48px)); margin:0 auto; padding-top:52px; }
.director-intro { display:grid; grid-template-columns:1fr auto; gap:44px; align-items:center; }
.director-eyebrow { margin:0 0 20px; font-size:10px; text-transform:uppercase; letter-spacing:.16em; color:#5d6356; }
.director-intro h2 { margin:0; font-size:clamp(48px,6vw,84px); letter-spacing:-.065em; line-height:.92; font-weight:500; }
.director-summary { margin:20px 0 0; color:#5d6356; font-size:14px; line-height:1.6; max-width:400px; }
.director-actions { display:flex; flex-direction:column; gap:10px; min-width:220px; }
.director-actions a,.director-actions button { min-height:46px; padding:13px 18px; font-size:12px; border:1px solid #343a293b; text-align:left; background:transparent; color:#20271a; cursor:pointer; border-radius:2px; }
.director-actions .director-primary { color:#f5f6ef; background:#283124; border-color:#283124; }
.director-primary span { margin-right:10px; font-size:10px; }
.director-actions a:hover { background:#dde1d5; }
.director-facts { display:flex; gap:48px; margin-top:35px; padding:22px 0; border-top:1px solid #25292025; border-bottom:1px solid #25292025; }
.director-facts .fact { border:0; padding:0; min-width:0; }
.director-facts small { display:block; color:#676c61; font-size:10px; margin-bottom:7px; letter-spacing:.05em; }
.director-facts strong { color:#20271a; font-size:14px; font-weight:400; }
.director-section { padding-top:42px; }
.director-section-title { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:18px; }
.director-section-title h3 { margin:0; font-size:17px; font-weight:500; letter-spacing:-.02em; }
.director-section-title span,.director-section-title a { font-size:11px; color:#606655; }
.director-section-title a { text-decoration:underline; text-underline-offset:4px; }
.director-headshots { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.director-headshots figure { margin:0; min-width:0; }
.director-headshots img { display:block; width:100%; height:auto; aspect-ratio:3 / 4; object-fit:contain; background:#e4e5dd; }
.director-headshots figcaption { display:flex; justify-content:space-between; gap:10px; padding-top:13px; font-size:11px; color:#676c61; }
.director-headshots figcaption a { color:#293c20; text-decoration:underline; text-underline-offset:4px; min-height:32px; }
.director-credit { display:grid; grid-template-columns:50px minmax(0,1.2fr) minmax(0,.85fr) minmax(0,1fr); gap:20px; align-items:start; padding:20px 0; border-top:1px solid #25292025; }
.director-credit .year { font-size:11px; color:#656b5e; padding-top:3px; }
.director-credit .project { font-size:18px; letter-spacing:-.025em; }
.director-credit .project em { display:block; font-size:9px; font-style:normal; letter-spacing:.08em; color:#68705e; margin-top:6px; }
.director-credit .role,.director-credit .meta { font-size:12px; line-height:1.6; color:#515b46; }
.director-contact-grid { display:grid; grid-template-columns:1fr 1.35fr 1fr 1fr; gap:22px; border-top:1px solid #25292025; padding-top:20px; }
.director-contact-grid p { font-size:10px; color:#636b58; margin:0 0 12px; }
.director-contact-grid a { font-size:14px; line-height:1.5; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:5px; }
.director-footer { display:flex; justify-content:space-between; gap:16px; padding:26px 0; margin-top:44px; border-top:1px solid #25292025; font-size:10px; color:#747a6a; }
body.director-open::before,body.director-open .cinematic-motion,body.director-open .cursor,body.director-open .cursor-dot { display:none!important; }
body.director-open,body.director-open .close { cursor:auto!important; }
body.director-open .director-view :focus-visible { outline:2px solid #405332; outline-offset:4px; }
body.director-open .director-view ::selection { background:#cfdbc2; color:#20221e; }
@media(max-width:767px){
  .topbar .director-toggle { width:40px; height:40px; flex-basis:40px; }
  .topbar .shell { gap:9px; }
  .director-toolbar { padding:10px 18px; gap:10px; }
  .director-toolbar > span { font-size:9px; letter-spacing:.1em; }
  .director-toolbar button { font-size:11px; gap:8px; padding-left:0; }
  .director-content { width:calc(100% - 36px); padding-top:30px; }
  .director-intro { grid-template-columns:1fr; gap:24px; }
  .director-intro h2 { font-size:64px; }
  .director-actions { display:grid; grid-template-columns:1fr 1fr; min-width:0; }
  .director-actions .director-primary { grid-column:1 / -1; }
  .director-actions a { padding:13px 10px; }
  .director-facts { gap:20px; justify-content:space-between; margin-top:26px; }
  .director-facts strong { font-size:12px; }
  .director-headshots { gap:12px; }
  .director-headshots img { height:auto; }
  .director-headshots figcaption { flex-direction:column; gap:8px; font-size:10px; }
  .director-section { padding-top:30px; }
  .director-credit { grid-template-columns:42px minmax(0,1fr); gap:8px 12px; }
  .director-credit .year { grid-row:1 / 4; }
  .director-credit .role,.director-credit .meta { grid-column:2; }
  .director-contact-grid { grid-template-columns:1fr; gap:25px; }
  .director-footer { flex-direction:column; gap:8px; }
}
@media(max-width:380px){.topbar .availability { font-size:7px; letter-spacing:.04em; }.director-intro h2 { font-size:56px; }}

.director-actions .director-instagram{position:relative;padding-left:46px;}
.director-actions .director-instagram::before{content:"IG";position:absolute;left:17px;top:50%;transform:translateY(-50%);font-size:9px;font-weight:700;letter-spacing:.08em;border:1px solid #5e6658;border-radius:50%;width:19px;height:19px;display:grid;place-items:center;}
@media(max-width:760px){.director-actions .director-instagram{padding-left:39px}.director-actions .director-instagram::before{left:11px}}

/* Spotlight badge within Director’s View */
.director-view .spotlight-link{display:inline-flex!important;align-items:center;gap:9px}
.director-view .spotlight-link .spotlight-mark{width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(40,49,36,.13)}
.director-actions .spotlight-link{padding-left:13px}
.director-section-title .spotlight-link .spotlight-mark{width:21px;height:21px;flex-basis:21px}
.director-contact-grid .spotlight-link{width:max-content;max-width:100%}
