/* DMD Fractional site styles */

:root {
  --paper: #FBF6EC;
  --cream2: #F3EAD9;
  --ink: #1D1B16;
  --blue: #4B9CD3;
  --blue-dark: #2E7CB4;
  --blue-text: #25689A;
  --marigold: #FFC53D;
  --muted: #554C40;
  --body: #403A30;
  --line: #EBE1CF;
  --card: #FFFFFF;
  --disp: 'Bricolage Grotesque', system-ui, sans-serif;
  --font: 'Hanken Grotesk', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --shadow-hard: 6px 6px 0 var(--ink);
  --shadow-hard-sm: 4px 4px 0 var(--ink);
  --radius-card: 18px;
  --radius-pill: 100px;
  color-scheme: light;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--font);
  background: var(--paper);
  color: var(--ink);
  font-weight: 400;
  line-height: 1.65;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font: inherit; border: none; background: none; cursor: pointer; }

h1, h2, h3 {
  font-family: var(--disp);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.025em;
}

.wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 32px;
}

.label {
  display: inline-block;
  font-family: var(--font);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--blue-text);
}

/* - -  Hard offset shadow utility (Cos signature) - -  */
.shadow-hard {
  box-shadow: var(--shadow-hard);
  border: 1.5px solid var(--ink);
}
.shadow-hard-sm {
  box-shadow: var(--shadow-hard-sm);
  border: 1.5px solid var(--ink);
}

/* - -  Nav (Cos) - -  */
.nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--paper); /* r4: opaque, no backdrop blur, so the sticky bar never ghosts over the hero h1 */
  border-bottom: 1px solid var(--line);
}
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  height: 78px;
}
.brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.brand img {
  height: 36px;
  width: auto;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 22px;
  flex: 1;
  justify-content: flex-end;
}
.nav-links a {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ink);
  padding-bottom: 4px;
  border-bottom: 3px solid transparent;
  transition: color 0.15s, border-color 0.15s;
}
.nav-links a:hover { color: var(--blue-text); }
.nav-links a.active {
  border-bottom-color: var(--marigold);
}
.nav-book {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--blue-text);
  color: #fff !important;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 11px 22px;
  border-radius: var(--radius-pill);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard-sm);
  transition: background 0.15s, transform 0.15s, box-shadow 0.15s;
}
.nav-book:hover { background: var(--blue-text); transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--ink); }
.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--ink);
  border-radius: 12px;
  background: var(--card);
  font-size: 1.35rem;
  line-height: 1;
  color: var(--ink);
}
.nav-mobile-book { display: none; }

@media (max-width: 860px) {
  .nav-links {
    display: none;
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    padding: 12px 32px 20px;
  }
  .nav-links.open { display: flex; }
  .nav-links a {
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
  }
  .nav-links a.active { border-bottom-color: var(--line); box-shadow: inset 0 -3px 0 var(--marigold); }
  .nav-book { display: none; }
  .nav-mobile-book {
    display: inline-flex;
    margin-left: auto;
  }
  .nav-toggle { display: inline-flex; }
}

/* - -  Buttons - -  */
.btn {
  font-family: var(--font);
  font-weight: 700;
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: var(--radius-pill);
  padding: 14px 28px;
  transition: transform 0.15s, box-shadow 0.15s, background 0.15s;
  cursor: pointer;
  text-align: center;
}
.btn-primary {
  background: var(--blue-text);
  color: #fff;
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard-sm);
}
.btn-primary:hover { transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--ink); }
.btn-secondary {
  background: var(--card);
  color: var(--ink);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard-sm);
}
.btn-secondary:hover { transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--ink); }
.btn-white {
  background: #fff;
  color: var(--ink);
  border: 1.5px solid transparent;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}
.btn-white:hover { transform: translateY(-1px); }
.btn-link-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--cream2);
  color: var(--ink);
  font-weight: 600;
  font-size: 0.92rem;
  padding: 10px 18px;
  border-radius: var(--radius-pill);
}
.btn-link-pill:hover { color: var(--blue-text); }

.cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

/* - -  Hero - -  */
.hero {
  padding: 64px 0 48px;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px;
  align-items: start;
}
.hero h1 {
  font-size: clamp(2.4rem, 5.2vw, 3.6rem);
  margin-bottom: 22px;
  max-width: 14ch;
}
.hero h1 .accent { color: var(--blue-text); }
.hero .lede {
  font-size: 1.12rem;
  color: var(--body);
  max-width: 42ch;
  margin-bottom: 28px;
  line-height: 1.55;
}
.hero-promo {
  margin-top: 28px;
  background: #F7E8B8;
  border-left: 5px solid var(--marigold);
  padding: 14px 18px;
  font-size: 0.95rem;
  color: var(--ink);
  max-width: 44ch;
  border-radius: 0 10px 10px 0;
}
.hero-promo strong { font-weight: 700; }

/* REQ card */
.req-card {
  background: var(--card);
  border-radius: var(--radius-card);
  padding: 28px 28px 0;
  overflow: hidden;
}
.req-card .req-label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 10px;
}
.req-card h3, .req-card .req-title {
  font-family: var(--disp);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.025em;
  font-size: 1.85rem;
  margin-bottom: 6px;
}
.req-card .req-meta {
  color: var(--muted);
  font-size: 0.95rem;
  margin-bottom: 20px;
}
.req-row {
  padding: 14px 0;
  border-top: 1px dashed var(--line);
}
.req-row .k {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 4px;
}
.req-row .strike {
  color: var(--muted);
  text-decoration: line-through;
  font-size: 0.95rem;
}
.req-row .val {
  color: var(--blue-text);
  font-weight: 700;
  font-size: 1.15rem;
}
.req-footer {
  margin: 20px -28px 0;
  background: #F7E8B8;
  padding: 16px 28px;
  font-weight: 600;
  font-size: 0.95rem;
  text-align: center;
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 28px;
}
.hero-stats .n {
  font-family: var(--disp);
  font-size: 1.65rem;
  font-weight: 800;
  color: var(--blue-text);
  line-height: 1.1;
}
.hero-stats .t {
  font-size: 0.88rem;
  color: var(--body);
  margin-top: 4px;
}

@media (max-width: 900px) {
  .hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .hero h1 { max-width: none; }
  .hero-stats { grid-template-columns: 1fr; gap: 14px; }
}

/* - -  Packages - -  */
.packages {
  padding: 56px 0 72px;
}
.pkg-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.pkg-card {
  background: var(--card);
  border-radius: var(--radius-card);
  padding: 32px;
  display: flex;
  flex-direction: column;
}
.pkg-card .label { margin-bottom: 10px; }
.pkg-card h3 {
  font-size: 1.85rem;
  margin-bottom: 8px;
}
.pkg-card .price {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 14px;
}
.pkg-card .desc {
  color: var(--body);
  font-size: 1.02rem;
  line-height: 1.55;
  margin-bottom: 20px;
}
.pkg-card ul {
  margin-bottom: 24px;
  flex-grow: 1;
}
.pkg-card li {
  position: relative;
  padding: 8px 0 8px 22px;
  color: var(--body);
  font-size: 1rem;
  line-height: 1.45;
}
.pkg-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--marigold);
}
.pkg-card .pkg-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}
.packages-further {
  margin-top: 40px;
  text-align: center;
}
.packages-further .label { margin-bottom: 8px; display: block; }
.packages-further p {
  font-size: 1.15rem;
  color: var(--ink);
}
.stub-note {
  margin-top: 20px;
  padding: 24px;
  background: var(--cream2);
  border: 1.5px dashed var(--muted);
  border-radius: 14px;
  color: var(--muted);
  font-size: 0.92rem;
  text-align: left;
}

@media (max-width: 800px) {
  .pkg-grid { grid-template-columns: 1fr; }
}

