/* =====================================================================
   Landing v2 — "Atelier": cinematic studio landing page.
   Deep charcoal, brass light, paper surfaces. Fraunces serif display
   over Archivo grotesque, mono metadata. Scoped to body.landing-v2 so
   the shared site components are untouched elsewhere.
   
   KILL ALL GREEN - override every spruce/lichen reference from site.css
   ===================================================================== */

:root {
  /* Landing v2 palette */
  --l-ink:     #0C0B09;
  --l-ink-2:   #14120E;
  --l-ink-3:   #1F1B15;
  --l-line:    rgba(201, 163, 92, .16);
  --l-line-2:  rgba(201, 163, 92, .32);
  --l-brass:   #C9A35C;
  --l-brass-2: #E3C07F;
  --l-brass-3: #F0D9A8;
  --l-paper:   #F2EFE7;
  --l-paper-2: #E8E3D6;
  --l-text:    #EAE5D8;
  --l-muted:   #9C9484;
  --l-ink-text: #17130D;
  --l-ink-muted: #5C5546;
}

/* =====================================================================
   KILL ALL GREEN - Override every green element from site.css
   ===================================================================== */
.landing-v2 {
  /* Override site.css root tokens that use green */
  --spruce: var(--l-brass);
  --spruce-ink: var(--l-brass-2);
  --lichen: var(--l-brass);
  --focus: var(--l-brass);
  
  /* Type */
  --l-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
  --l-sans:  'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --l-mono:  'IBM Plex Mono', ui-monospace, Menlo, monospace;
  --body:    var(--l-sans);

  background: var(--l-ink);
  color: var(--l-text);
}

/* Override every green element explicitly */
.landing-v2 ::selection { background: var(--l-brass); color: var(--l-ink); }
.landing-v2 .skip-link { background: var(--l-brass); color: var(--l-ink); }
.landing-v2 .eyebrow--light { color: var(--l-brass); }
.landing-v2 .hero { --focus: var(--l-brass); }
.landing-v2 .hero__trust { background: var(--l-brass); color: var(--l-ink); }
.landing-v2 .wordmark__mark path { fill: var(--l-brass) !important; }
.landing-v2 .wordmark__mark rect { fill: var(--l-brass) !important; }
.landing-v2 .lang-switch__on { background: var(--l-brass); color: var(--l-ink); }
.landing-v2 .nav a::after { background: var(--l-brass); }
.landing-v2 .step:hover .step__index { color: var(--l-brass); -webkit-text-stroke-color: var(--l-brass); }
.landing-v2 .qa[open] summary::after { color: var(--l-brass); }
.landing-v2 .qa summary:hover { color: var(--l-brass); }
.landing-v2 .footer__status { color: var(--l-brass); }
.landing-v2 .pulse { background: var(--l-brass); box-shadow: 0 0 0 0 rgba(201, 163, 92, .55); }
.landing-v2 .pulse::before { background: var(--l-brass); }
.landing-v2 .req { color: var(--l-brass); }
.landing-v2 .alert { border-left-color: var(--l-brass); }
.landing-v2 .alert--ok { border-left-color: var(--l-brass); }
.landing-v2 .check label { color: var(--l-muted); }
.landing-v2 .check__note { color: var(--l-muted); }

/* Header */
.landing-v2 .wordmark__text { display: inline; }
.landing-v2 .lang-switch { display: inline-flex; }
.landing-v2 .masthead__cta {
  background: linear-gradient(135deg, var(--l-brass-2), var(--l-brass));
  color: var(--l-ink);
  border-color: transparent;
}
.landing-v2 .masthead__cta:hover { background: var(--l-brass-3); color: var(--l-ink); }

.landing-v2 .masthead {
  background: rgba(12, 11, 9, .82);
  border-bottom-color: transparent;
  color: var(--l-text);
  --focus: var(--l-brass);
}
.landing-v2 .masthead.is-stuck {
  background: rgba(12, 11, 9, .94);
  border-bottom-color: var(--l-line);
  color: var(--l-text);
  --focus: var(--l-brass);
}
.landing-v2 .masthead__inner { gap: .9rem; }
.landing-v2 .nav { gap: .7rem; }
.landing-v2 .nav a { font-size: .74rem; }

/* Buttons */
.landing-v2 .lbtn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: 1rem 1.7rem;
  font-family: var(--l-sans);
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-decoration: none;
  border: 1px solid transparent;
  transition: transform .35s var(--ease), background .35s var(--ease),
              color .35s var(--ease), border-color .35s var(--ease),
              box-shadow .35s var(--ease);
}
.landing-v2 .lbtn:hover { transform: translateY(-2px); }

