.site-main--home{display:flex;min-height:calc(100vh - 3.7rem);flex-direction:column;padding-top:clamp(2rem,4vw,4.2rem);padding-bottom:clamp(1.8rem,4vw,4.2rem)}.home-intro{margin-bottom:clamp(1.3rem,2.6vw,2.4rem)}.home-intro .eyebrow{margin:0;color:var(--color-accent);font-family:var(--font-ui);font-size:.63rem;letter-spacing:.15em}.project-carousel{display:grid;flex:1;grid-template-rows:auto auto;align-content:start;outline:none}.carousel-stage{position:relative;align-self:center;width:100%;aspect-ratio:1918/798;overflow:hidden;border:1px solid var(--color-line);background:#101010}.carousel-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.1s ease;pointer-events:none}.carousel-slide.is-active{z-index:1;opacity:1;pointer-events:auto}.carousel-slide img{display:block;width:100%;height:100%;object-fit:cover}.carousel-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.4rem}.carousel-current{margin:0;color:var(--color-muted);font-family:var(--font-ui);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase}.carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.carousel-indicators{display:flex;gap:.36rem}.carousel-indicators button{width:1.1rem;height:.5rem;padding:0;border:0;border-bottom:1px solid var(--color-muted);background:transparent}.carousel-indicators button[aria-current="true"]{border-color:var(--color-accent)}@media(prefers-reduced-motion:reduce){.carousel-slide{transition:none}}@media(max-width:46rem){.site-main--home{min-height:auto;padding-top:2.2rem;padding-bottom:2.5rem}.home-intro{margin-bottom:1.4rem}.carousel-footer{align-items:center}.carousel-controls{width:auto;justify-content:flex-end}.carousel-indicators{gap:.28rem}.carousel-indicators button{width:.85rem}}
.site-main--projects{padding-top:clamp(2.7rem,6vw,6rem);padding-bottom:clamp(4rem,9vw,9rem)}.projects-intro{margin-bottom:clamp(2.5rem,6vw,6rem)}.projects-intro .eyebrow{margin:0 0 .85rem;color:var(--color-accent);font-family:var(--font-ui);font-size:.63rem;letter-spacing:.15em}.projects-intro h1{max-width:none;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(2.7rem,6vw,6rem);font-weight:500;letter-spacing:-.02em;line-height:.9}.project-catalogue{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:1.2rem clamp(.85rem,1.4vw,1.5rem)}.project-entry{min-width:0}.project-entry__artwork{aspect-ratio:3/4;margin:0;overflow:hidden}.project-entry__artwork img{display:block;width:100%;height:100%;object-fit:cover}.project-entry__title{margin:.8rem 0 0;color:var(--color-muted);font-family:var(--font-ui);font-size:.65rem;font-weight:500;letter-spacing:.1em;line-height:1.35;text-transform:uppercase}@media(max-width:64rem){.project-catalogue{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:46rem){.site-main--projects{padding-top:2.5rem}.projects-intro{margin-bottom:2.4rem}.project-catalogue{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem}.project-entry__title{font-size:.59rem}}
.site-main--listen{display:flex;min-height:calc(100vh - 3.7rem);flex-direction:column;justify-content:center;padding-top:clamp(2.4rem,5vw,4.4rem);padding-bottom:clamp(2.8rem,5vw,4.5rem)}.listen-intro{margin-bottom:clamp(1.1rem,2.2vw,1.8rem)}.listen-intro h1{max-width:none;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.3rem,2vw,1.7rem);font-weight:500;letter-spacing:.02em;line-height:1}.listening-player{--listen-artwork:none;position:relative;isolation:isolate;width:min(100%,65rem);margin:0}.listening-player::before{position:absolute;z-index:-2;inset:-1.5rem -2rem;content:"";background-image:var(--listen-artwork);background-position:center 38%;background-size:cover;filter:blur(12px);opacity:.48;transform:scale(1.025);transition:opacity .45s ease}.listening-player::after{position:absolute;z-index:-1;inset:-1.5rem -2rem;content:"";background:radial-gradient(ellipse at 25% 38%,rgb(8 9 10 / 30%),rgb(8 9 10 / 92%) 75%),linear-gradient(90deg,rgb(8 9 10 / 64%),rgb(8 9 10 / 90%));pointer-events:none}.listening-player__surface{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(17rem,.85fr);min-height:min(64vh,39rem);border:1px solid var(--color-line);background:rgb(9 10 11 / 83%);box-shadow:0 1.5rem 5rem rgb(0 0 0 / 38%);backdrop-filter:blur(8px)}.listen-console{display:flex;min-width:0;flex-direction:column;padding:clamp(1.3rem,3vw,2.7rem)}.listen-console__now-playing{margin:auto 0 1.8rem}.listen-console__position{margin:0 0 .8rem;color:var(--color-accent);font-family:var(--font-ui);font-size:.63rem;letter-spacing:.13em;text-transform:uppercase}.listen-console__title{max-width:23ch;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.6rem,3.4vw,3.1rem);font-weight:500;letter-spacing:-.025em;line-height:1.08;overflow-wrap:anywhere}.listen-console__creator{min-height:1.5em;margin:.7rem 0 0;color:var(--color-muted);font-family:var(--font-ui);font-size:.67rem;letter-spacing:.08em}.listen-console__creator a{color:inherit;text-decoration:none}.listen-console__creator a:hover{color:var(--color-accent)}.listen-transport{display:flex;align-items:center;gap:.65rem}.listen-transport__button{min-width:4rem;min-height:2.8rem;padding:.55rem .8rem;border:1px solid var(--color-line);background:transparent;color:var(--color-muted);font-family:var(--font-ui);font-size:.59rem;letter-spacing:.09em;text-transform:uppercase;transition:background-color .18s ease,color .18s ease,border-color .18s ease}.listen-transport__button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.listen-transport__button--primary{min-width:5rem;border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.listen-transport__button--primary:hover:not(:disabled){background:var(--color-accent-strong);color:var(--color-accent-contrast)}.listen-transport__button:disabled{cursor:not-allowed;opacity:.42}.listen-progress{margin-top:1.35rem}.listen-progress__range{display:block;width:100%;height:2rem;margin:0;accent-color:var(--color-accent);cursor:pointer}.listen-progress__range:disabled{cursor:not-allowed;opacity:.45}.listen-progress__time{display:flex;justify-content:space-between;color:var(--color-muted);font-family:var(--font-ui);font-size:.6rem;letter-spacing:.05em}.listen-attribution{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:clamp(1.6rem,4vw,3rem);padding-top:1rem;border-top:1px solid var(--color-line)}.listen-attribution__credit{margin:0;color:var(--color-muted);font-size:.7rem}.listen-attribution__links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.65rem 1rem}.listen-attribution__track,.listen-attribution__playlist{color:var(--color-muted);font-family:var(--font-ui);font-size:.57rem;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.listen-attribution__track:hover,.listen-attribution__playlist:hover{color:var(--color-accent)}.listen-attribution__brand{display:inline-flex;min-height:2rem;align-items:center}.listen-attribution__brand img{display:block;width:auto;height:1.25rem;max-width:9rem}.listen-status{min-height:1.25em;margin:.75rem 0 0;color:var(--color-muted);font-family:var(--font-ui);font-size:.57rem;letter-spacing:.04em}.listen-track-list{display:flex;min-width:0;flex-direction:column;padding:clamp(1.2rem,2.5vw,2rem);border-left:1px solid var(--color-line);background:rgb(8 9 10 / 36%)}.listen-track-list__heading{margin:0 0 .75rem;color:var(--color-muted);font-family:var(--font-ui);font-size:.62rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase}.listen-track-list__items{display:grid;max-height:clamp(19rem,56vh,34rem);gap:.12rem;overflow:auto;margin:0;padding:0;list-style:none;overscroll-behavior:contain}.listen-track-list__items li{min-width:0}.listen-track-list__items button{display:grid;width:100%;min-height:2.55rem;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.5rem;padding:.45rem .5rem;border:1px solid transparent;background:transparent;color:var(--color-muted);text-align:left}.listen-track-list__items button:hover{background:rgb(255 255 255 / 4%);color:var(--color-ink)}.listen-track-list__items button[aria-current="true"]{border-color:var(--color-line);background:rgb(228 185 57 / 8%);color:var(--color-ink)}.listen-track-list__number{color:#827e76;font-family:var(--font-ui);font-size:.58rem}.listen-track-list__items button[aria-current="true"] .listen-track-list__number{color:var(--color-accent)}.listen-track-list__name{min-width:0;font-size:.69rem;line-height:1.35;overflow-wrap:anywhere}.listen-widget-engine{position:absolute;top:0;left:-10000px;width:600px;height:166px;border:0;opacity:0;pointer-events:none;clip-path:inset(50%);overflow:hidden}.listen-fallback{margin:1rem 0 0;padding-left:.25rem}.listen-fallback a{color:var(--color-muted);font-family:var(--font-ui);font-size:.63rem;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.listen-fallback a:hover{color:var(--color-accent)}@media(max-width:60rem){.listening-player__surface{grid-template-columns:minmax(0,1fr) minmax(15rem,.85fr)}}@media(max-width:46rem){.site-main--listen{min-height:auto;padding-top:2.3rem;padding-bottom:3rem}.listen-intro{margin-bottom:1.25rem}.listening-player::before,.listening-player::after{inset:-.8rem -1rem}.listening-player__surface{grid-template-columns:minmax(0,1fr);min-height:0}.listen-console{padding:1.3rem}.listen-console__now-playing{margin:1rem 0 1.5rem}.listen-console__title{font-size:clamp(1.5rem,7vw,2.3rem)}.listen-transport{justify-content:space-between}.listen-transport__button{min-width:4.5rem;min-height:2.9rem}.listen-transport__button--primary{min-width:5.2rem}.listen-attribution{align-items:flex-start;flex-direction:column;gap:.7rem;margin-top:1.6rem}.listen-attribution__links{justify-content:flex-start}.listen-track-list{min-height:0;padding:1.15rem;border-top:1px solid var(--color-line);border-left:0}.listen-track-list__items{max-height:42vh}.listen-track-list__items button{min-height:2.8rem}.listen-status{margin-bottom:0}}
@media(max-width:46rem){.listening-player{overflow-x:clip}}
.listening-player::before{opacity:.72}
.listening-player::after{background:radial-gradient(ellipse at 25% 38%,rgb(8 9 10 / 20%),rgb(8 9 10 / 75%) 75%),linear-gradient(90deg,rgb(8 9 10 / 35%),rgb(8 9 10 / 70%))}
.listening-player__surface{background:rgb(9 10 11 / 52%)}
.listen-track-list{background:rgb(8 9 10 / 68%)}
@media(prefers-reduced-motion:reduce){.listening-player::before,.listen-transport__button{transition:none}}
.listen-platforms{width:min(100%,65rem);margin:1.15rem 0 0}
.listen-platforms__list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem clamp(1rem,4vw,3.4rem);margin:0;padding:0;list-style:none}
.listen-platforms__link{display:inline-flex;min-height:2.6rem;align-items:center;justify-content:center;gap:.55rem;padding:.35rem .55rem;color:var(--color-muted);font-family:var(--font-ui);font-size:.58rem;letter-spacing:.07em;text-decoration:none;text-transform:uppercase;transition:color .18s ease}
.listen-platforms__link:hover,.listen-platforms__link:focus-visible{color:var(--color-accent)}
.listen-platforms__link img{display:block;width:auto;height:1.15rem;max-width:2.25rem;object-fit:contain;opacity:.78;transition:opacity .18s ease,filter .18s ease}
.listen-platforms__link:not(.listen-platforms__link--amazon) img{filter:brightness(0) invert(1)}
.listen-platforms__link--amazon img{max-width:2rem}
.listen-platforms__link:hover img,.listen-platforms__link:focus-visible img{opacity:1}
.listen-platforms__link:focus-visible{outline:1px solid var(--color-accent);outline-offset:3px}
@media(max-width:46rem){.listen-platforms{margin-top:1rem}.listen-platforms__list{gap:.2rem .55rem}.listen-platforms__link{min-height:2.8rem;padding:.35rem .4rem;font-size:.53rem}}
@media(prefers-reduced-motion:reduce){.listen-platforms__link,.listen-platforms__link img{transition:none}}
.site-main--videos{display:flex;min-height:calc(100vh - 3.7rem);flex-direction:column;justify-content:center;padding-top:clamp(2.4rem,5vw,4.4rem);padding-bottom:clamp(2.8rem,5vw,4.5rem)}
.videos-intro{width:min(100%,65rem);margin:0 auto clamp(1.1rem,2.2vw,1.8rem)}
.videos-intro h1{max-width:none;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.3rem,2vw,1.7rem);font-weight:500;letter-spacing:.02em;line-height:1}
.videos-intro__description{max-width:64ch;margin:1rem 0 0;color:var(--color-muted);font-size:.88rem;line-height:1.7}
.video-player{position:relative;isolation:isolate;width:min(100%,65rem);margin:0 auto}
.video-player__backdrop{position:absolute;z-index:-2;inset:-1.5rem -2rem;overflow:hidden;pointer-events:none}
.video-player__backdrop-image{position:absolute;inset:0;background-position:center 38%;background-size:cover;filter:blur(12px);opacity:0;transform:scale(1.025);transition:opacity .55s ease}
.video-player__backdrop-image.is-active{opacity:.72}
.video-player__veil{position:absolute;z-index:-1;inset:-1.5rem -2rem;background:radial-gradient(ellipse at 25% 38%,rgb(8 9 10 / 20%),rgb(8 9 10 / 75%) 75%),linear-gradient(90deg,rgb(8 9 10 / 35%),rgb(8 9 10 / 70%));pointer-events:none}
.video-player__surface{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(17rem,.85fr);min-height:min(64vh,39rem);border:1px solid var(--color-line);background:rgb(9 10 11 / 52%);box-shadow:0 1.5rem 5rem rgb(0 0 0 / 38%);backdrop-filter:blur(8px)}
.video-console{display:flex;min-width:0;flex-direction:column;padding:clamp(1.3rem,3vw,2.7rem)}
.video-console__now-playing{margin:0 0 1rem}
.video-console__position{margin:0 0 .8rem;color:var(--color-accent);font-family:var(--font-ui);font-size:.63rem;letter-spacing:.13em}
.video-console__title{max-width:26ch;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.3rem,2.6vw,2.2rem);font-weight:500;letter-spacing:-.025em;line-height:1.08;overflow-wrap:anywhere}
.video-player__frame{aspect-ratio:16/9;overflow:hidden;border:1px solid var(--color-line);background:#090a0b}
.video-player__frame iframe{display:block;width:100%;height:100%;border:0}
.video-playlist{display:flex;min-width:0;flex-direction:column;padding:clamp(1.2rem,2.5vw,2rem);border-left:1px solid var(--color-line);background:rgb(8 9 10 / 68%)}
.video-playlist__heading{margin:0 0 .75rem;color:var(--color-muted);font-family:var(--font-ui);font-size:.62rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase}
.video-playlist__items{display:grid;max-height:clamp(19rem,56vh,34rem);gap:.12rem;overflow:auto;margin:0;padding:0;list-style:none;overscroll-behavior:contain}
.video-playlist__items li{min-width:0}
.video-playlist__item{display:grid;width:100%;min-height:4.7rem;grid-template-columns:4.4rem 1.7rem minmax(0,1fr);align-items:center;gap:.55rem;padding:.45rem .5rem;border:1px solid transparent;background:transparent;color:var(--color-muted);text-align:left;cursor:pointer}
.video-playlist__item:hover{background:rgb(255 255 255 / 4%);color:var(--color-ink)}
.video-playlist__item[aria-current="true"]{border-color:var(--color-line);background:rgb(228 185 57 / 8%);color:var(--color-ink)}
.video-playlist__item img{display:block;width:4.4rem;height:3.2rem;object-fit:cover;background:#111214}
.video-playlist__number{color:#827e76;font-family:var(--font-ui);font-size:.58rem}
.video-playlist__item[aria-current="true"] .video-playlist__number{color:var(--color-accent)}
.video-playlist__name{min-width:0;font-size:.69rem;line-height:1.35;overflow-wrap:anywhere}
.video-playlist__item:focus-visible{outline:1px solid var(--color-accent);outline-offset:-2px}
@media(max-width:60rem){.video-player__surface{grid-template-columns:minmax(0,1fr)}.video-playlist{min-height:0;border-top:1px solid var(--color-line);border-left:0}.video-playlist__items{max-height:42vh}}
@media(max-width:46rem){.site-main--videos{min-height:auto;padding-top:2.3rem;padding-bottom:3rem}.videos-intro{margin-bottom:1.25rem}.video-player__backdrop,.video-player__veil{inset:-.8rem -1rem}.video-player__surface{grid-template-columns:minmax(0,1fr);min-height:0}.video-console{padding:1.3rem}.video-console__title{font-size:clamp(1.3rem,6vw,2rem)}.video-playlist{min-height:0;padding:1.15rem;border-top:1px solid var(--color-line);border-left:0}.video-playlist__items{max-height:42vh}.video-playlist__item{min-height:4.8rem}.video-playlist__name{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.video-playlist__item,.video-player__backdrop-image{transition:none}}
.site-main--jajo{padding-top:clamp(2.8rem,6vw,6rem);padding-bottom:clamp(3.5rem,7vw,7rem)}
.jajo-intro{max-width:48rem;margin-bottom:clamp(2.3rem,5vw,4.5rem)}
.jajo-intro h1{margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.5rem);font-weight:500;letter-spacing:.025em;line-height:1.1}
.jajo-intro p{max-width:64ch;margin:1rem 0 0;color:var(--color-muted);font-size:.88rem;line-height:1.7}
.jajo-section{margin-top:clamp(2.8rem,5vw,4.8rem)}
.jajo-section__heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.1rem;padding-bottom:.7rem;border-bottom:1px solid var(--color-line)}
.jajo-section__heading h2{margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1rem,1.5vw,1.25rem);font-weight:500;letter-spacing:.04em;text-transform:uppercase}
.jajo-section__heading span{color:var(--color-muted);font-family:var(--font-ui);font-size:.58rem;letter-spacing:.12em}
.jajo-catalogue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.1rem,2vw,1.8rem);margin:0;padding:0;list-style:none}
.jajo-entry{min-width:0}
.jajo-entry__select{display:grid;width:100%;grid-template-columns:minmax(8rem,.76fr) minmax(0,1fr);align-items:stretch;gap:clamp(.9rem,1.8vw,1.5rem);padding:0;border:1px solid transparent;background:rgb(255 255 255 / 2%);color:inherit;text-align:left;transition:border-color .2s ease,background-color .2s ease}
.jajo-entry__select:hover,.jajo-entry__select[aria-pressed="true"]{border-color:rgb(228 185 57 / 48%);background:rgb(228 185 57 / 6%)}
.jajo-entry__select:focus-visible{outline:1px solid var(--color-accent);outline-offset:3px}
.jajo-entry__artwork{display:block;aspect-ratio:16/10;overflow:hidden;background:#101113}
.jajo-entry__artwork img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,opacity .2s ease}
.jajo-entry__select:hover .jajo-entry__artwork img{transform:scale(1.025)}
.jajo-entry__details{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;min-width:0;padding:.75rem .8rem .75rem 0}
.jajo-entry__number{grid-row:1 / span 2;color:#827e76;font-family:var(--font-ui);font-size:.59rem;letter-spacing:.1em}
.jajo-entry__select[aria-pressed="true"] .jajo-entry__number{color:var(--color-accent)}
.jajo-entry__title{display:block;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.1rem,1.8vw,1.6rem);font-weight:500;line-height:1.2;overflow-wrap:normal}
.jajo-entry__credit{display:block;margin-top:.45rem;color:var(--color-muted);font-family:var(--font-ui);font-size:.64rem;letter-spacing:.035em;line-height:1.5}
.jajo-player{display:grid;grid-template-columns:minmax(13rem,.55fr) minmax(0,1.45fr);align-items:center;gap:clamp(1.2rem,3vw,2.6rem);margin:0 0 clamp(2.8rem,5vw,4.8rem);padding:clamp(1rem,2.4vw,2rem);border:1px solid var(--color-line);background:rgb(9 10 11 / 70%);box-shadow:0 1.5rem 5rem rgb(0 0 0 / 30%)}
.jajo-player[hidden]{display:none}
.jajo-player__eyebrow{margin:0 0 .55rem;color:var(--color-accent);font-family:var(--font-ui);font-size:.59rem;letter-spacing:.13em;text-transform:uppercase}
.jajo-player__title{margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.3rem);font-weight:500;line-height:1.12}
.jajo-player__credit{margin:.65rem 0 0;color:var(--color-muted);font-size:.72rem}
.jajo-player__frame{aspect-ratio:16/9;overflow:hidden;border:1px solid var(--color-line);background:#090a0b;box-shadow:0 .8rem 2.5rem rgb(0 0 0 / 28%)}
.jajo-player__frame iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:56rem){.site-main--jajo{padding-top:2.6rem}.jajo-catalogue{grid-template-columns:minmax(0,1fr)}.jajo-player{grid-template-columns:minmax(0,1fr)}}
@media(max-width:38rem){.jajo-entry__select{grid-template-columns:minmax(7rem,.72fr) minmax(0,1fr);gap:.85rem}.jajo-entry__details{padding-right:.6rem}.jajo-entry__title{font-size:1.1rem}.jajo-entry__credit{font-size:.59rem}.jajo-section{margin-top:2.6rem}}
@media(prefers-reduced-motion:reduce){.jajo-entry__select,.jajo-entry__artwork img{transition:none}}
.site-main--contact{display:flex;min-height:calc(100vh - 3.7rem);flex-direction:column;justify-content:center;padding-top:clamp(2.4rem,5vw,4.4rem);padding-bottom:clamp(2.8rem,5vw,4.5rem)}
.contact-intro{width:min(100%,65rem);margin:0 auto clamp(1.1rem,2.2vw,1.8rem)}
.contact-intro h1{max-width:none;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.3rem,2vw,1.7rem);font-weight:500;letter-spacing:.02em;line-height:1}
.contact-intro p{max-width:64ch;margin:1rem 0 0;color:var(--color-muted);font-size:.88rem;line-height:1.7}
.contact-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(15rem,.75fr);width:min(100%,65rem);margin:0 auto;border:1px solid var(--color-line);background:rgb(9 10 11 / 72%);box-shadow:0 1.5rem 5rem rgb(0 0 0 / 38%);backdrop-filter:blur(8px)}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;padding:clamp(1.3rem,3vw,2.5rem)}
.contact-form__field{display:grid;min-width:0;gap:.5rem}
.contact-form__field label{color:var(--color-muted);font-family:var(--font-ui);font-size:.62rem;letter-spacing:.09em}
.contact-form__field input,.contact-form__field textarea{width:100%;min-width:0;padding:.8rem .85rem;border:1px solid var(--color-line);border-radius:0;background:rgb(0 0 0 / 22%);color:var(--color-ink);font-family:var(--font-ui);font-size:.83rem;line-height:1.5}
.contact-form__field input{min-height:2.9rem}
.contact-form__field textarea{min-height:9.5rem;resize:vertical}
.contact-form__field input:focus,.contact-form__field textarea:focus{border-color:var(--color-accent);outline:1px solid var(--color-accent);outline-offset:1px}
.contact-form__field--message,.contact-form__actions,.contact-form__status{grid-column:1 / -1}
.contact-form__actions{display:flex;align-items:center;gap:1rem}
.contact-form__submit{min-height:2.8rem;padding:.65rem 1.1rem;border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast);font-family:var(--font-ui);font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;transition:background-color .18s ease}
.contact-form__submit:hover{background:var(--color-accent-strong)}
.contact-form__notice,.contact-form__status{margin:0;color:var(--color-muted);font-size:.64rem;line-height:1.55}
.contact-form__status{min-height:1.5em;color:var(--color-accent)}
.contact-form__status[data-state="error"]{color:#ef8e82}
.contact-form__status[data-state="success"]{color:var(--color-accent)}
.contact-form__honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.contact-details{padding:clamp(1.3rem,3vw,2.5rem);border-left:1px solid var(--color-line);background:rgb(8 9 10 / 38%)}
.contact-details h2{margin:0 0 1.1rem;color:var(--color-muted);font-family:var(--font-ui);font-size:.62rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase}
.contact-details__email{color:var(--color-ink);font-size:clamp(.85rem,1.2vw,1rem);text-decoration:none;overflow-wrap:anywhere}
.contact-details__email:hover{color:var(--color-accent)}
.contact-details__socials{display:grid;gap:.2rem;margin:clamp(2rem,5vw,3.5rem) 0 0;padding:1rem 0 0;border-top:1px solid var(--color-line);list-style:none}
.contact-details__socials a{display:inline-flex;min-height:2.35rem;align-items:center;color:var(--color-muted);font-family:var(--font-ui);font-size:.63rem;letter-spacing:.06em;text-decoration:none;transition:color .18s ease}
.contact-details__socials a:hover{color:var(--color-accent)}
@media(max-width:52rem){.site-main--contact{min-height:auto;padding-top:2.5rem;padding-bottom:3rem}.contact-panel{grid-template-columns:minmax(0,1fr)}.contact-details{border-top:1px solid var(--color-line);border-left:0}.contact-details__socials{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.5rem}}
@media(max-width:36rem){.contact-form{grid-template-columns:minmax(0,1fr);gap:1rem;padding:1.2rem}.contact-form__field--message,.contact-form__actions,.contact-form__status{grid-column:auto}.contact-form__actions{align-items:flex-start;flex-direction:column}.contact-details{padding:1.2rem}.contact-details__socials{gap:.3rem}}
@media(prefers-reduced-motion:reduce){.contact-form__submit,.contact-details__socials a{transition:none}}
.site-main--about{padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:clamp(4rem,8vw,8rem)}
.about-intro{margin-bottom:clamp(1.8rem,3vw,2.8rem)}
.about-intro h1{margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.5rem);font-weight:500;letter-spacing:.01em;line-height:1.1}
.about-biography{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,.92fr);column-gap:clamp(2rem,5vw,5rem);row-gap:clamp(3.5rem,7vw,7rem)}
.about-biography__row{display:grid;grid-column:1 / -1;grid-template-columns:inherit;column-gap:inherit;align-items:center}
.about-image{min-width:0;margin:0;overflow:hidden;background:var(--color-surface)}
.about-image img,.about-gallery img{display:block;width:100%;height:100%;object-fit:cover}
.about-opening__image{aspect-ratio:1.55/1}
.about-copy{max-width:43rem;color:var(--color-muted);font-size:clamp(.9rem,1.1vw,1rem);line-height:1.82}
.about-copy p{margin:0 0 1.2em}
.about-copy p:last-child{margin-bottom:0}
.about-copy__lead{color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.05rem,1.45vw,1.35rem);line-height:1.62}
.about-practice__image,.about-work__image{aspect-ratio:1.5/1}
.about-practice__copy,.about-work__copy{max-width:43rem;padding-block:1rem}

