/* =========================================================
   相続相談先比較記事の専用レイアウト
========================================================= */

/* =========================================================
   Start From 39 — Inheritance Consultation Revenue Page
   v1.17.50
   Reference: approved PC mockup supplied by user.
========================================================= */

:root {
  --sf-ink: #123f3a;
  --sf-green: #0f5b50;
  --sf-green-deep: #0b5148;
  --sf-gold: #c68b34;
  --sf-line: #e7ddd0;
  --sf-ivory: #fbf8f2;
  --sf-sage: #eff6f1;
  --sf-paper: #fffdf9;
  --sf-text: #44544f;
}

body.single-post .sf-single-layout--wide-revenue {
  padding: 0 !important;

  background: #f7f4ed !important;
}

body.single-post .sf-single-layout--wide-revenue .sf-container.sf-single-grid--wide-revenue,
body.single-post .sf-single-layout--wide-revenue .sf-single-main,
body.single-post .sf-single-layout--wide-revenue .sf-single-article {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  display: block !important;
}

.sf-consult-page {
  background: #fffdf9;
  color: var(--sf-text);
}

.sf-consult-shell {
  width: min(calc(100% - 64px),1440px);

  margin-inline: auto;

  box-sizing: border-box;
}

/* =========================================================
   HERO — same left/right line as everything below
========================================================= */

.sf-consult-hero {
  display: grid;

  grid-template-columns: minmax(0,46%) minmax(0,54%);

  min-height: 365px;

  background: #fff;
  border-left: 1px solid #eee4d8;
  border-right: 1px solid #eee4d8;
  border-bottom: 1px solid #e8ddd0;
}

.sf-consult-hero__copy {
  padding: 54px 54px 44px;

  display: flex;

  flex-direction: column;
  justify-content: center;

  background: linear-gradient(135deg,#fffdf9 0%,#faf6ee 100%);
}

.sf-consult-breadcrumb-label {
  margin: 0 0 16px;

  color: #a76f2b;

  font: 700 11px/1.2 Georgia,"Times New Roman",serif;
  letter-spacing: .14em;
}

.sf-consult-hero h1 {
  margin: 0 !important;

  color: var(--sf-ink) !important;

  font-family: "Noto Serif JP",serif !important;
  font-size: clamp(38px,3.2vw,58px) !important;
  line-height: 1.24 !important;
  letter-spacing: .015em !important;
  font-weight: 600 !important;
}

.sf-consult-hero__subtitle {
  margin: 10px 0 0 !important;

  color: var(--sf-ink) !important;

  font-family: "Noto Serif JP",serif !important;
  font-size: clamp(21px,1.8vw,31px) !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}

.sf-consult-hero__lead {
  margin-top: 18px;
  padding-left: 18px;

  border-left: 1px solid var(--sf-gold);

  max-width: 650px;
}

.sf-consult-hero__lead p {
  margin: 0 !important;

  color: #50605a !important;

  font-size: 14px !important;
  line-height: 1.9 !important;
}

.sf-consult-hero__image {
  margin: 0 !important;

  min-height: 365px;

  overflow: hidden;

  background: #ece8df;
}

.sf-consult-hero__image img {
  display: block;

  width: 100%;
  height: 100%;
  min-height: 365px;

  object-fit: cover;
  object-position: center 54%;
}

/* =========================================================
   MAIN GRID — one common width/alignment
========================================================= */

.sf-consult-page-content {
  display: grid !important;

  grid-template-columns: repeat(12,minmax(0,1fr));
  column-gap: 10px;
  row-gap: 12px;

  padding: 14px 0 28px !important;

  background: #fffdf9;
}

.sf-consult-page-content > * {
  grid-column: 1/-1;

  min-width: 0;

  box-sizing: border-box;
}

.sf-consult-page-content > p:empty {
  display: none !important;
}

.sf-section-kicker,
.sf-toc__title {
  color: #b87c2f !important;

  font: 700 10px/1.2 Georgia,"Times New Roman",serif !important;
  letter-spacing: .15em !important;
}

.sf-consult-page-content h2,
.sf-consult-page-content h3 {
  color: var(--sf-ink) !important;

  font-family: "Noto Serif JP",serif !important;
}

/* =========================================================
   TOC
========================================================= */

.sf-consult-page-content .sf-toc {
  order: 1;

  display: grid !important;

  grid-template-columns: 290px 1fr !important;
  gap: 28px !important;

  margin: 0 !important;
  padding: 20px 24px !important;

  border: 1px solid var(--sf-line) !important;
  border-radius: 5px !important;
  background: #fffdfa !important;

  position: relative;
  overflow: hidden;
}

.sf-toc__title {
  margin: 0 !important;

  grid-column: 1;
  align-self: start;
}

.sf-toc__title::after {
  content: "この記事の目次";
  display: block;

  margin-top: 8px;

  color: var(--sf-ink);

  font: 600 25px/1.45 "Noto Serif JP",serif;
  letter-spacing: 0;
}

.sf-toc::after {
  content: "";
  position: absolute;
  left: 48px;
  bottom: -6px;

  width: 175px;
  height: 122px;

  opacity: .22;
  background: url("../../images/line-art/botanical-start.svg") center/contain no-repeat;
}

.sf-toc ol {
  grid-column: 2;

  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;

  grid-template-columns: repeat(2,minmax(0,1fr));
  column-gap: 34px;

  counter-reset: toc;
}

.sf-toc li {
  list-style: none !important;
  counter-increment: toc;

  margin: 0 !important;

  border-bottom: 1px solid #e8ddd0;
}

.sf-toc li a {
  min-height: 34px;

  display: flex !important;

  align-items: center !important;
  gap: 11px;

  padding: 5px 20px 5px 0 !important;

  color: #284f49 !important;

  font-size: 12px !important;
  line-height: 1.45 !important;
  text-decoration: none !important;

  position: relative;
}

.sf-toc li a::before {
  content: counter(toc,decimal-leading-zero);

  width: 23px;
  height: 23px;

  display: grid;

  place-items: center;
  flex: none;

  border: 1px solid #c9934b;
  border-radius: 50%;
  color: #b5792c;

  font-size: 9px;
}

.sf-toc li a::after {
  content: "›";
  position: absolute;
  right: 2px;

  color: #c08a3d;

  font-size: 18px;
}

/* =========================================================
   QUICK ANSWER
========================================================= */

#quick {
  order: 2;

  display: grid !important;

  grid-template-columns: 330px repeat(3,minmax(0,1fr));

  margin: 0 !important;
  padding: 0 !important;

  border: 1px solid #dfe7df !important;
  border-radius: 5px !important;
  background: var(--sf-sage) !important;

  overflow: hidden;
}

#quick > .sf-section-kicker,
#quick > h2,
#quick > p {
  grid-column: 1;

  padding-left: 28px !important;
  padding-right: 28px !important;
}

#quick > .sf-section-kicker {
  grid-row: 1;

  margin: 24px 0 0 !important;

  align-self: start;
}

#quick > h2 {
  grid-row: 2;

  margin: 8px 0 0 !important;

  border: 0 !important;

  padding-top: 0 !important;

  font-size: 25px !important;
  line-height: 1.55 !important;
}

#quick > p {
  grid-row: 3;

  margin: 12px 0 26px !important;

  font-size: 12px !important;
  line-height: 1.85 !important;
}

#quick .sf-consult-quick__grid {
  grid-column: 2/5;
  grid-row: 1/4;

  display: grid !important;

  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0 !important;

  margin: 0 !important;

  background: #fff;
}

#quick .sf-consult-quick__card {
  min-height: 190px !important;

  margin: 0 !important;
  padding: 28px 22px 22px !important;

  border: 0 !important;
  border-left: 1px solid #e2e7e3 !important;
  border-radius: 0 !important;

  text-align: center;

  background: #fff !important;
  box-shadow: none !important;
}

#quick .sf-consult-quick__card span {
  font-size: 9px !important;
  letter-spacing: .12em !important;

  color: #bf8030 !important;
}

#quick .sf-consult-quick__card strong {
  display: block;

  margin: 14px auto 8px;

  font: 600 19px/1.5 "Noto Serif JP",serif;

  color: var(--sf-ink);

  max-width: 150px;
}

#quick .sf-consult-quick__card p {
  margin: 0 !important;

  font-size: 11px !important;
  line-height: 1.75 !important;

  color: #53645e !important;
}

#quick .sf-consult-quick__card::before {
  content: "";
  display: block;

  width: 34px;
  height: 34px;

  margin: 0 auto 6px;

  border: 2px solid #ca8730;

  box-sizing: border-box;
}

#quick .sf-consult-quick__card:nth-child(2)::before {
  border-radius: 3px;
}

#quick .sf-consult-quick__card:nth-child(3)::before {
  border-radius: 50%;
}

/* =========================================================
   COMPARISON
========================================================= */

#compare {
  order: 3;

  display: grid !important;

  grid-template-columns: 300px 1fr;

  margin: 0 !important;
  padding: 0 !important;

  border: 1px solid var(--sf-line) !important;
  border-radius: 5px !important;
  background: #fff !important;

  overflow: hidden;
}

#compare > .sf-section-kicker,
#compare > h2 {
  grid-column: 1;

  padding-left: 28px !important;
  padding-right: 24px !important;
}

#compare > .sf-section-kicker {
  grid-row: 1;

  margin: 28px 0 0 !important;
}

#compare > h2 {
  grid-row: 2;

  margin: 8px 0 28px !important;

  border: 0 !important;

  font-size: 25px !important;
  line-height: 1.5 !important;
}

#compare .sf-consult-table-wrap {
  grid-column: 2;
  grid-row: 1/3;

  margin: 0 !important;

  overflow: auto !important;

  border: 0 !important;
  border-radius: 0 !important;

  align-self: stretch;
}

#compare .sf-consult-table {
  width: 100% !important;
  height: 100%;

  margin: 0 !important;

  border-collapse: collapse !important;

  table-layout: fixed;
}

#compare .sf-consult-table th,
#compare .sf-consult-table td {
  padding: 12px 14px !important;

  border: 1px solid #dde2df !important;

  font-size: 11px !important;
  line-height: 1.55 !important;
  vertical-align: middle !important;
}

#compare .sf-consult-table thead th {
  background: var(--sf-green) !important;
  color: #fff !important;

  font-weight: 600 !important;
  text-align: center !important;
}

#compare .sf-consult-table tbody th {
  width: 15%;

  background: #fafafa !important;
  color: #34544e !important;
}

/* =========================================================
   THREE SPECIALISTS — same top, same height, wide enough
========================================================= */

.sf-consult-expert {
  order: 4;

  margin: 0 !important;
  padding: 152px 24px 22px !important;

  min-height: 610px;

  position: relative;
  display: flex !important;

  flex-direction: column !important;

  border: 1px solid var(--sf-line) !important;
  border-radius: 4px !important;
  background: #fff !important;

  overflow: hidden;
}

#tax-accountant {
  grid-column: 1/5;
}

#judicial-scrivener {
  grid-column: 5/9;
}

#lawyer {
  grid-column: 9/13;
}

