/* Existing house typography and colors; mobile layout first. */
.dc-page { margin:0; background:var(--bg,#111315); color:var(--text,#f4f1ea); }
.dc-page__main { width:min(100%,1120px); box-sizing:border-box; margin:0 auto; padding:32px 20px 140px; }
.dc-page__main *, .dc-preview * { box-sizing:border-box; min-width:0; }
.dc-page__main h1 { font-size:clamp(42px,9vw,88px); line-height:1.02; letter-spacing:-.045em; margin:14px 0 22px; overflow-wrap:anywhere; }
.dc-page__main h2 { font-size:clamp(25px,4vw,38px); line-height:1.16; letter-spacing:-.025em; margin:0 0 18px; }
.dc-page__main h3,.dc-preview h3 { margin:0 0 10px; font-size:22px; line-height:1.2; }
.dc-page__main p,.dc-preview p { line-height:1.55; overflow-wrap:anywhere; }
.dc-page__main a,.dc-preview a { color:inherit; text-underline-offset:4px; overflow-wrap:anywhere; }
.dc-kicker { font:600 12px/1.5 system-ui,sans-serif; letter-spacing:.11em; text-transform:uppercase; opacity:.72; margin:0 0 12px; }
.dc-intro { max-width:670px; font-size:clamp(17px,2vw,22px); opacity:.87; }
.dc-bio { white-space:pre-line; }
.dc-section { padding:32px 0; border-top:1px solid rgba(160,160,160,.25); margin-top:30px; }
.dc-hero { display:grid; gap:24px; align-items:center; }
.dc-hero__image { display:block; width:100%; height:260px; object-fit:cover; border-radius:14px; }
.dc-stats { display:flex; gap:12px 28px; flex-wrap:wrap; padding:16px 0; }
.dc-stats span { font-size:13px; opacity:.85; }
.dc-stats b { display:block; font-size:28px; line-height:1.15; color:inherit; margin-bottom:5px; }
.dc-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:16px 0; }
.dc-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 16px; border:1px solid currentColor; border-radius:999px; background:transparent; color:inherit; font:600 14px/1.3 system-ui,sans-serif; text-decoration:none; cursor:pointer; }
.dc-button--primary { background:#f4f1ea; color:#141719; border-color:#f4f1ea; }
.dc-page__main .dc-button--primary,.dc-preview .dc-button--primary { color:#141719; }
.dc-button:disabled { opacity:.5; cursor:wait; }
.dc-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
.dc-work,.dc-person,.dc-event { border:1px solid rgba(160,160,160,.3); border-radius:14px; padding:20px; }
.dc-work summary { cursor:pointer; padding:4px 0; font-size:20px; font-weight:650; overflow-wrap:anywhere; }
.dc-work__meta { display:block; color:#9fd8c1; font-size:12px; font-weight:500; margin:7px 0 3px; }
.dc-work__credits { margin:18px 0; padding:0; list-style:none; }
.dc-work__credits li { font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.dc-recording { margin:20px 0; padding-top:14px; border-top:1px solid rgba(160,160,160,.2); }
.dc-recording__title { font-size:14px; font-weight:650; }
.dc-recording audio,.dc-recording video { display:block; width:100%; max-width:100%; margin-top:10px; }
.dc-recording video { max-height:420px; background:#070809; border-radius:8px; }
.dc-small { font-size:13px; opacity:.7; }
.dc-person .dc-small { margin:9px 0; }
.dc-person__name { font-size:22px; font-weight:650; text-decoration:none; }
.dc-badge { display:inline-block; font:550 12px/1.5 system-ui,sans-serif; color:#9fd8c1; }
.dc-preview { padding:6px 0; }
.dc-preview h2 { font-size:25px; letter-spacing:-.025em; margin:0 0 12px; }
.dc-preview__songs { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; padding:0; list-style:none; }
.dc-preview__songs a { display:block; padding:8px 12px; border:1px solid rgba(160,160,160,.3); border-radius:8px; font-size:13px; text-decoration:none; }
.dc-preview__event { border-top:1px solid rgba(160,160,160,.25); margin-top:20px; padding-top:16px; }
.dc-page__main :focus-visible,.dc-preview :focus-visible { outline:2px solid #9fd8c1; outline-offset:4px; }
.dc-edit { padding:22px; border:1px solid rgba(160,160,160,.4); border-radius:14px; margin:22px 0; }
.dc-edit label { display:block; font-size:14px; margin-bottom:16px; }
.dc-edit input,.dc-edit textarea { display:block; width:100%; margin-top:7px; padding:11px 12px; color:inherit; background:transparent; border:1px solid rgba(160,160,160,.5); border-radius:8px; font:400 max(16px,1rem)/1.5 system-ui,sans-serif; }
.dc-edit textarea { resize:vertical; min-height:130px; }
.dc-status { font-size:14px; min-height:22px; }
@media (min-width:700px) {
  .dc-page__main { padding:60px 36px 140px; }
  .dc-hero { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:42px; }
  .dc-hero__image { height:340px; }
  .dc-grid--people { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:1000px) { .dc-grid--people { grid-template-columns:repeat(3,minmax(0,1fr)); } }



/* Completed works are portable mission cards: the series contains the
   actual work, while the album engine owns released audio playback. */
.dc-series { overflow:hidden;border:1px solid #ffffff30;border-radius:16px;background:#151a1e; }
.dc-series__summary { display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding:11px 13px;cursor:pointer;list-style:none; }
.dc-series__summary::-webkit-details-marker { display:none; }
.dc-series__name { display:flex;flex-direction:column;gap:4px;min-width:0; }
.dc-series__name strong { color:#f5f1ec;font:600 16px/1.15 system-ui,sans-serif; }
.dc-series__name small { color:#a9b3bc;font:400 11px/1.35 system-ui,sans-serif; }
.dc-series__chevron { flex:none;color:#c9c7c2;font-size:11px; }
.dc-series[open] .dc-series__chevron { visibility:hidden; }
.dc-series__body { padding:0 10px 13px; }
.dc-series__card { min-width:0;min-height:190px;display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid #ffffff28;border-radius:14px;background:linear-gradient(155deg,#272b2a,#16191c);touch-action:pan-y pinch-zoom;overflow-wrap:anywhere; }
.dc-series__card h3 { margin:0;color:#fff;font:500 24px/1.16 Georgia,serif; }
.dc-series__card .dc-kicker { margin:0; }
.dc-series__type,.dc-series__credits,.dc-series__media { margin:0;color:#c7c8c5;font:400 12px/1.45 system-ui,sans-serif; }
.dc-series__media { color:#95aaad; }
.dc-series__actions { display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:8px; }
.dc-series__actions .dc-button { min-height:42px;padding:9px 12px;font-size:12px; }
.dc-series__controls { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 1px; }
.dc-series__controls button { border:0;background:transparent;min-height:44px;min-width:76px;padding:9px;color:#edecea;font:500 12px/1.2 system-ui,sans-serif;cursor:pointer; }
.dc-series__controls button:disabled { color:#7b868c;cursor:default; }
.dc-series__position { font:500 11px system-ui,sans-serif;color:#b2bac0; }
.dc-series__archive { display:inline-block;margin:2px 6px;color:#e9eceb;font:500 12px/1.4 system-ui,sans-serif;text-underline-offset:4px; }
.dc-series__dialog { width:min(570px,calc(100vw - 26px));max-height:min(80dvh,780px);overflow:auto;box-sizing:border-box;padding:20px;border:1px solid #ffffff3d;border-radius:19px;background:#111820;color:#f3f0ec; }
.dc-series__dialog::backdrop { background:#010408c9;backdrop-filter:blur(3px); }
.dc-series__dialog h2 { margin:0 0 12px;font:500 28px/1.12 Georgia,serif; }
.dc-series__dialog .dc-recording { margin:15px 0;padding-top:11px; }
.dc-series__dialog .dc-recording .dc-button { margin-top:9px; }
.dc-series__close { display:block;margin:0 0 16px auto;padding:8px 12px;min-height:40px;border:1px solid #ffffff40;border-radius:24px;background:transparent;color:inherit;font:inherit;cursor:pointer; }
.dc-series :is(button,a,summary):focus-visible,.dc-series__dialog :is(button,a):focus-visible { outline:2px solid #fff;outline-offset:3px; }
