/* Convergence Mktg — shared system (homepage is the default type + layout scale)
   Sections: tokens & base → shared components → RESET page → Working With Me */

:root {
    --navy: #3A3C4D;
    --blue: #405FAB;
    --sky: #92D9F8;
    --btn-hover-light: #8ec5f4;
    --pink: #E80D71;
    --yellow: #E3C421;
    --line: #E5E7EB;
    --soft: #F8FAFC;
    --text: #232536;
    --section-pad-y: 96px;
    --section-pad-x: 24px;
    --section-pad-y-mobile: 72px;
    --section-pad-x-mobile: 20px;
    --divider: rgba(58, 60, 77, 0.08);
    --ui-duration: 0.2s;
    --ui-ease: ease;
  }
  
  * {
    box-sizing: border-box;
  }

  html {
    overflow-x: clip;
  }
  
  body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--text);
    background: #fff;
    line-height: 1.55;
    overflow-x: clip;
  }

  img,
  svg,
  video {
    max-width: 100%;
    height: auto;
  }
  
  a {
    color: inherit;
  }
  
  .nav {
    position: sticky;
    top: 0;
    z-index: 10;
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(10px);
  }
  
  .nav-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 18px var(--section-pad-x);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
  }

  .brand {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--navy);
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 20px;
  }
  
  .brand img {
    width: 190px;
    height: auto;
    display: block;
  }
  
  .nav-links {
    display: flex;
    align-items: center;
    gap: 22px;
    font-size: 14px;
    font-weight: 700;
  }
  
  .nav-links a {
    text-decoration: none;
    color: var(--navy);
    transition: color var(--ui-duration) var(--ui-ease);
  }
  
  .nav-links a:hover {
    color: var(--pink);
  }

  button.btn {
    cursor: pointer;
    font: inherit;
  }
  
  .btn {
    display: inline-block;
    background: var(--blue);
    color: #fff !important;
    text-decoration: none;
    border-radius: 999px;
    padding: 14px 24px;
    font-weight: 800;
    font-size: 14px;
    cursor: pointer;
    transition:
      color var(--ui-duration) var(--ui-ease),
      background-color var(--ui-duration) var(--ui-ease),
      border-color var(--ui-duration) var(--ui-ease),
      box-shadow var(--ui-duration) var(--ui-ease),
      transform var(--ui-duration) var(--ui-ease);
    border: 2px solid var(--blue);
  }
  
  .btn:hover,
  .nav .btn:hover,
  .reset-buy-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(64, 95, 171, 0.18);
    background: var(--btn-hover-light);
    border-color: var(--btn-hover-light);
    color: var(--navy) !important;
  }
  
  .btn-white {
    background: #fff;
    color: var(--pink) !important;
    border-color: #fff;
  }
  
  .btn-white:hover {
    background: var(--pink);
    color: #fff !important;
    border-color: var(--pink);
  }

  /* Outline / secondary — same geometry as .btn, quieter surface */
  .btn-ghost {
    background: transparent;
    color: var(--navy) !important;
    border-color: rgba(58, 60, 77, 0.42);
    box-shadow: none;
  }

  .btn-ghost:hover,
  .nav .btn-ghost:hover {
    transform: translateY(-2px);
    background: rgba(58, 60, 77, 0.06);
    border-color: var(--navy);
    color: var(--navy) !important;
    box-shadow: 0 8px 22px rgba(58, 60, 77, 0.1);
  }
  
  .section {
    padding: var(--section-pad-y) var(--section-pad-x);
  }
  
  /* Content width matches homepage: 1180px + 24px horizontal inset */
  .wrap {
    max-width: 1180px;
    margin: 0 auto;
  }
  
  .narrow {
    max-width: 820px;
  }
  
  /* --------------------------------------------------------------------------
     Shared hero structure (homepage = source of truth)
     -------------------------------------------------------------------------- */

  .m-hero {
    padding: 112px var(--section-pad-x) 104px;
  }

  /* Alias so heroes can reuse existing .wrap semantics */
  .m-wrap {
    max-width: 1180px;
    margin: 0 auto;
  }

  .m-hero-content {
    max-width: 720px;
    text-align: left;
    margin: 0;
  }

  /* For heroes that intentionally use wider layouts (e.g. RESET split) */
  .m-hero-content--wide {
    max-width: 1180px;
  }

  .hero {
    background:
      radial-gradient(circle at 82% 12%, rgba(146, 217, 248, 0.58), transparent 30%),
      linear-gradient(180deg, #fff 0%, #fff 52%, #F4FBFE 100%);
  }
  
  /* Pink kicker: one spec site-wide (homepage, RESET, Working With Me) */
  .eyebrow {
    color: var(--pink);
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 13px;
    line-height: 1.2;
    margin: 0 0 18px;
  }

  .reset-page .eyebrow,
  .working-page .eyebrow,
  .about-page .eyebrow,
  .contact-page .eyebrow,
  .legal-page .eyebrow {
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: 0.08em;
    margin: 0 0 18px;
  }
  
  /* Homepage hero scale — site-wide max so large viewports don’t balloon */
  h1 {
    font-size: clamp(42px, 5vw, 72px);
    line-height: 0.98;
    letter-spacing: -0.05em;
    margin: 0 0 26px;
    color: var(--navy);
    max-width: 980px;
  }
  
  h2 {
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.05;
    letter-spacing: -0.04em;
    margin: 0 0 22px;
    color: var(--navy);
  }
  
  h3 {
    margin: 0 0 12px;
    font-size: 24px;
    color: var(--navy);
  }
  
  p {
    font-size: 19px;
    margin: 0 0 16px;
  }
  
  .lead {
    font-size: 24px;
    max-width: 820px;
    color: #404354;
  }

  .lead a {
    color: var(--blue);
    font-weight: 800;
    transition: color var(--ui-duration) var(--ui-ease);
  }

  .lead a:hover {
    color: var(--pink);
  }
  
  .pink {
    color: var(--pink);
  }
  
  .hero-box,
  .hero-pain {
    margin-top: 36px;
    padding: 30px;
    border-left: 6px solid var(--pink);
    background: #fff;
    box-shadow: 0 24px 70px rgba(58, 60, 77, 0.10);
    max-width: 790px;
    border-radius: 0 24px 24px 0;
  }
  
  .hero-box p,
  .hero-pain p {
    font-size: 21px;
    margin-bottom: 12px;
  }

  /* Homepage hero readability + grouping */
  .hero-pain p {
    max-width: 64ch;
  }

  .hero-pain p + p {
    margin-top: 0;
  }

  .hero-question {
    margin-top: 18px !important;
    margin-bottom: 10px !important;
    font-weight: 900;
    color: var(--navy);
  }

  .mini-question-list {
    display: grid;
    gap: 8px;
    margin: 0 0 16px;
    padding: 14px 14px 14px 16px;
    background: #fbfbfc;
    border: 1px solid rgba(58, 60, 77, 0.08);
    border-radius: 14px;
    border-left: 4px solid rgba(146, 217, 248, 0.9);
  }

  .mini-question-list span {
    display: block;
    font-size: 19px;
    font-weight: 800;
    color: var(--navy);
    letter-spacing: -0.02em;
  }
  
  .hard,
  .hard-line {
    font-size: 30px;
    font-weight: 900;
    color: var(--navy);
    margin-top: 22px;
  }
  
  .hero-box .btn,
  .hero-box-btn {
    margin-top: 22px;
  }
  
  .bridge {
    padding: 54px 24px;
    background: #fff;
    border-bottom: 1px solid var(--line);
  }
  
  .bridge-text {
    font-size: 30px;
    font-weight: 900;
    color: var(--navy);
    max-width: 940px;
    margin: 0;
    line-height: 1.2;
  }

  .bridge-cta {
    margin-top: 22px;
  }
  
  .split {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 70px;
    align-items: start;
  }

  .split > * {
    min-width: 0;
  }
  
  .section-line {
    border-top: 1px solid var(--line);
  }

  /* Homepage: structured blocks for scanability */
  .decision-leadin {
    font-weight: 800;
    color: var(--navy);
    margin-bottom: 14px;
    letter-spacing: -0.02em;
  }

  .decision-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0 18px;
    padding: 0;
  }

  .decision-group > div {
    padding: 16px 16px 15px;
    background: #fbfbfc;
    border: 1px solid rgba(58, 60, 77, 0.08);
    border-radius: 14px;
    border-left: 4px solid rgba(232, 13, 113, 0.38);
    box-shadow: 0 10px 28px rgba(58, 60, 77, 0.05);
  }

  .decision-group strong {
    display: block;
    font-size: 14px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pink);
    margin-bottom: 8px;
  }

  .decision-group span {
    display: block;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
    color: #333648;
  }
  
  .dark {
    background: var(--navy);
    color: #fff;
  }
  
  .dark h2,
  .dark h3 {
    color: #fff;
  }
  
  .dark p {
    color: #E8EBF5;
  }
  
  .final-dark {
    background:
      radial-gradient(circle at 50% 0%, rgba(146, 217, 248, 0.18), transparent 28%),
      var(--navy);
    color: #fff;
  }
  
  .final-dark h2 {
    color: #fff;
  }
  
  .list-lines {
    display: grid;
    gap: 14px;
    margin-top: 28px;
  }
  
  .line-item {
    background: #fff;
    border: 1px solid var(--line);
    border-left: 5px solid var(--sky);
    border-radius: 18px;
    padding: 18px 20px;
    font-size: 20px;
    font-weight: 800;
    color: var(--navy);
    box-shadow: 0 14px 34px rgba(58, 60, 77, 0.05);
  }
  
  .cost-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 34px;
  }

  .cost-anchor {
    margin: 10px 0 18px;
    font-size: clamp(20px, 2.1vw, 24px);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.25;
    color: #fff;
    max-width: 48rem;
  }

  .cost-close {
    margin-top: 28px;
    padding: 22px 22px 20px;
    max-width: 860px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 18px;
    border-left: 5px solid rgba(232, 13, 113, 0.55);
  }

  .cost-close p:last-child {
    margin-bottom: 0;
  }

  .shift-pause {
    font-weight: 900;
    letter-spacing: -0.02em;
    color: var(--navy);
    margin-top: 8px;
    margin-bottom: 18px;
  }

  .thought-stack {
    display: grid;
    gap: 10px;
    margin: 0 0 18px;
    padding: 16px 16px 16px 18px;
    background: #fbfbfc;
    border: 1px solid rgba(58, 60, 77, 0.08);
    border-radius: 14px;
    border-left: 4px solid rgba(146, 217, 248, 0.9);
  }

  .thought-stack span {
    display: block;
    font-size: 18px;
    font-weight: 750;
    color: #333648;
    letter-spacing: -0.02em;
  }

  .question-card {
    margin: 18px 0 18px;
    padding: 18px 18px 16px;
    background: linear-gradient(90deg, rgba(232, 13, 113, 0.06), rgba(146, 217, 248, 0.10));
    border: 1px solid rgba(58, 60, 77, 0.08);
    border-radius: 16px;
    border-left: 4px solid var(--pink);
  }

  .question-card p {
    margin: 0 0 10px;
    font-weight: 800;
    color: var(--navy);
  }

  .question-card p:last-child {
    margin-bottom: 0;
  }

  .fix-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0 18px;
  }

  .fix-list span {
    display: flex;
    align-items: center;
    padding: 16px 16px;
    border: 1px solid rgba(58, 60, 77, 0.10);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(58, 60, 77, 0.05);
    font-size: 18px;
    font-weight: 850;
    letter-spacing: -0.02em;
    color: var(--navy);
    border-top: 4px solid rgba(64, 95, 171, 0.55);
  }

  .strong-close {
    margin-top: 22px !important;
    padding: 18px 18px 18px;
    background: #fbfbfc;
    border: 1px solid rgba(58, 60, 77, 0.08);
    border-radius: 16px;
    border-left: 5px solid var(--pink);
    font-weight: 900 !important;
    letter-spacing: -0.025em;
    line-height: 1.35;
    color: var(--navy) !important;
    max-width: 52rem;
  }
  
  .cost-card {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 22px;
    padding: 26px;
    min-height: 150px;
    transition: 0.2s ease;
  }
  
  .cost-card:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.12);
  }
  
  .cost-card strong {
    display: block;
    font-size: 22px;
    margin-bottom: 10px;
    color: #fff;
  }
  
  .offers-intro {
    max-width: 760px;
    margin-bottom: 42px;
  }
  
  .offers,
  .cards {
    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr 1fr;
    gap: 18px;
    align-items: stretch;
  }
  
  .offer-card,
  .card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 24px;
    padding: 26px;
    min-height: 330px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition:
      transform var(--ui-duration) var(--ui-ease),
      box-shadow var(--ui-duration) var(--ui-ease),
      border-color var(--ui-duration) var(--ui-ease);
    position: relative;
    overflow: hidden;
    box-shadow: 0 12px 34px rgba(58, 60, 77, 0.05);
  }
  
  .offer-card:hover,
  .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 55px rgba(58, 60, 77, 0.12);
    border-color: var(--blue);
  }
  
  .offer-card.featured,
  .card.featured {
    border: 3px solid var(--pink);
    box-shadow: 0 24px 70px rgba(232, 13, 113, 0.12);
  }
  
  .offer-card.featured::before {
    content: "START HERE";
    position: absolute;
    top: 18px;
    right: 18px;
    background: var(--pink);
    color: #fff;
    font-weight: 900;
    font-size: 11px;
    letter-spacing: 0.06em;
    padding: 7px 10px;
    border-radius: 999px;
  }
  
  .offer-card p,
  .card p {
    font-size: 17px;
  }
  
  .card-btn {
    margin-top: 22px;
    display: inline-block;
    text-decoration: none;
    color: var(--blue);
    font-weight: 900;
    border-bottom: 2px solid currentColor;
    width: fit-content;
    transition:
      color var(--ui-duration) var(--ui-ease),
      border-color var(--ui-duration) var(--ui-ease);
  }
  
  .offer-card:hover .card-btn,
  .card:hover .card-btn,
  .case-card:hover .card-btn {
    color: var(--pink);
  }
  
  .case-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 34px;
  }
  
  .case-card {
    background: #fff;
    border: 1px solid var(--line);
    border-top: 5px solid var(--blue);
    border-radius: 26px;
    padding: 34px;
    box-shadow: 0 18px 48px rgba(58, 60, 77, 0.08);
    transition:
      transform var(--ui-duration) var(--ui-ease),
      box-shadow var(--ui-duration) var(--ui-ease),
      border-top-color var(--ui-duration) var(--ui-ease);
  }
  
  .case-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 26px 70px rgba(58, 60, 77, 0.12);
    border-top-color: var(--pink);
  }
  
  .case-card p {
    font-size: 17px;
  }
  
  .case-label {
    font-size: 13px;
    color: var(--pink);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-bottom: 10px;
  }
  
  .testimonial-section {
    background: #fff;
    border-top: 1px solid var(--line);
  }
  
  .quote-box,
  .testimonial {
    background:
      linear-gradient(90deg, rgba(232, 13, 113, 0.08), rgba(146, 217, 248, 0.10)),
      #fff;
    border: 1px solid var(--line);
    border-left: 7px solid var(--pink);
    border-radius: 30px;
    padding: 48px;
    box-shadow: 0 30px 90px rgba(58, 60, 77, 0.14);
    position: relative;
  }
  
  .quote-mark {
    color: var(--pink);
    font-size: 72px;
    line-height: 0.7;
    font-weight: 900;
    margin-bottom: 12px;
  }
  
  .quote {
    font-size: 30px;
    line-height: 1.38;
    color: var(--navy);
    font-weight: 900;
    margin-bottom: 24px;
    letter-spacing: -0.02em;
  }
  
  .quote-box p:not(.quote) {
    font-size: 20px;
    color: #333648;
  }
  
  .final-cta {
    text-align: center;
    max-width: 780px;
    margin: 0 auto;
  }
  
  .footer {
    background: #fff;
    border-top: 1px solid var(--line);
    padding: 54px var(--section-pad-x);
  }
  
  .footer-grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
    gap: 36px;
    align-items: start;
  }
  
  .footer-brand {
    display: inline-block;
    margin-bottom: 18px;
    text-decoration: none;
    color: inherit;
  }

  .footer-brand img {
    width: 160px;
    height: auto;
    display: block;
  }

  .footer-logo {
    width: 160px;
    height: auto;
    display: block;
  }
  
  .footer h4 {
    color: var(--blue);
    margin: 0 0 12px;
    font-size: 16px;
  }
  
  .footer a {
    display: block;
    color: var(--pink);
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 8px;
    text-decoration: none;
    transition: color var(--ui-duration) var(--ui-ease), opacity var(--ui-duration) var(--ui-ease);
  }

  .footer a:hover {
    color: var(--blue);
  }

  .footer .footer-linkedin--secondary:hover {
    color: var(--pink);
    opacity: 0.92;
  }

  .footer .footer-linkedin--secondary {
    font-size: 13px;
    font-weight: 600;
    color: #5c6070;
  }

  .footer .footer-contact-blurb {
    margin: 0 0 8px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--blue);
    font-weight: 400;
  }

  .copyright {
    color: var(--blue);
    font-size: 14px;
    margin-top: 12px;
  }

  .reset-page .footer .copyright {
    font-size: 14px;
    line-height: 1.5;
    margin-top: 12px;
    max-width: none;
    font-weight: 400;
  }
  
  @media (max-width: 900px) {
    :root {
      --section-pad-y-mobile: 60px;
    }

    body {
      line-height: 1.5;
    }

    .nav-inner {
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 8px 10px;
      padding: 10px var(--section-pad-x-mobile) 11px;
    }

    .nav-links {
      flex: 1 1 auto;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 8px 10px;
      font-size: 12px;
    }

    .nav .btn {
      padding: 7px 12px;
      font-size: 12px;
    }

    .split,
    .offers,
    .cards,
    .cost-grid,
    .case-grid,
    .footer-grid {
      grid-template-columns: 1fr;
    }

    .fix-list {
      grid-template-columns: 1fr;
    }

    .decision-group {
      grid-template-columns: 1fr;
    }
  
    .section,
    .hero {
      padding: var(--section-pad-y-mobile) var(--section-pad-x-mobile);
    }

    .m-hero {
      padding: 58px var(--section-pad-x-mobile) 48px;
    }

    h1 {
      font-size: clamp(31px, 7vw, 46px);
      line-height: 1.02;
      margin-bottom: 16px;
    }

    h2 {
      font-size: clamp(26px, 5.8vw, 40px);
      line-height: 1.06;
      margin-bottom: 14px;
    }

    h3 {
      font-size: 22px;
    }

    p {
      font-size: 18px;
      margin-bottom: 14px;
    }

    .lead {
      font-size: 21px;
    }

    .eyebrow {
      font-size: 12px;
      margin-bottom: 11px;
    }

    .reset-page .eyebrow,
    .working-page .eyebrow,
    .about-page .eyebrow,
    .contact-page .eyebrow,
    .legal-page .eyebrow {
      margin-bottom: 11px;
    }

    .offers-intro {
      margin-bottom: 28px;
    }

    .hero-pain p,
    .hero-box p {
      font-size: 19px;
    }

    .hero-box,
    .hero-pain {
      margin-top: 24px;
      padding: 22px;
      border-radius: 0 20px 20px 0;
    }

    .mini-question-list span {
      font-size: 17px;
    }

    .bridge {
      padding: 36px var(--section-pad-x-mobile);
    }

    .bridge-text {
      font-size: 26px;
    }

    .bridge-cta {
      margin-top: 16px;
    }

    .hard-line,
    .hard {
      font-size: 27px;
      margin-top: 18px;
    }

    .contact-hero h1 + p {
      font-size: 21px;
    }

    .decision-group span {
      font-size: 17px;
    }

    .quote-box p,
    .testimonial p {
      font-size: 18px;
    }

    .case-hero-copy p,
    .case-shift p,
    .case-card-section p,
    .case-close p,
    .case-detail-lead p,
    .case-detail-section p,
    .case-detail-dark p,
    .case-detail-close p {
      font-size: 18px;
      line-height: 1.5;
    }

    .case-intro p {
      font-size: clamp(20px, 5.4vw, 34px);
    }

    .case-emphasis,
    .case-detail-emphasis {
      font-size: clamp(21px, 5.2vw, 34px) !important;
    }

    .case-close-line {
      font-size: clamp(22px, 5.5vw, 42px) !important;
    }

    .case-detail-close-line {
      font-size: clamp(24px, 5.8vw, 44px) !important;
    }

    .working-hero-card p,
    .working-split > div:last-child p,
    .working-final-inner p,
    .working-dark li {
      font-size: 18px;
    }

    .working-emphasis {
      font-size: clamp(20px, 5.1vw, 28px);
    }

    .contact-hero .hero-group p,
    .contact-hero p.hero-pause {
      font-size: 18px;
    }

    .legal-lede {
      font-size: 18px;
      margin-bottom: 28px;
    }

    .footer {
      padding-left: var(--section-pad-x-mobile);
      padding-right: var(--section-pad-x-mobile);
    }
  
    .brand img {
      width: 148px;
      max-width: min(148px, 44vw);
    }
  
    .quote-box,
    .testimonial {
      padding: 28px;
    }

    .contact-section {
      padding-top: 34px;
      padding-bottom: 32px;
    }

    .contact-soft {
      padding-top: 32px;
      padding-bottom: 48px;
    }

    .contact-card {
      padding: 22px 20px 20px;
    }

    .m-wrap,
    .wrap {
      min-width: 0;
    }

    .case-card {
      padding: 28px 24px;
    }

    .offer-card,
    .card {
      min-height: 0;
      padding: 22px;
    }

    .legal-content {
      padding-top: 40px;
      padding-bottom: 72px;
    }

    .legal-lede {
      margin-bottom: 32px;
    }

    .legal-block {
      margin-bottom: 32px;
    }
  }

