:root {
  --ink: #21171a;
  --ink-soft: #332529;
  --wine: #72263f;
  --wine-deep: #4b1428;
  --rose: #ca8fa0;
  --rose-pale: #efd5dc;
  --cream: #f6f0e7;
  --paper: #fffaf4;
  --line: rgba(33, 23, 26, .17);
  --page-progress: 0;
  --hero-rx: 0deg;
  --hero-ry: 0deg;
  --hero-x: 0px;
  --hero-y: 0px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.vola-site .site-header,
.vola-site .site-footer {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
.vola-site main,
.vola-site section,
.vola-site header,
.vola-site footer,
.vola-site div { min-width: 0; }
.vola-site h1,
.vola-site h2,
.vola-site h3,
.vola-site p { max-width: 100%; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--rose); outline-offset: 5px; }
.screen-reader-text { width: 1px; height: 1px; padding: 0; position: absolute; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1200; left: 16px; top: -100px; padding: 12px 18px; color: #fff; background: var(--wine); transition: top .2s; }
.skip-link:focus { top: 16px; }
.admin-bar .site-header { top: 32px; }
a { color: inherit; text-decoration: none; }
button, a, summary { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
svg { width: 1em; height: 1em; }
em { font-weight: 400; }

.grain {
  position: fixed;
  z-index: 80;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  mix-blend-mode: multiply;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(0,0,0,.18) 0 .45px, transparent .7px),
    radial-gradient(circle at 80% 60%, rgba(255,255,255,.9) 0 .35px, transparent .65px);
  background-size: 4px 4px, 5px 5px;
}

.intro-curtain {
  position: fixed;
  z-index: 999;
  inset: 0;
  display: grid;
  place-content: center;
  color: #fff;
  background: var(--ink);
  pointer-events: none;
  animation: curtainAway .8s cubic-bezier(.76,0,.24,1) 1.45s forwards;
}
.intro-curtain.is-skipped { display: none; }
.intro-word { display: flex; overflow: hidden; font: 400 clamp(70px, 14vw, 190px)/.8 Georgia, serif; letter-spacing: -.075em; }
.intro-word span { display: block; transform: translateY(115%); animation: letterRise .62s cubic-bezier(.22,.75,.2,1) forwards; }
.intro-word span:nth-child(2) { animation-delay: .06s; }
.intro-word span:nth-child(3) { animation-delay: .12s; }
.intro-word span:nth-child(4) { animation-delay: .18s; }
.intro-curtain > i { width: 0; height: 1px; margin: 28px auto 17px; display: block; background: var(--rose); animation: lineGrow .7s ease .25s forwards; }
.intro-curtain > small { text-align: center; opacity: 0; font-size: 8px; letter-spacing: .45em; animation: simpleFade .5s ease .5s forwards; }

.cursor-orbit {
  --cursor-x: -100px;
  --cursor-y: -100px;
  position: fixed;
  z-index: 990;
  left: 0;
  top: 0;
  width: 38px;
  height: 38px;
  margin: -19px 0 0 -19px;
  transform: translate3d(var(--cursor-x), var(--cursor-y), 0);
  border: 1px solid rgba(114,38,63,.65);
  border-radius: 50%;
  pointer-events: none;
  transition: width .24s, height .24s, margin .24s, background .24s, border-color .24s;
}
.cursor-orbit span { width: 4px; height: 4px; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); border-radius: 50%; background: var(--wine); transition: opacity .2s; }
.cursor-orbit.is-active { width: 68px; height: 68px; margin: -34px 0 0 -34px; background: rgba(202,143,160,.13); border-color: rgba(114,38,63,.25); }
.cursor-orbit.is-active span { opacity: 0; }
.page-progress { position: fixed; z-index: 90; right: 16px; top: 50%; width: 1px; height: 90px; transform: translateY(-50%); background: rgba(114,38,63,.2); }
.page-progress i { display: block; width: 1px; height: calc(var(--page-progress) * 100%); background: var(--wine); }

.top-marquee { height: 30px; overflow: hidden; color: #fff; background: var(--wine); }
.top-marquee > div { width: max-content; height: 100%; display: flex; align-items: center; gap: 34px; padding-left: 34px; animation: topTicker 28s linear infinite; }
.top-marquee span { font-size: 8px; letter-spacing: .23em; text-transform: uppercase; }
.top-marquee i { color: #e8b7c5; font-style: normal; }

.site-header {
  height: 82px;
  padding: 0 clamp(22px, 4.5vw, 78px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  position: sticky;
  z-index: 70;
  top: 0;
  border-bottom: 1px solid var(--line);
  background: rgba(246,240,231,.68);
  backdrop-filter: blur(12px);
  transition: height .35s, background .35s, box-shadow .35s;
}
.site-header.is-scrolled { height: 68px; background: rgba(250,246,240,.9); box-shadow: 0 14px 38px rgba(57,28,36,.06); }
.wordmark { width: max-content; display: flex; flex-direction: column; line-height: .78; }
.wordmark span { font: 600 25px/1 Georgia, serif; letter-spacing: .12em; }
.wordmark small { margin-top: 8px; font-size: 6.5px; letter-spacing: .5em; }
.desktop-nav { display: flex; gap: clamp(25px, 3.5vw, 56px); }
.desktop-nav a { display: flex; align-items: baseline; gap: 8px; position: relative; font-size: 9px; letter-spacing: .19em; text-transform: uppercase; }
.desktop-nav a b { color: var(--rose); font: 7px Arial, sans-serif; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; bottom: -8px; width: 100%; height: 1px; transform: scaleX(0); transform-origin: right; background: var(--wine); transition: transform .35s cubic-bezier(.7,0,.2,1); }
.desktop-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.header-cta { --magnet-x: 0px; --magnet-y: 0px; justify-self: end; display: flex; align-items: center; gap: 16px; transform: translate(var(--magnet-x),var(--magnet-y)); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; transition: transform .2s ease; }
.header-cta svg { width: 19px; height: 19px; transition: transform .3s; }
.header-cta:hover svg { transform: rotate(8deg) translate(3px,-3px); }
.hero {
  min-height: calc(100svh - 112px);
  position: relative;
  overflow: hidden;
  background: var(--cream);
  perspective: 1600px;
}
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 0 49.9%, rgba(114,38,63,.11) 50%, transparent 50.1%); pointer-events: none; }
.hero-aura { position: absolute; width: 58vw; aspect-ratio: 1; right: -19vw; top: -24vw; border-radius: 50%; background: radial-gradient(circle, rgba(202,143,160,.36), rgba(239,213,220,.12) 43%, transparent 70%); filter: blur(5px); animation: breathe 7s ease-in-out infinite; }
.hero-ghost { position: absolute; left: -2.5vw; top: 50%; transform: translateY(-53%); color: transparent; -webkit-text-stroke: 1px rgba(114,38,63,.11); font: 400 28vw/.7 Georgia, serif; letter-spacing: -.09em; user-select: none; }
.hero-side-note { position: absolute; z-index: 5; left: 22px; bottom: 37px; display: flex; align-items: center; gap: 17px; transform: rotate(-90deg); transform-origin: left bottom; }
.hero-side-note span { font-size: 7px; letter-spacing: .3em; }
.hero-side-note i { width: 72px; height: 1px; overflow: hidden; position: relative; background: rgba(33,23,26,.2); }
.hero-side-note i::after { content: ""; position: absolute; inset: 0; background: var(--wine); animation: scrollLine 2.2s ease-in-out infinite; }

.hero-copy { width: 56%; padding: clamp(70px, 10vh, 120px) 0 60px clamp(58px, 8vw, 132px); position: relative; z-index: 4; }
.hero-kicker { width: min(100%, 470px); display: flex; justify-content: space-between; color: var(--wine); font-size: 8px; letter-spacing: .25em; text-transform: uppercase; }
.hero h1 { margin: clamp(72px, 10vh, 128px) 0 0; font: 400 clamp(75px, 10.2vw, 160px)/.75 Georgia, "Times New Roman", serif; letter-spacing: -.078em; }
.title-line { display: block; overflow: hidden; padding-right: .08em; }
.title-line i { display: block; font-style: normal; transform: translateY(110%); animation: titleRise 1s cubic-bezier(.16,.76,.24,1) .95s forwards; }
.title-line-offset { margin-left: 9vw; }
.title-line-offset i { animation-delay: 1.04s; }
.title-line em { color: var(--wine); }
.hero-lower { width: min(100%, 550px); margin-top: 56px; padding-left: 9vw; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.hero-lower > p { width: 280px; margin: 0; color: #75666a; font-size: 12px; line-height: 1.85; }
.round-link { --magnet-x: 0px; --magnet-y: 0px; flex: 0 0 auto; width: 118px; height: 118px; padding: 20px; display: flex; align-items: center; justify-content: space-between; transform: translate(var(--magnet-x),var(--magnet-y)); color: #fff; background: var(--ink); border-radius: 50%; font-size: 8px; line-height: 1.45; letter-spacing: .14em; text-transform: uppercase; transition: background .35s, transform .2s; }
.round-link:hover { background: var(--wine); }
.round-link svg { width: 21px; height: 21px; align-self: flex-start; }

.hero-art { width: min(41vw, 640px); height: min(75vh, 790px); position: absolute; z-index: 3; right: 7.2vw; top: 7%; transform-style: preserve-3d; }
.hero-photo-shadow { position: absolute; inset: 8% -7% -7% 11%; transform: translateZ(-60px) rotate(4deg); border: 1px solid rgba(114,38,63,.22); background: rgba(202,143,160,.16); }
.hero-photo-frame { position: absolute; inset: 0; overflow: hidden; transform: translate3d(var(--hero-x),var(--hero-y),40px) rotateX(var(--hero-rx)) rotateY(var(--hero-ry)) rotate(1.7deg); transform-style: preserve-3d; clip-path: inset(0 0 0 0); box-shadow: 0 45px 95px rgba(71,34,45,.2); transition: transform .16s ease-out; animation: photoReveal 1.25s cubic-bezier(.2,.75,.2,1) .45s both; }
.hero-photo-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; transform: scale(1.04); }
.photo-shine { position: absolute; inset: -35%; background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.25) 50%, transparent 64%); transform: translateX(-55%) rotate(4deg); animation: photoShine 6.5s ease-in-out 2.5s infinite; }
.floating-label { position: absolute; z-index: 9; backdrop-filter: blur(12px); box-shadow: 0 18px 50px rgba(56,23,34,.11); }
.floating-label-one { left: -45px; top: 14%; width: 78px; height: 96px; padding: 16px; display: flex; flex-direction: column; justify-content: space-between; background: rgba(255,250,244,.78); transform: translate3d(var(--hero-x),var(--hero-y),90px); }
.floating-label-one small { font-size: 7px; letter-spacing: .2em; }
.floating-label-one strong { font: 400 34px Georgia, serif; }
.floating-label-two { right: -42px; bottom: 9%; padding: 17px 20px; color: #fff; background: rgba(75,20,40,.76); transform: translate3d(var(--hero-x),var(--hero-y),90px); }
.floating-label-two small, .floating-label-two span { display: block; }
.floating-label-two small { margin-bottom: 6px; color: #d8a4b3; font-size: 6px; letter-spacing: .25em; }
.floating-label-two span { font: italic 16px Georgia, serif; }
.hero-coordinates { position: absolute; right: -34px; top: 7px; transform: rotate(90deg) translateX(100%); transform-origin: right top; font-size: 6px; letter-spacing: .25em; }

.kinetic-band { height: clamp(130px, 16vw, 225px); display: flex; align-items: center; overflow: hidden; color: #fff; background: var(--ink); transform: rotate(-1.1deg) scale(1.02); }
.kinetic-track { width: max-content; display: flex; align-items: center; gap: 35px; animation: kinetic 28s linear infinite; }
.kinetic-track span { font: italic 400 clamp(68px, 9vw, 135px)/.8 Georgia, serif; letter-spacing: -.055em; white-space: nowrap; }
.kinetic-track i { color: var(--rose); font-size: clamp(25px, 3vw, 44px); font-style: normal; }

.collection { padding: clamp(120px, 13vw, 210px) clamp(24px, 6vw, 100px); overflow: hidden; background: var(--paper); }
.section-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 50px; }
.section-top > div { display: flex; align-items: center; gap: 20px; }
.section-no { width: 48px; height: 48px; display: grid; place-content: center; color: #fff; background: var(--wine); border-radius: 50%; font: 16px Georgia, serif; }
.section-top p { margin: 0; }
.section-top > div p { font-size: 8px; letter-spacing: .24em; text-transform: uppercase; }
.section-aside { color: #7b6b70; font: italic 14px/1.7 Georgia, serif; }
.collection-title { margin: clamp(75px, 8vw, 120px) 0 110px; display: flex; align-items: flex-end; justify-content: space-between; }
.collection-title h2 { margin: 0; font: 400 clamp(76px, 10vw, 160px)/.78 Georgia, serif; letter-spacing: -.07em; }
.collection-title h2 em { color: var(--wine); }
.collection-title > svg { width: clamp(65px, 8vw, 120px); height: auto; margin-right: 5vw; color: var(--rose); animation: slowSpin 20s linear infinite; }

.looks { display: grid; grid-template-columns: repeat(12, 1fr); align-items: start; row-gap: 120px; perspective: 1400px; }
.look-card { --card-rotate: 0deg; position: relative; transform-style: preserve-3d; }
.look-card-one { --card-rotate: -1.8deg; grid-column: 1 / span 5; }
.look-card-two { --card-rotate: 2.2deg; grid-column: 8 / span 4; margin-top: 190px; }
.look-card-three { --card-rotate: -1deg; grid-column: 4 / span 5; margin-top: 20px; }
.look-image { overflow: hidden; position: relative; aspect-ratio: .79; background: var(--rose-pale); box-shadow: 0 35px 80px rgba(64,30,41,.12); }
.look-image::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.28); box-shadow: inset 0 0 80px rgba(71,27,42,.07); }
.look-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.2,.7,.2,1), filter .6s; }
.look-card:hover .look-image img { transform: scale(1.055); filter: saturate(.86); }
.look-card::before { content: ""; position: absolute; z-index: -1; width: 82%; height: 88%; left: 9%; bottom: -7%; background: rgba(114,38,63,.08); filter: blur(25px); }
.look-meta { margin-top: 22px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.look-meta span { font-size: 7px; letter-spacing: .24em; }
.look-meta h3 { min-width: 0; margin: 0; text-align: right; overflow-wrap: break-word; font: italic 400 clamp(27px, 3vw, 44px)/1 Georgia, serif; }
.look-card-link { display: block; position: relative; }
.look-arrow { width: 54px; height: 54px; position: absolute; z-index: 3; right: 18px; bottom: 18px; display: grid; place-content: center; color: #fff; background: var(--wine); border-radius: 50%; box-shadow: 0 12px 32px rgba(74,23,42,.24); transition: transform .3s, background .3s; }
.look-card-link:hover .look-arrow { transform: rotate(12deg) scale(1.08); background: var(--ink); }
.look-arrow svg { width: 21px; height: 21px; }
.image-fallback { width: 100%; height: 100%; display: grid; place-content: center; color: rgba(114,38,63,.5); background: linear-gradient(145deg, var(--rose-pale), var(--cream)); }
.image-fallback span { font: 400 clamp(45px,7vw,100px)/1 Georgia,serif; letter-spacing: .12em; }
.collection-end { margin-top: 120px; padding-top: 30px; display: flex; align-items: flex-end; justify-content: space-between; border-top: 1px solid var(--line); }
.collection-end p { margin: 0; color: #807176; font: italic 13px/1.7 Georgia, serif; }
.line-link { min-width: 240px; padding: 0 0 13px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid currentColor; font-size: 8px; letter-spacing: .21em; text-transform: uppercase; }
.line-link svg { width: 20px; height: 20px; transition: transform .3s; }
.line-link:hover svg { transform: translate(4px,-4px); }

.atelier { min-height: 940px; display: grid; grid-template-columns: 55% 45%; color: #fff; background: var(--ink); }
.atelier-stage { min-height: 940px; overflow: hidden; position: relative; background: #dcb7c0; }
.atelier-stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(145deg, rgba(255,255,255,.3), transparent 37%, rgba(95,34,53,.16)); }
.atelier-word { position: absolute; z-index: 1; left: -2%; top: 50%; transform: translateY(-50%) rotate(-90deg); color: transparent; -webkit-text-stroke: 1px rgba(114,38,63,.25); font: 400 10vw/.8 Georgia, serif; letter-spacing: -.06em; }
.atelier-photo { position: absolute; z-index: 2; overflow: hidden; box-shadow: 0 40px 90px rgba(70,30,43,.25); }
.atelier-photo img { width: 100%; height: 100%; object-fit: cover; }
.atelier-photo-back { width: 43%; height: 53%; right: 9%; top: 9%; transform: rotate(4deg); }
.atelier-photo-front { width: 50%; height: 59%; left: 14%; bottom: 7%; transform: rotate(-3deg); }
.atelier-photo-front img { object-position: 55% center; animation: imageBreath 8s ease-in-out infinite; }
.rotating-seal { width: 140px; height: 140px; position: absolute; z-index: 5; right: 4%; bottom: 4%; display: grid; place-content: center; color: var(--wine); background: rgba(255,250,244,.88); border-radius: 50%; backdrop-filter: blur(8px); animation: slowSpin 18s linear infinite; }
.rotating-seal span { width: 116px; position: absolute; left: 12px; top: 20px; text-align: center; font-size: 6px; line-height: 15px; letter-spacing: .16em; }
.rotating-seal svg { width: 42px; height: 42px; animation: reverseSpin 18s linear infinite; }
.atelier-story { padding: 100px clamp(40px, 7vw, 110px); display: flex; flex-direction: column; justify-content: center; }
.chapter { display: flex; align-items: center; gap: 15px; color: var(--rose); }
.chapter span { font: 20px Georgia, serif; }
.chapter i { width: 65px; height: 1px; background: currentColor; }
.overline { margin: 35px 0 0; color: #b6a8ac; font-size: 7px; letter-spacing: .3em; }
.atelier-story h2 { margin: 75px 0 44px; font: 400 clamp(65px, 7vw, 108px)/.78 Georgia, serif; letter-spacing: -.065em; }
.atelier-story h2 em { color: var(--rose); }
.story-lead { margin: 0 0 24px; font: italic 22px/1.35 Georgia, serif; }
.story-body { width: min(100%, 430px); margin: 0; color: #bdb0b4; font-size: 12px; line-height: 1.9; }
.line-link.light { margin-top: 54px; color: #fff; }

.manifesto { min-height: 900px; padding: 130px clamp(25px, 7vw, 110px); overflow: hidden; position: relative; display: flex; align-items: center; background: var(--cream); }
.manifesto-orbit { position: absolute; border: 1px solid rgba(114,38,63,.14); border-radius: 50%; }
.orbit-one { width: 53vw; height: 53vw; right: -13vw; top: -19vw; animation: orbitDrift 9s ease-in-out infinite; }
.orbit-two { width: 31vw; height: 31vw; right: 2vw; top: -8vw; animation: orbitDrift 7s ease-in-out -2s infinite reverse; }
.manifesto-copy { position: relative; z-index: 2; }
.manifesto-copy > span { color: var(--wine); font-size: 7px; letter-spacing: .3em; }
.manifesto blockquote { margin: 70px 0 0; font: 400 clamp(65px, 8.6vw, 136px)/.88 Georgia, serif; letter-spacing: -.065em; }
.manifesto blockquote i { display: block; font-style: normal; }
.manifesto blockquote i:nth-child(2) { margin-left: 8vw; }
.manifesto blockquote .accent { margin-left: 2vw; color: var(--wine); font-style: italic; }
.manifesto-signature { margin: 48px 0 0 9vw; color: var(--wine); font: italic 400 clamp(24px, 2.4vw, 38px)/1.1 Georgia, serif; }
.manifesto-mini-card { width: 220px; position: absolute; z-index: 3; right: 7vw; bottom: 8%; padding: 10px; transform: rotate(5deg); background: rgba(255,250,244,.86); box-shadow: 0 30px 75px rgba(74,30,43,.16); backdrop-filter: blur(8px); }
.manifesto-mini-card img { width: 100%; aspect-ratio: .85; object-fit: cover; }
.manifesto-mini-card span { display: block; padding: 12px 2px 3px; font-size: 6px; letter-spacing: .27em; }

.contact { min-height: 850px; padding: 125px clamp(25px, 7vw, 115px) 60px; overflow: hidden; position: relative; color: #fff; background: var(--wine-deep); }
.contact::before { content: ""; position: absolute; width: 55vw; height: 55vw; left: -25vw; bottom: -35vw; border-radius: 50%; background: rgba(202,143,160,.15); filter: blur(4px); }
.contact-backdrop { position: absolute; right: -2vw; top: 47%; transform: translateY(-50%); color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.07); font: 400 30vw/.7 Georgia, serif; letter-spacing: -.09em; }
.contact-heading { position: relative; z-index: 2; display: grid; grid-template-columns: 180px 1fr; align-items: start; }
.contact-heading > div { display: flex; align-items: center; gap: 15px; }
.contact-heading > div span { width: 44px; height: 44px; display: grid; place-content: center; color: var(--wine-deep); background: var(--rose-pale); border-radius: 50%; font: 15px Georgia, serif; }
.contact-heading > div p { margin: 0; color: #d4b4be; font-size: 7px; letter-spacing: .25em; text-transform: uppercase; }
.contact h2 { margin: 0; font: 400 clamp(75px, 10vw, 155px)/.77 Georgia, serif; letter-spacing: -.07em; }
.contact h2 em { color: var(--rose); }
.contact-action { width: 52%; margin: 85px 0 0 auto; position: relative; z-index: 2; display: flex; align-items: center; gap: 42px; }
.contact-orb { --magnet-x: 0px; --magnet-y: 0px; flex: 0 0 auto; width: 180px; height: 180px; padding: 34px; display: flex; align-items: center; justify-content: space-between; transform: translate(var(--magnet-x),var(--magnet-y)); color: var(--wine-deep); background: var(--rose-pale); border-radius: 50%; transition: transform .2s, background .35s; }
.contact-orb:hover { background: #fff; }
.contact-orb span { font-size: 8px; line-height: 1.55; letter-spacing: .16em; text-transform: uppercase; }
.contact-orb svg { width: 27px; height: 27px; align-self: flex-start; }
.contact-action > p { width: 260px; margin: 0; color: #d4bcc3; font-size: 12px; line-height: 1.85; }
.contact-grid { margin-top: 100px; padding-top: 30px; position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; border-top: 1px solid rgba(255,255,255,.22); }
.contact-grid > div { display: flex; flex-direction: column; gap: 16px; }
.contact-grid small { color: #c99aaa; font-size: 7px; letter-spacing: .26em; }
.contact-grid p, .contact-grid a { width: max-content; margin: 0; font: 16px/1.5 Georgia, serif; }
.contact-grid a { border-bottom: 1px solid rgba(255,255,255,.4); }

.motion-ready [data-reveal] { opacity: 0; transform: translateY(55px); transition: opacity .95s ease, transform 1.05s cubic-bezier(.17,.67,.21,1); }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
.motion-ready .look-card[data-reveal] { transform: translateY(80px) rotate(var(--card-rotate)); }
.motion-ready .look-card[data-reveal].is-visible { transform: translateY(0) rotate(var(--card-rotate)); }
.motion-ready .look-card[data-reveal].is-visible:hover { transform: translateY(-12px) rotate(0deg) rotateY(-2deg); }
.motion-ready .atelier-photo-back[data-reveal] { transform: translateY(70px) rotate(4deg); }
.motion-ready .atelier-photo-back[data-reveal].is-visible { transform: translateY(0) rotate(4deg); }
.motion-ready .atelier-photo-front[data-reveal] { transform: translateY(80px) rotate(-3deg); }
.motion-ready .atelier-photo-front[data-reveal].is-visible { transform: translateY(0) rotate(-3deg); }

@keyframes letterRise { to { transform: translateY(0); } }
@keyframes lineGrow { to { width: min(210px,42vw); } }
@keyframes simpleFade { to { opacity: 1; } }
@keyframes curtainAway { to { transform: translateY(-102%); visibility: hidden; } }
@keyframes titleRise { to { transform: translateY(0); } }
@keyframes photoReveal { from { clip-path: inset(0 0 100% 0); filter: saturate(.4); } to { clip-path: inset(0); filter: saturate(1); } }
@keyframes photoShine { 0%,55% { transform: translateX(-65%) rotate(4deg); } 78%,100% { transform: translateX(75%) rotate(4deg); } }
@keyframes breathe { 0%,100% { transform: scale(.94); opacity: .6; } 50% { transform: scale(1.05); opacity: 1; } }
@keyframes scrollLine { 0% { transform: translateX(-100%); } 50%,100% { transform: translateX(100%); } }
@keyframes topTicker { to { transform: translateX(-50%); } }
@keyframes kinetic { to { transform: translateX(-50%); } }
@keyframes slowSpin { to { rotate: 360deg; } }
@keyframes reverseSpin { to { rotate: -360deg; } }
@keyframes imageBreath { 0%,100% { transform: scale(1.02); } 50% { transform: scale(1.075); } }
@keyframes orbitDrift { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(-25px,30px,0) scale(1.03); } }











/* WordPress navigation */
.mobile-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; }
.mobile-toggle span { display: block; width: 25px; height: 1px; margin: 7px auto; background: var(--ink); transition: transform .3s, opacity .3s; }
.mobile-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
.mobile-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
.mobile-navigation { display: none; }
.mobile-navigation[hidden] { display: none; }

/* Inclusive audience chapter */
.audience-section { min-height: 900px; padding: clamp(100px,12vw,190px) clamp(24px,7vw,115px); display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(55px,8vw,130px); overflow: hidden; background: var(--paper); }
.audience-copy { position: relative; z-index: 2; }
.eyebrow { display: block; color: var(--wine); font-size: 8px; letter-spacing: .27em; text-transform: uppercase; }
.audience-copy h2 { margin: 55px 0 42px; font: 400 clamp(62px,7vw,108px)/.82 Georgia,serif; letter-spacing: -.065em; }
.audience-copy h2 em { color: var(--wine); }
.audience-copy > p { max-width: 500px; margin: 0; color: #74666a; font-size: 14px; line-height: 1.9; }
.audience-copy .line-link { margin-top: 55px; }
.audience-visual { position: relative; perspective: 1200px; }
.audience-frame { overflow: hidden; transform: rotate(2.4deg); box-shadow: 0 45px 100px rgba(62,28,39,.18); }
.audience-frame::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.32); pointer-events: none; }
.audience-frame img { width: 100%; aspect-ratio: .84; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.audience-frame:hover img { transform: scale(1.035); }
.audience-visual > span { position: absolute; right: -20px; top: 5%; transform: rotate(90deg) translateX(100%); transform-origin: right top; font-size: 7px; letter-spacing: .28em; }

/* Shared inner pages */
.inner-page { background: var(--cream); }
.page-hero { min-height: 760px; padding: 80px clamp(24px,7vw,110px) 100px; display: grid; grid-template-columns: 90px minmax(340px,.82fr) minmax(300px,.68fr); align-items: center; gap: clamp(25px,5vw,80px); overflow: hidden; position: relative; }
.page-hero::before { content: ""; position: absolute; width: 48vw; height: 48vw; right: -20vw; top: -24vw; border: 1px solid rgba(114,38,63,.15); border-radius: 50%; }
.page-hero-index { align-self: start; padding-top: 30px; color: var(--rose); font: 18px Georgia,serif; }
.page-hero-copy { position: relative; z-index: 2; }
.page-hero-copy > span { color: var(--wine); font-size: 8px; letter-spacing: .3em; }
.page-hero-copy h1 { margin: 48px 0 35px; font: 400 clamp(86px,11vw,175px)/.75 Georgia,serif; letter-spacing: -.075em; }
.page-hero-copy p { max-width: 430px; margin: 0 0 0 7vw; color: #75666a; font-size: 14px; line-height: 1.9; }
.page-hero-visual { width: 100%; max-width: 460px; justify-self: end; position: relative; transform: rotate(2deg); }
.page-hero-visual::before { content: ""; position: absolute; inset: 8% -8% -7% 9%; z-index: -1; border: 1px solid rgba(114,38,63,.25); background: var(--rose-pale); }
.page-hero-visual img { width: 100%; aspect-ratio: .78; object-fit: cover; box-shadow: 0 35px 90px rgba(65,29,42,.16); }

/* Catalogue */
.catalogue-shell { padding: 90px clamp(24px,6vw,100px) 150px; background: var(--paper); }
.catalogue-toolbar { padding-bottom: 30px; display: grid; gap: 24px; border-bottom: 1px solid var(--line); }
.catalogue-toolbar > div { display: grid; grid-template-columns: 110px 1fr; align-items: start; gap: 30px; }
.catalogue-toolbar p { margin: 8px 0 0; font: italic 18px Georgia,serif; }
.catalogue-toolbar nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.catalogue-toolbar nav a { padding: 10px 16px; border: 1px solid var(--line); border-radius: 999px; font-size: 8px; letter-spacing: .16em; text-transform: uppercase; transition: color .25s,background .25s,border-color .25s; }
.catalogue-toolbar nav a:hover,.catalogue-toolbar nav a.is-active { color: #fff; border-color: var(--wine); background: var(--wine); }
.catalogue-grid { margin-top: 80px; display: grid; grid-template-columns: repeat(3,1fr); gap: 100px 48px; }
.catalogue-grid .look-card:nth-child(3n+2) { margin-top: 90px; }
.catalogue-grid .look-card:nth-child(3n) { margin-top: 35px; }
.catalogue-empty { grid-column: 1 / -1; min-height: 420px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.catalogue-empty > span { color: rgba(114,38,63,.12); font: 14vw/.8 Georgia,serif; }
.catalogue-empty h2 { margin: 25px 0 45px; font: 35px Georgia,serif; }
.pagination { margin-top: 100px; display: flex; justify-content: center; gap: 12px; }
.pagination .page-numbers { width: 42px; height: 42px; display: grid; place-content: center; border: 1px solid var(--line); border-radius: 50%; font-size: 11px; }
.pagination .current { color: #fff; border-color: var(--wine); background: var(--wine); }
.compact-cta { min-height: 620px; padding: 100px clamp(24px,7vw,115px); display: grid; grid-template-columns: 180px 1fr auto; align-items: center; gap: 50px; color: #fff; background: var(--wine-deep); }
.compact-cta > span { color: var(--rose); font-size: 8px; letter-spacing: .2em; text-transform: uppercase; }
.compact-cta h2 { margin: 0; font: 400 clamp(55px,7vw,105px)/.82 Georgia,serif; letter-spacing: -.06em; }
.compact-cta h2 em { color: var(--rose); }
.compact-cta .round-link { background: var(--rose-pale); color: var(--wine-deep); }

/* Atelier page */
.atelier-page-hero .page-hero-visual img { object-position: 58% center; }
.atelier-intro { padding: 145px clamp(24px,7vw,115px); display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; gap: 90px; background: var(--paper); }
.atelier-intro h2 { margin: 55px 0 0; font: 400 clamp(62px,7.6vw,122px)/.82 Georgia,serif; letter-spacing: -.067em; }
.atelier-intro h2 em { color: var(--wine); }
.atelier-intro > p { margin: 0 0 10px; color: #75666a; font-size: 15px; line-height: 1.95; }
.process-grid { padding: 0 clamp(24px,7vw,115px) 150px; display: grid; grid-template-columns: repeat(4,1fr); background: var(--paper); }
.process-grid article { min-height: 330px; padding: 35px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
.process-grid article:last-child { border-right: 0; }
.process-grid article > span { color: var(--rose); font: 17px Georgia,serif; }
.process-grid h3 { margin: 85px 0 24px; font: italic 34px Georgia,serif; }
.process-grid p { margin: 0; color: #75666a; font-size: 13px; line-height: 1.8; }
.atelier-collage { min-height: 970px; padding: 110px clamp(24px,7vw,115px); display: grid; grid-template-columns: 1.1fr .8fr .55fr; align-items: center; gap: 55px; color: #fff; background: var(--ink); }
.collage-large img,.collage-small img { width: 100%; height: 100%; object-fit: cover; }
.collage-large { height: 690px; transform: rotate(-2deg); }
.collage-small { height: 410px; transform: translateY(140px) rotate(3deg); }
.collage-copy > span { color: var(--rose); font-size: 7px; letter-spacing: .27em; }
.collage-copy blockquote { margin: 55px 0; font: italic 30px/1.45 Georgia,serif; }
.collage-copy .line-link { color: #fff; }

/* Contact page */
.contact-page { color: #fff; background: var(--wine-deep); }
.contact-page-hero { min-height: 790px; padding: 120px clamp(24px,8vw,130px); display: flex; align-items: center; justify-content: space-between; gap: 70px; position: relative; overflow: hidden; }
.contact-page-hero::after { content: "VOLA"; position: absolute; right: -3vw; bottom: -4vw; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.07); font: 400 29vw/.7 Georgia,serif; letter-spacing: -.09em; }
.contact-page-title { position: relative; z-index: 2; }
.contact-page-title > span { color: var(--rose); font-size: 8px; letter-spacing: .28em; }
.contact-page-title h1 { margin: 58px 0 42px; font: 400 clamp(75px,10vw,155px)/.78 Georgia,serif; letter-spacing: -.07em; }
.contact-page-title h1 em { color: var(--rose); }
.contact-page-title p { max-width: 440px; margin: 0 0 0 9vw; color: #d2c1c6; font-size: 14px; line-height: 1.9; }
.contact-page-hero .contact-orb { position: relative; z-index: 3; width: 210px; height: 210px; }
.contact-details { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.17); border-bottom: 1px solid rgba(255,255,255,.17); }
.contact-details > a { min-height: 360px; padding: 48px clamp(25px,4vw,65px); display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.17); transition: background .35s; }
.contact-details > a:last-child { border-right: 0; }
.contact-details > a:hover { background: rgba(202,143,160,.12); }
.contact-details small { color: var(--rose); font-size: 7px; letter-spacing: .25em; }
.contact-details h2 { max-width: 360px; margin: 75px 0 35px; overflow-wrap: anywhere; font: 26px/1.35 Georgia,serif; }
.contact-details span { margin-top: auto; display: flex; align-items: center; justify-content: space-between; font-size: 8px; letter-spacing: .18em; text-transform: uppercase; }
.contact-details svg { width: 22px; height: 22px; }
.contact-visual { min-height: 850px; padding: 120px clamp(24px,8vw,130px); display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 100px; color: var(--ink); background: var(--paper); }
.contact-visual > img { width: 100%; max-height: 650px; object-fit: cover; transform: rotate(-2deg); box-shadow: 0 35px 90px rgba(65,29,42,.15); }
.contact-visual span { color: var(--wine); font-size: 8px; letter-spacing: .28em; }
.contact-visual h2 { margin: 55px 0 38px; font: 400 clamp(58px,7vw,105px)/.82 Georgia,serif; letter-spacing: -.06em; }
.contact-visual h2 em { color: var(--wine); }
.contact-visual p { max-width: 440px; color: #75666a; font-size: 14px; line-height: 1.9; }

/* Single model */
.back-link { margin-bottom: 75px; color: #77676c; font-size: 8px; letter-spacing: .18em; text-transform: uppercase; }
.model-lead { margin: 0 0 35px; font: italic 21px/1.5 Georgia,serif; }
.model-description { margin: 30px 0; color: #75666a; font-size: 14px; line-height: 1.85; }
.primary-action { width: max-content; min-width: 270px; padding: 18px 22px; display: flex; align-items: center; justify-content: space-between; gap: 35px; color: #fff; background: var(--wine); font-size: 8px; letter-spacing: .18em; text-transform: uppercase; transition: background .3s; }
.primary-action:hover { background: var(--ink); }
.primary-action svg { width: 22px; height: 22px; }
/* Generic content */
.prose-page { min-height: 70vh; padding: 140px clamp(24px,12vw,190px); }
.prose-page section { max-width: 900px; }
.prose-page h1 { margin: 45px 0 70px; font: 400 clamp(70px,9vw,140px)/.8 Georgia,serif; letter-spacing: -.07em; }
.prose-content { font-size: 17px; line-height: 1.85; }
.prose-content h2 { margin-top: 60px; font: 40px Georgia,serif; }
.not-found { min-height: 75vh; padding: 120px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: var(--cream); }
.not-found > span { color: var(--rose); font: 18vw/.8 Georgia,serif; }
.not-found h1 { margin: 40px 0 15px; font: 48px Georgia,serif; }
.not-found .primary-action { margin-top: 35px; }





/* --------------------------------------------------------------------------
   Vola Atelier V4 — components shared by dynamic catalogue pages
   -------------------------------------------------------------------------- */
.vola-site { width: 100%; min-width: 0; }
.vola-site main { width: 100%; max-width: none; }
.desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
.vola-site h1,
.vola-site h2,
.vola-site h3 { text-wrap: balance; }
.vola-site p { text-wrap: pretty; }
.desktop-nav a,
.header-cta,
.line-link,
.primary-action { font-size: 10px; }
.round-link,
.contact-orb span { font-size: 9px; }

/* Editorial category presentation */
.category-editorial { padding: clamp(110px, 12vw, 190px) clamp(24px, 6vw, 100px); overflow: hidden; background: var(--paper); }
.category-editorial-head { margin-bottom: clamp(75px, 10vw, 150px); display: grid; grid-template-columns: 150px minmax(440px, 1fr) minmax(250px, 390px); align-items: end; gap: clamp(30px, 5vw, 80px); }
.category-editorial-head > span { align-self: start; color: var(--wine); font-size: 8px; letter-spacing: .27em; }
.category-editorial-head h2 { margin: 0; font: 400 clamp(74px, 9vw, 145px)/.79 Georgia, serif; letter-spacing: -.07em; }
.category-editorial-head h2 em { color: var(--wine); }
.category-editorial-head p { margin: 0 0 10px; color: #76696d; font-size: 14px; line-height: 1.9; }
.vela-spotlight { margin-bottom: clamp(100px, 12vw, 180px); color: #fff; background: var(--ink); }
.vela-spotlight > a { min-height: 720px; display: grid; grid-template-columns: 58% 42%; }
.vela-image { min-height: 720px; overflow: hidden; }
.vela-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.vela-spotlight:hover .vela-image img { transform: scale(1.025); }
.vela-copy { padding: clamp(60px, 7vw, 110px); display: flex; flex-direction: column; justify-content: center; }
.vela-copy > span { color: var(--rose); font-size: 8px; letter-spacing: .3em; }
.vela-copy h3 { margin: clamp(55px, 7vw, 95px) 0 35px; font: 400 clamp(54px, 5.7vw, 91px)/.85 Georgia, serif; letter-spacing: -.055em; }
.vela-copy h3 em { color: var(--rose); }
.vela-copy p { max-width: 360px; margin: 0; color: #c8bfc1; font-size: 13px; line-height: 1.85; }
.vela-copy strong { margin-top: auto; padding-top: 70px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.45); font-size: 8px; font-weight: 400; letter-spacing: .21em; text-transform: uppercase; }
.vela-copy strong svg { width: 23px; height: 23px; }
.category-grid { display: grid; grid-template-columns: repeat(12, 1fr); align-items: start; gap: 100px 36px; }
.category-tile { grid-column: span 4; }
.category-tile:nth-child(3n+1) { grid-column: span 5; }
.category-tile:nth-child(3n+2) { grid-column: span 4; margin-top: 120px; }
.category-tile:nth-child(3n) { grid-column: span 3; margin-top: 42px; }
.category-photo { aspect-ratio: .78; overflow: hidden; background: var(--rose-pale); }
.category-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.7,.2,1), filter .5s; }
.category-tile:hover .category-photo img { transform: scale(1.045); filter: saturate(.9); }
.category-caption { margin-top: 22px; padding-top: 18px; display: grid; grid-template-columns: 45px 1fr auto; align-items: baseline; gap: 16px; border-top: 1px solid var(--line); }
.category-caption > span { color: var(--rose); font: 18px Georgia, serif; }
.category-caption h3 { margin: 0; font: 400 clamp(29px, 3vw, 45px)/1 Georgia, serif; letter-spacing: -.035em; text-transform: uppercase; }
.category-caption small { align-self: center; color: #7d7074; font-size: 7px; letter-spacing: .16em; text-transform: uppercase; }
.category-caption svg { grid-column: 3; width: 22px; height: 22px; transition: transform .3s; }
.category-tile:hover .category-caption svg { transform: translate(4px,-4px); }

/* Real-work image story */
.vola-women { padding: clamp(110px, 13vw, 200px) clamp(24px, 6vw, 100px); overflow: hidden; background: var(--paper); }
.vola-women > header { margin-bottom: 90px; display: grid; grid-template-columns: 150px minmax(350px,1fr) minmax(240px,390px); align-items: end; gap: 45px; }
.vola-women > header span { align-self: start; color: var(--wine); font-size: 8px; letter-spacing: .28em; }
.vola-women > header h2 { margin: 0; font: 400 clamp(75px, 10vw, 160px)/.78 Georgia,serif; letter-spacing: -.07em; }
.vola-women > header p { margin: 0 0 10px; color: #776a6e; font: italic 18px/1.6 Georgia,serif; }
.vola-women-grid { display: grid; grid-template-columns: repeat(12,1fr); align-items: start; gap: 45px 30px; }
.vola-women figure { margin: 0; overflow: hidden; }
.vola-women figure:nth-child(4n+1) { grid-column: span 5; }
.vola-women figure:nth-child(4n+2) { grid-column: span 3; margin-top: 130px; }
.vola-women figure:nth-child(4n+3) { grid-column: span 4; margin-top: 45px; }
.vola-women figure:nth-child(4n) { grid-column: 7 / span 4; margin-top: 10px; }
.vola-women figure img { width: 100%; height: auto; transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.vola-women figure:hover img { transform: scale(1.025); }
.vola-women > .line-link { margin: 90px 0 0 auto; }

/* Real catalogue empty state */
.catalogue-empty p { max-width: 520px; margin: 0 0 42px; color: #756a6d; font-size: 14px; line-height: 1.8; }

/* Sticky, gallery-led model detail */
.model-detail-layout { display: grid; grid-template-columns: minmax(0,58%) minmax(360px,42%); align-items: start; background: var(--paper); }
.model-gallery-column { min-width: 0; background: #eadde0; }
.model-detail-image { min-height: 640px; margin: 0; overflow: hidden; border-bottom: 1px solid rgba(33,23,26,.12); background: var(--rose-pale); }
.model-detail-image:last-child { border-bottom: 0; }
.model-detail-image img { width: 100%; height: auto; min-height: 640px; object-fit: cover; }
.model-detail-image.is-primary img { min-height: min(920px, 100svh); }
.model-detail-info { min-width: 0; }
.model-info-sticky { min-height: calc(100svh - 112px); padding: clamp(70px, 7vw, 115px) clamp(38px, 6vw, 95px); position: sticky; top: 82px; display: flex; flex-direction: column; justify-content: center; }
.model-info-sticky .back-link { margin-bottom: 45px; }
.model-code { margin: 30px 0 0; color: var(--wine); font-size: 9px; font-weight: 700; letter-spacing: .24em; }
.model-categories { display: flex; flex-wrap: wrap; gap: 8px; }
.model-categories a { padding: 8px 11px; color: var(--wine); border: 1px solid rgba(114,38,63,.25); border-radius: 999px; font-size: 7px; letter-spacing: .18em; text-transform: uppercase; }
.model-info-sticky h1 { margin: 35px 0; overflow-wrap: anywhere; font: 400 clamp(58px, 6.4vw, 104px)/.84 Georgia,serif; letter-spacing: -.063em; }
.model-info-sticky .model-lead { margin-bottom: 38px; color: #5f5055; font: italic 20px/1.55 Georgia,serif; }
.model-choice-block { padding: 26px 0; border-top: 1px solid var(--line); }
.model-choice-block h2 { margin: 0 0 18px; color: var(--wine); font: 400 10px/1.3 Arial,sans-serif; letter-spacing: .2em; text-transform: uppercase; }
.model-choice-block ul { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; list-style: none; }
.model-choice-block li { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; font: 14px Georgia,serif; }
.model-choice-block.suitable p { margin: 0; font: italic 18px/1.6 Georgia,serif; }
.model-legacy-specs { margin: 0; padding: 23px 0; border-top: 1px solid var(--line); }
.model-legacy-specs div { padding: 6px 0; display: grid; grid-template-columns: 100px 1fr; gap: 20px; }
.model-legacy-specs dt { color: var(--wine); font-size: 7px; letter-spacing: .18em; text-transform: uppercase; }
.model-legacy-specs dd { margin: 0; font: 14px Georgia,serif; }
.model-info-sticky .model-description { padding-top: 5px; }
.model-cta-note { max-width: 390px; margin: 18px 0 0; color: #807377; font-size: 10px; line-height: 1.65; }
.related-models { padding: clamp(100px,11vw,170px) clamp(24px,6vw,100px); background: var(--paper); }
.related-models > header { margin-bottom: 75px; display: flex; align-items: end; justify-content: space-between; gap: 35px; }
.related-models > header span { color: var(--wine); font-size: 8px; letter-spacing: .25em; }
.related-models > header h2 { margin: 0; font: 400 clamp(55px,7vw,105px)/.84 Georgia,serif; letter-spacing: -.055em; }
.related-models-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 45px; }

/* Contact form */
.contact-form-section { padding: clamp(100px, 11vw, 175px) clamp(24px, 8vw, 130px); display: grid; grid-template-columns: minmax(300px,.8fr) minmax(420px,1.2fr); gap: clamp(70px, 10vw, 160px); color: var(--ink); background: var(--paper); }
.contact-form-intro > span { color: var(--wine); font-size: 8px; letter-spacing: .28em; }
.contact-form-intro h2 { margin: 55px 0 38px; font: 400 clamp(57px, 7vw, 105px)/.83 Georgia,serif; letter-spacing: -.06em; }
.contact-form-intro h2 em { color: var(--wine); }
.contact-form-intro p { max-width: 450px; margin: 0; color: #75696d; font-size: 14px; line-height: 1.9; }
.form-notice { margin-bottom: 30px; padding: 16px 18px; border-left: 3px solid var(--wine); background: var(--rose-pale); font-size: 13px; line-height: 1.6; }
.form-notice.is-error { border-left-color: #8f1d2f; }
.vola-request-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 22px; }
.vola-request-form label { display: flex; flex-direction: column; gap: 10px; }
.vola-request-form label > span { color: var(--wine); font-size: 8px; letter-spacing: .2em; text-transform: uppercase; }
.vola-request-form input,
.vola-request-form select,
.vola-request-form textarea { width: 100%; min-height: 52px; padding: 11px 0; color: var(--ink); border: 0; border-bottom: 1px solid rgba(33,23,26,.35); border-radius: 0; outline: 0; background: transparent; font: 16px/1.45 Georgia,serif; }
.vola-request-form textarea { padding: 14px; border: 1px solid rgba(33,23,26,.3); resize: vertical; }
.vola-request-form input:focus,
.vola-request-form select:focus,
.vola-request-form textarea:focus { border-color: var(--wine); box-shadow: 0 1px 0 var(--wine); }
.vola-request-form .form-message { grid-column: 1 / -1; }
.vola-request-form .primary-action { margin-top: 10px; border: 0; cursor: pointer; }
.vola-honeypot { width: 1px; height: 1px; position: absolute; left: -10000px; overflow: hidden; }

/* Expanded but minimal footer */
.site-footer { min-height: 330px; padding: 70px clamp(24px, 6vw, 100px) 38px; display: grid; grid-template-columns: 1.4fr .7fr .9fr 1.1fr; align-items: start; gap: 55px; color: #fff; background: var(--ink); }
.footer-brand p { margin: 34px 0 0; color: #a99ca0; font-size: 8px; letter-spacing: .2em; text-transform: uppercase; }
.footer-links { display: flex; flex-direction: column; gap: 13px; }
.footer-links > span,
.site-footer address > span { margin-bottom: 8px; color: var(--rose); font-size: 7px; letter-spacing: .24em; font-style: normal; }
.footer-links a { width: max-content; color: #d5cdd0; font: 15px/1.35 Georgia,serif; border-bottom: 1px solid transparent; }
.footer-links a:hover { border-color: currentColor; }
.site-footer address { max-width: 270px; display: flex; flex-direction: column; gap: 12px; color: #d5cdd0; font: normal 14px/1.65 Georgia,serif; }
.footer-legal { grid-column: 1 / -1; margin-top: 35px; padding-top: 24px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.16); }
.footer-legal p { margin: 0; color: #8f8387; font-size: 7px; letter-spacing: .2em; text-transform: uppercase; }







/* Brand lockup and V4 occasion chapter */
.wordmark-holder { min-width: 180px; }
.brand-logo-link { width: max-content; display: flex; flex-direction: column; line-height: .78; }
.brand-logo-link span { font: 600 27px/1 Georgia,serif; letter-spacing: .16em; }
.brand-logo-link small { margin-top: 8px; font-size: 6px; letter-spacing: .52em; }
.wordmark-holder .custom-logo-link { width: min(100%,210px); display: flex; align-items: center; }
.wordmark-holder .custom-logo { width: auto; height: auto; max-width: 100%; max-height: 58px; object-fit: contain; }
.footer-brand .custom-logo-link { width: min(100%,250px); display: block; }
.footer-brand .custom-logo { width: auto; height: auto; max-width: 100%; max-height: 78px; object-fit: contain; }

.occasion-editorial { padding: clamp(110px, 13vw, 205px) clamp(24px, 6vw, 100px); overflow: hidden; background: #f1e3e4; }
.occasion-editorial > header { max-width: 1180px; margin-bottom: clamp(80px, 10vw, 150px); display: grid; grid-template-columns: 155px minmax(420px, 1.15fr) minmax(260px, .65fr); align-items: end; gap: clamp(28px, 5vw, 80px); }
.occasion-editorial > header > span { align-self: start; color: var(--wine); font-size: 8px; letter-spacing: .27em; }
.occasion-editorial > header h2 { margin: 0; font: 400 clamp(68px, 8vw, 130px)/.82 Georgia, serif; letter-spacing: -.065em; }
.occasion-editorial > header h2 em { color: var(--wine); }
.occasion-editorial > header p { margin: 0 0 8px; color: #6e5e63; font-size: 14px; line-height: 1.9; }
.occasion-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; gap: 42px; }
.occasion-card { min-width: 0; }
.occasion-card-1 { grid-column: 1 / span 4; }
.occasion-card-2 { grid-column: 5 / span 5; margin-top: 130px; }
.occasion-card-3 { grid-column: 10 / span 3; margin-top: 25px; }
.occasion-image { aspect-ratio: .73; overflow: hidden; background: var(--rose-pale); }
.occasion-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.05s cubic-bezier(.2,.7,.2,1), filter .5s; }
.occasion-card:hover .occasion-image img { transform: scale(1.04); filter: saturate(.9); }
.occasion-copy { padding: 24px 0 0; }
.occasion-copy > span { display: block; color: var(--wine); font-size: 8px; letter-spacing: .24em; text-transform: uppercase; }
.occasion-copy h3 { margin: 27px 0 18px; overflow-wrap: break-word; font: italic 400 clamp(30px, 3.2vw, 50px)/1.02 Georgia, serif; letter-spacing: -.035em; }
.occasion-copy p { max-width: 420px; margin: 0; color: #6f6064; font-size: 12px; line-height: 1.8; }
.occasion-copy strong { margin-top: 27px; padding-bottom: 12px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(33,23,26,.42); font-size: 8px; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; }
.occasion-copy strong svg { width: 19px; height: 19px; transition: transform .3s; }
.occasion-card:hover .occasion-copy strong svg { transform: translate(4px,-4px); }
.form-notice.is-info { border-left-color: #345d75; background: #e9f1f5; }

@media (pointer: fine) {
body, a, summary { cursor: none; }
}

@media (max-width: 1100px) {
.category-editorial-head,
  .vola-women > header { grid-template-columns: 100px minmax(360px,1fr) minmax(220px,320px); }
  .vela-spotlight > a { grid-template-columns: 55% 45%; }
  .site-footer { grid-template-columns: 1.2fr .7fr .9fr; }
  .site-footer address { grid-column: 2 / -1; }
	.contact-details { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.contact-details > a:nth-child(2) { border-right: 0; }

.wordmark-holder { min-width: 160px; }
  .occasion-editorial > header { grid-template-columns: 105px minmax(360px,1fr) minmax(230px,.65fr); }
}

@media (max-width: 1080px) {
.hero-copy { padding-left: 6vw; }
  .hero h1 { font-size: 9.5vw; }
  .hero-art { right: 5vw; }
  .title-line-offset, .hero-lower { margin-left: 5vw; padding-left: 0; }
  .contact-action { width: 60%; }
}

@media (max-width: 900px) {
.cursor-orbit, .page-progress { display: none; }
  .site-header { height: 72px; grid-template-columns: 1fr auto; }
  .desktop-nav, .header-cta { display: none; }
  .hero { min-height: 0; padding-bottom: 90px; }
  .hero::before { background: none; }
  .hero-ghost { top: 34%; left: -6vw; font-size: 46vw; }
  .hero-copy { width: 100%; padding: 85px 26px 0; }
  .hero-kicker { width: 100%; }
  .hero h1 { margin-top: 64px; font-size: clamp(72px, 15vw, 126px); }
  .title-line-offset { margin-left: 12vw; }
  .hero-lower { width: 78%; margin-top: 40px; margin-left: 12vw; }
  .hero-art { width: min(72%, 640px); height: min(78vw, 680px); margin: 70px auto 0; position: relative; right: auto; top: auto; }
  .hero-side-note { display: none; }

  .collection-title { align-items: center; }
  .collection-title h2 { font-size: 13vw; }
  .looks { grid-template-columns: repeat(2,1fr); gap: 110px 30px; }
  .look-card-one { grid-column: 1; }
  .look-card-two { grid-column: 2; margin-top: 130px; }
  .look-card-three { grid-column: 1; margin-top: 0; }
  .atelier { grid-template-columns: 1fr; }
  .atelier-stage { min-height: 760px; }
  .atelier-story { min-height: 0; }
  .atelier-story h2 { font-size: 12vw; }
  .manifesto { min-height: 760px; }
  .manifesto blockquote { font-size: 10vw; }
  .manifesto-mini-card { width: 160px; right: 5vw; }
  .contact-heading { grid-template-columns: 1fr; gap: 55px; }
  .contact h2 { font-size: 13vw; }
  .contact-action { width: 75%; }

  .mobile-toggle { display: block; justify-self: end; position: relative; z-index: 102; }
	.mobile-navigation { width: 100%; min-height: calc(100svh - 72px); padding: 70px 28px; position: absolute; z-index: 100; inset: 100% 0 auto; flex-direction: column; gap: 28px; color: #fff; background: rgba(33,23,26,.985); opacity: 0; visibility: hidden; transform: translateY(-15px); transition: opacity .3s,transform .3s,visibility .3s; }
  .admin-bar .mobile-navigation { min-height: calc(100svh - 104px); }
  .mobile-navigation.is-open { display: flex; opacity: 1; visibility: visible; transform: translateY(0); }
  .mobile-navigation a { display: flex; align-items: baseline; justify-content: space-between; font: 45px Georgia,serif; }
  .mobile-navigation b { color: var(--rose); font: 10px Arial,sans-serif; }
  body.menu-open { overflow: hidden; }
  .audience-section { grid-template-columns: 1fr; }
  .audience-copy h2 { font-size: 12vw; }
  .audience-visual { width: min(78vw,620px); justify-self: end; }
  .page-hero { min-height: 0; grid-template-columns: 45px 1fr; align-content: start; }
  .page-hero-copy { padding-top: 80px; }
  .page-hero-copy h1 { font-size: 14vw; }
  .page-hero-visual { grid-column: 2; width: 60vw; justify-self: center; }
  .catalogue-grid { grid-template-columns: repeat(2,1fr); }
  .compact-cta { grid-template-columns: 1fr auto; }
  .compact-cta > span { grid-column: 1 / -1; }
  .atelier-intro { grid-template-columns: 1fr; }
  .process-grid { grid-template-columns: repeat(2,1fr); }
  .process-grid article:nth-child(2) { border-right: 0; }
  .atelier-collage { grid-template-columns: 1fr 1fr; }
  .collage-small { display: none; }
  .contact-details { grid-template-columns: 1fr; }
  .contact-details > a { min-height: 270px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.17); }
  .contact-visual { grid-template-columns: 1fr; }
  .contact-visual > img { width: min(72vw,620px); }

.wordmark-holder { min-width: 0; }
  .category-editorial-head,
  .vola-women > header { grid-template-columns: 1fr; align-items: start; }
  .category-editorial-head h2,
  .vola-women > header h2 { font-size: 13vw; }
  .category-editorial-head p,
  .vola-women > header p { max-width: 500px; }
  .vela-spotlight > a { grid-template-columns: 1fr; }
  .vela-image { min-height: 720px; }
  .vela-copy { min-height: 0; }
  .category-tile,
  .category-tile:nth-child(n) { grid-column: span 6; margin-top: 0; }
  .category-tile:nth-child(even) { margin-top: 100px; }
  .vola-women figure:nth-child(n) { grid-column: span 6; margin-top: 0; }
  .vola-women figure:nth-child(even) { margin-top: 95px; }
  .model-detail-layout { grid-template-columns: 1fr; }
  .model-detail-image,
  .model-detail-image img { min-height: 0; }
  .model-info-sticky { min-height: 0; position: static; }
  .contact-form-section { grid-template-columns: 1fr; }
	.related-models-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-footer { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-footer address { grid-column: auto; }

.wordmark-holder { min-width: 0; }
  .occasion-editorial > header { grid-template-columns: 1fr; align-items: start; }
  .occasion-editorial > header h2 { font-size: 12.5vw; }
  .occasion-editorial > header p { max-width: 540px; }
  .occasion-card-1 { grid-column: 1 / span 5; }
  .occasion-card-2 { grid-column: 7 / span 6; margin-top: 120px; }
  .occasion-card-3 { grid-column: 3 / span 5; margin-top: 15px; }
}

@media (max-width: 600px) {
body { width: 100%; }
  .site-header { width: 100%; padding-inline: 20px; }
  .top-marquee > div { gap: 25px; }
  .wordmark span { font-size: 22px; }
  .hero { min-height: 0; padding-bottom: 75px; }
  .hero-copy { padding: 58px 21px 0; }
  .hero-kicker span:last-child { display: none; }
  .hero h1 { margin-top: 48px; font-size: clamp(62px, 18vw, 86px); }
  .title-line-offset { margin-left: 7vw; }
  .hero-lower { width: 100%; margin: 35px 0 0; padding-left: 7vw; align-items: flex-start; }
  .hero-lower > p { width: 190px; font-size: 10px; }
  .round-link { width: 97px; height: 97px; padding: 17px; }
  .hero-art { width: 78%; height: min(116vw, 510px); margin-top: 55px; right: auto; top: auto; }
  .hero-photo-shadow { inset: 7% -7% -7% 9%; }
  .floating-label-one { left: -25px; width: 63px; height: 75px; padding: 12px; }
  .floating-label-one strong { font-size: 27px; }
  .floating-label-two { right: -17px; padding: 13px 15px; }
  .hero-coordinates { display: none; }
  .kinetic-band { height: 115px; }
  .kinetic-track { gap: 22px; }
  .kinetic-track span { font-size: 62px; }
  .collection { padding: 95px 21px 110px; }
  .section-top { flex-direction: column; gap: 34px; }
  .section-aside { font-size: 12px; }
  .collection-title { margin: 65px 0 70px; align-items: flex-end; }
  .collection-title h2 { font-size: 16vw; }
  .collection-title > svg { width: 58px; margin: 0; }
  .looks { display: flex; flex-direction: column; gap: 95px; }
  .look-card, .look-card-one, .look-card-two, .look-card-three { width: 93%; margin: 0; }
  .look-card-two { align-self: flex-end; }
  .look-image { aspect-ratio: .76; }
  .look-meta { display: block; padding-right: 0; }
  .look-meta span { display: block; margin-bottom: 13px; }
  .look-meta h3 { width: 100%; margin: 0; font-size: clamp(30px, 9.5vw, 46px); line-height: .98; overflow-wrap: break-word; }
  .look-arrow { width: 50px; height: 50px; right: 14px; bottom: 14px; }
  .collection-end { margin-top: 90px; align-items: flex-start; flex-direction: column; gap: 35px; }
  .line-link { min-width: min(100%,280px); }

  .atelier-stage { min-height: 610px; }
  .atelier-photo-back { width: 46%; height: 48%; right: 7%; }
  .atelier-photo-front { width: 57%; height: 56%; left: 8%; }
  .rotating-seal { width: 105px; height: 105px; }
  .rotating-seal span { width: 85px; left: 10px; top: 12px; }
  .rotating-seal svg { width: 34px; height: 34px; }
  .atelier-story { min-height: 690px; padding: 80px 22px; }
  .atelier-story h2 { margin-top: 58px; font-size: 17vw; }
  .story-body { font-size: 11px; }

  .manifesto { min-height: 0; padding: 100px 21px 170px; align-items: flex-start; }
  .manifesto blockquote { margin-top: 55px; font-size: 13vw; }
  .manifesto blockquote i:nth-child(2), .manifesto blockquote .accent { margin-left: 0; }
  .manifesto-signature { margin: 34px 0 0; font-size: 26px; }
  .manifesto-mini-card { width: 135px; right: 25px; bottom: 28px; }
  .orbit-one { width: 100%; height: auto; aspect-ratio: 1; }
  .orbit-two { width: 64vw; height: 64vw; }

  .contact { min-height: 0; padding: 95px 21px 65px; }
  .contact-heading { gap: 48px; }
  .contact h2 { font-size: 18vw; }
  .contact-action { width: 100%; margin-top: 70px; align-items: flex-start; flex-direction: column; }
  .contact-orb { width: 145px; height: 145px; padding: 28px; }
  .contact-grid { margin-top: 75px; grid-template-columns: 1fr; gap: 32px; }
  .contact-grid p, .contact-grid a { width: auto; overflow-wrap: anywhere; }
  footer { padding: 52px 22px; grid-template-columns: 1fr; gap: 30px; }
  footer > p:last-child { justify-self: start; }

  .audience-section { min-height: auto; padding: 95px 21px; gap: 70px; }
  .audience-copy h2 { font-size: 16vw; }
  .audience-copy > p { font-size: 13px; }
  .audience-visual { width: 88vw; }
  .manifesto-mini-card { display: none; }
  .page-hero { min-height: 0; padding: 45px 21px 80px; grid-template-columns: 25px 1fr; gap: 15px; }
  .page-hero-copy { padding-top: 50px; }
  .page-hero-copy h1 { margin-top: 38px; font-size: 20vw; }
  .page-hero-copy p { margin-left: 0; font-size: 12px; }
  .page-hero-visual { width: 72vw; margin-top: 35px; }
  .catalogue-shell { padding: 75px 21px 110px; }
	.catalogue-toolbar > div { grid-template-columns: 1fr; gap: 12px; }
	.catalogue-toolbar p { margin-top: 0; }
  .catalogue-toolbar nav { justify-content: flex-start; }
  .catalogue-grid { grid-template-columns: 1fr; gap: 85px; }
  .catalogue-grid .look-card:nth-child(n) { width: 94%; margin: 0; }
  .catalogue-grid .look-card:nth-child(even) { justify-self: end; }
  .compact-cta { min-height: 0; padding: 100px 21px; grid-template-columns: 1fr; }
  .compact-cta h2 { font-size: 15vw; }
  .atelier-intro { padding: 95px 21px; gap: 50px; }
  .atelier-intro h2 { font-size: 16vw; }
  .process-grid { padding: 0 21px 95px; grid-template-columns: 1fr; }
  .process-grid article { min-height: 270px; border-right: 0; }
  .process-grid h3 { margin-top: 60px; }
  .atelier-collage { min-height: auto; padding: 90px 21px; grid-template-columns: 1fr; }
  .collage-large { height: 560px; }
  .collage-copy blockquote { font-size: 27px; }
  .contact-page-hero { min-height: 0; padding: 100px 21px; align-items: flex-start; flex-direction: column; }
  .contact-page-title h1 { font-size: 18vw; }
  .contact-page-title p { margin-left: 0; font-size: 12px; }
  .contact-page-hero .contact-orb { width: 150px; height: 150px; }
  .contact-details > a { padding: 38px 22px; }
  .contact-details h2 { margin-top: 55px; font-size: 23px; }
  .contact-visual { min-height: auto; padding: 90px 21px; gap: 75px; }
  .contact-visual > img { width: 94%; }
  .contact-visual h2 { font-size: 15vw; }
  .prose-page { padding: 100px 21px; }
  .prose-page h1 { font-size: 17vw; }
  .collection-title h2,
  .audience-copy h2,
  .atelier-story h2,
  .manifesto blockquote,
  .contact h2,
  .compact-cta h2,
  .atelier-intro h2,
  .contact-page-title h1,
  .contact-visual h2 { overflow-wrap: break-word; }

.title-line { overflow: visible; }
  .hero h1 { font-size: clamp(54px, 15.5vw, 72px); line-height: .84; overflow-wrap: normal; }
  .hero-lower > p { width: min(210px,58vw); font-size: 11px; }
  .category-editorial { padding: 95px 21px 115px; }
  .category-editorial-head { margin-bottom: 75px; }
  .category-editorial-head h2,
  .vola-women > header h2 { font-size: 16vw; }
  .category-editorial-head p { font-size: 13px; }
  .vela-spotlight { margin-inline: 0; margin-bottom: 105px; }
  .vela-image { min-height: 540px; }
  .vela-copy { min-height: 0; padding: 60px 24px 72px; }
  .vela-copy h3 { font-size: 14vw; overflow-wrap: normal; }
  .category-grid { display: flex; flex-direction: column; gap: 90px; }
  .category-tile,
  .category-tile:nth-child(n) { width: 94%; margin: 0; }
  .category-tile:nth-child(even) { align-self: flex-end; }
  .category-caption { grid-template-columns: 35px 1fr auto; }
  .category-caption h3 { font-size: 10vw; }
  .category-caption small { display: none; }
  .vola-women { padding: 95px 21px 120px; }
  .vola-women > header { margin-bottom: 70px; }
  .vola-women-grid { display: flex; flex-direction: column; gap: 55px; }
  .vola-women figure:nth-child(n) { width: 88%; margin: 0; }
  .vola-women figure:nth-child(even) { align-self: flex-end; }
  .model-detail-image.is-primary img { min-height: 0; }
  .model-info-sticky { padding: 70px 21px; }
  .model-info-sticky h1 { font-size: clamp(57px, 17vw, 80px); line-height: .88; }
  .model-info-sticky .model-lead { font-size: 18px; }
  .model-choice-block li { font-size: 13px; }
  .model-info-sticky .primary-action { width: 100%; min-width: 0; }
	.related-models { padding: 90px 21px 110px; }
	.related-models > header { align-items: flex-start; flex-direction: column; }
	.related-models > header h2 { font-size: 15vw; }
	.related-models-grid { grid-template-columns: 1fr; gap: 80px; }
  .contact-form-section { padding: 90px 21px; gap: 75px; }
  .contact-form-intro h2 { font-size: 15vw; }
  .vola-request-form { grid-template-columns: 1fr; }
  .vola-request-form .form-message { grid-column: 1; }
  .vola-request-form .primary-action { width: 100%; min-width: 0; }
  .site-footer { min-height: 0; padding: 58px 22px 34px; grid-template-columns: 1fr; gap: 38px; }
  .site-footer address { grid-column: auto; }
  .footer-legal { grid-column: 1; align-items: flex-start; flex-direction: column; }

.brand-logo-link span { font-size: 23px; }
  .wordmark-holder .custom-logo-link { width: min(100%,155px); }
  .wordmark-holder .custom-logo { max-height: 48px; }
  .occasion-editorial { padding: 95px 21px 120px; }
  .occasion-editorial > header { margin-bottom: 75px; }
  .occasion-editorial > header h2 { font-size: 15vw; overflow-wrap: break-word; }
  .occasion-editorial > header p { font-size: 13px; }
  .occasion-grid { display: flex; flex-direction: column; gap: 90px; }
  .occasion-card:nth-child(n) { width: 92%; margin: 0; }
  .occasion-card:nth-child(even) { align-self: flex-end; }
  .occasion-copy h3 { font-size: 10.5vw; }
}

@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
  .admin-bar .mobile-navigation { min-height: calc(100svh - 118px); }
}

@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
  .intro-curtain, .cursor-orbit { display: none; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.top-marquee > div, .kinetic-track { animation: none !important; transform: none !important; }
  .motion-ready [data-reveal], .motion-ready .look-card[data-reveal], .motion-ready .atelier-photo[data-reveal] { opacity: 1; transform: none; }
  .title-line i { transform: none; }
}