.landing-v2 .lbtn--brass {
  background: linear-gradient(135deg, var(--l-brass-2), var(--l-brass));
  color: var(--l-ink);
  box-shadow: 0 .9rem 2.4rem rgba(201, 163, 92, .22);
}
.landing-v2 .lbtn--brass:hover { box-shadow: 0 1.2rem 3rem rgba(201, 163, 92, .3); }

.landing-v2 .lbtn--ghost {
  border-color: var(--l-line-2);
  color: var(--l-text);
  background: transparent;
}
.landing-v2 .lbtn--ghost:hover { border-color: var(--l-brass); color: var(--l-brass-2); }

.landing-v2 .lbtn--ink { background: var(--l-ink); color: var(--l-brass-2); }

.landing-v2 .lbtn__arrow { font-family: var(--l-mono); transition: transform .35s var(--ease); }
.landing-v2 .lbtn:hover .lbtn__arrow { transform: translateX(4px); }

.lv2 { scroll-margin-top: calc(var(--header-h) + .5rem); }

.landing-v2 .wrap { max-width: calc(80rem + var(--gutter) * 2); }

/* ---------------------------------------------------------------------
   Cinematic hero — a canvas assembling itself
   --------------------------------------------------------------------- */
.cine {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding-top: clamp(2rem, 5vw, 3rem);
  padding-bottom: 0.5rem;
  overflow: hidden;
  background:
    radial-gradient(120% 90% at 78% 8%, rgba(201, 163, 92, .09), transparent 55%),
    radial-gradient(90% 70% at 8% 100%, rgba(201, 163, 92, .05), transparent 60%),
    var(--l-ink);
  color: var(--l-text);
}

/* Blueprint grid that never fully leaves — the studio's signature. */
.cine__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(201, 163, 92, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201, 163, 92, .05) 1px, transparent 1px);
  background-size: 4.5rem 4.5rem;
  mask-image: radial-gradient(120% 100% at 50% 0%, #000 30%, transparent 85%);
  -webkit-mask-image: radial-gradient(120% 100% at 50% 0%, #000 30%, transparent 85%);
}

/* Light sweeping through, as if off a glass surface. */
.cine__beam {
  position: absolute;
  top: -30%;
  left: -20%;
  width: 55%;
  height: 170%;
  pointer-events: none;
  background: linear-gradient(100deg,
    transparent 0%,
    rgba(240, 217, 168, .045) 35%,
    rgba(240, 217, 168, .12) 50%,
    rgba(240, 217, 168, .045) 65%,
    transparent 100%);
  transform: skewX(-14deg);
  animation: beam-sweep 11s ease-in-out infinite alternate;
}
@keyframes beam-sweep {
  from { translate: 0 0; }
  to   { translate: 165% 0; }
}

/* Cursor-following glow (JS sets --mx / --my). */
.cine__glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(34rem 34rem at var(--mx, 70%) var(--my, 30%),
    rgba(201, 163, 92, .10), transparent 70%);
}

.cine__grid {
  position: relative;
  display: grid;
  gap: clamp(2.5rem, 5vw, 4rem);
  align-items: center;
}
@media (min-width: 64rem) {
  .cine__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
}

.cine__copy .lv2-eyebrow { margin-bottom: 1.8rem; }

.cine__title {
  font-family: var(--l-serif);
  font-variation-settings: normal;
  font-weight: 350;
  font-size: clamp(2.6rem, 1.4rem + 5.2vw, 5.4rem);
  line-height: 1.02;
  letter-spacing: -0.015em;
}
.cine__title em {
  font-style: italic;
  font-weight: 400;
  color: var(--l-brass-2);
}

.cine__lede {
  margin-top: 1.6rem;
  max-width: 52ch;
  font-size: clamp(1.02rem, .96rem + .35vw, 1.2rem);
  line-height: 1.7;
  color: var(--l-muted);
}

.cine__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem;
  margin-top: 2.4rem;
}

.cine__assurances {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.8rem;
  margin-top: 2.2rem;
  font-family: var(--l-mono);
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--l-muted);
}
.cine__assurances li { position: relative; padding-left: 1.05rem; }
.cine__assurances li::before {
  content: "";
  position: absolute;
  left: 0; top: .42em;
  width: .42rem; height: .42rem;
  background: var(--l-brass);
}

/* --- The assembling canvas ------------------------------------------ */
.cine__stage { position: relative; }