/* --------------------------------------------------------------------------
   Contact — short, low-friction (shared tokens + type scale)
   -------------------------------------------------------------------------- */

.contact-page {
  color: var(--text);
  background: #fff;
}

.contact-page main {
  overflow-x: hidden;
}

.contact-hero {
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  border-bottom: 1px solid var(--divider);
}

.contact-hero h1 + p {
  font-size: 24px;
  max-width: 820px;
  color: #404354;
  margin-bottom: 18px;
}

.contact-hero p {
  margin-bottom: 0;
}

.contact-hero p.eyebrow {
  margin-bottom: 18px;
}

.hero-group {
  margin: 22px 0 34px; /* give it a little more air */
  padding-left: 16px;
  border-left: 2px solid rgba(0, 0, 0, 0.08);
  display: grid;
  gap: 10px; /* slightly more separation between lines */
}

.hero-group p {
  margin: 0;
  line-height: 1.32;
}

.contact-hero .hero-group p {
  max-width: 720px;
  font-size: clamp(1.03rem, 1.45vw, 1.22rem);
  color: #3d4052;
}

.hero-pause {
  margin-top: 6px;
  margin-bottom: 32px;
  font-weight: 500;
}

.contact-hero p.hero-pause {
  max-width: 720px;
  font-size: clamp(1.03rem, 1.45vw, 1.22rem);
  line-height: 1.58;
  color: #3d4052;
}