.sf-consult-expert::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;

  height: 140px;

  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

#tax-accountant::before {
  background-image: url("../../images/family/inheritance-tax-accountant.webp");
}

#judicial-scrivener::before {
  background-image: url("../../images/family/inheritance-judicial-scrivener.webp");
}

#lawyer::before {
  background-image: url("../../images/family/inheritance-lawyer.webp");
}

.sf-consult-expert__head {
  display: block !important;
}

.sf-consult-expert__no {
  margin: 0 0 8px !important;

  color: #c08832 !important;

  font: 400 42px/1 Georgia,serif !important;
}

.sf-consult-expert__eyebrow {
  display: block;

  margin-bottom: 8px !important;

  color: #a9702d !important;

  font: 700 9px/1.2 Georgia,serif !important;
  letter-spacing: .14em !important;
}

.sf-consult-expert h2 {
  margin: 0 0 10px !important;
  padding: 0 0 0 16px !important;

  border-left: 3px solid #2d6e64 !important;

  font-size: 22px !important;
  line-height: 1.55 !important;
}

.sf-consult-expert__head p {
  margin: 0 0 16px !important;

  font-size: 11px !important;
  line-height: 1.85 !important;

  color: #53635e !important;
}

.sf-consult-expert__fit {
  margin: 0 0 16px !important;
  padding: 17px 18px !important;

  background: #fbf5eb !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.sf-consult-expert__fit strong {
  display: block;

  margin: 0 0 8px !important;

  color: #a66e28 !important;

  font-size: 11px !important;
}

.sf-consult-expert__fit ul {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}

.sf-consult-expert__fit li {
  position: relative;

  margin: 6px 0 !important;
  padding-left: 20px !important;

  font-size: 10.5px !important;
  line-height: 1.55 !important;

  color: #465954 !important;
}

.sf-consult-expert__fit li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;

  color: #c7832e;

  font-weight: 700;
}

.sf-consult-expert > p {
  margin: auto 0 0 !important;

  font-size: 10.5px !important;
  line-height: 1.75 !important;

  color: #66736f !important;
}

/* =========================================================
   WHEN IT OVERLAPS
========================================================= */

#multiple {
  order: 5;

  display: grid !important;

  grid-template-columns: 34% 38% 28%;

  min-height: 190px;

  margin: 0 !important;
  padding: 0 !important;

  border: 1px solid var(--sf-line) !important;
  border-radius: 5px !important;
  background: #fff !important;

  overflow: hidden;
}

#multiple > .sf-section-kicker,
#multiple > h2,
#multiple > p {
  grid-column: 1;

  padding-left: 28px !important;
  padding-right: 26px !important;
}

#multiple > .sf-section-kicker {
  grid-row: 1;

  margin: 25px 0 0 !important;
}

#multiple > h2 {
  grid-row: 2;

  margin: 7px 0 0 !important;

  border: 0 !important;

  font-size: 23px !important;
  line-height: 1.45 !important;
}

#multiple > p {
  grid-row: 3;

  margin: 10px 0 24px !important;

  font-size: 11px !important;
  line-height: 1.8 !important;
}

#multiple .sf-consult-note {
  grid-column: 2;
  grid-row: 1/4;

  display: flex !important;

  flex-direction: column;
  justify-content: center;

  margin: 0 !important;
  padding: 24px 28px !important;

  background: #fffaf2 !important;
  border: 0 !important;
}

#multiple .sf-consult-note h3 {
  font-size: 14px !important;
  line-height: 1.55 !important;

  margin: 0 0 10px !important;
}

#multiple .sf-consult-note p {
  font-size: 10.5px !important;
  line-height: 1.75 !important;

  margin: 0 !important;
}

#multiple::after {
  content: "";

  grid-column: 3;
  grid-row: 1/4;

  background: linear-gradient(90deg,rgba(255,253,249,.18),rgba(255,253,249,0)),url("../../images/home/latest-money.jpg") center/cover no-repeat;
}

/* =========================================================
   CHOOSE + FAQ — same row, wide, aligned top
========================================================= */

#choose {
  order: 6;
  grid-column: 1/7;

  margin: 0 !important;
  padding: 22px 26px !important;

  border: 1px solid var(--sf-line) !important;
  border-radius: 5px !important;
  background: #fff !important;

  display: grid !important;

  grid-template-columns: 44% 56%;
  column-gap: 20px;
}

#choose > .sf-section-kicker,
#choose > h2 {
  grid-column: 1;
}

#choose > .sf-section-kicker {
  margin: 4px 0 8px !important;
}

#choose > h2 {
  margin: 0 !important;

  border: 0 !important;

  font-size: 23px !important;
  line-height: 1.5 !important;
}

#choose .sf-consult-checks {
  grid-column: 2;
  grid-row: 1/3;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
  counter-reset: choose;
}

#choose .sf-consult-checks li {
  counter-increment: choose;

  position: relative;

  margin: 0 !important;
  padding: 9px 24px 9px 38px !important;

  border: 0 !important;
  border-bottom: 1px solid #eadfce !important;
  background: transparent !important;

  min-height: 0 !important;

  font-size: 10.5px !important;
  line-height: 1.55 !important;
}

#choose .sf-consult-checks li::before {
  content: counter(choose,decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 7px;

  width: 25px;
  height: 25px;

  display: grid;

  place-items: center;

  border: 1px solid #c88b39;
  border-radius: 50%;
  color: #b67626;
  background: #fff !important;

  font-size: 9px !important;
}

#faq {
  order: 6;
  grid-column: 7/13;

  margin: 0 !important;
  padding: 22px 26px !important;

  border: 1px solid var(--sf-line) !important;
  border-radius: 5px !important;
  background: #fff !important;

  display: grid !important;

  grid-template-columns: 34% 66%;
  column-gap: 18px;
  align-content: start;
}

#faq > .sf-section-kicker,
#faq > h2 {
  grid-column: 1;
}

#faq > .sf-section-kicker {
  margin: 4px 0 8px !important;
}

#faq > h2 {
  margin: 0 !important;

  border: 0 !important;

  font-size: 23px !important;
  line-height: 1.5 !important;
}

#faq .sf-faq-item {
  grid-column: 2;

  margin: 0 !important;

  border: 0 !important;
  border-bottom: 1px solid #eadfce !important;
  background: transparent !important;
}

#faq .sf-faq-question {
  margin: 0 !important;
  padding: 9px 22px 9px 26px !important;

  font-size: 10.5px !important;
  line-height: 1.55 !important;

  position: relative;

  font-family: inherit !important;
  font-weight: 500 !important;
}

#faq .sf-faq-question::before {
  content: "Q";
  position: absolute;
  left: 2px;

  color: #1d655b;

  font-family: Georgia,serif;
  font-weight: 700;
}

#faq .sf-faq-question::after {
  content: "＋";
  position: absolute;
  right: 0;

  color: #be7c2d;
}

#faq .sf-faq-answer {
  padding: 0 0 10px 26px !important;
}

#faq .sf-faq-answer p {
  margin: 0 !important;

  font-size: 10px !important;
  line-height: 1.7 !important;
}

/* =========================================================
   SUMMARY + NEXT ACTION — one final editorial band
========================================================= */

#summary {
  order: 7;
  grid-column: 1/6;

  margin: 0 !important;
  padding: 24px 26px !important;

  border: 1px solid var(--sf-line) !important;
  border-right: 0 !important;
  border-radius: 5px 0 0 5px !important;
  background: #fffaf1 !important;
}

#summary .sf-section-kicker {
  display: block;

  margin-bottom: 7px !important;
}

#summary h2 {
  margin: 0 0 10px !important;

  border: 0 !important;

  font-size: 22px !important;
  line-height: 1.5 !important;
}

#summary p,
#summary li {
  font-size: 10.5px !important;
  line-height: 1.7 !important;
}

#summary .sf-check-list {
  margin: 8px 0 !important;
  padding: 0 !important;

  list-style: none !important;
}

#summary .sf-check-list li {
  position: relative;

  padding-left: 17px !important;
  margin: 4px 0 !important;
}

#summary .sf-check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;

  color: #b77a2e;
}

.sf-consult-conversion {
  order: 7;
  grid-column: 6/13;

  margin: 0 !important;
  padding: 24px 30px !important;

  max-width: none !important;

  border: 0 !important;
  border-radius: 0 5px 5px 0 !important;
  background: var(--sf-green-deep) !important;
  color: #fff !important;

  display: grid !important;

  grid-template-columns: 1fr 190px;
  gap: 26px;
  align-items: center;
}

.sf-consult-conversion span {
  color: #d9b56f !important;

  font-size: 10px !important;
  letter-spacing: .14em !important;
}

.sf-consult-conversion h2 {
  margin: 5px 0 8px !important;

  color: #fff !important;

  font-size: 21px !important;
  line-height: 1.55 !important;
}

.sf-consult-conversion p {
  margin: 0 !important;

  color: #e9f0ed !important;

  font-size: 10.5px !important;
  line-height: 1.7 !important;
}

.sf-consult-conversion__placeholder {
  padding: 16px 12px !important;

  background: #fff !important;
  color: #174c45 !important;

  text-align: center;
  font-size: 10px !important;
  line-height: 1.55 !important;
  font-weight: 700;
}

/* =========================================================
   Official + disclaimer
========================================================= */

.sf-consult-official {
  order: 8;

  margin: 0 !important;
  padding: 28px 30px !important;

  border-top: 1px solid var(--sf-line) !important;
  border-bottom: 1px solid var(--sf-line) !important;
  background: #fffdf9 !important;

  display: grid !important;

  grid-template-columns: 260px 1fr;
  gap: 30px;
}

.sf-consult-official .sf-section-kicker,
.sf-consult-official h2 {
  grid-column: 1;
}

.sf-consult-official h2 {
  margin: 7px 0 0 !important;

  border: 0 !important;

  font-size: 21px !important;
}

.sf-consult-official ul {
  grid-column: 2;
  grid-row: 1/3;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}

.sf-consult-official li {
  border-bottom: 1px solid #eadfce !important;

  margin: 0 !important;
}

.sf-consult-official a {
  display: block;

  padding: 9px 20px 9px 0 !important;

  color: #315b54 !important;

  font-size: 10.5px !important;
  text-decoration: none !important;

  position: relative;
}

.sf-consult-official a::after {
  content: "→";
  position: absolute;
  right: 0;

  color: #b77a2e;
}

.sf-article-disclaimer {
  order: 9;

  max-width: none !important;

  margin: 0 !important;
  padding: 18px 24px !important;

  border: 0 !important;
  background: #faf7f1 !important;
}

.sf-article-disclaimer p {
  margin: 0 !important;

  font-size: 9px !important;
  line-height: 1.7 !important;

  color: #76827e !important;
}

/* =========================================================
   Remove generic article extras on this dedicated revenue page
========================================================= */

.sf-consult-page .sf-article-footer,
.sf-consult-page .sf-author-card {
  display: none !important;
}

