/* VOMANO editorial system — layout and visual language only; motion lives in motion.css */
:root {
  --ink: #10100f;
  --ink-2: #1a1917;
  --ink-3: #292721;
  --paper: #f4f0e7;
  --paper-2: #e9e2d5;
  --paper-deep: #ded4c3;
  --white: #fffdf8;
  --gold: #b98b42;
  --gold-deep: #8d662c;
  --gold-light: #e2bf7e;
  --muted: #767168;
  --line: rgba(185, 139, 66, .42);
  --line-soft: rgba(16, 16, 15, .14);
  --serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --sans: 'DM Sans', Arial, Helvetica, sans-serif;
  --max: 1400px;
  --page-gutter: clamp(20px, 3.2vw, 54px);
  --section-space: clamp(76px, 10vw, 148px);
}

* { box-sizing: border-box; }
html { scroll-padding-top: 100px; }
body {
  min-width: 0;
  overflow-x: visible;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  text-rendering: optimizeLegibility;
}
::selection { background: var(--gold); color: var(--ink); }
a { text-decoration-thickness: 1px; text-underline-offset: .18em; }
button { cursor: pointer; }
button, input, select, textarea { font-family: inherit; }
img { max-width: 100%; }

:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--gold-light);
  outline-offset: 4px;
}