.contact-hero-cta {
  margin-top: 4px;
}

.contact-hero-cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin-top: 4px;
}

.contact-hero-cta-row .btn {
  margin-top: 0;
}

.contact-hero .m-button,
.contact-hero a.m-button {
  margin-top: 6px;
}

.contact-hero-cta-row .m-button,
.contact-hero-cta-row a.m-button {
  margin-top: 0;
}

.contact-section {
  padding: 80px var(--section-pad-x) 56px;
  background: #fff;
}

.contact-section .narrow {
  max-width: 720px;
}

.contact-section h2 {
  margin: 0 0 10px;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.08;
  letter-spacing: -0.038em;
}

.contact-section-lead {
  margin: 0 0 18px;
  font-size: 19px;
  color: #333648;
}

.contact-card {
  margin-top: 4px;
  padding: 26px 24px 24px;
  max-width: 640px;
  background: #ffffff;
  border: 1px solid var(--divider);
  border-radius: 16px;
  border-left: 4px solid rgba(146, 217, 248, 0.9);
  box-shadow: 0 10px 32px rgba(58, 60, 77, 0.06);
}

.contact-linkedin-note {
  margin: 22px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: #5c6070;
  max-width: 640px;
}

.contact-linkedin-note a {
  color: #4a4d5c;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(58, 60, 77, 0.35);
  text-underline-offset: 2px;
  transition: color var(--ui-duration) var(--ui-ease), text-decoration-color var(--ui-duration) var(--ui-ease);
}

.contact-linkedin-note a:hover {
  color: var(--pink);
  text-decoration-color: rgba(232, 13, 113, 0.45);
}

.contact-form {
  margin: 0;
}

.contact-form .contact-hint {
  margin: 0 0 20px;
}

.contact-field {
  margin: 0 0 18px;
}

.contact-field label {
  display: block;
  margin-bottom: 7px;
  font-size: 15px;
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -0.02em;
}

.contact-field input,
.contact-field textarea {
  width: 100%;
  max-width: 100%;
  padding: 14px 16px;
  font-size: 17px;
  font-family: inherit;
  line-height: 1.45;
  color: var(--text);
  background: #fbfbfc;
  border: 1px solid rgba(58, 60, 77, 0.14);
  border-radius: 12px;
  transition:
    border-color var(--ui-duration) var(--ui-ease),
    box-shadow var(--ui-duration) var(--ui-ease);
}

.contact-field textarea {
  resize: vertical;
  min-height: 140px;
}

.contact-field input:focus,
.contact-field textarea:focus {
  outline: none;
  border-color: rgba(64, 95, 171, 0.55);
  box-shadow: 0 0 0 3px rgba(146, 217, 248, 0.45);
}

.contact-field input:focus-visible,
.contact-field textarea:focus-visible {
  outline: none;
}

.contact-form-submit {
  margin-top: 4px;
}

/* Keep form actions visually secondary to RESET */
.contact-form-submit.btn {
  background: #fff;
  color: var(--navy) !important;
  border-color: rgba(58, 60, 77, 0.18);
  box-shadow: none;
  transition:
    color var(--ui-duration) var(--ui-ease),
    background-color var(--ui-duration) var(--ui-ease),
    border-color var(--ui-duration) var(--ui-ease),
    box-shadow var(--ui-duration) var(--ui-ease),
    transform var(--ui-duration) var(--ui-ease);
}

.contact-form-submit.btn:hover {
  transform: translateY(-1px);
  background: #fbfbfc;
  border-color: rgba(58, 60, 77, 0.26);
  color: var(--navy) !important;
  box-shadow: 0 10px 22px rgba(58, 60, 77, 0.08);
}

.contact-email {
  display: block;
  margin: 0;
  font-size: clamp(1.02rem, 1.35vw, 1.15rem);
  font-weight: 700;
  color: var(--blue);
  letter-spacing: -0.02em;
  text-decoration: none;
  transition: color var(--ui-duration) var(--ui-ease);
}

.contact-email:hover {
  color: var(--pink);
}

.contact-email--backup {
  padding-top: 18px;
  margin-top: 22px !important;
  border-top: 1px solid rgba(58, 60, 77, 0.1);
  font-size: 16px;
  font-weight: 650;
  color: #4a4d5c;
}

.contact-hint {
  margin: 0;
  font-size: 17px;
  line-height: 1.55;
  color: #4a4d5c;
}

