
:root {
  --ink: #0b0c0d;
  --ink-soft: #131618;
  --paper: #eee9df;
  --muted: #a7aaa5;
  --line: rgba(238, 233, 223, 0.18);
  --line-dark: rgba(11, 12, 13, 0.2);
  --orange: #f15a36;
  --cyan: #74d4cc;
  --violet: #b7a6ff;
  --display: "Helvetica Neue", "Arial Narrow", Arial, sans-serif;
  --reading: Iowan Old Style, Baskerville, "Times New Roman", serif;
  --mono: "SFMono-Regular", Consolas, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: var(--display); font-size: 16px; line-height: 1.45; }
body::before { content: ""; position: fixed; inset: 0; z-index: 99; pointer-events: none; opacity: .025; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E"); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { color: inherit; }
img { display: block; }
.sr-only { 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; }
::selection { background: var(--orange); color: var(--ink); }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 200; left: 1rem; top: -5rem; padding: .8rem 1rem; background: var(--paper); color: var(--ink); }
.skip-link:focus { top: 1rem; }
.section-shell { width: min(100%, 1600px); margin-inline: auto; padding-inline: clamp(1.2rem, 4vw, 4.5rem); }
.eyebrow, .section-marker, .meta-line, .image-caption { text-transform: uppercase; letter-spacing: .12em; font-family: var(--mono); font-size: .68rem; }
.section-marker { color: var(--orange); }
.image-frame { position: relative; overflow: hidden; background: #242729; }
.image-frame img, .project-image img { object-fit: cover; filter: saturate(.82) contrast(1.04); }
.image-caption { position: absolute; left: 1rem; bottom: 1rem; padding: .45rem .65rem; background: rgba(11,12,13,.8); color: var(--paper); }
.text-link, .button-link { display: inline-flex; align-items: center; gap: 2rem; border-bottom: 1px solid currentColor; padding-bottom: .45rem; font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; }
.button-link { border: 1px solid var(--line); padding: 1rem 1.2rem; justify-content: space-between; min-width: 15rem; }
.round-arrow { display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid currentColor; border-radius: 50%; flex: none; transition: transform .25s, background .25s, color .25s; }
a:hover .round-arrow, .round-arrow:hover { transform: rotate(45deg); background: var(--paper); color: var(--ink); }

.site-header { position: fixed; z-index: 80; top: 0; left: 0; right: 0; height: 5.5rem; display: grid; grid-template-columns: 16rem 1fr 10rem; align-items: center; gap: 2rem; padding: 0 clamp(1.2rem,4vw,4.5rem); border-bottom: 1px solid var(--line); background: rgba(11,12,13,.82); backdrop-filter: blur(18px); }
.wordmark { display: inline-flex; gap: .7rem; align-items: center; width: max-content; font-weight: 700; text-transform: uppercase; line-height: .9; }
.wordmark > span:first-child { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border: 1px solid var(--paper); border-radius: 50%; font-size: .75rem; }
.wordmark-name { font-size: .7rem; letter-spacing: .06em; }
.main-nav { display: flex; justify-content: center; gap: clamp(1rem,2.2vw,2.5rem); font-size: .76rem; text-transform: uppercase; letter-spacing: .07em; }
.main-nav a { color: #bfc0bb; transition: color .2s; }
.main-nav a:hover, .main-nav a[aria-current="page"] { color: var(--paper); }
.contact-link { color: var(--orange) !important; }
.sound-control { display: inline-flex; align-items: center; justify-content: flex-end; gap: .5rem; border: 0; background: none; cursor: pointer; color: var(--muted); text-transform: uppercase; font-family: var(--mono); font-size: .62rem; letter-spacing: .08em; }
.sound-control.is-active { color: var(--cyan); }
.menu-toggle { display: none; border: 0; background: none; text-transform: uppercase; font-size: .75rem; }

.hero { position: relative; min-height: max(48rem, 100svh); padding-top: 9rem; padding-bottom: 3rem; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; border-bottom: 1px solid var(--line); }
.hero::before { content: ""; position: absolute; inset: 5.5rem 4.5rem 0; pointer-events: none; border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.hero-kicker { position: relative; z-index: 2; align-self: center; margin: 0; color: var(--muted); font-family: var(--mono); font-size: .66rem; letter-spacing: .11em; text-transform: uppercase; }
.hero h1 { position: relative; z-index: 2; margin: 4rem 0 2rem; font-size: clamp(5rem, 14.5vw, 14rem); line-height: .72; letter-spacing: -.085em; text-transform: uppercase; font-weight: 650; }
.hero h1 span { display: block; }
.hero h1 span:last-child { text-align: right; color: transparent; -webkit-text-stroke: 1.5px var(--paper); }
.hero-bottom { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: end; gap: 3rem; }
.hero-bottom p { width: min(42rem, 58vw); margin: 0; font-family: var(--reading); font-size: clamp(1.15rem,1.8vw,1.65rem); }
.scroll-cue { display: flex; gap: 2.5rem; align-items: center; border-bottom: 1px solid var(--paper); padding-bottom: .5rem; text-transform: uppercase; font-size: .73rem; letter-spacing: .08em; }
.hero-coordinate { position: absolute; z-index: 2; top: 10rem; right: 4.5rem; color: var(--muted); font-family: var(--mono); font-size: .58rem; text-align: right; }
.system-field { position: absolute; inset: 4rem 6vw 2rem; z-index: 0; opacity: .9; pointer-events: none; }
.system-field canvas { width: 100%; height: 100%; }
.system-orbit { position: absolute; border: 1px solid rgba(116,212,204,.15); border-radius: 50%; }
.orbit-one { width: 45vw; aspect-ratio: 1; right: 13%; top: 10%; }
.orbit-two { width: 26vw; aspect-ratio: 1; left: 17%; bottom: 8%; border-color: rgba(241,90,54,.18); }

.manifesto { padding-top: clamp(7rem,12vw,13rem); padding-bottom: clamp(7rem,12vw,13rem); }
.manifesto > h2, .projects-preview > h2 { max-width: 73rem; margin: 2rem 0 6rem 11vw; font-size: clamp(2.5rem,6vw,6.8rem); line-height: .95; letter-spacing: -.055em; font-weight: 480; }
h2 em { font-family: var(--reading); font-weight: 400; color: var(--orange); }
.theme-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); }
.theme-card { min-height: 21rem; padding: 1.4rem; border-right: 1px solid var(--line); position: relative; transition: background .25s, color .25s; }
.theme-card:last-child { border: 0; }
.theme-card > span:first-child { font-family: var(--mono); font-size: .65rem; color: var(--muted); }
.theme-card h3 { margin: 5rem 0 1.2rem; font-size: clamp(1.8rem,3vw,3rem); font-weight: 500; }
.theme-card p { max-width: 19rem; color: var(--muted); }
.theme-card .card-arrow { position: absolute; bottom: 1.5rem; right: 1.5rem; }
.theme-card:hover { background: var(--paper); color: var(--ink); }
.theme-card:hover p { color: #454947; }

.split-feature { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 52rem; padding-inline: 0; background: var(--paper); color: var(--ink); }
.feature-image { min-height: 52rem; }
.feature-copy { padding: clamp(3rem,7vw,7.5rem); display: flex; flex-direction: column; justify-content: center; }
.feature-copy h2, .conference-copy h2 { margin: 1rem 0 2rem; font-size: clamp(3rem,5.5vw,6rem); line-height: .9; letter-spacing: -.055em; font-weight: 520; }
.feature-copy > p:not(.section-marker), .conference-copy > p:not(.section-marker) { max-width: 33rem; font-family: var(--reading); font-size: 1.25rem; }
.mini-timeline { margin: 3rem 0; border-top: 1px solid var(--line-dark); }
.mini-timeline > div { display: grid; grid-template-columns: 8rem 1fr; padding: 1rem 0; border-bottom: 1px solid var(--line-dark); }
.mini-timeline span { font-family: var(--mono); font-size: .68rem; color: #555; }
.mini-timeline p { margin: 0; }

.writing-preview { padding-top: 9rem; padding-bottom: 10rem; }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 5rem; }
.section-heading h2 { margin: .8rem 0 0; font-size: clamp(3.2rem,7vw,7rem); line-height: .85; letter-spacing: -.06em; font-weight: 500; }
.latest-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }
.latest-card { min-height: 31rem; padding: 1.5rem; border-right: 1px solid var(--line); position: relative; display: flex; flex-direction: column; }
.latest-card:last-child { border: 0; }
.large-index { display: block; font-size: clamp(4rem,8vw,8rem); letter-spacing: -.08em; color: rgba(238,233,223,.12); line-height: 1; }
.latest-card .meta-line { color: var(--cyan); margin-top: 2rem; }
.latest-card h3 { font-family: var(--reading); font-size: clamp(1.5rem,2.3vw,2.3rem); line-height: 1.05; font-weight: 400; }
.latest-card > p:last-of-type { color: var(--muted); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.latest-card .round-arrow { position: absolute; right: 1.5rem; bottom: 1.5rem; }

.conference-preview { padding-inline: 0; display: grid; grid-template-columns: .9fr 1.1fr; min-height: 48rem; background: var(--orange); color: var(--ink); }
.conference-visual { min-height: 48rem; }
.conference-copy { padding: clamp(3rem,7vw,8rem); }
.conference-copy ul { list-style: none; padding: 0; margin: 3rem 0; border-top: 1px solid var(--line-dark); counter-reset: items; }
.conference-copy .commercial-note { margin: 1.5rem 0 0; font-family: var(--mono); font-size: .62rem; line-height: 1.6; text-transform: uppercase; letter-spacing: .08em; }
.conference-copy li { counter-increment: items; padding: 1rem 0 1rem 3rem; border-bottom: 1px solid var(--line-dark); position: relative; }
.conference-copy li::before { content: "0" counter(items); position: absolute; left: 0; font-family: var(--mono); font-size: .65rem; }
.conference-copy .button-link { border-color: var(--ink); }

.projects-preview { padding-top: 10rem; padding-bottom: 11rem; }
.project-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.project-panel { background: var(--ink-soft); padding: 1.5rem; min-height: 41rem; position: relative; display: flex; flex-direction: column; }
.project-image { position: relative; height: 19rem; overflow: hidden; background: #f0ede6; }
.project-image img { object-fit: contain; }
.project-panel > div:nth-child(2) { padding: 2rem 1rem; }
.project-panel h3 { margin: .5rem 0; font-size: clamp(2.8rem,5vw,5rem); letter-spacing: -.05em; font-weight: 500; }
.project-panel p { max-width: 32rem; color: var(--muted); }
.project-panel .round-arrow { position: absolute; right: 2rem; bottom: 2rem; }

.closing { padding-top: 9rem; padding-bottom: 9rem; background: var(--paper); color: var(--ink); }
.closing h2 { max-width: 75rem; margin: 2rem 0 5rem; font-size: clamp(3.2rem,8vw,8rem); line-height: .88; letter-spacing: -.065em; font-weight: 500; }
.conference-pricing { margin: -3rem 0 4rem; font-family: var(--mono); font-size: .72rem; text-transform: uppercase; letter-spacing: .09em; }
.giant-link { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; padding: 1.5rem 0; font-size: clamp(2.5rem,7vw,7rem); letter-spacing: -.055em; }

.site-footer { width: min(100%,1600px); margin: auto; min-height: 24rem; padding: 5rem clamp(1.2rem,4vw,4.5rem) 2rem; display: grid; grid-template-columns: 1.4fr .7fr .7fr; gap: 3rem; border-top: 1px solid var(--line); }
.footer-statement { font-family: var(--reading); font-size: clamp(1.5rem,2.6vw,2.7rem); }
.site-footer nav { display: flex; flex-direction: column; gap: .8rem; font-size: .8rem; text-transform: uppercase; }
.footer-note { color: var(--muted); font-size: .74rem; align-self: end; }

.page-intro { min-height: 42rem; padding-top: 11rem; padding-bottom: 5rem; display: grid; grid-template-columns: 12vw 1fr; align-items: end; border-bottom: 1px solid var(--line); }
.page-index { font-size: clamp(5rem,12vw,12rem); line-height: .75; color: rgba(238,233,223,.09); letter-spacing: -.08em; }
.page-intro h1 { max-width: 78rem; margin: 1rem 0 2rem; font-size: clamp(4.4rem,10vw,10.5rem); line-height: .8; letter-spacing: -.075em; font-weight: 540; }
.page-lead { max-width: 48rem; margin-left: auto; font-family: var(--reading); font-size: clamp(1.25rem,2.2vw,2rem); }

.timeline { padding-top: 7rem; padding-bottom: 8rem; }
.timeline-entry { display: grid; grid-template-columns: 10rem minmax(20rem, .9fr) 1fr; gap: 4vw; align-items: center; min-height: 35rem; border-top: 1px solid var(--line); padding: 4rem 0; }
.timeline-date { font-family: var(--mono); font-size: .7rem; color: var(--orange); align-self: start; }
.timeline-image { aspect-ratio: 4/3; transform: rotate(-1.4deg); }
.timeline-entry:nth-child(even) .timeline-image { transform: rotate(1.2deg); }
.timeline-copy > span { color: var(--muted); font-family: var(--mono); font-size: .65rem; }
.timeline-copy h2 { margin: 1.2rem 0; font-size: clamp(2.4rem,4.5vw,4.8rem); line-height: .92; letter-spacing: -.05em; font-weight: 500; }
.timeline-copy p { font-family: var(--reading); font-size: 1.18rem; color: #c3c3bd; }
.quote-band { min-height: 34rem; padding-top: 6rem; padding-bottom: 6rem; background: var(--cyan); color: var(--ink); display: flex; flex-direction: column; justify-content: space-between; }
.quote-band blockquote { max-width: 73rem; margin: 0; font-family: var(--reading); font-size: clamp(2.4rem,5vw,5.2rem); line-height: .98; }
.quote-band .button-link { border-color: var(--ink); align-self: end; }

.explorer-section, .archive-browser { padding-top: 5rem; padding-bottom: 9rem; }
.explorer-tools { display: flex; justify-content: space-between; gap: 2rem; align-items: end; padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
.filter-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.filter-list button { border: 1px solid var(--line); border-radius: 2rem; background: transparent; padding: .7rem 1rem; font-size: .72rem; cursor: pointer; }
.filter-list button.is-active { background: var(--paper); color: var(--ink); }
.search-field { display: grid; gap: .3rem; min-width: 17rem; font-size: .65rem; text-transform: uppercase; color: var(--muted); }
.search-field input { border: 0; border-bottom: 1px solid var(--line); color: var(--paper); background: transparent; padding: .7rem 0; outline: 0; }
.result-count { color: var(--muted); font-family: var(--mono); font-size: .68rem; }
.article-row { display: grid; grid-template-columns: 5rem 1fr 4rem; gap: 2rem; align-items: start; padding: 2.5rem 0; border-top: 1px solid var(--line); }
.article-number { color: var(--muted); font-family: var(--mono); font-size: .7rem; }
.article-row h2 { max-width: 60rem; margin: .5rem 0 1rem; font-family: var(--reading); font-size: clamp(1.7rem,3vw,3rem); line-height: 1.04; font-weight: 400; }
.article-row > div > p:last-child { max-width: 48rem; color: var(--muted); }
.article-row .meta-line { color: var(--cyan); }

.article-header { min-height: 46rem; padding-top: 11rem; padding-bottom: 5rem; border-bottom: 1px solid var(--line); }
.back-link { display: inline-block; margin-bottom: 5rem; color: var(--muted); font-size: .75rem; text-transform: uppercase; }
.article-header h1 { max-width: 75rem; margin: 1.2rem 0 2rem; font-family: var(--reading); font-size: clamp(3rem,7vw,7rem); line-height: .95; font-weight: 400; letter-spacing: -.045em; }
.article-deck { max-width: 50rem; font-size: 1.2rem; color: var(--muted); }
.article-meta { display: flex; gap: 2rem; margin-top: 3rem; font-family: var(--mono); color: var(--cyan); font-size: .68rem; }
.article-body { max-width: 57rem; padding-top: 6rem; padding-bottom: 7rem; }
.article-body p, .article-body blockquote { font-family: var(--reading); font-size: clamp(1.2rem,1.8vw,1.45rem); line-height: 1.7; }
.article-body h2 { margin: 4.5rem 0 1.5rem; font-size: clamp(2rem,4vw,4rem); line-height: 1; letter-spacing: -.04em; font-weight: 500; }
.article-body blockquote { margin: 4rem -8vw; padding: 3rem 8vw; border-top: 1px solid var(--orange); border-bottom: 1px solid var(--orange); color: var(--orange); font-size: clamp(1.8rem,3vw,3rem); line-height: 1.25; }
.list-line { padding-left: 2rem; position: relative; }
.list-line::before { content: "—"; position: absolute; left: 0; color: var(--orange); }
.article-source { display: flex; justify-content: space-between; gap: 3rem; padding-top: 3rem; padding-bottom: 3rem; border-top: 1px solid var(--line); background: var(--ink-soft); color: var(--muted); }
.article-source div { max-width: 40rem; }
.article-source a { color: var(--paper); border-bottom: 1px solid currentColor; align-self: center; }

.conference-positioning { display: grid; grid-template-columns: 10rem 1fr auto; gap: 4vw; align-items: end; padding-top: 5rem; padding-bottom: 5rem; border-bottom: 1px solid var(--line); }
.conference-positioning h2 { max-width: 60rem; margin: 0 0 1.5rem; font-size: clamp(3rem,6vw,6rem); line-height: .9; letter-spacing: -.055em; font-weight: 500; }
.conference-positioning div > p { max-width: 42rem; margin: 0; color: var(--muted); font-family: var(--reading); font-size: 1.18rem; }
.conference-topics { display: grid; grid-template-columns: repeat(3,1fr); padding-top: 6rem; padding-bottom: 8rem; }
.conference-topics article { min-height: 62rem; padding: 1.5rem; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.conference-topics article:last-child { border: 0; }
.conference-topics h2 { margin: 3rem 0 1.5rem; font-size: clamp(2rem,3.5vw,3.8rem); line-height: .97; font-weight: 500; letter-spacing: -.04em; }
.conference-topics article > p { color: var(--muted); }
.conference-topics .conference-category { margin: 1rem 0 -2rem; color: var(--cyan); font-family: var(--mono); font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; }
.conference-facts { margin: auto 0 2rem; border-top: 1px solid var(--line); }
.conference-facts > div { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.conference-facts dt { color: var(--orange); font-family: var(--mono); font-size: .59rem; text-transform: uppercase; }
.conference-facts dd { margin: 0; color: #c5c5bf; font-family: var(--reading); font-size: .92rem; }
.conference-card-cta { display: flex; justify-content: space-between; align-items: center; padding: 1rem 0; border-top: 1px solid var(--paper); border-bottom: 1px solid var(--paper); font-size: .67rem; text-transform: uppercase; letter-spacing: .06em; }
.commercial-offer { padding-top: 8rem; padding-bottom: 8rem; background: var(--paper); color: var(--ink); }
.commercial-heading { display: grid; grid-template-columns: 10rem 1fr; column-gap: 4vw; }
.commercial-heading .section-marker { grid-row: 1 / span 2; }
.commercial-heading h2 { max-width: 70rem; margin: 0; font-size: clamp(3.4rem,7vw,7.5rem); line-height: .88; letter-spacing: -.065em; font-weight: 500; }
.commercial-heading > p:last-child { grid-column: 2; max-width: 44rem; margin: 2rem 0 0 auto; font-family: var(--reading); font-size: 1.25rem; }
.commercial-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; margin: 6rem 0 4rem 14vw; }
.commercial-columns ul { list-style: none; margin: 1.5rem 0 0; padding: 0; border-top: 1px solid var(--line-dark); }
.commercial-columns li { padding: 1rem 0; border-bottom: 1px solid var(--line-dark); }
.commercial-columns li::before { content: "↳"; display: inline-block; width: 2rem; color: var(--orange); }
.commercial-action { display: flex; justify-content: space-between; align-items: end; gap: 3rem; padding-top: 2rem; border-top: 1px solid var(--line-dark); }
.commercial-action p { display: grid; gap: .4rem; max-width: 40rem; margin: 0; }
.commercial-action p span { color: #5c605d; font-family: var(--reading); }
.commercial-action .button-link { border-color: var(--ink); min-width: 20rem; }
.tag-list { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: auto; }
.tag-list span { border: 1px solid var(--line); border-radius: 1rem; padding: .4rem .7rem; font-size: .65rem; }
.format-band { min-height: 38rem; display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; background: var(--violet); color: var(--ink); }
.format-band h2 { font-size: clamp(3rem,5.5vw,6rem); line-height: .9; letter-spacing: -.055em; font-weight: 500; }
.format-list p { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin: 0; padding: 1.5rem 0; border-bottom: 1px solid var(--line-dark); }
.format-list span { font-family: var(--reading); }
.engagement-process { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; padding-top: 8rem; padding-bottom: 8rem; }
.engagement-process h2 { margin: 1rem 0; font-size: clamp(3rem,6vw,6.2rem); line-height: .88; letter-spacing: -.06em; font-weight: 500; }
.engagement-process ol { list-style: none; padding: 0; margin: 0; }
.engagement-process li { display: grid; grid-template-columns: 4rem 1fr; gap: 1rem; padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.engagement-process li > span { color: var(--orange); font-family: var(--mono); font-size: .64rem; }
.engagement-process strong { font-size: 1.6rem; font-weight: 500; }
.engagement-process li p { margin: .4rem 0 0; color: var(--muted); font-family: var(--reading); }
.history-section { padding-top: 8rem; padding-bottom: 8rem; display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; }
.history-image { min-height: 38rem; }
.history-section h2 { font-size: clamp(3rem,6vw,6rem); margin: 1rem 0 3rem; letter-spacing: -.055em; font-weight: 500; }
.history-row { display: grid; grid-template-columns: 8rem 1fr; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.history-row > span { color: var(--cyan); font-family: var(--mono); font-size: .66rem; }
.history-row p { margin: .2rem 0; color: var(--muted); }

.project-index { padding-top: 5rem; padding-bottom: 8rem; }
.project-entry { display: grid; grid-template-columns: 10rem minmax(18rem,.7fr) 1fr; gap: 4vw; align-items: center; padding: 3rem 0; border-top: 1px solid var(--line); }
.project-entry-head { align-self: start; }
.project-entry-head > span { color: var(--orange); font-family: var(--mono); font-size: .68rem; }
.project-entry-head p { color: var(--muted); font-size: .72rem; }
.project-entry-image { aspect-ratio: 4/3; background: #e8e5de; }
.project-entry-image img { object-fit: cover; }
.project-entry:nth-child(n+5) .project-entry-image img, .project-entry:nth-child(3) .project-entry-image img { object-fit: contain; }
.project-entry-copy h2 { margin: .5rem 0 1.5rem; font-size: clamp(3rem,6vw,6rem); letter-spacing: -.06em; line-height: .85; font-weight: 500; }
.project-entry-copy > p:last-child { max-width: 36rem; font-family: var(--reading); font-size: 1.2rem; color: var(--muted); }

.archive-feature { display: grid; grid-template-columns: 1fr 1fr; min-height: 45rem; padding-inline: 0; background: var(--paper); color: var(--ink); }
.archive-feature-image { min-height: 45rem; background: #d5d0c7; }
.archive-feature-image img { object-fit: contain; padding: 2rem; }
.archive-feature > div:last-child { padding: clamp(3rem,7vw,7rem); display: flex; flex-direction: column; justify-content: center; }
.archive-feature h2 { margin: 1rem 0 2rem; font-size: clamp(3rem,6vw,6rem); line-height: .86; letter-spacing: -.06em; font-weight: 500; }
.archive-feature dl { margin-top: 3rem; }
.archive-feature dl > div { display: flex; justify-content: space-between; gap: 2rem; border-top: 1px solid var(--line-dark); padding: 1rem 0; }
.archive-feature dd { margin: 0; font-family: var(--mono); }
.archive-browser > h2 { margin: 1rem 0 4rem; font-size: clamp(3.5rem,7vw,7rem); letter-spacing: -.06em; font-weight: 500; }
.archive-controls { display: flex; align-items: center; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: .68rem; }
.archive-controls select { background: var(--ink); color: var(--paper); border: 1px solid var(--line); padding: .5rem 2rem .5rem .7rem; }
.archive-controls span { margin-left: auto; color: var(--muted); }
.archive-entry { display: grid; grid-template-columns: 8rem 1fr 10rem 2rem; gap: 2rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line); align-items: center; transition: padding .2s, background .2s; }
.archive-entry:hover { padding-left: 1rem; padding-right: 1rem; background: var(--ink-soft); }
.archive-entry time, .archive-kind { font-family: var(--mono); color: var(--muted); font-size: .65rem; }

.principles-grid { display: grid; grid-template-columns: repeat(4,1fr); padding-top: 6rem; padding-bottom: 8rem; }
.principles-grid article { min-height: 25rem; padding: 1.5rem; border-right: 1px solid var(--line); }
.principles-grid article:last-child { border: 0; }
.principles-grid span { color: var(--cyan); font-family: var(--mono); font-size: .68rem; }
.principles-grid h2 { margin-top: 5rem; font-size: 2.5rem; font-weight: 500; }
.principles-grid p { color: var(--muted); }
.access-note { padding-top: 7rem; padding-bottom: 8rem; background: var(--cyan); color: var(--ink); }
.access-note h2 { font-size: clamp(3rem,7vw,7rem); line-height: .9; letter-spacing: -.06em; font-weight: 500; }
.access-note > p:last-child { max-width: 44rem; margin-left: auto; font-family: var(--reading); font-size: 1.3rem; }

.contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; padding-top: 7rem; padding-bottom: 8rem; }
.contact-prompt ol { list-style: none; padding: 0; margin: 3rem 0; }
.contact-prompt li { padding: 1.5rem 0; border-bottom: 1px solid var(--line); font-size: clamp(1.4rem,2.5vw,2.5rem); }
.contact-prompt li span { display: inline-block; width: 4rem; color: var(--orange); font-family: var(--mono); font-size: .65rem; }
.contact-action > p:first-child { max-width: 35rem; color: var(--muted); font-family: var(--reading); font-size: 1.25rem; }
.contact-action .giant-link { margin-top: 4rem; }
.contact-prompt h2 { max-width: 13ch; margin: 2rem 0; font-size: clamp(2rem,4vw,4.4rem); line-height: .94; letter-spacing: -.05em; font-weight: 520; }
.contact-source-note { max-width: 28rem; margin-top: 2rem; color: var(--muted); font-family: var(--mono); font-size: .68rem; line-height: 1.6; text-transform: uppercase; letter-spacing: .08em; }
.contact-brief { width: 100%; }
.contact-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.contact-brief label { display: grid; gap: .65rem; color: var(--muted); font-family: var(--mono); font-size: .68rem; line-height: 1.4; text-transform: uppercase; letter-spacing: .08em; }
.contact-brief input, .contact-brief select, .contact-brief textarea { width: 100%; min-height: 3.4rem; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: 0; color: var(--paper); background: rgba(238,233,223,.035); font: 1rem/1.4 var(--reading); text-transform: none; letter-spacing: normal; }
.contact-brief textarea { min-height: 9rem; resize: vertical; }
.contact-brief input:focus-visible, .contact-brief select:focus-visible, .contact-brief textarea:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; border-color: transparent; }
.contact-wide { grid-column: 1 / -1; }
.contact-consent { display: flex !important; grid-template-columns: auto 1fr; align-items: start; margin: 1.6rem 0; text-transform: none !important; letter-spacing: 0 !important; }
.contact-consent input { width: 1.1rem; min-height: 1.1rem; margin-top: .1rem; accent-color: var(--orange); }
.contact-submit { cursor: pointer; color: var(--paper); background: transparent; }
.privacy-note { font-family: var(--mono); color: var(--muted); font-size: .63rem; }
.contact-direct { margin-top:2.5rem; padding:1.5rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.contact-direct span { display:block; color:var(--cyan); font:700 .65rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.contact-direct a { display:inline-block; margin:.8rem 0; color:var(--paper); font-family:var(--reading); font-size:clamp(1.25rem,2.2vw,2rem); overflow-wrap:anywhere; }
.contact-direct p { margin:0; color:var(--muted); font-family:var(--reading); font-size:.9rem; }
.contact-secondary { display: flex; justify-content: space-between; align-items: center; padding-top: 3rem; padding-bottom: 3rem; background: var(--paper); color: var(--ink); }
.contact-secondary .button-link { border-color: var(--ink); }
.not-found { min-height: 80svh; padding-top: 14rem; padding-bottom: 7rem; }
.not-found h1 { max-width: 65rem; font-size: clamp(4rem,9vw,9rem); line-height: .85; letter-spacing: -.07em; }

/* Expérience continue */
.page-progress { position: fixed; z-index: 95; right: 0; top: 0; width: 3px; height: 100svh; background: rgba(238,233,223,.08); pointer-events: none; }
.page-progress span { display: block; width: 100%; height: 100%; transform-origin: top; transform: scaleY(var(--page-progress, 0)); background: linear-gradient(var(--cyan), var(--orange)); }
.pointer-halo { position: fixed; z-index: 70; left: -7rem; top: -7rem; width: 14rem; height: 14rem; border: 1px solid rgba(116,212,204,.16); border-radius: 50%; pointer-events: none; mix-blend-mode: difference; }
.motion-ready main > section:not(.hero), .motion-ready [data-reveal] { opacity: 0; transform: translateY(5rem); transition: opacity .85s cubic-bezier(.2,.65,.2,1), transform 1.1s cubic-bezier(.2,.65,.2,1); }
.motion-ready main > section.is-visible, .motion-ready [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
[data-depth] { transform: translate3d(0, var(--depth-offset, 0), 0); will-change: transform; }
#contenu { animation: route-arrival .7s cubic-bezier(.2,.75,.25,1) both; }
@keyframes route-arrival { from { opacity: 0; transform: translateY(1.5rem) scale(.995); } to { opacity: 1; transform: none; } }

/* Carte spatiale */
.spatial-index { --map-progress: 0; position: relative; height: 340svh; background: #090b0c; color: var(--paper); }
.spatial-stage { position: sticky; top: 0; height: 100svh; min-height: 44rem; overflow: hidden; perspective: 1200px; }
.spatial-stage::before { content: ""; position: absolute; inset: 15% 25%; border: 1px solid rgba(116,212,204,.12); border-radius: 50%; transform: scale(var(--map-scale, .72)); opacity: var(--map-opacity, .2); box-shadow: 0 0 12rem rgba(116,212,204,.06); }
.spatial-stage::after { content: ""; position: absolute; inset: -35%; background: conic-gradient(from var(--map-angle-wide, 0deg), transparent, rgba(183,166,255,.045), transparent 22%, rgba(241,90,54,.04), transparent 46%); transform: rotate(var(--map-angle, 0deg)); pointer-events: none; }
.spatial-heading { position: absolute; z-index: 4; left: clamp(1.2rem,4vw,4.5rem); top: 8rem; width: min(34rem, 40vw); }
.spatial-heading h2 { margin: 1rem 0; font-size: clamp(3.2rem,6vw,6.7rem); line-height: .82; letter-spacing: -.07em; font-weight: 500; }
.spatial-heading > p:last-child { max-width: 28rem; color: var(--muted); font-family: var(--reading); font-size: 1.1rem; }
.spatial-core { position: absolute; z-index: 5; left: 50%; top: 52%; width: 7rem; height: 7rem; margin: -3.5rem; display: grid; place-items: center; border: 1px solid var(--paper); border-radius: 50%; background: var(--ink); transform: translateZ(var(--map-core-z, 0)) rotate(var(--map-core-angle, 0deg)); box-shadow: 0 0 4rem rgba(116,212,204,.14); }
.spatial-core span { font-family: var(--mono); font-size: .75rem; }
.spatial-core i { position: absolute; width: .45rem; height: .45rem; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 1.5rem var(--cyan); }
.spatial-core i:nth-child(2) { left: -.25rem; top: 50%; }
.spatial-core i:nth-child(3) { right: 10%; top: 4%; background: var(--orange); }
.spatial-core i:nth-child(4) { right: 8%; bottom: 8%; background: var(--violet); }
.spatial-lines { position: absolute; z-index: 1; left: 50%; top: 52%; }
.spatial-lines i { position: absolute; left: 0; top: 0; width: 46vw; height: 1px; background: linear-gradient(90deg, rgba(116,212,204,.5), transparent); transform-origin: left; opacity: var(--map-line-opacity, .25); }
.spatial-lines i:nth-child(1) { transform: rotate(205deg) scaleX(var(--map-line-one, .75)); }
.spatial-lines i:nth-child(2) { transform: rotate(325deg) scaleX(var(--map-line-two, .68)); }
.spatial-lines i:nth-child(3) { transform: rotate(145deg) scaleX(var(--map-line-three, .8)); }
.spatial-lines i:nth-child(4) { transform: rotate(35deg) scaleX(var(--map-line-four, .7)); }
.spatial-node { position: absolute; z-index: 6; width: clamp(12rem,18vw,20rem); min-height: 9rem; padding: 1rem; border-top: 1px solid var(--line); background: rgba(11,12,13,.72); backdrop-filter: blur(12px); transition: transform .55s cubic-bezier(.2,.8,.2,1), background .3s, border-color .3s, opacity .3s; opacity: .42; }
.spatial-node.is-active, .spatial-node:hover, .spatial-node:focus-visible { opacity: 1; background: var(--paper); color: var(--ink); border-color: var(--orange); transform: scale(1.12) translateZ(60px); }
.spatial-node.north-west { left: 9%; top: 51%; }
.spatial-node.north-east { right: 8%; top: 19%; }
.spatial-node.south-west { left: 25%; bottom: 7%; }
.spatial-node.south-east { right: 6%; bottom: 10%; }
.node-index { display: block; font-family: var(--mono); color: var(--orange); font-size: .62rem; }
.node-title { display: block; margin: 1.2rem 0 .55rem; font-size: clamp(1.8rem,3vw,3rem); line-height: .9; letter-spacing: -.045em; }
.node-copy { display: block; max-height: 0; overflow: hidden; color: #4f5351; font-size: .78rem; opacity: 0; transition: max-height .35s, opacity .35s; }
.spatial-node.is-active .node-copy, .spatial-node:hover .node-copy { max-height: 5rem; opacity: 1; }
.node-open { position: absolute; right: 1rem; top: 1rem; }
.spatial-fragment { position: absolute; z-index: 2; overflow: hidden; pointer-events: none; opacity: calc(.18 + var(--map-progress) * .42); filter: grayscale(.5) contrast(1.2); }
.spatial-fragment img { object-fit: cover; }
.fragment-one { right: 31%; top: 15%; width: 12rem; height: 8rem; transform: translate3d(0, var(--map-lift-one, 0), -80px) rotate(8deg); }
.fragment-two { left: 9%; bottom: 5%; width: 9rem; height: 12rem; transform: translate3d(0, var(--map-lift-two, 0), -120px) rotate(-7deg); }
.spatial-counter { position: absolute; z-index: 5; right: 4.5rem; top: 50%; display: flex; flex-direction: column; align-items: center; gap: .7rem; font-family: var(--mono); font-size: .6rem; color: var(--muted); }
.spatial-counter i { display: block; width: 1px; height: 6rem; background: linear-gradient(var(--orange) var(--map-percent, 0%), var(--line) 0); }

/* Archive horizontale pilotée par le défilement vertical */
.archive-stream { --stream-progress: 0; position: relative; height: 430svh; background: var(--paper); color: var(--ink); }
.archive-stream-stage { position: sticky; top: 0; height: 100svh; min-height: 44rem; overflow: hidden; }
.archive-stream-header { position: absolute; z-index: 4; top: 7rem; left: 0; right: 0; display: flex; justify-content: space-between; align-items: start; }
.archive-stream-header h2 { width: 65%; margin: 0; font-size: clamp(3.5rem,7.5vw,8rem); line-height: .82; letter-spacing: -.07em; font-weight: 500; }
.archive-stream-rail { position: absolute; z-index: 3; left: 9vw; top: 43%; display: flex; align-items: end; gap: 3vw; width: max-content; will-change: transform; }
.trace-card { position: relative; width: clamp(17rem,27vw,31rem); height: 47vh; min-height: 21rem; padding: 1rem; border: 1px solid var(--line-dark); background: #e8e3d9; transition: transform .35s, background .35s; }
.trace-card:nth-child(even) { transform: translateY(3rem) rotate(1.3deg); }
.trace-card:nth-child(3n) { transform: translateY(-2rem) rotate(-1deg); }
.trace-card:hover { transform: translateY(-1rem) rotate(0); background: #f8f4ea; }
.trace-image { position: relative; height: 58%; overflow: hidden; background: #d5d0c7; }
.trace-image img { object-fit: cover; filter: grayscale(.35) contrast(1.05); transition: transform .7s, filter .4s; }
.trace-card:nth-child(3) .trace-image img, .trace-card:last-child .trace-image img { object-fit: contain; }
.trace-card:hover .trace-image img { transform: scale(1.06); filter: grayscale(0); }
.trace-meta { display: flex; justify-content: space-between; margin-top: .8rem; font-family: var(--mono); font-size: .62rem; text-transform: uppercase; color: #626662; }
.trace-card h3 { max-width: 80%; margin: 1rem 0; font-size: clamp(1.3rem,2vw,2.2rem); line-height: .95; font-weight: 500; letter-spacing: -.03em; }
.trace-card .round-arrow { position: absolute; right: 1rem; bottom: 1rem; }
.stream-meter { position: absolute; left: 0; right: 0; bottom: 2rem; height: 1px; background: var(--line-dark); }
.stream-meter span { display: block; width: 100%; height: 2px; background: var(--orange); transform-origin: left; transform: scaleX(var(--stream-progress)); }

@media (min-width: 981px) {
  .timeline-entry { min-height: 100svh; position: relative; }
  .timeline-date { position: sticky; top: 8rem; }
  .timeline-entry:nth-child(even) .timeline-image { order: 3; }
  .timeline-entry:nth-child(even) .timeline-copy { order: 2; }
  .timeline-image { clip-path: polygon(4% 0, 100% 5%, 95% 100%, 0 94%); transition: clip-path .7s, transform .7s; }
  .timeline-entry:hover .timeline-image { clip-path: polygon(0 3%, 96% 0, 100% 96%, 3% 100%); transform: rotate(0) scale(1.035); }
  .timeline-copy { position: sticky; top: 35vh; align-self: start; }
}

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto auto; height: 4.5rem; }
  .menu-toggle { display: block; }
  .main-nav { display: none; position: fixed; inset: 4.5rem 0 auto; padding: 2rem 1.2rem; background: var(--ink); border-bottom: 1px solid var(--line); flex-direction: column; align-items: flex-start; font-size: 1.1rem; }
  .main-nav.is-open { display: flex; }
  .sound-control > span:last-child { display: none; }
  .hero::before { inset: 4.5rem 1.2rem 0; }
  .theme-grid, .latest-grid, .conference-topics, .principles-grid { grid-template-columns: 1fr 1fr; }
  .theme-card:nth-child(2), .latest-card:nth-child(2), .conference-topics article:nth-child(2), .principles-grid article:nth-child(2) { border-right: 0; }
  .timeline-entry, .project-entry { grid-template-columns: 7rem 1fr; }
  .timeline-image, .project-entry-image { grid-column: 2; }
  .timeline-copy, .project-entry-copy { grid-column: 2; }
  .timeline-date, .project-entry-head { grid-row: 1 / span 2; }
  .article-body blockquote { margin-inline: 0; }
  .conference-positioning { grid-template-columns: 1fr; align-items: start; }
  .conference-positioning .button-link { margin-top: 1rem; }
  .spatial-heading { width: min(32rem, 50vw); }
  .spatial-node { width: 13rem; }
  .spatial-node.north-west { left: 4%; }
  .spatial-node.north-east { right: 3%; }
  .spatial-node.south-west { left: 16%; }
  .spatial-node.south-east { right: 3%; }
}

@media (max-width: 700px) {
  .site-header { padding-inline: 1rem; gap: .7rem; }
  .wordmark-name { display: none; }
  .hero { min-height: 43rem; padding-top: 7.5rem; }
  .hero-kicker { max-width: 17rem; align-self: flex-start; line-height: 1.6; }
  .hero h1 { margin-top: 7rem; font-size: clamp(4rem,20vw,7rem); line-height: .78; }
  .hero-bottom { align-items: start; flex-direction: column; }
  .hero-bottom p { width: 100%; font-size: 1.05rem; }
  .hero-coordinate { display: none; }
  .system-field { inset: 5rem 0 12rem; }
  .orbit-one { width: 85vw; right: -20%; }
  .manifesto { padding-top: 6rem; padding-bottom: 6rem; }
  .manifesto > h2, .projects-preview > h2 { margin: 2rem 0 4rem; }
  .theme-grid, .latest-grid, .conference-topics, .principles-grid { grid-template-columns: 1fr; }
  .theme-card, .theme-card:nth-child(2), .latest-card, .latest-card:nth-child(2), .conference-topics article, .conference-topics article:nth-child(2), .principles-grid article, .principles-grid article:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .conference-topics article { min-height: 0; }
  .conference-facts { margin-top: 3rem; }
  .theme-card { min-height: 16rem; }
  .theme-card h3 { margin-top: 3rem; }
  .split-feature, .conference-preview, .project-duo, .format-band, .history-section, .archive-feature, .contact-layout { grid-template-columns: 1fr; }
  .feature-image, .conference-visual, .history-image, .archive-feature-image { min-height: 28rem; }
  .feature-copy, .conference-copy, .archive-feature > div:last-child { padding: 4rem 1.2rem; }
  .section-heading { align-items: start; flex-direction: column; gap: 2.5rem; }
  .latest-card { min-height: 27rem; }
  .project-panel { min-height: 35rem; }
  .project-image { height: 16rem; }
  .site-footer { grid-template-columns: 1fr; min-height: auto; }
  .page-intro { min-height: 36rem; padding-top: 8rem; grid-template-columns: 1fr; }
  .page-index { font-size: 5rem; }
  .page-intro h1 { font-size: clamp(3.7rem,18vw,6.5rem); }
  .page-lead { margin-left: 0; }
  .timeline-entry, .project-entry { grid-template-columns: 1fr; gap: 1.5rem; }
  .timeline-date, .project-entry-head, .timeline-image, .project-entry-image, .timeline-copy, .project-entry-copy { grid-column: 1; grid-row: auto; }
  .timeline-entry { padding: 3rem 0; }
  .quote-band { min-height: 32rem; }
  .explorer-tools { align-items: stretch; flex-direction: column; }
  .search-field { min-width: 0; }
  .article-row { grid-template-columns: 2rem 1fr; gap: 1rem; }
  .article-row .round-arrow { grid-column: 2; }
  .article-header { padding-top: 8rem; }
  .article-source { flex-direction: column; }
  .format-list p { grid-template-columns: 1fr; gap: .5rem; }
  .history-section { gap: 4rem; }
  .commercial-heading { grid-template-columns: 1fr; }
  .commercial-heading .section-marker { grid-row: auto; }
  .commercial-heading > p:last-child { grid-column: 1; margin-left: 0; }
  .commercial-columns { grid-template-columns: 1fr; gap: 3rem; margin: 4rem 0; }
  .commercial-action { align-items: stretch; flex-direction: column; }
  .commercial-action .button-link { min-width: 0; }
  .engagement-process { grid-template-columns: 1fr; gap: 3rem; }
  .archive-entry { grid-template-columns: 6rem 1fr 1.5rem; gap: .8rem; }
  .archive-kind { display: none; }
  .contact-layout { gap: 3rem; }
  .contact-form-grid { grid-template-columns: 1fr; }
  .contact-wide { grid-column: auto; }
  .contact-secondary { align-items: flex-start; flex-direction: column; gap: 2rem; }
  .pointer-halo { display: none; }
  .spatial-index { height: auto; }
  .spatial-stage { position: relative; height: auto; min-height: 0; padding-top: 6rem; padding-bottom: 6rem; display: grid; gap: 1rem; perspective: none; }
  .spatial-stage::before { inset: 12rem -30% 25%; }
  .spatial-heading { position: relative; left: auto; top: auto; width: auto; margin-bottom: 3rem; }
  .spatial-heading h2 { font-size: clamp(3.4rem,17vw,6rem); }
  .spatial-core, .spatial-lines, .spatial-fragment, .spatial-counter { display: none; }
  .spatial-node, .spatial-node.north-west, .spatial-node.north-east, .spatial-node.south-west, .spatial-node.south-east { position: relative; inset: auto; width: 100%; min-height: 10rem; opacity: 1; transform: none; }
  .spatial-node.is-active, .spatial-node:hover { transform: none; }
  .node-copy { max-height: 5rem; opacity: 1; }
  .archive-stream { height: auto; }
  .archive-stream-stage { position: relative; height: auto; min-height: 0; padding: 6rem 0; overflow: visible; }
  .archive-stream-header { position: relative; top: auto; display: block; }
  .archive-stream-header h2 { width: 100%; margin-top: 1rem; font-size: clamp(3.3rem,16vw,6rem); }
  .archive-stream-rail { position: relative; left: auto; top: auto; width: auto; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4rem 1.2rem; gap: 1rem; transform: none !important; }
  .trace-card { flex: 0 0 82vw; height: 29rem; scroll-snap-align: center; }
  .trace-card:nth-child(even), .trace-card:nth-child(3n) { transform: none; }
  .stream-meter { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .system-field canvas { display: none; }
  .pointer-halo, .page-progress { display: none; }
  .spatial-index, .archive-stream { height: auto; }
  .spatial-stage, .archive-stream-stage { position: relative; height: auto; min-height: 46rem; }
  .archive-stream-rail { position: relative; left: auto; top: auto; width: auto; overflow-x: auto; padding: 20rem 2rem 5rem; transform: none !important; }
  .trace-card { flex: 0 0 min(28rem, 80vw); }
}

@media (forced-colors: active) {
  .hero h1 span:last-child { color: CanvasText; -webkit-text-stroke: 0; }
  .system-field, body::before { display: none; }
}

/* Presse — médiathèque documentaire */
body:has(.press-page) { background:#f7fbfa; color:#071014; }
body:has(.press-page) .site-footer { background:#071014; color:#eee9df; }
.press-page { --press-ink:#071014; --press-paper:#f7fbfa; --press-ice:#d9f4f7; --press-cyan:#2bbad0; --press-orange:#ee702e; background:var(--press-paper); color:var(--press-ink); }
.press-hero { min-height:100svh; padding:clamp(9rem,13vw,13rem) clamp(1.2rem,4vw,4.5rem) 5rem; display:flex; flex-direction:column; justify-content:center; overflow:hidden; background:linear-gradient(135deg,#fff 0 42%,var(--press-ice) 70%,#ffd8c2); }
.press-hero > p { margin:0 0 4rem; color:#147686; font:750 .62rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.press-hero h1 { margin:0; font-size:clamp(4.7rem,11vw,12.5rem); line-height:.68; letter-spacing:-.08em; font-weight:620; text-transform:uppercase; }
.press-hero h1 span,.press-hero h1 em,.press-hero h1 strong { display:block; }
.press-hero h1 em { margin-left:9vw; color:transparent; -webkit-text-stroke:2px var(--press-ink); font-style:normal; }
.press-hero h1 strong { margin-left:25vw; color:var(--press-orange); font-family:var(--reading); font-weight:400; text-transform:none; }
.press-hero > div { width:min(58rem,68vw); margin:5rem 0 0 auto; padding-top:1.5rem; border-top:2px solid var(--press-ink); display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:end; }
.press-hero > div p { margin:0; font-family:var(--reading); font-size:clamp(1.15rem,1.8vw,1.65rem); }
.press-hero > div a { min-height:3.5rem; padding:.8rem 0; border-bottom:2px solid var(--press-ink); display:flex; gap:3rem; align-items:center; font:750 .57rem var(--mono); text-transform:uppercase; }
.press-intro { padding:clamp(7rem,11vw,11rem) clamp(1.2rem,4vw,4.5rem); display:grid; grid-template-columns:11rem minmax(20rem,1fr) minmax(15rem,27rem); gap:4vw; align-items:end; background:var(--press-ink); color:white; }
.press-intro > span { color:var(--press-cyan); font:750 .58rem var(--mono); text-transform:uppercase; }
.press-intro h2 { margin:0; font-size:clamp(3.8rem,7vw,8rem); line-height:.78; letter-spacing:-.065em; }
.press-intro p { margin:0; color:#bdc9c7; font-family:var(--reading); font-size:1.1rem; }
.press-library { padding:clamp(5rem,8vw,8rem) clamp(1.2rem,4vw,4.5rem) clamp(8rem,12vw,13rem); }
.press-gallery-tools { margin-bottom:4rem; padding:1.2rem 0; border-top:2px solid var(--press-ink); border-bottom:2px solid var(--press-ink); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:2rem; }
.press-gallery-tools > p,.press-gallery-tools > span { margin:0; font:700 .55rem var(--mono); text-transform:uppercase; }
.press-gallery-tools > span { color:#147686; }
.press-gallery-tools > div { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; }
.press-gallery-tools button { min-height:2.75rem; padding:.55rem .8rem; border:1px solid rgba(7,16,20,.28); background:transparent; font:700 .52rem var(--mono); text-transform:uppercase; cursor:pointer; transition:background .25s,color .25s; }
.press-gallery-tools button[aria-pressed="true"],.press-gallery-tools button:hover { background:var(--press-ink); color:white; }
.press-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4rem 1rem; align-items:start; }
.press-card button { width:100%; padding:0; border:0; background:transparent; color:inherit; text-align:left; cursor:zoom-in; }
.press-card-image { position:relative; display:block; height:34rem; overflow:hidden; border:1px solid rgba(7,16,20,.18); background:#e1e8e7; box-shadow:.7rem .7rem 0 var(--press-ink); transition:transform .45s,box-shadow .45s; }
.press-card.is-landscape .press-card-image { height:25rem; }
.press-card-image img { object-fit:contain; padding:.6rem; filter:saturate(.72) contrast(1.03); transition:transform .65s,filter .45s; }
.press-card button:hover .press-card-image { transform:translateY(-.65rem); box-shadow:.25rem 1rem 2rem rgba(7,16,20,.17); }
.press-card button:hover img { transform:scale(1.025); filter:saturate(1); }
.press-card-copy { padding:1.5rem .2rem 0; display:grid; grid-template-columns:1fr auto; gap:.65rem 1rem; }
.press-card-copy time,.press-card-copy small,.press-card-copy i { color:#147686; font:700 .53rem var(--mono); font-style:normal; text-transform:uppercase; }
.press-card-copy small { text-align:right; }
.press-card-copy strong { grid-column:1 / 3; margin-top:.8rem; font-family:var(--reading); font-size:clamp(1.8rem,2.6vw,3rem); line-height:.92; font-weight:400; }
.press-card-copy em { grid-column:1 / 3; color:#5c6868; font-style:normal; }
.press-card-copy i { grid-column:1 / 3; margin-top:1.2rem; padding-bottom:.65rem; border-bottom:1px solid var(--press-ink); color:var(--press-ink); }
.press-dialog { width:min(96vw,100rem); height:94svh; max-width:none; max-height:none; margin:auto; padding:0; border:0; background:var(--press-ink); color:white; overflow:hidden; }
.press-dialog::backdrop { background:rgba(7,16,20,.86); backdrop-filter:blur(10px); }
.press-dialog > div { height:100%; padding:4.5rem 1.2rem 1.2rem; display:grid; grid-template-rows:1fr auto; }
.press-dialog-close { position:absolute; z-index:3; right:1.2rem; top:1rem; min-height:2.75rem; padding:.55rem .8rem; border:1px solid rgba(255,255,255,.4); background:var(--press-ink); color:white; font:700 .55rem var(--mono); text-transform:uppercase; cursor:pointer; }
.press-dialog-image { position:relative; min-height:0; overflow:auto; background:#e8ecea; }
.press-dialog-image img { object-fit:contain; padding:1rem; }
.press-dialog footer { padding:1rem 0 0; display:flex; justify-content:space-between; align-items:end; gap:2rem; }
.press-dialog footer > div { display:flex; flex-direction:column; gap:.25rem; }
.press-dialog footer time,.press-dialog footer span,.press-dialog footer a { color:var(--press-cyan); font:700 .52rem var(--mono); text-transform:uppercase; }
.press-dialog footer strong { font-family:var(--reading); font-size:clamp(1.3rem,2.2vw,2.4rem); font-weight:400; }
.press-dialog footer a { padding-bottom:.4rem; border-bottom:1px solid currentColor; }
.press-contact { min-height:80svh; padding:clamp(7rem,11vw,11rem) clamp(1.2rem,4vw,4.5rem); display:flex; flex-direction:column; justify-content:center; background:var(--press-orange); }
.press-contact > p { font:750 .58rem var(--mono); text-transform:uppercase; }
.press-contact h2 { margin:3rem 0 5rem; font-size:clamp(4rem,9vw,10rem); line-height:.75; letter-spacing:-.075em; }
.press-contact a { width:75%; min-height:6rem; margin-left:auto; padding:1rem 0; border-top:3px solid var(--press-ink); border-bottom:3px solid var(--press-ink); display:flex; justify-content:space-between; align-items:center; font-size:clamp(2.4rem,5.5vw,6rem); line-height:.85; letter-spacing:-.05em; font-weight:650; text-transform:uppercase; }

@media (max-width:980px) {
  .press-intro { grid-template-columns:1fr; gap:1.5rem; }
  .press-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .press-gallery-tools { grid-template-columns:1fr; }
  .press-gallery-tools > div { justify-content:flex-start; }
}
@media (max-width:700px) {
  .press-hero { min-height:0; padding-top:8.5rem; }
  .press-hero > p { margin-bottom:3rem; }
  .press-hero h1 { font-size:clamp(4rem,18vw,7rem); }
  .press-hero h1 em,.press-hero h1 strong { margin-left:0; }
  .press-hero > div { width:100%; margin-top:4rem; grid-template-columns:1fr; }
  .press-intro h2 { font-size:clamp(3.5rem,15vw,6rem); overflow-wrap:anywhere; }
  .press-gallery { grid-template-columns:1fr; }
  .press-card-image,.press-card.is-landscape .press-card-image { height:72svh; max-height:38rem; }
  .press-dialog { width:100vw; height:100svh; }
  .press-dialog footer { align-items:flex-start; flex-direction:column; }
  .press-contact h2 { font-size:clamp(3.7rem,15vw,7rem); overflow-wrap:anywhere; }
  .press-contact a { width:100%; margin-left:0; font-size:clamp(2.3rem,11vw,5rem); overflow-wrap:anywhere; }
}

/* V2 — monde relationnel expérimental */
body:has(.v2-world) { overflow-x: clip; }
body:has(.v2-world) .site-header,
body:has(.v2-world) .site-footer,
body:has(.v2-world) > .page-progress,
body:has(.v2-world) > .pointer-halo { display: none; }
body:has(.v2-world) #contenu { animation: none; }
.v2-world { --v2-progress: 0; --v2-progress-percent: 0%; position: relative; height: 760svh; background: #080a0b; color: #eee9df; isolation: isolate; }
.v2-stage { position: sticky; top: 0; width: 100%; height: 100svh; min-height: 42rem; overflow: hidden; }
.v2-stage::before { content: ""; position: absolute; z-index: -2; inset: -30%; background: radial-gradient(circle at 50% 50%, rgba(116,212,204,.055), transparent 25%), conic-gradient(from 90deg at 50% 50%, rgba(241,90,54,.04), transparent 20%, rgba(183,166,255,.04), transparent 52%); transform: rotate(var(--v2-angle, 0deg)) scale(1.2); }
.v2-canvas { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; }
.v2-grid { position: absolute; z-index: -1; inset: 0; opacity: .2; background-image: linear-gradient(rgba(238,233,223,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(238,233,223,.08) 1px, transparent 1px); background-size: 8.333vw 8.333vw; mask-image: radial-gradient(circle, black, transparent 85%); }
.v2-header { position: absolute; z-index: 30; left: 0; right: 0; top: 0; height: 5rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding-inline: 2rem; border-bottom: 1px solid rgba(238,233,223,.14); font-family: var(--mono); text-transform: uppercase; letter-spacing: .1em; font-size: .58rem; backdrop-filter: blur(10px); }
.v2-header > p { margin: 0; color: #8f938e; }
.v2-header .sound-control { justify-self: end; }
.v2-mark { display: flex; align-items: center; gap: .8rem; width: max-content; }
.v2-mark > span:first-child { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border: 1px solid #eee9df; border-radius: 50%; }
.v2-mark > span:last-child { color: #a7aaa5; }
.v2-chapters { position: absolute; z-index: 30; left: 2rem; top: 50%; transform: translateY(-50%); display: grid; gap: .42rem; }
.v2-chapters button { display: grid; grid-template-columns: 2rem 0fr; align-items: center; width: 2.8rem; min-height: 2.4rem; overflow: hidden; border: 0; border-left: 1px solid rgba(238,233,223,.18); background: transparent; color: #777b78; cursor: pointer; text-align: left; font-family: var(--mono); font-size: .56rem; text-transform: uppercase; letter-spacing: .08em; transition: width .35s, grid-template-columns .35s, color .25s, border-color .25s; }
.v2-chapters button:hover, .v2-chapters button[aria-current="step"] { width: 9rem; grid-template-columns: 2rem 1fr; color: #eee9df; border-color: #f15a36; }
.v2-chapters button span:last-child { white-space: nowrap; overflow: hidden; }
.v2-scene { position: absolute; z-index: 5; inset: 5rem 0 0; padding: clamp(2rem,6vw,7rem); opacity: 0; visibility: hidden; pointer-events: none; transform: translate3d(0, 4rem, -120px) scale(.94); filter: blur(14px); transition: opacity .85s cubic-bezier(.2,.7,.2,1), transform 1.1s cubic-bezier(.2,.75,.2,1), filter .8s, visibility 0s .9s; }
.v2-scene.is-active { opacity: 1; visibility: visible; pointer-events: auto; transform: translate3d(0,0,0) scale(1); filter: none; transition-delay: 0s; }
.v2-overline { margin: 0; color: #74d4cc; font-family: var(--mono); font-size: .64rem; letter-spacing: .13em; text-transform: uppercase; }
.v2-scene-copy { font-family: var(--reading); }
.v2-scene-title { position: absolute; left: 13vw; top: 11vh; max-width: 45rem; }
.v2-scene-title > span { color: #f15a36; font-family: var(--mono); font-size: .64rem; }
.v2-scene-title h2 { margin: .8rem 0 1rem; font-size: clamp(3.4rem,7vw,8rem); font-weight: 520; line-height: .82; letter-spacing: -.07em; }
.v2-scene-title p { max-width: 28rem; color: #a7aaa5; font-family: var(--reading); font-size: 1.1rem; }

.v2-signal { display: flex; flex-direction: column; justify-content: space-between; padding-top: 8vh; }
.v2-signal h1 { position: relative; width: 100%; margin: 0; font-size: clamp(4.5rem,12.5vw,13rem); line-height: .68; letter-spacing: -.085em; text-transform: uppercase; font-weight: 620; }
.v2-signal h1 span { display: block; transition: transform 1s cubic-bezier(.15,.8,.2,1), color .7s; }
.v2-signal h1 span:nth-child(1) { margin-left: 4vw; transform: translateX(-16vw); }
.v2-signal h1 span:nth-child(2) { text-align: right; transform: translateX(17vw); color: transparent; -webkit-text-stroke: 1px #eee9df; }
.v2-signal h1 span:nth-child(3) { margin-left: 16vw; transform: translateX(-10vw); }
.v2-signal h1 span:nth-child(4) { text-align: right; padding-right: 7vw; transform: translateX(13vw); color: #f15a36; }
.v2-signal.is-active h1 span { transform: translateX(0); }
.v2-signal .v2-scene-copy { position: absolute; right: 7vw; top: 17vh; width: min(24rem,28vw); font-size: 1.18rem; }
.v2-continue { align-self: flex-end; display: flex; justify-content: space-between; width: 17rem; padding: 1rem 0; border: 0; border-top: 1px solid #eee9df; background: transparent; color: #eee9df; cursor: pointer; text-transform: uppercase; letter-spacing: .08em; font-size: .65rem; }

.v2-system-node { position: absolute; z-index: 4; width: clamp(12rem,18vw,20rem); padding: 1.2rem; border: 1px solid rgba(238,233,223,.2); border-radius: 50%; aspect-ratio: 1; display: flex; flex-direction: column; justify-content: center; background: rgba(8,10,11,.68); backdrop-filter: blur(12px); transition: background .35s, color .35s, transform .45s, border-color .35s; }
.v2-system-node:hover { z-index: 8; background: #eee9df; color: #080a0b; border-color: #f15a36; transform: scale(1.15) rotate(-3deg); }
.v2-system-node > span { color: #f15a36; font-family: var(--mono); font-size: .6rem; }
.v2-system-node strong { margin: 1rem 0 .6rem; font-size: clamp(2rem,3.4vw,3.8rem); line-height: .85; font-weight: 500; letter-spacing: -.05em; }
.v2-system-node small { color: #929692; }
.v2-system-node i { position: absolute; right: 18%; top: 17%; font-style: normal; }
.v2-system-node.node-1 { left: 49%; top: 13%; }
.v2-system-node.node-2 { right: 7%; top: 46%; }
.v2-system-node.node-3 { left: 38%; bottom: 2%; }
.v2-system-node.node-4 { left: 11%; top: 48%; }

.v2-memory { perspective: 1100px; }
.v2-memory .v2-scene-title { z-index: 8; }
.v2-archive-plane { position: absolute; z-index: 4; display: block; width: clamp(14rem,25vw,27rem); height: clamp(18rem,56vh,36rem); padding: .65rem; background: #e5dfd4; color: #080a0b; box-shadow: 0 3rem 8rem rgba(0,0,0,.45); transition: transform .7s cubic-bezier(.2,.8,.2,1), z-index 0s; }
.v2-archive-plane img { object-fit: cover; filter: grayscale(.55) sepia(.12); }
.v2-archive-plane span { position: absolute; z-index: 2; left: 1.2rem; bottom: 1.2rem; padding: .45rem .65rem; background: #eee9df; font-family: var(--mono); font-size: .58rem; text-transform: uppercase; }
.v2-archive-plane:hover { z-index: 12; transform: translateZ(120px) rotate(0) scale(1.04); }
.plane-one { right: 12%; top: 4%; transform: translateZ(-100px) rotate(7deg); }
.plane-two { right: 32%; bottom: -13%; transform: translateZ(20px) rotate(-5deg); }
.plane-three { left: 12%; bottom: -22%; transform: translateZ(-150px) rotate(3deg); }

.v2-ideas .v2-scene-title { left: 10vw; top: 10vh; }
.v2-idea-orbit { position: absolute; left: 50%; top: 51%; width: min(58vw,56rem); aspect-ratio: 1; transform: translate(-50%,-50%); border: 1px solid rgba(183,166,255,.2); border-radius: 50%; }
.v2-idea-orbit::before, .v2-idea-orbit::after { content: ""; position: absolute; inset: 18%; border: 1px solid rgba(116,212,204,.15); border-radius: 50%; }
.v2-idea-orbit::after { inset: 36%; background: radial-gradient(circle, rgba(183,166,255,.18), transparent 70%); }
.v2-idea { position: absolute; z-index: 4; width: clamp(14rem,25vw,25rem); padding: 1.2rem; border-top: 1px solid #b7a6ff; background: rgba(8,10,11,.78); backdrop-filter: blur(14px); transition: background .3s, color .3s, transform .4s; }
.v2-idea:hover { background: #b7a6ff; color: #080a0b; transform: scale(1.08); }
.v2-idea time { color: #b7a6ff; font-family: var(--mono); font-size: .58rem; }
.v2-idea:hover time { color: #080a0b; }
.v2-idea strong { display: block; margin: 1rem 0; font-family: var(--reading); font-size: clamp(1.3rem,2.2vw,2.2rem); line-height: 1.05; font-weight: 400; }
.v2-idea > span { font-size: .65rem; text-transform: uppercase; }
.v2-idea.idea-1 { right: -8%; top: 5%; }
.v2-idea.idea-2 { left: -13%; top: 42%; }
.v2-idea.idea-3 { right: -2%; bottom: 0; }
.v2-all-ideas { position: absolute; right: 5vw; bottom: 5vh; border-bottom: 1px solid #eee9df; padding-bottom: .4rem; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }

.v2-speaking .v2-scene-title { left: 50%; top: 6vh; transform: translateX(-50%); width: 76%; max-width: none; text-align: center; }
.v2-speaking .v2-scene-title h2 { font-size: clamp(3.4rem,6.6vw,7.2rem); }
.v2-speaking-offers { position: absolute; left: 8vw; right: 8vw; top: 43%; display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.v2-speaking-offers > a { position: relative; min-height: 32vh; padding: clamp(1.2rem,2vw,2rem); border: 1px solid rgba(238,233,223,.2); background: rgba(8,10,11,.76); backdrop-filter: blur(14px); transition: transform .45s, background .35s, color .35s, border-color .35s; }
.v2-speaking-offers > a:nth-child(2) { transform: translateY(2.4rem); }
.v2-speaking-offers > a:hover { z-index: 4; transform: translateY(-1rem) scale(1.04); background: #f15a36; color: #080a0b; border-color: #f15a36; }
.v2-speaking-offers > a:nth-child(2):hover { transform: translateY(1.4rem) scale(1.04); }
.v2-speaking-offers span { color: #f15a36; font-family: var(--mono); font-size: .58rem; text-transform: uppercase; letter-spacing: .08em; }
.v2-speaking-offers a:hover span { color: #080a0b; }
.v2-speaking-offers strong { display: block; margin: 1.6rem 0 1rem; font-size: clamp(1.65rem,2.5vw,2.8rem); line-height: .9; letter-spacing: -.045em; font-weight: 500; }
.v2-speaking-offers p { max-width: 23rem; color: #a7aaa5; font-family: var(--reading); }
.v2-speaking-offers a:hover p { color: #202321; }
.v2-speaking-offers small { display: block; max-width: 26rem; color: #858985; font-family: var(--reading); font-size: .73rem; }
.v2-speaking-offers small b { color: #eee9df; font-family: var(--mono); font-size: .55rem; text-transform: uppercase; }
.v2-speaking-offers a:hover small, .v2-speaking-offers a:hover small b { color: #202321; }
.v2-speaking-offers i { position: absolute; right: 1.5rem; top: 1.5rem; font-style: normal; }
.v2-speaking-action { position: absolute; left: 8vw; right: 8vw; bottom: 4vh; display: flex; justify-content: space-between; align-items: end; border-top: 1px solid rgba(238,233,223,.2); padding-top: 1rem; font-family: var(--mono); font-size: .6rem; text-transform: uppercase; letter-spacing: .07em; }
.v2-speaking-action > span { color: #8f938e; }
.v2-speaking-action a { color: #f15a36; border-bottom: 1px solid currentColor; padding-bottom: .35rem; }

.v2-labs .v2-scene-title { left: 50%; top: 9vh; transform: translateX(-50%); width: 75%; max-width: none; text-align: center; }
.v2-lab { position: absolute; top: 42%; width: 44%; height: 43%; padding: clamp(1.5rem,3vw,3rem); border: 1px solid rgba(238,233,223,.18); display: flex; flex-direction: column; justify-content: end; overflow: hidden; transition: width .6s, background .4s, color .4s, transform .5s; }
.v2-lab::before { content: ""; position: absolute; inset: -30%; border-radius: 50%; opacity: .24; filter: blur(50px); transition: transform .8s; }
.v2-lab:hover { width: 51%; z-index: 8; transform: translateY(-2rem); color: #080a0b; }
.v2-lab:hover::before { transform: scale(1.4) rotate(25deg); opacity: .8; }
.v2-lab-one { left: 4%; background: rgba(116,212,204,.06); }
.v2-lab-one::before { background: #74d4cc; }
.v2-lab-one:hover { background: #74d4cc; }
.v2-lab-two { right: 4%; background: rgba(241,90,54,.06); }
.v2-lab-two::before { background: #f15a36; }
.v2-lab-two:hover { background: #f15a36; }
.v2-lab > span, .v2-lab > strong, .v2-lab > p, .v2-lab > i { position: relative; z-index: 2; }
.v2-lab > span { font-family: var(--mono); font-size: .58rem; text-transform: uppercase; }
.v2-lab > strong { font-size: clamp(3rem,7vw,8rem); line-height: .8; letter-spacing: -.07em; font-weight: 520; }
.v2-lab > p { font-family: var(--reading); font-size: 1rem; }
.v2-lab > i { position: absolute; right: 2rem; top: 2rem; font-style: normal; }

.v2-dialogue { display: flex; flex-direction: column; justify-content: center; }
.v2-dialogue h2 { margin: 2rem 0; font-size: clamp(4.4rem,10vw,11rem); line-height: .78; letter-spacing: -.075em; font-weight: 520; }
.v2-dialogue h2 em { color: #f15a36; }
.v2-contact { display: flex; justify-content: space-between; align-items: center; width: 66%; margin-left: auto; border-top: 1px solid #eee9df; border-bottom: 1px solid #eee9df; padding: 1rem 0; font-size: clamp(2.4rem,5vw,5rem); letter-spacing: -.04em; }
.v2-restart { position: absolute; right: 6vw; bottom: 3vh; border: 0; background: transparent; color: #a7aaa5; cursor: pointer; font-family: var(--mono); font-size: .58rem; text-transform: uppercase; }

.v2-progress { position: absolute; z-index: 30; left: 2rem; right: 2rem; bottom: 1.25rem; height: 1px; background: rgba(238,233,223,.16); }
.v2-progress span { display: block; width: 100%; height: 2px; transform: scaleX(var(--v2-progress)); transform-origin: left; background: linear-gradient(90deg,#74d4cc,#b7a6ff,#f15a36); }
.v2-scene-count { position: absolute; z-index: 30; right: 2rem; top: 50%; transform: translateY(-50%); display: grid; justify-items: center; gap: .6rem; color: #8a8e89; font-family: var(--mono); font-size: .58rem; }
.v2-scene-count i { width: 1px; height: 5rem; background: linear-gradient(#f15a36 var(--v2-progress-percent),rgba(238,233,223,.15) 0); }
.v2-noscript { position: fixed; inset: 5rem 0 auto; padding: 1rem; background: #f15a36; color: #080a0b; text-align: center; }

@media (max-width: 800px) {
  .v2-world { height: 720svh; }
  .v2-stage { min-height: 39rem; }
  .v2-header { height: 4.5rem; grid-template-columns: 1fr auto; padding-inline: 1rem; }
  .v2-header > p { display: none; }
  .v2-mark > span:last-child { display: none; }
  .v2-header .sound-control > span:last-child { display: block; }
  .v2-scene { top: 4.5rem; padding: 1.2rem; padding-top: 3rem; }
  .v2-chapters { left: 1rem; top: auto; bottom: 2rem; display: flex; transform: none; }
  .v2-chapters button, .v2-chapters button:hover, .v2-chapters button[aria-current="step"] { width: 2.1rem; min-height: 2rem; grid-template-columns: 1fr; padding: 0; border-left: 0; border-bottom: 1px solid rgba(238,233,223,.18); }
  .v2-chapters button[aria-current="step"] { border-color: #f15a36; color: #eee9df; }
  .v2-chapters button span:last-child { display: none; }
  .v2-scene-count { display: none; }
  .v2-progress { left: 1rem; right: 1rem; bottom: 1rem; }
  .v2-signal { padding-top: 8vh; padding-bottom: 7rem; }
  .v2-signal h1 { font-size: clamp(4rem,21vw,7rem); line-height: .74; }
  .v2-signal h1 span:nth-child(1), .v2-signal h1 span:nth-child(3) { margin-left: 0; }
  .v2-signal h1 span:nth-child(4) { padding-right: 0; }
  .v2-signal .v2-scene-copy { position: relative; inset: auto; width: 90%; font-size: 1rem; }
  .v2-continue { width: 100%; }
  .v2-scene-title, .v2-ideas .v2-scene-title, .v2-speaking .v2-scene-title, .v2-labs .v2-scene-title { position: relative; inset: auto; transform: none; width: auto; max-width: none; text-align: left; }
  .v2-scene-title h2 { font-size: clamp(3.3rem,15vw,5.5rem); }
  .v2-system { padding-top: 7rem; }
  .v2-system .v2-scene-title p { display: none; }
  .v2-system-node { width: 10.5rem; }
  .v2-system-node strong { font-size: 1.8rem; }
  .v2-system-node small { display: none; }
  .v2-system-node.node-1 { left: 5%; top: 41%; }
  .v2-system-node.node-2 { right: 2%; top: 35%; }
  .v2-system-node.node-3 { left: 30%; bottom: 8%; }
  .v2-system-node.node-4 { left: 2%; top: 64%; }
  .v2-memory { padding-top: 6rem; }
  .v2-archive-plane { width: 46vw; height: 38vh; }
  .plane-one { right: 4%; top: 30%; }
  .plane-two { right: 30%; bottom: 2%; }
  .plane-three { left: -5%; bottom: -3%; }
  .v2-ideas { padding-top: 5rem; }
  .v2-idea-orbit { width: 90vw; top: 62%; }
  .v2-idea { width: 60vw; padding: .8rem; }
  .v2-idea strong { font-size: 1.1rem; }
  .v2-idea.idea-1 { right: -4%; top: 0; }
  .v2-idea.idea-2 { left: -5%; top: 38%; }
  .v2-idea.idea-3 { right: 0; bottom: 0; }
  .v2-all-ideas { right: 1.2rem; bottom: 8rem; }
  .v2-speaking { padding-top: 4rem; }
  .v2-speaking .v2-scene-title h2 { font-size: 3.1rem; }
  .v2-speaking .v2-scene-title p { display: none; }
  .v2-speaking-offers { position: relative; inset: auto; grid-template-columns: 1fr; gap: .55rem; margin-top: 1.4rem; }
  .v2-speaking-offers > a { min-height: 7.2rem; padding: .9rem; }
  .v2-speaking-offers > a:nth-child(2), .v2-speaking-offers > a:hover, .v2-speaking-offers > a:nth-child(2):hover { transform: none; }
  .v2-speaking-offers strong { margin: 1rem 0 .4rem; font-size: 1.8rem; }
  .v2-speaking-offers strong br { display: none; }
  .v2-speaking-offers p, .v2-speaking-offers small { display: none; }
  .v2-speaking-action { left: 1.2rem; right: 1.2rem; bottom: 5.5rem; }
  .v2-speaking-action > span { display: none; }
  .v2-speaking-action a { margin-left: auto; }
  .v2-labs { padding-top: 5rem; }
  .v2-labs .v2-scene-title h2 { font-size: 3.2rem; }
  .v2-lab { top: 39%; width: 82%; height: 25%; }
  .v2-lab:hover { width: 86%; transform: none; }
  .v2-lab-one { left: 3%; }
  .v2-lab-two { right: 3%; top: 66%; }
  .v2-lab > strong { font-size: 3.5rem; }
  .v2-lab > p { display: none; }
  .v2-dialogue h2 { font-size: clamp(4rem,18vw,7rem); }
  .v2-contact { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .v2-stage::before, .v2-signal h1 span { transform: none !important; }
  .v2-scene { transition: none; filter: none; }
  .v2-system-node:hover, .v2-archive-plane:hover, .v2-idea:hover, .v2-lab:hover { transform: none; }
}

/* V3 nouvelle — Observatoire des futurs */
body:has(.v3x-world) { overflow-x: clip; background: #050807; }
body:has(.v3x-world) .site-header,
body:has(.v3x-world) .site-footer,
body:has(.v3x-world) > .page-progress,
body:has(.v3x-world) > .pointer-halo { display: none; }
body:has(.v3x-world) #contenu { animation: none; }
.v3x-world { --mint: #72ebdc; --warm: #ff7048; position: relative; overflow: clip; background: #050807; color: #f1f4ee; isolation: isolate; }
.v3x-ambient { position: fixed; z-index: -2; inset: 0; width: 100%; height: 100%; opacity: .7; pointer-events: none; }
.v3x-world::before { content: ""; position: fixed; z-index: -3; inset: 0; pointer-events: none; background: radial-gradient(circle at calc(20% + var(--v3x-horizon) * 55%) 28%, rgba(114,235,220,.12), transparent 27%), radial-gradient(circle at 80% 74%, rgba(255,112,72,.07), transparent 25%), #050807; }
.v3x-progress { position: fixed; z-index: 100; left: 0; right: 0; top: 0; height: 2px; background: rgba(241,244,238,.08); }
.v3x-progress span { display: block; width: 100%; height: 100%; transform: scaleX(var(--v3x-progress)); transform-origin: left; background: linear-gradient(90deg,var(--mint),var(--warm)); }
.v3x-header { position: sticky; z-index: 80; top: 0; height: 5.2rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; padding: 0 clamp(1.2rem,4vw,4.5rem); border-bottom: 1px solid rgba(241,244,238,.14); background: rgba(5,8,7,.76); backdrop-filter: blur(20px); }
.v3x-logo { display: flex; align-items: center; gap: .8rem; width: max-content; font: .58rem/1.25 var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.v3x-logo > span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border: 1px solid var(--mint); border-radius: 50%; color: var(--mint); }
.v3x-header nav { display: flex; gap: clamp(1rem,2vw,2.4rem); color: #a6afaa; font: .58rem var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.v3x-header nav a:hover { color: var(--mint); }
.v3x-versions { justify-self: end; display: flex; align-items: center; gap: .45rem; }
.v3x-versions > a, .v3x-versions > span { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid rgba(241,244,238,.18); border-radius: 50%; color: #7f8984; font: .52rem var(--mono); }
.v3x-versions > span { border-color: var(--mint); color: var(--mint); }
.v3x-versions .sound-control { margin-left: .6rem; }
.v3x-overline { color: var(--mint); font: .59rem var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.v3x-hero { position: relative; min-height: calc(100svh - 5.2rem); padding: clamp(4rem,8vh,7rem) clamp(1.2rem,5vw,6rem) 3rem; display: flex; align-items: center; overflow: hidden; border-bottom: 1px solid rgba(241,244,238,.14); }
.v3x-hero-copy { position: relative; z-index: 4; width: min(86rem,92vw); }
.v3x-hero h1 { width: min(79rem,84vw); margin: 1rem 0 2rem; font-size: clamp(4.3rem,10.2vw,12rem); line-height: .69; letter-spacing: -.085em; font-weight: 590; text-transform: uppercase; }
.v3x-hero h1 span, .v3x-hero h1 em { display: block; }
.v3x-hero h1 span:nth-child(2) { margin-left: 9vw; color: transparent; -webkit-text-stroke: 1px #f1f4ee; }
.v3x-hero h1 em { margin-left: 19vw; color: var(--mint); font-style: normal; }
.v3x-hero-copy > p:not(.v3x-overline) { width: min(38rem,48vw); margin-left: 48vw; color: #a4ada8; font: 1.12rem/1.55 var(--reading); }
.v3x-hero-actions { width: min(38rem,48vw); margin: 2.2rem 0 0 48vw; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.v3x-hero-actions a { display: flex; justify-content: space-between; padding: 1rem 0; border-top: 1px solid var(--mint); color: var(--mint); font: .62rem var(--mono); text-transform: uppercase; letter-spacing: .07em; }
.v3x-hero-actions a:last-child { border-color: var(--warm); color: var(--warm); }
.v3x-hero-orbit { position: absolute; z-index: 1; right: -8vw; top: 47%; width: min(48vw,43rem); aspect-ratio: 1; transform: translateY(-50%); border: 1px solid rgba(114,235,220,.16); border-radius: 50%; animation: v3x-float 12s ease-in-out infinite; }
.v3x-hero-orbit::before, .v3x-hero-orbit::after, .v3x-hero-orbit i { content: ""; position: absolute; inset: 12%; border: 1px solid rgba(114,235,220,.13); border-radius: 50%; transform: rotate(55deg); }
.v3x-hero-orbit::after { inset: 28%; background: radial-gradient(circle,rgba(114,235,220,.12),transparent 68%); }
.v3x-hero-orbit i:nth-child(1) { inset: 48% -4%; border-width: 1px 0 0; border-radius: 0; }
.v3x-hero-orbit i:nth-child(2) { inset: -4% 48%; border-width: 0 0 0 1px; border-radius: 0; }
.v3x-hero-orbit i:nth-child(3) { inset: 5%; transform: rotate(-24deg) scaleY(.28); }
.v3x-hero-orbit span { position: absolute; inset: 0; display: grid; place-items: center; color: var(--mint); text-align: center; font: .58rem/1.5 var(--mono); letter-spacing: .14em; }
.v3x-live-data { position: absolute; left: 5vw; bottom: 2rem; display: flex; gap: 1.3rem; align-items: center; color: #76807b; font: .54rem var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.v3x-live-data span { display: flex; align-items: center; gap: .5rem; color: var(--mint); }
.v3x-live-data span::before { content: ""; width: .45rem; height: .45rem; border-radius: 50%; background: var(--mint); box-shadow: 0 0 1rem var(--mint); }
.v3x-live-data strong { color: #9fa8a3; font-weight: 400; }
.v3x-lenses { min-height: 100svh; padding: 9rem clamp(1.2rem,5vw,6rem); display: grid; grid-template-columns: .7fr 1.3fr; gap: 6vw; align-items: start; border-bottom: 1px solid rgba(241,244,238,.14); }
.v3x-lenses > header { position: sticky; top: 8rem; }
.v3x-lenses header h2, .v3x-horizon h2, .v3x-trajectory header h2, .v3x-projects header h2, .v3x-archives header h2, .v3x-conferences header h2 { margin: 1rem 0 1.4rem; font-size: clamp(3.4rem,6vw,7rem); line-height: .78; letter-spacing: -.07em; font-weight: 520; }
.v3x-lenses > header > p:last-child, .v3x-horizon header > p:last-child, .v3x-conferences header > p:last-child { max-width: 30rem; color: #929c97; font: 1.05rem/1.55 var(--reading); }
.v3x-lens-tabs { grid-column: 2; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid rgba(241,244,238,.15); }
.v3x-lens-tabs button { display: grid; gap: .8rem; min-height: 7rem; padding: 1rem; border: 0; border-right: 1px solid rgba(241,244,238,.13); background: rgba(9,14,12,.55); color: #87918c; cursor: pointer; text-align: left; font-size: 1.05rem; }
.v3x-lens-tabs button:last-child { border-right: 0; }
.v3x-lens-tabs button span { color: var(--mint); font: .53rem var(--mono); }
.v3x-lens-tabs button[aria-selected="true"] { background: var(--mint); color: #06110f; }
.v3x-lens-tabs button[aria-selected="true"] span { color: #06110f; }
.v3x-lens-result { grid-column: 2; min-height: 29rem; padding: clamp(1.5rem,3vw,3rem); border: 1px solid rgba(241,244,238,.15); background: rgba(7,12,10,.7); backdrop-filter: blur(18px); }
.v3x-lens-result > span { color: var(--mint); font: .57rem var(--mono); text-transform: uppercase; letter-spacing: .1em; }
.v3x-lens-result h3 { max-width: 50rem; margin: 2rem 0; font: 400 clamp(2.2rem,4vw,4.6rem)/.98 var(--reading); letter-spacing: -.035em; }
.v3x-lens-result > p { max-width: 42rem; color: #a1aaa5; font: 1.05rem/1.55 var(--reading); }
.v3x-lens-result > div { display: flex; gap: 1rem; margin-top: 2.5rem; }
.v3x-lens-result a, .v3x-lens-result button { display: flex; justify-content: space-between; min-width: 15rem; padding: .85rem 0; border: 0; border-top: 1px solid var(--mint); background: transparent; color: var(--mint); cursor: pointer; font: .57rem var(--mono); text-transform: uppercase; }
.v3x-lens-articles { grid-column: 2; display: grid; grid-template-columns: repeat(2,1fr); gap: .8rem; }
.v3x-lens-articles a { position: relative; min-height: 10rem; padding: 1.2rem; border: 1px solid rgba(241,244,238,.13); background: rgba(5,9,8,.5); }
.v3x-lens-articles time { color: #77817c; font: .52rem var(--mono); }
.v3x-lens-articles strong { display: block; margin: 1rem 0; font: 400 1.15rem/1.15 var(--reading); }
.v3x-lens-articles span { position: absolute; right: 1rem; bottom: 1rem; color: var(--mint); font: .52rem var(--mono); }
.v3x-horizon { position: relative; min-height: 155svh; border-bottom: 1px solid rgba(241,244,238,.14); }
.v3x-horizon-sticky { position: sticky; top: 5.2rem; min-height: calc(100svh - 5.2rem); padding: 7vh clamp(1.2rem,5vw,6rem); overflow: hidden; }
.v3x-horizon header { display: grid; grid-template-columns: 1fr 1fr; align-items: end; }
.v3x-horizon h2 { margin-bottom: 0; }
.v3x-horizon h2 em { color: var(--mint); font-style: normal; }
.v3x-horizon header > p:last-child { justify-self: end; }
.v3x-year-control { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; margin: 8vh 0 5vh; color: #8f9994; font: .57rem var(--mono); }
.v3x-year-control input { width: 100%; accent-color: var(--mint); }
.v3x-year-control output { grid-column: 1 / -1; justify-self: center; margin-top: -1rem; color: var(--mint); font: 500 clamp(5rem,12vw,13rem)/.8 var(--display); letter-spacing: -.09em; opacity: calc(.42 + var(--v3x-horizon) * .55); }
.v3x-horizon-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; }
.v3x-horizon-grid article { min-height: 13rem; padding: 1.3rem; border-top: 1px solid var(--mint); background: rgba(8,13,11,.58); }
.v3x-horizon-grid span { color: #7e8983; font: .54rem var(--mono); text-transform: uppercase; }
.v3x-horizon-grid strong { display: block; margin: 1.2rem 0; color: var(--mint); font-size: clamp(2rem,3.4vw,4rem); line-height: .85; letter-spacing: -.05em; font-weight: 500; }
.v3x-horizon-grid p { color: #929d97; font-family: var(--reading); }
.v3x-trajectory { padding: 9rem 0; border-bottom: 1px solid rgba(241,244,238,.14); }
.v3x-trajectory > header, .v3x-projects > header, .v3x-archives > header, .v3x-conferences > header { padding-inline: clamp(1.2rem,5vw,6rem); }
.v3x-trajectory header h2 em { color: var(--warm); font-style: normal; }
.v3x-trajectory > div { margin-top: 6rem; display: grid; }
.v3x-trajectory article { min-height: 72svh; padding: 4rem clamp(1.2rem,5vw,6rem); display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto 1fr; gap: 1rem 7vw; align-items: center; border-top: 1px solid rgba(241,244,238,.13); }
.v3x-trajectory article:nth-child(even) .v3x-trajectory-image { grid-column: 2; }
.v3x-trajectory article:nth-child(even) > span, .v3x-trajectory article:nth-child(even) > h3, .v3x-trajectory article:nth-child(even) > p { grid-column: 1; }
.v3x-trajectory-image { position: relative; grid-row: 1 / 4; height: 57svh; overflow: hidden; }
.v3x-trajectory-image img { object-fit: cover; filter: saturate(.55) contrast(1.08); }
.v3x-trajectory article > span { color: var(--mint); font: .56rem var(--mono); text-transform: uppercase; }
.v3x-trajectory h3 { margin: 0; font-size: clamp(2.5rem,4.7vw,5.2rem); line-height: .88; letter-spacing: -.055em; font-weight: 500; }
.v3x-trajectory article > p { align-self: start; max-width: 35rem; color: #98a39d; font: 1.05rem/1.55 var(--reading); }
.v3x-projects { padding: 9rem clamp(1.2rem,5vw,6rem); background: #edf0e9; color: #07100d; }
.v3x-projects > header { padding: 0; }
.v3x-projects .v3x-overline { color: #217b71; }
.v3x-projects > div { margin-top: 5rem; display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.v3x-projects a { position: relative; min-height: 42rem; padding-bottom: 3rem; border-bottom: 1px solid #07100d; }
.v3x-projects a > div { position: relative; height: 22rem; margin-bottom: 1.4rem; overflow: hidden; background: #aeb7b2; }
.v3x-projects img { object-fit: cover; filter: grayscale(.45); transition: transform .8s, filter .5s; }
.v3x-projects a:hover img { transform: scale(1.05); filter: none; }
.v3x-projects a > span { font: .52rem var(--mono); text-transform: uppercase; }
.v3x-projects strong { display: block; margin: .8rem 0; font-size: clamp(2rem,3.5vw,4rem); line-height: .85; letter-spacing: -.06em; }
.v3x-projects p { font-family: var(--reading); }
.v3x-projects i { position: absolute; right: 0; bottom: 1rem; font: .55rem var(--mono); font-style: normal; text-transform: uppercase; }
.v3x-archives { padding: 9rem clamp(1.2rem,5vw,6rem); border-bottom: 1px solid rgba(241,244,238,.14); }
.v3x-archives > header { padding: 0; display: grid; grid-template-columns: 1fr auto; align-items: end; }
.v3x-archives header h2 { margin-bottom: 0; }
.v3x-archives header > a { color: var(--mint); border-bottom: 1px solid currentColor; padding-bottom: .3rem; font: .58rem var(--mono); text-transform: uppercase; }
.v3x-archives > div { margin-top: 5rem; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(241,244,238,.14); border-left: 1px solid rgba(241,244,238,.14); }
.v3x-archives > div > a { position: relative; min-height: 22rem; padding: 1.4rem; border-right: 1px solid rgba(241,244,238,.14); border-bottom: 1px solid rgba(241,244,238,.14); transition: background .3s, color .3s; }
.v3x-archives > div > a:hover { background: var(--mint); color: #06110f; }
.v3x-archives span { color: var(--mint); font: .52rem var(--mono); }
.v3x-archives a:hover span { color: #06110f; }
.v3x-archives strong { display: block; margin: 2rem 0 1rem; font: 400 clamp(1.45rem,2.3vw,2.4rem)/1 var(--reading); }
.v3x-archives p { color: #929c97; font: .88rem/1.45 var(--reading); }
.v3x-archives a:hover p { color: #26342f; }
.v3x-archives i { position: absolute; right: 1.2rem; bottom: 1.2rem; font-style: normal; }
.v3x-conferences { padding: 9rem clamp(1.2rem,5vw,6rem); background: #101714; }
.v3x-conferences > header { padding: 0; display: grid; grid-template-columns: 1fr 1fr; }
.v3x-conferences > header > p:last-child { align-self: end; justify-self: end; }
.v3x-conferences > div { margin-top: 5rem; display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; }
.v3x-conferences > div > a { position: relative; min-height: 31rem; padding: 1.5rem; border: 1px solid rgba(241,244,238,.16); transition: transform .35s, background .35s, color .35s; }
.v3x-conferences > div > a:hover { transform: translateY(-.8rem); background: var(--warm); color: #160904; }
.v3x-conferences span { color: var(--warm); font: .53rem var(--mono); text-transform: uppercase; }
.v3x-conferences a:hover span { color: #160904; }
.v3x-conferences strong { display: block; margin: 2rem 0 1.2rem; font-size: clamp(1.8rem,3vw,3.5rem); line-height: .86; letter-spacing: -.055em; font-weight: 500; }
.v3x-conferences p, .v3x-conferences small { color: #9da8a2; font-family: var(--reading); }
.v3x-conferences small b { color: #f1f4ee; font: .5rem var(--mono); text-transform: uppercase; }
.v3x-conferences a:hover p, .v3x-conferences a:hover small, .v3x-conferences a:hover small b { color: #32160e; }
.v3x-conferences i { position: absolute; left: 1.5rem; bottom: 1.5rem; font: .56rem var(--mono); font-style: normal; text-transform: uppercase; }
.v3x-proposal { display: flex; justify-content: space-between; width: min(52rem,70vw); margin: 4rem auto 0; padding: 1.2rem 0; border-top: 1px solid var(--warm); border-bottom: 1px solid var(--warm); color: var(--warm); font-size: clamp(1.8rem,3.5vw,4rem); line-height: 1; letter-spacing: -.04em; }
.v3x-contact { min-height: 92svh; padding: 9rem clamp(1.2rem,5vw,6rem) 4rem; display: flex; flex-direction: column; justify-content: center; }
.v3x-contact h2 { margin: 1rem 0 3rem; font-size: clamp(4.2rem,9vw,10rem); line-height: .75; letter-spacing: -.08em; font-weight: 520; }
.v3x-contact h2 em { color: var(--mint); font-style: normal; }
.v3x-contact > a { display: flex; justify-content: space-between; width: 74%; margin-left: auto; padding: 1.1rem 0; border-top: 1px solid var(--mint); border-bottom: 1px solid var(--mint); color: var(--mint); font-size: clamp(2.5rem,5vw,5.5rem); line-height: 1; letter-spacing: -.05em; }
.v3x-contact > div { margin-top: auto; padding-top: 5rem; display: flex; gap: 2rem; color: #76817b; font: .55rem var(--mono); text-transform: uppercase; }
@keyframes v3x-float { 50% { transform: translateY(calc(-50% - 1.2rem)) rotate(4deg); } }

@media (max-width: 850px) {
  .v3x-header { height: 4.5rem; grid-template-columns: 1fr auto; padding-inline: 1rem; }
  .v3x-header nav { display: none; }
  .v3x-logo strong { display: none; }
  .v3x-versions .sound-control > span:last-child { display: none; }
  .v3x-hero { min-height: calc(100svh - 4.5rem); padding: 4rem 1.2rem 6rem; align-items: start; }
  .v3x-hero h1 { width: 100%; font-size: clamp(4rem,18vw,7rem); line-height: .72; }
  .v3x-hero h1 span:nth-child(2), .v3x-hero h1 em { margin-left: 0; }
  .v3x-hero-copy > p:not(.v3x-overline), .v3x-hero-actions { width: 88%; margin-left: 0; }
  .v3x-hero-actions { grid-template-columns: 1fr; }
  .v3x-hero-orbit { right: -44vw; top: 56%; width: 95vw; opacity: .5; }
  .v3x-live-data { left: 1.2rem; flex-wrap: wrap; }
  .v3x-lenses { padding: 6rem 1.2rem; grid-template-columns: 1fr; }
  .v3x-lenses > header { position: relative; top: auto; }
  .v3x-lens-tabs, .v3x-lens-result, .v3x-lens-articles { grid-column: 1; }
  .v3x-lens-tabs { grid-template-columns: 1fr 1fr; }
  .v3x-lens-tabs button:nth-child(2) { border-right: 0; }
  .v3x-lens-tabs button { min-height: 5rem; }
  .v3x-lens-result { min-height: 0; }
  .v3x-lens-result h3 { font-size: 2.1rem; }
  .v3x-lens-result > div { flex-direction: column; }
  .v3x-lens-result a, .v3x-lens-result button { width: 100%; }
  .v3x-lens-articles { grid-template-columns: 1fr; }
  .v3x-horizon { min-height: 0; }
  .v3x-horizon-sticky { position: relative; top: auto; padding: 6rem 1.2rem; }
  .v3x-horizon header, .v3x-conferences > header { grid-template-columns: 1fr; }
  .v3x-horizon header > p:last-child, .v3x-conferences > header > p:last-child { justify-self: start; }
  .v3x-year-control output { font-size: 29vw; }
  .v3x-horizon-grid { grid-template-columns: 1fr; }
  .v3x-trajectory { padding-top: 6rem; }
  .v3x-trajectory > header, .v3x-projects > header, .v3x-archives > header, .v3x-conferences > header { padding-inline: 1.2rem; }
  .v3x-trajectory > div { margin-top: 3rem; }
  .v3x-trajectory article { min-height: 0; padding: 3rem 1.2rem; grid-template-columns: 1fr; }
  .v3x-trajectory-image, .v3x-trajectory article:nth-child(even) .v3x-trajectory-image { grid-column: 1; grid-row: auto; height: 55svh; }
  .v3x-trajectory article:nth-child(even) > span, .v3x-trajectory article:nth-child(even) > h3, .v3x-trajectory article:nth-child(even) > p { grid-column: 1; }
  .v3x-projects, .v3x-archives, .v3x-conferences { padding: 6rem 1.2rem; }
  .v3x-projects > header, .v3x-archives > header, .v3x-conferences > header { padding: 0; }
  .v3x-projects > div, .v3x-archives > div, .v3x-conferences > div { grid-template-columns: 1fr; }
  .v3x-projects a { min-height: 37rem; }
  .v3x-archives > header { grid-template-columns: 1fr; gap: 1.5rem; }
  .v3x-archives > div > a { min-height: 17rem; }
  .v3x-conferences > div > a { min-height: 26rem; }
  .v3x-proposal { width: 100%; font-size: 1.8rem; }
  .v3x-contact { min-height: 85svh; padding: 6rem 1.2rem 3rem; }
  .v3x-contact h2 { font-size: clamp(4rem,17vw,7rem); }
  .v3x-contact > a { width: 100%; margin-left: 0; }
  .v3x-contact > div { flex-direction: column; gap: .7rem; }
}

@media (prefers-reduced-motion: reduce) {
  .v3x-ambient { display: none; }
  .v3x-hero-orbit { animation: none; }
}

/* V4 — manifeste graphique */
body:has(.v4-world) { overflow-x: clip; background: #0c0c0b; }
body:has(.v4-world) .site-header,
body:has(.v4-world) .site-footer,
body:has(.v4-world) > .page-progress,
body:has(.v4-world) > .pointer-halo { display: none; }
body:has(.v4-world) #contenu { animation: none; }
.v4-world { --v4-a: #ee702e; --v4-b: #2bbad0; --v4-c: #d9f4f7; --v4-ink: #070a0d; --v4-paper: #f5f7fa; position: relative; overflow: clip; background: var(--v4-ink); color: var(--v4-paper); }
.v4-progress { position: fixed; z-index: 110; left: 0; top: 0; right: 0; height: 3px; background: rgba(242,239,229,.1); }
.v4-progress span { display: block; width: 100%; height: 100%; transform: scaleX(var(--v4-scroll)); transform-origin: left; background: linear-gradient(90deg,var(--v4-a),var(--v4-b),var(--v4-c)); }
.v4-header { position: sticky; z-index: 90; top: 0; height: 5rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 clamp(1rem,3vw,3rem); border-bottom: 2px solid var(--v4-paper); background: rgba(12,12,11,.9); backdrop-filter: blur(16px); }
.v4-logo { display: flex; align-items: center; gap: .7rem; width: max-content; font: 800 .58rem/1.15 var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.v4-logo > img { width: 2.5rem; height: 2.5rem; object-fit: contain; }
.v4-header nav { display: flex; gap: clamp(1rem,2vw,2.5rem); font: 700 .57rem var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.v4-header nav a:hover { color: var(--v4-b); }
.v4-tools { justify-self: end; display: flex; align-items: center; gap: .35rem; }
.v4-brand-colors { display: flex; gap: .28rem; margin-right: .55rem; }
.v4-brand-colors i { width: .72rem; height: .72rem; border-radius: 50%; background: var(--v4-b); }
.v4-brand-colors i:last-child { background: var(--v4-a); }
.v4-tools > a, .v4-tools > span { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border: 1px solid rgba(242,239,229,.3); border-radius: 50%; color: #999a94; font: .48rem var(--mono); }
.v4-tools > span { border-color: var(--v4-a); background: var(--v4-a); color: var(--v4-ink); }
.v4-tools .sound-control { margin-left: .5rem; }
.v4-hero { position: relative; min-height: calc(100svh - 5rem); padding: 4vh clamp(1rem,3vw,3rem) 3rem; display: flex; flex-direction: column; justify-content: center; overflow: hidden; background: var(--v4-paper); color: var(--v4-ink); }
.v4-hero::before { content: ""; position: absolute; inset: 0; opacity: .2; pointer-events: none; background-image: linear-gradient(var(--v4-ink) 1px,transparent 1px),linear-gradient(90deg,var(--v4-ink) 1px,transparent 1px); background-size: 8.333vw 8.333vw; }
.v4-edition { position: absolute; z-index: 8; left: 3vw; top: 3vh; margin: 0; font: 800 .54rem/1.5 var(--mono); text-transform: uppercase; }
.v4-hero h1 { position: relative; z-index: 6; width: min(90rem,94vw); margin: 0; font-size: clamp(5.5rem,13vw,15rem); line-height: .64; letter-spacing: -.09em; font-weight: 900; text-transform: uppercase; }
.v4-hero h1 span, .v4-hero h1 em, .v4-hero h1 strong { display: block; }
.v4-hero h1 span:nth-child(2) { margin-left: 16vw; color: var(--v4-a); }
.v4-hero h1 em { margin-left: 4vw; color: transparent; -webkit-text-stroke: 2px var(--v4-ink); font-style: normal; }
.v4-hero h1 strong { margin-left: 30vw; font-weight: 900; }
.v4-intro { position: relative; z-index: 8; width: min(31rem,34vw); margin: 2rem 0 0 53vw; font: 1.08rem/1.45 var(--reading); }
.v4-hero-cta { position: relative; z-index: 8; width: min(40rem,44vw); margin: 1.5rem 0 0 53vw; display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.v4-hero-cta a { padding: .9rem; border: 2px solid var(--v4-ink); background: var(--v4-ink); color: var(--v4-paper); font: 800 .57rem var(--mono); text-transform: uppercase; }
.v4-hero-cta a:last-child { background: var(--v4-a); color: var(--v4-ink); }
.v4-hero-images { position: absolute; z-index: 3; inset: 0; pointer-events: none; }
.v4-image-card { position: absolute; overflow: hidden; border: 4px solid var(--v4-ink); box-shadow: .8rem .8rem 0 var(--v4-c); transform: translate(calc(var(--v4-x) * 7px),calc(var(--v4-y) * 7px)); }
.v4-image-card img { object-fit: cover; filter: grayscale(.65) contrast(1.2); mix-blend-mode: multiply; }
.v4-image-card.card-a { right: 5vw; top: 5vh; width: 24vw; height: 55vh; transform: rotate(4deg) translate(calc(var(--v4-x) * 10px),calc(var(--v4-y) * 8px)); }
.v4-image-card.card-b { left: 4vw; bottom: 3vh; width: 29vw; height: 27vh; transform: rotate(-3deg) translate(calc(var(--v4-x) * -8px),calc(var(--v4-y) * 6px)); }
.v4-image-card.card-b img { object-fit: contain; filter: none; mix-blend-mode: normal; background: var(--v4-b); }
.v4-image-card.card-c { right: 31vw; top: 17vh; width: 16vw; height: 31vh; transform: rotate(-7deg) translate(calc(var(--v4-x) * 5px),calc(var(--v4-y) * -7px)); }
.v4-stamp { position: absolute; z-index: 9; right: 2vw; bottom: 2vh; width: 6rem; height: 6rem; border: 3px solid var(--v4-ink); border-radius: 50%; background: var(--v4-paper); overflow: hidden; transform: rotate(11deg); }
.v4-stamp img { object-fit: contain; padding: .55rem; }
.v4-marquee { overflow: hidden; border-top: 3px solid var(--v4-paper); border-bottom: 3px solid var(--v4-paper); background: var(--v4-a); color: var(--v4-ink); }
.v4-marquee > div { display: flex; width: max-content; animation: v4-marquee 22s linear infinite; }
.v4-marquee span { font-size: clamp(3rem,6vw,7rem); line-height: .8; letter-spacing: -.05em; font-weight: 900; white-space: nowrap; }
.v4-axes { padding: 9rem clamp(1rem,3vw,3rem); }
.v4-axes > header, .v4-labs > header, .v4-texts > header, .v4-conferences > header { display: grid; grid-template-columns: 8rem 1fr 1fr; align-items: end; gap: 2rem; }
.v4-axes header > span, .v4-labs header > span, .v4-texts header > span, .v4-conferences header > span { color: var(--v4-b); font: 800 .58rem var(--mono); text-transform: uppercase; }
.v4-axes h2, .v4-labs h2, .v4-texts h2, .v4-conferences h2 { margin: 0; font-size: clamp(4rem,7.7vw,9rem); line-height: .72; letter-spacing: -.08em; font-weight: 900; text-transform: uppercase; }
.v4-axes header > p, .v4-labs header > p, .v4-conferences header > p { justify-self: end; max-width: 30rem; margin: 0; color: #a3a49e; font: 1.05rem/1.5 var(--reading); }
.v4-axes > div { margin-top: 6rem; display: grid; grid-template-columns: 1fr 1fr; border: 2px solid var(--v4-paper); }
.v4-axes a { position: relative; min-height: 32rem; padding: 2rem; border-right: 2px solid var(--v4-paper); border-bottom: 2px solid var(--v4-paper); overflow: hidden; transition: background .35s,color .35s; }
.v4-axes a:nth-child(even) { border-right: 0; }
.v4-axes a:nth-child(n+3) { border-bottom: 0; }
.v4-axes a:hover { background: var(--axis); color: var(--v4-ink); }
.v4-axes .axis-1 { --axis: var(--v4-a); }
.v4-axes .axis-2 { --axis: var(--v4-b); }
.v4-axes .axis-3 { --axis: var(--v4-c); }
.v4-axes .axis-4 { --axis: var(--v4-paper); }
.v4-axes a > span { font: 800 .62rem var(--mono); }
.v4-axes strong { display: block; margin: 6rem 0 2rem; font-size: clamp(3.5rem,6vw,7rem); line-height: .75; letter-spacing: -.075em; text-transform: uppercase; }
.v4-axes a > p { max-width: 28rem; color: #a1a29c; font-family: var(--reading); }
.v4-axes a:hover > p { color: #272824; }
.v4-axes i { position: absolute; right: 2rem; bottom: 2rem; font: 800 .58rem var(--mono); font-style: normal; text-transform: uppercase; }
.v4-manifesto { position: relative; min-height: 100svh; padding: 8rem clamp(1rem,3vw,3rem); display: flex; flex-direction: column; justify-content: center; background: var(--v4-b); color: var(--v4-ink); overflow: hidden; }
.v4-manifesto > p:first-child { position: absolute; left: 3vw; top: 3rem; font: 900 .58rem var(--mono); text-transform: uppercase; }
.v4-manifesto h2 { position: relative; z-index: 2; margin: 0; font-size: clamp(4.5rem,10.5vw,12rem); line-height: .67; letter-spacing: -.085em; font-weight: 900; text-transform: uppercase; }
.v4-manifesto h2 em { color: var(--v4-a); font-style: normal; }
.v4-manifesto > div { position: absolute; inset: 0; pointer-events: none; }
.v4-manifesto > div span { position: absolute; padding: .6rem 1rem; border: 3px solid var(--v4-ink); background: var(--v4-c); font: 900 .62rem var(--mono); transform: rotate(var(--r)); }
.v4-manifesto > div span:nth-child(1) { --r:-8deg; left: 6%; top: 22%; }
.v4-manifesto > div span:nth-child(2) { --r:6deg; right: 8%; top: 15%; }
.v4-manifesto > div span:nth-child(3) { --r:-4deg; right: 12%; bottom: 17%; }
.v4-manifesto > div span:nth-child(4) { --r:9deg; left: 12%; bottom: 12%; }
.v4-manifesto > div span:nth-child(5) { --r:-2deg; left: 48%; top: 7%; }
.v4-manifesto-note { position: absolute; right: 4vw; bottom: 3rem; width: min(25rem,32vw); font: 1.1rem/1.45 var(--reading); }
.v4-labs { min-height: 120svh; padding: 9rem clamp(1rem,3vw,3rem); background: var(--v4-paper); color: var(--v4-ink); }
.v4-labs header > span { color: #13756d; }
.v4-labs header > p { color: #444641; }
.v4-lab-collage { position: relative; height: 83rem; margin-top: 6rem; }
.v4-lab-collage > a { position: absolute; width: min(42vw,40rem); padding: 1rem 1rem 4rem; border: 4px solid var(--v4-ink); background: var(--v4-paper); color: var(--v4-ink); box-shadow: 1rem 1rem 0 var(--shadow); transition: transform .45s,z-index 0s; }
.v4-lab-collage > a:hover { z-index: 6; transform: rotate(0) translateY(-1rem) scale(1.03); }
.v4-lab-collage .lab-1 { --shadow:var(--v4-a); left: 2vw; top: 0; transform: rotate(-4deg); }
.v4-lab-collage .lab-2 { --shadow:var(--v4-b); right: 3vw; top: 17rem; transform: rotate(5deg); }
.v4-lab-collage .lab-3 { --shadow:var(--v4-c); left: 19vw; top: 47rem; transform: rotate(-2deg); }
.v4-lab-image { position: relative; height: 24rem; margin-bottom: 1.2rem; overflow: hidden; background: #a6aaa4; }
.v4-lab-image img { object-fit: cover; filter: grayscale(.5) contrast(1.12); }
.v4-lab-collage span { font: 800 .53rem var(--mono); text-transform: uppercase; }
.v4-lab-collage strong { display: block; margin: .7rem 0; font-size: clamp(3rem,5vw,6rem); line-height: .75; letter-spacing: -.075em; text-transform: uppercase; }
.v4-lab-collage p { font-family: var(--reading); }
.v4-lab-collage i { position: absolute; right: 1rem; bottom: 1.2rem; font: 800 .56rem var(--mono); font-style: normal; text-transform: uppercase; }
.v4-photo-break { position: relative; min-height: 100svh; overflow: hidden; }
.v4-photo-break > div { position: absolute; inset: 0; }
.v4-photo-break img { object-fit: cover; filter: grayscale(.75) contrast(1.2); }
.v4-photo-break::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(12,12,11,.8),transparent 60%),linear-gradient(0deg,rgba(12,12,11,.7),transparent 50%); }
.v4-photo-break > p { position: absolute; z-index: 2; left: 4vw; bottom: 7vh; width: min(65rem,78vw); margin: 0; font-size: clamp(3.8rem,7.5vw,8.5rem); line-height: .76; letter-spacing: -.07em; font-weight: 900; text-transform: uppercase; }
.v4-photo-break > p span { display: block; margin-bottom: 2rem; color: var(--v4-b); font: 800 .58rem var(--mono); letter-spacing: .1em; }
.v4-texts { padding: 9rem clamp(1rem,3vw,3rem); }
.v4-texts > header > a { justify-self: end; color: var(--v4-b); border-bottom: 1px solid currentColor; padding-bottom: .35rem; font: 800 .58rem var(--mono); text-transform: uppercase; }
.v4-texts > div { margin-top: 6rem; display: grid; grid-template-columns: repeat(12,1fr); gap: .8rem; }
.v4-texts > div > a { position: relative; min-height: 25rem; padding: 1.5rem; background: var(--poster); color: var(--v4-ink); transition: transform .35s; }
.v4-texts > div > a:hover { z-index: 3; transform: rotate(-2deg) scale(1.03); }
.v4-texts .poster-1,.v4-texts .poster-4 { --poster:var(--v4-a); grid-column: span 7; }
.v4-texts .poster-2,.v4-texts .poster-3,.v4-texts .poster-5,.v4-texts .poster-6 { --poster:var(--v4-b); grid-column: span 5; }
.v4-texts .poster-3,.v4-texts .poster-6 { --poster:var(--v4-c); }
.v4-texts > div span { font: 800 .53rem var(--mono); }
.v4-texts > div strong { display: block; max-width: 48rem; margin: 4rem 0 1.5rem; font-size: clamp(2.2rem,4vw,4.8rem); line-height: .82; letter-spacing: -.06em; text-transform: uppercase; }
.v4-texts > div p { max-width: 32rem; font-family: var(--reading); }
.v4-texts > div i { position: absolute; right: 1.5rem; bottom: 1.5rem; font: 800 .58rem var(--mono); font-style: normal; text-transform: uppercase; }
.v4-conferences { padding: 9rem clamp(1rem,3vw,3rem); background: var(--v4-a); color: var(--v4-ink); }
.v4-conferences header > span { color: var(--v4-ink); }
.v4-conferences header > p { color: #2b1812; }
.v4-conferences > div { margin-top: 6rem; display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.v4-conferences > div > a { position: relative; min-height: 42rem; padding: 1.5rem; border: 4px solid var(--v4-ink); background: var(--poster); color: var(--v4-ink); box-shadow: .8rem .8rem 0 var(--v4-ink); transition: transform .35s; }
.v4-conferences > div > a:hover { transform: translateY(-1rem) rotate(1deg); }
.v4-conferences .conference-poster-1 { --poster:var(--v4-paper); }
.v4-conferences .conference-poster-2 { --poster:var(--v4-b); }
.v4-conferences .conference-poster-3 { --poster:var(--v4-c); }
.v4-conferences span { font: 800 .54rem var(--mono); text-transform: uppercase; }
.v4-conferences strong { display: block; margin: 4rem 0 1.5rem; font-size: clamp(2rem,3.3vw,4rem); line-height: .78; letter-spacing: -.065em; text-transform: uppercase; }
.v4-conferences p,.v4-conferences small { font-family: var(--reading); }
.v4-conferences small { display: block; margin-top: 2rem; }
.v4-conferences i { position: absolute; left: 1.5rem; bottom: 1.5rem; font: 800 .58rem var(--mono); font-style: normal; text-transform: uppercase; }
.v4-big-cta { display: flex; justify-content: space-between; align-items: center; margin-top: 5rem; padding: 1.2rem 0; border-top: 4px solid var(--v4-ink); border-bottom: 4px solid var(--v4-ink); font-size: clamp(3rem,6.5vw,7.5rem); line-height: .85; letter-spacing: -.06em; font-weight: 900; text-transform: uppercase; }
.v4-big-cta i { font-style: normal; }
.v4-archive-collage { position: relative; min-height: 110svh; padding: 7rem 3vw; background: var(--v4-c); color: var(--v4-ink); overflow: hidden; }
.v4-archive-image { position: absolute; overflow: hidden; border: 5px solid var(--v4-ink); box-shadow: 1rem 1rem 0 var(--v4-a); }
.v4-archive-image img { object-fit: cover; filter: grayscale(.7) contrast(1.15); }
.v4-archive-image.archive-one { left: 4vw; top: 8vh; width: 43vw; height: 55vh; transform: rotate(-4deg); }
.v4-archive-image.archive-two { right: 4vw; bottom: 8vh; width: 46vw; height: 52vh; transform: rotate(4deg); }
.v4-archive-collage > p { position: absolute; z-index: 5; left: 19vw; top: 40vh; margin: 0; padding: 1.5rem; background: var(--v4-paper); border: 4px solid var(--v4-ink); font-size: clamp(2.5rem,5vw,6rem); line-height: .82; letter-spacing: -.055em; font-weight: 900; text-transform: uppercase; transform: rotate(-1deg); }
.v4-archive-collage > p span { display: block; margin-bottom: 1rem; font: 800 .56rem var(--mono); }
.v4-archive-collage > p strong { color: var(--v4-a); }
.v4-archive-collage > a { position: absolute; z-index: 6; left: 4vw; bottom: 5vh; padding: 1rem; border: 3px solid var(--v4-ink); background: var(--v4-b); font: 900 .62rem var(--mono); text-transform: uppercase; }
.v4-contact { min-height: 100svh; padding: 8rem 3vw 2rem; display: flex; flex-direction: column; justify-content: center; }
.v4-contact > span { color: var(--v4-b); font: 800 .58rem var(--mono); text-transform: uppercase; }
.v4-contact h2 { margin: 1.5rem 0 3rem; font-size: clamp(5rem,12vw,14rem); line-height: .65; letter-spacing: -.09em; font-weight: 900; text-transform: uppercase; }
.v4-contact h2 em { color: var(--v4-a); font-style: normal; }
.v4-contact > a { display: flex; justify-content: space-between; width: 72%; margin-left: auto; padding: 1rem 0; border-top: 4px solid var(--v4-b); border-bottom: 4px solid var(--v4-b); color: var(--v4-b); font-size: clamp(3rem,6vw,7rem); line-height: 1; letter-spacing: -.06em; font-weight: 900; text-transform: uppercase; }
.v4-contact > a i { font-style: normal; }
.v4-contact footer { margin-top: auto; padding-top: 6rem; display: flex; justify-content: space-between; color: #82847e; font: .54rem var(--mono); text-transform: uppercase; }
.v4-contact footer div { display: flex; gap: 1.5rem; }
@keyframes v4-marquee { to { transform: translateX(-50%); } }

@media (max-width: 850px) {
  .v4-header { height: 4.5rem; grid-template-columns: 1fr auto; padding: 0 .8rem; }
  .v4-header nav,.v4-logo strong,.v4-brand-colors,.v4-tools .sound-control > span:last-child { display: none; }
  .v4-hero { min-height: calc(100svh - 4.5rem); padding: 5rem 1rem 3rem; justify-content: flex-start; }
  .v4-hero h1 { width: 100%; font-size: clamp(4.6rem,21vw,8rem); }
  .v4-hero h1 span:nth-child(2),.v4-hero h1 em,.v4-hero h1 strong { margin-left: 0; }
  .v4-intro,.v4-hero-cta { width: 90%; margin-left: 0; }
  .v4-hero-cta { grid-template-columns: 1fr; }
  .v4-image-card.card-a { right: -12vw; top: 39vh; width: 55vw; height: 39vh; }
  .v4-image-card.card-b { left: 3vw; width: 57vw; height: 22vh; }
  .v4-image-card.card-c { display: none; }
  .v4-stamp { width: 4.8rem; height: 4.8rem; }
  .v4-axes,.v4-labs,.v4-texts,.v4-conferences { padding: 6rem 1rem; }
  .v4-axes > header,.v4-labs > header,.v4-texts > header,.v4-conferences > header { grid-template-columns: 1fr; align-items: start; }
  .v4-axes header > p,.v4-labs header > p,.v4-conferences header > p,.v4-texts header > a { justify-self: start; }
  .v4-axes > div { grid-template-columns: 1fr; }
  .v4-axes a { min-height: 23rem; border-right: 0; border-bottom: 2px solid var(--v4-paper) !important; }
  .v4-axes a:last-child { border-bottom: 0 !important; }
  .v4-axes strong { margin-top: 4rem; }
  .v4-manifesto { min-height: 90svh; padding: 7rem 1rem; }
  .v4-manifesto h2 { font-size: clamp(4rem,17vw,7rem); }
  .v4-manifesto-note { position: relative; inset: auto; width: 80%; margin: 3rem 0 0 auto; }
  .v4-lab-collage { height: auto; display: grid; gap: 2rem; }
  .v4-lab-collage > a,.v4-lab-collage .lab-1,.v4-lab-collage .lab-2,.v4-lab-collage .lab-3 { position: relative; inset: auto; width: 95%; transform: rotate(-1.5deg); }
  .v4-lab-collage .lab-2 { margin-left: auto; transform: rotate(1.5deg); }
  .v4-lab-image { height: 19rem; }
  .v4-photo-break > p { width: 90%; font-size: 3.3rem; }
  .v4-texts > div { grid-template-columns: 1fr; }
  .v4-texts .poster-1,.v4-texts .poster-2,.v4-texts .poster-3,.v4-texts .poster-4,.v4-texts .poster-5,.v4-texts .poster-6 { grid-column: 1; }
  .v4-texts > div > a { min-height: 21rem; }
  .v4-conferences > div { grid-template-columns: 1fr; }
  .v4-conferences > div > a { min-height: 31rem; }
  .v4-big-cta { font-size: 2.5rem; }
  .v4-archive-collage { min-height: 100svh; }
  .v4-archive-image.archive-one { left: 4vw; width: 73vw; height: 38vh; }
  .v4-archive-image.archive-two { right: 4vw; width: 75vw; height: 37vh; }
  .v4-archive-collage > p { left: 8vw; right: 8vw; top: 37vh; font-size: 2.4rem; }
  .v4-contact { padding: 6rem 1rem 2rem; }
  .v4-contact h2 { font-size: clamp(4.8rem,20vw,8rem); }
  .v4-contact > a { width: 100%; margin-left: 0; }
  .v4-contact footer { flex-direction: column; gap: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .v4-marquee > div { animation: none; }
  .v4-image-card { transform: none !important; }
}

/* V5 — La Trame vivante */
body:has(.v5-world) { overflow-x: clip; background: #030609; }
body:has(.v5-world) .site-header,
body:has(.v5-world) .site-footer,
body:has(.v5-world) > .page-progress,
body:has(.v5-world) > .pointer-halo { display: none; }
body:has(.v5-world) #contenu { animation: none; }
.v5-world {
  --v5-cyan: #2bbad0;
  --v5-orange: #ee702e;
  --v5-violet: #b7a6ff;
  --v5-night: #030609;
  --v5-ink: #071014;
  --v5-paper: #eef3ef;
  --v5-muted: #98a6a6;
  --v5-line: rgba(238,243,239,.16);
  position: relative;
  overflow: clip;
  background:
    radial-gradient(circle at 74% 12%, rgba(43,186,208,.11), transparent 28rem),
    radial-gradient(circle at 16% 34%, rgba(238,112,46,.08), transparent 32rem),
    var(--v5-night);
  color: var(--v5-paper);
}
.v5-world button { border: 0; }
.v5-world button,.v5-world a { -webkit-tap-highlight-color: transparent; }
.v5-world button:focus-visible,.v5-world a:focus-visible { outline-color: var(--v5-orange); outline-offset: 5px; }
.v5-result button:focus-visible,.v5-result a:focus-visible,.v5-collective a:focus-visible { outline-color: var(--v5-ink); }
.v5-header {
  position: sticky;
  z-index: 40;
  top: 0;
  height: 5rem;
  display: grid;
  grid-template-columns: 15rem 1fr auto;
  align-items: center;
  gap: 2rem;
  padding: 0 clamp(1rem,3vw,3.5rem);
  border-bottom: 1px solid var(--v5-line);
  background: rgba(3,6,9,.76);
  backdrop-filter: blur(20px) saturate(1.35);
}
.v5-logo { display: flex; align-items: center; gap: .75rem; width: max-content; }
.v5-logo img { width: 2.35rem; height: 2.35rem; object-fit: contain; }
.v5-logo strong { font: 750 .62rem/.9 var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.v5-header > p { margin: 0; color: var(--v5-muted); font: .58rem var(--mono); letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.v5-header > div { display: flex; align-items: center; gap: .8rem; font: 700 .59rem var(--mono); text-transform: uppercase; }
.v5-header > div > a,.v5-header > div > span { display: grid; place-items: center; min-width: 2.1rem; min-height: 2.1rem; border: 1px solid var(--v5-line); border-radius: 50%; }
.v5-header > div > span { border-color: var(--v5-cyan); background: var(--v5-cyan); color: var(--v5-ink); }
.v5-header .sound-control { min-height: 2.75rem; padding-left: .5rem; }

.v5-hero {
  position: relative;
  min-height: calc(100svh - 5rem);
  padding: clamp(4rem,8vh,7rem) clamp(1rem,4vw,4.5rem) 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-bottom: 1px solid var(--v5-line);
  isolation: isolate;
}
.v5-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 8% 4%;
  background: repeating-linear-gradient(90deg, transparent 0 calc(12.5% - 1px), rgba(238,243,239,.035) calc(12.5% - 1px) 12.5%);
  mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
}
.v5-overline { margin: 0 0 2rem; color: var(--v5-cyan); font: 650 .61rem var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.v5-hero h1 { position: relative; z-index: 2; margin: 0; font-size: clamp(4.5rem,11.6vw,13rem); line-height: .68; letter-spacing: -.082em; font-weight: 650; text-transform: uppercase; }
.v5-hero h1 span,.v5-hero h1 em { display: block; }
.v5-hero h1 span:nth-child(2) { margin-left: 16vw; color: transparent; -webkit-text-stroke: 1.5px var(--v5-paper); }
.v5-hero h1 em { margin-left: 31vw; color: var(--v5-orange); font-family: var(--reading); font-weight: 400; text-transform: none; }
.v5-hero > p:not(.v5-overline) { position: relative; z-index: 2; width: min(33rem,41vw); margin: 3rem 0 0 50vw; font-family: var(--reading); font-size: clamp(1.05rem,1.6vw,1.5rem); }
.v5-hero > a { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; width: min(33rem,41vw); min-height: 4rem; margin: 2rem 0 0 50vw; padding: .9rem 0; border-top: 1px solid var(--v5-paper); border-bottom: 1px solid var(--v5-paper); font: 700 .68rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.v5-hero > a span { color: var(--v5-orange); font-size: 1.4rem; }
.v5-hero-thread { position: absolute; z-index: 1; inset: 0; pointer-events: none; overflow: hidden; }
.v5-hero-thread i { position: absolute; display: block; width: 1px; height: 68%; top: -8%; transform-origin: bottom; opacity: .72; }
.v5-hero-thread i::after { content: ""; position: absolute; left: -4px; bottom: 0; width: 9px; height: 9px; border: 1px solid currentColor; border-radius: 50%; background: var(--v5-night); box-shadow: 0 0 24px currentColor; }
.v5-hero-thread i:nth-child(1) { left: 35%; color: var(--v5-cyan); background: var(--v5-cyan); transform: rotate(24deg); }
.v5-hero-thread i:nth-child(2) { left: 62%; color: var(--v5-orange); background: var(--v5-orange); transform: rotate(-31deg); }
.v5-hero-thread i:nth-child(3) { left: 78%; color: var(--v5-violet); background: var(--v5-violet); transform: rotate(13deg); }

.v5-composer { padding: clamp(6rem,10vw,11rem) clamp(1rem,4vw,4.5rem); }
.v5-composer > header,.v5-result > header,.v5-material > header { display: grid; grid-template-columns: 11rem minmax(20rem,1fr) minmax(15rem,27rem); gap: 4vw; align-items: end; margin-bottom: 5rem; }
.v5-composer > header > span,.v5-result > header > span,.v5-material > header > span { color: var(--v5-cyan); font: 650 .61rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.v5-composer h2,.v5-material h2 { margin: 0; font-size: clamp(3.5rem,6.7vw,7.5rem); line-height: .78; letter-spacing: -.065em; font-weight: 570; }
.v5-composer h2 em { color: var(--v5-violet); font-family: var(--reading); font-weight: 400; }
.v5-composer > header > p,.v5-result > header > p,.v5-material > header > p { margin: 0; color: var(--v5-muted); font-family: var(--reading); font-size: 1.12rem; }
.v5-composer-grid { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: 4vw; border-top: 1px solid var(--v5-line); }
.v5-choices fieldset { margin: 0; padding: 3rem 0; border: 0; border-bottom: 1px solid var(--v5-line); }
.v5-choices legend { width: 100%; margin-bottom: 1.4rem; font-size: clamp(1.3rem,2vw,1.8rem); }
.v5-choices legend span { display: block; margin-bottom: .5rem; color: var(--v5-muted); font: .6rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.v5-choices button { position: relative; width: 100%; min-height: 4.6rem; display: grid; grid-template-columns: 12rem 1fr; align-items: center; gap: 1rem; padding: 1rem 1.2rem; border-top: 1px solid var(--v5-line); background: transparent; color: var(--v5-paper); text-align: left; cursor: pointer; transition: background .22s,color .22s,transform .22s; }
.v5-choices button:last-child { border-bottom: 1px solid var(--v5-line); }
.v5-choices button strong { font-size: 1.25rem; font-weight: 540; }
.v5-choices button small { color: var(--v5-muted); font-family: var(--reading); font-size: .92rem; }
.v5-choices fieldset:nth-child(1) button[aria-pressed="true"] { background: var(--v5-cyan); color: var(--v5-ink); }
.v5-choices fieldset:nth-child(2) button[aria-pressed="true"] { background: var(--v5-orange); color: var(--v5-ink); }
.v5-choices fieldset:nth-child(3) button[aria-pressed="true"] { background: var(--v5-violet); color: var(--v5-ink); }
.v5-choices button[aria-pressed="true"] small { color: #182528; }
.v5-choices button:not([aria-pressed="true"]):hover { background: rgba(238,243,239,.06); transform: translateX(.35rem); }
.v5-loom { position: sticky; top: 7rem; align-self: start; height: min(47rem,calc(100svh - 9rem)); min-height: 38rem; overflow: hidden; background: #071014; border: 1px solid var(--v5-line); }
.v5-loom::after { content: ""; position: absolute; inset: 1.2rem; border: 1px solid rgba(238,243,239,.07); pointer-events: none; }
.v5-weave-canvas { width: 100%; height: 100%; }
.v5-loom-label { position: absolute; z-index: 2; left: 2.3rem; top: 2.3rem; display: flex; flex-direction: column; align-items: flex-start; }
.v5-loom-label span { margin-bottom: .8rem; color: var(--v5-muted); font: .57rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.v5-loom-label strong { display: inline-block; margin: 0 0 .3rem; padding: .25rem .45rem; background: var(--v5-night); font-size: clamp(1.7rem,3vw,3.6rem); line-height: .86; letter-spacing: -.055em; font-weight: 560; }
.v5-loom-label strong:nth-child(2) { color: var(--v5-cyan); }
.v5-loom-label strong:nth-child(3) { color: var(--v5-orange); }
.v5-loom-label strong:nth-child(4) { color: var(--v5-violet); }
.v5-loom-actions { position: absolute; z-index: 2; left: 2.3rem; right: 2.3rem; bottom: 2.3rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.v5-loom-actions button { min-height: 2.75rem; padding: .7rem 0; border-bottom: 1px solid currentColor; background: rgba(3,6,9,.86); font: .58rem var(--mono); letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.v5-loom-actions button:first-child { color: var(--v5-cyan); }
.v5-loom-actions button:last-child { color: var(--v5-muted); }
.v5-selection-live { margin: 2rem 0 0; color: var(--v5-muted); font: .58rem var(--mono); text-transform: uppercase; }

.v5-result { position: relative; padding: clamp(6rem,10vw,11rem) clamp(1rem,4vw,4.5rem); background: var(--v5-paper); color: var(--v5-ink); }
.v5-result > header > span { color: #167e8d; }
.v5-result > header h2 { max-width: 70rem; margin: 0; font-family: var(--reading); font-size: clamp(3rem,6vw,6.5rem); line-height: .93; letter-spacing: -.045em; font-weight: 400; }
.v5-result > header > p { color: #526061; }
.v5-path-line { position: relative; height: 4rem; margin: 0 4%; border-top: 2px solid var(--v5-ink); }
.v5-path-line::before { content: "Votre trame"; position: absolute; top: -2rem; left: 0; font: .58rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.v5-path-line i { position: absolute; top: -.43rem; width: .8rem; height: .8rem; border: 2px solid var(--v5-ink); border-radius: 50%; background: var(--v5-paper); }
.v5-path-line i:nth-child(1) { left: 0; background: var(--v5-cyan); }
.v5-path-line i:nth-child(2) { left: 33.333%; background: var(--v5-orange); }
.v5-path-line i:nth-child(3) { left: 66.666%; background: var(--v5-violet); }
.v5-path-line i:nth-child(4) { right: 0; background: var(--v5-ink); }
.v5-path-cards { display: grid; grid-template-columns: repeat(4,1fr); border: 2px solid var(--v5-ink); }
.v5-path-cards > a { position: relative; min-height: 30rem; padding: 1.5rem; border-right: 2px solid var(--v5-ink); display: flex; flex-direction: column; transition: background .22s,color .22s; }
.v5-path-cards > a:last-child { border: 0; }
.v5-path-cards > a > span { font: 700 .58rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.v5-path-cards > a > strong { margin: 6rem 0 1.3rem; font-size: clamp(1.9rem,3vw,3.3rem); line-height: .9; letter-spacing: -.045em; font-weight: 570; }
.v5-path-cards > a > p { color: #536061; font-family: var(--reading); }
.v5-path-cards > a > i { margin-top: auto; font: 700 .6rem var(--mono); font-style: normal; text-transform: uppercase; }
.v5-path-cards > a:hover { background: var(--v5-ink); color: var(--v5-paper); }
.v5-path-cards > a:hover p { color: #b5c0bd; }
.v5-path-cards > a:nth-child(1) span { color: #167e8d; }
.v5-path-cards > a:nth-child(2) span { color: #b6430f; }
.v5-path-cards > a:nth-child(3) span { color: #6655a7; }
.v5-result-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 1rem; margin-top: 2.5rem; }
.v5-result-actions button,.v5-result-actions a { min-height: 3.5rem; display: inline-flex; align-items: center; padding: .9rem 1.2rem; border: 1px solid var(--v5-ink); background: transparent; color: var(--v5-ink); font: 700 .61rem var(--mono); letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.v5-result-actions button:first-child { margin-right: auto; background: var(--v5-violet); }
.v5-result-actions button:nth-child(2) { background: var(--v5-cyan); }

.v5-principle { min-height: 100svh; padding: clamp(6rem,11vw,12rem) clamp(1rem,4vw,4.5rem); display: flex; flex-direction: column; justify-content: space-between; background: var(--v5-orange); color: var(--v5-ink); }
.v5-principle > p { margin: 0; font: 700 .61rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.v5-principle h2 { max-width: 83rem; margin: 3rem 0; font-size: clamp(4.8rem,11vw,13rem); line-height: .7; letter-spacing: -.075em; font-weight: 630; text-transform: uppercase; }
.v5-principle blockquote { width: min(47rem,62vw); margin: 2rem 0 0 auto; padding-top: 1.5rem; border-top: 3px solid var(--v5-ink); font-family: var(--reading); font-size: clamp(1.5rem,2.6vw,2.8rem); line-height: 1.05; }

.v5-material { padding: clamp(6rem,10vw,11rem) clamp(1rem,4vw,4.5rem); }
.v5-material > header > span { color: var(--v5-orange); }
.v5-material > div { display: grid; grid-template-columns: 1.35fr .65fr; grid-template-rows: repeat(2,minmax(21rem,34vw)); gap: 1rem; }
.v5-material a { position: relative; overflow: hidden; padding: 1.5rem; display: flex; flex-direction: column; justify-content: flex-end; isolation: isolate; }
.v5-material a::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(to top, rgba(3,6,9,.92), rgba(3,6,9,.04) 70%); }
.v5-material a img { z-index: -2; object-fit: cover; filter: saturate(.75) contrast(1.05); transition: transform .7s,filter .7s; }
.v5-material a:hover img { transform: scale(1.035); filter: saturate(1) contrast(1.05); }
.v5-material-large { grid-row: 1 / 3; }
.v5-material a > span { color: var(--v5-cyan); font: 700 .59rem var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.v5-material a > strong { max-width: 38rem; margin-top: .6rem; font-size: clamp(2rem,4vw,5rem); line-height: .86; letter-spacing: -.055em; font-weight: 570; }

.v5-collective { min-height: 90svh; padding: clamp(6rem,10vw,11rem) clamp(1rem,4vw,4.5rem); display: flex; flex-direction: column; justify-content: center; background: var(--v5-cyan); color: var(--v5-ink); }
.v5-collective > span { font: 700 .61rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.v5-collective h2 { margin: 3rem 0 2rem; font-size: clamp(4rem,9.5vw,11rem); line-height: .74; letter-spacing: -.075em; font-weight: 600; }
.v5-collective h2 em { color: var(--v5-ink); font-family: var(--reading); font-weight: 400; }
.v5-collective > p { max-width: 45rem; margin: 0 0 4rem auto; font-family: var(--reading); font-size: clamp(1.4rem,2.2vw,2.3rem); }
.v5-collective > a { width: 76%; min-height: 6rem; margin-left: auto; padding: 1.2rem 0; border-top: 3px solid var(--v5-ink); border-bottom: 3px solid var(--v5-ink); display: flex; justify-content: space-between; align-items: center; font-size: clamp(2rem,5vw,6rem); line-height: .9; letter-spacing: -.05em; font-weight: 650; text-transform: uppercase; }
.v5-collective > a i { font-style: normal; }

.v5-footer { min-height: 25rem; padding: 5rem clamp(1rem,4vw,4.5rem) 2rem; display: grid; grid-template-columns: 1fr auto; align-items: end; border-top: 1px solid var(--v5-line); }
.v5-footer > div { display: flex; align-items: center; gap: 1rem; }
.v5-footer > div img { object-fit: contain; }
.v5-footer p { margin: 0; font: .62rem/1.45 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.v5-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .7rem; font: .6rem var(--mono); text-transform: uppercase; }
.v5-footer nav a { min-height: 2.75rem; display: inline-flex; align-items: center; padding: .6rem .9rem; border: 1px solid var(--v5-line); }

@media (max-width: 900px) {
  .v5-header { height: 4.5rem; grid-template-columns: 1fr auto; gap: .6rem; padding-inline: .8rem; }
  .v5-header > p,.v5-logo strong,.v5-header > div > a,.v5-header > div .sound-control > span:last-child { display: none; }
  .v5-header > div { gap: .4rem; }
  .v5-header > div > span { display: grid; }
  .v5-hero { min-height: calc(100svh - 4.5rem); padding: 5rem 1rem 2rem; justify-content: flex-start; }
  .v5-overline { width: 70%; }
  .v5-hero h1 { margin-top: 6vh; font-size: clamp(4rem,20vw,7rem); line-height: .71; }
  .v5-hero h1 span:nth-child(2),.v5-hero h1 em { margin-left: 0; }
  .v5-hero > p:not(.v5-overline),.v5-hero > a { width: 88%; margin-left: 0; }
  .v5-hero > p:not(.v5-overline) { margin-top: auto; }
  .v5-hero-thread i:nth-child(1) { left: 55%; }
  .v5-hero-thread i:nth-child(2) { left: 78%; }
  .v5-composer,.v5-result,.v5-material,.v5-principle,.v5-collective { padding-left: 1rem; padding-right: 1rem; }
  .v5-composer > header,.v5-result > header,.v5-material > header { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 3rem; }
  .v5-composer h2,.v5-material h2 { font-size: clamp(3.4rem,16vw,6rem); }
  .v5-composer-grid { grid-template-columns: 1fr; }
  .v5-choices button { grid-template-columns: 1fr; gap: .25rem; min-height: 5rem; }
  .v5-loom { position: relative; top: auto; width: calc(100% + 2rem); height: 70svh; min-height: 32rem; margin-left: -1rem; border-inline: 0; }
  .v5-loom-label { left: 1.5rem; top: 1.5rem; }
  .v5-loom-actions { left: 1.5rem; right: 1.5rem; bottom: 1.5rem; flex-direction: column; align-items: flex-start; }
  .v5-path-line { display: none; }
  .v5-path-cards { grid-template-columns: 1fr; }
  .v5-path-cards > a { min-height: 21rem; border-right: 0; border-bottom: 2px solid var(--v5-ink); }
  .v5-path-cards > a:last-child { border-bottom: 0; }
  .v5-path-cards > a > strong { margin-top: 3rem; }
  .v5-result-actions { flex-direction: column; }
  .v5-result-actions button,.v5-result-actions a { width: 100%; justify-content: center; }
  .v5-result-actions button:first-child { margin-right: 0; }
  .v5-principle { min-height: 90svh; }
  .v5-principle h2 { font-size: clamp(2.5rem,12.5vw,6rem); overflow-wrap: anywhere; }
  .v5-principle blockquote { width: 88%; }
  .v5-material > div { grid-template-columns: 1fr; grid-template-rows: 80svh 27rem 27rem; }
  .v5-material-large { grid-row: auto; }
  .v5-collective h2 { font-size: clamp(3rem,13vw,6rem); overflow-wrap: anywhere; }
  .v5-collective > p,.v5-collective > a { width: 100%; margin-left: 0; }
  .v5-collective > a { font-size: clamp(2rem,10vw,4rem); }
  .v5-footer { grid-template-columns: 1fr; gap: 4rem; align-items: end; padding-inline: 1rem; }
  .v5-footer nav { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .v5-world * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .v5-weave-canvas { opacity: .72; }
}

/* V6 — Le Révélateur 3D */
body:has(.v6-world) { overflow-x: clip; background: #020407; }
body:has(.v6-world) .site-header,
body:has(.v6-world) .site-footer,
body:has(.v6-world) > .page-progress,
body:has(.v6-world) > .pointer-halo { display: none; }
body:has(.v6-world) #contenu { animation: none; }
.v6-world {
  --v6-cyan: #2bbad0;
  --v6-orange: #ee702e;
  --v6-violet: #b7a6ff;
  --v6-night: #020407;
  --v6-ink: #071014;
  --v6-paper: #f1f4ef;
  --v6-muted: #95a2a2;
  --v6-line: rgba(241,244,239,.16);
  position: relative;
  overflow: clip;
  background:
    radial-gradient(circle at 64% 8%, rgba(43,186,208,.08), transparent 32rem),
    radial-gradient(circle at 18% 35%, rgba(183,166,255,.055), transparent 38rem),
    var(--v6-night);
  color: var(--v6-paper);
  isolation: isolate;
}
.v6-world button,.v6-world a { -webkit-tap-highlight-color: transparent; }
.v6-world button:focus-visible,.v6-world a:focus-visible { outline: 3px solid var(--v6-orange); outline-offset: 5px; }
.v6-proofs a:focus-visible,.v6-conferences a:focus-visible,.v6-closing a:focus-visible { outline-color: var(--v6-ink); }
.v6-header {
  position: fixed;
  z-index: 70;
  top: 0;
  left: 0;
  right: 0;
  height: 5rem;
  display: grid;
  grid-template-columns: 15rem 1fr auto;
  align-items: center;
  gap: 2rem;
  padding: 0 clamp(1rem,3vw,3.5rem);
  border-bottom: 1px solid var(--v6-line);
  background: rgba(2,4,7,.68);
  backdrop-filter: blur(20px) saturate(1.4);
}
.v6-logo { display: flex; align-items: center; gap: .75rem; width: max-content; }
.v6-logo img { width: 2.45rem; height: 2.45rem; object-fit: contain; }
.v6-logo strong { font: 750 .61rem/.92 var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.v6-header > nav { display: flex; justify-content: center; gap: clamp(.8rem,2.2vw,2.5rem); color: #bbc4c1; font: .58rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.v6-header > nav a { position: relative; padding: .9rem 0; }
.v6-header > nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: .5rem; height: 1px; background: var(--v6-cyan); transition: right .25s; }
.v6-header > nav a:hover::after { right: 0; }
.v6-tools { display: flex; align-items: center; gap: 1rem; }
.v6-versions { display: flex; gap: .35rem; font: 700 .55rem var(--mono); }
.v6-versions > * { display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border: 1px solid var(--v6-line); border-radius: 50%; }
.v6-versions > span { border-color: var(--v6-cyan); background: var(--v6-cyan); color: var(--v6-ink); }
.v6-header .sound-control { min-height: 2.75rem; }
.v6-invite { min-height: 2.75rem; display: inline-flex; align-items: center; padding: .7rem 1rem; background: var(--v6-orange); color: var(--v6-ink); font: 800 .57rem var(--mono); letter-spacing: .05em; text-transform: uppercase; }

.v6-journey { position: relative; min-height: 600svh; }
.v6-stage { position: sticky; z-index: 1; top: 0; height: 100svh; overflow: hidden; background: radial-gradient(circle at center, rgba(14,32,39,.55), transparent 44%); pointer-events: none; }
.v6-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(241,244,239,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(241,244,239,.035) 1px, transparent 1px);
  background-size: 7.5vw 7.5vw;
  mask-image: radial-gradient(circle at center, #000, transparent 76%);
}
.v6-stage::after { content: ""; position: absolute; inset: 9%; border: 1px solid rgba(43,186,208,.08); border-radius: 50%; transform: perspective(900px) rotateX(68deg); }
.v6-canvas { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; touch-action: pan-y; opacity: 0; transition: opacity .7s; }
.v6-stage.is-rendering .v6-canvas { opacity: 1; }
.v6-static-machine { position: absolute; z-index: 1; left: 50%; top: 50%; width: min(52vw,46rem); aspect-ratio: 1; transform: translate(-50%,-50%) perspective(900px) rotateX(62deg) rotateZ(-18deg); transition: opacity .7s; }
.v6-stage.is-rendering .v6-static-machine { opacity: 0; }
.v6-stage.is-paused .v6-static-machine i { animation-play-state: paused; }
.v6-static-machine i { position: absolute; inset: calc(var(--ring) * 9%); border: 1px solid color-mix(in srgb,var(--ring-color) 70%,transparent); border-radius: 50%; box-shadow: inset 0 0 2rem color-mix(in srgb,var(--ring-color) 8%,transparent),0 0 1.4rem color-mix(in srgb,var(--ring-color) 9%,transparent); animation: v6-fallback-spin calc(15s + var(--ring) * 4s) linear infinite; }
.v6-static-machine i:nth-child(1) { --ring:0; --ring-color:var(--v6-cyan); }
.v6-static-machine i:nth-child(2) { --ring:1; --ring-color:var(--v6-paper); animation-direction: reverse; }
.v6-static-machine i:nth-child(3) { --ring:2; --ring-color:var(--v6-violet); }
.v6-static-machine i:nth-child(4) { --ring:3; --ring-color:var(--v6-cyan); animation-direction: reverse; }
.v6-static-machine b { position: absolute; left: 42%; top: 42%; width: 16%; aspect-ratio: 1; border-radius: 50%; background: var(--v6-orange); box-shadow: 0 0 3rem var(--v6-orange); }
.v6-stage-status { position: absolute; z-index: 4; left: clamp(1rem,3vw,3.5rem); bottom: 2.2rem; display: flex; flex-direction: column; gap: .25rem; }
.v6-stage-status span,.v6-depth span { color: var(--v6-muted); font: .54rem var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.v6-stage-status strong { color: var(--v6-cyan); font: 700 .65rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.v6-pause { position: absolute; z-index: 5; right: clamp(1rem,3vw,3.5rem); bottom: 1.55rem; min-height: 2.75rem; padding: .7rem 0; border: 0; border-bottom: 1px solid var(--v6-muted); background: transparent; color: var(--v6-muted); font: .55rem var(--mono); letter-spacing: .05em; text-transform: uppercase; cursor: pointer; pointer-events: auto; }
.v6-depth { position: absolute; z-index: 4; right: clamp(1rem,3vw,3.5rem); top: 8rem; height: 11rem; display: flex; flex-direction: column; align-items: center; justify-content: space-between; }
.v6-depth i { flex: 1; width: 1px; margin: .5rem 0; background: linear-gradient(var(--v6-cyan),var(--v6-orange)); }
.v6-panels { position: relative; z-index: 3; margin-top: -100svh; }
.v6-panel { position: relative; min-height: 100svh; padding: 7rem clamp(1rem,4vw,4.5rem) 4rem; display: flex; align-items: center; pointer-events: none; }
.v6-panel > * { pointer-events: auto; }
.v6-overline,.v6-glass-card > span,.v6-transmission-panel article > span { color: var(--v6-cyan); font: 700 .58rem var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.v6-hero { align-items: center; }
.v6-panel-copy { width: min(76rem,80vw); }
.v6-panel-copy h1 { margin: 1.8rem 0 2.5rem; font-size: clamp(5rem,10.8vw,13rem); line-height: .72; letter-spacing: -.08em; font-weight: 610; text-transform: uppercase; }
.v6-panel-copy h1 em { display: inline-block; margin-left: 18vw; color: var(--v6-orange); font-family: var(--reading); font-weight: 400; text-transform: none; }
.v6-panel-copy > p:not(.v6-overline) { width: min(34rem,46vw); margin-left: 42vw; font-family: var(--reading); font-size: clamp(1.15rem,1.8vw,1.65rem); }
.v6-panel-copy > div { width: min(34rem,46vw); margin: 2rem 0 0 42vw; display: grid; grid-template-columns: 1fr 1fr; }
.v6-panel-copy > div a { min-height: 4rem; padding: .9rem 1rem; border: 1px solid var(--v6-line); display: flex; align-items: center; justify-content: space-between; font: 750 .58rem var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.v6-panel-copy > div a:first-child { background: var(--v6-cyan); border-color: var(--v6-cyan); color: var(--v6-ink); }
.v6-panel-copy > div a:last-child { background: rgba(2,4,7,.7); }
.v6-panel-left { justify-content: flex-start; }
.v6-panel-right { justify-content: flex-end; }
.v6-glass-card { width: min(36rem,42vw); padding: clamp(1.5rem,3vw,3rem); border: 1px solid var(--v6-line); background: rgba(4,9,13,.73); backdrop-filter: blur(22px) saturate(1.3); box-shadow: 0 1.8rem 6rem rgba(0,0,0,.28); }
.v6-glass-card h2 { margin: 2rem 0; font-family: var(--reading); font-size: clamp(2.4rem,4.1vw,4.8rem); line-height: .96; letter-spacing: -.045em; font-weight: 400; }
.v6-glass-card > p { color: #bcc6c3; font-family: var(--reading); font-size: 1.08rem; }
.v6-card-proof { margin: 2.5rem 0; padding: 1.1rem 0; border-top: 1px solid var(--v6-line); border-bottom: 1px solid var(--v6-line); display: flex; flex-direction: column; gap: .45rem; }
.v6-card-proof time { color: var(--v6-orange); font: .56rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.v6-card-proof strong { font-size: .9rem; font-weight: 580; }
.v6-glass-card > a { min-height: 3.25rem; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--v6-cyan); color: var(--v6-cyan); font: 750 .6rem var(--mono); text-transform: uppercase; }
.v6-glass-card i { font-style: normal; }
.v6-autonomy { overflow: hidden; }
.v6-floating-object { position: absolute; left: 6vw; top: 50%; width: min(33vw,32rem); aspect-ratio: 1; transform: translateY(-50%) perspective(1000px) rotateY(14deg) rotateX(-7deg); filter: drop-shadow(0 3rem 4rem rgba(43,186,208,.12)); opacity: .78; }
.v6-floating-object img { object-fit: contain; }
.v6-systems .v6-glass-card > button { width: 100%; min-height: 3.7rem; margin: 1.5rem 0 0; padding: .9rem 1rem; border: 1px solid var(--v6-violet); background: rgba(183,166,255,.11); color: var(--v6-violet); display: flex; align-items: center; justify-content: space-between; font: 750 .6rem var(--mono); letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.v6-systems .v6-glass-card > button[aria-pressed="true"] { background: var(--v6-violet); color: var(--v6-ink); }
.v6-systems .v6-glass-card > button[aria-expanded="true"] { background: var(--v6-violet); color: var(--v6-ink); }
.v6-dependencies { margin-top: 1rem; padding: 1rem; border-left: 3px solid var(--v6-orange); background: rgba(238,112,46,.09); }
.v6-dependencies[hidden] { display: none; }
.v6-dependencies strong { color: var(--v6-orange); font: 700 .56rem var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.v6-dependencies p { margin: .7rem 0 0; color: #d5dcd8; font-family: var(--reading); font-size: .98rem; }
.v6-twin-projects { margin-top: 2rem; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--v6-line); }
.v6-twin-projects > a { min-height: 12rem; padding: 1rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--v6-line); }
.v6-twin-projects > a:last-child { border: 0; }
.v6-twin-projects img { object-fit: contain; }
.v6-twin-projects span { display: flex; flex-direction: column; gap: .25rem; }
.v6-twin-projects b { font-size: 1rem; }
.v6-twin-projects small { color: var(--v6-muted); font: .52rem var(--mono); text-transform: uppercase; }
.v6-transmission-panel { justify-content: center; text-align: center; }
.v6-transmission-panel article { width: min(76rem,90vw); padding: 4rem; background: radial-gradient(circle,rgba(238,112,46,.14),rgba(2,4,7,.74) 60%); }
.v6-transmission-panel h2 { margin: 2rem auto; font-size: clamp(4rem,8.3vw,10rem); line-height: .78; letter-spacing: -.07em; font-weight: 590; }
.v6-transmission-panel p { width: min(40rem,80%); margin: 0 auto 3rem; font-family: var(--reading); font-size: clamp(1.2rem,2vw,1.8rem); }
.v6-transmission-panel a { width: min(34rem,80%); min-height: 4rem; margin: auto; padding: 1rem 0; border-top: 1px solid var(--v6-orange); border-bottom: 1px solid var(--v6-orange); color: var(--v6-orange); display: flex; align-items: center; justify-content: space-between; font: 750 .61rem var(--mono); text-transform: uppercase; }
.v6-transmission-panel i { font-style: normal; }

.v6-proofs { position: relative; z-index: 5; padding: clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); background: var(--v6-paper); color: var(--v6-ink); }
.v6-proofs > header,.v6-conferences > header { display: grid; grid-template-columns: 11rem minmax(20rem,1fr) minmax(15rem,27rem); gap: 4vw; align-items: end; margin-bottom: 6rem; }
.v6-proofs > header > span,.v6-conferences > header > span { color: #147b89; font: 750 .59rem var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.v6-proofs > header h2,.v6-conferences > header h2 { margin: 0; font-size: clamp(3.6rem,7vw,8rem); line-height: .8; letter-spacing: -.065em; font-weight: 590; }
.v6-proofs > header h2 em,.v6-conferences > header h2 em { color: #b44310; font-family: var(--reading); font-weight: 400; }
.v6-proofs > header p,.v6-conferences > header p { margin: 0; color: #52605f; font-family: var(--reading); font-size: 1.08rem; }
.v6-project-planes { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.2rem; perspective: 1500px; }
.v6-project-plane { position: relative; min-height: 42rem; padding: 1rem; border: 2px solid var(--v6-ink); background: var(--v6-paper); display: flex; flex-direction: column; box-shadow: 1rem 1rem 0 var(--v6-ink); transform-style: preserve-3d; transition: transform .5s,box-shadow .5s; }
.v6-project-plane:nth-child(1) { transform: rotateY(7deg) rotateX(1deg); transform-origin: right; }
.v6-project-plane:nth-child(2) { transform: translateZ(3rem); }
.v6-project-plane:nth-child(3) { transform: rotateY(-7deg) rotateX(1deg); transform-origin: left; }
.v6-project-plane:hover { transform: translateY(-1rem) translateZ(4rem); box-shadow: .4rem 1.8rem 2.8rem rgba(7,16,20,.22); }
.v6-project-plane > div { position: relative; height: 19rem; overflow: hidden; background: #dce3df; }
.v6-project-plane > div img { object-fit: cover; filter: saturate(.75) contrast(1.05); }
.v6-project-plane:nth-child(1) > div img,.v6-project-plane:nth-child(3) > div img { object-fit: contain; }
.v6-project-plane > span { margin-top: 1.3rem; color: #147b89; font: 700 .55rem var(--mono); text-transform: uppercase; }
.v6-project-plane > strong { margin: 1rem 0; font-size: clamp(2.2rem,3.8vw,4.5rem); line-height: .86; letter-spacing: -.05em; }
.v6-project-plane > p { color: #52605f; font-family: var(--reading); }
.v6-project-plane > i { margin-top: auto; font: 750 .6rem var(--mono); font-style: normal; text-transform: uppercase; }
.v6-signals { margin-top: 9rem; display: grid; grid-template-columns: 1.1fr .9fr; border-top: 2px solid var(--v6-ink); }
.v6-signals > div { grid-row: 1 / 5; padding: 2rem 2rem 2rem 0; border-right: 2px solid var(--v6-ink); }
.v6-signals > div > span { color: #b44310; font: 700 .58rem var(--mono); text-transform: uppercase; }
.v6-signals h3 { margin: 2rem 0; font-size: clamp(3rem,6vw,7rem); line-height: .8; letter-spacing: -.06em; }
.v6-signals > a:not(.v6-all-texts) { min-height: 9rem; padding: 1.2rem 0 1.2rem 2rem; border-bottom: 1px solid rgba(7,16,20,.25); display: grid; grid-template-columns: 8rem 1fr auto; align-items: center; gap: 1rem; }
.v6-signals > a > span { color: #52605f; font: .55rem var(--mono); text-transform: uppercase; }
.v6-signals > a > strong { font-family: var(--reading); font-size: clamp(1.3rem,2.2vw,2rem); font-weight: 400; }
.v6-signals > a > i { font-style: normal; }
.v6-all-texts { grid-column: 2; min-height: 4rem; padding: 1rem 0 1rem 2rem; display: flex; align-items: center; justify-content: space-between; background: var(--v6-orange); font: 750 .61rem var(--mono); text-transform: uppercase; }

.v6-conferences { position: relative; z-index: 5; padding: clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); background: var(--v6-cyan); color: var(--v6-ink); }
.v6-conferences > header > span { color: #0c4e57; }
.v6-conferences > header h2 em { color: var(--v6-ink); }
.v6-conferences > header p { color: #234b50; }
.v6-conferences > div { display: grid; grid-template-columns: repeat(3,1fr); border: 2px solid var(--v6-ink); }
.v6-conferences > div > a { min-height: 38rem; padding: 1.5rem; border-right: 2px solid var(--v6-ink); display: flex; flex-direction: column; transition: background .25s,color .25s; }
.v6-conferences > div > a:last-child { border: 0; }
.v6-conferences > div > a > span { font: 750 .56rem var(--mono); text-transform: uppercase; }
.v6-conferences > div > a > strong { margin: 5rem 0 1.5rem; font-size: clamp(2rem,3vw,3.4rem); line-height: .9; letter-spacing: -.045em; }
.v6-conferences > div > a > p { font-family: var(--reading); }
.v6-conferences > div > a > small { display: block; margin-top: 1rem; font-family: var(--reading); }
.v6-conferences > div > a > small b { display: block; font: 750 .53rem var(--mono); text-transform: uppercase; }
.v6-conferences > div > a > i { margin-top: auto; font: 750 .6rem var(--mono); font-style: normal; text-transform: uppercase; }
.v6-conferences > div > a:hover { background: var(--v6-ink); color: var(--v6-paper); }
.v6-conference-cta { min-height: 7rem; margin-top: 4rem; padding: 1rem 0; border-top: 3px solid var(--v6-ink); border-bottom: 3px solid var(--v6-ink); display: flex; align-items: center; justify-content: space-between; font-size: clamp(2.6rem,6vw,7rem); line-height: .9; letter-spacing: -.055em; font-weight: 650; text-transform: uppercase; }

.v6-closing { position: relative; z-index: 5; min-height: 100svh; padding: clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); display: flex; flex-direction: column; justify-content: center; background: var(--v6-orange); color: var(--v6-ink); }
.v6-closing > span { font: 750 .59rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.v6-closing h2 { margin: 3rem 0 5rem; font-size: clamp(4.8rem,10.2vw,12rem); line-height: .72; letter-spacing: -.075em; font-weight: 620; }
.v6-closing h2 em { font-family: var(--reading); font-weight: 400; }
.v6-closing > a { width: 76%; min-height: 6rem; margin-left: auto; padding: 1rem 0; border-top: 3px solid var(--v6-ink); border-bottom: 3px solid var(--v6-ink); display: flex; align-items: center; justify-content: space-between; font-size: clamp(3rem,7vw,8rem); line-height: .8; letter-spacing: -.06em; font-weight: 650; text-transform: uppercase; }
.v6-closing i { font-style: normal; }
.v6-footer { position: relative; z-index: 5; min-height: 24rem; padding: 5rem clamp(1rem,4vw,4.5rem) 2rem; display: grid; grid-template-columns: 1fr auto; align-items: end; border-top: 1px solid var(--v6-line); background: var(--v6-night); }
.v6-footer > div { display: flex; align-items: center; gap: 1rem; }
.v6-footer > div img { object-fit: contain; }
.v6-footer p { margin: 0; font: .6rem/1.45 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.v6-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem; }
.v6-footer nav a { min-height: 2.75rem; padding: .7rem .9rem; border: 1px solid var(--v6-line); display: inline-flex; align-items: center; font: .56rem var(--mono); text-transform: uppercase; }
@keyframes v6-fallback-spin { to { transform: rotate(360deg) rotateX(4deg); } }

@media (max-width: 980px) {
  .v6-header { height: 4.5rem; grid-template-columns: 1fr auto; gap: .5rem; padding: 0 .8rem; }
  .v6-logo strong,.v6-header > nav,.v6-versions,.v6-header .sound-control > span:last-child { display: none; }
  .v6-tools { gap: .5rem; }
  .v6-invite { padding-inline: .7rem; }
  .v6-stage::before { background-size: 18vw 18vw; }
  .v6-stage::after { inset: 16%; }
  .v6-static-machine { width: min(88vw,34rem); top: 38%; }
  .v6-depth { display: none; }
  .v6-stage-status { left: 1rem; bottom: 1.1rem; }
  .v6-pause { right: 1rem; bottom: .55rem; }
  .v6-panel { min-height: 108svh; padding: 5.5rem 1rem 5rem; align-items: flex-end; }
  .v6-panel-copy { width: 100%; padding-bottom: 1rem; }
  .v6-panel-copy h1 { margin-top: 8vh; font-size: clamp(4rem,18vw,7rem); overflow-wrap: anywhere; }
  .v6-panel-copy h1 em { margin-left: 0; }
  .v6-panel-copy > p:not(.v6-overline),.v6-panel-copy > div { width: 100%; margin-left: 0; }
  .v6-panel-copy > div { grid-template-columns: 1fr; }
  .v6-glass-card { width: 100%; padding: 1.4rem; background: rgba(4,9,13,.9); backdrop-filter: none; }
  .v6-glass-card h2 { font-size: clamp(2.3rem,10vw,4.5rem); overflow-wrap: anywhere; }
  .v6-floating-object { left: 10vw; top: 20%; width: 80vw; opacity: .55; transform: none; }
  .v6-twin-projects { grid-template-columns: 1fr 1fr; }
  .v6-transmission-panel article { width: 100%; padding: 2rem 1rem; }
  .v6-transmission-panel h2 { font-size: clamp(3.4rem,15vw,6rem); overflow-wrap: anywhere; }
  .v6-transmission-panel p,.v6-transmission-panel a { width: 100%; }
  .v6-proofs,.v6-conferences,.v6-closing { padding-left: 1rem; padding-right: 1rem; }
  .v6-proofs > header,.v6-conferences > header { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 4rem; }
  .v6-proofs > header h2,.v6-conferences > header h2 { font-size: clamp(3.2rem,14vw,6rem); overflow-wrap: anywhere; }
  .v6-project-planes { grid-template-columns: 1fr; perspective: none; gap: 2rem; }
  .v6-project-plane,.v6-project-plane:nth-child(1),.v6-project-plane:nth-child(2),.v6-project-plane:nth-child(3) { min-height: 35rem; transform: none; box-shadow: .55rem .55rem 0 var(--v6-ink); }
  .v6-project-plane > div { height: 18rem; }
  .v6-signals { grid-template-columns: 1fr; margin-top: 6rem; }
  .v6-signals > div { grid-row: auto; padding: 2rem 0; border-right: 0; }
  .v6-signals > a:not(.v6-all-texts) { padding-left: 0; grid-template-columns: 5rem 1fr auto; }
  .v6-all-texts { grid-column: 1; padding-left: 1rem; }
  .v6-conferences > div { grid-template-columns: 1fr; }
  .v6-conferences > div > a { min-height: 31rem; border-right: 0; border-bottom: 2px solid var(--v6-ink); }
  .v6-conferences > div > a:last-child { border-bottom: 0; }
  .v6-conference-cta { font-size: clamp(2.3rem,11vw,5rem); overflow-wrap: anywhere; }
  .v6-closing h2 { font-size: clamp(3.8rem,16vw,7rem); overflow-wrap: anywhere; }
  .v6-closing > a { width: 100%; margin-left: 0; font-size: clamp(3rem,14vw,6rem); }
  .v6-footer { grid-template-columns: 1fr; gap: 4rem; padding-inline: 1rem; }
  .v6-footer nav { justify-content: flex-start; }
}

@media (max-width: 420px) {
  .v6-invite { max-width: 8.5rem; line-height: 1.05; }
  .v6-panel-copy h1 { font-size: clamp(3.5rem,17vw,5.2rem); }
  .v6-twin-projects { grid-template-columns: 1fr; }
  .v6-twin-projects > a { min-height: 9rem; border-right: 0; border-bottom: 1px solid var(--v6-line); }
  .v6-signals > a:not(.v6-all-texts) { grid-template-columns: 1fr auto; }
  .v6-signals > a > span { grid-column: 1 / 3; }
}

@media (prefers-reduced-motion: reduce) {
  html:has(.v6-world) { scroll-behavior: auto; }
  .v6-world * { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .v6-static-machine i { animation: none; }
  .v6-canvas { display: none; }
  .v6-pause { display: none; }
}

/* V7 — Demain pousse ici */
body:has(.v7-world) { overflow-x: clip; background: #f3efdc; }
body:has(.v7-world) .site-header,
body:has(.v7-world) .site-footer,
body:has(.v7-world) > .page-progress,
body:has(.v7-world) > .pointer-halo { display: none; }
body:has(.v7-world) #contenu { animation: none; }
.v7-world { --v7-ink:#071014; --v7-green:#2bbad0; --v7-cyan:#2bbad0; --v7-orange:#ee702e; --v7-sun:#ffd449; --v7-cream:#f3efdc; --v7-paper:#fffdf2; position:relative; overflow:clip; background:var(--v7-cream); color:var(--v7-ink); }
.v7-world button,.v7-world a { -webkit-tap-highlight-color:transparent; }
.v7-world button:focus-visible,.v7-world a:focus-visible { outline:3px solid #792d11; outline-offset:5px; }
.v7-header { position:sticky; z-index:60; top:0; height:5rem; display:grid; grid-template-columns:15rem 1fr auto; align-items:center; gap:2rem; padding:0 clamp(1rem,3vw,3.5rem); border-bottom:1px solid rgba(7,16,20,.2); background:rgba(243,239,220,.78); backdrop-filter:blur(18px) saturate(1.25); }
.v7-logo { display:flex; align-items:center; gap:.75rem; width:max-content; }
.v7-logo img { width:2.5rem; height:2.5rem; object-fit:contain; }
.v7-logo strong { font:750 .61rem/.92 var(--mono); letter-spacing:.05em; text-transform:uppercase; }
.v7-header nav { display:flex; justify-content:center; gap:clamp(1rem,2.3vw,2.5rem); font:700 .58rem var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.v7-header > div { display:flex; align-items:center; gap:.45rem; }
.v7-header > div > a:not(.v7-invite),.v7-header > div > span { display:grid; place-items:center; width:2rem; height:2rem; border:1px solid rgba(7,16,20,.26); border-radius:50%; font:700 .54rem var(--mono); }
.v7-header > div > span { background:var(--v7-ink); color:var(--v7-paper); }
.v7-header .sound-control { min-height:2.75rem; color:var(--v7-ink); }
.v7-invite { min-height:2.75rem; padding:.7rem 1rem; display:inline-flex; align-items:center; background:var(--v7-orange); color:#151d18; font:800 .56rem var(--mono); text-transform:uppercase; }
.v7-hero { position:relative; min-height:calc(100svh - 5rem); overflow:hidden; padding:clamp(4rem,8vh,7rem) clamp(1rem,4vw,4.5rem) 3rem; display:flex; align-items:center; isolation:isolate; background:linear-gradient(135deg,#f8f2d3,#d9f4f7 68%,#bcebf1); }
.v7-hero::after { content:""; position:absolute; z-index:-2; inset:0; opacity:.2; background-image:linear-gradient(rgba(7,16,20,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(7,16,20,.25) 1px,transparent 1px); background-size:7.5vw 7.5vw; mask-image:linear-gradient(90deg,#000,transparent 70%); }
.v7-solar-canvas { position:absolute; z-index:-1; inset:0; width:100%; height:100%; }
.v7-hero-copy { position:relative; z-index:3; width:min(78rem,84vw); }
.v7-hero-copy > p { margin:0 0 2rem; color:var(--v7-cyan); font:750 .61rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.v7-hero h1 { margin:0; font-size:clamp(5.2rem,12vw,14rem); line-height:.65; letter-spacing:-.085em; font-weight:650; text-transform:uppercase; }
.v7-hero h1 span,.v7-hero h1 em { display:block; }
.v7-hero h1 span:nth-child(2) { margin-left:9vw; }
.v7-hero h1 em { margin-left:30vw; color:var(--v7-orange); font-family:var(--reading); font-weight:400; text-transform:none; }
.v7-hero blockquote { width:min(35rem,42vw); margin:3rem 0 0 46vw; padding:1.2rem 0; border-top:2px solid var(--v7-ink); border-bottom:2px solid var(--v7-ink); font-family:var(--reading); font-size:clamp(1.15rem,1.8vw,1.6rem); }
.v7-hero-copy > div { width:min(35rem,42vw); margin:1.5rem 0 0 46vw; display:grid; grid-template-columns:1fr 1fr; }
.v7-hero-copy > div a { min-height:4rem; padding:.8rem 1rem; border:1px solid var(--v7-ink); display:flex; align-items:center; justify-content:space-between; font:750 .56rem var(--mono); text-transform:uppercase; }
.v7-hero-copy > div a:first-child { background:var(--v7-ink); color:var(--v7-paper); }
.v7-hero-copy i { font-style:normal; }
.v7-hero-images { position:absolute; z-index:1; right:4vw; top:12%; width:34vw; height:64%; pointer-events:none; }
.v7-hero-images > div { position:absolute; overflow:hidden; border:3px solid var(--v7-ink); box-shadow:.8rem .8rem 0 var(--v7-sun); }
.v7-hero-images > div:first-child { right:0; top:0; width:62%; height:74%; transform:rotate(4deg); }
.v7-hero-images > div:last-child { right:48%; bottom:0; width:46%; height:42%; transform:rotate(-5deg); }
.v7-hero-images img { object-fit:cover; filter:saturate(.9); }
.v7-pause { position:absolute; z-index:5; right:2rem; bottom:1.4rem; min-height:2.75rem; padding:.6rem 0; border:0; border-bottom:1px solid var(--v7-ink); background:transparent; color:var(--v7-ink); font:700 .53rem var(--mono); text-transform:uppercase; cursor:pointer; }
.v7-coordinate { position:absolute; left:2rem; bottom:1.8rem; color:var(--v7-green); font:.53rem var(--mono); text-transform:uppercase; }

.v7-energy,.v7-projects,.v7-writing,.v7-conferences { padding:clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); }
.v7-energy > header,.v7-projects > header,.v7-conferences > header { display:grid; grid-template-columns:11rem minmax(20rem,1fr) minmax(15rem,27rem); gap:4vw; align-items:end; margin-bottom:6rem; }
.v7-energy > header > span,.v7-projects > header > span,.v7-conferences > header > span,.v7-writing > header > span { color:var(--v7-cyan); font:750 .59rem var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.v7-energy h2,.v7-projects h2,.v7-conferences h2 { margin:0; font-size:clamp(3.7rem,7.2vw,8.4rem); line-height:.79; letter-spacing:-.065em; font-weight:600; }
.v7-energy h2 em,.v7-projects h2 em,.v7-conferences h2 em { color:var(--v7-orange); font-family:var(--reading); font-weight:400; }
.v7-energy > header > p,.v7-projects > header > p,.v7-conferences > header > p { margin:0; font-family:var(--reading); font-size:1.1rem; }
.v7-energy-controls { display:grid; grid-template-columns:repeat(3,1fr); border:2px solid var(--v7-ink); }
.v7-energy-controls button { min-height:25rem; padding:1.5rem; border:0; border-right:2px solid var(--v7-ink); background:transparent; color:var(--v7-ink); display:flex; flex-direction:column; align-items:flex-start; text-align:left; cursor:pointer; transition:background .25s,color .25s; }
.v7-energy-controls button:last-child { border:0; }
.v7-energy-controls button > span { font:700 .58rem var(--mono); }
.v7-energy-controls button strong { margin:5rem 0 1rem; font-size:clamp(2.6rem,5vw,5.5rem); line-height:.8; letter-spacing:-.06em; }
.v7-energy-controls button small { margin-top:auto; font-family:var(--reading); font-size:1rem; }
.v7-energy-controls button:nth-child(1)[aria-pressed="true"] { background:var(--v7-cyan); color:var(--v7-ink); }
.v7-energy-controls button:nth-child(2)[aria-pressed="true"] { background:var(--v7-orange); color:var(--v7-ink); }
.v7-energy-controls button:nth-child(3)[aria-pressed="true"] { background:linear-gradient(135deg,var(--v7-cyan) 0 50%,var(--v7-orange) 50%); color:var(--v7-ink); }
.v7-energy-result { margin:3rem 0 0 16vw; padding:3rem; border-left:1rem solid var(--energy-color); background:var(--v7-paper); box-shadow:1rem 1rem 0 rgba(7,16,20,.14); }
.v7-energy-result > span { color:var(--energy-color); font:750 .58rem var(--mono); text-transform:uppercase; }
.v7-energy-result h3 { margin:1.5rem 0; font-family:var(--reading); font-size:clamp(2.8rem,5vw,5.8rem); line-height:.9; font-weight:400; }
.v7-energy-result p { max-width:42rem; font-family:var(--reading); font-size:1.2rem; }
.v7-energy-result a { width:min(30rem,100%); min-height:3.5rem; margin-left:auto; padding:.8rem 0; border-top:2px solid var(--v7-ink); border-bottom:2px solid var(--v7-ink); display:flex; justify-content:space-between; align-items:center; font:750 .58rem var(--mono); text-transform:uppercase; }
.v7-energy-result i { font-style:normal; }

.v7-horizon { min-height:100svh; padding:clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; background:var(--v7-ink); color:var(--v7-paper); }
.v7-horizon-copy > span { color:#79dce9; font:750 .59rem var(--mono); text-transform:uppercase; }
.v7-horizon-copy h2 { margin:2rem 0; font-size:clamp(4rem,7.5vw,9rem); line-height:.78; letter-spacing:-.065em; font-weight:600; }
.v7-horizon-copy h2 em { color:var(--v7-sun); font-family:var(--reading); font-weight:400; }
.v7-horizon-copy p { max-width:36rem; color:#c5d4ce; font-family:var(--reading); font-size:1.2rem; }
.v7-horizon-control { padding:clamp(2rem,4vw,4rem); border:1px solid rgba(255,255,255,.24); background:rgba(255,255,255,.05); }
.v7-horizon-control > div:first-child { display:flex; justify-content:space-between; align-items:end; }
.v7-horizon-control label { color:#79dce9; font:700 .58rem var(--mono); text-transform:uppercase; }
.v7-horizon-control output { color:var(--v7-sun); font-size:clamp(5rem,10vw,11rem); line-height:.7; letter-spacing:-.08em; }
.v7-horizon-control input { width:100%; margin:4rem 0 3rem; accent-color:var(--v7-sun); }
.v7-horizon-result { padding-top:2rem; border-top:1px solid rgba(255,255,255,.25); display:flex; flex-direction:column; gap:1rem; }
.v7-horizon-result span { color:var(--v7-orange); font-size:clamp(2.8rem,5vw,5rem); line-height:.8; font-weight:700; }
.v7-horizon-result strong { font-family:var(--reading); font-size:1.2rem; font-weight:400; }

.v7-manifesto { padding:clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); background:var(--v7-sun); }
.v7-manifesto > span { font:750 .59rem var(--mono); text-transform:uppercase; }
.v7-manifesto > div { margin-top:4rem; display:grid; grid-template-columns:repeat(3,1fr); border-top:3px solid var(--v7-ink); }
.v7-manifesto article { min-height:36rem; padding:1.5rem; border-right:2px solid var(--v7-ink); display:flex; flex-direction:column; }
.v7-manifesto article:last-child { border:0; }
.v7-manifesto b { font:700 .6rem var(--mono); }
.v7-manifesto h2 { margin:6rem 0 2rem; font-family:var(--reading); font-size:clamp(2.3rem,3.8vw,4.4rem); line-height:.92; font-weight:400; }
.v7-manifesto p { margin-top:auto; font-family:var(--reading); }

.v7-projects { background:#d9f4f7; }
.v7-projects > div { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; }
.v7-project { min-height:52rem; padding:1.2rem; border:2px solid var(--v7-ink); display:flex; flex-direction:column; background:var(--v7-paper); box-shadow:.7rem .7rem 0 var(--v7-green); }
.v7-project > div { position:relative; height:28rem; overflow:hidden; background:#dce4d9; }
.v7-project img { object-fit:cover; filter:saturate(.88); transition:transform .6s,filter .6s; }
.v7-project.project-1 img,.v7-project.project-2 img,.v7-project.project-4 img { object-fit:contain; }
.v7-project:hover img { transform:scale(1.035); filter:saturate(1); }
.v7-project > span { margin-top:1.3rem; color:var(--v7-green); font:700 .56rem var(--mono); text-transform:uppercase; }
.v7-project > strong { margin:1rem 0; font-size:clamp(3rem,5vw,6rem); line-height:.82; letter-spacing:-.06em; }
.v7-project > p { max-width:35rem; font-family:var(--reading); }
.v7-project > i { margin-top:auto; font:750 .58rem var(--mono); font-style:normal; text-transform:uppercase; }

.v7-writing { background:var(--v7-paper); }
.v7-writing > header { display:grid; grid-template-columns:11rem 1fr auto; gap:4vw; align-items:end; margin-bottom:5rem; }
.v7-writing h2 { margin:0; font-size:clamp(4rem,8vw,9rem); line-height:.76; letter-spacing:-.07em; }
.v7-writing > header a { padding:.8rem 0; border-bottom:2px solid var(--v7-ink); font:750 .58rem var(--mono); text-transform:uppercase; }
.v7-writing > div { border-top:2px solid var(--v7-ink); }
.v7-writing > div > a { min-height:13rem; padding:1.5rem 0; border-bottom:1px solid rgba(7,16,20,.25); display:grid; grid-template-columns:10rem 1fr 1fr auto; gap:2rem; align-items:center; }
.v7-writing > div > a > span { color:var(--v7-cyan); font:.55rem var(--mono); text-transform:uppercase; }
.v7-writing > div > a > strong { font-family:var(--reading); font-size:clamp(1.7rem,3vw,3rem); line-height:.95; font-weight:400; }
.v7-writing > div > a > p { font-family:var(--reading); }
.v7-writing > div > a > i { font-style:normal; }

.v7-conferences { background:#bcebf1; }
.v7-conferences > div { display:grid; grid-template-columns:repeat(3,1fr); border:2px solid var(--v7-ink); }
.v7-conferences > div > a { min-height:38rem; padding:1.5rem; border-right:2px solid var(--v7-ink); display:flex; flex-direction:column; transition:background .25s,color .25s; }
.v7-conferences > div > a:last-child { border:0; }
.v7-conferences > div > a > span { font:750 .55rem var(--mono); text-transform:uppercase; }
.v7-conferences > div > a > strong { margin:5rem 0 1.5rem; font-size:clamp(2rem,3vw,3.4rem); line-height:.9; }
.v7-conferences > div > a > p,.v7-conferences > div > a > small { font-family:var(--reading); }
.v7-conferences > div > a > small b { display:block; font:.54rem var(--mono); text-transform:uppercase; }
.v7-conferences > div > a > i { margin-top:auto; font:750 .58rem var(--mono); font-style:normal; text-transform:uppercase; }
.v7-conferences > div > a:hover { background:var(--v7-ink); color:var(--v7-paper); }
.v7-conference-cta { min-height:7rem; margin-top:4rem; padding:1rem 0; border-top:3px solid var(--v7-ink); border-bottom:3px solid var(--v7-ink); display:flex; align-items:center; justify-content:space-between; font-size:clamp(2.8rem,6vw,7rem); line-height:.86; letter-spacing:-.055em; font-weight:650; text-transform:uppercase; }

.v7-closing { position:relative; min-height:100svh; overflow:hidden; padding:clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); display:flex; flex-direction:column; justify-content:center; background:var(--v7-orange); }
.v7-closing-sun { position:absolute; right:-8vw; top:-16vw; width:58vw; aspect-ratio:1; border-radius:50%; background:var(--v7-sun); box-shadow:0 0 0 4vw rgba(255,212,73,.18),0 0 0 8vw rgba(255,212,73,.1); }
.v7-closing > span,.v7-closing h2,.v7-closing > a { position:relative; }
.v7-closing > span { font:750 .59rem var(--mono); text-transform:uppercase; }
.v7-closing h2 { margin:3rem 0 5rem; font-size:clamp(5rem,11vw,13rem); line-height:.68; letter-spacing:-.08em; }
.v7-closing h2 em { font-family:var(--reading); font-weight:400; }
.v7-closing > a { width:76%; min-height:6rem; margin-left:auto; padding:1rem 0; border-top:3px solid var(--v7-ink); border-bottom:3px solid var(--v7-ink); display:flex; justify-content:space-between; align-items:center; font-size:clamp(3rem,7vw,8rem); line-height:.8; letter-spacing:-.06em; font-weight:650; text-transform:uppercase; }
.v7-closing i { font-style:normal; }
.v7-footer { min-height:24rem; padding:5rem clamp(1rem,4vw,4.5rem) 2rem; display:grid; grid-template-columns:1fr auto; align-items:end; background:var(--v7-ink); color:var(--v7-paper); }
.v7-footer > div { display:flex; align-items:center; gap:1rem; }
.v7-footer img { object-fit:contain; }
.v7-footer p { margin:0; font:.6rem/1.5 var(--mono); text-transform:uppercase; }
.v7-footer nav { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:flex-end; }
.v7-footer nav a { min-height:2.75rem; padding:.7rem .9rem; border:1px solid rgba(255,255,255,.2); display:inline-flex; align-items:center; font:.55rem var(--mono); text-transform:uppercase; }

@media (max-width:900px) {
  .v7-header { height:4.5rem; grid-template-columns:1fr auto; padding:0 .8rem; gap:.5rem; }
  .v7-logo strong,.v7-header nav,.v7-header > div > a:not(.v7-invite),.v7-header .sound-control > span:last-child { display:none; }
  .v7-header > div { gap:.5rem; }
  .v7-hero { min-height:calc(100svh - 4.5rem); padding:5rem 1rem 5rem; align-items:flex-start; }
  .v7-hero-copy { width:100%; }
  .v7-hero h1 { margin-top:6vh; font-size:clamp(4.3rem,20vw,7rem); }
  .v7-hero h1 span:nth-child(2),.v7-hero h1 em { margin-left:0; }
  .v7-hero blockquote,.v7-hero-copy > div { width:100%; margin-left:0; }
  .v7-hero blockquote { margin-top:20vh; }
  .v7-hero-copy > div { grid-template-columns:1fr; }
  .v7-hero-images { right:-4vw; top:27%; width:58vw; height:35%; opacity:.68; }
  .v7-pause { right:1rem; bottom:.6rem; }
  .v7-coordinate { left:1rem; bottom:1.2rem; }
  .v7-energy,.v7-projects,.v7-writing,.v7-conferences,.v7-horizon,.v7-manifesto,.v7-closing { padding-left:1rem; padding-right:1rem; }
  .v7-energy > header,.v7-projects > header,.v7-conferences > header,.v7-writing > header { grid-template-columns:1fr; gap:1.5rem; margin-bottom:4rem; }
  .v7-energy h2,.v7-projects h2,.v7-conferences h2,.v7-writing h2 { font-size:clamp(3.5rem,15vw,6rem); overflow-wrap:anywhere; }
  .v7-energy-controls { grid-template-columns:1fr; }
  .v7-energy-controls button { min-height:18rem; border-right:0; border-bottom:2px solid var(--v7-ink); }
  .v7-energy-controls button:last-child { border-bottom:0; }
  .v7-energy-controls button strong { margin:3rem 0 1rem; }
  .v7-energy-result { margin-left:0; padding:1.5rem; }
  .v7-horizon { grid-template-columns:1fr; min-height:0; }
  .v7-horizon-copy h2 { font-size:clamp(3.8rem,16vw,7rem); overflow-wrap:anywhere; }
  .v7-horizon-control { padding:1.5rem; }
  .v7-manifesto > div { grid-template-columns:1fr; }
  .v7-manifesto article { min-height:27rem; border-right:0; border-bottom:2px solid var(--v7-ink); }
  .v7-manifesto article:last-child { border-bottom:0; }
  .v7-manifesto h2 { margin-top:4rem; }
  .v7-projects > div { grid-template-columns:1fr; }
  .v7-project { min-height:42rem; }
  .v7-project > div { height:23rem; }
  .v7-writing > div > a { grid-template-columns:1fr auto; gap:1rem; }
  .v7-writing > div > a > span,.v7-writing > div > a > p { grid-column:1 / 3; }
  .v7-conferences > div { grid-template-columns:1fr; }
  .v7-conferences > div > a { min-height:31rem; border-right:0; border-bottom:2px solid var(--v7-ink); }
  .v7-conferences > div > a:last-child { border-bottom:0; }
  .v7-conference-cta { font-size:clamp(2.3rem,11vw,5rem); overflow-wrap:anywhere; }
  .v7-closing h2 { font-size:clamp(4rem,17vw,7rem); overflow-wrap:anywhere; }
  .v7-closing > a { width:100%; margin-left:0; font-size:clamp(3rem,14vw,6rem); }
  .v7-footer { grid-template-columns:1fr; gap:4rem; padding-inline:1rem; }
  .v7-footer nav { justify-content:flex-start; }
}

@media (prefers-reduced-motion:reduce) {
  html:has(.v7-world) { scroll-behavior:auto; }
  .v7-world * { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .v7-pause { display:none; }
}

/* V8 — Le futur devient capable */
body:has(.v8-world) { overflow-x:clip; background:#edf5f5; }
body:has(.v8-world) .site-header,body:has(.v8-world) .site-footer,body:has(.v8-world) > .page-progress,body:has(.v8-world) > .pointer-halo { display:none; }
body:has(.v8-world) #contenu { animation:none; }
.v8-world { --v8-ink:#071014; --v8-cyan:#2bbad0; --v8-orange:#ee702e; --v8-paper:#f7fbfa; --v8-ice:#d9f4f7; --v8-line:rgba(7,16,20,.18); --v8-pointer-x:0px; --v8-pointer-y:0px; position:relative; overflow:clip; background:var(--v8-paper); color:var(--v8-ink); }
.v8-world.is-paused * { animation-play-state:paused !important; }
.v8-world a,.v8-world button { -webkit-tap-highlight-color:transparent; }
.v8-world a:focus-visible,.v8-world button:focus-visible { outline:3px solid #7c2e0c; outline-offset:5px; }
.v8-header { position:sticky; z-index:60; top:0; height:5rem; padding:0 clamp(1rem,3vw,3.5rem); display:grid; grid-template-columns:16rem 1fr auto; align-items:center; gap:2rem; border-bottom:1px solid var(--v8-line); background:rgba(247,251,250,.77); backdrop-filter:blur(20px) saturate(1.4); }
.v8-logo { display:flex; align-items:center; gap:.75rem; width:max-content; }
.v8-logo img { width:2.5rem; height:2.5rem; object-fit:contain; }
.v8-logo strong { font:750 .6rem/.92 var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.v8-header nav { display:flex; justify-content:center; gap:clamp(.8rem,2.2vw,2.5rem); font:700 .56rem var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.v8-header > div { display:flex; align-items:center; gap:.45rem; }
.v8-header > div > a:not(.v8-invite),.v8-header > div > span { display:grid; place-items:center; width:2rem; height:2rem; border:1px solid var(--v8-line); border-radius:50%; font:700 .53rem var(--mono); }
.v8-header > div > span { background:var(--v8-ink); color:var(--v8-paper); }
.v8-header .sound-control { min-height:2.75rem; color:var(--v8-ink); }
.v8-invite { min-height:2.75rem; padding:.7rem 1rem; display:inline-flex; align-items:center; background:var(--v8-orange); font:800 .55rem var(--mono); text-transform:uppercase; }
.v8-hero { position:relative; min-height:calc(100svh - 5rem); overflow:hidden; padding:clamp(4rem,8vh,7rem) clamp(1rem,4vw,4.5rem) 4rem; display:flex; align-items:center; isolation:isolate; background:linear-gradient(135deg,#fff 0 40%,#d9f4f7 72%,#ffd9c4); }
.v8-field { position:absolute; z-index:-2; inset:0; width:100%; height:100%; }
.v8-hero::before { content:"08"; position:absolute; z-index:-1; right:-.05em; top:42%; color:transparent; opacity:.1; font:800 clamp(18rem,42vw,48rem)/.55 var(--sans); letter-spacing:-.12em; -webkit-text-stroke:2px var(--v8-ink); transform:translateY(-50%); pointer-events:none; }
.v8-hero::after { content:""; position:absolute; z-index:-3; inset:0; background:radial-gradient(circle at 70% 45%,rgba(43,186,208,.2),transparent 35%),radial-gradient(circle at 83% 68%,rgba(238,112,46,.15),transparent 22%); }
.v8-portrait-signal { position:absolute; z-index:0; right:24vw; top:3%; width:min(31vw,32rem); height:91%; overflow:hidden; opacity:.3; mix-blend-mode:multiply; mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 76%,transparent 98%); clip-path:polygon(13% 0,100% 0,91% 89%,72% 100%,0 90%,7% 15%); pointer-events:none; animation:v8-portrait-drift 9s ease-in-out infinite; }
.v8-portrait-signal img { object-fit:cover; object-position:center 30%; filter:grayscale(.72) contrast(1.08) saturate(.7); }
.v8-portrait-signal::before { content:""; position:absolute; z-index:2; inset:0; background:linear-gradient(120deg,rgba(43,186,208,.68),transparent 43%,rgba(238,112,46,.52)); mix-blend-mode:color; }
.v8-portrait-signal::after { content:""; position:absolute; z-index:3; inset:0; opacity:.42; background:repeating-linear-gradient(to bottom,transparent 0 8px,rgba(247,251,250,.42) 8px 9px); mask-image:linear-gradient(to right,transparent,#000 26%,#000 78%,transparent); }
.v8-portrait-signal > i { position:absolute; z-index:4; left:8%; right:8%; top:47%; height:1px; background:linear-gradient(90deg,transparent,var(--v8-cyan),var(--v8-orange),transparent); box-shadow:0 0 14px var(--v8-cyan); animation:v8-scan 5.8s ease-in-out infinite; }
.v8-portrait-signal > span { position:absolute; z-index:4; right:8%; bottom:12%; padding:.35rem .5rem; border:1px solid rgba(7,16,20,.45); background:rgba(247,251,250,.58); font:700 .48rem var(--mono); letter-spacing:.05em; }
.v8-hero-copy { position:relative; z-index:3; width:min(78rem,83vw); }
.v8-hero-copy > p,.v8-hero h1 > *,.v8-hero blockquote,.v8-hero-copy > div { animation:v8-hero-rise .9s cubic-bezier(.2,.75,.2,1) both; }
.v8-hero h1 > :nth-child(1) { animation-delay:.08s; }
.v8-hero h1 > :nth-child(2) { animation-delay:.16s; }
.v8-hero h1 > :nth-child(3) { animation-delay:.24s; }
.v8-hero blockquote { animation-delay:.34s; }
.v8-hero-copy > div { animation-delay:.43s; }
.v8-hero-copy > p { margin:0 0 2rem; color:#147686; font:750 .6rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.v8-hero h1 { margin:0; font-size:clamp(5rem,11.4vw,13.5rem); line-height:.66; letter-spacing:-.085em; font-weight:630; text-transform:uppercase; }
.v8-hero h1 span,.v8-hero h1 em { display:block; }
.v8-hero h1 span:nth-child(2) { margin-left:8vw; color:transparent; -webkit-text-stroke:2px var(--v8-ink); }
.v8-hero h1 em { margin-left:25vw; color:var(--v8-orange); font-family:var(--reading); font-weight:400; text-transform:none; }
.v8-hero blockquote { width:min(36rem,43vw); margin:3rem 0 0 43vw; padding:1.2rem 0; border-top:2px solid var(--v8-ink); border-bottom:2px solid var(--v8-ink); font-family:var(--reading); font-size:clamp(1.15rem,1.8vw,1.6rem); }
.v8-hero-copy > div { width:min(36rem,43vw); margin:1.5rem 0 0 43vw; display:grid; grid-template-columns:1fr 1fr; }
.v8-hero-copy > div a { min-height:4rem; padding:.8rem 1rem; border:1px solid var(--v8-ink); display:flex; justify-content:space-between; align-items:center; font:750 .56rem var(--mono); text-transform:uppercase; }
.v8-hero-copy > div a:first-child { background:var(--v8-ink); color:white; }
.v8-hero-copy i { font-style:normal; }
.v8-core { position:absolute; z-index:1; right:5vw; top:16%; width:min(34vw,35rem); aspect-ratio:1; border:1px solid rgba(7,16,20,.18); border-radius:50%; background:rgba(255,255,255,.35); box-shadow:inset 0 0 5rem rgba(43,186,208,.2),0 2rem 6rem rgba(7,16,20,.12); backdrop-filter:blur(12px); animation:v8-core-drift 11s ease-in-out infinite; }
.v8-core::before,.v8-core::after { content:""; position:absolute; inset:8%; border:1px solid var(--v8-cyan); border-radius:50%; transform:rotateX(68deg) rotateZ(25deg); animation:v8-orbit-cyan 14s linear infinite; }
.v8-core::after { inset:17%; border-color:var(--v8-orange); transform:rotateY(66deg) rotateZ(-18deg); animation-name:v8-orbit-orange; animation-duration:11s; animation-direction:reverse; }
.v8-core > div { position:absolute; z-index:2; inset:14%; filter:drop-shadow(0 2rem 2.5rem rgba(7,16,20,.16)); animation:v8-object-float 6.5s ease-in-out infinite; }
.v8-core img { object-fit:contain; }
.v8-core > span { position:absolute; right:8%; bottom:8%; padding:.55rem; background:var(--v8-ink); color:white; font:700 .51rem var(--mono); text-transform:uppercase; }
.v8-live { position:absolute; left:2rem; bottom:1.5rem; display:grid; grid-template-columns:auto auto; gap:.2rem 1rem; align-items:center; font:.52rem var(--mono); text-transform:uppercase; }
.v8-live span { color:#526365; }
.v8-live strong { color:#147686; }
.v8-pause { position:absolute; z-index:5; right:2rem; bottom:1.2rem; min-height:2.75rem; padding:.6rem 0; border:0; border-bottom:1px solid var(--v8-ink); background:transparent; font:700 .53rem var(--mono); text-transform:uppercase; cursor:pointer; }

.v8-motion-ready [data-v8-reveal] > * { opacity:0; transform:translate3d(0,3.5rem,0); transition:opacity .85s ease,transform .95s cubic-bezier(.18,.72,.2,1); }
.v8-motion-ready [data-v8-reveal].is-visible > * { opacity:1; transform:translate3d(0,0,0); }
.v8-motion-ready [data-v8-reveal].is-visible > :nth-child(2) { transition-delay:.09s; }
.v8-motion-ready [data-v8-reveal].is-visible > :nth-child(3) { transition-delay:.17s; }
.v8-motion-ready [data-v8-reveal].is-visible > :nth-child(4) { transition-delay:.23s; }

@keyframes v8-hero-rise { from { opacity:0; transform:translate3d(0,2.8rem,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes v8-portrait-drift { 0%,100% { transform:translate3d(var(--v8-pointer-x),var(--v8-pointer-y),0) rotate(-.25deg); } 50% { transform:translate3d(var(--v8-pointer-x),calc(var(--v8-pointer-y) - 10px),0) rotate(.35deg); } }
@keyframes v8-scan { 0%,100% { top:18%; opacity:.2; } 48% { opacity:1; } 60% { top:78%; opacity:.68; } }
@keyframes v8-core-drift { 0%,100% { transform:translate3d(var(--v8-pointer-x),var(--v8-pointer-y),0); } 50% { transform:translate3d(var(--v8-pointer-x),calc(var(--v8-pointer-y) - 12px),0); } }
@keyframes v8-object-float { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-1rem) rotate(1.2deg); } }
@keyframes v8-orbit-cyan { to { transform:rotateX(68deg) rotateZ(385deg); } }
@keyframes v8-orbit-orange { to { transform:rotateY(66deg) rotateZ(342deg); } }
@keyframes v8-ticker-flow { to { transform:translateX(-50%); } }

.v8-horizon-ticker { position:relative; z-index:3; height:clamp(5rem,7vw,7.5rem); overflow:hidden; border-top:2px solid var(--v8-ink); border-bottom:2px solid var(--v8-ink); background:var(--v8-orange); }
.v8-horizon-ticker > div { width:max-content; height:100%; display:flex; align-items:center; animation:v8-ticker-flow 28s linear infinite; }
.v8-horizon-ticker span { padding:0 1.2rem; font-size:clamp(3rem,5vw,6rem); line-height:.8; letter-spacing:-.06em; font-weight:680; text-transform:uppercase; }
.v8-horizon-ticker i { color:white; font-family:var(--reading); font-size:clamp(2.2rem,4vw,5rem); font-style:normal; }
.v8-trustline { min-height:5.5rem; padding:.8rem clamp(1rem,4vw,4.5rem); display:grid; grid-template-columns:11rem 1fr auto; align-items:center; gap:2rem; background:var(--v8-ink); color:white; }
.v8-trustline > span { color:var(--v8-cyan); font:750 .54rem var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.v8-trustline > div { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; }
.v8-trustline strong { font-size:.72rem; }
.v8-trustline > a { min-height:2.8rem; padding:.7rem 0; border-bottom:1px solid var(--v8-cyan); display:flex; align-items:center; gap:1rem; color:var(--v8-cyan); font:750 .53rem var(--mono); text-transform:uppercase; }
.v8-trustline i { font-style:normal; }
.v8-entrypoints { padding:clamp(5rem,8vw,8rem) clamp(1rem,4vw,4.5rem) clamp(7rem,11vw,12rem); display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:2px; background:var(--v8-ink); color:white; }
.v8-entrypoints a { position:relative; isolation:isolate; grid-column:span 4; min-height:27rem; overflow:hidden; padding:1.5rem; display:flex; flex-direction:column; background:#0c171b; transition:color .45s,transform .45s cubic-bezier(.18,.72,.2,1),box-shadow .45s; }
.v8-entrypoints a:nth-child(1) { grid-column:span 7; min-height:34rem; }
.v8-entrypoints a:nth-child(2) { grid-column:span 5; min-height:34rem; }
.v8-entrypoints a:nth-child(6) { grid-column:span 12; min-height:21rem; }
.v8-entrypoints a::after { content:""; position:absolute; z-index:-1; inset:0; opacity:0; background:linear-gradient(145deg,var(--v8-cyan),rgba(43,186,208,.2)); transition:opacity .45s; }
.v8-entrypoints a:nth-child(even)::after { background:linear-gradient(145deg,var(--v8-orange),rgba(238,112,46,.15)); }
.v8-entrypoints a:hover { z-index:2; color:white; transform:translateY(-.8rem) rotate(-.25deg); box-shadow:0 2rem 5rem rgba(0,0,0,.32); }
.v8-entrypoints a:nth-child(even):hover { transform:translateY(-.8rem) rotate(.25deg); }
.v8-entrypoints a:hover::after { opacity:.82; }
.v8-entrypoints a:focus-visible { outline-color:var(--v8-cyan); }
.v8-entry-visual { position:absolute; z-index:-2; inset:0; opacity:.24; filter:grayscale(1) contrast(1.15); transition:opacity .55s,filter .55s,transform .7s cubic-bezier(.18,.72,.2,1); }
.v8-entry-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,rgba(7,16,20,.05),rgba(7,16,20,.94) 88%); }
.v8-entry-visual img { object-fit:cover; transition:transform .8s cubic-bezier(.18,.72,.2,1); }
.v8-entrypoints a:nth-child(2) .v8-entry-visual img { object-position:center 30%; }
.v8-entrypoints a:nth-child(4) .v8-entry-visual img { padding:3rem; object-fit:contain; }
.v8-entrypoints a:hover .v8-entry-visual { opacity:.52; filter:grayscale(0) contrast(1.08); transform:scale(1.025); }
.v8-entrypoints a:hover .v8-entry-visual img { transform:scale(1.06); }
.v8-entrypoints span,.v8-entrypoints strong,.v8-entrypoints p,.v8-entrypoints i { position:relative; z-index:2; }
.v8-entrypoints span { color:transparent; font:800 clamp(4.5rem,8vw,9.5rem)/.7 var(--sans); letter-spacing:-.08em; -webkit-text-stroke:1px var(--v8-cyan); transition:color .4s,-webkit-text-stroke-color .4s; }
.v8-entrypoints a:nth-child(even) span { -webkit-text-stroke-color:var(--v8-orange); }
.v8-entrypoints strong { margin:auto 0 1.3rem; font-size:clamp(2.5rem,4.4vw,5.8rem); line-height:.78; letter-spacing:-.06em; }
.v8-entrypoints p { width:min(35rem,88%); margin:0; color:#d3dedd; font-family:var(--reading); font-size:1.05rem; }
.v8-entrypoints a:hover p,.v8-entrypoints a:hover span { color:white; -webkit-text-stroke-color:white; }
.v8-entrypoints i { margin-top:2.5rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.32); font:700 .54rem var(--mono); font-style:normal; text-transform:uppercase; }

.v8-fast-offers { padding:clamp(7rem,10vw,10rem) clamp(1rem,4vw,4.5rem); background:var(--v8-ice); }
.v8-fast-offers > header { display:grid; grid-template-columns:11rem minmax(20rem,1fr) minmax(15rem,27rem); gap:4vw; align-items:end; margin-bottom:5rem; }
.v8-fast-offers > header > span { color:#147686; font:750 .58rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.v8-fast-offers h2 { margin:0; font-size:clamp(3.8rem,7.3vw,8.5rem); line-height:.78; letter-spacing:-.065em; font-weight:600; }
.v8-fast-offers h2 em { color:var(--v8-orange); font-family:var(--reading); font-weight:400; }
.v8-fast-offers > header > p { margin:0; font-family:var(--reading); font-size:1.1rem; }
.v8-fast-offers > div { border-top:3px solid var(--v8-ink); border-bottom:3px solid var(--v8-ink); }
.v8-fast-offers article { min-height:14rem; padding:1.4rem 0; border-bottom:1px solid var(--v8-ink); display:grid; grid-template-columns:6rem 1.2fr 1fr .72fr .78fr; gap:clamp(.8rem,2vw,2.2rem); align-items:center; }
.v8-fast-offers article:last-child { border-bottom:0; }
.v8-fast-offers article:nth-child(2) { padding-inline:1.2rem; background:rgba(255,255,255,.38); }
.v8-fast-offers article > span { color:#147686; font:750 .54rem var(--mono); text-transform:uppercase; }
.v8-fast-offers h3 { margin:0; font-size:clamp(2rem,3.2vw,3.7rem); line-height:.88; letter-spacing:-.045em; }
.v8-fast-offers article > p,.v8-fast-offers article > small { font-family:var(--reading); }
.v8-fast-offers article > small { margin:0; }
.v8-fast-offers article > small b { display:block; color:#147686; font:750 .52rem var(--mono); text-transform:uppercase; }
.v8-fast-offers article > div { display:grid; gap:.55rem; }
.v8-fast-offers article > div a { min-height:3.7rem; padding:.75rem .9rem; border:1px solid var(--v8-ink); display:flex; align-items:center; justify-content:space-between; font:750 .53rem var(--mono); text-transform:uppercase; }
.v8-fast-offers article > div a:first-child { background:var(--v8-ink); color:white; }
.v8-fast-offers article i { font-style:normal; }
.v8-fast-custom { min-height:5.5rem; margin-top:3rem; padding:1rem 0; border-top:2px solid var(--v8-ink); border-bottom:2px solid var(--v8-ink); display:flex; align-items:center; justify-content:space-between; gap:2rem; font-size:clamp(1.7rem,3vw,3.5rem); line-height:.9; font-weight:650; }
.v8-fast-custom span { font:750 .55rem var(--mono); text-transform:uppercase; }

.v8-matcher { position:relative; overflow:hidden; padding:clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); background:linear-gradient(145deg,#fff 0 68%,var(--v8-ice)); }
.v8-matcher::before { content:"01"; position:absolute; right:-.08em; top:.08em; color:transparent; opacity:.08; font:800 clamp(20rem,40vw,46rem)/.7 var(--sans); letter-spacing:-.12em; -webkit-text-stroke:2px var(--v8-ink); pointer-events:none; }
.v8-matcher::after { content:""; position:absolute; right:8vw; top:24%; width:24vw; aspect-ratio:1; border:1px solid rgba(238,112,46,.38); border-radius:50%; box-shadow:0 0 0 3vw rgba(43,186,208,.05),0 0 0 8vw rgba(238,112,46,.035); pointer-events:none; }
.v8-matcher > * { position:relative; z-index:1; }
.v8-matcher > header { display:grid; grid-template-columns:11rem minmax(20rem,1fr) minmax(15rem,27rem); gap:4vw; align-items:end; margin-bottom:6rem; }
.v8-matcher > header > span { color:#147686; font:750 .58rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.v8-matcher h2 { margin:0; font-size:clamp(3.8rem,7.3vw,8.5rem); line-height:.78; letter-spacing:-.065em; font-weight:600; }
.v8-matcher h2 em { color:var(--v8-orange); font-family:var(--reading); font-weight:400; }
.v8-matcher > header > p { margin:0; font-family:var(--reading); font-size:1.1rem; }
.v8-matcher-console { display:block; }
.v8-matcher-choices { display:grid; grid-template-columns:repeat(3,1fr); border-top:2px solid var(--v8-ink); border-bottom:2px solid var(--v8-ink); background:var(--v8-paper); }
.v8-matcher-choices button { min-height:13rem; padding:1.3rem; border:0; border-right:1px solid var(--v8-line); display:flex; flex-direction:column; align-items:flex-start; gap:1rem; background:transparent; color:var(--v8-ink); text-align:left; cursor:pointer; transition:background .25s,color .25s,transform .25s; }
.v8-matcher-choices button:last-child { border-right:0; }
.v8-matcher-choices button:hover { background:rgba(43,186,208,.12); transform:translateY(-.4rem); }
.v8-matcher-choices button[aria-pressed="true"] { background:var(--v8-cyan); }
.v8-matcher-choices button:nth-child(2)[aria-pressed="true"] { background:var(--v8-orange); }
.v8-matcher-choices button span,.v8-matcher-choices button i { font:750 .53rem var(--mono); font-style:normal; text-transform:uppercase; }
.v8-matcher-choices button strong { margin:auto 0; font-size:clamp(1.6rem,2.7vw,3rem); line-height:.9; }
.v8-matcher-result { min-height:38rem; margin:2rem 0 0 10vw; padding:clamp(2rem,4vw,4rem); border-left:1rem solid var(--v8-orange); display:flex; flex-direction:column; background:var(--v8-ink); color:white; box-shadow:1rem 1rem 0 rgba(238,112,46,.18); animation:v8-result-in .55s cubic-bezier(.18,.72,.2,1) both; }
.v8-matcher-result > span { color:var(--v8-cyan); font:750 .57rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.v8-matcher-result h3 { margin:2.5rem 0 1.5rem; max-width:55rem; font-family:var(--reading); font-size:clamp(3rem,5.5vw,6.8rem); line-height:.86; letter-spacing:-.055em; font-weight:400; overflow-wrap:anywhere; }
.v8-matcher-result blockquote { max-width:47rem; margin:0 0 2rem; color:#e1e9e8; font-family:var(--reading); font-size:clamp(1.2rem,1.8vw,1.7rem); }
.v8-matcher-result > div:not(.v8-matcher-actions) { padding:1.1rem 0; border-top:1px solid rgba(255,255,255,.24); display:grid; grid-template-columns:9rem 1fr; gap:1rem; }
.v8-matcher-result small { color:var(--v8-cyan); font:750 .52rem var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.v8-matcher-result strong { font-family:var(--reading); font-size:1.05rem; }
.v8-matcher-result ul { margin:0; padding:0; display:grid; gap:.45rem; list-style:none; }
.v8-matcher-result li { position:relative; padding-left:1.3rem; font-family:var(--reading); }
.v8-matcher-result li::before { content:"+"; position:absolute; left:0; color:var(--v8-orange); font-family:var(--mono); }
.v8-matcher-actions { margin-top:auto; padding-top:2.5rem; display:grid; grid-template-columns:1.15fr .85fr; gap:.7rem; }
.v8-matcher-actions a { min-height:4.5rem; padding:1rem; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(255,255,255,.45); font:750 .56rem var(--mono); text-transform:uppercase; }
.v8-matcher-actions a:first-child { border-color:var(--v8-orange); background:var(--v8-orange); color:var(--v8-ink); }
.v8-matcher-actions a:hover { border-color:var(--v8-cyan); background:var(--v8-cyan); color:var(--v8-ink); }
.v8-matcher-actions i { font-style:normal; }

.v8-capabilities,.v8-labs,.v8-signals,.v8-conferences { padding:clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); }
.v8-capabilities > header,.v8-labs > header,.v8-conferences > header { display:grid; grid-template-columns:11rem minmax(20rem,1fr) minmax(15rem,27rem); gap:4vw; align-items:end; margin-bottom:6rem; }
.v8-capabilities > header > span,.v8-labs > header > span,.v8-conferences > header > span,.v8-signals > header > span,.v8-timeline > header > span { color:#147686; font:750 .58rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.v8-capabilities h2,.v8-labs h2,.v8-conferences h2 { margin:0; font-size:clamp(3.8rem,7.3vw,8.5rem); line-height:.78; letter-spacing:-.065em; font-weight:600; }
.v8-capabilities h2 em,.v8-labs h2 em,.v8-conferences h2 em { color:var(--v8-orange); font-family:var(--reading); font-weight:400; }
.v8-capabilities > header > p,.v8-labs > header > p,.v8-conferences > header > p { margin:0; font-family:var(--reading); font-size:1.1rem; }
.v8-capability-console { min-height:0; }
.v8-capability-tabs { display:grid; grid-template-columns:repeat(4,1fr); border-top:2px solid var(--v8-ink); border-bottom:2px solid var(--v8-ink); }
.v8-capability-tabs button { min-height:18rem; padding:1.3rem; border:0; border-right:1px solid var(--v8-line); display:flex; flex-direction:column; align-items:flex-start; gap:1rem; background:transparent; text-align:left; cursor:pointer; transition:background .35s,color .35s,transform .35s; }
.v8-capability-tabs button:not([aria-pressed="true"]):hover { background:rgba(43,186,208,.12); transform:translateY(-.5rem); }
.v8-capability-tabs button:last-child { border-right:0; }
.v8-capability-tabs button span,.v8-capability-tabs button i { font:.54rem var(--mono); text-transform:uppercase; font-style:normal; }
.v8-capability-tabs button strong { margin:auto 0; font-size:clamp(1.8rem,3vw,3.5rem); line-height:.86; }
.v8-capability-tabs button i { color:#526365; }
.v8-capability-tabs button[aria-pressed="true"] { background:var(--v8-cyan); color:var(--v8-ink); }
.v8-capability-tabs button:nth-child(even)[aria-pressed="true"] { background:var(--v8-orange); }
.v8-capability-tabs button[aria-pressed="true"] i { color:var(--v8-ink); }
.v8-capability-result { min-height:38rem; margin:2rem 0 0 12vw; padding:clamp(2rem,5vw,5rem); border-left:1rem solid var(--v8-cyan); display:flex; flex-direction:column; background:var(--v8-ink); color:white; box-shadow:1rem 1rem 0 rgba(43,186,208,.22); animation:v8-result-in .65s cubic-bezier(.18,.72,.2,1) both; }
.v8-capability-result.is-orange { border-left-color:var(--v8-orange); box-shadow:1rem 1rem 0 rgba(238,112,46,.2); }
.v8-capability-result > span { color:#147686; font:750 .57rem var(--mono); text-transform:uppercase; }
.v8-capability-result h3 { margin:5rem 0 2rem; font-family:var(--reading); font-size:clamp(3.4rem,6.5vw,7.5rem); line-height:.88; letter-spacing:-.05em; font-weight:400; }
.v8-capability-result > p { max-width:43rem; color:#d2dcda; font-family:var(--reading); font-size:1.25rem; }
.v8-capability-result > div { margin-top:auto; padding:1.3rem 0; border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); display:flex; flex-direction:column; gap:.4rem; }
.v8-capability-result > div small { color:var(--v8-cyan); font:.53rem var(--mono); text-transform:uppercase; }
.v8-capability-result.is-orange > div small { color:var(--v8-orange); }
.v8-capability-result > div strong { font-size:1.1rem; }
.v8-capability-result > a { min-height:4rem; margin-top:2rem; padding:.8rem 0; display:flex; align-items:center; justify-content:space-between; border-bottom:2px solid var(--v8-cyan); color:var(--v8-cyan); font:750 .58rem var(--mono); text-transform:uppercase; }
.v8-capability-result.is-orange > a { border-color:var(--v8-orange); color:var(--v8-orange); }
.v8-capability-result i { font-style:normal; }

.v8-equation { min-height:100svh; padding:clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); display:flex; flex-direction:column; justify-content:center; background:var(--v8-cyan); }
.v8-equation > span { font:750 .59rem var(--mono); text-transform:uppercase; }
.v8-equation h2 { margin:4rem 0; display:flex; flex-wrap:wrap; align-items:center; gap:1rem 2rem; font-size:clamp(3.7rem,8vw,9rem); line-height:.78; letter-spacing:-.065em; }
.v8-equation h2 b { font-weight:620; }
.v8-equation h2 i { color:white; font-family:var(--reading); font-weight:400; font-style:normal; }
.v8-equation h2 em { width:100%; color:var(--v8-orange); font-family:var(--reading); font-weight:400; }
.v8-equation p { width:min(48rem,60vw); margin-left:auto; padding-top:1.5rem; border-top:3px solid var(--v8-ink); font-family:var(--reading); font-size:clamp(1.4rem,2.5vw,2.5rem); }

.v8-story { padding:clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); background:var(--v8-paper); }
.v8-story > header { display:grid; grid-template-columns:11rem minmax(20rem,1fr) minmax(15rem,27rem); gap:4vw; align-items:end; margin-bottom:6rem; }
.v8-story > header > span { color:#147686; font:750 .58rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.v8-story > header h2 { margin:0; font-size:clamp(3.8rem,7.3vw,8.5rem); line-height:.78; letter-spacing:-.065em; font-weight:600; }
.v8-story > header h2 em { color:var(--v8-orange); font-family:var(--reading); font-weight:400; }
.v8-story > header > p { margin:0; font-family:var(--reading); font-size:1.1rem; }
.v8-story-stats { display:grid; grid-template-columns:repeat(4,1fr); border-top:2px solid var(--v8-ink); border-bottom:2px solid var(--v8-ink); }
.v8-story-stats > div { min-height:17rem; padding:1.3rem; border-right:1px solid var(--v8-line); display:flex; flex-direction:column; justify-content:space-between; }
.v8-story-stats > div:last-child { border:0; }
.v8-story-stats strong { color:var(--v8-cyan); font-size:clamp(3.5rem,7vw,8rem); line-height:.7; letter-spacing:-.07em; }
.v8-story-stats > div:nth-child(2) strong,.v8-story-stats > div:nth-child(4) strong { color:var(--v8-orange); }
.v8-story-stats span { font:700 .58rem var(--mono); text-transform:uppercase; }
.v8-story-chapters { margin-top:8rem; display:grid; grid-template-columns:repeat(2,1fr); gap:5rem 2rem; }
.v8-story-chapters article { display:grid; grid-template-columns:1fr; align-content:start; }
.v8-story-chapters article > div { position:relative; height:31rem; overflow:hidden; background:#dce8e8; }
.v8-story-chapters article > div img { object-fit:cover; filter:saturate(.72) contrast(1.04); transition:filter .6s,transform .6s; }
.v8-story-chapters article:hover > div img { filter:saturate(1); transform:scale(1.025); }
.v8-story-chapters article > span { margin-top:1.3rem; color:#147686; font:700 .55rem var(--mono); text-transform:uppercase; }
.v8-story-chapters h3 { margin:1.2rem 0; font-family:var(--reading); font-size:clamp(2.3rem,4vw,4.8rem); line-height:.9; font-weight:400; }
.v8-story-chapters p { max-width:40rem; font-family:var(--reading); font-size:1.08rem; }
.v8-story > blockquote { width:min(62rem,78vw); margin:9rem auto 4rem; padding:2rem 0; border-top:3px solid var(--v8-orange); border-bottom:3px solid var(--v8-orange); color:var(--v8-orange); font-family:var(--reading); font-size:clamp(2.2rem,4.5vw,5rem); line-height:.98; text-align:center; }
.v8-story-link { width:min(38rem,70%); min-height:4rem; margin-left:auto; padding:1rem 0; border-top:2px solid var(--v8-ink); border-bottom:2px solid var(--v8-ink); display:flex; align-items:center; justify-content:space-between; font:750 .6rem var(--mono); text-transform:uppercase; }

.v8-ecosystem { position:relative; overflow:hidden; padding:clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); background:var(--v8-ink); color:white; }
.v8-ecosystem::before { content:"+"; position:absolute; right:-.02em; top:-.16em; color:transparent; opacity:.11; font:800 clamp(24rem,55vw,65rem)/1 var(--sans); -webkit-text-stroke:2px var(--v8-cyan); pointer-events:none; }
.v8-ecosystem > header { position:relative; display:grid; grid-template-columns:11rem minmax(20rem,1fr) minmax(15rem,27rem); gap:4vw; align-items:end; margin-bottom:6rem; }
.v8-ecosystem > header > span { color:var(--v8-cyan); font:750 .58rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.v8-ecosystem h2 { margin:0; font-size:clamp(3.8rem,7.3vw,8.5rem); line-height:.78; letter-spacing:-.065em; font-weight:600; }
.v8-ecosystem h2 em { color:var(--v8-orange); font-family:var(--reading); font-weight:400; }
.v8-ecosystem > header > p { margin:0; color:#c5d0ce; font-family:var(--reading); font-size:1.1rem; }
.v8-ecosystem > div { position:relative; display:grid; grid-template-columns:1fr 6rem 1fr; align-items:stretch; border:2px solid rgba(255,255,255,.35); }
.v8-ecosystem article { min-height:35rem; padding:clamp(1.5rem,3vw,3rem); display:flex; flex-direction:column; background:rgba(255,255,255,.035); }
.v8-ecosystem article:last-child { background:linear-gradient(145deg,rgba(43,186,208,.2),rgba(238,112,46,.12)); }
.v8-ecosystem article small { color:var(--v8-cyan); font:750 .56rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.v8-ecosystem article:last-child small { color:var(--v8-orange); }
.v8-ecosystem article strong { margin:5rem 0 1.5rem; font-size:clamp(3rem,5vw,6.2rem); line-height:.8; letter-spacing:-.06em; }
.v8-ecosystem article p { max-width:39rem; color:#c8d3d1; font-family:var(--reading); font-size:1.08rem; }
.v8-ecosystem article a { min-height:4rem; margin-top:auto; padding:1rem 0; border-top:1px solid currentColor; border-bottom:1px solid currentColor; display:flex; align-items:center; justify-content:space-between; color:var(--v8-cyan); font:750 .56rem var(--mono); text-transform:uppercase; }
.v8-ecosystem article:last-child a { color:var(--v8-orange); }
.v8-ecosystem article a i { font-style:normal; }
.v8-ecosystem > div > i { display:grid; place-items:center; border-left:1px solid rgba(255,255,255,.25); border-right:1px solid rgba(255,255,255,.25); color:var(--v8-orange); font-family:var(--reading); font-size:5rem; font-style:normal; }
.v8-ecosystem > p { position:relative; width:min(57rem,75%); margin:4rem 0 0 auto; color:var(--v8-cyan); font-family:var(--reading); font-size:clamp(1.8rem,3.6vw,4rem); line-height:1; }

.v8-proof { padding:clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); background:var(--v8-ice); }
.v8-proof > header { display:grid; grid-template-columns:11rem minmax(20rem,1fr) minmax(15rem,27rem); gap:4vw; align-items:end; margin-bottom:6rem; }
.v8-proof > header > span { color:#147686; font:750 .58rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.v8-proof h2 { margin:0; font-size:clamp(3.8rem,7.3vw,8.5rem); line-height:.78; letter-spacing:-.065em; font-weight:600; }
.v8-proof h2 em { color:var(--v8-orange); font-family:var(--reading); font-weight:400; }
.v8-proof > header > p { margin:0; font-family:var(--reading); font-size:1.1rem; }
.v8-proof-visuals { height:clamp(20rem,34vw,36rem); margin-bottom:1rem; display:grid; grid-template-columns:1.15fr .85fr 1fr; gap:1rem; overflow:hidden; }
.v8-proof-visuals picture { position:relative; min-width:0; overflow:hidden; background:#dce8e8; }
.v8-proof-visuals img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.8) contrast(1.03); transition:filter .5s,transform .5s; }
.v8-proof-visuals picture:first-child img { object-position:center 35%; }
.v8-proof-visuals:hover img { filter:saturate(1); transform:scale(1.015); }
.v8-proof-grid { display:grid; grid-template-columns:1.35fr .65fr; border:2px solid var(--v8-ink); background:rgba(255,255,255,.54); }
.v8-proof-contexts { display:grid; grid-template-columns:repeat(2,1fr); }
.v8-proof-contexts article { min-height:21rem; padding:1.35rem; border-right:1px solid var(--v8-line); border-bottom:1px solid var(--v8-line); display:flex; flex-direction:column; }
.v8-proof-contexts article:nth-child(even) { border-right:0; }
.v8-proof-contexts article:nth-last-child(-n+2) { border-bottom:0; }
.v8-proof-contexts time { color:#147686; font:700 .55rem var(--mono); }
.v8-proof-contexts strong { margin:4rem 0 1rem; font-size:clamp(1.8rem,3vw,3.4rem); line-height:.9; }
.v8-proof-contexts p { margin-top:auto; font-family:var(--reading); }
.v8-proof-grid aside { border-left:2px solid var(--v8-ink); display:flex; flex-direction:column; background:var(--v8-ink); color:white; }
.v8-proof-grid aside > span { padding:1.35rem; color:var(--v8-cyan); font:700 .55rem var(--mono); text-transform:uppercase; }
.v8-proof-grid aside a { min-height:12rem; padding:1.35rem; border-top:1px solid rgba(255,255,255,.25); display:grid; grid-template-columns:1fr auto; gap:.7rem 1rem; transition:background .35s,color .35s; }
.v8-proof-grid aside a:hover { background:var(--v8-orange); color:var(--v8-ink); }
.v8-proof-grid aside a:focus-visible { outline-color:var(--v8-cyan); }
.v8-proof-grid aside strong { font-size:clamp(1.45rem,2.1vw,2.4rem); line-height:.92; }
.v8-proof-grid aside small { grid-column:1; color:#bdc9c7; font-family:var(--reading); font-size:.92rem; }
.v8-proof-grid aside a:hover small { color:currentColor; }
.v8-proof-grid aside i { grid-column:2; grid-row:1 / 3; align-self:end; font-style:normal; }

.v8-timeline { padding:clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); background:var(--v8-ink); color:white; }
.v8-timeline > header { display:grid; grid-template-columns:11rem 1fr; gap:4vw; align-items:end; margin-bottom:6rem; }
.v8-timeline > header > span { color:var(--v8-cyan); }
.v8-timeline h2 { margin:0; font-size:clamp(4rem,8vw,9rem); line-height:.76; letter-spacing:-.07em; }
.v8-timeline h2 em { color:var(--v8-orange); font-family:var(--reading); font-weight:400; }
.v8-timeline > div { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.25); }
.v8-timeline article { min-height:29rem; padding:1.5rem; border-right:1px solid rgba(255,255,255,.25); display:flex; flex-direction:column; }
.v8-timeline article:last-child { border:0; }
.v8-timeline time { color:var(--v8-cyan); font:.55rem var(--mono); }
.v8-timeline strong { margin:5rem 0 1.5rem; font-size:clamp(2rem,3.3vw,3.8rem); line-height:.88; }
.v8-timeline p { margin-top:auto; color:#bac6c6; font-family:var(--reading); }

.v8-crossings { padding:clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); background:var(--v8-ink); color:white; }
.v8-crossings > header { display:grid; grid-template-columns:11rem minmax(20rem,1fr) minmax(15rem,27rem); gap:4vw; align-items:end; margin-bottom:7rem; }
.v8-crossings > header > span { color:var(--v8-cyan); font:750 .58rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.v8-crossings > header h2 { margin:0; font-size:clamp(3.8rem,7.3vw,8.5rem); line-height:.78; letter-spacing:-.065em; font-weight:600; }
.v8-crossings > header h2 em { color:var(--v8-orange); font-family:var(--reading); font-weight:400; }
.v8-crossings > header > p { margin:0; color:#c3cecc; font-family:var(--reading); font-size:1.1rem; }
.v8-crossings > div { border-top:1px solid rgba(255,255,255,.25); }
.v8-crossings article { position:relative; min-height:36rem; padding:3rem 0; border-bottom:1px solid rgba(255,255,255,.25); display:grid; grid-template-columns:minmax(14rem,.7fr) minmax(17rem,1fr) 7rem minmax(19rem,1.2fr); gap:2vw; align-items:center; }
.v8-crossing-image { position:relative; height:28rem; overflow:hidden; background:#18282b; }
.v8-crossing-image img { object-fit:cover; filter:saturate(.72) contrast(1.06); transition:filter .5s,transform .5s; }
.v8-crossings article:hover .v8-crossing-image img { filter:saturate(1) contrast(1.03); transform:scale(1.025); }
.v8-crossing-image > span { position:absolute; left:.8rem; bottom:.8rem; padding:.45rem .6rem; background:var(--v8-cyan); color:var(--v8-ink); font:750 .52rem var(--mono); text-transform:uppercase; }
.v8-crossing-experience time,.v8-crossing-service > span { color:var(--v8-cyan); font:700 .54rem var(--mono); text-transform:uppercase; }
.v8-crossing-experience h3,.v8-crossing-service h3 { margin:1.3rem 0; font-size:clamp(2rem,3.3vw,3.9rem); line-height:.88; letter-spacing:-.045em; }
.v8-crossing-experience p,.v8-crossing-service p,.v8-crossing-service small { color:#bec9c7; font-family:var(--reading); }
.v8-crossing-experience > a,.v8-crossing-service > a { min-height:3.25rem; margin-top:2rem; padding:.7rem 0; border-bottom:1px solid currentColor; display:flex; align-items:center; color:var(--v8-cyan); font:700 .55rem var(--mono); text-transform:uppercase; }
.v8-crossing-bridge { display:flex; flex-direction:column; align-items:center; gap:.8rem; color:var(--v8-orange); }
.v8-crossing-bridge span { font:.52rem var(--mono); text-transform:uppercase; }
.v8-crossing-bridge i { font-size:3.5rem; font-style:normal; }
.v8-crossings article.is-visible .v8-crossing-bridge i,.v8-crossing-bridge i { animation:v8-arrow-pulse 2.4s ease-in-out infinite; }
.v8-crossing-service { padding:2rem; border:1px solid rgba(255,255,255,.25); background:linear-gradient(145deg,rgba(238,112,46,.14),rgba(43,186,208,.06)); }
.v8-crossing-service > span { color:var(--v8-orange); }
.v8-crossing-service small { display:block; }
.v8-crossing-service small b { display:block; margin-bottom:.25rem; color:white; font:.52rem var(--mono); text-transform:uppercase; }
.v8-crossing-service > a { color:var(--v8-orange); }
.v8-crossings-cta { min-height:6rem; margin-top:4rem; padding:1rem 0; border-top:2px solid var(--v8-cyan); border-bottom:2px solid var(--v8-cyan); display:flex; align-items:center; justify-content:space-between; color:var(--v8-cyan); font-size:clamp(2rem,4.5vw,5rem); line-height:.9; letter-spacing:-.045em; font-weight:620; text-transform:uppercase; }

.v8-conference-jump { padding:clamp(7rem,10vw,10rem) clamp(1rem,4vw,4.5rem); display:grid; grid-template-columns:1.15fr .85fr; gap:6vw; background:var(--v8-orange); }
.v8-conference-jump > div > span { font:750 .58rem var(--mono); text-transform:uppercase; }
.v8-conference-jump h2 { margin:2rem 0; font-size:clamp(3.7rem,7vw,8rem); line-height:.78; letter-spacing:-.065em; }
.v8-conference-jump h2 em { font-family:var(--reading); font-weight:400; }
.v8-conference-jump > div > p { max-width:43rem; font-family:var(--reading); font-size:1.15rem; }
.v8-audiences { margin:2rem 0 0; padding:0; display:flex; flex-wrap:wrap; gap:.55rem; list-style:none; }
.v8-audiences li { padding:.55rem .7rem; border:1px solid var(--v8-ink); font:700 .52rem var(--mono); text-transform:uppercase; }
.v8-conference-jump ol { margin:0; padding:0; list-style:none; border-top:2px solid var(--v8-ink); }
.v8-conference-jump li { min-height:8rem; padding:1rem 0; border-bottom:1px solid var(--v8-ink); display:grid; grid-template-columns:3rem 1fr; align-items:center; gap:1rem; }
.v8-conference-jump li span { font:.55rem var(--mono); }
.v8-conference-jump li strong { font-size:clamp(1.5rem,2.5vw,2.7rem); line-height:.92; }
.v8-conference-visual { position:relative; grid-column:1 / 3; height:clamp(20rem,38vw,38rem); overflow:hidden; border:2px solid var(--v8-ink); background:#dce8e8; }
.v8-conference-visual picture,.v8-conference-visual img { display:block; width:100%; height:100%; }
.v8-conference-visual img { object-fit:cover; object-position:center 42%; filter:saturate(.78) contrast(1.05); }
.v8-conference-visual span { position:absolute; left:1rem; bottom:1rem; padding:.65rem .8rem; background:var(--v8-ink); color:white; font:750 .55rem var(--mono); text-transform:uppercase; }
.v8-conference-jump > a { grid-column:1 / 3; min-height:5rem; margin-top:2rem; padding:1rem 0; border-top:3px solid var(--v8-ink); border-bottom:3px solid var(--v8-ink); display:flex; align-items:center; justify-content:space-between; font-size:clamp(2.1rem,4.5vw,5.2rem); line-height:.88; letter-spacing:-.045em; font-weight:650; text-transform:uppercase; }

.v8-labs { background:var(--v8-ice); }
.v8-labs > div { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; perspective:1400px; }
.v8-lab { min-height:51rem; padding:1.2rem; border:2px solid var(--v8-ink); display:flex; flex-direction:column; background:rgba(255,255,255,.68); box-shadow:.7rem .7rem 0 var(--v8-ink); transition:transform .45s,box-shadow .45s; }
.v8-lab:hover { transform:translateY(-.8rem) translateZ(2rem); box-shadow:.3rem 1.2rem 2.5rem rgba(7,16,20,.18); }
.v8-lab > div { position:relative; height:28rem; overflow:hidden; background:white; }
.v8-lab img { object-fit:cover; filter:saturate(.75); transition:transform .6s,filter .6s; }
.v8-lab.lab-1 img,.v8-lab.lab-2 img,.v8-lab.lab-4 img { object-fit:contain; }
.v8-lab:hover img { transform:scale(1.035); filter:saturate(1); }
.v8-lab > span { margin-top:1.3rem; color:#147686; font:700 .54rem var(--mono); text-transform:uppercase; }
.v8-lab > strong { margin:1rem 0; font-size:clamp(3rem,5vw,6rem); line-height:.82; letter-spacing:-.06em; }
.v8-lab > p { max-width:38rem; font-family:var(--reading); }
.v8-lab > i { margin-top:auto; font:750 .57rem var(--mono); font-style:normal; text-transform:uppercase; }

.v8-signals { background:var(--v8-paper); }
.v8-signals > header { display:grid; grid-template-columns:11rem 1fr auto; gap:4vw; align-items:end; margin-bottom:5rem; }
.v8-signals h2 { margin:0; font-size:clamp(4rem,8vw,9rem); line-height:.76; letter-spacing:-.07em; }
.v8-signals > header a { padding:.8rem 0; border-bottom:2px solid var(--v8-ink); font:750 .57rem var(--mono); text-transform:uppercase; }
.v8-signals > div { display:grid; grid-template-columns:repeat(4,1fr); border:2px solid var(--v8-ink); }
.v8-signals > div > a { min-height:34rem; padding:1.4rem; border-right:1px solid var(--v8-ink); display:flex; flex-direction:column; transition:transform .4s,background .4s,color .4s; }
.v8-signals > div > a:hover { z-index:2; background:var(--v8-ink); color:white; transform:translateY(-.7rem); }
.v8-signals > div > a:last-child { border:0; }
.v8-signals > div span { color:#147686; font:.53rem var(--mono); text-transform:uppercase; }
.v8-signals > div strong { margin:5rem 0 1.5rem; font-family:var(--reading); font-size:clamp(1.8rem,2.8vw,3rem); line-height:.95; font-weight:400; }
.v8-signals > div p { font-family:var(--reading); }
.v8-signals > div i { margin-top:auto; font:.57rem var(--mono); font-style:normal; text-transform:uppercase; }

.v8-conferences { background:var(--v8-orange); }
.v8-conferences > header > span { color:#542007; }
.v8-conferences > header h2 em { color:var(--v8-ink); }
.v8-conference-formats { margin-bottom:3rem; display:grid; grid-template-columns:repeat(3,1fr); border-top:2px solid var(--v8-ink); border-bottom:2px solid var(--v8-ink); }
.v8-conference-formats > div { min-height:14rem; padding:1.3rem; border-right:1px solid var(--v8-ink); display:flex; flex-direction:column; }
.v8-conference-formats > div:last-child { border:0; }
.v8-conference-formats span { font:.54rem var(--mono); }
.v8-conference-formats strong { margin:2rem 0 1rem; font-size:clamp(1.7rem,2.7vw,3rem); line-height:.9; }
.v8-conference-formats p { margin-top:auto; font-family:var(--reading); }
.v8-conference-offers { display:grid; grid-template-columns:repeat(3,1fr); border:2px solid var(--v8-ink); }
.v8-conference-offers > article { min-height:39rem; padding:1.5rem; border-right:2px solid var(--v8-ink); display:flex; flex-direction:column; transition:background .25s,color .25s; }
.v8-conference-offers > article:last-child { border:0; }
.v8-conference-offers span { font:750 .54rem var(--mono); text-transform:uppercase; }
.v8-conference-offers strong { margin:5rem 0 1.5rem; font-size:clamp(2rem,3vw,3.4rem); line-height:.89; }
.v8-conference-offers p,.v8-conference-offers small { font-family:var(--reading); }
.v8-conference-offers small { margin-top:1rem; }
.v8-conference-offers small b { display:block; font:.53rem var(--mono); text-transform:uppercase; }
.v8-conference-offers article > div { margin-top:auto; padding-top:2rem; display:grid; gap:.55rem; }
.v8-conference-offers article > div a { min-height:3.8rem; padding:.8rem; border:1px solid var(--v8-ink); display:flex; align-items:center; justify-content:space-between; font:750 .54rem var(--mono); text-transform:uppercase; }
.v8-conference-offers article > div a:first-child { background:var(--v8-ink); color:white; }
.v8-conference-offers i { font-style:normal; }
.v8-conferences a:focus-visible,.v8-fast-offers a:focus-visible { outline-color:var(--v8-ink); }
.v8-conference-references { margin-top:3rem; padding:1.2rem 0; border-top:2px solid var(--v8-ink); border-bottom:2px solid var(--v8-ink); display:flex; flex-wrap:wrap; gap:1rem 2rem; align-items:center; }
.v8-conference-references span { margin-right:auto; font:750 .55rem var(--mono); text-transform:uppercase; }
.v8-conference-references strong { font-size:.78rem; }
.v8-conference-cta { min-height:7rem; margin-top:4rem; padding:1rem 0; border-top:3px solid var(--v8-ink); border-bottom:3px solid var(--v8-ink); display:flex; align-items:center; justify-content:space-between; font-size:clamp(2.7rem,6vw,7rem); line-height:.86; letter-spacing:-.055em; font-weight:650; text-transform:uppercase; }

.v8-closing { position:relative; min-height:100svh; overflow:hidden; padding:clamp(7rem,11vw,12rem) clamp(1rem,4vw,4.5rem); display:flex; flex-direction:column; justify-content:center; background:linear-gradient(145deg,#fff 0 45%,var(--v8-ice)); }
.v8-closing-orbit { position:absolute; right:-5vw; top:8%; width:55vw; aspect-ratio:1; animation:v8-closing-drift 12s ease-in-out infinite; }
.v8-closing-orbit i { position:absolute; inset:calc(var(--orbit) * 10%); border:2px solid var(--orbit-color); border-radius:50%; transform:rotateX(68deg) rotateZ(calc(var(--orbit) * 27deg)); }
.v8-closing-orbit i:nth-child(1) { --orbit:0; --orbit-color:var(--v8-cyan); }
.v8-closing-orbit i:nth-child(2) { --orbit:1; --orbit-color:var(--v8-orange); }
.v8-closing-orbit i:nth-child(3) { --orbit:2; --orbit-color:var(--v8-ink); }
.v8-closing > span,.v8-closing h2,.v8-closing > a { position:relative; }
.v8-closing > span { font:750 .58rem var(--mono); text-transform:uppercase; }
.v8-closing h2 { margin:3rem 0 5rem; font-size:clamp(4.8rem,10.5vw,12.5rem); line-height:.7; letter-spacing:-.08em; }
.v8-closing h2 em { color:var(--v8-orange); font-family:var(--reading); font-weight:400; }
.v8-closing > a { width:76%; min-height:6rem; margin-left:auto; padding:1rem 0; border-top:3px solid var(--v8-ink); border-bottom:3px solid var(--v8-ink); display:flex; justify-content:space-between; align-items:center; font-size:clamp(3rem,7vw,8rem); line-height:.8; letter-spacing:-.06em; font-weight:650; text-transform:uppercase; }
.v8-closing i { font-style:normal; }
.v8-footer { min-height:24rem; padding:5rem clamp(1rem,4vw,4.5rem) 2rem; display:grid; grid-template-columns:1fr auto; align-items:end; background:var(--v8-ink); color:white; }
.v8-footer > div { display:flex; align-items:center; gap:1rem; }
.v8-footer img { object-fit:contain; }
.v8-footer p { margin:0; font:.6rem/1.5 var(--mono); text-transform:uppercase; }
.v8-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.6rem; }
.v8-footer nav a { min-height:2.75rem; padding:.7rem .9rem; border:1px solid rgba(255,255,255,.2); display:inline-flex; align-items:center; font:.54rem var(--mono); text-transform:uppercase; }

@keyframes v8-result-in { from { opacity:0; transform:translate3d(2rem,0,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes v8-arrow-pulse { 0%,100% { transform:translateX(0); } 50% { transform:translateX(.65rem); } }
@keyframes v8-closing-drift { 0%,100% { transform:translate3d(0,0,0) rotate(-1deg); } 50% { transform:translate3d(-1.2rem,1rem,0) rotate(1.5deg); } }

@media (max-width:900px) {
  .v8-header { height:4.5rem; grid-template-columns:1fr auto; padding:0 .8rem; gap:.5rem; }
  .v8-logo strong,.v8-header nav,.v8-header > div > a:not(.v8-invite),.v8-header .sound-control > span:last-child { display:none; }
  .v8-hero { min-height:calc(100svh - 4.5rem); padding:5rem 1rem 5rem; align-items:flex-start; }
  .v8-hero-copy { width:100%; }
  .v8-hero h1 { margin-top:5vh; font-size:clamp(4rem,19vw,7rem); }
  .v8-hero h1 span:nth-child(2),.v8-hero h1 em { margin-left:0; }
  .v8-hero blockquote,.v8-hero-copy > div { width:100%; margin-left:0; }
  .v8-hero blockquote { margin-top:22vh; }
  .v8-hero-copy > div { grid-template-columns:1fr; }
  .v8-portrait-signal { right:-7vw; top:12%; width:78vw; height:53%; opacity:.22; }
  .v8-core { right:-12vw; top:28%; width:72vw; opacity:.6; backdrop-filter:none; }
  .v8-live { left:1rem; bottom:1.1rem; }
  .v8-pause { right:1rem; bottom:.5rem; }
  .v8-horizon-ticker { height:4.7rem; }
  .v8-horizon-ticker span { font-size:2.9rem; }
  .v8-trustline { grid-template-columns:1fr; gap:.8rem; padding-block:1.2rem; }
  .v8-trustline > div { gap:.45rem 1rem; }
  .v8-trustline > a { width:max-content; }
  .v8-matcher,.v8-fast-offers,.v8-capabilities,.v8-labs,.v8-signals,.v8-conferences,.v8-equation,.v8-story,.v8-ecosystem,.v8-proof,.v8-timeline,.v8-crossings,.v8-conference-jump,.v8-closing { padding-left:1rem; padding-right:1rem; }
  .v8-entrypoints { padding-inline:1rem; grid-template-columns:1fr; }
  .v8-entrypoints a,.v8-entrypoints a:nth-child(1),.v8-entrypoints a:nth-child(2),.v8-entrypoints a:nth-child(6) { grid-column:1; min-height:23rem; }
  .v8-entrypoints span { font-size:5.5rem; }
  .v8-entrypoints strong { margin-top:auto; font-size:clamp(2.8rem,14vw,4.8rem); }
  .v8-entrypoints p { width:100%; }
  .v8-matcher > header,.v8-fast-offers > header,.v8-capabilities > header,.v8-story > header,.v8-ecosystem > header,.v8-proof > header,.v8-labs > header,.v8-conferences > header,.v8-signals > header,.v8-timeline > header,.v8-crossings > header { grid-template-columns:1fr; gap:1.5rem; margin-bottom:4rem; }
  .v8-matcher h2,.v8-fast-offers h2,.v8-capabilities h2,.v8-story h2,.v8-ecosystem h2,.v8-proof h2,.v8-labs h2,.v8-conferences h2,.v8-signals h2,.v8-timeline h2,.v8-crossings h2 { font-size:clamp(3.5rem,15vw,6rem); overflow-wrap:anywhere; }
  .v8-fast-offers article,.v8-fast-offers article:nth-child(2),.v8-fast-offers article:nth-child(3) { min-height:31rem; padding:1.3rem 0; border-right:0; border-bottom:2px solid var(--v8-ink); display:flex; align-items:stretch; background:transparent; }
  .v8-fast-offers h3 { margin:3rem 0 1.5rem; }
  .v8-fast-offers article > small { margin-top:1.5rem; }
  .v8-fast-offers article > div { margin-top:auto; padding-top:2rem; }
  .v8-fast-offers article:last-child { border-bottom:0; }
  .v8-fast-custom { align-items:flex-start; flex-direction:column; }
  .v8-matcher-choices { grid-template-columns:1fr; }
  .v8-matcher-choices button { min-height:8.5rem; border-right:0; border-bottom:1px solid var(--v8-line); }
  .v8-matcher-choices button:last-child { border-bottom:0; }
  .v8-matcher-result { min-height:0; margin-left:0; padding:2rem 1rem; box-shadow:.55rem .55rem 0 rgba(238,112,46,.18); }
  .v8-matcher-result h3 { margin-top:3rem; font-size:clamp(2.8rem,13vw,5rem); }
  .v8-matcher-result > div:not(.v8-matcher-actions) { grid-template-columns:1fr; }
  .v8-matcher-actions { grid-template-columns:1fr; }
  .v8-capability-tabs { grid-template-columns:repeat(2,1fr); }
  .v8-capability-tabs button { min-height:12rem; border-bottom:1px solid var(--v8-line); }
  .v8-capability-tabs button:nth-child(2) { border-right:0; }
  .v8-capability-tabs button:nth-child(n+3) { border-bottom:0; }
  .v8-capability-result { min-height:36rem; margin-left:0; padding:1.5rem; box-shadow:.55rem .55rem 0 rgba(43,186,208,.22); }
  .v8-capability-result h3 { margin-top:3rem; font-size:clamp(3rem,13vw,6rem); overflow-wrap:anywhere; }
  .v8-equation { min-height:0; }
  .v8-equation h2 { font-size:clamp(3.3rem,14vw,6rem); overflow-wrap:anywhere; }
  .v8-equation p { width:100%; }
  .v8-story-stats { grid-template-columns:repeat(2,1fr); }
  .v8-story-stats > div { min-height:13rem; border-bottom:1px solid var(--v8-line); }
  .v8-story-stats > div:nth-child(2) { border-right:0; }
  .v8-story-chapters { grid-template-columns:1fr; margin-top:5rem; gap:4rem; }
  .v8-story-chapters article > div { height:25rem; }
  .v8-story > blockquote { width:100%; margin:6rem 0 3rem; }
  .v8-story-link { width:100%; }
  .v8-ecosystem > div { grid-template-columns:1fr; }
  .v8-ecosystem article { min-height:30rem; }
  .v8-ecosystem > div > i { min-height:5rem; border:0; border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); }
  .v8-ecosystem > p { width:100%; margin-top:3rem; }
  .v8-proof-grid { grid-template-columns:1fr; }
  .v8-proof-visuals { height:auto; grid-template-columns:1fr; }
  .v8-proof-visuals picture { height:19rem; }
  .v8-proof-contexts { grid-template-columns:1fr; }
  .v8-proof-contexts article,.v8-proof-contexts article:nth-child(even),.v8-proof-contexts article:nth-last-child(-n+2) { min-height:17rem; border-right:0; border-bottom:1px solid var(--v8-line); }
  .v8-proof-contexts article:last-child { border-bottom:0; }
  .v8-proof-grid aside { border-left:0; border-top:2px solid var(--v8-ink); }
  .v8-timeline > div { grid-template-columns:1fr; }
  .v8-timeline article { min-height:22rem; border-right:0; border-bottom:1px solid rgba(255,255,255,.25); }
  .v8-timeline article:last-child { border-bottom:0; }
  .v8-crossings article { min-height:0; grid-template-columns:1fr; gap:1.5rem; padding:3rem 0; }
  .v8-crossing-image { height:24rem; }
  .v8-crossing-bridge { flex-direction:row; justify-content:center; }
  .v8-crossing-bridge i { transform:rotate(90deg); }
  .v8-crossing-service { padding:1.4rem; }
  .v8-crossings-cta { font-size:clamp(2rem,10vw,4rem); overflow-wrap:anywhere; }
  .v8-conference-jump { grid-template-columns:1fr; }
  .v8-conference-jump h2 { font-size:clamp(3.5rem,15vw,6rem); overflow-wrap:anywhere; }
  .v8-conference-visual { grid-column:1; height:22rem; }
  .v8-conference-jump > a { grid-column:1; font-size:clamp(2rem,10vw,4rem); overflow-wrap:anywhere; }
  .v8-labs > div { grid-template-columns:1fr; perspective:none; }
  .v8-lab { min-height:42rem; }
  .v8-lab > div { height:23rem; }
  .v8-signals > div { grid-template-columns:1fr; }
  .v8-signals > div > a { min-height:25rem; border-right:0; border-bottom:1px solid var(--v8-ink); }
  .v8-signals > div > a:last-child { border-bottom:0; }
  .v8-conference-offers { grid-template-columns:1fr; }
  .v8-conference-offers > article { min-height:31rem; border-right:0; border-bottom:2px solid var(--v8-ink); }
  .v8-conference-offers > article:last-child { border-bottom:0; }
  .v8-conference-formats { grid-template-columns:1fr; }
  .v8-conference-formats > div { min-height:11rem; border-right:0; border-bottom:1px solid var(--v8-ink); }
  .v8-conference-formats > div:last-child { border-bottom:0; }
  .v8-conference-references { flex-direction:column; align-items:flex-start; }
  .v8-conference-cta { font-size:clamp(2.3rem,11vw,5rem); overflow-wrap:anywhere; }
  .v8-closing h2 { font-size:clamp(3.8rem,16vw,7rem); overflow-wrap:anywhere; }
  .v8-closing > a { width:100%; margin-left:0; font-size:clamp(3rem,14vw,6rem); }
  .v8-footer { grid-template-columns:1fr; gap:4rem; padding-inline:1rem; }
  .v8-footer nav { justify-content:flex-start; }
}

@media (prefers-reduced-motion:reduce) {
  html:has(.v8-world) { scroll-behavior:auto; }
  .v8-world * { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .v8-world [data-v8-reveal] > * { opacity:1 !important; transform:none !important; }
  .v8-pause { display:none; }
}

/* WordPress fidelity layer: the React version uses fill-positioned images. */
.bonvallet-v8-home { margin:0; }
.bonvallet-v8-home .v8-world { --sans:"Helvetica Neue","Arial Narrow",Arial,sans-serif; --reading:Iowan Old Style,Baskerville,"Times New Roman",serif; --mono:"SFMono-Regular",Consolas,monospace; font-family:var(--sans); font-size:16px; line-height:1.45; }
.bonvallet-v8-home .bv8-skip { position:fixed; z-index:200; left:1rem; top:-5rem; padding:.8rem 1rem; background:#fff; color:#071014; }
.bonvallet-v8-home .bv8-skip:focus { top:1rem; }
.v8-world picture { display:block; }
.v8-portrait-signal img,.v8-core img,.v8-entry-visual img,.v8-story-chapters article>div img,.v8-crossing-image img,.v8-lab>div img { position:absolute; inset:0; width:100%; height:100%; }
.v8-portrait-signal img,.v8-crossing-image img,.v8-story-chapters article>div img { object-fit:cover; }
.v8-core img { object-fit:contain; }
.v8-entry-visual img { object-fit:cover; }
.v8-world button { border-radius:0; }
.v8-world button,.v8-world a { text-decoration:none; }
.v8-world h1,.v8-world h2,.v8-world h3,.v8-world h4,.v8-world h5,.v8-world h6 { color:inherit; font-family:var(--sans); }
.v8-world blockquote { color:inherit; }
.v8-header > div > .v8-version-ghost { border-color:var(--v8-line); background:transparent; color:var(--v8-ink); }
.v8-world p { margin-top:0; }
