/* Load design-system/tokens.css before this file. */

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body {
  margin: 0;
  background: var(--black);
  color: var(--white);
  font-family: var(--font);
  font-weight: 300;
  overflow-x: hidden;
}
h1, h2, h3 { color: var(--color-title); }
body.is-loading { overflow: hidden; }
a { color: inherit; }
button, input { font: inherit; }
button { color: inherit; }
img, video { display: block; max-width: 100%; }
::selection { color: var(--black); background: var(--signal); }

.boot {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 1.2rem;
  background: #020202;
  transition: opacity .8s ease, visibility .8s;
}
.boot.is-hidden { opacity: 0; visibility: hidden; }
.boot__mark { font-size:3rem; font-weight:300; letter-spacing:.2em; }
.boot__line { width: 12rem; height: 1px; background: #202020; overflow: hidden; }
.boot__line span { display: block; width: 100%; height: 100%; background: var(--white); transform: translateX(-100%); animation: loading 1.4s ease forwards; }
.boot p { margin: 0; font-size: .62rem; letter-spacing: .32em; color: var(--muted); }
@keyframes loading { to { transform: translateX(0); } }

#field {
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: .88;
}
.wave-field { position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; mix-blend-mode:multiply; }
.wave-field svg { display:block; width:100%; height:100%; }
.wave-field path { fill:none; stroke:var(--clay); stroke-width:.85; opacity:.23; }
.wave-field path.wave-blue { stroke:var(--signal); opacity:.17; }
.wave-field path.wave-spine { stroke-width:1.3; opacity:.3; }
main > section { z-index:1; }
.grain { position: fixed; inset: -50%; z-index: 50; pointer-events: none; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); animation: grain .22s steps(2) infinite; }
@keyframes grain { 0%{ transform:translate(0,0)} 25%{transform:translate(3%,-2%)} 50%{transform:translate(-2%,3%)} 75%{transform:translate(4%,4%)} 100%{transform:translate(-3%,-4%)} }
.cursor-orbit { position: fixed; z-index: 90; left: 0; top: 0; width: 28px; height: 28px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; pointer-events: none; transform: translate(-50%,-50%); transition: width .25s, height .25s, background .25s; mix-blend-mode: difference; }
.cursor-orbit.is-active { width: 56px; height: 56px; background: rgba(255,255,255,.16); }
.scroll-meter { position: fixed; right: 0; top: 0; z-index: 100; width: 2px; height: 100vh; background: rgba(255,255,255,.04); }
.scroll-meter span { display: block; width: 100%; height: 0; background: var(--signal); }

.site-header {
  position: fixed;
  z-index: 80;
  top: 0; left: 0; right: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1.5rem 2.2rem;
  border-bottom: 1px solid transparent;
  transition: background .35s, border-color .35s, padding .35s;
}
.site-header.is-scrolled { padding-top: 1rem; padding-bottom: 1rem; background: rgba(5,5,5,.74); border-color: rgba(255,255,255,.1); backdrop-filter: blur(18px); }
.wordmark { display: flex; align-items: center; gap: .7rem; width: fit-content; text-decoration: none; font-size: var(--type-wordmark); font-weight: var(--weight-wordmark); letter-spacing: var(--tracking-wordmark); }
.nav { display: flex; gap: 2.6rem; }
.nav a { position: relative; text-decoration: none; text-transform: uppercase; font-size: .66rem; letter-spacing: .24em; color: var(--muted); }
.nav a::after { content:""; position:absolute; height:1px; left:0; right:100%; bottom:-.5rem; background:var(--white); transition:right .3s; }
.nav a:hover::after, .nav a:focus-visible::after { right:0; }
.sound-toggle { justify-self: end; display: flex; align-items: center; gap: .7rem; border: 0; background: transparent; padding: .6rem 0; cursor: pointer; text-transform: uppercase; font-size: .66rem; letter-spacing: .24em; }
.sound-toggle__bars { display: flex; align-items: center; gap: 2px; height: 13px; }
.sound-toggle__bars i { display:block; width:1px; height:3px; background:var(--white); transition:height .25s; }
.sound-toggle[aria-pressed="true"] .sound-toggle__bars i { animation: equalize .9s ease-in-out infinite alternate; }
.sound-toggle[aria-pressed="true"] .sound-toggle__bars i:nth-child(2) { animation-delay:-.3s; }
.sound-toggle[aria-pressed="true"] .sound-toggle__bars i:nth-child(3) { animation-delay:-.6s; }
@keyframes equalize { to { height:13px; } }

