:root {
  --ink: #080a09;
  --ink-soft: #101411;
  --paper: #eee7d8;
  --paper-deep: #171c18;
  --brass: #c2944c;
  --moss: #8ea57d;
  --line: rgba(238, 231, 216, 0.18);
  --cream-line: rgba(238, 231, 216, 0.22);
  --sans: "DM Sans", ui-sans-serif, system-ui, sans-serif;
  --serif: "Playfair Display", Georgia, serif;
  --mono: "DM Mono", ui-monospace, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: var(--sans); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 100; padding: 0.8rem 1rem; background: var(--brass); color: var(--ink); }
.skip-link:focus { top: 1rem; }

.site-header { position: absolute; z-index: 10; display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1.4rem clamp(1.1rem, 3.2vw, 4rem); color: var(--paper); }
.wordmark { display: inline-flex; align-items: center; gap: 0.65rem; color: var(--paper); text-decoration: none; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; }
.wordmark__mark { display: grid; width: 2.35rem; aspect-ratio: 1; place-items: center; border: 1px solid var(--cream-line); border-radius: 50%; font-family: var(--serif); font-size: 0.95rem; font-style: italic; text-transform: none; }
nav { display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 2.6rem); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
nav a { text-decoration: none; opacity: 0.86; }
nav a:hover, nav a:focus-visible { opacity: 1; }
.nav-contact { padding-bottom: 0.25rem; border-bottom: 1px solid var(--brass); }

.hero { position: relative; min-height: min(780px, 100svh); overflow: hidden; display: flex; align-items: flex-end; padding: 9rem clamp(1.1rem, 8vw, 9rem) clamp(3rem, 7vw, 7rem); color: var(--paper); background: #0d0f0d; isolation: isolate; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0.32; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 190 190' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); pointer-events: none; mix-blend-mode: soft-light; }
.hero__image { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 65% center; filter: saturate(0.72) contrast(1.08); }
.hero__scrim { position: absolute; z-index: -2; inset: 0; background: rgba(10, 12, 10, 0.48); }
.hero__content { position: relative; max-width: 850px; }
.eyebrow { margin: 0 0 1rem; color: inherit; font-family: var(--mono); font-size: 0.7rem; font-weight: 500; letter-spacing: 0.13em; text-transform: uppercase; }
.hero h1, h2 { margin: 0; font-family: var(--serif); font-size: clamp(3.5rem, 8.7vw, 8.8rem); font-weight: 600; letter-spacing: -0.07em; line-height: 0.88; }
h1 em, h2 em { color: var(--brass); font-weight: 600; }
.hero__intro { max-width: 35rem; margin: 2rem 0; font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.55; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 1.25rem; border: 1px solid transparent; padding: 0.95rem 1.2rem; text-decoration: none; font-family: var(--mono); font-size: 0.72rem; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; transition: transform 160ms ease, background 160ms ease; }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button--light { background: var(--paper); color: var(--ink); }
.button--dark { background: var(--ink); color: var(--paper); }
.button--brass { background: var(--brass); color: var(--ink); }
.hero__stamp { position: absolute; right: clamp(1.1rem, 4vw, 4rem); bottom: clamp(1.3rem, 3.5vw, 3rem); display: flex; gap: 0.65rem; transform: rotate(-6deg); font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.08em; text-transform: uppercase; }
.hero__stamp span { padding: 0.42rem 0.5rem; border: 1px solid var(--cream-line); background: rgba(16, 21, 18, 0.76); }

.intro-band { display: grid; grid-template-columns: minmax(10rem, 1fr) minmax(20rem, 2.25fr); gap: 4rem; padding: clamp(4rem, 8vw, 8rem) clamp(1.1rem, 8vw, 9rem); border-bottom: 1px solid var(--line); background: var(--ink); }
.intro-band__statement { max-width: 52rem; margin: 0; font-family: var(--serif); font-size: clamp(1.8rem, 3.6vw, 4rem); letter-spacing: -0.05em; line-height: 1.08; }

.credits-section { padding: clamp(4rem, 8vw, 8rem) clamp(1.1rem, 8vw, 9rem); background: var(--paper-deep); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-bottom: 2.4rem; border-bottom: 1px solid var(--line); }
.section-heading h2 { font-size: clamp(3.4rem, 6vw, 6.2rem); }
.section-heading__note { max-width: 20rem; margin: 0; color: rgba(238, 231, 216, 0.72); font-size: 0.85rem; line-height: 1.55; text-align: right; }
.credits-toolbar { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; justify-content: flex-end; padding: 1.3rem 0; }
.search-field { display: inline-flex; min-width: min(100%, 15rem); align-items: center; gap: 0.7rem; margin-right: auto; padding: 0.55rem 0; border-bottom: 1px solid var(--line); }
.search-field input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--paper); font-size: 0.86rem; }
.search-field input::placeholder { color: rgba(238, 231, 216, 0.5); }
.filter-group { display: inline-flex; flex-wrap: wrap; gap: 0.6rem; }
.role-filters { padding-top: 0.6rem; width: 100%; border-top: 1px solid var(--line); }
.filter-button { border: 1px solid var(--line); background: transparent; color: var(--paper); padding: 0.48rem 0.65rem; font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.04em; text-transform: uppercase; }
.filter-button.is-active, .filter-button:hover, .filter-button:focus-visible { border-color: var(--paper); background: var(--paper); color: var(--ink); }
.credits-list { border-top: 1px solid var(--line); }
.credit { display: grid; grid-template-columns: 4.5rem minmax(9rem, 1.2fr) minmax(12rem, 1.4fr) 2.8rem; gap: 1rem; align-items: center; min-height: 5.25rem; border-bottom: 1px solid var(--line); }
.credit__date, .credit__index { font-family: var(--mono); font-size: 0.67rem; letter-spacing: 0.02em; }
.credit__work { display: grid; gap: 0.34rem; }
.credit__title { font-size: clamp(1.05rem, 1.5vw, 1.35rem); font-weight: 700; line-height: 1.15; }
.credit__role-list { color: var(--brass); font-family: var(--mono); font-size: 0.59rem; letter-spacing: 0.03em; line-height: 1.3; text-transform: uppercase; }
.credit__artists { color: rgba(238, 231, 216, 0.7); font-size: 0.85rem; }
.credit__link { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; text-decoration: none; font-size: 0.95rem; transition: color 150ms ease, background 150ms ease; }
.credit__link:hover, .credit__link:focus-visible { background: var(--brass); color: var(--ink); }
.credit__link--empty { opacity: 0.35; }
.load-more { margin-top: 1.5rem; }
.archive-fallback { margin: 1rem 0 0; color: #e1b86f; }

.profile { display: grid; grid-template-columns: 1.05fr 0.8fr 1.18fr 0.55fr; gap: clamp(2.2rem, 4vw, 5rem); padding: clamp(5rem, 10vw, 10rem) clamp(1.1rem, 8vw, 9rem); background: var(--ink-soft); }
.profile h2 { font-size: clamp(3rem, 5vw, 5.4rem); }
.profile__portrait { align-self: start; margin: 0; padding-top: 2.1rem; }
.profile__portrait img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 24%; filter: saturate(0.82) contrast(1.04); }
.profile__portrait figcaption { margin-top: 0.65rem; color: rgba(238, 231, 216, 0.58); font-family: var(--mono); font-size: 0.57rem; letter-spacing: 0.08em; text-transform: uppercase; }
.profile__copy { padding-top: 3.1rem; font-size: 1.04rem; line-height: 1.68; }
.profile__copy p { margin: 0 0 1.25rem; }
.profile__fact { align-self: end; padding: 1.3rem 0 0; border-top: 2px solid var(--brass); }
.profile__fact p { margin: 0.7rem 0 0; font-size: 0.88rem; line-height: 1.52; }
.fact-number { font-family: var(--mono); color: var(--brass); font-size: 2.2rem; }

