/* Direction artistique VELNOR. */
:root {
  --ink: #090907;
  --surface: #10100e;
  --paper: #eee9dd;
  --ivory: #f8f3e9;
  --gold: #e4c18b;
  --muted: #c6bcb0;
  --line: #3a3228;
}
.header { background: #0d0d0b; }
.nav a { gap: .38rem; }
.nav-index { color: var(--gold); font: 500 .57rem/1 var(--body); align-self: center; }
.brand span { font-weight: 700; }
.header-cta { background: #1a1510; }
.signature {
  isolation: isolate;
  position: relative;
  background: radial-gradient(ellipse at 73% 52%, #21170c 0%, #100e0a 40%, #090907 68%);
}
.signature-inner {
  min-height: max(40rem, calc(100svh - 4.7rem));
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  grid-template-rows: minmax(0,1fr) auto;
  align-items: center;
}
.signature-copy { padding-block: clamp(3.5rem, 6vw, 6.5rem); position: relative; z-index: 2; }
.signature-label { gap: .55rem; }
.signature h1 { font-size: clamp(4rem, 8vw, 8.2rem); line-height: .89; margin: 1.55rem 0 1.5rem; letter-spacing: -.045em; }
.signature h1 span { display: block; }
.signature h1 em { color: var(--gold); }
.signature-detail { border-left: 1px solid #8a6a43; padding-left: 1.15rem; }
.signature-detail p { max-width: 27rem; color: var(--muted); font-size: clamp(.94rem,1.3vw,1.05rem); }
.signature-detail .actions { margin-top: 1.2rem; gap: .8rem 1.1rem; }
.signature-link {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  min-height: 44px;
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: .3em;
  font-weight: 610;
  font-size: .82rem;
}
.signature-link:hover { color: var(--ivory); }
.signature-link span { text-decoration: none; }
.signature-art {
  position: absolute;
  width: min(61%, 49rem);
  right: -3%;
  top: 49%;
  transform: translateY(-50%);
  pointer-events: none;
}
.signature-art img { width: 100%; height: auto; position: relative; z-index: 1; }
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .signature-art img {
    transform: translate(var(--signature-x, 0), var(--signature-y, 0)) rotate(var(--signature-angle, 0deg));
    transition: transform 340ms cubic-bezier(.22,.68,.3,1);
  }
}
.art-grid {
  position: absolute;
  inset: 13% 7%;
  border: 1px solid #8d704332;
  background: repeating-linear-gradient(90deg, transparent 0 calc(25% - 1px), #a886511c calc(25% - 1px) 25%);
  mask-image: linear-gradient(90deg, transparent, #000 25% 76%, transparent);
}
.art-index, .art-caption { z-index: 2; position: absolute; right: 7%; color: #b9a580; font-size: .58rem; font-weight: 600; letter-spacing: .18em; }
.art-index { top: 10%; }
.art-caption { bottom: 10%; }
.signature .hero-meta { position: relative; z-index: 2; }
.signature .hero-meta a span { display: grid; place-items: center; border: 1px solid #8a6a43; width: 1.7rem; height: 1.7rem; border-radius: 50%; }

.studio-heading, .studio-two { display: grid; grid-template-columns: 1.35fr 1fr; align-items: end; gap: clamp(1.5rem,6vw,5rem); }
.studio-heading { margin-bottom: clamp(2.3rem,5vw,4.6rem); }
.studio-heading h2, .studio-method h2 { margin-bottom: 0; }
.studio-heading > p { color: #50473d; max-width: 23rem; padding-bottom: .3rem; }
.studio-work { background: var(--paper); }
.studio-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(2.4rem,5.4vw,5.3rem) clamp(1.3rem,3.6vw,3.7rem); }
.studio-grid .project { min-width: 0; }
.studio-grid .project:nth-child(even) { margin-top: clamp(1rem,4vw,3.2rem); }
.studio-grid .project-image { aspect-ratio: 1.62; box-shadow: none; outline: 1px solid #3426172d; }
.studio-grid .project-zoom {
  border-radius: 50%;
  width: 2.85rem;
  height: 2.85rem;
  right: .75rem;
  bottom: .75rem;
  transition: transform .25s ease, background-color .25s ease;
}
.studio-grid .project-image:hover .project-zoom { background: #79501c; transform: rotate(8deg); }
.studio-grid .project-info { margin-top: .88rem; border-top: 1px solid #ab9b83; }
.studio-grid .project-meta { margin-top: .6rem; }
.studio-grid .project h2, .studio-grid .project h3 {
  font: 400 clamp(2.1rem, 4.25vw, 4.15rem)/1.04 var(--display);
  letter-spacing: -.043em;
  word-spacing: .035em;
  margin: .65rem 0 .4rem;
}
.studio-grid h3 a { text-decoration: none; }
.studio-grid h3 a:hover { text-decoration: underline; text-underline-offset: .15em; text-decoration-thickness: 1px; }
.studio-grid .project-info > p { color: #50473d; font-size: .92rem; }
.studio-work-end { display: flex; justify-content: end; margin-top: clamp(2.3rem,5vw,4rem); }
.round-link { display: inline-flex; align-items: center; gap: 1rem; min-height: 44px; color: #57370f; font-size: .84rem; font-weight: 650; text-underline-offset: .24em; }
.round-link span { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border: 1px solid #8f744f; border-radius: 50%; }
.round-link:hover span { background: #543910; color: var(--ivory); }

.studio-disciplines { background: radial-gradient(ellipse at 92% 40%, #1d150f, var(--ink) 70%); }
.studio-two { align-items: start; }
.studio-disciplines .signature-link { margin-top: .85rem; }
.discipline-list { list-style: none; }
.discipline-list li { display: grid; grid-template-columns: 3.3rem 1fr; gap: 1rem; padding-block: 1.3rem; border-top: 1px solid #6c573d; }
.discipline-list li:last-child { border-bottom: 1px solid #6c573d; }
.discipline-list li > span { color: var(--gold); font: 400 1.5rem/1 var(--display); }
.discipline-list li h3 { font: 400 clamp(1.9rem,3vw,2.8rem)/1 var(--display); letter-spacing: -.025em; }
.discipline-list li p { margin-top: .6rem; color: var(--muted); font-size: .89rem; }
.studio-method { background: #e3d9c7; }
.method-aside { align-self: end; color: #50473d; max-width: 23rem; }
.method-aside .round-link { margin-top: 1.1rem; }
.studio-subhero .signature-link { margin-top: 1rem; }
.subhero, .case-hero { background: radial-gradient(ellipse at 87% 65%, #261a10, var(--ink) 65%); }
.case-image { outline: 1px solid #a1845c33; outline-offset: 5px; }
.case-summary .badge { border-radius: 100px; padding-inline: .65rem; }
.case-pager { background: #15110d; }
.contact-panel { background: #15110e; }

@media(max-width: 1000px) {
  .signature-inner { min-height: 39rem; }
  .signature-art { width: 64%; right: -6%; }
}
@media(max-width: 700px) {
  .nav-index { display: none; }
  .signature-inner { min-height: 0; grid-template-rows: auto auto auto; }
  .signature-copy { padding: 3.2rem 0 0; }
  .signature h1 { font-size: clamp(2.9rem, 10.2vw, 5.1rem); margin: .9rem 0 1rem; }
  .signature-detail { padding-left: .8rem; }
  .signature-detail .actions { margin-top: .85rem; gap: .3rem .85rem; }
  .signature-art { position: relative; top: auto; right: auto; width: min(100%, 29rem); margin: -.4rem auto -1.1rem; transform: none; }
  .studio-heading, .studio-two, .studio-grid { grid-template-columns: minmax(0,1fr); gap: 1.2rem; }
  .studio-grid { gap: 2.3rem; }
  .studio-grid .project:nth-child(even) { margin-top: 0; }
  .studio-grid .project-zoom { width: 2.4rem; height: 2.4rem; }
  .studio-grid .project h2, .studio-grid .project h3 { font-size: clamp(2.1rem,8.5vw,3.55rem); }
  .studio-work-end { justify-content: start; }
  .studio-heading { margin-bottom: 1.8rem; }
  .discipline-list li { grid-template-columns: 2rem 1fr; }
  .method-aside { margin-top: .35rem; }
}
@media(prefers-reduced-motion: reduce) {
  .studio-grid .project-image:hover .project-zoom { transform: none; }
}
