@font-face {
  font-family:Archive Sans;
  src:local("Space Grotesk"),local("Arial");
  font-display:swap;
}

@font-face {
  font-family:Archive Mono;
  src:local("DM Mono"),local("Courier New");
  font-display:swap;
}

:root {
  color-scheme:dark;
  --bg:#101010;
  --panel:#191818;
  --ink:#e9e7df;
  --muted:#aaa59f;
  --line:#393535;
  --red:#e17b70;
  --sans:"Archive Sans",Arial,Helvetica,sans-serif;
  --mono:"Archive Mono","Courier New",monospace;
  --gutter:clamp(20px,5vw,88px);
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:30px;
}

body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

button,input,textarea {
  font:inherit;
}

button,a,input,textarea,summary {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
}

a {
  color:inherit;
  text-decoration:none;
}

a:hover {
  color:var(--red);
}

a,button {
  touch-action:manipulation;
}

h1,h2,h3,h4,p {
  margin:0;
}

h1,h2,h3,h4 {
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.04em;
}

h2 {
  font-size:clamp(30px,4vw,54px);
}

h3 {
  font-size:26px;
}

h4 {
  font-size:18px;
  letter-spacing:-.01em;
}

p+p {
  margin-top:14px;
}

::selection {
  background:var(--red);
  color:var(--bg);
}

:focus-visible {
  outline:2px solid var(--red);
  outline-offset:6px;
}

main {
  max-width:1800px;
  margin:0 auto;
  padding:0 var(--gutter);
}

.accent {
  color:var(--red);
}

.muted {
  color:var(--muted);
}

.small {
  font-size:13px;
}

.eyebrow {
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.13em;
  text-transform:uppercase;
  line-height:1.6;
  font-weight:400;
}

.badge {
  font-family:var(--mono);
  font-size:12px;
  color:var(--muted);
  border:1px solid var(--line);
  padding:4px 9px;
  line-height:1.5;
}

.status-dot {
  display:inline-block;
  width:6px;
  height:6px;
  background:var(--red);
  border-radius:50%;
  margin-right:8px;
  flex-shrink:0;
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.skip-link {
  position:fixed;
  top:10px;
  left:10px;
  z-index:20;
  background:var(--ink);
  color:var(--bg);
  padding:12px;
  transform:translateY(-160%);
}

.skip-link:focus {
  transform:translateY(0);
}

.site-header {
  max-width:1800px;
  margin:auto;
  min-height:88px;
  padding:20px var(--gutter);
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;
  border-bottom:1px solid var(--line);
}

.brand {
  font-size:30px;
  font-weight:700;
  letter-spacing:-3px;
  line-height:1;
}

.brand span {
  color:var(--red);
  margin-left:5px;
}

.header-caption {
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.14em;
}

.site-header nav {
  width:100%;
  display:flex;
  flex-wrap:wrap;
  gap:2px 24px;
}

.site-header nav a {
  font-size:12px;
  padding:10px 0;
  position:relative;
}

.site-header nav a[aria-current] {
  color:var(--red);
}

.site-header nav a[aria-current]:after {
  content:"";
  position:absolute;
  bottom:3px;
  left:0;
  width:100%;
  height:1px;
  background:var(--red);
}

.menu-toggle {
  margin-left:auto;
  background:none;
  border:1px solid var(--line);
  padding:9px 14px;
  color:var(--ink);
  font-size:12px;
}

.menu-toggle[hidden] {
  display:none;
}

.menu-toggle span {
  padding-left:12px;
}

.enhanced .site-header nav {
  display:none;
}

.enhanced .site-header nav.is-open {
  display:flex;
}

.hero {
  padding:33px 0 48px;
}

.hero-top {
  display:flex;
  justify-content:space-between;
  gap:20px;
}

.hero-top>.eyebrow:last-child {
  display:none;
}

.hero .wordmark {
  font-size:clamp(60px,15vw,245px);
  line-height:1.08;
  font-weight:600;
  letter-spacing:-.07em;
  white-space:nowrap;
  margin:32px 0 20px;
  position:relative;
}

.wordmark-dot {
  color:var(--red);
}

.hero-bottom {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
}

.hero-bottom p {
  font-size:clamp(15px,1.6vw,22px);
  line-height:1.4;
  letter-spacing:-.02em;
}

.scroll-link {
  font-family:var(--mono);
  font-size:12px;
  white-space:nowrap;
}

.scroll-link span {
  display:inline-block;
  margin-left:12px;
  font-size:20px;
}

.current-section {
  border-top:1px solid var(--line);
  padding:20px 0 60px;
}

.section-top,.card-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:20px;
}

.current-layout {
  display:grid;
  gap:35px;
}

.artwork {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}

