/* Homepage only. Layout and motion; public-palette.css owns the public colors. */
.home-stage { overflow: clip; }
.home-stage .archive-hero { isolation:isolate; min-height:660px; }
.home-stage .archive-hero>img { position:absolute; inset:0; height:100%; object-position:65% center; }
.home-stage .archive-hero:after { z-index:0; pointer-events:none; background:linear-gradient(0deg,rgba(41,35,47,.88),rgba(41,35,47,.05) 72%); }
.home-stage .archive-hero-stage { top:auto; bottom:115px; align-items:flex-end; gap:32px; }
.home-stage .archive-hero-stage h1 { font-size:clamp(64px,7.8vw,96px); line-height:1; font-weight:400; letter-spacing:-.04em; margin:20px 0; }
.home-stage .archive-hero-stage h1 span { display:inline-block; }
.home-stage .archive-hero-description { display:block; max-width:32em; font-size:15px; line-height:1.9; letter-spacing:.04em; color:var(--white); text-wrap:pretty; }
.home-stage .archive-hero-action { padding-bottom:8px; flex-shrink:0; }
.home-hero-bottom { position:absolute; z-index:2; bottom:25px; left:48px; right:48px; border-top:1px solid #fbf8ff66; padding-top:18px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:12px; color:var(--white); }
.home-scroll-link { display:flex; align-items:center; gap:30px; min-height:44px; }
.home-scroll-link span { font-size:20px; }
.home-motion-toggle { background:transparent; border:1px solid #fbf8ff80; color:var(--white); padding:8px 14px; font-size:12px; min-height:44px; cursor:pointer; }
.home-motion-toggle[hidden] { display:none; }
.home-stage a:focus-visible,.home-stage button:focus-visible { outline:2px solid var(--coral); outline-offset:6px; }
.home-stage .archive-hero a:focus-visible,.home-stage .archive-hero button:focus-visible { outline-color:var(--gold); }
.home-stage .archive-section { padding:96px clamp(28px,4vw,72px); }
.home-stage .archive-heading { margin-bottom:56px; }
.home-stage .archive-heading h2 { font-size:clamp(32px,4vw,58px); letter-spacing:-.04em; }
.home-stage .archive-feature { position:relative; isolation:isolate; padding:48px; gap:clamp(32px,5vw,88px); background:var(--leaf); }
.home-gradient { position:absolute; inset:0; z-index:-1; overflow:hidden; opacity:.34; pointer-events:none; background:linear-gradient(130deg,var(--leaf),var(--paper) 55%,var(--gold)); }
.home-gradient canvas { display:block; }
.home-stage .archive-art { padding:0; border:0; background:transparent; }
.home-stage .archive-art-label { margin-bottom:18px; }
.home-stage .archive-art img { display:block; }
.home-stage .archive-feature-copy h3 { font-size:clamp(36px,4vw,56px); }
.home-stage .archive-quote { font-size:clamp(18px,1.7vw,24px); }
.home-stage .archive-feature-copy .muted { color:var(--ink); }
.home-stage .archive-feature-copy .streams { gap:12px; }
.home-stage .archive-albums { gap:clamp(28px,5vw,80px); }
.home-stage .archive-album { min-width:0; }
.home-stage .archive-album>img { display:block; transition:filter .35s; }
.home-stage .archive-album h3 { margin-top:14px; font-size:30px; }
.home-stage .archive-album .small { display:inline-block; border-bottom:1px solid var(--ink); padding:10px 0; }
.home-stage .archive-video { aspect-ratio:16/9; }
.home-stage .archive-video img { transition:transform .8s cubic-bezier(.16,1,.3,1),filter .8s; }
.home-stage .archive-video:hover img { transform:scale(1.025); filter:brightness(.8); }
.home-stage .archive-video-caption { left:40px; right:40px; bottom:32px; }
.home-stage .archive-video-caption h3 { font-size:clamp(28px,3.5vw,48px); }
.home-stage .archive-play { width:80px; height:80px; }
.home-stage .archive-live-note { background:var(--ink); color:var(--white); border:0; padding:40px; }
.home-stage .archive-live-note .eyebrow,.home-stage .archive-live-note .muted { color:var(--white); }
.home-stage .archive-live-note>a { color:var(--gold); display:inline-block; padding:12px 0; }
.home-stage .archive-live-note h3 { font-size:clamp(24px,2.4vw,34px); }
.home-stage .archive-map { padding:48px; background:var(--leaf); }
.home-stage .home-water { position:absolute; inset:0; max-width:none; z-index:-2; opacity:.18; pointer-events:none; }
.home-stage .archive-map-motif { opacity:.12; }
.home-stage .archive-map>div:not(.home-water) { position:relative; }
.home-stage .archive-map h3 { font-size:clamp(26px,3vw,42px); }
.home-stage .archive-place-list article { background:var(--paper); }
.home-stage .archive-collections>a { transition:background .25s; }
.home-stage .archive-collections>a:hover { background:var(--leaf); }
.home-stage .home-tilt { aspect-ratio:1; position:relative; }
.home-stage .home-tilt>img { width:100%; height:100%; object-fit:cover; }
.home-stage .home-tilt-mount { position:absolute; inset:0; }
.home-stage .home-tilt.is-mounted>img { visibility:hidden; }
.home-stage .tilted-card-figure { margin:0; }
.home-stage.is-motion-paused *,.home-stage.is-motion-paused *:after { animation-play-state:paused!important; }
@media(max-width:1100px) { .home-stage .archive-feature { padding:30px; gap:30px; } .home-stage .archive-hero-stage { flex-wrap:wrap; gap:24px; } }
@media(max-width:900px) {
  .home-stage .archive-hero { min-height:700px; }
  .home-stage .archive-hero>img { object-position:80% center; }
  .home-stage .archive-hero-stage { bottom:110px; gap:24px; align-items:flex-start; }
  .home-stage .archive-hero-stage h1 { font-size:clamp(56px,11vw,88px); margin:14px 0; }
  .home-stage .archive-hero-description { max-width:27em; font-size:14px; }
  .home-hero-bottom { left:22px; right:22px; bottom:18px; padding-top:12px; }
  .home-stage .archive-section { padding:60px 24px; }
  .home-stage .archive-heading { margin-bottom:32px; }
  .home-stage .archive-feature { padding:28px; }
  .home-stage .archive-album:nth-child(2) { margin-top:0; }
  .home-stage .archive-map { padding:28px; }
  .home-stage .archive-live-note { padding:28px; }
  .home-stage .archive-video-caption { left:22px; right:22px; bottom:22px; }
}
@media(max-width:480px) {
  .home-stage .archive-hero { min-height:670px; }
  .home-stage .archive-section { padding:48px 20px; }
  .home-stage .archive-feature { padding:20px; gap:28px; }
  .home-stage .archive-heading h2 { font-size:30px; }
  .home-stage .archive-hero-stage h1 { font-size:60px; }
  .home-stage .archive-play { width:56px; height:56px; }
  .home-stage .archive-video { aspect-ratio:4/3; }
  .home-stage .archive-map { padding:22px; }
}
@media(prefers-reduced-motion:reduce) { .home-stage *, .home-stage *:after { animation:none!important; transition:none!important; } }