.details-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--cream-line); background: #060807; color: var(--paper); }
.details-grid article { min-height: 17rem; padding: clamp(1.6rem, 3.5vw, 3rem); border-right: 1px solid var(--cream-line); }
.details-grid article:last-child { border-right: 0; }
.detail-index { color: var(--brass); font-family: var(--mono); font-size: 0.7rem; }
.details-grid h3 { max-width: 14rem; margin: 3.8rem 0 0.75rem; font-family: var(--serif); font-size: 2rem; font-weight: 600; letter-spacing: -0.05em; line-height: 0.95; }
.details-grid p { max-width: 22rem; margin: 0; color: rgba(243, 238, 226, 0.72); font-size: 0.88rem; line-height: 1.55; }

.contact { padding: clamp(5rem, 10vw, 10rem) clamp(1.1rem, 8vw, 9rem); background: #0e0d0a; color: var(--paper); }
.contact h2 { font-size: clamp(3.7rem, 8vw, 8rem); }
.contact__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.6rem; margin-top: 3rem; }
.text-link { padding-bottom: 0.2rem; border-bottom: 1px solid var(--brass); color: var(--paper); font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.06em; text-decoration: none; text-transform: uppercase; }
.site-footer { display: flex; justify-content: space-between; gap: 1rem; padding: 1.1rem clamp(1.1rem, 3.2vw, 4rem); border-top: 1px solid var(--cream-line); background: #060807; color: rgba(238, 231, 216, 0.62); font-family: var(--mono); font-size: 0.63rem; letter-spacing: 0.04em; text-transform: uppercase; }

@media (max-width: 760px) {
  .site-header nav a:not(.nav-contact) { display: none; }
  .hero { min-height: 44rem; padding-bottom: 7.8rem; }
  .hero__image { object-position: 63% center; }
  .intro-band, .profile { grid-template-columns: 1fr; gap: 1.7rem; }
  .profile__portrait { max-width: 24rem; padding-top: 0; }
  .profile__copy { padding-top: 0; }
  .profile__fact { max-width: 26rem; }
  .section-heading { display: block; }
  .section-heading__note { margin-top: 1.3rem; text-align: left; }
  .credits-toolbar { justify-content: flex-start; }
  .search-field { width: 100%; margin-right: 0; }
  .credit { grid-template-columns: 3.5rem 1fr 2.5rem; gap: 0.7rem; padding: 0.85rem 0; }
  .credit__artists { grid-column: 2 / 3; }
  .credit__link { grid-column: 3; grid-row: 1 / 3; }
  .details-grid { grid-template-columns: 1fr; }
  .details-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--cream-line); }
  .details-grid h3 { margin-top: 2.5rem; }
}