.contact-soft {
  padding: 72px var(--section-pad-x) 88px;
  background: linear-gradient(180deg, #fafcfd 0%, #ffffff 100%);
  border-top: 1px solid var(--divider);
}

.contact-soft .narrow {
  max-width: 620px;
}

.contact-soft h2 {
  margin: 0 0 12px;
  font-size: clamp(22px, 2.6vw, 28px);
  line-height: 1.15;
  letter-spacing: -0.03em;
  font-weight: 800;
  color: var(--navy);
}

/* Widow/orphan protection (layout-only; no copy changes) */
h1,
h2,
.bridge-text,
.hard-line,
.reset-anchor-line,
.reset-heavy,
.working-emphasis,
.about-story-anchor {
  text-wrap: balance;
}

p,
li {
  text-wrap: pretty;
}

.contact-soft p {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.55;
  color: #333648;
}

.contact-soft p:last-child {
  margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Legal (privacy, terms, accessibility) — calm, readable, system-aligned
   -------------------------------------------------------------------------- */

.legal-page {
  color: var(--text);
  background: #fff;
}

.legal-page main {
  overflow-x: hidden;
}

.legal-hero {
  background: #fff;
  border-bottom: 1px solid var(--divider);
}

.legal-hero-inner {
  max-width: 760px;
}

.legal-hero .eyebrow {
  margin-bottom: 18px;
}

.legal-hero h1 {
  margin-bottom: 14px;
  max-width: none;
}

.legal-updated {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  color: #5c5f70;
}

.legal-content {
  padding: 44px var(--section-pad-x) 88px;
  background: #fff;
}

.legal-prose {
  max-width: 760px;
  margin: 0 auto;
}

.legal-lede {
  margin: 0 0 40px;
  font-size: 19px;
  line-height: 1.58;
  color: #333648;
}

.legal-block {
  margin-bottom: 36px;
}

.legal-block:last-child {
  margin-bottom: 0;
}

.legal-subhead {
  margin: 0 0 12px;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: var(--navy);
}

.legal-block p {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.62;
  color: #333648;
}

.legal-block p:last-child {
  margin-bottom: 0;
}

.legal-block a {
  color: var(--blue);
  font-weight: 700;
  transition: color var(--ui-duration) var(--ui-ease);
}

.legal-block a:hover {
  color: var(--pink);
}

/* RESET PAGE */

.reset-page {
    background: #ffffff;
    color: var(--text);
  }

  .reset-page section {
    scroll-margin-top: 110px;
  }
  
  .reset-page .pink {
    color: var(--pink);
  }
  
  .reset-hero {
    background:
      radial-gradient(circle at left center, rgba(232, 13, 113, 0.14), transparent 34%),
      linear-gradient(135deg, #ffffff 0%, #eef7ff 100%);
  }
  
  .reset-hero-clean {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 480px);
    gap: 48px;
    align-items: center;
  }

  .reset-hero .reset-buy-btn {
    margin-top: 40px;
    margin-bottom: 44px;
  }

  .reset-hero .reset-note {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.5;
  }
  
  .reset-lead {
    max-width: 640px;
    margin: 0 0 18px;
    font-size: clamp(1.35rem, 1.85vw, 1.65rem);
    line-height: 1.4;
  }
  
  .reset-note {
    margin-top: 12px;
    font-size: 0.98rem;
    opacity: 0.78;
  }

  .reset-bullet-line {
    margin: 0 0 10px;
    max-width: 720px;
    font-size: clamp(1.02rem, 1.25vw, 1.2rem);
    line-height: 1.5;
    font-weight: 650;
  }

  .reset-bullet-line--heavy {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: clamp(1.12rem, 1.45vw, 1.35rem);
    line-height: 1.45;
    font-weight: 650;
  }

  .reset-diagnostic-card {
    padding: 22px 22px 20px;
    border: 1px solid rgba(48, 50, 68, 0.10);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 18px 54px rgba(48, 50, 68, 0.08);
    max-width: 440px;
  }

  .reset-diagnostic-card--wide {
    max-width: 520px;
  }
  
  .reset-diagnostic-card p {
    margin: 0;
    padding: 0;
    border-bottom: 0;
    font-size: 1.02rem;
    line-height: 1.35;
    font-weight: 750;
    color: #2f3142;
  }
  
  .reset-diagnostic-card p:first-child {
    white-space: normal;
  }
  
  .reset-diagnostic-card p:last-child {
    border-bottom: 0;
  }

  .reset-diagnostic-cluster {
    padding: 14px 14px 14px 16px;
    background: rgba(250, 252, 253, 0.9);
    border: 1px solid rgba(48, 50, 68, 0.10);
    border-radius: 16px;
    border-left: 4px solid rgba(146, 217, 248, 0.95);
  }

  .reset-diagnostic-cluster + .reset-diagnostic-cluster {
    margin-top: 12px;
  }

  .reset-diagnostic-cluster p + p {
    margin-top: 8px;
  }
  
  .reset-section,
  .reset-familiar {
    padding: var(--section-pad-y) var(--section-pad-x);
  }
  
  .reset-split {
    display: grid;
    grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.05fr);
    gap: 70px;
    align-items: start;
  }
  
  .reset-page h2 {
    margin: 0 0 24px;
    font-size: clamp(2.7rem, 4.6vw, 5rem);
    line-height: 0.95;
    letter-spacing: -0.058em;
  }
  
  .reset-page p {
    max-width: 720px;
    margin: 0 0 20px;
    font-size: clamp(1.15rem, 1.48vw, 1.36rem);
    line-height: 1.56;
  }
  
  .reset-body p {
    font-weight: 650;
  }
  
  .reset-dark {
    padding: 120px var(--section-pad-x);
    background: #37394b;
    color: rgba(255, 255, 255, 0.92);
  }
  
  .reset-dark h2 {
    color: rgba(255, 255, 255, 0.96);
    font-weight: 600;
  }

  .reset-dark .eyebrow {
    color: var(--pink);
  }
  
  .reset-dark-line {
    max-width: 760px !important;
    font-size: clamp(1.65rem, 2.7vw, 2.6rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.88);
  }

  .reset-dark-line.pink {
    font-weight: 700;
    color: var(--pink);
  }

  /* “What’s actually happening” — keep it in the light flow */
  .reset-what {
    padding: var(--section-pad-y) var(--section-pad-x);
    background: linear-gradient(180deg, #fff 0%, #fbfbfc 100%);
    border-top: 1px solid rgba(48, 50, 68, 0.06);
    border-bottom: 1px solid rgba(48, 50, 68, 0.06);
  }

  .reset-what h2 {
    color: var(--navy);
  }

  .reset-what .reset-dark-line {
    color: rgba(48, 50, 68, 0.88);
    max-width: 760px !important;
    font-size: clamp(1.28rem, 2.05vw, 1.85rem) !important;
    line-height: 1.18 !important;
    font-weight: 650;
  }

  .reset-what .reset-dark-line.pink {
    color: var(--pink);
    font-weight: 800;
  }
  
  .reset-simple-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    max-width: 620px;
    margin: 26px 0 30px;
  }
  
  .reset-simple-list span {
    display: block;
    padding: 15px 18px;
    border: 1px solid rgba(48, 50, 68, 0.12);
    border-radius: 14px;
    background:
      radial-gradient(circle at 10% 20%, rgba(146, 217, 248, 0.22), transparent 55%),
      linear-gradient(180deg, #ffffff 0%, #fbfbfc 100%);
    box-shadow: 0 12px 40px rgba(48, 50, 68, 0.065);
    font-size: 1.03rem;
    font-weight: 750;
    color: var(--navy);
  }

  .reset-simple-list span:nth-child(2n) {
    border-color: rgba(232, 13, 113, 0.16);
    background:
      radial-gradient(circle at 12% 18%, rgba(232, 13, 113, 0.10), transparent 55%),
      linear-gradient(180deg, #ffffff 0%, #fbfbfc 100%);
  }
  
  .reset-callout {
    margin-top: 36px !important;
    font-size: clamp(1.45rem, 2.4vw, 2.25rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.035em;
    font-weight: 850;
  }
  
  .reset-soft {
    background: #f4f7fb;
    border-top: 1px solid rgba(48, 50, 68, 0.08);
    border-bottom: 1px solid rgba(48, 50, 68, 0.08);
  }

  /* Pattern → consequence → adjustment as one continuous movement */
  .reset-flow {
    background: #fff;
    border-top: 1px solid rgba(48, 50, 68, 0.06);
    border-bottom: 0;
  }

  .reset-flow-step {
    padding-top: 84px;
    padding-bottom: 84px;
  }

  .reset-flow-step + .reset-flow-step {
    border-top: 1px solid rgba(48, 50, 68, 0.06);
  }

  .reset-flow .reset-soft {
    background: transparent;
    border-top: 0;
    border-bottom: 0;
  }

  .reset-flow .reset-anchor {
    padding-top: 84px;
    padding-bottom: 84px;
  }

  .reset-familiar {
    background: #fff;
    border-top: 1px solid rgba(48, 50, 68, 0.06);
  }

  .reset-familiar h2 {
    max-width: 36rem;
  }

  /* “So you try to adjust” — calm split: heading + body feel paired, not staggered */
  .reset-section.reset-soft .reset-split {
    align-items: center;
    gap: clamp(44px, 5vw, 68px);
    grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
  }

  .reset-section.reset-soft .reset-split > div:first-child {
    align-self: center;
  }

  .reset-section.reset-soft .reset-split .reset-body {
    align-self: center;
    padding-top: 2px;
    padding-bottom: 4px;
  }

  .reset-section.reset-soft .reset-body p {
    margin-bottom: 18px;
    line-height: 1.58;
  }

  .reset-section.reset-soft .reset-body .reset-heavy {
    margin-top: 28px !important;
  }
  
  .reset-anchor {
    padding: var(--section-pad-y) var(--section-pad-x);
  }

  .reset-mobile-break {
    display: none;
  }

  .reset-stuck-heading {
    white-space: nowrap;
  }
  
  .reset-anchor-line {
    max-width: 42rem !important;
    margin: 24px 0 28px !important;
    color: var(--pink);
    font-size: clamp(1.85rem, 3.8vw, 2.75rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.04em;
    font-weight: 900;
  }
  
  .reset-anchor-copy {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px;
    max-width: 920px;
    margin-top: 34px;
  }
  
  .reset-anchor-copy p {
    padding-top: 18px;
    border-top: 1px solid rgba(48, 50, 68, 0.14);
    font-weight: 700;
    font-size: clamp(1.14rem, 1.35vw, 1.3rem);
    line-height: 1.55;
    color: rgba(48, 50, 68, 0.96);
  }

  .reset-consequence-divider {
    height: 1px;
    background: rgba(48, 50, 68, 0.10);
    max-width: 980px;
    margin: 34px 0 34px;
  }

  .reset-consequence-follow {
    padding-top: 0;
  }
  
  .reset-heavy {
    margin-top: 34px !important;
    margin-bottom: 0 !important;
    font-size: clamp(1.45rem, 2.4vw, 2.25rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.035em;
    font-weight: 850;
  }
  
  .reset-decision {
    background: #303244;
  }

  .reset-dark.reset-decision {
    padding: 84px var(--section-pad-x) 92px;
  }

  .reset-dark.reset-decision {
    position: relative;
    background: #303244;
  }

  /* Integrated overlap fade: consequence -> decision (no “strip” divider) */
  .reset-consequence {
    position: relative;
    /* Visible breathing room BEFORE fade begins */
    --reset-fade-h: clamp(120px, 12vw, 180px);
    --reset-breath-h: 72px;
    padding-bottom: calc(var(--reset-breath-h) + var(--reset-fade-h));
  }

  .reset-consequence > .wrap {
    position: relative;
    z-index: 1;
  }

  .reset-consequence::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--reset-fade-h);
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0) 30%,
      rgba(251, 251, 252, 0.7) 48%,
      rgba(146, 217, 248, 0.14) 66%,
      rgba(48, 50, 68, 0.55) 86%,
      #303244 100%
    );
  }

  .reset-dark.reset-decision > .wrap {
    position: relative;
    z-index: 1;
  }

  .reset-dark.reset-decision::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -2px;
    height: clamp(110px, 11vw, 160px);
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(
      180deg,
      rgba(48, 50, 68, 0) 0%,
      rgba(48, 50, 68, 0.45) 46%,
      #303244 100%
    );
  }

  /* Pull consequence into the decision climax */
  .reset-consequence {
    padding-bottom: calc(var(--reset-breath-h) + var(--reset-fade-h));
  }

  .reset-consequence .reset-anchor-copy {
    margin-top: 26px;
  }

  /* keep the overlap fade from starting immediately */
  /* (no additional positioning override needed) */

  .reset-decision-lede {
    max-width: 46rem;
    margin: 0;
  }

  .reset-decision-lede p {
    margin-bottom: 6px;
  }

  .reset-decision-lede p:last-child {
    margin-bottom: 0;
  }
  
  /* Decision section: single vertical flow (no columns) */
  .reset-decision-stack {
    max-width: 920px;
  }

  .reset-decision-lede p {
    font-size: clamp(1.38rem, 2.1vw, 1.86rem);
    line-height: 1.28;
    letter-spacing: -0.02em;
    font-weight: 750;
    color: rgba(255, 255, 255, 0.92);
  }

  .reset-decision-lede p:first-child {
    font-weight: 850;
    color: rgba(255, 255, 255, 0.98);
    font-size: clamp(1.7rem, 2.65vw, 2.35rem);
    letter-spacing: -0.03em;
  }

  .reset-decision-lede {
    max-width: 58rem;
    margin-bottom: 10px;
  }

  .reset-decision h2 {
    margin: 6px 0 0;
  }

  .reset-decision-after {
    margin-top: 34px;
    position: relative;
    background: transparent;
    border: 0;
    border-radius: 0;
    border-left: 0;
    max-width: 52rem;
  }

  .reset-decision-actions {
    margin: 30px 0 0;
    padding-left: 28px;
    position: relative;
    margin-bottom: 26px;
  }

  .reset-decision-actions::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.15rem;
    bottom: 0.15rem;
    width: 3px;
    border-radius: 999px;
    background: rgba(146, 217, 248, 0.35);
  }

  .reset-decision-after p {
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(1.02rem, 1.22vw, 1.18rem);
    line-height: 1.55;
    margin-bottom: 10px;
  }

  .reset-decision-after p:last-child {
    margin-bottom: 0;
  }

  @media (min-width: 901px) {
    .reset-decision-setup-line {
      white-space: nowrap;
    }
  }

  /* (no separate “adjusting” line; it lives in the actions group) */

  .reset-decision-actions p {
    margin-bottom: 8px;
  }

  .reset-decision-actions p:last-child {
    margin-bottom: 0;
  }

  .reset-decision-result {
    margin-top: 0;
  }

  /* Trust line is outside aftermath grouping */
  .reset-decision-after .reset-heavy {
    color: inherit;
  }

  .reset-decision-trust {
    max-width: 52rem;
    margin-top: 40px !important;
    margin-bottom: 0 !important;
    padding-left: 18px;
    color: rgba(146, 217, 248, 0.92) !important;
    font-weight: 900 !important;
    font-size: clamp(1.55rem, 2.1vw, 2.05rem) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.03em;
  }
  
  .reset-decision p {
    font-size: clamp(1.2rem, 1.8vw, 1.58rem);
    line-height: 1.32;
    letter-spacing: -0.02em;
    font-weight: 700;
    max-width: 44rem;
  }

  .reset-decision h2 {
    max-width: 52rem;
    margin: 14px 0 0;
    font-size: clamp(42px, 4.9vw, 72px);
    line-height: 1.05;
    letter-spacing: -0.038em;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.97);
  }

  /* (Decision aftermath is styled above; avoid overriding hierarchy here) */

  @media (max-width: 900px) {
    .reset-decision-after {
      max-width: none;
    }

    .reset-decision-actions {
      padding-left: 14px;
    }

    .reset-decision-trust {
      padding-left: 14px;
    }

    .reset-decision h2 {
      font-size: clamp(32px, 6.8vw, 50px);
    }
  }

  .reset-decision h2 .pink {
    color: var(--pink);
    font-weight: 850;
  }
  
  .reset-offer-section {
    padding: var(--section-pad-y) var(--section-pad-x);
    background:
      radial-gradient(circle at right center, rgba(232, 13, 113, 0.1), transparent 30%),
      #ffffff;
  }
  
  .reset-offer-card {
    padding: clamp(38px, 5vw, 68px);
    border: 1px solid rgba(48, 50, 68, 0.12);
    border-radius: 30px;
    background: #ffffff;
    box-shadow: 0 30px 90px rgba(48, 50, 68, 0.12);
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
  }
  
  .reset-offer-top {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    align-items: flex-start;
    padding-bottom: 42px;
    border-bottom: 1px solid rgba(48, 50, 68, 0.1);
  }
  
  .reset-price {
    font-weight: 850;
    opacity: 0.82;
  }
  
  .reset-offer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 56px;
    padding: 46px 0;
  }
  
  .reset-offer-grid h3 {
    margin: 0 0 22px;
    font-size: clamp(1.7rem, 2.5vw, 2.5rem);
    line-height: 1;
    letter-spacing: -0.04em;
  }
  
  .reset-offer-grid p {
    font-weight: 700;
  }
  
  .reset-stop {
    padding: 28px;
    border-radius: 22px;
    background: #f4f7fb;
  }
  
  .reset-stop p {
    margin-bottom: 12px;
    font-weight: 850;
  }
  
  .reset-stop p:last-child {
    margin-bottom: 0;
  }
  
  .reset-list {
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  
  .reset-list li {
    position: relative;
    padding: 18px 20px 18px 42px;
    border: 1px solid rgba(48, 50, 68, 0.1);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 6px 22px rgba(48, 50, 68, 0.06);
    font-size: clamp(1.08rem, 1.35vw, 1.24rem);
    line-height: 1.45;
    font-weight: 650;
  }
  
  .reset-list li::before {
    content: "";
    position: absolute;
    left: 20px;
    top: 27px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--pink);
  }
  
  .reset-final-cta {
    padding: var(--section-pad-y) var(--section-pad-x);
    background: #303244;
    color: #ffffff;
  }

  .reset-final-cta > .wrap.reset-center {
    max-width: min(920px, 100%);
    margin-left: auto;
    margin-right: auto;
  }

  .reset-final-cta .eyebrow {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    text-align: center;
  }

  .reset-final-cta h2 {
    max-width: none;
    margin: 0 auto 24px;
    color: #ffffff;
    font-size: clamp(28px, 3.25vw, 46px);
    line-height: 1.08;
    letter-spacing: -0.038em;
  }

  .reset-final-cta p {
    margin-bottom: 34px;
  }

  @media (min-width: 901px) {
    .reset-final-cta h2 {
      white-space: nowrap;
    }
  }
  
  .reset-buy-btn,
  .reset-light-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
  }
  
  .reset-light-btn {
    background: #ffffff !important;
    color: var(--pink) !important;
    border: 2px solid var(--pink) !important;
    font-weight: 800;
  }
  
  .reset-light-btn:hover {
    background: var(--pink) !important;
    color: #ffffff !important;
    border-color: var(--pink) !important;
  }
  
  @media (max-width: 900px) {
    .reset-stuck-heading {
      white-space: normal;
    }

    .reset-mobile-break {
      display: block;
    }

    .reset-hero-clean,
    .reset-split,
    .reset-offer-grid,
    .reset-anchor-copy {
      grid-template-columns: 1fr;
      gap: 36px;
    }
  
    .reset-hero,
    .reset-section,
    .reset-familiar,
    .reset-anchor,
    .reset-offer-section,
    .reset-dark,
    .reset-final-cta {
      padding: var(--section-pad-y-mobile) var(--section-pad-x-mobile);
    }

    .reset-flow-step {
      padding-top: 64px;
      padding-bottom: 64px;
    }

    .reset-flow .reset-anchor {
      padding-top: 64px;
      padding-bottom: 64px;
    }

    .reset-dark.reset-decision {
      padding-top: 64px;
      padding-bottom: 68px;
    }

    .reset-consequence {
      padding-bottom: 48px;
    }

    .reset-consequence {
      --reset-breath-h: 48px;
      padding-bottom: calc(var(--reset-breath-h) + var(--reset-fade-h));
    }

    .reset-consequence {
      --reset-fade-h: 92px;
    }

    .reset-dark.reset-decision::before {
      height: 88px;
    }
  
    .reset-offer-top {
      display: block;
    }
  
    .reset-offer-top .btn {
      margin-top: 24px;
    }
  
    .reset-simple-list {
      grid-template-columns: 1fr;
    }

    .reset-diagnostic-card p:first-child {
      white-space: normal;
    }

    .reset-section.reset-soft .reset-split {
      align-items: stretch;
    }

    .reset-dark.reset-decision {
      padding: var(--section-pad-y-mobile) var(--section-pad-x-mobile);
    }

    .reset-dark.reset-decision {
      padding-top: 72px;
      padding-bottom: 72px;
    }

    .reset-decision-after {
      padding-left: 14px;
    }

    .reset-decision-after .reset-heavy {
      margin-top: 32px !important;
    }

    .reset-stop p:first-of-type {
      white-space: normal;
    }

    .reset-final-cta h2 {
      white-space: normal;
    }
  }

