/* =====================================================
     HERO
     ===================================================== */

  .home-hero {
    position: relative;
    overflow: hidden;

    padding-top:
      clamp(1.75rem, 3vw, 3rem);
  }

  .hero-background {
    position: absolute;
    inset: 0;
    z-index: 0;

    background:
      radial-gradient(
        circle at 75% 22%,
        rgba(216, 166, 78, 0.18),
        transparent 27%
      ),
      radial-gradient(
        circle at 65% 80%,
        rgba(201, 106, 69, 0.11),
        transparent 30%
      ),
      linear-gradient(
        180deg,
        #f7f0e6 0%,
        #f3eadf 100%
      );

    pointer-events: none;
  }

  .hero-grid {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
      minmax(0, 0.93fr)
      minmax(0, 1.07fr);

    gap:
      clamp(2rem, 4vw, 4.5rem);

    align-items: start;
  }

  .hero-copy {
    max-width: 590px;

    padding-bottom: 0;
  }

  .hero-copy h1 {
    max-width: 590px;

    margin-bottom:
      var(--space-5);

    font-size:
      clamp(3.1rem, 5.3vw, 4.65rem);

    line-height: 1;
  }

  .hero-copy h1 span {
    display: block;

    color:
      var(--color-clay);
  }

  .hero-lead {
    max-width: 555px;

    margin-bottom: 0;

    color:
      var(--color-text-soft);

    font-size:
      clamp(1.05rem, 1.6vw, 1.18rem);

    line-height: 1.75;
  }

  .hero-actions {
    display: flex;
    flex-wrap: wrap;

    gap: 0.8rem;

    margin-top:
      var(--space-5);
  }

  .hero-secondary {
    background:
      rgba(255, 250, 245, 0.52);
  }

  .hero-portrait {
    position: relative;

    display: flex;
    align-items: flex-end;
    justify-content: center;

    min-height: 430px;
  }

  .hero-glow {
    position: absolute;

    width:
      min(520px, 80%);

    aspect-ratio: 1;

    right: 3%;
    bottom: 2rem;

    border-radius:
      48% 52% 54% 46%;

    background:
      radial-gradient(
        circle at 42% 34%,
        rgba(255, 250, 245, 0.96),
        rgba(229, 208, 181, 0.74)
      );
  }

  .hero-dog {
    position: relative;
    z-index: 1;

    width:
      min(700px, 122%);

    max-width: none;

    margin-right: -8%;
    margin-bottom: -1.5rem;

    object-fit: contain;

    filter:
      drop-shadow(
        0 28px 36px
        rgba(28, 40, 44, 0.13)
      );
  }

  /* =====================================================
     QUICK PATHWAYS
     ===================================================== */

  .pathways {
    position: relative;
    z-index: 3;

    border-top:
      1px solid var(--color-border);

    border-bottom:
      1px solid var(--color-border);

    background:
      var(--color-paper);
  }

  .pathway-grid {
    display: grid;

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

  .pathway {
    display: grid;

    grid-template-columns:
      44px
      minmax(0, 1fr)
      20px;

    gap:
      var(--space-3);

    align-items: center;

    min-height: 118px;

    padding:
      1.35rem
      1.5rem;

    border-right:
      1px solid var(--color-border);

    transition:
      background-color
      var(--transition-fast);
  }

  .pathway:last-child {
    border-right: 0;
  }

  .pathway:hover {
    background:
      var(--color-paper-warm);
  }

  .pathway-badge {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    flex:
      0 0 42px;

    overflow: hidden;

    border-radius: 50%;

    background:
      rgba(201, 106, 69, 0.1);

    color:
      var(--color-clay);
  }

  .pathway-badge svg {
    display: block;

    width: 24px !important;
    height: 24px !important;

    min-width: 24px !important;
    min-height: 24px !important;

    max-width: 24px !important;
    max-height: 24px !important;

    flex:
      0 0 24px;
  }

  .pathway-copy {
    min-width: 0;
  }

  .pathway h2 {
    margin-bottom: 0.25rem;

    font-size: 1.05rem;
    line-height: 1.2;
  }

  .pathway p {
    margin-bottom: 0;

    color:
      var(--color-text-soft);

    font-size: 0.78rem;
    line-height: 1.45;
  }

  .pathway-arrow {
    color:
      var(--color-clay);

    font-size: 1.15rem;

    transition:
      transform
      var(--transition-fast);
  }

  .pathway:hover
  .pathway-arrow {
    transform:
      translateX(3px);
  }

  /* =====================================================
     RELATIONSHIP-CENTRED APPROACH
     ===================================================== */

  .approach-section {
    padding-block:
      clamp(5rem, 8vw, 7rem);

    background:
      var(--color-cream);
  }

  .approach-grid {
    display: grid;

    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr);

    gap:
      clamp(3rem, 7vw, 6rem);

    align-items: center;
  }

  .approach-photo-wrap {
    position: relative;

    min-width: 0;
  }

  .approach-photo {
    position: relative;
    z-index: 2;

    display: block;

    width: 100%;

    height:
      clamp(420px, 44vw, 570px);

    object-fit: cover;

    object-position:
      50% 54%;

    border-radius:
      1.8rem
      1.8rem
      4.5rem
      1.8rem;

    box-shadow:
      var(--shadow-medium);

    filter:
      brightness(1.06)
      contrast(1.03)
      saturate(1.03);
  }

  .approach-photo-accent {
    position: absolute;
    z-index: 1;

    right: -1.5rem;
    bottom: -1.5rem;

    width: 42%;
    height: 38%;

    border-radius: 50%;

    background:
      rgba(216, 166, 78, 0.16);

    filter:
      blur(2px);
  }

  .approach-copy {
    max-width: 600px;
  }

  .approach-copy h2 {
    margin-bottom:
      var(--space-5);

    font-size:
      clamp(2.5rem, 4.4vw, 3.65rem);
  }

  .approach-copy
    > p:not(.eyebrow) {
    color:
      var(--color-text-soft);

    font-size: 1rem;
    line-height: 1.8;
  }

  .approach-lead {
    color:
      var(--color-text) !important;

    font-size:
      1.15rem !important;
  }

  .approach-button {
    margin-top:
      var(--space-3);
  }

  /* =====================================================
     PROCESS
     ===================================================== */

  .process-section {
    padding-block:
      clamp(5rem, 9vw, 8rem);

    background:
      var(--color-paper);
  }

  .process-heading {
    max-width: 720px;

    margin-bottom:
      var(--space-7);
  }

  .process-heading h2 {
    margin-bottom:
      var(--space-4);

    font-size:
      clamp(2.5rem, 4.4vw, 3.6rem);
  }

  .process-heading
    > p:last-child {
    color:
      var(--color-text-soft);

    font-size: 1.03rem;
    line-height: 1.8;
  }

  .process-flow {
    display: grid;

    grid-template-columns:
      1fr
      auto
      1fr
      auto
      1fr
      auto
      1fr;

    gap:
      var(--space-4);

    align-items: start;
  }

  .process-step {
    min-width: 0;

    padding-top:
      var(--space-4);

    border-top:
      2px solid var(--color-navy);
  }

  .process-step-number {
    display: grid;
    place-items: center;

    width: 31px;
    height: 31px;

    margin-bottom:
      var(--space-4);

    border-radius: 50%;

    background:
      var(--color-paper-warm);

    color:
      var(--color-clay-accessible);

    font-family:
      var(--font-display);

    font-weight: 700;
  }

  .process-step h3 {
    margin-bottom: 0.65rem;

    font-size: 1.3rem;
  }

  .process-step p {
    margin-bottom: 0;

    color:
      var(--color-text-soft);

    font-size: 0.88rem;
    line-height: 1.65;
  }

  .process-connector {
    padding-top: 2.6rem;

    color:
      var(--color-clay-accessible);

    font-size: 1.3rem;
  }

  .process-link {
    margin-top:
      var(--space-6);
  }

  /* =====================================================
     DISCOVERY CALL
     ===================================================== */

  .discovery-section {
    padding-block:
      clamp(2.75rem, 5vw, 4rem);

    background:
      var(--color-paper-warm);
  }

  .discovery-card {
    display: grid;

    grid-template-columns:
      minmax(0, 1fr)
      minmax(250px, 0.38fr);

    gap:
      clamp(2rem, 5vw, 4rem);

    align-items: center;

    padding:
      clamp(2.25rem, 4vw, 3.25rem);

    border:
      1px solid
      rgba(201, 106, 69, 0.18);

    border-radius:
      1.8rem;

    background:
      rgba(255, 250, 245, 0.72);
  }

  .discovery-copy {
    max-width: 650px;
  }

  .discovery-copy h2 {
    max-width: 590px;

    margin-bottom:
      var(--space-3);

    font-size:
      clamp(2.15rem, 3.3vw, 2.85rem);

    line-height: 1.05;
  }

  .discovery-copy
    > p:last-child {
    max-width: 610px;

    margin-bottom: 0;

    color:
      var(--color-text-soft);

    font-size: 0.98rem;
    line-height: 1.7;
  }

  .discovery-action {
    display: grid;

    gap: 0.8rem;

    align-self: center;

    justify-items: start;
  }

  .discovery-action .button {
    white-space: nowrap;
  }

  .discovery-action span {
    color:
      var(--color-text-soft);

    font-size: 0.78rem;
  }

  .concerns-section {
    padding-block: var(--section-pad-compact);
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    background: var(--color-paper);
  }

  .concerns-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
  }

  .concerns-heading h2 {
    margin-bottom: 0.9rem;
    font-size: clamp(2rem, 3.4vw, 2.8rem);
  }

  .concerns-heading > p:last-child {
    margin: 0;
    color: var(--color-text-soft);
    line-height: 1.75;
  }

  .concerns-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }

  .concerns-list span {
    padding: 0.9rem 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-medium);
    background: var(--color-cream);
    color: var(--color-navy);
    font-weight: 700;
    line-height: 1.45;
  }

  @media (min-width: 901px) {
    .hero-grid {
      margin-bottom: -70px;
    }

    .hero-portrait {
      transform: translateY(-70px);
    }

    .hero-copy {
      transform: translateY(15px);
    }
  }

  /* =====================================================
     TABLET
     ===================================================== */

  @media (max-width: 900px) {
    .hero-grid,
    .approach-grid,
    .discovery-card,
    .concerns-grid {
      grid-template-columns: 1fr;
    }

    .hero-grid {
      gap: 1rem;
      align-items: start;
    }

    .hero-copy {
      max-width: 650px;
      padding-bottom: 0;
    }

    .hero-portrait {
      min-height: 430px;
    }

    .hero-dog {
      width:
        min(620px, 105%);

      margin-right: 0;
    }

    .pathway-grid,
    .concerns-list {
      grid-template-columns: 1fr;
    }

    .pathway {
      min-height: auto;

      border-right: 0;

      border-bottom:
        1px solid var(--color-border);
    }

    .pathway:last-child {
      border-bottom: 0;
    }

    .approach-grid {
      gap:
        var(--space-6);
    }

    .approach-photo {
      height:
        clamp(400px, 65vw, 560px);

      object-position:
        center 52%;
    }

    .process-flow {
      grid-template-columns:
        1fr
        1fr;

      gap:
        var(--space-6)
        var(--space-5);
    }

    .process-connector {
      display: none;
    }

    .discovery-card {
      gap:
        var(--space-5);

      align-items: start;
    }

    .discovery-action {
      justify-items: start;
    }
  }

  /* =====================================================
     MOBILE
     ===================================================== */

  @media (max-width: 640px) {
    .home-hero {
      padding-top: 1.25rem;
    }

    .hero-copy {
      padding-bottom: 0;
    }

    .hero-copy h1 {
      font-size:
        clamp(2.8rem, 13vw, 4rem);
    }

    .hero-actions {
      flex-direction: column;
    }

    .hero-actions .button {
      width: 100%;
    }

    .hero-portrait {
      min-height: 335px;
    }

    .hero-dog {
      width:
        min(500px, 115%);

      margin-left: -3%;
      margin-right: 0;
      margin-bottom: -0.5rem;
    }

    .hero-glow {
      width: 88%;

      right: 5%;
      bottom: 0.5rem;
    }

    .pathway {
      grid-template-columns:
        42px
        minmax(0, 1fr)
        18px;

      gap:
        var(--space-3);

      padding:
        1.15rem
        0;
    }

    .pathway-badge {
      width: 40px;
      height: 40px;

      flex-basis: 40px;
    }

    .pathway-badge svg {
      width: 22px !important;
      height: 22px !important;

      min-width: 22px !important;
      min-height: 22px !important;

      max-width: 22px !important;
      max-height: 22px !important;
    }

    .pathway h2 {
      font-size: 1rem;
    }

    .pathway p {
      font-size: 0.76rem;
    }

    .approach-section,
    .process-section {
      padding-block:
        var(--space-8);
    }

    .approach-photo {
      height: 430px;

      object-position:
        50% 50%;

      border-radius:
        1.4rem
        1.4rem
        3.5rem
        1.4rem;
    }

    .approach-photo-accent {
      right: -0.5rem;
      bottom: -0.75rem;
    }

    .approach-copy h2,
    .process-heading h2 {
      font-size:
        clamp(2.15rem, 10vw, 3rem);
    }

    .process-flow {
      grid-template-columns: 1fr;

      gap:
        var(--space-5);
    }

    .process-step {
      display: grid;

      grid-template-columns:
        38px
        1fr;

      gap:
        var(--space-3);

      padding-top:
        var(--space-4);
    }

    .process-step-number {
      grid-column: 1;

      grid-row:
        1 / span 2;

      margin-bottom: 0;
    }

    .process-step h3 {
      grid-column: 2;

      margin-bottom: 0.4rem;
    }

    .process-step p {
      grid-column: 2;
    }

    .discovery-section {
      padding-block:
        var(--space-6);
    }

    .discovery-card {
      gap:
        var(--space-4);

      padding:
        var(--space-5);

      border-radius:
        var(--radius-medium);
    }

    .discovery-copy h2 {
      font-size:
        clamp(2rem, 9vw, 2.55rem);
    }

    .discovery-action {
      gap: 0.65rem;
    }

    .discovery-action .button {
      width: 100%;

      white-space: normal;
    }
  }


  /* =====================================================
     REVIEW 8 — SHARED SECTION RHYTHM
     ===================================================== */

  .approach-section {
    padding-block: var(--section-pad-major);
  }

  .approach-grid {
    gap: clamp(2.5rem, 5vw, 4.5rem);
  }

  .approach-copy h2,
  .process-heading h2 {
    font-size: var(--section-title-size);
    line-height: 1.08;
  }

  .approach-photo {
    height: clamp(390px, 40vw, 510px);
  }

  .process-section {
    padding-block: var(--section-pad-standard);
  }

  .process-heading {
    margin-bottom: var(--section-heading-gap);
  }

  .process-flow {
    gap: clamp(0.8rem, 1.5vw, 1.2rem);
  }

  .process-step {
    padding-top: var(--compact-item-pad);
  }

  .process-step-number {
    margin-bottom: 0.75rem;
  }

  .process-step h3 {
    font-size: clamp(1.08rem, 1.5vw, 1.25rem);
  }

  .process-step p {
    font-size: 0.86rem;
    line-height: 1.6;
  }

  .process-link {
    margin-top: var(--space-5);
  }

  .discovery-section {
    padding-block: var(--section-pad-compact);
  }

  @media (max-width: 640px) {
    .approach-section,
    .process-section {
      padding-block: var(--section-pad-standard);
    }
  }



  /* =====================================================
     SERVICES & ABOUT PREVIEWS
     ===================================================== */

  .home-services-section {
    padding-block: var(--section-pad-major);
    background: var(--color-paper);
  }

  .home-services-heading {
    max-width: 760px;
    margin-bottom: var(--section-heading-gap);
  }

  .home-services-heading h2,
  .home-about-grid h2 {
    margin-bottom: 1rem;
    font-size: var(--section-title-size);
  }

  .home-services-heading > p:last-child,
  .home-about-copy p {
    color: var(--color-text-soft);
    line-height: 1.75;
  }

  .home-services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }

  .home-service-card {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    padding: clamp(1.4rem, 3vw, 2rem);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-medium);
    background: var(--color-cream);
  }

  .home-service-card h3 {
    margin-bottom: 0.7rem;
    font-size: clamp(1.35rem, 2vw, 1.65rem);
  }

  .home-service-card p {
    margin: 0;
    color: var(--color-text-soft);
    line-height: 1.7;
  }

  .home-service-card > strong {
    flex: 0 0 auto;
    color: var(--color-navy);
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3vw, 2.35rem);
    line-height: 1;
  }

  .home-services-footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.2rem;
    color: var(--color-text-soft);
  }

  .home-about-section {
    padding-block: var(--section-pad-standard);
    background: var(--color-paper-warm);
  }

  .home-about-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: start;
  }

  .home-about-copy {
    max-width: 680px;
  }

  .home-about-copy .button {
    margin-top: 0.75rem;
  }

  @media (max-width: 760px) {
    .home-services-grid,
    .home-about-grid {
      grid-template-columns: 1fr;
    }

    .home-service-card {
      display: grid;
      gap: 1rem;
    }

    .home-services-footer {
      align-items: flex-start;
      flex-direction: column;
    }
  }