.placeholder {
  position:relative;
  overflow:hidden;
  background:#24251f;
  background-image:radial-gradient(ellipse at 63% 20%,#73776726,transparent 55%),linear-gradient(140deg,#383b31,#1c1e19 48%,#353b31);
  isolation:isolate;
}

.placeholder:after {
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,#00000018 4px);
  pointer-events:none;
  z-index:3;
  opacity:.5;
}

.aperture {
  position:absolute;
  inset:-20% 25% -35% 28%;
  border:clamp(30px,6vw,90px) solid #c5c6ad38;
  box-shadow:0 0 50px #b2b49520,inset 0 0 30px #0008;
  border-radius:50%;
  transform:rotate(35deg);
  filter:blur(12px);
  opacity:.65;
}

.cross {
  position:absolute;
  color:#b4b7a6;
  font:16px var(--mono);
  z-index:4;
}

.cross-a {
  left:20px;
  top:16px;
}

.cross-b {
  right:20px;
  bottom:16px;
}

.placeholder-caption {
  position:absolute;
  bottom:21px;
  left:22px;
  font:12px var(--mono);
  letter-spacing:.15em;
  color:#c1c4b5;
  z-index:5;
}

.hero-art-link {
  position:relative;
  display:block;
}

.hero-art {
  aspect-ratio:1.25;
}

.image-index {
  position:absolute;
  left:25px;
  top:30px;
  font-size:clamp(100px,18vw,245px);
  line-height:1;
  letter-spacing:-.075em;
  color:#e1e4cc;
  mix-blend-mode:screen;
  font-weight:400;
  opacity:.85;
}

.image-note {
  display:block;
  font:12px var(--mono);
  color:var(--muted);
  padding:12px 0 0;
  letter-spacing:.04em;
}

.current-copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.inline-meta {
  display:flex;
  align-items:center;
  margin-bottom:24px;
}

.current-copy h2 {
  font-size:clamp(46px,5.8vw,82px);
  margin-bottom:22px;
}

.chapter-description {
  font-size:15px;
  color:var(--muted);
  max-width:410px;
}

.release-reference {
  border-left:1px solid var(--line);
  padding:0 0 0 20px;
  margin:30px 0;
}

.release-reference h3 {
  font-size:24px;
  margin:10px 0;
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  min-height:48px;
  background:var(--ink);
  color:var(--bg);
  border:1px solid var(--ink);
  padding:13px 20px;
  font-size:12px;
  line-height:1.5;
  transition:background .15s,color .15s;
}

.button:hover {
  background:var(--red);
  border-color:var(--red);
  color:var(--bg);
}

.button>span {
  font-size:18px;
}

.quiet-link {
  font-size:12px;
  margin-top:20px;
  padding:6px 0;
}

.quiet-link span {
  margin-left:12px;
}

.text-link {
  font-size:12px;
  display:inline-flex;
  align-items:center;
  gap:18px;
  min-height:44px;
}

.text-link span {
  font-size:18px;
}

.archive-section {
  padding:44px 0 55px;
  border-top:1px solid var(--line);
}

.section-heading {
  display:flex;
  flex-direction:column;
  gap:22px;
  margin-bottom:34px;
}

.section-heading h2 {
  margin-top:16px;
}

.section-heading>p {
  font-size:13px;
}

.chapter-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.chapter-cell {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:108px;
  padding:15px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  transition:background .15s;
}

.chapter-cell>span:first-child {
  font-size:25px;
  line-height:1.2;
}

.chapter-cell .chapter-state {
  font:8px var(--mono);
  letter-spacing:.04em;
  color:var(--muted);
  text-transform:uppercase;
  margin-top:20px;
}

.chapter-cell.is-current {
  background:var(--red);
  color:var(--bg);
}

.chapter-cell.is-current .chapter-state {
  color:var(--bg);
}

.chapter-cell:hover {
  background:var(--panel);
}

.chapter-cell.is-current:hover {
  background:#e78c7b;
  color:var(--bg);
}

.chapter-arrow {
  position:absolute;
  right:12px;
  top:13px;
  font-size:14px;
  opacity:0;
}

.chapter-cell:hover .chapter-arrow,.chapter-cell:focus-visible .chapter-arrow,.chapter-cell.is-current .chapter-arrow {
  opacity:1;
}

.archive-key {
  display:flex;
  flex-wrap:wrap;
  gap:14px 24px;
  margin-top:18px;
  font:12px var(--mono);
  color:var(--muted);
}

.archive-key>span {
  display:flex;
  align-items:center;
  gap:7px;
}

.archive-key>span:last-child {
  margin-left:auto;
}

.archive-key i {
  width:6px;
  height:6px;
  background:var(--line);
}

.archive-key i.key-current {
  background:var(--red);
}

.visual-entry {
  display:grid;
  gap:30px;
  border-top:1px solid var(--line);
  padding:45px 0;
}

.visual-entry h2 {
  margin:20px 0;
}

.visual-entry>div>p.muted {
  font-size:14px;
  max-width:300px;
  margin-bottom:20px;
}

.film-art {
  aspect-ratio:16/9;
  background-image:radial-gradient(ellipse at 20% 45%,#70423b80,transparent 65%),linear-gradient(145deg,#34382f,#1c1c1a);
}

.film-art .aperture {
  border-radius:0;
  inset:0 40% -40% 45%;
  transform:rotate(-30deg);
  filter:blur(22px);
  border-color:#b8897330;
}

.video-card .card-meta {
  margin:18px 0 10px;
}

.video-card h3 {
  margin-bottom:12px;
}

.video-card>p {
  font-size:13px;
}

.closing-note {
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
  padding:40px 0 50px;
}

.asterisk {
  color:var(--red);
  font-size:60px;
  line-height:1;
}

.closing-note>p {
  font-size:19px;
  line-height:1.4;
  letter-spacing:-.03em;
}

.closing-note>a {
  margin-left:auto;
}

.site-footer {
  max-width:1800px;
  margin:20px auto 0;
  border-top:1px solid var(--line);
  padding:38px var(--gutter);
  display:flex;
  flex-direction:column;
  gap:25px;
}

.footer-brand {
  font-size:27px;
  font-weight:600;
  letter-spacing:-.05em;
}

.footer-brand p {
  font-size:11px;
  color:var(--muted);
  font-weight:400;
  letter-spacing:0;
  margin-top:8px;
}

.footer-end {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}

.footer-end>a {
  font-size:12px;
}

.footer-end .eyebrow {
  color:var(--muted);
  font-size:12px;
}

.page-heading {
  padding:60px 0 45px;
  border-bottom:1px solid var(--line);
  margin-bottom:35px;
}

.page-heading h1 {
  font-size:clamp(45px,7.2vw,104px);
  line-height:1.05;
  max-width:1150px;
  margin:26px 0 25px;
}

.intro {
  color:var(--muted);
  font-size:15px;
  max-width:590px;
  line-height:1.8;
}

.release-list {
  padding-bottom:20px;
}

.release {
  display:grid;
  gap:25px;
  padding:8px 0 40px;
  margin-bottom:40px;
  border-bottom:1px solid var(--line);
}

.release:last-child {
  border:0;
  margin-bottom:0;
}

.release-cover {
  position:relative;
}

.release-art {
  aspect-ratio:1;
}

.cover-number {
  position:absolute;
  top:20px;
  left:25px;
  font-size:95px;
  line-height:1.1;
  letter-spacing:-.08em;
  color:#dbdfc9;
}

.release:nth-child(2) .release-art {
  background:#302521;
}

.release:nth-child(3) .release-art {
  background:#20282b;
}

.release-body h2 {
  margin:18px 0 20px;
  font-size:clamp(33px,4vw,55px);
}

.release-body>p {
  font-size:14px;
}

.act-list {
  padding:0;
  margin:28px 0;
  list-style:none;
}

.act-list li {
  border-top:1px solid var(--line);
  padding:13px 0;
  display:flex;
  gap:25px;
  align-items:center;
  font-size:13px;
}

.act-list .eyebrow {
  color:var(--red);
  min-width:55px;
}

.track-list {
  padding:0;
  margin:30px 0 0;
  list-style:none;
}

.track-list li {
  padding:20px 0;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:20px;
}

.track-list h4 {
  margin-bottom:8px;
}

.track-symbol {
  margin-left:auto;
  color:var(--muted);
}

audio {
  display:block;
  max-width:100%;
  margin-top:15px;
}

.video-grid {
  display:grid;
  gap:36px;
  padding:0 0 45px;
}

.editorial-note {
  border-top:1px solid var(--line);
  padding:30px 0 50px;
  display:grid;
  gap:20px;
}

.editorial-note>p:last-child {
  font-size:23px;
  max-width:440px;
  letter-spacing:-.03em;
}

.embed-slot {
  margin:20px 0;
}

.embed-slot>p {
  margin-top:10px;
}

.media-frame {
  border:0;
  width:100%;
  aspect-ratio:16/9;
}

.media-frame.portrait {
  aspect-ratio:9/16;
  max-width:400px;
}

.shelved-layout {
  display:grid;
  gap:35px;
  margin-bottom:70px;
}

.shelved-stamp {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:280px;
  aspect-ratio:1.4;
  font-size:clamp(85px,12vw,180px);
  line-height:1;
  letter-spacing:-.075em;
  color:var(--red);
  border:1px solid var(--line);
  background:repeating-linear-gradient(135deg,transparent 0,transparent 20px,#e9e7df03 21px,#e9e7df03 22px);
}

.shelved-stamp>span {
  font:12px var(--mono);
  letter-spacing:.18em;
  margin-top:25px;
}

.shelved-copy h2 {
  margin:20px 0;
}

.game-note {
  margin-top:35px;
  padding:18px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.game-note summary {
  cursor:pointer;
  font-size:13px;
}

.game-note .badge {
  margin-left:15px;
}

.game-note p {
  font-size:14px;
  margin-top:18px;
}

.portfolio-layout {
  display:grid;
  gap:40px;
  padding-bottom:60px;
}

.portfolio-placeholder>.artwork {
  aspect-ratio:1.7;
}

.portfolio-placeholder>div:last-child {
  padding-top:25px;
}

.portfolio-placeholder h2 {
  font-size:30px;
  margin:15px 0;
}

.portfolio-placeholder p.muted {
  font-size:14px;
  max-width:420px;
}

.services ul,.service-list {
  padding:0;
  margin:25px 0 35px;
  list-style:none;
}

.services li {
  font-size:14px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}

.portfolio-card {
  margin-bottom:35px;
}

.portfolio-card>h2 {
  margin:15px 0;
}

.inquiry-layout {
  display:grid;
  gap:35px;
  padding:5px 0 65px;
}

.service-list li {
  font-size:15px;
  margin:8px 0;
}

.form-notice {
  border-left:2px solid var(--red);
  padding-left:20px;
  max-width:350px;
}

.form-notice h2 {
  font-size:21px;
  margin-bottom:13px;
}

.form-notice p {
  font-size:13px;
  color:var(--muted);
}

form>label,.form-row>label {
  display:block;
  font-size:12px;
}

label>span {
  color:var(--muted);
  font-size:12px;
}

input,textarea {
  display:block;
  width:100%;
  border:0;
  border-bottom:1px solid #66695e;
  border-radius:0;
  background:var(--panel);
  color:var(--ink);
  padding:13px 15px;
  margin-top:9px;
  min-height:48px;
  font-size:14px;
}

input::placeholder,textarea::placeholder {
  color:var(--muted);
  opacity:.8;
}

textarea {
  resize:vertical;
}

.form-row {
  display:grid;
  gap:24px;
}

form>label,form>.form-row {
  margin-bottom:26px;
}

form>.button {
  margin:4px 0 18px;
  width:100%;
}

.chapter-breadcrumb {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:25px;
}

.chapter-breadcrumb+.page-heading {
  padding-top:25px;
}

.chapter-detail {
  display:grid;
  gap:35px;
  margin-bottom:45px;
}

.detail-art {
  aspect-ratio:1.5;
}

dl {
  margin:20px 0;
}

dl>div {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:15px 0;
  border-top:1px solid var(--line);
  font-size:12px;
}

dt {
  color:var(--muted);
}

dd {
  margin:0;
  text-align:right;
}

dd .text-link {
  min-height:0;
}

.connected {
  padding:25px 0;
  border-top:1px solid var(--line);
  margin:20px 0;
}

.connected h3,.connected h4 {
  margin-bottom:15px;
}

.chapter-pagination {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid var(--line);
  padding:25px 0 40px;
}

@media(min-width:600px) {
  .hero-top>.eyebrow:last-child {
    display:block;
  }
  .chapter-grid {
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .chapter-cell {
    min-height:120px;
  }
  .form-row {
    grid-template-columns:1fr 1fr;
  }
  .site-footer {
    flex-direction:row;
    justify-content:space-between;
  }
  .footer-end {
    align-items:flex-end;
  }
  .hero {
    padding-bottom:55px;
  }
  .hero .wordmark {
    margin:20px 0;
  }
  .site-header nav {
    gap:28px;
  }
  .video-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .video-grid>.video-card:only-child {
    grid-column:1/-1;
    max-width:850px;
  }
}

@media(min-width:900px) {
  .site-header {
    flex-wrap:nowrap;
    min-height:90px;
  }
  .site-header nav,.enhanced .site-header nav {
    display:flex;
    width:auto;
    margin-left:auto;
    flex-wrap:nowrap;
  }
  .menu-toggle,.enhanced .menu-toggle {
    display:none;
  }
  .header-caption {
    margin-left:15px;
  }
  .hero {
    padding-top:34px;
  }
  .hero-bottom {
    padding-right:5px;
  }
  .current-layout {
    grid-template-columns:1.3fr 1fr;
    gap:clamp(45px,7vw,110px);
  }
  .hero-art {
    aspect-ratio:1.4;
  }
  .current-copy {
    padding:15px 0;
  }
  .current-copy h2 {
    margin-bottom:20px;
  }
  .current-section {
    padding-bottom:70px;
  }
  .section-heading {
    flex-direction:row;
    align-items:flex-end;
    justify-content:space-between;
  }
  .chapter-cell {
    min-height:135px;
    padding:20px;
  }
  .chapter-cell>span:first-child {
    font-size:32px;
  }
  .chapter-cell .chapter-state {
    font-size:12px;
  }
  .chapter-arrow {
    top:20px;
    right:20px;
  }
  .archive-section {
    padding:55px 0 65px;
  }
  .visual-entry {
    grid-template-columns:1fr 1.25fr;
    gap:80px;
    padding:60px 0;
  }
  .visual-entry>div {
    padding-top:15px;
  }
  .closing-note {
    padding:45px 0 60px;
  }
  .release {
    grid-template-columns:minmax(240px,.8fr) 1.3fr;
    gap:clamp(40px,8vw,120px);
    padding-bottom:55px;
    margin-bottom:55px;
  }
  .release-body {
    padding-top:12px;
  }
  .release-art {
    max-height:500px;
  }
  .editorial-note {
    grid-template-columns:1fr 1fr;
    padding:40px 0 60px;
  }
  .shelved-layout {
    grid-template-columns:1.1fr 1fr;
    gap:70px;
    align-items:center;
  }
  .portfolio-layout {
    grid-template-columns:1.65fr 1fr;
    gap:90px;
  }
  .services {
    padding-top:10px;
  }
  .inquiry-layout {
    grid-template-columns:.85fr 1.3fr;
    gap:clamp(45px,8vw,120px);
  }
  form>.button {
    width:auto;
  }
  .chapter-detail {
    grid-template-columns:1.6fr 1fr;
    gap:70px;
  }
  .page-heading {
    padding-top:70px;
    margin-bottom:45px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important;
  }
}

/* A calendar entry is a release; only narrative releases carry chapter numbers. */
.book-group {
  margin: 32px 0 42px;
}
.book-title {
  color: var(--red);
  margin-bottom: 16px;
}
.release-calendar {
  padding: 0;
  margin: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}
.calendar-entry {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px 20px;
  padding: 20px 12px;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.calendar-entry time, .calendar-type, .calendar-marker {
  font: 10px var(--mono);
  color: var(--muted);
}
.calendar-type {
  text-align: right;
}
.calendar-title {
  font-size: 21px;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
.calendar-marker {
  text-align: right;
}
.calendar-entry.is-current {
  border-left: 2px solid var(--red);
  background: var(--panel);
}
.calendar-entry.is-current .calendar-marker {
  color: var(--red);
}
.calendar-entry:hover {
  background: var(--panel);
}
.narrative-text {
  white-space: pre-line;
  max-width: 70ch;
}
.chapter-pagination {
  gap: 24px;
}
.chapter-pagination > a {
  min-width: 0;
}
@media (min-width: 900px) {
  .calendar-entry {
    grid-template-columns: 170px 150px minmax(0, 1fr) 80px;
    padding: 24px 18px;
  }
  .calendar-type {
    text-align: left;
  }
  .calendar-title {
    font-size: 26px;
  }
}


/* Sites edition: editorial typography, explicit empty media, and book navigation. */
.site-header nav a,.menu-toggle,.button,.quiet-link,.text-link,.footer-end>a,
form>label,.form-row>label,dl>div {font-size:.875rem}
.chapter-description,.intro,.form-notice p,.portfolio-placeholder p.muted,
.visual-entry>div>p.muted,.release-body>p,.video-card>p,.service-list li {font-size:1rem}
input,textarea {font-size:1rem}
.small,.badge,.calendar-entry time,.calendar-type,.calendar-marker {font-size:.8125rem}
.hero .wordmark {font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.065em;font-size:clamp(3.25rem,14.7vw,15rem);line-height:1.12}
.current-copy h2,.page-heading h1,.section-heading h2 {font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}
.hero-bottom p {font-size:1rem}
.placeholder,.film-art {background:#191818;background-image:none;border:1px solid var(--line)}
.placeholder:after {background:repeating-linear-gradient(0deg,transparent,transparent 3px,#ffffff06 4px);opacity:.35}
.placeholder-center {position:absolute;inset:0;display:grid;place-items:center;font:clamp(1.4rem,4vw,3.5rem) Georgia,serif;letter-spacing:.06em;color:#8e827b}
.image-index {font-family:Georgia,serif;font-size:clamp(4rem,8vw,8rem);top:34px;left:28px;color:#e9e7df;opacity:.9}
.hero-art .placeholder-center {inset:30% 0 0}
.artwork:not(.placeholder) {object-fit:contain;background:var(--panel)}
.book-index {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:30px 0 40px}
.book-index a {display:flex;flex-direction:column;gap:10px;padding:20px 14px;border-right:1px solid var(--line);font: .75rem var(--mono);letter-spacing:.06em;min-height:88px}
.book-index a:last-child {border:0}
.book-index a span {font:1.75rem Georgia,serif;color:var(--red)}
.book-index a:hover {background:var(--panel)}
.book-title {scroll-margin-top:30px}
.calendar-entry {min-width:0}
.chapter-pagination a {overflow-wrap:anywhere}
@media(min-width:900px){.calendar-entry{grid-template-columns:210px 155px minmax(0,1fr) 90px}.hero-art{aspect-ratio:1.6}.current-layout{gap:5vw}.current-copy h2{font-size:clamp(3rem,5.6vw,5rem)}}
@media(max-width:599px){.hero-bottom{align-items:flex-start;flex-direction:column;gap:16px}.hero{padding-bottom:30px}.hero .wordmark{margin:24px 0}.book-index{grid-template-columns:repeat(3,minmax(0,1fr))}.book-index a{border-bottom:1px solid var(--line);padding:16px 10px}.book-index a:nth-child(3){border-right:0}.book-index a:nth-child(n+4){border-bottom:0}.calendar-entry{padding:18px 4px;gap:10px}.calendar-entry time,.calendar-type{font-size:.75rem}.section-top{align-items:flex-start}.section-top .eyebrow{font-size:.75rem}.header-caption{font-size:.75rem}.chapter-pagination{align-items:flex-start}.chapter-pagination a{max-width:48%}.current-copy h2{font-size:3rem}.site-header nav a{min-height:44px}.hero-art{aspect-ratio:1.4}}

.cinematic-hero {position:relative;isolation:isolate;margin:24px 0 40px;padding:30px 28px 36px;min-height:470px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid var(--line)}
.hero-background,.hero-video,.hero-shade {position:absolute;inset:0;z-index:-3}
.hero-background .hero-poster {height:100%;width:100%;aspect-ratio:auto;border:0;background:#211d1d}
.hero-background .placeholder-center,.hero-background .placeholder-caption,.hero-background .cross {display:none}
.hero-video {z-index:-2;opacity:0;transition:opacity .8s}
.hero-video.is-playing {opacity:1}
.hero-video iframe {width:100%;height:100%;border:0;pointer-events:none}
.hero-shade {z-index:-1;background:linear-gradient(180deg,#0008,#0003 40%,#000c)}
.hero .wordmark {font-size:clamp(3rem,13vw,13.8rem);margin:52px 0 36px}
.hero-media-note {font:.75rem var(--mono);letter-spacing:.12em;color:var(--muted);position:absolute;top:65px;left:28px}
.hero-motion {background:#151515;color:var(--ink);border:1px solid var(--line);padding:10px 14px;position:absolute;top:66px;right:28px;min-height:44px;font-size:.875rem}
@media(max-width:599px){.cinematic-hero{margin:18px 0 30px;min-height:420px;padding:22px 16px 26px}.hero-media-note{left:16px;top:66px;font-size:.75rem}.hero .wordmark{font-size:12vw;margin:100px 0 24px}.hero-motion{top:86px;right:16px}.hero-top .eyebrow{font-size:.75rem;letter-spacing:.05em}}

/* Refined shared cinematic composition. */
main {max-width:none;padding:0}
main > :not(.cinematic-hero) {margin-left:auto;margin-right:auto;width:calc(100% - 2 * var(--gutter));max-width:1624px}
.site-header {position:absolute;top:0;left:0;right:0;z-index:10;max-width:none;background:transparent;border:0;padding:28px var(--gutter);min-height:90px;align-items:center}
.site-header .brand {font:1.85rem Georgia,serif;letter-spacing:-.06em;white-space:nowrap}
.brand-text {text-transform:none}
.cinematic-hero {width:100%;height:100vh;min-height:100svh;margin:0 0 54px;padding:150px var(--gutter) 38px;border:0;position:relative;display:flex;justify-content:flex-end;gap:64px;overflow:hidden;isolation:isolate;container-type:size}
.hero-background .hero-poster {background:#211e1e}
.hero-background .hero-poster:not(.placeholder) {object-fit:cover}
.hero-content {width:100%;position:relative}
.hero .wordmark {font:400 clamp(5rem,17vw,18rem)/1 Georgia,serif;letter-spacing:-.065em;margin:24px 0 40px;white-space:normal}
.hero-page-title {font:400 clamp(3.5rem,10vw,10rem)/1.05 Georgia,serif;letter-spacing:-.055em;margin:24px 0 30px;max-width:1100px;overflow-wrap:anywhere}
.hero-description {max-width:590px;color:var(--ink);font-size:1rem}
.hero-bottom {display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:24px;position:relative}
.hero-media-note {top:125px;left:var(--gutter);font:.75rem var(--mono);color:var(--muted)}
.hero-motion {top:112px;right:var(--gutter)}
.hero-video iframe {position:absolute;top:50%;left:50%;width:100%;height:56.25vw;min-width:177.778vh;min-height:100%;transform:translate(-50%,-50%);border:0}
@supports(width:1cqw){.hero-video iframe{width:max(100cqw,177.778cqh);height:max(100cqh,56.25cqw);min-width:0;min-height:0}}
.hero-shade {background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.12) 35%,rgba(0,0,0,.75))}
.section-label,.previously-section>h2 {font:400 1.5rem Georgia,serif;letter-spacing:-.03em;text-transform:none}
.current-section {padding-top:26px}
.current-copy h2 {font-size:clamp(2.6rem,6.4vw,6rem);overflow-wrap:anywhere}
.previously-section {border-top:1px solid var(--line);padding:36px 0 55px;display:grid;grid-template-columns:1fr 1.5fr;gap:30px}
.previously-section h3 {margin-bottom:16px}
.content-anchor {height:0;scroll-margin-top:28px}
.about-section {padding:30px 0 70px}
.about-section h2 {margin-bottom:24px}
.about-section a {margin:20px 24px 0 0}
.footer-links {display:flex;gap:24px;flex-wrap:wrap}
.placeholder-center {text-transform:none}
@media(max-width:899px){.site-header{padding:22px var(--gutter)}.enhanced .site-header nav.is-open{background:rgba(16,16,16,.96);padding:16px;gap:8px 24px}.site-header nav a{min-height:44px}.hero .wordmark{font-size:19vw}.hero-page-title{font-size:clamp(3rem,10vw,6rem)}}
@media(max-width:599px){.cinematic-hero{height:100vh;min-height:100svh;margin:0 0 36px;padding:160px var(--gutter) 30px;gap:45px}.hero .wordmark{font-size:21vw;margin:24px 0 18px}.hero-media-note{top:112px;left:var(--gutter)}.hero-content>.eyebrow{font-size:.75rem}.hero-bottom{align-items:flex-start}.hero-bottom>.eyebrow{max-width:190px;font-size:.75rem}.hero-motion{top:144px}.previously-section{grid-template-columns:1fr;gap:18px}.current-copy h2{font-size:2.8rem}.site-header .brand{font-size:1.8rem}}
@media(max-height:600px) and (min-width:600px){.cinematic-hero{height:auto;min-height:100svh;padding-top:160px}.hero .wordmark{font-size:15vw}}

.site-header .brand {display:block;width:140px;height:140px;flex-shrink:0}
.official-logo {display:block;width:100%;height:100%;object-fit:contain}
.site-header {padding-top:0;padding-bottom:0;align-items:center}
.hero-media-note {top:158px}
.hero-motion {top:158px}
@media(max-width:899px){.site-header .brand{width:112px;height:112px}.site-header{gap:0 20px}.hero-media-note{top:130px}.hero-motion{top:158px}}

.book-index {grid-template-columns:repeat(6,minmax(0,1fr))}
.archive-introduction {padding:30px 0 45px;max-width:900px!important}.archive-introduction h2{font-family:Georgia,serif;margin-top:30px}
.music-records {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px}
.music-record {padding:30px 0;border-top:1px solid var(--line)}.music-record h2{font:2.6rem Georgia,serif;margin:16px 0}.music-record time{color:var(--muted)}
.narrative-record .narrative-text,.connected>.narrative-text{margin-top:22px;font-size:1.125rem;line-height:1.9;max-width:65ch}
.arcana-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:35px}.arcana-cards article{border:1px solid var(--line);padding:30px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between}.arcana-cards h3{font-family:Georgia,serif}
.tone-intimate{--panel:#231e1a;--line:#4a3b32;--muted:#b7a79a}.tone-intimate .hero-background .hero-poster{background:#31271f}
.tone-greyscale{--red:#bebebe}.tone-greyscale .hero-background .hero-poster{background:#252525}
.tone-procedural{--line:#414951;--muted:#a5b2bd}.tone-procedural .hero-background .hero-poster{background:#17232b}.tone-procedural .hero-page-title{font-family:var(--mono);font-size:clamp(3rem,8vw,8rem)}.tone-procedural dl{font-family:var(--mono)}
.sealed-record{padding:45px 0}.sealed-record h2{margin:15px 0}.tone-hollow .hero-background .hero-poster{background:#080808}
@media(max-width:650px){.music-records{grid-template-columns:1fr;gap:15px}.arcana-cards{grid-template-columns:1fr}.arcana-cards article{min-height:180px}.book-index{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Homepage-only local background film; existing overlay and content stay above it. */
.hero-local-video {position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}

/* Shared transparent mark with the established header geometry. */
.site-header {min-height:140px}
.site-header .brand {height:auto;background:none;border:0;box-shadow:none}
.site-header .official-logo {height:auto}
@media(max-width:899px){.site-header{min-height:112px}}

/* Editorial Home introduction, related to the release-title serif. */
.home-hero-description {font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.125rem,1rem + .4vw,1.375rem);font-weight:400;line-height:1.6;letter-spacing:0;text-transform:none}

.greyscale-visual {position:relative;aspect-ratio:4 / 3;overflow:hidden;background:center / cover no-repeat url("/media/greyscale-poster.jpg")}
.greyscale-visual video {display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.greyscale-card-visual {position:relative;overflow:hidden;background:center / cover no-repeat url("/media/greyscale-poster.jpg")}
.greyscale-card-visual video {display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}

/* In-page music/video controls retain the compact editorial tracklist. */
.inline-player { margin-top:8px; width:100%; }
.inline-player summary { cursor:pointer; width:fit-content; list-style:none; }
.inline-player summary::-webkit-details-marker { display:none; }
.inline-player summary:hover { color:var(--red); }
.inline-player[open] summary { color:var(--red); }
.inline-player[open] .inline-player-surface { margin:12px 0 18px; }
.inline-media-frame { display:block; width:100%; border:0; aspect-ratio:16/9; min-height:200px; }
.inline-player[data-provider="Spotify"] .inline-media-frame { height:152px; min-height:152px; aspect-ratio:auto; border-radius:12px; }
.inline-player[data-portrait="true"] .inline-media-frame { aspect-ratio:9/16; max-width:360px; }
.track-list li > div { flex:1; min-width:0; }
@media (max-width:480px) {
  .track-list li { gap:12px; }
  .track-list li:has(.inline-player[open]) .track-symbol { display:none; }
}

/* Supplied release artwork keeps its natural landscape proportions in content. */
img.artwork:not(.hero-poster) {
  height:auto;
  aspect-ratio:auto;
  align-self:start;
  object-fit:contain;
  background:transparent;
}

/* Commission intake */
.hire-actions{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 60px}.button-outline{background:transparent;border:1px solid currentColor}.hire-services,.hire-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:0 0 70px}.hire-services article{border-top:1px solid var(--muted);padding-top:25px}.hire-services h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.15;margin:22px 0}.hire-services p,.hire-process p{color:var(--muted);line-height:1.7}.hire-approach{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--muted);border-bottom:1px solid var(--muted);padding:40px 0;margin-bottom:60px}.hire-approach h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.1;margin:20px 0}.hire-approach>p{align-self:center;line-height:1.8}.hire-process{grid-template-columns:repeat(4,minmax(0,1fr))}.hire-process h3{margin:18px 0;font-size:1.2rem}#project-intake{scroll-margin-top:100px}#project-intake aside h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.12}#project-intake aside p{max-width:350px;line-height:1.7}select{display:block;width:100%;background:var(--panel);color:var(--ink);border:0;border-bottom:1px solid #66695e;padding:13px;margin-top:9px;min-height:48px;font:inherit}.rights-check{display:flex;align-items:flex-start;gap:12px}.rights-check input{width:20px;min-height:20px;flex-shrink:0;margin:0}.rights-check span{font-size:14px}.upload-pending{opacity:.65}.intake-frame{width:100%;min-height:1600px;border:0;background:var(--panel)}.inquiry-copy{border:0;padding:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
@media(max-width:760px){.hire-services,.hire-process,.hire-approach{grid-template-columns:1fr}.hire-services,.hire-process{gap:26px;margin-bottom:45px}.hire-approach{gap:10px}.hire-actions .button{width:100%}}

.portfolio-card>img.artwork{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover}.portfolio-card{padding-bottom:42px;margin-bottom:42px;border-bottom:1px solid var(--muted)}.portfolio-credit{color:var(--muted)}.portfolio-direct{display:inline-block;margin:14px 0}.portfolio-card>p.muted{max-width:65ch;line-height:1.7}

.hollow-record>h2{font-size:clamp(2.3rem,5vw,4.8rem);line-height:1.08;max-width:16ch;margin:20px 0 32px}.hollow-opening{max-width:70ch;font-family:Georgia,serif;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.8}.hollow-opening p{margin:0 0 22px}.hollow-bridge{border-left:2px solid var(--red);padding:6px 24px;margin:44px 0;max-width:70ch}.hollow-record h3{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;margin:16px 0 22px}.hollow-personas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 42px;margin:28px 0 50px}.hollow-personas article{border-top:1px solid var(--muted);padding-top:18px}.hollow-personas h4{font:400 1.8rem Georgia,serif;margin:14px 0}.hollow-personas article>p:last-child{line-height:1.75;color:var(--muted);max-width:55ch}.hollow-rules dl{margin:25px 0 50px}.hollow-rules dl>div{display:grid;grid-template-columns:170px 1fr;gap:28px;border-top:1px solid var(--muted);padding:20px 0}.hollow-rules dt{font:400 1.15rem Georgia,serif}.hollow-rules dd{margin:0;line-height:1.7;max-width:65ch;color:var(--muted)}.hollow-dossier{border-top:1px solid var(--muted);padding:22px 0}.hollow-dossier:last-child{border-bottom:1px solid var(--muted)}.hollow-dossier summary{cursor:pointer;font-size:1.05rem;line-height:1.6}.hollow-dossier summary span{display:inline-block;margin-left:16px;font-size:.75rem;color:var(--muted)}.hollow-dossier>div{padding:15px 0;max-width:78ch}.hollow-dossier p{line-height:1.75}.hollow-timeline{padding:0;list-style:none;margin:28px 0}.hollow-timeline li{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--muted);padding:15px 0}.hollow-timeline h4{font:400 1.2rem Georgia,serif;margin:0 0 6px}.hollow-timeline p{margin:0;font-size:.8rem;color:var(--muted)}.hollow-timeline li>span{font-size:.85rem;white-space:nowrap;color:var(--muted)}
@media(max-width:650px){.hollow-personas{grid-template-columns:1fr;gap:16px}.hollow-rules dl>div{grid-template-columns:1fr;gap:12px}.hollow-dossier summary span{display:block;margin:5px 0}.hollow-timeline li{flex-direction:column;gap:8px}}

.hollow-life-portrait{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin-bottom:22px;border:1px solid #66695e}.hollow-other-grails>p{max-width:65ch;line-height:1.7}

.release-video-section{border-top:1px solid var(--muted);padding:32px 0 45px}.release-video-section>h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:16px 0}.video-release-meta{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin:0 0 26px;color:var(--muted);font-size:.85rem}.video-direct{display:block;margin-top:15px}.release-film{min-width:0}

.youtube-thumbnail{object-fit:contain;background:#111;aspect-ratio:16/9}.video-caption{line-height:1.7;margin:16px 0 24px}.shorts-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:28px 0}.shorts-grid .youtube-thumbnail{aspect-ratio:3/4}.shorts-grid h3{font-size:1.15rem}@media(max-width:800px){.shorts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.shorts-grid{grid-template-columns:1fr}}

.greyscale-story{max-width:1000px}.greyscale-story>h2{font-size:clamp(2rem,4vw,3.5rem)}.greyscale-reading{padding:26px 0;border-top:1px solid var(--muted);margin-top:28px}.greyscale-story p{max-width:760px;line-height:1.8}.greyscale-story-part{padding:32px 0;border-top:1px solid var(--muted)}.greyscale-story-part h3{font-size:clamp(1.5rem,3vw,2.2rem)}.greyscale-story-links{display:flex;flex-wrap:wrap;gap:20px}

.chapter-story{max-width:1000px}.chapter-story p{max-width:760px;line-height:1.8}.chapter-song-journey article{padding:28px 0;border-top:1px solid var(--muted)}.chapter-song-journey{margin-top:30px}.chapter-song-journey h3{font-size:clamp(1.4rem,3vw,2rem)}.chapter-story-bridge{padding:24px 0;border-top:1px solid var(--muted)}

.visitor-counter {display:block;margin-top:12px;font-variant-numeric:tabular-nums}

.track-cover {display:block;width:min(100%,360px);height:auto;margin:12px 0;aspect-ratio:4/3;object-fit:contain}

.video-caption {white-space:pre-line;overflow-wrap:anywhere}