main, footer { position: relative; z-index: 2; }
section { position: relative; }
.hero { min-height: 100svh; display: flex; align-items: center; padding: 9rem 8vw 5rem; overflow: hidden; }
.hero::after { content:""; position:absolute; inset:auto 0 0; height:26vh; background:linear-gradient(transparent,var(--black)); pointer-events:none; }
.hero__copy { position: relative; z-index: 5; width: min(690px, 58vw); }
.eyebrow, .kicker { margin: 0 0 2rem; font-size: .68rem; letter-spacing: .32em; color: var(--signal); }
.hero h1 { margin: 0; font-size: clamp(4.8rem, 10.6vw, 11.8rem); line-height: .78; letter-spacing: -.075em; font-weight: 300; }
.hero h1 span { margin-left: 12vw; font-style: italic; font-weight: 300; }
.hero__intro { width: min(450px, 85%); margin: 2.8rem 0 2.4rem 12vw; font-size: clamp(1rem, 1.35vw, 1.3rem); line-height: 1.6; color: var(--muted); }
.enter-link { display: flex; align-items: center; gap: 1rem; width: fit-content; margin-left: 12vw; text-decoration: none; text-transform: uppercase; font-size: .68rem; letter-spacing: .25em; }
.enter-link svg { width:42px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1; transition:transform .35s; }
.enter-link:hover svg { transform: rotate(45deg); }
.hero__mobius { position:absolute; z-index:2; right:-7vw; top:50%; width:min(64vw,900px); transform:translateY(-50%) rotate(-4deg); filter:contrast(1.15) brightness(.72); opacity:.55; mix-blend-mode:screen; animation:floatObject 12s ease-in-out infinite alternate; }
@keyframes floatObject { to { transform:translateY(-53%) rotate(2deg) scale(1.02); } }
.hero__orbit { position:absolute; z-index:3; border:1px solid rgba(255,255,255,.1); border-radius:50%; pointer-events:none; }
.hero__orbit--one { width:72vw; aspect-ratio:1; right:-15vw; top:-20vw; animation:orbit 32s linear infinite; }
.hero__orbit--one::after { content:""; position:absolute; width:8px; height:8px; border-radius:50%; top:15%; left:15%; background:var(--signal); box-shadow:0 0 24px var(--signal); }
.hero__orbit--two { width:44vw; aspect-ratio:1; right:-2vw; bottom:-15vw; animation:orbit 22s linear infinite reverse; }
@keyframes orbit { to { transform:rotate(360deg); } }
.hero__signal { position:absolute; z-index:5; right:2.2rem; bottom:2rem; display:flex; align-items:center; gap:.8rem; font-size:.58rem; letter-spacing:.24em; color:var(--muted); }
.hero__signal i { width:52px; height:1px; background:var(--line); position:relative; overflow:hidden; }
.hero__signal i::after { content:""; position:absolute; inset:0; background:var(--signal); animation:scan 2.4s ease infinite; }
@keyframes scan { from{transform:translateX(-100%)} to{transform:translateX(100%)} }
.scroll-cue { position:absolute; z-index:5; left:2.2rem; bottom:2rem; margin:0; font-size:.58rem; letter-spacing:.24em; color:var(--muted); writing-mode:vertical-rl; transform:rotate(180deg); }
.scroll-cue span { display:inline-block; width:1px; height:48px; background:var(--line-bright); margin:0 0 .7rem .2rem; }

.manifesto { min-height:110vh; padding:14rem 8vw; display:grid; grid-template-columns:1fr 4fr; background:linear-gradient(180deg,transparent,rgba(10,20,19,.45),transparent); }
.manifesto__index, .section-heading { font-size:.65rem; letter-spacing:.25em; color:var(--muted); }
.manifesto__body { max-width:1100px; }
.manifesto__small { margin:0 0 4rem; font-size:clamp(1.3rem,2.5vw,2.3rem); color:var(--muted); }
.manifesto__statement { margin:0; font-size:clamp(3.4rem,7vw,8rem); font-weight:300; line-height:.94; letter-spacing:-.05em; }
.manifesto__statement em { font-weight:300; color:var(--signal); }
.manifesto__columns { display:grid; grid-template-columns:1fr 1fr; gap:5vw; margin:6rem 0 0 20%; color:var(--muted); font-size:1.05rem; line-height:1.7; }
.manifesto__vertical { position:absolute; right:2rem; top:50%; margin:0; writing-mode:vertical-rl; font-size:.56rem; letter-spacing:.36em; color:rgba(255,255,255,.22); }