/* - -  Proof - -  */
.proof {
  padding: 72px 0 48px;
}
.proof .section-head { margin-bottom: 36px; }
.proof .section-head h2 {
  font-size: clamp(1.9rem, 4vw, 2.8rem);
  margin-top: 12px;
}
.proof-card {
  background: var(--card);
  border-radius: var(--radius-card);
  padding: 36px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 32px;
  border: 1.5px solid var(--line);
  box-shadow: 0 10px 28px rgba(29, 27, 22, 0.07);
}
.proof-quote {
  font-family: var(--disp);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--ink);
  margin-bottom: 22px;
}
.proof-attr .name {
  font-weight: 700;
  font-size: 1rem;
}
.proof-attr .role {
  color: var(--muted);
  font-size: 0.92rem;
}
.proof-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-left: 1px solid var(--line);
  padding-left: 28px;
}
.proof-stat {
  padding: 18px 16px;
  border-bottom: 1px solid var(--line);
}
.proof-stat:nth-child(odd) { border-right: 1px solid var(--line); }
.proof-stat:nth-child(3),
.proof-stat:nth-child(4) { border-bottom: none; }
.proof-stat .n {
  font-family: var(--disp);
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--blue-text);
  line-height: 1.1;
}
.proof-stat .t {
  font-size: 0.88rem;
  color: var(--body);
  margin-top: 4px;
}

@media (max-width: 800px) {
  .proof-card { grid-template-columns: 1fr; }
  .proof-stats { border-left: none; padding-left: 0; border-top: 1px solid var(--line); padding-top: 8px; }
}

/* - -  Anonymized vignette stub - -  */
.vignette {
  padding: 48px 0 64px;
  background: var(--cream2);
}
.vignette .label {
  color: var(--ink);
  margin-bottom: 16px;
}

/* - -  Dark Book CTA - -  */
.book-cta {
  padding: 0 32px 0;
}
.book-cta-inner {
  background: var(--ink);
  color: #fff;
  border-radius: 0 0 40px 40px;
  padding: 72px 40px 64px;
  text-align: center;
  max-width: 1120px;
  margin: 0 auto;
}
.book-cta h2 {
  font-size: clamp(2rem, 4.5vw, 3rem);
  color: #fff;
  margin-bottom: 16px;
}
.book-cta .sub {
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.1rem;
  max-width: 46ch;
  margin: 0 auto 28px;
  line-height: 1.55;
}
.book-promo {
  display: inline-block;
  border: 1.5px solid var(--marigold);
  border-radius: var(--radius-pill);
  padding: 12px 22px;
  font-size: 0.95rem;
  margin-bottom: 28px;
  color: #fff;
  max-width: 52ch;
}
.book-promo strong { color: var(--marigold); font-weight: 700; }
.book-cta .email-pref {
  margin-top: 22px;
  font-size: 0.98rem;
  color: rgba(255, 255, 255, 0.85);
}
.book-cta .email-pref a {
  color: var(--marigold);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* - -  FAQ accordion stub - -  */
.faq {
  padding: 64px 0 96px;
  background: var(--paper);
}
.faq-item {
  border-top: 1px solid var(--line);
  padding: 0;
}
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 0;
  text-align: left;
  font-family: var(--disp);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--ink);
}
.faq-q .icon {
  color: var(--blue-text);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  flex-shrink: 0;
}
.faq-a {
  display: none;
  padding: 0 0 22px;
  color: var(--body);
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 66ch;
}
.faq-item.open .faq-a { display: block; }

/* - -  Secondary pagehead - -  */
.pagehead {
  padding: 28px 0 64px;
}
.breadcrumb {
  font-size: 0.88rem;
  color: var(--muted);
  margin-bottom: 28px;
}
.breadcrumb a:hover { color: var(--blue-text); }
.breadcrumb .sep { margin: 0 8px; color: var(--muted); }
.pagehead-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px;
  align-items: start;
}
.pagehead h1 {
  font-size: clamp(2.2rem, 4.8vw, 3.3rem);
  margin-bottom: 20px;
  max-width: 16ch;
}
.pagehead h1 .accent { color: var(--blue-text); }
.pagehead .lede {
  font-size: 1.1rem;
  color: var(--body);
  max-width: 44ch;
  margin-bottom: 28px;
  line-height: 1.55;
}
.track-card {
  background: var(--card);
  border-radius: var(--radius-card);
  padding: 28px;
}
.track-card .label { margin-bottom: 12px; }
.track-card .lead {
  font-size: 1.05rem;
  color: var(--ink);
  line-height: 1.5;
  margin-bottom: 20px;
}
.track-card .rule {
  height: 1px;
  background: var(--line);
  margin: 0 0 18px;
}
.track-row {
  margin-bottom: 14px;
}
.track-row .k {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 2px;
}
.track-row .v {
  font-size: 1rem;
  font-weight: 600;
  color: var(--ink);
}
.page-stub {
  padding: 0 0 96px;
}
.math-label {
  padding: 48px 0 0;
}
.math-label .label {
  font-size: 0.8rem;
  letter-spacing: 0.12em;
}

@media (max-width: 900px) {
  .pagehead-grid { grid-template-columns: 1fr; }
}

/* - -  Footer minimal - -  */
.site-footer {
  border-top: 1px solid var(--line);
  padding: 28px 0 40px;
  font-size: 0.9rem;
  color: var(--muted);
}
.site-footer .wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  justify-content: space-between;
  align-items: center;
}
.site-footer a:hover { color: var(--blue-text); }

/* - -  Preview banner - -  */

/* - -  HOLD / FAQ title-only - -  */
.hold-strip {
  margin: 16px 0;
  padding: 18px 20px;
  background: #F7E8B8;
  border: 2px dashed var(--ink);
  border-radius: 12px;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--ink);
}
.hold-strip .tag {
  display: inline-block;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 6px;
}

/* Primary/secondary keep hard ink offset (Cos punch); cards unchanged */

/* - -  Signals / Is it time - -  */
.signals { padding: 72px 0; }
.signals .section-head { margin-bottom: 36px; max-width: 52ch; }
.signals .section-head h2 { font-size: clamp(1.9rem, 4vw, 2.6rem); margin: 10px 0 14px; }
.signals .section-head .lede { color: var(--body); font-size: 1.08rem; }
.signals-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 28px;
  align-items: start;
}
.signal-list { display: flex; flex-direction: column; gap: 10px; }
.signal-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard-sm);
  border-radius: 14px;
  padding: 16px 18px;
  cursor: pointer;
  user-select: none;
}
.signal-item input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--blue); flex-shrink: 0; }
.signal-item span { font-weight: 600; color: var(--ink); line-height: 1.4; }
.signal-item.on { background: #F0F7FC; border-color: var(--blue-dark); }
.signal-side {
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard);
  border-radius: var(--radius-card);
  padding: 28px;
  position: sticky;
  top: 100px;
}
.signal-side .count {
  font-family: var(--disp);
  font-size: 2.4rem;
  font-weight: 800;
  color: var(--blue-text);
  line-height: 1;
  margin-bottom: 8px;
}
.signal-side .count-label { font-weight: 700; margin-bottom: 14px; }
.signal-side .hint { color: var(--body); font-size: 0.98rem; margin-bottom: 20px; line-height: 1.5; }
@media (max-width: 860px) {
  .signals-grid { grid-template-columns: 1fr; }
  .signal-side { position: static; }
}