.about-gallery-section{margin-top:clamp(3.5rem,7vw,7rem)}
.about-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.8rem);margin:0}
.about-gallery__item{min-width:0;margin:0;overflow:hidden;background:var(--color-surface)}
.about-gallery__item img{display:block;width:100%;height:100%;object-fit:cover}
.about-gallery--equipment{grid-auto-rows:clamp(9rem,16vw,17rem)}
.about-gallery--equipment .about-gallery__item{aspect-ratio:4/3}
.about-gallery--equipment .about-gallery__item:nth-child(n+10){aspect-ratio:1/1}
.about-gallery--equipment .about-gallery__item:nth-child(12){aspect-ratio:4/3}
.about-gallery--portraits{width:min(100%,52rem);grid-template-columns:.73fr .51fr 1fr;align-items:start;column-gap:clamp(3rem,5vw,6rem);margin:clamp(1rem,2vw,1.8rem) auto 0}
.about-gallery--portraits .about-gallery__item{min-width:0}
.about-gallery--portraits .about-gallery__item img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:64rem){.about-biography{grid-template-columns:minmax(0,1fr) minmax(17rem,.85fr);column-gap:2.5rem}.about-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:48rem){.site-main--about{padding-top:2.4rem;padding-bottom:4rem}.about-biography{grid-template-columns:minmax(0,1fr);row-gap:1.5rem}.about-biography__row{grid-template-columns:minmax(0,1fr);row-gap:1.5rem}.about-opening__image{aspect-ratio:1.5/1}.about-practice__copy,.about-work__copy{max-width:42rem;padding:0}.about-gallery-section{margin-top:3.5rem}.about-gallery--equipment{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(8rem,38vw,13rem);gap:.8rem}.about-gallery--equipment .about-gallery__item:nth-child(n+10){aspect-ratio:4/3}.about-gallery--portraits{grid-template-columns:.73fr .51fr 1fr;column-gap:clamp(.5rem,2vw,1rem)}}
.project-entry__link{display:block;height:100%;outline-offset:4px}.project-entry__link:focus-visible{outline:1px solid var(--color-accent)}.project-entry__link img{transition:transform .35s ease}.project-entry__link:hover img,.project-entry__link:focus-visible img{transform:scale(1.025)}
.site-main--projects [data-project-id="the-magic-spade"] .project-entry__artwork img{object-position:50% 35%}
.site-main--project{padding-top:clamp(2.2rem,5vw,5rem);padding-bottom:clamp(3rem,7vw,7rem)}.project-detail{display:grid;grid-template-columns:minmax(14rem,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(2rem,6vw,6rem);width:min(100%,70rem);margin:0 auto}.project-detail__artwork{display:block;width:100%;height:auto;max-height:75vh;object-fit:contain;object-position:top;border:1px solid var(--color-line);background:#111}.project-detail__content{min-width:0;padding-top:clamp(.4rem,2vw,1.6rem)}.project-detail__title{max-width:20ch;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(2.2rem,5vw,4.6rem);font-weight:500;letter-spacing:-.02em;line-height:1.02;overflow-wrap:anywhere}.project-detail__year{margin:.8rem 0 0;color:var(--color-accent);font-family:var(--font-ui);font-size:.72rem;letter-spacing:.12em}.project-detail__credits{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.45rem 1.25rem;margin:1.7rem 0 0;padding-top:1.2rem;border-top:1px solid var(--color-line);color:var(--color-muted);font-size:.83rem;line-height:1.5}.project-detail__credits dt{font-family:var(--font-ui);font-size:.62rem;letter-spacing:.09em;text-transform:uppercase}.project-detail__credits dd{margin:0}.project-detail__soundtrack{margin-top:clamp(2rem,5vw,4rem)}.project-detail__soundtrack h2{margin:0 0 .8rem;color:var(--color-muted);font-family:var(--font-ui);font-size:.65rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase}.project-detail__soundtrack iframe{display:block;width:100%;height:clamp(9rem,22vw,15rem);border:1px solid var(--color-line);background:#111}.project-detail__not-found{margin:0;color:var(--color-muted);font-family:var(--font-ui);font-size:.8rem}.project-detail__not-found a{color:var(--color-ink)}@media(max-width:46rem){.site-main--project{padding-top:1.5rem}.project-detail{grid-template-columns:minmax(0,1fr);gap:1.5rem}.project-detail__artwork{width:min(100%,23rem);max-height:65vh;margin:0 auto}.project-detail__content{padding-top:0}.project-detail__title{font-size:clamp(2rem,10vw,3.2rem)}.project-detail__credits{grid-template-columns:minmax(0,1fr);gap:.15rem;margin-top:1.2rem}.project-detail__credits dd{margin:0 0 .7rem}.project-detail__soundtrack{margin-top:1.8rem}.project-detail__soundtrack iframe{height:11rem}}@media(prefers-reduced-motion:reduce){.project-detail__artwork,.project-entry__link img{transition:none}}
.project-detail__soundtrack iframe.project-detail__player--tracklist{height:28rem;max-height:72vh;min-height:20rem}@media(max-width:46rem){.project-detail__soundtrack iframe.project-detail__player--tracklist{height:28rem;max-height:72vh;min-height:20rem}}
