/* Client feedback pass - 2026-07-29
 *
 * Preserves the approved structure and copy while tightening the reading
 * session, clarifying conversion points, and making long-form proof easier
 * to move through.
 */

/* Homepage: the same chapters, with less idle distance between them. */
.page-main--home .problem-field {
  padding-top: clamp(4.5rem, 6vw, 6.5rem);
  padding-bottom: clamp(4.75rem, 6.5vw, 7rem);
}

.page-main--home .smb-focus,
.page-main--home .smb-starting-points {
  padding-top: clamp(4.75rem, 7vw, 7.25rem);
  padding-bottom: clamp(4.75rem, 7vw, 7.25rem);
}

.page-main--home .smb-focus + .band .section,
.page-main--home #featured-work .section,
.page-main--home #why-plumfind .section,
.page-main--home #faq {
  padding-top: clamp(4.5rem, 6.5vw, 7rem);
  padding-bottom: clamp(4.5rem, 6.5vw, 7rem);
}

.page-main--home #faq .section-heading {
  margin-bottom: clamp(2.25rem, 3.5vw, 3.5rem);
}

.page-main--home .problem-field-graphic {
  margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
}

.page-main--home .problem-field .card {
  min-height: 235px;
  padding-bottom: 1.75rem;
}

.page-main--home .smb-focus-inner {
  row-gap: clamp(2.5rem, 4vw, 3.25rem);
}

.page-main--home .smb-focus-media {
  height: min(42rem, 52vw);
  min-height: 0;
}

.page-main--home .smb-focus-media img {
  display: block;
  position: absolute;
  inset: 0;
}

.page-main--home .smb-focus-intro .text-link {
  margin-top: 2rem;
}

.page-main--home .smb-focus-intro .smb-reassurance {
  margin-top: 1rem;
  color: var(--polish-muted);
  font-size: 0.86rem;
  line-height: 1.5;
}

.page-main--home .smb-focus-ledger li {
  padding-top: 1.3rem;
  padding-bottom: 1.4rem;
}

.page-main--home .smb-starting-points .section-heading {
  display: block;
  margin-bottom: 0;
}

.page-main--home .smb-starting-points .section-heading > div {
  width: 100%;
}

.page-main--home .smb-starting-points .section-heading > .lead {
  max-width: 31rem;
  margin-top: 1.5rem;
}

.page-main--home .starting-field-note {
  width: min(100%, 24rem);
  aspect-ratio: 16 / 10;
}

.page-main--home #featured-work .case-list .row-link {
  min-height: 220px;
}

.page-main--home #featured-work .case-preview {
  height: 180px;
}

.home-mid-cta {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
  margin-top: clamp(2.25rem, 4vw, 4rem);
  padding: 1.5rem 0;
  border-top: 1px solid var(--polish-line);
  border-bottom: 1px solid var(--polish-line);
}

.home-mid-cta h3 {
  max-width: 40rem;
  margin: 0.65rem 0 0;
  color: var(--polish-ink);
  font-size: clamp(1.35rem, 2.1vw, 2rem);
  font-weight: 620;
  letter-spacing: 0;
  line-height: 1.05;
}

/* The SMB outcomes and recommended reviews are one decision framework. Keeping
 * them together removes a repeated chapter without removing its substance. */
.page-main--home .smb-focus-inner {
  grid-template-columns: minmax(0, 0.78fr) minmax(30rem, 1.22fr);
  grid-template-areas:
    "intro media"
    "ledger ledger"
    "cta cta";
  column-gap: clamp(3rem, 7vw, 7.5rem);
  row-gap: clamp(3rem, 5.5vw, 5.5rem);
}

.page-main--home .smb-focus-media {
  position: relative;
  top: auto;
  height: min(33rem, 41vw);
}

.page-main--home .smb-focus-ledger {
  grid-area: ledger;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  scroll-margin-top: 7rem;
}

.page-main--home .smb-focus-ledger li {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: 1rem;
  min-width: 0;
  padding: 1.5rem 1.6rem 1.7rem 0;
  border-bottom: 1px solid rgba(23, 32, 30, 0.14);
}