/* - -  Why fractional comparisons - -  */
.why { padding: 72px 0; background: var(--cream2); }
.why .section-head { margin-bottom: 36px; max-width: 56ch; }
.why .section-head h2 { font-size: clamp(1.9rem, 4vw, 2.6rem); margin: 10px 0 14px; }
.why .section-head .lede { color: var(--body); }
.cmp-block { margin-bottom: 40px; }
.cmp-block .cmp-title {
  font-family: var(--disp);
  font-weight: 800;
  font-size: 1.35rem;
  margin-bottom: 6px;
}
.cmp-block .cmp-sub { color: var(--muted); font-size: 0.92rem; margin-bottom: 18px; }
.cmp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.cmp-card {
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard);
  border-radius: var(--radius-card);
  padding: 28px;
}
.cmp-card.highlight { background: #F0F7FC; }
.cmp-card .who {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}
.cmp-card.highlight .who { color: var(--blue-text); }
.cmp-card .price-big {
  font-family: var(--disp);
  font-size: 1.85rem;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 8px;
}
.cmp-card.highlight .price-big { color: var(--blue-text); }
.cmp-card .blurb { color: var(--body); font-size: 0.98rem; margin-bottom: 18px; line-height: 1.5; }
.cmp-row { margin-bottom: 12px; }
.cmp-row .k { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); margin-bottom: 2px; }
.cmp-row .v { font-weight: 600; color: var(--ink); font-size: 0.98rem; line-height: 1.4; }
.why-foot { margin-top: 8px; color: var(--body); max-width: 62ch; line-height: 1.55; }
.why-foot a { color: var(--blue-text); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 800px) { .cmp-grid { grid-template-columns: 1fr; } }

/* - -  Recruiting slider home - -  */
.rec-slider { padding: 72px 0; }
.rec-slider .section-head { margin-bottom: 32px; max-width: 52ch; }
.rec-slider .section-head h2 { font-size: clamp(1.9rem, 4vw, 2.6rem); margin: 10px 0 14px; }
.slider-panel {
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard);
  border-radius: var(--radius-card);
  padding: 32px;
  margin-bottom: 28px;
}
.slider-label { font-weight: 700; margin-bottom: 8px; }
.slider-value {
  font-family: var(--disp);
  font-size: 2rem;
  font-weight: 800;
  color: var(--blue-text);
  margin-bottom: 12px;
}
.salary-range {
  width: 100%;
  accent-color: var(--blue);
  margin-bottom: 8px;
}
.slider-ends { display: flex; justify-content: space-between; color: var(--muted); font-size: 0.88rem; margin-bottom: 24px; }
.slider-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.slider-col {
  background: var(--cream2);
  border-radius: 14px;
  padding: 18px;
}
.slider-col.dmd { background: #F0F7FC; border: 1.5px solid var(--blue); }
.slider-col .who { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.slider-col .amt { font-family: var(--disp); font-weight: 800; font-size: 1.35rem; color: var(--ink); margin-bottom: 4px; }
.slider-col.dmd .amt { color: var(--blue-text); }
.slider-col .meta { font-size: 0.88rem; color: var(--body); }
.savings-line {
  margin-top: 20px;
  font-size: 1.05rem;
  font-weight: 600;
}
.savings-line strong { color: var(--blue-text); }
.rec-guarantees {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 8px;
}
.rec-g {
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard-sm);
  border-radius: 14px;
  padding: 22px;
}
.rec-g h3 { font-size: 1.15rem; margin-bottom: 8px; }
.rec-g p { color: var(--body); font-size: 0.98rem; line-height: 1.5; }
.rec-slider .foot-link { margin-top: 24px; }
.rec-slider .foot-link a { color: var(--blue-text); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 800px) {
  .slider-cols, .rec-guarantees { grid-template-columns: 1fr; }
}

/* - -  Offers continues - -  */
.offers-intro { margin-bottom: 28px; max-width: 52ch; }
.offers-intro h2 { font-size: clamp(1.9rem, 4vw, 2.6rem); margin: 10px 0 12px; }
.offers-intro .lede { color: var(--body); }
.door-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 16px;
}
.continues-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 24px;
}
.cont-card {
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard);
  border-radius: var(--radius-card);
  padding: 28px;
}
.cont-card h3 { font-size: 1.45rem; margin-bottom: 6px; }
.cont-card .price { font-weight: 700; margin-bottom: 12px; }
.cont-card .desc { color: var(--body); margin-bottom: 16px; line-height: 1.5; }
.cont-card .meta-k { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.cont-card .meta-v { font-weight: 600; margin-bottom: 0; }
.bridge-card {
  margin-top: 20px;
  background: var(--ink);
  color: #fff;
  border-radius: var(--radius-card);
  padding: 28px 32px;
  border: 1.5px solid var(--ink);
  box-shadow: 6px 6px 0 var(--blue-dark);
}
.bridge-card .new {
  display: inline-block;
  background: var(--marigold);
  color: var(--ink);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 100px;
  margin-bottom: 10px;
}
.bridge-card .label { color: rgba(255,255,255,0.7); margin-bottom: 6px; }
.bridge-card h3 { color: #fff; font-size: 1.5rem; margin-bottom: 10px; }
.bridge-card p { color: rgba(255,255,255,0.88); line-height: 1.55; max-width: 62ch; }
@media (max-width: 800px) { .continues-grid { grid-template-columns: 1fr; } }

/* - -  Proof two cards - -  */
.proof-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 24px;
  margin-bottom: 0;
}
.proof-quote-card, .proof-stats-card {
  border-radius: var(--radius-card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard);
}
.proof-quote-card {
  background: var(--card);
  padding: 36px;
}
.proof-stats-card {
  background: var(--cream2);
  padding: 0;
  overflow: hidden;
}
.proof-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-left: none;
  padding-left: 0;
  height: 100%;
}
.proof-stat {
  padding: 28px 22px;
  border-bottom: 1px solid var(--line);
}
.proof-stat:nth-child(odd) { border-right: 1px solid var(--line); }
.proof-stat:nth-child(3),
.proof-stat:nth-child(4) { border-bottom: none; }
.proof-card { display: none; } /* legacy single card unused */
@media (max-width: 800px) {
  .proof-grid { grid-template-columns: 1fr; }
}

/* - -  Vignette - -  */
.vignette-inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: left;
}
.vignette h3 {
  font-size: 1.5rem;
  margin: 12px 0 14px;
}
.vignette p { color: var(--body); font-size: 1.05rem; line-height: 1.6; }

/* - -  About - -  */
.about { padding: 72px 0; }
.about-grid {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 40px;
  align-items: start;
}
.about-photo {
  width: 200px;
  height: 200px;
  border-radius: 18px;
  object-fit: cover;
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard);
}
.about .section-head h2 { font-size: clamp(1.9rem, 4vw, 2.6rem); margin: 10px 0 8px; }
.about .name { font-family: var(--disp); font-weight: 800; font-size: 1.35rem; margin-bottom: 4px; }
.about .role { color: var(--muted); margin-bottom: 18px; }
.about .bio { color: var(--body); margin-bottom: 14px; line-height: 1.6; max-width: 58ch; }
@media (max-width: 700px) {
  .about-grid { grid-template-columns: 1fr; }
  .about-photo { width: 140px; height: 140px; }
}

/* - -  Free tools home band - -  */
.tools-band { padding: 72px 0; background: var(--cream2); }
.tools-band .section-head { margin-bottom: 28px; }
.tools-band .section-head h2 { font-size: clamp(1.9rem, 4vw, 2.6rem); margin: 10px 0 0; }
.tools-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.tool-card {
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard);
  border-radius: var(--radius-card);
  padding: 28px;
  display: flex;
  flex-direction: column;
}
.tool-card h3 { font-size: 1.25rem; margin-bottom: 10px; }
.tool-card p { color: var(--body); flex-grow: 1; margin-bottom: 18px; line-height: 1.5; }
@media (max-width: 800px) { .tools-grid { grid-template-columns: 1fr; } }

/* - -  FAQ remainder titles - -  */
.faq-a.hold {
  color: var(--muted);
  font-style: italic;
  font-size: 0.95rem;
}

/* - -  Page sections shared - -  */
.section { padding: 64px 0; }
.section-alt { background: var(--cream2); }
.bullet-list li {
  position: relative;
  padding: 8px 0 8px 22px;
  color: var(--body);
}
.bullet-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--marigold);
}
.split-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 800px) { .split-2 { grid-template-columns: 1fr; } }