.canvas {
  position: relative;
  border: 1px solid var(--l-line-2);
  background: rgba(20, 18, 14, .72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 3rem 6rem rgba(0, 0, 0, .55), 0 0 0 1px rgba(0,0,0,.4);
  padding: 0 clamp(1rem, 2.5vw, 1.6rem) clamp(1.2rem, 2.5vw, 1.6rem);
}

/* Every fragment snaps into place, staggered by --d (set per element below). */
.js .frag {
  opacity: 0;
  animation: frag-in .8s var(--ease) both;
  animation-delay: var(--d, 0s);
}
.canvas__bar  { --d: .15s; }
.canvas__nav  { --d: .45s; }
.canvas__kick { --d: .8s; }
.canvas__name { --d: 1s; }
.canvas__rule:nth-of-type(2) { --d: 1.25s; }
.canvas__rule:nth-of-type(3) { --d: 1.4s; }
.canvas__btn  { --d: 1.6s; }
.canvas__img  { --d: 1.8s; }
.canvas__card:nth-child(1) { --d: 2s; }
.canvas__card:nth-child(2) { --d: 2.15s; }
.canvas__card:nth-child(3) { --d: 2.3s; }
@keyframes frag-in {
  from { opacity: 0; transform: translateY(1.4rem) scale(.985); }
  to   { opacity: 1; transform: none; }
}

.canvas__bar {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin-inline: calc(clamp(1rem, 2.5vw, 1.6rem) * -1);
  padding: .7rem clamp(1rem, 2.5vw, 1.6rem);
  border-bottom: 1px solid var(--l-line);
}
.canvas__bar i {
  width: .55rem; height: .55rem;
  border-radius: 50%;
  background: var(--l-ink-3);
  border: 1px solid var(--l-line-2);
}
.canvas__url {
  margin-left: .8rem;
  flex: 1;
  max-width: 15rem;
  padding: .28rem .8rem;
  border: 1px solid var(--l-line);
  border-radius: 99rem;
  font-family: var(--l-mono);
  font-size: .64rem;
  letter-spacing: .06em;
  color: var(--l-muted);
  white-space: nowrap;
  overflow: hidden;
}

.canvas__nav {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding-block: 1rem;
  border-bottom: 1px solid var(--l-line);
}
.canvas__logo {
  width: .9rem; height: .9rem;
  background: linear-gradient(135deg, var(--l-brass-2), var(--l-brass));
  border-radius: 2px;
  margin-right: auto;
}
.canvas__link {
  width: clamp(1.8rem, 4vw, 2.8rem); height: .45rem;
  background: var(--l-ink-3);
  border-radius: 99rem;
}
.canvas__cta {
  width: clamp(2.6rem, 5vw, 3.6rem); height: 1.1rem;
  border: 1px solid var(--l-brass);
  border-radius: 99rem;
}

.canvas__hero {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(1rem, 2.5vw, 1.6rem);
  padding-block: clamp(1.4rem, 3vw, 2.2rem);
  align-items: center;
}
.canvas__kick {
  width: 38%; height: .4rem;
  background: var(--l-brass);
  opacity: .85;
  border-radius: 99rem;
  margin-bottom: .9rem;
}
.canvas__name {
  font-family: var(--l-serif);
  font-variation-settings: normal;
  font-weight: 400;
  font-size: clamp(1.4rem, 1rem + 2vw, 2.2rem);
  line-height: 1.1;
  color: var(--l-text);
}
.canvas__name em { font-style: italic; color: var(--l-brass-2); }
.canvas__rule {
  height: .42rem;
  background: var(--l-ink-3);
  border-radius: 99rem;
  margin-top: .8rem;
}
.canvas__rule:nth-of-type(2) { width: 82%; }
.canvas__rule:nth-of-type(3) { width: 58%; }
.canvas__btn {
  display: inline-block;
  margin-top: 1.1rem;
  padding: .5rem 1rem;
  background: linear-gradient(135deg, var(--l-brass-2), var(--l-brass));
  color: var(--l-ink);
  font-family: var(--l-mono);
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  border-radius: 99rem;
}
.canvas__img {
  aspect-ratio: 4 / 4.6;
  background:
    radial-gradient(120% 100% at 20% 0%, rgba(240, 217, 168, .5), transparent 55%),
    linear-gradient(160deg, #6b5626, #2a2111 60%, #171208);
  border: 1px solid var(--l-line-2);
  filter: grayscale(1) brightness(.55);
}
.js .canvas__img { animation: frag-in .8s var(--ease) both, colour-wash 1.6s var(--ease) both; animation-delay: var(--d, 0s), 2.1s; }
@keyframes colour-wash {
  to { filter: grayscale(0) brightness(1); }
}

.canvas__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .7rem;
}
.canvas__card {
  border: 1px solid var(--l-line);
  padding: .8rem;
}
.canvas__card b {
  display: block;
  width: 55%; height: .42rem;
  background: var(--l-ink-3);
  border-radius: 99rem;
}
.canvas__card span {
  display: block;
  width: 80%; height: .34rem;
  margin-top: .55rem;
  background: rgba(156, 148, 132, .25);
  border-radius: 99rem;
}

/* Resolving layout grid, overlaid then dissolving. */
.canvas__gridlines {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(201, 163, 92, .14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201, 163, 92, .14) 1px, transparent 1px);
  background-size: 25% 25%;
  opacity: .8;
}
.js .canvas__gridlines { animation: grid-resolve 2.4s var(--ease) both; animation-delay: 1.4s; }
@keyframes grid-resolve { to { opacity: 0; } }