@media (max-width:1100px) {
  .sf-consult-shell {
    width: min(calc(100% - 36px),980px);
  }

  .sf-consult-hero {
    grid-template-columns: 1fr 1fr;
  }

  .sf-consult-hero__copy {
    padding: 38px 32px;
  }

  .sf-consult-hero h1 {
    font-size: 40px !important;
  }

  .sf-consult-hero__subtitle {
    font-size: 22px !important;
  }

  .sf-consult-page-content {
    column-gap: 8px;
  }

  #quick {
    grid-template-columns: 280px repeat(3,1fr);
  }

  #compare {
    grid-template-columns: 250px 1fr;
  }

  .sf-consult-expert {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .sf-consult-expert h2 {
    font-size: 19px !important;
  }

  #choose,
  #faq {
    grid-column: 1/-1;
  }

  #faq {
    order: 7;
  }

  #summary {
    order: 8;
    grid-column: 1/6;
  }

  .sf-consult-conversion {
    order: 8;
    grid-column: 6/13;
  }

  .sf-consult-official {
    order: 9;
  }

  .sf-article-disclaimer {
    order: 10;
  }
}

@media (max-width:767px) {
  .sf-consult-shell {
    width: 100%;
  }

  .sf-consult-hero {
    display: block;

    border-left: 0;
    border-right: 0;
  }

  .sf-consult-hero__copy {
    padding: 28px 18px 24px;
  }

  .sf-consult-hero h1 {
    font-size: 31px !important;
  }

  .sf-consult-hero__subtitle {
    font-size: 18px !important;
  }

  .sf-consult-hero__lead p {
    font-size: 12px !important;
  }

  .sf-consult-hero__image,
  .sf-consult-hero__image img {
    min-height: 0;
    height: auto;
    aspect-ratio: 16/9;
  }

  .sf-consult-page-content {
    display: block !important;

    padding: 14px 14px 26px !important;
  }

  .sf-consult-page-content > * {
    margin-bottom: 14px !important;
  }

  .sf-consult-page-content .sf-toc {
    display: block !important;

    padding: 20px !important;
  }

  .sf-toc::after {
    display: none;
  }

  .sf-toc ol {
    display: block !important;

    margin-top: 16px !important;
  }

  #quick,
  #compare,
  #multiple,
  #choose,
  #faq,
  .sf-consult-official {
    display: block !important;
  }

  #quick > .sf-section-kicker,
  #quick > h2,
  #quick > p,
  #compare > .sf-section-kicker,
  #compare > h2,
  #multiple > .sf-section-kicker,
  #multiple > h2,
  #multiple > p {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  #quick .sf-consult-quick__grid {
    display: block !important;
  }

  #quick .sf-consult-quick__card {
    border-left: 0 !important;
    border-top: 1px solid #e2e7e3 !important;
  }

  #compare .sf-consult-table-wrap {
    margin-top: 12px !important;

    overflow-x: auto !important;
  }

  #compare .sf-consult-table {
    min-width: 720px !important;
  }

  .sf-consult-expert {
    margin-bottom: 14px !important;

    min-height: 0 !important;

    padding-top: 145px !important;
  }

  #multiple::after {
    display: block;

    height: 170px;
  }

  #multiple .sf-consult-note {
    margin-top: 0 !important;
  }

  #choose .sf-consult-checks,
  #faq .sf-faq-item {
    margin-top: 12px !important;
  }

  #summary,
  .sf-consult-conversion {
    border: 1px solid var(--sf-line) !important;
    border-radius: 5px !important;
  }

  .sf-consult-conversion {
    display: block !important;
  }

  .sf-consult-conversion__placeholder {
    margin-top: 16px;
  }

  .sf-consult-official ul {
    margin-top: 14px !important;
  }
}

/* =========================================================
   v1.17.51 — PC readability / breathing room
   Keep layout and widths from v1.17.50; improve type, line-height,
   vertical rhythm and internal spacing only.
========================================================= */

@media (min-width: 1051px) {
  .sf-consult-page-content {
    padding-top: 34px !important;
    padding-bottom: 64px !important;

    row-gap: 30px !important;
  }

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

  .sf-consult-hero__copy {
    padding: 62px 58px 54px !important;
  }

  .sf-consult-hero__lead p {
    font-size: 15px !important;
    line-height: 2 !important;
  }

  /* =========================================================
     CONTENTS
  ========================================================= */

  .sf-consult-page-content .sf-toc {
    padding: 28px 30px !important;
  }

  .sf-toc li a {
    padding: 8px 22px 8px 0 !important;

    font-size: 13.5px !important;
    line-height: 1.6 !important;
  }

  .sf-toc li::before {
    font-size: 10px !important;
  }

  /* =========================================================
     QUICK ANSWER
  ========================================================= */

  #quick > .sf-section-kicker {
    margin-top: 32px !important;
  }

  #quick > h2 {
    margin-top: 10px !important;

    font-size: 28px !important;
    line-height: 1.6 !important;
  }

  #quick > p {
    margin: 16px 0 34px !important;

    font-size: 14px !important;
    line-height: 1.95 !important;
  }

  #quick .sf-consult-quick__card {
    min-height: 230px !important;

    padding: 36px 28px 30px !important;
  }

  #quick .sf-consult-quick__card span {
    font-size: 10px !important;
  }

  #quick .sf-consult-quick__card strong {
    margin: 17px auto 11px !important;

    font-size: 21px !important;
    line-height: 1.55 !important;

    max-width: 175px !important;
  }

  #quick .sf-consult-quick__card p {
    font-size: 13px !important;
    line-height: 1.85 !important;
  }

  /* =========================================================
     COMPARISON
  ========================================================= */

  #compare > .sf-section-kicker {
    margin-top: 34px !important;
  }

  #compare > h2 {
    margin: 10px 0 34px !important;

    font-size: 28px !important;
    line-height: 1.55 !important;
  }

  #compare .sf-consult-table th,
  #compare .sf-consult-table td {
    padding: 16px 18px !important;

    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  /* =========================================================
     EXPERT CARDS
  ========================================================= */

  .sf-consult-expert {
    padding: 170px 30px 32px !important;
  }

  .sf-consult-expert__no {
    margin-bottom: 10px !important;

    font-size: 46px !important;
  }

  .sf-consult-expert h2 {
    margin-bottom: 15px !important;
    padding-left: 18px !important;

    font-size: 24px !important;
    line-height: 1.6 !important;
  }

  .sf-consult-expert__head p {
    margin-bottom: 22px !important;

    font-size: 13.5px !important;
    line-height: 1.95 !important;
  }

  .sf-consult-expert__fit {
    margin-bottom: 22px !important;
    padding: 22px 22px !important;
  }

  .sf-consult-expert__fit strong {
    margin-bottom: 11px !important;

    font-size: 13px !important;
  }

  .sf-consult-expert__fit li {
    margin: 9px 0 !important;
    padding-left: 23px !important;

    font-size: 12.5px !important;
    line-height: 1.7 !important;
  }

  .sf-consult-expert > p {
    font-size: 12.5px !important;
    line-height: 1.9 !important;
  }

  /* =========================================================
     WHEN IT OVERLAPS
  ========================================================= */

  #multiple > .sf-section-kicker {
    margin-top: 34px !important;
  }

  #multiple > h2 {
    margin-top: 10px !important;

    font-size: 26px !important;
    line-height: 1.55 !important;
  }

  #multiple > p {
    margin: 15px 0 34px !important;

    font-size: 13.5px !important;
    line-height: 1.95 !important;
  }

  #multiple .sf-consult-note {
    padding: 34px 34px !important;
  }

  #multiple .sf-consult-note h3 {
    margin-bottom: 14px !important;

    font-size: 17px !important;
    line-height: 1.65 !important;
  }

  #multiple .sf-consult-note p {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }

  /* =========================================================
     HOW TO CHOOSE
  ========================================================= */

  #choose {
    padding: 32px 32px !important;
  }

  #choose > .sf-section-kicker {
    margin: 5px 0 10px !important;
  }

  #choose > h2 {
    font-size: 26px !important;
    line-height: 1.6 !important;
  }

  #choose .sf-consult-checks li {
    padding: 14px 28px 14px 44px !important;

    font-size: 12.5px !important;
    line-height: 1.7 !important;
  }

  #choose .sf-consult-checks li::before {
    top: 12px !important;

    width: 28px !important;
    height: 28px !important;

    font-size: 10px !important;
  }

  /* =========================================================
     FAQ
  ========================================================= */

  #faq {
    padding: 32px 32px !important;
  }

  #faq > .sf-section-kicker {
    margin: 5px 0 10px !important;
  }

  #faq > h2 {
    font-size: 26px !important;
    line-height: 1.6 !important;
  }

  #faq .sf-faq-question {
    padding: 14px 24px 14px 30px !important;

    font-size: 12.5px !important;
    line-height: 1.7 !important;
  }

  #faq .sf-faq-answer {
    padding: 0 4px 16px 30px !important;
  }

  #faq .sf-faq-answer p {
    font-size: 12px !important;
    line-height: 1.85 !important;
  }

  /* =========================================================
     CTA
  ========================================================= */

  .sf-consult-conversion {
    padding: 34px 38px !important;
  }

  .sf-consult-conversion span {
    font-size: 10.5px !important;
  }

  .sf-consult-conversion h2 {
    margin: 8px 0 12px !important;

    font-size: 24px !important;
    line-height: 1.65 !important;
  }

  .sf-consult-conversion p {
    font-size: 12.5px !important;
    line-height: 1.85 !important;
  }

  .sf-consult-conversion__placeholder {
    padding: 19px 16px !important;

    font-size: 11.5px !important;
    line-height: 1.65 !important;
  }

  /* =========================================================
     SUMMARY
  ========================================================= */

  #summary {
    padding: 34px 32px !important;
  }

  #summary h2 {
    margin-bottom: 14px !important;

    font-size: 25px !important;
    line-height: 1.6 !important;
  }

  #summary p,
  #summary li {
    font-size: 12.5px !important;
    line-height: 1.85 !important;
  }

  #summary .sf-check-list {
    margin: 12px 0 !important;
  }

  #summary .sf-check-list li {
    margin: 7px 0 !important;
  }

  /* =========================================================
     OFFICIAL SOURCES + DISCLAIMER
  ========================================================= */

  .sf-consult-official {
    padding: 36px 34px !important;

    gap: 36px !important;
  }

  .sf-consult-official h2 {
    margin-top: 9px !important;

    font-size: 24px !important;
  }

  .sf-consult-official a {
    padding: 13px 22px 13px 0 !important;

    font-size: 12.5px !important;
    line-height: 1.65 !important;
  }

  .sf-article-disclaimer {
    padding: 22px 26px !important;
  }

  .sf-article-disclaimer p {
    font-size: 10.5px !important;
    line-height: 1.85 !important;
  }
}

/* =========================================================
   v1.17.52 — PC spacious typography pass
   Layout stays fixed. Increase readable type and vertical breathing room.
========================================================= */