.symptom-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 24px 0;
}
.symptom {
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard-sm);
  border-radius: 12px;
  padding: 16px 18px;
  font-weight: 600;
}
@media (max-width: 700px) { .symptom-grid { grid-template-columns: 1fr; } }

.get-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.get-box {
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard);
  border-radius: var(--radius-card);
  padding: 28px;
}
.get-box h3 { font-size: 1.2rem; margin-bottom: 14px; }
.get-box.not { background: var(--cream2); }

.month-steps { display: flex; flex-direction: column; gap: 14px; margin-top: 24px; }
.month-step {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 16px;
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard-sm);
  border-radius: 14px;
  padding: 18px 20px;
}
.month-step .when { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--blue-text); }
.month-step h3 { font-size: 1.05rem; margin-bottom: 4px; }
.month-step p { color: var(--body); font-size: 0.95rem; }
@media (max-width: 700px) { .month-step { grid-template-columns: 1fr; } }

.price-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.price-card {
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard);
  border-radius: var(--radius-card);
  padding: 24px;
  display: flex;
  flex-direction: column;
}
.price-card h3 { font-size: 1.2rem; margin-bottom: 6px; }
.price-card .price { font-weight: 700; margin-bottom: 10px; }
.price-card p { color: var(--body); flex-grow: 1; margin-bottom: 16px; font-size: 0.98rem; }
@media (max-width: 900px) { .price-grid { grid-template-columns: 1fr; } }

.math-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard);
  border-radius: var(--radius-card);
  overflow: hidden;
  margin: 24px 0;
}
.math-table th, .math-table td {
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid var(--line);
  font-size: 0.95rem;
}
.math-table th {
  background: var(--cream2);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}
.math-table td:nth-child(n+2) { font-weight: 600; }
.math-table tr:last-child td { border-bottom: none; }
.math-table .keep { color: var(--blue-text); }

.timeline {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 24px;
}
/* Recruiting #search timeline motion (SIGNED) */
.tl-item {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 16px;
  padding: 18px 20px;
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: 6px 6px 0 var(--ink);
  border-radius: 14px;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.timeline.js-motion .tl-item {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.15s ease;
}
.timeline.js-motion .tl-item.is-in {
  opacity: 1;
  transform: translateY(0);
}
.tl-item.is-in:hover,
.tl-item.is-in:focus-within {
  transform: translateY(-1px);
  box-shadow: 8px 8px 0 var(--ink);
}
.tl-item .when {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--blue-text);
  transform-origin: left center;
}
.tl-item.is-in .when {
  animation: tl-when-pop 0.24s ease-out;
}
@keyframes tl-when-pop {
  0% { transform: scale(1); color: var(--blue-text); }
  45% { transform: scale(1.06); color: var(--marigold); }
  100% { transform: scale(1); color: var(--blue-text); }
}
.tl-item h3 { font-size: 1.05rem; margin-bottom: 4px; }
.tl-item p { color: var(--body); font-size: 0.95rem; }
@media (max-width: 700px) { .tl-item { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  .timeline.js-motion .tl-item {
    opacity: 1;
    transform: none;
    transition: box-shadow 0.15s ease;
  }
  .tl-item.is-in:hover,
  .tl-item.is-in:focus-within {
    transform: translateY(-1px);
  }
  .tl-item.is-in .when {
    animation: none;
  }
}

.keep-list li, .no-list li {
  padding: 10px 0 10px 22px;
  position: relative;
  border-bottom: 1px solid var(--line);
  color: var(--body);
}
.keep-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--marigold);
}
.no-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--muted);
}

.guarantee-box {
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard);
  border-radius: var(--radius-card);
  padding: 28px;
  margin-top: 20px;
}
.guarantee-box ul { margin-top: 14px; }

/* Tool hub / insights chrome extras */
.tool-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.tool-hub-card {
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard);
  border-radius: var(--radius-card);
  padding: 28px;
  display: flex;
  flex-direction: column;
}
.tool-hub-card .idx { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--blue-text); margin-bottom: 10px; }
.tool-hub-card h2 { font-size: 1.35rem; margin-bottom: 10px; }
.tool-hub-card .sub { color: var(--body); flex-grow: 1; margin-bottom: 12px; }
.tool-hub-card .who-for { color: var(--muted); font-size: 0.92rem; margin-bottom: 18px; }
.tool-hub-disclaimer { margin-top: 28px; color: var(--muted); font-size: 0.95rem; }
@media (max-width: 800px) { .tool-hub-grid { grid-template-columns: 1fr; } }

.post-list { display: flex; flex-direction: column; gap: 16px; padding: 0 0 64px; }
.post {
  display: block;
  background: var(--card);
  border: 1.5px solid var(--ink);
  box-shadow: var(--shadow-hard-sm);
  border-radius: 14px;
  padding: 24px 28px;
  transition: transform 0.15s;
}
.post:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--ink); }
.post .k { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--blue-text); }
.post-card-date { display: block; color: var(--muted); font-size: 0.88rem; margin: 6px 0 8px; }
.post h2 { font-size: 1.25rem; margin-bottom: 8px; }
.post p { color: var(--body); margin-bottom: 10px; }
.post .go { font-weight: 700; color: var(--blue-text); }

.pagehead-simple { padding: 48px 0 24px; }
.pagehead-simple h1 { font-size: clamp(2rem, 4vw, 2.8rem); margin: 10px 0 12px; }
.pagehead-simple .lede { color: var(--body); max-width: 52ch; }

.site-footer .foot-links { display: flex; flex-wrap: wrap; gap: 12px 18px; }
.site-footer .foot-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }

.book-cta { margin-top: 48px; }

.tool-crumb a { text-decoration: underline; text-underline-offset: 3px; }

/* Mobile overflow fixes (QA 2026-09-21) */
@media (max-width: 800px) { .get-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
  .math-table { table-layout: fixed; width: 100%; }
  .math-table th, .math-table td { padding: 10px 7px; font-size: 0.8rem; overflow-wrap: anywhere; }
  .math-table th { font-size: 0.62rem; letter-spacing: 0.04em; }
}

.post-byline { margin-top: 6px; font-size: 0.95rem; color: var(--body); }
.post-byline a { color: var(--blue-text); font-weight: 600; }

/* cost-per-hire: large results wrap instead of pushing the page sideways on phones */
.calc .result { min-width: 0; }
.calc .result .big, .calc .result .v { overflow-wrap: anywhere; min-width: 0; }
.calc .result .row > * { min-width: 0; }
.calc .result .row .v { white-space: normal; text-align: right; overflow-wrap: anywhere; }