/* --------------------------------------------------------------------------
   Working With Me — grouped flow (homepage width + left alignment)
   -------------------------------------------------------------------------- */

.working-page {
  color: var(--text);
}

.working-page main {
  overflow-x: hidden;
}

/* —— Group 1: hero + “That’s what working with me looks like” —— */
.working-group--intro {
  background:
    radial-gradient(circle at 88% 6%, rgba(146, 217, 248, 0.32), transparent 36%),
    linear-gradient(180deg, #fff 0%, #f9fcfd 100%);
  border-bottom: 1px solid var(--line);
}

.working-group--intro .working-hero {
  background: none;
  border-bottom: 0;
}

.working-group--intro .working-section--intro-follow {
  padding: 48px var(--section-pad-x) 96px;
  border-top: 1px solid rgba(58, 60, 77, 0.08);
  background: transparent;
}

/* —— Group 2: three-part sequence on one quiet field —— */
.working-group--arc {
  background: #fbfbfc;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.working-group--arc .working-section--in-arc {
  padding: 56px var(--section-pad-x);
}

.working-group--arc .working-section--in-arc:first-child {
  padding-top: 80px;
}

.working-group--arc .working-section--in-arc:last-child {
  padding-bottom: 88px;
}

.working-group--arc .working-section--in-arc + .working-section--in-arc {
  border-top: 1px solid rgba(58, 60, 77, 0.07);
}

/* —— Group 3: single dark callout —— */
.working-dark {
  padding: 96px var(--section-pad-x) 104px;
  background: linear-gradient(180deg, #353747 0%, var(--navy) 48%, #323446 100%);
  color: #e8ebf5;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.working-dark .working-split h2 {
  color: #fff;
}

.working-dark-lead {
  font-weight: 800;
  color: #fff;
  margin-bottom: 12px !important;
}

.working-dark ul {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.working-dark li {
  position: relative;
  padding: 12px 0 12px 22px;
  font-size: 19px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.working-dark li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 21px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pink);
  opacity: 0.75;
}

.working-dark li:last-child {
  border-bottom: 0;
}

.working-dark .working-split > div:last-child > p:last-of-type {
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 0;
}

/* —— Group 4: expect + outcome (white, soft internal join) —— */
.working-group--relief {
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.working-group--relief .working-section--expect {
  padding: 88px var(--section-pad-x) 40px;
}

.working-group--relief .working-section--outcome {
  padding: 48px var(--section-pad-x) 96px;
  border-top: 1px solid rgba(58, 60, 77, 0.07);
}

/* —— Group 5: structure + final CTA as one closing movement —— */
.working-group--close {
  background:
    radial-gradient(circle at 50% 0%, rgba(146, 217, 248, 0.18), transparent 42%),
    linear-gradient(180deg, #fafcfd 0%, #fff 55%);
  border-bottom: 1px solid var(--line);
}

.working-group--close .working-section--structure {
  padding: 88px var(--section-pad-x) 32px;
  background: transparent;
}

.working-group--close .working-final {
  padding: 28px var(--section-pad-x) 96px;
  margin: 0;
  background: transparent;
  border: 0;
}

.working-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 48px;
  align-items: start;
}

.working-hero-grid > * {
  min-width: 0;
}

.working-hero-card {
  padding: 26px 28px 30px;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(58, 60, 77, 0.1);
  border-left: 4px solid var(--sky);
  border-radius: 0 20px 20px 0;
  box-shadow: 0 12px 40px rgba(58, 60, 77, 0.06);
}

.working-hero-card p {
  font-size: 19px;
  margin: 0 0 14px;
  max-width: 520px;
  color: #333648;
}

.working-hero-card .btn {
  margin-top: 10px;
}

.working-split {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(40px, 6vw, 70px);
  align-items: start;
}

.working-split > * {
  min-width: 0;
}

.working-split h2 {
  margin: 0 0 18px;
}

.working-split > div:last-child p {
  font-size: 19px;
  margin: 0 0 16px;
  max-width: 640px;
  color: #333648;
}

.working-emphasis {
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 900;
  color: var(--navy);
  margin-top: 22px !important;
  margin-bottom: 0 !important;
  letter-spacing: -0.02em;
}

.working-emphasis-word {
  color: var(--pink);
}

.working-line-list {
  margin: 22px 0 12px;
  padding: 16px 0 16px 1.35rem;
  list-style: disc;
  border: 1px solid rgba(58, 60, 77, 0.1);
  border-radius: 12px;
  background: #fafcfd;
}

.working-line-list li {
  margin: 0 0 12px;
  padding: 0 0 0 6px;
  border: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.45;
}

.working-line-list li:last-child {
  margin-bottom: 0;
}

.working-line-list li::marker {
  color: var(--pink);
  font-size: 0.85em;
}

.working-insight-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0 6px;
  max-width: 560px;
}

.working-insight-grid span {
  display: block;
  padding: 14px 16px;
  font-size: 16px;
  font-weight: 700;
  color: var(--navy);
  background: #fff;
  border: 1px solid rgba(58, 60, 77, 0.1);
  border-radius: 12px;
}

.working-outcome-list {
  margin: 16px 0 4px;
  padding: 0;
  list-style: none;
}

.working-outcome-list li {
  padding: 12px 0 12px 32px;
  position: relative;
  font-size: 18px;
  color: #404354;
}

.working-outcome-list li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 20px;
  width: 14px;
  height: 2px;
  background: var(--sky);
  border-radius: 1px;
}

/* Sequence: stacked label → line (no cramped two-column table) */
.working-sequence {
  margin: 24px 0 0;
  max-width: 520px;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid rgba(58, 60, 77, 0.12);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}

.working-sequence-step {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 22px 22px 24px;
  border-bottom: 1px solid rgba(58, 60, 77, 0.1);
}

.working-sequence-step:last-child {
  border-bottom: 0;
}

.working-sequence-step strong {
  display: block;
  font-size: 16px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--navy);
  font-weight: 900;
  line-height: 1.25;
}

.working-sequence-step span {
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: #6b6e80;
  line-height: 1.55;
  max-width: 42rem;
}

.working-sequence-step.is-start {
  background: linear-gradient(90deg, rgba(232, 13, 113, 0.06), transparent 70%);
  box-shadow: inset 3px 0 0 var(--pink);
  padding-left: 19px;
}

.working-final-inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.working-final-inner h2 {
  margin-bottom: 16px;
}

.working-final-inner p {
  font-size: 19px;
  margin: 0 auto 14px;
  max-width: 520px;
  color: #333648;
}

.working-final-inner .working-final-lead {
  max-width: none;
}

@media (min-width: 901px) {
  .working-final-inner .working-final-lead {
    white-space: nowrap;
    font-size: 18px;
  }
}

.working-final-inner .btn {
  margin-top: 10px;
}