.featured { padding:8rem 4vw 12rem; }
.section-heading { display:flex; justify-content:space-between; align-items:center; padding:0 0 1.3rem; border-bottom:1px solid var(--line); }
.section-heading p { margin:0; }
.album-stage { min-height:82vh; display:grid; grid-template-columns:1.35fr .9fr; gap:7vw; align-items:center; }
.album-stage__visual { position:relative; aspect-ratio:1.15; overflow:hidden; clip-path:polygon(10% 0,100% 0,88% 100%,0 86%); background:#090909; }
.space-video { width:100%; height:100%; object-fit:cover; opacity:.7; filter:grayscale(1) contrast(1.25); }
.album-stage__visual::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 58% 49%,transparent 0 18%,rgba(0,0,0,.24) 48%,#050505 90%); }
.album-stage__rings { position:absolute; inset:0; z-index:2; display:grid; place-items:center; }
.album-stage__rings i { position:absolute; width:48%; aspect-ratio:1; border:1px solid rgba(255,255,255,.2); border-radius:50%; animation:orbit 20s linear infinite; }
.album-stage__rings i:nth-child(2){ width:67%; transform:rotateX(68deg); animation-duration:27s; }
.album-stage__rings i:nth-child(3){ width:84%; transform:rotateY(70deg); animation-duration:34s; }
.album-stage__stamp { position:absolute; z-index:3; right:10%; bottom:12%; width:116px; aspect-ratio:1; display:grid; place-items:center; text-align:center; border:1px solid rgba(255,255,255,.5); border-radius:50%; font-size:.56rem; letter-spacing:.2em; line-height:1.6; transform:rotate(12deg); }
.album-stage__copy h2 { margin:0 0 2.5rem; font-size:clamp(5rem,9vw,10rem); font-weight:300; line-height:.7; letter-spacing:-.08em; }
.album-stage__copy h2 span { margin-left:18%; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.65); }
.album-stage__copy > p:not(.kicker) { max-width:460px; color:var(--muted); line-height:1.7; font-size:1.05rem; }
.play-primary { display:flex; align-items:center; gap:1.2rem; margin-top:2.5rem; padding:0; border:0; background:transparent; text-align:left; cursor:pointer; }
.play-primary__icon { display:grid; place-items:center; width:58px; height:58px; border:1px solid var(--line-bright); border-radius:50%; padding-left:3px; transition:.3s; }
.play-primary:hover .play-primary__icon { background:var(--white); color:var(--black); transform:scale(1.08); }
.play-primary small { display:block; margin-bottom:.45rem; color:var(--muted); font-size:.56rem; letter-spacing:.22em; }
.track-list { border-top:1px solid var(--line); }
.track { position:relative; display:grid; grid-template-columns:4rem 4rem 1fr auto 3rem; gap:1rem; align-items:center; min-height:130px; border-bottom:1px solid var(--line); transition:padding .35s, background .35s; }
.track:hover { padding:0 1.5rem; background:rgba(255,255,255,.025); }
.track__play { width:42px; height:42px; border:1px solid var(--line); border-radius:50%; background:transparent; cursor:pointer; }
.track__no,.track__duration,.track__arrow,.track p { font-size:.62rem; letter-spacing:.2em; color:var(--muted); }
.track h3 { margin:0 0 .7rem; font-size:clamp(1.6rem,3vw,3rem); font-weight:300; }
.track p { margin:0; }
.track--soon { opacity:.46; }

.film-window { min-height:120vh; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; overflow:hidden; }
.film-window video { position:absolute; inset:10% 8%; width:84%; height:80%; object-fit:cover; filter:grayscale(1) contrast(1.25) brightness(.58); }
.film-window__veil { position:absolute; inset:0; background:linear-gradient(90deg,var(--black),transparent 18% 82%,var(--black)),linear-gradient(0deg,var(--black),transparent 22% 78%,var(--black)); }
.film-window > p { position:relative; z-index:2; font-size:.6rem; letter-spacing:.3em; color:var(--signal); }
.film-window h2 { position:relative; z-index:2; margin:1.2rem 0; font-size:clamp(5rem,13vw,13rem); line-height:.78; letter-spacing:-.08em; font-weight:300; }
.film-window__meta { position:absolute; z-index:2; left:10%; right:10%; bottom:13%; display:flex; justify-content:space-between; font-size:.58rem; letter-spacing:.24em; }

