/* Growease — editorial system visuals built from real HTML, CSS, and SVG. */

:root {
  --midnight: #0B1220;
  --midnight-deep: #080D18;
  --midnight-raised: #101a2e;
  --green: #22D37F;
  --evergreen: #0F6B4B;
  --ivory: #F8FAF7;

  --ink-on-dark: var(--ivory);
  --ink-on-dark-muted: rgba(248, 250, 247, 0.62);
  --ink-on-dark-faint: rgba(248, 250, 247, 0.14);

  --ink-on-light: var(--midnight);
  --ink-on-light-muted: rgba(11, 18, 32, 0.62);
  --ink-on-light-faint: rgba(11, 18, 32, 0.12);

  --font-display: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Inter", "Helvetica Neue", Arial, sans-serif;

  --max-width: 1180px;
  --gutter: clamp(1.5rem, 4vw, 4rem);
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
body {
  margin: 0;
  background: var(--ivory);
  color: var(--ink-on-light);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.12;
  margin: 0;
  letter-spacing: -0.01em;
}
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
form { margin: 0; }

.wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--green);
  color: var(--midnight);
  padding: 0.75rem 1.25rem;
  font-weight: 600;
  z-index: 1000;
}
.skip-link:focus { left: 0; }

a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 1.5rem;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.95rem;
  border-radius: 3px;
  border: 1px solid transparent;
  cursor: pointer;
}
.btn-primary { background: var(--green); color: var(--midnight); }
.btn-secondary { background: transparent; color: inherit; border-color: currentColor; opacity: 0.85; }
.btn-small { padding: 0.6rem 1.1rem; font-size: 0.85rem; }
.btn-large { padding: 1rem 2rem; font-size: 1.02rem; }

/* ---------- Header ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(11, 18, 32, 0.92);
  border-bottom: 1px solid var(--ink-on-dark-faint);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: 1.05rem;
  padding-bottom: 1.05rem;
  color: var(--ivory);
}
.logo {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.1rem;
  display: inline-flex;
  align-items: baseline;
  gap: 0.15rem;
}
.logo-main { color: var(--ivory); }
.logo-accent { color: var(--green); font-size: 0.7em; font-weight: 700; }

.nav-links-desktop { display: none; gap: 1.8rem; flex: 1; justify-content: center; }
.nav-links-desktop a { font-size: 0.9rem; color: var(--ink-on-dark-muted); }
.nav-links-desktop a:hover { color: var(--ivory); }
.nav-cta { display: none; white-space: nowrap; }

.nav-mobile { position: relative; }
.nav-mobile summary {
  list-style: none;
  cursor: pointer;
  color: var(--ivory);
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--ink-on-dark-faint);
  border-radius: 3px;
}
.nav-mobile summary::-webkit-details-marker { display: none; }
.nav-mobile summary { position: relative; }
.nav-mobile summary::after { content: ""; position: absolute; inset: -4px -2px; }
.nav-mobile nav {
  position: absolute;
  right: 0;
  top: calc(100% + 0.6rem);
  background: var(--midnight-raised);
  border: 1px solid var(--ink-on-dark-faint);
  border-radius: 6px;
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  min-width: 220px;
  gap: 0.1rem;
}
.nav-mobile nav a { min-height: 44px; padding: 0.6rem 0.5rem; color: var(--ink-on-dark-muted); font-size: 0.95rem; }
.nav-mobile nav a:hover { color: var(--ivory); }
.nav-mobile nav .btn { margin-top: 0.4rem; }

@media (max-width: 999px) {
  .header-inner > .logo { padding-block: 0.45rem; margin-block: -0.45rem; }
}
@media (min-width: 1000px) {
  .nav-links-desktop { display: flex; }
  .nav-cta { display: inline-flex; }
  .nav-mobile { display: none; }
}

/* ---------- Section base / rhythm ---------- */
section { padding: clamp(3.5rem, 8vw, 6.5rem) 0; scroll-margin-top: 76px; }
.eyebrow {
  font-size: 0.85rem;
  color: var(--ink-on-light-muted);
  margin-bottom: 1rem;
}
.eyebrow-light { color: var(--ink-on-dark-muted); }
.section-lede-light {
  max-width: 56ch;
  color: var(--ink-on-dark-muted);
  margin-top: 0.9rem;
}

h2 { font-size: clamp(1.7rem, 3.4vw, 2.4rem); }

/* ============ 1. Hero ============ */
.hero {
  background: var(--midnight);
  color: var(--ivory);
  padding: clamp(4.5rem, 7vw, 7rem) 0 clamp(5rem, 7vw, 7rem);
}
.hero .wrap { max-width: 1320px; }
.hero-grid {
  display: grid;
  gap: clamp(3.5rem, 7vw, 8rem);
  align-items: center;
}
.hero-copy { min-width: 0; }
.hero-copy .eyebrow {
  color: var(--ivory);
  font-size: 0.84rem;
  font-weight: 500;
  margin-bottom: 1.75rem;
}
.hero-copy h1 {
  font-size: clamp(3.4rem, 5.4vw, 5.45rem);
  font-weight: 700;
  line-height: 1.055;
  letter-spacing: -0.055em;
  color: var(--ivory);
  max-width: 11.8ch;
}
.hero-sub {
  margin-top: 2rem;
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  line-height: 1.7;
  color: rgba(248, 250, 247, 0.76);
  max-width: 57ch;
}
.hero-ctas { margin-top: 2.25rem; display: flex; flex-wrap: wrap; gap: 0.8rem; }
.hero-ctas .btn { min-height: 3.45rem; }
.hero-ctas .btn-secondary { border-color: rgba(248, 250, 247, 0.35); opacity: 1; }

.hero-example {
  min-width: 0;
  border-top: 1px solid rgba(248, 250, 247, 0.34);
  padding-top: 1.15rem;
  position: relative;
}
.hero-example-label {
  color: rgba(248, 250, 247, 0.65);
  font-size: 0.79rem;
  margin-bottom: 1.65rem;
}
.hero-path {
  margin-left: 0.48rem;
  padding-left: 1.75rem;
  border-left: 1px solid rgba(34, 211, 127, 0.65);
}
.hero-path li {
  position: relative;
  display: grid;
  grid-template-columns: 1.65rem 1fr;
  column-gap: 0.75rem;
  padding: 0 0 1.1rem;
}
.hero-path li::before {
  content: "";
  position: absolute;
  top: 0.44rem;
  left: -2.07rem;
  width: 0.6rem;
  height: 0.6rem;
  border: 1px solid var(--green);
  border-radius: 50%;
  background: var(--midnight);
}
.hero-path-index { font-size: 0.72rem; color: rgba(248, 250, 247, 0.5); padding-top: 0.12rem; }
.hero-path-content { min-width: 0; }
.hero-path-name { display: block; font-family: var(--font-display); font-weight: 700; font-size: 0.91rem; margin-bottom: 0.42rem; }
.hero-mini { width: min(100%, 235px); color: var(--ivory); }
.hero-mini-search { display: flex; align-items: center; gap: 0.68rem; border: 1px solid rgba(248, 250, 247, 0.24); border-radius: 100px; padding: 0.46rem 0.7rem; font-size: 0.76rem; color: rgba(248,250,247,.72); }
.hero-mini-search svg { width: 0.9rem; height: 0.9rem; stroke: var(--ivory); stroke-width: 1.5; flex: none; }
.hero-mini-page { display: grid; grid-template-columns: 0.75rem 1fr; align-items: center; column-gap: 0.55rem; border-left: 2px solid rgba(248,250,247,.55); padding: 0.18rem 0 0.2rem 0.66rem; }
.mini-page-mark { width: 0.6rem; height: 0.6rem; border: 1px solid rgba(248,250,247,.75); }
.mini-page-title { font-family: var(--font-display); font-size: 0.78rem; font-weight: 700; }
.mini-page-rule { grid-column: 2; height: 1px; width: 70%; background: rgba(248,250,247,.27); margin-top: 0.3rem; }
.hero-mini-quote { display: flex; align-items: center; gap: 0.55rem; }
.mini-quote-line { display: block; width: 4.2rem; height: 1.6rem; border: 1px solid rgba(248,250,247,.24); border-radius: 2px; }
.mini-quote-action { display: inline-flex; align-items: center; gap: 0.35rem; background: rgba(248,250,247,.12); padding: 0.4rem 0.55rem; font-size: 0.68rem; font-weight: 600; white-space: nowrap; }
.mini-quote-action span { color: var(--green); }
.hero-inquiry {
  margin-left: 2.27rem;
  padding: 1.4rem 1.35rem 1rem;
  border-top: 2px solid var(--green);
  background: var(--ivory);
  color: var(--midnight);
  position: relative;
}
.hero-inquiry::before {
  content: "";
  position: absolute;
  left: -1.79rem;
  top: -2px;
  width: 1.79rem;
  height: 2px;
  background: var(--green);
}
.hero-inquiry-heading { display: flex; align-items: center; gap: 0.85rem; }
.hero-inquiry-pulse { width: 0.7rem; height: 0.7rem; border-radius: 50%; background: var(--green); flex: none; }
.hero-inquiry h2 {
  font-size: clamp(2.2rem, 3vw, 3.1rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.045em;
}
.hero-inquiry p { max-width: 31ch; margin: 0.65rem 0 0 1.55rem; font-size: 0.88rem; line-height: 1.5; color: rgba(11,18,32,.66); }
.hero-inquiry-meta { margin: 1.2rem 0 0 1.55rem; display: grid; gap: 0.45rem; font-size: 0.75rem; }
.hero-inquiry-meta div { display: grid; grid-template-columns: 3.3rem 1fr; gap: 0.4rem; }
.hero-inquiry-meta dt { color: rgba(11,18,32,.5); }
.hero-inquiry-meta dd { margin: 0; color: var(--midnight); }
.hero-inquiry-next { display: flex; align-items: center; gap: 0.7rem; border-top: 1px solid var(--ink-on-light-faint); margin-top: 1.2rem; padding: 0.8rem 0 0 1.55rem; font-size: 0.79rem; color: rgba(11,18,32,.58); }
.hero-inquiry-open { width: 0.64rem; height: 0.64rem; border: 1px solid rgba(11,18,32,.55); border-radius: 50%; flex: none; }

@media (min-width: 860px) {
  .hero-grid { grid-template-columns: minmax(0, 1.23fr) minmax(0, 0.77fr); }
}

@media (max-width: 859px) {
  .hero-grid { gap: 3.5rem; }
  .hero-copy h1 { max-width: 13ch; }
  .hero-example { max-width: 620px; }
}

@media (max-width: 600px) {
  .hero { padding: 2.65rem 0 4.2rem; }
  .hero-grid { gap: 2.3rem; }
  .hero-copy .eyebrow { font-size: 0.75rem; margin-bottom: 1.3rem; }
  .hero-copy h1 { font-size: clamp(2.6rem, 11.4vw, 3.35rem); line-height: 1.075; letter-spacing: -0.052em; max-width: 12ch; }
  .hero-sub { margin-top: 1.3rem; font-size: 0.94rem; line-height: 1.6; max-width: 40ch; }
  .hero-ctas { margin-top: 1.55rem; gap: 0.65rem; }
  .hero-ctas .btn { min-height: 3.1rem; padding: 0.73rem 0.82rem; font-size: 0.81rem; }
  .hero-example { padding-top: 0.9rem; }
  .hero-example-label { margin-bottom: 1.35rem; }
  .hero-path { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.55rem; border-left: 0; margin: 0; padding: 0 0 1rem; }
  .hero-path li { display: flex; align-items: center; gap: 0.3rem; padding: 0; }
  .hero-path li::before { display: none; }
  .hero-path li:not(:last-child)::after { content: "→"; color: var(--green); margin-left: 0.25rem; }
  .hero-path-index, .hero-mini { display: none; }
  .hero-path-name { font-size: 0.78rem; margin-bottom: 0; white-space: nowrap; }
  .hero-inquiry { margin-left: 0; padding: 1.2rem 1.1rem 1rem; }
  .hero-inquiry::before { display: none; }
  .hero-inquiry h2 { font-size: clamp(2.3rem, 10vw, 2.8rem); }
  .hero-inquiry p { font-size: 0.86rem; }
}

/* ============ 2. Where Growth Breaks ============ */
.breaks { background: var(--ivory); color: var(--midnight); }
.breaks h2 { max-width: 20ch; }
.break-list {
  margin-top: 2.5rem;
  display: grid;
  gap: 2rem;
}
.break-item { padding-top: 1.5rem; border-top: 1px solid var(--ink-on-light-faint); }
.break-flow {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.1rem;
}
.break-connector {
  flex: 0 0 48px;
  height: 1px;
  position: relative;
}
.break-connector::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 54%;
  height: 1px;
  background: rgba(11,18,32,.45);
}
.break-connector::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: 1px solid rgba(11,18,32,.45);
  background: var(--ivory);
  transform: translate(50%, -50%);
}
.break-item p { margin-top: 0.75rem; color: var(--ink-on-light-muted); max-width: 56ch; }

@media (min-width: 780px) {
  .break-list { grid-template-columns: repeat(3, 1fr); gap: 2.5rem; }
}

/* ============ 3. Signature Opportunity Journey ============ */
.journey { background: var(--midnight); color: var(--ivory); }
.journey h2 { color: var(--ivory); margin-top: 0.2rem; }

.journey-states {
  margin-top: 3rem;
  display: grid;
  gap: 2.5rem;
  counter-reset: state;
}
.journey-state {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.25rem;
  padding-top: 2rem;
  border-top: 1px solid var(--ink-on-dark-faint);
}
.journey-letter {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.4rem;
  color: var(--green);
  line-height: 1;
}
.journey-body h3 { color: var(--ivory); font-size: 1.25rem; margin-bottom: 0.5rem; }
.journey-body > p { color: var(--ink-on-dark-muted); max-width: 60ch; }
.journey-search-ui { margin-top: 1.2rem; max-width: 560px; }
.journey-search-field { display: flex; align-items: center; gap: 0.85rem; max-width: 360px; border: 1px solid rgba(248,250,247,.3); border-radius: 100px; padding: 0.65rem 1rem; color: var(--ivory); font-size: 0.92rem; }
.journey-search-field svg { width: 1rem; height: 1rem; stroke: var(--ivory); stroke-width: 1.5; flex: none; }
.journey-search-result { margin: 1rem 0 0 1rem; padding: 0.15rem 0 0.15rem 1rem; border-left: 2px solid var(--green); display: grid; gap: 0.18rem; }
.journey-search-result span { color: var(--green); font-size: 0.72rem; }
.journey-search-result strong { font-family: var(--font-display); font-size: 1.05rem; }
.journey-search-result small { color: var(--ink-on-dark-muted); font-size: 0.76rem; }

