/* I452: answer-first decision journeys for tax, benefit and sole-proprietor pages. */
.decision-journey-page .btn-header {
  display: none !important;
}

.decision-directory-visual {
  margin: 18px 0 26px;
}

.decision-directory-visual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 900 / 560;
  border-radius: 14px;
  object-fit: cover;
}

.decision-directory-visual figcaption {
  margin-top: 8px;
  color: #526158;
  font-size: 0.92rem;
  line-height: 1.7;
}

.decision-journey,
.decision-faq-mirror {
  box-sizing: border-box;
  width: 100%;
  margin: 32px 0;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid var(--ikigai-brand-border, #b9e5c9);
  border-radius: 16px;
  background: var(--ikigai-brand-surface, #f2fcf5);
  color: var(--ikigai-brand-ink, #08351d);
}

.decision-journey h2,
.decision-faq-mirror h2 {
  margin: 0;
  color: var(--ikigai-brand-ink, #08351d);
  font-size: clamp(1.32rem, 2.4vw, 1.72rem);
  line-height: 1.55;
}

.decision-journey__eyebrow,
.decision-journey__label {
  margin: 0 0 8px;
  color: var(--ikigai-brand-text, #07682a);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.decision-journey__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--ikigai-brand-border, #b9e5c9);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  counter-reset: decision-step;
}

.decision-journey__steps > li {
  min-width: 0;
  padding: 18px;
  counter-increment: decision-step;
}

.decision-journey__steps > li + li {
  border-left: 1px solid var(--ikigai-brand-border, #b9e5c9);
}

.decision-journey__steps h3 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 8px;
  color: var(--ikigai-brand-text, #07682a);
  font-size: 1rem;
  line-height: 1.5;
}

.decision-journey__steps h3::before {
  content: counter(decision-step);
  display: inline-flex;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--ikigai-brand-text, #07682a);
  color: #fff;
  font-size: 0.86rem;
  font-weight: 800;
}

.decision-journey__steps p,
.decision-journey__consult p,
.decision-journey__complete,
.decision-journey--warning > p {
  margin: 0;
  color: var(--ikigai-brand-text, #07682a);
  font-size: 0.98rem;
  line-height: 1.85;
}

.decision-journey__links {
  margin-top: 22px;
}

.decision-journey__links h3 {
  margin: 0 0 8px;
  color: var(--ikigai-brand-text, #07682a);
  font-size: 1rem;
}

.decision-journey__links ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 1.3em;
}

.decision-journey a,
.decision-faq-mirror a {
  color: var(--ikigai-brand-text, #07682a);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.decision-journey a:focus-visible,
.decision-faq-mirror a:focus-visible,
.decision-reserve-page a:focus-visible {
  outline: 3px solid #e09627;
  outline-offset: 3px;
}

.decision-journey__consult {
  margin-top: 24px;
  padding: 20px;
  border: 1px solid var(--ikigai-brand-border, #b9e5c9);
  border-left: 5px solid var(--ikigai-brand-text, #07682a);
  border-radius: 12px;
  background: #fff;
}

.decision-journey__consult h3 {
  margin: 0 0 8px;
  color: var(--ikigai-brand-ink, #08351d);
  font-size: 1.14rem;
  line-height: 1.6;
}

.decision-journey__consult ul {
  display: grid;
  gap: 6px;
  margin: 12px 0;
  padding-left: 1.3em;
  color: var(--ikigai-brand-text, #07682a);
  line-height: 1.75;
}

.decision-journey__consult .decision-journey__boundary {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--ikigai-brand-surface-strong, #e0f6e8);
  font-size: 0.92rem;
}

.decision-journey__cta {
  display: inline-flex;
  min-height: 48px;
  margin-top: 16px;
  padding: 12px 18px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 10px;
  background: var(--ikigai-brand-text, #07682a);
  color: #fff !important;
  font-weight: 800;
  line-height: 1.5;
  text-align: center;
  text-decoration: none !important;
}

.decision-journey__complete {
  margin-top: 22px;
  padding: 16px 18px;
  border-left: 4px solid var(--ikigai-brand-action, #087b31);
  background: #fff;
}

.decision-journey--warning {
  border-color: #d7b56b;
  background: #fff9eb;
}

.decision-faq-mirror dl {
  display: grid;
  gap: 0;
  margin: 20px 0 0;
}

.decision-faq-mirror__item {
  padding: 17px 0;
  border-top: 1px solid var(--ikigai-brand-border, #b9e5c9);
}

.decision-faq-mirror dt {
  color: var(--ikigai-brand-ink, #08351d);
  font-weight: 800;
  line-height: 1.7;
}

.decision-faq-mirror dd {
  margin: 7px 0 0;
  color: var(--ikigai-brand-text, #07682a);
  line-height: 1.85;
}

/*
 * Contextual reserve pages suppress unverifiable duration, fee, proof and outcome
 * modules. The source-neutral scope applies before query-string JavaScript runs,
 * including no-JS and crawler rendering; legacy non-I452 flows remove that scope.
 */
.decision-reserve-source-neutral .rsv-hero-loss-panel,
.decision-reserve-source-neutral .rsv-trustbar,
.decision-reserve-source-neutral .rsv-calendar-ease,
.decision-reserve-source-neutral .rsv-calendar-after,
.decision-reserve-source-neutral .rsv-legal-details,
.decision-reserve-source-neutral .rsv-section[aria-label="担当FP"],
.decision-reserve-source-neutral .rsv-flow,
.decision-reserve-source-neutral .rsv-voices,
.decision-reserve-source-neutral .rsv-faq,
.decision-reserve-source-neutral .rsv-float-cal,
.decision-reserve-page .rsv-hero-loss-panel,
.decision-reserve-page .rsv-trustbar,
.decision-reserve-page .rsv-calendar-ease,
.decision-reserve-page .rsv-calendar-after,
.decision-reserve-page .rsv-legal-details,
.decision-reserve-page .rsv-section[aria-label="担当FP"],
.decision-reserve-page .rsv-flow,
.decision-reserve-page .rsv-voices,
.decision-reserve-page .rsv-faq,
.decision-reserve-page .rsv-float-cal {
  display: none !important;
}

.decision-reserve-page .rsv-hero-context {
  border-color: var(--ikigai-brand-border, #b9e5c9);
  background: var(--ikigai-brand-surface, #f2fcf5);
}

.decision-reserve-page .rsv-interest-panel {
  margin-top: 14px;
}

.decision-reserve-boundary,
.decision-reserve-sales-boundary {
  margin: 18px 0 0;
  padding: 14px 16px;
  border: 1px solid var(--ikigai-brand-border, #b9e5c9);
  border-left: 4px solid var(--ikigai-brand-text, #07682a);
  border-radius: 10px;
  background: #fff;
  color: var(--ikigai-brand-text, #07682a);
  font-size: 0.94rem;
  line-height: 1.8;
}

.decision-reserve-sales-boundary {
  border-left-color: #6d5a2f;
  background: #fffdf7;
}

.decision-reserve-back {
  margin: 12px 0 0;
  text-align: center;
}

.decision-reserve-back a {
  color: var(--ikigai-brand-text, #07682a);
  font-weight: 700;
  text-underline-offset: 3px;
}

@media (max-width: 760px) {
  .decision-journey-page .column-body table:has(thead):not(.column-table) {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .decision-journey,
  .decision-faq-mirror {
    margin: 24px 0;
    padding: 18px 16px;
    border-radius: 12px;
  }

  .decision-journey__steps {
    grid-template-columns: 1fr;
  }

  .decision-journey__steps > li + li {
    border-top: 1px solid var(--ikigai-brand-border, #b9e5c9);
    border-left: 0;
  }

  .decision-journey__consult {
    padding: 17px 15px;
  }

  .decision-journey__cta {
    width: 100%;
    box-sizing: border-box;
  }
}

@media (forced-colors: active) {
  .decision-journey__cta,
  .decision-journey__steps h3::before {
    border: 1px solid ButtonText;
  }
}
