:root {
  --ivory: #f5ead8;
  --ivory-soft: #fbf5e9;
  --sand: #ebddc5;
  --sand-deep: #dfccb0;
  --paper: #fffaf1;
  --ink: #2b241f;
  --brown: #5b4032;
  --brown-deep: #33251f;
  --brown-soft: #765746;
  --clay: #c67139;
  --clay-dark: #a9542f;
  --stone: #ccbba2;
  --muted: #6f6359;
  --line: rgba(61, 43, 34, 0.19);
  --shadow: 0 24px 70px rgba(70, 48, 36, 0.13);
  --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-body: "Figtree", Arial, sans-serif;
  --shell: min(1220px, calc(100vw - 56px));
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--ivory);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open, body.sage-open { overflow: hidden; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
button { color: inherit; }
p, h1, h2, h3, blockquote { margin-top: 0; }
h1, h2, h3, blockquote {
  font-family: var(--font-display);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.035em;
}
h1 { font-size: clamp(4.25rem, 7vw, 7.9rem); }
h2 { font-size: clamp(3.1rem, 5.1vw, 5.8rem); }
h3 { font-size: clamp(1.8rem, 2.35vw, 2.7rem); }
.shell { width: var(--shell); margin-inline: auto; }
.narrow { max-width: 870px; }
.section { padding: clamp(96px, 11vw, 164px) 0; }
.section-pad { padding: clamp(88px, 10vw, 146px) 0; }
.section-ivory { background: var(--ivory); }
.section-sand { background: var(--sand); }
.section-white { background: var(--paper); }
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.skip-link {
  position: fixed;
  z-index: 9999;
  left: 18px;
  top: 18px;
  padding: 10px 16px;
  background: var(--ink);
  color: var(--paper);
  transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }

.eyebrow, .section-number, .kicker, .form-kicker {
  margin-bottom: 22px;
  color: var(--clay-dark);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.eyebrow-light, .section-heading-light .eyebrow, .section-heading-light .section-number { color: #e9b38a; }
.editorial-heading {
  display: grid;
  grid-template-columns: minmax(170px, 0.34fr) minmax(0, 1fr);
  gap: clamp(36px, 7vw, 112px);
  align-items: start;
  margin-bottom: clamp(62px, 8vw, 110px);
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.editorial-heading h2 { max-width: 1000px; margin-bottom: 24px; }
.editorial-heading > div > p { max-width: 680px; margin: 0; color: var(--muted); font-size: 1.1rem; }
.section-heading { max-width: 820px; margin-bottom: clamp(48px, 7vw, 84px); }
.section-heading h2 { margin-bottom: 22px; }
.section-heading > p:last-child { max-width: 670px; color: var(--muted); font-size: 1.1rem; }
.section-heading-light, .section-heading-light > p:last-child { color: var(--ivory-soft); }

.button-row { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; }
.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 14px 24px;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 180ms ease, color 180ms ease, background 180ms ease, border-color 180ms ease;
}
.button:hover { transform: translateY(-2px); }
.button-clay, .button-copper { background: var(--clay-dark); color: #fffaf3; }
.button-clay:hover, .button-copper:hover { background: var(--brown-deep); }
.button-dark { background: var(--ink); color: var(--ivory-soft); }
.button-dark:hover { background: var(--brown); }
.button-outline { border-color: currentColor; background: transparent; }
.button-small { min-height: 42px; padding: 11px 18px; background: var(--brown-deep); color: var(--ivory-soft); font-size: 0.68rem; }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--brown-deep);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-decoration: none;
  text-transform: uppercase;
}
.text-link span { color: var(--clay); font-size: 1.1rem; }
.text-link-light { color: var(--ivory-soft); }

/* Header */
.site-header {
  position: fixed;
  z-index: 1000;
  inset: 0 0 auto;
  border-bottom: 1px solid transparent;
  background: rgba(245, 234, 216, 0.92);
  backdrop-filter: blur(16px);
  transition: box-shadow 180ms ease, border-color 180ms ease;
}
.site-header.is-scrolled { border-color: var(--line); box-shadow: 0 10px 35px rgba(76, 53, 39, 0.08); }
.header-inner { display: flex; min-height: 82px; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.brand img { width: 42px; height: 42px; }
.brand span { display: grid; }
.brand strong { font-family: var(--font-display); font-size: 1.38rem; font-weight: 600; line-height: 1; letter-spacing: -0.02em; }
.brand small { margin-top: 4px; color: var(--muted); font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase; }
.primary-navigation { display: flex; align-items: center; gap: 26px; }
.primary-navigation > a:not(.button), .nav-sage {
  border: 0;
  padding: 5px 0;
  background: none;
  color: var(--brown-deep);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}
.primary-navigation > a:not(.button):hover, .nav-sage:hover { color: var(--clay-dark); }
/* Client Login — a utility action for existing partners, not a prospect CTA.
   Deliberately outlined/compact rather than reusing .button-small (solid
   fill), so it never competes visually with "Book a consultation". */
.nav-client-login {
  min-height: 44px;
  padding: 10px 18px;
  border-color: var(--brown);
  background: transparent;
  color: var(--brown-deep);
  font-size: 0.66rem;
}
.nav-client-login:hover { border-color: var(--clay-dark); color: var(--clay-dark); background: rgba(198,113,57,.08); }
.nav-client-login:focus-visible { outline: 2px solid var(--clay-dark); outline-offset: 3px; }
.menu-toggle { display: none; border: 0; background: none; cursor: pointer; }

/* Home hero */
.hero { position: relative; padding-top: 82px; background: var(--ivory); overflow: hidden; }
.hero-grid {
  display: grid;
  min-height: min(860px, calc(100svh - 32px));
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
  gap: clamp(48px, 7vw, 108px);
  align-items: center;
  padding-top: clamp(64px, 8vw, 112px);
  padding-bottom: clamp(64px, 8vw, 112px);
}
.hero-copy { position: relative; z-index: 2; }
.hero-copy .eyebrow { max-width: 500px; }
.hero-copy h1 { max-width: 820px; margin-bottom: 28px; color: var(--brown-deep); font-size: clamp(3.6rem, 5.5vw, 6.2rem); }
.hero-copy h1 em { color: var(--clay-dark); font-weight: 400; }
.hero-lead { max-width: 660px; margin-bottom: 36px; color: #5e5149; font-size: clamp(1rem, 1.35vw, 1.2rem); }
.hero-proof { display: flex; align-items: center; gap: 12px; margin-top: 48px; color: var(--brown-soft); font-size: 0.67rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.hero-proof i { width: 24px; height: 1px; background: var(--stone); }
.hero-visual { position: relative; align-self: stretch; display: flex; align-items: center; justify-content: center; min-height: 610px; }
.hero-arch {
  position: relative;
  width: min(100%, 490px);
  height: min(690px, 74vh);
  min-height: 570px;
  border-radius: 260px 260px 14px 14px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.hero-arch::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.32); border-radius: inherit; }
.hero-arch img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-arch img.hero-karen-image { object-position: center 42%; }
.hero-visual::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 72%;
  aspect-ratio: 1;
  right: -22%;
  top: 1%;
  border: 1px solid var(--stone);
  border-radius: 50%;
}
.hero-visual-note {
  position: absolute;
  left: -42px;
  bottom: 76px;
  width: 250px;
  padding: 22px;
  background: var(--paper);
  box-shadow: 0 18px 55px rgba(71, 46, 32, .17);
}
.hero-visual-note span { color: var(--clay-dark); font-size: .61rem; font-weight: 700; letter-spacing: .11em; line-height: 1.4; text-transform: uppercase; }
.hero-visual-note p { margin: 10px 0 0; font-family: var(--font-display); font-size: 1.45rem; font-style: italic; line-height: 1.08; }
.hero-visual-note small { display: block; margin-top: 10px; color: var(--brown-soft); font-size: .72rem; line-height: 1.45; }
.hero-marker { position: absolute; right: -5px; bottom: 55px; color: var(--brown-soft); font-size: .58rem; font-weight: 700; letter-spacing: .28em; writing-mode: vertical-rl; }
.founder-origin { padding: clamp(84px, 10vw, 140px) 0; background: var(--brown-deep); color: var(--ivory-soft); }
.founder-origin-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(50px, 9vw, 130px); align-items: start; }
.founder-origin h2 { color: var(--ivory-soft); }
.founder-origin-copy > p { color: #d9c8bd; }
.founder-origin-copy .founder-origin-lead { color: var(--ivory-soft); font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 2.9rem); line-height: 1.08; }
.founder-origin-copy blockquote { margin: 38px 0 24px; padding-left: 28px; border-left: 3px solid var(--clay); color: var(--ivory-soft); font-size: clamp(2.1rem, 3.6vw, 3.6rem); font-style: italic; line-height: 1.02; }
.founder-origin-signature { display: grid; margin: 0 0 28px 31px; }
.founder-origin-signature strong { font-family: var(--font-display); font-size: 1.35rem; font-weight: 500; }
.founder-origin-signature span { color: #cdb9ad; font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.text-link-light { color: var(--clay-light); }
.results-hero { padding: clamp(150px, 18vw, 230px) 0 clamp(90px, 11vw, 150px); background: var(--brown-deep); color: var(--ivory-soft); }
.results-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(50px, 9vw, 130px); align-items: end; }
.results-hero h1 { max-width: 850px; color: var(--ivory-soft); }
.results-hero h1 em { color: var(--clay-light); font-weight: 400; }
.results-intro > p { color: #decfc5; font-size: clamp(1.05rem, 1.5vw, 1.25rem); }
.results-intro .button { margin-top: 22px; }
.partnership-profile { margin-top: 70px; padding: clamp(32px, 5vw, 68px); border: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow-soft); }
.partnership-profile-dark { background: var(--brown-deep); color: var(--ivory-soft); }
.partnership-heading { display: grid; grid-template-columns: 1fr minmax(190px, .32fr); gap: 40px; align-items: start; padding-bottom: 44px; border-bottom: 1px solid var(--line); }
.partnership-profile-dark .partnership-heading { border-color: rgba(255,255,255,.16); }
.partnership-heading h2 { margin: 12px 0 0; }
.partnership-profile-dark h2, .partnership-profile-dark h3 { color: var(--ivory-soft); }
.partnership-subtitle { margin: 4px 0 0; color: var(--clay-dark); font-family: var(--font-display); font-size: clamp(1.45rem, 2.4vw, 2.2rem); font-style: italic; }
.partnership-profile-dark .partnership-subtitle { color: var(--clay-light); }
.status-pill { display: inline-flex; margin-bottom: 28px; padding: 8px 13px; border-radius: 999px; background: var(--sage); color: var(--brown-deep); font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.stage-stamp { padding: 22px; border-left: 3px solid var(--clay); background: var(--ivory); }
.partnership-profile-dark .stage-stamp { background: rgba(255,255,255,.07); }
.stage-stamp span, .stage-stamp strong { display: block; }
.stage-stamp span { margin-bottom: 8px; color: var(--clay-dark); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.stage-stamp strong { font-family: var(--font-display); font-size: 1.55rem; font-weight: 500; line-height: 1.05; }
.partnership-details { display: grid; grid-template-columns: repeat(3, 1fr); }
.partnership-details section { padding: 42px 28px 38px 0; }
.partnership-details section + section { padding-left: 28px; border-left: 1px solid var(--line); }
.partnership-profile-dark .partnership-details section + section { border-color: rgba(255,255,255,.16); }
.partnership-details section > span { color: var(--clay-dark); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.partnership-details h3 { margin: 34px 0 12px; }
.partnership-profile-dark .partnership-details p { color: #d9c8bd; }
.partnership-progress { display: grid; grid-template-columns: repeat(5, 1fr); margin: 10px 0 34px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.partnership-profile-dark .partnership-progress { border-color: rgba(255,255,255,.16); }
.partnership-progress span { position: relative; padding: 38px 14px 18px 0; color: var(--brown-soft); font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.partnership-progress span::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--stone); }
.partnership-progress span.complete::before { background: var(--sage-dark); }
.partnership-progress span.current { color: var(--clay-dark); }
.partnership-progress span.current::before { width: 11px; height: 11px; top: -6px; background: var(--clay-dark); box-shadow: 0 0 0 5px rgba(174,92,50,.14); }
.results-measure-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px, 9vw, 130px); }
.measurement-list { list-style: none; margin: 0; padding: 0; }
.measurement-list li { display: grid; grid-template-columns: 60px 1fr; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.measurement-list li > span { color: var(--clay-dark); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.measurement-list strong { font-family: var(--font-display); font-size: 1.5rem; font-weight: 500; }
.measurement-list p { margin: 5px 0 0; }
.inside-partnership { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(50px, 9vw, 130px); align-items: start; }
.pending-feedback { display: inline-block; margin-top: 20px; padding: 10px 14px; border: 1px solid var(--stone); color: var(--brown-soft); font-size: .67rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.results-disclaimer { padding: 34px 0; border-top: 1px solid var(--line); background: var(--ivory); }
.results-disclaimer p { margin: 0; color: var(--brown-soft); font-size: .86rem; }
.results-disclaimer strong { margin-right: 8px; color: var(--brown-deep); text-transform: uppercase; letter-spacing: .08em; }
.founder-pricing-intro { margin-top: 20px; padding: 16px 18px; border-left: 3px solid var(--clay-dark); background: rgba(198,113,57,.09); }
.investment-summary .button { width: 100%; margin: 18px 0 14px; text-align: center; }
.pathway-stage em { display: block; margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(174,92,50,.22); color: var(--clay-dark); font-size: .72rem; font-style: normal; font-weight: 700; line-height: 1.35; }
.case-study-preview-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 54px; }
.case-study-preview { padding: clamp(30px, 4vw, 50px); border: 1px solid var(--line); background: var(--paper); }
.case-study-preview-dark { background: var(--brown-deep); color: var(--ivory-soft); }
.case-study-preview h3 { margin: 12px 0 14px; font-size: clamp(2.2rem, 4vw, 3.4rem); }
.case-study-preview-dark h3 { color: var(--ivory-soft); }
.case-study-preview-dark > p:not(.eyebrow) { color: #d9c8bd; }
.case-study-stage { display: grid; margin: 32px 0 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.case-study-preview-dark .case-study-stage { border-color: rgba(255,255,255,.16); }
.case-study-stage span { color: var(--clay-dark); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.case-study-stage strong { margin-top: 5px; font-family: var(--font-display); font-size: 1.45rem; font-weight: 500; }
.case-study-disclosure { max-width: 880px; margin: 26px 0 0; color: var(--brown-soft); font-size: .82rem; }
.trade-ribbon { overflow: hidden; border-top: 1px solid rgba(255,255,255,.18); background: var(--clay-dark); color: #fff7eb; }
.trade-ribbon-track { display: flex; width: max-content; align-items: center; gap: 28px; padding: 17px 0; animation: ribbon 34s linear infinite; }
.trade-ribbon-track span { font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; }
.trade-ribbon-track i { width: 5px; height: 5px; border-radius: 50%; background: #eab187; }
@keyframes ribbon { to { transform: translateX(-50%); } }

/* Problems and manifesto */
.problem-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.problem-card { min-height: 330px; padding: 30px 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.problem-card > span, .pillar-card > span, .trade-pillar > span { display: block; margin-bottom: 64px; color: var(--clay-dark); font-size: .7rem; font-weight: 700; letter-spacing: .13em; }
.problem-card h3 { margin-bottom: 18px; font-size: 2.05rem; }
.problem-card p { margin: 0; color: var(--muted); font-size: .94rem; }
.manifesto { padding: clamp(100px, 12vw, 184px) 0; background: var(--brown-deep); color: var(--ivory-soft); }
.manifesto-grid { display: grid; grid-template-columns: .28fr 1fr .38fr; gap: clamp(36px, 7vw, 100px); align-items: start; }
.manifesto-mark { display: block; margin-top: 52px; width: 132px; height: 132px; }
.manifesto-mark img { display: block; width: 100%; height: 100%; object-fit: contain; background: transparent; border: 0; box-shadow: none; }
.manifesto blockquote { margin-bottom: 0; font-size: clamp(3.2rem, 5.3vw, 6.2rem); }
.manifesto blockquote em { color: #e5a273; font-weight: 400; }
.manifesto-grid > p { margin-top: 9rem; color: #cfbdae; }

/* Framework */
.pillar-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(64, 44, 34, .18); border: 1px solid rgba(64, 44, 34, .18); }
.pillar-card { min-height: 590px; padding: 32px 26px; background: var(--sand); }
.pillar-card:hover { background: var(--ivory-soft); }
.pillar-card > span { margin-bottom: 36px; }
.pillar-card .kicker { min-height: 32px; margin-bottom: 32px; }
.pillar-card h3 { min-height: 82px; margin-bottom: 20px; font-size: 2.3rem; }
.pillar-card > p:not(.kicker) { min-height: 110px; color: var(--muted); font-size: .94rem; }
.pillar-card ul, .engagement-card ul, .trade-pillar ul { list-style: none; margin: 30px 0 0; padding: 0; }
.pillar-card li, .engagement-card li, .trade-pillar li { padding: 9px 0; border-top: 1px solid var(--line); font-size: .78rem; font-weight: 600; letter-spacing: .035em; }

/* Project sequence */
.project-heading { display: grid; grid-template-columns: .28fr .78fr .36fr; gap: clamp(34px, 6vw, 92px); align-items: end; margin-bottom: clamp(60px, 8vw, 108px); }
.project-heading h2 { margin-bottom: 0; }
.project-heading > p:last-child { margin: 0 0 10px; color: var(--muted); }
.project-arcade { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 3vw, 42px); align-items: end; }
.project-arcade figure { margin: 0; }
.project-arcade figure:nth-child(2) { transform: translateY(-42px); }
.project-arcade img { width: 100%; height: clamp(380px, 46vw, 620px); object-fit: cover; border-radius: 999px 999px 12px 12px; filter: saturate(.82) sepia(.08); }
.project-arcade figure:nth-child(1) img { border-bottom: 6px solid var(--clay-dark); }
.project-arcade figure:nth-child(2) img { border-bottom: 6px solid var(--brown); }
.project-arcade figure:nth-child(3) img { border-bottom: 6px solid var(--sand-deep); }
.project-arcade figcaption { display: flex; gap: 16px; margin-top: 18px; color: var(--brown); font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.project-arcade figcaption span { color: var(--clay-dark); }

/* Model */
.model-grid { display: grid; grid-template-columns: .86fr 1.14fr; border: 1px solid var(--line); }
.vendor-model, .thryve-model { padding: clamp(34px, 5vw, 70px); }
.vendor-model { background: var(--ivory); }
.vendor-model > div { display: flex; justify-content: space-between; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.vendor-model > div span { font-weight: 600; }
.vendor-model > div small { color: var(--muted); }
.vendor-model > p:last-child { max-width: 420px; margin: 32px 0 0; color: var(--muted); }
.thryve-model { background: var(--brown); color: var(--ivory-soft); }
.thryve-model img { width: 54px; margin-bottom: 24px; filter: brightness(0) invert(1); }
.thryve-model .kicker { color: #ebb289; }
.thryve-model h3 { max-width: 620px; margin-bottom: 18px; font-size: clamp(2.7rem, 4.8vw, 5.3rem); }
.thryve-model > p:not(.kicker) { color: #decfc4; }
.model-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 36px 0; }
.model-tags span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.24); border-radius: 99px; font-size: .7rem; }
.thryve-model strong { display: block; max-width: 520px; color: #edc3a5; font-family: var(--font-display); font-size: 1.55rem; font-weight: 500; line-height: 1.15; }

/* Journey and engagements */
.journey-grid { display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.journey-grid li { min-height: 340px; padding: 28px 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.journey-grid li > span { display: block; margin-bottom: 74px; color: var(--clay-dark); font-size: .68rem; font-weight: 700; }
.journey-grid h3 { margin-bottom: 20px; font-size: 2rem; }
.journey-grid strong { display: block; margin-bottom: 10px; font-size: .8rem; letter-spacing: .04em; text-transform: uppercase; }
.journey-grid p { margin: 0; color: var(--muted); font-size: .86rem; }
.engagement-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.engagement-card { display: flex; min-height: 610px; flex-direction: column; padding: clamp(36px, 5vw, 68px); border: 1px solid var(--line); background: var(--paper); }
.engagement-card h3 { max-width: 540px; margin-bottom: 22px; font-size: clamp(3rem, 4.7vw, 5rem); }
.engagement-card > p:not(.kicker) { max-width: 500px; color: var(--muted); }
.engagement-card ul { margin-bottom: 40px; }
.engagement-card .button { align-self: flex-start; margin-top: auto; }
.engagement-card-dark { background: var(--brown-deep); color: var(--ivory-soft); }
.engagement-card-dark .kicker { color: #e8a578; }
.engagement-card-dark > p:not(.kicker) { color: #d2c1b3; }
.engagement-card-dark li { border-color: rgba(255,255,255,.15); }
/* Numbered step list for sequential (order-matters) content inside a card —
   distinct from .engagement-card ul's plain checklist styling above. */
.step-list { list-style: none; margin: 30px 0 0; padding: 0; }
.step-list li { display: flex; gap: 16px; padding: 14px 0; border-top: 1px solid var(--line); font-size: .82rem; color: var(--muted); }
.step-list li span { flex: none; color: var(--clay-dark); font-size: .72rem; font-weight: 700; }
.engagement-card-dark .step-list li { border-color: rgba(255,255,255,.15); color: #d2c1b3; }
.engagement-card-dark .step-list li span { color: #eab088; }

/* Industries */
.industry-groups { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 6vw, 94px); }
.industry-group { border-top: 1px solid var(--line); padding-top: 22px; }
.industry-links { display: grid; }
.industry-links a { display: flex; justify-content: space-between; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--line); font-family: var(--font-display); font-size: clamp(1.55rem, 2.5vw, 2.45rem); line-height: 1.05; text-decoration: none; }
.industry-links a span { color: var(--clay); font-family: var(--font-body); font-size: .9rem; }
.industry-links a:hover { color: var(--clay-dark); }
.industry-other { margin-top: clamp(48px, 7vw, 86px); padding: clamp(30px, 5vw, 58px); border: 1px solid var(--line); background: var(--sand); }
.industry-other-copy { display: grid; grid-template-columns: .52fr .78fr 1fr; gap: clamp(24px, 4vw, 62px); align-items: start; }
.industry-other-copy .kicker { margin: 6px 0 0; }
.industry-other-copy h3 { margin: 0; font-size: clamp(2.3rem, 3.4vw, 4rem); }
.industry-other-copy > p:last-child { margin: 6px 0 0; color: var(--muted); }
.industry-other-links { display: flex; flex-wrap: wrap; gap: 9px; margin: 34px 0; }
.industry-other-links a { padding: 9px 13px; border: 1px solid rgba(61,43,34,.28); border-radius: 999px; background: var(--ivory-soft); color: var(--brown-deep); font-size: .72rem; font-weight: 700; text-decoration: none; }
.industry-other-links a:hover, .industry-other-links a:focus-visible { border-color: var(--clay-dark); color: var(--clay-dark); }
.industry-other .button-row { padding-top: 8px; }

/* Assessment and forms */
.assessment-section { padding: clamp(96px, 11vw, 160px) 0; background: var(--brown); color: var(--ivory-soft); }
.assessment-grid { display: grid; grid-template-columns: .84fr 1.16fr; gap: clamp(52px, 8vw, 120px); align-items: start; }
.assessment-copy h2 { margin-bottom: 30px; }
.assessment-copy > p:not(.eyebrow) { max-width: 560px; color: #dac9bc; font-size: 1.08rem; }
.assessment-copy ol { list-style: none; margin: 42px 0; padding: 0; }
.assessment-copy li { display: flex; gap: 20px; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.18); }
.assessment-copy li span { color: #eab088; font-size: .72rem; font-weight: 700; }
.consultation-form { padding: clamp(34px, 5vw, 64px); background: var(--ivory-soft); color: var(--ink); box-shadow: 0 25px 80px rgba(36,23,17,.22); }
.consultation-form h3 { margin-bottom: 34px; font-size: clamp(2.7rem, 4.2vw, 4.5rem); }
.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.consultation-form label:not(.consent) { display: grid; margin-bottom: 18px; }
.consultation-form label > span:first-child { margin-bottom: 7px; color: var(--brown-soft); font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.consultation-form input:not([type="checkbox"]), .consultation-form select, .consultation-form textarea {
  width: 100%; border: 1px solid var(--stone); border-radius: 0; padding: 13px 14px; background: rgba(255,255,255,.55); color: var(--ink); outline: 0;
}
.consultation-form input:focus, .consultation-form select:focus, .consultation-form textarea:focus { border-color: var(--clay-dark); box-shadow: 0 0 0 3px rgba(198,113,57,.13); }
.consultation-form textarea { resize: vertical; }
.consent { display: grid; grid-template-columns: 18px 1fr; gap: 10px; margin: 5px 0 24px; color: var(--muted); font-size: .78rem; }
.consent input { margin-top: 3px; accent-color: var(--clay-dark); }
.form-note { margin: 16px 0 0; color: var(--muted); font-size: .78rem; }
.form-note a, .consent a { color: var(--clay-dark); }
.hidden-field { position: absolute; left: -10000px; }

/* Footer */
.site-footer { padding-top: 78px; background: var(--brown-deep); color: var(--ivory-soft); }
.footer-grid { display: grid; grid-template-columns: 1.3fr .65fr .85fr; gap: 70px; padding-bottom: 70px; }
.brand-light strong { color: var(--ivory-soft); }
.brand-light small { color: #c8b5a8; }
.brand-light img {
  content: url("/assets/thryve-compass-transparent.png");
  filter: none;
  object-fit: contain;
}
.footer-brand > p { max-width: 420px; margin: 28px 0 0; color: #bfaea1; font-size: .9rem; }
.site-footer nav, .footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.site-footer nav > p, .footer-contact > p { margin-bottom: 12px; color: #e3a176; font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.site-footer nav a, .site-footer nav button, .footer-contact a { border: 0; padding: 0; background: none; color: var(--ivory-soft); font-size: .88rem; text-decoration: none; cursor: pointer; }
.footer-contact small { margin-top: 14px; color: #aa978b; font-size: .72rem; }
/* Partner login sub-block within the existing "Get in touch" column — kept
   inside that column rather than adding a 5th grid column, so the footer's
   tuned column ratios and every page's shared footer-grid-4 markup stay
   untouched. */
.footer-partner-label { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.15); }
.footer-bottom { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 24px 0 112px; border-top: 1px solid rgba(255,255,255,.15); color: #a99589; font-size: .7rem; text-align: center; }
.footer-bottom div { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; }
.footer-bottom a { text-decoration: none; }

/* Sage */
.sage-launcher {
  position: fixed;
  z-index: 1100;
  right: 22px;
  bottom: 22px;
  display: flex;
  align-items: center;
  gap: 11px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  padding: 12px 18px 12px 13px;
  background: var(--brown-deep);
  color: var(--ivory-soft);
  box-shadow: 0 14px 44px rgba(48,31,22,.3);
  cursor: pointer;
}
.sage-status { width: 13px; height: 13px; border: 3px solid var(--brown-deep); border-radius: 50%; background: #e19560; box-shadow: 0 0 0 2px #e19560; }
.sage-launcher > span:last-child { display: grid; text-align: left; }
.sage-launcher strong { font-family: var(--font-display); font-size: 1.15rem; line-height: 1; }
.sage-launcher small { margin-top: 2px; color: #cfbdb1; font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; }
.sage-panel {
  position: fixed;
  z-index: 1200;
  right: 22px;
  bottom: 22px;
  display: grid;
  width: min(410px, calc(100vw - 28px));
  max-height: min(690px, calc(100svh - 44px));
  grid-template-rows: auto minmax(180px, 1fr) auto auto auto;
  overflow: hidden;
  border: 1px solid var(--stone);
  background: var(--ivory-soft);
  box-shadow: 0 26px 90px rgba(40,26,19,.33);
}
.sage-panel[hidden] { display: none; }
.sage-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; background: var(--brown-deep); color: var(--ivory-soft); }
.sage-header > div { display: flex; align-items: center; gap: 11px; }
.sage-avatar { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid #d9905f; border-radius: 50%; color: #f0b187; font-family: var(--font-display); font-size: 1.3rem; }
.sage-header > div > span:last-child { display: grid; }
.sage-header strong { font-family: var(--font-display); font-size: 1.25rem; line-height: 1; }
.sage-header small { color: #c9b5a8; font-size: .55rem; letter-spacing: .08em; text-transform: uppercase; }
.sage-header > button { border: 0; padding: 4px; background: none; color: var(--ivory-soft); font-size: 1.6rem; line-height: 1; cursor: pointer; }
.sage-log { overflow-y: auto; padding: 18px; background: var(--ivory); }
.sage-message { display: flex; margin-bottom: 12px; }
.sage-message p { max-width: 86%; margin: 0; padding: 11px 13px; border-radius: 2px 14px 14px 14px; background: var(--paper); font-size: .86rem; line-height: 1.48; box-shadow: 0 5px 16px rgba(81,55,40,.08); }
.sage-message-user { justify-content: flex-end; }
.sage-message-user p { border-radius: 14px 2px 14px 14px; background: var(--clay-dark); color: #fffaf4; }
.sage-message.is-thinking p { color: var(--muted); font-style: italic; }
.sage-booking { display: grid; gap: 8px; }
.sage-booking small { color: var(--muted); font-size: .68rem; }
.sage-quick { display: flex; flex-wrap: wrap; gap: 7px; padding: 10px 14px; border-top: 1px solid var(--line); background: var(--paper); }
.sage-quick:empty { display: none; }
.sage-quick button { border: 1px solid var(--stone); border-radius: 999px; padding: 7px 10px; background: transparent; color: var(--brown); font-size: .68rem; cursor: pointer; }
.sage-quick button:hover { border-color: var(--clay-dark); color: var(--clay-dark); }
.sage-input { display: grid; grid-template-columns: 1fr auto; border-top: 1px solid var(--line); background: var(--paper); }
.sage-input input { min-width: 0; border: 0; padding: 14px; background: transparent; outline: 0; }
.sage-input button { border: 0; padding: 0 16px; background: var(--clay-dark); color: white; font-size: .7rem; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.sage-disclosure { margin: 0; padding: 8px 14px; background: var(--paper); color: var(--muted); font-size: .58rem; line-height: 1.35; }

/* Trade landing pages */
.trade-hero { position: relative; padding: 82px 0 0; background: var(--ivory); overflow: hidden; }
.trade-hero-grid { display: grid; min-height: 750px; grid-template-columns: minmax(0, 1.12fr) minmax(300px, .65fr); gap: clamp(44px, 8vw, 120px); align-items: center; padding-top: 80px; padding-bottom: 96px; }
.trade-hero-media { position: absolute; right: 2vw; top: 136px; width: min(34vw, 450px); height: 560px; border-radius: 240px 240px 12px 12px; overflow: hidden; opacity: .16; }
.trade-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.trade-hero-grid > div:first-child { position: relative; z-index: 2; }
.trade-hero h1 { max-width: 850px; margin-bottom: 28px; color: var(--brown-deep); font-size: clamp(4rem, 7vw, 7.4rem); }
.trade-hero .hero-lead { max-width: 680px; }
.breadcrumb { display: flex; gap: 10px; margin-bottom: 35px; color: var(--muted); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.breadcrumb a { color: var(--clay-dark); text-decoration: none; }
.trade-hero-aside { position: relative; z-index: 2; align-self: end; margin-bottom: 22px; padding: 30px; border-top: 3px solid var(--clay); background: rgba(255,250,241,.88); box-shadow: var(--shadow); }
.trade-hero-aside > p { font-family: var(--font-display); font-size: 1.35rem; }
.trade-hero-aside ol { margin: 0; padding-left: 22px; color: var(--muted); }
.quick-answer { background: var(--paper); }
.quick-answer h2 { font-size: clamp(3rem, 4.6vw, 5rem); }
.quick-answer p:last-child { color: var(--muted); font-size: 1.12rem; }
.trade-problems { background: var(--ivory); }
.trade-framework { background: var(--brown-deep); color: var(--ivory-soft); }
.trade-pillar-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(255,255,255,.16); }
.trade-pillar { min-height: 480px; padding: 30px 24px; border-right: 1px solid rgba(255,255,255,.16); }
.trade-pillar:last-child { border-right: 0; }
.trade-pillar > span { margin-bottom: 42px; color: #e4a277; }
.trade-pillar h3 { margin-bottom: 15px; font-size: 2rem; }
.trade-pillar > p { color: #d2c0b4; }
.trade-pillar li { border-color: rgba(255,255,255,.15); }
.trade-questions { background: var(--sand); }
.question-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.question-card { padding: 34px; background: var(--ivory-soft); }
.question-card h3 { font-size: 2.2rem; line-height: 1.02; }
.question-card p { color: var(--brown); }
.question-card small { display: block; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); line-height: 1.55; }
.market-band { padding: 100px 0; background: var(--brown); color: var(--ivory-soft); }
.market-grid { display: grid; grid-template-columns: 1fr .85fr; gap: 90px; align-items: center; }
.market-grid h2 { font-size: clamp(3.2rem, 5vw, 5.5rem); }
.market-grid > div:first-child > p:last-child { color: #d6c2b4; }
.related-trades { display: flex; flex-wrap: wrap; gap: 9px; }
.related-trades span, .related-trades a { padding: 9px 13px; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; color: inherit; font-size: .7rem; text-decoration: none; }
.related-trades a { background: rgba(255,255,255,.08); font-weight: 700; }
.related-trades a:hover { border-color: #e9b38a; background: rgba(255,255,255,.14); }
.trade-faq { background: var(--paper); }
.faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px, 9vw, 140px); align-items: start; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 23px 42px 23px 0; font-family: var(--font-display); font-size: 1.65rem; line-height: 1.08; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 4px; top: 20px; color: var(--clay-dark); font-family: var(--font-body); font-size: 1.2rem; }
.faq-list details[open] summary::after { content: "–"; }
.faq-list details p { padding-right: 44px; color: var(--muted); }
.faq-list details .check-list { padding-right: 44px; margin: 0 0 18px; }
.faq-list details .check-list:last-child { margin-bottom: 0; }
.faq-list details p + .check-list { margin-top: -8px; }
.trade-cta { background: var(--ivory); }
.cta-panel { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: end; padding: clamp(42px, 7vw, 90px); background: var(--brown-deep); color: var(--ivory-soft); }
.cta-panel h2 { max-width: 800px; margin-bottom: 22px; font-size: clamp(3rem, 4.8vw, 5.4rem); }
.cta-panel p:not(.eyebrow) { max-width: 620px; color: #cfbcae; }
.cta-panel .button-outline { color: var(--ivory-soft); }

/* Trust and about */
.trust-action { display: flex; flex-direction: column; }
.trust-action .text-link { margin-top: auto; padding-top: 28px; }
.about-hero { padding: clamp(150px, 16vw, 230px) 0 clamp(90px, 11vw, 150px); background: var(--ivory); }
.about-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .55fr); gap: clamp(52px, 9vw, 130px); align-items: end; }
.about-hero h1 { max-width: 900px; margin-bottom: 30px; color: var(--brown-deep); font-size: clamp(4.2rem, 7.5vw, 8rem); }
.about-statement { padding: 34px; border-top: 3px solid var(--clay-dark); background: var(--paper); box-shadow: var(--shadow); }
.about-statement p { margin-bottom: 20px; color: var(--clay-dark); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.about-statement strong { display: block; font-family: var(--font-display); font-size: clamp(2rem, 3vw, 3.1rem); font-weight: 500; line-height: 1.05; }
.about-leadership { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(52px, 10vw, 150px); align-items: start; }
.about-leadership h2, .about-trust h2, .about-founder-heading h2 { font-size: clamp(3.2rem, 5.4vw, 5.9rem); }
.about-founder-heading { margin-bottom: clamp(40px, 6vw, 64px); }
.about-copy { max-width: 720px; }
.about-copy p { color: var(--muted); font-size: 1.08rem; }
.about-copy p:first-child { color: var(--brown); font-size: 1.25rem; }

/* Founder story block — photo + personal narrative, reuses the site's
   existing paper/border/shadow language (about-statement, about-copy)
   rather than introducing a new visual system. */
.about-founder { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(52px, 10vw, 150px); align-items: start; }
/* Same arch language as .hero-arch (homepage/trade-hero images), scaled down
   for a supporting portrait rather than a full hero visual — resized to sit
   in a copy column and start flush with the paragraph text beside it. */
.about-portrait { position: relative; width: 100%; max-width: 320px; aspect-ratio: 3 / 4.3; border-radius: 220px 220px 12px 12px; overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--line); }
.about-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.about-portrait figcaption { margin-top: 14px; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--clay-dark); }
.about-founder-quote { margin-top: 28px; padding-top: 26px; border-top: 3px solid var(--clay-dark); }
.about-founder-quote p { font-family: var(--font-display); font-style: italic; font-size: clamp(1.3rem, 2vw, 1.7rem); color: var(--brown-deep); line-height: 1.35; margin: 0; }

.about-trust { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(52px, 10vw, 150px); align-items: start; }
.trust-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.trust-list li { display: grid; grid-template-columns: .55fr 1fr; gap: 25px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.trust-list strong { color: var(--brown-deep); }
.trust-list span { color: var(--muted); }

/* Utility pages */
.simple-page { min-height: 100vh; padding: clamp(88px, 11vw, 150px) 0; background: var(--ivory-soft); }
.simple-page .shell { max-width: 860px; }
.simple-page h1 { margin-bottom: 40px; color: var(--brown-deep); font-size: clamp(4rem, 8vw, 7rem); }
.simple-page h2 { margin: 52px 0 18px; font-size: 2.5rem; }
.simple-page p { color: var(--muted); }
.simple-page .button-row { margin-top: 40px; }

/* Motion */
.reveal, .stagger > * { opacity: 0; transform: translateY(24px); transition: opacity 700ms ease, transform 700ms ease; }
.reveal.is-visible, .stagger.is-visible > * { opacity: 1; transform: none; }
.stagger.is-visible > *:nth-child(2) { transition-delay: 90ms; }
.stagger.is-visible > *:nth-child(3) { transition-delay: 180ms; }
.stagger.is-visible > *:nth-child(4) { transition-delay: 270ms; }
.stagger.is-visible > *:nth-child(5) { transition-delay: 360ms; }

@media (max-width: 1080px) {
  :root { --shell: min(100% - 40px, 1000px); }
  .primary-navigation { gap: 16px; }
  .primary-navigation > a.nav-secondary { display: none; }
  .hero-grid { grid-template-columns: 1.08fr .72fr; gap: 45px; }
  .hero-arch { height: 590px; min-height: 0; }
  .hero-visual-note { left: -28px; }
  .problem-grid, .pillar-grid, .trade-pillar-grid { grid-template-columns: repeat(2, 1fr); }
  .problem-card, .pillar-card, .trade-pillar { border-bottom: 1px solid var(--line); }
  .pillar-card { min-height: 500px; }
  .pillar-card > p:not(.kicker) { min-height: auto; }
  .manifesto-grid { grid-template-columns: .25fr 1fr; }
  .manifesto-grid > p { grid-column: 2; margin-top: 0; max-width: 520px; }
  .project-heading { grid-template-columns: .25fr 1fr; }
  .project-heading > p:last-child { grid-column: 2; }
  .journey-grid { grid-template-columns: repeat(3, 1fr); }
  .assessment-grid { gap: 55px; }
  .trade-hero-grid { grid-template-columns: 1fr .45fr; }
  .question-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
  :root { --shell: calc(100% - 32px); }
  html { scroll-padding-top: 74px; }
  .section, .section-pad { padding: 88px 0; }
  .header-inner { min-height: 72px; }
  .brand small { display: none; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 9px; padding: 8px 0; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
  .menu-toggle i, .menu-toggle i::before { display: block; width: 22px; height: 1px; background: var(--ink); transition: transform 180ms ease; }
  .menu-toggle i { position: relative; }
  .menu-toggle i::before { content: ""; position: absolute; top: -6px; }
  .menu-toggle[aria-expanded="true"] i { transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] i::before { top: 0; transform: rotate(90deg); }
  .primary-navigation { position: fixed; inset: 72px 0 auto; display: none; padding: 28px 20px 34px; flex-direction: column; align-items: stretch; gap: 8px; border-top: 1px solid var(--line); background: var(--ivory-soft); box-shadow: 0 22px 45px rgba(65,43,30,.16); }
  .primary-navigation.is-open { display: flex; }
  /* Mobile order differs from desktop DOM/visual order: Client Login sits
     right after About here (per spec), while staying last on desktop where
     it trails the CTA. Targeted by href suffix so this works across both
     the homepage's in-page anchors (#framework) and subpages' cross-page
     ones (/#framework). */
  .primary-navigation > a[href$="/services/"] { order: 1; }
  .primary-navigation > a[href$="#framework"] { order: 2; }
  .primary-navigation > a[href$="#journey"] { order: 3; }
  .primary-navigation > a[href$="#industries"] { order: 4; }
  .primary-navigation > a[href$="/about/"] { order: 5; }
  .primary-navigation > a.nav-client-login { order: 6; }
  .primary-navigation > a[href$="/library/"] { order: 7; }
  .primary-navigation > a.button:not(.nav-client-login) { order: 9; }
  .primary-navigation > a:not(.button), .nav-sage { display: block !important; padding: 12px 0; text-align: left; }
  .primary-navigation .button { margin-top: 8px; }
  .hero { padding-top: 72px; }
  .hero-grid { min-height: auto; grid-template-columns: 1fr; gap: 60px; padding-top: 66px; }
  .hero-copy h1 { font-size: clamp(4rem, 14vw, 6.2rem); }
  .hero-visual { min-height: 600px; }
  .hero-arch { width: min(88%, 470px); height: 600px; }
  .hero-visual-note { left: 0; bottom: 50px; }
  .editorial-heading { grid-template-columns: 1fr; gap: 24px; }
  .editorial-heading h2 { font-size: clamp(3.25rem, 12vw, 5.4rem); }
  .problem-grid, .pillar-grid, .journey-grid { grid-template-columns: 1fr 1fr; }
  .manifesto-grid { grid-template-columns: 1fr; }
  .manifesto-mark { display: none; }
  .manifesto-grid > p { grid-column: auto; }
  .project-heading { grid-template-columns: 1fr; gap: 24px; }
  .project-heading > p:last-child { grid-column: auto; max-width: 600px; }
  .model-grid, .engagement-grid, .industry-groups, .assessment-grid, .footer-grid, .faq-layout { grid-template-columns: 1fr; }
  .industry-other-copy { grid-template-columns: 1fr; gap: 14px; }
  .journey-grid li > span { margin-bottom: 45px; }
  .footer-grid { gap: 42px; }
  .trade-hero { padding-top: 72px; }
  .trade-hero-grid { min-height: auto; grid-template-columns: 1fr; padding-top: 68px; }
  .trade-hero-media { right: -12%; top: 180px; width: 70vw; opacity: .09; }
  .trade-hero-aside { max-width: 480px; }
  .market-grid, .cta-panel, .about-hero-grid, .about-leadership, .about-trust, .about-founder { grid-template-columns: 1fr; gap: 42px; }
  .about-portrait { max-width: 280px; }
  .founder-origin-grid { grid-template-columns: 1fr; gap: 38px; }
  .results-hero-grid, .results-measure-grid, .inside-partnership { grid-template-columns: 1fr; gap: 38px; }
  .case-study-preview-grid { grid-template-columns: 1fr; }
  .partnership-details { grid-template-columns: 1fr; }
  .partnership-details section, .partnership-details section + section { padding: 30px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .partnership-profile-dark .partnership-details section + section { border-left: 0; }
}

@media (max-width: 580px) {
  :root { --shell: calc(100% - 28px); }
  body { font-size: 15px; }
  h1 { font-size: 3.75rem; }
  h2 { font-size: 3.15rem; }
  .button-row { align-items: stretch; }
  .button-row .button { width: 100%; }
  .hero-grid { padding-top: 54px; padding-bottom: 70px; }
  .hero-copy h1 { font-size: 3.7rem; }
  .hero-proof { flex-wrap: wrap; }
  .hero-visual { min-height: 500px; justify-content: flex-end; }
  .hero-arch { width: 88%; height: 500px; }
  .hero-visual-note { width: 230px; padding: 18px; }
  .hero-marker { display: none; }
  .founder-origin-grid { grid-template-columns: 1fr; gap: 34px; }
  .partnership-heading { grid-template-columns: 1fr; gap: 28px; }
  .partnership-progress { grid-template-columns: 1fr; padding: 15px 0; }
  .partnership-progress span { padding: 10px 0 10px 28px; }
  .partnership-progress span::before, .partnership-progress span.current::before { top: 14px; left: 2px; }
  .problem-grid, .pillar-grid, .journey-grid, .trade-pillar-grid, .question-grid { grid-template-columns: 1fr; }
  .problem-card { min-height: 260px; }
  .problem-card > span { margin-bottom: 42px; }
  .pillar-card { min-height: auto; }
  .pillar-card h3 { min-height: auto; }
  .manifesto blockquote { font-size: 3.25rem; }
  .project-arcade { gap: 8px; }
  .project-arcade figure:nth-child(2) { transform: translateY(-20px); }
  .project-arcade img { height: 340px; }
  .project-arcade figcaption { font-size: .58rem; gap: 6px; }
  .journey-grid li { min-height: 270px; }
  .engagement-card { min-height: 560px; padding: 34px 25px; }
  .engagement-card h3 { font-size: 3.25rem; }
  .form-pair { grid-template-columns: 1fr; gap: 0; }
  .consultation-form { padding: 32px 22px; }
  .footer-bottom { flex-direction: column; }
  .sage-launcher { right: 14px; bottom: 14px; }
  .sage-panel { right: 14px; bottom: 14px; max-height: calc(100svh - 28px); }
  .trade-hero h1 { font-size: 3.75rem; }
  .trade-hero-aside { margin: 0; }
  .trade-pillar { min-height: auto; border-right: 0; }
  .question-card { padding: 28px 22px; }
  .cta-panel { padding: 36px 24px; }
  .about-hero { padding-top: 120px; }
  .about-hero h1 { font-size: 3.75rem; }
  .about-statement { padding: 28px 22px; }
  .trust-list li { grid-template-columns: 1fr; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal, .stagger > * { opacity: 1; transform: none; }
}

/* Organized navigation and Investment qualification funnel */
.nav-dropdown { position: relative; }
.nav-dropdown > button, .nav-dropdown > a { display: inline-flex; align-items: center; gap: 6px; padding: 10px 0; border: 0; background: none; color: inherit; font: inherit; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.nav-dropdown-menu { position: absolute; z-index: 30; top: calc(100% + 14px); left: -22px; display: none; width: 245px; padding: 12px; border: 1px solid var(--line); background: var(--ivory-soft); box-shadow: 0 22px 48px rgba(65,43,30,.16); }
.nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu, .nav-dropdown.is-open .nav-dropdown-menu { display: grid; }
.nav-dropdown-menu a { padding: 11px 12px; color: var(--brown); font-size: .84rem; line-height: 1.3; }
.nav-dropdown-menu a:hover, .nav-dropdown-menu a:focus { background: var(--sand); color: var(--clay-dark); }
.investment-hero { padding: clamp(120px, 14vw, 190px) 0 clamp(70px, 9vw, 120px); background: var(--ivory-soft); }
.investment-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: clamp(45px, 8vw, 110px); align-items: center; }
.investment-summary { padding: clamp(30px, 4vw, 52px); border-top: 4px solid var(--clay); background: var(--brown); color: var(--ivory-soft); box-shadow: 0 28px 70px rgba(54,35,26,.18); }
.investment-summary > p { color: var(--clay-light); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.investment-summary strong { display: block; margin: 18px 0; font-family: var(--font-display); font-size: clamp(2.8rem, 5vw, 4.7rem); font-weight: 500; line-height: .9; }
.investment-summary strong span { display: block; margin-top: 14px; font-family: var(--font-body); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.investment-summary small { display: block; color: #dfd0c5; line-height: 1.7; }
.investment-summary-tiers { display: grid; margin: 22px 0; border-top: 1px solid rgba(255,255,255,.18); }
.investment-summary-tiers > div { display: grid; grid-template-columns: minmax(110px,.7fr) 1.3fr; gap: 18px; align-items: center; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.investment-summary-tiers strong { margin: 0; font-size: clamp(2rem, 3vw, 3rem); line-height: 1; }
.investment-summary-tiers span { color: #e8d9cf; font-size: .73rem; font-weight: 700; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; }
.pathway-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
.pathway-card { display: flex; flex-direction: column; padding: clamp(28px, 4vw, 44px); border: 1px solid var(--line); background: var(--ivory-soft); }
.pathway-card-featured { border-color: var(--clay); box-shadow: inset 0 4px 0 var(--clay), 0 20px 50px rgba(67,43,31,.1); }
.pathway-card-premium { background: var(--brown); color: var(--ivory-soft); }
.pathway-card-premium p, .pathway-card-premium .scope-note { color: #dfd0c5; }
.pathway-card-premium .check-list li, .pathway-card-premium .scope-note { border-color: rgba(255,255,255,.16); }
.pathway-card-premium .text-link { color: var(--clay-light); }
.pathway-stage { display: grid; grid-template-columns: 1fr auto; gap: 4px 14px; align-items: end; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.pathway-stage span { align-self: center; color: var(--clay-dark); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pathway-stage strong { font-family: var(--font-display); font-size: clamp(2.7rem, 4vw, 4rem); font-weight: 500; line-height: .9; }
.pathway-stage small { grid-column: 2; color: var(--muted); font-size: .7rem; text-transform: uppercase; }
.pathway-card-premium .pathway-stage { border-color: rgba(255,255,255,.16); }
.pathway-card-premium .pathway-stage span, .pathway-card-premium .pathway-stage small { color: var(--clay-light); }
.pathway-card h3 { min-height: 120px; margin: 30px 0 16px; font-size: clamp(2.1rem, 3vw, 3.15rem); }
.pathway-card > p:not(.included-label):not(.scope-note) { min-height: 100px; color: var(--muted); }
.pathway-card-premium > p:not(.included-label):not(.scope-note) { color: #dfd0c5; }
.included-label { margin: 20px 0 0; color: var(--clay-dark); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pathway-card .check-list { flex: 1; margin-top: 12px; }
.pathway-card > .text-link { margin-top: 26px; }
.investment-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.investment-cards article { padding: clamp(28px, 4vw, 44px); border: 1px solid var(--line); background: var(--ivory-soft); }
.investment-cards h3 { margin: 12px 0 16px; font-size: clamp(2rem, 3vw, 3rem); }
.investment-card-featured { border-color: var(--clay) !important; box-shadow: inset 0 4px 0 var(--clay), 0 20px 50px rgba(67,43,31,.1); }
.investment-pillar-grid .pillar-card { min-height: 650px; }
.investment-scope-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
.scope-card { display: flex; flex-direction: column; padding: clamp(28px, 4vw, 44px); border: 1px solid var(--line); background: var(--ivory-soft); }
.scope-card-primary { border-color: var(--clay); box-shadow: inset 0 4px 0 var(--clay), 0 20px 50px rgba(67,43,31,.1); }
.scope-card h3 { min-height: 92px; margin: 8px 0 18px; font-size: clamp(2rem, 3vw, 3rem); }
.scope-card > p:not(.kicker):not(.scope-note) { min-height: 78px; color: var(--muted); }
.scope-card .check-list { flex: 1; margin-top: 22px; }
.scope-note { margin: 24px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: var(--brown-soft); font-size: .82rem; line-height: 1.6; }
.section-brown { background: var(--brown); color: var(--ivory-soft); }
.editorial-heading-light h2 { color: var(--ivory-soft); }
.editorial-heading-light p { color: #dfd0c5; }
.comparison-grid { border: 1px solid rgba(255,255,255,.2); }
.comparison-grid > div { display: grid; grid-template-columns: 1fr 1fr; }
.comparison-grid > div + div { border-top: 1px solid rgba(255,255,255,.16); }
.comparison-grid span, .comparison-grid strong { padding: 22px 26px; line-height: 1.55; }
.comparison-grid strong { border-left: 1px solid rgba(255,255,255,.16); color: var(--ivory-soft); font-weight: 600; }
.comparison-grid span { color: #d4c1b5; }
.comparison-head { background: rgba(255,255,255,.07); }
.comparison-head span { color: var(--clay-light); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.comparison-note { max-width: 980px; margin: 30px auto 0; color: #e7d9cf; text-align: center; }
.revenue-stage-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.revenue-stage-grid article { display: flex; flex-direction: column; padding: 30px 26px; background: var(--ivory-soft); }
.revenue-stage-grid article > span { color: var(--clay-dark); font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.revenue-stage-grid article > strong { margin-top: 8px; font-family: var(--font-display); font-size: 2.25rem; font-weight: 500; color: var(--brown-deep); }
.revenue-stage-grid h3 { min-height: 84px; margin: 22px 0 12px; font-size: 1.8rem; }
.revenue-stage-grid p { min-height: 145px; color: var(--muted); font-size: .9rem; }
.revenue-stage-grid ul { flex: 1; display: grid; align-content: start; gap: 10px; margin: 20px 0; color: var(--brown-soft); font-size: .82rem; }
.revenue-stage-grid li { position: relative; padding-left: 16px; }
.revenue-stage-grid li::before { content: "—"; position: absolute; left: 0; color: var(--clay-dark); }
.revenue-stage-grid article > b { padding-top: 18px; border-top: 1px solid var(--line); color: var(--brown-deep); font-size: .78rem; line-height: 1.5; }
.stage-disclaimer { max-width: 900px; margin: 28px auto 0; color: var(--muted); font-size: .82rem; text-align: center; }
.selective-grid { display: grid; grid-template-columns: 1fr .9fr; gap: clamp(40px, 8vw, 110px); align-items: center; }
.selective-grid h2 { margin: 12px 0 24px; }
.values-panel { padding: clamp(30px, 5vw, 54px); border-top: 4px solid var(--clay); background: var(--sand); }
.values-panel h3 { margin: 10px 0 16px; font-size: clamp(2rem, 3vw, 3rem); }
.values-panel .check-list { margin: 22px 0 28px; }
.home-trust-statement { margin-bottom: clamp(70px, 9vw, 120px); padding: clamp(34px, 6vw, 70px); border-left: 4px solid var(--clay); background: var(--brown); }
.home-trust-statement h2 { max-width: 850px; margin: 12px 0 18px; color: var(--ivory-soft); }
.home-trust-statement > p:not(.eyebrow) { max-width: 980px; color: #dfd0c5; }
.home-trust-statement .text-link { color: var(--clay-light); }
.pain-hub-hero, .pain-article-hero { background: var(--ivory-soft); }
.pain-category-nav { position: sticky; z-index: 8; top: 72px; display: flex; gap: 8px; overflow-x: auto; margin-bottom: 64px; padding: 12px; border: 1px solid var(--line); background: rgba(249,244,235,.96); scrollbar-width: thin; }
.pain-category-nav a { flex: 0 0 auto; padding: 10px 14px; background: var(--ivory-soft); color: var(--brown-deep); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pain-category { padding: 60px 0; scroll-margin-top: 150px; }
.pain-category + .pain-category { border-top: 1px solid var(--line); }
.pain-index-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.pain-index-card { display: grid; grid-template-columns: 56px 1fr; gap: 20px; min-height: 170px; padding: 26px; background: var(--ivory-soft); color: inherit; transition: background .2s ease, transform .2s ease; }
.pain-index-card:hover, .pain-index-card:focus-visible { z-index: 1; background: white; transform: translateY(-2px); }
.pain-index-card > span { color: var(--clay-dark); font-family: var(--font-display); font-size: 2rem; }
.pain-index-card p { margin: 0 0 8px; color: var(--muted); font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.pain-index-card h3 { margin: 0 0 22px; font-size: clamp(1.45rem, 2.2vw, 2rem); }
.pain-index-card small { color: var(--clay-dark); font-weight: 700; }
.source-note { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .82rem; }
.source-note a { color: var(--clay-dark); text-decoration: underline; text-underline-offset: 3px; }
.pain-root-grid { grid-template-columns: repeat(3, 1fr); }
.pain-action-list { display: grid; gap: 1px; margin: 40px 0; background: var(--line); border: 1px solid var(--line); }
.pain-action-list li { display: grid; grid-template-columns: 64px 1fr; gap: 22px; padding: 26px; background: var(--ivory-soft); }
.pain-action-list li > span { color: var(--clay-dark); font-family: var(--font-display); font-size: 2rem; }
.pain-action-list h3 { margin: 0 0 8px; font-size: 1.55rem; }
.pain-action-list p { margin: 0; color: var(--muted); }
.article-callout { margin-top: 38px; padding: 28px 32px; border-left: 4px solid var(--clay); background: var(--brown); color: var(--ivory-soft); }
.article-callout strong { font-family: var(--font-display); font-size: 1.8rem; font-weight: 500; }
.article-callout p { margin-bottom: 0; color: #dfd0c5; }
.pain-library-feature h2 { color: var(--ivory-soft); }
.pain-library-feature p { color: #dfd0c5; }
.pain-feature-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.18); }
.pain-feature-list span { padding: 22px; background: var(--brown); color: var(--clay-light); font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.service-library-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.16); }
.service-library-grid article { padding: clamp(28px, 4vw, 44px); background: var(--brown); }
.service-library-grid article > span { color: var(--clay-light); font-family: var(--font-display); font-size: 2.2rem; }
.service-library-grid h3 { margin: 18px 0 14px; color: var(--ivory-soft); font-size: clamp(2rem, 3vw, 3rem); }
.service-library-grid article > p:not(.kicker) { color: #dfd0c5; }
.service-link-list { display: grid; gap: 1px; margin-top: 26px; background: rgba(255,255,255,.14); }
.service-link-list a { padding: 14px 16px; background: rgba(255,255,255,.05); color: var(--clay-light); font-size: .82rem; font-weight: 700; }
.service-link-list a:hover, .service-link-list a:focus-visible { background: rgba(255,255,255,.11); }
.service-library-cta { display: flex; justify-content: space-between; gap: 34px; align-items: end; margin-top: 48px; padding-top: 34px; border-top: 1px solid rgba(255,255,255,.18); }
.service-library-cta h3 { max-width: 760px; margin: 8px 0 0; color: var(--ivory-soft); font-size: clamp(2rem, 3vw, 3rem); }
.factor-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.factor-grid article { padding: 30px; background: var(--ivory-soft); }
.factor-grid span { color: var(--clay-dark); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.factor-grid h3 { margin: 28px 0 12px; font-size: 1.8rem; }
.fit-section { padding: clamp(72px, 10vw, 130px) 0; background: var(--brown); color: var(--ivory-soft); }
.fit-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(45px, 8vw, 110px); align-items: start; }
.fit-copy h2 { color: var(--ivory-soft); }
.fit-copy > p { color: #dac9bd; }
.fit-proof { display: grid; gap: 12px; margin-top: 28px; color: #eaded5; }
.fit-proof li::before { content: "✓"; margin-right: 10px; color: var(--clay-light); }
.fit-funnel { min-height: 520px; padding: clamp(28px, 5vw, 58px); background: var(--ivory-soft); color: var(--ink); }
.fit-progress { margin-bottom: 38px; color: var(--brown-soft); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fit-progress > div { height: 3px; margin-top: 12px; background: var(--line); }
.fit-progress i { display: block; height: 100%; background: var(--clay); transition: width .25s ease; }
.fit-funnel fieldset { margin: 0; padding: 0; border: 0; }
.fit-funnel legend { margin-bottom: 26px; font-family: var(--font-display); font-size: clamp(2rem, 3vw, 3rem); line-height: 1.05; }
.fit-funnel fieldset label { display: block; margin: 10px 0; cursor: pointer; }
.fit-funnel fieldset label span { display: block; padding: 16px 18px; border: 1px solid var(--line); transition: .18s ease; }
.fit-funnel input { position: absolute; opacity: 0; }
.fit-funnel input:checked + span { border-color: var(--clay-dark); background: #f1dfcf; box-shadow: inset 4px 0 0 var(--clay); }
.fit-funnel input:focus-visible + span { outline: 3px solid rgba(198,113,57,.25); outline-offset: 2px; }
.fit-funnel fieldset.has-error legend::after { content: "Please choose one option."; display: block; margin-top: 10px; color: #9a3e2c; font-family: var(--font-body); font-size: .75rem; }
.fit-actions { display: flex; justify-content: space-between; align-items: center; margin-top: 28px; }
.fit-result h3 { margin: 12px 0 18px; font-size: clamp(2.6rem, 4vw, 4.2rem); }
.fit-result .button-row { margin: 28px 0; }

@media (max-width: 820px) {
  .nav-dropdown { width: 100%; }
  .nav-dropdown > button, .nav-dropdown > a { width: 100%; justify-content: space-between; padding: 12px 0; }
  .nav-dropdown-menu { position: static; width: 100%; padding: 4px 0 8px 14px; border: 0; background: transparent; box-shadow: none; }
  .nav-dropdown:hover .nav-dropdown-menu:not(:focus-within) { display: none; }
  .nav-dropdown.is-open .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu { display: grid; }
  .investment-hero-grid, .investment-cards, .pathway-grid, .investment-scope-grid, .factor-grid, .fit-grid, .revenue-stage-grid, .selective-grid { grid-template-columns: 1fr; }
  .comparison-grid > div { grid-template-columns: 1fr; }
  .comparison-grid strong { border-top: 1px solid rgba(255,255,255,.16); border-left: 0; }
  .comparison-head { display: none !important; }
  .comparison-grid span::before, .comparison-grid strong::before { display: block; margin-bottom: 8px; color: var(--clay-light); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
  .comparison-grid span::before { content: "Traditional marketing"; }
  .comparison-grid strong::before { content: "Thryve HQ"; }
  .revenue-stage-grid h3, .revenue-stage-grid p { min-height: auto; }
  .pain-index-grid, .pain-root-grid, .pain-feature-list { grid-template-columns: 1fr; }
  .pain-index-card { grid-template-columns: 42px 1fr; min-height: auto; padding: 22px 18px; }
  .pain-category-nav { top: 62px; margin-inline: -5vw; border-inline: 0; }
  .service-library-grid { grid-template-columns: 1fr; }
  .service-library-cta { align-items: start; flex-direction: column; }
  .investment-pillar-grid .pillar-card, .pathway-card h3, .pathway-card > p:not(.included-label):not(.scope-note), .scope-card h3, .scope-card > p:not(.kicker):not(.scope-note) { min-height: auto; }
  .fit-funnel { min-height: 0; padding: 28px 20px; }
}

/* --- Additive: knowledge platform (Deploy 1) --- */
.article-toc { margin: 0 0 64px; padding: 30px 34px; background: var(--paper, var(--ivory-soft)); border: 1px solid var(--line); }
.article-toc > p { margin: 0 0 14px; color: var(--clay-dark); font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.article-toc ol { margin: 0; padding-left: 20px; display: grid; gap: 9px; }
.article-toc a { color: inherit; text-decoration: none; }
.article-toc a:hover { color: var(--clay-dark); }
.article-body h2 { margin: 74px 0 22px; font-size: clamp(2.1rem, 3.2vw, 3rem); line-height: 1.05; scroll-margin-top: 110px; }
.article-body h2:first-child { margin-top: 0; }
.article-body h3 { margin: 40px 0 12px; font-size: 1.55rem; line-height: 1.1; }
.article-body p { margin: 0 0 20px; line-height: 1.7; }
.article-body a { color: var(--clay-dark); }

/* Growth Readiness Assessment landing page: 3-column process band on dark bg, reusing .trade-pillar card styling */
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(255,255,255,.16); margin-top: 8px; }
.process-grid .trade-pillar { min-height: 300px; }
@media (max-width: 860px) {
  .process-grid { grid-template-columns: 1fr; }
  .process-grid .trade-pillar { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .process-grid .trade-pillar:last-child { border-bottom: 0; }
}

/* --- Additive: Build Forward Initiative --- */
/* 3-column light card band (light-background counterpart to .pillar-grid, sized for exactly 3 items) */
.initiative-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(64, 44, 34, .18); border: 1px solid rgba(64, 44, 34, .18); margin-top: 8px; }
.initiative-card { min-height: 300px; padding: 32px 26px; background: var(--sand); }
.initiative-card:hover { background: var(--ivory-soft); }
.initiative-card > span { display: block; margin-bottom: 40px; color: var(--clay-dark); font-size: .7rem; font-weight: 700; letter-spacing: .13em; }
.initiative-card h3 { margin-bottom: 16px; font-size: 2rem; }
.initiative-card p { margin: 0; color: var(--muted); font-size: .94rem; }
/* Italicized statement line, e.g. a signature or core brand thought */
.signature-line { margin: 22px 0; max-width: 620px; color: var(--clay-dark); font-family: var(--font-display); font-style: italic; font-size: 1.3rem; line-height: 1.25; }
.signature-line-light { color: #e9b38a; }
@media (max-width: 860px) {
  .initiative-grid { grid-template-columns: 1fr; }
  .initiative-card { border-bottom: 1px solid rgba(64, 44, 34, .18); }
  .initiative-card:last-child { border-bottom: 0; }
}

/* --- Additive: Phase 3A /home-builder-marketing/ optimization --- */
/* Byline + last-updated line under the hero lead paragraph */
.article-meta { margin: 18px 0 0; color: var(--muted); font-size: .92rem; }
.article-meta a { color: var(--clay-dark); }
/* Wrap FAQ question text in <h3> for heading hierarchy without altering the existing
   accessible details/summary accordion's appearance or behavior. */
.faq-list summary h3 { display: inline; margin: 0; font: inherit; }
/* Comparison table inside .article-body — reuses existing color tokens and typography,
   no new visual language. Wrapped in .table-scroll for mobile overflow safety. */
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 28px 0; }
.table-scroll table { width: 100%; min-width: 560px; margin: 0; border-collapse: collapse; font-size: .95rem; }
.table-scroll caption { text-align: left; margin-bottom: 10px; color: var(--muted); font-size: .85rem; caption-side: top; }
.table-scroll th, .table-scroll td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.table-scroll thead th { font-family: var(--font-display); font-weight: 500; font-size: 1.05rem; color: var(--brown-deep); background: var(--sand); }
.table-scroll tbody th { font-weight: 600; color: var(--brown-deep); white-space: nowrap; }
/* Services connected-system diagram — a vertical, thin-line-connected stack of
   tiers used on the homepage Services preview and the /services/ page's "core
   idea" section. Reuses existing tokens/typography; no icons, no gradients. */
.services-diagram { position: relative; max-width: 760px; margin: 48px auto 32px; padding: 8px 0; }
.services-diagram::before { content: ""; position: absolute; left: 50%; top: 6px; bottom: 6px; width: 1px; background: var(--line); transform: translateX(-50%); z-index: 0; }
.services-tier { position: relative; z-index: 1; text-align: center; padding: 22px 0; }
.services-tier-label { display: inline-block; padding: 7px 18px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--clay-dark); }
.services-tier-items { margin: 16px auto 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 620px; }
.services-tier-items span { padding: 9px 17px; border: 1px solid rgba(61,43,34,.22); border-radius: 999px; background: var(--ivory-soft); color: var(--brown-deep); font-size: .8rem; font-weight: 600; }
.services-tier-result { padding-top: 30px; }
.services-tier-result strong { font-family: var(--font-display); font-weight: 500; font-size: 1.5rem; color: var(--brown-deep); }
.services-diagram-compact { max-width: 600px; margin: 40px auto 24px; }
.services-diagram-compact .services-tier { padding: 16px 0; }
@media (max-width: 640px) {
  .services-diagram { margin: 36px auto 24px; }
  .services-tier-items { gap: 8px; }
  .services-tier-items span { font-size: .74rem; padding: 8px 14px; }
}

@media (max-width: 640px) {
  .table-scroll th, .table-scroll td { padding: 10px 12px; font-size: .88rem; }
}

/* Managed Growth + Lead-to-Sale architecture */
.service-hero{padding:clamp(110px,14vw,180px) 0 80px;background:var(--ivory-soft)}.inner-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:clamp(40px,7vw,96px);align-items:end}.inner-hero h1{max-width:900px;font-size:clamp(3rem,7vw,6.5rem);line-height:.9}.service-proof{padding:30px;border-top:3px solid var(--clay);background:var(--sand)}.service-proof strong{display:block;margin:12px 0;font-family:var(--font-display);font-size:2rem}.journey-grid-8{grid-template-columns:repeat(4,1fr)}.lifecycle-panel{text-align:center;max-width:1000px}.lifecycle-panel h2{font-size:clamp(2rem,4vw,4rem)}.faq-shell{max-width:920px}.related-links>div{display:flex;flex-wrap:wrap;gap:10px}.related-links a{padding:12px 16px;border:1px solid var(--line);color:inherit;text-decoration:none}.conversion-band{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center}.services-tier-items a{padding:9px 17px;border:1px solid rgba(61,43,34,.22);border-radius:999px;background:var(--ivory-soft);color:var(--brown-deep);font-size:.8rem;font-weight:600;text-decoration:none}@media(max-width:860px){.inner-hero-grid,.conversion-band{grid-template-columns:1fr}.journey-grid-8{grid-template-columns:1fr 1fr}}@media(max-width:540px){.journey-grid-8{grid-template-columns:1fr}.inner-hero h1{font-size:clamp(2.8rem,15vw,4.3rem)}}


/* v2 homepage service capability system */
.service-capability-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 42px;
  border: 0;
  background: transparent;
}
.service-capability-card {
  position: relative;
  min-height: 410px;
  padding: 30px 28px 26px;
  border: 1px solid var(--line);
  background: var(--ivory-soft);
  color: var(--brown);
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}
.service-capability-card:hover,
.service-capability-card:focus-visible { background: var(--sand); transform: translateY(-3px); box-shadow: 0 16px 38px rgba(61,43,34,.08); }
.service-capability-number {
  display: inline-block;
  margin-bottom: 24px;
  color: var(--clay-dark);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.service-capability-icon {
  position: absolute;
  top: 28px;
  right: 30px;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--clay-dark);
  font-family: var(--font-display);
  font-size: 1.45rem;
}
.service-capability-kicker {
  margin: 0 0 10px;
  color: var(--clay-dark);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.service-capability-card h3 {
  max-width: 510px;
  margin: 0 0 16px;
  font-size: clamp(1.65rem, 2.25vw, 2.25rem);
  line-height: 1.02;
}
.service-stage { margin: 0 0 10px !important; color: var(--clay-dark) !important; font-size: .73rem !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.service-capability-card ul { display:grid; gap:8px; margin:22px 0 0; padding:18px 0 0; border-top:1px solid var(--line); list-style:none; }
.service-capability-card li { position:relative; padding-left:16px; color:var(--brown); font-size:.82rem; line-height:1.4; }
.service-capability-card li::before { content:""; position:absolute; left:0; top:.55em; width:5px; height:5px; border-radius:50%; background:var(--clay-dark); }
.service-capability-card > p:not(.service-capability-kicker) {
  max-width: 590px;
  margin: 0;
  color: var(--muted);
  font-size: .94rem;
  line-height: 1.65;
}
.service-capability-link {
  display: inline-block;
  margin-top: 28px;
  color: var(--brown);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .03em;
}
.service-capability-cta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 34px;
  align-items: end;
  margin-top: 26px;
  padding: 30px 32px;
  border: 1px solid var(--line);
  background: var(--sand);
}
.service-capability-cta h3 {
  margin: 0 0 10px;
  font-size: clamp(1.8rem, 2.6vw, 2.6rem);
}
.service-capability-cta > div > p:last-child {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}
.button-outline-dark {
  border: 1px solid var(--brown);
  background: transparent;
  color: var(--brown);
}
.button-outline-dark:hover { background: var(--brown); color: var(--ivory-soft); }

@media (max-width: 860px) {
  .service-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-capability-card { min-height: 0; }
  .service-capability-cta { grid-template-columns: 1fr; align-items: start; }
}
@media (max-width: 520px) {
  .service-capability-grid { grid-template-columns: 1fr; }
  .service-capability-card { padding: 28px 24px; }
  .service-capability-cta { padding: 26px 22px; }
  .service-capability-icon { right: 22px; }
}

/* Brand integrity on dark/brown surfaces */
.section-brown .brand img,
.manifesto .brand img,
.brand-light img,
.site-footer .brand img {
  background: transparent !important;
  box-shadow: none !important;
}

/* Visible service department cards */
.service-overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin:42px 0 18px; border:1px solid var(--line); background:var(--line); }
.service-overview-grid a { min-height:238px; padding:28px; background:var(--ivory-soft); color:var(--brown); text-decoration:none; transition:background .2s ease; }
.service-overview-grid a:hover,.service-overview-grid a:focus-visible { background:var(--sand); }
.service-overview-grid span { color:var(--clay-dark); font-size:.68rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.service-overview-grid h3 { margin:24px 0 12px; font-size:clamp(1.55rem,2vw,2.15rem); line-height:1.05; }
.service-overview-grid p { margin:0; color:var(--muted); font-size:.9rem; line-height:1.6; }
.service-overview-note { margin:0 0 30px; color:var(--muted); font-size:.82rem; }
@media(max-width:1000px){.service-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.service-overview-grid{grid-template-columns:1fr}.service-overview-grid a{min-height:0}}


/* Mobile consultation dock: direct WhatsApp and Google Calendar access */
.mobile-consultation-dock { display:none; }
@media (max-width: 760px) {
  body { padding-bottom: 72px; }
  .mobile-consultation-dock { position:fixed; z-index:1100; right:0; bottom:0; left:0; display:grid; grid-template-columns:.88fr 1.12fr; gap:8px; padding:9px max(12px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); border-top:1px solid rgba(61,43,34,.16); background:rgba(250,247,241,.97); box-shadow:0 -10px 30px rgba(43,36,31,.12); backdrop-filter:blur(12px); }
  .mobile-consultation-dock a { display:flex; min-height:48px; align-items:center; justify-content:center; border-radius:4px; font-size:.74rem; font-weight:800; letter-spacing:.035em; text-align:center; text-decoration:none; }
  .mobile-whatsapp { background:#1f6f50; color:#fff; }
  .mobile-whatsapp span { margin-right:7px; font-size:.9rem; }
  .mobile-book { background:var(--clay-dark); color:#fff; }
  .sage-launcher { bottom:calc(80px + env(safe-area-inset-bottom)); }
  .sage-panel { bottom:calc(80px + env(safe-area-inset-bottom)); max-height:calc(100dvh - 100px); }
}


/* Footer V15: clean compact four-column editorial layout */
.site-footer { padding-top:64px; overflow:hidden; }
.site-footer .footer-grid.footer-grid-4 { display:grid; grid-template-columns:minmax(230px,1.2fr) minmax(170px,.72fr) minmax(220px,.9fr) minmax(230px,1fr); gap:clamp(34px,4vw,72px); align-items:start; padding-bottom:52px; }
.site-footer .footer-brand,.site-footer nav,.site-footer .footer-contact { min-width:0; }
.site-footer nav,.site-footer .footer-contact { gap:8px; }
.site-footer nav > p,.site-footer .footer-contact > p:first-child { min-height:auto; margin:0 0 12px; }
.footer-positioning { margin-top:16px !important; color:#e3a176 !important; font-family:var(--font-display); font-size:1rem !important; line-height:1.25; }
.footer-trade-links { display:grid; grid-template-columns:1fr 1fr; gap:7px 16px; }
.footer-trade-links a { font-size:.8rem !important; line-height:1.3 !important; }
.footer-view-all { margin-top:8px; color:#e3a176 !important; font-size:.76rem !important; font-weight:700; }
.footer-primary-contact { display:block; width:max-content; max-width:100%; padding:1px 0 !important; font-size:.84rem !important; overflow-wrap:anywhere; }
.footer-action-links { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:16px; }
.footer-action-links a { display:inline-flex !important; align-items:center; gap:6px; padding:0 !important; color:var(--ivory-soft); font-size:.74rem !important; font-weight:700; line-height:1.25; text-decoration:none; }
.footer-action-links svg { width:12px !important; height:12px !important; flex:0 0 12px; fill:none; stroke:#e3a176; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.footer-contact-meta { margin:18px 0 0 !important; color:#aa978b !important; font-size:.7rem !important; line-height:1.55; }
.footer-partner-access { margin-top:16px; padding-top:14px; }
.footer-partner-access p { margin-bottom:6px; }
.footer-bottom { padding-top:20px; padding-bottom:92px; }
@media(max-width:1050px){.site-footer .footer-grid.footer-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 56px}.site-footer .footer-brand{grid-column:1/-1;max-width:560px}}
@media(max-width:640px){.site-footer{padding-top:48px}.site-footer .footer-grid.footer-grid-4{grid-template-columns:1fr;gap:30px;padding-bottom:38px}.site-footer .footer-brand{grid-column:auto}.site-footer nav,.site-footer .footer-contact{padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}.footer-trade-links{grid-template-columns:1fr 1fr}.footer-action-links{gap:12px 18px}.footer-action-links a{font-size:.76rem !important}.footer-bottom{padding-bottom:98px}}