.journey-page-ui { margin-top: 1.2rem; max-width: 560px; min-height: 225px; background: var(--ivory); color: var(--midnight); padding: clamp(1.4rem, 3vw, 2.4rem); display: flex; flex-direction: column; align-items: flex-start; }
.journey-page-kicker { font-size: 0.7rem; color: var(--evergreen); margin-bottom: 1.6rem; }
.journey-page-ui strong { font-family: var(--font-display); font-size: clamp(1.45rem, 2vw, 2rem); line-height: 1.1; letter-spacing: -0.03em; }
.journey-page-line { width: 65%; height: 2px; background: rgba(11,18,32,.18); margin-top: 1rem; }
.journey-page-line.short { width: 40%; margin-top: 0.45rem; }
.journey-page-action { display: inline-flex; align-items: center; gap: 1.6rem; margin-top: auto; padding: 0.55rem 0.7rem; background: var(--midnight); color: var(--ivory); font-size: 0.74rem; font-weight: 600; }
.journey-page-action span { color: var(--green); }

.journey-form {
  margin-top: 1rem;
  display: grid;
  align-items: start;
  gap: 0.8rem;
  max-width: 460px;
  border: 1px solid var(--ink-on-dark-faint);
  padding: 1.5rem;
}
.journey-form label, .journey-form-label {
  font-size: 0.78rem;
  color: var(--ink-on-dark-muted);
}
.journey-form input, .journey-form-value {
  display: block;
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--ivory);
  background: transparent;
  border: 1px solid var(--ink-on-dark-faint);
  padding: 0.6rem 0.8rem;
  min-width: 0;
  width: 100%;
}
.journey-form-btn { pointer-events: none; justify-self: start; }
.journey-form-value { line-height: normal; }
/* Illustrative controls are part of the drawing, not working buttons. */
.journey-form, .journey-page-action, .page-cta-art, .cap-page-button, .hero-request-art b { pointer-events: none; cursor: default; user-select: none; -webkit-user-select: none; }

.handoff-compare {
  margin-top: 1.25rem;
  display: grid;
  gap: 1.25rem;
}
.handoff-label {
  display: block;
  font-size: 0.78rem;
  color: var(--ink-on-dark-muted);
  margin-bottom: 0.6rem;
}
.handoff-broken { padding: 1rem; border: 1px dashed var(--ink-on-dark-faint); }
.handoff-bare { color: var(--ink-on-dark-muted); font-style: italic; }
.handoff-connected { padding: 1rem; border: 1px solid var(--green); }
.handoff-meta { display: grid; gap: 0.5rem; }
.handoff-meta div { display: flex; justify-content: space-between; gap: 1rem; font-size: 0.92rem; }
.handoff-meta dt { color: var(--ink-on-dark-muted); }
.handoff-meta dd { margin: 0; color: var(--green); text-align: right; }

.followup-ui { margin-top: 1.2rem; max-width: 540px; border-top: 1px solid rgba(248,250,247,.35); border-bottom: 1px solid rgba(248,250,247,.18); padding: 1rem 0 0.9rem; }
.followup-ui-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1rem; font-size: 0.75rem; color: var(--ink-on-dark-muted); }
.followup-ui-top span:first-child { color: var(--ivory); font-weight: 600; }
.followup-ui-top span span { color: var(--green); }
.followup-ui > p { margin-top: 1.1rem; color: var(--ivory); font-size: 1.02rem; font-family: var(--font-display); font-weight: 600; }
.followup-ui-reply { margin: 1.2rem 0 0 1.3rem; display: flex; align-items: center; gap: 0.6rem; padding-left: 0.8rem; border-left: 1px solid var(--green); font-size: 0.8rem; color: var(--ink-on-dark-muted); }
.followup-ui-mark { width: 0.45rem; height: 0.45rem; background: var(--green); border-radius: 50%; }