.page-main--home .smb-focus-ledger li + li {
  padding-left: 1.6rem;
  border-left: 1px solid rgba(23, 32, 30, 0.14);
}

.smb-ledger-label,
.page-main--home .smb-focus-ledger .smb-ledger-label {
  margin: 0 0 0.72rem;
  color: var(--polish-plum);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 0.58rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.page-main--home .smb-focus-ledger h3 {
  min-height: 2.25em;
}

.page-main--home .smb-focus-ledger em {
  min-height: 2.9em;
}

.smb-start {
  margin-top: 1.5rem;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(23, 32, 30, 0.14);
}

.smb-start h4 {
  margin: 0;
  color: var(--polish-ink);
  font-size: clamp(1.05rem, 1.35vw, 1.3rem);
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.08;
}

.page-main--home .smb-focus-ledger .smb-start > p:not(.smb-ledger-label) {
  margin-top: 0.65rem;
  font-size: 0.82rem;
  line-height: 1.48;
}

.page-main--home .smb-focus-ledger .smb-start em {
  min-height: 0;
  margin-top: 0.8rem;
  font-size: 0.59rem;
}

.page-main--home .smb-focus .home-mid-cta {
  grid-area: cta;
  margin-top: 0;
}

/* Featured work becomes a compact editorial index on the homepage. */
.page-main--home #featured-work .case-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--polish-line);
}

.page-main--home #featured-work .case-list .row-link {
  grid-template-columns: 2.25rem minmax(0, 1fr) auto;
  grid-template-rows: 190px auto;
  gap: 1.1rem;
  align-items: start;
  min-height: 0;
  padding: 0 1.5rem 1.6rem 0;
  border-top: 0;
  border-bottom: 1px solid var(--polish-line);
}

.page-main--home #featured-work .case-list .row-link:nth-child(even) {
  padding-right: 0;
  padding-left: 1.5rem;
  border-left: 1px solid var(--polish-line);
}

.page-main--home #featured-work .case-preview {
  grid-column: 1 / -1;
  grid-row: 1;
  align-self: stretch;
  height: 190px;
  margin: 0 0 0.35rem;
}

.page-main--home #featured-work .row-number {
  grid-column: 1;
  grid-row: 2;
}

.page-main--home #featured-work .row-copy {
  grid-column: 2;
  grid-row: 2;
}

.page-main--home #featured-work .row-arrow {
  grid-column: 3;
  grid-row: 2;
}

.page-main--home #featured-work .row-copy h3 {
  font-size: clamp(1.45rem, 2.2vw, 2.05rem);
}

.page-main--home #featured-work .row-copy p {
  margin-top: 0.7rem;
  font-size: 0.8rem;
  line-height: 1.48;
}

/* FAQ reads as one calm editorial index. Accordions need a single reading
 * path so an open answer never competes with a neighbouring question. */
.page-main--home .faq-list--editorial,
.page-main--home .dark-band + #faq .faq-list--editorial {
  display: block;
  width: min(100%, 940px);
  max-width: 940px;
  margin-left: auto;
  border-top: 1px solid var(--polish-line);
}

.page-main--home #faq {
  padding-top: clamp(5rem, 6vw, 6.75rem);
  padding-bottom: clamp(4.5rem, 5.5vw, 6rem);
}

.page-main--home #faq .section-heading {
  margin-bottom: clamp(2.25rem, 3vw, 3rem);
}

.page-main--home .faq-list--editorial .faq-item summary {
  min-height: 80px;
  padding-right: 0;
}

.page-main--home .faq-list--editorial .faq-item summary > span:first-child {
  width: min(100% - 3.25rem, 820px);
  grid-template-columns: 10.5rem minmax(0, 1fr);
  gap: 1.5rem;
  align-items: center;
}

.page-main--home .faq-list--editorial .faq-item p {
  width: min(100%, 690px);
  max-width: none;
  margin-left: 12rem;
  padding: 0 3rem 1.5rem 0;
}

/* Team: people should appear before another explanation of the method. */
.team-section--first {
  padding-top: clamp(4.75rem, 7vw, 7rem);
  padding-bottom: clamp(5.25rem, 8vw, 8rem);
}

.team-principles-grid .card {
  min-height: 245px;
}