@media (max-width: 900px) {
  .working-hero-grid,
  .working-split {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .working-group--intro .working-hero,
  .working-group--intro .working-section--intro-follow,
  .working-group--arc .working-section--in-arc,
  .working-group--arc .working-section--in-arc:first-child,
  .working-group--arc .working-section--in-arc:last-child,
  .working-dark,
  .working-group--relief .working-section--expect,
  .working-group--relief .working-section--outcome,
  .working-group--close .working-section--structure,
  .working-group--close .working-final {
    padding-left: var(--section-pad-x-mobile);
    padding-right: var(--section-pad-x-mobile);
  }

  .working-group--intro .working-hero {
    padding-top: 58px;
    padding-bottom: 32px;
  }

  .working-group--intro .working-section--intro-follow {
    padding-top: 32px;
    padding-bottom: 56px;
  }

  .working-group--arc .working-section--in-arc:first-child {
    padding-top: 46px;
  }

  .working-group--arc .working-section--in-arc:last-child {
    padding-bottom: 52px;
  }

  .working-dark {
    padding-top: 56px;
    padding-bottom: 60px;
  }

  .working-group--relief .working-section--expect {
    padding-top: 72px;
    padding-bottom: 36px;
  }

  .working-group--relief .working-section--outcome {
    padding-top: 40px;
    padding-bottom: 72px;
  }

  .working-group--close .working-section--structure {
    padding-top: 72px;
    padding-bottom: 28px;
  }

  .working-group--close .working-final {
    padding-top: 24px;
    padding-bottom: 72px;
  }

  .working-hero-card {
    padding: 22px 22px 24px;
  }

  .working-sequence-step {
    padding: 18px 18px 18px;
  }

  .working-insight-grid {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   About (chapter rhythm; accents only)
   -------------------------------------------------------------------------- */

.about-page {
  color: var(--text);
}

.about-page main {
  overflow-x: hidden;
}

.about-hero {
  background:
    radial-gradient(ellipse 70% 50% at 92% 8%, rgba(146, 217, 248, 0.26), transparent 45%),
    linear-gradient(180deg, #fff 0%, #f6fbfd 100%);
  border-bottom: 1px solid rgba(58, 60, 77, 0.06);
}

.about-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 52px;
  align-items: start;
}

.about-hero-grid > * {
  min-width: 0;
}

.about-hero-aside--warm {
  padding: 28px 28px 32px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.97) 0%, #fff8fa 55%, rgba(244, 251, 254, 0.98) 100%);
  border: 1px solid rgba(232, 13, 113, 0.12);
  border-left: 4px solid var(--sky);
  border-radius: 0 22px 22px 0;
  box-shadow: 0 14px 48px rgba(58, 60, 77, 0.06);
}

.about-hero-aside--warm p {
  font-size: 19px;
  margin: 0 0 14px;
  color: #363848;
  max-width: 520px;
  line-height: 1.58;
}

.about-hero-coda {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  margin-left: -8px;
  padding: 16px 14px 18px 14px;
  font-size: 19px;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: -0.01em;
  line-height: 1.55;
  background: linear-gradient(90deg, rgba(232, 13, 113, 0.06), transparent 70%);
  border-radius: 0 12px 12px 0;
  border-left: 3px solid rgba(232, 13, 113, 0.35);
}

/* Soft transition (editorial) */
.about-section--deepen {
  padding: 80px var(--section-pad-x) 88px;
  background: linear-gradient(180deg, #fafcfd 0%, #fff 55%);
  border-top: 0;
  border-bottom: 1px solid rgba(58, 60, 77, 0.06);
}

.about-prose--narrow {
  text-align: left;
  max-width: 520px;
  margin: 0 auto;
}

.about-prose--narrow p {
  font-size: 19px;
  margin: 0 0 18px;
  color: #333648;
  line-height: 1.6;
}

.about-prose--narrow p:last-child {
  margin-bottom: 0;
}

/* Cycle */
.about-section--cycle {
  padding: 80px var(--section-pad-x);
  background: #fff;
  border-top: 0;
}

.about-cycle {
  margin: 20px 0 24px;
  padding-left: 16px;
  border-left: 2px solid rgba(0, 0, 0, 0.12);
  display: grid;
  gap: 6px;
}

.about-cycle div {
  font-weight: 500;
}

/* Credibility stack */
.about-section--cred {
  padding: 80px var(--section-pad-x);
  background: #fbfbfc;
  border-top: 0;
}

.about-stack--callout {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 22px 0 22px;
  padding: 22px 22px 20px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(58, 60, 77, 0.08);
  border-radius: 14px;
  border-left: 4px solid var(--blue);
  box-shadow: 0 10px 36px rgba(58, 60, 77, 0.05);
}

.about-stack--callout span {
  font-size: 18px;
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -0.01em;
}

/* Thesis landing */
.about-section--thesis {
  padding: 80px var(--section-pad-x);
  background: #fff;
  border-top: 1px solid rgba(58, 60, 77, 0.05);
}

.about-thesis-shell {
  margin-top: 10px;
  padding: 18px 20px 20px;
  background: linear-gradient(90deg, rgba(232, 13, 113, 0.06), rgba(146, 217, 248, 0.08));
  border-radius: 12px;
  border-left: 3px solid var(--pink);
}

.about-thesis {
  margin: 0 !important;
  font-size: 19px;
  font-weight: 900;
  color: var(--pink);
  letter-spacing: -0.02em;
  line-height: 1.45;
}

/* Audience pattern */
.about-section--audience {
  padding: 80px var(--section-pad-x);
  background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
  border-top: 0;
}

.about-fallback--pattern {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin: 22px 0 22px;
  padding: 0;
  border: 0;
}

.about-fallback--pattern span {
  display: inline-block;
  padding: 8px 14px 9px;
  font-size: 16px;
  font-weight: 700;
  color: var(--navy);
  background: #fff;
  border: 1px solid rgba(58, 60, 77, 0.12);
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(58, 60, 77, 0.04);
}

/* Story chapter */
.about-story--immersive {
  padding: 96px var(--section-pad-x) 104px;
  background:
    radial-gradient(ellipse 80% 45% at 20% 20%, rgba(232, 13, 113, 0.12), transparent 50%),
    linear-gradient(175deg, #2f313f 0%, var(--navy) 42%, #2e3042 100%);
  color: #e8ebf5;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.about-story-inner {
  max-width: 720px;
  margin: 0 auto;
}

.about-story-inner h2 {
  color: #fff;
  max-width: 62ch;
  margin: 0 auto 28px;
  letter-spacing: -0.03em;
}

.about-story-inner > p {
  font-size: 19px;
  margin: 0 0 20px;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.68;
}

.about-story-inner > p:not(.about-story-anchor) {
  max-width: 62ch;
  margin-left: auto;
  margin-right: auto;
}

.about-story-anchor {
  margin: 28px 0 28px !important;
  padding: 22px var(--section-pad-x) 24px;
  font-size: clamp(20px, 2.2vw, 24px) !important;
  font-weight: 900;
  line-height: 1.4 !important;
  color: #fff !important;
  background: rgba(0, 0, 0, 0.2);
  border-left: 5px solid var(--pink);
  border-radius: 0 14px 14px 0;
  letter-spacing: -0.02em;
}

/* Bridge + scan questions */
.about-section--bridge {
  padding: 88px var(--section-pad-x);
  background: #fff;
  border-top: 1px solid rgba(58, 60, 77, 0.06);
}

.about-questions--scan {
  margin: 12px 0 22px;
  padding: 0;
  list-style: none;
}

.about-questions--scan li {
  padding: 14px 16px 14px 18px;
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 700;
  color: var(--navy);
  background: #fbfbfc;
  border: 1px solid rgba(58, 60, 77, 0.08);
  border-radius: 10px;
  border-left: 3px solid var(--sky);
}

.about-questions--scan li::before {
  display: none;
}

/* Belief anchor */
.about-section--belief {
  padding: 88px var(--section-pad-x);
  background: #f5f7fa;
  border-top: 0;
}

.about-belief-anchor--primary {
  display: inline-block;
  margin: 0 0 24px !important;
  padding: 14px 20px 16px;
  font-size: clamp(24px, 3vw, 32px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
  color: var(--navy) !important;
  background: #fff;
  border-left: 5px solid var(--pink);
  border-radius: 0 12px 12px 0;
  box-shadow: 0 12px 40px rgba(58, 60, 77, 0.08);
  line-height: 1.25 !important;
}

.about-belief-lines span {
  padding-left: 2px;
}

/* How + proof */
.about-section--how {
  padding: 80px var(--section-pad-x);
  background: #fff;
  border-top: 1px solid rgba(58, 60, 77, 0.05);
}

.about-how-list {
  margin: 18px 0 18px;
  padding: 0;
  list-style: none;
  max-width: 520px;
}

.about-how-list li {
  position: relative;
  font-size: 18px;
  margin: 0 0 14px;
  padding: 0 0 14px 22px;
  line-height: 1.45;
  color: #333648;
  border-bottom: 1px dashed rgba(58, 60, 77, 0.12);
}

.about-how-list li:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.about-how-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  border: 1px solid rgba(64, 95, 171, 0.45);
  background: rgba(146, 217, 248, 0.35);
}

.about-section--proof {
  padding: 84px var(--section-pad-x);
  background: linear-gradient(180deg, #fafcfd 0%, #fff 100%);
  border-top: 0;
}

/* Sowa forward */
.about-section--forward {
  padding: 88px var(--section-pad-x) 96px;
  background:
    radial-gradient(ellipse 60% 40% at 80% 0%, rgba(146, 217, 248, 0.25), transparent 55%),
    linear-gradient(180deg, #eef6fb 0%, #fff 70%);
  border-top: 1px solid rgba(64, 95, 171, 0.12);
  border-bottom: 1px solid rgba(58, 60, 77, 0.06);
}

.about-sowa-forward {
  max-width: 720px;
  margin: 0 auto;
}

.about-sowa-forward h2 {
  margin: 0 0 20px;
  text-align: center;
}

.about-sowa-lede {
  font-size: 20px;
  font-weight: 700;
  color: var(--navy);
  text-align: left;
  margin: 0 0 16px;
  line-height: 1.45;
  letter-spacing: -0.02em;
}

.about-sowa-lede-em {
  color: var(--pink);
  font-weight: 800;
  letter-spacing: -0.025em;
}

.about-sowa-inline-link {
  color: inherit;
  font-weight: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(58, 60, 77, 0.35);
  text-underline-offset: 3px;
}

.about-sowa-inline-link:hover {
  text-decoration-color: var(--pink);
}

.about-sowa-link {
  display: inline-block;
}

.about-sowa-link:hover {
  opacity: 0.85;
  transition: opacity 0.2s ease;
}

.about-sowa-logo {
  display: block;
  width: 120px;
  max-width: 100%;
  height: auto;
  margin: 14px 0 18px;
}

.about-prose--sowa {
  max-width: 640px;
  margin: 18px 0 0;
}

.about-prose--sowa p {
  font-size: 19px;
  margin: 0 0 16px;
  color: #333648;
  text-align: left;
}

.about-prose--sowa p:last-child {
  margin-bottom: 0;
}

/* Final */
.about-final--denouement {
  padding: 88px var(--section-pad-x) 100px;
  background:
    radial-gradient(circle at 50% 0%, rgba(146, 217, 248, 0.12), transparent 42%),
    linear-gradient(180deg, #fff 0%, #f9fbfd 100%);
  border-top: 1px solid rgba(58, 60, 77, 0.05);
}

.about-final--denouement .about-final-inner p {
  opacity: 0.95;
}

.about-hero + .about-section--deepen {
  margin-top: 0;
}

.about-section--cycle + .about-section--cred,
.about-section--cred + .about-section--thesis,
.about-section--thesis + .about-section--audience {
  border-top: 0;
}

.about-split {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 48px;
  align-items: start;
}

.about-split-title {
  min-width: 0;
}

.about-split-copy {
  min-width: 0;
}

.about-split-copy > p {
  font-size: 19px;
  margin: 0 0 16px;
  max-width: 640px;
  color: #333648;
  line-height: 1.58;
}

.about-split-copy > p:last-child {
  margin-bottom: 0;
}

.about-split h2 {
  margin: 0 0 12px;
}

/* Title in right column, body left (same row) — desktop only */
.about-split--title-right {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: clamp(40px, 6vw, 70px);
  align-items: start;
}

.about-split--title-right > div:first-child {
  grid-column: 2;
  grid-row: 1;
}

.about-split--title-right > div:last-child {
  grid-column: 1;
  grid-row: 1;
}

.about-panel {
  padding: 4px 0 0;
}

.about-section--thesis .about-panel {
  padding: 8px 8px 8px 0;
}

.about-section--thesis .about-panel .about-prose {
  padding: 26px var(--section-pad-x) 28px;
  background: #fbfbfc;
  border: 1px solid var(--divider);
  border-radius: 16px;
  border-left: 4px solid rgba(146, 217, 248, 0.9);
}

.about-proof-strip {
  margin: 8px 0 20px;
  padding: 20px 22px;
  background: linear-gradient(90deg, rgba(232, 13, 113, 0.06), transparent 88%);
  border: 1px solid rgba(58, 60, 77, 0.08);
  border-left: 4px solid rgba(232, 13, 113, 0.42);
  border-radius: 0 14px 14px 0;
}

.about-proof-strip p {
  margin: 0 0 12px;
  font-size: 18px;
}

.about-proof-strip p:last-child {
  margin-bottom: 0;
}

.about-proof-tag {
  font-weight: 800;
  color: var(--pink) !important;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.about-section--belief-center {
  padding: 96px var(--section-pad-x);
  background: #fff;
  border-top: 1px solid var(--divider);
}

.about-prose p {
  font-size: 19px;
  margin: 0 0 16px;
  max-width: 640px;
  color: #333648;
  line-height: 1.58;
}

.about-prose p:last-child {
  margin-bottom: 0;
}

.about-proof-note {
  font-weight: 700 !important;
  color: var(--navy) !important;
}

.about-final-inner {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

.about-final-inner h2 {
  margin: 0 0 18px;
}

.about-final-inner p {
  font-size: 19px;
  margin: 0 auto 14px;
  color: #333648;
}

.about-final-inner .btn {
  margin-top: 14px;
}

.about-linkedin-follow {
  margin: 0 auto 20px !important;
  font-size: 15px;
  max-width: 420px;
}

.about-linkedin-follow a {
  color: var(--blue);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(64, 95, 171, 0.35);
  text-underline-offset: 2px;
}

.about-linkedin-follow a:hover {
  color: var(--pink);
}

@media (max-width: 900px) {
  .about-hero,
  .about-section,
  .about-story--immersive,
  .about-final--denouement {
    padding-left: var(--section-pad-x-mobile);
    padding-right: var(--section-pad-x-mobile);
  }

  .about-hero-grid,
  .about-split {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .about-split--title-right > div:first-child,
  .about-split--title-right > div:last-child {
    grid-column: auto;
    grid-row: auto;
  }

  .about-prose--narrow {
    margin: 0;
    max-width: none;
  }

  .about-section--deepen,
  .about-section--cycle,
  .about-section--cred,
  .about-section--thesis,
  .about-section--audience,
  .about-section--bridge,
  .about-section--belief,
  .about-section--how,
  .about-section--proof,
  .about-section--forward {
    padding-top: 48px;
    padding-bottom: 52px;
  }

  .about-story--immersive {
    padding-top: 54px;
    padding-bottom: 62px;
  }

  .about-hero-aside--warm {
    padding: 24px 24px 28px;
  }

  .about-story-anchor {
    padding-left: var(--section-pad-x-mobile);
    padding-right: var(--section-pad-x-mobile);
  }

  .about-proof-tag {
    white-space: normal;
  }
}

@media (max-width: 768px) {
  .about-split {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
/* --------------------------------------------------------------------------
   Services Page
   -------------------------------------------------------------------------- */

   .services-page {
    background: #fff;
    color: var(--text);
  }
  
  .services-page main {
    overflow-x: hidden;
  }
  
  .services-hero {
    background:
      radial-gradient(circle at 88% 8%, rgba(146, 217, 248, 0.34), transparent 34%),
      linear-gradient(180deg, #fff 0%, #f7fbfd 100%);
    border-bottom: 1px solid var(--line);
  }
  
  .services-narrow {
    max-width: 820px;
  }
  
  .services-hero h1 {
    max-width: 980px;
    margin-bottom: clamp(8px, 1.2vw, 14px);
    text-wrap: balance;
  }
  
  .services-hero-copy {
    margin-top: clamp(44px, 5vw, 58px);
    max-width: 720px;
  }

  .services-hero-lede {
    font-weight: 800;
    color: var(--navy);
    margin: 0 0 0.55em;
  }

  .services-hero-questions {
    margin-top: clamp(20px, 2.6vw, 30px);
    padding: clamp(18px, 2.2vw, 26px) clamp(20px, 3vw, 30px) clamp(18px, 2.2vw, 26px)
      clamp(18px, 2.5vw, 26px);
    background: linear-gradient(
      105deg,
      rgba(146, 217, 248, 0.14),
      rgba(251, 253, 255, 0.98) 52%
    );
    border: 1px solid rgba(58, 60, 77, 0.08);
    border-left: 4px solid rgba(146, 217, 248, 0.88);
    border-radius: 0 18px 18px 0;
    box-shadow: 0 16px 44px rgba(58, 60, 77, 0.06);
  }

  .services-hero-questions p {
    margin: 0;
    text-wrap: pretty;
  }

  .services-hero-questions p + p {
    margin-top: 0.38em;
  }

  .services-hero-mid {
    margin-top: clamp(26px, 3.4vw, 40px);
  }

  .services-hero-mid p {
    margin: 0 0 0.5em;
    text-wrap: pretty;
  }

  .services-hero-mid p:last-child {
    margin-bottom: 0;
  }

  .services-hero-outcome {
    margin-top: clamp(24px, 3.2vw, 36px);
    padding-top: clamp(22px, 2.8vw, 32px);
    border-top: 1px solid rgba(58, 60, 77, 0.09);
  }

  .services-hero-outcome p {
    margin: 0 0 0.5em;
    text-wrap: pretty;
  }

  .services-hero-outcome p:last-child {
    margin-bottom: 0;
  }
  
  .services-hero-copy p,
  .services-section p,
  .services-reset-copy p,
  .services-step-content p,
  .services-note p {
    font-size: clamp(19px, 1.45vw, 22px);
    line-height: 1.52;
  }
  
  .services-section {
    padding: 88px var(--section-pad-x);
    background: #fff;
  }
  
  .services-loop {
    border-bottom: 1px solid var(--line);
    background: linear-gradient(180deg, #fff 0%, #fafcfd 100%);
  }

  .services-loop .services-loop-open {
    margin: 0 0 0.15em;
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1.35;
    font-weight: 900;
    letter-spacing: -0.03em;
    color: var(--navy);
    text-wrap: pretty;
  }

  .services-loop-moves {
    margin-top: clamp(18px, 2.2vw, 26px);
    padding-left: clamp(16px, 2vw, 22px);
    border-left: 3px solid rgba(146, 217, 248, 0.65);
  }

  .services-loop-moves p {
    margin: 0 0 0.48em;
    text-wrap: pretty;
  }

  .services-loop-moves p:last-child {
    margin-bottom: 0;
  }
  
  .services-emphasis {
    margin-top: 30px !important;
    font-size: clamp(24px, 2.5vw, 34px) !important;
    line-height: 1.2 !important;
    font-weight: 900;
    letter-spacing: -0.035em;
    color: var(--navy);
    text-wrap: balance;
  }

  .services-emphasis-loop-cap {
    margin-top: clamp(36px, 4.5vw, 48px) !important;
    padding-top: clamp(28px, 3.5vw, 40px);
    border-top: 1px solid rgba(58, 60, 77, 0.1);
    font-size: clamp(26px, 2.85vw, 40px) !important;
    line-height: 1.22 !important;
    color: #2a2d3d;
    max-width: 36rem;
    text-wrap: balance;
  }
  
  .services-turn {
    position: relative;
    background:
      radial-gradient(ellipse 120% 90% at 0% 40%, rgba(232, 13, 113, 0.07), transparent 55%),
      radial-gradient(ellipse 80% 70% at 100% 20%, rgba(146, 217, 248, 0.12), transparent 50%),
      linear-gradient(180deg, #f5f8fb 0%, #fafbfc 100%);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .services-turn-split {
    align-items: center;
  }

  .services-turn-pivot {
    position: relative;
    padding: clamp(8px, 1.2vw, 14px) 0 clamp(8px, 1.2vw, 14px) clamp(18px, 2.2vw, 26px);
  }

  .services-turn-pivot::before {
    content: "";
    position: absolute;
    left: 0;
    top: clamp(6px, 1vw, 12px);
    bottom: clamp(6px, 1vw, 12px);
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--pink), rgba(146, 217, 248, 0.85));
  }

  .services-turn-pivot h2 {
    margin: 0;
    font-size: clamp(34px, 3.8vw, 52px);
    line-height: 1.12;
    font-weight: 900;
    letter-spacing: -0.038em;
    color: var(--navy);
    text-wrap: balance;
  }

  .services-turn-follow p {
    text-wrap: pretty;
  }
  
  .services-split {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: clamp(42px, 6vw, 72px);
    align-items: start;
  }
  
  .services-reset {
    padding: 96px var(--section-pad-x);
    background:
      radial-gradient(circle at 10% 10%, rgba(232, 13, 113, 0.08), transparent 34%),
      #fff;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  
  .services-reset-card {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(44px, 6vw, 76px);
    align-items: start;
    padding: clamp(36px, 5vw, 64px);
    background: #fff;
    border: 1px solid rgba(58, 60, 77, 0.1);
    border-left: 7px solid var(--pink);
    border-radius: 0 30px 30px 0;
    box-shadow: 0 28px 82px rgba(58, 60, 77, 0.12);
  }
  
  .services-reset-copy h3 {
    font-size: clamp(30px, 3.2vw, 48px);
    line-height: 1;
    letter-spacing: -0.045em;
    margin: 0 0 24px;
    color: var(--navy);
  }
  
  .services-mini-list,
  .services-step-list {
    display: grid;
    gap: 12px;
    margin: 26px 0;
  }
  
  .services-mini-list span,
  .services-step-list span {
    display: block;
    padding: 15px 18px;
    border: 1px solid rgba(58, 60, 77, 0.11);
    border-left: 4px solid var(--sky);
    border-radius: 0 14px 14px 0;
    background: #fbfdff;
    font-size: 18px;
    font-weight: 800;
    color: var(--navy);
  }
  
  .services-reset-anchor,
  .services-step-close {
    font-weight: 900;
    color: var(--navy);
  }
  
  .services-reset-copy .btn {
    margin-top: 18px;
  }
  
  .services-path-intro {
    background: #fff;
  }
  
  .services-path {
    padding: 36px var(--section-pad-x) 104px;
    background: #fff;
  }

  /* Deep links from homepage: keep step headings below sticky nav */
  #blueprint,
  #implementation,
  #advisory {
    scroll-margin-top: 140px;
  }
  
  .services-path-line {
    position: relative;
    display: grid;
    gap: 32px;
    max-width: 980px;
    margin: 0 auto;
  }
  
  .services-path-line::before {
    content: "";
    position: absolute;
    left: 27px;
    top: 18px;
    bottom: 18px;
    width: 2px;
    background: linear-gradient(180deg, rgba(232, 13, 113, 0.45), rgba(146, 217, 248, 0.45));
  }
  
  .services-step {
    position: relative;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
  }
  
  .services-step-marker {
    position: relative;
    z-index: 1;
    width: 56px;
    height: 56px;
    border-radius: 999px;
    background: #fff;
    border: 2px solid var(--pink);
    color: var(--pink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    box-shadow: 0 12px 32px rgba(58, 60, 77, 0.1);
  }
  
  .services-step-content {
    padding: 30px 34px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(58, 60, 77, 0.07);
  }
  
  .services-step-content h2 {
    margin-bottom: 18px;
  }
  
  .services-close {
    padding: 96px var(--section-pad-x);
    background:
      radial-gradient(circle at 50% 0%, rgba(146, 217, 248, 0.16), transparent 35%),
      var(--navy);
    color: #fff;
    text-align: center;
  }
  
  .services-close h2 {
    color: #fff;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
  
  .services-close p {
    color: rgba(255, 255, 255, 0.88);
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1.35;
    margin-bottom: 30px;
  }
  
  .services-note {
    padding: 52px var(--section-pad-x);
    background: #fff;
    border-top: 1px solid var(--line);
  }
  
  .services-note p {
    font-size: 17px;
    color: #55596a;
    line-height: 1.58;
    margin-bottom: 12px;
  }
  
  @media (max-width: 900px) {
    .services-hero,
    .services-section,
    .services-reset,
    .services-path,
    .services-close,
    .services-note {
      padding-left: var(--section-pad-x-mobile);
      padding-right: var(--section-pad-x-mobile);
    }
  
    .services-section,
    .services-reset,
    .services-close {
      padding-top: 60px;
      padding-bottom: 60px;
    }
  
    .services-split,
    .services-reset-card {
      grid-template-columns: 1fr;
      gap: 36px;
    }

    .services-turn-split {
      align-items: start;
    }

    .services-turn-pivot {
      padding-left: clamp(16px, 4vw, 22px);
    }

    .services-emphasis-loop-cap {
      font-size: clamp(22px, 5.3vw, 32px) !important;
    }

    .services-turn-pivot h2 {
      font-size: clamp(28px, 6.4vw, 48px);
    }

    .services-emphasis {
      font-size: clamp(22px, 5.2vw, 34px) !important;
    }

    .services-loop .services-loop-open {
      font-size: clamp(20px, 5.1vw, 30px);
    }
  
    .services-reset-card {
      padding: 32px 24px;
    }
  
    .services-path {
      padding-top: 24px;
      padding-bottom: 60px;
    }

    #blueprint,
    #implementation,
    #advisory {
      scroll-margin-top: 168px;
    }
  
    .services-step {
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 18px;
    }
  
    .services-step-marker {
      width: 42px;
      height: 42px;
    }
  
    .services-path-line::before {
      left: 20px;
    }
  
    .services-step-content {
      padding: 24px 22px;
    }
  }
  /* --------------------------------------------------------------------------
   Case Studies Overview
   -------------------------------------------------------------------------- */

.case-studies-page {
  background: #fff;
  color: var(--text);
}

.case-studies-page main {
  overflow-x: hidden;
}

.case-narrow {
  max-width: 820px;
}

.case-hero {
  background:
    radial-gradient(circle at 88% 8%, rgba(146, 217, 248, 0.34), transparent 34%),
    linear-gradient(180deg, #fff 0%, #f7fbfd 100%);
  border-bottom: 1px solid var(--line);
}

.case-hero h1 {
  max-width: 980px;
}

.case-hero-copy {
  margin-top: 36px;
  padding-left: 24px;
  border-left: 5px solid var(--pink);
  max-width: 680px;
}

.case-hero-copy p,
.case-shift p,
.case-intro p,
.case-card-section p,
.case-close p {
  font-size: clamp(19px, 1.45vw, 22px);
  line-height: 1.52;
}

.case-shift {
  padding: 88px var(--section-pad-x);
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.case-split {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(42px, 6vw, 72px);
  align-items: start;
}

.case-split > * {
  min-width: 0;
}

.case-emphasis {
  margin-top: 28px !important;
  font-size: clamp(24px, 2.5vw, 34px) !important;
  line-height: 1.2 !important;
  font-weight: 900;
  letter-spacing: -0.035em;
  color: var(--navy);
}

.case-intro {
  padding: 72px var(--section-pad-x);
  background: #f7fafc;
  border-bottom: 1px solid var(--line);
}

.case-intro p {
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight: 900;
  color: var(--navy);
  line-height: 1.22;
  letter-spacing: -0.035em;
}

.case-overview {
  padding: 96px var(--section-pad-x);
  background: #fff;
}

.case-overview-card {
  padding: clamp(34px, 5vw, 58px);
  border: 1px solid rgba(58, 60, 77, 0.1);
  border-left: 7px solid var(--pink);
  border-radius: 0 30px 30px 0;
  background: #fff;
  box-shadow: 0 24px 72px rgba(58, 60, 77, 0.1);
}

.case-overview-card + .case-overview-card {
  margin-top: 44px;
}

.case-card-top {
  max-width: 860px;
  margin-bottom: 36px;
}

.case-card-top h2 {
  max-width: 920px;
}

.case-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-bottom: 28px;
}

.case-card-section {
  padding: 24px;
  background: #fbfdff;
  border: 1px solid rgba(58, 60, 77, 0.09);
  border-radius: 20px;
}

.case-card-section h3 {
  font-size: 18px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--pink);
  margin-bottom: 18px;
}

.case-card-section p {
  margin-bottom: 12px;
  color: #333648;
}

.case-mini-list {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}

.case-mini-list span {
  display: block;
  padding: 13px 15px;
  border-left: 4px solid var(--sky);
  background: #fff;
  border-radius: 0 12px 12px 0;
  font-size: 17px;
  font-weight: 800;
  color: var(--navy);
}

.case-close {
  padding: 96px var(--section-pad-x);
  background:
    radial-gradient(circle at 50% 0%, rgba(146, 217, 248, 0.16), transparent 35%),
    var(--navy);
  color: #fff;
  text-align: center;
}

.case-close h2 {
  color: #fff;
}

.case-close p {
  color: rgba(255, 255, 255, 0.9);
}

.case-close-line {
  margin-top: 26px !important;
  font-size: clamp(26px, 3vw, 42px) !important;
  font-weight: 900;
  color: #fff !important;
  letter-spacing: -0.04em;
}

.case-close .btn {
  margin-top: 22px;
}

@media (max-width: 900px) {
  .case-hero,
  .case-shift,
  .case-intro,
  .case-overview,
  .case-close {
    padding-left: var(--section-pad-x-mobile);
    padding-right: var(--section-pad-x-mobile);
  }

  .case-shift,
  .case-overview,
  .case-close {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .case-split,
  .case-card-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .case-overview-card {
    padding: 30px 22px;
  }

  .case-card-section {
    padding: 22px;
  }
}
/* --------------------------------------------------------------------------
   Individual Case Study Page
   -------------------------------------------------------------------------- */

   .case-detail-page {
    background: #fff;
    color: var(--text);
  }
  
  .case-detail-page main {
    overflow-x: hidden;
  }
  
  .case-detail-narrow {
    max-width: 860px;
  }
  
  .case-detail-hero {
    padding: 112px var(--section-pad-x) 88px;
    background:
      radial-gradient(circle at 88% 8%, rgba(146, 217, 248, 0.34), transparent 34%),
      linear-gradient(180deg, #fff 0%, #f7fbfd 100%);
    border-bottom: 1px solid var(--line);
  }
  
  .case-detail-hero h1 {
    max-width: 1000px;
  }
  
  .case-detail-lead {
    margin-top: 34px;
    padding-left: 24px;
    border-left: 5px solid var(--pink);
    max-width: 720px;
  }
  
  .case-detail-lead p,
  .case-detail-section p,
  .case-detail-dark p,
  .case-detail-close p {
    font-size: clamp(19px, 1.45vw, 22px);
    line-height: 1.55;
  }
  
  .case-detail-section {
    padding: 88px var(--section-pad-x);
    background: #fff;
    border-bottom: 1px solid var(--line);
  }
  
  .case-detail-soft {
    background: #f7fafc;
  }
  
  .case-detail-split {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: clamp(42px, 6vw, 72px);
    align-items: start;
  }

  .case-detail-split > * {
    min-width: 0;
  }
  
  .case-detail-emphasis {
    margin-top: 26px !important;
    font-size: clamp(24px, 2.5vw, 34px) !important;
    line-height: 1.22 !important;
    font-weight: 900;
    letter-spacing: -0.035em;
    color: var(--navy);
  }
  
  .case-detail-stack,
  .case-detail-mini,
  .case-detail-dark-list {
    display: grid;
    gap: 12px;
    margin: 28px 0;
  }
  
  .case-detail-stack span,
  .case-detail-mini span {
    display: block;
    padding: 16px 18px;
    border: 1px solid rgba(58, 60, 77, 0.1);
    border-left: 5px solid var(--sky);
    border-radius: 0 14px 14px 0;
    background: #fff;
    font-size: 18px;
    font-weight: 850;
    color: var(--navy);
  }
  
  .case-detail-dark {
    padding: 96px var(--section-pad-x);
    background:
      radial-gradient(circle at 82% 0%, rgba(146, 217, 248, 0.18), transparent 36%),
      var(--navy);
    color: #fff;
  }
  
  .case-detail-dark h2 {
    color: #fff;
  }
  
  .case-detail-dark p {
    color: rgba(255, 255, 255, 0.9);
  }
  
  .case-detail-dark-list span {
    display: block;
    padding: 16px 18px;
    border-left: 5px solid var(--pink);
    background: rgba(255, 255, 255, 0.08);
    border-radius: 0 14px 14px 0;
    font-size: 18px;
    font-weight: 850;
    color: #fff;
  }
  
  .case-detail-close {
    padding: 96px var(--section-pad-x);
    background:
      radial-gradient(circle at 50% 0%, rgba(146, 217, 248, 0.16), transparent 35%),
      var(--navy);
    color: #fff;
    text-align: center;
  }
  
  .case-detail-close h2 {
    color: #fff;
  }
  
  .case-detail-close p {
    color: rgba(255, 255, 255, 0.9);
  }
  
  .case-detail-close-line {
    margin-top: 26px !important;
    font-size: clamp(28px, 3vw, 44px) !important;
    line-height: 1.12 !important;
    font-weight: 900;
    color: #fff !important;
    letter-spacing: -0.04em;
  }
  
  .case-detail-close .btn {
    margin-top: 24px;
  }
  
  @media (max-width: 900px) {
    .case-detail-hero,
    .case-detail-section,
    .case-detail-dark,
    .case-detail-close {
      padding-left: var(--section-pad-x-mobile);
      padding-right: var(--section-pad-x-mobile);
    }
  
    .case-detail-hero {
      padding-top: 64px;
      padding-bottom: 56px;
    }
  
    .case-detail-section,
    .case-detail-dark,
    .case-detail-close {
      padding-top: 60px;
      padding-bottom: 60px;
    }
  
    .case-detail-split {
      grid-template-columns: 1fr;
      gap: 34px;
    }
  }

/* --------------------------------------------------------------------------
   RESET intake (post-payment; no site nav)
   -------------------------------------------------------------------------- */

.intake-page {
  background: #fff;
  color: var(--text);
}

.intake-main {
  padding: var(--section-pad-y) var(--section-pad-x);
  padding-bottom: 88px;
}

.intake-inner .eyebrow {
  margin-bottom: 18px;
}

.intake-inner h1 {
  max-width: 980px;
}

.intake-lede {
  margin-top: 8px;
  max-width: 720px;
}

.intake-lede p {
  font-size: 19px;
  margin: 0 0 16px;
  color: var(--text);
  line-height: 1.55;
}

.intake-lede p:last-child {
  margin-bottom: 0;
}

.intake-form-frame {
  margin-top: 36px;
  width: 100%;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  border-radius: 0;
  border: 1px solid var(--line);
  background: #fff;
}

.intake-form-frame iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 1500px;
  min-height: 1500px;
  margin: 0;
  border: 0;
  vertical-align: top;
}

.intake-note {
  margin: 28px 0 0;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  font-size: 17px;
  line-height: 1.55;
  color: #404354;
  text-align: left;
}

.intake-footer-minimal {
  padding: 28px var(--section-pad-x) 36px;
  border-top: 1px solid var(--line);
  background: #fff;
  text-align: center;
}

.intake-footer-minimal .copyright {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--blue);
}

@media (max-width: 900px) {
  .intake-main {
    padding: var(--section-pad-y-mobile) var(--section-pad-x-mobile);
    padding-bottom: 72px;
  }

  .intake-form-frame {
    margin-top: 28px;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .intake-form-frame iframe {
    height: 1650px;
    min-height: 1650px;
  }

  .intake-note {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    font-size: 16px;
  }

  .intake-lede p {
    font-size: 18px;
    margin-bottom: 14px;
  }

  .intake-footer-minimal {
    padding-left: var(--section-pad-x-mobile);
    padding-right: var(--section-pad-x-mobile);
  }
}

@media (max-width: 380px) {
  .intake-form-frame iframe {
    height: 1750px;
    min-height: 1750px;
  }
}

/* --------------------------------------------------------------------------
   Motion + very small phones
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .btn:hover,
  .btn-white:hover,
  .btn-ghost:hover,
  .contact-form-submit.btn:hover,
  .offer-card:hover,
  .card:hover,
  .case-card:hover,
  .reset-buy-btn:hover,
  .reset-light-btn:hover {
    transform: none;
  }
}

@media (max-width: 380px) {
  .nav-links {
    font-size: 11px;
    gap: 6px 8px;
  }

  .nav .btn {
    padding: 6px 10px;
    font-size: 11px;
  }

  h1 {
    font-size: clamp(28px, 8.2vw, 46px);
  }

  .brand img {
    width: 132px;
    max-width: min(132px, 42vw);
  }
}