@media (min-width: 1051px) {
  .sf-consult-page-content {
    padding-top: 48px !important;
    padding-bottom: 92px !important;

    row-gap: 48px !important;
  }

  .sf-consult-hero__copy {
    padding: 72px 64px 66px !important;
  }

  .sf-consult-hero__lead p {
    font-size: 17px !important;
    line-height: 2 !important;
  }

  .sf-consult-page-content .sf-toc {
    padding: 38px 38px !important;
  }

  .sf-toc__title {
    font-size: 12px !important;

    margin-bottom: 12px !important;
  }

  .sf-toc li a {
    padding: 11px 24px 11px 0 !important;

    font-size: 15px !important;
    line-height: 1.75 !important;
  }

  .sf-toc li::before {
    font-size: 11px !important;
  }

  #quick > .sf-section-kicker {
    margin-top: 42px !important;

    font-size: 11px !important;
  }

  #quick > h2 {
    margin-top: 12px !important;

    font-size: 32px !important;
    line-height: 1.58 !important;
  }

  #quick > p {
    margin: 20px 0 44px !important;

    font-size: 16px !important;
    line-height: 2 !important;
  }

  #quick .sf-consult-quick__card {
    min-height: 275px !important;

    padding: 46px 32px 38px !important;
  }

  #quick .sf-consult-quick__card span {
    font-size: 11px !important;
  }

  #quick .sf-consult-quick__card strong {
    margin: 21px auto 15px !important;

    font-size: 24px !important;
    line-height: 1.55 !important;

    max-width: 205px !important;
  }

  #quick .sf-consult-quick__card p {
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

  #compare > .sf-section-kicker {
    margin-top: 44px !important;

    font-size: 11px !important;
  }

  #compare > h2 {
    margin: 12px 0 44px !important;

    font-size: 32px !important;
    line-height: 1.55 !important;
  }

  #compare .sf-consult-table th,
  #compare .sf-consult-table td {
    padding: 21px 22px !important;

    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  .sf-consult-expert {
    padding: 190px 36px 44px !important;
  }

  .sf-consult-expert__no {
    margin-bottom: 13px !important;

    font-size: 52px !important;
  }

  .sf-consult-expert__en {
    font-size: 11px !important;
    letter-spacing: .13em !important;
  }

  .sf-consult-expert h2 {
    margin-top: 12px !important;
    margin-bottom: 20px !important;
    padding-left: 20px !important;

    font-size: 27px !important;
    line-height: 1.65 !important;
  }

  .sf-consult-expert__head p {
    margin-bottom: 28px !important;

    font-size: 15.5px !important;
    line-height: 2 !important;
  }

  .sf-consult-expert__fit {
    margin-bottom: 28px !important;
    padding: 28px 26px !important;
  }

  .sf-consult-expert__fit strong {
    margin-bottom: 14px !important;

    font-size: 14.5px !important;
  }

  .sf-consult-expert__fit li {
    margin: 12px 0 !important;
    padding-left: 25px !important;

    font-size: 14px !important;
    line-height: 1.8 !important;
  }

  .sf-consult-expert > p {
    font-size: 14px !important;
    line-height: 2 !important;
  }

  #multiple > .sf-section-kicker {
    margin-top: 44px !important;

    font-size: 11px !important;
  }

  #multiple > h2 {
    margin-top: 12px !important;

    font-size: 30px !important;
    line-height: 1.6 !important;
  }

  #multiple > p {
    margin: 20px 0 44px !important;

    font-size: 15.5px !important;
    line-height: 2 !important;
  }

  #multiple .sf-consult-note {
    padding: 44px 40px !important;
  }

  #multiple .sf-consult-note h3 {
    margin-bottom: 18px !important;

    font-size: 20px !important;
    line-height: 1.7 !important;
  }

  #multiple .sf-consult-note p {
    font-size: 15px !important;
    line-height: 2 !important;
  }

  #choose {
    padding: 44px 40px !important;
  }

  #choose > .sf-section-kicker {
    margin: 7px 0 12px !important;

    font-size: 11px !important;
  }

  #choose > h2 {
    font-size: 30px !important;
    line-height: 1.65 !important;
  }

  #choose .sf-consult-checks li {
    padding: 19px 30px 19px 50px !important;

    font-size: 14.5px !important;
    line-height: 1.8 !important;
  }

  #choose .sf-consult-checks li::before {
    top: 15px !important;

    width: 32px !important;
    height: 32px !important;

    font-size: 11px !important;
  }

  #faq {
    padding: 44px 40px !important;
  }

  #faq > .sf-section-kicker {
    margin: 7px 0 12px !important;

    font-size: 11px !important;
  }

  #faq > h2 {
    font-size: 30px !important;
    line-height: 1.65 !important;
  }

  #faq .sf-faq-question {
    padding: 19px 28px 19px 34px !important;

    font-size: 14.5px !important;
    line-height: 1.8 !important;
  }

  #faq .sf-faq-answer {
    padding: 0 8px 22px 34px !important;
  }

  #faq .sf-faq-answer p {
    font-size: 14px !important;
    line-height: 2 !important;
  }

  .sf-consult-conversion {
    padding: 46px 48px !important;
  }

  .sf-consult-conversion span {
    font-size: 11.5px !important;
  }

  .sf-consult-conversion h2 {
    margin: 10px 0 16px !important;

    font-size: 28px !important;
    line-height: 1.7 !important;
  }

  .sf-consult-conversion p {
    font-size: 14.5px !important;
    line-height: 1.95 !important;
  }

  .sf-consult-conversion__placeholder {
    padding: 22px 20px !important;

    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  #summary {
    padding: 46px 40px !important;
  }

  #summary h2 {
    margin-bottom: 18px !important;

    font-size: 29px !important;
    line-height: 1.65 !important;
  }

  #summary p,
  #summary li {
    font-size: 14.5px !important;
    line-height: 1.95 !important;
  }

  #summary .sf-check-list {
    margin: 16px 0 !important;
  }

  #summary .sf-check-list li {
    margin: 10px 0 !important;
  }

  .sf-consult-official {
    padding: 48px 40px !important;

    gap: 44px !important;
  }

  .sf-consult-official h2 {
    margin-top: 10px !important;

    font-size: 28px !important;
  }

  .sf-consult-official a {
    padding: 17px 24px 17px 0 !important;

    font-size: 14px !important;
    line-height: 1.75 !important;
  }

  .sf-article-disclaimer {
    padding: 28px 30px !important;
  }

  .sf-article-disclaimer p {
    font-size: 12px !important;
    line-height: 1.95 !important;
  }
}

/* =========================================================
   v1.17.53 — HOW TO CHOOSE focused refinement
   Keep v1.17.52 layout. Vertically center the left editorial block,
   turn the empty area into intentional botanical whitespace,
   and improve readability of the five decision points.
========================================================= */

@media (min-width: 1051px) {
  #choose {
    position: relative !important;
    overflow: hidden !important;

    grid-template-columns: 40% 60% !important;
    grid-template-rows: 1fr auto auto 1fr !important;
    column-gap: 42px !important;

    min-height: 430px !important;

    padding: 48px 46px !important;

    align-items: stretch !important;

    background: #fffdf9 !important;
  }

  /* =========================================================
     left copy: centered as one editorial unit
  ========================================================= */

  #choose > .sf-section-kicker {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: end !important;

    margin: 0 0 12px !important;

    position: relative !important;
    z-index: 2 !important;
  }

  #choose > h2 {
    grid-column: 1 !important;
    grid-row: 3 !important;
    align-self: start !important;

    margin: 0 !important;

    max-width: 430px !important;

    font-size: 31px !important;
    line-height: 1.65 !important;

    position: relative !important;
    z-index: 2 !important;
  }

  /* =========================================================
     botanical line art makes the open space intentional, not empty
  ========================================================= */

  #choose::before {
    content: "" !important;
    position: absolute !important;
    left: 36px !important;
    bottom: 18px !important;

    width: 210px !important;
    height: 165px !important;

    background: url("../../images/line-art/botanical-start.svg") left bottom / contain no-repeat !important;
    opacity: .13 !important;

    pointer-events: none !important;

    z-index: 1 !important;
  }

  /* =========================================================
     right list: larger type and calmer spacing
  ========================================================= */

  #choose .sf-consult-checks {
    grid-column: 2 !important;
    grid-row: 1 / 5 !important;
    align-self: center !important;

    margin: 0 !important;

    position: relative !important;
    z-index: 2 !important;
  }

  #choose .sf-consult-checks li {
    padding: 23px 34px 23px 56px !important;

    font-size: 15.5px !important;
    line-height: 1.9 !important;
  }

  #choose .sf-consult-checks li strong {
    font-size: 16.5px !important;
    line-height: 1.7 !important;
  }

  #choose .sf-consult-checks li::before {
    top: 21px !important;

    width: 34px !important;
    height: 34px !important;

    font-size: 11.5px !important;
  }
}

/* =========================================================
   v1.17.54 — final editorial refinement from annotated review
   1) Hero one-line title
   2) Quick answer true 2-line intro + vertically centered cards
   3) Comparison larger type + narrower first table column
   4) Overlap section balanced
   5) HOW TO CHOOSE and FAQ stacked full-width
   6) NEXT ACTION centered
   7) SUMMARY gains visual right panel
   8) OFFICIAL SOURCES tightened
   9) Disclaimer followed by final CTA band
========================================================= */

