/* Shared editorial layout for the expanded ASP site. */
.skip-link{position:fixed;z-index:100;top:-5rem;left:1rem;padding:1rem;background:var(--gold);color:var(--ink)}.skip-link:focus{top:1rem}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.site-header{background:rgba(7,7,6,.93);backdrop-filter:blur(14px)}.site-nav{gap:clamp(1rem,2vw,2rem)}.site-nav a{font-size:.875rem;letter-spacing:.06em;white-space:nowrap}.site-nav [aria-current=page]{color:var(--gold)}
.inner-page main{padding-top:6rem}.page-intro{width:min(88%,1240px);margin:auto;padding:5rem 0 4rem}.page-intro h1{font-size:clamp(3.2rem,7vw,7rem);max-width:1000px}.eyebrow{font-size:.875rem;line-height:1.5;letter-spacing:.16em}
.page-lead,.section-lead{max-width:40rem;color:var(--muted);font-size:1.0625rem;line-height:1.8}.page-lead{margin:2rem 0 0}.section-lead{margin:1.75rem 0 0}
.text-link{font-size:.875rem;line-height:1.6;letter-spacing:.06em}.button{font-size:.875rem;line-height:1.5}.section{padding:clamp(4rem,8vw,7rem) 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}.section-heading h2,.home-project h2,.home-pupo h2{font-size:clamp(3.2rem,6vw,6rem)}
.home-project{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center;border-top:1px solid var(--line)}.portrait-pair{display:grid;grid-template-columns:1fr .65fr;gap:1rem;align-items:end}.portrait-pair img{width:100%;height:auto}.portrait-pair img+img{margin-bottom:-2rem}.home-project>div:last-child{padding-bottom:1rem}
.home-photo-grid{display:grid;grid-template-columns:1fr .8fr 1.2fr;gap:1.5rem;align-items:center}.home-photo-grid img{width:100%;height:auto;transition:filter .3s}.home-photo-grid a:hover img{filter:brightness(1.12)}
.home-stories,.home-gallery,.home-pupo{border-top:1px solid var(--line)}.story-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,6vw,6rem)}.story-card img{width:100%;aspect-ratio:1.25;object-fit:cover;object-position:center 35%;margin-bottom:2rem}.story-card h2{font:400 clamp(2.2rem,4vw,3.5rem)/1.12 var(--serif);color:var(--paper)}.story-card p:not(.eyebrow){color:var(--muted);font-size:1rem;line-height:1.7;max-width:32rem}.story-card a{display:block}.story-card .text-link{margin-top:.75rem}.stories-list{padding-top:0}
.pupo-preview{display:grid;grid-template-columns:.8fr 1fr;align-items:center;gap:clamp(2rem,7vw,7rem)}.pupo-preview img{width:100%;height:auto}.pupo-preview h2{font-size:clamp(2.7rem,5vw,5rem);line-height:1.08}
.project-page .manifesto{min-height:0}.project-page .manifesto-image{min-height:0}.project-page .manifesto-copy{padding:clamp(2rem,5vw,5rem)}.project-page .manifesto-image img{object-position:center;height:100%}.project-page .manifesto h2{font-size:clamp(2.8rem,5vw,5rem);line-height:1.08}
.gallery-jumps{display:flex;flex-wrap:wrap;gap:1rem;width:min(88%,1240px);margin:0 auto 1rem}.gallery-jumps a{padding:.8rem 1.2rem;border:1px solid var(--line);font-size:.875rem;color:var(--gold)}.gallery-section{border-bottom:1px solid var(--line);scroll-margin-top:6rem}.gallery-section h2{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1}.photo-grid{columns:3;column-gap:1.5rem;margin-top:3rem}.gallery-item{margin:0 0 2rem;break-inside:avoid}.gallery-item img{width:100%;height:auto}.gallery-item a{display:block}.gallery-item figcaption{margin-top:.8rem;color:var(--muted);font-size:.875rem;line-height:1.5}.gallery-page .portfolio{padding-top:5rem}.gallery-page .portfolio-intro h2{font-size:clamp(3rem,6vw,5rem)}
.lightbox{position:fixed;width:min(95vw,1400px);max-width:95vw;max-height:95svh;padding:2.5rem 1rem 1rem;border:1px solid var(--line);color:var(--paper);background:#0b0b0a;text-align:center}.lightbox::backdrop{background:rgba(0,0,0,.94)}.lightbox img{max-width:100%;max-height:78svh;width:auto;height:auto;margin:auto}.lightbox p{font-size:.875rem;line-height:1.5}.lightbox-close{position:absolute;right:.5rem;top:.25rem;width:44px;height:44px;border:0;background:transparent;color:var(--gold);font-size:2rem;cursor:pointer}
.back-row,.page-end{width:min(88%,1240px);margin:auto}.back-row{padding-top:3rem;color:var(--gold);font-size:.875rem}.page-end{padding-bottom:5rem}.story-page .song-stories{padding-top:4rem;border-top:0;align-items:start}.story-page .song-stories h1{font-size:clamp(3.2rem,6vw,6rem);line-height:1}.song-story>p{font-size:clamp(1.2rem,1.7vw,1.45rem)}
.pupo-page{background:#0d0b08}.pupo-page .page-intro{text-align:center;padding-bottom:3rem}.pupo-page .page-intro h1{max-width:none}.pupo-memory{display:grid;grid-template-columns:minmax(220px,360px) minmax(0,520px);justify-content:center;align-items:center;gap:clamp(2rem,7vw,7rem);width:min(88%,1100px);margin:1rem auto 6rem}.pupo-main{margin:0}.pupo-main img{width:100%;height:auto}.pupo-main figcaption{margin-top:1rem;color:var(--muted);font-size:.875rem}.pupo-letter p{font:400 clamp(1.35rem,2vw,1.65rem)/1.75 var(--serif);color:var(--paper);margin:0 0 1.5rem}.pupo-letter .signature{color:var(--gold);font-size:2rem;font-style:italic}.pupo-letter .pupo-goodbye{color:var(--gold)}.pupo-pair{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:center;width:min(88%,1000px);margin:0 auto 6rem}
.audio-player{top:auto;bottom:1rem;left:50%;right:auto;transform:translateX(-50%);width:min(620px,calc(100% - 2rem));min-width:0;grid-template-columns:auto minmax(0,1fr) minmax(130px,1fr);padding:.8rem 1rem;gap:1rem;background:rgba(9,9,8,.96)}.audio-toggle{grid-row:auto;width:2.75rem;height:2.75rem}.audio-info{grid-column:auto}.audio-track{font-size:1.0625rem;line-height:1.4}.audio-info small{display:block;font-size:.75rem;letter-spacing:.04em}.audio-timeline{grid-column:auto}.audio-timeline>div{display:flex;font-size:.75rem}.audio-progress{min-height:16px}.audio-volume{display:none}
footer{padding-bottom:9rem}.footer-note{max-width:30rem}.footer-bottom{margin-bottom:1rem}.contact-email{font-size:1rem;letter-spacing:0}.copyright,.visit-counter{font-size:.875rem}
@media(max-width:1100px){.menu-toggle{display:grid;width:2.8rem;height:2.8rem;padding:.75rem;border:0;place-content:center;gap:.35rem;color:inherit;background:transparent}.menu-toggle span{display:block;width:1.25rem;height:1px;background:currentColor}.menu-toggle.active span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-3px) rotate(-45deg)}.site-nav{position:absolute;top:100%;right:0;left:0;display:none;padding:1.5rem;flex-direction:column;align-items:flex-end;background:#0b0b0a}.site-nav.open{display:flex}.site-nav a{font-size:1rem;padding:.35rem 0}}
@media(max-width:800px){.page-intro{padding-top:3rem}.photo-grid{columns:2}.home-project,.pupo-preview{grid-template-columns:1fr}.portrait-pair{max-width:600px}.home-project>div:last-child{margin-top:2rem}.section-heading{align-items:start;flex-direction:column;gap:.5rem}.home-photo-grid{gap:.7rem;grid-template-columns:1fr 1fr}.home-photo-grid>a:last-child{grid-column:1/-1;width:75%;justify-self:center}.story-cards{gap:2rem}.story-card h2{font-size:2.4rem}.pupo-memory{grid-template-columns:1fr;max-width:560px;margin-bottom:3rem}.pupo-main{max-width:360px;margin:auto}.pupo-letter{padding-top:1rem}.pupo-pair{grid-template-columns:1fr;max-width:560px}.pupo-pair .gallery-item:last-child{max-width:420px;justify-self:center}.audio-player{bottom:.6rem;left:50%;right:auto;width:calc(100% - 1.2rem);grid-template-columns:auto minmax(0,1fr);gap:.25rem .8rem;padding:.65rem .8rem}.audio-toggle{grid-row:1/3}.audio-info,.audio-timeline{grid-column:2}.audio-info small{display:none}.audio-track{font-size:1rem}.audio-timeline>div{font-size:.75rem}.hero-content{padding-bottom:8rem}.project-page .manifesto-image img{height:auto}.inner-page main{padding-top:5rem}}
@media(max-width:500px){.photo-grid{columns:1}.story-cards{grid-template-columns:1fr}.story-card+.story-card{margin-top:2rem}.page-intro h1{font-size:3.3rem}.gallery-jumps{gap:.5rem}.gallery-jumps a{padding:.65rem .8rem}.pupo-preview h2{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Keep the player within the header, beside the ASP wordmark. */
.site-header{display:grid;grid-template-columns:auto minmax(220px,300px) 1fr;gap:1.5rem;align-items:center;padding-top:.75rem;padding-bottom:.75rem;min-height:5.5rem}.site-nav{justify-self:end}.site-header .audio-player{position:static;inset:auto;transform:none;min-height:0;min-width:0;width:100%;max-width:300px;flex:0 1 300px;margin:0;padding:.35rem .55rem;grid-template-columns:auto minmax(0,1fr);gap:.1rem .6rem;box-shadow:none}.site-header .audio-toggle{grid-row:1/3;width:2.6rem;height:2.6rem}.site-header .audio-info,.site-header .audio-timeline{grid-column:2}.site-header .audio-info small{display:none}.site-header .audio-track{font-size:1rem}.site-header .audio-timeline>div{font-size:.75rem;line-height:1}.site-header .audio-progress{min-height:12px}.site-header .audio-volume{display:none}footer{padding-bottom:clamp(4rem,7vw,7rem)}
@media(max-width:1200px){.site-header{grid-template-columns:auto minmax(0,300px) auto;justify-content:space-between;gap:1rem}.menu-toggle{display:grid;width:2.8rem;height:2.8rem;padding:.75rem;border:0;place-content:center;gap:.35rem;color:inherit;background:transparent;justify-self:end}.menu-toggle span{display:block;width:1.25rem;height:1px;background:currentColor}.menu-toggle.active span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-3px) rotate(-45deg)}.site-nav{position:absolute;top:100%;right:0;left:0;display:none;padding:1.5rem;flex-direction:column;align-items:flex-end;background:#0b0b0a}.site-nav.open{display:flex}.site-nav a{font-size:1rem;padding:.35rem 0}}
@media(max-width:500px){.site-header{padding-left:1rem;padding-right:1rem;gap:.65rem;grid-template-columns:auto minmax(0,1fr) auto}.site-header .wordmark{font-size:1.4rem;letter-spacing:.1em}.site-header .audio-player{padding:.35rem;gap:.1rem .4rem}.site-header .audio-toggle{width:2.35rem;height:2.35rem}.site-header .audio-track{font-size:.875rem}.site-header .audio-timeline>div{display:none}.site-header .menu-toggle{width:2.4rem;padding:.5rem}}

.navigation-status:empty{display:none}.navigation-status{position:fixed;z-index:80;right:1rem;top:6rem;padding:.7rem 1rem;background:var(--ink);color:var(--gold);border:1px solid var(--line);font-size:.875rem}main:focus{outline:none}.lightbox-prev,.lightbox-next{position:absolute;top:45%;width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;background:rgba(7,7,6,.9);color:var(--gold);font-size:1.6rem;cursor:pointer}.lightbox-prev{left:.75rem}.lightbox-next{right:.75rem}.lightbox-count{color:var(--gold)}.lightbox img{max-height:70svh}.song-share{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.song-share button{background:transparent;cursor:pointer;font-family:var(--sans)}.song-share .text-link{margin:0;color:var(--gold);border:0;border-bottom:1px solid var(--gold)}.song-share p{flex-basis:100%;font-size:.875rem;line-height:1.5;color:var(--muted);margin:0}.song-share input{width:100%;padding:.75rem;background:var(--ink);color:var(--paper);border:1px solid var(--line);font-size:1rem}