.outcome-progress { margin-top: 1rem; display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.outcome-progress span {
  font-size: 0.85rem;
  padding: 0.4rem 0.75rem;
  border: 1px solid var(--ink-on-dark-faint);
  color: var(--ink-on-dark-muted);
}
.outcome-progress .outcome-won { border-color: var(--green); color: var(--green); font-weight: 600; }
.outcome-progress .outcome-won::before { content: "→"; display: inline-block; margin-right: 0.7rem; color: var(--green); }
.outcome-progress .outcome-alternative { border: 0; padding-left: 0.35rem; font-size: 0.76rem; }
.outcome-note { margin-top: 0.75rem; font-size: 0.85rem; color: var(--ink-on-dark-muted); }

.journey-loop { margin-top: 1rem; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: end; width: 100%; }
.journey-loop span {
  font-size: clamp(0.65rem, 0.8vw, 0.78rem);
  color: var(--ivory);
  padding: 0.4rem 0.1rem;
  text-align: center;
  white-space: nowrap;
  border-bottom: 2px solid var(--green);
}
.journey-live { display: none; }
@media (max-width: 899px) {
  .journey-states { position: relative; }
  .journey-states::before { content: ""; position: absolute; top: 2.8rem; bottom: 2rem; left: 0.78rem; width: 1px; background: linear-gradient(var(--green), rgba(118, 230, 124, 0.28)); }
  .journey-state { position: relative; grid-template-columns: 1.55rem minmax(0, 1fr); gap: 1rem; }
  .journey-letter { position: relative; z-index: 1; background: var(--midnight); }
  .journey-loop { grid-template-columns: 1fr; width: min(100%, 280px); border-left: 1px solid var(--green); padding-left: 1.1rem; }
  .journey-loop span { position: relative; padding: 0.4rem 0; border-bottom: 0; text-align: left; white-space: normal; font-size: 0.85rem; }
  .journey-loop span::before { content: ""; position: absolute; left: -1.36rem; top: 0.85rem; width: 0.45rem; height: 0.45rem; border: 1px solid var(--green); border-radius: 50%; background: var(--midnight); }
}

@media (min-width: 780px) {
  .handoff-compare { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
  .journey-layout { display: grid; grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
  .journey-states { margin-top: 2rem; gap: 0; }
  .journey-state { min-height: 73svh; grid-template-columns: 2.3rem minmax(0, 1fr); gap: 1rem; align-content: center; padding: 3rem 0; border-top: 0; opacity: 0.46; transition: opacity 220ms ease; }
  .journey-state:first-child { padding-top: 1rem; }
  .journey-state + .journey-state { border-top: 1px solid var(--ink-on-dark-faint); }
  .journey[data-active="1"] .journey-state:nth-child(1), .journey[data-active="2"] .journey-state:nth-child(2), .journey[data-active="3"] .journey-state:nth-child(3), .journey[data-active="4"] .journey-state:nth-child(4), .journey[data-active="5"] .journey-state:nth-child(5), .journey[data-active="6"] .journey-state:nth-child(6), .journey[data-active="7"] .journey-state:nth-child(7) { opacity: 1; }
  .journey-body h3 { font-size: clamp(1.4rem, 2vw, 1.8rem); }
  .journey-body > p:first-of-type { max-width: 34ch; }
  .journey-body > :is(.journey-search-ui, .journey-page-ui, .journey-form, .handoff-compare, .followup-ui, .outcome-progress, .journey-loop, .outcome-note) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .journey-live { display: flex; flex-direction: column; position: sticky; top: 6.5rem; height: min(640px, calc(100svh - 8rem)); min-height: 450px; margin-top: 2rem; border: 1px solid rgba(248,250,247,.2); background: #101d2b; padding: clamp(1.2rem, 2.5vw, 2rem); overflow: hidden; }
  .journey-live-top, .journey-live-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: 0.72rem; color: var(--ink-on-dark-muted); letter-spacing: 0.02em; }
  .journey-live-count { color: var(--green); font-variant-numeric: tabular-nums; }
  .journey-live-track { width: 100%; height: 2px; margin-top: 0.85rem; background: rgba(248,250,247,.15); }
  .journey-live-track span { display: block; width: calc(var(--journey-step, 1) * 100% / 7); height: 100%; background: var(--green); transition: width 260ms ease; }
  .journey-live-scene { position: relative; display: grid; place-items: center; flex: 1; min-height: 0; }
  .live-stage { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; width: 100%; max-width: 620px; margin: auto; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity 260ms ease, transform 260ms ease, visibility 260ms; }
  .journey[data-active="1"] .live-search, .journey[data-active="2"] .live-page, .journey[data-active="3"] .live-quote, .journey[data-active="4"] .live-record-stage, .journey[data-active="5"] .live-record-stage, .journey[data-active="6"] .live-record-stage, .journey[data-active="7"] .live-record-stage { opacity: 1; visibility: visible; transform: translateY(0); }
  .live-kicker { display: block; margin-bottom: 1.2rem; font-size: 0.75rem; color: var(--green); }
  .journey-live .journey-search-ui, .journey-live .journey-page-ui, .journey-live .journey-form { margin-top: 0; }
  .journey-live .journey-search-field { max-width: 100%; }
  .journey-live .journey-search-result { margin-top: 2rem; }
  .journey-live .journey-page-ui { min-height: 280px; max-width: none; }
  .journey-live .journey-form { max-width: none; padding: clamp(1.5rem, 3vw, 2.5rem); }
  .live-quote-answer { padding: 0.8rem; border: 1px solid var(--ink-on-dark-faint); color: var(--ivory); font-size: 0.95rem; }
  .journey-live-footer { padding-top: 0.85rem; border-top: 1px solid var(--ink-on-dark-faint); }
  .journey-live-now { color: var(--ivory); }
  .live-record-stage { gap: 1.2rem; }
  .live-vague { display: grid; gap: 0.45rem; padding: 1rem 1.2rem; border: 1px dashed rgba(248,250,247,.25); color: var(--ink-on-dark-muted); transition: opacity 220ms ease, max-height 220ms ease, padding 220ms ease, margin 220ms ease; overflow: hidden; }
  .live-vague span, .live-record-head > span { font-size: 0.72rem; }
  .live-vague strong { color: var(--ivory); font-weight: 500; font-size: 0.9rem; }
  .live-vague small { font-size: 0.72rem; }
  .live-record { border: 1px solid var(--green); background: rgba(118,230,124,.045); }
  .live-record-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.2rem; border-bottom: 1px solid rgba(118,230,124,.28); color: var(--green); }
  .live-record-head strong { font-family: var(--font-display); font-size: clamp(1.15rem, 2vw, 1.55rem); color: var(--ivory); }
  .live-record-dot { display: inline-block; width: 0.5rem; height: 0.5rem; margin-left: 0.35rem; border-radius: 50%; background: var(--green); vertical-align: middle; }
  .live-record-row, .live-record-update { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr); gap: 1rem; align-items: baseline; padding: 0.75rem 1.2rem; border-bottom: 1px solid var(--ink-on-dark-faint); font-size: 0.8rem; }
  .live-record-row > span, .live-record-update > span { color: var(--ink-on-dark-muted); }
  .live-record-row strong, .live-record-update strong { font-weight: 500; color: var(--ivory); }
  .live-record-update { display: none; border-bottom: 0; background: rgba(118,230,124,.08); }
  .live-record-update strong small { color: var(--ink-on-dark-muted); font-weight: 400; }
  .live-learning { grid-template-columns: 5.2rem minmax(0, 1fr); }
  .live-learning small { grid-column: 2; color: var(--ink-on-dark-muted); }
  .journey[data-active="5"] .live-followup, .journey[data-active="6"] .live-followup, .journey[data-active="7"] .live-followup, .journey[data-active="6"] .live-outcome, .journey[data-active="7"] .live-outcome, .journey[data-active="7"] .live-learning { display: grid; }
  .journey[data-active="5"] .live-vague, .journey[data-active="6"] .live-vague, .journey[data-active="7"] .live-vague { max-height: 0; opacity: 0; padding-top: 0; padding-bottom: 0; border: 0; margin: -0.6rem 0; }
}
@media (min-width: 900px) and (max-height: 640px) {
  .journey-live { top: 1rem; height: calc(100svh - 2rem); min-height: 0; }
  .live-record-stage { gap: 0.6rem; }
  .live-record-row, .live-record-update { padding-top: 0.45rem; padding-bottom: 0.45rem; }
}
@media (prefers-reduced-motion: reduce) {
  .journey-state, .journey-live-track span, .live-stage, .live-vague { transition: none; }
}

/* ============ 4. Capabilities by problem ============ */
.capabilities { background: var(--ivory); color: var(--midnight); }
.capabilities h2 { max-width: 22ch; margin-bottom: 2.5rem; }
.problem-list { display: grid; gap: 0; }
.problem-row {
  display: grid;
  gap: 0.5rem;
  padding: 1.5rem 0;
  border-top: 1px solid var(--ink-on-light-faint);
}
.problem-list li:last-child { border-bottom: 1px solid var(--ink-on-light-faint); }
.problem-name { font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; }
.problem-caps { color: var(--ink-on-light-muted); max-width: 56ch; }
.problem-visual { display: block; width: 150px; max-width: 100%; height: 76px; }
.problem-visual svg { width: 100%; height: 100%; stroke: rgba(11,18,32,.5); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.problem-visual .signal { stroke: var(--evergreen); stroke-width: 2; }
.problem-visual .signal-dot { stroke: var(--evergreen); fill: var(--evergreen); }

@media (min-width: 780px) {
  .problem-row { grid-template-columns: minmax(0, .95fr) 150px minmax(0, 1.05fr); gap: clamp(1.3rem, 3vw, 3rem); align-items: center; }
}
@media (max-width: 779px) {
  .problem-row { grid-template-columns: 1fr auto; align-items: center; }
  .problem-visual { grid-column: 2; grid-row: 1; width: 115px; }
  .problem-caps { grid-column: 1 / -1; }
}

/* ============ 5. Framework ============ */
.framework { background: var(--midnight); color: var(--ivory); }
.framework h2 { color: var(--ivory); }
.framework-grid {
  margin-top: 2.5rem;
  display: grid;
  gap: 1.5rem;
}
.framework-item { padding: 1.25rem 0; border-top: 1px solid var(--ink-on-dark-faint); }
.framework-item h3 { color: var(--ivory); font-size: 1.15rem; margin-bottom: 0.5rem; }
.framework-item p { color: var(--ink-on-dark-muted); }

@media (min-width: 700px) {
  .framework-grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
}
@media (min-width: 1040px) {
  .framework-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ============ 6. Working With Growease ============ */
.engagement { background: var(--ivory); color: var(--midnight); }
.engagement h2 { max-width: 22ch; margin-bottom: 2.5rem; }
.engagement-steps {
  display: grid;
  gap: 1.75rem;
  margin-bottom: 2.5rem;
  counter-reset: step;
}
.engagement-steps li { counter-increment: step; padding-top: 1.25rem; border-top: 1px solid var(--ink-on-light-faint); }
.engagement-steps li::before {
  content: counter(step) ". ";
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--evergreen);
}
.engagement-steps h3 { display: inline; font-size: 1.1rem; }
.engagement-steps p { margin-top: 0.5rem; color: var(--ink-on-light-muted); max-width: 56ch; }
.engagement-visual { display: block; width: 150px; height: 88px; margin: 0 0 1.45rem; stroke: rgba(11,18,32,.55); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.engagement-visual .signal { stroke: var(--evergreen); stroke-width: 2; }
.engagement-visual .signal-dot { stroke: var(--evergreen); fill: var(--evergreen); }

@media (min-width: 780px) {
  .engagement-steps { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
}

/* ============ 7. Qualification ============ */
.qualify { background: var(--ivory); color: var(--midnight); }
.qualify-inner { max-width: 820px; }
.qualify-list { margin-top: 2rem; display: grid; gap: 0.9rem; }
.qualify-list li {
  padding-left: 1.4rem;
  position: relative;
  color: var(--ink-on-light-muted);
  max-width: 62ch;
}
.qualify-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  background: var(--evergreen);
}
.qualify-closing { margin-top: 2rem; font-size: 1.15rem; font-weight: 500; }

/* ============ 8. Interactive system builder ============ */
.system-builder {
  padding: clamp(6.5rem, 9vw, 8.5rem) 0 clamp(5.5rem, 8vw, 8.5rem);
  scroll-margin-top: 104px;
  background: #edf3ec;
  color: var(--midnight);
}
.system-builder-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(250px, .55fr); column-gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.system-builder-intro .section-index { grid-column: 1 / -1; margin-bottom: 1.5rem; }
.system-builder-intro h2 { max-width: 18ch; font-size: clamp(2.7rem, 4.4vw, 4.7rem); line-height: 1.07; letter-spacing: -.065em; }
.system-builder-intro p { max-width: 37ch; padding-bottom: .35rem; color: #4f6257; font-size: clamp(.95rem, 1.15vw, 1.08rem); line-height: 1.65; }
.system-builder-layout { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; margin-top: clamp(3.5rem, 6vw, 6rem); }
.system-choices { border-top: 1px solid #a9bdb0; }
.system-choices-prompt { padding: 1.2rem 0 1rem; color: #426d53; font-size: .78rem; font-weight: 600; }
.system-choice { display: flex; width: 100%; min-height: 95px; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.15rem .65rem 1.15rem 0; border: 0; border-bottom: 1px solid #bfcec1; background: transparent; color: #56685d; text-align: left; cursor: pointer; font: 600 clamp(1.1rem, 1.5vw, 1.48rem)/1.27 var(--font-display); letter-spacing: -.035em; transition: color .25s ease, padding-left .25s ease, background .25s ease; }
.system-choice:hover { color: var(--midnight); }
.system-choice.is-selected { padding-left: 1rem; background: #dcebe0; color: var(--midnight); box-shadow: inset 3px 0 var(--green); }
.system-choice:focus-visible { outline: none; background: #e4eee5; box-shadow: inset 3px 0 var(--green); }
.system-choice:focus-visible > span:first-child { text-decoration: underline; text-underline-offset: .2em; }
.system-choice.is-selected:focus-visible { background: #dcebe0; }
.system-choice-arrow { flex: none; color: #789783; font-size: 1.25rem; font-weight: 400; transition: transform .25s ease, color .25s ease; }
.system-choice.is-selected .system-choice-arrow { color: var(--evergreen); transform: rotate(45deg); }
.system-view { position: relative; min-height: 646px; padding: clamp(1.5rem, 2.5vw, 2.5rem); overflow: hidden; background: #0b1721; color: var(--ivory); box-shadow: 0 24px 70px rgba(11,18,32,.13); }
.system-view::after { content: ""; position: absolute; width: 410px; height: 410px; right: -210px; top: 120px; border: 1px solid rgba(34,211,127,.12); border-radius: 50%; box-shadow: 0 0 0 72px rgba(34,211,127,.025), 0 0 0 145px rgba(34,211,127,.018); pointer-events: none; }
.system-view-top { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1.15rem; border-bottom: 1px solid rgba(248,250,247,.17); color: #a9bdaf; font-size: .72rem; font-weight: 500; }
.system-view-mark { white-space: nowrap; color: #d9f0de; }
.system-view-mark i { display: inline-block; width: 7px; height: 7px; margin-right: .3rem; border-radius: 50%; background: var(--green); }
.system-view-heading { position: relative; z-index: 1; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 2.3rem 0 1.7rem; }
.system-view-heading > span { flex: none; color: #94b3a0; font-size: .7rem; }
.system-view-heading h3 { max-width: 18ch; text-align: right; font-size: clamp(1.25rem, 2vw, 1.9rem); line-height: 1.18; letter-spacing: -.045em; }
.system-path { position: relative; z-index: 1; display: grid; gap: .62rem; padding-left: 1.4rem; }
.system-path::before { content: ""; position: absolute; left: .25rem; top: 2.05rem; bottom: 2.05rem; width: 2px; background: rgba(34,211,127,.72); }
.system-path li { position: relative; display: flex; min-height: 68px; align-items: center; gap: 1.35rem; padding: .7rem 1.1rem .7rem 2.2rem; border-bottom: 1px solid rgba(213,238,222,.14); background: linear-gradient(90deg, rgba(248,250,247,.045), transparent 75%); }
.system-path li::before { content: ""; position: absolute; left: -1.46rem; top: calc(50% - 4px); width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px #0b1721; }
.system-path li::after { content: ""; position: absolute; left: -1.15rem; top: 50%; width: 1.15rem; height: 1px; background: rgba(34,211,127,.55); }
.system-path li:nth-child(even) { margin-right: clamp(1rem, 4vw, 3.5rem); }
.system-step-number { flex: none; color: #7cad8e; font: 600 .7rem var(--font-body); }
.system-path strong { font: 600 clamp(.98rem, 1.3vw, 1.25rem)/1.25 var(--font-display); letter-spacing: -.025em; }
.system-view-note { position: relative; z-index: 1; max-width: 45ch; margin-top: 1.55rem; padding-top: 1.1rem; border-top: 1px solid rgba(248,250,247,.17); color: #b6cebe; font-size: .82rem; }
.system-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.system-view.is-changing .system-path li strong, .system-view.is-changing .system-view-heading h3, .system-view.is-changing .system-view-note { animation: system-change .35s ease both; }
.system-view.is-changing .system-path li:nth-child(2) strong { animation-delay: .03s; }
.system-view.is-changing .system-path li:nth-child(3) strong { animation-delay: .06s; }
.system-view.is-changing .system-path li:nth-child(4) strong { animation-delay: .09s; }
.system-view.is-changing .system-path li:nth-child(5) strong { animation-delay: .12s; }
@keyframes system-change { from { opacity: .3; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 901px) and (max-width: 1200px) {
  .system-builder-intro h2 { font-size: clamp(2.55rem, 3.8vw, 3.5rem); }
}
@media (max-width: 900px) {
  .system-builder-intro { grid-template-columns: 1fr; gap: 1.25rem; }
  .system-builder-intro .section-index { margin-bottom: .25rem; }
  .system-builder-layout { grid-template-columns: 1fr; gap: 2rem; }
  .system-choice { min-height: 75px; }
  .system-view { min-height: 0; }
}
@media (max-width: 600px) {
  .system-builder { padding: 5rem 0; scroll-margin-top: 76px; }
  .system-builder-intro h2 { font-size: clamp(2.45rem, 9.4vw, 3.1rem); }
  .system-builder-intro p { font-size: .9rem; }
  .system-builder-layout { margin-top: 2.5rem; gap: 1.5rem; }
  .system-choices-prompt { padding: .9rem 0 .6rem; }
  .system-choice { min-height: 69px; padding: .8rem .5rem .8rem 0; font-size: 1.05rem; }
  .system-choice.is-selected { padding-left: .7rem; }
  .system-view { padding: 1.15rem; }
  .system-view-top { font-size: .65rem; }
  .system-view-heading { display: block; margin: 1.6rem 0 1.25rem; }
  .system-view-heading h3 { margin-top: .3rem; text-align: left; font-size: 1.45rem; }
  .system-path { gap: .48rem; padding-left: .9rem; }
  .system-path::before { left: .25rem; top: 1.875rem; bottom: 1.875rem; }
  .system-path li { min-height: 60px; gap: .6rem; padding: .7rem .65rem .7rem 1.1rem; }
  .system-path li:nth-child(even) { margin-right: 0; }
  .system-path li::before { left: -.96rem; }
  .system-path li::after { left: -.65rem; width: .65rem; }
  .system-path strong { font-size: .93rem; }
  .system-step-number { font-size: .62rem; }
  .system-view-note { margin-top: 1.25rem; font-size: .76rem; }
}

/* ============ 9. Closing payoff ============ */
.closing { background: var(--midnight); color: var(--ivory); text-align: center; }
.closing-inner { display: flex; flex-direction: column; align-items: center; gap: 1.75rem; }
.closing-loop {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
}
.closing-loop span {
  font-size: 0.82rem;
  color: var(--ink-on-dark-muted);
  padding: 0.4rem 0.9rem;
  border-bottom: 2px solid var(--green);
}
@media (max-width: 700px) {
  .closing-loop { display: grid; justify-items: start; width: min(100%, 240px); border-left: 1px solid var(--green); padding-left: 1.1rem; text-align: left; }
  .closing-loop span { position: relative; padding: 0.35rem 0; border-bottom: 0; font-size: 0.85rem; }
  .closing-loop span::before { content: ""; position: absolute; left: -1.36rem; top: 0.8rem; width: 0.45rem; height: 0.45rem; border: 1px solid var(--green); border-radius: 50%; background: var(--midnight); }
}
.closing-signature {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.9rem, 4.6vw, 2.9rem);
}
.closing-sub { max-width: 52ch; color: var(--ink-on-dark-muted); }
.closing-contact { margin-top: 1.1rem; color: var(--ink-on-dark-muted); font-size: 0.85rem; }
.closing-contact a { color: var(--green); text-decoration: underline; text-underline-offset: 0.25rem; }

/* ============ Footer ============ */
.site-footer { background: var(--midnight-deep); color: var(--ivory); padding: 3rem 0 2.25rem; }
.footer-inner { display: grid; gap: 2rem; }
.footer-brand p { margin-top: 0.6rem; color: var(--ink-on-dark-muted); font-size: 0.9rem; }
.footer-links { display: flex; flex-wrap: wrap; gap: 1rem 1.4rem; }
.footer-links a { color: var(--ink-on-dark-muted); font-size: 0.9rem; padding-block: 0.7rem; margin-block: -0.7rem; }
.footer-links a:hover { color: var(--ivory); }
.footer-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 0.9rem 1.2rem; font-size: 0.82rem; color: rgba(248,250,247,0.55); }
.footer-legal a { color: rgba(248,250,247,0.6); }

@media (min-width: 860px) {
  .footer-inner { grid-template-columns: 1.2fr 1fr 1fr; align-items: start; }
}

/* ===== Art direction pass: the continuous signal ===== */
:root { --max-width: 1320px; --paper: #f3f6f0; --mint: #c6f3dc; --lime: #c7ff8d; }
body { background: var(--paper); }
section { scroll-margin-top: 72px; }
h2 { letter-spacing: -.055em; }
.btn { border-radius: 999px; transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary:hover { background: #9bf5b7; box-shadow: 0 12px 28px rgba(34,211,127,.16); }
.btn-secondary:hover { background: rgba(255,255,255,.09); }
.site-header { backdrop-filter: blur(24px); background: rgba(8,17,28,.86); }
.header-inner { padding-top: .8rem; padding-bottom: .8rem; }
.logo { font-size: 1.2rem; letter-spacing: -.055em; }
.nav-links-desktop a { font-size: .83rem; }
.nav-cta { background: var(--ivory); }
.section-index { display: block; color: var(--evergreen); font-size: .78rem; font-weight: 700; margin-bottom: 1.7rem; letter-spacing: .01em; }

/* Hero: large typographic field + layered opportunity */
.hero { position: relative; isolation: isolate; min-height: min(900px, 100svh); overflow: hidden; padding: clamp(4.5rem, 7vw, 7rem) 0 2.4rem; background: radial-gradient(ellipse 80% 80% at 83% 52%, #153e39 0%, #0b1826 54%, #09111e 100%); }
.hero::after { content:""; position:absolute; inset:0; pointer-events:none; background: linear-gradient(90deg, transparent 48%, rgba(31,96,82,.18) 100%); z-index:-1; }
.hero-grain { position:absolute; inset:0; opacity:.12; pointer-events:none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.77' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.36'/%3E%3C/svg%3E"); }
.hero .wrap { max-width: 1450px; }
.hero-grid { position:relative; display:grid; grid-template-columns: minmax(0, .97fr) minmax(0, 1.03fr); align-items:center; gap:0; min-height: 650px; }
.hero-copy { position:relative; z-index:5; padding: 0 0 5rem; }
.hero-copy .eyebrow { display:inline-flex; align-items:center; gap:.7rem; color:#caecd9; font-size:.85rem; margin-bottom:2rem; }
.hero-copy .eyebrow::before { content:""; width:1.5rem; height:1px; background:var(--green); }
.hero-copy h1 { font-size:clamp(4rem, 6.25vw, 7.3rem); line-height:.985; letter-spacing:-.075em; max-width:10.5ch; position:relative; text-wrap:balance; text-shadow:0 15px 40px rgba(0,0,0,.14); }
.hero-sub { max-width:49ch; margin-top:2.2rem; font-size:clamp(1rem, 1.1vw, 1.11rem); line-height:1.65; color:#b9cdc9; }
.hero-ctas { margin-top:2rem; }
.hero-ctas .btn { min-height:3.25rem; }
.hero-ctas .btn-secondary { border-color:rgba(230,255,240,.4); }
.hero-art { position:relative; width:calc(100% + 3rem); height:680px; margin-left:-4rem; transform:translateY(.7rem); }
.hero-current { position:absolute; inset:-5% -7%; width:115%; height:110%; overflow:visible; }
.current-path { stroke-dasharray:1200; stroke-dashoffset:1200; animation:currentDraw 2.1s cubic-bezier(.2,.8,.2,1) .25s forwards; }
@keyframes currentDraw { to { stroke-dashoffset:0; } }
.hero-search-art, .hero-page-art, .hero-request-art, .hero-inquiry-art { position:absolute; box-shadow: 0 25px 60px rgba(1,9,13,.3); }
.art-caption { display:block; font-size:.72rem; font-weight:700; letter-spacing:.01em; margin-bottom:.9rem; }
.hero-search-art { z-index:2; width:285px; top:5%; left:4%; color:var(--ivory); transform:rotate(-5deg); }
.search-pill { height:58px; display:flex; align-items:center; gap:.8rem; border:1px solid rgba(245,255,250,.62); background:rgba(8,29,31,.89); border-radius:40px; padding:0 1.15rem; font-size:.92rem; backdrop-filter:blur(12px); }
.search-pill svg { width:18px; height:18px; stroke:var(--green); stroke-width:2; }
.hero-page-art { z-index:3; width:315px; height:236px; top:23%; right:3%; padding:1.2rem 1.4rem; background:#f6f9f3; color:var(--midnight); transform:rotate(5deg); clip-path:polygon(0 0,100% 0,100% 91%,90% 100%,0 100%); }
.hero-page-art .art-caption { color:var(--evergreen); margin-bottom:.8rem; }
.page-top { display:flex; gap:4px; padding-bottom:.65rem; border-bottom:1px solid #d5ddd7; margin-bottom:1.25rem; }
.page-top i { width:4px; height:4px; border-radius:50%; background:#9bab9e; }
.hero-page-art strong { display:block; font:700 1.45rem/1.1 var(--font-display); letter-spacing:-.05em; max-width:10ch; }
.page-copy-line { display:block; width:67%; height:5px; margin-top:.8rem; background:#cedbd1; }
.page-copy-line.short { width:43%; margin-top:.38rem; }
.page-cta-art { display:flex; width:max-content; gap:1.5rem; margin-top:1.1rem; padding:.5rem .7rem; background:#0b2220; color:var(--ivory); font-size:.69rem; font-weight:600; }
.page-cta-art b { color:var(--green); }
.hero-request-art { z-index:4; width:260px; top:49%; left:2%; padding:1.1rem 1.25rem; background:#143b32; border:1px solid rgba(170,251,203,.7); color:#d8f8e6; transform:rotate(-7deg); }
.hero-request-art .art-caption { color:#8febad; margin-bottom:.45rem; }
.hero-request-art > span:not(.art-caption) { display:block; font-size:.85rem; }
.hero-request-art b { display:inline-flex; gap:1.2rem; margin-top:1rem; padding:.3rem .6rem; background:var(--green); color:var(--midnight); font-size:.7rem; }
.hero-inquiry-art { z-index:5; right:0; bottom:3%; width:min(80%, 440px); min-height:345px; background:#f5f8f0; color:var(--midnight); transform:rotate(-2deg); padding:1.3rem 1.6rem 0; border:1px solid #c9efd4; box-shadow:0 45px 110px rgba(1,10,14,.55), 0 0 0 10px rgba(34,211,127,.075); }
.inquiry-art-top { display:flex; justify-content:space-between; gap:1rem; font-size:.7rem; color:#3a6855; }
.inquiry-art-top span:first-child { display:flex; align-items:center; gap:.45rem; }
.inquiry-art-top i { width:.45rem; height:.45rem; background:var(--green); border-radius:50%; box-shadow:0 0 0 4px #d8f2db; }
.hero-inquiry-art .inquiry-art-title { margin:1.25rem 0 .35rem; font-family:var(--font-display); font-size:clamp(3.3rem,5vw,5.2rem); line-height:.88; font-weight:800; letter-spacing:-.085em; color:var(--midnight); text-wrap:balance; }
.hero-inquiry-art .inquiry-art-title span { color:var(--green); }
.hero-inquiry-art p { font-size:.83rem; color:#405950; }
.hero-inquiry-art dl { margin:1.5rem 0 1.2rem; border-top:1px solid #cbdad0; }
.hero-inquiry-art dl div { display:flex; justify-content:space-between; gap:1rem; padding:.55rem 0; border-bottom:1px solid #cbdad0; font-size:.75rem; }
.hero-inquiry-art dt { color:#4d6659; }
.hero-inquiry-art dd { margin:0; text-align:right; font-weight:600; }
.inquiry-art-next { display:flex; align-items:center; gap:1rem; margin:0 -1.6rem; padding:.9rem 1.6rem; color:#d7ffe3; background:#0d5f43; font-size:.74rem; }
.inquiry-art-next > span:first-child { opacity:.7; }
.inquiry-art-next strong { font-weight:600; margin-right:auto; }
.next-circle { display:grid; place-items:center; width:1.65rem; height:1.65rem; border:1px solid #9cf1b5; border-radius:50%; font-size:1rem; }
.hero-art-note { position:absolute; bottom:0; left:4%; color:#a5c4b6; font-size:.7rem; }
.hero-bottom { position:relative; display:flex; align-items:center; justify-content:space-between; gap:2rem; color:#94baa8; font-size:.75rem; }
.hero-bottom-line { flex:1; height:1px; background:linear-gradient(90deg,var(--green),rgba(34,211,127,.12)); }

/* A pause with three visible breakpoints */
.breaks { padding:clamp(6rem,10vw,10rem) 0; background:#e9f0e9; position:relative; overflow:hidden; }
.breaks::before { content:""; position:absolute; width:42vw; height:42vw; right:-20vw; top:-22vw; border:1px solid #cadecc; border-radius:50%; box-shadow:0 0 0 7vw rgba(255,255,255,.16),0 0 0 14vw rgba(255,255,255,.1); }
.breaks-intro { display:grid; grid-template-columns: minmax(0, .62fr) minmax(0, .38fr); column-gap:4rem; align-items:end; }
.breaks-intro .section-index { grid-column:1/-1; }
.breaks h2 { font-size:clamp(2.7rem,5.3vw,5.2rem); line-height:1.04; max-width:19ch; }
.breaks h2 em { color:var(--evergreen); font-style:normal; }
.breaks-intro > p { max-width:34ch; font-size:1.05rem; color:#4a6558; padding-bottom:.4rem; }
.break-list { margin-top:5rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#bbccbf; border:1px solid #bbccbf; }
.break-item { display:flex; flex-direction:column; padding:2rem; background:#f2f6ef; border:0; min-height:280px; }
.break-item:nth-child(2) { background:#e3ecdf; }
.break-flow { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem; font-family:var(--font-display); font-size:1.18rem; font-weight:700; letter-spacing:-.045em; }
.break-connector { width:2.7rem; height:2px; margin:0 .25rem; background:repeating-linear-gradient(90deg,#738e7e 0 7px,transparent 7px 12px); position:relative; }
.break-connector::after { content:"×"; position:absolute; left:50%; top:50%; transform:translate(-50%,-55%); background:#f2f6ef; color:#b25647; padding:0 .15rem; font-size:1.1rem; }
.break-item:nth-child(2) .break-connector::after { background:#e3ecdf; }
.break-item p { margin-top:auto; padding-top:3rem; max-width:34ch; font-size:.91rem; color:#51685a; }

/* Signature journey: one anchored opportunity, not seven slides */
.journey { position:relative; overflow:clip; padding:clamp(6rem,8vw,9rem) 0 8rem; background:radial-gradient(circle at 78% 20%,#153d36 0,#0b1925 34%,#09111d 78%); }
.journey::before { content:""; position:absolute; top:0; bottom:0; left:50%; width:1px; background:linear-gradient(transparent,rgba(34,211,127,.18),transparent); pointer-events:none; }
.journey > .wrap { max-width:1400px; }
.journey > .wrap > .eyebrow { color:#a9dfbd; font-size:.82rem; margin-bottom:1rem; }
.journey h2 { font-size:clamp(3.2rem,5.8vw,6.5rem); line-height:1.02; letter-spacing:-.07em; max-width:16ch; }
.journey .section-lede-light { max-width:50ch; color:#b2c6bf; font-size:1rem; }
.journey-state { border-color:rgba(163,222,186,.18); }
.journey-letter { display:grid; place-items:center; width:2rem; height:2rem; border:1px solid var(--green); border-radius:50%; color:var(--green); font-size:.92rem; font-weight:700; }
.journey-body h3 { font-weight:800; letter-spacing:-.05em; }
.journey-body > p { color:#b3c5bd; }
.journey-state-signature .journey-body h3 { color:#b9ffce; }
.handoff-broken { background:rgba(255,255,255,.035); }
.handoff-connected { background:rgba(34,211,127,.075); }
@media (min-width:900px) {
  .journey-layout { grid-template-columns:minmax(0,.36fr) minmax(0,.64fr); gap:clamp(3rem,5vw,6rem); }
  .journey-state { min-height:68svh; grid-template-columns:2.3rem minmax(0,1fr); gap:1.35rem; }
  .journey-body h3 { font-size:clamp(2rem,2.9vw,3.15rem); line-height:1.08; }
  .journey-body > p:first-of-type { font-size:1.05rem; line-height:1.6; max-width:28ch; }
  .journey-live { top:6rem; height:min(690px,calc(100svh - 7rem)); min-height:480px; margin-top:2rem; border:1px solid rgba(88,225,143,.34); border-radius:18px; background:radial-gradient(circle at 74% 48%,#204a3b 0,#102629 35%,#0b1d24 80%); box-shadow:0 40px 120px rgba(0,0,0,.27), inset 0 0 0 1px rgba(255,255,255,.05); padding:1.5rem 1.7rem; }
  .journey-live::before { content:""; position:absolute; inset:16px; border:1px solid rgba(139,224,167,.11); border-radius:10px; pointer-events:none; }
  .journey-live-glow { position:absolute; width:440px; height:440px; left:18%; top:14%; border:1px solid rgba(34,211,127,.21); border-radius:50%; box-shadow:0 0 0 70px rgba(34,211,127,.04),0 0 0 140px rgba(34,211,127,.025); pointer-events:none; }
  .journey-live-top,.journey-live-footer { position:relative; z-index:3; font-size:.76rem; }
  .journey-live-scene { z-index:2; }
  .live-stage { max-width:530px; }
  .live-search .journey-search-field { background:#f8faf7; border:0; color:var(--midnight); border-radius:100px; min-height:62px; box-shadow:0 25px 70px rgba(0,0,0,.34); }
  .live-search .journey-search-field svg { stroke:var(--evergreen); }
  .live-search .journey-search-result { padding:1.2rem 1.4rem; background:#f8faf7; color:var(--midnight); border:0; box-shadow:0 24px 60px rgba(0,0,0,.24); transform:translate(12%,10%) rotate(-3deg); }
  .live-search .journey-search-result span { color:var(--evergreen); }
  .live-search .journey-search-result strong { font-size:1.4rem; letter-spacing:-.04em; }
  .live-search .journey-search-result small { color:#54675c; }
  .journey-live .journey-page-ui { min-height:350px; padding:2.4rem; box-shadow:0 30px 60px rgba(0,0,0,.38); transform:rotate(-2deg); }
  .journey-live .journey-page-ui strong { font-size:clamp(2.5rem,4vw,4.5rem); max-width:10ch; }
  .journey-live .journey-form { background:#f4f8f2; color:var(--midnight); box-shadow:0 30px 65px rgba(0,0,0,.3); transform:rotate(2deg); }
  .journey-live .journey-form label { color:#567160; }
  .live-quote-answer { color:var(--midnight); border-color:#cadacf; background:white; }
  .live-record-stage { gap:1.3rem; }
  .live-vague { width:76%; margin:auto; background:#253033; transform:rotate(-4deg); }
  .live-record { background:#f3f8ef; color:var(--midnight); border:0; box-shadow:0 40px 90px rgba(0,0,0,.42); transform:rotate(1deg); }
  .live-record-head { background:#1a8b59; border:0; color:#dfffea; padding:1.15rem 1.35rem; }
  .live-record-head strong { color:#fff; font-size:2rem; letter-spacing:-.06em; }
  .live-record-dot { background:#bcffae; }
  .live-record-row,.live-record-update { padding:1rem 1.35rem; border-color:#d5e3d7; font-size:.84rem; }
  .live-record-row > span,.live-record-update > span { color:#5a7564; }
  .live-record-row strong,.live-record-update strong { color:#0b3425; }
  .live-record-update { background:#d9f7df; }
  .live-record-update strong small,.live-learning small { color:#4c6e58; }
  .journey[data-active="4"] .live-record { animation:handoffLand .5s cubic-bezier(.2,.8,.2,1) both; }
  @keyframes handoffLand { from { transform:translateY(28px) rotate(3deg); opacity:.5; } to { transform:translateY(0) rotate(1deg); opacity:1; } }
}

/* Capabilities: four unequal working surfaces connected as a single field */
.capabilities { padding:clamp(6rem,10vw,10rem) 0; background:#f2f5ef; }
.capabilities-intro { display:grid; grid-template-columns:1fr minmax(0,.45fr); column-gap:4rem; align-items:end; }
.capabilities-intro .section-index { grid-column:1/-1; }
.capabilities h2 { max-width:18ch; margin:0; font-size:clamp(3rem,5.5vw,5.6rem); line-height:1.03; }
.capabilities-intro > p { max-width:32ch; color:#4e6657; font-size:1.06rem; padding-bottom:.4rem; }
.capability-system { position:relative; display:grid; grid-template-columns:1.08fr .92fr; grid-template-rows:380px 350px; gap:1rem; margin-top:4.5rem; }
.cap-tile { position:relative; overflow:hidden; display:flex; justify-content:space-between; padding:2rem; border-radius:18px; background:#e0ebe2; min-width:0; }
.cap-tile::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(255,255,255,.1),transparent); }
.cap-content { position:relative; z-index:2; max-width:50%; }
.cap-number { color:#246a4d; font-size:.72rem; font-weight:700; }
.cap-tile h3 { margin-top:1.2rem; font-size:clamp(1.55rem,2.1vw,2.4rem); line-height:1.12; letter-spacing:-.06em; }
.cap-tile p { margin-top:1rem; font-size:.86rem; line-height:1.55; color:#3f5c4a; }
.cap-found { background:#d5e4d8; }
.cap-action { background:#172c2a; color:#f1fff3; }
.cap-action .cap-number,.cap-action p { color:#9ed9b5; }
.cap-follow { background:#c9eacc; }
.cap-learn { background:#dfe7dd; }
.cap-visual { position:absolute; z-index:1; }
.cap-search { width:55%; height:240px; right:-2%; bottom:10%; transform:rotate(-6deg); }
.cap-search-field { display:flex; align-items:center; gap:.75rem; height:47px; border-radius:30px; padding:0 1rem; background:#fff; box-shadow:0 10px 35px #1b594221; font-size:.82rem; }
.glass-search { font:2rem/.5 Georgia; color:#247c55; transform:rotate(-30deg); }
.cap-search-results { display:grid; gap:.25rem; width:87%; margin:1rem auto 0; padding:1rem 1.2rem; background:#f9fcf8; box-shadow:0 25px 50px #1b594230; font-size:.73rem; }
.cap-search-results span { color:#278258; font-size:.66rem; }
.cap-search-results b { font:700 1.3rem/1.15 var(--font-display); letter-spacing:-.05em; }
.cap-search-results small { color:#506958; }
.cap-search-results i { height:3px; width:40%; background:#aac9ae; margin-top:.8rem; }
.cap-page { width:58%; height:290px; right:-4%; bottom:-7%; transform:rotate(5deg); padding:1.8rem; background:#f6faf3; color:#0d231f; box-shadow:0 20px 50px #001b153d; }
.cap-page > span { font-size:.69rem; color:#326b4d; }
.cap-page strong { display:block; margin-top:2rem; font:800 clamp(1.7rem,2.6vw,3.3rem)/1.04 var(--font-display); letter-spacing:-.065em; }
.cap-page-button { display:flex; justify-content:space-between; gap:1rem; width:80%; margin-top:2.1rem; padding:.65rem .7rem; background:#184c3d; color:#fff; font-size:.75rem; }
.cap-page-button span { color:#aff6a5; }
.cap-message { width:58%; height:200px; right:1%; bottom:9%; }
.cap-message-in,.cap-message-out { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:1rem; background:#f7fcf5; box-shadow:0 18px 40px #215d432e; font-size:.73rem; font-weight:600; transform:rotate(-3deg); }
.cap-message-in i { width:.5rem; height:.5rem; border-radius:50%; background:var(--green); }
.cap-message-in b { font-weight:500; color:#3c8062; }
.cap-message-line { display:block; width:2px; height:55px; margin-left:32%; background:#18945e; transform:rotate(22deg); }
.cap-message-out { margin-left:15%; background:#185d43; color:#e8fff0; transform:rotate(4deg); }
.cap-message-out b { color:#bcff9e; }
.cap-learning { width:55%; height:245px; right:-1%; bottom:-4%; padding:1rem 1.2rem; background:#f5fbf4; box-shadow:0 20px 50px #2c554421; transform:rotate(-4deg); }
.cap-learning div { display:flex; justify-content:space-between; border-bottom:1px solid #d6e4d6; padding:.5rem 0; font-size:.7rem; }
.cap-learning div span { color:#4f6857; }
.cap-learning div strong { color:#15553b; }
.cap-learning svg { width:100%; height:80px; overflow:visible; margin-top:.3rem; }
.cap-learning path { stroke:#21bc72; stroke-width:3; }
.cap-learning circle { fill:#21bc72; }
.cap-system-label { position:absolute; z-index:3; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:142px; height:142px; padding:1rem; border:10px solid #f2f5ef; border-radius:50%; background:#105c42; color:#e9fff0; text-align:center; font:800 1.1rem/1.14 var(--font-display); letter-spacing:-.055em; box-shadow:0 18px 40px #0c603427; }

/* Framework as a field rather than another list */
.framework { position:relative; min-height:760px; padding:clamp(6rem,9vw,9rem) 0; overflow:hidden; background:radial-gradient(circle at 50% 72%,#185642 0,#0f302d 35%,#0b1925 74%); }
.framework > .wrap { position:relative; max-width:1380px; }
.framework .section-index { color:#a6e7b7; }
.framework h2 { font-size:clamp(3.1rem,5.5vw,6rem); line-height:1.03; }
.framework .section-lede-light { max-width:47ch; }
.framework-grid { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:4rem 8rem; margin:4rem auto 0; min-height:340px; padding:0 4rem; }
.framework-item { position:relative; z-index:2; max-width:250px; border:0; padding:1rem; }
.framework-item:nth-of-type(even) { justify-self:end; }
.framework-item h3 { color:#d4ffe0; font-size:clamp(1.7rem,2.6vw,2.7rem); font-weight:800; letter-spacing:-.055em; }
.framework-item p { max-width:20ch; margin-top:.4rem; color:#b4d0bf; font-size:.86rem; }
.framework-orbit { position:absolute; width:min(54vw,480px); height:min(54vw,480px); left:50%; top:50%; transform:translate(-50%,-50%); border:1px solid rgba(133,242,172,.5); border-radius:50%; box-shadow:0 0 0 46px rgba(34,211,127,.035),0 0 0 92px rgba(34,211,127,.025); }
.framework-orbit::before,.framework-orbit::after { content:""; position:absolute; inset:14%; border:1px solid rgba(134,238,164,.17); border-radius:50%; }
.framework-orbit::after { inset:32%; background:radial-gradient(circle,#23835566,transparent 70%); }
.framework-orbit b { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:#eaffed; font:800 clamp(1.2rem,2.3vw,2rem) var(--font-display); letter-spacing:-.07em; }
.framework-orbit span { position:absolute; width:10px; height:10px; border:2px solid #bcfbb1; border-radius:50%; background:#135b3c; }
.framework-orbit span:nth-child(1) { left:11%; top:18%; }.framework-orbit span:nth-child(2) { right:7%; top:25%; }.framework-orbit span:nth-child(3) { left:15%; bottom:12%; }.framework-orbit span:nth-child(4) { right:13%; bottom:14%; }

/* Commercial relationship as three offset sheets */
.engagement { padding:clamp(6rem,10vw,10rem) 0; background:#e8eee4; }
.engagement-intro { display:grid; grid-template-columns:1fr minmax(0,.4fr); column-gap:3rem; align-items:end; }
.engagement-intro .section-index { grid-column:1/-1; }
.engagement h2 { max-width:18ch; margin:0; font-size:clamp(3rem,5.4vw,5.8rem); line-height:1.04; }
.engagement-intro > p { max-width:31ch; color:#4d6556; font-size:1.05rem; padding-bottom:.4rem; }
.engagement-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; margin:4.5rem 0 2rem; counter-reset:step; }
.engagement-steps li { position:relative; counter-increment:step; min-height:355px; padding:2rem; border:1px solid #bccdbc; background:#f6f9f3; box-shadow:0 20px 40px #1c4d2810; }
.engagement-steps li:nth-child(2) { transform:translateY(2rem); background:#e4f4e5; }
.engagement-steps li:nth-child(3) { transform:translateY(4rem); background:#d2ecd7; }
.engagement-steps li::before { content:"0" counter(step); display:block; font:800 clamp(3.7rem,6vw,6.5rem)/1 var(--font-display); letter-spacing:-.09em; color:#c1d7c6; }
.engagement-steps li:nth-child(2)::before { color:#a4d5ae; }.engagement-steps li:nth-child(3)::before { color:#84c99d; }
.engagement-visual { position:absolute; top:2rem; right:1.4rem; width:110px; height:75px; margin:0; stroke:#3d8360; opacity:.65; }
.engagement-steps h3 { display:block; margin-top:2.7rem; font-size:clamp(1.35rem,1.9vw,2rem); line-height:1.1; letter-spacing:-.05em; }
.engagement-steps p { margin-top:.8rem; font-size:.92rem; max-width:27ch; }
.engagement > .wrap > .btn { margin-top:4rem; }

/* Starting point: two distinct entries into the same service */
.qualify { padding:clamp(5rem,8vw,8rem) 0; background:#f8faf7; }
.qualify-inner { max-width:1320px; }
.qualify h2 { font-size:clamp(2.9rem,5vw,5.4rem); line-height:1.04; }
.qualify-split { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:3.5rem; }
.qualify-split > div { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:310px; padding:2rem; overflow:hidden; background:#dceee0; }
.qualify-split > div:nth-child(2) { background:#123c31; color:#e8fff0; }
.qualify-split > div::after { content:""; position:absolute; width:280px; height:280px; border:1px solid #75af81; border-radius:50%; top:30%; right:-9%; box-shadow:0 0 0 55px rgba(26,135,75,.08),0 0 0 110px rgba(26,135,75,.05); }
.qualify-split span { position:relative; z-index:1; font-size:.77rem; font-weight:700; }
.qualify-split strong { position:relative; z-index:1; max-width:14ch; font:800 clamp(1.7rem,3vw,3rem)/1.09 var(--font-display); letter-spacing:-.06em; }
.qualify-list { margin-top:3rem; grid-template-columns:repeat(2,1fr); gap:.9rem 3rem; }
.qualify-list li { max-width:48ch; }
.qualify-closing { margin-top:2.5rem; padding:1.4rem 0 0; border-top:1px solid #cad8ce; font:700 clamp(1.3rem,2vw,1.85rem)/1.35 var(--font-display); letter-spacing:-.04em; max-width:45ch; }

/* Closing: the signal resolves into a decision */
.closing { position:relative; padding:clamp(6rem,10vw,11rem) 0; overflow:hidden; background:radial-gradient(circle at 50% 35%,#1c6547 0,#0e2a2d 40%,#09131f 80%); }
.closing::before { content:""; position:absolute; left:50%; top:-240px; width:800px; height:800px; transform:translateX(-50%); border:1px solid rgba(136,247,166,.14); border-radius:50%; box-shadow:0 0 0 90px rgba(34,211,127,.025),0 0 0 180px rgba(34,211,127,.02); }
.closing-inner { position:relative; gap:0; }
.closing-loop { gap:.5rem; margin-bottom:4rem; }
.closing-loop span { position:relative; border:1px solid rgba(181,246,190,.45); border-radius:100px; padding:.45rem .8rem; color:#d1efda; background:#0b352d; font-size:.72rem; }
.closing-loop span + span::before { content:""; position:absolute; left:-.55rem; top:50%; width:.55rem; height:1px; background:#9df2a7; }
.closing-signature { max-width:12ch; font-size:clamp(3.6rem,7vw,7.5rem); line-height:1.04; letter-spacing:-.08em; text-wrap:balance; }
.closing-sub { margin:1.8rem 0 2rem; font-size:1.02rem; color:#bfdbca; }
.site-footer { background:#09131f; }

@media (max-width:1100px) {
 .hero-grid { grid-template-columns:1fr 1fr; }
 .hero-art { margin-left:-2rem; }
 .hero-copy h1 { font-size:clamp(3.8rem,6vw,5.8rem); }
 .hero-inquiry-art { width:84%; }
 .cap-content { max-width:53%; }
 .cap-tile { padding:1.5rem; }
}
@media (max-width:899px) {
 .hero { min-height:0; padding:5rem 0 2rem; }
 .hero-grid { display:block; }
 .hero-copy { padding:0; }
 .hero-copy h1 { max-width:11ch; font-size:clamp(3.4rem,9vw,5.5rem); }
 .hero-sub { max-width:56ch; }
 .hero-art { width:min(100%,650px); height:640px; margin:2rem auto 0; transform:none; }
 .hero-bottom { padding-top:1rem; }
 .breaks-intro,.capabilities-intro,.engagement-intro { grid-template-columns:1fr; gap:1.2rem; }
 .breaks-intro .section-index,.capabilities-intro .section-index,.engagement-intro .section-index { grid-column:1; }
 .break-list { grid-template-columns:1fr; margin-top:3rem; }
 .break-item { min-height:190px; }
 .break-item p { padding-top:2rem; }
 .journey::before { left:2rem; }
 .journey-state { opacity:1; }
 .journey-state-signature { padding:2.2rem 1rem; margin-left:-1rem; background:#153f33; border:1px solid #50af70; border-radius:18px; }
 .journey-letter { width:2rem; height:2rem; background:#0b1925; }
 .journey-state-signature .journey-letter { background:#153f33; }
 .capability-system { grid-template-columns:1fr 1fr; grid-template-rows:350px 350px; }
 .cap-tile { padding:1.4rem; }
 .cap-content { max-width:72%; }
 .cap-visual { opacity:.85; transform:scale(.8); transform-origin:bottom right; }
 .cap-system-label { width:100px; height:100px; font-size:.84rem; }
 .framework-grid { gap:3rem; padding:0; }
 .framework-orbit { opacity:.65; }
 .engagement-steps { grid-template-columns:1fr; gap:.8rem; }
 .engagement-steps li,.engagement-steps li:nth-child(2),.engagement-steps li:nth-child(3) { min-height:240px; transform:none; }
 .engagement-steps h3 { margin-top:1.4rem; }
 .engagement > .wrap > .btn { margin-top:0; }
}
@media (max-width:600px) {
 :root { --gutter:1.25rem; }
 section { padding:4.5rem 0; }
 .header-inner { padding-top:.7rem; padding-bottom:.7rem; }
 .hero { padding:3.6rem 0 2rem; }
 .hero-copy .eyebrow { font-size:.71rem; margin-bottom:1.4rem; }
 .hero-copy h1 { font-size:clamp(3.15rem,13.1vw,4.4rem); line-height:.99; max-width:10ch; }
 .hero-sub { margin-top:1.5rem; font-size:.94rem; line-height:1.62; }
 .hero-ctas { gap:.55rem; margin-top:1.5rem; }
 .hero-ctas .btn { min-height:3rem; padding:.72rem 1rem; font-size:.79rem; }
 .hero-art { width:calc(100% + 1rem); height:520px; margin:1.7rem -.5rem 0; }
 .hero-current { inset:-4% -3%; width:106%; height:105%; }
 .hero-search-art { width:215px; left:0; top:1%; }
 .art-caption { font-size:.61rem; margin-bottom:.5rem; }
 .search-pill { height:47px; font-size:.74rem; padding:0 .8rem; }
 .hero-page-art { width:225px; height:180px; top:19%; right:0; padding:.8rem 1rem; }
 .hero-page-art .art-caption { margin-bottom:.45rem; }
 .page-top { margin-bottom:.6rem; padding-bottom:.35rem; }
 .hero-page-art strong { font-size:1.1rem; }
 .page-copy-line { margin-top:.5rem; }
 .page-cta-art { margin-top:.7rem; font-size:.58rem; }
 .hero-request-art { width:205px; top:47%; left:0; padding:.7rem .9rem; }
 .hero-request-art > span:not(.art-caption) { font-size:.7rem; }
 .hero-request-art b { margin-top:.5rem; }
 .hero-inquiry-art { width:79%; min-height:0; bottom:3%; right:0; padding:.9rem 1rem 0; }
 .inquiry-art-top { font-size:.54rem; }
 .hero-inquiry-art .inquiry-art-title { margin:.8rem 0 .25rem; font-size:clamp(2.8rem,11vw,4rem); }
 .hero-inquiry-art p { font-size:.65rem; }
 .hero-inquiry-art dl { margin:.7rem 0; }
 .hero-inquiry-art dl div { font-size:.59rem; padding:.3rem 0; }
 .inquiry-art-next { margin:0 -1rem; padding:.55rem 1rem; font-size:.61rem; }
 .hero-art-note { bottom:-.5rem; font-size:.59rem; }
 .hero-bottom { margin-top:1.1rem; font-size:.65rem; }
 .hero-bottom span:last-child { display:none; }
 .breaks { padding:5rem 0; }
 .breaks h2,.capabilities h2,.engagement h2,.qualify h2 { font-size:clamp(2.65rem,10vw,3.8rem); }
 .breaks-intro > p,.capabilities-intro > p,.engagement-intro > p { font-size:.92rem; }
 .break-list { margin-top:2.5rem; }
 .break-item { min-height:160px; padding:1.4rem; }
 .break-flow { font-size:1rem; }
 .break-item p { padding-top:1.5rem; font-size:.82rem; }
 .journey { padding:5rem 0; }
 .journey h2 { font-size:clamp(2.8rem,10.7vw,4.3rem); }
 .journey-states { gap:1.5rem; }
 .journey-state { gap:.65rem; grid-template-columns:2rem minmax(0,1fr); padding-top:1.5rem; }
 .journey-body h3 { font-size:1.55rem; }
 .journey-body > p { font-size:.89rem; }
 .handoff-compare { grid-template-columns:1fr; }
 .handoff-meta div { font-size:.71rem; }
 .journey-page-ui { min-height:200px; }
 .capabilities { padding:5rem 0; }
 .capability-system { display:grid; grid-template-columns:1fr; grid-template-rows:repeat(4, minmax(320px,auto)); gap:.75rem; margin-top:2.5rem; }
 .cap-tile { min-height:320px; padding:1.5rem; }
 .cap-content { max-width:55%; }
 .cap-tile h3 { font-size:1.6rem; }
 .cap-tile p { font-size:.78rem; }
 .cap-search,.cap-page,.cap-message,.cap-learning { transform:scale(.72); transform-origin:bottom right; right:-3%; bottom:0; width:70%; }
 .cap-action .cap-page { transform:rotate(5deg) scale(.72); }
 .cap-found .cap-search { transform:rotate(-6deg) scale(.72); }
 .cap-follow .cap-message { transform:scale(.72); }
 .cap-learn .cap-learning { transform:rotate(-4deg) scale(.72); }
 .cap-system-label { display:none; }
 .framework { padding:5rem 0; min-height:0; }
 .framework h2 { font-size:clamp(2.7rem,10vw,4rem); }
 .framework-grid { margin-top:3rem; gap:2rem .5rem; min-height:400px; }
 .framework-orbit { width:300px; height:300px; opacity:.4; }
 .framework-item { padding:.4rem; }
 .framework-item h3 { font-size:1.45rem; }
 .framework-item p { font-size:.74rem; }
 .engagement { padding:5rem 0; }
 .engagement-steps { margin:3rem 0 2rem; }
 .engagement-steps li { min-height:235px; }
 .qualify { padding:5rem 0; }
 .qualify-split { grid-template-columns:1fr; gap:.6rem; margin-top:2.5rem; }
 .qualify-split > div { min-height:190px; padding:1.4rem; }
 .qualify-split strong { font-size:1.7rem; }
 .qualify-list { grid-template-columns:1fr; gap:.7rem; }
 .qualify-list li { font-size:.85rem; }
 .closing { padding:5rem 0; }
 .closing-loop { display:flex; flex-wrap:wrap; width:auto; border:0; padding:0; justify-content:center; gap:.4rem; margin-bottom:3rem; }
 .closing-loop span { padding:.32rem .55rem; font-size:.6rem; border:1px solid rgba(181,246,190,.45); }
 .closing-loop span::before,.closing-loop span + span::before { display:none; }
 .closing-signature { font-size:clamp(3rem,11.5vw,5rem); }
}
@media (max-width:380px) {
 .hero-art { height:480px; }
 .hero-inquiry-art { width:82%; }
 .cap-content { max-width:58%; }
 .cap-tile h3 { font-size:1.45rem; }
 .cap-visual { opacity:.7; }
}
@media (prefers-reduced-motion:reduce) { .current-path { animation:none; stroke-dashoffset:0; } .journey[data-active="4"] .live-record { animation:none; } .btn:hover { transform:none; } }

/* Focused refinements from browser QA */
.handoff-trace { display:none; }
@media (min-width:900px) {
 .live-record-stage { justify-content:center; }
 .handoff-trace { display:flex; position:relative; align-items:center; justify-content:center; gap:.7rem; height:32px; margin:-.8rem auto; color:#c2f5cf; font-size:.72rem; font-weight:600; }
 .handoff-trace::before { content:""; position:absolute; left:50%; top:-9px; bottom:-7px; width:2px; background:linear-gradient(transparent,#92efa2); z-index:-1; }
 .handoff-trace i { width:7px; height:7px; border-radius:50%; background:#baffae; box-shadow:0 0 0 5px #8bf29b2c; }
 .journey[data-active="4"] .handoff-trace i { animation:handoffPulse 1.2s ease-out 1; }
 @keyframes handoffPulse { from { box-shadow:0 0 0 0 #8bf29b9c; } to { box-shadow:0 0 0 24px #8bf29b00; } }
 .cap-action .cap-page { width:45%; right:0; bottom:-22%; height:260px; }
 .cap-action .cap-content { max-width:54%; }
 .cap-follow .cap-message,.cap-learn .cap-learning { width:48%; }
 .cap-follow .cap-content,.cap-learn .cap-content { max-width:51%; }
}
@media (max-width:600px) {
 .capability-system { grid-template-rows:repeat(4, minmax(370px,auto)); }
 .cap-tile { min-height:370px; }
 .cap-content,.cap-action .cap-content,.cap-follow .cap-content,.cap-learn .cap-content { max-width:92%; }
 .cap-tile h3 { max-width:15ch; }
 .cap-tile p { max-width:25ch; }
 .cap-found .cap-search,.cap-action .cap-page,.cap-follow .cap-message,.cap-learn .cap-learning { width:76%; right:-2%; bottom:-8%; transform:scale(.66) rotate(-4deg); opacity:.9; }
 .cap-action .cap-page { transform:scale(.66) rotate(5deg); bottom:-15%; }
 .cap-learn .cap-learning { bottom:-11%; }
}
@media (prefers-reduced-motion:reduce) { .journey[data-active="4"] .handoff-trace i { animation:none; } }
@media (max-width:899px) {
 .journey-state-signature { overflow:hidden; box-shadow:0 22px 50px rgba(0,0,0,.16); }
 .journey-state-signature::before { content:""; position:absolute; width:280px; height:280px; right:-155px; top:-145px; border:1px solid rgba(153,250,175,.35); border-radius:50%; box-shadow:0 0 0 45px rgba(34,211,127,.055),0 0 0 90px rgba(34,211,127,.035); }
 .journey-state-signature .journey-body h3 { font-size:clamp(2rem,6vw,2.8rem); }
 .journey-state-signature .handoff-broken { transform:rotate(-2deg); }
 .journey-state-signature .handoff-connected { position:relative; margin-top:.4rem; padding:1.2rem; border:0; background:#e9f9e9; color:#0b3027; box-shadow:0 18px 36px rgba(0,0,0,.2); transform:rotate(1deg); }
 .journey-state-signature .handoff-connected .handoff-label { color:#2c7b53; font-weight:700; }
 .journey-state-signature .handoff-meta dt { color:#5b7763; }
 .journey-state-signature .handoff-meta dd { color:#0c6843; font-weight:600; }
}

/* ===== Premiumization pass: one grid, quieter materials, stronger hierarchy ===== */
:root {
  --max-width: 1320px;
  --gutter: clamp(1.5rem, 4.1vw, 4.25rem);
  --paper: #f5f7f2;
  --hairline-light: #cbd5cc;
  --hairline-dark: rgba(225, 242, 229, .19);
}
.wrap, .hero .wrap, .journey > .wrap, .framework > .wrap { max-width: var(--max-width); }
body { background: var(--paper); }
h1, h2, h3 { text-wrap: balance; }
h2 { font-weight: 700; }
.section-index, .eyebrow { font-size: .78rem; font-weight: 600; letter-spacing: .005em; }
.section-index { margin-bottom: 1.35rem; }
.site-header { background: rgba(9, 18, 29, .95); border-color: rgba(248,250,247,.12); backdrop-filter: blur(12px); }
.header-inner { min-height: 70px; }
.nav-links-desktop { gap: clamp(1rem, 2.2vw, 2rem); }
.nav-links-desktop a, .footer-links a { transition: color .18s ease; }
.nav-links-desktop a:focus-visible, .footer-links a:focus-visible { color: var(--ivory); }
.btn { min-height: 3.25rem; padding: .77rem 1.4rem; border-radius: 3px; transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
.btn:hover { transform: none; }
.btn-primary:hover { background: #a4efbd; box-shadow: none; }
.btn-secondary:hover { background: rgba(248,250,247,.075); border-color: rgba(248,250,247,.7); }
.btn-small { min-height: 2.55rem; }
.btn-large { min-height: 3.6rem; }

/* Hero: the opportunity is part of the same canvas as the headline. */
.hero { min-height: 840px; padding: clamp(4rem, 6vw, 6rem) 0 2.1rem; background: radial-gradient(ellipse 62% 65% at 81% 54%, #17352f 0%, #102129 49%, #0b1220 100%); }
.hero::after { background: linear-gradient(90deg, transparent 45%, rgba(72,110,94,.055) 100%); }
.hero-grain { opacity: .065; }
.hero-grid { grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); min-height: 660px; }
.hero-copy { padding-bottom: 2.8rem; }
.hero-copy .eyebrow { margin-bottom: 1.9rem; color: #d4e2d8; }
.hero-copy h1 { max-width: 10.4ch; font-size: clamp(4rem, 5.9vw, 6.4rem); line-height: 1.02; letter-spacing: -.07em; text-shadow: none; }
.hero-sub { max-width: 48ch; margin-top: 1.9rem; color: #c2d0c8; font-size: 1.04rem; line-height: 1.64; }
.hero-ctas { margin-top: 1.95rem; }
.hero-art { width: calc(100% + 5rem); height: 680px; margin-left: -6.4rem; transform: translateY(1.35rem); }
.hero-current > path:first-of-type { opacity: .11; }
.hero-search-art, .hero-page-art, .hero-request-art, .hero-inquiry-art { box-shadow: 0 20px 55px rgba(1,9,13,.24); }
.hero-search-art { left: 1%; top: 3%; transform: rotate(-3deg); }
.hero-page-art { top: 20%; right: 1%; transform: rotate(3deg); }
.hero-request-art { top: 49%; left: 0; transform: rotate(-4deg); background: #1a3430; border-color: rgba(205,238,214,.38); }
.hero-inquiry-art { right: 0; bottom: 2%; width: min(79%, 455px); transform: rotate(-1deg); border: 1px solid #d9e5da; box-shadow: 0 28px 70px rgba(0,0,0,.36); }
.inquiry-art-next { background: #154d3d; }
.hero-art-note { bottom: 1.1rem; left: 0; max-width: 20ch; line-height: 1.35; }
.hero-bottom { color: #afc6b7; }

/* The problem is shown as one editorial list, rather than three small panels. */
.breaks { padding: clamp(6rem, 9vw, 8.8rem) 0; background: #edf2eb; }
.breaks::before { width: 1px; height: 84px; right: var(--gutter); top: 0; border: 0; border-radius: 0; box-shadow: none; background: linear-gradient(#22d37f, transparent); }
.breaks-intro, .capabilities-intro, .engagement-intro { grid-template-columns: minmax(0, 1.25fr) minmax(0, .55fr); column-gap: clamp(3rem, 8vw, 8rem); }
.breaks h2 { max-width: 16.5ch; font-size: clamp(2.7rem, 4.7vw, 4.55rem); line-height: 1.075; }
.breaks-intro > p, .capabilities-intro > p, .engagement-intro > p { max-width: 34ch; color: #526558; font-size: 1rem; line-height: 1.6; }
.break-list { display: block; margin-top: 4.5rem; border: 0; border-bottom: 1px solid var(--hairline-light); background: transparent; }
.break-item, .break-item:nth-child(2) { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); align-items: center; min-height: 118px; padding: 1.35rem 0; border-top: 1px solid var(--hairline-light); background: transparent; }
.break-item p { margin: 0; padding: 0; max-width: 44ch; font-size: .9rem; }
.break-flow { font-size: clamp(1.1rem, 1.65vw, 1.45rem); }
.break-connector::after, .break-item:nth-child(2) .break-connector::after { background: #edf2eb; }

/* The anchored artifact has a persistent source trail and a measured handoff. */
.journey { padding: clamp(6rem, 8vw, 8rem) 0 6rem; background: linear-gradient(145deg, #102b2b 0%, #0b1925 32%, #0b1220 86%); }
.journey::before { left: var(--gutter); background: linear-gradient(transparent, rgba(34,211,127,.28) 18%, rgba(34,211,127,.18) 82%, transparent); }
.journey h2 { max-width: 15ch; font-size: clamp(3.15rem, 5.25vw, 5.55rem); line-height: 1.05; }
.journey .section-lede-light { max-width: 49ch; line-height: 1.65; }
.journey-letter { border-color: rgba(117,218,150,.65); color: #b4d9ba; }
.journey-state-signature .journey-body h3 { color: var(--ivory); }
.handoff-connected { border-color: rgba(34,211,127,.66); }
.handoff-meta dd { color: #d9f5df; }
.journey-live-context { display: none; }
@media (min-width:900px) {
  .journey-layout { grid-template-columns: minmax(0, .38fr) minmax(0, .62fr); gap: clamp(2.5rem, 5.5vw, 5.5rem); }
  .journey-state { min-height: 65svh; }
  .journey-states { padding-bottom: 20svh; }
  .journey-body h3 { font-size: clamp(1.9rem, 2.6vw, 2.8rem); }
  .journey-body > p:first-of-type { font-size: 1rem; line-height: 1.62; }
  .journey-live { height: min(660px, calc(100svh - 7rem)); min-height: 470px; border-radius: 5px; border-color: rgba(205,233,213,.24); padding: 1.55rem 1.7rem; background: linear-gradient(145deg, #132b2c, #10212a 57%, #0d1b28); box-shadow: 0 24px 70px rgba(0,0,0,.2); }
  .journey-live::before { inset: 10px; border-radius: 2px; border-color: rgba(225,242,229,.08); }
  .journey-live-glow { width: 62%; height: 1px; left: 19%; top: 47%; border: 0; border-radius: 0; box-shadow: 0 0 55px 17px rgba(34,211,127,.055); }
  .journey-live-context { display: grid; grid-template-columns: repeat(7,1fr); gap: .28rem; padding-top: .55rem; }
  .journey-live-context span { overflow: hidden; white-space: nowrap; text-overflow: clip; color: #91aba0; font-size: .54rem; letter-spacing: -.01em; border-top: 1px solid rgba(225,242,229,.18); padding-top: .38rem; }
  .journey[data-active="1"] .journey-live-context span:nth-child(1), .journey[data-active="2"] .journey-live-context span:nth-child(2), .journey[data-active="3"] .journey-live-context span:nth-child(3), .journey[data-active="4"] .journey-live-context span:nth-child(4), .journey[data-active="5"] .journey-live-context span:nth-child(5), .journey[data-active="6"] .journey-live-context span:nth-child(6), .journey[data-active="7"] .journey-live-context span:nth-child(7) { color: #d5f5d7; border-color: var(--green); }
  .live-stage { transform: translateY(5px); transition-duration: 300ms; }
  .live-search .journey-search-field, .live-search .journey-search-result, .journey-live .journey-page-ui, .journey-live .journey-form { box-shadow: 0 18px 45px rgba(0,0,0,.2); }
  .live-search .journey-search-result { transform: translate(8%, 7%) rotate(-1deg); }
  .journey-live .journey-page-ui { transform: rotate(-1deg); }
  .journey-live .journey-form { transform: rotate(1deg); }
  .live-vague { background: #24302e; border-style: solid; transform: rotate(-1deg); }
  .handoff-trace { color: #d5eedb; }
  .handoff-trace i { box-shadow: none; }
  .live-record { transform: rotate(.5deg); box-shadow: 0 24px 60px rgba(0,0,0,.28); }
  .live-record-head { background: #163d34; border-bottom: 2px solid var(--green); }
  .live-record-head strong { font-size: 1.8rem; }
  .live-record-update { background: #e4f1e5; }
  @keyframes handoffLand { from { transform: translateY(14px) rotate(1deg); opacity:.65; } to { transform: translateY(0) rotate(.5deg); opacity:1; } }
}

/* Four problems form one ruled field, with each interface tied to its explanation. */
.capabilities { position: relative; padding: clamp(6rem, 9vw, 8.8rem) 0; background: var(--paper); }
.capabilities::before { content:""; position:absolute; top:0; left:var(--gutter); width:1px; height:78px; background:linear-gradient(var(--green),transparent); }
.capabilities h2 { max-width: 17ch; font-size: clamp(2.8rem, 4.8vw, 4.7rem); line-height: 1.065; }
.capability-system { display: block; margin-top: 4.8rem; border-bottom: 1px solid var(--hairline-light); }
.cap-tile, .cap-found, .cap-action, .cap-follow, .cap-learn { display: flex; align-items: center; min-height: 255px; padding: 1.9rem 0; overflow: visible; border-top: 1px solid var(--hairline-light); border-radius: 0; background: transparent; color: var(--midnight); }
.cap-tile::after { display: none; }
.cap-content, .cap-action .cap-content, .cap-follow .cap-content, .cap-learn .cap-content { max-width: 44%; }
.cap-number, .cap-action .cap-number { color: #547366; font-size: .72rem; font-weight: 600; }
.cap-tile h3 { max-width: 19ch; margin-top: .6rem; font-size: clamp(1.5rem, 2.1vw, 2.2rem); line-height: 1.14; }
.cap-tile p, .cap-action p { max-width: 37ch; margin-top: .65rem; color: #506558; font-size: .91rem; }
.cap-visual { opacity: 1; }
.cap-search, .cap-page, .cap-message, .cap-learning, .cap-found .cap-search, .cap-action .cap-page, .cap-follow .cap-message, .cap-learn .cap-learning { width: min(40%, 380px); height: 190px; right: 4%; left: auto; bottom: 1rem; transform: none; }
.cap-search { height: 165px; top: 3.4rem; }
.cap-search-field, .cap-search-results, .cap-message-in, .cap-message-out, .cap-learning, .cap-page { box-shadow: 0 13px 30px rgba(18,50,35,.1); }
.cap-page { height: 210px; padding: 1.4rem; }
.cap-page strong { margin-top: 1.2rem; font-size: clamp(1.8rem, 2.7vw, 2.7rem); }
.cap-page-button { margin-top: 1.4rem; }
.cap-message { height: 175px; }
.cap-learning { height: 205px; }
.cap-action .cap-content, .cap-learn .cap-content { margin-left: 54%; }
.cap-action .cap-page, .cap-learn .cap-learning { left: 2%; right: auto; }
.cap-system-label { top: -1.8rem; left: auto; right: 0; display: block; width: auto; height: auto; padding: 0; transform: none; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #547366; font: 600 .75rem var(--font-body); letter-spacing: 0; }

/* The framework is a working map, with four priorities attached to one path. */
.framework { min-height: 0; padding: clamp(6rem, 9vw, 8.8rem) 0; background: linear-gradient(145deg, #102b2b, #0b1925 64%, #0b1220); }
.framework h2 { max-width: 18ch; font-size: clamp(2.8rem, 4.8vw, 4.8rem); line-height: 1.06; }
.framework .section-lede-light { max-width: 62ch; color: #bbcbc0; }
.framework-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 0 clamp(3rem, 8vw, 8rem); min-height: 0; margin-top: 4.5rem; padding: 0; border-top: 1px solid var(--hairline-dark); border-bottom: 1px solid var(--hairline-dark); }
.framework-orbit { position: relative; grid-row: 1 / span 4; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; width: auto; height: auto; left: auto; top: auto; padding: 2rem 4rem 2rem 0; transform: none; border: 0; border-right: 1px solid var(--hairline-dark); border-radius: 0; box-shadow: none; }
.framework-orbit::before, .framework-orbit::after { display: none; }
.framework-orbit span { position: static; width: auto; height: auto; border: 0; border-radius: 0; background: transparent; }
.framework-map-label { color: #9fbea9; font: 600 .75rem var(--font-body); }
.framework-orbit strong { display: block; max-width: 17ch; margin-top: 1.2rem; color: var(--ivory); font: 700 clamp(2rem, 3.1vw, 3.1rem)/1.13 var(--font-display); letter-spacing: -.06em; }
.framework-map-path { display: flex; flex-wrap: wrap; gap: 0; width: 100%; margin: 2.5rem 0 1.5rem; border-bottom: 1px solid #55bc81; }
.framework-map-path span { position: relative; flex: 1; padding: 0 .5rem .6rem 0; color: #cadbce; font: 500 .74rem var(--font-body); }
.framework-orbit .framework-map-path span { left: auto; right: auto; top: auto; bottom: auto; }
.framework-map-path span::after { content:""; position:absolute; left:0; bottom:-4px; width:7px; height:7px; border:1px solid var(--green); border-radius:50%; background:#103029; }
.framework-orbit b { position: static; transform: none; color: #9fbea9; font: 500 .75rem var(--font-body); letter-spacing: 0; }
.framework-item, .framework-item:nth-of-type(even) { display: grid; grid-template-columns: minmax(0, .52fr) minmax(0, .48fr); gap: 1rem; align-items: baseline; justify-self: stretch; max-width: none; min-height: 108px; padding: 1.2rem 0; border: 0; border-bottom: 1px solid var(--hairline-dark); }
.framework-item:last-child { border-bottom: 0; }
.framework-item h3 { color: var(--ivory); font-size: clamp(1.55rem, 2vw, 2rem); font-weight: 700; }
.framework-item p { max-width: 25ch; margin: 0; color: #b4c6b9; font-size: .86rem; line-height: 1.55; }

/* A client relationship shown as a continuous sequence. */
.engagement { padding: clamp(6rem, 9vw, 8.8rem) 0; background: #e9efe7; }
.engagement h2 { max-width: 17ch; font-size: clamp(2.8rem, 4.8vw, 4.8rem); line-height: 1.06; }
.engagement-steps { position: relative; grid-template-columns: repeat(3,1fr); gap: 0; margin: 4.5rem 0 2.5rem; border-top: 1px solid #7aa98b; }
.engagement-steps li, .engagement-steps li:nth-child(2), .engagement-steps li:nth-child(3) { min-height: 260px; padding: 2.2rem clamp(1.4rem, 3vw, 3rem) 0 0; transform: none; border: 0; background: transparent; box-shadow: none; }
.engagement-steps li::after { content:""; position:absolute; width:9px; height:9px; left:0; top:-5px; border-radius:50%; border:1px solid #3d9667; background:#e9efe7; }
.engagement-steps li:nth-child(2)::after { background:#7fbf96; }
.engagement-steps li:nth-child(3)::after { background:var(--green); }
.engagement-steps li::before, .engagement-steps li:nth-child(2)::before, .engagement-steps li:nth-child(3)::before { content:"0" counter(step); color: #9fb7a4; font: 700 clamp(2.8rem, 4.4vw, 4.2rem)/1 var(--font-display); letter-spacing: -.09em; }
.engagement-phase { display: block; margin-top: 1.2rem; color: #4a6652; font-size: .75rem; font-weight: 600; }
.engagement-steps h3 { margin-top: .3rem; font-size: clamp(1.55rem, 2vw, 2rem); }
.engagement-steps p { max-width: 28ch; margin-top: .7rem; font-size: .9rem; }
.engagement > .wrap > .btn { margin-top: 0; }

/* Quiet closing sections let the signature moments retain their weight. */
.qualify { padding: clamp(5rem, 7.5vw, 7rem) 0; background: var(--ivory); }
.qualify h2 { font-size: clamp(2.7rem, 4.25vw, 4.25rem); }
.qualify-split > div { min-height: 250px; background: #e7efe5; }
.qualify-split > div:nth-child(2) { background: #18372e; }
.qualify-split > div::after { opacity: .32; box-shadow: none; }
.qualify-list { margin-top: 2.4rem; }
.closing { padding: clamp(6rem, 9vw, 8rem) 0; background: linear-gradient(150deg, #0b1925, #102d2b 58%, #0b1220); }
.closing::before { width: 75vw; height: 1px; left: 12.5%; top: 0; transform: none; border: 0; border-radius: 0; background: linear-gradient(90deg, transparent, rgba(34,211,127,.7), transparent); box-shadow: none; }
.closing-loop { margin-bottom: 3.4rem; }
.closing-loop span { border-color: rgba(197,230,204,.4); background: transparent; color: #cbded0; }
.closing-signature { font-size: clamp(3.4rem, 6.1vw, 6.4rem); line-height: 1.06; letter-spacing: -.07em; }
.closing-sub { color: #bfd0c3; }

@media (max-width: 1100px) {
  .hero-grid { grid-template-columns: 1fr 1fr; }
  .hero-art { margin-left: 0; width: 100%; }
  .hero-copy h1 { font-size: clamp(3.75rem, 5.8vw, 5.5rem); }
  .cap-content, .cap-action .cap-content, .cap-follow .cap-content, .cap-learn .cap-content { max-width: 47%; }
}
@media (max-width: 899px) {
  .hero { min-height: 0; padding: 4.2rem 0 2.1rem; }
  .hero-grid { display: block; min-height: 0; }
  .hero-copy { padding: 0; }
  .hero-copy h1 { font-size: clamp(3.4rem, 8.8vw, 5.2rem); }
  .hero-art { width: min(100%, 650px); height: 620px; margin: 1.5rem auto 0; transform: none; }
  .hero-art-note { bottom: -1.2rem; left: .35rem; max-width: none; white-space: nowrap; }
  .hero-bottom { margin-top: 1.55rem; }
  .breaks-intro, .capabilities-intro, .engagement-intro { grid-template-columns: 1fr; gap: 1rem; }
  .breaks-intro .section-index, .capabilities-intro .section-index, .engagement-intro .section-index { grid-column: 1; }
  .break-list { margin-top: 2.7rem; }
  .break-item, .break-item:nth-child(2) { min-height: 116px; }
  .break-item p { padding: 0; }
  .journey-state-signature { border-radius: 5px; background: #17372f; border-color: rgba(34,211,127,.36); box-shadow: none; }
  .journey-state-signature::before { display: none; }
  .journey-state-signature .handoff-broken, .journey-state-signature .handoff-connected { transform: none; box-shadow: none; }
  .framework-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 2rem; }
  .framework-orbit { padding-right: 2rem; }
  .framework-item, .framework-item:nth-of-type(even) { display: block; }
  .framework-item p { margin-top: .3rem; }
  .engagement-steps { grid-template-columns: repeat(3,1fr); gap: 0; }
  .engagement-steps li, .engagement-steps li:nth-child(2), .engagement-steps li:nth-child(3) { min-height: 245px; }
}
@media (max-width: 600px) {
  :root { --gutter: 1.25rem; }
  section { padding: 4.25rem 0; }
  .header-inner { min-height: 61px; }
  .hero { padding: 3.2rem 0 1.4rem; }
  .hero-copy .eyebrow { margin-bottom: 1.1rem; font-size: .72rem; }
  .hero-copy h1 { max-width: 10.5ch; font-size: clamp(3rem, 12.4vw, 3.9rem); line-height: 1.015; }
  .hero-sub { max-width: 38ch; margin-top: 1.25rem; font-size: .92rem; line-height: 1.58; }
  .hero-ctas { margin-top: 1.35rem; }
  .hero-ctas .btn { min-height: 3rem; padding: .7rem .9rem; }
  .hero-art { width: calc(100% + .5rem); height: 470px; margin: 1.4rem -.25rem 0; }
  .hero-search-art { width: 208px; }
  .hero-page-art { width: 218px; height: 170px; }
  .hero-request-art { width: 190px; }
  .hero-inquiry-art { width: 79%; bottom: 2%; }
  .hero-bottom { margin-top: .25rem; }
  .hero-art-note { font-size: .57rem; }
  .hero-bottom { margin-top: 1.55rem; }
  .breaks, .capabilities, .engagement, .framework, .qualify { padding: 4.3rem 0; }
  .breaks h2 { max-width: 14ch; font-size: clamp(2.4rem, 9.4vw, 3.2rem); }
  .capabilities h2, .engagement h2 { max-width: 17ch; font-size: clamp(2.35rem, 9.2vw, 3.15rem); }
  .breaks-intro > p, .capabilities-intro > p, .engagement-intro > p { font-size: .91rem; }
  .break-list { margin-top: 2.4rem; }
  .break-item, .break-item:nth-child(2) { display: block; min-height: 0; padding: 1.1rem 0 1.2rem; }
  .break-flow { font-size: 1.08rem; }
  .break-item p { margin-top: .5rem; max-width: 39ch; font-size: .82rem; }
  .journey { padding: 4.5rem 0 4.2rem; }
  .journey h2 { font-size: clamp(2.6rem, 10vw, 3.65rem); }
  .journey .section-lede-light { font-size: .88rem; }
  .journey-states { gap: .55rem; margin-top: 2.3rem; }
  .journey-state { padding-top: 1.2rem; gap: .7rem; }
  .journey-letter { width: 1.7rem; height: 1.7rem; font-size: .77rem; }
  .journey-body h3 { font-size: 1.37rem; margin-bottom: .3rem; }
  .journey-body > p { font-size: .84rem; line-height: 1.55; }
  .journey-search-ui, .journey-page-ui, .journey-form, .followup-ui { margin-top: .85rem; }
  .journey-page-ui { min-height: 178px; }
  .journey-form { padding: 1.05rem; }
  .handoff-compare { gap: .6rem; }
  .journey-state-signature { padding: 1.4rem .8rem; }
  .journey-state-signature .journey-body h3 { font-size: 1.75rem; }
  .journey-state-signature .handoff-connected { margin-top: 0; padding: .9rem; }
  .handoff-meta { gap: .35rem; }
  .outcome-note { font-size: .75rem; }
  .capability-system { margin-top: 2.7rem; }
  .cap-tile, .cap-found, .cap-action, .cap-follow, .cap-learn { display: block; min-height: 290px; padding: 1.2rem 0 0; overflow: hidden; }
  .cap-content, .cap-action .cap-content, .cap-follow .cap-content, .cap-learn .cap-content { max-width: 100%; margin-left: 0; }
  .cap-tile h3 { max-width: 19ch; margin-top: .4rem; font-size: 1.45rem; }
  .cap-tile p { max-width: 39ch; margin-top: .35rem; font-size: .8rem; }
  .cap-found .cap-search, .cap-action .cap-page, .cap-follow .cap-message, .cap-learn .cap-learning { width: 75%; height: 150px; left: auto; right: -2%; bottom: -.3rem; top: auto; transform: scale(.84); transform-origin: bottom right; opacity: .9; }
  .cap-found .cap-search { height: 130px; bottom: 0; }
  .cap-action .cap-page { height: 168px; bottom: -.7rem; }
  .cap-page strong { margin-top: .7rem; font-size: 1.55rem; }
  .cap-page-button { margin-top: .7rem; font-size: .6rem; }
  .cap-follow .cap-message { height: 135px; bottom: -.7rem; }
  .cap-learn .cap-learning { height: 165px; bottom: -1rem; }
  .cap-found .cap-search, .cap-action .cap-page, .cap-follow .cap-message, .cap-learn .cap-learning { top: 9.45rem; bottom: auto; transform: scale(.74); transform-origin: top right; opacity: 1; }
  .cap-search-results { margin-top: .5rem; padding: .6rem .8rem; }
  .cap-search-results b { font-size: 1.12rem; }
  .cap-search-results small, .cap-search-results i { display: none; }
  .cap-system-label { top: -1.45rem; font-size: .69rem; }
  .framework h2 { font-size: clamp(2.5rem, 9.2vw, 3.3rem); }
  .framework-grid { display: block; margin-top: 2.7rem; }
  .framework-orbit { padding: 2rem 0 2.3rem; border-right: 0; border-bottom: 1px solid var(--hairline-dark); opacity: 1; }
  .framework-orbit strong { font-size: 2.1rem; }
  .framework-map-path { margin: 1.9rem 0 1.2rem; }
  .framework-map-path span { font-size: .67rem; }
  .framework-item, .framework-item:nth-of-type(even) { display: grid; grid-template-columns: minmax(0,.42fr) minmax(0,.58fr); min-height: 91px; padding: 1rem 0; }
  .framework-item h3 { font-size: 1.32rem; }
  .framework-item p { margin: 0; font-size: .75rem; }
  .engagement-steps { display: block; margin: 2.8rem 0 1.6rem; border-top: 0; border-left: 1px solid #7aa98b; }
  .engagement-steps li, .engagement-steps li:nth-child(2), .engagement-steps li:nth-child(3) { min-height: 0; padding: 0 0 1.4rem 1.25rem; }
  .engagement-steps li::after { left: -5px; top: .5rem; }
  .engagement-steps li::before, .engagement-steps li:nth-child(2)::before, .engagement-steps li:nth-child(3)::before { font-size: 2.4rem; }
  .engagement-phase { margin-top: .45rem; }
  .engagement-steps h3 { font-size: 1.5rem; }
  .engagement-steps p { margin-top: .3rem; font-size: .84rem; }
  .qualify h2 { font-size: clamp(2.35rem, 9vw, 3.1rem); }
  .qualify-split { margin-top: 2rem; }
  .qualify-split > div { min-height: 160px; padding: 1.25rem; }
  .qualify-split strong { font-size: 1.55rem; }
  .qualify-list { margin-top: 1.8rem; }
  .qualify-list li { font-size: .82rem; }
  .qualify-closing { margin-top: 1.8rem; }
  .closing { padding: 4.7rem 0 5rem; }
  .closing-loop { margin-bottom: 2.5rem; }
  .closing-loop span { font-size: .59rem; }
  .closing-signature { font-size: clamp(3rem, 10vw, 4.4rem); }
}

/* Growth Plan links share one composed primary action across the site. */
.growth-plan-cta.btn {
  align-items: stretch;
  padding: 0;
  min-height: 3.35rem;
  border: 1px solid #79c994;
  border-radius: 3px;
  background: #b9edc9;
  color: var(--midnight);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.38);
  font-size: .91rem;
  font-weight: 700;
  letter-spacing: -.012em;
  line-height: 1.15;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.growth-plan-cta .growth-plan-cta-label {
  display: flex;
  align-items: center;
  padding: .88rem 1.35rem;
  white-space: nowrap;
}
.growth-plan-cta .growth-plan-cta-arrow {
  display: grid;
  place-items: center;
  min-width: 3.1rem;
  border-left: 1px solid rgba(15,107,75,.32);
  color: var(--evergreen);
  font-size: 1.08rem;
  font-weight: 500;
}
.growth-plan-cta.btn:hover {
  background: #d0f4d9;
  border-color: #47a974;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.58);
}
.growth-plan-cta.btn:focus-visible {
  outline: 2px solid var(--midnight);
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--green);
}
.nav-cta.growth-plan-cta.btn {
  min-height: 2.7rem;
  font-size: .8rem;
  background: #d0f3d9;
  border-color: #a3ddb4;
}
.nav-cta.growth-plan-cta.btn:hover { background: #e0f8e6; border-color: #bce8c7; }
.nav-cta.growth-plan-cta .growth-plan-cta-label { padding: .63rem .82rem; }
.nav-cta.growth-plan-cta .growth-plan-cta-arrow { min-width: 2.4rem; }
.hero-ctas .growth-plan-cta.btn { padding: 0; }
.growth-plan-cta.btn-large { min-height: 3.7rem; }
.growth-plan-cta.btn-large .growth-plan-cta-label { padding: 1rem 1.5rem; }
.growth-plan-cta.btn-large .growth-plan-cta-arrow { min-width: 3.45rem; }

/* The desktop links and primary action share one raised navigation surface. */
.nav-shell { display: none; }
@media (min-width: 1000px) {
  body { background: #0b1220; }
  .site-header { background: transparent; border-color: transparent; backdrop-filter: none; }
  section { scroll-margin-top: 82px; }
  .header-inner { min-height: 72px; gap: clamp(1.5rem, 4vw, 3rem); padding-top: .55rem; padding-bottom: .55rem; }
  .header-inner > .logo { position: relative; flex: none; white-space: nowrap; }
  .site-header.over-content .header-inner > .logo::before {
    content: "";
    position: absolute;
    inset: -.35rem -.75rem;
    pointer-events: none;
    background: var(--wordmark-underlay, var(--ivory));
    mask-image: radial-gradient(ellipse, #000 70%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse, #000 70%, transparent 100%);
  }
  .header-inner > .logo span { position: relative; }
  .header-inner > .logo .logo-main { color: var(--ivory); transition: color .16s ease; }
  .header-inner > .logo .logo-accent { text-shadow: 0 1px 2px rgba(0,0,0,.55); transition: color .16s ease; }
  .site-header.over-light .logo-main { color: var(--midnight); }
  .site-header.over-light .logo-accent { color: var(--evergreen); text-shadow: none; }
  .nav-shell {
    display: flex;
    align-items: center;
    gap: clamp(1.1rem, 2vw, 1.75rem);
    min-height: 54px;
    margin-left: auto;
    padding: 5px 6px 5px clamp(1.15rem, 1.7vw, 1.55rem);
    background: rgba(17, 31, 45, .91);
    border: 1px solid rgba(226, 245, 233, .16);
    border-radius: 16px;
  }
  .nav-links-desktop { flex: none; align-items: center; gap: clamp(1rem, 1.8vw, 1.8rem); }
  .nav-links-desktop a { white-space: nowrap; font-size: .82rem; line-height: 1.2; color: rgba(248,250,247,.76); }
  .nav-cta.growth-plan-cta.btn { min-height: 42px; border-radius: 11px; font-size: .78rem; }
  .nav-cta.growth-plan-cta .growth-plan-cta-label { padding: .65rem .82rem; }
  .nav-cta.growth-plan-cta .growth-plan-cta-arrow { min-width: 2.5rem; }
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  @media (min-width: 1000px) {
    .nav-shell {
      background: rgba(17, 31, 45, .78);
      backdrop-filter: blur(26px) saturate(1.12);
      -webkit-backdrop-filter: blur(26px) saturate(1.12);
    }
  }
}
@media (min-width: 1000px) and (max-width: 1120px) {
  .header-inner { gap: 1.25rem; }
  .nav-shell { gap: .9rem; padding-left: .9rem; }
  .nav-links-desktop { gap: .95rem; }
  .nav-links-desktop a { font-size: .8rem; }
  .nav-cta.growth-plan-cta.btn { font-size: .77rem; }
  .nav-cta.growth-plan-cta .growth-plan-cta-label { padding: .65rem .65rem; }
  .nav-cta.growth-plan-cta .growth-plan-cta-arrow { min-width: 2.15rem; }
}

@media (max-width: 600px) {
  .hero-ctas .growth-plan-cta.btn { min-height: 3.2rem; padding: 0; font-size: .86rem; }
  .hero-ctas .growth-plan-cta .growth-plan-cta-label { padding: .78rem 1rem; }
  .hero-ctas .growth-plan-cta .growth-plan-cta-arrow { min-width: 2.75rem; }
}

/* Visual QA corrections */
.system-choices-cue { display: none; }
@media (max-width: 900px) {
  .system-builder.has-choice .system-choices-cue { display: block; padding-top: .85rem; color: #426d53; font-size: .78rem; font-weight: 600; }
}
@media (min-width: 900px) {
  .journey[data-active="4"] .live-record-stage { padding-bottom: 1.5rem; }
}
@media (min-width: 900px) and (max-width: 1100px) {
  .hero-request-art { top: 41%; }
}
.closing { display: grid; align-content: center; }
.closing > .wrap { width: 100%; }
@media (max-width: 999px) {
  #closing { min-height: calc(100svh - 20rem); scroll-margin-top: 70px; }
}
@media (min-width: 1000px) {
  #closing { min-height: calc(100vh - 9rem); scroll-margin-top: 0; }
}
@media (max-width: 600px) {
  .hero-request-art { left: -1.5rem; }
  #closing { scroll-margin-top: 62px; }
  .engagement-steps p { max-width: 42ch; }
}

/* ============ Legal pages (Privacy Policy) ============ */
.legal-main { background: var(--ivory); }
.legal-hero { padding: clamp(3.2rem, 6vw, 5.2rem) 0 clamp(2rem, 4vw, 2.8rem); border-bottom: 1px solid var(--ink-on-light-faint); }
.legal-hero .eyebrow { color: var(--evergreen); }
.legal-hero h1 { margin-top: 1rem; font-size: clamp(2.15rem, 4.4vw, 3.3rem); letter-spacing: -0.04em; max-width: 20ch; }
.legal-updated { margin-top: 1.1rem; color: var(--ink-on-light-muted); font-size: 0.9rem; }
.legal-body { max-width: 700px; padding: clamp(2.6rem, 5vw, 4rem) 0 clamp(4rem, 8vw, 6rem); }
.legal-body section { padding: 0; }
.legal-body section + section { margin-top: 2.5rem; }
.legal-body h2 { font-size: clamp(1.2rem, 2vw, 1.45rem); letter-spacing: -0.02em; margin-bottom: 0.9rem; }
.legal-body p { color: var(--ink-on-light-muted); margin-top: 0.85rem; font-size: 0.98rem; }
.legal-body section > p:first-of-type { margin-top: 0; }
.legal-body ul { margin-top: 0.85rem; display: grid; gap: 0.5rem; }
.legal-body ul li { position: relative; padding-left: 1.15rem; color: var(--ink-on-light-muted); font-size: 0.98rem; }
.legal-body ul li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 6px; height: 6px; border-radius: 50%; background: var(--evergreen); }
.legal-body a { color: var(--evergreen); text-decoration: underline; text-underline-offset: 0.2rem; }
.legal-body strong { color: var(--ink-on-light); font-weight: 600; }