/* Floating code fragments around the canvas. */
.chip {
  position: absolute;
  padding: .4rem .75rem;
  border: 1px solid var(--l-line-2);
  background: rgba(12, 11, 9, .8);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  font-family: var(--l-sans);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--l-brass-2);
  white-space: nowrap;
  pointer-events: none;
  z-index: 2;
}
.chip--1 { top: -1.1rem; left: 8%; }
.chip--2 { top: 24%; right: -1.4rem; color: var(--l-muted); }
.chip--3 { bottom: 12%; left: -1.6rem; }
.chip--4 { bottom: -1.1rem; right: 14%; color: var(--l-muted); }

.cine__scroll {
  position: absolute;
  left: 50%;
  bottom: 1.4rem;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  font-family: var(--l-mono);
  font-size: .62rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--l-muted);
  pointer-events: none;
}
.cine__scroll::after {
  content: "";
  width: 1px; height: 2.6rem;
  background: linear-gradient(var(--l-brass), transparent);
  animation: scroll-pulse 2.2s ease-in-out infinite;
}
@keyframes scroll-pulse {
  from { opacity: .3; }
  to   { opacity: 1; }
}

@media (max-width: 63.98rem) {
  .cine { min-height: 0; padding-bottom: 2.5rem; }
  .cine__stage, .cine__scroll { display: none; }
}

/* ---------------------------------------------------------------------
   Proof strip
   --------------------------------------------------------------------- */
.lv2-proof {
  border-block: 1px solid var(--l-line);
  background: var(--l-ink-2);
  padding-block: clamp(1.5rem, 3vw, 2.5rem);
}
.lv2-proof__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.lv2-proof__grid li {
  padding: 1.9rem 1.2rem;
  border-left: 1px solid var(--l-line);
}
.lv2-proof__grid li:nth-child(odd) { border-left: 0; padding-left: 0; }
.lv2-proof__grid strong {
  display: block;
  font-family: var(--l-serif);
  font-variation-settings: normal;
  font-weight: 400;
  font-size: clamp(1.7rem, 1.2rem + 2vw, 2.6rem);
  color: var(--l-brass-2);
  line-height: 1;
}
.lv2-proof__grid span {
  display: block;
  margin-top: .55rem;
  font-family: var(--l-mono);
  font-size: .82rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--l-muted);
  line-height: 1.5;
}
@media (min-width: 52rem) {
  .lv2-proof__grid { grid-template-columns: repeat(4, 1fr); }
  .lv2-proof__grid li:nth-child(odd) { border-left: 1px solid var(--l-line); padding-left: 1.4rem; }
  .lv2-proof__grid li:first-child { border-left: 0; padding-left: 0; }
}

/* Shared heading block */
.lv2-head {
  padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
  max-width: 60rem;
  color: inherit;
}

.lv2-eyebrow {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  margin: 0 0 1.4rem;
  font-family: var(--l-mono);
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.lv2-eyebrow::before {
  content: "";
  width: 2.2rem; height: 1px;
  margin-top: .55em;
  background: currentColor;
  opacity: .7;
  flex: none;
}
.lv2-eyebrow--brass { color: var(--l-brass); }
.lv2-eyebrow--ink   { color: #8A6A2F; }

.lv2-title {
  font-family: var(--l-serif);
  font-variation-settings: normal;
  font-weight: 400;
  font-size: clamp(2rem, 1.3rem + 3vw, 3.4rem);
  line-height: 1.08;
  letter-spacing: -0.01em;
  max-width: 22ch;
  color: inherit;
}
.lv2-title em { font-style: italic; font-weight: 350; }
.lv2-title .brass { color: var(--l-brass); }

.lv2-lede {
  max-width: 56ch;
  font-size: clamp(1.02rem, .97rem + .3vw, 1.18rem);
  line-height: 1.7;
}

/* ---------------------------------------------------------------------
   Paper sections (process, faq)
   --------------------------------------------------------------------- */
.lv2-paper {
  background:
    radial-gradient(140% 100% at 50% 0%, rgba(201, 163, 92, .07), transparent 50%),
    var(--l-paper);
  color: var(--l-ink-text);
  padding-block: clamp(2.5rem, 5vw, 4rem);
}
.lv2-paper--2 { background: var(--l-paper-2); }
.lv2-paper .lv2-lede { color: var(--l-ink-muted); margin-top: 1.2rem; }

/* ---------------------------------------------------------------------
   Industries — the mood-switching section
   --------------------------------------------------------------------- */
.industries {
  --m-bg: #131414;
  --m-ink: #EDE9DF;
  --m-muted: rgba(237, 233, 223, .62);
  --m-accent: #E8A33D;
  --m-card-line: rgba(237, 233, 223, .18);
  --m-radius: 2px;
  --m-headline-font: var(--l-sans);
  --m-headline-weight: 800;
  --m-headline-style: normal;
  --m-headline-transform: uppercase;
  --m-headline-spacing: -0.015em;
  --m-texture: linear-gradient(rgba(232, 163, 61, .06) 1px, transparent 1px),
               linear-gradient(90deg, rgba(232, 163, 61, .06) 1px, transparent 1px);
  --m-texture-size: 3rem 3rem;

  position: relative;
  background: var(--m-bg);
  color: var(--m-ink);
  padding-block: clamp(2.5rem, 5vw, 4rem);
  transition: background .8s var(--ease), color .8s var(--ease);
  overflow: hidden;
}
.industries::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--m-texture);
  background-size: var(--m-texture-size);
  opacity: 1;
  transition: opacity .8s var(--ease);
  pointer-events: none;
}
.industries > .wrap { position: relative; }