/* v2 bundle */
/* Articles: these classes had no styles on the live site */
.article { padding: 8px 0 24px; }
.article-body { max-width: 760px; }
.article-body > * + * { margin-top: 18px; }
.article-body h2 { font-size: clamp(1.45rem, 3vw, 1.85rem); margin-top: 44px; }
.article-body p, .article-body li { color: var(--body); line-height: 1.7; }
.article-body a { color: var(--blue-text); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
.article-body ul { list-style: disc; padding-left: 1.3em; }
.article-body ol { list-style: decimal; padding-left: 1.4em; }
.article-body li + li { margin-top: 8px; }
.article-body li::marker { color: var(--blue-text); font-weight: 700; }
.article .answer { background: var(--card); border: 1.5px solid var(--ink); box-shadow: var(--shadow-hard-sm); border-radius: 14px; padding: 20px 22px; }
.article .answer .k { display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--blue-text); margin-bottom: 6px; }
.article .answer p { color: var(--ink); }
.crumb { font-size: 0.88rem; color: var(--muted); margin-bottom: 18px; }
.crumb a:hover { color: var(--blue-text); }
.post-date { margin-top: 14px; font-size: 0.9rem; color: var(--muted); }
.post-date .upd { margin-left: 10px; padding: 2px 10px; border-radius: 100px; background: var(--marigold); color: var(--ink); font-weight: 600; font-size: .8rem; }
.pagehead h1 { overflow-wrap: break-word; }
.tbl-wrap { margin-top: 22px; }
.tbl { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--card); border: 1.5px solid var(--ink); border-radius: 14px; overflow: hidden; font-size: .95rem; }
.tbl th, .tbl td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid var(--line); line-height: 1.45; color: var(--ink); }
.tbl thead th { background: var(--cream2); font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; }
.tbl tbody th { font-weight: 700; }
.tbl tbody tr:last-child > * { border-bottom: none; }
@media (max-width: 700px) {
  .tbl.stack thead { display: none; }
  .tbl.stack, .tbl.stack tbody, .tbl.stack tr, .tbl.stack th, .tbl.stack td { display: block; width: 100%; }
  .tbl.stack tbody tr { border-bottom: 1.5px solid var(--ink); padding: 6px 0; }
  .tbl.stack tbody tr:last-child { border-bottom: none; }
  .tbl.stack tbody th { background: var(--cream2); border-bottom: 1px solid var(--line); }
  .tbl.stack td { border-bottom: none; padding: 6px 14px; display: grid; grid-template-columns: 40% 1fr; gap: 10px; }
  .tbl.stack td::before { content: attr(data-label); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); padding-top: 2px; }
}
.article-body .sources { font-size: .85rem; color: var(--muted); border-top: 1px solid var(--line); padding-top: 14px; }
.article .related { border-top: 1.5px solid var(--ink); padding-top: 22px; margin-top: 40px; }
.article .related h2 { margin-top: 0; font-size: 1.2rem; }
.section.cta, section.cta { padding: 56px 0 72px; }
.cta-inner { background: var(--card); border: 1.5px solid var(--ink); box-shadow: var(--shadow-hard); border-radius: var(--radius-card); padding: 36px; width: calc(100% - 64px); max-width: 1056px; margin: 0 auto; }
.cta-inner h2 { font-size: clamp(1.6rem, 3.5vw, 2.1rem); margin: 10px 0 10px; }
.cta-inner p { color: var(--body); margin-bottom: 20px; }
@media (max-width: 800px) { .cta-inner { width: calc(100% - 32px); padding: 26px 22px; } }

/* Home proof: fifth stat spans the row */
.proof-stat:nth-child(3), .proof-stat:nth-child(4) { border-bottom: 1px solid var(--line); }
.proof-stat-wide { grid-column: 1 / -1; border-right: none !important; border-bottom: none !important; display: flex; align-items: baseline; gap: 14px; }
.proof-more { margin-top: 22px; }
.proof-more a { font-weight: 700; color: var(--blue-text); border-bottom: 2px solid var(--marigold); padding-bottom: 2px; }

/* Short testimonial next to page CTAs */
.quote-mini { margin-top: 26px; padding-left: 16px; border-left: 4px solid var(--marigold); max-width: 54ch; }
.quote-mini blockquote { font-size: 1rem; line-height: 1.55; color: var(--ink); font-style: italic; }
.quote-mini figcaption { margin-top: 8px; font-size: .85rem; font-weight: 700; color: var(--muted); }

/* Before DMD case studies: numbered editorial list, not cards */
.cases-note { color: var(--muted); max-width: 62ch; font-size: .95rem; }
.case-list { margin-top: 34px; border-top: 1.5px solid var(--ink); }
.case { display: grid; grid-template-columns: 120px 1fr; gap: 28px; padding: 34px 0; border-bottom: 1.5px solid var(--ink); }
.case-num { font-family: var(--disp); font-weight: 800; font-size: 4.2rem; line-height: .9; color: var(--blue-dark); -webkit-text-stroke: 1.5px var(--ink); }
.case-body h3 { font-size: clamp(1.3rem, 2.6vw, 1.7rem); margin-bottom: 18px; max-width: 30ch; }
.case-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.case-steps dt { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--blue-text); margin-bottom: 6px; }
.case-steps dd { color: var(--body); line-height: 1.6; font-size: .98rem; }
.case-result dd { color: var(--ink); font-weight: 600; }
.case-result { background: var(--marigold); border: 1.5px solid var(--ink); border-radius: 12px; padding: 14px 16px; align-self: start; }
.case-result dt { color: var(--ink); }
.case-you { margin-top: 22px; display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; background: var(--cream2); border-radius: 12px; padding: 16px 18px; }
.case-you .k { grid-column: 1 / -1; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: -10px; }
.case-you p { color: var(--ink); line-height: 1.55; }
.case-cta { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.case-cta .btn { padding: 10px 18px; font-size: .92rem; }
@media (max-width: 900px) {
  .case { grid-template-columns: 1fr; gap: 6px; }
  .case-num { font-size: 3rem; }
  .case-steps { grid-template-columns: 1fr; gap: 16px; }
  .case-you { grid-template-columns: 1fr; }
  .case-cta { justify-content: flex-start; }
}

/* Location pages */
.reach-links { margin-top: 22px; padding: 14px 18px; border: 1.5px dashed var(--ink); border-radius: 12px; color: var(--body); max-width: 70ch; }
.reach-links a { color: var(--blue-text); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.reach-head { max-width: 780px; }
.reach-p { color: var(--body); max-width: 66ch; line-height: 1.65; }
.reach-p + .reach-p, .reach-prices + .reach-p { margin-top: 18px; }
.reach-p a { color: var(--blue-text); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.reach-list { max-width: 70ch; }
.reach-prices { display: grid; grid-template-columns: repeat(4, 1fr); border: 1.5px solid var(--ink); border-radius: 14px; overflow: hidden; background: var(--card); margin-top: 18px; }
.reach-prices > div { padding: 18px; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 4px; }
.reach-prices > div:last-child { border-right: none; }
.reach-prices .k { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-text); }
.reach-prices .v { font-family: var(--disp); font-weight: 800; font-size: 1.35rem; }
.reach-prices .n { font-size: .85rem; color: var(--muted); line-height: 1.4; }
@media (max-width: 900px) {
  .reach-prices { grid-template-columns: 1fr 1fr; }
  .reach-prices > div:nth-child(2) { border-right: none; }
  .reach-prices > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 480px) {
  .reach-prices { grid-template-columns: 1fr; }
  .reach-prices > div { border-right: none; border-bottom: 1px solid var(--line); }
  .reach-prices > div:last-child { border-bottom: none; }
}

/* v3.4.5 Mira SIGNED microcopy under the free HR check button */
.book-micro { margin: 12px 0 0; font-size: 0.92rem; line-height: 1.45; color: var(--muted); max-width: 52ch; }
.book-cta .book-micro { margin: 14px auto 0; color: rgba(255, 255, 255, 0.85); }

/* - -  r6 we/us: team strip + Meet the team (reusable card grid) - -  */
.hero-stats-label { display: block; margin-top: 28px; }
.hero-stats-label + .hero-stats { margin-top: 10px; }
.proof-stats-card .proof-stats-label { display: block; padding: 22px 22px 0; }
.proof-stats-4 { height: auto; }
.proof-stats-4 .proof-stat:nth-child(3),
.proof-stats-4 .proof-stat:nth-child(4) { border-bottom: none; }
.proof-employers { padding: 16px 22px 22px; border-top: 1px solid var(--line); font-size: 0.9rem; color: var(--body); line-height: 1.5; margin: 0; }
.about-intro { max-width: 760px; }
.team { margin-top: 40px; }
.team-head { font-family: var(--disp); font-weight: 800; font-size: 1.35rem; margin: 0 0 16px; }
.team-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 24px; max-width: 1056px; }
.team-card { display: grid; grid-template-columns: 120px 1fr; gap: 20px; align-items: start; background: var(--card); border: 1.5px solid var(--ink); border-radius: 18px; box-shadow: var(--shadow-hard); padding: 22px; }
.team-photo { width: 120px; height: 120px; border-radius: 14px; object-fit: cover; border: 1.5px solid var(--ink); }
.team-card .name { font-family: var(--disp); font-weight: 800; font-size: 1.2rem; margin-bottom: 6px; }
.team-card .bio { margin-bottom: 10px; }
.team-link { font-weight: 700; color: var(--blue-text); border-bottom: 2px solid var(--marigold); text-decoration: none; }
@media (max-width: 520px) {
  .team-card { grid-template-columns: 1fr; }
  .team-photo { width: 104px; height: 104px; }
}

/* r6c volume hourly card (Mira SIGNED 2026-10-02) */
.pkg-card-wide { grid-column: 1 / -1; }
.price-grid.price-grid-4 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 900px) { .price-grid.price-grid-4 { grid-template-columns: 1fr; } }

