/* Public Showcase foundations and discipline-specific openings. */
.sc-world {
  container-type: inline-size;
  width: 100%; min-width: 0; text-align: left;
  font-family: Arial, Helvetica, sans-serif;
  --sc-bg: #141514; --sc-ink: #f3f0e8; --sc-muted: #b5b6ae;
  --sc-panel: #222421; --sc-line: #42453f;
  --sc-accent: #c7d4a2; --sc-on-accent: #192013;
  --sc-paper: #f3efe5; --sc-paper-ink: #242720; --sc-signal: #eb6341;
  color: var(--sc-ink); background: var(--sc-bg); color-scheme: dark;
}
.sc-world[data-sc-theme=editorial], .sc-world[data-sc-theme=studio] {
  --sc-bg: #f1eee6; --sc-ink: #20231f; --sc-muted: #5c6258;
  --sc-panel: #e5e2d8; --sc-line: #c8cabe; --sc-accent: #435b36;
  --sc-on-accent: #fff; --sc-paper: #faf7ef; --sc-paper-ink: #242720;
  color-scheme: light;
}
.sc-world[data-sc-theme=studio] { --sc-bg:#eaece5; --sc-panel:#dce0d6; }
.sc-world[data-sc-discipline=actor][data-sc-theme=studio] { --sc-bg:#f1eee6; --sc-panel:#e5e2d8; }
.sc-world[data-sc-accent=gold] { --sc-accent:#e0c482; --sc-on-accent:#28210d; }
.sc-world[data-sc-accent=rose] { --sc-accent:#efb1a2; --sc-on-accent:#361f23; }
.sc-world[data-sc-accent=sky] { --sc-accent:#b5d6e4; --sc-on-accent:#162b36; }
.sc-world[data-sc-accent=violet] { --sc-accent:#c7bde8; --sc-on-accent:#28233a; }
.sc-world:not([data-sc-theme=cinematic])[data-sc-accent=gold] { --sc-accent:#78571a; --sc-on-accent:#fff; }
.sc-world:not([data-sc-theme=cinematic])[data-sc-accent=rose] { --sc-accent:#a13f30; --sc-on-accent:#fff; }
.sc-world:not([data-sc-theme=cinematic])[data-sc-accent=sky] { --sc-accent:#2b5f79; --sc-on-accent:#fff; }
.sc-world:not([data-sc-theme=cinematic])[data-sc-accent=violet] { --sc-accent:#67508e; --sc-on-accent:#fff; }
.sc-world * { box-sizing:border-box; }
.sc-world [hidden] { display:none!important; }
.sc-world a { color:inherit; }
.sc-world button, .sc-world input { font:inherit; }
.sc-world button { cursor:pointer; }
.sc-world button, .sc-world a { -webkit-tap-highlight-color:transparent; }
.sc-world :is(button,a,input,select,textarea):focus-visible { outline:2px solid var(--sc-accent); outline-offset:5px; }
.sc-world button:disabled { cursor:default; opacity:.5; }
.sc-world img { display:block; max-width:100%; }
.sc-world :is(h1,h2,h3,h4,p,figure) { margin:0; }
.sc-world :is(h1,h2) { font-weight:400; text-wrap:balance; }
.sc-world h2 em { font-family:Georgia,serif; font-weight:400; }
.sc-world p { line-height:1.65; }
.sc-surface { overflow:clip; background:var(--sc-bg); }
.sc-kicker { font:500 11px/1.5 Arial,sans-serif!important; letter-spacing:1.25px; text-transform:uppercase; color:var(--sc-muted); }
.sc-sr { position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.sc-button { white-space:normal; text-align:left; display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-height:48px; max-width:100%; padding:16px 22px; border:1px solid var(--sc-line); border-radius:0; background:transparent; color:var(--sc-ink); font:500 12px/1.3 Arial,sans-serif!important; text-decoration:none; transition:background .2s,color .2s,transform .2s; }
.sc-button-primary { color:var(--sc-bg); background:var(--sc-ink); border-color:var(--sc-ink); }
.sc-button:hover { background:var(--sc-accent); color:var(--sc-on-accent); border-color:var(--sc-accent); }
.sc-button>span { font-size:18px; }
.sc-header { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:76px; padding:14px 4.5%; max-width:1680px; margin:auto; border-bottom:1px solid var(--sc-line); }
.sc-brand { display:flex; align-items:baseline; text-decoration:none; font-size:18px; letter-spacing:-.8px; white-space:nowrap; }
.sc-brand strong { font-weight:700; }
.sc-brand>span { margin-left:13px; font:10px Arial,sans-serif; letter-spacing:.5px; color:var(--sc-muted); }
.sc-header-name { color:var(--sc-muted); font-size:13px; margin-right:auto; border-left:1px solid var(--sc-line); padding-left:24px; }
.sc-header nav { display:flex; align-items:center; gap:22px; }
.sc-header nav button { border:0; background:transparent; color:var(--sc-ink); min-height:44px; font-size:13px; padding:0; }
.sc-header nav button:last-child { border-bottom:1px solid var(--sc-ink); min-height:44px; }
.sc-header nav button:hover { color:var(--sc-accent); }
.sc-preview-label { padding:10px 4.5%; background:var(--sc-panel); font-size:11px; }
.sc-layers { padding:0 4.5%; max-width:1680px; margin:auto; }
.sc-layer-tabs { display:flex; gap:28px; overflow-x:auto; scrollbar-width:thin; border-bottom:1px solid var(--sc-line); }
.sc-layer-tabs button { display:flex; align-items:center; gap:9px; flex:0 0 auto; padding:15px 0 13px; min-height:54px; border:0; border-bottom:2px solid transparent; background:none; color:var(--sc-muted); font-size:13px; }
.sc-layer-tabs small { color:var(--sc-muted); font-size:9px; }
.sc-layer-tabs button[aria-selected=true] { color:var(--sc-ink); border-bottom-color:var(--sc-ink); }
.sc-layer-tabs button[aria-selected=true] small { color:var(--sc-signal); }
.sc-layer-tabs button:hover { color:var(--sc-ink); }
.sc-world [data-sc-lane-content]:focus-visible { outline:2px solid var(--sc-accent); outline-offset:-4px; }
.sc-world [data-sc-lane-content] { animation:sc-arrive .45s ease both; }
@keyframes sc-arrive { from { opacity:.4; transform:translateY(9px); } to { opacity:1; transform:none; } }

/* A portrait cover: the name has scale, the photograph has room, the reel is one click away. */
.sc-cover { padding:28px 4.5% 0; max-width:1440px; margin:auto; }
.sc-cover-meta { display:flex; align-items:center; gap:30px; text-transform:uppercase; font:10px/1.5 Arial,sans-serif; letter-spacing:1.4px; color:var(--sc-muted); }
.sc-cover-mark { margin-left:auto; color:var(--sc-signal); font-size:32px; line-height:1; }
.sc-cover h1 { font:750 clamp(46px,6.8cqw,104px)/.97 Arial,Helvetica,sans-serif; letter-spacing:-.055em; text-transform:uppercase; overflow-wrap:anywhere; }
.sc-cover-intro { font-size:clamp(18px,2.25cqw,31px); line-height:1.35!important; max-width:29ch; white-space:pre-line; }
.sc-portrait-layout { position:relative; display:grid; grid-template-columns:1.15fr .85fr; grid-template-rows:auto 1fr; column-gap:7%; align-items:start; padding-top:24px; }
.sc-cover-name { grid-column:1; grid-row:1; position:relative; z-index:2; margin:24px 0 0; }
.sc-cover-portrait h1 { max-width:11ch; }
.sc-portrait { grid-column:2; grid-row:1 / span 2; position:relative; height:clamp(320px,40cqw,500px); overflow:hidden; background:var(--sc-panel); }
.sc-portrait>img { width:100%; height:100%; object-fit:cover; object-position:center var(--sc-crop,50%); }
.sc-portrait figcaption { display:flex; justify-content:space-between; position:absolute; bottom:0; inset-inline:0; background:#20231fe6; color:#fff; padding:13px 16px; font-size:11px; }
.sc-portrait-note { grid-column:1; grid-row:2; padding:24px 0 20px; align-self:start; }
.sc-portrait-note .sc-cover-intro { max-width:25ch; font-family:Georgia,serif; font-size:clamp(22px,2.4cqw,32px); letter-spacing:-.015em; }
.sc-portrait-note .sc-button { margin-top:24px; }
.sc-cover-feature { display:flex; flex-direction:column; gap:9px; margin-top:30px; padding-top:18px; border-top:1px solid var(--sc-line); max-width:270px; }
.sc-cover-feature strong { font-size:15px; font-weight:400; }
.sc-cover-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:56px; margin-top:24px; border-top:1px solid var(--sc-line); color:var(--sc-muted); font-size:11px; letter-spacing:.3px; }
.sc-cover-bottom button { background:none; border:0; color:var(--sc-ink); font-size:11px; min-height:44px; padding:8px 0 8px 20px; }
.sc-cover-bottom button span { margin-left:25px; font-size:18px; }

/* Film opens as a wide screen, with a clear title and an explicit playback control. */
.sc-screen-identity { display:flex; align-items:end; justify-content:space-between; gap:5%; margin:34px 0; }
.sc-cover-screen h1 { font-size:clamp(44px,6.5cqw,94px); max-width:14ch; }
.sc-screen-identity .sc-cover-intro { max-width:25ch; font-size:clamp(17px,2cqw,27px); flex:0 1 32%; padding-bottom:5px; }
.sc-screen { position:relative; display:block; width:100%; aspect-ratio:2.1; background:var(--sc-panel); border:0; padding:0; overflow:hidden; text-align:left; color:#fff; }
.sc-screen>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.sc-screen:hover>img { transform:scale(1.025); }
.sc-screen:after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#000b); pointer-events:none; }
.sc-screen-corners { position:absolute; inset:20px; border:1px solid #ffffff45; z-index:1; }
.sc-screen-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:72px; height:72px; border:1px solid #fff; border-radius:50%; color:#fff; background:#1114; font-size:30px; z-index:2; backdrop-filter:blur(5px); }
.sc-screen-caption { position:absolute; bottom:30px; inset-inline:36px; z-index:2; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.sc-screen-caption small { display:block; text-transform:uppercase; letter-spacing:1.5px; font-size:9px; margin-bottom:9px; }
.sc-screen-caption strong { display:block; font:400 clamp(24px,3.8cqw,56px)/1.1 Georgia,serif; }
.sc-screen-caption>span:last-child { font-size:11px; white-space:nowrap; padding-bottom:5px; }
.sc-film-title { color:var(--sc-ink); width:100%; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:22px; padding:50px; background:var(--sc-panel); text-align:center; }
.sc-film-title strong { font:400 36px/1.2 Georgia,serif; }
.sc-film-title>span { font-size:11px; }

/* A writer's opening is a readable manuscript, rather than an image of a book. */
.sc-writing-identity { display:flex; gap:8%; justify-content:space-between; align-items:center; margin:36px 0; padding-bottom:32px; border-bottom:1px solid var(--sc-ink); }
.sc-cover-writing h1 { font:italic 400 clamp(40px,6cqw,90px)/.95 Georgia,serif; text-transform:none; letter-spacing:-.06em; max-width:12ch; }
.sc-writing-identity .sc-cover-intro { font-size:clamp(15px,1.7cqw,23px); max-width:29ch; }
.sc-manuscript { display:grid; grid-template-columns:1fr 3fr; gap:7%; padding:24px 0 34px; }
.sc-manuscript-margin { display:flex; flex-direction:column; gap:16px; padding-top:13px; font-size:11px; color:var(--sc-muted); }
.sc-manuscript-page { max-width:760px; }
.sc-manuscript-page h2 { font:400 clamp(48px,7cqw,102px)/1 Georgia,serif; letter-spacing:-.055em; margin-bottom:24px; }
.sc-manuscript-description { font-size:12px; color:var(--sc-muted); margin-bottom:25px!important; }
.sc-manuscript-extract { font:400 clamp(17px,1.8cqw,24px)/1.85 Georgia,serif; white-space:pre-line; max-width:56ch; }
.sc-manuscript-page .sc-button { margin-top:32px; }

/* Audio gets a listening desk, with a quiet abstract sleeve when no artwork was supplied. */
.sc-music-identity { margin:32px 0; display:flex; align-items:end; justify-content:space-between; gap:6%; }
.sc-cover-listening h1 { font-size:clamp(44px,6.5cqw,94px); max-width:14ch; }
.sc-music-identity .sc-cover-intro { font-size:clamp(17px,2cqw,26px); max-width:23ch; }
.sc-listening-desk { display:grid; grid-template-columns:1fr 1fr; background:var(--sc-ink); color:var(--sc-bg); }
.sc-sound-art { position:relative; aspect-ratio:1; background:var(--sc-accent); overflow:hidden; }
.sc-sound-art>img { width:100%; height:100%; object-fit:cover; }
.sc-sound-orbit { position:absolute; width:92%; height:160%; border:2px solid var(--sc-on-accent); border-radius:50%; left:6%; top:-30%; transform:rotate(-35deg); opacity:.75; }
.sc-sound-orbit:nth-child(2) { transform:rotate(25deg); }
.sc-sound-orbit:nth-child(3) { transform:rotate(85deg); }
.sc-listening-copy { display:flex; flex-direction:column; justify-content:center; align-items:start; padding:12%; }
.sc-listening-copy .sc-kicker { color:inherit; opacity:.65; }
.sc-listening-copy h2 { margin:28px 0 16px; font:400 clamp(32px,4.6cqw,70px)/1 Georgia,serif; letter-spacing:-.04em; }
.sc-listening-copy>p { font-size:12px; opacity:.8; }
.sc-listening-copy .sc-button { margin-top:30px; background:var(--sc-bg); color:var(--sc-ink); }
.sc-listening-copy .sc-button:hover { background:var(--sc-accent); color:var(--sc-on-accent); }
.sc-listening-hint { font-size:10px; margin-top:18px; opacity:.65; }

/* Words alone form a complete cover. There is no empty artwork or invented work. */
.sc-title-card { position:relative; padding:36px 0 30px; }
.sc-title-rule { display:block; width:56px; height:7px; background:var(--sc-signal); margin-bottom:30px; }
.sc-cover-statement h1 { font-size:clamp(48px,8cqw,116px); max-width:16ch; }
.sc-title-card-bottom { display:flex; justify-content:space-between; align-items:end; gap:8%; margin-top:36px; }
.sc-title-card-bottom .sc-cover-intro { font:400 clamp(22px,3.4cqw,44px)/1.3 Georgia,serif; max-width:28ch; }
.sc-title-card-bottom>div { flex-shrink:0; }
.sc-world[data-sc-discipline=writer] .sc-cover-statement h1 { font:italic 400 clamp(48px,8cqw,116px)/1.05 Georgia,serif; text-transform:none; letter-spacing:-.045em; }
.sc-world[data-sc-discipline=writer] .sc-title-rule { width:100%; height:1px; background:var(--sc-ink); }
.sc-world[data-sc-discipline=musician] .sc-cover-statement h1 { font-size:clamp(48px,8cqw,116px); letter-spacing:-.055em; }
.sc-world[data-sc-discipline=musician] .sc-title-rule { width:90px; height:18px; background:repeating-linear-gradient(90deg,var(--sc-accent),var(--sc-accent) 3px,transparent 3px,transparent 8px); }
.sc-world[data-sc-discipline=crew] .sc-title-rule { height:3px; width:100%; background:var(--sc-ink); }

.sc-world .sc-dialog { padding:34px; max-width:min(760px,calc(100vw - 32px)); width:100%; max-height:88vh; overflow:auto; background:var(--sc-bg); color:var(--sc-ink); border:1px solid var(--sc-line); border-radius:0; box-shadow:0 30px 120px #0008; }
.sc-dialog::backdrop { background:#080c0de0; backdrop-filter:blur(5px); }
.sc-world .sc-close { display:block; margin:0 0 25px auto; border:0; background:none; color:var(--sc-ink); font-size:12px; padding:8px; min-height:44px; }
.sc-world .sc-dialog h2 { font-size:34px; margin:18px 0; }
.sc-world .sc-dialog h3 { font-size:23px; margin:18px 0; }
.sc-world .sc-dialog p { font-size:14px; margin:12px 0; }
.sc-world .sc-dialog label { font-size:12px; color:var(--sc-ink); }
.sc-world .sc-dialog :is(input,select,textarea) { background:var(--sc-panel); border:1px solid var(--sc-line); color:var(--sc-ink); border-radius:0; padding:12px; width:100%; font-size:16px; }
.sc-world .sc-dialog input[type=checkbox] { width:auto; }
.sc-world .sc-dialog fieldset { border-color:var(--sc-line); }
.sc-world .sc-dialog .button { background:var(--sc-accent); color:var(--sc-on-accent); border-color:var(--sc-accent); border-radius:0; }
.sc-world .sc-dialog .section { padding:0; }
.sc-world .sc-dialog :is(.enquiry-form,.plain-panel,.showcase-enquiry) { background:var(--sc-bg); color:var(--sc-ink); border:0; padding:0; }
.sc-world .sc-dialog .inline-note { color:var(--sc-muted); }
.sc-world .sc-image-dialog { max-width:min(1100px,calc(100vw - 32px)); width:auto; }
.sc-world .sc-image-dialog img { max-height:74vh; object-fit:contain; margin:auto; }
.sc-world .form-error { color:#efb2a7; }
.sc-world:not([data-sc-theme=cinematic]) .form-error { color:#9b2931; }
@container (max-width:850px) {
  .sc-header-name { display:none; }
  .sc-header { min-height:64px; }
  .sc-header nav { gap:18px; }
  .sc-brand>span { display:none; }
  .sc-cover { padding-top:28px; }
  .sc-portrait-layout { column-gap:5%; }
  .sc-cover-name { margin:10px 0 0; }
  .sc-portrait-note .sc-cover-intro { font-size:clamp(20px,3.2cqw,27px); }
  .sc-portrait-note { padding:15px 0; }
  .sc-cover-feature { margin-top:20px; }
  .sc-screen { aspect-ratio:1.75; }
  .sc-screen-caption { bottom:24px; inset-inline:25px; }
  .sc-title-card { padding-top:42px; }
  .sc-title-card-bottom { align-items:start; }
  .sc-title-card-bottom .sc-button { padding:15px 18px; }
  .sc-manuscript { grid-template-columns:1fr 3.5fr; gap:5%; }
}
@container (max-width:600px) {
  .sc-header { padding:10px 5%; gap:18px; min-height:62px; }
  .sc-header nav { gap:17px; }
  .sc-header nav button { font-size:12px; }
  .sc-header nav button[data-sc-go=about], .sc-nav-detail { display:none; }
  .sc-brand { font-size:17px; }
  .sc-layers { padding:0 5%; }
  .sc-layer-tabs { gap:23px; }
  .sc-layer-tabs button { font-size:12px; min-height:54px; gap:6px; }
  .sc-cover { padding:26px 5% 0; }
  .sc-cover-meta { gap:18px; font-size:9px; letter-spacing:1px; }
  .sc-cover-mark { font-size:27px; }
  .sc-portrait-layout { grid-template-columns:1fr 1fr; gap:22px; padding-top:25px; align-items:start; }
  .sc-cover-name { grid-column:1/-1; margin:0; }
  .sc-cover h1 { font-size:13cqw; line-height:1; letter-spacing:-.055em; }
  .sc-cover-portrait h1 { font-size:14cqw; max-width:none; }
  .sc-portrait { grid-column:1/-1; grid-row:2; height:auto; aspect-ratio:1.12; }
  .sc-portrait-note { grid-column:1/-1; grid-row:3; padding:0; display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; }
  .sc-portrait-note .sc-cover-intro { font-size:23px; max-width:25ch; grid-column:1/-1; }
  .sc-portrait-note .sc-button { margin:0; grid-column:1; justify-self:start; }
  .sc-cover-feature { border:0; padding:0; margin:0; grid-column:2; grid-row:2; max-width:100px; }
  .sc-cover-feature .sc-kicker { font-size:8px!important; }
  .sc-cover-feature strong { font-size:12px; }
  .sc-cover-bottom { margin-top:27px; min-height:66px; }
  .sc-screen-identity, .sc-music-identity { display:block; margin:27px 0; }
  .sc-screen-identity .sc-cover-intro, .sc-music-identity .sc-cover-intro { font-size:18px; margin-top:24px; max-width:29ch; }
  .sc-cover-screen h1, .sc-cover-listening h1 { font-size:15cqw; max-width:12ch; }
  .sc-screen { aspect-ratio:1.35; }
  .sc-screen-corners { inset:12px; }
  .sc-screen-caption { inset-inline:22px; bottom:23px; }
  .sc-screen-caption strong { font-size:28px; max-width:14ch; }
  .sc-screen-caption small { font-size:8px; }
  .sc-screen-caption>span:last-child { display:none; }
  .sc-screen-play { width:56px; height:56px; }
  .sc-writing-identity { display:block; margin:28px 0; padding-bottom:24px; }
  .sc-cover-writing h1 { font-size:13cqw; }
  .sc-writing-identity .sc-cover-intro { font-size:17px; margin-top:22px; }
  .sc-manuscript { display:block; padding-top:0; }
  .sc-manuscript-margin { flex-direction:row; gap:18px; padding:0 0 20px; }
  .sc-manuscript-page h2 { font-size:14cqw; }
  .sc-manuscript-extract { font-size:18px; }
  .sc-listening-desk { display:block; }
  .sc-sound-art { aspect-ratio:1.3; }
  .sc-listening-copy { padding:30px; }
  .sc-listening-copy h2 { font-size:42px; margin-top:20px; }
  .sc-title-card { padding:35px 0 20px; }
  .sc-title-rule { margin-bottom:35px; }
  .sc-cover-statement h1, .sc-world[data-sc-discipline=musician] .sc-cover-statement h1 { font-size:14cqw; }
  .sc-world[data-sc-discipline=writer] .sc-cover-statement h1 { font-size:14cqw; }
  .sc-title-card-bottom { display:block; margin-top:35px; }
  .sc-title-card-bottom .sc-cover-intro { font-size:27px; }
  .sc-title-card-bottom .sc-button { margin-top:30px; }
  .sc-world .sc-dialog { padding:24px; }
}
@media (prefers-reduced-motion:reduce) {
  .sc-world * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
@media print {
  .sc-header nav,.sc-layers,.sc-button,.sc-dialog { display:none!important; }
  .sc-world { --sc-bg:#fff; --sc-ink:#111; --sc-muted:#444; --sc-line:#bbb; --sc-accent:#333; }
  .sc-cover h1 { font-size:50px!important; }
  .sc-cover { padding:20px 0; }
}
/* The connected public route gives the creator the full page. */
body.sc-public-page > .site-header,
body.sc-public-page > .site-footer { display:none!important; }
body.sc-public-page #main { padding:0!important; background:#141514; }
body.sc-public-page #main > .sc-world { min-height:100vh; }
.sc-layer-tabs { scrollbar-width:none; }
.sc-layer-tabs::-webkit-scrollbar { display:none; }
.sc-screen .sc-film-title { align-items:flex-start; justify-content:flex-start; padding:7%; text-align:left; }
.sc-screen:has(.sc-film-title) .sc-screen-play { color:var(--sc-ink); border-color:var(--sc-ink); background:var(--sc-bg); }
.sc-world[data-sc-theme=editorial] .sc-cover:not(.sc-cover-writing) h1 { font-family:Georgia,serif; font-weight:400; text-transform:none; letter-spacing:-.065em; }