.industries[data-mood="salon"] {
  --m-bg: #F4EDE3;
  --m-ink: #3E2D27;
  --m-muted: rgba(62, 45, 39, .68);
  --m-accent: #B07D5F;
  --m-card-line: rgba(62, 45, 39, .2);
  --m-radius: 9rem 9rem 2px 2px;
  --m-headline-font: var(--l-serif);
  --m-headline-weight: 350;
  --m-headline-style: italic;
  --m-headline-transform: none;
  --m-headline-spacing: 0em;
  --m-texture: radial-gradient(rgba(176, 125, 95, .12) 1px, transparent 1px);
  --m-texture-size: 1.4rem 1.4rem;
}
.industries[data-mood="hospitality"] {
  --m-bg: #101F17;
  --m-ink: #EFE6D2;
  --m-muted: rgba(239, 230, 210, .62);
  --m-accent: #D4AF6A;
  --m-card-line: rgba(212, 175, 106, .3);
  --m-radius: 1rem;
  --m-headline-font: var(--l-serif);
  --m-headline-weight: 500;
  --m-headline-style: normal;
  --m-headline-transform: none;
  --m-headline-spacing: .02em;
  --m-texture: radial-gradient(rgba(212, 175, 106, .09) 1px, transparent 1.5px);
  --m-texture-size: 2.2rem 2.2rem;
}

.industries .lv2-eyebrow { color: var(--m-accent); transition: color .8s var(--ease); }
.industries .lv2-title { color: var(--m-ink); transition: color .8s var(--ease); }
.industries .lv2-lede { color: var(--m-muted); transition: color .8s var(--ease); }

.industries__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.industries__tab {
  appearance: none;
  cursor: pointer;
  padding: .75rem 1.35rem;
  border: 1px solid var(--m-card-line);
  border-radius: 99rem;
  background: transparent;
  color: var(--m-muted);
  font-family: var(--l-mono);
  font-size: .8rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: all .45s var(--ease);
}
.industries__tab:hover { color: var(--m-ink); border-color: var(--m-accent); }
.industries__tab[aria-selected="true"] {
  background: var(--m-accent);
  border-color: var(--m-accent);
  color: var(--m-bg);
  font-weight: 500;
}

.mood {
  display: grid;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: center;
}
@media (min-width: 56rem) {
  .mood { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
}
.mood[hidden] { display: none; }
.mood:not([hidden]) { animation: mood-in .7s var(--ease) both; }
@keyframes mood-in {
  from { opacity: 0; transform: translateY(1.2rem); }
  to   { opacity: 1; transform: none; }
}

.mood__frame {
  margin: 0;
  border: 1px solid var(--m-card-line);
  border-radius: var(--m-radius);
  overflow: hidden;
  transition: border-color .8s var(--ease), border-radius .8s var(--ease);
}
.mood__frame img {
  width: 100%;
  aspect-ratio: 4 / 4.4;
  object-fit: cover;
}
.mood__frame figcaption {
  padding: .8rem 1.1rem;
  border-top: 1px solid var(--m-card-line);
  font-family: var(--l-mono);
  font-size: .76rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--m-muted);
  transition: color .8s var(--ease), border-color .8s var(--ease);
}

