:root {
  --ink: #0a090d; --soft-ink: #17141b; --paper: #f0ede6; --orange: #ff4c24; --acid: #d9ff3f; --violet: #7138ff;
  --line-dark: rgba(10,9,13,.18); --line-light: rgba(240,237,230,.2);
  --display: "Archivo Black", Impact, sans-serif; --serif: "Instrument Serif", Georgia, serif; --sans: "DM Sans", Arial, sans-serif; --mono: "Space Mono", monospace; --ease: cubic-bezier(.16,1,.3,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--ink); color: var(--paper); font-family: var(--sans); cursor: default; }
body.menu-open { overflow: hidden; }
body::selection { background: var(--orange); color: white; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { display: block; width: 100%; -webkit-user-drag: none; user-select: none; }
main, header, footer { user-select: none; }
.page-noise { position: fixed; z-index: 300; inset: 0; pointer-events: none; opacity: .05; 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='.87' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.mockup-mark { position: fixed; z-index: 290; inset: -15%; display: flex; flex-direction: column; justify-content: space-around; pointer-events: none; opacity: .13; rotate: -16deg; scale: 1.16; mix-blend-mode: difference; }
.mockup-mark span { color: white; white-space: nowrap; font-family: var(--mono); font-size: clamp(.55rem,.72vw,.72rem); font-weight: 700; letter-spacing: .22em; text-align: center; }
.scroll-progress { position: fixed; z-index: 310; top: 0; left: 0; right: 0; height: 3px; pointer-events: none; }
.scroll-progress i { display: block; width: 100%; height: 100%; background: var(--orange); transform: scaleX(0); transform-origin: left; }
.loader { position: fixed; z-index: 1000; inset: 0; display: grid; place-content: center; background: var(--ink); transition: translate 1s var(--ease); }
.loader.is-gone { translate: 0 -105%; }
.loader__mark { display: flex; align-items: center; font-family: var(--display); font-size: clamp(7rem,18vw,15rem); line-height: .72; letter-spacing: -.1em; }
.loader__mark i { color: var(--orange); font-family: var(--serif); font-weight: 400; }
.loader__line { width: min(72vw,35rem); height: 1px; margin-top: 3rem; background: rgba(255,255,255,.18); overflow: hidden; }
.loader__line i { display: block; height: 100%; width: 100%; background: var(--orange); transform: translateX(-100%); animation: loading 1.25s var(--ease) forwards; }
.loader p { margin: 1rem 0 0; display: flex; justify-content: space-between; font-family: var(--mono); font-size: .6rem; text-transform: uppercase; letter-spacing: .12em; }
@keyframes loading { to { transform: translateX(0); } }
.cursor { position: fixed; z-index: 999; top: 0; left: 0; width: .65rem; height: .65rem; border-radius: 50%; background: var(--acid); pointer-events: none; translate: -50% -50%; transition: width .35s var(--ease), height .35s var(--ease), background .25s; mix-blend-mode: difference; }
.cursor span { position: absolute; inset: 0; display: grid; place-items: center; color: var(--ink); font-family: var(--mono); font-size: 0; font-weight: 700; letter-spacing: .08em; opacity: 0; }
.cursor.is-active { width: 5rem; height: 5rem; background: var(--acid); mix-blend-mode: normal; }
.cursor.is-active span { font-size: .52rem; opacity: 1; }
.site-header { position: fixed; z-index: 320; inset: 0 0 auto; min-height: 5.7rem; padding: 1rem 2vw; display: grid; grid-template-columns: 1fr auto auto auto; align-items: center; gap: 2.25rem; border-bottom: 1px solid transparent; transition: background .35s,border-color .35s,min-height .35s; }
.site-header.is-scrolled { min-height: 4.7rem; background: rgba(10,9,13,.88); border-color: var(--line-light); backdrop-filter: blur(18px); }
.brand { width: max-content; display: flex; align-items: center; gap: .72rem; }
.brand strong { font-family: var(--display); font-size: 1.65rem; line-height: .8; letter-spacing: -.08em; }
.brand span { padding-left: .68rem; border-left: 1px solid currentColor; font-size: .55rem; font-weight: 600; line-height: 1; text-transform: uppercase; letter-spacing: .04em; }
.availability { display: flex; align-items: center; gap: .65rem; font-family: var(--mono); font-size: .55rem; text-transform: uppercase; letter-spacing: .06em; }
.availability i,.book__meta i { width: .5rem; aspect-ratio: 1; border-radius: 50%; background: var(--acid); box-shadow: 0 0 18px var(--acid); animation: pulse 2s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .35; scale: .72; } }
.desktop-nav { display: flex; gap: 2rem; font-size: .67rem; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; }
.desktop-nav a { position: relative; padding: .5rem 0; }
.desktop-nav a::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: var(--orange); scale: 0 1; transform-origin: right; transition: scale .3s; }
.desktop-nav a:hover::after { scale: 1; transform-origin: left; }
.header-book { padding: .8rem 1rem; display: flex; align-items: center; gap: 1.7rem; border-radius: 999px; background: var(--orange); color: white; font-size: .65rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; box-shadow: 0 12px 35px rgba(255,76,36,.26); }
.menu-toggle { display: none; align-items: center; gap: .7rem; border: 0; background: none; padding: .7rem 0; cursor: pointer; font-size: .66rem; text-transform: uppercase; letter-spacing: .1em; }
.menu-toggle i { width: .5rem; aspect-ratio: 1; border-radius: 50%; background: var(--orange); }
.menu-overlay { position: fixed; z-index: 600; inset: 0; padding: 1.5rem 2vw 2rem; display: flex; flex-direction: column; background: var(--orange); color: var(--ink); translate: 0 -105%; transition: translate .8s var(--ease); visibility: hidden; }
.menu-overlay.is-open { translate: 0 0; visibility: visible; }
.menu-overlay__meta,.menu-overlay__bottom { display: flex; align-items: center; justify-content: space-between; font-family: var(--mono); font-size: .65rem; text-transform: uppercase; }
.menu-close { border: 1px solid var(--ink); border-radius: 999px; background: transparent; padding: .7rem 1rem; cursor: pointer; text-transform: uppercase; }
.menu-overlay nav { margin: auto 0; display: grid; }
.menu-overlay nav a { display: flex; align-items: baseline; gap: 2rem; border-bottom: 1px solid rgba(10,9,13,.28); font-family: var(--display); font-size: clamp(3.5rem,9vw,8.5rem); line-height: .98; text-transform: uppercase; }
.menu-overlay nav small { font-family: var(--mono); font-size: .65rem; }
.menu-overlay nav a:hover span { padding-left: 2vw; font-family: var(--serif); font-style: italic; font-weight: 400; transition: .35s var(--ease); }
.hero { position: relative; min-height: 100svh; display: grid; grid-template-columns: 52% 48%; overflow: hidden; background: var(--ink); }
.hero__panel { position: relative; min-width: 0; min-height: 100svh; }
.hero__panel--copy { z-index: 5; padding: 8rem 0 2.2rem 4vw; display: flex; flex-direction: column; overflow: visible; background: var(--ink); }
.hero__eyebrow { width: 80%; display: flex; justify-content: space-between; color: rgba(240,237,230,.58); font-family: var(--mono); font-size: .56rem; text-transform: uppercase; letter-spacing: .08em; }
.hero h1 { position: absolute; z-index: 5; left: 4vw; top: 27%; width: 92vw; margin: 0; font-family: var(--display); font-size: clamp(5rem,9.8vw,10rem); font-weight: 400; line-height: .78; letter-spacing: -.065em; text-transform: uppercase; pointer-events: none; }
.title-line { display: block; overflow: hidden; padding: .05em .04em .11em; margin: -.05em -.04em -.1em; }
.title-line b { display: block; transform: translateY(115%); animation: titleIn 1.2s var(--ease) 1.15s forwards; }
.title-line--outline { padding-left: 8vw; color: transparent; -webkit-text-stroke: 1.5px var(--paper); }
.title-line--outline b { animation-delay: 1.27s; }
.title-line--serif { padding-left: 18vw; color: var(--orange); font-family: var(--serif); font-style: italic; font-weight: 400; text-transform: none; letter-spacing: -.03em; }
.title-line--serif b { animation-delay: 1.39s; }
@keyframes titleIn { to { transform: translateY(0); } }
.hero__intro { max-width: 24rem; margin: auto 0 1.8rem; color: rgba(240,237,230,.62); font-size: .84rem; line-height: 1.55; }
.hero__book { width: max-content; display: flex; align-items: center; gap: 3rem; padding: .9rem 1rem; border: 1px solid var(--line-light); border-radius: 999px; font-family: var(--mono); font-size: .58rem; text-transform: uppercase; transition: background .3s,color .3s; }
.hero__book:hover { background: var(--acid); border-color: var(--acid); color: var(--ink); }
.hero__book b { font-size: 1rem; }
.hero__panel--visual { overflow: hidden; border-left: 1px solid var(--line-light); }
.hero__media { position: absolute; inset: -6%; }
.hero__media img { width: 100%; height: 112%; object-fit: cover; object-position: 53% 50%; filter: saturate(.8) contrast(1.2) brightness(.65); scale: 1.04; animation: heroMedia 10s var(--ease) 1.1s both; }
@keyframes heroMedia { from { scale: 1.16; filter: saturate(.1) contrast(1.4) brightness(.35) blur(5px); } }
.hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(10,9,13,.75),transparent 45%),radial-gradient(circle at var(--mx,60%) var(--my,45%),rgba(113,56,255,.14),transparent 28%),linear-gradient(0deg,rgba(10,9,13,.62),transparent 52%); }
#visualizer { position: absolute; z-index: 2; inset: auto 0 0; width: 100%; height: 32%; opacity: .55; }
.hero__signal { position: absolute; z-index: 4; top: 7.4rem; left: 2rem; right: 2rem; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; font-family: var(--mono); font-size: .52rem; text-transform: uppercase; letter-spacing: .08em; }
.hero__signal i { height: 1px; background: rgba(255,255,255,.35); }
.sound-control { position: absolute; z-index: 6; right: 2rem; bottom: 2.2rem; width: min(25rem,calc(100% - 4rem)); padding: .7rem; display: flex; align-items: center; gap: 1rem; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(10,9,13,.72); color: white; cursor: pointer; text-align: left; backdrop-filter: blur(14px); transition: border-color .3s,background .3s,transform .3s; }
.sound-control:hover { border-color: var(--acid); transform: translateY(-4px); }
.sound-control__icon { flex: none; width: 3rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: var(--orange); font-style: normal; box-shadow: 0 12px 30px rgba(255,76,36,.35); }
.sound-control span { display: grid; gap: .2rem; }
.sound-control small { color: rgba(255,255,255,.5); font-family: var(--mono); font-size: .5rem; text-transform: uppercase; }
.sound-control strong { font-size: .72rem; font-weight: 500; }
.sound-control.is-playing { background: rgba(113,56,255,.7); border-color: white; }
.orbit { position: absolute; z-index: 3; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; pointer-events: none; }
.orbit--one { width: 29rem; aspect-ratio: 1; right: -15rem; top: 18%; animation: orbit 12s linear infinite; }
.orbit--two { width: 15rem; aspect-ratio: 1; left: 8%; bottom: 8%; border-color: rgba(217,255,63,.35); animation: orbit 8s linear infinite reverse; }
@keyframes orbit { to { rotate: 360deg; } }
.hero__scroll { position: absolute; z-index: 8; left: 52%; bottom: 0; translate: -50% 0; padding: 1.4rem .7rem; display: flex; flex-direction: column; align-items: center; gap: .7rem; background: var(--paper); color: var(--ink); font-family: var(--mono); font-size: .48rem; text-transform: uppercase; writing-mode: vertical-rl; }
.ticker { overflow: hidden; border-block: 1px solid var(--line-dark); background: var(--acid); color: var(--ink); }
.ticker__track { width: max-content; padding: 1.25rem 0; display: flex; align-items: center; gap: 1.8rem; font-family: var(--display); font-size: clamp(1.8rem,3.5vw,3.8rem); line-height: .8; text-transform: uppercase; animation: ticker 24s linear infinite; }
.ticker b { color: var(--orange); font-size: 1.2rem; }
@keyframes ticker { to { transform: translateX(-50%); } }
.section-label { display: flex; align-items: center; gap: 1rem; font-family: var(--mono); font-size: .58rem; text-transform: uppercase; letter-spacing: .08em; }
.manifesto,.experience,.dan,.moments,.book { scroll-margin-top: 4.7rem; }
.section-label span { display: grid; place-items: center; width: 2.1rem; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; }
.section-label p { margin: 0; }
.section-label--light { color: rgba(240,237,230,.6); }
.manifesto { position: relative; min-height: 100svh; padding: 7rem 5vw 4rem; display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; background: var(--paper); color: var(--ink); }
.manifesto__statement { align-self: center; position: relative; z-index: 2; }
.manifesto__statement > p { margin: 0 0 .5rem 38%; font-family: var(--mono); font-size: .58rem; text-transform: uppercase; letter-spacing: .12em; }
.manifesto h2 { margin: 0; font-family: var(--display); font-size: clamp(5rem,11vw,11rem); font-weight: 400; line-height: .78; letter-spacing: -.065em; text-transform: uppercase; }
.manifesto h2 em { padding-left: 14vw; color: var(--orange); font-family: var(--serif); font-weight: 400; text-transform: none; }
.manifesto__footer { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr minmax(20rem,32rem); gap: 3rem; align-items: end; border-top: 1px solid var(--line-dark); padding-top: 1.5rem; }
.manifesto blockquote { margin: 0; font-family: var(--serif); font-size: 2rem; }
.manifesto__footer > p { margin: 0; color: rgba(10,9,13,.65); font-size: .83rem; line-height: 1.65; }
.manifesto__disc { position: absolute; right: 7vw; top: 11%; width: 10rem; aspect-ratio: 1; display: grid; place-content: center; gap: .4rem; border-radius: 50%; background: var(--violet); color: white; text-align: center; animation: badgeFloat 4s ease-in-out infinite alternate; }
.manifesto__disc span { position: static; font-family: var(--mono); font-size: .53rem; line-height: 1.45; letter-spacing: .12em; }
.manifesto__disc b { font-size: 2rem; }
@keyframes badgeFloat { to { transform: translateY(10px) rotate(5deg); } }
.experience { padding: 8rem 3vw 4rem; background: var(--ink); }
.experience__header { padding: 0 2vw 5rem; display: grid; grid-template-columns: .8fr 2fr .8fr; align-items: end; gap: 2rem; }
.experience__header h2,.moments h2 { margin: 0; font-family: var(--display); font-size: clamp(4rem,8vw,8.5rem); font-weight: 400; line-height: .8; letter-spacing: -.055em; text-transform: uppercase; }
.experience__header h2 em,.moments h2 em { color: var(--orange); font-family: var(--serif); font-weight: 400; text-transform: none; }
.experience__header > p { margin: 0; color: rgba(240,237,230,.54); font-size: .73rem; line-height: 1.5; }
.experience__stage { display: grid; grid-template-columns: 56% 44%; min-height: 46rem; border: 1px solid var(--line-light); }
.experience__visual { position: relative; min-height: 46rem; overflow: hidden; }
.experience__visual img { height: 100%; object-fit: cover; filter: saturate(.62) contrast(1.14) brightness(.68); transition: opacity .35s,scale 1s var(--ease),filter .5s; }
.experience__visual.is-changing img { opacity: .15; scale: 1.08; }
.experience__visual:hover img { filter: saturate(.9) contrast(1.1) brightness(.78); scale: 1.025; }
.experience__visual-overlay { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,9,13,.9),transparent 55%),linear-gradient(90deg,rgba(113,56,255,.18),transparent 50%); }
.experience__index { position: absolute; left: 1.7rem; right: 1.7rem; top: 1.7rem; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; font-family: var(--mono); font-size: .58rem; }
.experience__index i { height: 1px; background: rgba(255,255,255,.4); }
.experience__visual > p { position: absolute; left: 1.7rem; bottom: 1.7rem; max-width: 29rem; margin: 0; font-family: var(--serif); font-size: clamp(1.8rem,3vw,3.2rem); line-height: 1.03; transition: opacity .3s,transform .3s; }
.experience__visual.is-changing > p { opacity: 0; transform: translateY(1rem); }
.experience__list { display: grid; grid-template-rows: repeat(4,1fr); }
.experience-row { position: relative; display: grid; grid-template-columns: 2.2rem 1fr auto; align-items: center; gap: 1rem; border: 0; border-bottom: 1px solid var(--line-light); background: transparent; padding: 1.4rem 1.7rem; cursor: pointer; text-align: left; overflow: hidden; }
.experience-row::before { content: ""; position: absolute; inset: 0; background: var(--orange); transform: translateY(102%); transition: transform .55s var(--ease); }
.experience-row > * { position: relative; z-index: 1; }
.experience-row > span { font-family: var(--mono); font-size: .58rem; color: rgba(255,255,255,.48); }
.experience-row h3 { margin: 0; font-family: var(--serif); font-size: clamp(2.2rem,4.2vw,4.8rem); font-weight: 400; line-height: 1; }
.experience-row i { font-style: normal; font-size: 1.5rem; transition: rotate .35s; }
.experience-row:hover::before,.experience-row.is-active::before { transform: translateY(0); }
.experience-row:hover,.experience-row.is-active { color: var(--ink); }
.experience-row:hover span,.experience-row.is-active span { color: var(--ink); }
.experience-row:hover i { rotate: 45deg; }
.principles { display: grid; grid-template-columns: repeat(3,1fr); background: var(--paper); color: var(--ink); }
.principle { position: relative; min-height: 75svh; padding: 2rem; display: flex; flex-direction: column; border-right: 1px solid var(--line-dark); }
.principle > span,.principle--image span { font-family: var(--mono); font-size: .58rem; letter-spacing: .1em; }
.principle h3 { margin: auto 0 1rem; font-family: var(--display); font-size: clamp(3.4rem,6vw,6.8rem); font-weight: 400; line-height: .8; letter-spacing: -.06em; text-transform: uppercase; }
.principle p { max-width: 18rem; margin: 0; color: rgba(10,9,13,.62); font-size: .78rem; line-height: 1.55; }
.principle--accent { background: var(--violet); color: white; }
.principle--accent p { color: rgba(255,255,255,.65); }
.principle--image { padding: 0; overflow: hidden; color: white; }
.principle--image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,9,13,.85),transparent 65%); }
.principle--image img { height: 100%; object-fit: cover; filter: grayscale(.8) contrast(1.2); transition: filter .5s,scale 1s var(--ease); }
.principle--image:hover img { filter: grayscale(0) contrast(1.1); scale: 1.04; }
.principle--image > div { position: absolute; z-index: 2; inset: 2rem; display: flex; flex-direction: column; }
.principle--image h3 { margin: auto 0 0; }
.dan { position: relative; min-height: 100svh; display: grid; grid-template-columns: 51% 49%; overflow: hidden; background: var(--orange); color: var(--ink); }
.dan__portrait { position: relative; min-height: 100svh; overflow: hidden; }
.dan__portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 65%,rgba(255,76,36,.65)),linear-gradient(0deg,rgba(10,9,13,.35),transparent 45%); }
.dan__portrait img { height: 110%; object-fit: cover; filter: grayscale(1) contrast(1.25); }
.dan__portrait > span { position: absolute; z-index: 2; left: 2rem; bottom: 2rem; padding: 1rem; border-radius: 50%; background: var(--acid); font-family: var(--mono); font-size: .55rem; text-transform: uppercase; rotate: -9deg; }
.dan__copy { padding: 8rem 6vw 3rem; display: flex; flex-direction: column; }
.dan__copy h2 { margin: auto 0 1.5rem; font-family: var(--display); font-size: clamp(6rem,13vw,13rem); font-weight: 400; line-height: .65; letter-spacing: -.08em; text-transform: uppercase; }
.dan__copy h2 em { margin-left: 4vw; color: var(--paper); font-family: var(--serif); font-weight: 400; text-transform: none; }
.dan__copy > p { max-width: 31rem; color: rgba(10,9,13,.72); font-size: .87rem; line-height: 1.65; }
.dan dl { margin: 2rem 0 0; border-top: 1px solid rgba(10,9,13,.35); }
.dan dl div { padding: .8rem 0; display: grid; grid-template-columns: 1fr 2fr; border-bottom: 1px solid rgba(10,9,13,.25); font-family: var(--mono); font-size: .57rem; text-transform: uppercase; }
.dan dt { color: rgba(10,9,13,.5); }
.dan dd { margin: 0; font-weight: 700; }
.dan__vertical { position: absolute; right: 1rem; top: 50%; margin: 0; translate: 45% -50%; rotate: 90deg; font-family: var(--mono); font-size: .52rem; letter-spacing: .12em; }
.moments { padding: 8rem 0 7rem; overflow: hidden; background: var(--soft-ink); }
.moments__heading { padding: 0 4vw 4rem; display: grid; grid-template-columns: .7fr 2fr .7fr; align-items: end; gap: 2rem; }
.moments__heading > p { margin: 0; color: rgba(240,237,230,.5); font-family: var(--mono); font-size: .55rem; text-transform: uppercase; }
.moment-track { padding: 0 4vw 1.5rem; display: flex; gap: 1.3rem; overflow-x: auto; scrollbar-width: none; cursor: grab; }
.moment-track::-webkit-scrollbar { display: none; }
.moment-track.is-dragging { cursor: grabbing; }
.moment-card { flex: 0 0 28vw; min-width: 20rem; margin: 0; border: 1px solid var(--line-light); background: var(--ink); }
.moment-card--wide { flex-basis: 42vw; }
.moment-card img { height: 62vh; min-height: 31rem; object-fit: cover; filter: saturate(.55) contrast(1.15); transition: filter .45s,scale .8s var(--ease); }
.moment-card:hover img { filter: saturate(1) contrast(1.05); }
.moment-card figcaption { padding: 1rem; display: flex; justify-content: space-between; font-family: var(--mono); font-size: .57rem; text-transform: uppercase; }
.moment-card figcaption b { color: var(--orange); }
.book { position: relative; min-height: 100svh; padding: 3rem 4vw 2rem; display: flex; flex-direction: column; overflow: hidden; background: var(--acid); color: var(--ink); }
.book__signal { position: absolute; top: 0; right: 4vw; height: 22vh; display: flex; align-items: start; gap: .45rem; }
.book__signal i { width: 2px; height: calc(18% + var(--bar,45%)); background: var(--ink); transform-origin: top; animation: signalBars 1.4s ease-in-out infinite alternate; }
.book__signal i:nth-child(2n) { --bar: 70%; animation-delay: -.4s; }.book__signal i:nth-child(3n) { --bar: 30%; animation-delay: -.8s; }.book__signal i:nth-child(5n) { --bar: 55%; animation-delay: -.2s; }
@keyframes signalBars { to { scale: 1 .35; } }
.book__meta { display: flex; justify-content: space-between; font-family: var(--mono); font-size: .56rem; text-transform: uppercase; letter-spacing: .08em; }
.book__meta span:last-child { display: flex; align-items: center; gap: .6rem; }
.book__meta i { background: var(--orange); box-shadow: 0 0 18px var(--orange); }
.book h2 { position: relative; z-index: 2; margin: auto 0 1.5rem; font-family: var(--display); font-size: clamp(5.5rem,13vw,13rem); font-weight: 400; line-height: .71; letter-spacing: -.07em; text-transform: uppercase; }
.book h2 em { padding-left: 15vw; color: var(--orange); font-family: var(--serif); font-weight: 400; text-transform: none; }
.book > p { margin: 0 0 2rem 1vw; font-size: .8rem; line-height: 1.55; }
.book__actions { display: flex; align-items: center; gap: 1rem; }
.book__primary { min-width: 31rem; padding: 1.3rem 1.5rem; display: flex; justify-content: space-between; border-radius: 999px; background: var(--ink); color: white; font-family: var(--mono); font-size: .64rem; text-transform: uppercase; box-shadow: 0 18px 45px rgba(10,9,13,.22); }
.book__secondary { padding: 1.1rem 1.4rem; border: 1px solid var(--ink); border-radius: 999px; font-family: var(--mono); font-size: .58rem; text-transform: uppercase; }
.book footer { margin-top: 3rem; padding-top: 1.5rem; display: grid; grid-template-columns: 1.5fr 1fr 1fr auto; align-items: end; border-top: 1px solid rgba(10,9,13,.32); font-family: var(--mono); font-size: .54rem; text-transform: uppercase; }
.brand--footer strong { font-size: 2.7rem; }
.book footer p { margin: 0; line-height: 1.5; }
.reveal { opacity: 0; filter: blur(7px); transform: translateY(4rem); transition: opacity 1s ease,filter 1s ease,transform 1.1s var(--ease); }
.reveal.is-visible { opacity: 1; filter: blur(0); transform: none; }
@media (max-width: 1050px) {
  .availability,.desktop-nav,.header-book { display: none; }.site-header { grid-template-columns: 1fr auto; }.menu-toggle { display: flex; }
  .hero { grid-template-columns: 1fr; }.hero__panel--copy { z-index: 4; min-height: 100svh; width: 100%; padding: 7rem 1.2rem 2rem; background: linear-gradient(90deg,rgba(10,9,13,.96),rgba(10,9,13,.6) 55%,rgba(10,9,13,.22)); }.hero__panel--visual { position: absolute; inset: 0; border: 0; }.hero h1 { left: 1.2rem; top: 28%; width: calc(100vw - 2.4rem); font-size: clamp(4.5rem,15vw,8.5rem); }.hero__intro,.hero__book { position: relative; z-index: 7; }.hero__scroll { left: auto; right: 0; }.sound-control { width: 22rem; }
  .experience__header,.moments__heading { grid-template-columns: 1fr; align-items: start; }.experience__stage { grid-template-columns: 1fr; }.experience__visual { min-height: 64svh; }.experience__list { grid-template-rows: repeat(4,minmax(8.5rem,auto)); }
  .principles { grid-template-columns: 1fr 1fr; }.principle--image { grid-column: 1/-1; min-height: 80svh; }.dan { grid-template-columns: 1fr; }.dan__portrait { min-height: 82svh; }.dan__copy { min-height: 90svh; }
}
@media (max-width: 640px) {
  .cursor { display: none; }.site-header { min-height: 4.7rem; padding: .8rem 1rem; }.brand strong { font-size: 1.4rem; }.hero__eyebrow { width: 100%; }.hero__eyebrow span:last-child { display: none; }
  .hero h1 { top: 29%; font-size: clamp(4.1rem,19vw,6.2rem); line-height: .82; }.title-line--outline { padding-left: 0; }.title-line--serif { padding-left: 5vw; }.hero__intro { max-width: 17rem; margin-bottom: 1.25rem; font-size: .72rem; }.hero__book { gap: 1.8rem; }.hero__signal,.orbit { display: none; }
  .sound-control { right: 1rem; bottom: 1rem; width: 3.7rem; padding: .35rem; }.sound-control span { display: none; }.sound-control__icon { width: 3rem; }.hero__scroll { display: none; }.ticker__track { padding: 1rem 0; }
  .manifesto { padding: 5rem 1rem 2rem; }.manifesto h2 { font-size: clamp(4rem,21vw,6rem); line-height: .84; }.manifesto h2 em,.manifesto__statement > p { padding-left: 0; margin-left: 0; }.manifesto__footer { grid-template-columns: 1fr; gap: 1.5rem; }.manifesto__disc { width: 7rem; right: -1rem; top: 6rem; opacity: .8; }
  .experience { padding: 5rem 1rem 2rem; }.experience__header { padding: 0 0 3rem; }.experience__header h2,.moments h2 { font-size: clamp(3.6rem,18vw,5.5rem); }.experience__stage,.experience__visual { min-height: 32rem; }.experience-row { padding: 1.2rem 1rem; }.experience-row h3 { font-size: 2.25rem; }
  .principles { grid-template-columns: 1fr; }.principle,.principle--image { grid-column: auto; min-height: 70svh; }.dan__portrait { min-height: 70svh; }.dan__copy { min-height: 80svh; padding: 5rem 1rem 2rem; }.dan__copy h2 { font-size: clamp(6rem,32vw,9rem); }.dan__vertical { display: none; }
  .moments { padding: 5rem 0 4rem; }.moments__heading { padding: 0 1rem 3rem; }.moment-track { padding-left: 1rem; }.moment-card,.moment-card--wide { flex-basis: 82vw; min-width: 82vw; }.moment-card img { height: 58vh; min-height: 27rem; }
  .book { padding: 2rem 1rem 1rem; }.book__meta span:first-child { display: none; }.book__meta { justify-content: flex-end; }.book h2 { font-size: clamp(3.65rem,16vw,4.7rem); line-height: .84; }.book h2 em { padding-left: 0; }.book__actions { align-items: stretch; flex-direction: column; }.book__primary { min-width: 0; width: 100%; }.book__secondary { text-align: center; }.book footer { grid-template-columns: 1fr 1fr; gap: 2rem; }.book footer > a:last-child { text-align: right; }
  .menu-overlay { padding: 1rem; }.menu-overlay nav a { gap: .6rem; font-size: clamp(2.5rem,11vw,3.8rem); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } .loader { display: none; } .title-line b,.reveal { transform: none; opacity: 1; filter: none; } }
