/* Page-only styles for consulting.html — loaded after styles.css, only on this page.
   Numbers follow the 1440 Figma frame "01 Consulting"; desktop sizes scale as min(Xvw, Ypx). */

/* ---------- hero ---------- */
@media (min-width: 768px) {
  .page-consulting .hero .eyebrow { font-size: min(1.25vw, 18px); }
  .page-consulting .hero .intro { max-width: min(74.8vw, 1077px); }
}

/* ---------- What we do: copy top-left, image, paragraph bottom-right ---------- */
.page-consulting .what-grid .section-head { align-self: start; padding-right: 0; }
.page-consulting #what-title,
.page-consulting #why-title { text-wrap: wrap; }

/* ---------- Our Services: one-line title, 714px main column at x=619 ---------- */
.page-consulting .practices .section-head.center { max-width: none; margin-inline: auto; }
.page-consulting #practices-title { max-width: none; }
@media (min-width: 768px) {
  .page-consulting .practices .section-head .body { max-width: min(46.53vw, 670px); }
  .page-consulting .practices .practice { grid-template-columns: 390fr 189fr 714fr 67fr; }
  .page-consulting .practice-main .lead { max-width: min(38.19vw, 550px); }
}

/* ---------- How we work ---------- */
@media (min-width: 768px) { .page-consulting .bg-ink.flat .measure-sm { max-width: min(46.875vw, 675px); } }

/* ---------- Sectors: 3 staggered columns of 433×322 cards ---------- */
@media (min-width: 768px) {
  .page-consulting .section:has(.sectors) { padding-top: min(11.25vw, 162px); }
  .page-consulting .section:has(.sectors) .section-head.center { max-width: min(56.88vw, 819px); }
  .page-consulting .section:has(.sectors) .section-head .body { max-width: min(52.92vw, 762px); }
  .page-consulting .sectors { column-gap: min(2.083vw, 30px); }
  .page-consulting .sectors .col { gap: min(2.22vw, 32px); }
  .page-consulting .sectors .col:nth-child(2) { margin-top: min(2.78vw, 40px); }
  .page-consulting .sectors .col:nth-child(3) { margin-top: min(5.56vw, 80px); }
  .page-consulting .sector { min-height: min(22.36vw, 322px); padding: min(2.22vw, 32px); gap: min(1.67vw, 24px); }
  .page-consulting .sector > div { display: grid; gap: min(1.67vw, 24px); }
  .page-consulting .sector h3 { line-height: 1.083; }
}
.page-consulting .sector .n { line-height: 1.25; }
.page-consulting .sector p { line-height: 1.25; }

/* ---------- Why Axiora Vision: 475 sidebar | 781 cards (icon, copy, 347×226 image) ---------- */
.page-consulting #why { background: var(--paper); }
@media (min-width: 768px) {
  .page-consulting #why .split-sticky { grid-template-columns: 475fr 781fr; column-gap: min(7.22vw, 104px); }
  .page-consulting .why-list { gap: min(2.083vw, 30px); }
  .page-consulting .why-item {
    grid-template-columns: 1fr min(24.1vw, 347px); gap: min(2.22vw, 32px); align-items: stretch;
    padding: min(1.67vw, 24px) min(1.67vw, 24px) min(1.67vw, 24px) min(2.22vw, 32px);
    border: 1px solid var(--paper-2);
  }
  .page-consulting .why-copy { display: flex; flex-direction: column; justify-content: space-between; gap: 16px; padding-top: min(.56vw, 8px); }
}
.page-consulting .why-item > * { min-width: 0; }
.page-consulting .why-item .media-radius { border-radius: 8px; width: 100%; align-self: start; }
.page-consulting .why-icon { display: block; width: 40px; height: 40px; color: var(--ink); }
.page-consulting .why-icon svg { width: 100%; height: 100%; stroke-width: 1.4; }
.page-consulting .why-item h3 { line-height: 1.1; margin-bottom: 12px; }
.page-consulting .why-item p { line-height: 1.2857; max-width: 346px; }

/* ---------- Move forward with confidence ---------- */
.page-consulting .statement-block { gap: 0; }
.page-consulting .statement-block .eyebrow { margin-bottom: min(2.22vw, 32px); }
.page-consulting .statement-block .lead { margin-bottom: min(3.33vw, 48px); }

/* ---------- phones ---------- */
@media (max-width: 767px) {
  .page-consulting .why-copy { display: grid; gap: 14px; }
  .page-consulting .why-icon { width: 32px; height: 32px; }
  .page-consulting .statement-block .eyebrow { margin-bottom: 20px; }
  .page-consulting .statement-block .lead { margin-bottom: 28px; }
  /* sectors read 01 → 06 when the three columns stack */
  .page-consulting .sectors { display: flex; flex-direction: column; gap: 16px; }
  .page-consulting .sectors .col { display: contents; }
  .page-consulting .sectors .col:nth-child(1) .sector:nth-child(2) { order: 4; }
  .page-consulting .sectors .col:nth-child(2) .sector:nth-child(1) { order: 2; }
  .page-consulting .sectors .col:nth-child(2) .sector:nth-child(2) { order: 5; }
  .page-consulting .sectors .col:nth-child(3) .sector:nth-child(1) { order: 3; }
  .page-consulting .sectors .col:nth-child(3) .sector:nth-child(2) { order: 6; }
  .page-consulting .sectors .col:nth-child(1) .sector:nth-child(1) { order: 1; }
}

/* Desktop fine-tuning: 162px of white below the practice rows before the dark band; 274px why cards incl. hairline */
@media (min-width: 768px) {
  .page-consulting #services { padding-bottom: min(11.25vw, 162px); }
  .page-consulting .why-item { padding-block: calc(min(1.67vw, 24px) - 1px); }
}
@media (min-width: 768px) {
  .page-consulting .practice-main .lead { line-height: 1.0909; }
  .page-consulting .practice-main .caps h4 { line-height: 1.1; }
}

/* Tablet (768–1024): keep the three staggered sector columns (shared rule collapses to 2) */
@media (min-width: 768px) and (max-width: 1024px) {
  .page-consulting .sectors { grid-template-columns: repeat(3, 1fr); }
  .page-consulting .sectors .col:nth-child(2) { margin-top: min(2.78vw, 40px) !important; }
  .page-consulting .sectors .col:nth-child(3) { margin-top: min(5.56vw, 80px) !important; }
}

/* How we work cards: description bottom-aligned with 32px padding, 23px leading (318×354 card) */
@media (min-width: 768px) {
  .page-consulting .steps.tall .step { padding-bottom: min(2.22vw, 32px); }
  .page-consulting .steps.tall .step p { line-height: 1.2778; }
}

/* Hero CTA is text-only in the design (216×53) */
.page-consulting .hero .btn .arrow { display: none; }

/* How we work cards (318×354): number at 32px from the top, 16px to a 26px-leading title (Figma "Feature Card") */
@media (min-width: 768px) {
  .page-consulting .steps.tall .step { padding-top: min(2.22vw, 32px); gap: 0; }
  .page-consulting .steps.tall .step h3 { margin-top: min(1.11vw, 16px); line-height: 1.0833; }
}

/* Phones: keep a little air between the sector number and its title (24px on desktop) */
@media (max-width: 767px) {
  .page-consulting .sector > div { display: grid; gap: 8px; }
}

/* no closing hairline under the last practice row (Environmental Studies) — the dark band fade follows directly */
.page-consulting .practice:last-child { border-bottom: 0; }