/* r6e: anchored sections and their eyebrows clear the sticky nav */


/* r6h: pull-quote callout (fractional-hr "The honest version") */
.pullquote { margin: 56px 0; padding: 28px 32px; max-width: 46rem; background: var(--card); border-left: 8px solid var(--marigold); border-radius: 0 12px 12px 0; }
.pullquote p { font-family: var(--disp); font-size: 1.5rem; line-height: 1.4; color: var(--ink); margin: 0; overflow-wrap: break-word; }
.pullquote strong { font-weight: 800; }
@media (max-width: 640px) { .pullquote { margin: 36px 0; padding: 20px 20px; border-left-width: 6px; } .pullquote p { font-size: 1.2rem; line-height: 1.45; } }

/* r6i: Handbook only (fractional-hr #foundations) and Foundations card foot */
.handbook-only { margin-top: 28px; padding: 22px 24px; background: var(--card); border: 1.5px solid var(--ink); border-radius: var(--radius-card); box-shadow: var(--shadow-hard-sm); max-width: 46rem; }
.handbook-only-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-bottom: 8px; }
.handbook-only h3 { font-size: 1.2rem; margin: 0; }
.handbook-only .price { font-weight: 700; }
.handbook-only p { color: var(--body); line-height: 1.55; margin: 0 0 14px; }
.handbook-foot { margin: 14px 0 0; font-size: .9rem; font-weight: 600; color: var(--ink); }
.price-card .handbook-foot { flex-grow: 0; margin: -6px 0 16px; }

/* - -  QA38 (Oct 8): longer booking label in the header - -  */
.nav-book { white-space: nowrap; }
@media (min-width: 861px) and (max-width: 1100px) {
  .nav-links { gap: 16px; }
  .nav-links a { font-size: 0.9rem; }
  .nav-book { font-size: 0.86rem; padding: 10px 16px; }
}
@media (max-width: 560px) {
  .nav-mobile-book {
    font-size: 0.74rem;
    padding: 7px 12px;
    white-space: normal;
    text-align: center;
    line-height: 1.15;
    max-width: 150px;
    margin-right: 8px;
  }
}

/* - -  Homepage proof testimonial: balanced against the stats card (Oct 8) - -  */
#proof .proof-quote-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 28px;
}
#proof .proof-quote-card::before {
  content: "\201C";
  display: block;
  font-family: var(--disp);
  font-weight: 700;
  font-size: 5.5rem;
  line-height: 0.7;
  height: 2.6rem;
  color: var(--marigold);
}
#proof .proof-quote {
  font-size: 1.35rem;
  margin-bottom: 0;
}
#proof .proof-attr {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
@media (max-width: 800px) {
  #proof .proof-quote-card { gap: 20px; padding: 28px; }
  #proof .proof-quote-card::before { font-size: 4rem; height: 1.9rem; }
  #proof .proof-quote { font-size: 1.18rem; }
}
#proof .proof-stats { height: auto; }
#proof .proof-stat .s { color: var(--muted); font-size: 0.84rem; line-height: 1.4; margin-top: 6px; }
#proof .proof-stat:nth-child(3), #proof .proof-stat:nth-child(4) { border-bottom: 1px solid var(--line); }
#proof .proof-founders { padding: 20px 22px 4px; }
#proof .proof-founders-label { display: block; margin-bottom: 10px; }
#proof .proof-founders-list { list-style: none; margin: 0; padding: 0; }
#proof .proof-founders-list li { padding: 9px 0 9px 18px; position: relative; font-size: 0.95rem; line-height: 1.4; border-bottom: 1px solid var(--line); }
#proof .proof-founders-list li:last-child { border-bottom: none; }
#proof .proof-founders-list li::before { content: ""; position: absolute; left: 0; top: 16px; width: 8px; height: 8px; border-radius: 50%; background: var(--marigold); }
#proof .proof-founders-list strong { font-weight: 700; color: var(--ink); }
#proof .proof-founders-sub { display: block; color: var(--muted); font-size: 0.84rem; margin-top: 2px; }
@media (min-width: 801px) {
  #proof .proof-quote { font-size: 1.5rem; line-height: 1.4; }
  #proof .proof-quote-card::before { font-size: 7rem; height: 3.4rem; }
}

