:root {
  --ink: #070707;
  --paper: #f0eee8;
  --acid: #d8ff45;
  --violet: #a58bff;
  --line: rgba(240, 238, 232, 0.22);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--paper);
  background: var(--ink);
  font-family: "Manrope", sans-serif;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }

#world { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.noise { position: fixed; inset: 0; z-index: 10; pointer-events: none; opacity: .055; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E"); }
main, .site-header { position: relative; z-index: 2; }

.site-header {
  position: fixed; inset: 0 0 auto; display: flex; align-items: center; justify-content: space-between;
  padding: 25px 3.1vw; z-index: 8; mix-blend-mode: difference;
}
.brand { display: flex; align-items: center; gap: 13px; font-size: 11px; line-height: 1.1; font-weight: 500; text-transform: uppercase; letter-spacing: .09em; }
.brand-mark { display: grid; place-items: center; width: 43px; height: 43px; flex: 0 0 43px; }
.brand-mark svg { display: block; width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.15; }
.brand-mark svg .logo-accent { fill: var(--acid); stroke: none; }
.brand-mark svg .solid { fill: currentColor; stroke: none; }
.brand-mark svg .fine { stroke-width: .75; }
.contact-link { display: flex; align-items: center; gap: 26px; border-bottom: 1px solid currentColor; padding: 10px 0; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.contact-link i { font-style: normal; transition: transform .3s ease; }
.contact-link:hover i { transform: translate(4px, -4px); }

.hero { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding: 120px 3.1vw 32px; }
.eyebrow, .section-index { font-family: "DM Mono", monospace; font-size: 10px; text-transform: uppercase; letter-spacing: .18em; opacity: .62; }
.hero-title { font-weight: 400; font-size: clamp(62px, 10.5vw, 178px); line-height: .79; letter-spacing: -.07em; margin: 5vh 0 4vh; }
.hero-title .line { display: block; overflow: hidden; padding-bottom: .09em; }
.hero-title .line > span { display: block; transform: translateY(115%); animation: rise 1.1s cubic-bezier(.16,1,.3,1) forwards; }
.hero-title .line:nth-child(2) > span { animation-delay: .1s; }
.hero-title .line:nth-child(3) > span { animation-delay: .2s; }
.hero-title .italic, em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-style: italic; color: var(--acid); }
.hero-title .italic { padding-left: 15vw; }
.hero-title .align-right { text-align: right; }
.hero-bottom { display: flex; justify-content: space-between; align-items: flex-end; margin-top: auto; }
.hero-bottom p { margin: 0; font-size: clamp(13px, 1.2vw, 18px); line-height: 1.4; }
.scroll-cue { display: flex; align-items: center; gap: 16px; font-family: "DM Mono", monospace; font-size: 9px; text-transform: uppercase; letter-spacing: .16em; }
.scroll-line { display: block; width: 70px; height: 1px; background: currentColor; transform-origin: left; animation: pulse 2.4s ease-in-out infinite; }

