:root {
  color-scheme: light;
  --ink: #171818;
  --muted: #666966;
  --paper: #f5f4f0;
  --surface: #dedcd4;
  --line: #d2d0c8;
  --accent: #c54a32;
  --cobalt: #315f9a;
  --ochre: #c18b31;
  --teal: #005c5c;
  --night: #111212;
  --header-height: 4.75rem;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
.site-header { position: sticky; top: 0; z-index: 10; min-height: var(--header-height); padding: 0 4vw; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.15); background: rgba(17,18,18,.94); color: var(--paper); backdrop-filter: blur(14px); }
.artist-name { font: 600 clamp(1.25rem,2vw,1.6rem)/1 Georgia,"Times New Roman",serif; letter-spacing: .03em; text-decoration: none; }
nav { display: flex; align-items: center; gap: 1.6rem; }
nav a, .text-button { border: 0; padding: .55rem 0; background: none; color: inherit; font: inherit; font-size: 1rem; text-decoration: none; cursor: pointer; }
nav a:hover, .text-button:hover { color: var(--accent); }
nav a[aria-current="page"] { color: var(--ochre); }
main { min-height: 80vh; }
.home-hero { position: relative; min-height: calc(100vh - var(--header-height)); padding: clamp(4rem,8vw,8rem) 5vw clamp(6rem,10vw,9rem); display: grid; grid-template-columns: minmax(19rem,.9fr) minmax(28rem,1.1fr); align-items: center; gap: 7vw; overflow: hidden; background: var(--night); color: var(--paper); }
.home-hero-copy { position: relative; z-index: 2; }
.home-hero h1 { max-width: 10ch; margin: 0; font: 400 clamp(3.5rem,8vw,8rem)/.9 Georgia,"Times New Roman",serif; letter-spacing: -.05em; }
.home-hero-copy > p:last-child { max-width: 35rem; margin: 2rem 0 0; color: #bdbdb7; font-size: clamp(1.05rem,1.7vw,1.3rem); line-height: 1.6; }
.home-artwork { position: relative; min-height: min(70vh,48rem); isolation: isolate; }
.home-artwork::before { content: ""; position: absolute; inset: 7% 1% 6% 12%; z-index: -2; background: linear-gradient(135deg,var(--teal),var(--cobalt) 52%,var(--ochre)); opacity: .8; }
.home-artwork img { position: absolute; display: block; object-fit: contain; background: #1b1c1c; box-shadow: 0 2rem 5rem rgba(0,0,0,.46); }
.home-artwork img:nth-child(1) { left: 0; top: 7%; width: 59%; height: 43%; transform: rotate(-1.5deg); }
.home-artwork img:nth-child(2) { right: 0; top: 1%; width: 37%; height: 59%; transform: rotate(1.6deg); }
.home-artwork img:nth-child(3) { left: 7%; bottom: 0; width: 35%; height: 53%; transform: rotate(-1deg); }
.home-artwork img:nth-child(4) { right: 10%; bottom: 1%; width: 48%; height: 43%; transform: rotate(.8deg); }
.creative-paths { padding: clamp(5rem,10vw,10rem) 5vw; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2rem,4vw,5rem); background: var(--paper); }
.paths-introduction { grid-column: 1/-1; max-width: 58rem; margin-bottom: 1rem; }
.paths-introduction h2, .home-about h2, .sessions-framework h2, .sessions-empty h2 { margin: 0; font: 400 clamp(2.7rem,6vw,6rem)/.96 Georgia,"Times New Roman",serif; letter-spacing: -.035em; }
.path-card { min-width: 0; }
.path-card > a { height: 100%; display: grid; grid-template-rows: minmax(22rem,55vh) auto; background: #202120; color: var(--paper); text-decoration: none; }
.path-image { padding: clamp(1.5rem,4vw,4rem); display: grid; place-items: center; overflow: hidden; background: #191a19; }
.path-image img { width: 100%; height: 100%; object-fit: contain; transition: transform 500ms ease; }
.path-card > a:hover .path-image img { transform: scale(1.018); }
.path-copy { padding: clamp(1.75rem,3vw,3rem); border-top: .45rem solid var(--accent); }
.path-copy .path-number { margin: 0 0 2rem; color: #979994; font-size: .85rem; }
.path-copy h3 { margin: 0 0 1rem; font: 400 clamp(2.2rem,4vw,4rem)/1 Georgia,"Times New Roman",serif; }
.path-copy > p:not(.path-number) { max-width: 31rem; min-height: 3.4em; color: #bdbdb7; line-height: 1.65; }
.path-copy > span { display: inline-block; margin-top: 1rem; color: #fff; }
.path-sessions .path-copy { border-color: var(--teal); }
.session-visual { position: relative; overflow: hidden; background: var(--teal); }
.session-visual::before, .session-visual::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); }
.session-visual::before { width: 65%; aspect-ratio: 1; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.session-visual::after { width: 38%; aspect-ratio: 1; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.session-disc { position: absolute; width: clamp(10rem,22vw,20rem); aspect-ratio: 1; border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%,-50%); background: var(--night); box-shadow: 0 0 0 1rem rgba(255,255,255,.05),0 0 0 4rem rgba(255,255,255,.035); }
.session-disc::after { content: ""; position: absolute; width: 15%; aspect-ratio: 1; top: 50%; left: 50%; border-radius: 50%; transform: translate(-50%,-50%); background: var(--ochre); }
.session-line { position: absolute; width: 70%; height: 1px; top: 50%; left: 15%; background: rgba(255,255,255,.55); transform: rotate(-18deg); }
.session-pulse { position: absolute; inset: auto 8% 9%; height: 20%; background: repeating-linear-gradient(90deg,transparent 0 3%,rgba(255,255,255,.65) 3% 3.5%,transparent 3.5% 7%); clip-path: polygon(0 47%,7% 47%,10% 20%,14% 80%,18% 43%,25% 43%,28% 5%,32% 95%,36% 50%,43% 50%,47% 25%,51% 75%,55% 45%,64% 45%,68% 15%,72% 85%,76% 50%,100% 50%,100% 55%,0 55%); }
.observation-passage { position: relative; margin: 0; min-height: 76vh; overflow: hidden; background: #2d3231; }
.observation-passage img { width: 100%; height: 76vh; display: block; object-fit: cover; object-position: center 55%; filter: brightness(.92); }
.observation-passage::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(10,13,13,.72)); pointer-events: none; }
.observation-passage figcaption { position: absolute; z-index: 1; right: 6vw; bottom: clamp(2.5rem,6vw,6rem); max-width: 16ch; color: white; font: 400 clamp(2.1rem,5vw,5.5rem)/1 Georgia,"Times New Roman",serif; letter-spacing: -.035em; text-align: right; }
.home-about { padding: clamp(6rem,12vw,12rem) max(6vw,calc((100vw - 76rem)/2)); background: var(--teal); color: white; }
.home-about h2 { margin-bottom: 2.5rem; }
.home-about > p:last-child { max-width: 61rem; margin: 0; font: 400 clamp(1.5rem,3vw,2.35rem)/1.55 Georgia,"Times New Roman",serif; }
.home-about a { text-decoration-thickness: 1px; text-underline-offset: .18em; }
.home-contact { padding: clamp(3rem,6vw,5rem) 6vw; display: flex; align-items: center; justify-content: space-between; gap: 2rem; background: var(--ochre); color: var(--night); }
.home-contact p { margin: 0; font: 400 clamp(1.25rem,2.5vw,2rem)/1.3 Georgia,"Times New Roman",serif; }
.home-contact a { flex: none; border: 1px solid; border-radius: 999px; padding: .9rem 1.35rem; text-decoration: none; }
.sessions-hero { position: relative; min-height: calc(100vh - var(--header-height)); padding: clamp(5rem,10vw,10rem) 6vw; display: grid; grid-template-columns: 1.2fr .8fr; align-content: center; gap: 8vw; overflow: hidden; background: var(--night); color: var(--paper); }
.sessions-title-block, .sessions-introduction { position: relative; z-index: 2; }
.sessions-title-block h1 { max-width: 10ch; margin: 0; font: 400 clamp(4rem,10vw,10rem)/.87 Georgia,"Times New Roman",serif; letter-spacing: -.055em; }
.sessions-introduction { align-self: end; max-width: 33rem; padding-bottom: 1rem; color: #c4c5c0; font: 400 clamp(1.2rem,2.4vw,1.85rem)/1.5 Georgia,"Times New Roman",serif; }
.sound-field { position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-around; opacity: .22; pointer-events: none; }
.sound-field span { width: 1px; height: var(--bar); background: linear-gradient(transparent,var(--teal),var(--ochre),transparent); }
.sound-field span:nth-child(1),.sound-field span:nth-child(7) { --bar: 25%; }.sound-field span:nth-child(2),.sound-field span:nth-child(6) { --bar: 52%; }.sound-field span:nth-child(3),.sound-field span:nth-child(5) { --bar: 75%; }.sound-field span:nth-child(4) { --bar: 92%; }
.sessions-framework { padding: clamp(5rem,10vw,10rem) 6vw; display: grid; grid-template-columns: 1.1fr .9fr; gap: 10vw; background: var(--paper); }
.sessions-framework-copy { align-self: end; max-width: 40rem; font: 400 clamp(1.15rem,2vw,1.45rem)/1.7 Georgia,"Times New Roman",serif; }
.sessions-framework-copy p:first-child { margin-top: 0; }
.sessions-empty { padding: clamp(5rem,10vw,9rem) 6vw; display: grid; grid-template-columns: minmax(6rem,.3fr) 1.7fr; gap: 5vw; background: var(--teal); color: white; }
.empty-index { margin: .4rem 0 0; color: rgba(255,255,255,.6); }
.sessions-empty h2 { max-width: 14ch; }
.sessions-empty div > p:last-child { max-width: 38rem; margin-top: 2rem; color: rgba(255,255,255,.75); font-size: 1.1rem; line-height: 1.6; }
.era-navigation { padding: 1.25rem 6vw; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--night); }
.era-navigation a { padding: 1.35rem 1.5rem; display: flex; align-items: baseline; gap: 1rem; background: #202221; color: var(--paper); text-decoration: none; }
.era-navigation a:hover { background: var(--teal); color: white; }
.era-navigation span { color: var(--ochre); font-size: .75rem; font-weight: 700; letter-spacing: .12em; }
.session-eras { background: var(--night); color: var(--paper); }
.sessions-era { padding: clamp(5rem,9vw,9rem) 6vw; scroll-margin-top: var(--header-height); }
.sessions-era:nth-child(even) { background: #1c1e1d; }
.era-heading { margin-bottom: clamp(3rem,7vw,6rem); display: grid; grid-template-columns: minmax(8rem,.35fr) 1.65fr; align-items: end; gap: 4vw; border-bottom: 1px solid #484a48; }
.era-heading p { margin: 0 0 1.5rem; color: var(--ochre); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.era-heading h2 { max-width: 15ch; margin: 0 0 1.25rem; font: 400 clamp(3rem,7vw,7rem)/.92 Georgia,"Times New Roman",serif; letter-spacing: -.04em; }
.session-list { display: grid; gap: clamp(5rem,10vw,10rem); }
.session-card { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(18rem,.75fr); align-items: start; gap: clamp(2rem,5vw,6rem); }
.session-card:nth-child(even) { grid-template-columns: minmax(18rem,.75fr) minmax(0,1.25fr); }
.session-card:nth-child(even) .session-video-wrap { grid-column: 2; }
.session-card:nth-child(even) .session-card-copy { grid-column: 1; grid-row: 1; }
.session-video-wrap { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #050606; box-shadow: 0 2rem 5rem rgba(0,0,0,.3); }
.session-video-wrap::before { content: ""; position: absolute; inset: 0 auto 0 0; z-index: 1; width: .35rem; background: var(--teal); pointer-events: none; }
.session-video-wrap video { width: 100%; height: 100%; display: block; object-fit: contain; background: #050606; }
.session-card-copy { padding-top: .25rem; }
.session-accession { margin: 0 0 1rem; color: var(--ochre); font-size: .75rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.session-card h3 { margin: 0 0 2rem; font: 400 clamp(2.1rem,4vw,4rem)/1 Georgia,"Times New Roman",serif; letter-spacing: -.025em; }
.session-facts { margin-bottom: 1.5rem; }
.session-facts div { grid-template-columns: 6.5rem 1fr; border-color: #3f4140; }
.session-facts dt { color: #999c98; }
.session-facts dd { color: #deded9; line-height: 1.5; }
.session-narrative { color: #c1c2bd; font: 400 1.05rem/1.7 Georgia,"Times New Roman",serif; }
.session-rights { margin-top: 1.25rem; border-top: 1px solid #3f4140; border-bottom: 1px solid #3f4140; }
.session-rights summary { padding: 1rem 0; color: var(--paper); font-weight: 650; cursor: pointer; }
.session-rights summary::marker { color: var(--accent); }
.session-rights ol { margin: 0; padding: 0 0 .5rem; list-style: none; }
.session-rights li { padding: .8rem 0; border-top: 1px solid #313332; }
.session-rights li > div { display: flex; justify-content: space-between; gap: 1rem; }
.session-rights li p, .rights-note { margin: .4rem 0 0; color: #a9aaa6; font-size: .88rem; line-height: 1.55; }
.music-timing { color: var(--ochre); font-size: .8rem; }
.rights-note { margin: .75rem 0 1.25rem; font-style: italic; }
.introduction { position: relative; min-height: calc(100vh - var(--header-height)); padding: clamp(3rem,7vw,6rem) 5vw clamp(5rem,9vw,8rem); display: grid; grid-template-columns: minmax(18rem,.85fr) minmax(24rem,1.15fr); align-items: center; gap: 6vw; overflow: hidden; background: var(--night); color: var(--paper); }
.kicker { margin: 0 0 1.1rem; color: var(--accent); font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.introduction h1 { max-width: 10ch; margin: 0; font: 400 clamp(3rem,8vw,7.75rem)/.94 Georgia,"Times New Roman",serif; letter-spacing: -.045em; }
.introduction-copy { max-width: 39rem; margin: 2rem 0 0; color: #bdbdb7; font-size: clamp(1.05rem,1.8vw,1.35rem); line-height: 1.55; }
.hero-composition { position: relative; min-height: min(70vh,47rem); isolation: isolate; }
.hero-composition::before, .hero-composition::after { content: ""; position: absolute; z-index: -2; }
.hero-composition::before { width: 48%; height: 54%; top: 3%; right: 6%; background: var(--cobalt); }
.hero-composition::after { width: 40%; height: 37%; left: 8%; bottom: 3%; background: var(--ochre); }
.hero-composition img { position: absolute; display: block; padding: .55rem; object-fit: contain; background: #1c1d1d; box-shadow: 0 2rem 5rem rgba(0,0,0,.42); }
.hero-composition img:nth-child(1) { inset: 7% 22% 14% 0; width: 58%; height: 70%; border-top: .55rem solid var(--accent); }
.hero-composition img:nth-child(2) { top: 24%; right: 0; width: 49%; height: 56%; border-right: .55rem solid var(--teal); }
.hero-composition img:nth-child(3) { right: 18%; bottom: 0; width: 42%; height: 34%; border-bottom: .55rem solid var(--ochre); }
.color-rail { position: absolute; inset: auto 0 0; height: .55rem; display: grid; grid-template-columns: 2.4fr 1fr 1.5fr .65fr; }
.color-rail span:nth-child(1) { background: var(--accent); }
.color-rail span:nth-child(2) { background: var(--cobalt); }
.color-rail span:nth-child(3) { background: var(--ochre); }
.color-rail span:nth-child(4) { background: var(--teal); }
.works-section { padding: clamp(4rem,8vw,7rem) 4vw 9rem; background: #202120; color: var(--paper); }
.section-heading { margin-bottom: 2.25rem; display: flex; align-items: baseline; justify-content: space-between; border-bottom: 1px solid #484947; }
.section-heading h2 { margin: 0 0 1rem; font: 400 clamp(2rem,4vw,3.5rem)/1 Georgia,"Times New Roman",serif; }
.section-heading p { color: #a9aaa5; }
.gallery { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: clamp(2rem,4vw,4.5rem) clamp(1rem,2vw,2rem); }
.work-card { grid-column: span 4; }
.work-card:nth-child(7n + 1), .work-card:nth-child(7n + 5) { grid-column: span 6; }
.work-open { width: 100%; padding: 0; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; }
.image-frame { width: 100%; min-height: 15rem; aspect-ratio: 4/3; display: grid; place-items: center; overflow: hidden; border: 1px solid #383a38; background: #171818; box-shadow: 0 1.25rem 3rem rgba(0,0,0,.18); }
.image-frame img { width: 100%; height: 100%; object-fit: contain; transition: transform 450ms ease; }
.work-open:hover img { transform: scale(1.018); }
.work-open:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.card-information { padding: .9rem .1rem 0; display: flex; justify-content: space-between; gap: 1rem; }
.work-title { font: 400 1.2rem/1.25 Georgia,"Times New Roman",serif; }
.work-date { flex: none; color: #aaa; font-size: .9rem; line-height: 1.5; }
.loading { color: #aaa; }
body > footer { padding: 2.5rem 4vw; border-top: 1px solid #383a38; background: #202120; color: #aaa; font-size: .9rem; }
dialog { width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: var(--paper); color: var(--ink); }
dialog::backdrop { background: rgba(0,0,0,.65); }
.close-button { position: fixed; top: 1rem; right: 1rem; z-index: 3; border: 1px solid currentColor; border-radius: 999px; padding: .65rem 1rem; background: var(--paper); color: var(--ink); font: 600 .9rem/1 inherit; cursor: pointer; }
.artwork-dialog-layout { min-height: 100%; display: grid; grid-template-columns: minmax(0,2fr) minmax(20rem,.8fr); }
.artwork-stage { min-height: 100vh; padding: clamp(2rem,5vw,5rem); display: grid; place-items: center; background: #202120; }
.artwork-stage img { display: block; max-width: 100%; max-height: calc(100vh - 6rem); object-fit: contain; }
.artwork-information { padding: clamp(6rem,10vw,9rem) clamp(2rem,5vw,5rem) 4rem; overflow-y: auto; }
.artwork-information h2, .about-copy h2 { margin: 0 0 2rem; font: 400 clamp(2.4rem,5vw,4.5rem)/1 Georgia,"Times New Roman",serif; }
dl { margin: 0 0 2.5rem; }
dl div { padding: .75rem 0; display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; border-top: 1px solid var(--line); }
dt { color: var(--muted); }
dd { margin: 0; }
#dialog-description { font-size: 1.05rem; line-height: 1.65; }
.details-link, .download-link { display: inline-block; margin: 1.5rem 1.25rem 0 0; padding-bottom: .2rem; border-bottom: 1px solid; color: var(--accent); text-decoration: none; }
.copyright { margin-top: 3rem; color: var(--muted); font-size: .8rem; }
.about-dialog { background: #202120; color: var(--paper); }
.about-dialog .close-button { background: #202120; color: var(--paper); }
.about-copy { max-width: 52rem; margin: 0 auto; padding: clamp(7rem,15vw,12rem) 7vw; }
.about-copy p:not(.kicker) { font: 400 clamp(1.35rem,3vw,2rem)/1.5 Georgia,"Times New Roman",serif; }
.dark-header { position: relative; }
.record { background: var(--paper); }
.record-title-block { padding: clamp(5rem,10vw,9rem) 6vw clamp(3rem,6vw,5rem); background: var(--night); color: var(--paper); }
.record-title-block h1 { max-width: 13ch; margin: 0; font: 400 clamp(3.5rem,10vw,9rem)/.9 Georgia,"Times New Roman",serif; letter-spacing: -.05em; }
.record-title-block > p:last-child { margin: 2rem 0 0; color: #bdbdb7; font-size: 1.1rem; }
.record-artwork { min-height: 80vh; margin: 0; padding: clamp(2rem,6vw,7rem); display: grid; place-items: center; background: #252626; }
.record-artwork img { max-width: 100%; max-height: 82vh; object-fit: contain; box-shadow: 0 2rem 6rem rgba(0,0,0,.32); }
.record-body { padding: clamp(4rem,9vw,9rem) 6vw; display: grid; grid-template-columns: minmax(15rem,.7fr) minmax(20rem,1.3fr); gap: 9vw; }
.record-summary { align-self: start; position: sticky; top: 2rem; }
.record-summary dl { margin-top: 0; }
.record-narrative { max-width: 50rem; }
.record-section { margin-bottom: clamp(4rem,8vw,7rem); }
.record-section h2 { margin: 0 0 1.5rem; font: 400 clamp(2rem,4vw,3.75rem)/1.05 Georgia,"Times New Roman",serif; }
.prose { font: 400 clamp(1.15rem,2vw,1.45rem)/1.75 Georgia,"Times New Roman",serif; }
.prose p:first-child { margin-top: 0; }
.catalog-section dl div { grid-template-columns: minmax(8rem,.4fr) 1fr; padding: 1rem 0; }
.related-section ul { margin: 0; padding: 0; list-style: none; }
.related-section li { padding: 1rem 0; border-top: 1px solid var(--line); }
.related-section span { margin-left: 1rem; color: var(--muted); }
.record-footer { padding: 2.5rem 6vw; display: flex; justify-content: space-between; gap: 2rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; }
.record-footer a { color: var(--ink); }
.contact-page { background: var(--night); color: var(--paper); }
.contact-layout { min-height: calc(100vh - var(--header-height)); padding: clamp(4rem,9vw,8rem) 6vw; display: grid; grid-template-columns: .9fr 1.1fr; gap: 10vw; }
.contact-introduction h1 { max-width: 10ch; margin: 0 0 2rem; font: 400 clamp(3.4rem,8vw,7rem)/.92 Georgia,"Times New Roman",serif; letter-spacing: -.045em; }
.contact-introduction > p:last-child { max-width: 32rem; color: #bdbdb7; font-size: 1.15rem; line-height: 1.6; }
.contact-form { align-self: start; padding-top: 1rem; }
.contact-form label { display: block; margin-bottom: 1.5rem; }
.contact-form label span { display: block; margin-bottom: .55rem; color: #ccc; font-size: .9rem; }
.contact-form input, .contact-form textarea { width: 100%; border: 0; border-bottom: 1px solid #5d5e5d; border-radius: 0; padding: .7rem 0; background: transparent; color: white; font: 1rem/1.5 inherit; }
.contact-form textarea { border: 1px solid #5d5e5d; padding: 1rem; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { outline: 2px solid var(--accent); outline-offset: 4px; }
.contact-form button { border: 1px solid var(--paper); border-radius: 999px; padding: .9rem 1.4rem; background: var(--paper); color: var(--night); font: 700 1rem/1 inherit; cursor: pointer; }
.contact-form button:disabled { cursor: wait; opacity: .55; }
.cf-turnstile { min-height: 65px; margin: 0 0 1.5rem; }
.form-note, .form-status { max-width: 36rem; color: #aaa; font-size: .9rem; line-height: 1.5; }
.form-status { color: #e59a82; }
.form-status.success { color: #9fd6b4; }
.honeypot { position: absolute; left: -10000px; }
@media (max-width: 850px) {
  .site-header { align-items: flex-start; gap: 1rem; padding-block: 1rem; }
  nav { justify-content: flex-end; flex-wrap: wrap; }
  .home-hero, .sessions-hero { grid-template-columns: 1fr; }
  .home-artwork { min-height: 55vh; }
  .creative-paths, .sessions-framework { grid-template-columns: 1fr; }
  .session-card, .session-card:nth-child(even) { grid-template-columns: 1fr; }
  .session-card:nth-child(even) .session-video-wrap, .session-card:nth-child(even) .session-card-copy { grid-column: 1; }
  .session-card:nth-child(even) .session-video-wrap { grid-row: 1; }
  .session-card:nth-child(even) .session-card-copy { grid-row: 2; }
  .path-card > a { grid-template-rows: minmax(20rem,50vh) auto; }
  .introduction { grid-template-columns: 1fr; padding-top: 5rem; }
  .hero-composition { min-height: 55vh; }
  .work-card, .work-card:nth-child(7n + 1), .work-card:nth-child(7n + 5) { grid-column: span 6; }
  .artwork-dialog-layout { grid-template-columns: 1fr; }
  .artwork-stage { min-height: auto; height: 66vh; padding: 3rem 1rem 1rem; }
  .artwork-stage img { max-height: calc(66vh - 4rem); }
  .record-body, .contact-layout { grid-template-columns: 1fr; }
  .record-summary { position: static; }
}
@media (max-width: 560px) {
  .site-header { padding-inline: 1.15rem; }
  .artist-name { margin-top: .5rem; }
  nav { max-width: 15rem; gap: .35rem 1rem; }
  nav a, .text-button { font-size: .88rem; }
  .home-hero { padding-inline: 1.25rem; }
  .home-hero h1 { font-size: clamp(3.2rem,16vw,5rem); }
  .home-artwork { min-height: 28rem; }
  .creative-paths, .home-about, .sessions-hero, .sessions-framework, .sessions-empty { padding-inline: 1.25rem; }
  .path-card > a { grid-template-rows: 22rem auto; }
  .home-contact { align-items: flex-start; flex-direction: column; padding-inline: 1.25rem; }
  .observation-passage, .observation-passage img { min-height: 66vh; height: 66vh; }
  .observation-passage img { object-position: 58% center; }
  .observation-passage figcaption { right: 1.25rem; bottom: 1.75rem; max-width: 10ch; font-size: clamp(1.9rem,9.5vw,3rem); }
  .sessions-empty { grid-template-columns: 1fr; }
  .era-navigation { grid-template-columns: 1fr; padding-inline: 1.25rem; }
  .sessions-era { padding-inline: 1.25rem; }
  .era-heading { grid-template-columns: 1fr; }
  .era-heading p { margin-bottom: 0; }
  .introduction { padding-inline: 1.25rem; }
  .introduction h1 { font-size: clamp(3rem,15vw,5rem); }
  .hero-composition { min-height: 28rem; }
  .works-section { padding-inline: 1rem; }
  .gallery { gap: 2.75rem 1rem; }
  .work-card, .work-card:nth-child(7n + 1), .work-card:nth-child(7n + 5) { grid-column: span 12; }
  .image-frame { min-height: 12rem; }
  .section-heading { align-items: end; }
  .card-information { padding-inline: .15rem; }
  .record-artwork { min-height: 65vh; padding: 2rem 1rem; }
  .record-body, .contact-layout { padding-inline: 1.25rem; }
  .record-footer { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .image-frame img { transition: none; }
}