/* - -  Homepage About: two columns (Oct 8) - -  */
.about-cols { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.about-cols .about-intro { max-width: none; }
.about-side { background: var(--card); border: 1.5px solid var(--ink); border-radius: var(--radius-card); box-shadow: var(--shadow-hard); padding: 28px 30px; margin-top: 8px; }
.about-side h3 { font-family: var(--disp); font-size: 1.25rem; margin: 0 0 12px; color: var(--ink); }
.about-side-list { list-style: none; margin: 0; padding: 0; }
.about-side-list li { position: relative; padding: 11px 0 11px 22px; border-bottom: 1px solid var(--line); line-height: 1.45; color: var(--body); }
.about-side-list li:last-child { border-bottom: none; padding-bottom: 2px; }
.about-side-list li::before { content: ""; position: absolute; left: 0; top: 19px; width: 9px; height: 9px; border-radius: 50%; background: var(--marigold); }
.about-side-list a { color: var(--blue-text); font-weight: 600; }
@media (max-width: 860px) {
  .about-cols { grid-template-columns: 1fr; gap: 24px; }
  .about-side { margin-top: 0; padding: 24px; }
}
@media (min-width: 801px) {
  #proof .proof-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #proof .proof-quote { font-size: 1.7rem; line-height: 1.38; }
}

/* ---- gap5 preview (Oct 8 2026) ---- */
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 10px; font-weight: 700; text-decoration: underline; }
.skip-link:focus { top: 12px; }
.done-note { background: var(--card); border: 1.5px solid var(--ink); border-left: 6px solid var(--marigold); border-radius: 12px; padding: 12px 16px; margin: 0 0 18px; color: var(--ink); font-weight: 600; max-width: 62ch; line-height: 1.5; }
.done-note[hidden] { display: none; }
/* /book: what happens on the free check */
.book-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "cal next"; gap: 28px; align-items: start; }
.book-layout .book-cal { grid-area: cal; min-width: 0; }
.book-layout .book-next { grid-area: next; }
.book-next { background: var(--card); border: 1.5px solid var(--ink); border-radius: var(--radius-card); box-shadow: var(--shadow-hard-sm); padding: 24px 24px 18px; }
.book-next h2 { font-family: var(--disp); font-size: 1.3rem; line-height: 1.2; margin: 0 0 14px; color: var(--ink); }
.book-who { display: flex; gap: 12px; align-items: flex-start; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.book-who-photos { display: flex; flex-shrink: 0; }
.book-who-photos img { width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--ink); object-fit: cover; background: var(--cream2); }
.book-who-photos img + img { margin-left: -12px; }
.book-who p, .book-next-list li { color: var(--body); font-size: 0.97rem; line-height: 1.5; }
.book-next strong { color: var(--ink); }
.book-next-list { list-style: none; margin: 0; padding: 0; }
.book-next-list li { position: relative; padding: 11px 0 11px 20px; border-bottom: 1px solid var(--line); }
.book-next-list li:last-child { border-bottom: none; }
.book-next-list li::before { content: ""; position: absolute; left: 0; top: 19px; width: 9px; height: 9px; border-radius: 50%; background: var(--marigold); }
@media (max-width: 960px) {
  .book-layout { grid-template-columns: 1fr; grid-template-areas: "cal" "next"; gap: 20px; }
}
/* /booked */
.booked-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); gap: 28px; align-items: start; padding-bottom: 72px; }
.booked-after p { color: var(--body); margin-bottom: 14px; line-height: 1.55; }
.booked-after a:not(.btn) { color: var(--blue-text); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 860px) { .booked-body { grid-template-columns: 1fr; } }
/* homepage: 3 steps in the final booking block */
.book-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; max-width: 900px; margin: 0 auto 28px; padding: 0; text-align: left; }
.book-steps li { display: flex; gap: 12px; align-items: flex-start; border: 1.5px solid rgba(255, 255, 255, 0.28); border-radius: 14px; padding: 16px; color: rgba(255, 255, 255, 0.88); font-size: 0.97rem; line-height: 1.5; }
.book-steps strong { color: #fff; }
.book-steps .n { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; background: var(--marigold); color: var(--ink); font-weight: 800; display: inline-flex; align-items: center; justify-content: center; font-size: 0.95rem; }
@media (max-width: 800px) { .book-steps { grid-template-columns: 1fr; } }
/* homepage: who we're a fit for */
.fit { padding: 8px 0 72px; }
.fit .section-head { margin-bottom: 28px; max-width: 56ch; }
.fit .section-head h2 { font-size: clamp(1.9rem, 4vw, 2.6rem); margin: 10px 0 14px; }
.fit .section-head .lede { color: var(--body); }
.fit .fit-note { margin-top: 14px; font-size: 0.92rem; color: var(--muted); }

/* ---- fit preview (Oct 8 2026, 6:55 PM decision) ---- */
.fit-industries { column-count: 2; column-gap: 28px; }
.fit-industries li { break-inside: avoid; }
@media (max-width: 560px) { .fit-industries { column-count: 1; } }
.fit-under15 { margin-top: 16px; padding: 14px 16px; background: var(--card); border: 1.5px solid var(--ink); border-left: 6px solid var(--marigold); border-radius: 12px; }
.fit-under15 h4 { font-family: var(--disp); font-size: 1.02rem; margin: 0 0 4px; color: var(--ink); }
.fit-under15 p { color: var(--body); font-size: 0.97rem; line-height: 1.5; margin: 0; }
.fit-under15 a { color: var(--blue-text); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.under15-card { margin-top: 24px; }
.under15-card .label { margin-bottom: 8px; align-self: flex-start; }
.under15-card .btn { align-self: flex-start; }

/* - -  Navfix 2 (Oct 8 2026): full-size menu toggle on the mobile header - -
   The toggle had flex-shrink:1 and was squeezed to about 15px wide from 360 to about 400px.
   Mobile header shows at 860px and below. Desktop (861px+) is untouched. */
@media (max-width: 860px) {
  .nav-toggle { flex-shrink: 0; min-width: 44px; min-height: 44px; }
}
@media (max-width: 559px) {
  /* header keeps the 32px site gutter so the logo and toggle line up with the content edges */
  .nav-inner { gap: 10px; }
  .nav-mobile-book { flex-shrink: 1; min-width: 0; margin-right: 0; }
}
@media (max-width: 379px) {
  .brand img { height: 32px; }
}

/* - -  Navfix (Oct 8 2026): no sideways scroll under 360px - -
   Root cause: the mobile header row (logo 115px + book pill 150px + 8px margin + toggle + two 20px gaps)
   needs about 360px, but logo and pill are flex-shrink:0, so below 360px the row spills past the right edge
   and the toggle gets squeezed. Scoped to <=359px so 360px and up are unchanged. */
@media (max-width: 359px) {
  .nav-inner { gap: 8px; }
  .brand img { height: 28px; }
  .nav-mobile-book { flex-shrink: 1; min-width: 0; max-width: 124px; margin-right: 0; padding: 6px 8px; font-size: 0.68rem; }
  .nav-toggle { flex-shrink: 0; }
  /* /book: Calendly's own stylesheet sets min-width:320px on the inline widget, wider than the column here */
  .book-layout .book-cal .calendly-inline-widget { min-width: 0; }
  /* bad-hire article worked-example table: tighter cells so its min-content width fits */
  .article-body .tbl { font-size: .88rem; }
  .article-body .tbl th, .article-body .tbl td { padding: 10px 8px; }
}

/* - -  Logo trim (Oct 8 2026): header logo uses logo-trim.png, the logo cropped to its ink (no transparent side padding),
   so the visible "d" lines up with the content edge. Heights keep the glyph at the size it rendered from logo.svg:
   ink height = 59.9% of the old image height (36px -> 21.56px, 32px -> 19.16px, 28px -> 17px). logo.svg is unchanged. */
.brand img.logo-trim { height: 22px; width: auto; }

/* qa63 preview 2026-10-08 */
.consent a { text-decoration: underline; text-underline-offset: 2px; }
.rsoft { font-size: 14.5px; margin: 14px 0 0; }
.rsoft a { color: var(--blue-text); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.result .rsoft a { color: #8BC3EA; }
.fhh-more a { font-weight: 600; }
.pricing-under15 { margin-top: 28px; max-width: 66ch; }
.tools-reading { padding: 64px 0; }
.tools-grid.tools-grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1100px) { .tools-grid.tools-grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 800px) { .tools-grid.tools-grid-4 { grid-template-columns: 1fr; } }
@media (max-width: 860px) {
  .site-footer .foot-links { gap: 0 18px; }
  .site-footer .foot-links a, .site-footer .foot-meta a { display: inline-flex; align-items: center; min-height: 44px; }
}
.tools-grid.tools-grid-4 .tool-card { padding: 24px; }
.tools-grid.tools-grid-4 .btn { white-space: nowrap; align-self: flex-start; }

/* - -  mira89 (2026-10-08)  - -  */
.why-strip { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; }
.why-strip li { position: relative; padding-left: 20px; color: var(--ink); font-weight: 600; font-size: 0.95rem; line-height: 1.45; }
.why-strip li::before { content: ""; position: absolute; left: 0; top: 0.42em; width: 9px; height: 9px; border-radius: 50%; background: var(--marigold); border: 1.5px solid var(--ink); }
.how-starts { margin: 0 0 28px; }
.how-starts h3 { font-size: 1.25rem; margin: 0 0 12px; }
.how-starts-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.how-starts-list li { display: flex; gap: 12px; align-items: flex-start; background: var(--card); border: 1.5px solid var(--ink); border-radius: 14px; padding: 16px; color: var(--body); font-size: 0.97rem; line-height: 1.5; }
.how-starts-list .n { flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--marigold); color: var(--ink); font-weight: 800; display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid var(--ink); font-size: 0.9rem; }
.offers-more { margin-top: 24px; color: var(--body); line-height: 1.55; }
.offers-more a { color: var(--blue-text); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 800px) { .how-starts-list { grid-template-columns: 1fr; } }
.book-quote { margin: 18px 0 4px; padding: 18px 0 0; border-top: 1px solid var(--line); }
.book-quote p { color: var(--ink); font-size: 0.97rem; line-height: 1.55; font-style: italic; margin: 0 0 10px; }
.book-quote footer { color: var(--body); font-size: 0.9rem; line-height: 1.45; }
.nowrap { white-space: nowrap; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
/* Visible keyboard focus on any background: marigold inner ring, ink outer ring */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid #1D1B16 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px #FFC53D !important;
}

/* hop (Oct 8): /fractional-hr tier cards and /recruiting band cards */
.tier-block { margin-top: 32px; }
.tier-head { font-size: 1.3rem; margin: 0 0 16px; }
.tier-card .label, .band-card .label { margin-bottom: 8px; align-self: flex-start; }
.tier-card p { margin-bottom: 0; }
.tier-note { margin: 18px 0 0; font-weight: 600; color: var(--ink); }
.band-block { margin-bottom: 24px; }
.band-card p { flex-grow: 0; }
.band-terms { list-style: none; margin: 0 0 18px; padding: 0; flex-grow: 1; }
.band-terms li { position: relative; padding-left: 18px; margin: 0 0 8px; color: var(--body); font-size: .98rem; line-height: 1.45; }
.band-terms li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--marigold); }
.band-terms a { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; display: inline-block; padding: 12px 0; margin: -12px 0; }
.band-note { margin-top: 18px; color: var(--body); max-width: 66ch; }
.band-card .btn { align-self: flex-start; }
.card-tiers { list-style: none; margin: 0 0 14px; padding: 0; }
.card-tiers li { position: relative; padding-left: 18px; margin: 0 0 6px; color: var(--body); line-height: 1.45; }
.card-tiers li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--marigold); }
.card-tiers strong { color: var(--ink); }

