/* 07 CLOSE: about, ctas, triage, work, voices, contact, finale, footer */
  /* ---------- ABOUT ---------- */
  .about { position: relative; overflow: hidden; }
  .ghost {
    position: absolute; bottom: -0.18em; left: 50%; transform: translateX(-50%);
    font-weight: 900; font-size: clamp(8rem, 24vw, 22rem);
    letter-spacing: -0.05em; line-height: 0.8; white-space: nowrap;
    color: transparent; -webkit-text-stroke: 1px #000;
    opacity: 0.16; pointer-events: none; user-select: none;
    -webkit-mask-image: linear-gradient(to bottom, transparent 30%, black 78%);
    mask-image: linear-gradient(to bottom, transparent 30%, black 78%);
  }
  .about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; position: relative; }
  .about-img { overflow: hidden; border: 1px solid #000; }
  .about-img img {
    width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover;
    filter: grayscale(1) contrast(1.15);
    transition: transform 0.7s cubic-bezier(0.16,1,0.3,1);
  }
  .about-img:hover img { transform: scale(1.04); }
  .about-body .mono { display: block; color: #000; margin-bottom: 18px; }
  .about-body h2 {
    font-weight: 900; font-size: clamp(2.2rem, 4vw, 3.6rem);
    letter-spacing: -0.04em; line-height: 1.0; margin-bottom: 24px;
  }
  .about-body p { color: var(--muted); font-size: 17px; margin-bottom: 16px; max-width: 56ch; }
  .about-body p:first-of-type { font-size: 18px; color: #000; }
  .about-body .btn { margin-top: 16px; }

  /* ---------- SECTION CTA (every section exits to contact) ---------- */
  .sec-cta {
    display: flex; align-items: center; gap: 24px 32px; flex-wrap: wrap;
    margin-top: 56px; padding-top: 32px; border-top: 1px solid #000;
  }
  .sec-cta p { font-family: var(--mono); font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.12em; color: #555; margin-right: auto; }
  .sec-cta .mono a { color: #000; }

  /* ---------- EXIT STATEMENT (final pre-contact push) ---------- */
  .exit-statement {
    margin-top: 56px; padding-top: 48px; border-top: 1px solid #000;
    display: flex; flex-direction: column; align-items: flex-start; gap: 20px;
  }
  .exit-statement h3 {
    font-weight: 900; font-size: clamp(2rem, 3.5vw, 3.2rem);
    letter-spacing: -0.04em; line-height: 1.0; text-wrap: balance;
  }
  .exit-statement p { color: var(--muted); font-size: 18px; max-width: 56ch; }
  .exit-statement .mono a { color: #000; }

  /* ---------- TRIAGE STRIP (catches the unsure) ---------- */
  .triage { border-top: 1px solid #000; border-bottom: 1px solid #000; }
  .triage { background: #000; color: #fff; }
  .triage-inner {
    display: flex; align-items: center; gap: 24px 64px; flex-wrap: wrap;
    padding: 96px 32px;
  }
  .triage-inner .mono { display: block; color: #999; margin-bottom: 20px; }
  .triage-inner h2 { font-weight: 900; font-size: clamp(2rem, 4.5vw, 3.5rem); letter-spacing: -0.04em; line-height: 1.0; margin-bottom: 16px; color: #fff; text-wrap: balance; }
  .triage-inner p { color: #e0e0e0; font-size: 18px; max-width: 52ch; }
  .triage-inner .re { margin-top: 20px; margin-bottom: 0; }
  .triage-inner .row { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; margin-left: auto; }
  .triage-inner .row .btn:focus-visible { outline-color: #fff; }
  .triage-inner .call { margin-bottom: 0; }
  .triage-inner .call a { color: #fff; }
  @media (max-width: 700px) {
    .triage-inner { padding: 64px 24px; }
    .triage-inner .row { margin-left: 0; }
  }

  /* ---------- CASES (proof rows, full-width sequence) ---------- */
  .cases { border: 1px solid #000; }
  .case {
    display: grid; gap: 12px 36px; align-items: center;
    grid-template-columns: 64px 300px 1fr auto;
    grid-template-areas: "idx img body meta";
    padding: 36px;
    background: #fff; color: inherit; text-decoration: none;
  }
  .case + .case { border-top: 1px solid #000; }
  .case.flip {
    grid-template-columns: auto 1fr 300px 64px;
    grid-template-areas: "meta body img idx";
  }
  .case .idx { grid-area: idx; color: #000; }
  .case.flip .idx { text-align: right; }
  .case-img { grid-area: img; overflow: hidden; border: 1px solid #000; }
  .case-img img {
    width: 100%; height: 240px; object-fit: cover;
    filter: grayscale(1) contrast(1.15);
    transition: transform 0.7s cubic-bezier(0.16,1,0.3,1);
  }
  .case:hover .case-img img { transform: scale(1.05); }
  .case-body { grid-area: body; }
  .case-body .mono { display: block; color: #000; margin-bottom: 12px; }
  .case-body h3 { font-size: clamp(22px, 2.4vw, 28px); font-weight: 900; letter-spacing: -0.02em; line-height: 1.1; margin-bottom: 10px; }
  .case:hover .case-body h3 { text-decoration: underline; text-underline-offset: 6px; }
  .case-body p { color: var(--muted); font-size: 16px; max-width: 52ch; }
  .case-meta { grid-area: meta; display: flex; align-items: center; gap: 16px; }
  .case-meta .mono { color: #000; font-weight: 600; font-size: 14px; }
  .case-meta .arr { font-size: 20px; display: inline-block; transition: transform 0.4s cubic-bezier(0.32,0.72,0,1); }
  .case:hover .arr { transform: translateX(6px); }
  @media (max-width: 900px) {
    .case, .case.flip {
      grid-template-columns: 1fr;
      grid-template-areas: "idx" "img" "body" "meta";
      gap: 20px; padding: 28px 24px;
    }
    .case.flip .idx { text-align: left; }
    .case-img img { height: 220px; }
  }

  /* ---------- VOICES (trust feature + stack) ---------- */
  .sec-head a.mono { display: block; margin-bottom: 20px; color: #000; }
  .swipe-hint { display: none; color: #000; margin-bottom: 16px; }
  .voices-grid {
    display: grid; grid-template-columns: repeat(6, 1fr);
    border: 1px solid #000;
  }
  .voice {
    padding: 32px; background: #fff;
    display: flex; flex-direction: column;
  }
  .voice:not(.feature) { grid-column: span 2; }
  .voice:nth-child(2) { border-bottom: 1px solid #000; }
  .voice.half { grid-column: span 3; border-top: 1px solid #000; }
  .voice.half:nth-child(4) { border-right: 1px solid #000; }
  .voice.feature {
    grid-column: span 4; grid-row: span 2;
    border-right: 1px solid #000; padding: 56px;
    justify-content: center;
  }
  .voice .stars { letter-spacing: 0.2em; font-size: 14px; margin-bottom: 20px; }
  .voice blockquote {
    font-size: 17px; line-height: 1.5; letter-spacing: -0.01em;
    flex-grow: 1; margin-bottom: 24px;
  }
  .voice.feature blockquote {
    font-size: clamp(24px, 3vw, 34px); font-weight: 500;
    letter-spacing: -0.02em; line-height: 1.3; margin-bottom: 32px;
    flex-grow: 0;
  }
  .voice cite { font-style: normal; font-weight: 700; font-size: 16px; }
  .voice.feature cite { font-size: 20px; }
  .voice .mono { display: block; color: #777; margin-top: 6px; }
  @media (max-width: 900px) {
    .voices-grid {
      display: flex; gap: 12px; border: none;
      overflow-x: auto; scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      touch-action: pan-x pan-y; overscroll-behavior-x: contain;
      scrollbar-width: none; padding-bottom: 8px; cursor: grab;
    }
    .voices-grid::-webkit-scrollbar { display: none; }
    .voice.feature, .voice:not(.feature) {
      grid-column: auto; flex: 0 0 82vw; scroll-snap-align: center;
      border: 1px solid #000; padding: 28px 24px;
    }
    .voice.feature { grid-row: auto; border-bottom: 1px solid #000; }
    .voice:nth-child(2) { border-bottom: 1px solid #000; }
    .voice.half { border-top: 1px solid #000; }
    .voice.half:nth-child(4) { border-right: 1px solid #000; }
    .voice.feature blockquote { font-size: 21px; line-height: 1.35; margin-bottom: 24px; }
    .voice.feature cite { font-size: 17px; }
    .voice blockquote { font-size: 16px; }
    .voice .stars { margin-bottom: 16px; }
    .swipe-hint { display: block; }
  }

  /* ---------- CONTACT ---------- */
  .contact-sec { position: relative; overflow: hidden; }
  .ghost-top {
    top: -0.12em; bottom: auto; opacity: 0.1;
    -webkit-mask-image: linear-gradient(to bottom, black 35%, transparent 88%);
    mask-image: linear-gradient(to bottom, black 35%, transparent 88%);
  }
  .sec-head.center { text-align: center; margin-left: auto; margin-right: auto; }
  .sec-head.center p { margin-left: auto; margin-right: auto; }
  .sec-head .proof-line { margin-top: 20px; color: #000; }
  .contact-grid { display: block; }
  .form { max-width: 720px; margin: 0 auto; padding: 56px; border: 1px solid #000; }
  .chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .form label { display: block; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; margin: 22px 0 8px; }
  .form label:first-of-type { margin-top: 0; }
  .form input, .form select, .form textarea {
    width: 100%; border: 1px solid #000; padding: 14px;
    font-size: 16px; font-family: var(--sans); background: #fff; color: #000;
  }
  .form input:focus, .form select:focus, .form textarea:focus { outline: 2px solid #000; outline-offset: -2px; }

  /* ---------- STEPPED FORM (one thing at a time) ---------- */
  .form fieldset { border: none; padding: 0; margin: 0; min-width: 0; }
  .form legend { font-weight: 900; font-size: clamp(1.4rem, 2.4vw, 2rem); letter-spacing: -0.02em; margin-bottom: 24px; padding: 0; }
  .fprogress { margin-bottom: 32px; }
  .fprogress .mono { display: block; color: #000; margin-bottom: 12px; }
  .fprogress .fsummary { margin: 12px 0 0; color: #555; }
  .fecho { border: 1px solid #000; padding: 16px 20px; font-size: 16px; margin: 24px 0 0; background: #fff; }
  .form .freassure { color: #000; margin: 24px 0 0; }
  .fbar { display: flex; gap: 8px; }
  .fbar i { flex: 1; height: 4px; background: #ddd; }
  .fbar i.on { background: #000; }
  .form .chip { margin: 0; border: 1px solid #000; padding: 18px 16px; cursor: pointer; font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: 0; transition: background-color 0.25s ease, color 0.25s ease; }
  .form .chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
  .form .chip:has(input:checked) { background: #000; color: #fff; }
  .form .chip:has(input:focus-visible) { outline: 2px solid #000; outline-offset: 3px; }
  .form .opt { font-weight: 400; color: #777; text-transform: none; letter-spacing: 0; }
  .form .fhint { color: #555; margin: -8px 0 20px; }
  .cond { margin-top: 4px; }
  .cond-label { display: block; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; margin: 22px 0 8px; }
  .chips.triple { grid-template-columns: repeat(3, 1fr); }
  .frow { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 28px; }
  .back { background: #fff; border: 1px solid #000; cursor: pointer; color: #000; padding: 14px 24px; font-size: 13px; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.1em; transition: background-color 0.25s ease, color 0.25s ease; }
  .back:hover { background: #000; color: #fff; }
  .form .re { margin-top: 20px; color: #000; }
  .fthanks { text-align: center; padding: 16px 0; }
  .fthanks .tick {
    display: inline-flex; align-items: center; justify-content: center;
    width: 56px; height: 56px; border: 1px solid #000;
    font-size: 22px; margin-bottom: 24px;
  }
  .fthanks h3 { font-weight: 900; font-size: clamp(1.35rem, 2.2vw, 1.8rem); letter-spacing: -0.02em; line-height: 1.25; margin-bottom: 12px; text-wrap: balance; }
  .fthanks p { color: var(--muted); font-size: 15px; margin-bottom: 8px; }
  .fthanks .mono { display: block; color: #000; font-size: 12px; margin-bottom: 16px; }
  .fthanks a { color: #000; }
  @media (prefers-reduced-motion: no-preference) {
    .fthanks .tick { animation: tick-in 0.5s cubic-bezier(0.32,0.72,0,1) both; }
    .fthanks .mono, .fthanks h3, .fthanks p { animation: rise-in 0.7s cubic-bezier(0.16,1,0.3,1) both; }
    .fthanks h3 { animation-delay: 0.08s; }
    .fthanks p:last-child { animation-delay: 0.16s; }
  }
  @keyframes tick-in { from { transform: scale(0.6); opacity: 0; } to { transform: scale(1); opacity: 1; } }
  @keyframes rise-in { from { transform: translateY(14px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
  .form [data-bad] { outline: 3px solid #000; outline-offset: 2px; }
  .form-escape { margin-top: 24px; font-size: 15px; color: var(--muted); text-align: center; }
  .form-escape a { color: #000; font-weight: 700; }
  @media (max-width: 700px) {
    .chips { grid-template-columns: 1fr; }
    .chips.triple { grid-template-columns: 1fr; }
    .form { padding: 32px 24px; }
  }

  /* ---------- SIGN-OFF (brand finale, no buttons) ---------- */
  .cta-final { background: #000; color: #fff; padding: 160px 0; position: relative; overflow: hidden; }
  .cta-final .ghost-right {
    left: auto; right: -0.1em; transform: none; bottom: -0.22em;
    -webkit-text-stroke: 1px #fff;
  }
  .sign-inner { position: relative; }
  .cta-final .mono { color: #999; margin-bottom: 28px; }
  .cta-final h2 {
    font-weight: 900; font-size: clamp(2.2rem, 4.5vw, 3.8rem);
    letter-spacing: -0.04em; line-height: 1.0;
    max-width: 20ch; margin: 0 0 20px; text-wrap: balance; color: #fff;
  }
  .cta-final .sign-sub {
    font-weight: 700; font-style: italic; font-size: clamp(1.4rem, 2.6vw, 2.2rem);
    letter-spacing: -0.02em; line-height: 1.15; color: #fff;
    max-width: 30ch; margin: 0 0 64px; text-wrap: balance;
  }
  .sign-index {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
    border-top: 1px solid #333; padding-top: 32px; max-width: 880px;
  }
  .sign-index .mono { display: block; margin-bottom: 10px; }
  .sign-index a { color: #fff; text-decoration: none; font-size: 17px; font-weight: 600; }
  .sign-index a:hover { text-decoration: underline; text-underline-offset: 4px; }
  .sign-index span:last-child { font-size: 17px; }
  @media (max-width: 700px) {
    .cta-final { padding: 96px 0; }
    .sign-index { grid-template-columns: 1fr; gap: 24px; }
  }

  footer { border-top: 1px solid #000; padding: 72px 0 32px; background: #fff; }
  .foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 56px; }
  .foot-grid h4 { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #777; margin-bottom: 18px; }
  .foot-grid li { font-size: 15px; margin-bottom: 10px; font-weight: 500; }
  .foot-grid li:hover { text-decoration: underline; text-underline-offset: 4px; }
  .foot-bottom { border-top: 1px solid var(--line); padding-top: 24px; display: flex; justify-content: space-between; font-size: 13px; color: #777; flex-wrap: wrap; gap: 8px; }
  .foot-bottom a { color: inherit; }
