/* Home: one deliverable per card. The existing swipe behavior stays in place. */
body.sober-home #ia .ai-method__steps {
  grid-template-rows: auto;
}

body.sober-home #ia .ai-method__step {
  display: flex;
  flex-direction: column;
  grid-row: auto;
  gap: 12px;
  min-block-size: 0;
  padding: clamp(16px, 2.2vw, 26px);
}

body.sober-home #ia .ai-method__step h3 {
  margin: 0;
  font-size: clamp(24px, 2.3vw, 32px);
  line-height: 1.08;
}

body.sober-home #ia .ai-method__step > p {
  margin: 0;
  color: var(--ai-method-ink);
  font-size: 1rem;
  line-height: 1.5;
}

.ai-method__deliverable {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-block-start: auto;
  padding-block-start: 10px;
  border-block-start: 1px solid var(--ai-method-line);
  color: var(--ai-method-muted);
  font-size: .875rem;
  font-weight: 650;
  line-height: 1.4;
}

.ai-method__deliverable svg {
  inline-size: 18px;
  block-size: 18px;
  flex: none;
  fill: none;
  stroke: var(--ai-method-accent);
  stroke-width: 1.7;
}

/* Method page: a delivered example first, then the practices it illustrates. */
body.ai-case .ai-case__hero h1 {
  font-size: clamp(38px, 5.4vw, 72px);
  line-height: 1.02;
}

body.ai-case .ai-case__hero .ai-case__lead {
  max-inline-size: 64ch;
}

body.ai-case .ai-practice-nav:not(.is-floating) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-block: clamp(14px, 2vw, 24px) !important;
}

body.ai-case .ai-practice-nav:not(.is-floating) > a.v147-nav-item {
  display: flex !important;
  align-items: center;
  gap: 9px;
  min-height: 44px !important;
  padding: 9px 12px !important;
  border-color: var(--ai-case-line) !important;
  border-radius: 9px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.ai-case .ai-practice-nav:not(.is-floating) > a.v147-nav-item:is(:hover, [aria-current]) {
  background: var(--ai-case-surface) !important;
  border-color: var(--ai-case-accent) !important;
}

body.ai-case .ai-practice-nav:not(.is-floating) .v147-nav-icon {
  display: grid !important;
  place-items: center;
  flex: none;
  inline-size: 19px;
  block-size: 19px;
  color: var(--ai-case-accent);
}

.ai-practice-case {
  align-items: center;
  gap: clamp(22px, 4vw, 62px);
  padding: clamp(20px, 3.1vw, 48px);
  border: 1px solid var(--ai-case-line);
  border-radius: 20px;
  background: var(--ai-case-surface);
}

body.ai-case .ai-practice-case h2 {
  font-size: clamp(29px, 4.05vw, 53px);
}

.ai-practice-case .ai-case__text > p + p {
  margin-block-start: 10px;
}

.ai-practice-case__decision {
  color: var(--ai-case-ink) !important;
}

.ai-practice-case__checks {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.ai-practice-case__checks li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin-block-start: 5px;
  color: var(--ai-case-ink);
  line-height: 1.45;
}

.ai-practice-case__checks svg {
  flex: none;
  inline-size: 17px;
  block-size: 17px;
  margin-block-start: 3px;
  fill: none;
  stroke: var(--ai-case-accent);
  stroke-width: 1.7;
}

.ai-practice-case__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0 18px;
  margin-block-start: 9px;
}

.ai-practice-case__links a {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  color: var(--ai-case-accent);
  font-size: .9rem;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ai-practice-case__capture {
  min-inline-size: 0;
  margin: 0;
}

.ai-practice-case__capture img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  border: 1px solid var(--ai-case-line);
  border-radius: 12px;
}

.ai-practice-case__capture figcaption {
  margin-block-start: 8px;
  color: var(--ai-case-muted);
  font-size: .875rem;
  line-height: 1.45;
}

.ai-practice-method {
  margin-block-start: clamp(36px, 5.7vw, 82px);
}

.ai-practice-method > h2 {
  margin: 0 0 16px;
  font: 400 clamp(29px, 3.8vw, 48px)/1.06 var(--serif, Georgia, serif);
  letter-spacing: -.025em;
}

.ai-practice-method .ai-case__chapter {
  align-items: start;
  padding-block: clamp(22px, 3vw, 37px);
  gap: clamp(12px, 3vw, 42px);
  scroll-margin-block-start: var(--case-guide-offset, 118px);
}

body.ai-case .ai-practice-method .ai-case__chapter h3 {
  margin: 0 0 10px;
  color: var(--ai-case-ink);
  font: 400 clamp(25px, 2.75vw, 38px)/1.08 var(--serif, Georgia, serif);
  letter-spacing: -.025em;
}

.ai-practice-method .ai-case__sample {
  margin: 0;
  padding: 14px 16px;
  border-radius: 10px;
}

.ai-practice-method .ai-case__sample dt {
  color: var(--ai-case-accent);
}

.ai-practice-context {
  margin: 0;
  padding-block: 16px 20px;
  border-block-start: 1px solid var(--ai-case-line);
  color: var(--ai-case-muted);
  font-size: .9rem;
  line-height: 1.55;
}

#review.ai-practice-case {
  scroll-margin-block-start: var(--case-guide-offset, 118px);
}

@media (max-width: 620px) {
  body.ai-case .ai-practice-nav:not(.is-floating) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ai-practice-case__capture {
    max-inline-size: 465px;
  }
}