/* TIDY PASS — SERVICES / ABOUT PREVIEW */
.home-services-section{padding-block:clamp(3.4rem,5.5vw,4.8rem)}
.home-services-heading{max-width:720px;margin-bottom:clamp(1.5rem,3vw,2rem)}
.home-services-heading h2{margin-bottom:.65rem;font-size:clamp(2.15rem,3.4vw,3rem)}
.home-services-grid{gap:clamp(1rem,2vw,1.35rem)}
.home-service-card{align-items:flex-start;min-height:100%;padding:clamp(1.55rem,2.6vw,2rem);border-color:rgba(23,57,77,.12);background:rgba(255,250,245,.92);box-shadow:0 10px 26px rgba(29,46,53,.045)}
.home-service-card h3{margin-bottom:.55rem;font-size:clamp(1.45rem,2vw,1.75rem)}
.home-service-card>strong{padding:.45rem .7rem;border-radius:999px;background:rgba(201,106,69,.1);color:var(--color-clay-accessible);font-size:clamp(1.35rem,2vw,1.7rem)}
.home-services-footer{align-items:center;margin-top:1rem;padding:1rem 1.2rem;border-radius:var(--radius-medium);background:var(--color-paper-warm)}
.home-about-section{padding-block:clamp(3.1rem,5vw,4.2rem)}
.home-about-grid h2{font-size:clamp(2.1rem,3.3vw,2.85rem)}
@media(max-width:760px){.home-service-card>strong{justify-self:start}}