@media (min-width: 1020px) {
  .page-main--home .approach-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--polish-line);
  }

  .page-main--home .approach-step {
    grid-template-columns: 2rem minmax(0, 1fr);
    min-height: 12.5rem;
    padding: 1.45rem 1.5rem 1.55rem 0;
    border-top: 0;
    border-bottom: 1px solid var(--polish-line);
  }

  .page-main--home .approach-step:nth-child(even) {
    padding-right: 0;
    padding-left: 1.5rem;
    border-left: 1px solid var(--polish-line);
  }

  .page-main--home .approach-step p {
    font-size: 0.82rem;
    line-height: 1.48;
  }
}

/* Work: keep the editorial alternation and tags, but bring the next project
 * into view sooner. */
.page-main--work .work-hero-inner {
  min-height: 520px;
  padding-top: 78px;
  padding-bottom: 64px;
}

.page-main--work .work-hero-spread {
  grid-template-rows: 190px 190px;
}

.page-main--work .work-introduction {
  padding-top: clamp(4.5rem, 6vw, 6rem);
  padding-bottom: clamp(4.75rem, 6.5vw, 6.5rem);
}

.page-main--work .work-featured {
  padding-bottom: clamp(5rem, 7vw, 7rem);
}

.page-main--work .work-featured-heading {
  margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
}

.page-main--work .work-featured-list {
  gap: clamp(3.75rem, 5.5vw, 5.75rem);
}

.page-main--work .work-feature {
  gap: clamp(2.5rem, 4vw, 4rem);
}

.page-main--work .work-feature-media,
.page-main--work .work-feature-media img {
  min-height: 0;
  aspect-ratio: 1.58;
}

.page-main--work .work-feature-copy h3 {
  margin-bottom: 1.45rem;
}

.page-main--work .work-feature-copy dl {
  margin-bottom: 1.4rem;
}

.page-main--work .work-archive {
  padding-top: clamp(5rem, 7vw, 7rem);
  padding-bottom: clamp(5rem, 7vw, 7rem);
}

.page-main--work .work-industries {
  padding-top: clamp(5rem, 7vw, 7rem);
  padding-bottom: clamp(5rem, 7vw, 7rem);
}

.page-main--work .work-principles {
  padding-top: clamp(5rem, 7vw, 7rem);
  padding-bottom: clamp(5rem, 7vw, 7rem);
}

.page-main--work > .section.compact {
  padding-top: clamp(4.5rem, 6vw, 6rem);
  padding-bottom: clamp(4.5rem, 6vw, 6rem);
}

/* Case studies: retain every approved chapter and artifact, while removing
 * the excess vertical drag that made a complete read feel overlong. */
.case-study-hero-inner {
  min-height: min(500px, 62vh);
  padding-top: 72px;
  padding-bottom: 58px;
}

.case-media {
  margin-top: clamp(2.25rem, 4vw, 3.75rem);
}

.case-media img {
  height: min(42vw, 470px);
}

.case-pull,
.case-pull.theme-reading-room,
.case-pull.theme-lexa,
.case-pull.theme-fashion {
  min-height: 350px;
  padding-top: 58px;
  padding-bottom: 58px;
}

.case-overview,
.case-challenge,
.case-challenge.theme-video {
  padding-top: clamp(4.25rem, 6vw, 5.75rem);
  padding-bottom: clamp(4.25rem, 6vw, 5.75rem);
}

.case-timeline-section,
.case-research-module,
.case-research-module.theme-video,
.case-research-module.theme-fashion,
.case-research-module.theme-tcbn {
  padding-top: clamp(4rem, 5.75vw, 5.5rem);
  padding-bottom: clamp(4rem, 5.75vw, 5.5rem);
}

.case-timeline-heading {
  margin-bottom: clamp(2.25rem, 3.5vw, 3rem);
}

.case-timeline li {
  min-height: 170px;
}

.case-timeline li > span {
  margin-bottom: 1.6rem;
}

.case-solution,
.case-solution.theme-wallpaper,
.case-architecture,
.case-architecture.theme-video,
.case-implementation,
.case-implementation.theme-video {
  padding-top: clamp(4.25rem, 6vw, 5.75rem);
  padding-bottom: clamp(4.25rem, 6vw, 5.75rem);
}