.journal { padding:10rem 5vw; }
.journal__intro { display:grid; grid-template-columns:1.6fr 1fr; align-items:end; gap:5vw; margin:7rem 0 10rem; }
.journal__intro h2 { margin:0; font-size:clamp(4.5rem,9vw,10rem); font-weight:300; line-height:.8; letter-spacing:-.07em; }
.journal__intro p { max-width:420px; margin:0; color:var(--muted); line-height:1.7; }
.entries { display:grid; grid-template-columns:repeat(3,1fr); gap:3vw; align-items:start; }
.entry--offset { margin-top:13vw; }
.entry__media { position:relative; aspect-ratio:4/5; overflow:hidden; background:#0b0b0b; }
.entry__media img,.entry__media video { width:100%; height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.16,1,.3,1),filter 1s; }
.entry:hover .entry__media img,.entry:hover .entry__media video { transform:scale(1.05); filter:brightness(1.12); }
.entry__media--mobius img { filter:brightness(.62) contrast(1.2); }
.entry__media--earth video { filter:grayscale(1) contrast(1.2); }
.entry__media--signal { display:grid; place-items:center; background:radial-gradient(circle at center,#17241f 0,#070807 56%,#020202 100%); }
.entry__media--signal > span { position:absolute; top:1rem; left:1rem; font-size:.55rem; letter-spacing:.2em; color:var(--muted); }
.signal-sphere { width:48%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 37% 32%,#eafffa 0,#8ed4c6 5%,#18362f 27%,#050605 60%); box-shadow:0 0 90px rgba(120,228,207,.15); animation:spherePulse 4s ease-in-out infinite alternate; }
@keyframes spherePulse { to { transform:scale(1.08); box-shadow:0 0 130px rgba(120,228,207,.3); } }
.entry__meta { display:flex; justify-content:space-between; margin:1.2rem 0 1rem; font-size:.55rem; letter-spacing:.16em; color:var(--muted); }
.entry h3 { margin:0 0 1rem; font-size:clamp(1.45rem,2.2vw,2.3rem); line-height:1.15; font-weight:300; }
.entry > p { margin:0; color:var(--muted); line-height:1.6; }

.about { min-height:110vh; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:8vw; padding:12rem 8vw; overflow:hidden; }
.about__portrait { position:relative; height:70vh; display:grid; place-items:center; }
.about__portrait > span { position:absolute; bottom:5%; left:8%; font-size:.56rem; letter-spacing:.3em; color:var(--muted); }
.about__halo { width:min(34vw,520px); aspect-ratio:1; border:1px solid rgba(255,255,255,.2); border-radius:50%; box-shadow:0 0 0 3rem rgba(255,255,255,.015),0 0 0 7rem rgba(255,255,255,.01),inset 0 0 90px rgba(187,248,235,.05); position:relative; }
.about__halo::before,.about__halo::after { content:""; position:absolute; inset:18%; border:1px solid rgba(191,248,235,.4); border-radius:50% 47% 53% 46%; animation:orbit 18s linear infinite; }
.about__halo::after { inset:34%; animation-direction:reverse; animation-duration:12s; background:radial-gradient(circle,#bff8eb 0 1%,transparent 4%); box-shadow:0 0 80px rgba(191,248,235,.17); }
.about__copy h2 { margin:0 0 3rem; font-size:clamp(4.6rem,8vw,9rem); line-height:.77; letter-spacing:-.07em; font-weight:300; }
.about__copy p { max-width:560px; color:var(--muted); line-height:1.7; }
.about__copy .about__lead { color:var(--white); font-size:clamp(1.25rem,2vw,2rem); line-height:1.45; }

.closing { min-height:100svh; display:grid; place-content:center; justify-items:center; text-align:center; overflow:hidden; }
.closing::before { content:""; position:absolute; width:50vw; aspect-ratio:1; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 10vw rgba(255,255,255,.006),0 0 0 20vw rgba(255,255,255,.004); animation:closingPulse 7s ease-in-out infinite alternate; }
@keyframes closingPulse { to { transform:scale(1.1); opacity:.5; } }
.closing > * { position:relative; z-index:2; }
.closing > p { font-size:.6rem; letter-spacing:.36em; color:var(--signal); }
.closing h2 { margin:2rem 0 4rem; font-size:clamp(4.4rem,9vw,9rem); font-weight:300; line-height:.85; letter-spacing:-.06em; }
.closing__link { display:flex; gap:2rem; padding:1.4rem 0; text-decoration:none; border-bottom:1px solid var(--line-bright); font-size:.72rem; letter-spacing:.3em; }
.closing__coordinates { position:absolute; bottom:2rem; font-size:.54rem; letter-spacing:.3em; color:var(--muted); }

footer { display:flex; align-items:center; justify-content:space-between; padding:2rem; border-top:1px solid var(--line); font-size:.54rem; letter-spacing:.22em; color:var(--muted); }
footer a { text-decoration:none; }

.player { position:fixed; z-index:110; left:50%; bottom:1.3rem; width:min(680px,calc(100vw - 2rem)); min-height:72px; display:grid; grid-template-columns:auto 1fr minmax(90px,180px) auto auto; align-items:center; gap:1rem; padding:.8rem 1rem; background:rgba(15,15,15,.86); border:1px solid rgba(255,255,255,.2); backdrop-filter:blur(20px); transform:translate(-50%,140%); transition:transform .55s cubic-bezier(.16,1,.3,1); }
.player.is-open { transform:translate(-50%,0); }
.player button { border:0; background:transparent; cursor:pointer; }
.player__toggle { width:44px; height:44px; border:1px solid var(--line)!important; border-radius:50%!important; }
.player__info span { display:block; margin-bottom:.35rem; font-size:.5rem; letter-spacing:.2em; color:var(--muted); }
.player__info strong { font-size:.9rem; font-weight:400; }
.player__timeline { height:1px; background:var(--line); }
.player__timeline i { display:block; width:0; height:1px; background:var(--signal); }
.player time { font-size:.58rem; color:var(--muted); }
.player__close { font-size:1.5rem; font-weight:300; }

@media (max-width: 860px) {
  .cursor-orbit { display:none; }
  .site-header { grid-template-columns:1fr auto; padding:1.2rem; }
  .nav { display:none; }
  .hero { padding:8rem 1.3rem 5rem; align-items:flex-end; }
  .hero__copy { width:100%; }
  .hero h1 { font-size:clamp(4.4rem,21vw,8rem); }
  .hero h1 span,.hero__intro,.enter-link { margin-left:0; }
  .hero__intro { width:100%; max-width:450px; }
  .hero__mobius { width:105vw; right:-33vw; top:34%; opacity:.44; }
  .hero__signal { display:none; }
  .scroll-cue { left:auto; right:1rem; }
  .manifesto { display:block; padding:10rem 1.3rem; }
  .manifesto__index { margin-bottom:4rem; }
  .manifesto__columns { grid-template-columns:1fr; margin:4rem 0 0; gap:1rem; }
  .manifesto__vertical { display:none; }
  .featured { padding:6rem 1.3rem 9rem; }
  .album-stage { grid-template-columns:1fr; padding:5rem 0; }
  .album-stage__copy h2 { font-size:25vw; }
  .track { grid-template-columns:3rem 2rem 1fr auto; min-height:110px; }
  .track__duration { display:none; }
  .track__arrow { display:none; }
  .film-window video { inset:7% 0; width:100%; height:86%; }
  .film-window h2 { font-size:22vw; }
  .film-window__meta { left:1.3rem; right:1.3rem; flex-direction:column; gap:.7rem; }
  .journal { padding:8rem 1.3rem; }
  .journal__intro { grid-template-columns:1fr; margin:5rem 0 7rem; }
  .journal__intro h2 { font-size:20vw; }
  .entries { grid-template-columns:1fr; gap:6rem; }
  .entry--offset { margin-top:0; }
  .about { grid-template-columns:1fr; padding:9rem 1.3rem; }
  .about__portrait { height:55vh; }
  .about__halo { width:70vw; }
  .about__copy h2 { font-size:20vw; }
  .closing { padding:4rem 1rem; }
  .closing::before { width:90vw; }
  footer { flex-direction:column; align-items:flex-start; gap:1rem; }
  .player { grid-template-columns:auto 1fr auto auto; }
  .player__timeline { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; }
  #field { opacity:.35; }
}

/* Mineral ground: a contemporary working folio, with depth held in the pigment. */
body {
  background:
    radial-gradient(ellipse at 88% 9%, rgba(115,145,168,.28), transparent 33%),
    radial-gradient(ellipse at 12% 26%, rgba(178,119,84,.24), transparent 28%),
    radial-gradient(ellipse at 76% 48%, rgba(179,153,88,.22), transparent 30%),
    radial-gradient(ellipse at 22% 75%, rgba(117,136,114,.22), transparent 27%),
    var(--black);
}
.boot { background:var(--black); }
.boot__line { background:var(--line); }
.boot__line span { background:var(--signal); }
.grain { opacity:.065; mix-blend-mode:multiply; animation:none; }
.cursor-orbit { border-color:var(--signal); mix-blend-mode:multiply; }
.cursor-orbit.is-active { background:rgba(36,79,153,.09); }
.scroll-meter { background:var(--line); }
.site-header.is-scrolled { background:rgba(201,190,169,.88); border-color:var(--line); }
.wordmark { color:var(--signal); }
.nav a { font-size:.78rem; letter-spacing:.17em; }
.sound-toggle { font-size:.75rem; }
.hero::after { background:linear-gradient(transparent,rgba(201,190,169,.55)); }
.hero__copy { width:min(760px,64vw); }
.hero h1 { font-size:var(--type-hero); letter-spacing:var(--tracking-hero); line-height:var(--leading-hero); }
.hero h1 span { color:var(--signal); }
.hero__intro { max-width:410px; font-size:var(--type-body); line-height:var(--leading-body); font-weight:var(--weight-body); color:var(--color-muted); }
.hero__orbit { border-color:rgba(116,79,42,.16); border-style:dashed; }
.hero__orbit--one::after { background:var(--clay); box-shadow:0 0 18px rgba(162,105,77,.25); }
.hero__signal,.scroll-cue { font-size:.75rem; letter-spacing:.15em; }
.eyebrow,.kicker { font-size:var(--type-label); letter-spacing:var(--tracking-label); font-weight:var(--weight-body); }
.enter-link { font-size:.8rem; }
.field-study { position:absolute; z-index:1; width:50vw; height:70vh; right:0; top:17%; color:var(--signal); pointer-events:none; }
.field-study::before { content:""; position:absolute; inset:10%; border-left:1px solid rgba(36,79,153,.15); border-bottom:1px solid rgba(36,79,153,.15); transform:rotate(-7deg); }
.field-study span { position:absolute; font:400 .75rem/1.4 var(--font); letter-spacing:.12em; }
.field-study__title { right:10%; top:0; }
.field-study__note { right:8%; bottom:7%; transform:rotate(-7deg); }
.field-study__axis { right:2%; top:47%; writing-mode:vertical-rl; }
.flower-diagram { width:100%; height:100%; fill:none; stroke:var(--signal); stroke-width:.014; }
.flower-diagram .diagram-boundary,.flower-diagram line { stroke:var(--clay); stroke-width:.01; }
.hero-flower-fallback { opacity:.55; animation:orbit 100s linear infinite; }
.has-webgl .hero-flower-fallback { visibility:hidden; }
.manifesto { background:linear-gradient(180deg,transparent,rgba(175,139,97,.17),transparent); }
.manifesto__index,.section-heading { font-size:.78rem; letter-spacing:.17em; }
.manifesto__small { max-width:800px; line-height:1.35; }
.manifesto__statement { font-size:clamp(3.4rem,6.5vw,7.2rem); }
.manifesto__columns { margin-top:4rem; font-weight:400; }
.manifesto__vertical { color:var(--clay); font-size:.75rem; }
.transmission-quote { margin:4rem 0 0 20%; border-left:1px solid var(--clay); padding:0 0 0 1.6rem; }
.transmission-quote p { font-size:clamp(1.5rem,2.6vw,2.8rem); line-height:1.2; color:var(--signal); margin:0 0 .9rem; }
.transmission-quote cite { font-style:normal; font-size:.75rem; letter-spacing:.18em; color:var(--muted); }
.album-stage__visual { background:#777669; }
.space-video { opacity:.92; filter:saturate(.75) sepia(.1) contrast(.9); }
.album-stage__visual::after { background:linear-gradient(130deg,rgba(94,80,53,.16),transparent 55%,rgba(37,75,132,.17)); }
.album-stage__rings i { border-color:rgba(216,210,190,.5); }
.album-stage__stamp { border-color:#d4c9b5; color:#e2d9c8; font-size:.7rem; background:rgba(28,41,49,.38); }
.album-stage__copy h2 span { -webkit-text-stroke:1px var(--signal); }
.album-stage__copy > p:not(.kicker) { font-weight:400; }
.play-primary small { font-size:.75rem; }
.play-primary:hover .play-primary__icon { background:var(--signal); color:#e0d7c7; }
.track:hover,.track.is-playing { background:rgba(36,79,153,.055); }
.track__no,.track__duration,.track__arrow,.track p { font-size:.75rem; }
.track--soon { opacity:.75; }
.film-window video { filter:saturate(.75) contrast(.95) brightness(.7); }
.film-window__veil { background:linear-gradient(90deg,var(--black),transparent 16% 84%,var(--black)),linear-gradient(0deg,var(--black),transparent 18% 82%,var(--black)); }
.film-window h2 { color:#e2d8c6; text-shadow:0 2px 35px rgba(22,35,30,.25); }
.film-window > p,.film-window__meta { color:#f0e1c4; font-size:.75rem; }
.journal__intro p,.entry > p,.about__copy p { font-weight:400; }
.entry__media { background:#b8aa91; }
.entry__media--geometry { padding:1rem; background:radial-gradient(ellipse at 30% 25%,rgba(191,150,97,.4),transparent 65%),#c1b49b; }
.entry__media--geometry .flower-diagram { animation:orbit 110s linear infinite; }
.diagram-caption { position:absolute; bottom:1rem; left:1rem; font-size:.75rem; letter-spacing:.1em; color:var(--signal); }
.entry__media--signal { background:radial-gradient(circle at center,#a2aca5,#a18d70 65%,#94745c); }
.entry__media--signal > span { color:var(--ink); font-size:.75rem; }
.signal-sphere { background:radial-gradient(circle at 37% 32%,#c1c9c7 0,#648ab2 8%,#315689 30%,#263d57 63%); box-shadow:0 0 90px rgba(36,79,153,.14); }
@keyframes spherePulse { to { transform:scale(1.08); box-shadow:0 0 110px rgba(36,79,153,.25); } }
.entry__media--earth video { filter:saturate(.7) sepia(.12) contrast(.92); }
.entry__meta { font-size:.75rem; letter-spacing:.08em; }
.about__halo { border-color:rgba(126,85,47,.3); box-shadow:0 0 0 3rem rgba(149,115,68,.06),0 0 0 7rem rgba(149,115,68,.025),inset 0 0 90px rgba(36,79,153,.07); }
.about__halo::before,.about__halo::after { border-color:rgba(36,79,153,.45); }
.about__halo::after { background:radial-gradient(circle,#244f99 0 1%,transparent 4%); box-shadow:0 0 80px rgba(36,79,153,.12); }
.about__portrait > span { font-size:.75rem; }
.closing::before { border-color:var(--line); box-shadow:0 0 0 10vw rgba(123,139,153,.035),0 0 0 20vw rgba(163,131,82,.025); }
.closing > p,.closing__coordinates { font-size:.75rem; }
.closing h2 { font-size:clamp(3.5rem,7.8vw,8rem); }
footer { font-size:.75rem; letter-spacing:.1em; }
.player { background:rgba(198,185,161,.95); border-color:var(--line-bright); box-shadow:0 12px 50px rgba(70,53,29,.18); }
.player__info span,.player time { font-size:.75rem; }
.player__info strong { font-size:1rem; }
a:focus-visible,button:focus-visible { outline:var(--focus-width) solid var(--signal); outline-offset:var(--focus-offset); }
@media(max-width:860px) {
  .hero__copy { width:100%; }
  .hero h1 { font-size:var(--type-hero-mobile); }
  .hero__intro { max-width:460px; background:rgba(201,190,169,.8); padding:.6rem 0; }
  .field-study { width:85vw; height:48vh; right:-14vw; top:12%; opacity:.6; }
  .field-study__title { right:20%; }
  .field-study__note,.field-study__axis { display:none; }
  .transmission-quote { margin-left:0; }
  .section-heading { gap:1rem; line-height:1.5; }
  .section-heading p:last-child { text-align:right; }
  .film-window > p { max-width:80%; line-height:1.6; }
}