/* Header */
.site-header {
  position: fixed;
  z-index: 40;
  inset: 0 0 auto;
  width: 100%;
  max-width: none;
  height: 92px;
  margin: 0;
  padding: 18px var(--page-gutter);
  display: flex;
  align-items: center;
  gap: 26px;
  color: var(--white);
  border-bottom: 1px solid transparent;
  background: linear-gradient(180deg, rgba(16,16,15,.64), rgba(16,16,15,0));
}
.site-header.scrolled {
  border-color: rgba(255,253,248,.13);
  background: rgba(16,16,15,.95);
}
.brand { order: 1; display: inline-flex; flex: 0 0 auto; align-items: center; }
.brand img { width: clamp(146px, 13vw, 204px); height: auto; display: block; }
.main-nav {
  order: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(17px, 2.1vw, 34px);
  margin-left: auto;
  color: rgba(255,253,248,.82);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.main-nav a { min-height: 44px; display: inline-flex; align-items: center; white-space: nowrap; }
.main-nav a:hover, .main-nav a:focus-visible, .main-nav .nav-active { color: var(--gold-light); }
.header-actions {
  order: 3;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-left: 0;
}
.nav-cta, .button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 12px 17px;
  border: 1px solid var(--gold);
  background: var(--gold);
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .075em;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
}
.nav-cta span, .button span { margin: 0; color: inherit; font-size: 16px; line-height: 1; }
.nav-cta:hover, .nav-cta:focus-visible, .button:hover, .button:focus-visible { background: var(--gold-light); border-color: var(--gold-light); color: var(--ink); }
.button-secondary {
  border-color: rgba(255,253,248,.55);
  background: transparent;
  color: var(--white);
}
.button-secondary:hover, .button-secondary:focus-visible { border-color: var(--gold); background: var(--gold); color: var(--ink); }
.section-paper .button-secondary,
.final-cta-paper .button-secondary,
.price-card:not(.featured) .button-secondary {
  border-color: var(--ink);
  color: var(--ink);
}
.section-paper .button-secondary:hover,
.final-cta-paper .button-secondary:hover,
.price-card:not(.featured) .button-secondary:hover {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--white);
}
.motion-toggle, .menu-toggle {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid rgba(255,253,248,.33);
  background: rgba(16,16,15,.15);
  color: var(--white);
}
.motion-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 7px 10px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  white-space: nowrap;
}
.motion-toggle:hover, .motion-toggle:focus-visible, .menu-toggle:hover, .menu-toggle:focus-visible {
  border-color: var(--gold-light);
  color: var(--gold-light);
}
.motion-toggle-icon {
  position: relative;
  width: 14px;
  height: 14px;
  display: inline-block;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.motion-toggle-icon::before, .motion-toggle-icon::after {
  content: '';
  position: absolute;
  top: 4px;
  width: 2px;
  height: 4px;
  background: currentColor;
}
.motion-toggle-icon::before { left: 4px; }
.motion-toggle-icon::after { right: 4px; }
.menu-toggle {
  display: none;
  position: relative;
  padding: 0 9px;
}
.menu-toggle span {
  display: block;
  width: 23px;
  height: 1px;
  margin: 5px 0;
  background: currentColor;
}
.menu-toggle[aria-expanded='true'] span:first-child { transform: translateY(3px) rotate(45deg); }
.menu-toggle[aria-expanded='true'] span:last-child { transform: translateY(-3px) rotate(-45deg); }

/* Common editorial elements */
.eyebrow, .label {
  display: block;
  color: var(--gold-deep);
  font: 700 10px/1.35 var(--sans);
  letter-spacing: .19em;
  text-transform: uppercase;
}
.section-dark .eyebrow, .page-hero .eyebrow, .hero .eyebrow, .immersive-hero .eyebrow,
.footer-signature .eyebrow, .site-footer .label { color: var(--gold-light); }
h1, h2, h3, p { overflow-wrap: break-word; }
h1 em, h2 em, h3 em { color: var(--gold-deep); font-style: italic; font-weight: 500; }
.section-dark h1 em, .section-dark h2 em, .section-dark h3 em,
.page-hero h1 em, .hero h1 em, .immersive-hero h1 em,
.final-cta h2 em, .site-footer em { color: var(--gold-light); }
.section {
  position: relative;
  padding: var(--section-space) max(var(--page-gutter), calc((100% - var(--max)) / 2 + var(--page-gutter)));
}
.section-paper { background: var(--paper); color: var(--ink); }
.section-dark { background: var(--ink); color: var(--white); }
.section-number {
  position: static;
  display: block;
  margin-bottom: 28px;
  color: var(--gold-deep);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
}
.section-dark .section-number { color: var(--gold-light); }
.section-intro { max-width: 760px; }
.section-intro h2, .story-copy h2, .final-cta h2, .final-cta-paper h2, .note-section h2 {
  max-width: 850px;
  margin: 18px 0 20px;
  font: 500 clamp(39px, 4.8vw, 70px)/1.01 var(--serif);
  letter-spacing: -.045em;
}
.section-intro p, .story-copy p, .final-cta p, .final-cta-paper p, .note-section p {
  max-width: 620px;
  margin: 0;
  color: #635e55;
  font-size: clamp(15px, 1.25vw, 17px);
  line-height: 1.7;
}
.section-intro.light p, .section-dark .detail-dark-copy, .final-cta p { color: rgba(255,253,248,.68); }

/* Immersive home hero */
.immersive-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(720px, 90svh, 820px);
  display: flex;
  align-items: center;
  padding: 142px max(var(--page-gutter), calc((100% - var(--max)) / 2 + var(--page-gutter))) 96px;
  color: var(--white);
  background: var(--ink);
}
.hero-backdrop {
  position: absolute;
  z-index: -3;
  inset: 0;
  margin: 0;
  background: #222018;
}
.hero-backdrop::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16,16,15,.98) 0%, rgba(16,16,15,.9) 31%, rgba(16,16,15,.44) 57%, rgba(16,16,15,.12) 100%), linear-gradient(0deg, rgba(16,16,15,.53), transparent 38%);
}
.hero-backdrop img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 74% center;
  filter: saturate(.76) contrast(1.08) brightness(.86);
}
.hero-atmosphere {
  position: absolute;
  z-index: -2;
  top: 14%;
  left: 35%;
  width: min(65vw, 900px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(185,139,66,.18), rgba(185,139,66,0) 66%);
  pointer-events: none;
}
.hero-orbit, .stage-orbit, .cta-orbit {
  position: absolute;
  z-index: -1;
  width: clamp(170px, 20vw, 330px);
  aspect-ratio: 1;
  border: 1px solid rgba(226,191,126,.35);
  border-radius: 50%;
  box-shadow: 0 0 0 22px rgba(226,191,126,.045), 0 0 0 50px rgba(226,191,126,.025);
  pointer-events: none;
}
.hero-orbit { top: 17%; right: -8%; }
.hero-copy { position: relative; width: 100%; max-width: 700px; }
.hero-copy .eyebrow { max-width: 560px; }
.immersive-hero h1 {
  max-width: 700px;
  margin: 19px 0 24px;
  font: 500 clamp(52px, 7.25vw, 104px)/.91 var(--serif);
  letter-spacing: -.06em;
}
.headline-mask { display: block; overflow: visible; }
.headline-mask > span { display: block; }
.immersive-hero h1 em { color: var(--gold-light); }
.hero-text {
  max-width: 560px;
  margin: 0;
  color: rgba(255,253,248,.77);
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.65;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.hero-bottom {
  position: absolute;
  right: max(var(--page-gutter), calc((100% - var(--max)) / 2 + var(--page-gutter)));
  bottom: 29px;
  left: max(var(--page-gutter), calc((100% - var(--max)) / 2 + var(--page-gutter)));
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,253,248,.28);
  color: rgba(255,253,248,.7);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.hero-index { color: var(--gold-light); }
.hero-scroll { min-height: 44px; display: inline-flex; align-items: center; color: var(--white); letter-spacing: .09em; text-align: right; }
.hero-scroll:hover, .hero-scroll:focus-visible { color: var(--gold-light); }

/* Legacy home hero remains coherent during routing or cached markup */
.hero {
  position: relative;
  min-height: clamp(690px, 87svh, 800px);
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(340px, .72fr);
  align-items: center;
  gap: clamp(30px, 8vw, 130px);
  padding: 145px max(var(--page-gutter), calc((100% - var(--max)) / 2 + var(--page-gutter))) 84px;
  overflow: visible;
  color: var(--white);
  background: var(--ink);
}
.hero::before { content: none; }
.hero::after { right: -160px; top: 125px; width: 380px; height: 380px; }
.hero h1 {
  margin: 19px 0 22px;
  font: 500 clamp(50px, 6vw, 88px)/.95 var(--serif);
  letter-spacing: -.055em;
}
.hero-visual { min-height: 0; }
.hero-image { max-width: 560px; padding: 8px; border-color: var(--gold); background: var(--gold); box-shadow: 18px 18px 0 rgba(185,139,66,.18); }
.hero-note { border-left: 3px solid var(--gold); box-shadow: 0 12px 30px rgba(0,0,0,.16); }

/* Proof points and brand rhythm */
.trust-strip {
  width: min(1120px, calc(100% - 2 * var(--page-gutter)));
  margin: -38px auto 0;
  padding: 25px 31px;
  background: var(--white);
  box-shadow: 0 22px 55px rgba(16,16,15,.12);
}
.trust-strip div { min-width: 0; border-color: rgba(16,16,15,.16); }
.trust-strip strong { color: var(--ink); font: 500 19px/1.1 var(--serif); }
.trust-strip span { color: #69645b; line-height: 1.4; }
.brand-marquee {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper-2);
  color: var(--ink);
}
.marquee-track {
  display: flex;
  width: max-content;
  min-width: 100%;
  align-items: center;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}
.marquee-group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: clamp(16px, 2.8vw, 42px);
  padding: 18px clamp(20px, 3vw, 48px);
  font: 600 clamp(18px, 2vw, 29px)/1 var(--serif);
  letter-spacing: .015em;
  white-space: nowrap;
}
.marquee-group i { color: var(--gold-deep); font: 400 16px/1 var(--sans); font-style: normal; }

