/* The October production page is the reference for the olive surfaces and inquiry. */
:root {
  --reading-ink: #101410;
  --reading-text: #f4f3ed;
  --reading-muted: #d5d9cf;
}

/* A fixed dark surface keeps the film's bright limb and flares behind the copy. */
body.immersive .chapter-copy {
  position: relative;
  max-width: 720px;
  padding: clamp(22px, 2.2vw, 34px);
  border: 1px solid #cba75f52;
  border-left: 2px solid var(--gold);
  border-radius: 10px;
  background: linear-gradient(105deg, #101410f7, #101410ed);
  box-shadow: 0 28px 80px #0008;
}
body.immersive .chapter-copy h1,
body.immersive .chapter-copy h2 { color: var(--reading-text); }
body.immersive .chapter-copy .description { color: var(--reading-muted); }
body[data-scene="starfield"] .field-note {
  background: linear-gradient(145deg, #1b211bf9, #111711fa);
  border-color: #cba75f69;
  box-shadow: 0 24px 60px #0009;
  backdrop-filter: none;
}
body[data-scene="starfield"] .field-note .eyebrow,
body[data-scene="starfield"] .field-note .module-proof,
body[data-scene="starfield"] .result-comparison { color: var(--reading-muted) !important; }
body[data-scene="starfield"] .field-note .eyebrow { font-size: 11px; }
body[data-scene="starfield"] .field-note .module-proof { font-size: 14px !important; }
body[data-scene="starfield"] .field-note .module-next { font-size: 18px !important; }
body[data-scene="starfield"] .field-note .note-link,
body[data-scene="starfield"] .problem-shortcuts a { font-size: 14px; }
body[data-scene="starfield"] .problem-shortcuts a span { font-size: 12px; }
body[data-scene="starfield"]:not(.immersive) .world .shade {
  background: linear-gradient(90deg, #161816e8, #161816d8),
              linear-gradient(0deg, #161816, transparent 80%);
}
/* Keep lower-page copy from showing through the fixed film header. */
body.immersive.past-journey .header-shell {
  background: #161816;
  border-bottom: 1px solid #cba75f36;
  box-shadow: 0 12px 28px #0004;
}

/* Return the supporting sections to the previous site's layered black and gold. */
.homepage-content { overflow: clip; }
.homepage-content .content-module { position: relative; isolation: isolate; }
.homepage-content .content-module::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 50%;
  width: 100vw;
  transform: translateX(-50%);
  z-index: -1;
  pointer-events: none;
  background: #161816;
}
.homepage-content #case-details::before { background: linear-gradient(180deg, #242722, #1c1f1c); }
.homepage-content #cases::before { background: #1c1f1c; }
.homepage-content #capabilities::before { background: #171a17; }
.homepage-content #engagement::before { background: #22261f; }
.homepage-content #brand-story::before { background: #151915; }
.homepage-content #ventures::before { background: #1c211b; }
.homepage-content #contact::before {
  background: radial-gradient(ellipse at 50% 5%, #cba75f12, transparent 60%), #1c211a;
}
.homepage-content .content-module h2,
.homepage-content .content-module h3 { font-weight: 500; }
.homepage-content .content-module p { color: #d0d5c9; }
.homepage-content .content-module .eyebrow { color: var(--gold); }
.homepage-content .content-module .intro { max-width: 72ch; }
.homepage-content .case-stage {
  gap: 0;
  border: 1px solid #c4d1b244;
  border-radius: 16px;
  overflow: hidden;
  background: #181b18;
  box-shadow: 0 28px 70px -40px #000;
}
.homepage-content .chart,
.homepage-content .case-copy { border: 0; border-radius: 0; padding: 36px 40px; }
.homepage-content .chart {
  border-right: 1px solid var(--line);
  background: radial-gradient(ellipse at 0 100%, #e7d2670d, transparent 70%), #141714;
}
.homepage-content .bar-track { height: 32px; background: #252b23; border-radius: 3px; }
.homepage-content .bar-fill {
  background: repeating-linear-gradient(90deg, #808b7520 0 3px, #8c977644 3px 4px);
}
.homepage-content .bar-fill.after { background: linear-gradient(90deg, #ad8747, var(--gold)); }
.homepage-content .case,
.homepage-content .venture-grid article {
  background: linear-gradient(145deg, #2a3026, #1b211a);
  border-color: #c4d3ac40;
}
.homepage-content .case:hover,
.homepage-content .venture-grid article:hover { border-color: var(--gold); }
.homepage-content .system-map {
  border-color: #c4d3ac45;
  background: radial-gradient(ellipse at 50% 120%, #cba75f18, transparent 62%), #1c211b;
}
.homepage-content .map-path { position: relative; }
.homepage-content .map-path::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 15%;
  right: 15%;
  height: 1px;
  background: linear-gradient(90deg, #cba75f40, var(--gold), #cba75f40);
}
.homepage-content .map-path > div { position: relative; }
.homepage-content .map-dot {
  width: 13px;
  height: 13px;
  border: 3px solid #494b29;
  box-shadow: 0 0 22px #cba75f30;
}
.homepage-content .service-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.homepage-content .service-list details {
  border: 1px solid #ffffff34;
  border-radius: 10px;
  background: #20251e;
  padding: 22px;
}
.homepage-content .offers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.homepage-content .offer {
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 28px;
  border: 1px solid #c4d3ac45;
  border-radius: 14px;
  background: #181c17;
}
.homepage-content .offer .fee {
  margin-top: auto;
  padding: 24px 0 0;
  border: 0;
  border-top: 1px solid #ffffff35;
}
.homepage-content .offer .amt { color: var(--reading-text); font-size: 44px; }
.homepage-content .offer .btn { width: 100%; text-align: center; }
@media (min-width: 1101px) {
  .homepage-content .offer .price-details { min-height: 75px; }
}
.homepage-content .beyond { padding-bottom: 32px; border-bottom: 1px solid #ffffff30; }
.homepage-content .brand-statement .rail { grid-template-columns: 1fr 1.4fr; }
.homepage-content .faq-list { max-width: 960px; margin-inline: auto; }
/* The note below the primary action must not push its neighboring action down. */
.homepage-content .eng-cta { align-items: flex-start; }
.homepage-content .venture-grid article { display: flex; flex-direction: column; }
.homepage-content .venture-grid article a { margin-top: auto; align-self: flex-start; min-height: 44px; display: inline-flex; align-items: center; }
.homepage-content .case-link,
.homepage-content .sample { display: inline-flex; align-items: center; min-height: 44px; }
.homepage-content .sample svg { flex: none; }
.homepage-content summary:focus-visible,
.inquiry-form .enquiry-extra summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
/* A focused reveal must become readable immediately, even during its entrance. */
.reveal-module:focus-within { opacity: 1; transform: none; transition: none; }
/* Keep consent visible while leaving the chapter rail usable before a choice. */
body.immersive .analytics-choice:not([hidden]) {
  max-width: none;
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 12px 20px;
}
body.immersive .analytics-choice:not([hidden]) p { margin: 0; }
body.immersive .analytics-choice:not([hidden]) div { flex: none; }
body.immersive:has(.analytics-choice:not([hidden])) .bottom-rail { bottom: 90px; }

/* Bring back the October four-step inquiry while retaining the live payload. */
.homepage-content .contact-section { padding-block: 90px 100px; }
.homepage-content .contact-section .rail { display: block; }
.contact-intro { max-width: 850px; margin: 0 auto; text-align: center; }
.contact-intro h2 { font-size: clamp(36px, 4vw, 56px); max-width: 22ch; margin-inline: auto; }
.homepage-content .contact-intro > p:not(.eyebrow) {
  max-width: 65ch;
  margin-inline: auto;
  font-size: 17px;
}
.inquiry-form { max-width: 1000px; margin: 48px auto 0; }
.inquiry-form .enquiry-shell { width: 100%; }
.inquiry-form .enquiry-top {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 0 0 28px;
  border-bottom: 1px solid #c9d6ae55;
  color: #d4dbc9;
  text-align: center;
  font-size: 14px;
}
.inquiry-form .enquiry-top::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: var(--enquiry-progress, 25%);
  height: 3px;
  background: var(--gold);
  transition: width 280ms ease-out;
}
.inquiry-form .enquiry-mark { width: 40px; height: 42px; }
.inquiry-form .enquiry-mark svg { display: block; width: 100%; height: 100%; stroke: none; }
.inquiry-form .enquiry-step { padding-top: 44px; min-height: 320px; }
.inquiry-form .enquiry-step > h3 {
  margin: 0 0 30px;
  text-align: center;
  font-size: clamp(28px, 3vw, 36px);
}
.inquiry-form .enquiry-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.inquiry-form .choice {
  min-height: 96px;
  padding: 20px 24px;
  border: 1px solid #b8c9a570;
  border-radius: 10px;
  background: linear-gradient(135deg, #343d2b, #262e22);
  box-shadow: inset 0 1px 0 #ffffff14;
  color: var(--reading-text);
  text-align: left;
  font-size: 17px;
  line-height: 1.45;
}
.inquiry-form .choice:hover,
.inquiry-form .choice[aria-pressed="true"] {
  border-color: var(--gold);
  background: var(--gold);
  color: var(--reading-ink);
}
.inquiry-form .enquiry-step > p { max-width: none; margin-bottom: 22px; text-align: center; }
.inquiry-form .checks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 20px 0; }
.inquiry-form .checks .ck {
  align-items: center;
  min-height: 58px;
  padding: 12px;
  border: 1px solid #aebe9d66;
  border-radius: 8px;
  background: #303c26;
}
.inquiry-form .checks .ck:has(input:checked) { background: var(--gold); color: var(--reading-ink); }
.inquiry-form #f-stackother { margin-top: 8px; }
.inquiry-form .enquiry-step > .btn {
  display: block;
  width: fit-content;
  margin: 26px auto 0;
  padding: 12px 25px;
  border: 1px solid #d5b879;
  border-radius: 40px;
  background: var(--gold);
  color: var(--reading-ink);
  font-weight: 600;
}
.inquiry-form .enquiry-back {
  display: block;
  margin: 28px auto 0;
  padding: 10px 18px;
  border: 1px solid #b0bda0;
  border-radius: 6px;
  background: transparent;
  color: var(--reading-text);
}
.inquiry-form .contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.inquiry-form .contact-fields .f-wide { grid-column: 1 / -1; }
.inquiry-form .contact-fields .f:has(#f-company) { grid-column: 1 / -1; }
.inquiry-form .enquiry-review {
  max-width: none;
  margin: 0 0 28px;
  padding-left: 16px;
  border-left: 3px solid var(--gold);
  color: var(--reading-muted);
}
.inquiry-form .enquiry-step > .enquiry-review { text-align: left; }
.inquiry-form .consent .ck { align-items: center; }
.inquiry-form .consent .ck input { flex: none; }
.inquiry-form .enquiry-extra { margin: 24px 0; }
.inquiry-form .enquiry-extra > .f,
.inquiry-form .enquiry-extra > .system-context { margin-top: 18px; }
.inquiry-form .enquiry-extra summary { font-size: 16px; }
.inquiry-form .fallback { text-align: center; }
.inquiry-form .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.inquiry-form .lf-done { background: #202a1d; border-radius: 10px; }

@media (max-width: 1100px) {
  .homepage-content .offers { grid-template-columns: 1fr; }
  .homepage-content .offer { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px; }
  .homepage-content .offer .fee { border: 0; border-left: 1px solid #ffffff35; padding: 0 0 0 26px; }
}
@media (max-width: 960px) {
  .homepage-content .case-stage { grid-template-columns: 1fr; }
  .homepage-content .chart { border-right: 0; border-bottom: 1px solid var(--line); }
  .homepage-content .service-list { grid-template-columns: 1fr; }
  .homepage-content .brand-statement .rail { grid-template-columns: 1fr; }
  .homepage-content .map-path::before { display: none; }
}
@media (max-width: 700px) {
  body:has(#journey) .analytics-choice:not([hidden]) {
    left: 10px;
    right: 10px;
    bottom: 10px;
    padding: 12px 14px;
    font-size: 14px;
  }
  body:has(#journey) .analytics-choice:not([hidden]) button {
    min-height: 44px;
    padding: 8px 14px;
    font-size: 14px;
  }
  .homepage-content .offer { display: flex; gap: 20px; padding: 24px; }
  .homepage-content .offer .fee { border: 0; border-top: 1px solid #ffffff35; padding: 22px 0 0; }
  .homepage-content .contact-section { padding-block: 60px 80px; }
  .contact-intro { text-align: left; }
  .contact-intro h2,
  .homepage-content .contact-intro > p:not(.eyebrow) { margin-inline: 0; }
  .inquiry-form { margin-top: 32px; }
  .inquiry-form .enquiry-step { padding-top: 30px; min-height: 0; }
  .inquiry-form .enquiry-step > h3 { text-align: left; }
  .inquiry-form .enquiry-choices,
  .inquiry-form .contact-fields { grid-template-columns: 1fr; }
  .inquiry-form .choice { min-height: 72px; padding: 16px; }
  .inquiry-form .checks { grid-template-columns: 1fr 1fr; }
  .inquiry-form .contact-fields .f-wide { grid-column: auto; }
}
@media (max-width: 480px) {
  .homepage-content .chart,
  .homepage-content .case-copy { padding: 24px; }
  .inquiry-form .checks { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .inquiry-form .enquiry-top::after { transition: none; }
}
.motion-still .inquiry-form .enquiry-top::after { transition: none; }
.motion-still .reveal-module { opacity: 1; transform: none; transition: none; }