.mood__headline {
  font-family: var(--m-headline-font);
  font-variation-settings: normal;
  font-weight: var(--m-headline-weight);
  font-style: var(--m-headline-style);
  text-transform: var(--m-headline-transform);
  letter-spacing: var(--m-headline-spacing);
  font-size: clamp(1.9rem, 1.2rem + 3vw, 3.1rem);
  line-height: 1.06;
  color: var(--m-ink);
  transition: color .8s var(--ease);
}
.mood__body {
  margin-top: 1.3rem;
  max-width: 52ch;
  font-size: 1.02rem;
  line-height: 1.7;
  color: var(--m-muted);
  transition: color .8s var(--ease);
}
.mood__points {
  margin-top: 1.8rem;
  display: grid;
  gap: 0;
  border-top: 1px solid var(--m-card-line);
  transition: border-color .8s var(--ease);
}
.mood__points li {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  padding: .95rem 0;
  border-bottom: 1px solid var(--m-card-line);
  font-size: .98rem;
  transition: border-color .8s var(--ease);
}
.mood__points li i {
  font-style: normal;
  font-family: var(--l-mono);
  font-size: .68rem;
  color: var(--m-accent);
  transition: color .8s var(--ease);
}

.industries__note {
  margin-top: clamp(2.5rem, 5vw, 4rem);
  font-family: var(--l-serif);
  font-variation-settings: normal;
  font-style: italic;
  font-weight: 350;
  font-size: clamp(1.15rem, 1rem + .8vw, 1.5rem);
  color: var(--m-ink);
  max-width: 46ch;
  transition: color .8s var(--ease);
}

/* ---------------------------------------------------------------------
   Pricing (ink)
   --------------------------------------------------------------------- */
.lv2-pricing {
  background:
    radial-gradient(100% 80% at 50% 0%, rgba(201, 163, 92, .06), transparent 55%),
    var(--l-ink);
  color: var(--l-text);
  padding-block: clamp(2.5rem, 5vw, 4rem);
  border-top: 1px solid var(--l-line);
}
.lv2-pricing .lv2-lede { color: var(--l-muted); margin-top: 1.2rem; }