/* HOME ABOUT PREVIEW — CLEAR TOPIC TRANSITION */
.home-about-section{padding-block:clamp(3.35rem,5vw,4.4rem);background:#173f56;color:#fffaf4}
.home-about-section .eyebrow{color:#f2a078}
.home-about-grid h2{color:#fffaf4}
.home-about-copy p{color:rgba(255,250,244,.84)}
.home-about-copy .button{border-color:rgba(255,250,244,.24);background:#fffaf4;color:var(--color-navy)}
.home-about-copy .button:hover{background:var(--color-paper-warm)}

/* HOME REVIEW D — CTA REDUCTION + CONTAINED ABOUT */
.home-about-section{padding-block:clamp(3.2rem,5vw,4.4rem);background:var(--color-paper)!important;color:inherit!important}
.home-about-section>.container{max-width:var(--container)}
.home-about-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;padding:clamp(2rem,4vw,3.2rem);border-radius:clamp(1.35rem,2.5vw,2rem);background:#173f56;color:#fffaf4;box-shadow:0 18px 44px rgba(23,63,86,.12)}
.home-about-card .eyebrow{color:#f2a078}
.home-about-card h2{margin-bottom:0;color:#fffaf4;font-size:clamp(2.1rem,3.3vw,2.85rem)}
.home-about-card .home-about-copy p{color:rgba(255,250,244,.86)}
.home-about-card .home-about-copy .button{border-color:rgba(255,250,244,.24);background:#fffaf4;color:var(--color-navy)}
.home-about-card .home-about-copy .button:hover{background:var(--color-paper-warm)}
.discovery-action{align-items:flex-start}
.discovery-action>span{max-width:30rem}
@media(max-width:760px){.home-about-card{grid-template-columns:1fr;gap:1.3rem}}

/* Clear inline contact links */
.inline-contact-link{color:var(--color-clay-accessible);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;transition:color var(--transition-fast)}
.inline-contact-link:hover{color:var(--color-navy)}

/* Contact CTA consistency */
.discovery-card{grid-template-columns:1fr;max-width:1040px;margin-inline:auto;padding:clamp(1.65rem,2.7vw,2.25rem) clamp(1.75rem,3vw,2.4rem)}
.discovery-copy{max-width:760px}
.discovery-contact-link{margin:.7rem 0 0!important;font-size:.9rem}


/* MOBILE HERO PORTRAIT FIX — 2026-10-29 */
@media (max-width: 900px) {
  .hero-dog { height: auto; }
}
@media (max-width: 640px) {
  .hero-portrait { min-height: 0; padding-top: .5rem; }
  .hero-dog { width: min(480px, 108%); height: auto; margin-left: 0; margin-right: -2%; margin-bottom: -.5rem; }
  .hero-glow { width: 80%; right: 8%; bottom: .25rem; }
}