/* hop r3 (Oct 8): home free-tools line (replaces the home tools band) */
.tools-line { padding: 28px 0; background: var(--cream2); }
.tools-line p { margin: 0; text-align: center; color: var(--body); font-size: 1.05rem; line-height: 1.6; }
.tools-line a { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; padding: 12px 0; }
.tools-line .tools-line-all { white-space: nowrap; }

/* hop r3 (Oct 8): native <details> collapsibles (FAQs, case studies, fine print) */
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details > summary::marker { content: ""; }
.chev { flex-shrink: 0; width: 12px; height: 12px; margin: 0 6px 0 auto; border-right: 2.5px solid var(--blue-text); border-bottom: 2.5px solid var(--blue-text); transform: translateY(-3px) rotate(45deg); transition: transform .2s ease; }
details[open] > summary .chev { transform: translateY(3px) rotate(-135deg); }
@media (prefers-reduced-motion: reduce) { .chev { transition: none; } }
details > summary:focus-visible { outline: 3px solid var(--blue-text); outline-offset: 4px; border-radius: 6px; }
/* FAQ */
.faq-item > summary.faq-q { min-height: 44px; }
.faq-item .faq-a { display: block; }
.faq-q .faq-qt { flex: 1; }
.post-faq { border-top: 1px solid var(--line); }
.post-faq:last-of-type { border-bottom: 1px solid var(--line); }
.post-faq .faq-q { font-size: 1.05rem; padding: 16px 0; }
.post-faq .faq-a { font-size: 1rem; padding-bottom: 16px; }
/* Case studies */
.case { display: block; padding: 0; }
.case-sum { display: grid; grid-template-columns: 120px 1fr auto; gap: 28px; align-items: center; padding: 28px 0; min-height: 44px; }
.case-sum h3 { font-size: clamp(1.3rem, 2.6vw, 1.7rem); margin: 0; max-width: 30ch; }
.case-details > .case-body { padding: 0 0 34px 148px; }
.case-details > .case-body h3 { display: none; }
@media (max-width: 900px) {
  .case-sum { grid-template-columns: auto 1fr auto; gap: 14px; padding: 22px 0; }
  .case-sum .case-num { font-size: 2.2rem; }
  .case-details > .case-body { padding: 0 0 26px 0; }
}
/* Fine print */
.more-details { margin-top: 6px; }
.more-sum { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 600; color: var(--ink); font-size: .95rem; }
.more-sum .chev { margin: 0; width: 9px; height: 9px; }


/* Skim audit (Oct 9): 12px floor for small uppercase labels and kickers (was 10.9 to 11.5px). */
.label, .req-card .req-label, .req-row .k, .track-row .k, .cmp-card .who, .cmp-row .k, .slider-col .who,
.month-step .when, .tl-item .when, .tool-hub-card .idx, .post .k, .article .answer .k,
.case-steps dt, .case-you .k, .reach-prices .k { font-size: 0.75rem; }

/* Clarity pass (Oct 9) */
.req-legend { display: flex; gap: 16px; flex-wrap: wrap; padding: 10px 0 8px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.req-legend-ft { color: var(--muted); text-decoration: line-through; }
.req-legend-dmd { color: var(--blue-text); }
.signal-quiz { margin-top: 12px; font-size: 0.95rem; color: var(--body); }
.signal-quiz a { color: var(--blue-text); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; display: inline-block; padding: 12px 0; }
.found-line { color: var(--ink); font-weight: 700; margin: 0 0 12px; }
.bridge-card .label { margin-bottom: 8px; }
.bridge-card .price { font-weight: 700; margin-bottom: 10px; color: #fff; }

/* r2: labels promoted to headings keep the label look */
h2.label, h3.label { line-height: inherit; }
/* r2: self-check glossary */
.gloss { padding: 8px 0 40px; }
.gloss .faq-item { border-top: 1px solid var(--line); }
.gloss dl { display: grid; gap: 12px; padding: 4px 0 18px; }
.gloss dt { font-weight: 700; color: var(--ink); }
.gloss dd { color: var(--body); line-height: 1.55; }
.gloss .gloss-note { color: var(--muted); font-size: 0.92rem; }
/* r2: calculator under-15 line */
.u15-line { background: var(--card, #fff); border: 1.5px solid var(--ink); border-left: 6px solid var(--marigold); border-radius: 12px; padding: 16px 18px; color: var(--ink); line-height: 1.5; margin-bottom: 16px; }

/* Anchor offset: every #target (sections, cards, details) lands below the sticky
   .nav. The nav is 79px tall at every width (78px bar + 1px border), plus a 12px gap. */
:root { --nav-h: 79px; --anchor-gap: 12px; }
[id] { scroll-margin-top: calc(var(--nav-h) + var(--anchor-gap)); }

/* CTA trim: soft booking text links that replace mid-section buttons */
.soft-book { margin-top: 14px; font-weight: 600; }
.soft-book a, a.soft-book-link { color: var(--blue-text); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
.soft-book a:hover, a.soft-book-link:hover { color: var(--ink); }

/* Home credibility block (Mira signed 2026-10-09) */
.cred { padding: 8px 0 56px; background: var(--paper); }
.cred-card { background: var(--card); border: 1.5px solid var(--ink); border-radius: var(--radius-card); box-shadow: var(--shadow-hard); padding: 32px; }
.cred-card h2 { font-size: clamp(1.6rem, 3.4vw, 2.2rem); margin: 10px 0 18px; color: var(--ink); }
.cred-list { margin: 0; }
.cred-list li { color: var(--body); line-height: 1.6; }
.cred-more { margin: 18px 0 0; }
.cred-more a { color: var(--blue-text); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; display: inline-block; padding: 10px 0; }
@media (max-width: 520px) { .cred-card { padding: 24px 20px; } }
.proof-stats-1 { grid-template-columns: 1fr; height: auto; }
.proof-stats-1 .proof-stat { border-bottom: none; }
/* r3: stats card fills the testimonial's height (layout only) */
#proof .proof-stats-card { display: flex; flex-direction: column; }
#proof .proof-stats-1 { height: auto; flex: 1; align-content: center; }
#proof .proof-founders { flex: 1; display: flex; flex-direction: column; justify-content: center; }
#proof .proof-employers { margin-top: auto; }

/* Lumen v7 polish (Builders 2026-10-20). 1) Hide the header Book pill on small screens only while the sticky
   Book bar is actually showing (.sticky-book.is-on, set by sticky-book.js), so the pill stays at scroll 0.
   2) Tighter header pill at 420px and below. */
@media (max-width:640px){ body:has(.sticky-book.is-on) .nav-mobile-book{display:none} }
@media (max-width:420px){ .nav-mobile-book{font-size:12.5px;padding:7px 12px;line-height:1.2;text-wrap:balance;max-width:150px} }

/* Lumen v7 follow-up: keep the header pill to 2 lines at 320 (placed after the <=420 rule so it wins) */
@media (max-width:359px){ .nav-mobile-book{font-size:11.5px;padding:7px 10px;min-height:44px;max-width:168px;min-width:0;line-height:1.2} }