.price-tiers {
  display: grid;
  gap: 1.1rem;
  align-items: stretch;
}
@media (min-width: 56rem) {
  .price-tiers { grid-template-columns: repeat(3, 1fr); }
}
.price {
  position: relative;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--l-line);
  background: rgba(20, 18, 14, .6);
  padding: 2.1rem 1.7rem;
  transition: transform .5s var(--ease), border-color .5s var(--ease);
}
.price:hover { transform: translateY(-.35rem); border-color: var(--l-line-2); }
.price--featured {
  border-color: var(--l-brass);
  background: linear-gradient(180deg, rgba(201, 163, 92, .09), rgba(20, 18, 14, .6) 45%);
}
.price__badge {
  position: absolute;
  top: 0; right: 1.4rem;
  translate: 0 -50%;
  margin: 0;
  padding: .3rem .8rem;
  background: linear-gradient(135deg, var(--l-brass-2), var(--l-brass));
  color: var(--l-ink);
  font-family: var(--l-mono);
  font-size: .62rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.price__name {
  font-family: var(--l-serif);
  font-variation-settings: normal;
  font-weight: 450;
  font-size: 1.4rem;
}
.price--featured .price__name { margin-top: .6rem; }
.price__price {
  margin-top: 1rem;
  font-family: var(--l-serif);
  font-variation-settings: normal;
  font-weight: 350;
  font-size: clamp(2rem, 1.5rem + 2vw, 2.7rem);
  color: var(--l-brass-2);
  line-height: 1;
}
.price__for {
  margin-top: .9rem;
  font-size: .95rem;
  line-height: 1.6;
  color: var(--l-muted);
}
.price__items {
  margin-top: 1.5rem;
  padding-top: 1.3rem;
  border-top: 1px solid var(--l-line);
  display: grid;
  gap: .6rem;
  font-size: .93rem;
  color: var(--l-text);
}
.price__items li { position: relative; padding-left: 1.15rem; }
.price__items li::before {
  content: "";
  position: absolute;
  left: 0; top: .5em;
  width: .4rem; height: .4rem;
  background: var(--l-brass);
}
.price__cta { margin-top: auto; padding-top: 1.7rem; }
.price__cta .lbtn { width: 100%; justify-content: center; }

.lv2-pricing__note {
  margin-top: 2.5rem;
  font-family: var(--l-mono);
  font-size: .86rem;
  letter-spacing: .06em;
  line-height: 1.7;
  color: var(--l-muted);
  max-width: 62ch;
}

/* ---------------------------------------------------------------------
   Process (paper)
   --------------------------------------------------------------------- */
.steps2 {
  display: grid;
  gap: 2.2rem;
}
@media (min-width: 56rem) {
  .steps2 { grid-template-columns: repeat(4, 1fr); gap: 1.4rem; }
}
.steps2 li {
  position: relative;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(23, 19, 13, .25);
}
.steps2 li::before {
  content: "";
  position: absolute;
  top: -1px; left: 0;
  width: 2.6rem; height: 1px;
  background: var(--l-brass);
}
.steps2__no {
  font-family: var(--l-mono);
  font-size: .72rem;
  letter-spacing: .18em;
  color: #8A6A2F;
}
.steps2 h3 {
  margin-top: 1rem;
  font-family: var(--l-serif);
  font-variation-settings: normal;
  font-weight: 450;
  font-size: 1.35rem;
  line-height: 1.15;
}
.steps2 p {
  margin-top: .8rem;
  font-size: .95rem;
  line-height: 1.65;
  color: var(--l-ink-muted);
}

/* ---------------------------------------------------------------------
   Brass banner
   --------------------------------------------------------------------- */
.lv2-banner {
  background: linear-gradient(120deg, var(--l-brass-2), var(--l-brass) 60%, #B08A45);
  color: var(--l-ink);
  padding-block: clamp(2rem, 4vw, 3rem);
}
.lv2-banner__inner {
  display: grid;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 56rem) {
  .lv2-banner__inner { grid-template-columns: 1fr auto; }
}
.lv2-banner .lv2-eyebrow { color: rgba(12, 11, 9, .65); margin-bottom: 1rem; }
.lv2-banner h2 {
  font-family: var(--l-serif);
  font-variation-settings: normal;
  font-weight: 420;
  font-size: clamp(1.7rem, 1.2rem + 2.4vw, 2.9rem);
  line-height: 1.12;
  max-width: 26ch;
}
.lv2-banner h2 em { font-style: italic; }

/* ---------------------------------------------------------------------
   FAQ (paper)
   --------------------------------------------------------------------- */
.lv2-faq__grid {
  display: grid;
  gap: 2.5rem;
}
@media (min-width: 56rem) {
  .lv2-faq__grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
}
.landing-v2 .qa {
  border-top: 1px solid rgba(23, 19, 13, .18);
}
.landing-v2 .qa summary {
  font-family: var(--l-serif);
  font-variation-settings: normal;
  font-weight: 450;
  font-size: 1.15rem;
  color: var(--l-ink-text);
}
.landing-v2 .qa__body p { color: var(--l-ink-muted); }

/* ---------------------------------------------------------------------
   Contact (ink)
   --------------------------------------------------------------------- */
.lv2-contact {
  background:
    radial-gradient(110% 90% at 85% 0%, rgba(201, 163, 92, .08), transparent 55%),
    var(--l-ink);
  color: var(--l-text);
  border-top: 1px solid var(--l-line);
  padding-block: clamp(2.5rem, 5vw, 4rem);
}
.lv2-contact .lv2-lede { color: var(--l-muted); margin-top: 1.2rem; }

.lv2-contact__grid {
  display: grid;
  gap: 3rem;
}
@media (min-width: 56rem) {
  .lv2-contact__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 4rem; }
}

/* Restyle the shared form components on the dark surface. */
.landing-v2 .form { background: transparent; }
.landing-v2 .form label { color: var(--l-text); }
.landing-v2 .req { color: var(--l-brass); }
.landing-v2 .check input { accent-color: var(--l-brass); }
.landing-v2 .check__note { color: var(--l-muted); }
.landing-v2 .check label { color: var(--l-muted); }
.landing-v2 .form__note { color: var(--l-muted); }
.landing-v2 .alert { background: var(--l-ink-2); border-left-color: var(--l-brass); }
.landing-v2 .alert--ok { border-left-color: var(--l-brass); }
.landing-v2 .alert--bad { border-left-color: #E0715A; }

.landing-v2 .form input[type="text"],
.landing-v2 .form input[type="email"],
.landing-v2 .form textarea {
  background: rgba(242, 239, 231, .05);
  border: 1px solid var(--l-line-2);
  color: var(--l-text);
}

.landing-v2 .btn--solid {
  background: linear-gradient(135deg, var(--l-brass-2), var(--l-brass));
  color: var(--l-ink);
  border-color: transparent;
}
.landing-v2 .btn--solid:hover { background: var(--l-brass-3); }
.landing-v2 .btn--ghost {
  border-color: var(--l-line-2);
  color: var(--l-text);
}
.landing-v2 .btn--ghost:hover { border-color: var(--l-brass); color: var(--l-brass-2); }

.lv2-contact__aside .aside-block {
  border-top: 1px solid var(--l-line);
  padding-block: 1.4rem;
}
.lv2-contact__aside .aside-block h3 {
  font-family: var(--l-mono);
  font-variation-settings: normal;
  font-weight: 500;
  font-size: .78rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--l-brass);
  margin-bottom: .6rem;
}
.lv2-contact__aside .aside-block p { color: var(--l-text); }
.lv2-contact__aside .aside-block a { color: var(--l-brass-2); }

.lv2-promise {
  margin-top: 2rem;
  padding: 1.4rem 1.5rem;
  border: 1px solid var(--l-line-2);
  background: rgba(201, 163, 92, .06);
}
.lv2-promise h3 {
  font-family: var(--l-serif);
  font-variation-settings: normal;
  font-weight: 450;
  font-size: 1.15rem;
  color: var(--l-brass-2);
  margin-bottom: .5rem;
}
.lv2-promise p { font-size: .93rem; line-height: 1.6; color: var(--l-muted); }

/* ---------------------------------------------------------------------
   About — who is behind the site (ink)
   --------------------------------------------------------------------- */
.lv2-about {
  background:
    radial-gradient(90% 70% at 10% 0%, rgba(201, 163, 92, .07), transparent 55%),
    var(--l-ink-2);
  color: var(--l-text);
  border-top: 1px solid var(--l-line);
  padding-block: clamp(2.5rem, 5vw, 4rem);
}
.lv2-about__inner { max-width: 62rem; }
.lv2-about__body {
  margin-top: 1.2rem;
  max-width: 56ch;
  font-size: clamp(1.02rem, .97rem + .3vw, 1.15rem);
  line-height: 1.7;
  color: var(--l-muted);
}
.lv2-about .lv2-title + .lv2-about__body { margin-top: 1.8rem; }
.lv2-about__facts {
  margin-top: 1.8rem;
  display: grid;
  gap: .55rem;
  font-size: .95rem;
}
.lv2-about__facts li { position: relative; padding-left: 1.15rem; }
.lv2-about__facts li::before {
  content: "";
  position: absolute;
  left: 0; top: .5em;
  width: .4rem; height: .4rem;
  background: var(--l-brass);
}
.lv2-about__contact {
  margin-top: 1.8rem;
  display: flex;
  flex-wrap: wrap;
  gap: .6rem .8rem;
  font-size: 1rem;
}
.lv2-about__contact a { color: var(--l-brass-2); }
.lv2-about__contact span { color: var(--l-muted); }

/* Contact extras */
.landing-v2 .field--half { max-width: 24rem; }
.landing-v2 .field__hint {
  display: block;
  margin-top: .4rem;
  font-size: .82rem;
  line-height: 1.5;
  color: var(--l-muted);
}
.landing-v2 .form input[type="tel"] {
  background: rgba(242, 239, 231, .05);
  border: 1px solid var(--l-line-2);
  color: var(--l-text);
}
.lv2-contact__aside .pulse { vertical-align: middle; margin-right: .35rem; }

/* ---------------------------------------------------------------------
   Sticky enquiry bar — narrow screens only
   --------------------------------------------------------------------- */
.lv2-sticky {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 60;
  display: none;
  gap: .6rem;
  padding: .6rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom));
  background: rgba(12, 11, 9, .92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-top: 1px solid var(--l-line-2);
  transition: transform .35s var(--ease), opacity .35s var(--ease);
}
.lv2-sticky.is-hidden { transform: translateY(110%); opacity: 0; pointer-events: none; }
.lv2-sticky__cta,
.lv2-sticky__wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 3rem;
  padding: .7rem 1rem;
  font-family: var(--l-sans);
  font-weight: 600;
  font-size: .95rem;
  text-decoration: none;
  border: 1px solid transparent;
}
.lv2-sticky__cta {
  flex: 1;
  background: linear-gradient(135deg, var(--l-brass-2), var(--l-brass));
  color: var(--l-ink);
}
.lv2-sticky__wa {
  background: #25D366;
  color: #fff;
}
@media (max-width: 61.99rem) {
  .lv2-sticky { display: flex; }
  .landing-v2 { padding-bottom: 4.4rem; }      /* room for the bar */
  .landing-v2 .wa-bubble { display: none; }    /* the bar already has WhatsApp */
}