@media (min-width: 1051px) {
  /* =========================================================
     1. HERO — keep headline on one line
  ========================================================= */

  .sf-consult-hero {
    grid-template-columns: minmax(0,47%) minmax(0,53%) !important;
  }

  .sf-consult-hero h1 {
    font-size: 50px !important;
    line-height: 1.22 !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
  }

  .sf-consult-hero__subtitle {
    font-size: 27px !important;
    line-height: 1.5 !important;
  }

  /* =========================================================
     2. QUICK ANSWER — wider left rail, exactly two visual lines, cards centered vertically
  ========================================================= */

  #quick {
    grid-template-columns: 410px repeat(3,minmax(0,1fr)) !important;

    min-height: 330px !important;
  }

  #quick > .sf-section-kicker,
  #quick > h2,
  #quick > p {
    padding-left: 46px !important;
    padding-right: 38px !important;
  }

  #quick > .sf-section-kicker {
    margin-top: 48px !important;
  }

  #quick > h2 {
    margin-top: 14px !important;

    max-width: 350px !important;

    font-size: 30px !important;
    line-height: 1.68 !important;
    text-wrap: balance;
  }

  #quick > p {
    margin: 22px 0 46px !important;

    font-size: 16px !important;
    line-height: 2 !important;
  }

  #quick .sf-consult-quick__grid {
    align-items: stretch !important;
  }

  #quick .sf-consult-quick__card {
    min-height: 330px !important;

    padding: 34px 30px !important;

    display: flex !important;

    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #quick .sf-consult-quick__card::before {
    margin: 0 auto 16px !important;
  }

  #quick .sf-consult-quick__card span {
    font-size: 11px !important;
  }

  #quick .sf-consult-quick__card strong {
    margin: 20px auto 16px !important;

    max-width: 230px !important;

    font-size: 25px !important;
    line-height: 1.58 !important;
  }

  #quick .sf-consult-quick__card p {
    max-width: 245px !important;

    font-size: 15.5px !important;
    line-height: 1.95 !important;
  }

  /* =========================================================
     3. COMPARISON — two-line title, larger table, narrower consultation column
  ========================================================= */

  #compare {
    grid-template-columns: 340px minmax(0,1fr) !important;
  }

  #compare > .sf-section-kicker,
  #compare > h2 {
    padding-left: 44px !important;
    padding-right: 32px !important;
  }

  #compare > .sf-section-kicker {
    margin-top: 46px !important;
  }

  #compare > h2 {
    margin: 14px 0 46px !important;

    max-width: 280px !important;

    font-size: 31px !important;
    line-height: 1.7 !important;
    text-wrap: balance;
  }

  #compare .sf-consult-table {
    table-layout: fixed !important;
  }

  #compare .sf-consult-table thead th:first-child,
  #compare .sf-consult-table tbody th {
    width: 13% !important;
  }

  #compare .sf-consult-table thead th:not(:first-child) {
    width: 29% !important;
  }

  #compare .sf-consult-table th,
  #compare .sf-consult-table td {
    padding: 24px 24px !important;

    font-size: 16px !important;
    line-height: 1.9 !important;
  }

  #compare .sf-consult-table thead th {
    font-size: 16.5px !important;
  }

  #compare .sf-consult-table tbody th {
    font-size: 17px !important;
  }

  /* =========================================================
     4. WHEN IT OVERLAPS — balanced three-part editorial band
  ========================================================= */

  #multiple {
    grid-template-columns: minmax(0,34%) minmax(0,38%) minmax(0,28%) !important;

    min-height: 390px !important;

    align-items: stretch !important;
  }

  #multiple > .sf-section-kicker,
  #multiple > h2,
  #multiple > p {
    padding-left: 44px !important;
    padding-right: 40px !important;
  }

  #multiple > .sf-section-kicker {
    margin-top: 52px !important;
  }

  #multiple > h2 {
    margin-top: 14px !important;

    font-size: 31px !important;
    line-height: 1.7 !important;
  }

  #multiple > p {
    margin: 22px 0 50px !important;

    font-size: 16px !important;
    line-height: 2.05 !important;
  }

  #multiple .sf-consult-note {
    margin: 0 !important;
    padding: 54px 46px !important;

    display: flex !important;

    flex-direction: column !important;
    justify-content: center !important;
  }

  #multiple .sf-consult-note h3 {
    font-size: 22px !important;
    line-height: 1.7 !important;
  }

  #multiple .sf-consult-note p {
    font-size: 15.5px !important;
    line-height: 2 !important;
  }

  /* =========================================================
     5. HOW TO CHOOSE — full width on top
  ========================================================= */

  #choose {
    order: 6 !important;
    grid-column: 1/-1 !important;
    grid-template-columns: 36% 64% !important;

    min-height: 440px !important;

    padding: 54px 54px !important;

    column-gap: 54px !important;
  }

  #choose > .sf-section-kicker {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  #choose > h2 {
    grid-column: 1 !important;
    grid-row: 3 !important;

    max-width: 390px !important;

    font-size: 32px !important;
    line-height: 1.72 !important;
  }

  #choose::before {
    left: 54px !important;
    bottom: 28px !important;

    width: 235px !important;
    height: 180px !important;

    opacity: .12 !important;
  }

  #choose .sf-consult-checks {
    grid-column: 2 !important;
    grid-row: 1/5 !important;
  }

  #choose .sf-consult-checks li {
    padding: 25px 36px 25px 62px !important;

    font-size: 16px !important;
    line-height: 1.9 !important;
  }

  #choose .sf-consult-checks li strong {
    font-size: 17.5px !important;
    line-height: 1.7 !important;
  }

  #choose .sf-consult-checks li::before {
    top: 22px !important;

    width: 36px !important;
    height: 36px !important;

    font-size: 12px !important;
  }

  /* =========================================================
     FAQ — separate full width section below HOW TO CHOOSE
  ========================================================= */

  #faq {
    order: 7 !important;
    grid-column: 1/-1 !important;

    display: grid !important;

    grid-template-columns: 34% 66% !important;
    column-gap: 54px !important;

    padding: 54px !important;
  }

  #faq > .sf-section-kicker {
    grid-column: 1 !important;
    grid-row: 1 !important;

    margin: 4px 0 14px !important;
  }

  #faq > h2 {
    grid-column: 1 !important;
    grid-row: 2/8 !important;

    max-width: 390px !important;

    font-size: 32px !important;
    line-height: 1.72 !important;

    align-self: start !important;
  }

  #faq .sf-faq-item {
    grid-column: 2 !important;
  }

  #faq .sf-faq-question {
    padding: 23px 34px 23px 40px !important;

    font-size: 16px !important;
    line-height: 1.85 !important;
  }

  #faq .sf-faq-question::before {
    left: 4px !important;

    font-size: 17px !important;
  }

  #faq .sf-faq-answer {
    padding: 0 18px 26px 40px !important;
  }

  #faq .sf-faq-answer p {
    font-size: 15px !important;
    line-height: 2 !important;
  }

  /* =========================================================
     6. NEXT ACTION — centered instead of visually stranded on the right
  ========================================================= */

  .sf-consult-conversion {
    order: 8 !important;
    grid-column: 1/-1 !important;

    width: min(100%,1080px) !important;

    justify-self: center !important;

    margin: 10px auto 0 !important;
    padding: 52px 56px !important;

    grid-template-columns: minmax(0,1fr) 220px !important;
    gap: 44px !important;

    border-radius: 6px !important;
  }

  .sf-consult-conversion h2 {
    font-size: 30px !important;
    line-height: 1.75 !important;
  }

  .sf-consult-conversion p {
    font-size: 15px !important;
    line-height: 2 !important;
  }

  .sf-consult-conversion__placeholder {
    padding: 25px 22px !important;

    font-size: 14px !important;
    line-height: 1.8 !important;
  }

  /* =========================================================
     7. SUMMARY — full width, text + warm visual panel on the right
  ========================================================= */

  #summary {
    order: 9 !important;
    grid-column: 1/-1 !important;

    position: relative !important;
    overflow: hidden !important;

    min-height: 390px !important;

    padding: 58px 48% 58px 54px !important;

    border: 1px solid var(--sf-line) !important;
    border-radius: 6px !important;
    background: #fffaf1 !important;
  }

  #summary::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 42% !important;

    background: linear-gradient(90deg,rgba(255,250,241,.12),rgba(255,250,241,0)),
      url("../../images/family/inheritance-consultation-hero.webp") center 58% / cover no-repeat !important;
  }

  #summary::before {
    content: "" !important;
    position: absolute !important;
    right: 31% !important;
    bottom: 22px !important;

    width: 170px !important;
    height: 125px !important;

    background: url("../../images/line-art/botanical-footer.svg") center/contain no-repeat !important;
    opacity: .28 !important;

    z-index: 2 !important;
  }

  #summary .sf-section-kicker,
  #summary h2,
  #summary p,
  #summary .sf-check-list {
    position: relative !important;
    z-index: 3 !important;
  }

  #summary h2 {
    font-size: 32px !important;
    line-height: 1.72 !important;
  }

  #summary p,
  #summary li {
    font-size: 15.5px !important;
    line-height: 2 !important;
  }

  #summary .sf-check-list li {
    margin: 12px 0 !important;
  }

  /* =========================================================
     8. OFFICIAL SOURCES — label and heading together, reduced top drift
  ========================================================= */

  .sf-consult-official {
    order: 10 !important;
    grid-column: 1/-1 !important;

    padding: 38px 44px 32px !important;

    grid-template-columns: 280px minmax(0,1fr) !important;
    gap: 34px !important;
    align-items: start !important;
  }

  .sf-consult-official .sf-section-kicker {
    grid-column: 1 !important;
    grid-row: 1 !important;

    margin: 0 0 8px !important;
  }

  .sf-consult-official h2 {
    grid-column: 1 !important;
    grid-row: 2 !important;

    margin: 0 !important;

    font-size: 29px !important;
    line-height: 1.5 !important;
  }

  .sf-consult-official ul {
    grid-column: 2 !important;
    grid-row: 1/3 !important;
  }

  .sf-consult-official a {
    padding: 16px 24px 16px 0 !important;

    font-size: 14.5px !important;
    line-height: 1.75 !important;
  }

  .sf-article-disclaimer {
    order: 11 !important;
    grid-column: 1/-1 !important;

    margin-top: 0 !important;
    padding: 24px 28px !important;
  }

  .sf-article-disclaimer p {
    font-size: 12px !important;
    line-height: 1.9 !important;
  }

  /* =========================================================
     9. final CTA after disclaimer — same visual language as approved reference
  ========================================================= */

  .sf-consult-final-cta {
    order: 12 !important;
    grid-column: 1/-1 !important;

    display: grid !important;

    grid-template-columns: 28% 52% 20% !important;

    min-height: 190px !important;

    margin: 2px 0 0 !important;

    border: 1px solid var(--sf-line) !important;
    border-radius: 6px !important;

    overflow: hidden !important;

    background: #fffaf1 !important;
  }

  .sf-consult-final-cta__intro {
    padding: 34px 34px !important;

    display: flex !important;

    flex-direction: column !important;
    justify-content: center !important;
  }

  .sf-consult-final-cta__intro span {
    color: #b87c2f !important;

    font: 700 10px/1.2 Georgia,serif !important;
    letter-spacing: .15em !important;
  }

  .sf-consult-final-cta__intro strong {
    display: block;

    margin-top: 10px;

    color: var(--sf-ink) !important;

    font: 600 23px/1.6 "Noto Serif JP",serif !important;
  }

  .sf-consult-final-cta__main {
    padding: 34px 42px !important;

    background: var(--sf-green-deep) !important;
    color: #fff !important;

    display: grid !important;

    grid-template-columns: minmax(0,1fr) 190px !important;
    gap: 28px !important;
    align-items: center !important;
  }

  .sf-consult-final-cta__main h2 {
    margin: 0 !important;

    color: #fff !important;

    font-size: 24px !important;
    line-height: 1.65 !important;
  }

  .sf-consult-final-cta__main a {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-height: 54px !important;

    padding: 12px 18px !important;

    background: #fff !important;
    color: #174c45 !important;

    font-weight: 700 !important;
    font-size: 13.5px !important;
    text-decoration: none !important;

    border-radius: 4px !important;
  }

  .sf-consult-final-cta__art {
    background: #fffaf1 url("../../images/line-art/botanical-footer.svg") center / 72% auto no-repeat !important;
    opacity: .95 !important;
  }
}

@media (max-width: 1050px) {
  .sf-consult-final-cta {
    display: block !important;

    margin-top: 16px !important;

    border: 1px solid var(--sf-line) !important;
    border-radius: 5px !important;

    overflow: hidden !important;
  }

  .sf-consult-final-cta__intro,
  .sf-consult-final-cta__main {
    padding: 24px !important;
  }

  .sf-consult-final-cta__main {
    background: var(--sf-green-deep) !important;
    color: #fff !important;
  }

  .sf-consult-final-cta__main a {
    display: inline-flex !important;

    margin-top: 16px !important;
    padding: 12px 18px !important;

    background: #fff !important;
    color: #174c45 !important;

    text-decoration: none !important;
  }

  .sf-consult-final-cta__art {
    display: none !important;
  }
}