.inside { min-height: 120vh; padding: 19vh 3.1vw 10vh; background: var(--paper); color: var(--ink); }
.inside-copy { display: grid; grid-template-columns: 2fr 1fr; gap: 8vw; align-items: end; margin: 13vh 0 18vh; }
.inside h2, .finale h2 { margin: 0; font-size: clamp(70px, 11vw, 170px); font-weight: 400; line-height: .78; letter-spacing: -.075em; }
.inside h2 em { color: #7551f5; }
.inside-copy > p { max-width: 420px; margin: 0 0 .4em; font-size: clamp(18px, 2vw, 29px); line-height: 1.3; letter-spacing: -.03em; }
.disciplines { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(0,0,0,.2); }
.disciplines article { padding: 22px 22px 40px 0; border-right: 1px solid rgba(0,0,0,.2); }
.disciplines article:not(:first-child) { padding-left: 22px; }
.disciplines article:last-child { border-right: 0; }
.disciplines article > span { font-family: "DM Mono", monospace; font-size: 9px; opacity: .45; }
.disciplines h3 { font-size: clamp(28px, 3vw, 48px); font-weight: 400; letter-spacing: -.05em; margin: 7vh 0 2vh; }
.disciplines p { font-family: "DM Mono", monospace; font-size: 10px; line-height: 1.7; text-transform: uppercase; letter-spacing: .08em; opacity: .62; }

.manifesto { height: 110svh; position: relative; display: grid; place-items: center; overflow: hidden; }
.manifesto > p { position: relative; z-index: 2; margin: 0; font-size: clamp(72px, 12.5vw, 190px); line-height: .76; letter-spacing: -.075em; text-align: center; }
.manifesto em { color: var(--violet); }
.portal { position: absolute; width: min(64vw, 850px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 65% 30%, #fff 0 1%, #bde9ff 7%, #7955eb 25%, #161125 53%, #030303 72%); filter: saturate(1.2); box-shadow: 0 0 100px rgba(121,85,235,.25); animation: breathe 7s ease-in-out infinite; }
.portal::after { content: ""; position: absolute; inset: 6%; border-radius: inherit; border: 1px solid rgba(255,255,255,.18); filter: blur(1px); }
.portal span { position: absolute; inset: -15%; border: 1px solid rgba(216,255,69,.16); border-radius: 42% 58% 61% 39% / 50% 42% 58% 50%; animation: orbit 14s linear infinite; }

.finale { min-height: 100svh; padding: 15vh 3.1vw 32px; display: flex; flex-direction: column; background: var(--acid); color: var(--ink); }
.finale h2 { margin: auto 0; }
.finale h2 em { color: #7551f5; }
.big-link { display: flex; justify-content: space-between; align-items: center; padding: 22px 0; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; font-size: clamp(17px, 2.2vw, 32px); letter-spacing: -.03em; }
.big-link i { font-style: normal; font-size: 1.5em; transition: transform .3s ease; }
.big-link:hover i { transform: translate(7px, -7px); }
footer { display: flex; justify-content: space-between; padding-top: 22px; font-family: "DM Mono", monospace; font-size: 9px; text-transform: uppercase; letter-spacing: .14em; }

.reveal { opacity: 0; transform: translateY(12px); animation: fade .8s ease .65s forwards; }
@keyframes rise { to { transform: translateY(0); opacity: 1; filter: blur(0); } }
@keyframes fade { to { opacity: 1; transform: translateY(0); } }
@keyframes pulse { 50% { transform: scaleX(.35); opacity: .4; } }
@keyframes breathe { 50% { transform: scale(1.06) rotate(2deg); filter: saturate(1.5) hue-rotate(8deg); } }
@keyframes orbit { to { transform: rotate(360deg); } }

@media (max-width: 720px) {
  .site-header { padding: 18px 20px; }
  .brand-name { display: none; }
  .hero { padding: 110px 20px 24px; }
  .hero-title { font-size: clamp(59px, 20vw, 100px); line-height: .82; margin-top: 11vh; }
  .hero-title .italic { padding-left: 0; }
  .hero-title .align-right { text-align: left; }
  .inside { padding: 14vh 20px 8vh; }
  .inside-copy { grid-template-columns: 1fr; margin: 9vh 0 12vh; }
  .inside h2, .finale h2 { font-size: 19vw; }
  .disciplines { grid-template-columns: 1fr; }
  .disciplines article, .disciplines article:not(:first-child) { border-right: 0; border-bottom: 1px solid rgba(0,0,0,.2); padding: 22px 0; display: grid; grid-template-columns: 35px 1fr 1fr; align-items: center; }
  .disciplines h3, .disciplines p { margin: 0; }
  .portal { width: 115vw; }
  .manifesto > p { font-size: 20vw; }
  .finale { padding: 13vh 20px 24px; }
  footer span:last-child { display: none; }
}

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

/* Creative Lab Paris — engraved atelier direction */
:root { --ink: #090806; --paper: #f2eddf; --acid: #c0a069; --violet: #c0a069; --line: rgba(242,237,223,.28); }
@property --hero-glow {
  syntax: "<color>";
  inherits: false;
  initial-value: rgba(112,40,32,.78);
}
@property --hero-depth {
  syntax: "<color>";
  inherits: false;
  initial-value: #210b09;
}
body { font-family: "Cormorant Garamond", Georgia, serif; background: var(--ink); }
.noise { opacity: .115; mix-blend-mode: soft-light; }
.site-header { padding-top: 18px; mix-blend-mode: normal; }
.site-header::before {
  content: "";
  position: absolute;
  inset: 0 0 -52px;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(9, 8, 6, .92) 0%,
    rgba(9, 8, 6, .68) 38%,
    rgba(9, 8, 6, .24) 70%,
    transparent 100%
  );
}
.brand { font-family: "Cormorant Garamond", Georgia, serif; font-size: 12px; letter-spacing: .16em; }
.brand-name {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  line-height: 1;
}
.brand-kicker {
  font-family: "DM Mono", monospace;
  font-size: 7px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  opacity: .7;
}
.brand-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 22px;
  font-weight: 500;
  line-height: .9;
  letter-spacing: -.025em;
  white-space: nowrap;
}
.brand-mark { width: 52px; height: 64px; flex-basis: 52px; }
.brand-mark svg { stroke-width: 1.05; }
.brand-mark svg .fine { stroke-width: .55; }
html[data-logo="10"] .brand-mark,
html[data-logo="11"] .brand-mark { width: 82px; height: 52px; flex-basis: 82px; }
html[data-logo="9"] .brand-mark { width: 108px; height: 62px; flex-basis: 108px; }
html[data-logo="13"] .brand-mark,
html[data-logo="14"] .brand-mark,
html[data-logo="15"] .brand-mark,
html[data-logo="16"] .brand-mark { width: 108px; height: 62px; flex-basis: 108px; }
html[data-logo="17"] .brand-mark { width: 108px; height: 62px; flex-basis: 108px; }
html[data-logo="18"] .brand-mark { width: 120px; height: 90px; flex-basis: 120px; }
html[data-logo="9"] .brand-mark svg { stroke-width: .8; }
html[data-logo="13"] .brand-mark svg,
html[data-logo="14"] .brand-mark svg,
html[data-logo="15"] .brand-mark svg,
html[data-logo="16"] .brand-mark svg { stroke-width: .78; }
html[data-logo="17"] .brand-mark svg { stroke-width: .78; }
html[data-logo] .brand-mark .logo-decor { stroke-width: .48; opacity: .72; }
html[data-logo="17"] .brand-mark .maximalist-botanical { filter: grayscale(1) contrast(1.3); }
html[data-logo="18"] .brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 720px) {
  .brand-name { display: flex; }
  .brand-title { font-size: 18px; }
  .brand-kicker { font-size: 7px; }
  html[data-logo="18"] .brand-mark { width: 94px; height: 70px; flex-basis: 94px; }
}
html[data-logo="9"] .brand-mark svg .hand-detail .fine { stroke-width: .42; opacity: .82; }
html[data-logo="9"] .brand-mark .michelangelo-outline { opacity: .96; }
html[data-logo="9"] .brand-mark .hands-engraving-final { filter: grayscale(1) contrast(1.35) brightness(1.08); }
.contact-link { min-height: 44px; font-family: "DM Mono", monospace; font-size: 10px; }
.eyebrow, .section-index { opacity: .85; }
.hero { position: relative; }
.hero { transition: background-color .6s ease; }
html[data-surface="lacquer"] .hero { background: radial-gradient(ellipse at 62% 48%, rgba(44,35,28,.28), transparent 43%), #090806; }
html[data-surface="oxblood"] .hero {
  --hero-glow: rgba(112,40,32,.78);
  --hero-depth: #210b09;
  background:
    radial-gradient(ellipse at 63% 45%, var(--hero-glow), transparent 48%),
    linear-gradient(145deg, var(--hero-depth), #080706 72%);
  animation: oxblood-velvet-shift 24s ease-in-out infinite;
}
@keyframes oxblood-velvet-shift {
  0%, 100% {
    --hero-glow: rgba(112,40,32,.78);
    --hero-depth: #210b09;
  }
  50% {
    --hero-glow: rgba(158,46,30,.86);
    --hero-depth: #35100b;
  }
}
html[data-surface="midnight"] .hero { background: radial-gradient(ellipse at 61% 46%, rgba(31,65,77,.72), transparent 46%), linear-gradient(150deg, #061318, #080807 70%); }
html[data-surface="smoke"] .hero { background: radial-gradient(ellipse at 70% 24%, rgba(171,161,140,.18), transparent 26%), radial-gradient(ellipse at 44% 65%, rgba(94,88,78,.24), transparent 42%), #0d0c0a; }
.hero::before, .hero::after { content: ""; position: absolute; z-index: -1; border: 1px solid rgba(242,237,223,.14); border-radius: 48% 52% 43% 57% / 56% 38% 62% 44%; pointer-events: none; }
.hero::before { width: 27vw; height: 43vw; min-height: 360px; right: 7vw; top: 17vh; transform: rotate(9deg); }
.hero::after { width: 23vw; height: 37vw; min-height: 320px; right: 9vw; top: 20vh; transform: rotate(4deg); }
html[data-motion="particles"] .hero::before,
html[data-motion="particles"] .hero::after,
html[data-motion="threads"] .hero::before,
html[data-motion="threads"] .hero::after,
html[data-motion="iris"] .hero::before,
html[data-motion="iris"] .hero::after { opacity: .2; }
.hero-title { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; line-height: .74; letter-spacing: -.065em; margin-top: 2.5vh; margin-bottom: 2.5vh; }
.hero-title .line { position: relative; overflow: visible; }
.hero-title .line > span { opacity: 0; filter: blur(2px); }
.hero-title .line:nth-child(1) { z-index: 1; }
.hero-title .line:nth-child(2) { z-index: 2; }
.hero-title .line:nth-child(3) {
  z-index: 3;
  padding-top: .1em;
  margin-top: -.1em;
}
.hero-title .italic { padding-left: 8vw; }
.hero-title .align-right { text-align: left; padding-left: 18vw; }
.hero-bottom { margin-top: 2vh; }
.hero-title .italic, em { font-family: inherit; color: var(--paper); }
.hero-title .italic > span, .hero-title em { text-shadow: 1px 1px 0 var(--ink), 2px 2px 0 var(--paper); }
.hero-bottom p { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(17px,1.5vw,22px); font-style: italic; }
.hero-bottom p.has-translation { width: clamp(245px, 21vw, 320px); flex: 0 0 clamp(245px, 21vw, 320px); }
.hero-bottom p.has-translation .translation-original,
.hero-bottom p.has-translation .translation-fr { white-space: nowrap; }
.inside { background-color: var(--paper); background-image: repeating-radial-gradient(ellipse at 85% 15%, transparent 0 28px, rgba(9,8,6,.08) 29px 30px); }
.inside h2, .finale h2 { font-family: "Cormorant Garamond", Georgia, serif; }
.inside h2 em, .finale h2 em { color: var(--ink); -webkit-text-stroke: 1px var(--ink); color: transparent; text-shadow: 2px 2px 0 var(--acid); }
.inside h2 em { transition: text-shadow .35s ease, -webkit-text-stroke-color .35s ease; }
html[data-seams="gold"] .inside h2 em { -webkit-text-stroke-color: #090806; text-shadow: 2px 2px 0 #c0a069; }
html[data-seams="vermilion"] .inside h2 em { -webkit-text-stroke-color: #6f1c12; text-shadow: 2px 2px 0 #e14c32; }
html[data-seams="cobalt"] .inside h2 em { -webkit-text-stroke-color: #112e62; text-shadow: 2px 2px 0 #3469c7; }
html[data-seams="sage"] .inside h2 em { -webkit-text-stroke-color: #35483c; text-shadow: 2px 2px 0 #7f9b81; }
html[data-seams="aubergine"] .inside h2 em { -webkit-text-stroke-color: #42233d; text-shadow: 2px 2px 0 #9a668f; }
html[data-seams="vermilion"] .hero-title .italic > span,
html[data-seams="vermilion"] .hero-title em { color: #e14c32; text-shadow: 1px 1px 0 #090806, 2px 2px 0 #8c2418; }
html[data-seams="vermilion"] .manifesto em { color: #e14c32; -webkit-text-stroke: 0; text-shadow: 1px 1px 0 #090806, 2px 2px 0 #8c2418; }
html[data-seams="vermilion"] .finale h2 em { color: transparent; -webkit-text-stroke-color: #6f1c12; text-shadow: 2px 2px 0 #e14c32; }
.inside-copy > p { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(21px,2.2vw,33px); }
.disciplines article { position: relative; overflow: hidden; }
.disciplines article::after { content: "✦"; position: absolute; right: 22px; top: 50%; font-size: 44px; color: var(--acid); opacity: .7; }
.disciplines h3 {
  width: 100%;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(58px, 5.2vw, 88px);
  font-style: normal;
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .86;
  text-transform: uppercase;
  color: #090806;
  text-shadow: .35px 0 0 currentColor;
}
.disciplines article::after { z-index: auto; opacity: .7; }
.manifesto { background: var(--ink); }
html[data-surface="oxblood"] .manifesto { background: radial-gradient(ellipse at 50% 51%, rgba(103,31,24,.32), transparent 52%), linear-gradient(145deg, #120807, #090806 72%); }
html[data-surface="oxblood"] .portal { background: #100706; box-shadow: 0 0 0 8px #100706, 0 0 0 9px var(--paper), 0 0 110px rgba(92,25,20,.38); }
.manifesto > p { font-family: "Cormorant Garamond", Georgia, serif; }
.manifesto em { color: var(--paper); -webkit-text-stroke: .7px var(--paper); color: transparent; }
.manifesto > p > .translation-original { color: var(--ink); -webkit-text-stroke: 0; text-shadow: none; }
.manifesto > p > .translation-fr { color: var(--ink); -webkit-text-stroke: 0; text-shadow: none; }
.portal { background: var(--ink); border: 2px solid var(--paper); box-shadow: 0 0 0 8px var(--ink), 0 0 0 9px var(--paper), 0 0 90px rgba(0,0,0,.8); filter: none; }
.portal::before {
  content: "";
  position: absolute;
  inset: 4%;
  border-radius: 48% 52% 46% 54% / 52% 47% 53% 48%;
  background:
    radial-gradient(ellipse at 50% 52%, rgba(9,8,6,.2) 0, rgba(9,8,6,.1) 15%, transparent 34%),
    repeating-radial-gradient(ellipse at 45% 55%, transparent 0 2px, rgba(242,237,223,.78) 2.4px 3.7px, transparent 4px 5.6px);
  -webkit-mask-image: radial-gradient(ellipse at 46% 54%, rgba(0,0,0,.42) 0, rgba(0,0,0,.64) 18%, rgba(0,0,0,.9) 34%, #000 45%, rgba(0,0,0,.76) 56%, rgba(0,0,0,.38) 68%, rgba(0,0,0,.1) 80%, transparent 91%);
  mask-image: radial-gradient(ellipse at 46% 54%, rgba(0,0,0,.42) 0, rgba(0,0,0,.64) 18%, rgba(0,0,0,.9) 34%, #000 45%, rgba(0,0,0,.76) 56%, rgba(0,0,0,.38) 68%, rgba(0,0,0,.1) 80%, transparent 91%);
  transform: rotate(-3deg);
}
.portal::after { inset: 3%; border: 1px solid rgba(242,237,223,.65); filter: none; }
.portal span { inset: -8%; border-color: rgba(192,160,105,.6); }
.finale { background-color: var(--paper); background-image: repeating-radial-gradient(ellipse at 12% 90%, transparent 0 32px, rgba(9,8,6,.09) 33px 34px); }
.big-link, footer { font-family: "DM Mono", monospace; }
@media (max-width: 720px) {
  .brand-mark { width: 43px; height: 53px; flex-basis: 43px; }
  .hero::before, .hero::after { width: 70vw; height: 105vw; right: -24vw; top: 25vh; }
  .hero-bottom p.has-translation { width: 225px; flex-basis: 225px; }
  .hero-title { line-height: .72; margin-top: 4vh; margin-bottom: 3vh; }
  .hero-title .italic, .hero-title .align-right { padding-left: 0; }
  .hero-bottom { margin-top: auto; }
}

/* English / French hover crossfade */
.has-translation { position: relative; }
.translation-original,
.translation-fr { display: block; will-change: auto; }
.translation-original {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
  transition:
    opacity .95s cubic-bezier(.16,1,.3,1) .12s,
    filter 1.1s cubic-bezier(.16,1,.3,1) .08s,
    transform 1.15s cubic-bezier(.16,1,.3,1) .08s;
}
.translation-fr {
  position: absolute;
  inset: 0;
  opacity: 0;
  filter: blur(1.5px);
  transform: translateY(.07em);
  pointer-events: none;
  transition:
    opacity .7s cubic-bezier(.4,0,1,1),
    filter .9s cubic-bezier(.4,0,1,1),
    transform .9s cubic-bezier(.4,0,1,1);
}
.has-translation:hover > .translation-original {
  opacity: 0;
  filter: blur(1.5px);
  transform: translateY(-.045em);
  transition:
    opacity .7s cubic-bezier(.4,0,1,1),
    filter .9s cubic-bezier(.4,0,1,1),
    transform .9s cubic-bezier(.4,0,1,1);
}
.has-translation:hover > .translation-fr {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
  transition:
    opacity 1.05s cubic-bezier(.16,1,.3,1) .14s,
    filter 1.2s cubic-bezier(.16,1,.3,1) .1s,
    transform 1.25s cubic-bezier(.16,1,.3,1) .1s;
}
.contact-link span.has-translation,
.scroll-cue > span.has-translation { display: inline-block; }
.contact-link span.has-translation { width: 125px; white-space: nowrap; }
.contact-link span.has-translation > .translation-original,
.contact-link span.has-translation > .translation-fr { white-space: nowrap; }
.scroll-cue > span.has-translation { width: 145px; white-space: nowrap; }
.scroll-cue > span.has-translation > .translation-original,
.scroll-cue > span.has-translation > .translation-fr { white-space: nowrap; }
.hero-title > .translation-fr,
.inside h2 > .translation-fr,
.finale h2 > .translation-fr,
.manifesto > p > .translation-fr { width: 100%; }
.inside h2 > .translation-fr em { display: inline-block; white-space: nowrap; font-size: .52em; letter-spacing: -.04em; transform: translateY(-.08em); }
.manifesto > p.has-translation > .translation-fr { transform: translateY(-.64em); }
.manifesto > p.has-translation:hover > .translation-fr { transform: translateY(-.74em); }
.manifesto .fr-magic-line { display: inline-block; white-space: nowrap; }
.translation-fr .line > span { animation: none; transform: none; opacity: 1; filter: none; }
.hero-title > .translation-fr .line.align-right > span::before {
  content: "feel ";
  visibility: hidden;
}
.hero-title > .translation-fr .line.italic > span { position: relative; }
.hero-title > .translation-fr .fr-prefix {
  position: absolute;
  right: 100%;
  top: 0;
}
.hero-title.has-translation > .translation-original,
.hero-title.has-translation > .translation-fr,
.hero-title.has-translation:hover > .translation-original,
.hero-title.has-translation:hover > .translation-fr {
  transform: none;
  filter: none;
}
@media (hover: none) {
  .has-translation:active > .translation-original { opacity: 0; filter: blur(1.5px); transform: translateY(-.045em); }
  .has-translation:active > .translation-fr { opacity: 1; filter: blur(0); }
  .manifesto > p.has-translation:active > .translation-fr { transform: translateY(-.74em); }
}
@media (max-width: 720px) {
  .inside h2 > .translation-fr em { font-size: .43em; letter-spacing: -.055em; }
  .manifesto .fr-magic-line { font-size: .75em; }
}

.contact-panel {
  width: min(680px, calc(100vw - 32px));
  color: var(--paper);
  background: #100706;
  border: 1px solid rgba(242,237,223,.65);
  padding: clamp(30px, 5vw, 64px);
  box-shadow: 0 30px 100px rgba(0,0,0,.65);
}
.contact-panel::backdrop { background: rgba(9,8,6,.76); backdrop-filter: blur(8px); }
.contact-panel[open] { animation: contact-in .55s cubic-bezier(.16,1,.3,1) both; }
.contact-close { position: absolute; top: 12px; right: 16px; width: 44px; height: 44px; color: inherit; background: none; border: 0; font: 300 30px/1 Georgia, serif; cursor: pointer; }
.contact-panel h2 { margin: 9vh 0 7vh; font: 400 clamp(48px,7vw,90px)/.78 "Cormorant Garamond", Georgia, serif; letter-spacing: -.06em; }
.contact-panel h2 em { color: #e14c32; text-shadow: 1px 1px 0 #090806, 2px 2px 0 #8c2418; }
.contact-note { max-width: 540px; margin: -3vh 0 4vh; font: 300 clamp(10px,1vw,12px)/1.6 "DM Mono", monospace; letter-spacing: .06em; opacity: .78; }
.contact-note-line { display: block; white-space: nowrap; }
.contact-address { font-family: "DM Mono", monospace; font-size: clamp(11px,1.3vw,15px); overflow-wrap: anywhere; }
.contact-actions { display: flex; gap: 12px; margin-top: 24px; }
.contact-actions button, .contact-actions a { color: inherit; background: transparent; border: 1px solid rgba(242,237,223,.48); padding: 14px 18px; font: 400 9px/1 "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.contact-actions button:hover, .contact-actions a:hover { color: var(--ink); background: var(--paper); }
@keyframes contact-in { from { opacity: 0; transform: translateY(24px) scale(.98); } to { opacity: 1; transform: none; } }
@media (max-width: 580px) {
  .contact-note { font-size: clamp(8px, 2.25vw, 10px); letter-spacing: .025em; }
}

/* Pixel-locked bilingual transitions */
.has-translation > .translation-original {
  transform: none;
  filter: none;
  transition: opacity .82s linear;
}
.has-translation > .translation-fr {
  transform: none;
  filter: none;
  transition: opacity .82s linear;
}
.has-translation:hover > .translation-original {
  transform: none;
  filter: none;
  transition: opacity .82s linear;
}
.has-translation:hover > .translation-fr {
  transform: none;
  filter: none;
  transition: opacity .82s linear;
}
.vision-prefix {
  display: inline-block;
  width: 1.55em;
  white-space: nowrap;
}
.final-prefix {
  display: inline-block;
  width: .82em;
  margin-right: .1em;
  text-align: right;
  white-space: nowrap;
}
.manifesto > p.has-translation > .translation-original,
.manifesto > p.has-translation > .translation-fr,
.manifesto > p.has-translation:hover > .translation-original,
.manifesto > p.has-translation:hover > .translation-fr {
  transform: translateY(-.38em);
  filter: none;
  transition: opacity .82s linear;
}
.manifesto .magic-prefix {
  display: inline-block;
  width: 3.15em;
  text-align: right;
  white-space: nowrap;
}
.manifesto .magic-word {
  display: inline-block;
  width: 2.42em;
  text-align: left;
  white-space: nowrap;
}
.manifesto .magic-stem { display: inline; }
.manifesto .magic-ending {
  display: inline-block;
  width: .42em;
  text-align: left;
}
@media (hover: none) {
  .manifesto > p.has-translation:active > .translation-original,
  .manifesto > p.has-translation:active > .translation-fr { transform: translateY(-.38em); }
}
@media (max-width: 720px) {
  .manifesto > p { font-size: 17vw; }
  .manifesto .fr-magic-line { font-size: 1em; }
}

/* Craft section — full-width editorial rows */
.disciplines {
  display: block;
  border-top: 1px solid rgba(9,8,6,.42);
}
.disciplines article,
.disciplines article:not(:first-child) {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1.45fr) minmax(230px, .7fr);
  gap: clamp(18px, 3vw, 52px);
  align-items: center;
  min-height: clamp(170px, 19vh, 230px);
  padding: 26px 64px 26px 0;
  border-right: 0;
  border-bottom: 1px solid rgba(9,8,6,.28);
  overflow: hidden;
}
.disciplines article > span {
  align-self: start;
  padding-top: 10px;
  font-family: "DM Mono", monospace;
  font-size: 10px;
  letter-spacing: .16em;
  opacity: .58;
}
.disciplines h3,
.disciplines article:not(:first-child) h3 {
  width: auto;
  margin: 0;
  color: var(--ink);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(74px, 8vw, 132px);
  font-style: normal;
  font-weight: 500;
  line-height: .76;
  letter-spacing: -.065em;
  text-transform: none;
  text-shadow: none;
  transition: color .45s ease, transform .6s cubic-bezier(.16,1,.3,1);
}
.disciplines h3 span {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}
.disciplines h3 > .translation-original,
.disciplines h3 > .translation-fr {
  transform: none;
  filter: none;
  clip-path: none;
  transition: opacity .82s linear;
}
.disciplines h3 > .translation-original {
  opacity: 1;
}
.disciplines h3 > .translation-fr {
  opacity: 0;
}
.disciplines article:hover h3 > .translation-original {
  opacity: 0;
}
.disciplines article:hover h3 > .translation-fr {
  opacity: 1;
}
.disciplines p > .translation-original,
.disciplines p > .translation-fr {
  transform: none;
  filter: none;
  transition: opacity .82s linear;
}
.disciplines p > .translation-fr {
  left: 20px;
  right: 0;
}
.disciplines p > .translation-original { opacity: 1; }
.disciplines p > .translation-fr { opacity: 0; }
.disciplines article:hover p > .translation-original { opacity: 0; }
.disciplines article:hover p > .translation-fr { opacity: 1; }
.disciplines p,
.disciplines article:not(:first-child) p {
  position: relative;
  z-index: 2;
  margin: 0;
  padding-left: 20px;
  border-left: 1px solid rgba(9,8,6,.3);
  color: var(--ink);
  font-family: "DM Mono", monospace;
  font-size: 11px;
  line-height: 1.8;
  letter-spacing: .1em;
  text-transform: uppercase;
  opacity: .7;
}
.disciplines article::after {
  content: "✦";
  position: absolute;
  right: 8px;
  top: 50%;
  z-index: 1;
  color: var(--acid);
  font-size: 38px;
  opacity: .55;
  transform: translateY(-50%);
  transition: transform .7s cubic-bezier(.16,1,.3,1), opacity .4s ease;
}
.disciplines article:hover h3 { color: #8c2418; transform: translateX(10px); }
.disciplines article:hover::after { opacity: 1; transform: translateY(-50%) rotate(45deg) scale(1.12); }

.private-reel-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  min-height: 64px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(9,8,6,.42);
  color: var(--ink);
  font: 400 10px/1.4 "DM Mono", monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.private-reel-link i { font-style: normal; white-space: nowrap; }
.private-reel-link:hover i { color: #8c2418; }
.private-reel-link > .translation-original,
.private-reel-link > .translation-fr {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}

@media (max-width: 720px) {
  .disciplines article,
  .disciplines article:not(:first-child) {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    min-height: 150px;
    padding: 24px 34px 24px 0;
  }
  .disciplines h3,
  .disciplines article:not(:first-child) h3 { font-size: clamp(56px, 18vw, 88px); }
  .disciplines p,
  .disciplines article:not(:first-child) p {
    grid-column: 2;
    padding-left: 0;
    border-left: 0;
  }
  .disciplines p > .translation-fr { left: 0; }
  .disciplines article::after { right: 0; font-size: 25px; }
  .private-reel-link { align-items: flex-start; font-size: 9px; }
  .private-reel-link > .translation-original,
  .private-reel-link > .translation-fr { flex-direction: column; align-items: flex-start; justify-content: center; gap: 7px; }
}

.manifesto-byline {
  position: absolute;
  left: calc(36.2vw + 130px);
  top: calc(60.4svh + 25px);
  z-index: 1;
  width: 32.5vw;
  color: var(--paper);
  font-family: "DM Mono", monospace;
  font-size: clamp(9px, .75vw, 11px);
  line-height: 1.5;
  letter-spacing: .16em;
  text-align: left;
  text-transform: uppercase;
  opacity: .82;
  transform: none;
  padding: 7px 10px;
  background: linear-gradient(
    90deg,
    rgba(9, 8, 6, .72) 0%,
    rgba(9, 8, 6, .48) 58%,
    rgba(9, 8, 6, .12) 86%,
    transparent 100%
  );
}
.manifesto-byline > .translation-original,
.manifesto-byline > .translation-fr {
  transform: none;
  filter: none;
  white-space: nowrap;
  transition: opacity .82s linear;
}
@media (max-width: 720px) {
  .manifesto-byline {
    left: 48%;
    top: 68%;
    width: 49vw;
    font-size: 9px;
    letter-spacing: .1em;
  }
}

.brand:focus-visible,
.contact-link:focus-visible,
.scroll-cue:focus-visible,
.big-link:focus-visible,
.private-reel-link:focus-visible,
.contact-close:focus-visible,
.contact-actions button:focus-visible,
.contact-actions a:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 6px;
}