.case-solution-list li,
.case-implementation-stages article {
  min-height: 185px;
}

.case-solution-list h3,
.case-implementation-stages h3 {
  margin-top: 2rem;
}

.case-implementation-heading {
  margin-bottom: clamp(2.25rem, 3.5vw, 3rem);
}

.case-architecture-visual {
  min-height: 310px;
}

.architecture-flow {
  min-height: 250px;
  gap: 34px 28px;
}

.case-architecture-notes {
  margin-top: 2.25rem;
}

.case-results-inner {
  padding-top: clamp(4.5rem, 6vw, 5.75rem);
  padding-bottom: clamp(4.5rem, 6vw, 5.75rem);
}

.case-results-heading {
  margin-bottom: clamp(2.25rem, 3.5vw, 3.25rem);
}

.case-results-grid article {
  min-height: 160px;
}

.case-results-grid p {
  margin-top: 2.25rem;
}

.case-lessons {
  margin-top: clamp(3rem, 4vw, 4rem);
}

.case-technologies,
.case-technologies.theme-video {
  padding-top: clamp(4.5rem, 6vw, 5.75rem);
  padding-bottom: clamp(4.5rem, 6vw, 5.75rem);
}

.case-related-inner {
  padding-top: clamp(4rem, 5.5vw, 5rem);
  padding-bottom: clamp(4rem, 5.5vw, 5rem);
}

.page-main--work ~ .site-footer,
.case-study ~ .site-footer {
  margin-top: 0;
}

/* Contact: a restrained, qualified offer directly beside the discovery path. */
.contact-offer {
  max-width: 33rem;
  margin-top: 2.4rem;
  padding: 1.45rem 0 1.35rem;
  border-top: 1px solid rgba(181, 82, 158, 0.42);
  border-bottom: 1px solid var(--polish-line);
}

.contact-offer h3 {
  max-width: 29rem;
  margin: 0.75rem 0 0.85rem;
  color: var(--polish-ink);
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.05;
}

.contact-offer > p:not(.section-label) {
  max-width: 31rem;
  margin: 0;
  color: var(--polish-muted);
  font-size: 0.86rem;
  line-height: 1.5;
}

.contact-offer small {
  display: block;
  max-width: 31rem;
  margin-top: 0.9rem;
  color: var(--polish-muted);
  font-size: 0.66rem;
  line-height: 1.45;
}

.quebec-contact-intro .contact-offer > p:not(.section-label) {
  font-size: 0.86rem;
}

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

  .page-main--home .smb-focus-inner {
    grid-template-columns: 1fr;
    grid-template-areas:
      "intro"
      "media"
      "ledger"
      "cta";
  }

  .page-main--home .smb-focus-ledger {
    grid-template-columns: 1fr;
  }

  .page-main--home .smb-focus-ledger li,
  .page-main--home .smb-focus-ledger li + li {
    padding-right: 0;
    padding-left: 0;
    border-left: 0;
  }

  .page-main--work .work-featured-list {
    gap: 4.75rem;
  }
}