.sf-pc-br {
  display: none;
}

@media (min-width:1051px) {
  .sf-pc-br {
    display: block;
  }
}

/* =========================================================
   v1.17.55 — closing-flow polish
   HOW TO CHOOSE position, FAQ readability, unified SUMMARY/NEXT ACTION,
   and tighter OFFICIAL → disclaimer → final CTA rhythm.
========================================================= */

@media (min-width:1051px) {
  /* =========================================================
     HOW TO CHOOSE: keep the editorial balance, but lift the left unit slightly.
  ========================================================= */

  #choose {
    grid-template-rows: .72fr auto auto 1.28fr !important;
  }

  #choose > .sf-section-kicker {
    transform: translateY(-26px) !important;
  }

  #choose > h2 {
    transform: translateY(-26px) !important;
  }

  #choose::before {
    left: 42px !important;
    bottom: 18px !important;

    width: 285px !important;
    height: 218px !important;

    opacity: .20 !important;
  }

  /* =========================================================
     FAQ: one final readability step.
  ========================================================= */

  #faq .sf-faq-question {
    padding: 26px 36px 26px 42px !important;

    font-size: 17px !important;
    line-height: 1.9 !important;
  }

  #faq .sf-faq-question::before {
    font-size: 18px !important;
  }

  #faq .sf-faq-answer {
    padding: 2px 20px 30px 42px !important;
  }

  #faq .sf-faq-answer p {
    font-size: 16px !important;
    line-height: 2.05 !important;
  }

  /* =========================================================
     SUMMARY + NEXT ACTION: one continuous closing band.
  ========================================================= */

  #summary {
    order: 8 !important;
    grid-column: 1/5 !important;

    min-height: 360px !important;

    padding: 48px 42px !important;

    border: 1px solid var(--sf-line) !important;
    border-right: 0 !important;
    border-radius: 6px 0 0 6px !important;
    background: #fffaf1 !important;
  }

  #summary::after {
    display: none !important;
  }

  #summary::before {
    right: 16px !important;
    bottom: 12px !important;

    width: 150px !important;
    height: 120px !important;

    opacity: .15 !important;
  }

  #summary h2 {
    font-size: 28px !important;
    line-height: 1.68 !important;
  }

  #summary p,
  #summary li {
    font-size: 14.5px !important;
    line-height: 1.95 !important;
  }

  .sf-consult-conversion {
    order: 8 !important;
    grid-column: 5/13 !important;

    width: 100% !important;
    min-height: 360px !important;

    justify-self: stretch !important;

    margin: 0 !important;
    padding: 48px 190px 48px 50px !important;

    border-radius: 0 6px 6px 0 !important;

    grid-template-columns: minmax(0,1fr) 185px !important;
    gap: 34px !important;

    position: relative !important;
    overflow: hidden !important;

    background-color: var(--sf-green-deep) !important;
    background-image: url("../../images/line-art/botanical-footer.svg") !important;
    background-repeat: no-repeat !important;
    background-position: calc(100% - 24px) 50% !important;
    background-size: 145px auto !important;
  }

  .sf-consult-conversion::after {
    content: "自分らしい\Aこれからのために" !important;

    white-space: pre !important;

    position: absolute !important;
    right: 30px !important;
    bottom: 38px !important;

    color: rgba(255,255,255,.68) !important;

    font-family: "Noto Serif JP",serif !important;
    font-size: 12px !important;
    line-height: 1.8 !important;
    letter-spacing: .08em !important;
    text-align: right !important;
  }

  .sf-consult-conversion h2 {
    font-size: 28px !important;
    line-height: 1.7 !important;
  }

  .sf-consult-conversion p {
    font-size: 14.5px !important;
    line-height: 1.95 !important;
  }

  .sf-consult-conversion__placeholder {
    position: relative !important;
    z-index: 2 !important;

    padding: 22px 18px !important;

    font-size: 13px !important;
  }

  /* =========================================================
     Official information follows the unified closing band without a dead zone.
  ========================================================= */

  .sf-consult-official {
    order: 9 !important;

    margin-top: 2px !important;
    padding-top: 34px !important;
    padding-bottom: 30px !important;
  }

  .sf-article-disclaimer {
    order: 10 !important;

    margin: 0 !important;
  }

  /* =========================================================
     Final CTA: deliberate 48px breathing room above and below.
  ========================================================= */

  .sf-consult-final-cta {
    order: 11 !important;

    min-height: 210px !important;

    margin: 48px 0 !important;
  }

  .sf-consult-final-cta__intro {
    padding: 38px 36px !important;
  }

  .sf-consult-final-cta__main {
    padding: 38px 44px !important;
  }

  .sf-consult-final-cta__main h2 {
    font-size: 26px !important;
    line-height: 1.7 !important;
  }
}

/* =========================================================
   v1.17.56 — final editorial refinements
   Hero spacing, QUICK one-line label, reliable SUMMARY/NEXT ACTION band,
   and RELATED ARTICLES below NEXT STEP.
========================================================= */

@media (min-width:1051px) {
  /* =========================================================
     HERO: give the subtitle more breathing room above and below.
  ========================================================= */

  .sf-consult-hero__subtitle {
    margin-top: 20px !important;
  }

  .sf-consult-hero__lead {
    margin-top: 28px !important;
  }

  /* =========================================================
     QUICK ANSWER: keep the registration title on one line.
  ========================================================= */

  #quick .sf-consult-quick__card:nth-child(2) strong {
    max-width: 320px !important;

    white-space: nowrap !important;
    font-size: 23px !important;
  }

  /* =========================================================
     Closing band: SUMMARY is placed before NEXT ACTION by the template,
       so both occupy one deliberate row without an empty right side.
  ========================================================= */

  #summary {
    order: 8 !important;
    grid-column: 1/5 !important;

    min-height: 380px !important;
  }

  .sf-consult-conversion {
    order: 8 !important;
    grid-column: 5/13 !important;

    min-height: 380px !important;
  }

  /* =========================================================
     Related articles directly below the final NEXT STEP CTA.
  ========================================================= */

  .sf-consult-related {
    order: 12 !important;
    grid-column: 1/-1 !important;

    margin: 0 0 48px !important;
    padding: 42px 44px 46px !important;

    border: 1px solid var(--sf-line) !important;
    border-radius: 6px !important;
    background: #fffdf9 !important;
  }

  .sf-consult-related__head {
    display: flex !important;

    align-items: end !important;
    justify-content: space-between !important;
    gap: 30px !important;

    margin-bottom: 28px !important;
  }

  .sf-consult-related__head span {
    color: #b87c2f !important;

    font: 700 11px/1.2 Georgia,"Times New Roman",serif !important;
    letter-spacing: .15em !important;
  }

  .sf-consult-related__head h2 {
    margin: 0 !important;

    color: var(--sf-ink) !important;

    font: 600 27px/1.55 "Noto Serif JP",serif !important;
  }

  .sf-consult-related__grid {
    display: grid !important;

    grid-template-columns: repeat(3,minmax(0,1fr)) !important;

    border-top: 1px solid var(--sf-line) !important;
    border-bottom: 1px solid var(--sf-line) !important;
  }

  .sf-consult-related__card {
    min-height: 220px !important;

    padding: 30px 30px 26px !important;

    color: var(--sf-ink) !important;

    text-decoration: none !important;

    border-right: 1px solid var(--sf-line) !important;

    transition: transform .22s ease,
      background-color .22s ease !important;
  }

  .sf-consult-related__card:last-child {
    border-right: 0 !important;
  }

  .sf-consult-related__card:hover {
    transform: translateY(-5px) !important;

    background: #fbf6ed !important;
  }

  .sf-consult-related__card small {
    display: block !important;

    margin-bottom: 14px !important;

    color: #b87c2f !important;

    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
  }

  .sf-consult-related__card strong {
    display: block !important;

    margin-bottom: 12px !important;

    color: var(--sf-ink) !important;

    font: 600 21px/1.6 "Noto Serif JP",serif !important;
  }

  .sf-consult-related__card p {
    margin: 0 0 18px !important;

    color: #50605a !important;

    font-size: 13.5px !important;
    line-height: 1.9 !important;
  }

  .sf-consult-related__card > span {
    color: #b87c2f !important;

    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
  }
}

@media (max-width:1050px) {
  .sf-consult-related {
    margin: 24px 18px 36px !important;
    padding: 28px 22px !important;

    border: 1px solid var(--sf-line) !important;
    border-radius: 5px !important;
    background: #fffdf9 !important;
  }

  .sf-consult-related__head h2 {
    font-size: 23px !important;
    line-height: 1.6 !important;
  }

  .sf-consult-related__head span {
    color: #b87c2f !important;

    font-size: 10px !important;
    letter-spacing: .14em !important;
  }

  .sf-consult-related__grid {
    display: block !important;

    margin-top: 20px !important;

    border-top: 1px solid var(--sf-line) !important;
  }

  .sf-consult-related__card {
    display: block !important;

    padding: 22px 0 !important;

    border-bottom: 1px solid var(--sf-line) !important;
    color: var(--sf-ink) !important;

    text-decoration: none !important;
  }

  .sf-consult-related__card small {
    display: block !important;

    margin-bottom: 8px !important;

    color: #b87c2f !important;

    font-size: 9px !important;
    letter-spacing: .12em !important;
  }

  .sf-consult-related__card strong {
    display: block !important;

    font: 600 19px/1.6 "Noto Serif JP",serif !important;
  }

  .sf-consult-related__card p {
    font-size: 13px !important;
    line-height: 1.85 !important;
  }

  .sf-consult-related__card > span {
    color: #b87c2f !important;

    font-size: 10px !important;
    font-weight: 700 !important;
  }
}

/* =========================================================
   v1.17.57 — closing band balance
   SUMMARY = two lines / NEXT ACTION = copy first, comparison box below,
   while preserving botanical line art + lower-right message.
========================================================= */

@media (min-width:1051px) {
  #summary {
    grid-column: 1/6 !important;

    min-height: 390px !important;

    padding: 50px 46px !important;
  }

  #summary h2 {
    font-size: 28px !important;
    line-height: 1.7 !important;
    letter-spacing: .01em !important;
  }

  #summary .sf-summary-break {
    display: block !important;
  }

  .sf-consult-conversion {
    grid-column: 6/13 !important;

    min-height: 390px !important;

    display: block !important;

    padding: 52px 190px 50px 56px !important;

    background-position: calc(100% - 28px) 48% !important;
    background-size: 150px auto !important;
  }

  .sf-consult-conversion > div:first-child {
    max-width: 760px !important;
  }

  .sf-consult-conversion h2 {
    max-width: 760px !important;

    margin-bottom: 20px !important;

    font-size: 28px !important;
    line-height: 1.72 !important;
  }

  .sf-consult-conversion p {
    max-width: 760px !important;

    margin-bottom: 0 !important;

    font-size: 14.5px !important;
    line-height: 1.95 !important;
  }

  .sf-consult-conversion__placeholder {
    width: 250px !important;

    margin: 28px 0 0 !important;
    padding: 19px 18px !important;

    text-align: center !important;

    background: #fffdf8 !important;
    color: var(--sf-ink) !important;
    border: 0 !important;
  }

  .sf-consult-conversion::after {
    right: 30px !important;
    bottom: 32px !important;
  }
}