/* Home experience switcher */
.concept-experience { background: var(--paper); }
.experience-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 42px;
}
.experience-caption {
  max-width: 315px;
  margin: 0 0 5px;
  color: #6f695f;
  font-size: 13px;
  line-height: 1.65;
}
.concept-switcher {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: clamp(34px, 5vw, 66px);
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
}
.concept-switcher button {
  min-width: 0;
  min-height: 70px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 8px;
  padding: 16px clamp(11px, 1.7vw, 24px);
  border: 0;
  border-right: 1px solid var(--line-soft);
  background: transparent;
  color: #4f4a42;
  text-align: left;
}
.concept-switcher button:last-child { border-right: 0; }
.concept-switcher button:hover, .concept-switcher button:focus-visible, .concept-switcher button[aria-selected='true'], .concept-switcher button.is-active {
  background: var(--ink);
  color: var(--white);
}
.concept-switcher .number { color: var(--gold-deep); font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.concept-switcher button[aria-selected='true'] .number, .concept-switcher button.is-active .number { color: var(--gold-light); }
.concept-switcher .arrow { color: var(--gold-deep); font-size: 18px; text-align: right; }
.concept-stage {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(300px, .92fr);
  gap: clamp(30px, 8vw, 120px);
  min-height: 490px;
  margin-top: 22px;
  padding: clamp(27px, 4vw, 60px);
  overflow: visible;
  color: var(--white);
  background: #26221d;
}
.concept-stage.concept-red { background: linear-gradient(120deg, #2e1715, #161515 68%); }
.concept-stage.concept-gold { background: linear-gradient(120deg, #3a2c17, #171614 68%); }
.concept-stage.concept-blue { background: linear-gradient(120deg, #14282a, #151718 68%); }
.stage-copy { position: relative; z-index: 1; align-self: center; max-width: 590px; }
.stage-copy .eyebrow { color: var(--gold-light); }
.stage-copy h2 {
  margin: 17px 0 18px;
  font: 500 clamp(40px, 5vw, 72px)/.98 var(--serif);
  letter-spacing: -.05em;
}
.stage-copy p { max-width: 520px; margin: 0; color: rgba(255,253,248,.73); font-size: 16px; line-height: 1.65; }
.stage-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.stage-preview {
  position: relative;
  z-index: 1;
  align-self: stretch;
  padding: 27px clamp(20px, 2.5vw, 35px);
  border: 1px solid rgba(255,253,248,.25);
  background: rgba(10,10,9,.26);
}
.stage-label { display: block; color: var(--gold-light); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.stage-preview h3 { margin: 10px 0 18px; font: 500 clamp(24px, 2.2vw, 34px)/1.1 var(--serif); }
.stage-menu { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255,253,248,.24); }
.stage-menu li { display: grid; grid-template-columns: 28px 1fr; gap: 9px; padding: 12px 0; border-bottom: 1px solid rgba(255,253,248,.16); }
.stage-menu li > span { color: var(--gold-light); font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.stage-menu strong { color: #f8f2e7; font: 500 16px/1.25 var(--serif); }
.stage-meta { margin: 18px 0 0; color: rgba(255,253,248,.66); font-size: 12px; line-height: 1.5; }
.stage-deliverables { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.stage-deliverables span { padding: 6px 8px; border: 1px solid rgba(226,191,126,.48); color: var(--gold-light); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.stage-orbit { z-index: 0; right: -9%; bottom: -15%; opacity: .65; }

/* Existing card routes and grids */
.concept-grid { gap: 17px; margin-top: 58px; }
.concept-grid.compact { gap: 17px; }
.concept-card {
  min-height: 400px;
  padding: 28px;
  border: 1px solid rgba(226,191,126,.27);
  box-shadow: none;
  isolation: isolate;
}
.concept-card::before { content: none; }
.concept-card::after { right: -78px; bottom: -78px; opacity: .8; }
.concept-card .concept-watermark {
  position: absolute;
  z-index: -1;
  right: -5px;
  bottom: -20px;
  color: rgba(255,253,248,.08);
  font: 500 180px/.8 var(--serif);
  letter-spacing: -.1em;
  pointer-events: none;
}
.card-top { position: relative; z-index: 1; margin-bottom: 72px; color: var(--gold-light); }
.concept-card .eyebrow { color: var(--gold-light); }
.concept-card h3 { margin: 13px 0 13px; font: 500 clamp(29px, 2.5vw, 38px)/1 var(--serif); }
.concept-card p { max-width: 350px; color: rgba(255,253,248,.72); line-height: 1.62; }
.text-link { color: var(--gold-light); font-weight: 700; letter-spacing: .04em; }
.concept-card:hover, .concept-card:focus-visible { transform: none; border-color: var(--gold-light); box-shadow: inset 0 0 0 1px rgba(226,191,126,.22); }

/* Services and editorial journey */
.service-list { margin-top: 56px; border-top-color: rgba(255,253,248,.2); }
.service-row { grid-template-columns: 70px minmax(0, 1fr) 34px; gap: 17px; padding: 29px 0; border-color: rgba(255,253,248,.18); }
.service-row:hover, .service-row:focus-visible { padding-left: 0; padding-right: 0; background: transparent; }
.service-row:hover h3, .service-row:focus-visible h3 { color: var(--gold-light); transform: none; }
.service-number { color: var(--gold-light); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.service-row h3 { margin: 0 0 7px; font: 500 clamp(24px, 2.3vw, 34px)/1.1 var(--serif); }
.service-row p { max-width: 700px; color: rgba(255,253,248,.65); font-size: 14px; line-height: 1.65; }
.row-arrow, .card-arrow { color: var(--gold-light); }
.journey-section { overflow: visible; }
.journey-grid { display: grid; grid-template-columns: minmax(250px, .75fr) minmax(0, 1fr); gap: clamp(48px, 10vw, 160px); align-items: start; }
.journey-heading { position: sticky; top: 125px; }
.journey-heading h2 { margin: 17px 0; font: 500 clamp(43px, 4.8vw, 67px)/1 var(--serif); letter-spacing: -.05em; }
.journey-heading p { max-width: 420px; margin: 0; color: rgba(255,253,248,.66); font-size: 15px; line-height: 1.65; }
.journey-steps { border-top: 1px solid rgba(255,253,248,.23); }
.journey-step { display: grid; grid-template-columns: 62px 1fr; gap: 20px; padding: 34px 0; border-bottom: 1px solid rgba(255,253,248,.2); }
.journey-index { color: var(--gold-light); font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.journey-step h3 { margin: 0 0 10px; font: 500 clamp(27px, 2.5vw, 38px)/1.06 var(--serif); }
.journey-step p { max-width: 570px; margin: 0; color: rgba(255,253,248,.66); font-size: 14px; line-height: 1.65; }
.journey-tags { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; margin: 19px 0 0; padding: 0; }
.journey-tags li { padding: 5px 7px; border: 1px solid rgba(226,191,126,.36); color: var(--gold-light); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* Story and calls to action */
.story-band {
  padding: var(--section-space) max(var(--page-gutter), calc((100% - var(--max)) / 2 + var(--page-gutter)));
  gap: clamp(42px, 10vw, 150px);
  background: var(--gold);
  color: var(--ink);
}
.story-band .eyebrow { color: #55401d; }
.story-copy h2 { margin-top: 16px; }
.story-copy h2 em { color: #fff7e6; }
.story-copy p { color: #4f3f24; }
.story-band .button { border-color: var(--ink); background: transparent; color: var(--ink); }
.story-band .button:hover, .story-band .button:focus-visible { background: var(--ink); color: var(--white); }
.story-quote { border-color: rgba(16,16,15,.38); }
.story-quote span { color: #fff7e6; }
.story-quote p { color: var(--ink); font-size: clamp(24px, 2.5vw, 34px); }
.final-cta { position: relative; isolation: isolate; overflow: visible; padding-top: clamp(100px, 13vw, 180px); padding-bottom: clamp(100px, 13vw, 180px); }
.final-cta .eyebrow, .final-cta h2, .final-cta p { margin-left: auto; margin-right: auto; }
.final-cta .button { margin-top: 34px; }
.final-cta::after { content: none; }
.cta-orbit { top: 18%; right: 10%; opacity: .8; }

/* Page headers and subpage editorial structure */
.page-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(475px, 60svh, 645px);
  padding: 166px max(var(--page-gutter), calc((100% - var(--max)) / 2 + var(--page-gutter))) 80px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  overflow: visible;
  background: linear-gradient(118deg, #10100f, #222018);
}
.page-hero::before {
  content: '';
  position: absolute;
  z-index: -1;
  width: min(42vw, 570px);
  aspect-ratio: 1;
  top: 11%;
  right: 8%;
  border: 1px solid rgba(226,191,126,.19);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(226,191,126,.035), 0 0 0 56px rgba(226,191,126,.02);
}
.page-hero::after { content: none; }
.page-hero h1 {
  max-width: 930px;
  margin: 19px 0 19px;
  font: 500 clamp(54px, 6.1vw, 86px)/.96 var(--serif);
  letter-spacing: -.055em;
}
.page-hero > p { max-width: 640px; margin: 0; color: rgba(255,253,248,.69); font-size: clamp(15px, 1.3vw, 17px); line-height: 1.65; }
.concept-detail-hero.concept-red { background: radial-gradient(circle at 82% 25%, rgba(142,55,42,.34), transparent 34%), #10100f; }
.concept-detail-hero.concept-gold { background: radial-gradient(circle at 82% 25%, rgba(185,139,66,.26), transparent 34%), #10100f; }
.concept-detail-hero.concept-blue { background: radial-gradient(circle at 82% 25%, rgba(48,113,120,.31), transparent 34%), #10100f; }
.concept-meta { color: var(--gold-light); }

.service-detail-list { margin-top: 0; border-top: 1px solid var(--line-soft); }
.service-detail { grid-template-columns: 85px minmax(0, 760px); gap: 32px; padding: 45px 0; border-bottom-color: var(--line-soft); }
.service-detail h2 { margin: 0 0 12px; font: 500 clamp(29px, 3vw, 40px)/1.1 var(--serif); }
.service-detail p { color: #635e55; line-height: 1.65; }
.service-detail ul { color: #4e493f; }
.service-detail li::before { color: var(--gold-deep); }
.two-col, .story-grid, .detail-layout { gap: clamp(42px, 10vw, 155px); }
.detail-layout h2, .story-grid h2, .people-grid h2, .price-extra h2, .note-section h2 { letter-spacing: -.045em; }
.manifesto { border-top-color: var(--line); }
.manifesto p { color: #f0e9db; }
.manifesto span, .person-label, .person-focus { color: var(--gold-light); }
.lead { color: #403c35; }
.check-list li { border-color: var(--line-soft); color: #4e493f; }
.check-list span { color: var(--gold-deep); }

/* Concept details */
.menu-showcase { border-top-color: var(--line-soft); }
.menu-showcase div { border-bottom-color: var(--line-soft); }
.menu-showcase span, .deliverables-grid span { color: var(--gold-deep); }
.menu-showcase strong { color: #38332c; }
.detail-caption { color: #6d675d; }
.deliverables-grid { border-top-color: var(--line); }
.deliverables-grid div { border-bottom-color: rgba(255,253,248,.16); }
.deliverables-grid p { color: #f1ebdf; }
.process-grid { gap: 24px; }
.process-grid div { border-top-color: var(--line); }
.process-grid span, .action-pillars span { color: var(--gold-light); }
.process-grid h3 { font-size: clamp(25px, 2.4vw, 32px); }
.process-grid p { color: rgba(255,253,248,.66); }
.action-explainer { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.action-pillars { gap: 17px; }
.action-pillars div { border-top-color: var(--line); }
.action-pillars strong { font-size: clamp(21px, 2vw, 27px); }
.action-pillars p { color: rgba(255,253,248,.66); }

/* Prices */
.price-grid { gap: 17px; }
.price-card {
  min-height: 535px;
  padding: 29px 27px 31px;
  border-color: var(--paper-deep);
  background: var(--white);
  box-shadow: none;
}
.price-card::before { content: none; }
.price-card.featured { border-color: var(--gold); background: var(--ink); transform: translateY(-13px); }
.price-card h2 { font-size: clamp(28px, 2.5vw, 36px); }
.price-card p { color: #6a645b; line-height: 1.6; }
.price-card.featured p { color: rgba(255,253,248,.68); }
.price-card li { border-color: var(--paper-deep); color: #4d473d; }
.price-card.featured li { border-color: rgba(255,253,248,.18); color: #ece6da; }
.price-card li span { color: var(--gold-deep); }
.price-card.featured li span { color: var(--gold-light); }
.price-card .button { background: var(--gold); border-color: var(--gold); color: var(--ink); }
.price-card .button:hover, .price-card .button:focus-visible { background: var(--gold-light); border-color: var(--gold-light); }
.mini-prices { border-top-color: var(--line); }
.mini-prices div { border-bottom-color: rgba(255,253,248,.16); }
.mini-prices strong { color: var(--gold-light); }

/* Team and contact */
.people-grid { gap: 17px; }
.people-grid article { min-height: 365px; padding: 34px 31px 40px; border-color: var(--line); }
.people-grid article::before { content: none; }
.people-grid h2 { margin-top: 41px; }
.people-grid p { color: rgba(255,253,248,.68); }
.contact-info h2 { letter-spacing: -.045em; }
.contact-info a { color: var(--gold-deep); }
.contact-form { padding: clamp(22px, 3vw, 38px); border-color: var(--paper-deep); background: var(--white); }
.form-heading { border-bottom-color: var(--paper-deep); }
.form-heading p, .check { color: #716b62 !important; }
.contact-form label { color: #49443c; font-weight: 600; }
.contact-form input, .contact-form select, .contact-form textarea { min-height: 45px; border-color: var(--paper-deep); background: var(--paper); color: var(--ink); }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--gold-deep); outline: 2px solid rgba(185,139,66,.35); outline-offset: 2px; }
.contact-form .button { margin-top: 4px; }
.form-status { color: var(--gold-deep); }

/* Legal pages intentionally quieter */
.legal-page .page-hero { min-height: 370px; padding-top: 145px; padding-bottom: 62px; }
.legal-page .page-hero::before { width: 235px; right: 12%; opacity: .6; }
.legal-page .page-hero h1 {
  max-width: 720px;
  margin-top: 14px;
  font-size: clamp(43px, 5.2vw, 68px);
  line-height: 1;
  overflow-wrap: normal;
  hyphens: auto;
}
.legal-copy { max-width: 820px; }
.legal-copy h2 { color: #24211d; font-size: clamp(25px, 2.6vw, 32px); }
.legal-copy h3 { color: #37322b; }
.legal-copy p { max-width: 760px; color: #5f594f; font-size: 15px; line-height: 1.8; }
.legal-copy a { color: var(--gold-deep); }
.legal-updated { color: var(--gold-deep) !important; }
.privacy-full .privacy-section, .terms-intro { border-color: var(--paper-deep); }
.footer-legal-links { flex-wrap: wrap; row-gap: 9px; }

/* Footer */
.site-footer {
  padding: 0 max(var(--page-gutter), calc((100% - var(--max)) / 2 + var(--page-gutter))) 26px;
  overflow: visible;
  background: #0c0c0b;
}
.footer-signature {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  padding: clamp(55px, 8vw, 116px) 0 clamp(40px, 5vw, 70px);
  border-bottom: 1px solid rgba(255,253,248,.18);
}
.footer-signature-text {
  color: var(--white);
  font: 500 clamp(70px, 15vw, 240px)/.72 var(--serif);
  letter-spacing: -.095em;
}
.footer-invitation {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  padding-bottom: 6px;
  color: var(--gold-light);
  border-bottom: 1px solid var(--gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.footer-invitation:hover, .footer-invitation:focus-visible { color: var(--white); border-color: var(--white); }
.footer-top { gap: clamp(34px, 5vw, 70px); padding-top: 58px; padding-bottom: 58px; }
.footer-logo { width: 205px; }
.footer-lead { color: #d9d1c3; }
.footer-contact a { color: #f2ebe0; }
.footer-nav a, .footer-legal-links a { color: #b8b0a3; }
.footer-contact a:hover, .footer-nav a:hover, .footer-legal-links a:hover,
.footer-contact a:focus-visible, .footer-nav a:focus-visible, .footer-legal-links a:focus-visible { color: var(--gold-light); }
.footer-bottom { border-top-color: rgba(255,253,248,.16); color: #989184; line-height: 1.5; }

/* Fine responsive tuning */
@media (max-width: 1080px) {
  .main-nav { gap: 17px; font-size: 10px; }
  .motion-toggle-label { display: none; }
  .concept-stage { grid-template-columns: minmax(0, .78fr) minmax(300px, .9fr); gap: 34px; }
}

@media (max-width: 900px) {
  html { scroll-padding-top: 82px; }
  .site-header { height: 82px; padding: 13px 22px; gap: 12px; }
  .brand img { width: 158px; }
  .main-nav {
    position: fixed;
    z-index: 39;
    top: 82px;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    margin: 0;
    padding: 20px 22px max(26px, env(safe-area-inset-bottom));
    overflow-y: auto;
    border-top: 1px solid rgba(255,253,248,.14);
    background: #10100f;
    color: var(--white);
    font-size: 13px;
  }
  .main-nav.open { display: flex; }
  .main-nav a { min-height: 56px; padding: 12px 2px; border-bottom: 1px solid rgba(255,253,248,.14); }
  .main-nav .nav-cta { justify-content: center; margin-top: 18px; border-bottom: 0; }
  .header-actions { margin-left: auto; }
  .menu-toggle { display: block; z-index: 41; }
  .immersive-hero {
    min-height: max(680px, 100svh);
    align-items: end;
    padding: 132px 22px 105px;
  }
  .hero-backdrop img { object-position: 68% center; }
  .hero-backdrop::after {
    background: linear-gradient(180deg, rgba(16,16,15,.72) 0%, rgba(16,16,15,.2) 28%, rgba(16,16,15,.65) 67%, rgba(16,16,15,.96) 100%), linear-gradient(90deg, rgba(16,16,15,.45), transparent 80%);
  }
  .hero-atmosphere { top: auto; bottom: 8%; left: -22%; width: 105vw; }
  .hero-orbit { top: 14%; right: -24%; }
  .immersive-hero h1 { max-width: 650px; font-size: clamp(49px, 10.3vw, 78px); }
  .hero-bottom { right: 22px; bottom: 22px; left: 22px; }
  .concept-experience .section-number { margin-bottom: 22px; }
  .experience-heading { display: block; }
  .experience-caption { max-width: 520px; margin-top: 18px; }
  .concept-stage { grid-template-columns: 1fr; min-height: 0; gap: 28px; }
  .stage-preview { min-height: 0; }
  .journey-grid { grid-template-columns: 1fr; gap: 44px; }
  .journey-heading { position: static; }
  .hero { grid-template-columns: 1fr; min-height: auto; padding: 132px 22px 72px; gap: 40px; }
  .hero-visual { min-height: 330px; }
  .hero-image { max-width: 560px; }
  .section, .story-band { padding-left: 22px; padding-right: 22px; }
  .concept-grid, .price-grid { grid-template-columns: 1fr; }
  .concept-grid.compact { grid-template-columns: 1fr; }
  .concept-card { min-height: 335px; }
  .story-band, .two-col, .story-grid, .detail-layout, .contact-layout { grid-template-columns: 1fr; gap: 48px; }
  .service-detail { grid-template-columns: 58px minmax(0, 1fr); gap: 17px; }
  .price-card.featured { transform: none; }
  .process-grid { grid-template-columns: 1fr; gap: 25px; }
  .people-grid { grid-template-columns: 1fr; }
  .page-hero { min-height: 475px; padding: 135px 22px 69px; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-top > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  :root { --page-gutter: 18px; }
  .site-header { padding-right: 18px; padding-left: 18px; }
  .brand img { width: 145px; }
  .header-actions { gap: 7px; }
  .motion-toggle { width: 44px; padding: 0; }
  .motion-toggle-label { display: none; }
  .immersive-hero { min-height: max(650px, 100svh); padding: 121px 18px 98px; }
  .hero-backdrop img { object-position: 64% center; }
  .immersive-hero h1 { margin-top: 15px; margin-bottom: 18px; font-size: clamp(46px, 13vw, 62px); line-height: .92; }
  .hero-text { font-size: 15px; line-height: 1.58; }
  .hero-actions { display: grid; grid-template-columns: 1fr; margin-top: 26px; }
  .hero-actions .button { width: 100%; }
  .hero-bottom { display: block; padding-top: 12px; font-size: 9px; }
  .hero-scroll { min-height: 33px; margin-top: 3px; }
  .marquee-group { gap: 16px; padding: 15px 20px; font-size: 18px; }
  .section { padding-top: 76px; padding-bottom: 76px; }
  .section-intro h2, .story-copy h2, .final-cta h2, .final-cta-paper h2, .note-section h2 { font-size: clamp(38px, 11.6vw, 50px); }
  .trust-strip { width: 100%; margin: 0; padding: 25px 22px; box-shadow: none; }
  .trust-strip { grid-template-columns: 1fr 1fr; gap: 23px 18px; }
  .trust-strip div { border: 0; padding: 0 !important; }
  .trust-strip strong { font-size: 17px; }
  .concept-switcher { display: block; border-bottom: 0; }
  .concept-switcher button { width: 100%; min-height: 56px; border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .concept-stage { margin-top: 16px; padding: 24px 18px; }
  .stage-copy h2 { font-size: clamp(39px, 11.5vw, 55px); }
  .stage-copy p { font-size: 15px; }
  .stage-actions { display: grid; grid-template-columns: 1fr; }
  .stage-actions .button { width: 100%; }
  .stage-preview { padding: 22px 17px; }
  .stage-menu strong { font-size: 15px; }
  .journey-step { grid-template-columns: 45px 1fr; gap: 10px; padding: 27px 0; }
  .journey-step h3 { font-size: 28px; }
  .hero { padding-right: 18px; padding-left: 18px; }
  .hero h1 { font-size: clamp(45px, 12vw, 62px); }
  .hero-visual { min-height: 280px; }
  .hero-note { padding: 13px 15px; }
  .page-hero { min-height: 425px; padding: 122px 18px 54px; }
  .page-hero h1 { font-size: clamp(43px, 11.5vw, 61px); }
  .page-hero::before { right: -30%; width: 285px; }
  .legal-page .page-hero { min-height: 330px; padding-top: 117px; padding-bottom: 47px; }
  .legal-page .page-hero h1 { font-size: clamp(37px, 10.5vw, 49px); letter-spacing: -.045em; }
  .service-detail { grid-template-columns: 1fr; gap: 15px; padding: 34px 0; }
  .service-detail h2 { font-size: 30px; }
  .menu-showcase, .deliverables-grid { grid-template-columns: 1fr; }
  .menu-showcase div { min-height: 61px; }
  .action-pillars { grid-template-columns: 1fr; gap: 24px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-heading { display: block; }
  .form-heading p { margin-top: 13px; }
  .contact-form { padding: 22px 17px; }
  .footer-signature { display: block; padding-top: 61px; }
  .footer-signature-text { display: block; font-size: clamp(67px, 22vw, 96px); }
  .footer-invitation { margin-top: 34px; }
  .footer-top { grid-template-columns: 1fr; gap: 34px; padding-top: 42px; }
  .footer-top > div:first-child { grid-column: auto; }
  .footer-bottom { gap: 8px; }
  .footer-legal-links { gap: 10px 15px; }
  .legal-copy h2 { font-size: 26px; }
  .legal-copy p { font-size: 14px; }
}

@media (max-width: 390px) {
  .brand img { width: 130px; }
  .site-header { gap: 6px; }
  .header-actions { gap: 4px; }
  .hero-index { max-width: 210px; line-height: 1.4; }
  .immersive-hero h1 { font-size: 45px; }
  .trust-strip { padding-right: 18px; padding-left: 18px; }
  .stage-preview { padding-right: 14px; padding-left: 14px; }
  .stage-menu li { grid-template-columns: 23px 1fr; }
  .page-hero h1 { font-size: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