@media (max-width: 620px) {
  .page-main--home .problem-field,
  .page-main--home .smb-focus,
  .page-main--home .smb-focus + .band .section,
  .page-main--home #featured-work .section,
  .page-main--home #why-plumfind .section,
  .page-main--home #faq {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .home-mid-cta {
    margin-top: 2rem;
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
  }

  .page-main--home .smb-focus-media {
    height: min(72vw, 25rem);
  }

  .page-main--home .problem-field .grid.three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-main--home .problem-field .card,
  .page-main--home .problem-field .card + .card {
    min-height: 225px;
    padding: 1rem 0.85rem 1.2rem;
    border-left: 0;
  }

  .page-main--home .problem-field .card:nth-child(even) {
    border-left: 1px solid var(--polish-line);
  }

  .page-main--home .problem-field .card h3 {
    margin-top: 1.15rem;
    font-size: 1rem;
    line-height: 1.05;
  }

  .page-main--home .problem-field .card p {
    margin-top: 0.65rem;
    font-size: 0.72rem;
    line-height: 1.42;
  }

  .page-main--home .problem-field .card-kicker {
    margin-top: 0;
    font-size: 0.52rem;
  }

  .page-main--home .smb-focus-inner {
    row-gap: 2.5rem;
  }

  .page-main--home .smb-focus-ledger li {
    min-height: 0;
    padding-top: 1.3rem;
    padding-bottom: 1.45rem;
  }

  .page-main--home .smb-focus-ledger h3,
  .page-main--home .smb-focus-ledger em {
    min-height: 0;
  }

  .page-main--home .approach-step,
  .page-main--home .approach-step:last-child {
    grid-template-columns: 2.2rem minmax(0, 1fr);
    min-height: 0;
    padding: 1.2rem 0 1.35rem;
  }

  .page-main--home .approach-step h3 {
    font-size: 1.08rem;
  }

  .page-main--home .approach-step p {
    margin-top: 0.45rem;
    font-size: 0.78rem;
    line-height: 1.45;
  }

  .page-main--home #featured-work .case-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-main--home #featured-work .case-list .row-link,
  .page-main--home #featured-work .case-list .row-link:nth-child(even) {
    grid-template-columns: 1.6rem minmax(0, 1fr) auto;
    grid-template-rows: 112px auto;
    gap: 0.7rem;
    min-width: 0;
    padding: 0 0.7rem 1rem;
  }

  .page-main--home #featured-work .case-list .row-link:nth-child(odd) {
    padding-left: 0;
  }

  .page-main--home #featured-work .case-preview {
    height: 112px;
    margin-bottom: 0.2rem;
  }

  .page-main--home #featured-work .row-copy h3 {
    font-size: 1.02rem;
    line-height: 1.02;
  }

  .page-main--home #featured-work .row-copy p,
  .page-main--home #featured-work .row-kicker {
    display: none;
  }

  .page-main--home #featured-work .row-number,
  .page-main--home #featured-work .row-arrow {
    font-size: 0.72rem;
  }

  .page-main--home .faq-list--editorial .faq-item summary {
    min-height: 76px;
  }

  .page-main--home .faq-list--editorial .faq-item summary > span:first-child {
    width: min(100% - 2.4rem, 820px);
    grid-template-columns: 1fr;
    gap: 0.4rem;
    align-items: start;
  }

  .page-main--home .faq-list--editorial .faq-item p {
    width: 100%;
    margin-left: 0;
    padding: 0 2.5rem 1.5rem 0;
  }

  .page-main--work .work-hero-inner {
    min-height: 0;
    padding-top: 4.75rem;
    padding-bottom: 4rem;
  }

  .page-main--work .work-featured-list {
    gap: 4rem;
  }

  .page-main--work .work-feature-media,
  .page-main--work .work-feature-media img {
    aspect-ratio: 1.42;
  }

  .page-main--work .work-archive,
  .page-main--work .work-industries,
  .page-main--work .work-principles,
  .page-main--work > .section.compact {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .case-study-hero-inner {
    min-height: 0;
    padding-top: 4.75rem;
    padding-bottom: 4rem;
  }

  .case-media img {
    height: 60vw;
  }

  .case-pull,
  .case-pull.theme-reading-room,
  .case-pull.theme-lexa,
  .case-pull.theme-fashion {
    min-height: 285px;
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }

  .case-research-module,
  .case-research-module.theme-video,
  .case-research-module.theme-fashion,
  .case-research-module.theme-tcbn,
  .case-timeline-section,
  .case-overview,
  .case-challenge,
  .case-challenge.theme-video,
  .case-solution,
  .case-solution.theme-wallpaper,
  .case-architecture,
  .case-architecture.theme-video,
  .case-implementation,
  .case-implementation.theme-video,
  .case-results-inner,
  .case-technologies,
  .case-technologies.theme-video,
  .case-related-inner {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .case-architecture-visual {
    min-height: 360px;
  }

  .architecture-flow {
    min-height: 315px;
  }

  .contact-offer {
    margin-top: 2rem;
  }

  .team-section--first {
    padding-top: 4rem;
    padding-bottom: 4.5rem;
  }

  .team-principles-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .team-principles-grid .card {
    min-height: 225px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-mid-cta,
  .contact-offer {
    scroll-behavior: auto;
  }
}