/* =========================================================
   v1.17.58 — warm editorial polish
   QUICK ANSWER = exact two-line heading + more breathing room.
   Closing band = warmer accents + a different line-art motif.
========================================================= */

@media (min-width:1051px) {
  /* =========================================================
     QUICK ANSWER: exact 2-line heading, wider left rail and more space.
  ========================================================= */

  #quick {
    grid-template-columns: 500px repeat(3,minmax(0,1fr)) !important;

    min-height: 390px !important;

    border-color: #ead9c9 !important;
    background: #f4eee4 !important;
  }

  #quick > .sf-section-kicker,
  #quick > h2,
  #quick > p {
    padding-left: 52px !important;
    padding-right: 44px !important;
  }

  #quick > .sf-section-kicker {
    margin-top: 58px !important;

    color: #b86f50 !important;
  }

  #quick > h2 {
    margin-top: 18px !important;

    max-width: none !important;

    font-size: 29px !important;
    line-height: 1.72 !important;
  }

  #quick > h2 .sf-quick-title-line {
    display: block !important;

    white-space: nowrap !important;
  }

  #quick > p {
    margin: 28px 0 56px !important;

    max-width: 420px !important;

    font-size: 16px !important;
    line-height: 2.05 !important;
  }

  #quick .sf-consult-quick__grid {
    background: #fffaf5 !important;
  }

  #quick .sf-consult-quick__card {
    min-height: 390px !important;

    padding: 52px 30px 48px !important;

    border-left-color: #eaded2 !important;
    background: #fffaf5 !important;
  }

  #quick .sf-consult-quick__card:nth-child(2) {
    background: #fffdf9 !important;
  }

  #quick .sf-consult-quick__card:nth-child(3) {
    background: #fdf8f2 !important;
  }

  #quick .sf-consult-quick__card::before {
    border-color: #c98263 !important;
  }

  #quick .sf-consult-quick__card span {
    color: #b86f50 !important;
  }

  #quick .sf-consult-quick__card strong {
    margin-top: 22px !important;
    margin-bottom: 18px !important;

    font-size: 24px !important;
  }

  #quick .sf-consult-quick__card p {
    font-size: 15.5px !important;
    line-height: 2 !important;
  }

  /* =========================================================
     Restrained warm accents across the page — keep the green editorial base.
  ========================================================= */

  .sf-section-kicker,
  .sf-toc__title,
  .sf-consult-related__head span,
  .sf-consult-related__card small,
  .sf-consult-related__card > span {
    color: #b86f50 !important;
  }

  #compare {
    border-color: #ead9c9 !important;
  }

  #compare > .sf-section-kicker,
  #compare > h2 {
    background: #fffaf5 !important;
  }

  #compare .sf-consult-table th,
  #compare .sf-consult-table td {
    border-color: #eadfd4 !important;
  }

  .sf-consult-expert .sf-consult-fit,
  .sf-consult-note {
    background: #fff5ec !important;
    border-color: #ead4c3 !important;
  }

  #faq .sf-faq-question {
    background: #fbf6ef !important;
  }

  /* =========================================================
     Closing band: warm edge and a different motif from the botanical sprig.
  ========================================================= */

  #summary {
    background: #fff7ed !important;
    border-color: #ead7c5 !important;
  }

  #summary::before {
    opacity: .19 !important;
  }

  .sf-consult-conversion {
    border-top: 4px solid #c98263 !important;

    padding-top: 48px !important;

    background-image: url("../../images/line-art/cup-web.svg") !important;
    background-position: calc(100% - 34px) 47% !important;
    background-size: 155px auto !important;
  }

  .sf-consult-conversion span {
    color: #e8b28f !important;
  }

  .sf-consult-conversion__placeholder {
    background: #fae9dc !important;
    color: #164b45 !important;
    border: 1px solid rgba(201,130,99,.28) !important;
  }

  .sf-consult-conversion::after {
    color: rgba(249,222,202,.78) !important;
  }

  .sf-consult-final-cta__intro,
  .sf-consult-final-cta__art {
    background-color: #fff5ea !important;
  }

  .sf-consult-final-cta__main {
    border-top: 4px solid #c98263 !important;
  }
}

@media (max-width:1050px) {
  #quick > h2 .sf-quick-title-line {
    display: inline !important;

    white-space: normal !important;
  }

  #quick > h2 .sf-quick-title-line + .sf-quick-title-line::before {
    content: " ";
  }

  .sf-consult-conversion {
    border-top: 3px solid #c98263 !important;
  }
}

/* =========================================================
   v1.17.59 — specialist cards + mobile parity
   Keep the approved desktop palette on mobile.
========================================================= */

.sf-consult-expert {
  border: 1px solid #ead9c9 !important;
  border-top: 3px solid #c98263 !important;
  border-radius: 5px !important;
  background: #fffaf5 !important;
  box-shadow: 0 8px 22px rgba(50,42,34,.055) !important;

  transition: transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease !important;

  overflow: hidden !important;
}

@media (hover:hover) and (pointer:fine) {
  .sf-consult-expert:hover {
    transform: translateY(-6px) !important;

    box-shadow: 0 18px 38px rgba(50,42,34,.13) !important;
    border-color: #d8ad94 !important;
  }
}

.sf-consult-expert:active {
  transform: translateY(-2px) !important;
}

@media (max-width:1050px) {
  .sf-consult-shell {
    width: min(calc(100% - 32px),760px) !important;
  }

  .sf-consult-hero {
    background: #fff9f1 !important;
  }

  .sf-consult-hero__copy {
    background: #fff9f1 !important;
  }

  .sf-consult-page-content {
    padding-top: 30px !important;
    padding-bottom: 50px !important;

    row-gap: 28px !important;
  }

  .sf-toc {
    border-color: #ead9c9 !important;
    background: #fffaf5 !important;
  }

  .sf-toc__title,
  .sf-section-kicker {
    color: #b86f50 !important;
  }

  #quick {
    display: block !important;

    min-height: 0 !important;

    border: 1px solid #ead9c9 !important;
    background: #f4eee4 !important;
  }

  #quick>.sf-section-kicker,
  #quick>h2,
  #quick>p {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  #quick>.sf-section-kicker {
    margin-top: 28px !important;
  }

  #quick>h2 {
    margin-top: 12px !important;

    font-size: 25px !important;
    line-height: 1.65 !important;
  }

  #quick>p {
    margin: 18px 0 28px !important;

    max-width: none !important;

    font-size: 14px !important;
    line-height: 1.95 !important;
  }

  #quick .sf-consult-quick__grid {
    display: block !important;

    background: #fffaf5 !important;
  }

  #quick .sf-consult-quick__card {
    min-height: 0 !important;

    padding: 30px 24px !important;

    border-left: 0 !important;
    border-top: 1px solid #eaded2 !important;
    background: #fffaf5 !important;

    text-align: center !important;
  }

  #quick .sf-consult-quick__card strong {
    font-size: 22px !important;
    line-height: 1.55 !important;
  }

  #quick .sf-consult-quick__card p {
    font-size: 14px !important;
    line-height: 1.9 !important;
  }

  #compare {
    display: block !important;

    border: 1px solid #ead9c9 !important;
    background: #fffaf5 !important;
  }

  #compare>.sf-section-kicker,
  #compare>h2 {
    padding-left: 24px !important;
    padding-right: 24px !important;

    background: #fffaf5 !important;
  }

  #compare>.sf-section-kicker {
    padding-top: 28px !important;
  }

  #compare>h2 {
    padding-bottom: 20px !important;

    font-size: 25px !important;
    line-height: 1.65 !important;
  }

  .sf-consult-table-wrap {
    overflow-x: auto !important;

    -webkit-overflow-scrolling: touch !important;
  }

  .sf-consult-table {
    min-width: 720px !important;
  }

  .sf-consult-table th,
  .sf-consult-table td {
    padding: 16px 14px !important;

    font-size: 13px !important;
    line-height: 1.7 !important;

    border-color: #eadfd4 !important;
  }

  .sf-consult-expert {
    margin: 0 0 18px !important;
    padding: 158px 24px 30px !important;

    background: #fffaf5 !important;
  }

  .sf-consult-expert::before {
    height: 140px !important;
  }

  .sf-consult-expert__no {
    font-size: 38px !important;

    color: #c27b58 !important;
  }

  .sf-consult-expert h2 {
    font-size: 23px !important;
  }

  .sf-consult-expert__head p,
  .sf-consult-expert>p {
    font-size: 14px !important;
    line-height: 1.9 !important;
  }

  .sf-consult-expert__fit {
    padding: 22px 20px !important;

    background: #fff1e5 !important;
  }

  .sf-consult-expert__fit strong {
    font-size: 13px !important;

    color: #b86f50 !important;
  }

  .sf-consult-expert__fit li {
    font-size: 13px !important;
    line-height: 1.75 !important;
  }

  #multiple {
    display: block !important;

    border: 1px solid #ead9c9 !important;
    background: #fffaf5 !important;
  }

  #multiple>.sf-section-kicker,
  #multiple>h2,
  #multiple>p,
  .sf-consult-note {
    margin-left: 22px !important;
    margin-right: 22px !important;
  }

  #multiple>.sf-section-kicker {
    padding-top: 26px !important;
  }

  #multiple>h2 {
    font-size: 24px !important;
    line-height: 1.65 !important;
  }

  #multiple>p {
    font-size: 14px !important;
    line-height: 1.9 !important;
  }

  .sf-consult-note {
    margin-bottom: 24px !important;
    padding: 20px !important;

    background: #fff1e5 !important;
  }

  #choose,
  #faq {
    display: block !important;

    padding: 30px 24px !important;

    border: 1px solid #ead9c9 !important;
    background: #fffaf5 !important;
  }

  #choose h2,
  #faq h2 {
    font-size: 25px !important;
    line-height: 1.65 !important;
  }

  .sf-consult-checks {
    margin-top: 22px !important;
  }

  .sf-consult-checks li {
    padding: 19px 0 !important;

    font-size: 14.5px !important;
    line-height: 1.75 !important;
  }

  #faq .sf-faq-question {
    padding: 18px !important;

    background: #fbf2e9 !important;

    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  #faq .sf-faq-answer {
    padding: 16px 18px 22px !important;

    font-size: 14px !important;
    line-height: 1.95 !important;
  }

  #summary,
  .sf-consult-conversion {
    min-height: 0 !important;

    border-color: #ead7c5 !important;
  }

  #summary {
    padding: 32px 24px !important;

    background: #fff7ed !important;
  }

  #summary h2 {
    font-size: 25px !important;
    line-height: 1.7 !important;
  }

  #summary p,
  #summary li {
    font-size: 14px !important;
    line-height: 1.9 !important;
  }

  .sf-consult-conversion {
    padding: 34px 24px 120px !important;

    background-color: #155a50 !important;
    background-image: url("../../images/line-art/cup-web.svg") !important;
    background-position: right 24px bottom 28px !important;
    background-size: 92px auto !important;
    border-top: 3px solid #c98263 !important;
  }

  .sf-consult-conversion h2 {
    font-size: 24px !important;
    line-height: 1.65 !important;
  }

  .sf-consult-conversion p {
    font-size: 14px !important;
    line-height: 1.9 !important;
  }

  .sf-consult-conversion__placeholder {
    width: 100% !important;

    margin-top: 22px !important;

    background: #fae9dc !important;
    border: 1px solid rgba(201,130,99,.28) !important;
  }

  .sf-consult-conversion::after {
    right: 24px !important;
    bottom: 22px !important;
  }

  .sf-consult-official {
    padding: 28px 22px !important;

    border-color: #ead9c9 !important;
    background: #fffaf5 !important;
  }

  .sf-consult-official h2 {
    font-size: 23px !important;
  }

  .sf-consult-final-cta {
    margin-top: 38px !important;
  }
}