/* Footer */
.landing-v2 .footer {
  background: var(--l-ink);
  border-top-color: var(--l-line);
  color: var(--l-muted);
  --focus: var(--l-brass);
}

/* Mobile nav dropdown */
@media (max-width: 61.99rem) {
  .landing-v2 .masthead__inner { gap: .45rem; }
  .landing-v2 .nav-toggle { display: inline-flex; }
  .landing-v2 .lang-switch { display: none; }
  .landing-v2 .wordmark { flex-shrink: 0; }
  .landing-v2 .nav { background: var(--l-ink); border-bottom: 1px solid var(--l-line); color: var(--l-text); }
  .landing-v2 .nav__list li { border-bottom: 1px solid var(--l-line); }
  .landing-v2 .nav__cta-item a { color: var(--l-brass-2); }
}

/* Very narrow mobile */
@media (max-width: 23rem) {
  .landing-v2 .wordmark__text { display: inline; white-space: nowrap; }
  .landing-v2 .lang-switch { display: none; }
}

/* ---------------------------------------------------------------------
   Reduced motion
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .cine__beam, .cine__scroll::after { animation: none; }
  .js .frag, .js .canvas__img, .js .canvas__gridlines {
    animation: none;
    opacity: 1;
    filter: none;
  }
  .canvas__gridlines { opacity: 0; }
  .mood:not([hidden]) { animation: none; }
}