.catalogue-select{display:grid;gap:.35rem;color:#b7bdaf;font: .65rem var(--mono)}
.catalogue-select select{max-width:12rem;background:#101411;color:var(--paper);border:1px solid var(--line);padding:.65rem;font:inherit;min-height:40px}
.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.5rem}
.works-grid .credit{display:flex;flex-direction:column;align-items:stretch;gap:.7rem;padding:0 0 1.2rem;border:1px solid var(--line);background:var(--ink-soft);min-width:0}
.work-cover{position:relative;aspect-ratio:1;background:#242c24;overflow:hidden;flex-shrink:0}
.work-cover span{display:grid;place-items:center;height:100%;font:italic 5rem var(--serif);color:#829377}
.work-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.works-grid .credit>:not(.work-cover){margin:0 1.2rem}
.works-grid .credit__link{align-self:flex-end}
.credit__genres{color:#b4bba9;font:.6rem/1.5 var(--mono)}
.table-scroll{overflow-x:auto} .table-scroll table{width:100%;min-width:800px;border-collapse:collapse;font-size:.78rem}
.table-scroll th,.table-scroll td{padding:1rem .7rem;border-bottom:1px solid var(--line);text-align:left;line-height:1.5}
.table-scroll th{font:.65rem var(--mono);color:var(--brass)}
.table-work{display:flex;align-items:center;gap:1rem;min-width:200px}.table-work .work-cover{width:58px;flex-basis:58px}.table-work .work-cover span{font-size:2rem}
#result-count{color:#b4bba9;font:.7rem var(--mono);margin:0 0 1.5rem}
@media(max-width:1050px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.works-grid{grid-template-columns:1fr}.catalogue-select{flex:1 1 40%}.catalogue-select select{max-width:100%;width:100%}.profile{grid-template-columns:1fr}}
html { font-size:var(--edit-bodySize,16px); }
.hero h1 { font-size:calc(clamp(3.5rem,8.7vw,8.8rem) * var(--edit-headingScale,1)); }
.section-heading h2 { font-size:calc(clamp(3.4rem,6vw,6.2rem) * var(--edit-headingScale,1)); }
.profile h2 { font-size:calc(clamp(3rem,5vw,5.4rem) * var(--edit-headingScale,1)); }
.contact h2 { font-size:calc(clamp(3.7rem,8vw,8rem) * var(--edit-headingScale,1)); }
.intro-band,.credits-section,.profile,.contact,.booking { padding-top:var(--edit-sectionSpacing,70px);padding-bottom:var(--edit-sectionSpacing,70px);padding-left:max(1.1rem,calc((100% - var(--edit-contentWidth,1180px))/2));padding-right:max(1.1rem,calc((100% - var(--edit-contentWidth,1180px))/2)); }
.profile__portrait { width:100%;max-width:var(--edit-portraitSize,300px); }
.works-grid { grid-template-columns:repeat(var(--edit-cardColumns,4),minmax(0,1fr));gap:1rem; }
.works-grid .work-cover { height:var(--edit-cardImageHeight,210px);aspect-ratio:auto; }
.works-grid .credit__title { font-size:1rem; }
.works-grid .credit__role-list { font-size:.56rem; }
.table-scroll table { min-width:640px;font-size:var(--edit-tableSize,0.75rem); }
.table-scroll th,.table-scroll td { padding:var(--edit-tablePadding,8px) 7px;line-height:1.35; }
.table-work { min-width:150px;gap:.65rem; }
.table-work .work-cover { width:var(--edit-thumbnailSize,40px);flex-basis:var(--edit-thumbnailSize,40px); }
.booking { background:#151a15;border-top:1px solid var(--line); }
.booking h2 { max-width:900px;font-size:calc(clamp(2.7rem,5vw,5.5rem) * var(--edit-headingScale,1)); }
.booking p:not(.eyebrow) { max-width:38rem;line-height:1.6;margin:1.5rem 0; }
.booking a { margin:0 1rem 1rem 0; }
[hidden] { display:none!important; }
@media(max-width:1050px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.works-grid .work-cover{height:160px}.works-grid .credit>:not(.work-cover){margin-left:.65rem;margin-right:.65rem}.works-grid .credit__title{font-size:.9rem}.works-grid .credit__artists{font-size:.75rem}}
/* Profile: portrait on the left, biography and recognition on the right. */
.profile { grid-template-columns:minmax(200px,.85fr) minmax(0,1.45fr);grid-template-areas:"portrait lead" "portrait copy" "portrait fact";gap:1.7rem clamp(2rem,6vw,6rem);align-items:start; }
.profile__lead { grid-area:lead; }
.profile h2 { max-width:17ch;font-size:calc(clamp(2rem,3.8vw,3.8rem) * var(--edit-headingScale,1));line-height:1.04;letter-spacing:-.045em; }
.profile__portrait { grid-area:portrait;padding-top:0;max-width:var(--edit-portraitSize,300px);justify-self:center; }
.profile__portrait img { border-radius:3px;aspect-ratio:3/4; }
.profile__portrait figcaption { font-size:.6rem;line-height:1.6; }
.profile__copy { grid-area:copy;padding:0;max-width:39rem;font-size:.94rem;line-height:1.75;color:#c4c8bd; }
.profile__copy p:last-child { margin-bottom:0; }
.profile__fact { grid-area:fact;align-self:start;max-width:none;border-top:1px solid var(--line);padding-top:1.2rem; }
.recognition-label { color:var(--brass);font:.63rem var(--mono);text-transform:uppercase;letter-spacing:.1em; }
.profile__fact p { margin:.65rem 0;font-size:.85rem; }
.recognition-list { list-style:none;padding:0;margin:.8rem 0 0;color:#b5bcb0;font-size:.8rem;line-height:1.8; }
.recognition-list span { display:inline-block;margin-right:1rem;color:var(--brass);font:.65rem var(--mono); }
.details-grid { gap:0;border:0;background:var(--ink-soft);padding:0 max(1.1rem,calc((100% - var(--edit-contentWidth,1180px))/2)) var(--edit-sectionSpacing,70px); }
.details-grid article { min-height:0;padding:1.5rem 1.7rem 0 0;border-top:1px solid var(--line);border-right:0; }
.details-grid article+article { padding-left:1.7rem; }
.details-grid .eyebrow { color:var(--brass);font-size:.6rem; }
.details-grid h3 { margin:1rem 0 .8rem;max-width:none;font-size:1.65rem;line-height:1.08;letter-spacing:-.035em; }
.details-grid p:not(.eyebrow) { max-width:30rem;font-size:.82rem;line-height:1.7; }
.booking { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start;background:#0b0e0b; }
.booking h2 { max-width:14ch;font-size:calc(clamp(2.4rem,4.5vw,4.8rem) * var(--edit-headingScale,1));line-height:1;letter-spacing:-.045em; }
.booking__intro>p:not(.eyebrow) { color:#b5bcb0;font-size:.9rem;max-width:32rem; }
.contact-panel { background:#171d17;border:1px solid var(--line);padding:clamp(1.4rem,3vw,2.5rem);border-radius:3px; }
.contact-panel h3 { margin:.8rem 0;font-family:var(--serif);font-weight:600;letter-spacing:-.035em;line-height:1.1;font-size:calc(clamp(1.6rem,2.5vw,2.4rem) * var(--edit-headingScale,1)); }
.booking .contact-panel p:not(.eyebrow) { margin:1rem 0;color:#b5bcb0;font-size:.85rem; }
.contact-panel .contact__actions { margin-top:1.5rem;gap:.8rem;align-items:flex-start;flex-direction:column; }
.contact-panel a { margin:0; }
@media(max-width:760px){.profile{grid-template-columns:1fr;grid-template-areas:"lead" "portrait" "copy" "fact";gap:1.5rem}.profile__portrait{justify-self:start}.profile h2{max-width:22ch}.details-grid{grid-template-columns:1fr;gap:1.5rem}.details-grid article,.details-grid article+article{padding:1.3rem 0 0;border-bottom:0}.booking{grid-template-columns:1fr;gap:2rem}.booking h2{max-width:18ch}.contact-panel{padding:1.5rem}}
/* Compact opening, aligned with the portfolio instead of a full-screen banner. */
.site-header { position:relative;max-width:var(--edit-contentWidth,1180px);margin:auto;padding:1.2rem 0;border-bottom:1px solid var(--line); }
.wordmark { font-size:.72rem; }.wordmark__mark{width:2rem;}
.site-header nav { font-size:.65rem;gap:1.5rem; }
.hero { display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:3rem;max-width:var(--edit-contentWidth,1180px);margin:auto;min-height:0;padding:3rem 0;background:var(--ink);overflow:visible; }
.hero__content { grid-column:1;grid-row:1;max-width:none; }
.hero__image { position:relative;grid-column:2;grid-row:1;z-index:0;inset:auto;width:100%;height:280px;object-position:center;border-radius:3px;filter:saturate(.7); }
.hero__scrim,.hero::after,.hero__stamp { display:none; }
.hero h1 { font-family:var(--sans);font-size:calc(clamp(2rem,3.1vw,3.4rem) * var(--edit-headingScale,1));font-weight:500;line-height:1.08;letter-spacing:-.045em;max-width:17ch; }
.hero h1 em { font-style:normal;font-weight:500; }
.hero .eyebrow { color:var(--brass);font-size:.62rem; }
.hero__intro { max-width:32rem;margin:1.2rem 0 1.5rem;color:#b5bcb0;font-size:.92rem;line-height:1.7; }
.hero .button { padding:.75rem .95rem;font-size:.62rem; }
.works-grid a.credit,.table-work { color:inherit;text-decoration:none; }
.works-grid a.credit { transition:border-color .15s ease; }
.works-grid a.credit:hover,.works-grid a.credit:focus-visible { border-color:var(--brass); }
.works-grid a.credit:focus-visible,.table-work:focus-visible { outline:2px solid var(--brass);outline-offset:4px; }
a.table-work:hover { color:var(--brass); }
@media(max-width:1250px){.site-header,.hero{margin-left:1.1rem;margin-right:1.1rem;}}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:1.5rem;padding:2rem 0}.hero__content{grid-column:1;grid-row:1}.hero__image{grid-column:1;grid-row:2;height:180px}.hero h1{max-width:21ch}.site-header nav{gap:1rem}.hero__intro{max-width:36rem}.hero .button{margin-bottom:0}}
/* Wide studio banner; its text shares the archive's content edges. */
.hero { display:flex;align-items:center;max-width:none;width:100%;margin:0;min-height:360px;padding:3rem max(1.1rem,calc((100% - var(--edit-contentWidth,1180px))/2));overflow:hidden;isolation:isolate; }
.hero__image { position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center 55%;border-radius:0;filter:saturate(.7); }
.hero__scrim { display:block;position:absolute;inset:0;z-index:-2;background:rgba(5,8,6,.6); }
.hero__content { position:relative;width:100%;max-width:var(--edit-contentWidth,1180px); }
.hero h1 { max-width:19ch;font-family:var(--serif);font-weight:600;letter-spacing:-.06em;line-height:.98;font-size:calc(clamp(4rem,7vw,7.2rem) * var(--edit-headingScale,1)); }
.hero h1 em { font-style:italic;font-weight:600; }
.hero__intro { max-width:31rem;color:#dddcd2; }
@media(max-width:760px){.hero{margin:0;min-height:320px;padding:2.2rem 1.1rem}.hero__image{height:100%;object-position:62% center}.hero h1{max-width:19ch}.hero__intro{max-width:30rem}}
.credits-section .section-heading { align-items:center;padding-bottom:1.7rem;border:0; }
.credits-section .section-heading h2 { font-size:calc(clamp(2.5rem,4.2vw,4.4rem) * var(--edit-headingScale,1));line-height:1;letter-spacing:-.05em; }
.credits-section .section-heading .eyebrow { font-size:.6rem;letter-spacing:.13em;color:var(--brass);margin-bottom:.85rem; }
.credits-section .section-heading__note { white-space:pre-line;font-size:.76rem;line-height:1.9;color:#b1b9aa;max-width:23rem; }
.credits-toolbar { display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto auto;gap:1rem .75rem;align-items:end;padding:1.1rem;background:#101510;border:1px solid var(--line);border-radius:8px; }
.credits-toolbar .search-field { grid-column:1/-1;display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:.85rem;width:100%;min-width:0;margin:0;padding:.85rem 1rem;background:#1b231b;border:1px solid #384333;border-radius:5px; }
.credits-toolbar .search-field input { font-size:.92rem;min-width:0;line-height:1.5; }
.credits-toolbar .search-field svg { flex-shrink:0;color:var(--brass); }
.credits-toolbar .search-field:focus-within { border-color:var(--brass);outline:1px solid var(--brass); }
.credits-toolbar .catalogue-select { min-width:0;font-family:var(--sans);font-size:.68rem;gap:.45rem;color:#aab5a3; }
.credits-toolbar .catalogue-select select { width:100%;max-width:none;min-width:0;font-family:var(--sans);font-size:.77rem;border-radius:4px;background:#171d16;border-color:#364032;padding:.65rem .55rem;min-height:40px; }
.credits-toolbar .filter-button { min-height:40px;border-radius:4px;font-family:var(--sans);font-size:.72rem;letter-spacing:0;text-transform:none;padding:.6rem .8rem;white-space:nowrap; }
#view-toggle { background:#ddd9ca;color:#11170f;border-color:#ddd9ca; }
#clear-filters { color:#b0b8a9;border-color:transparent; }
.credits-section #result-count { margin:1.1rem 0 1.4rem;color:#9faa97;font-size:.64rem; }
@media(max-width:1000px){.credits-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.credits-toolbar .search-field{grid-column:1/-1}#clear-filters{grid-column:3}.credits-toolbar #view-toggle{grid-column:3;grid-row:3}}
@media(max-width:600px){.credits-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));padding:.85rem;gap:.85rem}.credits-toolbar #view-toggle{grid-column:2;grid-row:4}.credits-toolbar #clear-filters{grid-column:1/-1}.credits-section .section-heading{display:block}.credits-section .section-heading__note{text-align:left;margin-top:1rem}.credits-toolbar .catalogue-select{flex:initial}}
/* Keep the navigation over the photograph, with no separate top band. */
.site-header { position:absolute;inset:0 0 auto;z-index:10;width:100%;max-width:none;margin:0;padding:1.2rem max(1.1rem,calc((100% - var(--edit-contentWidth,1180px))/2));border:0;background:transparent; }
.hero { min-height:420px;padding-top:6.5rem;padding-bottom:3.5rem; }
@media(max-width:760px){.site-header{margin:0;padding:1rem 1.1rem}.hero{min-height:380px;padding-top:6rem;padding-bottom:2.5rem}}
.archive-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin:0 0 1rem}
.archive-actions .filter-button{border-radius:4px;font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:.75rem;min-height:40px;padding:.6rem .85rem}
.credits-toolbar{grid-template-columns:repeat(5,minmax(0,1fr))}
.works-grid .work-cover{display:block;position:relative;width:100%;height:auto;aspect-ratio:1/1}
.work-cover img{object-fit:contain}
.work-cover:focus-visible,.metadata-filter:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
a.work-cover:hover img{filter:brightness(1.08)}
.metadata-filter{display:inline;padding:0;border:0;background:none;color:inherit;font:inherit;line-height:inherit;text-align:left;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;cursor:pointer}
.metadata-filter:hover{text-decoration-color:currentColor;color:var(--brass)}
.metadata-filters{line-height:1.65}
.table-work .work-cover{display:block;aspect-ratio:1;height:auto}
@media(max-width:760px){.credits-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.works-grid{grid-template-columns:1fr}}
.credits-table .table-scroll table{font-size:var(--edit-tableSize,0.75rem)}
.credits-table .table-scroll th,.credits-table .table-scroll td{font-size:inherit;padding-block:var(--edit-tablePadding,8px)}
.credits-table .table-work>.work-cover{width:var(--edit-thumbnailSize,40px);height:var(--edit-thumbnailSize,40px);min-width:var(--edit-thumbnailSize,40px);flex:0 0 var(--edit-thumbnailSize,40px)}
.credit__views,.views-note{font: .65rem/1.6 var(--mono);color:#adbda1}
.views-note{margin:0 0 1.2rem}
#most-watched.is-active{background:var(--brass);border-color:var(--brass);color:var(--ink)}
/* Amber atmosphere below the studio header, using the delivery portal palette. */
.credits-section{position:relative;isolation:isolate;background-color:#141713;background-image:radial-gradient(ellipse 72% 420px at 50% 0,rgba(198,161,91,.13),transparent 80%);border-top:1px solid rgba(198,161,91,.16)}
.credits-section::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('warm-grain.svg') repeat;opacity:.055}
.site-header .wordmark{gap:15px}
.archive-detail-label{display:inline-flex;align-items:center;gap:8px;font:0.6875rem var(--sans);color:#b0b9aa}.archive-detail-label select{font:inherit;color:var(--paper);background:#101411;border:1px solid #334034;border-radius:2px;padding:9px}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: 0.01ms !important; } }
/* Saved sizes describe the roomy desktop layout; smaller windows scale them down. */
.audio-dock{position:fixed;z-index:50;bottom:22px;left:50%;transform:translateX(-50%);width:min(1000px,calc(100% - 40px));display:grid;grid-template-columns:60px minmax(130px,1fr) 48px minmax(160px,1.5fr) 72px 28px;align-items:center;gap:20px;padding:18px 22px;background:#121b15f5;color:var(--paper);border:1px solid #5b5237;border-radius:8px;box-shadow:0 12px 60px #0008;backdrop-filter:blur(18px);animation:dock-enter .25s ease-out}
.audio-dock__cover{display:block;width:60px;height:60px;object-fit:cover;border-radius:3px;border:1px solid var(--line)}
.audio-dock__info{display:flex;flex-direction:column;gap:4px;min-width:0}
.audio-dock__label{color:#c6a15b;font:0.5625rem var(--mono);letter-spacing:.15em}
.audio-dock__title{font:500 1.1875rem/1.2 var(--serif);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.audio-dock__artist{color:#b0b9aa;font:0.6875rem/1.4 var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.audio-dock button{display:grid;place-items:center;cursor:pointer;font:1rem var(--sans)}
.audio-dock__play{width:46px;height:46px;border:1px solid #c6a15b;border-radius:50%;background:#c6a15b;color:#101411}
.audio-dock__play:disabled{opacity:.35;cursor:default}
.audio-dock__close{width:28px;height:32px;border:0;background:transparent;color:#b0b9aa;font-size:1.5rem!important}
.audio-dock__transport{min-width:0}.audio-dock input[type=range]{appearance:none;width:100%;height:4px;padding:0;margin:12px 0;background:linear-gradient(to right,#c6a15b var(--progress,0%),#384337 var(--progress,0%));border:0;border-radius:4px;cursor:pointer;accent-color:#c6a15b}
.audio-dock input[type=range]::-webkit-slider-thumb{appearance:none;width:11px;height:11px;border-radius:50%;background:#d6b477}
.audio-dock input[type=range]::-moz-range-thumb{width:11px;height:11px;border:0;border-radius:50%;background:#d6b477}
.audio-dock__meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;font:0.5625rem/1.6 var(--mono)}
.audio-dock__time{color:#b0b9aa;font-variant-numeric:tabular-nums}.audio-dock__note{color:#c6a15b}
.audio-dock__continue{color:#c6a15b;text-decoration:none;letter-spacing:.04em}.audio-dock__continue:hover{text-decoration:underline;text-underline-offset:3px}.audio-dock__note:empty{display:none}
.audio-dock input:disabled{opacity:.3;cursor:default}.audio-dock :focus-visible{outline:2px solid var(--paper);outline-offset:5px}
.audio-dock-open{padding-bottom:140px}
@keyframes dock-enter{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}
@media(max-width:700px){.audio-dock{bottom:12px;width:calc(100% - 24px);padding:14px;gap:12px;grid-template-columns:44px minmax(0,1fr) 42px 24px}.audio-dock__cover{width:44px;height:44px}.audio-dock__title{font-size:1.0625rem}.audio-dock__label{font-size:0.5rem}.audio-dock__play{width:40px;height:40px}.audio-dock__close{grid-column:4;grid-row:1}.audio-dock__transport{grid-column:1/-1;grid-row:2}.audio-dock .audio-dock__volume{display:none}.audio-dock-open{padding-bottom:170px}}
@media(prefers-reduced-motion:reduce){.audio-dock{animation:none}}
.archive-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:24px;text-transform:none;letter-spacing:normal;font:0.75rem var(--sans)}
.archive-pagination button:disabled{opacity:.35;cursor:default;transform:none}
.credit__title,.table-work>a{color:inherit;text-decoration:none}
.credit__title:hover,.table-work>a:hover{text-decoration:underline;text-underline-offset:4px}
.work-cover img{transition:transform .3s ease,filter .3s ease}
.work-cover:hover img,.work-cover:focus-visible img{transform:scale(1.035);filter:brightness(1.08)}
.site-shell{position:relative;width:100%;min-width:0;container-type:inline-size}
.music-open{--music-panel-width:25%;}
.music-open .site-shell{width:calc(100% - var(--music-panel-width))}
.music-panel{position:fixed;right:0;top:0;bottom:0;z-index:50;width:var(--music-panel-width,50%);background:#101411;color:var(--paper);border-left:1px solid var(--line);overflow-y:auto;animation:booking-enter .3s ease-out}
.music-panel iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#080a09}
.player-sources{display:flex;flex-wrap:wrap;gap:8px;padding:16px}
.player-sources button[aria-pressed="true"]{background:var(--paper);color:var(--ink)}
.player-sources button:disabled{opacity:.4;cursor:not-allowed}
.music-panel iframe.spotify-player{height:352px;aspect-ratio:auto}
.local-audio-panel{width:25%;min-width:260px;box-shadow:-16px 0 55px #0005}
.local-audio-panel .audio-artwork{display:block;width:calc(100% - 40px);aspect-ratio:1;object-fit:contain;margin:20px;background:#080a09}
.local-audio-panel audio{display:block;width:calc(100% - 32px);margin:16px}
@media(max-width:600px){.local-audio-panel{top:auto;bottom:0;width:100%;min-width:0;max-height:65dvh}.local-audio-panel .audio-artwork{width:110px;margin:16px auto}.local-audio-panel>p{margin:12px 16px}}
.music-panel>.filter-button{margin:0 24px}
.music-panel>p,.music-panel>a{display:block;margin:24px;font:0.875rem/1.6 var(--sans);color:#b1b9aa}
@container(max-width:760px){
 .site-header nav a:not(.nav-contact){display:none}
 .site-header{gap:12px;flex-wrap:wrap}
 .hero h1{font-size:calc(clamp(2rem,9cqw,4rem)*var(--edit-headingScale,1))}
 .profile{grid-template-columns:1fr;grid-template-areas:"lead" "portrait" "copy" "fact";gap:1.5rem}
 .profile__portrait{max-width:min(var(--edit-portraitSize,300px),70cqw);justify-self:start}
 .details-grid,.booking{grid-template-columns:1fr}
 .details-grid article,.details-grid article+article{padding:1.3rem 0 0}
 .section-heading{display:block}
 .section-heading__note{text-align:left;margin-top:1rem}
 .credits-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-footer{flex-wrap:wrap}
}
@media(max-width:520px){.music-open{--music-panel-width:50%}.music-panel .booking-drawer__bar{padding:10px;gap:8px;flex-wrap:wrap}.music-panel>p,.music-panel>a{margin:12px;font-size:0.75rem}.music-open .site-shell .site-header nav{display:none}.music-open .site-shell .wordmark>span:last-child{font-size:0.5625rem}.music-open .site-shell .hero{padding-left:12px;padding-right:12px}.music-open .site-shell .hero h1{font-size:1.6rem}.music-open .site-shell .archive-pagination{gap:6px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.music-panel{animation:none}.work-cover img{transition:none}.work-cover:hover img{transform:none}}
.hero{min-height:var(--edit-headerHeight,420px)}
.hero__image{object-position:var(--edit-headerImageX,50%) var(--edit-headerImageY,55%)}
.booking-open{overflow:hidden}
.booking-drawer{position:fixed;inset:0 0 0 auto;margin:0;padding:0;width:50vw;max-width:none;height:100dvh;max-height:none;border:0;border-left:1px solid var(--line);background:#141713;color:var(--paper);overflow:hidden;box-shadow:-20px 0 80px #0006}
.booking-drawer[open]{display:flex;flex-direction:column;animation:booking-enter .3s ease-out}
.booking-drawer::backdrop{background:#0006}
.booking-drawer__bar{display:flex;align-items:center;justify-content:flex-end;padding:16px 24px;border-bottom:1px solid var(--line);font:0.75rem var(--sans)}
.booking-drawer__bar button{background:none;color:inherit;border:1px solid var(--line);padding:8px 12px;font:inherit;cursor:pointer}
.booking-drawer iframe{display:block;flex:1;min-height:0;width:100%;border:0}
@keyframes booking-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:760px){.booking-drawer{width:100%}}
@media(prefers-reduced-motion:reduce){.booking-drawer[open]{animation:none}}
.profile__portrait{max-width:min(var(--edit-portraitSize,300px),32vw)}
.credits-section{container-type:inline-size}
.works-grid{grid-template-columns:repeat(var(--edit-cardColumns,4),minmax(0,1fr))}
.credits-table .table-scroll table{min-width:0;table-layout:fixed;width:100%;font-size:var(--edit-tableSize,0.75rem)}
.credits-table .table-scroll th,.credits-table .table-scroll td{overflow-wrap:anywhere;padding:clamp(4px,.65vw,var(--edit-tablePadding,8px)) clamp(3px,.5vw,7px)}
.credits-table .table-scroll th:first-child{width:38%}
.credits-table .table-work{min-width:0;gap:clamp(5px,1vw,12px)}
.credits-table .table-work>.work-cover{width:clamp(24px,5vw,var(--edit-thumbnailSize,40px));height:auto;min-width:0;flex:0 0 clamp(24px,5vw,var(--edit-thumbnailSize,40px))}
@container(max-width:1000px){.works-grid{grid-template-columns:repeat(min(4,var(--edit-cardColumns,4)),minmax(0,1fr))}}
@container(max-width:760px){.works-grid{grid-template-columns:repeat(min(3,var(--edit-cardColumns,4)),minmax(0,1fr))}}
@container(max-width:520px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:300px){.works-grid{grid-template-columns:1fr}}
@media(max-width:760px){.profile__portrait{max-width:min(var(--edit-portraitSize,300px),70vw)}}