@media (max-width:560px) {
  .sf-consult-shell {
    width: min(calc(100% - 24px),520px) !important;
  }

  .sf-consult-hero__copy {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .sf-consult-hero__copy h1 {
    font-size: 32px !important;
  }

  .sf-consult-hero__subtitle {
    font-size: 20px !important;
    line-height: 1.65 !important;
  }

  #quick>.sf-section-kicker,
  #quick>h2,
  #quick>p,
  #compare>.sf-section-kicker,
  #compare>h2 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  #choose,
  #faq {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* =========================================================
   v1.17.60 — mobile closing-section polish
========================================================= */

@media (max-width: 760px) {
  /* =========================================================
     NEXT ACTION: one quiet cup motif only, not a repeating pattern.
  ========================================================= */

  .sf-consult-conversion {
    background-color: #155a50 !important;
    background-image: url("../../images/line-art/cup-web.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 22px bottom 24px !important;
    background-size: 82px auto !important;

    padding: 34px 24px 112px !important;
  }

  /* =========================================================
     NEXT STEP: restore strong contrast on the deep-green panel.
  ========================================================= */

  .sf-consult-final-cta__main,
  .sf-consult-final-cta__main h2,
  .sf-consult-final-cta__main p,
  .sf-consult-final-cta__main strong {
    color: #fff !important;
  }

  .sf-consult-final-cta__main {
    background: #155a50 !important;
    border-top: 4px solid #c98263 !important;
  }

  .sf-consult-final-cta__main h2 {
    font-size: 23px !important;
    line-height: 1.65 !important;
  }

  .sf-consult-final-cta__main p {
    font-size: 15px !important;
    line-height: 1.9 !important;

    opacity: .96;
  }

  .sf-consult-final-cta__main a {
    background: #fff7ed !important;
    color: #155a50 !important;
    border: 1px solid rgba(201,130,99,.32) !important;
  }
}

/* =========================================================
   v1.17.61 — mobile NEXT STEP integration + floating related cards
   PC layout intentionally unchanged.
========================================================= */

@media (max-width:1050px) {
  /* =========================================================
     Final NEXT STEP: one unified editorial card on mobile.
  ========================================================= */

  .sf-consult-final-cta {
    display: block !important;

    margin: 28px 18px 0 !important;

    border: 0 !important;
    border-radius: 7px !important;

    overflow: hidden !important;

    background: var(--sf-green-deep) !important;
    box-shadow: 0 8px 22px rgba(26,67,60,.08) !important;
  }

  .sf-consult-final-cta__intro {
    padding: 28px 28px 18px !important;

    background: var(--sf-green-deep) !important;
    color: #fff !important;
  }

  .sf-consult-final-cta__intro span {
    color: #d6a55e !important;

    font-size: 10px !important;
    letter-spacing: .16em !important;
  }

  .sf-consult-final-cta__intro strong {
    margin-top: 10px !important;

    color: #fff !important;

    font-size: 18px !important;
    line-height: 1.7 !important;
  }

  .sf-consult-final-cta__main {
    display: block !important;

    padding: 22px 28px 30px !important;

    border-top: 3px solid #c98263 !important;
    background: var(--sf-green-deep) !important;
    color: #fff !important;
  }

  .sf-consult-final-cta__main h2 {
    margin: 0 !important;

    color: #fff !important;

    font-size: 23px !important;
    line-height: 1.85 !important;
    font-weight: 500 !important;
  }

  .sf-consult-final-cta__main a {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-height: 52px !important;

    margin-top: 24px !important;
    padding: 12px 20px !important;

    border: 1px solid rgba(214,165,94,.34) !important;
    border-radius: 3px !important;
    background: #fff7ed !important;
    color: #174c45 !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;

    transition: transform .18s ease,
      background-color .18s ease !important;
  }

  .sf-consult-final-cta__main a:active {
    transform: translateY(-2px) !important;

    background: #f7eadb !important;
  }

  .sf-consult-final-cta__art {
    display: none !important;
  }

  /* =========================================================
     RELATED ARTICLES: each article becomes its own floating/tappable card.
  ========================================================= */

  .sf-consult-related {
    margin: 26px 18px 38px !important;
    padding: 28px 20px 24px !important;

    background: #fffdf9 !important;
  }

  .sf-consult-related__grid {
    display: grid !important;

    grid-template-columns: 1fr !important;
    gap: 14px !important;

    margin-top: 22px !important;

    border: 0 !important;
  }

  .sf-consult-related__card {
    display: block !important;

    margin: 0 !important;
    padding: 22px 20px 20px !important;

    border: 1px solid rgba(201,130,99,.22) !important;
    border-radius: 6px !important;
    background: #fffaf3 !important;
    box-shadow: 0 3px 12px rgba(73,55,45,.045) !important;
    color: var(--sf-ink) !important;

    text-decoration: none !important;

    -webkit-tap-highlight-color: transparent !important;

    transition: transform .2s ease,
      box-shadow .2s ease,
      background-color .2s ease,
      border-color .2s ease !important;
  }

  .sf-consult-related__card:hover,
  .sf-consult-related__card:focus-visible {
    transform: translateY(-5px) !important;

    background: #fff6eb !important;
    border-color: rgba(201,130,99,.38) !important;
    box-shadow: 0 10px 22px rgba(73,55,45,.10) !important;

    outline: none !important;
  }

  .sf-consult-related__card:active {
    transform: translateY(-3px) !important;

    box-shadow: 0 7px 16px rgba(73,55,45,.09) !important;
  }

  .sf-consult-related__card small {
    margin-bottom: 9px !important;

    color: #b86f4f !important;
  }

  .sf-consult-related__card strong {
    margin-bottom: 6px !important;

    font-size: 19px !important;
    line-height: 1.6 !important;
  }

  .sf-consult-related__card p {
    margin: 0 0 13px !important;

    font-size: 13.5px !important;
    line-height: 1.85 !important;
  }

  .sf-consult-related__card > span {
    display: inline-block !important;

    color: #b86f4f !important;

    font-size: 10px !important;
    font-weight: 700 !important;
  }
}

/* =========================================================
   v1.17.62 — whole-card NEXT STEP interaction + warmer type palette
========================================================= */

.sf-consult-final-cta {
  cursor: pointer !important;

  transition: transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease !important;
  will-change: transform;
}

.sf-consult-final-cta:focus-visible {
  outline: 2px solid #d6a55e !important;
  outline-offset: 4px !important;
}

.sf-consult-final-cta__intro span {
  color: #d6a55e !important;
}

.sf-consult-final-cta__intro strong {
  color: #f0c7b3 !important;
}

.sf-consult-final-cta__main h2 {
  color: #fff3e6 !important;
}

.sf-consult-final-cta__main a {
  background: #f4ded0 !important;
  border-color: rgba(214,165,94,.55) !important;
  color: #15584f !important;
}

@media (hover:hover) and (pointer:fine) {
  .sf-consult-final-cta:hover {
    transform: translateY(-6px) !important;

    box-shadow: 0 18px 38px rgba(25,71,63,.18) !important;
  }

  .sf-consult-final-cta:hover .sf-consult-final-cta__main a {
    transform: translateY(-2px) !important;

    background: #f7e8dc !important;
  }
}

@media (max-width:1050px) {
  .sf-consult-final-cta:active {
    transform: translateY(-3px) !important;

    box-shadow: 0 14px 28px rgba(25,71,63,.16) !important;
  }

  .sf-consult-final-cta__intro strong {
    color: #efc3af !important;
  }

  .sf-consult-final-cta__main h2 {
    color: #fff0df !important;
  }

  .sf-consult-final-cta__main a {
    background: #f3d9c9 !important;
    color: #15584f !important;
  }
}

/* =========================================================
   v1.17.63 — FAQ cool sage contrast + mobile readability
   Keep the rest of the article palette unchanged.
========================================================= */

@media (min-width:1051px) {
  #faq {
    background: #f5f9f7 !important;
    border-color: #d8e5df !important;
  }

  #faq .sf-faq-item {
    border-bottom-color: #d7e5df !important;
  }

  #faq .sf-faq-question {
    background: #eaf3ef !important;
    color: #174f48 !important;
  }

  #faq .sf-faq-question::before {
    color: #b86f50 !important;
  }

  #faq .sf-faq-question::after {
    color: #c98263 !important;
  }

  #faq .sf-faq-answer {
    background: #f9fcfa !important;
  }

  #faq .sf-faq-answer p {
    color: #365c56 !important;
  }
}

@media (max-width:1050px) {
  #faq {
    padding: 30px 22px !important;

    background: #f5f9f7 !important;
    border-color: #d8e5df !important;
  }

  #faq > .sf-section-kicker {
    color: #b86f50 !important;
  }

  #faq h2 {
    margin-bottom: 24px !important;

    color: #164f48 !important;
  }

  #faq .sf-faq-item {
    margin: 0 0 14px !important;

    overflow: hidden !important;

    border: 1px solid #d8e5df !important;
    border-radius: 6px !important;
    background: #f9fcfa !important;
  }

  #faq .sf-faq-question {
    padding: 20px 42px 20px 40px !important;

    background: #e8f2ee !important;
    color: #174f48 !important;

    font-size: 16px !important;
    line-height: 1.75 !important;
    font-weight: 600 !important;
  }

  #faq .sf-faq-question::before {
    left: 17px !important;

    color: #b86f50 !important;

    font-size: 17px !important;
  }

  #faq .sf-faq-question::after {
    right: 16px !important;

    color: #c98263 !important;
  }

  #faq .sf-faq-answer {
    padding: 17px 20px 22px 20px !important;

    background: #f9fcfa !important;
  }

  #faq .sf-faq-answer p {
    color: #365c56 !important;

    font-size: 15px !important;
    line-height: 2 !important;
  }
}

/* =========================================================
   v1.17.64 — NEXT STEP intro heading contrast
========================================================= */

.sf-consult-final-cta__intro strong {
  color: #b85f43 !important;
}

@media (max-width:1050px) {
  .sf-consult-final-cta__intro strong {
    color: #b85f43 !important;
  }
}
