:root {
  --bg: #f7fafb;
  --ink: #101827;
  --muted: #5b6676;
  --soft: #eef7f5;
  --line: #dfe9ea;
  --green: #20b89f;
  --green-dark: #0d7568;
  --navy: #101827;
  --yellow: #f5c542;
  --gold: #f1b72e;
  --gold-soft: #fff4bd;
  --coral: #e86f59;
  --orange: #d95a2b;
  --blue: #496fc3;
  --cream: #fffaf0;
  --shadow: 0 24px 70px rgba(16, 24, 39, 0.1);
  --shadow-soft: 0 14px 44px rgba(16, 24, 39, 0.07);
  --shine-shadow: 0 20px 48px rgba(32, 184, 159, 0.18), 0 8px 22px rgba(16, 24, 39, 0.1);
  --radius: 8px;
}

/* Guided decision pattern shared by home, benefit, health, and product flows. */
.guided-choice {
  width: 100%;
  margin: 30px 0;
  padding: 28px;
  border: 1px solid #cadbd7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(16, 24, 39, 0.06);
}

.guided-choice-head {
  max-width: 820px;
}

.guided-choice-head h2 {
  margin: 7px 0 10px;
  color: #101b2c;
  font-size: 30px;
  line-height: 1.35;
  letter-spacing: 0;
}

.guided-choice-head p {
  margin: 0;
  color: #526071;
  font-size: 17px;
  line-height: 1.7;
}

.guided-choice-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 22px 0 0;
  border-top: 1px solid #d9e3e0;
  border-bottom: 1px solid #d9e3e0;
}

.guided-choice-steps span {
  padding: 10px 8px;
  color: #536170;
  font-size: 13px;
  font-weight: 850;
  text-align: center;
}

.guided-choice-steps span:nth-child(2) {
  border-right: 1px solid #d9e3e0;
  border-left: 1px solid #d9e3e0;
}

.guided-choice-layout {
  display: grid;
  grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.28fr);
  gap: 24px;
  align-items: stretch;
  margin-top: 22px;
}

.guided-choice-options {
  display: grid;
  align-content: start;
  gap: 8px;
}

.guided-choice-option {
  display: grid;
  gap: 4px;
  width: 100%;
  min-height: 70px;
  padding: 13px 15px;
  border: 1px solid #d4dfdc;
  border-left: 4px solid transparent;
  border-radius: 6px;
  background: #fff;
  color: #172334;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.guided-choice-option:hover,
.guided-choice-option:focus-visible {
  border-color: #15816d;
  outline: 3px solid rgba(21, 129, 109, 0.12);
}

.guided-choice-option.is-active {
  border-color: #15816d;
  border-left-color: #15816d;
  background: #f1f8f6;
}

.guided-choice-option span {
  color: #113d38;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.4;
}

.guided-choice-option small {
  color: #61706f;
  font-size: 13px;
  line-height: 1.45;
}

.guided-choice-results {
  min-width: 0;
}

.guided-choice-result {
  min-height: 100%;
  padding: 26px;
  border: 1px solid #c9d8d4;
  border-top: 4px solid #d95a2b;
  border-radius: 8px;
  background: #fbfcfc;
}

.guided-choice-result-label {
  color: #bd461e;
  font-size: 14px;
  font-weight: 900;
}

.guided-choice-result h3 {
  margin: 8px 0 10px;
  color: #101b2c;
  font-size: 26px;
  line-height: 1.38;
  letter-spacing: 0;
}

.guided-choice-result > p {
  margin: 0;
  color: #405064;
  font-size: 17px;
  line-height: 1.7;
}

.guided-choice-result dl {
  display: grid;
  gap: 0;
  margin: 18px 0 0;
}

.guided-choice-result dl div {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid #dfe6e4;
}

.guided-choice-result dt {
  color: #0c6b5c;
  font-weight: 900;
}

.guided-choice-result dd {
  margin: 0;
  color: #263445;
  line-height: 1.6;
}

.guided-choice-caution {
  margin-top: 14px !important;
  padding: 12px 14px;
  border-left: 3px solid #e0a12e;
  background: #fff9e7;
  color: #5d4a1f !important;
  font-size: 15px !important;
}

.guided-choice-caution strong {
  display: block;
  margin-bottom: 3px;
}

.guided-choice-action {
  display: inline-flex;
  min-height: 54px;
  margin-top: 20px;
  padding: 13px 18px;
  align-items: center;
  justify-content: center;
  border: 1px solid #0c735f;
  border-radius: 6px;
  background: #0c735f;
  color: #fff;
  font-size: 17px;
  font-weight: 900;
  text-decoration: none;
}

.coupang-route-choice {
  margin-bottom: 22px;
  box-shadow: none;
}

.coupang-choice-paths > .guided-choice {
  margin: 0;
}

.coupang-guided-choice {
  margin: 0;
}

.coupang-product-card.guided-choice-result {
  display: flex;
  min-height: 460px;
  padding: 0;
  border-top: 1px solid #cfd9d6;
  border-left: 4px solid #168a72;
  background: #fff;
}

.coupang-product-check,
.coupang-product-skip {
  margin: 0;
  padding: 13px 0;
  border-bottom: 1px solid #e1e8e5;
  color: #344253;
  font-size: 16px;
  line-height: 1.65;
}

.coupang-product-check strong,
.coupang-product-skip strong {
  display: block;
  margin-bottom: 5px;
  color: #0c735f;
  font-size: 15px;
}

.coupang-product-skip strong {
  color: #a04618;
}

.hero-panel.hero-diagnosis-preview {
  display: block;
  min-height: 0;
  padding: 30px;
  border: 1px solid #c8dad6;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(16, 32, 51, 0.12);
}

.hero-preview-head > span {
  color: #bd461e;
  font-size: 14px;
  font-weight: 900;
}

.hero-preview-head h2 {
  margin: 9px 0 10px;
  color: #101b2c;
  font-size: 29px;
  line-height: 1.34;
  letter-spacing: 0;
}

.hero .hero-preview-head p {
  margin: 0;
  color: #526071;
  font-size: 16px;
  line-height: 1.62;
}

.hero-preview-grid {
  display: grid;
  gap: 0;
  margin-top: 22px;
  border-top: 1px solid #dbe5e2;
}

.hero-preview-grid div {
  display: grid;
  gap: 5px;
  padding: 15px 0;
  border-bottom: 1px solid #dbe5e2;
}

.hero-preview-grid span {
  color: #0c735f;
  font-size: 13px;
  font-weight: 900;
}

.hero-preview-grid strong {
  color: #172334;
  font-size: 18px;
  line-height: 1.48;
}

.hero p.hero-preview-privacy {
  margin-top: 15px;
  color: #6b7583;
  font-size: 13px;
  font-weight: 700;
}

.hero-diagnosis-preview[data-preview-state="active"] {
  border-color: #15816d;
  box-shadow: 0 24px 60px rgba(21, 129, 109, 0.14);
}

@media (max-width: 760px) {
  .hero > div:first-child {
    order: 1;
  }

  .guided-choice {
    margin: 24px 0;
    padding: 20px 16px;
  }

  .guided-choice-head h2 {
    font-size: 26px;
    line-height: 1.38;
  }

  .guided-choice-head p {
    font-size: 17px;
  }

  .guided-choice-steps span {
    padding: 9px 4px;
    font-size: 11px;
  }

  .guided-choice-layout {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .guided-choice-option {
    min-height: 68px;
    padding: 12px 13px;
  }

  .guided-choice-option span {
    font-size: 18px;
  }

  .guided-choice-result {
    min-height: 0;
    padding: 21px 17px;
  }

  .guided-choice-result h3 {
    font-size: 24px;
  }

  .guided-choice-result dl div {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .guided-choice-action {
    width: 100%;
    min-height: 58px;
    font-size: 18px;
    text-align: center;
  }

  .coupang-product-card.guided-choice-result {
    min-height: 0;
    padding: 0;
  }

  .coupang-product-check,
  .coupang-product-skip {
    font-size: 17px;
  }

  .hero-panel.hero-diagnosis-preview {
    order: 2;
    min-height: 0;
    margin: 20px 0 0;
    padding: 22px 18px;
  }

  .hero-preview-head h2 {
    font-size: 25px;
  }

  .hero-preview-grid strong {
    font-size: 17px;
  }
}

/* Senior Coupang choice pages: external links stay on five ad-free pages. */
.coupang-choice-hub,
.coupang-choice-page {
  max-width: 1080px;
  margin: 0 auto;
}

.coupang-hub-hero,
.coupang-choice-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: 36px;
  align-items: center;
  padding: 34px 0 38px;
  border-bottom: 1px solid #dbe4e1;
}

.coupang-choice-hero {
  display: block;
  max-width: 820px;
}

.coupang-hub-hero.is-text-only {
  display: block;
  max-width: 820px;
}

.coupang-hub-hero h1,
.coupang-choice-hero h1 {
  max-width: 18ch;
  margin: 12px 0 14px;
  color: #101b2c;
  font-size: 42px;
  line-height: 1.25;
  letter-spacing: 0;
}

.coupang-hub-hero p,
.coupang-choice-hero p {
  margin: 0;
  color: #3f4d5d;
  font-size: 19px;
  line-height: 1.75;
}

.coupang-hub-hero > div > a,
.coupang-choice-hero > a,
.coupang-home-all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  margin-top: 22px;
  padding: 13px 20px;
  border: 1px solid #0c735f;
  border-radius: 6px;
  background: #0c735f;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.coupang-hub-hero-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
}

.coupang-choice-paths {
  padding: 34px 0 12px;
}

.coupang-choice-paths h2,
.coupang-hub-rules h2,
.coupang-choice-story h2,
.coupang-choice-quick h2,
.coupang-product-intro h2,
.coupang-related-reading h2,
.coupang-home-head h2 {
  margin: 7px 0 15px;
  color: #101b2c;
  font-size: 30px;
  line-height: 1.35;
  letter-spacing: 0;
}

.coupang-choice-paths > div,
.coupang-home-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #cdd9d5;
}

.coupang-choice-paths a,
.coupang-home-grid a {
  display: flex;
  min-width: 0;
  min-height: 220px;
  padding: 26px;
  flex-direction: column;
  border-bottom: 1px solid #cdd9d5;
  color: #172334;
  text-decoration: none;
}

.coupang-choice-paths a:nth-child(odd),
.coupang-home-grid a:nth-child(odd) {
  border-right: 1px solid #cdd9d5;
}

.coupang-choice-paths a:hover,
.coupang-choice-paths a:focus-visible,
.coupang-home-grid a:hover,
.coupang-home-grid a:focus-visible {
  background: #f3faf7;
}

.coupang-choice-paths a span,
.coupang-home-grid a span {
  color: #0c735f;
  font-size: 15px;
  font-weight: 900;
}

.coupang-choice-paths a strong,
.coupang-home-grid a strong {
  margin-top: 8px;
  font-size: 23px;
  line-height: 1.45;
}

.coupang-choice-paths a p,
.coupang-choice-paths a small,
.coupang-home-grid a small {
  margin: 9px 0 0;
  color: #526071;
  font-size: 16px;
  line-height: 1.65;
}

.coupang-choice-paths a em,
.coupang-home-grid a em {
  margin-top: auto;
  padding-top: 16px;
  color: #075c4c;
  font-size: 17px;
  font-style: normal;
  font-weight: 900;
}

.coupang-hub-rules,
.coupang-choice-story,
.coupang-related-reading {
  padding: 34px 0;
  border-top: 1px solid #dbe4e1;
}

.coupang-choice-quick {
  max-width: 820px;
  padding: 26px 0;
  border-bottom: 1px solid #dbe4e1;
}

.coupang-choice-quick h2 {
  margin: 7px 0 10px;
  color: #101b2c;
  font-size: 29px;
  line-height: 1.38;
  letter-spacing: 0;
}

.coupang-choice-quick > p {
  margin: 0;
  color: #405064;
  font-size: 18px;
  line-height: 1.7;
}

.coupang-choice-quick ul {
  display: grid;
  gap: 7px;
  margin: 16px 0;
  padding-left: 24px;
  color: #243346;
  font-size: 17px;
  line-height: 1.62;
}

.coupang-choice-quick > small {
  display: block;
  padding: 12px 14px;
  background: #f5f7f7;
  color: #556171;
  font-size: 14px;
  line-height: 1.55;
}

.coupang-hub-rules ul,
.coupang-choice-story ol {
  display: grid;
  gap: 12px;
  margin: 0;
  padding-left: 25px;
  color: #263445;
  font-size: 18px;
  line-height: 1.7;
}

.coupang-home-band {
  padding-top: 42px;
  padding-bottom: 42px;
  border-top: 1px solid #dbe4e1;
  border-bottom: 1px solid #dbe4e1;
}

.coupang-home-head {
  max-width: 780px;
  margin-bottom: 20px;
}

.coupang-home-head p {
  color: #526071;
  font-size: 18px;
  line-height: 1.7;
}

.coupang-context-bridge {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin: 34px 0;
  padding: 28px 0;
  border-top: 2px solid #168a72;
  border-bottom: 1px solid #dbe4e1;
}

.coupang-context-bridge h2 {
  margin: 7px 0 10px;
  color: #101b2c;
  font-size: 27px;
  line-height: 1.38;
  letter-spacing: 0;
}

.coupang-context-bridge p,
.coupang-context-bridge small {
  display: block;
  margin: 0;
  color: #4c5b6b;
  font-size: 17px;
  line-height: 1.7;
}

.coupang-context-bridge small {
  margin-top: 9px;
  font-size: 14px;
}

.coupang-context-bridge > a {
  display: inline-flex;
  min-height: 56px;
  padding: 14px 20px;
  align-items: center;
  justify-content: center;
  border: 1px solid #0c735f;
  border-radius: 6px;
  background: #fff;
  color: #075c4c;
  font-size: 17px;
  font-weight: 900;
  text-decoration: none;
}

.coupang-disclosure {
  margin: 24px 0 18px;
  padding: 12px 0;
  border-top: 1px solid #e1e6e4;
  border-bottom: 1px solid #e1e6e4;
  color: #697383;
  font-size: 13px;
  line-height: 1.55;
}

.coupang-disclosure strong {
  color: #3e4a59;
}

.coupang-product-intro {
  max-width: 820px;
  padding: 18px 0 24px;
}

.coupang-product-intro p {
  color: #526071;
  font-size: 17px;
  line-height: 1.7;
}

.coupang-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.coupang-product-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid #cfd9d6;
  border-left: 4px solid #168a72;
  border-radius: 8px;
  background: #fff;
  color: #142132;
  text-decoration: none;
}

.coupang-product-card:hover,
.coupang-product-card:focus-visible {
  border-color: #168a72;
  box-shadow: 0 10px 28px rgba(15, 50, 43, 0.12);
}

.coupang-product-teaser-head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px 0;
  color: #0c735f;
  font-size: 15px;
  font-weight: 900;
}

.coupang-product-teaser-head > span {
  display: inline-flex;
  min-height: 34px;
  padding: 6px 11px;
  align-items: center;
  border-radius: 999px;
  background: #e9f7f2;
}

.coupang-product-copy {
  display: flex;
  height: 100%;
  padding: 24px;
  flex-direction: column;
}

.coupang-product-copy h2 {
  margin: 0 0 10px;
  color: #101b2c;
  font-size: 24px;
  line-height: 1.42;
  letter-spacing: 0;
}

.coupang-product-hook {
  margin: 0;
  color: #405064;
  font-size: 17px;
  line-height: 1.68;
}

.coupang-review-proof {
  display: flex;
  gap: 8px 12px;
  align-items: center;
  flex-wrap: wrap;
  margin: 16px 0;
  padding: 12px 0;
  border-top: 1px solid #e2e8e6;
  border-bottom: 1px solid #e2e8e6;
}

.coupang-review-proof strong {
  color: #a04618;
  font-size: 18px;
}

.coupang-review-proof span {
  color: #172334;
  font-size: 17px;
  font-weight: 800;
}

.coupang-review-proof small {
  color: #6b7583;
  font-size: 13px;
}

.coupang-product-curiosity {
  margin: 0;
  color: #344253;
  font-size: 16px;
  line-height: 1.65;
}

.coupang-product-curiosity {
  padding-bottom: 15px;
  border-bottom: 1px solid #e1e8e5;
}

.coupang-product-curiosity strong {
  display: block;
  margin-bottom: 5px;
  color: #0c735f;
  font-size: 15px;
}

.coupang-product-cta {
  display: flex;
  min-height: 62px;
  margin-top: 20px;
  padding: 13px 16px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 6px;
  background: #0c735f;
  color: #fff;
}

.coupang-product-cta strong {
  font-size: 18px;
}

.coupang-product-cta small {
  margin-top: 3px;
  color: #e6fff8;
  font-size: 13px;
}

.coupang-related-reading > div {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.coupang-related-reading a {
  display: inline-flex;
  min-height: 48px;
  padding: 11px 15px;
  align-items: center;
  border: 1px solid #c9d6d2;
  border-radius: 6px;
  color: #075c4c;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
}

.footer-coupang-disclosure {
  display: block;
  margin-top: 7px;
  color: #737b84;
  font-size: 10px;
  line-height: 1.45;
}

@media (max-width: 760px) {
  .coupang-hub-hero,
  .coupang-context-bridge {
    grid-template-columns: 1fr;
  }

  .coupang-hub-hero,
  .coupang-choice-hero {
    gap: 22px;
    padding: 24px 0 30px;
  }

  .coupang-hub-hero h1,
  .coupang-choice-hero h1 {
    max-width: none;
    font-size: 34px;
    line-height: 1.3;
  }

  .coupang-hub-hero p,
  .coupang-choice-hero p,
  .coupang-home-head p {
    font-size: 18px;
  }

  .coupang-choice-paths h2,
  .coupang-hub-rules h2,
  .coupang-choice-story h2,
  .coupang-choice-quick h2,
  .coupang-product-intro h2,
  .coupang-related-reading h2,
  .coupang-home-head h2,
  .coupang-context-bridge h2 {
    font-size: 26px;
  }

  .coupang-choice-paths > div,
  .coupang-home-grid,
  .coupang-product-grid {
    grid-template-columns: 1fr;
  }

  .coupang-choice-paths a,
  .coupang-home-grid a {
    min-height: 0;
    padding: 22px 4px;
    border-right: 0 !important;
  }

  .coupang-home-band {
    padding-top: 34px;
    padding-bottom: 34px;
  }

  .coupang-context-bridge {
    gap: 18px;
    margin: 28px 0;
    padding: 24px 0;
  }

  .coupang-context-bridge > a {
    width: 100%;
    font-size: 18px;
  }

  .coupang-disclosure {
    font-size: 11px;
  }

  .coupang-product-grid {
    gap: 26px;
  }

  .coupang-product-copy {
    padding: 22px 18px 20px;
  }

  .coupang-product-copy h2 {
    font-size: 25px;
  }

  .coupang-product-hook,
  .coupang-product-curiosity {
    font-size: 17px;
  }

  .coupang-review-proof strong,
  .coupang-review-proof span {
    font-size: 18px;
  }

  .coupang-product-cta {
    min-height: 68px;
  }

  .coupang-product-cta strong {
    font-size: 19px;
  }

  .coupang-related-reading > div,
  .coupang-related-reading a {
    width: 100%;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 92px; }
main,
section,
article,
aside {
  min-width: 0;
  max-width: 100%;
}
body {
  margin: 0;
  background: #f8fbfb;
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.58;
  letter-spacing: 0;
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
a,
button {
  overflow-wrap: anywhere;
}
[hidden] { display: none !important; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@keyframes shineSweep {
  0%, 42% { transform: translateX(-135%) rotate(0.001deg); opacity: 0; }
  52% { opacity: .82; }
  68%, 100% { transform: translateX(135%) rotate(0.001deg); opacity: 0; }
}

@keyframes sparklePop {
  0%, 100% { transform: scale(.72) rotate(0deg); opacity: .38; }
  50% { transform: scale(1.18) rotate(45deg); opacity: 1; }
}

@keyframes cardPop {
  0% { transform: scale(.985); }
  55% { transform: scale(1.018); }
  100% { transform: scale(1); }
}

@keyframes floatLift {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -8px, 0); }
}

.promo-bar {
  display: block;
  min-height: 38px;
  padding: 8px 20px;
  background: var(--navy);
  color: #fff;
  text-align: center;
  font-size: 15px;
  font-weight: 900;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,.95);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}
.header-inner {
  max-width: 1420px;
  margin: 0 auto;
  min-height: 56px;
  padding: 8px 32px;
  display: flex;
  align-items: center;
  gap: 22px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #0f172a;
  font-size: 20px;
  font-weight: 900;
  white-space: nowrap;
}
.brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: #e8f8f5;
  color: var(--green-dark);
}
.brand-mark .ui-icon {
  width: 26px;
  height: 26px;
}
.brand strong,
.brand small {
  display: block;
  line-height: 1.18;
}
.brand small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.nav {
  display: none;
  gap: 16px;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
  font-size: 14px;
  font-weight: 800;
  color: var(--muted);
}
.nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.nav a:hover { color: var(--green-dark); }
.menu-square {
  margin-left: auto;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--navy);
  background: #fff;
}
.header-actions {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.header-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: #0c1d33;
  background: #fff;
}
.header-icon .ui-icon {
  width: 25px;
  height: 25px;
}
.ui-icon {
  width: 24px;
  height: 24px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hero {
  max-width: 1420px;
  margin: 0 auto;
  padding: 28px 22px 6px;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(470px, .95fr);
  gap: 10px 34px;
  align-items: center;
  position: relative;
  overflow: visible;
}
.hero > div:first-child {
  position: relative;
  z-index: 3;
}
.hero::before {
  content: none;
  display: none;
}
.hero h1 {
  margin: 0;
  max-width: 700px;
  font-size: clamp(44px, 4.8vw, 64px);
  line-height: 1.08;
  letter-spacing: 0;
  color: var(--ink);
  word-break: keep-all;
  overflow-wrap: break-word;
}
.hero h1 em {
  display: block;
  color: var(--green-dark);
  font-style: normal;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.hero p {
  margin: 12px 0 0;
  max-width: 560px;
  color: var(--muted);
  font-size: 20px;
  line-height: 1.55;
  font-weight: 750;
}
.hero p.hero-trust-note {
  width: fit-content;
  max-width: 620px;
  margin-top: 12px;
  padding: 10px 13px;
  border: 1px solid #dce9e8;
  border-radius: 8px;
  background: rgba(255,255,255,.78);
  color: #526172;
  font-size: 15px;
  line-height: 1.42;
  font-weight: 800;
  box-shadow: 0 10px 28px rgba(16, 24, 39, .05);
}
.hero-priority-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-width: 620px;
  margin: 14px 0 4px;
}
.hero-priority-links a {
  display: grid;
  gap: 3px;
  min-width: 0;
  min-height: 74px;
  padding: 12px 14px;
  border: 1px solid #b9d9d2;
  border-radius: 8px;
  background: #fff;
  color: #153d38;
  box-shadow: 0 8px 22px rgba(19, 92, 78, .07);
}
.hero-priority-links a:hover,
.hero-priority-links a:focus-visible {
  border-color: #167965;
  outline: 3px solid rgba(22, 121, 101, .14);
}
.hero-priority-links span,
.hero-priority-links small {
  color: #60736f;
  font-size: 12px;
  line-height: 1.35;
}
.hero-priority-links strong {
  color: #0c5d55;
  font-size: 17px;
  line-height: 1.28;
}
.hero-proof {
  display: none;
  width: fit-content;
  min-height: 32px;
  align-items: center;
  gap: 9px;
  margin-bottom: 16px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #06753c;
  padding: 0;
  font-size: 17px;
  font-weight: 900;
}
.hero-proof .ui-icon {
  width: 25px;
  height: 25px;
  padding: 5px;
  border-radius: 999px;
  background: #e9f9ef;
  color: #06753c;
}
.hero-benefit-list {
  display: none;
}
.hero-benefit-list li {
  position: relative;
  padding-left: 31px;
  line-height: 1.35;
}
.hero-benefit-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 21px;
  height: 21px;
  border-radius: 999px;
  background:
    linear-gradient(135deg, #e6f8ed, #ffffff);
  border: 1px solid #bfe4c8;
}
.hero-benefit-list li::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 7px;
  width: 8px;
  height: 5px;
  border-left: 2px solid #06753c;
  border-bottom: 2px solid #06753c;
  transform: rotate(-45deg);
}
.hero-cta-row {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 720px;
}
.hero-cta-row.compact {
  margin-top: 14px;
}
.cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  text-align: center;
}
.cta.secondary {
  background: linear-gradient(135deg, var(--green-dark), #2d8279);
}
.cta.orange {
  background: linear-gradient(135deg, var(--orange), var(--coral));
}
.hero-action-grid {
  display: grid;
  width: min(940px, calc(100vw - 44px));
  margin-top: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: none;
  position: relative;
  z-index: 4;
}
.hero-action-grid.home-primary-paths {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.hero-action-card {
  min-height: 158px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  grid-template-rows: auto;
  column-gap: 15px;
  align-items: center;
  align-content: start;
  border-radius: 8px;
  color: #fff;
  padding: 18px;
  box-shadow: 0 24px 54px rgba(16, 32, 51, .19);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
}
.hero-action-card.green {
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,0) 44%),
    linear-gradient(135deg, #00672e, #58a738);
}
.hero-action-card.coral {
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,0) 44%),
    linear-gradient(135deg, #ff5f4f, #ff8a2c);
}
.hero-action-card.navy {
  background: linear-gradient(135deg, #071b49, #113a78);
}
.hero-action-card.blue {
  background:
    linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,0) 48%),
    linear-gradient(135deg, var(--green-dark), #2d8279);
}
.action-icon {
  grid-row: 1;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 2px solid rgba(255,255,255,.78);
  border-radius: 8px;
  background: rgba(255,255,255,.08);
}
.action-icon .ui-icon {
  width: 31px;
  height: 31px;
  stroke-width: 2.15;
}
.hero-action-card strong {
  display: block;
  font-size: 22px;
  line-height: 1.18;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.hero-action-card small {
  display: block;
  margin-top: 5px;
  font-size: 16px;
  line-height: 1.28;
  color: rgba(255,255,255,.88);
  font-weight: 850;
}
.action-copy {
  grid-column: 2;
  min-width: 0;
}
.hero-action-card ul {
  grid-column: 1 / span 2;
  margin: 11px 0 0;
  padding: 0;
  display: grid;
  gap: 5px;
  list-style: none;
  color: rgba(255,255,255,.92);
  font-size: 14px;
  font-weight: 850;
}
.hero-action-card li {
  position: relative;
  padding-left: 20px;
}
.hero-action-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 9px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
.hero-action-card em {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin-top: 10px;
  border-radius: 8px;
  padding: 10px 14px;
  background: #fff;
  color: #09204e;
  font-size: 14px;
  font-style: normal;
  font-weight: 950;
  box-shadow: 0 10px 26px rgba(10,20,40,.16);
}
.action-visual {
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 76px;
  height: 76px;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 8px;
  object-fit: cover;
  background: rgba(255,255,255,.16);
  box-shadow: 0 18px 34px rgba(6, 20, 48, .22);
}
.hero-buy-strip {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-width: 620px;
}
.hero-buy-button {
  min-height: 82px;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  align-items: center;
  column-gap: 12px;
  row-gap: 2px;
  border: 2px solid #f1d782;
  border-radius: 8px;
  padding: 11px;
  background: linear-gradient(135deg, #fffdf5, #ffffff 58%, #fff2c4);
  box-shadow: 0 16px 34px rgba(217,90,43,.13);
}
.hero-buy-thumb {
  grid-row: 1 / span 2;
  width: 68px;
  height: 68px;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  object-fit: cover;
  object-position: right center;
  background: #f6faf9;
}
.hero-buy-button span {
  color: var(--green-dark);
  font-size: 15px;
  font-weight: 900;
}
.hero-buy-button strong {
  color: var(--ink);
  font-size: 20px;
  line-height: 1.2;
}
.hero-buy-button small {
  grid-column: 2;
  color: #3a4657;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.28;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.search-box {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  max-width: 620px;
  padding: 8px;
  border: 1px solid #d7e4e4;
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
  background: #fff;
}
.search-box input {
  min-width: 0;
  border: 0;
  outline: 0;
  padding: 16px 14px;
  font: inherit;
  font-size: 18px;
}
.search-box button,
.cta {
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--green), #49c5b3);
  color: #fff;
  font: inherit;
  font-size: 17px;
  font-weight: 900;
  padding: 14px 18px;
  cursor: pointer;
}
.search-box .search-submit {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.hero-support-search {
  margin-top: 22px;
  max-width: 760px;
  border: 1px solid rgba(214, 224, 226, .96);
  border-radius: 8px;
  background: rgba(255,255,255,.97);
  padding: 18px;
  box-shadow: 0 22px 70px rgba(15, 23, 42, 0.13);
  backdrop-filter: blur(14px);
}
.hero-support-search > strong {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--green-dark);
  font-size: 22px;
  line-height: 1.22;
}
.hero-support-search > strong .ui-icon {
  width: 26px;
  height: 26px;
}
.hero-support-search .search-submit {
  background: linear-gradient(135deg, #2bb7a5, #49c5b3);
  box-shadow: 0 14px 30px rgba(32, 184, 159, 0.22);
}
.hero-support-search .icon-submit .ui-icon {
  width: 31px;
  height: 31px;
  stroke-width: 2.15;
}
.hero-hot-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.hero-hot-keywords span,
.hero-hot-keywords a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 15px;
  font-weight: 900;
}
.hero-hot-keywords span {
  background: #fff0ef;
  color: #d63b3f;
}
.hero-hot-keywords a {
  border: 1px solid #d7e8e6;
  background: #f7fcfb;
  color: var(--green-dark);
}
.portal-no-search .grant-portal-layout {
  grid-template-columns: 1fr;
}
.portal-no-search .grant-portal-head p,
.portal-no-search .grant-ranking-wrap .mini-section-head {
  display: none;
}
.portal-no-search .grant-portal-head h2 {
  font-size: clamp(28px, 2.4vw, 38px);
}
.portal-no-search .grant-rank-no {
  display: none;
}
.portal-no-search .grant-rank-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.portal-no-search .grant-side-panel {
  margin-top: 8px;
}

.service-shortcut-section {
  max-width: 1240px;
  margin: 14px auto 24px;
  padding: 0 22px;
}
.service-shortcut-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.service-shortcut-head span {
  color: var(--green-dark);
  font-size: 14px;
  font-weight: 950;
}
.service-shortcut-head h2 {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: clamp(24px, 2.3vw, 34px);
  line-height: 1.18;
  letter-spacing: 0;
}
.service-shortcut-head button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background: #fff;
  color: var(--green-dark);
  padding: 9px 13px;
  font-size: 15px;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(16, 32, 51, .06);
}
.service-shortcut-head .ui-icon {
  width: 19px;
  height: 19px;
}
.service-shortcut-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.service-shortcut-card {
  min-height: 124px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  padding: 15px;
  box-shadow: 0 10px 28px rgba(16, 32, 51, .06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.service-shortcut-card:hover {
  transform: translateY(-2px);
  border-color: #b9dcd6;
  box-shadow: 0 18px 42px rgba(16, 32, 51, .1);
}
.service-shortcut-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #e8f8f5;
  color: var(--green-dark);
}
.service-shortcut-icon .ui-icon {
  width: 21px;
  height: 21px;
}
.service-shortcut-card small {
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 950;
}
.service-shortcut-card strong {
  color: var(--ink);
  font-size: 19px;
  line-height: 1.22;
}
.service-shortcut-card em {
  color: var(--muted);
  font-style: normal;
  font-size: 14px;
  font-weight: 800;
}

.grant-portal {
  max-width: 1240px;
  margin: 18px auto 28px;
  padding: 0 22px;
}
.grant-portal-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}
.grant-portal-head h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(31px, 3.2vw, 45px);
  line-height: 1.12;
  letter-spacing: 0;
}
.grant-portal-head p {
  max-width: 720px;
  margin: 8px 0 0;
  color: #526074;
  font-size: 18px;
  font-weight: 750;
}
.grant-portal-head > a,
.mini-section-head a {
  color: var(--green-dark);
  font-size: 16px;
  font-weight: 950;
  white-space: nowrap;
}
.grant-search-panel {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(360px, 1.2fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 16px;
  border: 1px solid #dce8e8;
  border-radius: 8px;
  background:
    linear-gradient(135deg, #ffffff 0%, #f6fbfa 54%, #fffdf5 100%);
  padding: 20px;
  box-shadow: var(--shadow-soft);
}
.grant-search-panel strong {
  display: block;
  color: #061a45;
  font-size: 28px;
  line-height: 1.18;
}
.grant-search-panel p {
  margin: 8px 0 0;
  color: #536274;
  font-size: 16px;
  font-weight: 750;
}
.grant-search-box {
  max-width: none;
  margin: 0;
  box-shadow: none;
  border-color: var(--green);
}
.grant-search-box input {
  font-size: 20px;
  font-weight: 850;
}
.grant-hot-keywords {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.grant-hot-keywords a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #d7e8e6;
  border-radius: 999px;
  background: #fff;
  color: var(--green-dark);
  padding: 7px 12px;
  font-size: 15px;
  font-weight: 900;
}
.grant-portal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 16px;
  align-items: start;
}
.mini-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.mini-section-head strong {
  color: var(--ink);
  font-size: 22px;
  line-height: 1.2;
}
.grant-rank-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.compact-portal .grant-rank-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grant-rank-card {
  --rank-accent: #0f766e;
  --rank-soft: #e8f6f2;
  --rank-line: rgba(15, 118, 110, .18);
  position: relative;
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 286px;
  border: 1px solid rgba(202, 218, 218, .9);
  border-radius: 8px;
  background:
    radial-gradient(circle at 90% 12%, var(--rank-soft) 0, transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfefd 100%);
  padding: 16px;
  overflow: hidden;
  box-shadow: 0 20px 48px rgba(16, 32, 51, .08);
}
.grant-rank-card.tone-1 {
  --rank-accent: #0f766e;
  --rank-soft: #e8f6f2;
  --rank-line: rgba(15, 118, 110, .2);
}
.grant-rank-card.tone-2 {
  --rank-accent: #2563eb;
  --rank-soft: #eaf2ff;
  --rank-line: rgba(37, 99, 235, .18);
}
.grant-rank-card.tone-3 {
  --rank-accent: #7c3aed;
  --rank-soft: #f1ecff;
  --rank-line: rgba(124, 58, 237, .18);
}
.grant-rank-card.tone-4 {
  --rank-accent: #c2410c;
  --rank-soft: #fff1e8;
  --rank-line: rgba(194, 65, 12, .18);
}
.grant-rank-card.tone-5 {
  --rank-accent: #0f766e;
  --rank-soft: #eaf8f1;
  --rank-line: rgba(15, 118, 110, .18);
}
.grant-rank-card:hover,
.grant-category-tile:hover,
.grant-deadline-row:hover {
  transform: translateY(-3px);
  box-shadow: 0 26px 58px rgba(16, 32, 51, .13);
}
.grant-rank-kicker {
  color: var(--rank-accent);
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0;
}
.grant-rank-surface {
  width: 100%;
  min-height: 112px;
  display: grid;
  align-content: center;
  gap: 12px;
  border: 1px solid var(--rank-line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .84), rgba(255, 255, 255, .42)),
    var(--rank-soft);
  padding: 16px;
}
.grant-rank-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: var(--rank-accent);
  background: rgba(255, 255, 255, .72);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .82), 0 14px 28px rgba(16, 32, 51, .08);
}
.grant-rank-icon .ui-icon {
  width: 32px;
  height: 32px;
  stroke-width: 1.8;
}
.grant-rank-check {
  color: #39515c;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
}
.grant-rank-card strong {
  color: #0e2038;
  font-size: 23px;
  line-height: 1.18;
  letter-spacing: 0;
}
.grant-card-stats {
  display: grid;
  gap: 2px;
  color: #5d6877;
  font-size: 15px;
  font-weight: 900;
}
.grant-card-stats span:first-child {
  color: var(--green-dark);
  font-size: 22px;
}
.grant-rank-card em {
  align-self: end;
  min-height: 42px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #edf8f5;
  color: var(--green-dark);
  font-style: normal;
  font-size: 15px;
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(202, 228, 221, .7);
}
.grant-side-panel {
  display: grid;
  gap: 14px;
}
.grant-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.grant-category-tile {
  min-height: 128px;
  display: grid;
  gap: 7px;
  align-content: start;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 14px;
  transition: transform .18s ease, box-shadow .18s ease;
}
.grant-category-tile .tile-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  background: var(--green);
}
.grant-category-tile.tone-2 .tile-icon { background: #0d7568; }
.grant-category-tile.tone-3 .tile-icon { background: #f06f5f; }
.grant-category-tile.tone-4 .tile-icon { background: #496fc3; }
.grant-category-tile.tone-5 .tile-icon { background: #f6b64b; }
.grant-category-tile.tone-6 .tile-icon { background: #20b89f; }
.grant-category-tile strong {
  color: #0e2038;
  font-size: 19px;
  line-height: 1.22;
}
.grant-category-tile small {
  color: #5e6978;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.45;
}
.grant-deadline-panel {
  border: 1px solid #dce7f2;
  border-radius: 8px;
  background: #f8fbff;
  padding: 14px;
}
.grant-deadline-list {
  display: grid;
  gap: 8px;
}
.grant-deadline-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 4px 10px;
  align-items: center;
  border: 1px solid #e4edf6;
  border-radius: 8px;
  background: #fff;
  padding: 11px;
  transition: transform .18s ease, box-shadow .18s ease;
}
.grant-deadline-row span {
  grid-row: span 2;
  min-height: 42px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #ffefef;
  color: #c7353e;
  font-size: 14px;
  font-weight: 950;
  text-align: center;
}
.grant-deadline-row strong {
  color: #0e2038;
  font-size: 18px;
  line-height: 1.25;
}
.grant-deadline-row small {
  color: #647287;
  font-size: 14px;
  font-weight: 800;
}
.spark-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  --mx: 76%;
  --my: 18%;
}
.spark-card::before {
  content: "";
  position: absolute;
  inset: -40%;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at var(--mx) var(--my), rgba(255, 231, 118, .42), rgba(255, 231, 118, 0) 18%),
    linear-gradient(112deg, transparent 0 37%, rgba(255,255,255,.78) 47%, transparent 57%);
  mix-blend-mode: screen;
  opacity: 0;
  transform: translateX(-135%);
  animation: shineSweep 5.2s ease-in-out infinite;
}
.spark-card::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 16px;
  z-index: 2;
  width: 11px;
  height: 11px;
  pointer-events: none;
  background: #fff;
  clip-path: polygon(50% 0, 61% 38%, 100% 50%, 61% 62%, 50% 100%, 39% 62%, 0 50%, 39% 38%);
  box-shadow: 0 0 0 5px rgba(241, 183, 46, .2), 0 0 22px rgba(241, 183, 46, .72);
  animation: sparklePop 2.4s ease-in-out infinite;
}
.spark-card > * {
  position: relative;
  z-index: 3;
}
.hero-action-card > .action-visual {
  position: absolute;
  z-index: 2;
}
.spark-card:hover,
.spark-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: var(--shine-shadow);
  border-color: var(--gold);
}
.spark-card.is-popping {
  animation: cardPop .42s ease;
}
.buy-cta {
  background: linear-gradient(135deg, #005f3a, #087a55);
  box-shadow: 0 12px 26px rgba(8, 122, 85, .22);
}
.buy-cta:hover {
  background: linear-gradient(135deg, #004f34, #066946);
}
.quick-links {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.popular-searches,
.seo-search-band {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfd;
}
.seo-search-band {
  max-width: 1180px;
  margin: 0 auto 22px;
  padding: 16px 20px;
  box-shadow: 0 12px 32px rgba(16,32,51,.06);
}
.popular-searches strong,
.seo-search-band strong {
  display: block;
  margin-bottom: 9px;
  color: #2d3845;
  font-size: 14px;
}
.seo-search-band strong {
  font-size: 18px;
  font-weight: 950;
}
.popular-searches div,
.seo-search-band div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.popular-searches a,
.seo-search-band a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border: 1px solid #dbe5e8;
  border-radius: 999px;
  background: #fff;
  padding: 6px 11px;
  color: var(--green-dark);
  font-size: 14px;
  font-weight: 800;
}
.seo-search-band a {
  min-height: 40px;
  padding: 8px 13px;
  font-size: 16px;
  font-weight: 900;
}
.seo-focus-section {
  padding-top: 12px;
}
.seo-focus-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.seo-focus-card {
  min-height: 154px;
  display: grid;
  align-content: start;
  gap: 10px;
  border: 1px solid #d7e6e1;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f6fbfa);
  box-shadow: 0 14px 34px rgba(16,32,51,.07);
  padding: 18px;
  color: var(--ink);
}
.seo-focus-card span {
  width: fit-content;
  border-radius: 999px;
  background: #e9f7f3;
  color: var(--green-dark);
  padding: 6px 10px;
  font-size: 14px;
  font-weight: 950;
}
.seo-focus-card strong {
  font-size: 22px;
  line-height: 1.24;
  font-weight: 950;
}
.seo-focus-card p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.45;
}
.quick-links a,
.chip {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 12px;
  background: #fff;
  color: var(--muted);
  font-weight: 800;
  font-size: 15px;
}
.hero-panel {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
  position: relative;
  z-index: 1;
  min-height: 438px;
}
.hero-photo {
  min-height: 438px;
  border: 1px solid rgba(214, 226, 230, .78);
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(16, 32, 51, .12);
  background:
    linear-gradient(90deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.34) 34%, rgba(255,255,255,0) 62%),
    url("/assets/photo-care-service-paperwork.png") center right/cover;
  overflow: hidden;
}
.hero-float-card {
  display: none !important;
  position: absolute;
  width: 176px;
  min-height: 104px;
  gap: 4px;
  align-content: center;
  border: 1px solid rgba(213,226,232,.9);
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  padding: 15px 17px;
  box-shadow: 0 20px 42px rgba(16,32,51,.16);
  backdrop-filter: blur(10px);
  animation: floatLift 5.8s ease-in-out infinite;
}
.hero-float-card span {
  color: #2f6f62;
  font-size: 13px;
  font-weight: 900;
}
.hero-float-card strong {
  color: #071b49;
  font-size: 22px;
  line-height: 1.12;
}
.hero-float-card small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.float-refund {
  left: 9%;
  top: 26%;
}
.float-health {
  left: 0;
  bottom: 26%;
  animation-delay: -.8s;
}
.float-product {
  right: 3%;
  top: 42%;
  width: 190px;
  animation-delay: -1.6s;
}
.float-check {
  right: 12%;
  bottom: 13%;
  width: 188px;
  animation-delay: -2.2s;
}
.hero-checks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 14px;
}
.hero-checks span {
  min-height: 72px;
  display: grid;
  align-content: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fff;
  border-left: 5px solid var(--blue);
  font-size: 17px;
  font-weight: 900;
}

.trust-strip {
  max-width: 1180px;
  margin: 0 auto;
  padding: 14px 22px 34px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.trust-strip div {
  min-height: 86px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  align-items: center;
  column-gap: 10px;
  row-gap: 2px;
  border: 1px solid #dbe7e3;
  border-radius: 8px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfefd 100%);
  padding: 14px;
  box-shadow: var(--shadow-soft);
}
.trust-strip .ui-icon {
  grid-row: 1 / span 2;
  width: 42px;
  height: 42px;
  padding: 9px;
  border-radius: 999px;
  background: #e9f9ef;
  color: #06753c;
}
.trust-strip strong {
  color: var(--green-dark);
  font-size: 16px;
  line-height: 1.25;
}
.trust-strip span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.28;
}

.section {
  max-width: 1180px;
  margin: 0 auto;
  padding: 42px 20px;
}
.answer-summary {
  max-width: 1180px;
  margin: 18px auto 24px;
  padding: 22px;
  border: 1px solid #cfe2dd;
  border-left: 7px solid var(--green);
  border-radius: 8px;
  background:
    linear-gradient(135deg, #f5fbff 0%, #ffffff 58%),
    radial-gradient(circle at right top, rgba(245,197,66,.18), transparent 42%);
  box-shadow: 0 16px 38px rgba(16,32,51,.08);
}
.answer-summary-head {
  display: grid;
  gap: 7px;
  margin-bottom: 16px;
}
.answer-summary-head span {
  width: fit-content;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #e6f5f1;
  border: 1px solid #cfe2dd;
  color: var(--green-dark);
  padding: 5px 12px;
  font-size: 15px;
  font-weight: 950;
}
.answer-summary h2 {
  margin: 0;
  color: #071b49;
  font-size: clamp(27px, 3.3vw, 38px);
  line-height: 1.18;
}
.answer-summary p {
  margin: 0;
  color: #405064;
  font-size: 17px;
  font-weight: 760;
  line-height: 1.5;
}
.answer-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.answer-summary-grid div {
  min-height: 148px;
  display: grid;
  align-content: start;
  gap: 8px;
  border: 1px solid #dbe7e3;
  border-radius: 8px;
  background: rgba(255,255,255,.92);
  padding: 16px;
}
.answer-summary-grid strong {
  color: var(--green-dark);
  font-size: 19px;
  line-height: 1.24;
}
.answer-summary-grid p {
  color: #334155;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.45;
}
.answer-summary-cta {
  width: fit-content;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 16px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--green), var(--blue));
  color: #fff;
  padding: 11px 16px;
  font-size: 17px;
  font-weight: 950;
}

.missed-benefit-check {
  max-width: 1180px;
  margin: 18px auto 24px;
  padding: 22px;
  border: 1px solid #d7e4df;
  border-radius: 8px;
  background:
    linear-gradient(135deg, #ffffff 0%, #f7fbff 62%),
    radial-gradient(circle at 92% 4%, rgba(11, 109, 211, .11), transparent 38%);
  box-shadow: 0 14px 34px rgba(16, 32, 51, .07);
}

.missed-benefit-head {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}

.missed-benefit-head span {
  width: fit-content;
  min-height: 31px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #cfe2dd;
  border-radius: 999px;
  background: #f0f7f5;
  color: var(--green-dark);
  padding: 5px 12px;
  font-size: 15px;
  font-weight: 950;
}

.missed-benefit-head h2 {
  margin: 0;
  color: #071b49;
  font-size: clamp(25px, 3vw, 36px);
  line-height: 1.18;
}

.missed-benefit-head p {
  margin: 0;
  color: #475569;
  font-size: 16px;
  font-weight: 760;
  line-height: 1.55;
}

.missed-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.missed-benefit-grid div {
  min-width: 0;
  display: grid;
  gap: 8px;
  align-content: start;
  border: 1px solid #dbe7e3;
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  padding: 16px;
}

.missed-benefit-grid strong {
  color: #0b4d68;
  font-size: 18px;
  line-height: 1.25;
}

.missed-benefit-grid p {
  margin: 0;
  color: #334155;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.48;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.missed-benefit-cta {
  width: fit-content;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 16px;
  border-radius: 8px;
  background: #0b4d68;
  color: #fff;
  padding: 11px 16px;
  font-size: 17px;
  font-weight: 950;
}

.high-rpm-intent-section {
  display: grid;
  gap: 16px;
  margin: 18px 0 24px;
  padding: 22px;
  border: 1px solid #d6e4ee;
  border-radius: 8px;
  background:
    linear-gradient(135deg, #f8fbff 0%, #ffffff 62%),
    radial-gradient(circle at right top, rgba(11, 77, 104, .10), transparent 42%);
  box-shadow: 0 14px 34px rgba(16, 32, 51, .07);
}

.high-rpm-intent-head {
  display: grid;
  gap: 8px;
}

.high-rpm-intent-head span {
  width: fit-content;
  min-height: 31px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #d6e4ee;
  border-radius: 999px;
  background: #edf7fb;
  color: #0b4d68;
  padding: 5px 12px;
  font-size: 15px;
  font-weight: 950;
}

.high-rpm-intent-head h2 {
  margin: 0;
  color: #071b49;
  font-size: clamp(25px, 3vw, 35px);
  line-height: 1.18;
}

.high-rpm-intent-head p {
  margin: 0;
  color: #405064;
  font-size: 16px;
  font-weight: 760;
  line-height: 1.58;
}

.high-rpm-intent-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.high-rpm-intent-grid div {
  min-width: 0;
  display: grid;
  gap: 8px;
  align-content: start;
  border: 1px solid #dbe7e3;
  border-radius: 8px;
  background: rgba(255,255,255,.92);
  padding: 16px;
}

.high-rpm-intent-grid strong {
  color: #0b4d68;
  font-size: 18px;
  line-height: 1.25;
}

.high-rpm-intent-grid p {
  margin: 0;
  color: #334155;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.5;
}

.high-rpm-related-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  border-top: 1px solid #e4edf1;
  padding-top: 14px;
}

.high-rpm-related-links strong {
  color: #071b49;
  font-size: 15px;
  font-weight: 950;
}

.high-rpm-related-links a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #d6e4ee;
  border-radius: 999px;
  background: #fff;
  color: #0b4d68;
  padding: 8px 12px;
  font-size: 15px;
  font-weight: 900;
}

.next-check-journey {
  --next-accent: #0b4d68;
  --next-soft: #edf7fb;
  display: grid;
  gap: 18px;
  margin: 22px 0 28px;
  padding: 22px;
  border: 1px solid #d7e3e7;
  border-left: 4px solid var(--next-accent);
  border-radius: 8px;
  background: #f8fbfc;
}

.next-check-journey.cluster-long_term_care {
  --next-accent: #0d7568;
  --next-soft: #edf8f4;
}

.next-check-journey.cluster-dental_hearing {
  --next-accent: #8a4f13;
  --next-soft: #fff7e8;
}

.next-check-journey.cluster-pension_care {
  --next-accent: #5f4b8b;
  --next-soft: #f5f1fb;
}

.next-check-head {
  display: grid;
  gap: 8px;
}

.next-check-head .section-eyebrow {
  width: fit-content;
  margin: 0;
  color: var(--next-accent);
}

.next-check-head h2 {
  margin: 0;
  color: #101827;
  font-size: 30px;
  line-height: 1.22;
  word-break: keep-all;
}

.next-check-head p {
  max-width: 780px;
  margin: 0;
  color: #4c5a68;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.65;
}

.next-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.next-check-card {
  min-height: 232px;
  display: grid;
  grid-template-rows: auto auto 1fr auto auto;
  gap: 9px;
  align-content: start;
  border: 1px solid #d9e3e6;
  border-radius: 8px;
  background: #fff;
  padding: 17px;
  box-shadow: 0 8px 22px rgba(16, 24, 39, .05);
}

.next-check-card:hover,
.next-check-card:focus-visible {
  border-color: var(--next-accent);
  box-shadow: 0 10px 26px rgba(16, 24, 39, .09);
  outline: none;
}

.next-check-topic {
  width: fit-content;
  border-radius: 4px;
  background: var(--next-soft);
  color: var(--next-accent);
  padding: 4px 8px;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}

.next-check-card h3 {
  margin: 0;
  color: #142033;
  font-size: 20px;
  line-height: 1.42;
  word-break: keep-all;
}

.next-check-answer {
  margin: 0;
  color: #465363;
  font-size: 15px;
  line-height: 1.62;
}

.next-check-answer strong {
  display: block;
  margin-bottom: 3px;
  color: var(--next-accent);
  font-size: 14px;
  font-weight: 950;
}

.next-check-card small {
  color: #657383;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}

.next-check-card em {
  color: var(--next-accent);
  font-size: 15px;
  font-style: normal;
  font-weight: 950;
}

.next-check-card-primary {
  grid-column: 1 / -1;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto auto auto;
  column-gap: 24px;
  border-color: color-mix(in srgb, var(--next-accent) 28%, #d9e3e6);
  background: linear-gradient(90deg, var(--next-soft), #fff 72%);
}

.next-check-card-primary .next-check-topic,
.next-check-card-primary h3,
.next-check-card-primary .next-check-answer,
.next-check-card-primary small {
  grid-column: 1;
}

.next-check-card-primary em {
  grid-column: 2;
  grid-row: 1 / -1;
  align-self: center;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: var(--next-accent);
  color: #fff;
  padding: 12px 18px;
  white-space: nowrap;
}

.next-check-card-secondary {
  min-height: 0;
  grid-template-rows: auto auto 1fr auto;
  box-shadow: none;
}

.next-check-card-secondary small {
  display: none;
}

.next-check-trust {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  margin: 0;
  border-top: 1px solid #dce6e8;
  padding-top: 15px;
  color: #536170;
  font-size: 14px;
  line-height: 1.6;
}

.next-check-trust strong {
  color: var(--next-accent);
  font-weight: 950;
}

.next-check-sidebar {
  display: grid;
  gap: 8px;
  margin-top: 16px;
  border-top: 1px solid #dfe8e9;
  padding-top: 16px;
}

.next-check-sidebar a {
  display: block;
  border: 1px solid #dce6e8;
  border-radius: 8px;
  background: #fff;
  padding: 10px 11px;
  color: #314253;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.45;
}

.next-check-sidebar a:hover,
.next-check-sidebar a:focus-visible {
  border-color: #0d7568;
  color: #0d6157;
  outline: none;
}

@media (max-width: 760px) {
  .next-check-journey {
    margin: 18px 0 22px;
    padding: 16px;
  }

  .next-check-head h2 {
    font-size: 25px;
  }

  .next-check-grid {
    grid-template-columns: 1fr;
  }

  .next-check-card {
    min-height: 0;
    padding: 15px;
  }

  .next-check-card-primary {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 8px;
    background: var(--next-soft);
  }

  .next-check-card-primary .next-check-topic,
  .next-check-card-primary h3,
  .next-check-card-primary .next-check-answer,
  .next-check-card-primary small,
  .next-check-card-primary em {
    grid-column: 1;
    grid-row: auto;
  }

  .next-check-card-primary em {
    width: 100%;
    min-height: 52px;
    margin-top: 4px;
  }

  .next-check-card h3 {
    font-size: 19px;
  }

  .next-check-trust {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

.official-checked-date {
  color: #64748b;
  font-size: 14px;
  font-weight: 900;
}

.answer-official-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: -8px 0 18px;
  padding: 14px 16px;
  border: 1px solid #dce8e5;
  border-radius: 8px;
  background: #f8fbfa;
}

.answer-official-bar > div:first-child {
  display: grid;
  gap: 4px;
}

.answer-official-bar strong {
  color: #102033;
  font-size: 16px;
  line-height: 1.35;
}

.answer-official-bar span {
  color: #596878;
  font-size: 14px;
  font-weight: 720;
  line-height: 1.45;
}

.answer-official-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.answer-official-links a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 11px;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background: #fff;
  color: #0d7568;
  font-size: 14px;
  font-weight: 900;
  text-align: center;
}

.health-trust-first {
  display: grid;
  gap: 16px;
  margin: 18px 0 24px;
  padding: 22px;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(239, 253, 247, 0.96), rgba(255, 255, 255, 0.98)),
    radial-gradient(circle at right top, rgba(22, 138, 114, 0.12), transparent 46%);
  box-shadow: 0 16px 38px rgba(16,32,51,.07);
}

.health-trust-main {
  display: grid;
  gap: 9px;
}

.health-trust-main h2 {
  margin: 0;
  color: #071b49;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.18;
}

.health-trust-main p {
  margin: 0;
  color: #405064;
  font-size: 17px;
  font-weight: 760;
  line-height: 1.58;
}

.health-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.health-trust-grid div {
  border: 1px solid #dbe7e3;
  border-radius: 8px;
  background: rgba(255,255,255,.88);
  padding: 16px;
}

.health-trust-grid strong {
  display: block;
  margin-bottom: 10px;
  color: var(--green-dark);
  font-size: 18px;
  line-height: 1.25;
}

.health-trust-grid ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.health-trust-grid li {
  position: relative;
  padding-left: 16px;
  color: #334155;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.45;
}

.health-trust-grid li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
}

.health-official-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding-top: 2px;
}

.health-official-row span,
.health-official-row a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 14px;
  font-weight: 900;
}

.health-official-row span {
  background: #e6f5f1;
  color: var(--green-dark);
}

.health-official-row a {
  border: 1px solid #cfe2dd;
  background: #fff;
  color: #123f73;
}
.howto-summary {
  display: grid;
  gap: 16px;
  margin: 24px 0;
  padding: 22px;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfa 100%);
  box-shadow: 0 14px 34px rgba(16,32,51,.06);
}
.howto-summary h2 {
  margin: 0;
  color: #071b49;
  font-size: 30px;
  line-height: 1.22;
}
.howto-summary ol {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
  counter-reset: howto-step;
}
.howto-summary li {
  position: relative;
  min-height: 154px;
  border: 1px solid #dbe7e3;
  border-radius: 8px;
  background: #fff;
  counter-increment: howto-step;
  overflow: hidden;
}
.howto-summary li::before {
  content: counter(howto-step);
  position: absolute;
  left: 16px;
  top: 16px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 16px;
  font-weight: 950;
  z-index: 2;
  pointer-events: none;
}
.howto-step-link {
  height: 100%;
  min-height: 152px;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 16px 16px 16px 58px;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
  box-sizing: border-box;
}
.howto-step-link:hover,
.howto-step-link:focus-visible {
  background: #edf9f6;
  outline: 3px solid rgba(16, 141, 120, 0.24);
  outline-offset: -3px;
}
.howto-summary strong {
  color: var(--green-dark);
  font-size: 19px;
  line-height: 1.24;
}
.howto-summary p {
  margin: 0;
  color: #405064;
  font-size: 16px;
  font-weight: 760;
  line-height: 1.5;
}
.howto-step-link em {
  align-self: end;
  margin-top: 4px;
  color: #0b725f;
  font-size: 15px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.4;
}
.guide-flow-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 18px;
  align-items: center;
  margin: 24px 0;
  padding: 22px;
  border: 1px solid #d8e8e4;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbfa 100%);
  box-shadow: 0 14px 34px rgba(16,32,51,.06);
}
.guide-flow-copy {
  min-width: 0;
  display: grid;
  gap: 12px;
}
.guide-flow-copy h2 {
  margin: 0;
  color: #071b49;
  font-size: clamp(26px, 3.1vw, 34px);
  line-height: 1.2;
}
.guide-flow-copy p {
  margin: 0;
  color: #405064;
  font-size: 17px;
  font-weight: 760;
  line-height: 1.58;
}
.guide-flow-copy ol {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: guide-step;
}
.guide-flow-copy li {
  position: relative;
  min-width: 0;
  padding: 13px 14px 13px 48px;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #fff;
  counter-increment: guide-step;
}
.guide-flow-copy li::before {
  content: counter(guide-step);
  position: absolute;
  left: 14px;
  top: 14px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #e6f5f1;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 950;
}
.guide-flow-copy li strong {
  display: block;
  color: var(--green-dark);
  font-size: 17px;
  line-height: 1.28;
}
.guide-flow-copy li span {
  display: block;
  margin-top: 3px;
  color: #405064;
  font-size: 15px;
  font-weight: 760;
  line-height: 1.5;
}
.guide-flow-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.guide-flow-links a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #cfe2dd;
  border-radius: 999px;
  background: #fff;
  color: #0d5f51;
  padding: 8px 12px;
  font-size: 15px;
  font-weight: 900;
}
.guide-flow-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid #dbe7e3;
  border-radius: 8px;
  background: #f6faf9;
}
.guide-row-list {
  display: grid;
  gap: 10px;
}
.guide-row {
  min-width: 0;
  display: grid;
  gap: 6px;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #fff;
  padding: 16px 18px;
  box-shadow: 0 10px 24px rgba(16,32,51,.045);
}
.guide-row span {
  width: fit-content;
  color: var(--green-dark);
  font-size: 14px;
  font-weight: 950;
}
.guide-row strong {
  color: #101827;
  font-size: 22px;
  line-height: 1.25;
}
.guide-row p,
.guide-row small {
  margin: 0;
  color: #475569;
  font-size: 16px;
  font-weight: 730;
  line-height: 1.52;
}
.guide-row small {
  color: #647287;
  font-size: 14px;
}
.faq-section {
  display: grid;
  gap: 14px;
  margin-top: 32px;
  padding: 24px;
  border: 1px solid #dbe7e3;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fcfb 100%);
  box-shadow: 0 14px 34px rgba(16,32,51,.06);
}
.faq-section h2 {
  margin: 0;
  color: var(--navy);
  font-size: 28px;
  line-height: 1.22;
}
.faq-list {
  display: grid;
  gap: 10px;
}
.faq-list details {
  border: 1px solid #dbe7e3;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.faq-list summary {
  min-height: 54px;
  padding: 15px 18px;
  cursor: pointer;
  color: #18283c;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.35;
}
.faq-list p {
  margin: 0;
  padding: 0 18px 18px;
  color: var(--muted);
  font-size: 17px;
  font-weight: 700;
}
.compact-section {
  padding-top: 24px;
}
.section-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: end;
  margin-bottom: 18px;
}
.section h2 {
  margin: 0;
  font-size: clamp(28px, 3.8vw, 40px);
  line-height: 1.2;
  color: var(--ink);
}
.section-head p {
  margin: 0;
  max-width: 520px;
  color: var(--muted);
  font-size: 17px;
}
.compact-head {
  align-items: center;
}
.compact-head a {
  color: #0d5f51;
  font-weight: 900;
  white-space: nowrap;
}
.recommend-section {
  padding-top: 26px;
  padding-bottom: 40px;
}
.recommend-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
}
.recommend-card {
  min-height: 326px;
  display: grid;
  grid-template-rows: 148px auto auto auto 1fr;
  align-content: start;
  position: relative;
  overflow: hidden;
  border: 1px solid #dce6e3;
  border-radius: 8px;
  padding: 0 0 16px;
  color: var(--ink);
  background: #fff;
  box-shadow: 0 18px 42px rgba(16,32,51,.08);
}
.recommend-card::after {
  content: none;
}
.recommend-thumb {
  position: static;
  width: 100%;
  height: 148px;
  object-fit: cover;
  border: 0;
  border-radius: 0;
}
.recommend-card span,
.recommend-card strong {
  position: relative;
  z-index: 3;
}
.recommend-card span {
  width: fit-content;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  margin: 14px 14px 0;
  border-radius: 999px;
  padding: 5px 10px;
  background: #e8f6ef;
  border: 1px solid #c9e7d7;
  color: #06753c;
  font-size: 14px;
  font-weight: 900;
}
.recommend-card strong {
  margin: 10px 14px 0;
  font-size: 20px;
  line-height: 1.25;
}
.recommend-card p {
  margin: 8px 14px 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.45;
  font-weight: 750;
}
.recommend-card em {
  align-self: end;
  width: fit-content;
  margin: 14px 14px 0;
  border-radius: 8px;
  padding: 8px 12px;
  background: #f8fbff;
  border: 1px solid #d9e4ef;
  color: #071b49;
  font-style: normal;
  font-size: 14px;
  font-weight: 950;
}
.concept-shopping,
.concept-consult {
  background:
    linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
  border-top: 1px solid #d9e8ef;
  border-bottom: 1px solid #e4edf2;
}
.concept-shopping .section,
.concept-consult .section {
  padding-top: 44px;
  padding-bottom: 46px;
}
.consult-preview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.benefit-icon-section {
  padding-top: 44px;
  padding-bottom: 36px;
}
.benefit-icon-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.benefit-icon-grid .policy-category-card {
  min-height: 230px;
  box-shadow: 0 16px 34px rgba(16,32,51,.07);
}
.conversion-lab-section {
  padding-top: 28px;
}
.top-affiliate-section {
  padding-top: 30px;
  padding-bottom: 22px;
}
.top-affiliate-section .section-head {
  margin-bottom: 10px;
}
.affiliate-disclosure-box {
  max-width: 960px;
  margin: 8px 0 14px;
  border: 1px solid #dbe8e3;
  border-radius: 8px;
  background: linear-gradient(135deg, #f7fcfb, #ffffff);
  padding: 10px 12px;
  color: #51606f;
  font-size: 14px;
  font-weight: 750;
}
.affiliate-advantage-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 12px;
}
.affiliate-advantage-strip div {
  min-height: 104px;
  display: grid;
  align-content: start;
  gap: 6px;
  border: 1px solid #dbe8e3;
  border-radius: 8px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfefd 100%),
    radial-gradient(circle at right top, rgba(32,184,159,.12), transparent 42%);
  padding: 14px;
  box-shadow: 0 12px 32px rgba(16,32,51,.055);
}
.affiliate-advantage-strip strong {
  color: #0d5f51;
  font-size: 17px;
  line-height: 1.25;
}
.affiliate-advantage-strip p {
  margin: 0;
  color: #4b596a;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.45;
}
.affiliate-priority-grid {
  margin-top: 10px;
}
.affiliate-priority-grid .slot-card {
  display: grid;
  align-content: start;
  gap: 8px;
  border-color: #cfe5dc;
  box-shadow: 0 18px 42px rgba(16,32,51,.08);
}
.affiliate-priority-grid .mini-cta {
  width: 100%;
  text-align: center;
}
.affiliate-value {
  display: grid;
  gap: 7px;
  margin-top: 4px;
  border: 1px solid #dce9e5;
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fcfb 0%, #ffffff 100%);
  padding: 11px 12px;
}
.affiliate-value span {
  color: #0d5f51;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.25;
}
.affiliate-value ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.affiliate-value li {
  position: relative;
  padding-left: 17px;
  color: #263241;
  font-size: 14px;
  font-weight: 820;
  line-height: 1.42;
}
.affiliate-value li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 5px;
  border-left: 2px solid var(--green-dark);
  border-bottom: 2px solid var(--green-dark);
  transform: rotate(-45deg);
}
.affiliate-value small {
  display: inline-flex;
  width: fit-content;
  min-height: 26px;
  align-items: center;
  border-radius: 999px;
  background: #edf7f5;
  color: #0d5f51;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.15;
}
.compact-value {
  padding: 9px 10px;
}
.compact-value span {
  font-size: 13px;
}
.compact-value li {
  font-size: 13px;
  line-height: 1.36;
}
.compact-value small {
  display: none;
}
.top-support-products {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  border: 1px solid #e2ebe8;
  border-radius: 8px;
  background: #fbfefd;
  padding: 14px;
}
.top-support-products > strong {
  color: #243047;
  font-size: 18px;
  line-height: 1.25;
}
.revenue-path-section {
  padding-top: 28px;
  padding-bottom: 24px;
}
.revenue-path-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.revenue-path-card {
  min-width: 0;
  min-height: 238px;
  display: grid;
  align-content: start;
  gap: 10px;
  border: 1px solid #d7e6e1;
  border-radius: 8px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fcfb 100%),
    radial-gradient(circle at right top, rgba(22,138,114,.10), transparent 44%);
  box-shadow: 0 16px 38px rgba(16,32,51,.07);
  padding: 18px;
}
.revenue-path-card > span {
  width: fit-content;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #edf7f5;
  color: #0d5f51;
  padding: 5px 10px;
  font-size: 13px;
  font-weight: 950;
}
.revenue-path-card h3 {
  margin: 0;
  color: #101827;
  font-size: 23px;
  line-height: 1.22;
}
.revenue-path-card p {
  margin: 0;
  color: #4b596a;
  font-size: 15px;
  font-weight: 760;
  line-height: 1.48;
}
.revenue-path-actions {
  display: grid;
  gap: 8px;
  margin-top: auto;
}
.sponsor-soft-action {
  background: #fff8ed;
  border-color: #f3d7a8;
  color: #8a4b0d;
}
.affiliate-intent-section {
  padding-top: 20px;
  padding-bottom: 24px;
}
.affiliate-intent-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.affiliate-intent-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 10px;
  border: 1px solid #d8e6e2;
  border-radius: 8px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfefd 100%),
    radial-gradient(circle at right top, rgba(245,197,66,.12), transparent 40%);
  padding: 16px;
  box-shadow: 0 16px 38px rgba(16,32,51,.07);
}
.affiliate-intent-card > span {
  width: fit-content;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #edf7f5;
  color: #0d5f51;
  padding: 5px 10px;
  font-size: 13px;
  font-weight: 950;
}
.affiliate-intent-card h3 {
  margin: 0;
  color: #101827;
  font-size: 21px;
  line-height: 1.25;
}
.affiliate-intent-card p {
  margin: 0;
  color: #4b596a;
  font-size: 15px;
  font-weight: 760;
  line-height: 1.48;
}
.affiliate-link-row {
  display: grid;
  gap: 7px;
}
.expanded-intent-section .affiliate-link-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.affiliate-inline-link {
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2px;
  align-content: center;
  border: 1px solid #dce9e5;
  border-radius: 8px;
  background: #fff;
  padding: 9px 10px;
  box-shadow: 0 8px 20px rgba(16,32,51,.045);
}
.affiliate-inline-link span {
  color: #0d7568;
  font-size: 12px;
  font-weight: 900;
}
.affiliate-inline-link strong {
  color: #172033;
  font-size: 17px;
  line-height: 1.18;
}
.affiliate-inline-link small {
  color: #637083;
  font-size: 12px;
  font-weight: 820;
  line-height: 1.24;
}
.primary-intent-cta {
  width: 100%;
  text-align: center;
}
.contextual-revenue-panel {
  display: grid;
  gap: 16px;
  margin: 28px 0;
  border: 1px solid #d7e6e1;
  border-radius: 8px;
  background:
    linear-gradient(135deg, #ffffff 0%, #f7fcfb 60%),
    radial-gradient(circle at right top, rgba(245,197,66,.15), transparent 42%);
  box-shadow: 0 18px 42px rgba(16,32,51,.08);
  padding: 22px;
}
.contextual-revenue-panel h2 {
  margin: 4px 0 6px;
  color: #101827;
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.22;
}
.contextual-revenue-panel p {
  margin: 0;
  color: #51606f;
  font-size: 16px;
  font-weight: 760;
  line-height: 1.5;
}
.contextual-revenue-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, .9fr);
  gap: 14px;
}
.contextual-sponsor-column,
.contextual-product-column {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 10px;
}
.contextual-sponsor-column > strong,
.contextual-product-column > strong {
  color: #0d5f51;
  font-size: 18px;
  line-height: 1.25;
}
.sponsor-offer-card {
  margin: 30px 0;
  overflow: hidden;
  border: 1px solid #b9d5c8;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(25, 72, 58, 0.08);
}
.sponsor-offer-layout {
  display: grid;
  grid-template-columns: minmax(190px, 0.7fr) minmax(0, 1.3fr);
  min-width: 0;
}
.sponsor-offer-primary:focus-visible {
  outline: 3px solid rgba(21, 148, 103, 0.28);
  outline-offset: 2px;
}
.sponsor-offer-media {
  position: relative;
  min-height: 280px;
  background: #eef6f2;
}
.sponsor-offer-image {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}
.sponsor-offer-media > span {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  padding: 9px 11px;
  border-radius: 6px;
  background: rgba(18, 55, 44, 0.92);
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
}
.sponsor-offer-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px;
}
.sponsor-offer-label {
  color: #8a4b08;
  font-size: 14px;
  font-weight: 800;
}
.sponsor-offer-body h2 {
  margin: 8px 0 10px;
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.28;
  letter-spacing: 0;
}
.sponsor-offer-details > p {
  margin: 0;
  color: #354841;
  font-size: 18px;
  line-height: 1.7;
}
.sponsor-offer-details ul {
  display: grid;
  gap: 8px;
  margin: 18px 0;
  padding: 0;
  list-style: none;
}
.sponsor-offer-details li {
  position: relative;
  padding-left: 24px;
  color: #183f33;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.55;
}
.sponsor-offer-details li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 9px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #159467;
}
.sponsor-offer-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 54px;
  padding: 14px 19px;
  background: #11634a;
  color: #ffffff;
  font-size: 17px;
  font-weight: 900;
  text-decoration: none;
}
.sponsor-offer-details {
  margin-top: 18px;
}
.sponsor-offer-cta:hover {
  background: #0a4d39;
  color: #ffffff;
}
.sponsor-offer-details > small {
  display: block;
  margin-top: 14px;
  color: #5c6c66;
  font-size: 14px;
  line-height: 1.55;
}
.sponsor-offer-secondary {
  margin: -18px 0 30px;
  text-align: right;
}
.sponsor-offer-secondary .soft-action {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}
.compact-slot-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.contextual-revenue-panel .slot-card {
  min-height: 0;
  gap: 8px;
  padding: 12px;
}
.contextual-revenue-panel .slot-thumb {
  height: 92px;
}
.contextual-revenue-panel .slot-card strong {
  font-size: 18px;
  line-height: 1.2;
}
.contextual-revenue-panel .slot-card p,
.contextual-revenue-panel .spark-kick,
.contextual-revenue-panel .meta {
  display: none;
}
.contextual-revenue-panel .mini-cta {
  width: 100%;
  text-align: center;
}
.sponsor-reference-list {
  display: grid;
  gap: 8px;
}
.sponsor-reference-row {
  min-width: 0;
  display: grid;
  gap: 4px;
  border: 1px solid #dfe9ea;
  border-left: 4px solid #9acfc4;
  border-radius: 8px;
  background: #fff;
  padding: 12px 13px;
}
.sponsor-reference-row span {
  color: #0d7568;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
}
.sponsor-reference-row strong {
  color: #172033;
  font-size: 16px;
  line-height: 1.32;
}
.sponsor-reference-row small {
  color: #5b6676;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.45;
}
.compact-reference-list .sponsor-reference-row {
  padding: 11px;
}
.smart-check-spotlight,
.smart-hub {
  position: relative;
}
.smart-hub-hero,
.smart-article-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
  gap: 22px;
  align-items: center;
  margin-bottom: 18px;
  padding: 24px;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f3fbf9 62%, #fff8e8 100%);
  box-shadow: 0 18px 44px rgba(16, 24, 39, .08);
}
.smart-hub-hero h1,
.smart-article-hero h1 {
  margin: 6px 0 12px;
  color: #101827;
  font-size: clamp(34px, 4.6vw, 56px);
  line-height: 1.12;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.smart-article-hero h1 {
  font-size: clamp(30px, 3.6vw, 48px);
}
.smart-hub-hero p,
.smart-article-hero p {
  max-width: 740px;
  margin: 0;
  color: #4e5e6f;
  font-size: 18px;
  font-weight: 780;
}
.smart-hub-image,
.smart-article-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #d9e7e4;
  background: #eef7f5;
}
.health-article-hero,
.benefit-article-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(220px, .62fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
  padding: 18px;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f4fbf9 100%);
}
.health-article-hero h1,
.benefit-article-hero h1 {
  margin: 6px 0 10px;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.health-article-hero p,
.benefit-article-hero p {
  margin: 0;
  color: #4e5e6f;
  font-weight: 760;
}
.health-article-image,
.benefit-article-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid #d9e7e4;
  border-radius: 8px;
  background: #eef7f5;
}
.health-blog-longform {
  display: grid;
  gap: 18px;
  margin: 24px 0;
  padding: 22px;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(16, 32, 51, 0.06);
}
.health-blog-longform h2 {
  margin: 0;
  color: #071b49;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.18;
}
.health-blog-longform h3 {
  margin: 0;
  color: #0f2d54;
  font-size: 24px;
  line-height: 1.24;
}
.health-blog-longform p {
  margin: 0;
  color: #334155;
  font-size: 18px;
  line-height: 1.78;
  font-weight: 720;
}
.health-blog-lead {
  font-size: 20px;
  color: #20344f;
  font-weight: 820;
}
.health-inline-figure {
  display: grid;
  grid-template-columns: minmax(0, .84fr) minmax(220px, .46fr);
  gap: 16px;
  align-items: stretch;
  margin: 4px 0;
  padding: 14px;
  border: 1px solid #dce9e8;
  border-radius: 8px;
  background: #f8fbfb;
}
.health-inline-image,
.health-side-image,
.health-related-image {
  width: 100%;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #d8e8e5;
  background: #edf7f5;
}
.health-inline-image {
  aspect-ratio: 16 / 10;
}
.health-inline-figure figcaption {
  align-self: center;
  margin: 0;
  color: #43566c;
  font-size: 16px;
  line-height: 1.58;
  font-weight: 780;
}
.health-narrative-grid,
.health-diary-grid,
.health-related-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.health-narrative-grid div,
.health-diary-grid div,
.health-product-boundary,
.health-official-source-panel,
.health-related-grid a {
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #f9fbfb;
  padding: 16px;
}
.health-narrative-grid strong,
.health-diary-grid strong,
.health-related-grid strong {
  display: block;
  color: var(--green-dark);
  font-size: 19px;
  line-height: 1.28;
}
.health-diary-grid span,
.health-related-grid span {
  display: inline-flex;
  margin-bottom: 8px;
  color: #0f766e;
  font-size: 13px;
  font-weight: 950;
}
.health-when-clinic {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .45fr);
  gap: 16px;
  align-items: center;
  padding: 18px;
  border-radius: 8px;
  border: 1px solid #f1d4c8;
  background: #fff8f4;
}
.health-side-image {
  aspect-ratio: 4 / 3;
}
.health-product-boundary ul {
  display: grid;
  gap: 9px;
  margin: 12px 0 0;
  padding-left: 20px;
}
.health-product-boundary li {
  color: #334155;
  font-size: 17px;
  line-height: 1.58;
  font-weight: 760;
}
.health-official-source-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 16px;
  align-items: center;
  background: linear-gradient(135deg, #f7fbff 0%, #f7fbf6 100%);
}
.health-official-actions {
  display: grid;
  gap: 8px;
}
.health-official-actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #0f766e;
  color: #fff;
  font-weight: 900;
  text-align: center;
}
.health-related-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.health-related-grid a {
  display: grid;
  gap: 9px;
  color: inherit;
}
.health-related-image {
  aspect-ratio: 16 / 10;
}
.health-related-grid p {
  font-size: 15px;
  line-height: 1.55;
}
.benefit-blog-longform {
  display: grid;
  gap: 18px;
  margin: 24px 0;
  padding: 22px;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(16, 32, 51, 0.06);
}
.benefit-blog-longform h2 {
  margin: 0;
  color: #071b49;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.18;
}
.benefit-blog-longform h3 {
  margin: 0;
  color: #0f2d54;
  font-size: 24px;
  line-height: 1.24;
}
.benefit-blog-longform p {
  margin: 0;
  color: #334155;
  font-size: 18px;
  line-height: 1.78;
  font-weight: 720;
}
.benefit-blog-lead {
  color: #20344f;
  font-size: 20px;
  font-weight: 820;
}
.benefit-inline-figure {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(220px, .44fr);
  gap: 16px;
  align-items: stretch;
  margin: 4px 0;
  padding: 14px;
  border: 1px solid #dce9e8;
  border-radius: 8px;
  background: #f8fbfb;
}
.benefit-inline-image,
.benefit-side-image,
.benefit-next-image {
  width: 100%;
  object-fit: cover;
  border: 1px solid #d8e8e5;
  border-radius: 8px;
  background: #edf7f5;
}
.benefit-inline-image {
  aspect-ratio: 16 / 10;
}
.benefit-inline-figure figcaption {
  align-self: center;
  margin: 0;
  color: #43566c;
  font-size: 16px;
  line-height: 1.58;
  font-weight: 780;
}
.benefit-narrative-grid,
.benefit-memo-grid,
.benefit-day-grid,
.benefit-next-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.benefit-narrative-grid div,
.benefit-memo-grid div,
.benefit-day-grid article,
.benefit-question-bank,
.benefit-source-boundary,
.benefit-next-grid a {
  min-width: 0;
  padding: 16px;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #f9fbfb;
}
.benefit-narrative-grid strong,
.benefit-memo-grid strong,
.benefit-next-grid strong {
  display: block;
  color: var(--green-dark);
  font-size: 19px;
  line-height: 1.28;
}
.benefit-memo-grid span,
.benefit-day-grid span,
.benefit-next-grid span {
  display: inline-flex;
  margin-bottom: 8px;
  color: #0f766e;
  font-size: 13px;
  font-weight: 950;
}
.benefit-day-flow {
  display: grid;
  gap: 14px;
  border-top: 1px solid #e7efed;
  border-bottom: 1px solid #e7efed;
  padding: 18px 0;
}
.benefit-day-flow h3 {
  margin: 4px 0 10px;
}
.benefit-day-flow > div:first-child {
  display: grid;
  gap: 10px;
}
.benefit-day-note {
  color: #566579;
  font-size: 16px;
}
.benefit-slow-read {
  display: grid;
  gap: 10px;
  max-width: 920px;
  border-left: 4px solid #d5ece7;
  padding-left: 16px;
}
.benefit-slow-read p {
  color: #344256;
}
.benefit-day-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.benefit-day-grid article {
  background: #fff;
  padding: 14px;
}
.benefit-day-grid p {
  font-size: 15px;
  line-height: 1.58;
}
.benefit-memo-board,
.benefit-next-reading {
  display: grid;
  gap: 12px;
}
.benefit-question-bank {
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(260px, 1fr);
  gap: 16px;
  background: #fffaf3;
  border-color: #f0ddc3;
}
.benefit-question-bank ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 20px;
}
.benefit-question-bank li {
  color: #334155;
  font-size: 17px;
  line-height: 1.58;
  font-weight: 760;
}
.benefit-source-boundary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .46fr);
  gap: 16px;
  align-items: center;
  background: linear-gradient(135deg, #f7fbff 0%, #f7fbf6 100%);
}
.benefit-side-image {
  aspect-ratio: 4 / 3;
}
.benefit-next-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.benefit-next-grid a {
  display: grid;
  gap: 9px;
  color: inherit;
}
.benefit-next-image {
  aspect-ratio: 16 / 10;
}
.benefit-next-grid p {
  font-size: 15px;
  line-height: 1.55;
}
.smart-hub-tags,
.smart-toc {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.smart-hub-tags a,
.smart-toc a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 8px 11px;
  border: 1px solid #d4e5e2;
  border-radius: 8px;
  background: #fff;
  color: #0d7568;
  font-size: 14px;
  font-weight: 900;
}
.smart-check-grid,
.smart-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.featured-smart-grid {
  margin-top: 12px;
}
.smart-check-card,
.smart-related-card {
  min-width: 0;
  display: grid;
  gap: 9px;
  padding: 14px;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(16, 24, 39, .07);
}
.smart-check-card span,
.smart-related-card span {
  color: #0d7568;
  font-size: 13px;
  font-weight: 900;
}
.smart-check-card strong,
.smart-related-card strong {
  color: #101827;
  font-size: 20px;
  line-height: 1.25;
}
.smart-check-card p,
.smart-related-card small {
  margin: 0;
  color: #596879;
  font-size: 15px;
  font-weight: 760;
  line-height: 1.5;
}
.smart-check-card em {
  width: fit-content;
  margin-top: 4px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #101827;
  color: #fff;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}
.smart-card-thumb,
.smart-related-thumb {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #e0e9e8;
}
.smart-category-group {
  margin-top: 24px;
}
.smart-hub-featured,
.smart-reading-intro,
.smart-reading-group {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid #e2ece9;
}
.smart-reading-intro {
  max-width: 860px;
}
.smart-reading-intro h2 {
  margin: 4px 0 8px;
  font-size: 30px;
  line-height: 1.25;
}
.smart-reading-intro p {
  margin: 0;
  color: #4e5e6f;
  font-weight: 700;
  line-height: 1.68;
}
.smart-reading-list {
  display: grid;
  gap: 10px;
}
.smart-reading-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 16px;
  border: 1px solid #dfe9e8;
  border-radius: 8px;
  background: #fff;
}
.smart-reading-row > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #eef7f5;
  color: #0d7568;
  font-size: 13px;
  font-weight: 950;
}
.smart-reading-row strong {
  display: block;
  color: #101827;
  font-size: 20px;
  line-height: 1.28;
}
.smart-reading-row p {
  margin: 5px 0 6px;
  color: #4e5e6f;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 680;
}
.smart-reading-row small {
  display: block;
  color: #0d7568;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.45;
}
.smart-reading-row em {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #101827;
  color: #fff;
  padding: 8px 10px;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}
.smart-layout {
  align-items: start;
}
.smart-article {
  min-width: 0;
}
.smart-intent-box {
  display: grid;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  margin-top: 16px;
  padding: 12px 14px;
  border: 1px solid #d7e6e1;
  border-radius: 8px;
  background: rgba(255,255,255,.78);
  color: #526172;
  font-size: 15px;
  font-weight: 800;
}
.smart-intent-box strong {
  color: #0d7568;
}
.smart-toc {
  position: sticky;
  top: 72px;
  z-index: 8;
  margin: 0 0 18px;
  padding: 10px;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(12px);
}
.smart-longform-block,
.smart-deep-section,
.smart-related-section,
.smart-bottom-cta {
  margin: 24px 0;
  padding: 22px;
  border: 1px solid #dce8e7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(16, 24, 39, .06);
}
.smart-longform-block h2,
.smart-deep-section h2,
.smart-bottom-cta h2 {
  margin: 4px 0 10px;
  color: #101827;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.22;
}
.smart-longform-block p,
.smart-deep-section p,
.smart-bottom-cta p {
  margin: 0 0 14px;
  color: #536374;
  font-weight: 760;
}
.smart-detail-grid,
.smart-question-bank ol,
.smart-mistake-list {
  display: grid;
  gap: 14px;
}
.smart-detail-card,
.smart-mistake-list div,
.smart-question-bank li {
  min-width: 0;
  padding: 16px;
  border: 1px solid #e0e9e8;
  border-radius: 8px;
  background: #f8fcfb;
}
.smart-detail-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 30px;
  margin-bottom: 8px;
  border-radius: 8px;
  background: #0d7568;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
}
.smart-detail-card h3,
.smart-mistake-list strong,
.smart-question-bank strong {
  display: block;
  margin: 0 0 8px;
  color: #101827;
  font-size: 20px;
  line-height: 1.34;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.smart-detail-card p:last-child,
.smart-mistake-list p:last-child,
.smart-question-bank li:last-child {
  margin-bottom: 0;
}
.smart-mistake-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.smart-question-bank ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
.smart-question-bank span {
  display: block;
  color: #536374;
  font-size: 15px;
  font-weight: 760;
  line-height: 1.55;
}
.smart-source-style {
  background: #fffdf7;
  border-color: #eadbbd;
}
.smart-family-memo {
  background: #f8fcfb;
}
.smart-visual-grid {
  display: grid;
  grid-template-columns: minmax(260px, .82fr) minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
  margin: 14px 0;
}
.smart-visual-map {
  min-height: 260px;
  display: grid;
  gap: 10px;
  align-content: center;
  justify-items: stretch;
  padding: 18px;
  border: 1px solid #dce8e7;
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fcfb 0%, #eef7f5 100%);
}
.smart-visual-map strong {
  min-height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid #d7e6e1;
  border-radius: 8px;
  background: #fff;
  color: #0d7568;
  font-size: 19px;
  font-weight: 950;
  text-align: center;
}
.smart-visual-map span {
  color: #647287;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
}
.smart-visual-steps {
  display: grid;
  gap: 10px;
}
.smart-visual-steps div {
  min-width: 0;
  padding: 14px;
  border: 1px solid #e0e9e8;
  border-radius: 8px;
  background: #fff;
}
.smart-visual-steps span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-bottom: 8px;
  border-radius: 999px;
  background: #101827;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
}
.smart-visual-steps strong {
  display: block;
  margin-bottom: 6px;
  color: #101827;
  font-size: 18px;
}
.smart-checklist-block ol {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 22px;
}
.smart-checklist-block li {
  padding-left: 4px;
  font-weight: 820;
}
.smart-compare-table {
  display: grid;
  overflow: hidden;
  border: 1px solid #dce8e7;
  border-radius: 8px;
}
.smart-compare-table div {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  min-width: 0;
  border-top: 1px solid #e5eeec;
}
.smart-compare-table div:first-child {
  border-top: 0;
}
.smart-compare-table strong,
.smart-compare-table span {
  padding: 12px;
  font-size: 15px;
  line-height: 1.45;
}
.smart-compare-table strong {
  background: #f3faf8;
  color: #0d7568;
}
.smart-compare-table span {
  color: #334155;
  font-weight: 760;
}
.smart-bottom-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  background: #101827;
  color: #fff;
}
.smart-bottom-cta span,
.smart-bottom-cta h2,
.smart-bottom-cta p {
  color: #fff;
}
.smart-bottom-cta span {
  font-size: 13px;
  font-weight: 900;
  color: #f5c542;
}
.smart-bottom-cta .cta {
  min-width: 210px;
  text-align: center;
  background: #f5c542;
  color: #101827;
}
.smart-sidebar {
  display: grid;
  gap: 12px;
}
.smart-sidebar-stack {
  display: grid;
  gap: 12px;
}
.smart-revenue-panel {
  margin: 24px 0;
}
.three-course-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.conversion-lab {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
  padding: 22px;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background:
    linear-gradient(135deg, #f5fbff 0%, #ffffff 55%),
    radial-gradient(circle at right top, rgba(232,111,89,.12), transparent 40%);
  box-shadow: 0 18px 44px rgba(16,32,51,.08);
}
.conversion-lab h2 {
  font-size: clamp(30px, 4vw, 46px);
}
.conversion-lab p {
  max-width: 660px;
  color: var(--muted);
  font-size: 19px;
}
.checklist-panel {
  display: grid;
  gap: 10px;
  align-content: center;
  border-radius: 8px;
  background: var(--navy);
  color: #fff;
  padding: 20px;
}
.checklist-panel strong {
  font-size: 25px;
  line-height: 1.2;
}
.checklist-panel ul {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
  list-style: none;
}
.checklist-panel li {
  position: relative;
  padding-left: 18px;
  font-size: 17px;
  line-height: 1.45;
}
.checklist-panel li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--yellow);
}
.funnel-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.funnel-step-card {
  min-height: 360px;
  display: grid;
  gap: 10px;
  align-content: start;
  border: 2px solid #d7e5ef;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 14px 30px rgba(16,32,51,.06);
}
.funnel-thumb {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f6faf9;
}
.funnel-step-card > span {
  width: fit-content;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 11px;
  color: var(--green-dark);
  background: #e7f5f1;
  border: 1px solid #cfe2dd;
  font-size: 14px;
  font-weight: 900;
}
.funnel-step-card strong {
  font-size: 24px;
  line-height: 1.22;
}
.funnel-step-card p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
}
.funnel-step-card em {
  align-self: end;
  min-height: 42px;
  display: grid;
  place-items: center;
  margin-top: 4px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--orange), var(--coral));
  color: #fff;
  font-style: normal;
  font-weight: 900;
}
.safety-hub-section {
  max-width: 1180px;
}
.safety-lab {
  background:
    linear-gradient(135deg, #ffffff 0%, #f5fbff 58%),
    radial-gradient(circle at right top, rgba(245, 197, 66, .18), transparent 42%);
}
.safety-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}
.safety-hub-card {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 258px;
  border: 1px solid #d7e6e1;
  border-radius: 8px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 14px 34px rgba(16,32,51,.07);
}
.safety-hub-card > span,
.product-bundle-card > span,
.health-condition-card > span {
  width: fit-content;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #e9f7f3;
  color: var(--green-dark);
  border: 1px solid #cfe2dd;
  padding: 5px 11px;
  font-size: 14px;
  font-weight: 950;
}
.safety-hub-card h3,
.product-bundle-card h3,
.health-condition-card h3 {
  margin: 0;
  color: #071b49;
  font-size: 25px;
  line-height: 1.2;
}
.safety-hub-card p,
.product-bundle-card p,
.health-condition-card p {
  margin: 0;
  color: #536274;
  font-size: 16px;
  font-weight: 760;
  line-height: 1.48;
}
.safety-hub-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}
.safety-hub-links a,
.soft-action {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d7e6e1;
  border-radius: 8px;
  background: #f7fcfb;
  color: var(--green-dark);
  padding: 8px 12px;
  font-size: 15px;
  font-weight: 950;
}
.hub-mini-products,
.bundle-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.product-mini-card {
  display: grid;
  gap: 8px;
  align-content: start;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
  box-shadow: 0 10px 24px rgba(16,32,51,.06);
}
.mini-product-thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f6faf9;
}
.product-mini-card strong {
  color: #0e2038;
  font-size: 17px;
  line-height: 1.22;
}
.product-mini-card p {
  color: #536274;
  font-size: 14px;
  line-height: 1.38;
}
.product-mini-card em {
  align-self: end;
  min-height: 38px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: linear-gradient(135deg, #f08a24, #d94d22);
  color: #fff;
  padding: 7px 9px;
  font-size: 14px;
  font-style: normal;
  font-weight: 950;
  text-align: center;
}
.product-text-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.product-text-link {
  display: grid;
  gap: 4px;
  min-width: 0;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #fff;
  padding: 12px 13px;
}
.product-text-link strong {
  color: #123f73;
  font-size: 16px;
  line-height: 1.28;
}
.product-text-link span {
  color: #5b6676;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.45;
}
.product-text-static {
  background: #f8fcfb;
  color: inherit;
}
.product-text-static strong {
  color: #172033;
}
.product-text-static span {
  color: #5f6d7b;
}
.home-product-reading-section {
  padding-top: 24px;
  padding-bottom: 24px;
}
.home-product-check-grid,
.home-reference-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.home-reference-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.home-product-check,
.home-reference-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 10px;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 10px 26px rgba(16,32,51,.045);
}
.home-product-check > span,
.home-reference-card > span {
  width: fit-content;
  border-radius: 999px;
  background: #eef7f5;
  color: var(--green-dark);
  border: 1px solid #d1e3df;
  padding: 5px 10px;
  font-size: 13px;
  font-weight: 950;
}
.home-product-check p,
.home-reference-card p {
  margin: 0;
  color: #536274;
  font-size: 15px;
  font-weight: 720;
  line-height: 1.55;
}
.home-reference-card strong {
  color: #101827;
  font-size: 22px;
  line-height: 1.28;
}
.quiet-reference-links {
  display: grid;
  gap: 8px;
  margin-top: 2px;
}
.quiet-reference-links a {
  min-width: 0;
  display: block;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #f8fcfb;
  color: #0d5f51;
  padding: 12px 13px;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}
.product-scenario-section,
.product-criteria-section {
  padding-top: 28px;
  padding-bottom: 28px;
}
.product-scenario-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.product-scenario-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 11px;
  border: 1px solid #d7e6e1;
  border-radius: 8px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 12px 30px rgba(16,32,51,.05);
}
.product-scenario-card > span,
.product-criteria-row > span {
  width: fit-content;
  border-radius: 999px;
  background: #eef7f5;
  color: var(--green-dark);
  border: 1px solid #d1e3df;
  padding: 5px 10px;
  font-size: 13px;
  font-weight: 950;
}
.product-scenario-card h3 {
  margin: 0;
  color: #101827;
  font-size: 23px;
  line-height: 1.24;
}
.product-scenario-card p {
  margin: 0;
  color: #536274;
  font-size: 16px;
  font-weight: 720;
  line-height: 1.58;
}
.product-scenario-card ul {
  display: grid;
  gap: 7px;
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
}
.product-scenario-card li {
  position: relative;
  padding-left: 18px;
  color: #2f3c4f;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.45;
}
.product-scenario-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .66em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--green-dark);
}
.product-criteria-list {
  display: grid;
  gap: 10px;
}
.product-criteria-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(120px, .32fr) minmax(180px, .48fr) minmax(240px, 1fr);
  gap: 8px 14px;
  align-items: start;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 8px 20px rgba(16,32,51,.035);
}
.product-criteria-row strong {
  color: #101827;
  font-size: 20px;
  line-height: 1.3;
}
.product-criteria-row p,
.product-criteria-row small {
  margin: 0;
  color: #526174;
  font-size: 15px;
  font-weight: 720;
  line-height: 1.5;
}
.product-criteria-row small {
  grid-column: 2 / -1;
  color: #0d5f51;
  font-size: 14px;
  font-weight: 850;
}
.product-criteria-static {
  box-shadow: none;
}
.product-quiet-reference {
  padding-top: 24px;
}
.product-reference-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.sidebar-mini-title {
  display: block;
  margin-top: 8px;
  color: #101827;
  font-size: 17px;
  line-height: 1.35;
}
.product-bundle-section,
.health-condition-section {
  margin: 26px 0;
}
.product-bundle-grid,
.health-condition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.product-bundle-card,
.health-condition-card {
  display: grid;
  gap: 12px;
  align-content: start;
  border: 1px solid #d7e6e1;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fcfb 100%);
  box-shadow: 0 14px 34px rgba(16,32,51,.07);
  padding: 18px;
}
.clickable-content-card,
.health-condition-card {
  color: inherit;
  text-decoration: none;
}
.clickable-content-card:focus-visible,
.health-condition-card:focus-visible {
  border-color: #75bcae;
  outline: 3px solid rgba(22, 138, 114, .2);
  outline-offset: 2px;
}
.condition-check-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.condition-check-list li {
  position: relative;
  padding-left: 18px;
  color: #243246;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.42;
}
.condition-check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--green);
}
.condition-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}
.medical-safe-note {
  border-left: 4px solid #d7e6e1;
  background: #f7fcfb;
  padding: 10px 12px;
}
.strong-note {
  margin-top: 12px;
  font-weight: 850;
}
.layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 22px;
  align-items: start;
}
.card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.benefit-card,
.article-card,
.product-row,
.ad-card,
.slot-card,
.persona-card,
.urgent-card,
.spotlight-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 18px;
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}
.benefit-card,
.article-card {
  display: block;
  color: inherit;
  text-decoration: none;
}
.product-row,
.product-feature-card {
  border: 1px solid rgba(205, 222, 222, .92);
  background: linear-gradient(180deg, #ffffff 0%, #fbfefd 100%);
}
.slot-card.spark-card,
.spotlight-card.spark-card {
  border-color: #d9ebe8;
  background: linear-gradient(180deg, #ffffff 0%, #f7fcfb 100%);
  box-shadow: var(--shadow-soft);
}
.text-slot-card {
  gap: 8px;
  box-shadow: none;
  background: #fff;
}
.text-slot-card .meta {
  gap: 6px;
}
.benefit-card:hover,
.article-card:hover,
.product-row:hover,
.persona-card:hover,
.urgent-card:hover,
.spotlight-card:hover {
  box-shadow: var(--shadow);
  transform: translateY(-1px);
}
.card-thumb,
.policy-thumb,
.yield-thumb,
.spotlight-thumb,
.slot-thumb,
.product-feature-image,
.product-thumb,
.feed-thumb,
.shop-hero-image {
  display: block;
  width: 100%;
  object-fit: cover;
  border: 1px solid rgba(216, 229, 229, .92);
  border-radius: 8px;
  background: #f6faf9;
}
.card-thumb,
.policy-thumb,
.yield-thumb,
.spotlight-thumb,
.slot-thumb,
.product-feature-image {
  aspect-ratio: 16 / 10;
}
.card-thumb {
  margin-bottom: 14px;
}
.policy-thumb,
.yield-thumb,
.spotlight-thumb,
.slot-thumb,
.product-feature-image {
  margin-bottom: 10px;
}
.small-thumb {
  aspect-ratio: 16 / 8;
}
.product-thumb {
  width: 152px;
  aspect-ratio: 4 / 3;
  flex: 0 0 auto;
}
.product-feature-image,
.product-thumb,
.shop-hero-image {
  aspect-ratio: 4 / 3;
  object-position: center;
}
.hero-buy-thumb {
  object-position: center;
}
.feed-thumb {
  width: 138px;
  height: 96px;
}
.shop-hero-image {
  margin-bottom: 14px;
  border-color: rgba(255,255,255,.55);
}
.category {
  color: var(--green-dark);
  font-size: 15px;
  font-weight: 900;
}
.benefit-card h3,
.article-card h3 {
  margin: 8px 0;
  font-size: 23px;
  line-height: 1.25;
}
.benefit-card p,
.article-card p,
.product-row p,
.slot-card p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
}
.fact-list {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.fact-list li {
  padding-left: 18px;
  position: relative;
  color: #334155;
  font-size: 17px;
}
.fact-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
}
.apply-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 14px;
  border-radius: 8px;
  background: var(--green);
  color: #fff;
  padding: 10px 14px;
  font-size: 16px;
  font-weight: 900;
}
.ad-card {
  position: sticky;
  top: 82px;
  display: grid;
  gap: 12px;
  background: var(--soft);
}
.ad-band {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 280px;
  margin: 24px 0;
  border: 1px solid #d7e4df;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f4faf8 100%);
  box-sizing: border-box;
  display: grid;
  align-items: center;
  clear: both;
  overflow: visible;
  contain: layout;
}
.ad-label {
  align-self: start;
  justify-self: start;
  margin: 10px 0 0 10px;
  border-radius: 999px;
  background: #eef3f3;
  color: #647287;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
}
.ad-band .adsbygoogle {
  display: block;
  width: 100%;
  min-width: 250px;
  min-height: 250px;
}
.ad-card > .ad-band {
  margin: 0;
  min-height: 300px;
  background: #fff;
}
.ad-card > .ad-band .adsbygoogle {
  min-height: 280px;
}
.compact-ad {
  min-height: 124px;
  margin: 18px 0;
}
.compact-ad .adsbygoogle {
  min-height: 100px;
}
.top-revenue-ad {
  max-width: 1180px;
  margin: 8px auto 20px;
  border-color: #dbe7e3;
}
.in-article-ad {
  min-height: 252px;
}
.sidebar-ad {
  min-height: 300px;
}
.ad-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0;
}
.ad-stack .ad-band {
  margin: 0;
  min-height: 220px;
}
.ad-box {
  min-height: 250px;
  border: 1px dashed #afbfba;
  border-radius: 8px;
  display: grid;
  place-items: center;
  text-align: center;
  color: var(--muted);
  font-weight: 900;
  background: #fff;
  padding: 12px;
}

.ad-box span {
  display: block;
  font-size: 16px;
}
.ad-box small {
  display: block;
  margin-top: 6px;
  font-weight: 700;
}
.health-band {
  background: #f6faf9;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.money-section { padding-top: 28px; }
.money-feed-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, .72fr);
  gap: 22px;
  align-items: center;
  margin-bottom: 18px;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f4fbf9 64%, #fff7e7 100%);
  padding: 24px;
  box-shadow: 0 18px 44px rgba(16, 24, 39, .08);
}
.money-feed-hero h1 {
  max-width: 760px;
  margin: 8px 0 10px;
  font-size: clamp(34px, 4.2vw, 54px);
  line-height: 1.12;
}
.money-feed-hero p {
  max-width: 760px;
  margin: 0;
  color: #4f5f70;
  font-size: 19px;
  line-height: 1.62;
  font-weight: 760;
}
.money-feed-hero-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid #d7e6e1;
  border-radius: 8px;
  background: #f8fcfb;
}
.money-feed-reading-guide,
.money-feed-story,
.money-feed-visual-path,
.money-feed-focus,
.money-feed-issue-section,
.money-feed-family-memo,
.money-feed-related-section {
  margin: 24px 0;
  border-top: 1px solid #e2ece9;
  padding-top: 24px;
}
.money-feed-reading-guide h2,
.money-feed-story h2,
.money-feed-issue-section h2,
.money-feed-family-memo h2 {
  max-width: 760px;
  margin: 4px 0 10px;
  color: #101827;
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1.2;
}
.money-feed-reading-guide p,
.money-feed-story p,
.money-feed-issue-section p,
.money-feed-family-memo p {
  max-width: 860px;
  margin: 0 0 14px;
  color: #536374;
  font-size: 18px;
  font-weight: 740;
  line-height: 1.68;
}
.money-feed-lead {
  color: #20344f;
  font-size: 20px;
  font-weight: 820;
}
.money-feed-inline-figure {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(220px, .44fr);
  gap: 16px;
  align-items: stretch;
  margin: 16px 0;
  padding: 14px;
  border: 1px solid #dce9e8;
  border-radius: 8px;
  background: #f8fbfb;
}
.money-feed-inline-image,
.money-feed-visual-image {
  width: 100%;
  object-fit: cover;
  border: 1px solid #d8e8e5;
  border-radius: 8px;
  background: #edf7f5;
}
.money-feed-inline-image {
  aspect-ratio: 16 / 10;
}
.money-feed-inline-figure figcaption {
  align-self: center;
  margin: 0;
  color: #43566c;
  font-size: 16px;
  line-height: 1.58;
  font-weight: 780;
}
.money-feed-narrative-grid,
.money-feed-visual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.money-feed-narrative-grid div,
.money-feed-visual-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #fff;
}
.money-feed-narrative-grid strong,
.money-feed-visual-card strong {
  display: block;
  color: var(--green-dark);
  font-size: 19px;
  line-height: 1.28;
}
.money-feed-visual-card {
  display: grid;
  gap: 9px;
  color: inherit;
  box-shadow: 0 14px 32px rgba(16, 24, 39, .06);
}
.money-feed-visual-image {
  aspect-ratio: 16 / 10;
}
.money-feed-visual-card span {
  color: #0f766e;
  font-size: 13px;
  font-weight: 950;
}
.money-feed-visual-card p {
  margin: 0;
  color: #536374;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 720;
}
.money-feed-reading-guide ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.money-feed-reading-guide li {
  min-width: 0;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
}
.money-feed-reading-guide strong,
.money-feed-reading-guide span {
  display: block;
}
.money-feed-reading-guide strong {
  color: var(--green-dark);
  font-size: 17px;
}
.money-feed-reading-guide span {
  margin-top: 7px;
  color: #51606f;
  font-size: 15px;
  font-weight: 720;
  line-height: 1.55;
}
.money-feed-text-list,
.money-issue-list {
  display: grid;
  gap: 9px;
}
.money-feed-text-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #fff;
  padding: 15px;
}
.money-feed-text-row > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #eef7f5;
  color: var(--green-dark);
  font-size: 14px;
  font-weight: 950;
}
.money-feed-text-row small,
.money-feed-text-row strong,
.money-feed-text-row p {
  display: block;
}
.money-feed-text-row small {
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
}
.money-feed-text-row strong {
  margin-top: 4px;
  color: #101827;
  font-size: 20px;
  line-height: 1.34;
}
.money-feed-text-row p {
  margin: 6px 0 0;
  color: #607084;
  font-size: 15px;
  font-weight: 720;
  line-height: 1.5;
}
.money-feed-memo-table {
  display: grid;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  margin: 16px 0;
}
.money-feed-memo-table div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  border-top: 1px solid #e7efed;
}
.money-feed-memo-table div:first-child {
  border-top: 0;
}
.money-feed-memo-table strong,
.money-feed-memo-table span {
  padding: 13px 14px;
  line-height: 1.5;
}
.money-feed-memo-table strong {
  background: #f3faf8;
  color: var(--green-dark);
  font-size: 15px;
}
.money-feed-memo-table span {
  color: #334155;
  font-size: 15px;
  font-weight: 740;
}
.money-feed { display: grid; gap: 10px; }
.money-feed-item {
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  align-items: center;
  gap: 5px;
  min-height: 104px;
  border: 1px solid var(--line);
  border-left: 6px solid var(--orange);
  border-radius: 8px;
  background: #fff;
  padding: 12px 18px 12px 12px;
}
.money-feed-item strong {
  display: block;
  font-size: 23px;
  line-height: 1.25;
}
.feed-meta {
  color: var(--muted);
  font-size: 16px;
  font-weight: 800;
}
.feed-meta b { color: var(--orange); }
.yield-band {
  background: #f6fbfa;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.yield-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
}
.yield-card {
  display: grid;
  gap: 12px;
  align-content: start;
  min-height: 360px;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fdfc 100%);
  padding: 18px;
  box-shadow: var(--shadow-soft);
}
.yield-card strong {
  font-size: 24px;
  line-height: 1.22;
}
.yield-stats {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 17px;
  font-weight: 900;
}
.yield-stats span:first-child {
  color: var(--green-dark);
  font-size: 26px;
}
.yield-card p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.5;
}
.spark-kick {
  margin: 10px 0 0 !important;
  padding: 12px 12px 12px 14px;
  border: 1px solid #efd06e;
  border-left: 6px solid var(--gold);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 246, 200, .96), rgba(255,255,255,.98)),
    radial-gradient(circle at right top, rgba(232,111,89,.14), transparent 42%);
  color: #263241 !important;
  font-size: 16px !important;
  font-weight: 900;
  line-height: 1.48 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 8px 20px rgba(241,183,46,.12);
}
.spark-kick span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin-right: 8px;
  margin-bottom: 3px;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--navy);
  color: #fff;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
}
.shopping-band {
  background: #f7fbfb;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.spotlight-band {
  background: #fffaf8;
  border-top: 1px solid #f0ddd7;
  border-bottom: 1px solid #f0ddd7;
}
.persona-grid,
.urgent-grid,
.expiring-grid,
.spotlight-grid {
  display: grid;
  gap: 12px;
}
.persona-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.urgent-grid,
.expiring-grid,
.spotlight-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.persona-card,
.urgent-card,
.expiring-card,
.spotlight-card {
  display: block;
}
.persona-card strong,
.urgent-card strong,
.expiring-card strong,
.spotlight-card strong {
  display: block;
  margin-top: 7px;
  font-size: 22px;
  line-height: 1.25;
}
.persona-card p,
.urgent-card p,
.expiring-card p,
.spotlight-card p {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 17px;
}
.deadline,
.score {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  border-radius: 999px;
  padding: 5px 11px;
  font-size: 14px;
  font-weight: 900;
}
.deadline {
  color: var(--green-dark);
  background: #e6f5f1;
  border: 1px solid #cfe2dd;
}
.score {
  color: #6b3d00;
  background: linear-gradient(135deg, #fff6c8, #ffffff);
  border: 1px solid #f0d26e;
}
.article-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.policy-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.policy-category-card {
  display: grid;
  gap: 8px;
  min-height: 282px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 18px;
}
.policy-category-card span {
  color: var(--green-dark);
  font-size: 16px;
  font-weight: 900;
}
.policy-category-card strong {
  font-size: 24px;
  line-height: 1.22;
}
.policy-category-card p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
}
.policy-rank-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.policy-rank-card,
.expiring-card {
  display: grid;
  gap: 10px;
  min-height: 312px;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #fff;
  padding: 18px;
}
.policy-rank-card strong {
  font-size: 25px;
  line-height: 1.2;
}
.policy-card-stats {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-weight: 900;
}
.policy-card-stats span:first-child {
  color: var(--green-dark);
  font-size: 28px;
}
.issue-band {
  background: #f6faf9;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.issue-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.issue-short-card {
  min-height: 72px;
  display: grid;
  align-content: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 15px 17px;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.35;
}
.community-shop-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.community-page,
.dental-hearing-page {
  display: grid;
  gap: 22px;
}
.community-hero,
.dental-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .48fr);
  gap: 20px;
  align-items: center;
  padding: 24px;
  border: 1px solid #dce9e8;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f3fbf8 100%);
}
.community-hero h1,
.dental-hero h1 {
  margin: 6px 0 12px;
  color: #071b49;
  font-size: clamp(34px, 4.3vw, 58px);
  line-height: 1.08;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.community-hero p,
.dental-hero p {
  margin: 0;
  color: #334155;
  font-size: 19px;
  line-height: 1.68;
  font-weight: 760;
}
.community-hero-image,
.dental-hero-image,
.dental-inline-image,
.dental-family-image,
.community-inline-image,
.community-note-image {
  width: 100%;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #d9e7e4;
  background: #eef7f5;
}
.community-hero-image,
.dental-hero-image {
  aspect-ratio: 4 / 3;
}
.community-longform,
.community-care-diary,
.community-visual-path,
.dental-longform,
.dental-compare-section,
.dental-family-memo,
.dental-related-section,
.community-question-map,
.community-family-note {
  display: grid;
  gap: 16px;
  padding: 22px;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(16, 32, 51, 0.06);
}
.community-longform h2,
.community-care-diary h2,
.dental-longform h2,
.dental-compare-section h2,
.dental-family-memo h2,
.community-question-map h2,
.community-family-note h2 {
  margin: 0;
  color: #071b49;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.18;
}
.community-longform p,
.community-care-diary p,
.dental-longform p,
.dental-family-memo p,
.community-family-note p {
  margin: 0;
  color: #334155;
  font-size: 18px;
  line-height: 1.76;
  font-weight: 720;
}
.dental-visual-pair,
.community-visual-row,
.community-visual-grid,
.community-diary-grid,
.dental-reading-grid,
.community-flow-grid,
.community-question-grid {
  display: grid;
  gap: 12px;
}
.dental-visual-pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.community-visual-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.community-visual-grid,
.community-diary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.dental-inline-image,
.community-inline-image,
.community-visual-image {
  aspect-ratio: 16 / 10;
}
.community-diary-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: 1px solid #d9e7e4;
  border-radius: 8px;
  background: #eef7f5;
}
.community-visual-card,
.community-diary-grid article {
  display: grid;
  gap: 9px;
  align-content: start;
  min-width: 0;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #f9fbfb;
  padding: 16px;
}
.community-visual-card {
  color: inherit;
  background: #fff;
  box-shadow: 0 14px 32px rgba(16, 24, 39, .06);
}
.community-visual-image {
  width: 100%;
  object-fit: cover;
  border: 1px solid #d8e8e5;
  border-radius: 8px;
  background: #edf7f5;
}
.community-visual-card span {
  color: #0f766e;
  font-size: 13px;
  font-weight: 950;
}
.community-visual-card strong,
.community-diary-grid strong {
  display: block;
  color: var(--green-dark);
  font-size: 19px;
  line-height: 1.28;
}
.community-visual-card p,
.community-diary-grid p {
  margin: 0;
  color: #536374;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 720;
}
.dental-reading-grid,
.community-flow-grid,
.community-question-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.community-question-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.dental-reading-grid article,
.community-flow-grid article,
.community-question-grid div,
.dental-compare-table div {
  display: grid;
  gap: 9px;
  align-content: start;
  min-width: 0;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #f9fbfb;
  padding: 16px;
}
.dental-reading-grid span,
.community-flow-grid span {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #0f766e;
  color: #fff;
  font-weight: 950;
}
.dental-reading-grid h3,
.community-flow-grid strong,
.community-question-grid strong,
.dental-compare-table strong {
  margin: 0;
  color: var(--green-dark);
  font-size: 20px;
  line-height: 1.28;
}
.dental-reading-grid p,
.community-flow-grid p,
.dental-compare-table span {
  margin: 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.62;
  font-weight: 720;
}
.dental-compare-table {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.dental-compare-table a,
.community-question-grid a {
  color: #0f766e;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.45;
}
.dental-family-memo,
.community-family-note {
  grid-template-columns: minmax(0, 1fr) minmax(240px, .42fr);
  align-items: center;
}
.dental-family-memo ul,
.community-family-note ol {
  display: grid;
  gap: 9px;
  margin: 12px 0 0;
  padding-left: 21px;
}
.dental-family-memo li,
.community-family-note li {
  color: #334155;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 760;
}
.dental-family-image,
.community-note-image {
  aspect-ratio: 4 / 3;
}
.dental-official-panel {
  margin: 0;
}
.community-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 18px;
}
.full-panel { max-width: 820px; }
.stack-head {
  align-items: center;
  margin-bottom: 12px;
}
.stack-head a {
  color: var(--green-dark);
  font-weight: 900;
}
.lounge-list,
.reward-list {
  display: grid;
  gap: 10px;
}
.lounge-row,
.reward-item {
  display: grid;
  gap: 4px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}
.lounge-row:first-child,
.reward-item:first-child {
  border-top: 0;
  padding-top: 0;
}
.lounge-row strong,
.reward-item strong {
  font-size: 19px;
  line-height: 1.35;
}
.lounge-row span,
.reward-item span {
  color: var(--muted);
  font-size: 15px;
  font-weight: 800;
}
.feed-extra {
  margin-top: 18px;
}
.inline-yield {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 14px 0 24px;
}
.product-feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}
.product-feature-card {
  display: grid;
  gap: 11px;
  align-content: start;
  grid-template-rows: auto auto auto auto auto 1fr auto;
  border: 1px solid rgba(209, 224, 224, .94);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfefd 100%);
  padding: 15px;
  min-height: 448px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 22px 54px rgba(16,32,51,.08);
}
.product-feature-card strong {
  font-size: 21px;
  line-height: 1.24;
}
.product-feature-card p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
}
.product-price {
  display: block;
  margin-top: auto;
  color: #071b49;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 950;
}
.rank-badge,
.buy-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 31px;
  border-radius: 999px;
  padding: 5px 11px;
  color: var(--green-dark);
  background: linear-gradient(135deg, #e8f8f2, #ffffff);
  border: 1px solid rgba(188, 226, 211, .9);
  font-size: 14px;
  font-weight: 900;
}
.concept-shopping .rank-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 4;
  color: #064f2d;
  background: linear-gradient(135deg, #dff8e7, #ffffff);
  border-color: #bce6c8;
}
.concept-shopping .product-feature-image {
  height: 186px;
  aspect-ratio: auto;
  border: 0;
  border-radius: 8px;
  margin-bottom: 8px;
  background: #f8faf9;
  box-shadow: inset 0 0 0 1px rgba(216, 229, 229, .92);
}
.concept-shopping .spark-kick {
  margin-top: 0 !important;
  padding: 10px 11px;
  border-left-width: 3px;
  border-color: rgba(32, 184, 159, .28);
  font-size: 14px !important;
  line-height: 1.4 !important;
  box-shadow: none;
}
.concept-shopping .spark-kick span {
  font-size: 11px;
}
.concept-shopping .buy-cta {
  min-height: 43px;
  margin-top: 0;
  padding: 10px 12px;
  background: linear-gradient(135deg, #006b32, #078f4a);
  font-size: 15px;
}
.product-visual {
  width: 74px;
  height: 74px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--green-dark), var(--green));
  font-size: 22px;
  font-weight: 900;
  box-shadow: inset 0 -18px 30px rgba(16,32,51,.16);
}
.large-visual {
  width: 100%;
  height: 96px;
  font-size: 30px;
}
.buy-check {
  margin-top: 10px !important;
  color: #334155 !important;
  font-size: 16px !important;
}
.hub-group {
  margin-top: 28px;
}
.hub-group h2 {
  margin-bottom: 14px;
  font-size: 26px;
}
.product-list {
  display: grid;
  gap: 12px;
}
.product-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
}
.product-link {
  min-height: 146px;
}
.product-title {
  font-size: 21px;
  font-weight: 900;
}
.meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.slot-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.shop-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 22px;
  align-items: center;
  margin-bottom: 18px;
  padding: 24px;
  border-radius: 8px;
  border: 1px solid #dfe9ea;
  background: linear-gradient(135deg, #f7fcfb, #ffffff);
  box-shadow: var(--shadow-soft);
}
.shop-hero h1 {
  margin: 8px 0;
  font-size: clamp(32px, 4.5vw, 50px);
  line-height: 1.12;
}
.shop-hero p {
  margin: 0;
  color: var(--muted);
  font-size: 20px;
}
.shop-hero-panel {
  min-height: 260px;
  display: grid;
  align-content: center;
  gap: 8px;
  border-radius: 8px;
  background: var(--green-dark);
  color: #fff;
  padding: 14px;
}
.shop-hero-panel strong {
  font-size: 28px;
  line-height: 1.2;
}
.shop-hero-panel span {
  font-size: 17px;
}
.product-conversion-band,
.health-conversion-panel,
.benefit-conversion-panel {
  margin: 18px 0;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(16,32,51,.07);
}
.product-conversion-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 16px;
  align-items: center;
  padding: 18px;
}
.product-conversion-band strong,
.health-conversion-panel strong,
.benefit-conversion-panel strong {
  display: block;
  font-size: 25px;
  line-height: 1.22;
}
.product-conversion-band span,
.health-conversion-panel p {
  color: var(--muted);
  font-size: 17px;
}
.product-reason-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.product-reason-grid span {
  min-height: 58px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #f6faf9;
  border: 1px solid var(--line);
  color: var(--green-dark);
  font-weight: 900;
  text-align: center;
}
.health-conversion-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 18px;
}
.health-conversion-panel p {
  margin: 6px 0 0;
}
.benefit-conversion-panel {
  display: grid;
  gap: 12px;
  padding: 18px;
}
.benefit-conversion-panel div {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.benefit-conversion-panel a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
  background: #f6faf9;
  border: 1px solid var(--line);
  padding: 9px 13px;
  color: var(--green-dark);
  font-weight: 900;
}
.refund-insurance-panel {
  border-color: #b7d8d1;
  background:
    linear-gradient(135deg, #ffffff 0%, #f7fcfb 58%, #eef8f5 100%);
}
.refund-insurance-panel p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  font-weight: 760;
  line-height: 1.55;
}
.refund-insurance-panel .compact-fact-list {
  margin: 0;
}
.refund-insurance-panel .affiliate-disclosure-box {
  margin: 0;
}
.refund-insurance-actions {
  align-items: center;
}
.refund-insurance-actions .cta {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}
.refund-insurance-actions .soft-action {
  background: #fff;
}
.medical-refund-story,
.medical-refund-receipt {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .72fr);
  gap: 22px;
  align-items: center;
  margin: 28px 0;
  padding: 24px 0;
  border-top: 1px solid #e3eeeb;
}
.medical-refund-story h2,
.medical-refund-programs h2,
.medical-refund-receipt h2,
.medical-refund-family-memo h2 {
  max-width: 820px;
  margin: 6px 0 12px;
  color: #101827;
  font-size: 31px;
  line-height: 1.28;
  letter-spacing: 0;
}
.medical-refund-story p,
.medical-refund-programs > p,
.medical-refund-receipt > div > p,
.medical-refund-family-memo > p {
  max-width: 820px;
  margin: 0 0 12px;
  color: #415165;
  font-size: 18px;
  font-weight: 650;
  line-height: 1.78;
}
.medical-refund-story-image,
.medical-refund-receipt-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid #d8e7e4;
  border-radius: 8px;
  background: #f8fcfb;
  box-shadow: 0 16px 36px rgba(16,32,51,.08);
}
.medical-refund-receipt-image {
  object-fit: contain;
  padding: 8px;
}
.parent-cost-comparison {
  margin: 28px 0;
  padding: 22px;
  border: 1px solid #d8e7e4;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(16, 32, 51, .06);
}
.parent-cost-head h2 {
  max-width: 840px;
  margin: 6px 0 10px;
  color: #101827;
  font-size: 30px;
  line-height: 1.26;
  letter-spacing: 0;
}
.parent-cost-head p {
  max-width: 860px;
  margin: 0;
  color: #415165;
  font-size: 17px;
  font-weight: 680;
  line-height: 1.68;
}
.parent-cost-table {
  margin-top: 16px;
  overflow: hidden;
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: #fff;
}
.parent-cost-table > div,
.parent-cost-table > a {
  display: grid;
  grid-template-columns: 1.05fr 1.15fr 1.45fr .85fr;
  min-width: 0;
}
.parent-cost-table > * + * {
  border-top: 1px solid #edf3f1;
}
.parent-cost-table [role="cell"] {
  min-width: 0;
  margin: 0;
  padding: 13px 14px;
  color: #142033;
  font-size: 15px;
  font-weight: 760;
  line-height: 1.48;
}
.parent-cost-table > div strong {
  color: #0d7568;
  background: #f6faf9;
  font-weight: 950;
}
.parent-cost-table p {
  color: #415165;
  font-weight: 670;
}
.parent-cost-row {
  color: inherit;
  text-decoration: none;
  transition: background .16s ease, box-shadow .16s ease;
}
.parent-cost-row:hover,
.parent-cost-row:focus-visible {
  background: #f4fbf8;
  box-shadow: inset 4px 0 0 #168a72;
  outline: none;
}
.parent-cost-row-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0d7568;
  background: #fbfefd;
  font-weight: 930;
  text-align: center;
}
.medical-refund-center {
  margin: 20px 0 28px;
  padding: 22px;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background:
    linear-gradient(135deg, #ffffff 0%, #f7fcfb 64%, #eef8f5 100%);
  box-shadow: 0 16px 40px rgba(16,32,51,.07);
}
.insurance-docs-panel {
  margin: 28px 0;
  padding: 26px;
  border-top: 4px solid #0d7568;
  border-bottom: 1px solid #cfe2dd;
  background: #f7fbfa;
}
.insurance-docs-panel h2 {
  margin: 8px 0 10px;
  color: #101827;
  font-size: 30px;
  line-height: 1.3;
}
.insurance-docs-panel > p {
  margin: 0;
  color: #415165;
  font-size: 18px;
  line-height: 1.7;
}
.insurance-docs-panel ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0;
  padding: 0;
  list-style: none;
}
.insurance-docs-panel li {
  min-width: 0;
  padding: 16px;
  border-left: 3px solid #8ccbbb;
  background: #fff;
}
.insurance-docs-panel li strong,
.insurance-docs-panel li span {
  display: block;
}
.insurance-docs-panel li strong {
  margin-bottom: 5px;
  color: #0d7568;
  font-size: 18px;
}
.insurance-docs-panel li span {
  color: #26364a;
  font-size: 17px;
  line-height: 1.55;
}
.insurance-docs-cta {
  background: #dc5b24;
  color: #fff;
}
.insurance-docs-panel small {
  display: block;
  margin-top: 12px;
  color: #526277;
  font-size: 15px;
  line-height: 1.5;
}
.medical-refund-center-head h2 {
  max-width: 840px;
  margin: 6px 0 10px;
  color: #101827;
  font-size: 32px;
  line-height: 1.24;
  letter-spacing: 0;
}
.medical-refund-center-head p {
  max-width: 840px;
  margin: 0;
  color: #415165;
  font-size: 18px;
  font-weight: 680;
  line-height: 1.68;
}
.medical-refund-fit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.medical-refund-fit-grid a {
  min-width: 0;
  padding: 14px;
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.medical-refund-fit-grid a:hover,
.medical-refund-fit-grid a:focus-visible {
  border-color: #75bcae;
  box-shadow: 0 12px 26px rgba(16, 73, 64, .11);
  transform: translateY(-1px);
  outline: none;
}
.medical-refund-fit-grid strong {
  display: block;
  color: #101827;
  font-size: 17px;
  line-height: 1.36;
}
.medical-refund-fit-grid span {
  display: block;
  margin-top: 6px;
  color: #4c5b6b;
  font-size: 15px;
  font-weight: 680;
  line-height: 1.56;
}
.medical-refund-fit-grid em {
  display: block;
  margin-top: 9px;
  color: #0d7568;
  font-size: 15px;
  font-style: normal;
  font-weight: 930;
}
.medical-refund-center-table {
  margin-top: 16px;
  overflow: hidden;
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: #fff;
}
.medical-refund-center-table > div,
.medical-refund-center-table > a {
  display: grid;
  grid-template-columns: 1fr 1fr 1.25fr 1.05fr 1.25fr .72fr;
  min-width: 0;
}
.medical-refund-center-table > * + * {
  border-top: 1px solid #edf3f1;
}
.medical-refund-center-table [role="cell"] {
  min-width: 0;
  margin: 0;
  padding: 12px;
  color: #142033;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.5;
}
.medical-refund-center-table > div strong {
  color: #0d7568;
  background: #f6faf9;
  font-weight: 950;
}
.medical-refund-center-table p {
  color: #415165;
  font-weight: 660;
}
.medical-refund-center-row {
  color: inherit;
  text-decoration: none;
  transition: background .16s ease, box-shadow .16s ease;
}
.medical-refund-center-row:hover,
.medical-refund-center-row:focus-visible {
  background: #f4fbf8;
  box-shadow: inset 4px 0 0 #168a72;
  outline: none;
}
.medical-refund-row-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0d7568;
  background: #fbfefd;
  font-weight: 930;
  text-align: center;
}
.medical-refund-model-path {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}
.medical-refund-model-path a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background: #fff;
  color: #0d7568;
  font-weight: 930;
  text-align: center;
}
.medical-refund-decision,
.medical-refund-claim-prep {
  margin: 28px 0;
  padding: 26px 0;
  border-top: 1px solid #e3eeeb;
}
.medical-refund-section-head h2,
.medical-refund-claim-prep h2,
.medical-refund-soft-products h3 {
  max-width: 820px;
  margin: 6px 0 12px;
  color: #101827;
  font-size: 31px;
  line-height: 1.28;
  letter-spacing: 0;
}
.medical-refund-section-head p,
.medical-refund-soft-products p {
  max-width: 820px;
  margin: 0 0 12px;
  color: #415165;
  font-size: 18px;
  font-weight: 650;
  line-height: 1.76;
}
.medical-refund-decision-grid,
.medical-claim-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.medical-refund-decision-card,
.medical-claim-checklist div {
  min-width: 0;
  padding: 18px;
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}
.medical-refund-decision-card {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.medical-refund-decision-card:hover,
.medical-refund-decision-card:focus-visible {
  border-color: #75bcae;
  box-shadow: 0 12px 26px rgba(16, 73, 64, .1);
  transform: translateY(-1px);
  outline: none;
}
.medical-refund-decision-grid span {
  display: inline-flex;
  margin-bottom: 10px;
  color: #0d7568;
  font-size: 13px;
  font-weight: 950;
}
.medical-refund-decision-grid h3 {
  margin: 0 0 8px;
  color: #101827;
  font-size: 21px;
  line-height: 1.34;
  letter-spacing: 0;
}
.medical-refund-decision-grid p,
.medical-claim-checklist span {
  display: block;
  margin: 0;
  color: #415165;
  font-size: 16px;
  font-weight: 680;
  line-height: 1.62;
}
.medical-refund-decision-grid em {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 14px;
  padding: 8px 12px;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  color: #0d7568;
  background: #f6faf9;
  font-weight: 900;
  font-style: normal;
}

.official-guide-page {
  width: min(820px, calc(100% - 32px));
  margin: 0 auto;
  padding: 34px 0 110px;
}
.official-guide-hero,
.official-guide-checks,
.official-guide-destination {
  margin: 0 0 18px;
  padding: 26px;
  border: 1px solid #d6e6e2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(16, 32, 51, .06);
}
.official-guide-hero {
  border-top: 5px solid #168a72;
  background: linear-gradient(180deg, #ffffff 0%, #f5fbf9 100%);
}
.official-guide-page h1,
.official-guide-page h2 {
  margin: 8px 0 12px;
  color: #101827;
  letter-spacing: 0;
}
.official-guide-page h1 {
  font-size: 37px;
  line-height: 1.18;
}
.official-guide-page h2 {
  font-size: 27px;
  line-height: 1.28;
}
.official-guide-page p,
.official-guide-checks li {
  color: #3e4d60;
  font-size: 18px;
  font-weight: 680;
  line-height: 1.72;
}
.official-guide-checks ol {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
  padding-left: 25px;
}
.official-guide-links {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}
.official-guide-link {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid #b9d8d1;
  border-radius: 8px;
  background: #f5fbf9;
  color: #0d6257;
  text-decoration: none;
}
.official-guide-link span {
  font-size: 18px;
  font-weight: 900;
  line-height: 1.38;
}
.official-guide-link em {
  flex: 0 0 auto;
  font-size: 15px;
  font-style: normal;
  font-weight: 900;
}
.official-guide-notice {
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 4px solid #9bbab3;
  background: #f7faf9;
}
.official-guide-return {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 18px;
  border-radius: 8px;
  background: #142b4a;
  color: #fff;
  font-size: 18px;
  font-weight: 930;
  text-align: center;
  text-decoration: none;
}
.medical-claim-checklist strong {
  display: block;
  margin-bottom: 8px;
  color: #101827;
  font-size: 18px;
  line-height: 1.35;
}
.medical-refund-soft-products {
  display: grid;
  gap: 12px;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f8fcfb 100%);
}
.medical-refund-soft-products .affiliate-disclosure-box {
  margin: 0;
}
.medical-refund-continuity {
  margin: 28px 0;
  padding: 26px 0;
  border-top: 1px solid #e3eeeb;
}
.medical-next-action-hub {
  margin: 24px 0 30px;
  padding: 22px;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background: linear-gradient(135deg, #f7fcfb 0%, #ffffff 72%);
}

.medical-next-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.medical-next-action-grid a {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 16px;
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: #fff;
  color: #102033;
}

.medical-next-action-grid a:hover,
.medical-next-action-grid a:focus-visible {
  border-color: #0d7568;
}

.medical-next-action-grid span {
  color: #0d7568;
  font-size: 13px;
  font-weight: 950;
}

.medical-next-action-grid strong {
  font-size: 18px;
  line-height: 1.36;
}

.medical-next-action-grid p {
  margin: 0;
  color: #536374;
  font-size: 15px;
  font-weight: 680;
  line-height: 1.54;
}

.medical-next-action-grid em {
  width: fit-content;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  margin-top: 3px;
  padding: 6px 10px;
  border-radius: 8px;
  background: #e8f4f1;
  color: #0d7568;
  font-size: 14px;
  font-style: normal;
  font-weight: 930;
}
.medical-refund-continuity-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.medical-refund-continuity-grid a {
  min-width: 0;
  padding: 16px;
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: #fff;
}
.medical-refund-continuity-grid span {
  display: inline-flex;
  margin-bottom: 9px;
  color: #0d7568;
  font-size: 13px;
  font-weight: 950;
}
.medical-refund-continuity-grid strong {
  display: block;
  color: #101827;
  font-size: 17px;
  line-height: 1.35;
}
.medical-refund-continuity-grid p {
  margin: 7px 0 0;
  color: #415165;
  font-size: 15px;
  font-weight: 660;
  line-height: 1.52;
}
.medical-refund-sidebar {
  display: grid;
  align-content: start;
  gap: 10px;
}
.medical-refund-sidebar p {
  margin: 0;
  color: #536173;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.58;
}
.medical-refund-sidebar a {
  display: block;
  padding: 11px 12px;
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: #fff;
  color: #0d7568;
  font-weight: 900;
}
.medical-refund-programs,
.medical-refund-family-memo {
  margin: 28px 0;
  padding: 26px 0;
  border-top: 1px solid #e3eeeb;
}
.medical-program-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.medical-program-grid article {
  min-width: 0;
  padding: 18px;
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}
.medical-program-grid span {
  display: inline-flex;
  margin-bottom: 10px;
  color: #0d7568;
  font-size: 13px;
  font-weight: 950;
}
.medical-program-grid h3 {
  margin: 0 0 8px;
  color: #101827;
  font-size: 21px;
  line-height: 1.34;
  letter-spacing: 0;
}
.medical-program-grid p {
  margin: 0;
  color: #526174;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.68;
}
.medical-receipt-table {
  overflow: hidden;
  margin-top: 16px;
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: #fff;
}
.medical-receipt-table div {
  display: grid;
  grid-template-columns: 140px minmax(0, .9fr) minmax(0, 1.1fr);
  min-width: 0;
}
.medical-receipt-table div + div {
  border-top: 1px solid #edf3f1;
}
.medical-receipt-table div:first-child {
  background: #f0f7f5;
}
.medical-receipt-table strong,
.medical-receipt-table span,
.medical-receipt-table p {
  min-width: 0;
  margin: 0;
  padding: 12px 13px;
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.medical-receipt-table strong,
.medical-receipt-table span {
  color: #102036;
  font-weight: 900;
}
.medical-receipt-table p {
  color: #526174;
  font-weight: 680;
}
.medical-family-memo-list {
  display: grid;
  gap: 0;
  overflow: hidden;
  max-width: 860px;
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: #fff;
}
.medical-family-memo-list div {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
}
.medical-family-memo-list div + div {
  border-top: 1px solid #edf3f1;
}
.medical-family-memo-list strong,
.medical-family-memo-list span {
  min-width: 0;
  padding: 13px 14px;
  font-size: 15px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.medical-family-memo-list strong {
  background: #f8fcfb;
  color: #0d5f51;
  font-weight: 950;
}
.medical-family-memo-list span {
  color: #526174;
  font-weight: 680;
}
.db-summary,
.db-official-box,
.db-guardian-cta,
.db-backlog-preview {
  margin: 22px 0;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(16, 32, 51, .08);
}
.benefit-status-panel {
  margin: 22px 0;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff, #f8fcfb);
  padding: 22px;
  box-shadow: 0 18px 48px rgba(16, 32, 51, .08);
}
.benefit-context-row {
  display: grid;
  gap: 4px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e5efed;
}
.benefit-context-row span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--green-dark);
  font-size: 15px;
  font-weight: 950;
}
.benefit-context-row .ui-icon {
  width: 20px;
  height: 20px;
}
.benefit-context-row p {
  margin: 0;
  color: #667386;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 720;
}
.benefit-live-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e5efed;
}
.benefit-live-row span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--green-dark);
  font-size: 15px;
  font-weight: 950;
}
.benefit-live-row .ui-icon {
  width: 20px;
  height: 20px;
}
.benefit-live-row button {
  min-height: 42px;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background: #fff;
  color: var(--green-dark);
  padding: 8px 13px;
  font-size: 15px;
  font-weight: 950;
  cursor: pointer;
}
.benefit-status-head {
  margin-top: 16px;
}
.benefit-status-head span {
  color: var(--green-dark);
  font-size: 15px;
  font-weight: 950;
}
.benefit-status-head h2 {
  margin: 4px 0 8px;
  color: var(--ink);
  font-size: 31px;
  line-height: 1.22;
  letter-spacing: 0;
}
.benefit-status-head p {
  max-width: 840px;
  margin: 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.58;
  font-weight: 750;
}
.benefit-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.benefit-status-grid div {
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: #fff;
  padding: 14px;
}
.benefit-status-grid span {
  display: block;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 950;
}
.benefit-status-grid strong {
  display: block;
  margin-top: 4px;
  color: #172033;
  font-size: 17px;
  line-height: 1.42;
}
.benefit-status-actions,
.benefit-related-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 14px;
}
.benefit-status-actions a,
.benefit-related-chips a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid #cfe2dd;
  background: #f6faf9;
  color: var(--green-dark);
  padding: 9px 13px;
  font-size: 16px;
  font-weight: 950;
  text-align: center;
}
.benefit-status-actions .cta {
  border-color: var(--green-dark);
  background: var(--green-dark);
  color: #fff;
}
.benefit-reference-actions a:first-child,
.db-guardian-actions .official-reference-action {
  border-color: #bcded7;
  background: #eef7f5;
  color: var(--green-dark);
}
.benefit-related-chips {
  align-items: center;
}
.benefit-related-chips strong {
  color: #1f2b3d;
  font-size: 16px;
  font-weight: 950;
}
.benefit-status-disclaimer {
  margin: 14px 0 0;
  border-top: 1px solid #e5efed;
  padding-top: 12px;
  color: #657184;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 750;
}
.benefit-jump-nav {
  position: sticky;
  top: 72px;
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -8px 0 22px;
  border: 1px solid #dce9e6;
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  padding: 10px;
  box-shadow: 0 10px 26px rgba(16, 32, 51, .07);
  backdrop-filter: blur(12px);
}
.benefit-jump-nav a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dce9e6;
  border-radius: 999px;
  background: #f6faf9;
  color: var(--green-dark);
  padding: 7px 12px;
  font-size: 14px;
  font-weight: 950;
}
.benefit-jump-nav a:first-child {
  border-color: var(--green-dark);
  background: var(--green-dark);
  color: #fff;
}
.db-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 18px;
  padding: 22px;
  overflow: hidden;
  position: relative;
}
.db-summary::after,
.db-guardian-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 42%;
  background: linear-gradient(110deg, transparent, rgba(255,255,255,.78), transparent);
  transform: translateX(-135%);
  animation: shineSweep 4.8s ease-in-out infinite;
  pointer-events: none;
}
.db-summary-main,
.db-guardian-cta > div {
  position: relative;
  z-index: 1;
}
.db-summary h2,
.db-official-box h2,
.db-guardian-cta h2,
.db-backlog-preview h2,
.db-detail-head h2,
.db-related-section h2 {
  margin: 4px 0 8px;
  font-size: 31px;
  line-height: 1.22;
  letter-spacing: 0;
}
.db-summary p,
.db-official-box p,
.db-guardian-cta p,
.db-backlog-preview p,
.db-detail-head p {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.6;
  font-weight: 750;
}
.db-urgency {
  margin-top: 14px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border-radius: 8px;
  background: #fff7dc;
  color: #7a4c00;
  padding: 10px 13px;
  font-size: 17px;
  line-height: 1.35;
}
.db-urgency .ui-icon {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
}
.db-summary-facts {
  display: grid;
  gap: 10px;
  position: relative;
  z-index: 1;
}
.db-summary-facts div {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fcfb;
  padding: 13px;
}
.db-summary-facts span {
  display: block;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
}
.db-summary-facts strong {
  display: block;
  margin-top: 4px;
  font-size: 17px;
  line-height: 1.35;
}
.db-detail-section {
  margin: 24px 0;
}
.db-detail-head {
  margin-bottom: 14px;
}
.db-detail-head span,
.db-guardian-cta span,
.db-backlog-preview span {
  color: var(--green-dark);
  font-size: 15px;
  font-weight: 900;
}
.db-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.db-card {
  border: 1px solid #dbe8e5;
  border-radius: 8px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 12px 28px rgba(16,32,51,.06);
}
.db-card-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #e8f8f5;
  color: var(--green-dark);
}
.db-card h2 {
  margin: 12px 0 8px;
  font-size: 24px;
  line-height: 1.25;
}
.db-card ul {
  margin: 0;
  padding-left: 19px;
}
.db-card li {
  margin: 8px 0;
  color: #263244;
  font-size: 17px;
  line-height: 1.52;
  font-weight: 720;
}
.db-timing-box,
.medical-disclaimer {
  margin: 14px 0;
  border-radius: 8px;
  border: 1px solid #dfe9ea;
  background: #f8fbfb;
  padding: 16px;
}
.db-timing-box strong {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--green-dark);
  font-size: 19px;
}
.db-timing-box p,
.medical-disclaimer {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
  font-weight: 700;
}
.db-official-box,
.db-guardian-cta,
.db-backlog-preview {
  padding: 20px;
}
.db-official-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 16px;
  align-items: center;
}
.db-official-actions,
.db-guardian-actions,
.db-backlog-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.db-official-actions a,
.db-guardian-actions a,
.soft-action,
.db-backlog-tags span {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid #cfe2dd;
  background: #f6faf9;
  color: var(--green-dark);
  padding: 9px 13px;
  font-size: 16px;
  font-weight: 900;
  text-align: center;
}
.db-official-actions a:first-child,
.db-guardian-actions .cta {
  border-color: var(--green-dark);
  background: var(--green-dark);
  color: #fff;
}
.db-contact {
  grid-column: 1 / -1;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
.db-guardian-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #ffffff, #f3fbf8);
}
.soft-action {
  cursor: pointer;
  font-family: inherit;
}
.db-related-section {
  margin-top: 24px;
}
.db-backlog-preview {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
.db-backlog-tags span {
  min-height: 40px;
  background: #fff;
  color: #253044;
}
.slot-card strong {
  display: block;
  font-size: 18px;
  margin-bottom: 8px;
}
.sponsor-card {
  display: block;
}
.concept-consult .spotlight-card {
  min-height: 342px;
  border: 1px solid #dfe7e4;
  background: #fff;
  box-shadow: 0 18px 42px rgba(16,32,51,.08);
}
.concept-consult .spotlight-thumb {
  height: 138px;
  aspect-ratio: auto;
  border: 0;
  border-radius: 8px;
  margin-bottom: 12px;
}
.concept-consult .spark-kick {
  padding: 10px 11px;
  border-left-width: 4px;
  font-size: 14px !important;
}
.concept-consult .mini-cta {
  min-height: 42px;
  font-size: 15px;
  background: linear-gradient(135deg, var(--green-dark), var(--green));
}
.mini-cta {
  display: inline-block;
  margin-top: 14px;
  padding: 11px 14px;
  font-size: 16px;
  background: linear-gradient(135deg, var(--green-dark), var(--green));
  box-shadow: 0 12px 24px rgba(22,138,114,.18);
}
.premium-check-banner-section {
  padding-top: 18px;
}
.premium-check-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px 230px;
  gap: 24px;
  align-items: center;
  border: 1px solid #d5e8de;
  border-radius: 8px;
  background:
    linear-gradient(90deg, #eef9f0 0%, #ffffff 55%, #f6fbff 100%);
  padding: 28px;
  box-shadow: 0 20px 50px rgba(16,32,51,.08);
}
.premium-check-banner span {
  display: block;
  color: #06753c;
  font-size: 17px;
  font-weight: 950;
}
.premium-check-banner h2 {
  margin: 8px 0 0;
  max-width: 560px;
  font-size: clamp(28px, 3.6vw, 42px);
}
.premium-check-banner p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 18px;
}
.premium-check-banner ul {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 9px;
  list-style: none;
  color: #223047;
  font-size: 16px;
  font-weight: 900;
}
.premium-check-banner li {
  position: relative;
  padding-left: 24px;
}
.premium-check-banner li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 10px;
  height: 6px;
  border-left: 2px solid #06753c;
  border-bottom: 2px solid #06753c;
  transform: rotate(-45deg);
}
.premium-check-banner .cta {
  min-height: 58px;
  background: linear-gradient(135deg, #006b32, #078f4a);
  box-shadow: 0 16px 30px rgba(6,117,60,.24);
}
.section-eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--orange);
  font-size: 15px;
  font-weight: 950;
}
.benefits-story-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(300px, .72fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 18px;
  padding: 24px;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f5fbfa 62%, #fff8e8 100%);
  box-shadow: 0 18px 44px rgba(16, 24, 39, .08);
}
.benefits-story-hero h1 {
  max-width: 800px;
  margin: 8px 0 12px;
  color: #101827;
  font-size: clamp(34px, 4.4vw, 54px);
  line-height: 1.12;
  word-break: keep-all;
}
.benefits-story-hero p {
  max-width: 780px;
  margin: 0 0 12px;
  color: #425368;
  font-size: 18px;
  font-weight: 760;
  line-height: 1.7;
}
.benefits-story-hero p:last-child {
  margin-bottom: 0;
}
.benefits-story-image {
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
  border: 1px solid #d9e7e4;
  border-radius: 8px;
  background: #eef7f5;
}
.benefits-text-section,
.benefits-family-memo,
.benefits-scenario-section,
.benefits-search-section {
  margin: 26px 0;
  padding-top: 24px;
  border-top: 1px solid #e1ece9;
}
.benefits-text-section h2,
.benefits-family-memo h2,
.benefits-scenario-section h2,
.benefits-search-section h2 {
  max-width: 880px;
  margin: 0 0 14px;
  font-size: clamp(28px, 3.2vw, 38px);
  line-height: 1.22;
}
.benefits-text-list {
  display: grid;
  gap: 18px;
}
.benefits-text-list article {
  padding-left: 18px;
  border-left: 4px solid #cfe2dd;
}
.benefits-text-list h3 {
  margin: 0 0 8px;
  color: #0f513f;
  font-size: 23px;
  line-height: 1.28;
}
.benefits-text-list p,
.benefits-family-memo > div:first-child p,
.benefits-scenario-lead,
.benefits-scenario-list p,
.benefits-search-section p {
  max-width: 900px;
  margin: 0 0 10px;
  color: #425368;
  font-size: 17px;
  font-weight: 740;
  line-height: 1.72;
}
.benefits-scenario-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}
.benefits-scenario-list details {
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  background: #fff;
  padding: 0;
  overflow: hidden;
}
.benefits-scenario-list summary {
  cursor: pointer;
  padding: 15px 16px;
  color: #0f513f;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.35;
  word-break: keep-all;
}
.benefits-scenario-list details[open] summary {
  border-bottom: 1px solid #e7efed;
  background: #f6faf9;
}
.benefits-scenario-list details > p {
  padding: 0 16px;
}
.benefits-scenario-list details > p:first-of-type {
  margin-top: 14px;
}
.benefits-scenario-list details > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 2px 16px 16px;
}
.benefits-scenario-list details > div a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #d7e8e6;
  border-radius: 999px;
  background: #fff;
  color: #0d5f51;
  padding: 7px 11px;
  font-size: 14px;
  font-weight: 900;
}
.benefits-memo-table {
  display: grid;
  margin-top: 18px;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.benefits-memo-table div {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) minmax(0, 1fr);
  min-width: 0;
}
.benefits-memo-table div + div {
  border-top: 1px solid #e7efed;
}
.benefits-memo-table strong,
.benefits-memo-table span,
.benefits-memo-table p {
  min-width: 0;
  margin: 0;
  padding: 13px 14px;
  color: #334155;
  font-size: 15px;
  font-weight: 780;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.benefits-memo-table strong,
.benefits-memo-table span {
  background: #f6faf9;
  color: #0f513f;
  font-weight: 950;
}
.benefits-priority-links,
.benefits-search-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.benefits-priority-links a,
.benefits-search-keywords a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #d7e8e6;
  border-radius: 999px;
  background: #fff;
  color: #0d5f51;
  padding: 7px 12px;
  font-size: 14px;
  font-weight: 900;
}
.benefits-search-section .grant-search-box {
  max-width: 760px;
  margin-top: 14px;
}
.health-story-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(300px, .72fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 18px;
  padding: 24px;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f4fbf9 62%, #eef7ff 100%);
  box-shadow: 0 18px 44px rgba(16, 24, 39, .08);
}
.health-story-hero h1 {
  max-width: 820px;
  margin: 8px 0 12px;
  color: #101827;
  font-size: clamp(34px, 4.4vw, 54px);
  line-height: 1.12;
  word-break: keep-all;
}
.health-story-hero p {
  max-width: 790px;
  margin: 0 0 12px;
  color: #425368;
  font-size: 18px;
  font-weight: 760;
  line-height: 1.7;
}
.health-story-hero p:last-child {
  margin-bottom: 0;
}
.health-story-image {
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
  border: 1px solid #d9e7e4;
  border-radius: 8px;
  background: #eef7f5;
}
.health-text-section,
.health-record-memo,
.health-scenario-section,
.health-search-section {
  margin: 26px 0;
  padding-top: 24px;
  border-top: 1px solid #e1ece9;
}
.health-text-section h2,
.health-record-memo h2,
.health-scenario-section h2,
.health-search-section h2 {
  max-width: 880px;
  margin: 0 0 14px;
  font-size: clamp(28px, 3.2vw, 38px);
  line-height: 1.22;
}
.health-text-list,
.health-scenario-list {
  display: grid;
  gap: 18px;
}
.health-text-list article {
  padding-left: 18px;
  border-left: 4px solid #cfe2dd;
}
.health-text-list h3 {
  margin: 0 0 8px;
  color: #0f513f;
  font-size: 23px;
  line-height: 1.28;
}
.health-text-list p,
.health-record-memo > div:first-child p,
.health-scenario-lead,
.health-scenario-list p,
.health-search-section p {
  max-width: 900px;
  margin: 0 0 10px;
  color: #425368;
  font-size: 17px;
  font-weight: 740;
  line-height: 1.72;
}
.health-memo-table {
  display: grid;
  margin-top: 18px;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.health-memo-table div {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) minmax(0, 1fr) 108px;
  min-width: 0;
}
.health-memo-table div + div {
  border-top: 1px solid #e7efed;
}
.health-memo-table strong,
.health-memo-table span,
.health-memo-table p,
.health-memo-table a {
  min-width: 0;
  margin: 0;
  padding: 13px 14px;
  color: #334155;
  font-size: 15px;
  font-weight: 780;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.health-memo-table strong,
.health-memo-table span {
  background: #f6faf9;
  color: #0f513f;
  font-weight: 950;
}
.health-memo-table a {
  color: #0d5f51;
  font-weight: 930;
}
.health-scenario-list details {
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.health-scenario-list summary {
  cursor: pointer;
  padding: 15px 16px;
  color: #0f513f;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.35;
  word-break: keep-all;
}
.health-scenario-list details[open] summary {
  border-bottom: 1px solid #e7efed;
  background: #f6faf9;
}
.health-scenario-list details > p {
  padding: 0 16px;
}
.health-scenario-list details > p:first-of-type {
  margin-top: 14px;
}
.health-scenario-list details > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 2px 16px 16px;
}
.health-scenario-list details > div a,
.health-search-keywords a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #d7e8e6;
  border-radius: 999px;
  background: #fff;
  color: #0d5f51;
  padding: 7px 11px;
  font-size: 14px;
  font-weight: 900;
}
.health-search-box {
  max-width: 760px;
  margin-top: 14px;
}
.health-search-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.product-story-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(300px, .72fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 18px;
  padding: 24px;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbfa 62%, #fff7e7 100%);
  box-shadow: 0 18px 44px rgba(16, 24, 39, .08);
}
.product-story-hero h1 {
  max-width: 820px;
  margin: 8px 0 12px;
  color: #101827;
  font-size: clamp(34px, 4.4vw, 54px);
  line-height: 1.12;
  word-break: keep-all;
}
.product-story-hero p {
  max-width: 790px;
  margin: 0 0 12px;
  color: #425368;
  font-size: 18px;
  font-weight: 760;
  line-height: 1.7;
}
.product-story-hero p:last-child {
  margin-bottom: 0;
}
.product-story-image {
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
  border: 1px solid #d9e7e4;
  border-radius: 8px;
  background: #eef7f5;
}
.product-text-section,
.product-home-memo,
.product-visual-guide {
  margin: 26px 0;
  padding-top: 24px;
  border-top: 1px solid #e1ece9;
}
.product-text-section h2,
.product-home-memo h2,
.product-visual-guide h2 {
  max-width: 880px;
  margin: 0 0 14px;
  font-size: clamp(28px, 3.2vw, 38px);
  line-height: 1.22;
}
.product-text-list-long {
  display: grid;
  gap: 18px;
}
.product-text-list-long article {
  padding-left: 18px;
  border-left: 4px solid #cfe2dd;
}
.product-text-list-long h3 {
  margin: 0 0 8px;
  color: #0f513f;
  font-size: 23px;
  line-height: 1.28;
}
.product-text-list-long p,
.product-home-memo > div:first-child p,
.product-visual-guide > p {
  max-width: 900px;
  margin: 0 0 10px;
  color: #425368;
  font-size: 17px;
  font-weight: 740;
  line-height: 1.72;
}
.product-memo-table {
  display: grid;
  margin-top: 18px;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.product-memo-table div {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr) minmax(0, 1fr) 104px;
  min-width: 0;
}
.product-memo-table div + div {
  border-top: 1px solid #e7efed;
}
.product-memo-table strong,
.product-memo-table span,
.product-memo-table p,
.product-memo-table a {
  min-width: 0;
  margin: 0;
  padding: 13px 14px;
  color: #334155;
  font-size: 15px;
  font-weight: 780;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.product-memo-table strong,
.product-memo-table span {
  background: #f6faf9;
  color: #0f513f;
  font-weight: 950;
}
.product-memo-table a {
  color: #0d5f51;
  font-weight: 930;
}
.product-visual-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.product-visual-grid article {
  min-width: 0;
  border: 1px solid #dbe8e7;
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}
.product-visual-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid #e1ece9;
  border-radius: 8px;
  background: #f6faf9;
  margin-bottom: 10px;
}
.product-visual-grid strong {
  display: block;
  color: #0f513f;
  font-size: 17px;
  line-height: 1.3;
}
.product-visual-grid p {
  margin: 6px 0 0;
  color: #425368;
  font-size: 14px;
  font-weight: 720;
  line-height: 1.55;
}
.engagement-course {
  padding-top: 32px;
  padding-bottom: 18px;
}
.course-step-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.course-step-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 294px;
  padding: 14px;
  border: 1px solid #dbe8e1;
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}
.course-step-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.72) 42%, transparent 58%);
  transform: translateX(-130%);
  animation: shineSweep 4.8s ease-in-out infinite;
  pointer-events: none;
}
.course-thumb {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--line);
}
.course-step-card span {
  width: fit-content;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #fff4bd;
  color: #915300;
  padding: 6px 11px;
  font-size: 14px;
  font-weight: 950;
}
.course-step-card strong {
  display: block;
  font-size: 23px;
  line-height: 1.25;
}
.course-step-card p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.5;
}
.course-step-card em {
  width: 100%;
  min-height: 46px;
  display: grid;
  place-items: center;
  margin-top: auto;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--green-dark), var(--green));
  color: #fff;
  font-style: normal;
  font-size: 16px;
  font-weight: 950;
}
.revenue-bridge {
  padding-top: 18px;
  padding-bottom: 30px;
}
.revenue-bridge-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
}
.bridge-column {
  min-width: 0;
  display: grid;
  gap: 12px;
}
.bridge-column > strong {
  display: block;
  font-size: 21px;
  line-height: 1.25;
}
.compact-products {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.affiliate-notice {
  margin: 4px 0 10px;
  color: #7b8491;
  font-size: 12px;
  line-height: 1.45;
}
.affiliate-notice.affiliate-disclosure-box {
  margin: 8px 0 14px;
  color: #51606f;
  font-size: 14px;
  line-height: 1.5;
}
.trust-first-affiliate {
  padding-top: 20px;
}
.trust-affiliate-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .72fr);
  gap: 16px;
  align-items: stretch;
}
.insurance-primary-card {
  display: grid;
  grid-template-columns: 164px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  min-height: 230px;
  border: 1px solid #d8e7e3;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff, #f7fcfb);
  padding: 18px;
  box-shadow: 0 16px 38px rgba(16, 32, 51, .08);
}
.insurance-primary-card > span {
  color: var(--green-dark);
  font-size: 15px;
  font-weight: 950;
}
.insurance-primary-card strong {
  display: block;
  font-size: clamp(24px, 2.5vw, 34px);
  line-height: 1.18;
}
.insurance-primary-card p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
  font-weight: 760;
}
.insurance-primary-card em {
  width: fit-content;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #0d7568;
  color: #fff;
  padding: 11px 16px;
  font-style: normal;
  font-size: 16px;
  font-weight: 950;
}
.trust-affiliate-thumb {
  grid-row: span 5;
  width: 164px;
  height: 164px;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.trust-affiliate-side {
  display: grid;
  gap: 12px;
}
.trust-affiliate-side a {
  display: grid;
  gap: 8px;
  align-content: center;
  min-height: 109px;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  box-shadow: var(--shadow-soft);
}
.trust-affiliate-side strong {
  font-size: 21px;
  line-height: 1.22;
}
.trust-affiliate-side span {
  color: var(--muted);
  font-size: 15px;
  font-weight: 780;
  line-height: 1.45;
}
@media (max-width: 880px) {
  .trust-affiliate-layout {
    grid-template-columns: 1fr;
  }
  .insurance-primary-card {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 12px;
    min-height: auto;
    padding: 16px;
  }
  .trust-affiliate-thumb {
    width: 88px;
    height: 88px;
    grid-row: span 3;
  }
  .insurance-primary-card strong {
    font-size: 23px;
  }
  .insurance-primary-card p {
    font-size: 15px;
  }
  .insurance-primary-card .affiliate-value,
  .insurance-primary-card em {
    grid-column: 1 / -1;
  }
  .insurance-primary-card em {
    width: 100%;
  }
}

@media (max-width: 980px) {
  .community-hero,
  .dental-hero,
  .dental-family-memo,
  .community-family-note,
  .health-official-source-panel.dental-official-panel {
    grid-template-columns: 1fr;
  }

  .dental-reading-grid,
  .community-flow-grid,
  .community-visual-grid,
  .community-diary-grid,
  .community-question-grid,
  .dental-compare-table,
  .community-visual-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .community-page,
  .dental-hearing-page,
  .community-hero,
  .dental-hero,
  .community-longform,
  .community-care-diary,
  .community-visual-path,
  .dental-longform,
  .dental-compare-section,
  .dental-family-memo,
  .dental-related-section,
  .community-question-map,
  .community-panel,
  .community-family-note {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .community-hero,
  .dental-hero,
  .community-longform,
  .community-care-diary,
  .community-visual-path,
  .dental-longform,
  .dental-compare-section,
  .dental-family-memo,
  .dental-related-section,
  .community-question-map,
  .community-family-note {
    padding: 16px;
  }

  .community-hero h1,
  .dental-hero h1 {
    font-size: 34px;
    line-height: 1.12;
  }

  .community-hero p,
  .dental-hero p,
  .community-longform p,
  .community-care-diary p,
  .dental-longform p,
  .dental-family-memo p,
  .community-family-note p,
  .community-diary-grid p,
  .community-visual-card p,
  .dental-reading-grid p,
  .community-flow-grid p,
  .dental-compare-table span {
    font-size: 16px;
    line-height: 1.66;
  }

  .dental-visual-pair,
  .community-visual-row,
  .community-visual-grid,
  .community-diary-grid,
  .dental-reading-grid,
  .community-flow-grid,
  .community-question-grid,
  .dental-compare-table {
    grid-template-columns: 1fr;
  }

  .community-question-grid a,
  .dental-compare-table a,
  .health-official-source-panel.dental-official-panel a {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

/* Parent cost diagnosis: short, calm, and readable before any monetized content. */
.hero-audience-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.hero-audience-switch button {
  display: grid;
  gap: 3px;
  min-width: 0;
  min-height: 64px;
  padding: 12px 14px;
  border: 1px solid #b9d9d2;
  border-radius: 8px;
  background: #fff;
  color: #153d38;
  text-align: left;
  cursor: pointer;
}

.hero-audience-switch button:hover,
.hero-audience-switch button:focus-visible {
  border-color: #167965;
  outline: 3px solid rgba(22, 121, 101, 0.14);
}

.hero-audience-switch strong {
  font-size: 17px;
  line-height: 1.3;
}

.hero-audience-switch span {
  color: #60736f;
  font-size: 13px;
  line-height: 1.4;
}

.parent-cost-diagnosis {
  margin: 24px 0 28px;
  padding: 24px;
  border: 1px solid #cce5df;
  border-radius: 12px;
  background: #f7fcfa;
  box-shadow: 0 12px 28px rgba(19, 92, 78, 0.08);
}

.diagnosis-intro {
  max-width: 720px;
  margin-bottom: 18px;
}

.diagnosis-intro h2 {
  margin: 8px 0;
  color: #0c5d55;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.2;
  letter-spacing: 0;
}

.diagnosis-intro p {
  margin: 0;
  color: #46635f;
  font-size: 16px;
  line-height: 1.6;
}

.diagnosis-intro .diagnosis-progress {
  display: inline-flex;
  margin-top: 10px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #e1f1ed;
  color: #0c5d55;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.2;
}

.diagnosis-step {
  min-width: 0;
}

.diagnosis-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.diagnosis-fieldset legend {
  margin-bottom: 12px;
  color: #183f3b;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.45;
}

.diagnosis-option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.diagnosis-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  min-height: 72px;
  padding: 14px;
  border: 1px solid #cfe2de;
  border-radius: 8px;
  background: #fff;
  color: #1f3936;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.diagnosis-option:hover,
.diagnosis-option:focus-within {
  border-color: #1b8c7b;
  background: #f1faf7;
  box-shadow: 0 4px 12px rgba(20, 117, 99, 0.1);
}

.diagnosis-option input {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  accent-color: #168a72;
}

.diagnosis-option span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.diagnosis-option strong {
  font-size: 17px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.diagnosis-option small {
  color: #607572;
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.diagnosis-start,
.diagnosis-step-actions,
.diagnosis-result-actions {
  margin-top: 14px;
}

.diagnosis-result-actions .diagnosis-share {
  min-height: 46px;
  border: 1px solid #b7cbc6;
  border-radius: 8px;
  background: #fff;
  color: #174f46;
  font-size: 16px;
  font-weight: 850;
  cursor: pointer;
}

.diagnosis-print-heading {
  display: none;
}

.diagnosis-result-head small {
  display: block;
  margin-top: 8px;
  color: #607572;
  font-size: 13px;
  line-height: 1.45;
}

.diagnosis-asset-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.diagnosis-asset-actions .soft-action {
  min-height: 46px;
  border: 1px solid #98beb5;
  border-radius: 8px;
  background: #edf7f4;
  color: #124f45;
  font-size: 15px;
  font-weight: 850;
  cursor: pointer;
}

.diagnosis-save-status {
  min-height: 22px;
  margin: 9px 0 0;
  color: #37685f;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.5;
}

.diagnosis-family-memo {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #c8ded8;
  border-radius: 8px;
  background: #fff;
}

.diagnosis-family-memo h4 {
  margin: 0 0 8px;
  color: #124f45;
  font-size: 18px;
  line-height: 1.4;
}

.diagnosis-family-memo p {
  margin: 0;
  color: #314d48;
  font-size: 14px;
  line-height: 1.65;
  white-space: pre-line;
}

.diagnosis-family-memo .soft-action,
.diagnosis-clear {
  min-height: 42px;
  margin-top: 12px;
}

.cost-question-entry,
.cost-diagnosis-bridge,
.problem-region-cost,
.monthly-official-update {
  min-width: 0;
}

.cost-question-entry {
  margin: 18px 0;
  padding: 18px;
  border-left: 4px solid #d88a32;
  background: #fff9f1;
}

.cost-question-entry h2,
.cost-diagnosis-bridge h2,
.problem-region-cost h2,
.monthly-official-update h2 {
  margin: 6px 0 10px;
  color: #183f3b;
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: 0;
}

.cost-question-entry > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cost-question-entry a {
  min-width: 0;
  padding: 9px 11px;
  border: 1px solid #ecd3b1;
  border-radius: 8px;
  background: #fff;
  color: #684218;
  font-weight: 750;
  line-height: 1.4;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.cost-diagnosis-bridge {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin: 24px 0;
  padding: 20px;
  border: 1px solid #c8ded9;
  border-radius: 8px;
  background: #f5fbf9;
}

.cost-diagnosis-bridge p,
.problem-region-cost-head p,
.monthly-update-head p {
  margin: 0;
  color: #536d68;
  line-height: 1.6;
}

.cost-diagnosis-bridge > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 16px;
  border-radius: 8px;
  background: #126f60;
  color: #fff;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}

.problem-region-cost {
  margin: 26px 0;
}

.problem-region-cost-head {
  margin-bottom: 14px;
}

.problem-region-cost-table {
  border: 1px solid #d5e2df;
  border-radius: 8px;
  overflow: hidden;
}

.problem-region-cost-table > div {
  display: grid;
  grid-template-columns: 0.8fr 1.25fr 1fr 1.45fr;
  min-width: 0;
}

.problem-region-cost-table > div + div {
  border-top: 1px solid #dfe9e7;
}

.problem-region-cost-table strong,
.problem-region-cost-table span {
  min-width: 0;
  padding: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.problem-region-cost-table strong {
  background: #e9f3f0;
  color: #174b43;
  font-size: 13px;
}

.problem-region-cost-table span {
  background: #fff;
  color: #324b47;
  font-size: 14px;
}

.monthly-official-update {
  margin-top: 28px;
}

.monthly-update-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
  margin-bottom: 14px;
}

.monthly-update-head > p {
  padding: 10px 12px;
  border: 1px solid #d6e1df;
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
  text-align: right;
}

.monthly-update-head > p strong,
.monthly-update-head > p span {
  color: #45615c;
}

.monthly-update-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.monthly-update-grid article {
  min-width: 0;
  padding: 18px;
  border: 1px solid #d5e1de;
  border-radius: 8px;
  background: #fff;
}

.monthly-update-grid article > span {
  color: #b66120;
  font-size: 13px;
  font-weight: 850;
}

.monthly-update-grid h3 {
  margin: 7px 0;
  color: #193f3a;
  font-size: 18px;
  line-height: 1.4;
}

.monthly-update-grid p {
  color: #536a66;
  line-height: 1.55;
}

.monthly-update-grid article > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.monthly-update-grid a {
  padding: 8px 10px;
  border-radius: 8px;
  background: #edf5f3;
  color: #145e52;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.diagnosis-start,
.diagnosis-result-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 18px;
  border: 1px solid #147866;
  border-radius: 8px;
  background: #147866;
  color: #fff;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.diagnosis-start:hover,
.diagnosis-result-actions a:hover {
  background: #0d6255;
}

.diagnosis-step-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.diagnosis-step-actions .soft-action {
  min-height: 46px;
}

.diagnosis-error {
  margin: 12px 0 0;
  color: #a3362d;
  font-size: 14px;
  font-weight: 750;
}

.diagnosis-result {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #cfe2de;
}

.diagnosis-result-head h3 {
  margin: 7px 0;
  color: #0c5d55;
  font-size: 24px;
  line-height: 1.28;
}

.diagnosis-result-head p {
  margin: 0;
  color: #46635f;
  line-height: 1.6;
}

.diagnosis-result-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.diagnosis-result-grid div {
  min-width: 0;
  padding: 14px;
  border: 1px solid #d9ebe6;
  border-radius: 8px;
  background: #fff;
}

.diagnosis-result-grid span {
  display: block;
  margin-bottom: 5px;
  color: #1b806f;
  font-size: 13px;
  font-weight: 800;
}

.diagnosis-result-grid strong {
  display: block;
  color: #233f3b;
  font-size: 15px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.diagnosis-result-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.diagnosis-privacy-note {
  margin: 13px 0 0;
  color: #657a76;
  font-size: 12px;
  line-height: 1.5;
}

.diagnosis-restart {
  margin-top: 10px;
}

@media (max-width: 620px) {
  .hero-audience-switch,
  .monthly-update-grid {
    grid-template-columns: 1fr;
  }

  .parent-cost-diagnosis {
    margin: 18px 0 22px;
    padding: 18px;
    border-radius: 8px;
  }

  .diagnosis-intro h2 {
    font-size: 26px;
  }

  .diagnosis-option-grid,
  .diagnosis-result-grid,
  .diagnosis-result-actions,
  .diagnosis-asset-actions {
    grid-template-columns: 1fr;
  }

  .cost-question-entry h2,
  .cost-diagnosis-bridge h2,
  .problem-region-cost h2,
  .monthly-official-update h2 {
    font-size: 21px;
  }

  .cost-question-entry > div,
  .cost-diagnosis-bridge,
  .monthly-update-head {
    grid-template-columns: 1fr;
  }

  .cost-question-entry a,
  .cost-diagnosis-bridge > a {
    width: 100%;
    white-space: normal;
  }

  .problem-region-cost-table {
    border: 0;
    overflow: visible;
  }

  .problem-region-cost-table > div {
    grid-template-columns: 1fr;
    margin-bottom: 10px;
    border: 1px solid #d5e2df;
    border-radius: 8px;
    overflow: hidden;
  }

  .problem-region-cost-table > div:first-child {
    display: none;
  }

  .problem-region-cost-table > div + div {
    border-top: 1px solid #d5e2df;
  }

  .problem-region-cost-table span::before {
    display: block;
    margin-bottom: 3px;
    color: #14705f;
    font-size: 12px;
    font-weight: 850;
  }

  .problem-region-cost-table span:nth-child(1)::before { content: "범위"; }
  .problem-region-cost-table span:nth-child(2)::before { content: "확인 문제"; }
  .problem-region-cost-table span:nth-child(3)::before { content: "확인처"; }
  .problem-region-cost-table span:nth-child(4)::before { content: "비용·서류 기준"; }

  .monthly-update-head > p {
    text-align: left;
  }

  .diagnosis-option {
    min-height: 64px;
    padding: 13px;
  }

  .diagnosis-option strong {
    font-size: 16px;
  }

  .diagnosis-start,
  .diagnosis-result-actions a,
  .diagnosis-result-actions button,
  .diagnosis-asset-actions button,
  .diagnosis-step-actions,
  .diagnosis-step-actions .soft-action,
  .diagnosis-family-memo .soft-action,
  .diagnosis-clear,
  .diagnosis-restart {
    width: 100%;
  }
}

/* Living bridge: editorial selection first, external conversion second. */
.living-home-band {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, 0.55fr);
  gap: 24px;
  align-items: center;
  margin-top: 26px;
  padding-top: 26px;
  padding-bottom: 26px;
  border-top: 1px solid #d9e7e3;
  border-bottom: 1px solid #d9e7e3;
  background: #f7fbfa;
}

.living-home-band h2,
.living-choice-group h2,
.living-medical-caution h2,
.living-context-bridge h2 {
  margin: 7px 0 9px;
  color: #17212b;
  letter-spacing: 0;
}

.living-home-band p,
.living-choice-group p,
.living-medical-caution p,
.living-context-bridge p {
  color: #4d5d69;
  line-height: 1.72;
}

.living-home-band img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 8px;
  object-fit: cover;
}

.living-home-content {
  min-width: 0;
}

.living-home-choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 17px;
}

.living-home-choices a {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  min-width: 0;
  min-height: 176px;
  padding: 15px;
  border: 1px solid #c8dbd6;
  border-radius: 6px;
  background: #ffffff;
  color: #17212b;
  text-decoration: none;
}

.living-home-choices a:hover,
.living-home-choices a:focus-visible {
  border-color: #2f7567;
  box-shadow: 0 5px 16px rgba(31, 74, 66, 0.1);
}

.living-home-choices span {
  color: #245249;
  font-size: 13px;
  font-weight: 800;
}

.living-home-choices strong {
  margin-top: 7px;
  line-height: 1.4;
}

.living-home-choices small {
  margin-top: 7px;
  color: #5a6872;
  font-size: 13px;
  line-height: 1.55;
}

.living-home-choices em {
  margin-top: 12px;
  color: #aa4f20;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
}

.living-home-disclosure {
  margin: 13px 0 0;
  font-size: 13px;
}

.living-choice-main {
  background: #ffffff;
}

.living-choice-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 34px;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
  padding: 52px 30px 32px;
}

.living-choice-hero h1 {
  max-width: 760px;
  margin: 12px 0 14px;
  color: #121c25;
  font-size: 48px;
  line-height: 1.16;
  letter-spacing: 0;
}

.living-choice-hero p {
  max-width: 720px;
  margin: 0;
  color: #4b5d69;
  font-size: 18px;
  line-height: 1.75;
}

.living-choice-hero > img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 8px;
  object-fit: cover;
}

.living-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 22px;
}

.living-hero-checks {
  display: grid;
  gap: 7px;
  margin: 17px 0 0;
  padding: 0;
  list-style: none;
}

.living-hero-checks li {
  position: relative;
  padding-left: 19px;
  color: #28463e;
  font-size: 15px;
  font-weight: 760;
  line-height: 1.5;
}

.living-hero-checks li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\2713";
  color: #16816e;
  font-weight: 900;
}

.living-hero-actions a,
.living-category-links a,
.living-context-bridge a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border: 1px solid #16816e;
  border-radius: 7px;
  color: #126856;
  font-weight: 850;
  line-height: 1.35;
  text-align: center;
}

.living-choice-content {
  max-width: 1080px;
}

.living-choice-selector {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 24px 0;
}

.living-choice-selector a {
  min-width: 0;
  padding: 14px;
  border: 1px solid #d6e3df;
  border-radius: 7px;
  background: #ffffff;
}

.living-choice-selector span,
.living-group-lead span,
.living-context-bridge span {
  display: block;
  color: #16735f;
  font-size: 13px;
  font-weight: 900;
}

.living-choice-selector strong {
  display: block;
  margin-top: 5px;
  color: #17212b;
  font-size: 16px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.living-economic-disclosure {
  margin: 18px 0 28px;
  padding: 13px 15px;
  border-left: 4px solid #d89a25;
  background: #fff9ec;
  color: #594923;
  font-size: 14px;
  line-height: 1.65;
}

.living-economic-disclosure strong {
  display: block;
  margin-bottom: 3px;
  color: #332b17;
}

.living-choice-group {
  scroll-margin-top: 94px;
  padding: 38px 0;
  border-top: 1px solid #dce7e4;
}

.living-group-lead {
  display: grid;
  grid-template-columns: minmax(250px, 0.65fr) minmax(0, 1.35fr);
  gap: 24px;
  align-items: center;
}

.living-group-lead img {
  width: 100%;
  aspect-ratio: 5 / 3;
  border-radius: 8px;
  object-fit: cover;
}

.living-group-lead small {
  display: block;
  margin-top: 11px;
  color: #6a5560;
  font-size: 13px;
  line-height: 1.55;
}

.living-product-list {
  margin-top: 20px;
  border-top: 1px solid #d9e5e2;
}

.living-product-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(170px, 0.56fr);
  gap: 16px;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px solid #e2ebe8;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
}

.living-product-row:hover,
.living-product-row:focus-visible {
  background: #f5faf8;
  outline: 3px solid rgba(20, 111, 97, 0.2);
  outline-offset: 2px;
}

.living-product-row > div {
  min-width: 0;
}

.living-product-row span {
  display: block;
  margin-bottom: 9px;
  color: #15212a;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.living-product-row strong {
  display: block;
  margin-bottom: 4px;
  color: #306458;
  font-size: 13px;
}

.living-product-row p {
  margin: 0;
  color: #586873;
  font-size: 14px;
  line-height: 1.6;
}

.living-product-cta {
  display: inline-flex;
  min-width: 0;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 11px 13px;
  border-radius: 7px;
  background: #146f61;
  color: #ffffff;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
  overflow-wrap: anywhere;
}

.living-medical-caution {
  margin: 32px 0 26px;
  padding: 22px;
  border: 1px solid #dacfd3;
  border-radius: 8px;
  background: #fffafb;
}

.living-category-links {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}

.living-context-bridge {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin: 30px 0;
  padding: 18px;
  border-top: 1px solid #d5e4df;
  border-bottom: 1px solid #d5e4df;
  background: #f7fbfa;
}

.living-context-bridge img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 7px;
  object-fit: cover;
}

.living-context-bridge a {
  margin-top: 9px;
}

@media (max-width: 900px) {
  .living-choice-hero,
  .living-home-band,
  .living-group-lead {
    grid-template-columns: 1fr;
  }

  .living-choice-hero > img,
  .living-home-band img,
  .living-group-lead img {
    max-height: 360px;
  }

  .living-product-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .living-product-cta {
    width: 100%;
  }

  .living-home-choices {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .living-home-band {
    gap: 17px;
    margin-top: 20px;
    padding: 21px 14px;
  }

  .living-home-choices {
    grid-template-columns: 1fr;
  }

  .living-home-choices a {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    min-height: 0;
    padding: 15px 16px;
  }

  .living-home-choices a span,
  .living-home-choices a small {
    grid-column: 1;
  }

  .living-home-choices a strong {
    grid-column: 1;
  }

  .living-home-choices a em {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
    max-width: 82px;
    margin: 0 0 0 12px;
    text-align: right;
  }

  .living-choice-hero {
    gap: 20px;
    padding: 28px 14px 22px;
  }

  .living-choice-hero h1 {
    font-size: 34px;
    line-height: 1.18;
  }

  .living-choice-hero p {
    font-size: 16px;
  }

  .living-choice-hero > img {
    max-height: 181px;
    aspect-ratio: 2 / 1;
  }

  .living-hero-actions,
  .living-hero-actions a,
  .living-category-links,
  .living-category-links a {
    width: 100%;
  }

  .living-choice-content {
    padding-left: 14px;
    padding-right: 14px;
  }

  .living-choice-selector,
  .living-product-row,
  .living-context-bridge {
    grid-template-columns: 1fr;
  }

  .living-choice-selector {
    gap: 8px;
  }

  .living-choice-group {
    padding: 30px 0;
  }

  .living-product-row {
    gap: 12px;
    padding: 18px 0 22px;
  }

  .living-context-bridge {
    margin: 26px 0;
    padding: 15px;
  }

  .living-context-bridge img {
    max-height: 210px;
  }

  .living-context-bridge a {
    width: 100%;
  }
}
.search-hit {
  outline: 3px solid rgba(32, 184, 159, .45);
  outline-offset: 4px;
  transition: outline-color .25s ease;
}
.compact-notice,
.footer-disclosure {
  display: block;
  color: #858e9a;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 500;
}
.compact-notice {
  margin: 10px 0 0;
}
.footer-disclosure {
  margin-top: 6px;
  max-width: 620px;
}
.footer-connect-disclosure {
  margin-top: 3px;
  color: #929aa3;
  font-size: 10px;
  opacity: .78;
}
.site-footer {
  border-top: 1px solid var(--line);
  padding: 28px 20px 132px;
  color: var(--muted);
}
.footer-inner {
  max-width: 1120px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.install-nudge {
  position: fixed;
  left: 50%;
  bottom: 80px;
  z-index: 80;
  width: min(640px, calc(100vw - 28px));
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 14px 14px 14px 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 20px 60px rgba(16,32,51,.16);
}
.revenue-quickbar {
  position: fixed;
  left: 50%;
  bottom: 8px;
  z-index: 90;
  width: min(640px, calc(100vw - 16px));
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 2px;
  padding: 7px 6px calc(7px + env(safe-area-inset-bottom));
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 -12px 34px rgba(16,32,51,.14);
}
.revenue-quickbar a {
  min-height: 54px;
  display: grid;
  grid-template-rows: 26px 1fr;
  gap: 2px;
  place-items: center;
  border-radius: 8px;
  background: transparent;
  color: #6c7584;
  font-size: 11px;
  line-height: 1.1;
  font-weight: 850;
  text-align: center;
  min-width: 0;
  overflow: hidden;
}
.revenue-quickbar a span {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
.revenue-quickbar a:first-child {
  color: var(--green-dark);
}
.revenue-quickbar .ui-icon {
  width: 25px;
  height: 25px;
  stroke-width: 2.35;
}

@media (min-width: 881px) {
  .revenue-quickbar {
    display: none;
  }
  .install-nudge {
    bottom: 18px;
    width: min(560px, calc(100vw - 36px));
  }
}

.conversion-aside h3 {
  margin: 0;
  font-size: 21px;
  line-height: 1.25;
}
.conversion-aside .yield-grid {
  grid-template-columns: 1fr;
}
.conversion-aside .yield-card {
  min-height: auto;
}
.conversion-aside .yield-card p,
.conversion-aside .yield-thumb {
  display: none;
}
.install-nudge strong,
.install-nudge span { display: block; }
.install-nudge span { color: var(--muted); font-size: 14px; }
.install-nudge button {
  border: 0;
  border-radius: 999px;
  width: 36px;
  height: 36px;
  font-size: 22px;
  background: var(--soft);
  cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .spark-card,
  .spark-card::before,
  .spark-card::after,
  .spark-card.is-popping,
  .hero-float-card {
    animation: none !important;
    transition: none !important;
  }
}

@media (max-width: 880px) {
  .header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
  }
  .brand {
    min-width: 0;
  }
  .menu-square {
    margin-left: 0;
    grid-column: 2;
    grid-row: 1;
  }
  .nav {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
  }
  .hero,
  .layout,
  .guide-flow-section,
  .grant-search-panel,
  .grant-portal-layout,
  .conversion-lab,
  .product-conversion-band,
  .health-conversion-panel { grid-template-columns: 1fr; }
  .hero-action-grid {
    width: 100%;
    max-width: none;
  }
  .hero-action-grid.home-primary-paths {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .premium-check-banner {
    grid-template-columns: 1fr;
  }
  .medical-next-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ad-card { position: static; }
  .smart-sidebar { display: none; }
  .ad-stack { grid-template-columns: 1fr; }
  .article-list,
  .product-feature-grid,
  .recommend-grid,
  .consult-preview-grid,
  .answer-summary-grid,
  .howto-summary ol,
  .benefit-icon-grid,
  .yield-grid,
  .funnel-grid,
  .policy-category-grid,
  .policy-rank-grid,
  .grant-rank-grid,
  .compact-portal .grant-rank-grid,
	  .safety-hub-grid,
	  .revenue-path-grid,
	  .affiliate-intent-grid,
	  .product-bundle-grid,
	  .health-condition-grid,
  .issue-grid,
  .community-shop-section,
  .slot-grid,
  .persona-grid,
  .urgent-grid,
  .expiring-grid,
  .spotlight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	  .hub-mini-products,
	  .bundle-product-grid,
	  .compact-slot-grid {
	    grid-template-columns: repeat(2, minmax(0, 1fr));
	  }
	  .contextual-revenue-grid {
	    grid-template-columns: 1fr;
	  }
  .grant-portal-head {
    align-items: start;
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  body {
    padding-bottom: 0;
  }
  .site-header {
    position: static;
    top: auto;
    background: rgba(255,255,255,.98);
  }
  .header-inner {
    display: flex;
    grid-template-columns: none;
    gap: 10px;
  }
  .nav {
    display: none;
  }
  .header-actions {
    margin-left: auto;
    gap: 7px;
  }
  .header-icon {
    width: 42px;
    height: 42px;
  }
  .header-search {
    display: grid;
  }
  .brand-mark {
    background: #e8f8f5;
    color: var(--green-dark);
  }
  body {
    font-size: 18px;
    line-height: 1.68;
  }
  .promo-bar {
    min-height: 34px;
    padding: 7px 14px;
    font-size: 14px;
    line-height: 1.35;
  }
  .header-inner {
    padding: 14px 16px 12px;
  }
  .brand {
    font-size: 20px;
  }
  .brand small {
    font-size: 12px;
    line-height: 1.22;
  }
  .brand-mark {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
  }
  .menu-square {
    width: 42px;
    height: 42px;
  }
  .nav {
    width: 100%;
    gap: 10px;
    font-size: 15px;
  }
  .nav a {
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
  }
  .hero {
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 18px 16px 0;
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff 0%, #f7fafb 100%);
  }
  .hero > div:first-child {
    order: 2;
    width: 100%;
    max-width: 100%;
  }
  .hero::before {
    display: none;
  }
  .hero h1 {
    max-width: 100%;
    margin-top: 4px;
    color: var(--ink);
    font-size: 34px;
    line-height: 1.14;
    word-break: keep-all;
    overflow-wrap: break-word;
  }
  .hero h1 em {
    display: inline;
    color: var(--green-dark);
  }
  .hero p {
    max-width: 100%;
    margin-top: 14px;
    font-size: 16px;
    line-height: 1.45;
    color: #1d2c3f;
    font-weight: 750;
  }
  .hero p.hero-trust-note {
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.45;
  }
  .hero-priority-links {
    gap: 8px;
    width: 100%;
    margin-top: 12px;
  }
  .hero-priority-links a {
    min-height: 70px;
    padding: 10px;
  }
  .hero-priority-links strong {
    font-size: 15px;
  }
  .hero-priority-links small {
    font-size: 11px;
  }
  .hero p strong {
    display: block;
    color: #0f6b45;
    font-weight: 950;
  }
  .hero-benefit-list {
    display: none;
  }
  .hero-proof {
    display: none;
  }
  .hero-panel {
    order: 1;
    display: block;
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    min-height: 0;
    margin: 0 0 16px;
    padding: 0;
    z-index: 2;
    pointer-events: auto;
  }
  .hero-photo {
    min-height: 178px;
    border-radius: 8px;
    border-color: #dbe7e3;
    box-shadow: 0 18px 48px rgba(16,32,51,.12);
    background:
      linear-gradient(90deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.18) 36%, rgba(255,255,255,0) 68%),
      url("/assets/photo-care-service-paperwork.png") center right/cover;
  }
  .hero-float-card {
    display: none;
  }
  .hero-support-search {
    position: relative;
    z-index: 4;
    margin-top: 20px;
    padding: 13px;
    border-color: #d7e4e4;
    box-shadow: 0 18px 46px rgba(16, 24, 39, .11);
  }
  .hero-support-search > strong {
    font-size: 17px;
    line-height: 1.28;
  }
  .hero-support-search .grant-search-box {
    grid-template-columns: minmax(0, 1fr) 56px;
    margin-top: 10px;
    padding: 5px;
    border-color: var(--green);
  }
  .hero-support-search .grant-search-box input {
    min-height: 47px;
    font-size: 15px;
    font-weight: 850;
  }
  .hero-support-search .search-submit {
    min-width: 56px;
    min-height: 47px;
    padding: 8px;
    font-size: 0;
    background: linear-gradient(135deg, var(--green-dark), var(--green));
  }
  .hero-support-search .search-submit::before {
    content: "검색";
    font-size: 15px;
  }
  .hero-support-search .icon-submit::before {
    content: none;
  }
  .hero-support-search .icon-submit .ui-icon {
    width: 27px;
    height: 27px;
  }
  .hero-hot-keywords {
    gap: 6px;
    margin-top: 10px;
  }
  .hero-hot-keywords span,
  .hero-hot-keywords a {
    min-height: 30px;
    padding: 5px 9px;
    font-size: 13px;
  }
  .hero-action-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    overflow: visible;
    scroll-snap-type: none;
  }
  .hero-action-grid.home-primary-paths {
    grid-template-columns: 1fr;
  }
  .hero-action-grid::-webkit-scrollbar { display: none; }
  .hero-action-card {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 104px;
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 12px;
    padding: 16px;
    scroll-snap-align: none;
  }
  .action-icon {
    width: 48px;
    height: 48px;
  }
  .action-icon .ui-icon {
    width: 28px;
    height: 28px;
  }
  .hero-action-card strong {
    font-size: 21px;
  }
  .hero-action-card small {
    font-size: 15px;
  }
  .hero-action-card ul {
    display: none;
  }
  .hero-action-card em {
    display: inline-flex;
    min-height: 32px;
    max-width: 100%;
    padding: 8px 10px;
    font-size: 13px;
    line-height: 1.25;
    white-space: normal;
  }
  .action-copy {
    grid-column: 2;
  }
  .action-visual {
    display: none;
  }
  .hero-cta-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .hero-cta-row.compact {
    grid-template-columns: 1fr;
  }
  .hero-cta-row .cta {
    width: 100%;
  }
	  .hero-buy-strip {
	    grid-template-columns: repeat(2, minmax(0, 1fr));
	    margin-top: 16px;
	  }
	  .revenue-path-grid,
	  .contextual-revenue-grid,
	  .compact-slot-grid,
	  .contextual-revenue-panel .bundle-product-grid {
	    grid-template-columns: 1fr;
	  }
	  .revenue-path-card {
	    min-height: auto;
	  }
	  .contextual-revenue-panel {
	    margin: 22px 0;
	    padding: 16px;
	  }
	  .contextual-revenue-panel .slot-thumb {
	    display: none;
	  }
	  .hero-buy-button {
	    min-height: 82px;
	    grid-template-columns: 54px minmax(0, 1fr);
    column-gap: 9px;
    padding: 9px;
  }
  .hero-buy-thumb {
    width: 54px;
    height: 54px;
  }
  .hero-buy-button span {
    font-size: 13px;
  }
  .hero-buy-button strong {
    font-size: 18px;
    word-break: keep-all;
  }
  .hero-buy-button small {
    font-size: 12px;
    -webkit-line-clamp: 2;
  }
  .search-box {
    margin-top: 16px;
    padding: 8px;
  }
  .search-box input {
    min-height: 48px;
    font-size: 17px;
    padding: 12px;
  }
  .search-box button,
  .cta {
    min-height: 48px;
    font-size: 17px;
    padding: 12px 14px;
  }
  .quick-links a,
  .chip {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    padding: 7px 11px;
  }
  .popular-searches,
  .seo-search-band {
    margin-top: 16px;
    padding: 13px;
  }
  .seo-search-band {
    margin: 0 16px 16px;
  }
  .popular-searches strong,
  .seo-search-band strong {
    font-size: 15px;
  }
  .popular-searches a,
  .seo-search-band a {
    min-height: 36px;
    font-size: 15px;
    padding: 7px 11px;
  }
  .seo-focus-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .seo-focus-card {
    min-height: 132px;
    padding: 16px;
  }
  .seo-focus-card strong {
    font-size: 21px;
  }
  .seo-focus-card p {
    font-size: 16px;
  }
  .hero-checks span {
    min-height: 64px;
    font-size: 20px;
    padding: 14px;
  }
  .trust-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0 16px 16px;
  }
  .trust-strip div {
    min-height: 78px;
    padding: 12px;
  }
  .trust-strip strong {
    font-size: 16px;
  }
  .trust-strip span {
    font-size: 13px;
    line-height: 1.35;
  }
  .section {
    padding: 28px 16px;
  }
  .grant-portal {
    margin: 8px 0 22px;
    padding: 0 16px;
  }
  .portal-no-search .grant-portal-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    margin-bottom: 10px;
  }
  .portal-no-search .grant-portal-head h2 {
    font-size: 25px;
    line-height: 1.18;
  }
  .portal-no-search .grant-portal-head p {
    display: none;
  }
  .portal-no-search .grant-portal-head > a {
    font-size: 16px;
    padding-bottom: 2px;
  }
  .portal-no-search .grant-ranking-wrap .mini-section-head {
    display: none;
  }
  .portal-no-search .grant-portal-layout {
    display: block;
  }
  .portal-no-search .grant-rank-grid {
    display: flex;
    grid-template-columns: none;
    gap: 10px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 0 1px 8px;
  }
  .portal-no-search .grant-rank-grid::-webkit-scrollbar {
    display: none;
  }
  .portal-no-search .grant-rank-card {
    width: 190px;
    min-width: 190px;
    max-width: 190px;
    min-height: 248px;
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 12px;
    scroll-snap-align: start;
  }
  .portal-no-search .grant-rank-surface {
    min-height: 86px;
    padding: 12px;
    gap: 8px;
  }
  .portal-no-search .grant-rank-icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
  }
  .portal-no-search .grant-rank-icon .ui-icon {
    width: 25px;
    height: 25px;
  }
  .portal-no-search .grant-rank-check {
    font-size: 12px;
  }
  .portal-no-search .grant-rank-card strong {
    font-size: 18px;
    line-height: 1.22;
    text-align: left;
  }
  .portal-no-search .grant-card-stats {
    text-align: left;
    font-size: 13px;
  }
  .portal-no-search .grant-card-stats span:first-child {
    font-size: 18px;
  }
  .portal-no-search .grant-rank-card em {
    min-height: 34px;
    font-size: 13px;
  }
  .portal-no-search .grant-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 10px;
  }
  .portal-no-search .grant-category-tile {
    min-height: 88px;
    padding: 12px;
  }
  .portal-no-search .grant-category-tile .tile-icon {
    width: 40px;
    height: 40px;
  }
  .portal-no-search .grant-category-tile strong {
    font-size: 17px;
  }
  .portal-no-search .grant-category-tile small {
    font-size: 12px;
    line-height: 1.35;
  }
  .portal-no-search .grant-deadline-panel {
    display: none;
  }
  .grant-portal-head {
    margin-bottom: 12px;
  }
  .grant-portal-head h2 {
    font-size: 29px;
    line-height: 1.18;
    word-break: keep-all;
  }
  .grant-portal-head p {
    font-size: 16px;
    line-height: 1.55;
  }
  .grant-search-panel {
    padding: 16px;
    gap: 14px;
  }
  .grant-search-panel strong {
    font-size: 24px;
    line-height: 1.22;
  }
  .grant-search-panel p {
    font-size: 15px;
  }
  .grant-search-box {
    grid-template-columns: 1fr;
  }
  .grant-search-box input {
    min-height: 54px;
    font-size: 17px;
  }
  .grant-hot-keywords a {
    min-height: 36px;
    font-size: 14px;
  }
  .mini-section-head strong {
    font-size: 20px;
  }
  .grant-rank-grid,
  .compact-portal .grant-rank-grid {
    grid-template-columns: 1fr;
  }
  .grant-rank-card {
    min-height: 196px;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }
  .grant-rank-surface {
    min-height: 82px;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    padding: 12px;
  }
  .grant-rank-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
  }
  .grant-rank-icon .ui-icon {
    width: 26px;
    height: 26px;
  }
  .grant-rank-card strong {
    font-size: 22px;
    line-height: 1.2;
  }
  .grant-card-stats span:first-child {
    font-size: 21px;
  }
  .grant-rank-card em {
    min-height: 38px;
    font-size: 15px;
  }
  .grant-category-grid {
    grid-template-columns: 1fr;
  }
  .grant-category-tile {
    min-height: 104px;
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 12px;
    align-items: center;
  }
  .grant-category-tile .tile-icon {
    grid-row: span 2;
    width: 48px;
    height: 48px;
  }
  .grant-category-tile strong {
    font-size: 21px;
  }
  .grant-category-tile small {
    font-size: 15px;
  }
  .grant-deadline-row {
    grid-template-columns: 86px minmax(0, 1fr);
  }
  .answer-summary {
    margin: 16px 16px 18px;
    padding: 18px;
    border-left-width: 5px;
  }
  .answer-summary h2 {
    font-size: 27px;
    line-height: 1.2;
    word-break: keep-all;
  }
  .answer-summary p {
    font-size: 16px;
    line-height: 1.55;
  }
  .answer-summary-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .answer-summary-grid div {
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    min-height: auto;
    padding: 12px 0;
    border: 0;
    border-top: 1px solid #dbe7e3;
    border-radius: 0;
    background: transparent;
  }
  .answer-summary-grid strong {
    font-size: 17px;
    line-height: 1.4;
  }
  .answer-summary-grid p {
    font-size: 15px;
    line-height: 1.5;
  }
  .missed-benefit-check {
    margin: 16px 16px 18px;
    padding: 18px;
  }
  .smart-article .missed-benefit-check,
  .benefit-article-hero + .missed-benefit-check,
  .answer-summary + .missed-benefit-check {
    margin-left: 0;
    margin-right: 0;
  }
  .missed-benefit-head h2 {
    font-size: 26px;
    line-height: 1.2;
  }
  .missed-benefit-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .missed-benefit-grid div {
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    padding: 12px 0;
    border: 0;
    border-top: 1px solid #dbe7e3;
    border-radius: 0;
    background: transparent;
  }
  .missed-benefit-grid strong {
    font-size: 16px;
    line-height: 1.42;
  }
  .missed-benefit-grid p {
    font-size: 15px;
    line-height: 1.52;
  }
  .missed-benefit-cta {
    width: 100%;
  }
  .high-rpm-intent-section {
    margin: 16px 0 18px;
    padding: 18px;
  }
  .high-rpm-intent-head h2 {
    font-size: 26px;
    line-height: 1.2;
  }
  .high-rpm-intent-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .high-rpm-intent-grid div {
    padding: 15px;
  }
  .high-rpm-related-links {
    display: grid;
    grid-template-columns: 1fr;
  }
  .high-rpm-related-links a {
    justify-content: center;
    border-radius: 8px;
  }
  .answer-official-bar {
    grid-template-columns: 1fr;
    gap: 11px;
    margin: -4px 0 16px;
    padding: 14px;
  }
  .answer-official-links {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: stretch;
  }
  .answer-official-links a {
    width: 100%;
    min-height: 44px;
  }
  .medical-next-action-hub {
    margin: 20px 0 24px;
    padding: 16px;
  }
  .medical-next-action-grid {
    grid-template-columns: 1fr;
  }
  .medical-next-action-grid a {
    padding: 15px;
  }
  .medical-next-action-grid strong {
    font-size: 17px;
  }
  .health-trust-first {
    margin: 16px 0 18px;
    padding: 18px;
  }
  .health-trust-main h2 {
    font-size: 26px;
    word-break: keep-all;
  }
  .health-trust-main p {
    font-size: 16px;
  }
  .health-trust-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .health-trust-grid div {
    padding: 15px;
  }
  .health-official-row a,
  .health-official-row span {
    min-height: 40px;
    font-size: 13px;
  }
  .howto-summary {
    padding: 18px;
    margin: 18px 0;
  }
  .howto-summary h2 {
    font-size: 25px;
    word-break: keep-all;
  }
  .howto-summary ol {
    grid-template-columns: 1fr;
  }
  .howto-summary li {
    min-height: auto;
  }
  .howto-step-link {
    min-height: 0;
    padding: 15px 15px 15px 56px;
  }
  .howto-summary strong {
    font-size: 18px;
  }
  .howto-summary p {
    font-size: 16px;
  }
  .faq-section {
    margin-top: 22px;
    padding: 16px;
  }
  .faq-section h2 {
    font-size: 24px;
  }
  .faq-list summary {
    min-height: 50px;
    padding: 13px 14px;
    font-size: 17px;
  }
  .faq-list p {
    padding: 0 14px 15px;
    font-size: 16px;
    line-height: 1.58;
  }
  .recommend-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }
  .recommend-card {
    min-height: 164px;
  }
  .consult-preview-grid {
    grid-template-columns: 1fr;
  }
  .benefit-icon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .premium-check-banner {
    padding: 20px;
    gap: 16px;
  }
  .premium-check-banner h2 {
    font-size: 28px;
    line-height: 1.22;
  }
  .premium-check-banner p,
  .premium-check-banner li {
    font-size: 16px;
  }
  .benefit-icon-grid .policy-category-card {
    min-height: 188px;
    padding: 14px;
  }
  .benefit-icon-grid .policy-category-card strong {
    font-size: 19px;
  }
  .benefit-icon-grid .policy-category-card p {
    font-size: 14px;
    line-height: 1.45;
  }
  .conversion-lab {
    padding: 18px;
  }
  .conversion-lab h2 {
    font-size: 29px;
    line-height: 1.18;
  }
  .conversion-lab p,
  .checklist-panel li {
    font-size: 16px;
  }
  .checklist-panel strong,
  .product-conversion-band strong,
  .health-conversion-panel strong,
  .benefit-conversion-panel strong {
    font-size: 22px;
  }
  .funnel-grid,
  .product-reason-grid {
    grid-template-columns: 1fr;
  }
  .safety-hub-grid,
  .product-bundle-grid,
  .health-condition-grid,
  .home-product-check-grid,
  .home-reference-grid,
  .product-scenario-grid {
    grid-template-columns: 1fr;
  }
  .product-criteria-row {
    grid-template-columns: 1fr;
    padding: 15px;
  }
  .product-criteria-row small {
    grid-column: auto;
  }
  .hub-mini-products,
  .bundle-product-grid {
    grid-template-columns: 1fr;
  }
  .safety-hub-card,
  .product-bundle-card,
  .health-condition-card {
    min-height: auto;
    padding: 16px;
  }
  .safety-hub-card h3,
  .product-bundle-card h3,
  .health-condition-card h3 {
    font-size: 22px;
    line-height: 1.22;
  }
  .product-mini-card {
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: center;
  }
  .mini-product-thumb {
    width: 82px;
    height: 82px;
    grid-row: span 3;
  }
  .product-mini-card em {
    min-height: 36px;
    width: fit-content;
    padding: 7px 10px;
  }
  .funnel-step-card {
    min-height: auto;
  }
  .section h2 {
    font-size: 26px;
    line-height: 1.24;
    word-break: keep-all;
  }
  .guide-flow-section {
    padding: 16px;
    gap: 14px;
  }
  .guide-flow-copy h2 {
    font-size: 24px;
    line-height: 1.25;
    word-break: keep-all;
  }
  .guide-flow-copy p {
    font-size: 16px;
  }
  .guide-flow-copy li {
    padding: 12px 12px 12px 44px;
  }
  .guide-flow-image {
    aspect-ratio: 16 / 9;
  }
  .guide-flow-links a {
    flex: 1 1 100%;
    justify-content: center;
    border-radius: 8px;
  }
  .guide-row {
    padding: 15px;
  }
  .guide-row strong {
    font-size: 20px;
  }
  .guide-row p,
  .guide-row small {
    font-size: 15px;
    line-height: 1.55;
  }
  .section-head p {
    margin-top: 8px;
    font-size: 16px;
    line-height: 1.55;
  }
  .ad-band {
    min-height: 250px;
    margin: 18px 0;
  }
  .compact-ad {
    min-height: 118px;
    margin: 16px 0;
  }
  .top-revenue-ad {
    margin: 4px 16px 18px;
    width: auto;
  }
  .compact-ad .adsbygoogle {
    min-height: 100px;
  }
  .ad-band .adsbygoogle {
    min-height: 250px;
  }
  .ad-band.compact-ad .adsbygoogle {
    min-height: 100px;
  }
  .benefit-card,
  .article-card,
  .product-row,
  .ad-card,
  .slot-card,
  .persona-card,
  .urgent-card,
  .spotlight-card {
    padding: 20px;
  }
  .benefit-card h3,
  .article-card h3 {
    font-size: 22px;
    line-height: 1.3;
  }
  .category {
    font-size: 14px;
  }
  .benefit-card p,
  .article-card p,
  .product-row p,
  .slot-card p,
  .fact-list li {
    font-size: 16px;
    line-height: 1.55;
  }
  .money-feed-item {
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 12px;
    min-height: 116px;
    padding: 12px;
  }
  .money-feed-hero {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px;
  }
  .money-feed-hero h1 {
    font-size: 32px;
    line-height: 1.16;
  }
  .money-feed-hero p,
  .money-feed-reading-guide p,
  .money-feed-story p,
  .money-feed-issue-section p {
    font-size: 16px;
    line-height: 1.62;
  }
  .money-feed-hero-image {
    aspect-ratio: 16 / 10;
  }
  .money-feed-reading-guide,
  .money-feed-story,
  .money-feed-visual-path,
  .money-feed-focus,
  .money-feed-issue-section,
  .money-feed-family-memo,
  .money-feed-related-section {
    margin: 20px 0;
    padding-top: 20px;
  }
  .money-feed-reading-guide h2,
  .money-feed-story h2,
  .money-feed-issue-section h2,
  .money-feed-family-memo h2 {
    font-size: 25px;
    line-height: 1.24;
  }
  .money-feed-reading-guide ol,
  .money-feed-inline-figure,
  .money-feed-narrative-grid,
  .money-feed-visual-grid {
    grid-template-columns: 1fr;
  }
  .money-feed-inline-figure {
    padding: 12px;
  }
  .money-feed-text-row {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    padding: 13px;
  }
  .money-feed-text-row > span {
    width: 34px;
    height: 34px;
    font-size: 12px;
  }
  .money-feed-text-row strong {
    font-size: 18px;
  }
  .money-feed-memo-table div {
    grid-template-columns: 1fr;
  }
  .money-feed-memo-table span {
    border-top: 1px solid #e7efed;
  }
  .money-feed-item strong {
    font-size: 21px;
    line-height: 1.28;
  }
  .feed-thumb {
    width: 94px;
    height: 82px;
  }
  .feed-meta {
    font-size: 15px;
  }
  .yield-card {
    min-height: auto;
    padding: 20px;
  }
  .course-step-card {
    min-height: auto;
    padding: 16px;
  }
  .course-step-card strong {
    font-size: 24px;
  }
  .course-step-card p {
    font-size: 18px;
  }
  .bridge-column > strong {
    font-size: 23px;
  }
  .yield-card strong {
    font-size: 22px;
  }
  .yield-stats {
    font-size: 15px;
  }
  .yield-stats span:first-child {
    font-size: 24px;
  }
  .apply-link {
    width: 100%;
    min-height: 56px;
    font-size: 17px;
  }
  .product-title {
    font-size: 21px;
    line-height: 1.3;
  }
  .product-feature-card {
    min-height: auto;
    padding: 14px;
  }
  .product-feature-card strong {
    font-size: 22px;
    line-height: 1.25;
  }
  .product-feature-card p,
  .buy-check {
    font-size: 16px !important;
    line-height: 1.55;
  }
  .product-price {
    font-size: 21px;
  }
  .spark-kick {
    font-size: 16px !important;
    line-height: 1.5 !important;
    padding: 12px;
  }
  .spark-kick span {
    font-size: 12px;
  }
  .product-visual {
    width: 78px;
    height: 78px;
    font-size: 24px;
  }
  .large-visual {
    width: 100%;
    height: 112px;
    font-size: 34px;
  }
  .rank-badge,
  .buy-badge {
    min-height: 32px;
    font-size: 14px;
    padding: 6px 11px;
  }
  .slot-card strong {
    font-size: 22px;
    line-height: 1.3;
  }
  .persona-card strong,
  .urgent-card strong,
  .spotlight-card strong {
    font-size: 25px;
    line-height: 1.28;
  }
  .persona-card p,
  .urgent-card p,
  .spotlight-card p {
    font-size: 19px;
    line-height: 1.65;
  }
  .deadline,
  .score {
    min-height: 40px;
    font-size: 17px;
    padding: 8px 13px;
  }
  .affiliate-notice {
    font-size: 12px;
    line-height: 1.45;
    padding: 0;
  }
  .expanded-intent-section .affiliate-link-row {
    grid-template-columns: 1fr;
  }
  .compact-notice,
  .footer-disclosure {
    font-size: 10px;
    line-height: 1.35;
  }
  .ad-box {
    min-height: 220px;
    padding: 18px;
  }
  .ad-box span {
    font-size: 19px;
  }
  .ad-box small {
    font-size: 16px;
  }
  .search-box { grid-template-columns: 1fr; }
  .hero-checks,
  .card-grid,
  .article-list,
  .product-feature-grid,
  .recommend-grid,
  .consult-preview-grid,
  .yield-grid,
  .course-step-grid,
  .revenue-bridge-grid,
  .compact-products,
  .policy-category-grid,
  .policy-rank-grid,
  .grant-rank-grid,
  .grant-category-grid,
  .affiliate-intent-grid,
  .issue-grid,
  .community-shop-section,
  .slot-grid,
  .persona-grid,
  .urgent-grid,
  .expiring-grid,
  .spotlight-grid { grid-template-columns: 1fr; }
  .affiliate-intent-card h3 {
    font-size: 23px;
  }
  .affiliate-inline-link strong {
    font-size: 18px;
  }
  .affiliate-advantage-strip {
    grid-template-columns: 1fr;
  }
  .affiliate-advantage-strip div {
    min-height: auto;
  }
  .affiliate-value li {
    font-size: 15px;
  }
  .hero-checks {
    display: none;
  }
  .section-head,
  .footer-inner,
  .product-row { display: block; }
  .product-row .product-thumb {
    width: 100%;
    aspect-ratio: 4 / 3;
    margin-bottom: 14px;
  }
  .card-thumb,
  .policy-thumb,
  .yield-thumb,
  .spotlight-thumb,
  .slot-thumb,
  .product-feature-image {
    aspect-ratio: 16 / 9;
  }
  .product-feature-image {
    aspect-ratio: 4 / 3;
  }
  .cta { display: inline-block; margin-top: 14px; width: 100%; text-align: center; }
  .shop-hero {
    grid-template-columns: 1fr;
    padding: 20px;
  }
  .shop-hero h1 {
    font-size: 36px;
  }
  .install-nudge {
    display: none;
  }
  .revenue-quickbar {
    position: static;
    left: 0;
    width: 100%;
    max-width: 100vw;
    transform: none;
    margin-top: 10px;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 12px 12px 0 0;
    box-shadow: 0 -8px 22px rgba(16,32,51,.12);
  }
  .revenue-quickbar a {
    min-width: 0;
    min-height: 50px;
    font-size: 10px;
    padding: 2px;
  }
}

@media (max-width: 860px) {
  .service-shortcut-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .db-summary,
  .db-official-box,
  .db-guardian-cta,
  .db-backlog-preview {
    grid-template-columns: 1fr;
  }
  .db-summary-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .db-card-grid {
    grid-template-columns: 1fr;
  }
  .benefit-status-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .service-shortcut-section {
    margin: 10px auto 18px;
    padding: 0 16px;
  }
  .service-shortcut-head {
    align-items: stretch;
    flex-direction: column;
  }
  .service-shortcut-head button {
    width: 100%;
    justify-content: center;
  }
  .service-shortcut-grid {
    grid-template-columns: 1fr;
  }
  .service-shortcut-card {
    min-height: auto;
  }
  .benefit-status-panel {
    margin: 18px 0;
    padding: 18px;
  }
  .benefit-context-row p {
    font-size: 14px;
  }
  .benefit-sidebar {
    display: none;
  }
  .benefit-jump-nav {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: -4px 0 18px;
  }
  .benefit-jump-nav a {
    width: 100%;
    min-height: 42px;
  }
  .benefit-live-row {
    align-items: stretch;
    flex-direction: column;
  }
  .benefit-live-row button {
    width: 100%;
  }
  .benefit-status-head h2 {
    font-size: 26px;
    line-height: 1.24;
  }
  .benefit-status-head p {
    font-size: 17px;
  }
  .benefit-status-actions,
  .benefit-related-chips {
    display: grid;
    grid-template-columns: 1fr;
  }
  .benefit-status-actions a,
  .benefit-related-chips a {
    width: 100%;
    min-height: 44px;
    font-size: 15px;
  }
  .db-summary,
  .db-official-box,
  .db-guardian-cta,
  .db-backlog-preview {
    margin: 18px 0;
    padding: 18px;
  }
  .db-summary-facts {
    grid-template-columns: 1fr;
  }
  .db-summary h2,
  .db-official-box h2,
  .db-guardian-cta h2,
  .db-backlog-preview h2,
  .db-detail-head h2,
  .db-related-section h2 {
    font-size: 26px;
    line-height: 1.24;
  }
  .db-summary p,
  .db-official-box p,
  .db-guardian-cta p,
  .db-backlog-preview p,
  .db-detail-head p {
    font-size: 17px;
  }
  .db-card {
    padding: 17px;
  }
  .db-card h2 {
    font-size: 23px;
  }
  .db-card li,
  .db-summary-facts strong {
    font-size: 16px;
  }
  .db-official-actions,
  .db-guardian-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .db-official-actions a,
  .db-guardian-actions a,
  .soft-action {
    width: 100%;
    min-height: 44px;
    font-size: 15px;
  }
}

.ai-visibility-block {
  width: min(1160px, calc(100% - 32px));
  margin: 22px auto;
  padding: 24px;
  border: 1px solid rgba(22, 138, 114, 0.22);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(239, 253, 247, 0.98), rgba(255, 248, 235, 0.94));
  box-shadow: 0 18px 46px rgba(30, 81, 72, 0.08);
}

.ai-visibility-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.ai-visibility-grid article {
  padding: 16px;
  border: 1px solid rgba(22, 138, 114, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
}

.ai-visibility-grid b {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(22, 138, 114, 0.12);
  color: #0e715f;
  font-size: 0.75rem;
}

.ai-visibility-grid strong {
  display: block;
  color: #173b35;
}

.ai-visibility-grid p,
.ai-source-note {
  color: #50635f;
  line-height: 1.65;
}

.ai-visibility-grid div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.ai-visibility-grid span {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(255, 241, 214, 0.96);
  color: #6a4b16;
  font-size: 0.78rem;
  font-weight: 800;
}

.ai-source-note {
  margin: 16px 0 0;
  font-size: 0.92rem;
}

@media (max-width: 880px) {
  .ai-visibility-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .smart-hub-hero,
  .smart-article-hero,
  .health-article-hero,
  .benefit-article-hero,
  .smart-bottom-cta {
    grid-template-columns: 1fr;
  }
  .smart-check-grid,
  .smart-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .smart-toc {
    position: static;
  }
}

@media (max-width: 620px) {
  .smart-hub-hero,
  .smart-article-hero,
  .health-article-hero,
  .benefit-article-hero,
  .smart-longform-block,
  .smart-deep-section,
  .smart-related-section,
  .smart-bottom-cta {
    padding: 16px;
  }
  .smart-hub-hero h1,
  .smart-article-hero h1,
  .health-article-hero h1,
  .benefit-article-hero h1 {
    font-size: 31px;
    line-height: 1.18;
  }
  .benefit-article-image {
    aspect-ratio: 16 / 9;
  }
  .smart-article-section .layout,
  .smart-layout,
  .smart-article,
  .health-blog-longform,
  .smart-hub,
  .smart-check-card,
  .smart-related-card,
  .smart-detail-card,
  .smart-question-bank li,
  .smart-mistake-list div,
  .smart-bottom-cta,
  .contextual-revenue-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .smart-check-grid,
  .smart-related-grid,
  .smart-mistake-list {
    grid-template-columns: 1fr;
  }
  .health-blog-longform {
    padding: 16px;
  }
  .health-blog-longform h2 {
    font-size: 25px;
  }
  .health-blog-longform h3 {
    font-size: 21px;
  }
  .health-blog-longform p,
  .health-product-boundary li {
    font-size: 16px;
    line-height: 1.68;
  }
  .health-inline-figure,
  .health-narrative-grid,
  .health-diary-grid,
  .health-when-clinic,
  .health-official-source-panel,
  .health-related-grid {
    grid-template-columns: 1fr;
  }
  .health-inline-figure {
    padding: 12px;
  }
  .health-official-actions a {
    min-height: 44px;
  }
  .smart-reading-row {
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    padding: 14px;
  }
  .smart-reading-row em {
    grid-column: 1 / -1;
    width: 100%;
    white-space: normal;
  }
  .smart-visual-grid {
    grid-template-columns: 1fr;
  }
  .smart-visual-map {
    min-height: 210px;
  }
  .smart-toc {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-left: -16px;
    margin-right: -16px;
    padding: 10px 16px;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    overflow: visible;
  }
  .smart-toc a {
    justify-content: center;
    min-height: 42px;
    min-width: 0;
    text-align: center;
  }
  .smart-compare-table div {
    grid-template-columns: 1fr;
  }
  .smart-compare-table span {
    border-top: 1px solid #e5eeec;
  }
  .smart-bottom-cta .cta {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 980px) {
  .benefit-inline-figure,
  .benefit-question-bank,
  .benefit-source-boundary {
    grid-template-columns: 1fr;
  }
  .benefit-next-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .benefit-day-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .benefit-blog-longform,
  .benefit-narrative-grid div,
  .benefit-memo-grid div,
  .benefit-day-grid article,
  .benefit-question-bank,
  .benefit-source-boundary,
  .benefit-next-grid a {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .benefit-blog-longform {
    padding: 16px;
  }
  .benefit-blog-longform h2 {
    font-size: 25px;
  }
  .benefit-blog-longform h3 {
    font-size: 21px;
  }
  .benefit-blog-longform p,
  .benefit-day-grid p,
  .benefit-question-bank li {
    font-size: 16px;
    line-height: 1.68;
  }
  .benefit-inline-figure {
    padding: 12px;
  }
  .benefit-slow-read {
    border-left: 0;
    border-top: 1px solid #e1eeeb;
    padding: 14px 0 0;
  }
  .benefit-narrative-grid,
  .benefit-memo-grid,
  .benefit-day-grid,
  .benefit-next-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 390px) {
  .smart-hub-hero h1,
  .smart-article-hero h1,
  .health-article-hero h1,
  .benefit-article-hero h1 {
    font-size: 30px;
    line-height: 1.16;
  }
  .smart-longform-block h2,
  .smart-deep-section h2,
  .smart-bottom-cta h2 {
    font-size: 24px;
  }
  .smart-detail-card h3,
  .smart-mistake-list strong,
  .smart-question-bank strong {
    font-size: 18px;
  }
  .smart-toc a {
    min-height: 40px;
    padding: 7px 10px;
    font-size: 13px;
  }
}

/*
 * Senior portal v5
 * Korean-only, 60-74 self-service cost portal. This final layer intentionally
 * follows the compact information rhythm used by the foreigner finance site.
 */
html:has(body.senior-portal-v5) {
  min-width: 320px;
  overflow-x: hidden;
  background: #eef2f5;
}

body.senior-portal-v5 {
  --senior-ink: #102033;
  --senior-muted: #677487;
  --senior-line: #e3e9ef;
  --senior-blue: #1557c0;
  --senior-teal: #0d866f;
  --senior-mint: #ecf8f5;
  width: 100%;
  max-width: 430px;
  min-width: 320px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 0 64px;
  overflow-x: hidden;
  color: var(--senior-ink);
  background: #fff;
  font-family: Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif;
  letter-spacing: 0;
}

body.senior-portal-v5 *,
body.senior-portal-v5 *::before,
body.senior-portal-v5 *::after {
  box-sizing: border-box;
}

body.senior-portal-v5 a {
  color: inherit;
  text-decoration: none;
}

body.senior-portal-v5 :where(h1, h2, h3, h4, p, li, dt, dd, a, button, summary) {
  max-width: 100%;
  margin-top: 0;
  overflow-wrap: anywhere;
  word-break: keep-all;
  letter-spacing: 0;
}

body.senior-portal-v5 :where(button, input, select, textarea) {
  font: inherit;
}

body.senior-portal-v5 :where(.promo-bar, .translate-topbar, .translation-bar, .language-switcher, [data-translate-bar]) {
  display: none !important;
}

body.senior-portal-v5 .site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  width: 100%;
  height: 58px;
  min-height: 58px;
  margin: 0;
  background: rgba(255, 255, 255, .98);
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  box-shadow: none;
}

body.senior-portal-v5 .header-inner {
  display: flex;
  width: 100%;
  max-width: none;
  height: 58px;
  margin: 0;
  padding: 0 12px 0 16px;
  align-items: center;
}

body.senior-portal-v5 .brand {
  display: flex;
  flex: 0 1 auto;
  min-width: 0;
  gap: 10px;
  padding: 0;
  align-items: center;
}

body.senior-portal-v5 .brand-mark {
  display: grid;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  padding: 0;
  place-items: center;
  color: #fff;
  background: var(--senior-teal);
  border: 0;
  border-radius: 7px;
}

body.senior-portal-v5 .brand-mark svg {
  width: 21px;
  height: 21px;
}

body.senior-portal-v5 .brand strong {
  display: block;
  color: var(--senior-ink);
  font-size: 15px;
  line-height: 1.15;
  white-space: nowrap;
}

body.senior-portal-v5 .brand small {
  display: block;
  margin-top: 2px;
  color: var(--senior-muted);
  font-size: 10px;
  line-height: 1.1;
  white-space: nowrap;
}

body.senior-portal-v5 :where(.nav, .header-inner > .nav) {
  display: none !important;
}

body.senior-portal-v5 .header-actions {
  display: flex;
  gap: 0;
  margin-left: auto;
  align-items: center;
}

body.senior-portal-v5 .header-icon {
  display: grid;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  place-items: center;
  color: var(--senior-ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 .header-icon svg {
  width: 21px;
  height: 21px;
}

body.senior-portal-v5 main,
body.senior-portal-v5 .adsense-first-home,
body.senior-portal-v5 .fortune-page-main {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: #fff;
}

body.senior-portal-v5 .section,
body.senior-portal-v5 :where(
  .home-rpm-section,
  .monthly-official-update,
  .parent-cost-comparison,
  .smart-check-spotlight,
  .home-reading-path,
  .home-fortune-teaser,
  .home-faq-section,
  .products-hub-section,
  .benefits-hub-section,
  .health-hub-section,
  .community-page,
  .dental-hearing-page,
  .official-guide-page
) {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 28px 18px;
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 :where(.layout, .smart-layout, .home-layout, .content-layout) {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.senior-portal-v5 :where(.layout > article, .smart-article, article) {
  width: 100%;
  min-width: 0;
  max-width: none;
}

body.senior-portal-v5 :where(.layout > aside, .smart-layout > aside, .content-rail, .benefit-sidebar) {
  display: none !important;
}

body.senior-portal-v5 .section-eyebrow,
body.senior-portal-v5 .category,
body.senior-portal-v5 :where(.compact-head, .mini-section-head) > span,
body.senior-portal-v5 :where(.section-head, .compact-head) > div > span {
  display: block;
  margin: 0 0 4px;
  color: var(--senior-teal);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

body.senior-portal-v5 :where(.section-head, .mini-section-head, .compact-head) {
  display: flex;
  gap: 14px;
  margin: 0 0 10px;
  padding: 0;
  align-items: flex-end;
  justify-content: space-between;
}

body.senior-portal-v5 :where(.section-head, .mini-section-head, .compact-head) > div {
  min-width: 0;
}

body.senior-portal-v5 :where(.section-head, .mini-section-head, .compact-head) h2,
body.senior-portal-v5 .section > h2,
body.senior-portal-v5 article > h2,
body.senior-portal-v5 .faq-section h2 {
  margin: 3px 0 0;
  color: var(--senior-ink);
  font-size: 22px;
  line-height: 1.38;
}

body.senior-portal-v5 :where(.section-head, .compact-head) p,
body.senior-portal-v5 .section > p {
  margin: 7px 0 0;
  color: var(--senior-muted);
  font-size: 14px;
  line-height: 1.65;
}

body.senior-portal-v5 :where(.section-head, .mini-section-head, .compact-head) > a {
  flex: 0 0 auto;
  color: var(--senior-blue);
  font-size: 13px;
  font-weight: 750;
  white-space: nowrap;
}

body.senior-portal-v5 .content-main :where(p, li, dd),
body.senior-portal-v5 article :where(p, li, dd),
body.senior-portal-v5 .smart-article :where(p, li, dd) {
  color: #425166;
  font-size: 17px;
  line-height: 1.75;
}

body.senior-portal-v5 article h2,
body.senior-portal-v5 .smart-article h2 {
  color: var(--senior-ink);
  font-size: 24px;
  line-height: 1.38;
}

body.senior-portal-v5 article h3,
body.senior-portal-v5 .smart-article h3 {
  color: var(--senior-ink);
  font-size: 18px;
  line-height: 1.5;
}

body.senior-portal-v5 .home-portal-intro {
  width: 100%;
  margin: 0;
  padding: 20px 18px 28px;
  background: #fff;
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .home-portal-intro h1 {
  max-width: 370px;
  margin: 1px 0 12px;
  color: var(--senior-ink);
  font-size: 27px;
  line-height: 1.28;
}

body.senior-portal-v5 .home-portal-lead {
  max-width: 370px;
  margin: 0;
  color: var(--senior-muted);
  font-size: 16px;
  line-height: 1.75;
}

body.senior-portal-v5 .home-portal-search {
  display: flex;
  width: 100%;
  height: 52px;
  margin: 18px 0 12px;
  overflow: hidden;
  align-items: center;
  background: #fff;
  border: 2px solid var(--senior-blue);
  border-radius: 6px;
}

body.senior-portal-v5 .home-portal-search input {
  flex: 1 1 auto;
  min-width: 0;
  height: 48px;
  padding: 0 14px;
  color: var(--senior-ink);
  background: #fff;
  border: 0;
  outline: 0;
  font-size: 16px;
}

body.senior-portal-v5 .home-portal-search button {
  display: grid;
  flex: 0 0 52px;
  width: 52px;
  height: 48px;
  padding: 0;
  place-items: center;
  color: #fff;
  background: var(--senior-blue);
  border: 0;
  border-radius: 0;
}

body.senior-portal-v5 .home-portal-search svg {
  width: 21px;
  height: 21px;
}

body.senior-portal-v5 .home-service-note {
  margin: 0 0 16px;
  padding: 13px 14px;
  color: #40546d;
  background: #f5f9ff;
  border: 1px solid #dce7f4;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.55;
}

body.senior-portal-v5 .home-portal-quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--senior-line);
  border-radius: 6px;
}

body.senior-portal-v5 .home-portal-quick-grid a {
  min-width: 0;
  min-height: 102px;
  padding: 15px 13px;
  background: #fff;
  border-right: 1px solid var(--senior-line);
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .home-portal-quick-grid a:nth-child(2n) {
  border-right: 0;
}

body.senior-portal-v5 .home-portal-quick-grid a:nth-last-child(-n + 2) {
  border-bottom: 0;
}

body.senior-portal-v5 .home-quick-icon {
  display: grid;
  width: 30px;
  height: 30px;
  margin-bottom: 9px;
  place-items: center;
  color: var(--senior-blue);
  background: #edf4ff;
  border-radius: 7px;
}

body.senior-portal-v5 .home-portal-quick-grid a:nth-child(2n) .home-quick-icon {
  color: var(--senior-teal);
  background: var(--senior-mint);
}

body.senior-portal-v5 .home-quick-icon svg {
  width: 19px;
  height: 19px;
}

body.senior-portal-v5 .home-portal-quick-grid b {
  display: block;
  margin-bottom: 4px;
  color: var(--senior-ink);
  font-size: 14px;
}

body.senior-portal-v5 .home-portal-quick-grid a > span:last-child {
  color: var(--senior-muted);
  font-size: 12px;
  line-height: 1.45;
}

body.senior-portal-v5 .home-portal-photo {
  width: calc(100% + 36px);
  margin: 20px -18px 0;
  overflow: hidden;
}

body.senior-portal-v5 .home-portal-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center 42%;
  border: 0;
  border-radius: 0;
}

body.senior-portal-v5 .home-portal-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px 0 0;
  border-top: 1px solid var(--senior-ink);
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .home-portal-status > div {
  min-width: 0;
  padding: 12px 4px;
  border-right: 1px solid var(--senior-line);
  text-align: center;
}

body.senior-portal-v5 .home-portal-status > div:last-child {
  border-right: 0;
}

body.senior-portal-v5 .home-portal-status b {
  display: block;
  color: var(--senior-blue);
  font-size: 14px;
}

body.senior-portal-v5 .home-portal-status span {
  display: block;
  margin-top: 3px;
  color: var(--senior-muted);
  font-size: 11px;
}

body.senior-portal-v5 .home-portal-feature {
  display: block;
  margin-top: 15px;
  padding: 16px 0 0;
  border-top: 1px solid var(--senior-ink);
}

body.senior-portal-v5 .home-portal-feature h2 {
  margin: 5px 0 6px;
  color: var(--senior-ink);
  font-size: 19px;
  line-height: 1.42;
}

body.senior-portal-v5 .home-portal-feature p {
  margin: 0;
  color: var(--senior-muted);
  font-size: 14px;
  line-height: 1.62;
}

body.senior-portal-v5 .home-feature-action {
  display: block;
  margin-top: 9px;
  color: var(--senior-blue);
  font-size: 13px;
  font-weight: 800;
}

body.senior-portal-v5 :where(.home-rpm-grid, .senior-reading-list, .guide-row-list, .smart-reading-list, .card-grid, .monthly-update-grid) {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--senior-ink);
}

body.senior-portal-v5 :where(
  .home-rpm-card,
  .senior-reading-list > a,
  .guide-row,
  .smart-reading-row,
  .benefit-card,
  .article-card,
  .monthly-update-grid > article
) {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 17px 0;
  color: var(--senior-ink);
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
  box-shadow: none;
  transform: none;
}

body.senior-portal-v5 :where(.home-rpm-thumb, .card-thumb, .article-thumb, .benefit-card img, .guide-row img, .smart-reading-row img) {
  display: none !important;
}

body.senior-portal-v5 :where(.home-rpm-card, .senior-reading-list > a) > span,
body.senior-portal-v5 :where(.guide-row, .smart-reading-row) small,
body.senior-portal-v5 .monthly-update-grid > article > span {
  display: block;
  margin: 0 0 4px;
  color: var(--senior-teal);
  font-size: 12px;
  font-weight: 800;
}

body.senior-portal-v5 :where(.home-rpm-card, .senior-reading-list > a, .guide-row, .smart-reading-row, .benefit-card, .article-card) strong,
body.senior-portal-v5 .monthly-update-grid h3 {
  display: block;
  margin: 0;
  color: var(--senior-ink);
  font-size: 17px;
  line-height: 1.5;
}

body.senior-portal-v5 :where(.home-rpm-card, .senior-reading-list > a, .guide-row, .smart-reading-row, .benefit-card, .article-card) p,
body.senior-portal-v5 .monthly-update-grid p {
  display: block;
  margin: 6px 0 0;
  color: #536174;
  font-size: 14px;
  line-height: 1.62;
}

body.senior-portal-v5 :where(.home-rpm-action, .senior-reading-list em, .guide-row em, .smart-reading-row em) {
  display: block;
  margin-top: 8px;
  color: var(--senior-blue);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

body.senior-portal-v5 .monthly-update-head {
  display: block;
  margin: 0 0 10px;
}

body.senior-portal-v5 .monthly-update-head > p {
  margin: 12px 0 0;
  padding: 10px 0;
  color: var(--senior-muted);
  border-top: 1px solid var(--senior-line);
  font-size: 12px;
  line-height: 1.55;
}

body.senior-portal-v5 .monthly-update-head h2 {
  margin: 3px 0 0;
  font-size: 22px;
  line-height: 1.38;
}

body.senior-portal-v5 .monthly-update-grid article > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 10px;
}

body.senior-portal-v5 .monthly-update-grid article a {
  color: var(--senior-blue);
  font-size: 12px;
  font-weight: 800;
}

body.senior-portal-v5 :where(
  .benefit-article-hero,
  .health-article-hero,
  .smart-article-hero,
  .smart-hub-hero,
  .benefits-story-hero,
  .health-story-hero,
  .money-feed-hero,
  .senior-travel-hero,
  .dental-hero,
  .community-hero
) {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0 0 20px;
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 :where(
  .benefit-article-hero,
  .health-article-hero,
  .smart-article-hero,
  .smart-hub-hero,
  .benefits-story-hero,
  .health-story-hero,
  .money-feed-hero,
  .senior-travel-hero,
  .dental-hero,
  .community-hero
) h1 {
  margin: 5px 0 12px;
  color: var(--senior-ink);
  font-size: 27px;
  line-height: 1.28;
}

body.senior-portal-v5 :where(
  .benefit-article-hero,
  .health-article-hero,
  .smart-article-hero,
  .smart-hub-hero,
  .benefits-story-hero,
  .health-story-hero,
  .money-feed-hero,
  .senior-travel-hero,
  .dental-hero,
  .community-hero
) p {
  margin: 0;
  color: var(--senior-muted);
  font-size: 16px;
  line-height: 1.75;
}

body.senior-portal-v5 :where(
  .benefit-article-image,
  .health-article-image,
  .smart-article-image,
  .smart-hub-image,
  .benefits-story-image,
  .health-story-image,
  .money-feed-hero-image,
  .senior-travel-hero-image,
  .dental-hero-image,
  .community-hero-image
) {
  display: block;
  width: 100%;
  height: auto;
  max-height: 230px;
  margin: 18px 0 0;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: 0;
  border-radius: 6px;
  box-shadow: none;
}

body.senior-portal-v5 .answer-summary,
body.senior-portal-v5 :where(.top-direct-answer, .ai-answer, .key-answer, .core-direct-answer) {
  width: 100%;
  margin: 20px 0 0;
  padding: 18px;
  color: #263548;
  background: #f7f9fb;
  border: 1px solid #dce4ec;
  border-radius: 7px;
  box-shadow: none;
}

body.senior-portal-v5 .answer-summary-head {
  display: block;
  margin: 0 0 8px;
}

body.senior-portal-v5 .answer-summary h2,
body.senior-portal-v5 :where(.top-direct-answer, .ai-answer, .key-answer, .core-direct-answer) h2 {
  margin: 0 0 8px;
  color: var(--senior-ink);
  font-size: 20px;
  line-height: 1.45;
}

body.senior-portal-v5 .answer-summary > p,
body.senior-portal-v5 :where(.top-direct-answer, .ai-answer, .key-answer, .core-direct-answer) p {
  margin: 0;
  color: #344255;
  font-size: 16px;
  line-height: 1.75;
}

body.senior-portal-v5 .answer-summary-grid {
  display: block;
  margin-top: 14px;
  border-top: 1px solid var(--senior-ink);
}

body.senior-portal-v5 .answer-summary-grid > div {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 10px;
  margin: 0;
  padding: 13px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
}

body.senior-portal-v5 .answer-summary-grid strong {
  color: var(--senior-teal);
  font-size: 14px;
  line-height: 1.55;
}

body.senior-portal-v5 .answer-summary-grid p {
  margin: 0;
  color: #344255;
  font-size: 15px;
  line-height: 1.65;
}

body.senior-portal-v5 .answer-official-bar,
body.senior-portal-v5 .compact-notice,
body.senior-portal-v5 .medical-disclaimer {
  margin: 16px 0 0;
  padding: 14px 0;
  color: #6a7482;
  background: #fff;
  border: 0;
  border-top: 1px solid var(--senior-line);
  border-radius: 0;
  font-size: 13px;
  line-height: 1.65;
}

body.senior-portal-v5 :where(
  .guided-choice,
  .parent-cost-diagnosis,
  .benefit-check-panel,
  .health-trust-first,
  .official-guide-links
) {
  width: 100%;
  margin: 24px 0;
  padding: 20px 18px;
  background: #f8fbfa;
  border: 1px solid #d9e7e2;
  border-radius: 7px;
  box-shadow: none;
}

body.senior-portal-v5 :where(.guided-choice-layout, .guided-choice-options, .diagnosis-option-grid) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

body.senior-portal-v5 :where(.guided-choice-option, .diagnosis-option) {
  min-width: 0;
  min-height: 54px;
  padding: 13px 14px;
  background: #fff;
  border: 1px solid var(--senior-line);
  border-radius: 6px;
  box-shadow: none;
}

body.senior-portal-v5 :where(
  .medical-refund-center,
  .medical-refund-decision,
  .medical-refund-story,
  .medical-refund-claim-prep,
  .medical-refund-programs,
  .medical-refund-receipt,
  .medical-refund-family-memo,
  .medical-refund-continuity,
  .smart-deep-section,
  .smart-blog-section,
  .health-blog-longform,
  .benefit-blog-longform,
  .db-detail-section,
  .problem-region-cost,
  .core-related-band,
  .money-feed-reading-guide,
  .money-feed-story,
  .money-feed-focus-section,
  .money-feed-related-section
) {
  width: 100%;
  margin: 34px 0;
  padding: 0;
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 :where(
  .medical-refund-fit-grid,
  .medical-refund-decision-grid,
  .medical-refund-continuity-grid,
  .smart-check-grid,
  .benefit-next-grid,
  .health-condition-grid,
  .community-question-grid,
  .community-flow-grid,
  .smart-blog-list,
  .benefit-memo-grid,
  .health-diary-grid
) {
  display: block;
  width: 100%;
  margin: 0;
  border-top: 1px solid var(--senior-ink);
}

body.senior-portal-v5 :where(
  .medical-refund-fit-card,
  .medical-refund-decision-card,
  .medical-refund-continuity-grid > a,
  .smart-detail-card,
  .smart-related-card,
  .next-check-card,
  .db-card
) {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 17px 0;
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 .medical-refund-center-table > div:first-child,
body.senior-portal-v5 .parent-cost-table > div:first-child {
  display: none;
}

body.senior-portal-v5 :where(.medical-refund-center-row, .parent-cost-row) {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 17px 0;
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
}

body.senior-portal-v5 :where(.medical-refund-center-row, .parent-cost-row) > * {
  display: block;
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.6;
}

body.senior-portal-v5 :where(.medical-refund-center-row, .parent-cost-row) > span:first-child {
  margin-top: 0;
  color: var(--senior-teal);
  font-size: 12px;
  font-weight: 800;
}

body.senior-portal-v5 :where(.medical-refund-row-cta, .parent-cost-row-cta) {
  color: var(--senior-blue);
  font-size: 13px;
}

body.senior-portal-v5 :where(.table-wrap, .smart-compare-table, .core-condition-table, .problem-region-cost-table, .dental-compare-table, .benefits-memo-table, .health-memo-table) {
  width: calc(100% + 36px);
  max-width: none;
  margin-inline: -18px;
  padding-inline: 18px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

body.senior-portal-v5 table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 14px;
  line-height: 1.5;
}

body.senior-portal-v5 :where(th, td) {
  min-width: 0;
  padding: 11px 7px;
  overflow-wrap: anywhere;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  text-align: left;
  vertical-align: top;
  font-size: 14px;
}

body.senior-portal-v5 thead th {
  border-top: 1px solid var(--senior-ink);
  background: #f7f9fb;
}

body.senior-portal-v5 .faq-section {
  width: 100%;
  margin: 32px 0 0;
  padding: 0;
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 .faq-list {
  border-top: 1px solid var(--senior-ink);
}

body.senior-portal-v5 .faq-section details {
  margin: 0;
  padding: 0;
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
}

body.senior-portal-v5 .faq-section summary {
  min-height: 56px;
  padding: 15px 0;
  color: var(--senior-ink);
  font-size: 17px;
  line-height: 1.55;
}

body.senior-portal-v5 .faq-section details > :not(summary) {
  padding: 0 0 18px;
  font-size: 17px;
  line-height: 1.75;
}

body.senior-portal-v5 .ad-band,
body.senior-portal-v5 .senior-ad-band {
  clear: both;
  display: block;
  width: calc(100% + 36px);
  min-width: 0;
  min-height: 250px;
  margin: 32px -18px;
  padding: 0;
  overflow: visible;
  background: #fff;
  border: 0;
  border-top: 1px solid #edf0f3;
  border-bottom: 1px solid #edf0f3;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 .ad-band .adsbygoogle,
body.senior-portal-v5 .senior-ad-band .adsbygoogle {
  display: block;
  width: 100%;
  min-height: 230px;
}

body.senior-portal-v5 .revenue-quickbar {
  position: fixed;
  right: auto;
  bottom: 0;
  left: 50%;
  z-index: 45;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: min(100%, 430px);
  min-height: 64px;
  margin: 0;
  padding: 0 0 env(safe-area-inset-bottom);
  transform: translateX(-50%);
  background: rgba(255, 255, 255, .98);
  border: 0;
  border-top: 1px solid var(--senior-line);
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
}

body.senior-portal-v5 .revenue-quickbar a {
  display: grid;
  gap: 2px;
  min-width: 0;
  min-height: 64px;
  padding: 0;
  place-items: center;
  align-content: center;
  color: #6d7886;
  background: transparent;
  border: 0;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}

body.senior-portal-v5 .revenue-quickbar a:first-child {
  color: var(--senior-blue);
}

body.senior-portal-v5 .revenue-quickbar a[aria-current="page"] {
  color: var(--senior-blue);
  background: #eef4ff;
}

body.senior-portal-v5 .revenue-quickbar svg {
  width: 20px;
  height: 20px;
}

body.senior-portal-v5 .site-footer {
  display: block;
  width: 100%;
  margin: 0;
  padding: 30px 18px calc(28px + env(safe-area-inset-bottom));
  color: #dbeafe;
  background: #0d1b2a;
  border: 0;
}

body.senior-portal-v5 .footer-inner {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: #cbd5e1;
  font-size: 13px;
  line-height: 1.65;
}

body.senior-portal-v5 .footer-inner > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 18px;
}

body.senior-portal-v5 .footer-inner a {
  color: #dbeafe;
  font-size: 12px;
  font-weight: 700;
}

body.senior-portal-v5 .install-nudge {
  right: 12px;
  bottom: 76px;
  left: 12px;
  max-width: 406px;
  margin-inline: auto;
}

@media (min-width: 431px) {
  body.senior-portal-v5 {
    box-shadow: 0 0 0 1px #dfe5eb, 0 18px 60px rgba(16, 32, 51, .12);
  }
}

/*
 * Senior portal v4
 * Mirrors the approved Foreigner-loan mobile reading contract while keeping
 * Senior-specific content, colors, URLs and advertising slots intact.
 */
html:has(body.senior-portal-v4) {
  min-height: 100%;
  margin: 0;
  overflow-x: hidden;
  background: #eef2f6;
}

body.senior-portal-v4 {
  --portal-ink: #102033;
  --portal-muted: #677487;
  --portal-line: #e3e9ef;
  --portal-soft: #f5f8fb;
  --portal-action: #1557c0;
  --portal-teal: #0d866f;
  --portal-mint: #e8f7f2;
  width: 100%;
  max-width: 430px;
  min-height: 100dvh;
  margin: 0 auto;
  padding: 0 0 calc(78px + env(safe-area-inset-bottom));
  overflow-x: hidden;
  color: var(--portal-ink);
  background: #ffffff;
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}

body.senior-portal-v4 *,
body.senior-portal-v4 *::before,
body.senior-portal-v4 *::after {
  box-sizing: border-box;
}

body.senior-portal-v4 :where(h1, h2, h3, h4, p, li, dt, dd, a, button, summary) {
  max-width: 100%;
  letter-spacing: 0;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

body.senior-portal-v4 :where(p, li, dd),
body.senior-portal-v4 :where(article p, article li, .section > p, .section-head p) {
  color: #425166;
  font-size: 17px;
  line-height: 1.75;
}

body.senior-portal-v4 .promo-bar {
  min-height: 38px;
  padding: 8px 18px;
  background: #20354e;
  font-size: 13px;
  line-height: 1.55;
}

body.senior-portal-v4 .site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  width: 100%;
  min-height: 58px;
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid var(--portal-line);
  box-shadow: none;
  backdrop-filter: none;
}

body.senior-portal-v4 .header-inner {
  width: 100%;
  max-width: none;
  min-height: 58px;
  padding: 0 18px;
  gap: 10px;
}

body.senior-portal-v4 .brand {
  gap: 9px;
  min-width: 0;
  padding: 0;
  font-size: 15px;
}

body.senior-portal-v4 .brand-mark {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 7px;
}

body.senior-portal-v4 .brand strong {
  display: block;
  font-size: 15px;
  line-height: 1.15;
  white-space: nowrap;
}

body.senior-portal-v4 .brand small {
  display: block;
  margin-top: 2px;
  font-size: 10px;
  line-height: 1.1;
}

body.senior-portal-v4 .nav {
  display: none;
}

body.senior-portal-v4 .header-actions {
  display: flex;
  gap: 0;
  margin-left: auto;
}

body.senior-portal-v4 .header-icon {
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
}

body.senior-portal-v4 main,
body.senior-portal-v4 .adsense-first-home,
body.senior-portal-v4 .fortune-page-main {
  width: 100%;
  min-width: 0;
  margin: 0;
  background: #ffffff;
}

body.senior-portal-v4 .section,
body.senior-portal-v4 .products-hub-section,
body.senior-portal-v4 .benefits-hub-section,
body.senior-portal-v4 .health-hub-section,
body.senior-portal-v4 .community-page,
body.senior-portal-v4 .dental-hearing-page,
body.senior-portal-v4 .official-guide-page {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 28px 18px;
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid var(--portal-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v4 .layout,
body.senior-portal-v4 .smart-layout {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
}

body.senior-portal-v4 .layout > article,
body.senior-portal-v4 .smart-article {
  width: 100%;
  max-width: none;
  margin: 0;
}

body.senior-portal-v4 .layout > aside,
body.senior-portal-v4 .smart-layout > aside {
  width: 100%;
  max-width: none;
  margin: 32px 0 0;
}

body.senior-portal-v4 .section-head,
body.senior-portal-v4 .mini-section-head,
body.senior-portal-v4 .compact-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  max-width: none;
  margin: 0 0 10px;
}

body.senior-portal-v4 .section-head > div,
body.senior-portal-v4 .mini-section-head > div,
body.senior-portal-v4 .compact-head > div {
  min-width: 0;
}

body.senior-portal-v4 .section-head h2,
body.senior-portal-v4 .section h2,
body.senior-portal-v4 article > h2,
body.senior-portal-v4 .smart-deep-section > h2,
body.senior-portal-v4 .smart-blog-section > h2,
body.senior-portal-v4 .health-blog-longform h2,
body.senior-portal-v4 .benefit-blog-longform h2,
body.senior-portal-v4 .faq-section h2 {
  margin: 3px 0 0;
  color: var(--portal-ink);
  font-size: 22px;
  line-height: 1.38;
}

body.senior-portal-v4 :where(article h3, .section h3) {
  margin: 22px 0 9px;
  color: var(--portal-ink);
  font-size: 18px;
  line-height: 1.5;
}

body.senior-portal-v4 .category,
body.senior-portal-v4 .section-eyebrow,
body.senior-portal-v4 .compact-head > span,
body.senior-portal-v4 .mini-section-head > span {
  margin: 0 0 5px;
  color: var(--portal-teal);
  font-size: 12px;
  line-height: 1.4;
}

body.senior-portal-v4 :where(
  .smart-hub-hero,
  .smart-article-hero,
  .health-article-hero,
  .benefit-article-hero,
  .benefits-story-hero,
  .health-story-hero,
  .community-hero,
  .dental-hero,
  .adsense-choice-hero,
  .official-guide-hero
) {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0 0 22px;
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid var(--portal-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v4 :where(
  .smart-hub-hero h1,
  .smart-article-hero h1,
  .health-article-hero h1,
  .benefit-article-hero h1,
  .benefits-story-hero h1,
  .health-story-hero h1,
  .community-hero h1,
  .dental-hero h1,
  .adsense-choice-hero h1,
  .official-guide-hero h1
) {
  max-width: 100%;
  margin: 5px 0 12px;
  color: var(--portal-ink);
  font-size: 27px;
  font-weight: 850;
  line-height: 1.28;
}

body.senior-portal-v4 :where(
  .smart-hub-hero p,
  .smart-article-hero p,
  .health-article-hero p,
  .benefit-article-hero p,
  .benefits-story-hero p,
  .health-story-hero p,
  .community-hero p,
  .dental-hero p,
  .adsense-choice-hero p,
  .official-guide-hero p
) {
  margin: 0;
  color: var(--portal-muted);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
}

body.senior-portal-v4 :where(
  .smart-hub-image,
  .smart-article-image,
  .health-article-image,
  .benefit-article-image
) {
  display: block;
  width: 100%;
  max-height: 210px;
  margin: 18px 0 0;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 7px;
  object-fit: cover;
}

body.senior-portal-v4 .answer-summary {
  width: 100%;
  margin: 20px 0 0;
  padding: 19px 18px;
  color: var(--portal-ink);
  background: #f7f9fb;
  border: 1px solid #dce4ec;
  border-radius: 6px;
  box-shadow: none;
}

body.senior-portal-v4 .answer-summary-head {
  display: block;
  margin: 0 0 13px;
}

body.senior-portal-v4 .answer-summary-head span {
  display: block;
  margin: 0 0 8px;
  color: #4f5e70;
  font-size: 12px;
  font-weight: 850;
}

body.senior-portal-v4 .answer-summary h2 {
  margin: 0 0 9px;
  font-size: 24px;
  line-height: 1.38;
}

body.senior-portal-v4 .answer-summary > p,
body.senior-portal-v4 .answer-summary-head p {
  margin: 0;
  color: #263548;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.72;
}

body.senior-portal-v4 .answer-summary-grid {
  display: block;
  margin-top: 16px;
  border-top: 1px solid var(--portal-ink);
}

body.senior-portal-v4 .answer-summary-grid div,
body.senior-portal-v4 .answer-summary-grid div:first-child,
body.senior-portal-v4 .answer-summary-grid div:last-child {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  min-height: 0;
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid var(--portal-line);
  background: transparent;
}

body.senior-portal-v4 .answer-summary-grid strong {
  color: var(--portal-muted);
  font-size: 13px;
  font-weight: 750;
}

body.senior-portal-v4 .answer-summary-grid p {
  margin: 0;
  color: var(--portal-ink);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
}

body.senior-portal-v4 .answer-official-bar {
  margin: 12px 0 0;
  padding: 14px 0;
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid var(--portal-line);
}

body.senior-portal-v4 :where(
  .smart-deep-section,
  .smart-blog-section,
  .smart-longform-block,
  .health-blog-longform,
  .benefit-blog-longform,
  .db-detail-section,
  .high-rpm-intent-section,
  .problem-region-cost,
  .core-related-band,
  .benefit-guide-group,
  .health-guide-group,
  .benefits-text-section,
  .benefits-scenario-section,
  .benefits-search-section,
  .health-text-section,
  .health-scenario-section,
  .health-condition-section,
  .health-search-section,
  .dental-longform,
  .community-longform,
  .adsense-choice-reading,
  .adsense-choice-related
) {
  display: block;
  width: 100%;
  margin: 0;
  padding: 26px 0;
  background: #ffffff;
  border: 0;
  border-top: 1px solid var(--portal-ink);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v4 :where(
  .smart-deep-section,
  .smart-blog-section,
  .smart-longform-block,
  .health-blog-longform,
  .benefit-blog-longform,
  .db-detail-section,
  .high-rpm-intent-section,
  .problem-region-cost,
  .core-related-band,
  .benefit-guide-group,
  .health-guide-group,
  .benefits-text-section,
  .benefits-scenario-section,
  .benefits-search-section,
  .health-text-section,
  .health-scenario-section,
  .health-condition-section,
  .health-search-section,
  .dental-longform,
  .community-longform
) > :first-child {
  margin-top: 0;
}

body.senior-portal-v4 :where(.smart-blog-copy, .smart-blog-point, .smart-blog-list, .fact-list),
body.senior-portal-v4 .longread-article :where(p, li) {
  color: #425166;
  font-size: 18px;
  line-height: 1.72;
}

body.senior-portal-v4 :where(
  .card-grid,
  .home-rpm-grid,
  .next-check-grid,
  .guide-row-list,
  .db-card-grid,
  .smart-check-grid,
  .benefit-next-grid,
  .health-condition-grid,
  .community-question-grid,
  .community-flow-grid,
  .smart-blog-list,
  .benefit-memo-grid,
  .health-diary-grid,
  .adsense-lifestyle-grid,
  .adsense-choice-related > div
) {
  display: block;
  width: 100%;
  margin: 0;
  border-top: 1px solid var(--portal-ink);
}

body.senior-portal-v4 :where(
  .benefit-card,
  .article-card,
  .persona-card,
  .urgent-card,
  .spotlight-card,
  .home-rpm-card,
  .next-check-card,
  .guide-row,
  .db-card,
  .smart-detail-card,
  .smart-related-card,
  .home-product-check,
  .home-reference-card,
  .adsense-lifestyle-grid > a,
  .adsense-choice-related a
) {
  display: block;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 17px 0;
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid var(--portal-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v4 :where(
  .benefit-card,
  .article-card,
  .persona-card,
  .urgent-card,
  .spotlight-card,
  .home-rpm-card,
  .next-check-card,
  .guide-row,
  .db-card,
  .smart-detail-card,
  .smart-related-card,
  .home-product-check,
  .home-reference-card
) :where(h2, h3, strong) {
  margin: 0;
  color: var(--portal-ink);
  font-size: 17px;
  line-height: 1.5;
}

body.senior-portal-v4 :where(
  .benefit-card,
  .article-card,
  .persona-card,
  .urgent-card,
  .spotlight-card,
  .home-rpm-card,
  .next-check-card,
  .guide-row,
  .db-card,
  .smart-detail-card,
  .smart-related-card,
  .home-product-check,
  .home-reference-card
) p {
  display: -webkit-box;
  margin: 6px 0 0;
  overflow: hidden;
  color: #536174;
  font-size: 14px;
  line-height: 1.62;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.senior-portal-v4 :where(.card-thumb, .home-rpm-thumb, .article-thumb, .benefit-card img) {
  display: none;
}

body.senior-portal-v4 .home-cost-hero {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 20px 18px 0;
  background: #ffffff;
}

body.senior-portal-v4 .home-cost-hero-lead {
  display: block;
  width: 100%;
}

body.senior-portal-v4 .hero-proof {
  display: block;
  margin: 0 0 7px;
  color: var(--portal-teal);
  font-size: 12px;
  line-height: 1.5;
}

body.senior-portal-v4 .hero-proof svg {
  display: none;
}

body.senior-portal-v4 .home-cost-hero h1 {
  max-width: 100%;
  margin: 1px 0 12px;
  color: var(--portal-ink);
  font-size: 27px;
  line-height: 1.28;
}

body.senior-portal-v4 .home-cost-hero h1 em {
  display: inline;
  margin: 0;
  color: var(--portal-ink);
}

body.senior-portal-v4 .home-cost-hero-copy > p {
  max-width: 100%;
  margin: 0;
  color: var(--portal-muted);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
}

body.senior-portal-v4 .home-primary-paths {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 18px 0 0;
  overflow: hidden;
  border: 1px solid var(--portal-line);
  border-radius: 6px;
}

body.senior-portal-v4 .home-primary-paths a,
body.senior-portal-v4 .home-primary-paths a:first-child {
  display: block;
  min-height: 104px;
  padding: 15px 13px;
  background: #ffffff;
  border: 0;
  border-right: 1px solid var(--portal-line);
  border-radius: 0;
  color: var(--portal-ink);
}

body.senior-portal-v4 .home-primary-paths a:last-child {
  border-right: 0;
}

body.senior-portal-v4 .home-primary-paths span {
  color: var(--portal-teal);
  font-size: 12px;
}

body.senior-portal-v4 .home-primary-paths strong {
  display: block;
  margin-top: 7px;
  font-size: 15px;
  line-height: 1.5;
}

body.senior-portal-v4 .home-hero-checks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 18px 0;
  padding: 0;
  border-top: 1px solid var(--portal-ink);
  border-bottom: 1px solid var(--portal-line);
  list-style: none;
}

body.senior-portal-v4 .home-hero-checks li {
  min-width: 0;
  padding: 12px 4px;
  border-right: 1px solid var(--portal-line);
  color: var(--portal-muted);
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
}

body.senior-portal-v4 .home-hero-checks li:last-child {
  border-right: 0;
}

body.senior-portal-v4 .home-hero-checks li::before {
  display: none;
}

body.senior-portal-v4 .home-cost-hero-media {
  display: block;
  width: 100%;
  margin: 15px 0 0;
  padding: 14px 0;
  overflow: hidden;
  background: #ffffff;
  border: 0;
  border-top: 1px solid var(--portal-ink);
  border-bottom: 1px solid var(--portal-line);
  border-radius: 0;
}

body.senior-portal-v4 .home-cost-hero-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 210px;
  aspect-ratio: 16 / 9;
  border-radius: 7px;
  object-fit: cover;
  object-position: center;
}

body.senior-portal-v4 .home-rpm-section,
body.senior-portal-v4 .monthly-official-update,
body.senior-portal-v4 .parent-cost-comparison,
body.senior-portal-v4 .smart-check-spotlight,
body.senior-portal-v4 .home-reading-path,
body.senior-portal-v4 .home-fortune-teaser,
body.senior-portal-v4 .home-faq-section {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 28px 18px;
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid var(--portal-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v4 .home-rpm-grid {
  display: block;
  border-top: 1px solid var(--portal-ink);
}

body.senior-portal-v4 .home-rpm-card {
  display: block;
  width: 100%;
  padding: 17px 0;
  border-bottom: 1px solid var(--portal-line);
}

body.senior-portal-v4 .home-rpm-card > :not(img) {
  padding-right: 0;
  padding-left: 0;
}

body.senior-portal-v4 .home-rpm-card .home-rpm-thumb {
  display: none;
}

body.senior-portal-v4 .home-fortune-teaser {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

body.senior-portal-v4 .home-fortune-teaser img {
  display: block;
  width: 112px;
  height: 112px;
  border-radius: 7px;
  object-fit: cover;
}

body.senior-portal-v4 .home-fortune-teaser h2 {
  margin: 4px 0 6px;
  font-size: 17px;
  line-height: 1.42;
}

body.senior-portal-v4 .home-fortune-teaser p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--portal-muted);
  font-size: 13px;
  line-height: 1.58;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.senior-portal-v4 .home-fortune-teaser a {
  display: inline-block;
  min-height: 0;
  margin-top: 8px;
  padding: 0;
  color: var(--portal-action);
  background: transparent;
  border: 0;
  font-size: 13px;
  line-height: 1.4;
}

body.senior-portal-v4 .home-reading-path > div,
body.senior-portal-v4 .monthly-update-grid,
body.senior-portal-v4 .parent-cost-table {
  display: block;
  width: 100%;
  margin: 16px 0 0;
  border-top: 1px solid var(--portal-ink);
}

body.senior-portal-v4 .home-reading-path a,
body.senior-portal-v4 .home-reading-path a:nth-child(odd),
body.senior-portal-v4 .home-reading-path a:nth-child(even),
body.senior-portal-v4 .monthly-update-grid article,
body.senior-portal-v4 .parent-cost-table > div,
body.senior-portal-v4 .parent-cost-table > a {
  display: block;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 17px 0;
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid var(--portal-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v4 .guided-choice,
body.senior-portal-v4 .parent-cost-diagnosis {
  width: 100%;
  margin: 28px 0;
  padding: 18px;
  background: #f7f9fb;
  border: 1px solid #dce4ec;
  border-radius: 7px;
  box-shadow: none;
}

body.senior-portal-v4 .guided-choice-head h2,
body.senior-portal-v4 .parent-cost-diagnosis h2 {
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.4;
}

body.senior-portal-v4 .guided-choice-head p,
body.senior-portal-v4 .parent-cost-diagnosis p {
  font-size: 16px;
  line-height: 1.72;
}

body.senior-portal-v4 .guided-choice-layout,
body.senior-portal-v4 .guided-choice-options,
body.senior-portal-v4 .diagnosis-option-grid {
  display: block;
}

body.senior-portal-v4 .guided-choice-option,
body.senior-portal-v4 .diagnosis-option {
  width: 100%;
  min-height: 64px;
  margin: 8px 0 0;
  border-radius: 6px;
}

body.senior-portal-v4 .guided-choice-option span,
body.senior-portal-v4 .diagnosis-option strong {
  font-size: 16px;
}

body.senior-portal-v4 .guided-choice-option small,
body.senior-portal-v4 .diagnosis-option small {
  font-size: 13px;
  line-height: 1.55;
}

body.senior-portal-v4 :where(
  .guided-choice-action,
  .diagnosis-next,
  .diagnosis-restart,
  .diagnosis-result-actions a,
  .home-rpm-action,
  .smart-bottom-cta,
  .cta,
  .soft-action,
  .answer-summary-cta
) {
  min-height: 50px;
  border-radius: 6px;
  font-size: 16px;
}

body.senior-portal-v4 .faq-section {
  width: 100%;
  margin: 0;
  padding: 26px 0 0;
  background: #ffffff;
  border: 0;
  border-top: 1px solid var(--portal-ink);
  border-radius: 0;
}

body.senior-portal-v4 .faq-list {
  border-top: 1px solid var(--portal-ink);
}

body.senior-portal-v4 .faq-section details {
  margin: 0;
  padding: 0;
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid var(--portal-line);
  border-radius: 0;
}

body.senior-portal-v4 .faq-section summary {
  min-height: 56px;
  padding: 15px 0;
  color: var(--portal-ink);
  font-size: 17px;
  line-height: 1.55;
}

body.senior-portal-v4 .faq-section details > :not(summary) {
  padding: 0 0 18px;
  font-size: 17px;
  line-height: 1.75;
}

body.senior-portal-v4 :where(
  .smart-compare-table,
  .core-condition-table,
  .problem-region-cost-table,
  .dental-compare-table,
  .benefits-memo-table,
  .health-memo-table,
  .table-wrap
) {
  display: block;
  width: calc(100% + 36px);
  max-width: none;
  margin-right: -18px;
  margin-left: -18px;
  padding-right: 18px;
  padding-left: 18px;
  overflow-x: auto;
  border-radius: 0;
  overscroll-behavior-inline: contain;
}

body.senior-portal-v4 table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 14px;
  line-height: 1.5;
}

body.senior-portal-v4 :where(th, td) {
  min-width: 0;
  padding: 11px 7px;
  overflow-wrap: anywhere;
  border: 0;
  border-bottom: 1px solid var(--portal-line);
  font-size: 14px;
  line-height: 1.5;
}

body.senior-portal-v4 th {
  background: #f7f9fb;
  color: var(--portal-teal);
}

body.senior-portal-v4 .ad-band {
  position: relative;
  isolation: isolate;
  clear: both;
  width: calc(100% + 36px);
  max-width: none;
  min-height: 250px;
  margin: 32px -18px;
  padding: 0;
  overflow: visible;
  background: #ffffff;
  border: 0;
  border-top: 1px solid #edf0f3;
  border-bottom: 1px solid #edf0f3;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v4 .ad-band .adsbygoogle {
  width: 100%;
  min-height: 230px;
}

body.senior-portal-v4 .revenue-quickbar {
  position: fixed;
  right: auto;
  bottom: 0;
  left: 50%;
  z-index: 45;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: min(100%, 430px);
  min-height: 64px;
  padding: 0 0 env(safe-area-inset-bottom);
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.98);
  border: 0;
  border-top: 1px solid var(--portal-line);
  box-shadow: none;
  backdrop-filter: none;
}

body.senior-portal-v4 .revenue-quickbar a {
  display: grid;
  gap: 2px;
  align-content: center;
  place-items: center;
  min-width: 0;
  min-height: 64px;
  padding: 0;
  color: #6d7886;
  border: 0;
  font-size: 10px;
  font-weight: 700;
  text-align: center;
}

body.senior-portal-v4 .revenue-quickbar a:first-child {
  color: var(--portal-action);
}

body.senior-portal-v4 .revenue-quickbar svg {
  width: 20px;
  height: 20px;
}

body.senior-portal-v4 .site-footer {
  display: block;
  width: 100%;
  margin: 0;
  padding: 30px 18px calc(28px + env(safe-area-inset-bottom));
  color: #dbeafe;
  background: #0d1b2a;
  border: 0;
}

body.senior-portal-v4 .footer-inner {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: #cbd5e1;
  font-size: 13px;
  line-height: 1.65;
}

body.senior-portal-v4 .footer-inner a {
  color: #dbeafe;
  font-size: 12px;
  font-weight: 700;
}

@media (min-width: 431px) {
  body.senior-portal-v4 {
    box-shadow: 0 0 0 1px #dfe5eb, 0 18px 60px rgba(16, 32, 51, 0.12);
  }
}

/* 2026-08-21 AdSense-first home and information flow */
body.senior-editorial-v3 .adsense-first-home {
  background: #f7faf9;
}

body.senior-editorial-v3 .home-adsense-hero {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 56px 0 34px;
}

body.senior-editorial-v3 .home-adsense-hero .home-cost-hero-lead {
  align-items: center;
  gap: 46px;
}

body.senior-editorial-v3 .home-adsense-hero h1 {
  max-width: 720px;
  margin-bottom: 20px;
  font-size: 52px;
  line-height: 1.16;
  letter-spacing: 0;
}

body.senior-editorial-v3 .home-adsense-hero h1 em {
  color: #087568;
  font-style: normal;
}

body.senior-editorial-v3 .home-adsense-hero .home-cost-hero-copy > p {
  max-width: 700px;
  margin-bottom: 24px;
  color: #3c4c49;
  font-size: 20px;
  line-height: 1.75;
}

body.senior-editorial-v3 .home-primary-paths {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.senior-editorial-v3 .home-primary-paths a {
  display: grid;
  min-height: 112px;
  align-content: center;
  gap: 8px;
  padding: 20px;
  border: 1px solid #bcd8d2;
  border-radius: 8px;
  background: #fff;
  color: #10231f;
  text-decoration: none;
}

body.senior-editorial-v3 .home-primary-paths a:first-child {
  border-color: #087568;
  background: #eaf7f3;
}

body.senior-editorial-v3 .home-primary-paths span {
  color: #087568;
  font-size: 17px;
  font-weight: 800;
}

body.senior-editorial-v3 .home-primary-paths strong {
  font-size: 21px;
  line-height: 1.45;
}

body.senior-editorial-v3 .home-hero-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
  color: #4a5d59;
  font-size: 16px;
  font-weight: 700;
}

body.senior-editorial-v3 .home-hero-checks li::before {
  content: "✓";
  margin-right: 7px;
  color: #087568;
}

body.senior-editorial-v3 .home-adsense-hero .home-cost-hero-media {
  margin: 0;
}

body.senior-editorial-v3 .home-adsense-hero .home-cost-hero-image {
  width: 100%;
  aspect-ratio: 16 / 11;
  border-radius: 8px;
  object-fit: cover;
  object-position: 57% center;
}

body.senior-editorial-v3 .adsense-first-home .home-rpm-section,
body.senior-editorial-v3 .adsense-first-home .monthly-official-update,
body.senior-editorial-v3 .adsense-first-home .home-reading-path,
body.senior-editorial-v3 .adsense-first-home .home-fortune-teaser,
body.senior-editorial-v3 .adsense-first-home .home-faq-section {
  width: min(1080px, calc(100% - 40px));
  margin: 0 auto;
}

body.senior-editorial-v3 .adsense-first-home .home-rpm-section {
  padding-top: 52px;
  padding-bottom: 48px;
}

body.senior-editorial-v3 .adsense-first-home .home-rpm-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

body.senior-editorial-v3 .adsense-first-home .home-rpm-card {
  display: grid;
  grid-template-rows: 148px auto auto 1fr auto;
  gap: 10px;
  min-height: 370px;
  padding: 0 0 20px;
  overflow: hidden;
  border: 1px solid #d7e4e0;
  border-radius: 8px;
  background: #fff;
}

body.senior-editorial-v3 .adsense-first-home .home-rpm-card > :not(img) {
  margin-right: 20px;
  margin-left: 20px;
}

body.senior-editorial-v3 .adsense-first-home .home-rpm-thumb {
  width: 100%;
  height: 148px;
  object-fit: cover;
}

body.senior-editorial-v3 .adsense-first-home .home-topic-after-ad {
  width: min(980px, calc(100% - 40px));
  margin: 10px auto 56px;
}

/* Exact long-tail destinations used after the Talent -> Living comparison. */
.authority-guide-page {
  width: min(920px, calc(100% - 40px));
  margin: 0 auto;
  padding: 34px 0 110px;
}

.authority-guide {
  color: #14202d;
}

.authority-guide-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: 44px;
  align-items: center;
  padding: 18px 0 46px;
  border-bottom: 1px solid #d8e2e6;
}

.authority-guide-hero h1 {
  margin: 12px 0 16px;
  font-size: 46px;
  line-height: 1.22;
  letter-spacing: 0;
}

.authority-guide-hero > div > p {
  margin: 0;
  color: #40515f;
  font-size: 20px;
  line-height: 1.72;
}

.authority-guide-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
}

.authority-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 20px;
  color: #62717d;
  font-size: 15px;
  font-weight: 700;
}

.authority-direct-answer,
.authority-section,
.authority-toc {
  width: min(760px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.authority-direct-answer {
  padding: 48px 0 20px;
}

.authority-direct-answer h2,
.authority-section h2 {
  margin: 8px 0 18px;
  font-size: 31px;
  line-height: 1.35;
  letter-spacing: 0;
}

.authority-direct-answer > p,
.authority-section > p {
  margin: 0 0 18px;
  color: #263744;
  font-size: 19px;
  line-height: 1.82;
}

.authority-direct-answer dl {
  margin: 30px 0 0;
  border-top: 2px solid #1d5368;
}

.authority-direct-answer dl > div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 22px;
  padding: 18px 4px;
  border-bottom: 1px solid #d8e2e6;
}

.authority-direct-answer dt {
  color: #176b59;
  font-weight: 850;
}

.authority-direct-answer dd {
  margin: 0;
  font-weight: 700;
}

.authority-guide .authority-top-ad,
.authority-guide .authority-middle-ad,
.authority-guide .authority-bottom-ad {
  width: min(760px, 100%);
  margin: 34px auto 44px;
}

.authority-toc {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 26px;
  padding: 28px 0;
  border-top: 1px solid #bfcdd3;
  border-bottom: 1px solid #bfcdd3;
}

.authority-toc strong {
  grid-column: 1 / -1;
  margin-bottom: 10px;
  font-size: 19px;
}

.authority-toc a {
  padding: 12px 0;
  border-bottom: 1px solid #e1e8eb;
  color: #245c73;
  font-size: 17px;
  font-weight: 750;
  text-decoration: none;
}

.authority-section {
  padding: 48px 0 6px;
}

.authority-comparison {
  margin-top: 26px;
  border-top: 2px solid #1d5368;
}

.authority-comparison > div {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 24px;
  padding: 20px 4px;
  border-bottom: 1px solid #d8e2e6;
}

.authority-comparison strong {
  color: #176b59;
  font-size: 18px;
}

.authority-comparison p {
  margin: 0;
  color: #344754;
  font-size: 18px;
  line-height: 1.7;
}

.authority-scenarios {
  margin-top: 26px;
  border-top: 2px solid #1d5368;
}

.authority-scenarios > section {
  display: grid;
  grid-template-columns: 150px minmax(0, .9fr) minmax(0, 1.25fr);
  gap: 22px;
  align-items: start;
  padding: 22px 4px;
  border-bottom: 1px solid #d8e2e6;
}

.authority-scenarios h3,
.authority-scenarios p,
.authority-scenarios strong {
  margin: 0;
}

.authority-scenarios h3 {
  color: #176b59;
  font-size: 18px;
  line-height: 1.45;
}

.authority-scenarios p,
.authority-scenarios strong {
  font-size: 18px;
  line-height: 1.7;
}

.authority-scenarios strong {
  color: #263744;
}

.authority-mid-related {
  width: min(760px, 100%);
  margin: 0 auto 12px;
  padding: 24px 0;
  border-top: 1px solid #bfcdd3;
  border-bottom: 1px solid #bfcdd3;
}

.authority-mid-related > strong {
  display: block;
  margin-bottom: 8px;
  font-size: 19px;
}

.authority-mid-related > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
}

.authority-mid-related a {
  display: block;
  padding: 14px 2px;
  border-bottom: 1px solid #dfe7ea;
  text-decoration: none;
}

.authority-mid-related a strong,
.authority-mid-related a span {
  display: block;
}

.authority-mid-related a strong {
  color: #1d5368;
  font-size: 18px;
}

.authority-mid-related a span {
  margin-top: 4px;
  color: #60707b;
  font-size: 15px;
}

.authority-checklist,
.authority-mistakes {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #c8d5da;
}

.authority-checklist li,
.authority-mistakes li {
  position: relative;
  padding: 17px 6px 17px 36px;
  border-bottom: 1px solid #dfe7ea;
  font-size: 18px;
  line-height: 1.65;
}

.authority-checklist li::before,
.authority-mistakes li::before {
  position: absolute;
  top: 17px;
  left: 5px;
  color: #176b59;
  font-weight: 900;
  content: "✓";
}

.authority-mistakes li::before {
  color: #b24d2c;
  content: "주의";
  font-size: 12px;
}

.authority-steps {
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.authority-steps li {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 18px 0;
  border-bottom: 1px solid #dfe7ea;
}

.authority-steps span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: #1d5368;
  color: #fff;
  font-weight: 850;
}

.authority-steps p {
  margin: 5px 0 0;
  font-size: 18px;
  line-height: 1.7;
}

.authority-question-list {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #c8d5da;
}

.authority-question-list li {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 17px 4px;
  border-bottom: 1px solid #dfe7ea;
}

.authority-question-list span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #e7f2ef;
  color: #176b59;
  font-weight: 850;
}

.authority-question-list p {
  margin: 3px 0 0;
  font-size: 18px;
  line-height: 1.65;
}

.authority-note {
  margin-top: 24px !important;
  padding: 20px 0 0;
  border-top: 1px solid #c8d5da;
  color: #52636f !important;
}

.authority-sources .verified-date {
  margin: 26px 0 0;
}

.authority-related > div {
  border-top: 2px solid #1d5368;
}

.authority-related a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 4px;
  border-bottom: 1px solid #d8e2e6;
  text-decoration: none;
}

.authority-related a strong {
  font-size: 19px;
}

.authority-related a span {
  color: #245c73;
  font-weight: 750;
}

@media (max-width: 720px) {
  .authority-guide-page {
    width: calc(100% - 32px);
    padding-top: 20px;
  }

  .authority-guide-hero {
    grid-template-columns: 1fr;
    gap: 26px;
    padding-bottom: 34px;
  }

  .authority-guide-hero h1 {
    font-size: 36px;
    line-height: 1.25;
  }

  .authority-guide-hero > div > p,
  .authority-direct-answer > p,
  .authority-section > p {
    font-size: 18px;
    line-height: 1.78;
  }

  .authority-guide-image {
    aspect-ratio: 16 / 10;
  }

  .authority-direct-answer h2,
  .authority-section h2 {
    font-size: 27px;
  }

  .authority-direct-answer dl > div,
  .authority-comparison > div,
  .authority-scenarios > section {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .authority-scenarios > section {
    padding: 20px 2px;
  }

  .authority-toc {
    grid-template-columns: 1fr;
  }

  .authority-mid-related > div {
    grid-template-columns: 1fr;
  }

  .authority-related a {
    display: block;
  }

  .authority-related a span {
    display: block;
    margin-top: 5px;
  }
}

body.senior-editorial-v3 .home-fortune-teaser {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 34px;
  align-items: center;
  padding: 30px;
  border: 1px solid #d8e3df;
  border-radius: 8px;
  background: #fff;
}

body.senior-editorial-v3 .home-fortune-teaser img {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 8px;
  object-fit: cover;
}

body.senior-editorial-v3 .home-fortune-teaser h2 {
  margin: 8px 0 10px;
  font-size: 30px;
  line-height: 1.35;
  letter-spacing: 0;
}

body.senior-editorial-v3 .home-fortune-teaser p {
  margin-bottom: 18px;
  font-size: 18px;
  line-height: 1.7;
}

body.senior-editorial-v3 .home-fortune-teaser a {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border-radius: 8px;
  background: #087568;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  text-decoration: none;
}

body.senior-editorial-v3 .home-reading-path {
  padding-top: 54px;
  padding-bottom: 54px;
}

body.senior-editorial-v3 .home-reading-path > h2 {
  max-width: 760px;
  margin: 8px 0 12px;
  font-size: 34px;
  line-height: 1.3;
  letter-spacing: 0;
}

body.senior-editorial-v3 .home-reading-path > p {
  max-width: 760px;
  font-size: 18px;
  line-height: 1.7;
}

body.senior-editorial-v3 .home-reading-path > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 24px;
  border-top: 1px solid #cfded9;
}

body.senior-editorial-v3 .home-reading-path a {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  min-height: 92px;
  padding: 18px 4px;
  border-bottom: 1px solid #cfded9;
  color: #12231f;
  text-decoration: none;
}

body.senior-editorial-v3 .home-reading-path a:nth-child(odd) {
  padding-right: 24px;
}

body.senior-editorial-v3 .home-reading-path a:nth-child(even) {
  padding-left: 24px;
}

body.senior-editorial-v3 .home-reading-path a span,
body.senior-editorial-v3 .home-reading-path a em {
  color: #087568;
  font-size: 16px;
  font-style: normal;
  font-weight: 800;
}

body.senior-editorial-v3 .fortune-page-main .home-fortune-health {
  padding-top: 54px;
}

body.senior-editorial-v3 .fortune-page-ad {
  width: min(900px, calc(100% - 40px));
  margin: 52px auto;
}

body.senior-editorial-v3 .fortune-next-reading {
  width: min(900px, calc(100% - 40px));
  margin: 0 auto;
  padding: 30px 0 60px;
}

body.senior-editorial-v3 .fortune-next-reading > div,
body.senior-editorial-v3 .adsense-lifestyle-grid,
body.senior-editorial-v3 .adsense-choice-related > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

body.senior-editorial-v3 .fortune-next-reading a,
body.senior-editorial-v3 .adsense-lifestyle-grid > a,
body.senior-editorial-v3 .adsense-choice-related a {
  display: grid;
  gap: 9px;
  min-height: 140px;
  align-content: center;
  padding: 20px;
  border: 1px solid #d2e0dc;
  border-radius: 8px;
  background: #fff;
  color: #14231f;
  text-decoration: none;
}

body.senior-editorial-v3 .adsense-choice-page,
body.senior-editorial-v3 .adsense-lifestyle-hub,
body.senior-editorial-v3 .adsense-living-choice {
  width: min(920px, calc(100% - 40px));
  margin: 0 auto;
  padding-top: 48px;
  padding-bottom: 68px;
}

body.senior-editorial-v3 .adsense-choice-hero {
  margin-bottom: 30px;
}

body.senior-editorial-v3 .adsense-choice-hero h1 {
  max-width: 800px;
  margin: 10px 0 16px;
  font-size: 44px;
  line-height: 1.22;
  letter-spacing: 0;
}

body.senior-editorial-v3 .adsense-choice-hero p,
body.senior-editorial-v3 .adsense-choice-reading p {
  font-size: 19px;
  line-height: 1.8;
}

body.senior-editorial-v3 .adsense-choice-reading,
body.senior-editorial-v3 .adsense-choice-related {
  margin: 54px 0;
}

body.senior-editorial-v3 .adsense-choice-reading li {
  margin-bottom: 12px;
  font-size: 18px;
  line-height: 1.7;
}

body.senior-editorial-v3 .adsense-lifestyle-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 46px 0;
}

@media (max-width: 720px) {
  body.senior-editorial-v3 .home-adsense-hero {
    width: 100%;
    padding: 34px 20px 26px;
  }

  body.senior-editorial-v3 .home-adsense-hero h1 {
    font-size: 36px;
  }

  body.senior-editorial-v3 .home-primary-paths,
  body.senior-editorial-v3 .adsense-first-home .home-rpm-grid,
  body.senior-editorial-v3 .home-reading-path > div,
  body.senior-editorial-v3 .fortune-next-reading > div,
  body.senior-editorial-v3 .adsense-lifestyle-grid,
  body.senior-editorial-v3 .adsense-choice-related > div {
    grid-template-columns: minmax(0, 1fr);
  }

  body.senior-editorial-v3 .home-primary-paths a {
    min-height: 96px;
  }

  body.senior-editorial-v3 .home-hero-checks {
    display: grid;
    gap: 8px;
  }

  body.senior-editorial-v3 .adsense-first-home .home-rpm-section,
  body.senior-editorial-v3 .adsense-first-home .monthly-official-update,
  body.senior-editorial-v3 .adsense-first-home .home-reading-path,
  body.senior-editorial-v3 .adsense-first-home .home-fortune-teaser,
  body.senior-editorial-v3 .adsense-first-home .home-faq-section {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
  }

  body.senior-editorial-v3 .adsense-first-home .home-rpm-card {
    grid-template-columns: 116px minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 4px 14px;
    min-height: 0;
    padding: 14px 0;
    border-width: 0 0 1px;
    border-radius: 0;
  }

  body.senior-editorial-v3 .adsense-first-home .home-rpm-card > :not(img) {
    margin-right: 0;
    margin-left: 0;
    grid-column: 2;
  }

  body.senior-editorial-v3 .adsense-first-home .home-rpm-thumb {
    grid-row: 1 / 6;
    width: 116px;
    height: 104px;
    border-radius: 8px;
  }

  body.senior-editorial-v3 .adsense-first-home .home-rpm-card p {
    font-size: 16px;
    line-height: 1.55;
  }

  body.senior-editorial-v3 .home-fortune-teaser {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    padding-top: 34px;
    padding-bottom: 34px;
    border-width: 1px 0;
    border-radius: 0;
  }

  body.senior-editorial-v3 .home-fortune-teaser img {
    max-height: 220px;
  }

  body.senior-editorial-v3 .home-fortune-teaser h2,
  body.senior-editorial-v3 .home-reading-path > h2 {
    font-size: 28px;
  }

  body.senior-editorial-v3 .home-fortune-teaser a {
    width: 100%;
  }

  body.senior-editorial-v3 .home-reading-path a,
  body.senior-editorial-v3 .home-reading-path a:nth-child(odd),
  body.senior-editorial-v3 .home-reading-path a:nth-child(even) {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 12px;
    padding: 18px 0;
  }

  body.senior-editorial-v3 .home-reading-path a span {
    grid-column: 1 / -1;
  }

  body.senior-editorial-v3 .home-reading-path a strong {
    font-size: 18px;
    line-height: 1.5;
  }

  body.senior-editorial-v3 .fortune-page-main .home-fortune-health {
    padding-top: 28px;
  }

  body.senior-editorial-v3 .adsense-choice-page,
  body.senior-editorial-v3 .adsense-lifestyle-hub,
  body.senior-editorial-v3 .adsense-living-choice {
    width: 100%;
    padding: 34px 20px 56px;
  }

  body.senior-editorial-v3 .adsense-choice-hero h1 {
    font-size: 32px;
  }

  body.senior-editorial-v3 .fortune-next-reading a,
  body.senior-editorial-v3 .adsense-lifestyle-grid > a,
  body.senior-editorial-v3 .adsense-choice-related a {
    min-height: 112px;
  }
}

/* Smart-check editorial pass: keep long articles readable instead of card-stacked. */
.smart-layout {
  grid-template-columns: minmax(0, 980px);
  justify-content: center;
  gap: 0;
}

.smart-article {
  max-width: 980px;
}

.smart-article .answer-summary {
  margin: 22px 0;
  border: 1px solid #d7e6e1;
  border-left: 5px solid #0d7568;
  border-radius: 8px;
  background: #f8fcfb;
  box-shadow: none;
}

.smart-article .answer-summary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid #dfeae7;
}

.smart-article .answer-summary-grid div {
  border: 0;
  border-right: 1px solid #dfeae7;
  border-bottom: 1px solid #dfeae7;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.smart-article .answer-summary-grid div:nth-child(2n) {
  border-right: 0;
}

.smart-article-hero {
  box-shadow: none;
}

.smart-blog-section,
.smart-longform-block,
.smart-related-section {
  margin: 0;
  padding: 34px 0;
  border: 0;
  border-top: 1px solid #e2ece9;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.smart-blog-section h2,
.smart-longform-block h2 {
  max-width: 760px;
  margin-top: 4px;
  font-size: 31px;
  line-height: 1.28;
  letter-spacing: 0;
}

.smart-blog-lead,
.smart-blog-section > p,
.smart-longform-block > p {
  max-width: 760px;
  color: #46586b;
  font-size: 18px;
  font-weight: 650;
  line-height: 1.78;
}

.smart-blog-copy {
  max-width: 760px;
}

.smart-blog-point {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 6px 16px;
  padding: 22px 0;
  border-top: 1px solid #edf3f1;
}

.smart-blog-point:first-child {
  border-top: 0;
}

.smart-blog-point > span {
  grid-row: span 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #e8f4f1;
  color: #0d7568;
  font-size: 13px;
  font-weight: 950;
}

.smart-blog-point h3 {
  margin: 0;
  color: #101827;
  font-size: 22px;
  line-height: 1.38;
  letter-spacing: 0;
}

.smart-blog-point h3,
.smart-blog-point p {
  grid-column: 2;
}

.smart-blog-point p {
  margin: 0 0 8px;
  color: #3f5163;
  font-size: 17px;
  font-weight: 640;
  line-height: 1.76;
}

.smart-reading-note {
  max-width: 760px;
  margin: 4px 0 0;
  padding: 14px 16px;
  border-left: 4px solid #f5c542;
  background: #fffaf0;
  color: #57421c;
  font-size: 16px;
  font-weight: 760;
  line-height: 1.65;
}

.smart-blog-list {
  display: grid;
  gap: 0;
  max-width: 760px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: smart-list;
}

.smart-blog-list li {
  position: relative;
  padding: 16px 0 16px 48px;
  border-top: 1px solid #edf3f1;
  counter-increment: smart-list;
}

.smart-blog-list li::before {
  content: counter(smart-list);
  position: absolute;
  top: 15px;
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #101827;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
}

.smart-blog-list strong {
  display: block;
  margin-bottom: 5px;
  color: #101827;
  font-size: 18px;
  line-height: 1.45;
}

.smart-blog-list span {
  display: block;
  color: #536374;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.68;
}

.smart-source-style {
  padding: 24px 22px;
  border: 1px solid #eadbbd;
  border-radius: 8px;
  background: #fffdf7;
}

.smart-source-style + .smart-deep-section {
  border-top: 0;
}

.smart-revenue-panel {
  margin: 28px 0;
  padding: 22px;
  border: 1px solid #d7e6e1;
  border-radius: 8px;
  background: #f8fcfb;
  box-shadow: none;
}

.smart-revenue-panel h2 {
  font-size: 24px;
  line-height: 1.34;
}

.smart-revenue-panel .affiliate-disclosure-box {
  margin: 10px 0 14px;
  background: #ffffff;
}

.smart-revenue-panel .slot-card,
.smart-revenue-panel .product-mini-card {
  box-shadow: none;
}

.spark-card::before,
.spark-card::after,
.course-step-card::after,
.db-summary::after,
.db-guardian-cta::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

.spark-card:hover,
.spark-card:focus-visible {
  transform: none;
  border-color: #d7e6e1;
}

.install-nudge {
  display: none !important;
}

.low-resistance-product-section {
  min-width: 0;
  margin: 26px 0;
  padding: 18px;
  border: 1px solid #dce8e7;
  border-radius: 8px;
  background: #f8fcfb;
  color: #101827;
  box-shadow: none;
}

.section > .low-resistance-product-section {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.low-resistance-product-section > p {
  max-width: 780px;
  margin: 8px 0 12px;
  color: #536374;
  font-size: 15px;
  font-weight: 720;
  line-height: 1.58;
}

.low-resistance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}

.low-resistance-product-link {
  min-width: 0;
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 4px 12px;
  align-items: start;
  padding: 11px;
  border: 1px solid #d7e6e1;
  border-radius: 8px;
  background: #fff;
  color: #101827;
  box-shadow: none;
}

.low-resistance-product-link:hover,
.low-resistance-product-link:focus-visible {
  border-color: #0d7568;
  transform: translateY(-1px);
}

.low-resistance-thumb {
  grid-row: 1 / span 4;
  width: 84px;
  height: 84px;
  object-fit: cover;
  border-radius: 8px;
  background: #eef5f2;
}

.low-resistance-product-link span {
  color: #0d7568;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.25;
}

.low-resistance-product-link strong {
  color: #101827;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.32;
  letter-spacing: 0;
}

.low-resistance-product-link p {
  margin: 0;
  color: #536374;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.42;
}

.low-resistance-product-link em {
  color: #0d7568;
  font-size: 13px;
  font-style: normal;
  font-weight: 950;
  line-height: 1.25;
}

.home-rpm-section {
  padding-top: 42px;
  padding-bottom: 24px;
}

.home-rpm-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
}

.home-rpm-card {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 5px 14px;
  align-items: start;
  padding: 12px;
  border: 1px solid #dce8e7;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
  cursor: pointer;
  touch-action: manipulation;
  color: inherit;
  text-decoration: none;
}

.home-rpm-card:hover,
.home-rpm-card:focus-visible {
  border-color: #0d7568;
  transform: translateY(-1px);
  outline: 3px solid rgba(13, 117, 104, 0.2);
  outline-offset: 2px;
}

.home-rpm-thumb {
  grid-row: 1 / span 3;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
  background: #eef5f2;
}

.home-rpm-card span {
  color: #0d7568;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.28;
}

.home-rpm-card strong {
  color: #101827;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: 0;
}

.home-rpm-card p {
  margin: 0;
  color: #536374;
  font-size: 14px;
  font-weight: 680;
  line-height: 1.5;
}

.home-rpm-action {
  align-self: end;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #e8f4f1;
  color: #0d7568;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}

.home-quick-topics {
  padding-top: 42px;
  padding-bottom: 42px;
}

.home-topic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.home-topic-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 4px 12px;
  padding: 16px;
  border: 1px solid #dce8e7;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

.home-topic-icon {
  grid-row: 1 / span 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: #e8f4f1;
  color: #0d7568;
}

.home-topic-icon .ui-icon {
  width: 21px;
  height: 21px;
}

.home-topic-card small {
  color: #0d7568;
  font-size: 12px;
  font-weight: 900;
}

.home-topic-card strong {
  color: #101827;
  font-size: 18px;
  line-height: 1.34;
  letter-spacing: 0;
}

.home-topic-card p {
  margin: 0;
  color: #536374;
  font-size: 14px;
  font-weight: 680;
  line-height: 1.55;
}

.home-topic-safety-note {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid #dce8e7;
  border-radius: 8px;
  background: #f8fcfb;
}

.home-topic-safety-image {
  width: 110px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
}

.home-topic-safety-note p {
  margin: 0;
  color: #536374;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
}

.home-topic-safety-note strong,
.home-topic-safety-note span {
  display: block;
}

.home-topic-safety-note strong {
  color: #101827;
  font-size: 17px;
}

.smart-bottom-cta {
  margin: 30px 0;
  padding: 22px;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background: #f7fbfa;
  color: #101827;
  box-shadow: none;
}

.smart-bottom-cta span {
  color: #0d7568;
}

.smart-bottom-cta h2,
.smart-bottom-cta p {
  color: #101827;
}

.smart-bottom-cta .cta {
  background: #0d7568;
  color: #fff;
}

.smart-bottom-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.smart-bottom-links a,
.smart-sidebar-related a {
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid #d7e6e1;
  border-radius: 8px;
  background: #fff;
  color: #0d7568;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.smart-sidebar-related {
  display: grid;
  gap: 8px;
}

.smart-sidebar {
  display: none;
}

@media (max-width: 980px) {
  .smart-layout {
    grid-template-columns: 1fr;
  }

  .smart-article {
    max-width: none;
  }

  .home-rpm-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-rpm-card {
    grid-template-columns: 104px minmax(0, 1fr);
  }

  .low-resistance-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .smart-blog-section,
  .smart-longform-block,
  .smart-related-section {
    padding: 28px 0;
  }

  .smart-source-style,
  .smart-revenue-panel,
  .smart-bottom-cta {
    padding: 16px;
  }
  .smart-bottom-links {
    grid-template-columns: 1fr;
  }
  .smart-bottom-links a {
    width: 100%;
  }
  .smart-revenue-panel {
    margin: 22px 0;
  }
  .smart-revenue-panel h2 {
    font-size: 21px;
  }
  .sponsor-reference-row {
    padding: 11px 12px;
  }
  .sponsor-reference-row strong {
    font-size: 15px;
  }
  .sponsor-reference-row small {
    font-size: 12px;
  }

  .smart-article .answer-summary-grid {
    grid-template-columns: 1fr;
  }

  .smart-article .answer-summary-grid div {
    border-right: 0;
  }

  .smart-blog-section h2,
  .smart-longform-block h2 {
    font-size: 25px;
  }

  .smart-blog-lead,
  .smart-blog-section > p,
  .smart-longform-block > p {
    font-size: 16px;
    line-height: 1.72;
  }

  .smart-blog-point {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .smart-blog-point > span {
    grid-row: auto;
  }

  .smart-blog-point h3 {
    font-size: 20px;
  }

  .smart-blog-point p {
    font-size: 16px;
  }

  .home-topic-grid {
    grid-template-columns: 1fr;
  }

  .home-rpm-grid {
    grid-template-columns: 1fr;
  }

  .home-rpm-card {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 4px 12px;
    padding: 11px;
  }

  .home-rpm-card strong {
    font-size: 16px;
    line-height: 1.34;
  }

  .home-rpm-card p {
    font-size: 13px;
    line-height: 1.45;
  }

  .home-rpm-action {
    min-height: 34px;
    padding: 0 12px;
    font-size: 13px;
  }

  .low-resistance-product-section {
    margin: 22px 0;
    padding: 14px;
  }

  .low-resistance-product-section > p {
    font-size: 14px;
    line-height: 1.52;
  }

  .low-resistance-product-link {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 3px 10px;
    padding: 10px;
  }

  .low-resistance-thumb {
    width: 76px;
    height: 76px;
  }

  .low-resistance-product-link strong {
    font-size: 15px;
    line-height: 1.32;
  }

  .low-resistance-product-link p,
  .low-resistance-product-link em {
    font-size: 12px;
  }

  .home-topic-card {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .home-topic-safety-note {
    grid-template-columns: 86px minmax(0, 1fr);
  }

  .home-topic-safety-image {
    width: 86px;
  }
}

@media (max-width: 880px) {
  .benefits-story-hero,
  .health-story-hero,
  .product-story-hero {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 18px;
  }
  .benefits-story-image,
  .health-story-image,
  .product-story-image {
    aspect-ratio: 16 / 10;
  }
  .product-visual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .benefits-story-hero,
  .health-story-hero,
  .product-story-hero {
    margin-bottom: 14px;
  }
  .benefits-story-hero h1,
  .health-story-hero h1,
  .product-story-hero h1 {
    font-size: 32px;
    line-height: 1.16;
  }
  .benefits-story-hero p,
  .health-story-hero p,
  .product-story-hero p,
  .benefits-text-list p,
  .health-text-list p,
  .product-text-list-long p,
  .benefits-family-memo > div:first-child p,
  .health-record-memo > div:first-child p,
  .product-home-memo > div:first-child p,
  .benefits-search-section p,
  .health-search-section p {
    font-size: 16px;
    line-height: 1.68;
  }
  .benefits-text-section,
  .benefits-family-memo,
  .benefits-scenario-section,
  .benefits-search-section,
  .health-text-section,
  .health-record-memo,
  .health-scenario-section,
  .health-search-section,
  .product-text-section,
  .product-home-memo,
  .product-visual-guide {
    margin: 22px 0;
    padding-top: 20px;
  }
  .benefits-text-section h2,
  .benefits-family-memo h2,
  .benefits-scenario-section h2,
  .benefits-search-section h2,
  .health-text-section h2,
  .health-record-memo h2,
  .health-scenario-section h2,
  .health-search-section h2,
  .product-text-section h2,
  .product-home-memo h2,
  .product-visual-guide h2 {
    font-size: 25px;
    line-height: 1.24;
  }
  .benefits-text-list,
  .health-text-list,
  .product-text-list-long {
    gap: 16px;
  }
  .benefits-text-list article,
  .health-text-list article,
  .product-text-list-long article {
    padding-left: 14px;
  }
  .benefits-text-list h3,
  .health-text-list h3,
  .product-text-list-long h3 {
    font-size: 20px;
  }
  .benefits-memo-table div,
  .health-memo-table div,
  .product-memo-table div {
    grid-template-columns: 1fr;
  }
  .benefits-memo-table strong,
  .benefits-memo-table span,
  .benefits-memo-table p,
  .health-memo-table strong,
  .health-memo-table span,
  .health-memo-table p,
  .health-memo-table a,
  .product-memo-table strong,
  .product-memo-table span,
  .product-memo-table p,
  .product-memo-table a {
    padding: 11px 12px;
    font-size: 14px;
  }
  .benefits-memo-table p,
  .health-memo-table p,
  .health-memo-table a,
  .product-memo-table p,
  .product-memo-table a {
    border-top: 1px solid #edf3f1;
  }
  .product-visual-grid {
    grid-template-columns: 1fr;
  }
  .product-reference-grid {
    grid-template-columns: 1fr;
  }
  .product-visual-grid article {
    padding: 11px;
  }
  .benefits-priority-links a,
  .benefits-scenario-list details > div a,
  .benefits-search-keywords a,
  .health-scenario-list details > div a,
  .health-search-keywords a {
    font-size: 13px;
  }
  .benefits-scenario-list summary,
  .health-scenario-list summary {
    padding: 13px 14px;
    font-size: 16px;
  }
  .benefits-scenario-list details > p,
  .health-scenario-list details > p {
    padding: 0 14px;
  }
  .benefits-scenario-list details > div,
  .health-scenario-list details > div {
    padding: 0 14px 14px;
  }
}

@media (max-width: 620px) {
  html,
  body,
  main,
  .section,
  .layout,
  .smart-layout,
  .smart-article,
  .smart-hub,
  .benefits-story-hero,
  .health-story-hero,
  .product-story-hero,
  .money-feed-hero,
  .answer-summary,
  .contextual-revenue-panel,
  .smart-revenue-panel,
  .parent-cost-comparison,
  .medical-refund-center,
  .guide-flow-section,
  .product-home-memo,
  .health-record-memo,
  .benefits-family-memo,
  .money-feed-family-memo {
    min-width: 0;
    max-width: 100%;
  }

  .medical-refund-story,
  .medical-refund-programs,
  .medical-refund-receipt,
  .medical-refund-decision,
  .medical-refund-claim-prep,
  .medical-refund-continuity,
  .medical-refund-family-memo {
    min-width: 0;
    max-width: 100%;
    margin: 22px 0;
    padding: 20px 0;
  }

  .medical-refund-story,
  .medical-refund-receipt,
  .medical-refund-fit-grid,
  .medical-refund-decision-grid,
  .medical-claim-checklist,
  .medical-program-grid,
  .medical-refund-continuity-grid,
  .medical-refund-model-path,
  .medical-receipt-table div,
  .medical-family-memo-list div {
    grid-template-columns: 1fr;
  }

  .medical-refund-center {
    margin: 16px 0 24px;
    padding: 16px;
  }

  .parent-cost-comparison {
    margin: 18px 0 24px;
    padding: 16px;
  }

  .parent-cost-head h2,
  .medical-refund-center-head h2,
  .medical-refund-section-head h2,
  .medical-refund-claim-prep h2,
  .medical-refund-soft-products h3,
  .medical-refund-story h2,
  .medical-refund-programs h2,
  .medical-refund-receipt h2,
  .medical-refund-family-memo h2 {
    font-size: 25px;
    line-height: 1.24;
  }

  .parent-cost-head p,
  .medical-refund-center-head p,
  .medical-refund-section-head p,
  .medical-refund-soft-products p,
  .medical-refund-story p,
  .medical-refund-programs > p,
  .medical-refund-receipt > div > p,
  .medical-refund-family-memo > p {
    font-size: 16px;
    line-height: 1.68;
  }

  .parent-cost-table,
  .medical-refund-center-table {
    border: 0;
    background: transparent;
  }

  .parent-cost-table > div:first-child,
  .medical-refund-center-table > div:first-child {
    display: none;
  }

  .parent-cost-table > div,
  .parent-cost-table > a,
  .medical-refund-center-table > div,
  .medical-refund-center-table > a {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 10px;
    border: 1px solid #dce9e6;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
  }

  .parent-cost-table > * + *,
  .medical-refund-center-table > * + * {
    border-top: 1px solid #dce9e6;
  }

  .parent-cost-table span,
  .medical-refund-center-table span {
    background: #f6faf9;
    color: #0d7568;
    font-weight: 950;
  }

  .parent-cost-table [role="cell"]:not(:first-child),
  .medical-refund-center-table [role="cell"]:not(:first-child) {
    border-top: 1px solid #edf3f1;
  }

  .medical-refund-decision-card,
  .medical-claim-checklist div,
  .medical-refund-soft-products {
    padding: 14px;
  }

  .medical-refund-story-image,
  .medical-refund-receipt-image {
    aspect-ratio: 16 / 10;
  }

  .medical-receipt-table p,
  .medical-family-memo-list span {
    border-top: 1px solid #edf3f1;
  }

  h1,
  h2,
  h3,
  p,
  li,
  a,
  strong,
  span,
  small,
  em {
    overflow-wrap: anywhere;
  }

  h1,
  h2,
  h3,
  .smart-hub-hero h1,
  .smart-article-hero h1,
  .health-article-hero h1,
  .benefit-article-hero h1,
  .community-hero h1,
  .dental-hero h1 {
    word-break: keep-all;
    overflow-wrap: break-word;
  }

  .section,
  .smart-article-section,
  .products-hub-section {
    overflow: hidden;
  }

  .smart-toc,
  .health-search-keywords,
  .benefits-priority-links,
  .guide-flow-links,
  .grant-hot-keywords,
  .smart-hub-tags {
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .smart-toc::-webkit-scrollbar,
  .health-search-keywords::-webkit-scrollbar,
  .benefits-priority-links::-webkit-scrollbar,
  .guide-flow-links::-webkit-scrollbar,
  .grant-hot-keywords::-webkit-scrollbar,
  .smart-hub-tags::-webkit-scrollbar {
    display: none;
  }

  .smart-bottom-links,
  .refund-insurance-actions,
  .db-guardian-actions,
  .condition-actions,
  .revenue-path-actions {
    grid-template-columns: 1fr;
  }

  .smart-bottom-links a,
  .soft-action,
  .mini-cta,
  .answer-summary-cta,
  .apply-link,
  .buy-cta {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }
}

/* Content-first mobile pass: keep article pages fitting the viewport without conversion clutter. */
main {
  overflow-x: clip;
}

.smart-article,
.smart-article * {
  min-width: 0;
}

.smart-article .ad-band {
  box-shadow: none;
}

@media (max-width: 620px) {
  .section,
  .smart-article-section {
    width: 100%;
    padding-left: 14px;
    padding-right: 14px;
  }

  .smart-article-hero,
  .smart-hub-hero,
  .answer-summary,
  .smart-source-style,
  .smart-blog-section,
  .smart-longform-block,
  .smart-related-section,
  .smart-bottom-cta,
  .faq-section {
    margin-left: 0;
    margin-right: 0;
  }

  .smart-toc {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 8px;
    border: 1px solid #dbe8e7;
    border-radius: 8px;
    overflow: visible;
  }

  .smart-toc a,
  .smart-hub-tags a {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.25;
  }

  .compact-notice,
  .footer-disclosure {
    font-size: 12px;
    line-height: 1.55;
  }

  .smart-check-card,
  .smart-related-card {
    grid-template-columns: 94px minmax(0, 1fr);
    align-items: start;
    gap: 7px 12px;
    padding: 12px;
  }

  .smart-card-thumb,
  .smart-related-thumb {
    grid-row: 1 / 5;
    width: 94px;
    height: 94px;
    aspect-ratio: auto;
  }

  .smart-check-card span,
  .smart-check-card strong,
  .smart-check-card p,
  .smart-check-card em,
  .smart-related-card span,
  .smart-related-card strong,
  .smart-related-card small {
    grid-column: 2;
  }

  .smart-check-card strong,
  .smart-related-card strong {
    font-size: 17px;
    line-height: 1.35;
  }

  .smart-check-card p,
  .smart-related-card small {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 14px;
    line-height: 1.45;
  }

  .smart-check-card em {
    padding: 0;
    background: transparent;
    color: #0d7568;
    font-size: 13px;
    line-height: 1.35;
  }

  .smart-blog-point {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 6px 12px;
  }

  .smart-blog-point h3 {
    font-size: 19px;
    line-height: 1.38;
  }

  .smart-compare-table,
  .smart-compare-table div,
  .smart-compare-table strong,
  .smart-compare-table span,
  .smart-blog-list,
  .smart-blog-list li,
  .smart-bottom-links,
  .smart-related-grid {
    width: 100%;
    max-width: 100%;
  }

  .ad-band {
    min-height: 180px;
    margin: 22px 0;
  }

  .ad-band .adsbygoogle {
    min-width: 0 !important;
    min-height: 180px;
    width: 100% !important;
  }

  .compact-ad,
  .compact-ad .adsbygoogle,
  .ad-band.compact-ad .adsbygoogle {
    min-height: 96px;
  }

  .contextual-revenue-panel {
    padding: 16px;
    background: #fff;
  }

  .revenue-quickbar {
    display: none !important;
  }

.site-footer {
    padding-bottom: 36px;
  }
}

.home-money-section,
.money-product-hub,
.money-product-page {
  color: #101827;
}

.money-page-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  min-width: 0;
}

.home-money-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.money-page-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 14px;
  border: 1px solid #dce8e7;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
}

.money-page-card:hover,
.money-page-card:focus-visible {
  border-color: #0d7568;
  transform: translateY(-1px);
}

.money-page-thumb {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 8px;
  background: #eef5f2;
}

.money-page-card span,
.money-product-list article span,
.money-product-cta span {
  color: #0d7568;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.3;
}

.money-page-card strong {
  color: #101827;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0;
}

.money-page-card p {
  margin: 0;
  color: #536374;
  font-size: 14px;
  font-weight: 680;
  line-height: 1.55;
}

.money-page-card em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  min-height: 38px;
  padding: 9px 12px;
  border-radius: 8px;
  background: #0d7568;
  color: #ffffff;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.money-hero,
.money-article-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 24px;
  align-items: center;
  padding: 26px;
  border: 1px solid #dce8e7;
  border-radius: 8px;
  background: #f8fcfb;
}

.money-hero h1,
.money-article-hero h1 {
  margin: 8px 0 10px;
  color: #101827;
  font-size: clamp(34px, 4.4vw, 54px);
  line-height: 1.08;
  letter-spacing: 0;
}

.money-hero p,
.money-article-hero p,
.money-block p,
.money-bridge-section p {
  color: #536374;
  font-size: 16px;
  font-weight: 680;
  line-height: 1.7;
}

.money-hero-image,
.money-article-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
  background: #eef5f2;
}

.money-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.money-hero-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid #cfe2dd;
  background: #ffffff;
  color: #0d7568;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.money-featured-section,
.money-all-section,
.money-block,
.money-bridge-section {
  margin: 28px 0;
}

.money-all-section h2,
.money-block h2 {
  margin: 6px 0 10px;
  color: #101827;
  font-size: 26px;
  line-height: 1.32;
  letter-spacing: 0;
}

.money-product-article {
  max-width: 920px;
  margin: 0 auto;
}

.money-compare-table {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.money-compare-table a {
  min-width: 0;
  display: grid;
  grid-template-columns: 44px minmax(120px, .9fr) minmax(180px, 1.2fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid #dce8e7;
  border-radius: 8px;
  background: #ffffff;
  color: #101827;
}

.money-compare-table span {
  color: #0d7568;
  font-size: 13px;
  font-weight: 900;
}

.money-compare-table strong {
  font-size: 16px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.money-compare-table em {
  color: #536374;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.45;
}

.money-compare-table b {
  display: inline-flex;
  justify-content: center;
  min-width: 92px;
  padding: 9px 11px;
  border-radius: 8px;
  background: #0d7568;
  color: #ffffff;
  font-size: 13px;
  line-height: 1.25;
  white-space: normal;
}

.money-product-list {
  display: grid;
  gap: 12px;
}

.money-product-list article {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 16px;
  padding: 14px;
  border: 1px solid #dce8e7;
  border-radius: 8px;
  background: #ffffff;
}

.money-product-thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 8px;
  background: #eef5f2;
}

.money-product-list h3 {
  margin: 4px 0 6px;
  color: #101827;
  font-size: 22px;
  line-height: 1.3;
}

.money-product-list p,
.money-product-list li,
.money-checklist li {
  color: #536374;
  font-size: 15px;
  font-weight: 680;
  line-height: 1.58;
}

.money-product-list ul,
.money-checklist ol {
  margin: 10px 0 0;
  padding-left: 20px;
}

.money-product-cta {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 12px;
  align-items: center;
  margin-top: 12px;
  padding: 12px 13px;
  border: 1px solid #cfe2dd;
  border-radius: 8px;
  background: #f8fcfb;
}

.money-product-cta strong {
  grid-column: 1;
  color: #101827;
  font-size: 15px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.money-product-cta em {
  grid-column: 2;
  grid-row: 1 / span 2;
  padding: 8px 10px;
  border-radius: 8px;
  background: #0d7568;
  color: #ffffff;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
}

.money-related-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.money-related-links a {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 13px;
  border: 1px solid #dce8e7;
  border-radius: 8px;
  background: #ffffff;
}

.money-related-links strong {
  color: #101827;
  font-size: 16px;
  line-height: 1.35;
}

.money-related-links span {
  color: #536374;
  font-size: 14px;
  font-weight: 680;
  line-height: 1.5;
}

.money-bridge-section {
  padding: 18px;
  border: 1px solid #dce8e7;
  border-radius: 8px;
  background: #fbf8f1;
}

.money-bridge-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.money-bridge-grid .money-page-card {
  padding: 12px;
}

.money-bridge-grid .money-page-thumb {
  aspect-ratio: 5 / 3;
}

.money-bridge-grid .money-product-cta {
  margin-top: 0;
  background: #ffffff;
}

@media (max-width: 980px) {
  .money-page-grid,
  .home-money-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .money-hero,
  .money-article-hero {
    grid-template-columns: 1fr;
  }

  .money-bridge-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .money-compare-table a {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .money-compare-table em,
  .money-compare-table b {
    grid-column: 2;
  }
}

@media (max-width: 620px) {
  .money-product-hub,
  .money-product-page {
    padding-left: 14px;
    padding-right: 14px;
  }

  .money-page-grid,
  .home-money-grid,
  .money-bridge-grid,
  .money-related-links {
    grid-template-columns: 1fr;
  }

  .money-hero,
  .money-article-hero {
    padding: 18px;
  }

  .money-hero h1,
  .money-article-hero h1 {
    font-size: 34px;
    line-height: 1.12;
  }

  .money-product-list article {
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
  }

  .money-product-list h3 {
    font-size: 19px;
  }

  .money-product-list p,
  .money-product-list li,
  .money-checklist li,
  .money-block p,
  .money-bridge-section p {
    font-size: 14px;
  }

  .money-product-cta {
    grid-template-columns: 1fr;
  }

  .money-product-cta em {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
  }

  .money-compare-table a {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 6px 10px;
    padding: 12px;
  }

  .money-compare-table b {
    width: 100%;
  }

  .sponsor-offer-layout {
    display: flex;
    flex-direction: column;
  }

  .sponsor-offer-card {
    margin: 24px 0;
  }

  .sponsor-offer-media,
  .sponsor-offer-image {
    order: 2;
    min-height: 190px;
    max-height: 220px;
  }

  .sponsor-offer-body {
    order: 1;
    padding: 20px 18px;
  }

  .sponsor-offer-body h2 {
    font-size: 25px;
  }

  .sponsor-offer-details > p,
  .sponsor-offer-details li {
    font-size: 16px;
  }

  .sponsor-offer-cta,
  .sponsor-offer-secondary,
  .sponsor-offer-secondary a {
    width: 100%;
  }

  .sponsor-offer-cta,
  .sponsor-offer-secondary a {
    justify-content: center;
    text-align: center;
  }

  .sponsor-offer-secondary {
    margin-top: -14px;
  }
}

@media print {
  @page {
    size: A4;
    margin: 14mm;
  }

  body.print-diagnosis-result,
  body.print-diagnosis-result .parent-cost-diagnosis {
    background: #fff !important;
    color: #111 !important;
  }

  body.print-diagnosis-result * {
    visibility: hidden !important;
  }

  body.print-diagnosis-result .parent-cost-diagnosis,
  body.print-diagnosis-result .parent-cost-diagnosis * {
    visibility: visible !important;
  }

  body.print-diagnosis-result > :not(main),
  body.print-diagnosis-result main > :not(.hero),
  body.print-diagnosis-result .hero > :not(:first-child),
  body.print-diagnosis-result .hero > div > :not(.parent-cost-diagnosis) {
    display: none !important;
  }

  body.print-diagnosis-result .hero,
  body.print-diagnosis-result .hero > div {
    display: block !important;
    position: static !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.print-diagnosis-result .parent-cost-diagnosis {
    position: static;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
  }

  body.print-diagnosis-result .diagnosis-intro,
  body.print-diagnosis-result .diagnosis-form,
  body.print-diagnosis-result .diagnosis-result-actions,
  body.print-diagnosis-result .diagnosis-asset-actions,
  body.print-diagnosis-result .diagnosis-save-status,
  body.print-diagnosis-result .diagnosis-privacy-note,
  body.print-diagnosis-result .diagnosis-clear,
  body.print-diagnosis-result .diagnosis-restart,
  body.print-diagnosis-result .diagnosis-family-memo button {
    display: none !important;
  }

  body.print-diagnosis-result .diagnosis-print-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid #1d5f55;
    color: #173f39;
  }

  body.print-diagnosis-result .diagnosis-result {
    margin: 0;
    padding: 0;
    border: 0;
  }

  body.print-diagnosis-result .diagnosis-result-grid {
    grid-template-columns: 1fr;
  }

  body.print-diagnosis-result .diagnosis-result-grid div,
  body.print-diagnosis-result .diagnosis-family-memo {
    break-inside: avoid;
    box-shadow: none;
  }
}


/* Four-site core search contract */
.core-direct-answer,
.core-related-band,
.core-quality-bridge {
  width: 100%;
  margin: 28px 0;
  padding: 24px 0;
  border-top: 1px solid rgba(30, 45, 40, .18);
  border-bottom: 1px solid rgba(30, 45, 40, .12);
}
.core-direct-answer > span,
.core-related-head > span,
.core-quality-heading > span {
  display: block;
  margin-bottom: 8px;
  color: #087f6a;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
}
.core-direct-answer h2,
.core-quality-heading h2 {
  margin: 0 0 14px;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.35;
  letter-spacing: 0;
}
.core-direct-answer p,
.core-quality-heading p {
  margin: 8px 0;
  color: #35413d;
  line-height: 1.75;
}
.core-related-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.core-related-head strong {
  color: #58635f;
  font-size: 12px;
}
.core-related-primary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 20px;
  align-items: center;
  margin-bottom: 14px;
  border-left: 4px solid #087f6a;
  background: #edf8f4;
  padding: 18px 20px;
  color: #172521;
  text-decoration: none;
}
.core-related-primary > span,
.core-related-primary > strong {
  grid-column: 1;
}
.core-related-primary > span {
  color: #087f6a;
  font-size: 14px;
  font-weight: 850;
}
.core-related-primary > strong {
  font-size: 21px;
  line-height: 1.45;
  word-break: keep-all;
}
.core-related-primary > em {
  grid-column: 2;
  grid-row: 1 / 3;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: #087f6a;
  color: #fff;
  padding: 11px 16px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}
.core-related-band nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(30, 45, 40, .14);
}
.core-related-band nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 13px 8px 13px 0;
  border-bottom: 1px solid rgba(30, 45, 40, .12);
  color: inherit;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
}
.core-related-band nav a span {
  flex: 0 0 auto;
  color: #087f6a;
  font-size: 13px;
  font-weight: 850;
}
.core-related-band nav a:hover {
  color: #087f6a;
}
.core-condition-table {
  margin: 20px 0;
  border-top: 2px solid #263630;
}
.core-condition-table > div {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(30, 45, 40, .14);
}
.core-condition-table [role="columnheader"] {
  color: #1e2d28;
  font-size: 13px;
}
.core-condition-table [role="cell"] {
  color: #46534e;
  font-size: 14px;
  line-height: 1.55;
}
.core-checklist {
  margin: 24px 0;
}
.core-checklist h3,
.core-mini-faq h3 {
  margin: 0 0 12px;
  font-size: 19px;
  letter-spacing: 0;
}
.core-checklist ol {
  margin: 0 0 14px;
  padding-left: 22px;
}
.core-checklist li {
  margin: 8px 0;
  line-height: 1.6;
}
.core-checklist > a {
  color: #087f6a;
  font-weight: 750;
}
.core-mini-faq details {
  padding: 14px 0;
  border-top: 1px solid rgba(30, 45, 40, .14);
}
.core-mini-faq summary {
  cursor: pointer;
  font-weight: 750;
  line-height: 1.5;
}
.core-mini-faq p {
  margin: 10px 0 0;
  color: #52605b;
  line-height: 1.65;
}
@media (max-width: 720px) {
  .core-direct-answer,
  .core-related-band,
  .core-quality-bridge {
    margin: 22px 0;
    padding: 20px 0;
  }
  .core-related-band nav {
    grid-template-columns: 1fr;
  }
  .core-related-primary {
    grid-template-columns: 1fr;
    padding: 18px 16px;
  }
  .core-related-primary > span,
  .core-related-primary > strong,
  .core-related-primary > em {
    grid-column: 1;
    grid-row: auto;
  }
  .core-related-primary > strong {
    font-size: 20px;
  }
  .core-related-primary > em {
    width: 100%;
    min-height: 52px;
    margin-top: 5px;
  }
  .core-condition-table > div {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .core-condition-table [role="columnheader"]:not(:first-child) {
    display: none;
  }
  .core-condition-table [role="cell"]::before {
    display: block;
    color: #087f6a;
    font-size: 11px;
    font-weight: 800;
  }
  .core-condition-table [role="cell"]:nth-child(2)::before {
    content: "이 페이지에서";
  }
  .core-condition-table [role="cell"]:nth-child(3)::before {
    content: "최종 확인";
  }
}

/* Native next-page journeys keep every answer crawlable and use direct same-tab links. */
.site-continuation {
  display: grid;
  grid-template-columns: .8fr 1.35fr;
  gap: 18px 28px;
  align-items: start;
  margin-top: 30px;
  margin-bottom: 34px;
  border-top: 2px solid #087f6a;
  border-bottom: 1px solid #d8e5e1;
  padding-top: 24px;
  padding-bottom: 24px;
}

.site-continuation-head {
  display: grid;
  gap: 8px;
}

.site-continuation-head h2,
.site-continuation-head p {
  margin: 0;
}

.site-continuation-head h2 {
  color: #13221e;
  font-size: 28px;
  line-height: 1.3;
  word-break: keep-all;
}

.site-continuation-head p {
  color: #52615c;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.65;
}

.site-continuation-primary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 18px;
  align-items: center;
  border-left: 4px solid #087f6a;
  background: #edf8f4;
  padding: 19px 20px;
  color: #14231f;
  text-decoration: none;
}

.site-continuation-primary > span,
.site-continuation-primary > strong,
.site-continuation-primary > p {
  grid-column: 1;
  margin: 0;
}

.site-continuation-primary > span {
  color: #087f6a;
  font-size: 14px;
  font-weight: 900;
}

.site-continuation-primary > strong {
  font-size: 21px;
  line-height: 1.42;
  word-break: keep-all;
}

.site-continuation-primary > p {
  color: #51605b;
  font-size: 16px;
  line-height: 1.58;
}

.site-continuation-primary > em {
  grid-column: 2;
  grid-row: 1 / 4;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: #087f6a;
  color: #fff;
  padding: 11px 16px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.site-continuation-secondary {
  grid-column: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
}

.site-continuation-secondary a {
  min-width: 0;
  display: grid;
  gap: 5px;
  border-bottom: 1px solid #d8e5e1;
  padding: 14px 0;
  color: #24332e;
  text-decoration: none;
}

.site-continuation-secondary span,
.site-continuation-secondary em {
  color: #087f6a;
  font-size: 13px;
  font-style: normal;
  font-weight: 850;
}

.site-continuation-secondary strong {
  font-size: 17px;
  line-height: 1.45;
  word-break: keep-all;
}

@media (max-width: 760px) {
  .site-continuation {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 24px;
    padding: 22px 0;
  }
  .site-continuation-head h2 {
    font-size: 25px;
  }
  .site-continuation-primary {
    grid-template-columns: 1fr;
    padding: 18px 16px;
  }
  .site-continuation-primary > span,
  .site-continuation-primary > strong,
  .site-continuation-primary > p,
  .site-continuation-primary > em {
    grid-column: 1;
    grid-row: auto;
  }
  .site-continuation-primary > em {
    width: 100%;
    min-height: 52px;
    margin-top: 6px;
  }
  .site-continuation-secondary {
    grid-column: 1;
    grid-template-columns: 1fr;
  }
  .site-continuation-secondary a {
    min-height: 72px;
  }
}

/* Naver Shopping Connect: information-first senior selection modules */
.brand-connect-home-band,
.brand-connect-context,
.brand-connect-group,
.brand-connect-method,
.travel-comparison,
.travel-prep-guide {
  width: 100%;
  margin: 34px 0;
}

.brand-connect-home-band {
  padding: 30px 0;
  border-top: 2px solid #173f39;
  border-bottom: 1px solid rgba(30, 45, 40, .16);
}

.brand-connect-home-head,
.brand-connect-context-head,
.brand-connect-group-head {
  max-width: 860px;
  margin-bottom: 18px;
}

.brand-connect-home-head h2,
.brand-connect-context-head h2,
.brand-connect-group-head h2,
.brand-connect-method h2,
.travel-comparison h2,
.travel-prep-guide h2 {
  margin: 5px 0 10px;
  font-size: 28px;
  line-height: 1.35;
  letter-spacing: 0;
}

.brand-connect-home-head p,
.brand-connect-context-head p,
.brand-connect-group-head p,
.travel-prep-guide > p {
  margin: 0;
  color: #4c5a55;
  line-height: 1.75;
}

.brand-connect-home-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(30, 45, 40, .16);
}

.brand-connect-home-grid a {
  min-width: 0;
  padding: 20px 18px 18px 0;
  color: inherit;
  text-decoration: none;
}

.brand-connect-home-grid a + a {
  padding-left: 18px;
  border-left: 1px solid rgba(30, 45, 40, .14);
}

.brand-connect-home-grid span,
.brand-connect-card-head span {
  display: block;
  color: #a33a2b;
  font-size: 14px;
  font-weight: 800;
}

.brand-connect-home-grid strong {
  display: block;
  margin: 8px 0;
  font-size: 19px;
  line-height: 1.45;
}

.brand-connect-home-grid small {
  display: block;
  min-height: 51px;
  color: #58655f;
  font-size: 15px;
  line-height: 1.7;
}

.brand-connect-home-grid em {
  display: inline-block;
  margin-top: 13px;
  color: #087f6a;
  font-style: normal;
  font-weight: 800;
}

.brand-connect-home-note {
  margin: 16px 0 0;
  padding: 13px 15px;
  border-left: 3px solid #c08a28;
  background: #fff9e9;
  color: #5e4b25;
  font-size: 14px;
  line-height: 1.65;
}

.brand-connect-disclosure {
  margin: 10px 0 14px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #717b77;
  font-size: 12px;
  line-height: 1.5;
}

.brand-connect-disclosure strong {
  margin-right: 5px;
  color: #56615d;
}

.brand-connect-hub-hero,
.senior-travel-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  align-items: center;
  gap: 30px;
  margin-bottom: 28px;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(30, 45, 40, .16);
}

.brand-connect-hub-hero h1,
.senior-travel-hero h1 {
  margin: 9px 0 15px;
  max-width: 760px;
  font-size: 42px;
  line-height: 1.2;
  letter-spacing: 0;
}

.brand-connect-hub-hero p,
.senior-travel-hero p {
  max-width: 720px;
  margin: 0;
  color: #45534e;
  font-size: 18px;
  line-height: 1.75;
}

.brand-connect-hub-hero img,
.senior-travel-hero img {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 6px;
  object-fit: cover;
}

.brand-connect-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0 36px;
}

.brand-connect-jump a {
  padding: 10px 13px;
  border: 1px solid #b8c6c1;
  border-radius: 5px;
  background: #fff;
  color: #263630;
  font-weight: 750;
  text-decoration: none;
}

.brand-connect-group {
  padding-top: 24px;
  border-top: 1px solid rgba(30, 45, 40, .16);
}

.brand-connect-group-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 22px;
  max-width: none;
}

.brand-connect-group-head > div {
  max-width: 860px;
}

.brand-group-distributed {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  gap: 34px;
  align-items: start;
  border-top: 1px solid #ccd6d2;
}

.brand-group-guides {
  border-bottom: 1px solid #ccd6d2;
}

.brand-group-guides a {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr) auto;
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 17px 0;
  border-bottom: 1px solid #e0e6e3;
  color: inherit;
  text-decoration: none;
}

.brand-group-guides a:last-child {
  border-bottom: 0;
}

.brand-group-guides strong,
.brand-group-guides span,
.brand-group-guides em {
  min-width: 0;
  overflow-wrap: anywhere;
}

.brand-group-guides strong {
  color: #24352f;
  line-height: 1.5;
}

.brand-group-guides span {
  color: #596761;
  font-size: 14px;
  line-height: 1.65;
}

.brand-group-guides em {
  color: #087f6a;
  font-size: 14px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.brand-group-example {
  min-width: 0;
}

.brand-group-example > p {
  margin: 0;
  padding: 15px 0;
  border-bottom: 1px solid #e0e6e3;
  color: #596761;
  font-size: 14px;
  line-height: 1.65;
}

.brand-group-example > p strong {
  display: block;
  margin-bottom: 3px;
  color: #a33a2b;
}

.brand-group-example .brand-connect-card {
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
}

.brand-group-example .brand-connect-card dl {
  grid-template-columns: 1fr;
}

.brand-group-example .brand-connect-card dl div:nth-child(3) {
  display: none;
}

.brand-group-more {
  flex: 0 0 auto;
  color: #087f6a;
  font-weight: 800;
}

.brand-connect-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid #ccd6d2;
}

.brand-connect-card {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  min-width: 0;
  padding: 24px 0;
  border: 0;
  border-bottom: 1px solid #ccd6d2;
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-decoration: none;
}

.brand-connect-card.is-compact {
  padding: 22px 0;
}

.brand-connect-card:hover,
.brand-connect-card:focus-visible {
  background: #f7faf9;
  outline: 3px solid rgba(8, 127, 106, .18);
  outline-offset: 3px;
}

.brand-connect-card-media {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dde4e1;
  border-radius: 6px;
  background: #f6f8f7;
}

.brand-connect-product-image {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.brand-connect-photo-label {
  display: block;
  padding: 8px 10px;
  border-top: 1px solid #dce5e1;
  background: #eef6f3;
  color: #08705e;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.35;
  text-align: center;
}

.brand-connect-card-body {
  min-width: 0;
  padding: 0;
}

.brand-connect-card.is-compact .brand-connect-card-body {
  padding: 0;
}

.brand-connect-card-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.brand-connect-card-head small {
  color: #5b6762;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

.brand-connect-card h3 {
  max-width: 900px;
  margin: 10px 0 8px;
  color: #1f302a;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.brand-connect-guide-lead {
  max-width: 900px;
  margin: 0;
  color: #4b5853;
  line-height: 1.75;
}

.brand-connect-guide-lead strong {
  color: #253730;
}

.brand-connect-proof {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 10px;
  margin: 14px 0 0;
  padding: 11px 12px;
  border: 1px solid #cfe0da;
  background: #f1f8f5;
  color: #26473d;
}

.brand-connect-proof span {
  padding: 4px 7px;
  border-radius: 4px;
  background: #087f6a;
  color: #fff;
  font-size: 12px;
  font-weight: 850;
}

.brand-connect-proof strong {
  font-size: 14px;
}

.brand-connect-proof small {
  margin-left: auto;
  color: #5b6b65;
  font-size: 12px;
}

.brand-connect-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
  margin: 18px 0 0;
  border-top: 1px solid #e0e6e3;
  border-bottom: 1px solid #e0e6e3;
}

.brand-connect-card dl div {
  min-width: 0;
  padding: 13px 0;
}

.brand-connect-card dt {
  color: #52605a;
  font-size: 14px;
  font-weight: 800;
}

.brand-connect-card dd {
  min-width: 0;
  margin: 5px 0 0;
  color: #34423d;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.brand-connect-example {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
  gap: 20px;
  align-items: center;
  margin-top: 17px;
  padding: 14px 16px;
  border-left: 3px solid #9eb7af;
  background: #f6f8f7;
}

.brand-connect-example span,
.brand-connect-example strong {
  display: block;
}

.brand-connect-example span {
  color: #52615b;
  font-size: 13px;
  font-weight: 800;
}

.brand-connect-example strong {
  margin-top: 5px;
  color: #293a34;
  line-height: 1.55;
}

.brand-connect-example p {
  margin: 0;
  color: #64716c;
  font-size: 14px;
  line-height: 1.6;
}

.brand-connect-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  max-width: 100%;
  margin-top: 16px;
  min-height: 58px;
  padding: 13px 15px;
  border: 1px solid #08705e;
  border-radius: 5px;
  background: #08705e;
  color: #fff;
  text-decoration: none;
}

.brand-connect-cta span {
  min-width: 0;
  color: #fff;
  font-weight: 800;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.brand-connect-cta small {
  flex: 0 1 auto;
  color: #d8f1ea;
  font-size: 14px;
  line-height: 1.4;
  text-align: right;
}

.brand-connect-context {
  padding: 26px 0;
  border-top: 2px solid #173f39;
  border-bottom: 1px solid rgba(30, 45, 40, .16);
}

.context-commerce {
  width: 100%;
  margin: 42px 0 34px;
  padding: 30px 0 26px;
  border-top: 3px solid #173f39;
  border-bottom: 1px solid rgba(30, 45, 40, .18);
}

.context-commerce-head {
  max-width: 850px;
}

.context-commerce-head h2 {
  margin: 6px 0 11px;
  font-size: 30px;
  line-height: 1.35;
  letter-spacing: 0;
}

.context-commerce-head > p {
  margin: 0;
  color: #40504a;
  font-size: 17px;
  line-height: 1.8;
}

.context-commerce-kick {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
  margin: 18px 0 24px;
  border-top: 1px solid #cbd5d1;
  border-bottom: 1px solid #cbd5d1;
  background: #f7faf9;
}

.context-commerce-kick > div {
  min-width: 0;
  padding: 17px 18px;
}

.context-commerce-kick > div + div {
  border-left: 1px solid #d8dfdc;
}

.context-commerce-kick span {
  display: block;
  color: #087f6a;
  font-size: 13px;
  font-weight: 850;
}

.context-commerce-kick strong {
  display: block;
  margin-top: 6px;
  color: #20302a;
  font-size: 18px;
  line-height: 1.55;
}

.context-commerce-kick p {
  margin: 6px 0 0;
  color: #53615b;
  font-size: 15px;
  line-height: 1.65;
}

.context-purchase-story {
  margin: 22px 0;
  border-top: 1px solid #cbd5d1;
  border-bottom: 1px solid #cbd5d1;
}

.context-purchase-story > span {
  display: block;
  padding: 13px 0 0;
  color: #087f6a;
  font-size: 13px;
  font-weight: 850;
}

.context-purchase-story ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 10px 0 16px;
  list-style: none;
}

.context-purchase-story li {
  min-width: 0;
  padding: 8px 18px;
}

.context-purchase-story li:first-child {
  padding-left: 0;
}

.context-purchase-story li + li {
  border-left: 1px solid #d8dfdc;
}

.context-purchase-story strong {
  display: block;
  color: #a33a2b;
  font-size: 14px;
}

.context-purchase-story p {
  margin: 6px 0 0;
  color: #44534d;
  line-height: 1.65;
}

.context-commerce-skip {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 18px;
  margin: 22px 0;
  padding: 17px 18px;
  border-left: 4px solid #b05a38;
  background: #fff7ed;
}

.context-commerce-skip strong {
  color: #813722;
  line-height: 1.55;
}

.context-commerce-skip p {
  margin: 0;
  color: #5c463e;
  line-height: 1.7;
}

.context-choice-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 24px 0;
  border-top: 1px solid #cbd5d1;
  border-bottom: 1px solid #cbd5d1;
}

.context-choice-map > div {
  min-width: 0;
  padding: 18px;
}

.context-choice-map > div + div {
  border-left: 1px solid #d8dfdc;
}

.context-choice-map span {
  display: block;
  color: #087f6a;
  font-size: 12px;
  font-weight: 850;
}

.context-choice-map .is-hold span {
  color: #a33a2b;
}

.context-choice-map strong {
  display: block;
  margin: 7px 0;
  color: #20302a;
  font-size: 17px;
  line-height: 1.45;
}

.context-choice-map p,
.context-choice-map small {
  display: block;
  margin: 0;
  color: #53615b;
  line-height: 1.65;
}

.context-choice-map small {
  margin-top: 8px;
  color: #374640;
  font-weight: 750;
}

.context-native-rules {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  margin: 22px 0;
  border-top: 1px solid #cbd5d1;
  border-bottom: 1px solid #cbd5d1;
}

.context-native-rules > div {
  min-width: 0;
  padding: 18px 20px;
}

.context-native-rules > div + div {
  border-left: 1px solid #d8dfdc;
}

.context-native-rules > div > span {
  display: block;
  margin-bottom: 10px;
  color: #087f6a;
  font-size: 13px;
  font-weight: 850;
}

.context-native-rule + .context-native-rule {
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid #e0e6e3;
}

.context-native-rule strong {
  display: block;
  color: #263730;
  line-height: 1.5;
}

.context-native-rule p {
  margin: 5px 0 0;
  color: #53615b;
  line-height: 1.65;
}

.context-native-rules ol {
  margin: 0;
  padding-left: 21px;
}

.context-native-rules li {
  padding: 3px 0;
  color: #46544e;
  line-height: 1.6;
}

.context-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.context-choice-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  align-items: start;
  min-width: 0;
  border: 1px solid #d3dcd8;
  border-left: 4px solid #8eaaa1;
  border-radius: 5px;
  background: #fafbfa;
  color: inherit;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.context-choice-card:hover,
.context-choice-card:focus-visible {
  border-color: #5f998a;
  box-shadow: 0 10px 26px rgba(25, 67, 56, .11);
  outline: 3px solid rgba(8, 127, 106, .16);
  outline-offset: 2px;
  transform: translateY(-1px);
}

.context-product-grid .context-choice-card:only-child {
  max-width: 860px;
}

.context-choice-media {
  position: relative;
  min-width: 0;
  margin: 18px 0 18px 18px;
  overflow: hidden;
  border: 1px solid #dce3e0;
  border-radius: 5px;
  background: #fff;
}

.context-choice-image {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.context-choice-copy {
  min-width: 0;
  padding: 22px;
}

.context-choice-kicker {
  display: block;
  color: #087f6a;
  font-size: 13px;
  font-weight: 850;
}

.context-choice-fit {
  margin: 0 0 15px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e0e6e3;
  color: #4d5b55;
  line-height: 1.7;
}

.context-choice-fit strong,
.context-choice-audience strong {
  color: #263730;
}

.context-choice-audience {
  margin: 13px 0 0;
  color: #4d5b55;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.context-choice-review {
  margin: 9px 0 0;
  color: #4d5b55;
  font-size: 14px;
  line-height: 1.65;
}

.context-choice-review strong {
  color: #263730;
}

.context-choice-card h3 {
  margin: 7px 0 8px;
  font-size: 21px;
  line-height: 1.45;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.context-choice-checks {
  display: grid;
  gap: 8px;
}

.context-choice-checks p {
  margin: 0;
  color: #46544e;
  line-height: 1.6;
}

.context-choice-checks strong {
  color: #263730;
}

.context-linked-example {
  margin-top: 15px;
  padding: 13px 14px;
  border-top: 1px solid #dce3e0;
  border-bottom: 1px solid #dce3e0;
  background: #fff;
}

.context-linked-example span,
.context-linked-example strong,
.context-linked-example small {
  display: block;
}

.context-linked-example span {
  color: #5c6964;
  font-size: 13px;
  font-weight: 800;
}

.context-linked-example strong {
  margin-top: 4px;
  color: #2d3e38;
  line-height: 1.55;
}

.context-linked-example small {
  margin-top: 4px;
  color: #6a7571;
  font-size: 14px;
  line-height: 1.55;
}

.context-product-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  max-width: 100%;
  margin-top: 18px;
  min-height: 58px;
  padding: 13px 15px;
  border: 1px solid #08705e;
  border-radius: 6px;
  background: #08705e;
  color: #fff;
  text-decoration: none;
}

.context-product-cta span {
  min-width: 0;
  color: #fff;
  font-weight: 850;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.context-product-cta small {
  flex: 0 1 auto;
  color: #d8f1ea;
  font-size: 14px;
  line-height: 1.4;
  text-align: right;
}

.context-commerce-details {
  margin-top: 18px;
  border-top: 1px solid #cbd5d1;
  border-bottom: 1px solid #cbd5d1;
}

.context-commerce-details summary {
  min-height: 56px;
  padding: 16px 4px;
  color: #173f39;
  cursor: pointer;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.45;
}

.context-commerce-details[open] summary {
  border-bottom: 1px solid #d8dfdc;
}

.context-commerce-evidence {
  margin: 14px 0 0;
  color: #66726d;
  font-size: 13px;
  line-height: 1.65;
}

.context-catalog-link {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  margin-top: 16px;
  padding: 10px 13px;
  border-bottom: 2px solid #087f6a;
  color: #08705e;
  font-weight: 850;
  text-decoration: none;
}

.context-catalog-link:hover,
.context-catalog-link:focus-visible {
  background: #eef7f4;
}

.brand-catalog-tools {
  margin: 32px 0 22px;
  padding: 26px;
  border: 1px solid #ccd6d2;
  border-radius: 6px;
  background: #f7f9f8;
}

.brand-catalog-tools h2 {
  margin: 5px 0 8px;
  font-size: 28px;
  line-height: 1.35;
  letter-spacing: 0;
}

.brand-catalog-tools > div > p {
  margin: 0;
  color: #56635e;
  line-height: 1.65;
}

.brand-catalog-search {
  display: grid;
  gap: 7px;
  margin-top: 20px;
}

.brand-catalog-search span {
  color: #273832;
  font-size: 14px;
  font-weight: 850;
}

.brand-catalog-search input {
  width: 100%;
  min-height: 52px;
  padding: 0 15px;
  border: 1px solid #9eb0aa;
  border-radius: 5px;
  background: #fff;
  color: #172620;
  font: inherit;
  font-size: 17px;
}

.brand-catalog-search input:focus {
  border-color: #087f6a;
  outline: 3px solid rgba(8, 127, 106, .16);
}

.brand-catalog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.brand-catalog-filters button {
  min-height: 40px;
  padding: 8px 11px;
  border: 1px solid #aab9b4;
  border-radius: 5px;
  background: #fff;
  color: #34453f;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
}

.brand-catalog-filters button[aria-pressed="true"] {
  border-color: #087f6a;
  background: #087f6a;
  color: #fff;
}

.brand-catalog-result {
  margin: 14px 0 0;
  color: #53615b;
  font-size: 14px;
}

.brand-catalog-result strong {
  color: #a33a2b;
}

.brand-catalog-section {
  margin: 36px 0;
  padding-top: 25px;
  border-top: 2px solid #263b34;
}

.brand-catalog-section[hidden] {
  display: none;
}

.brand-catalog-section > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.brand-catalog-section > header > div {
  max-width: 860px;
}

.brand-catalog-section h2 {
  margin: 5px 0 8px;
  font-size: 27px;
  line-height: 1.35;
  letter-spacing: 0;
}

.brand-catalog-section header p {
  margin: 0;
  color: #53615b;
  line-height: 1.7;
}

.brand-catalog-section > header > strong {
  flex: 0 0 auto;
  padding: 7px 9px;
  border: 1px solid #c8d4d0;
  border-radius: 4px;
  color: #4f5e58;
  font-size: 14px;
}

.brand-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.brand-catalog-card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d3dcd8;
  border-radius: 6px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.brand-catalog-card:hover,
.brand-catalog-card:focus-visible {
  border-color: #5f998a;
  box-shadow: 0 12px 28px rgba(25, 67, 56, .12);
  outline: 3px solid rgba(8, 127, 106, .16);
  outline-offset: 2px;
  transform: translateY(-2px);
}

.brand-catalog-card[hidden] {
  display: none;
}

.brand-catalog-card-media {
  position: relative;
  min-width: 0;
  border-bottom: 1px solid #e0e6e3;
  background: #f7f9f8;
}

.brand-catalog-card-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
}

.brand-catalog-card-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 17px;
}

.brand-catalog-card-copy > span {
  color: #a33a2b;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.45;
}

.brand-catalog-card h3 {
  display: -webkit-box;
  min-height: 3em;
  margin: 7px 0 0;
  overflow: hidden;
  color: #20312b;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.brand-catalog-card .brand-connect-proof {
  align-items: flex-start;
  gap: 6px;
  margin-top: 12px;
  padding: 9px;
}

.brand-catalog-card .brand-connect-proof small {
  flex-basis: 100%;
  margin-left: 0;
}

.brand-catalog-card-copy > p {
  margin: 12px 0 0;
  color: #53615b;
  font-size: 14px;
  line-height: 1.65;
}

.brand-catalog-card-copy > p strong {
  color: #293b34;
}

.brand-catalog-card-copy > small {
  display: block;
  margin-top: 11px;
  padding-top: 10px;
  border-top: 1px solid #e0e6e3;
  color: #58665f;
  font-size: 13px;
  line-height: 1.6;
}

.brand-catalog-card-copy > small strong {
  color: #2b3d36;
}

.brand-catalog-card-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 58px;
  margin-top: auto;
  padding: 13px 14px;
  border-radius: 5px;
  background: #08705e;
  color: #fff;
  font-weight: 850;
  line-height: 1.45;
  text-decoration: none;
}

.brand-catalog-card-action > strong {
  color: #fff;
}

.brand-catalog-card-action small {
  color: #d8f1ea;
  font-size: 12px;
  font-weight: 700;
  text-align: right;
}

.context-commerce-check {
  display: grid;
  grid-template-columns: .9fr 1.25fr;
  gap: 18px 28px;
  margin-top: 20px;
  padding: 20px;
  border: 1px solid #d7dfdc;
  background: #f7f8f7;
}

.context-commerce-check span {
  color: #087f6a;
  font-size: 12px;
  font-weight: 850;
}

.context-commerce-check h3 {
  margin: 5px 0 0;
  font-size: 19px;
  line-height: 1.45;
}

.context-commerce-check ol {
  margin: 0;
  padding-left: 22px;
}

.context-commerce-check li {
  padding: 4px 0;
  color: #3f4d47;
  line-height: 1.6;
}

.context-commerce-check > p {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 14px;
  border-top: 1px solid #d7dfdc;
  color: #5b6762;
  font-size: 13px;
  line-height: 1.65;
}

.brand-connect-method {
  padding: 26px 0;
  border-top: 1px solid rgba(30, 45, 40, .16);
  border-bottom: 1px solid rgba(30, 45, 40, .16);
}

.brand-connect-method ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
  margin: 18px 0 0;
  padding-left: 24px;
}

.brand-connect-method li {
  padding: 9px 0;
  color: #384640;
  line-height: 1.65;
}

.travel-comparison-table {
  border-top: 2px solid #263630;
}

.travel-comparison-table > div {
  display: grid;
  grid-template-columns: .8fr 1.55fr 1.3fr .65fr;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(30, 45, 40, .15);
}

.travel-comparison-table [role="cell"] {
  min-width: 0;
  margin: 0;
  line-height: 1.55;
}

.travel-comparison-table p strong,
.travel-comparison-table p small {
  display: block;
}

.travel-comparison-table p small {
  margin-top: 3px;
  color: #68736f;
}

.travel-comparison-table [role="row"] > span:last-child {
  padding: 10px 8px;
  border: 1px solid #b8c6c1;
  border-radius: 5px;
  color: #44534d;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 820px) {
  .brand-connect-home-grid,
  .brand-connect-grid,
  .brand-connect-method ol,
  .context-choice-map,
  .context-product-grid,
  .context-commerce-check,
  .context-commerce-kick,
  .brand-group-distributed,
  .context-native-rules {
    grid-template-columns: 1fr;
  }

  .brand-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .context-purchase-story ol {
    grid-template-columns: 1fr;
  }

  .context-purchase-story li,
  .context-purchase-story li:first-child {
    padding: 12px 0;
  }

  .context-purchase-story li + li {
    border-top: 1px solid #d8dfdc;
    border-left: 0;
  }

  .brand-connect-home-grid a {
    padding: 17px 0;
    border-bottom: 1px solid rgba(30, 45, 40, .12);
  }

  .brand-connect-home-grid a + a {
    padding-left: 0;
    border-left: 0;
  }

  .brand-connect-home-grid small {
    min-height: 0;
  }

  .brand-connect-hub-hero,
  .senior-travel-hero {
    grid-template-columns: 1fr;
  }

  .brand-connect-hub-hero h1,
  .senior-travel-hero h1 {
    font-size: 34px;
  }

  .brand-connect-group-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .context-commerce-skip {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .context-commerce-kick > div + div {
    border-top: 1px solid #d8dfdc;
    border-left: 0;
  }

  .context-choice-map > div + div {
    border-top: 1px solid #d8dfdc;
    border-left: 0;
  }

  .context-native-rules > div + div {
    border-top: 1px solid #d8dfdc;
    border-left: 0;
  }

  .brand-group-guides a {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .brand-group-guides em {
    white-space: normal;
  }

  .context-commerce-check > p {
    grid-column: auto;
  }

  .travel-comparison-table > div {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 17px 0;
  }

  .travel-comparison-table > div:first-child {
    display: none;
  }

  .travel-comparison-table [role="cell"]::before {
    display: block;
    margin-bottom: 3px;
    color: #a33a2b;
    font-size: 14px;
    font-weight: 800;
  }

  .travel-comparison-table [role="cell"]:nth-child(1)::before {
    content: "숙박 도시";
  }

  .travel-comparison-table [role="cell"]:nth-child(2)::before {
    content: "일정";
  }

  .travel-comparison-table [role="cell"]:nth-child(3)::before {
    content: "먼저 볼 조건";
  }

  .travel-comparison-table [role="cell"]:nth-child(4)::before {
    content: "다음 확인";
  }

  .travel-comparison-table [role="row"] > span:last-child {
    margin-top: 5px;
  }
}

@media (max-width: 460px) {
  .brand-connect-home-head h2,
  .brand-connect-context-head h2,
  .brand-connect-group-head h2,
  .brand-connect-method h2,
  .context-commerce-head h2,
  .travel-comparison h2,
  .travel-prep-guide h2 {
    font-size: 24px;
  }

  .brand-connect-hub-hero h1,
  .senior-travel-hero h1 {
    font-size: 30px;
  }

  .brand-catalog-tools {
    padding: 20px 16px;
  }

  .brand-catalog-tools h2,
  .brand-catalog-section h2 {
    font-size: 23px;
  }

  .brand-catalog-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .brand-catalog-filters button {
    min-width: 0;
    min-height: 52px;
    font-size: 16px;
    overflow-wrap: anywhere;
  }

  .brand-catalog-section > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .brand-catalog-grid {
    grid-template-columns: 1fr;
  }

  .brand-catalog-card h3 {
    min-height: 0;
    font-size: 22px;
    line-height: 1.42;
  }

  .brand-catalog-card-image {
    aspect-ratio: 1 / 1;
  }

  .brand-catalog-card-copy {
    padding: 20px 18px 22px;
  }

  .brand-catalog-card-copy > p {
    font-size: 16px;
    line-height: 1.72;
  }

  .brand-catalog-card-copy > small {
    font-size: 15px;
    line-height: 1.65;
  }

  .brand-catalog-card-action {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    min-height: 68px;
    margin-top: 18px;
    font-size: 17px;
  }

  .brand-catalog-card-action small {
    font-size: 14px;
    text-align: left;
  }

  .brand-connect-card-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .brand-connect-card-head small {
    white-space: normal;
  }

  .brand-connect-card dl div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .brand-connect-card dl,
  .brand-connect-example {
    grid-template-columns: 1fr;
  }

  .brand-connect-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .brand-connect-cta small {
    flex: 0 0 auto;
    text-align: left;
  }

  .brand-connect-card-body,
  .brand-connect-card.is-compact .brand-connect-card-body {
    padding: 20px 18px 22px;
  }

  .brand-connect-card,
  .brand-connect-card.is-compact {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #d3dcd8;
    border-radius: 6px;
    background: #fff;
  }

  .brand-connect-card-media {
    width: 100%;
    margin: 0;
    border: 0;
    border-bottom: 1px solid #dce3e0;
    border-radius: 0;
  }

  .brand-connect-grid {
    gap: 18px;
    border-top: 0;
  }

  .brand-connect-card h3 {
    font-size: 23px;
    line-height: 1.42;
  }

  .brand-connect-guide-lead,
  .brand-connect-card dd {
    font-size: 16px;
    line-height: 1.72;
  }

  .brand-connect-cta {
    width: 100%;
    min-height: 58px;
  }

  .context-commerce {
    margin-top: 34px;
    padding-top: 24px;
  }

  .context-commerce-head > p {
    font-size: 16px;
  }

  .context-choice-copy {
    padding: 20px 18px 22px;
  }

  .context-choice-card {
    grid-template-columns: 1fr;
    overflow: hidden;
    border-left-width: 1px;
  }

  .context-choice-media {
    width: 100%;
    margin: 0;
    border: 0;
    border-bottom: 1px solid #dce3e0;
    border-radius: 0;
  }

  .context-choice-image {
    aspect-ratio: 1 / 1;
  }

  .context-choice-card h3 {
    font-size: 23px;
    line-height: 1.4;
  }

  .context-choice-fit,
  .context-choice-audience,
  .context-choice-review {
    font-size: 16px;
    line-height: 1.7;
  }

  .context-product-grid {
    gap: 18px;
  }

  .brand-connect-proof {
    align-items: flex-start;
  }

  .brand-connect-proof small {
    flex-basis: 100%;
    margin-left: 0;
  }

  .brand-group-example .brand-connect-card {
    grid-template-columns: 1fr;
  }

  .context-product-cta {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    min-height: 68px;
    font-size: 17px;
  }

  .context-product-cta small {
    flex: 0 0 auto;
    font-size: 14px;
    text-align: left;
  }

  .brand-connect-disclosure {
    margin: 9px 0 13px;
    font-size: 11px;
    line-height: 1.45;
  }

  .brand-connect-proof strong {
    font-size: 15px;
  }

  .brand-connect-proof small {
    font-size: 13px;
  }

  .footer-connect-disclosure {
    font-size: 10px;
    line-height: 1.4;
  }
}

/* Home fortune health router: private, local calculation before the existing hero. */
.home-fortune-health {
  width: min(1180px, calc(100% - 40px));
  margin: 24px auto 30px;
}

.fortune-health-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(390px, .96fr);
  gap: 28px;
  padding: 30px;
  border: 1px solid #cbded9;
  border-top: 5px solid #168a72;
  border-radius: 8px;
  background: #f4faf8;
  box-shadow: 0 18px 48px rgba(16, 24, 39, .08);
}

.fortune-health-intro,
.fortune-health-form,
.fortune-health-loading,
.fortune-health-result,
.fortune-result-health,
.fortune-result-reading {
  min-width: 0;
}

.fortune-health-kicker,
.fortune-health-form-head > span,
.fortune-result-reading > span,
.fortune-result-health > span {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: #0e7363;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0;
}

.fortune-health-kicker {
  padding: 7px 11px;
  border: 1px solid #b9ddd5;
  border-radius: 999px;
  background: #e8f7f3;
}

.fortune-health-intro h2 {
  margin: 14px 0 10px;
  color: #101827;
  font-size: 42px;
  line-height: 1.18;
  letter-spacing: 0;
}

.fortune-health-intro > p {
  max-width: 640px;
  margin: 0;
  color: #445467;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.65;
}

.fortune-health-scene {
  position: relative;
  height: 168px;
  margin: 22px 0 0;
  overflow: hidden;
  border-radius: 7px;
  background: #dce7e4;
}

.fortune-health-scene img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 67% center;
}

.fortune-health-scene::after {
  position: absolute;
  inset: 0;
  content: "";
  background: rgba(16, 24, 39, .34);
}

.fortune-health-scene figcaption {
  position: absolute;
  z-index: 1;
  bottom: 16px;
  left: 18px;
  max-width: 65%;
  color: #fff;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.45;
}

.fortune-health-form {
  align-self: center;
  padding: 24px;
  border: 1px solid #cbd8d5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(16, 24, 39, .05);
}

.fortune-health-form-head h3 {
  margin: 5px 0 18px;
  color: #101827;
  font-size: 25px;
  line-height: 1.3;
  letter-spacing: 0;
}

.fortune-health-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.fortune-birth-grid {
  display: grid;
  grid-template-columns: 1.18fr .82fr .82fr;
  gap: 9px;
}

.fortune-birth-grid label {
  display: grid;
  min-width: 0;
  gap: 7px;
  color: #246b61;
  font-size: 16px;
  font-weight: 850;
}

.fortune-birth-grid select {
  width: 100%;
  min-width: 0;
  height: 54px;
  padding: 0 12px;
  border: 1px solid #c8d8d4;
  border-radius: 7px;
  background: #fff;
  color: #101827;
  font: inherit;
  font-size: 18px;
  font-weight: 800;
}

.fortune-birth-grid select:focus-visible,
.fortune-health-submit:focus-visible,
.fortune-result-cpa:focus-visible,
.fortune-result-cta:focus-visible,
.fortune-followup-options button:focus-visible,
.fortune-result-restart:focus-visible {
  outline: 3px solid rgba(22, 138, 114, .25);
  outline-offset: 2px;
}

.fortune-health-calendar-note {
  margin: 10px 0 0;
  color: #667382;
  font-size: 16px;
  line-height: 1.5;
}

.fortune-health-error {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-left: 4px solid #d95a2b;
  background: #fff4ef;
  color: #9c351b;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.5;
}

.fortune-health-privacy {
  margin: 15px 0;
  padding: 12px 13px 12px 39px;
  border: 1px solid #d5e9e4;
  border-radius: 6px;
  background: #effaf7;
  color: #315d57;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.55;
  position: relative;
}

.fortune-health-privacy::before {
  position: absolute;
  top: 12px;
  left: 14px;
  content: "✓";
  color: #168a72;
  font-size: 18px;
  font-weight: 950;
}

.fortune-health-submit,
.fortune-result-cpa,
.fortune-result-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  padding: 13px 18px;
  border: 0;
  border-radius: 7px;
  background: #147d6b;
  color: #fff;
  font: inherit;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0;
  text-align: center;
  word-break: keep-all;
  cursor: pointer;
}

.fortune-health-submit:hover,
.fortune-result-cpa:hover,
.fortune-result-cta:hover {
  background: #0c695a;
}

.fortune-health-submit:disabled {
  background: #77948e;
  cursor: wait;
}

.home-fortune-health[data-fortune-state="result"] .fortune-health-shell {
  grid-template-columns: 1fr;
}

.home-fortune-health[data-fortune-state="loading"] .fortune-health-shell {
  grid-template-columns: 1fr;
}

.home-fortune-health[data-fortune-state="loading"] .fortune-health-intro,
.home-fortune-health[data-fortune-state="result"] .fortune-health-intro {
  display: none;
}

.fortune-health-loading {
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  padding: 34px 30px 30px;
  border: 1px solid #c7dcd7;
  border-radius: 8px;
  background: #fff;
  text-align: center;
  box-shadow: 0 14px 34px rgba(16, 24, 39, .07);
}

.fortune-health-loading:focus {
  outline: none;
}

.fortune-health-loading > span {
  display: block;
  margin-top: 18px;
  color: #0e7363;
  font-size: 17px;
  font-weight: 900;
}

.fortune-health-loading h3 {
  margin: 7px 0 8px;
  color: #101827;
  font-size: 27px;
  line-height: 1.35;
  letter-spacing: 0;
}

.fortune-health-loading > p {
  margin: 0;
  color: #536273;
  font-size: 18px;
  line-height: 1.6;
}

.fortune-loading-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 28px;
}

.fortune-loading-mark i {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #168a72;
  animation: fortune-loading-dot 1s ease-in-out infinite;
}

.fortune-loading-mark i:nth-child(2) {
  animation-delay: .16s;
}

.fortune-loading-mark i:nth-child(3) {
  animation-delay: .32s;
}

.fortune-loading-progress {
  height: 7px;
  margin: 21px 0 18px;
  overflow: hidden;
  border-radius: 999px;
  background: #e3eeeb;
}

.fortune-loading-progress i {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: #168a72;
  transform-origin: left center;
  animation: fortune-loading-progress 1.56s linear both;
}

.fortune-loading-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fortune-loading-steps li {
  display: grid;
  justify-items: center;
  gap: 7px;
  color: #77827f;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
}

.fortune-loading-steps b {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid #c9d8d4;
  border-radius: 50%;
  background: #f3f7f6;
  color: #60706c;
  font-size: 16px;
}

.fortune-loading-steps li[data-state="active"],
.fortune-loading-steps li[data-state="complete"] {
  color: #166e60;
}

.fortune-loading-steps li[data-state="active"] b,
.fortune-loading-steps li[data-state="complete"] b {
  border-color: #168a72;
  background: #168a72;
  color: #fff;
}

@keyframes fortune-loading-dot {
  0%, 100% { opacity: .34; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-7px); }
}

@keyframes fortune-loading-progress {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.fortune-health-result {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
}

.fortune-health-result:focus {
  outline: none;
}

.fortune-result-date {
  margin: 0 0 9px;
  color: #147d6b;
  font-size: 17px;
  font-weight: 900;
}

.fortune-scoreboard {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 18px;
  padding: 18px 8px;
  border-top: 1px solid #cadbd7;
  border-bottom: 1px solid #cadbd7;
  background: #fff;
}

.fortune-score-item {
  --fortune-score: 0;
  --fortune-score-color: #147d6b;
  display: grid;
  min-width: 0;
  place-items: center;
  gap: 8px;
}

.fortune-score-item:nth-child(2) {
  --fortune-score-color: #b47a16;
  border-right: 1px solid #e1e8e6;
  border-left: 1px solid #e1e8e6;
}

.fortune-score-item:nth-child(3) {
  --fortune-score-color: #355b89;
}

.fortune-score-ring {
  position: relative;
  display: grid;
  width: 88px;
  height: 88px;
  place-content: center;
  border-radius: 50%;
  background: conic-gradient(var(--fortune-score-color) calc(var(--fortune-score) * 1%), #e5ecea 0);
  text-align: center;
}

.fortune-score-ring::before {
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  background: #fff;
  content: "";
}

.fortune-score-ring strong,
.fortune-score-ring small {
  position: relative;
  z-index: 1;
}

.fortune-score-ring strong {
  color: #101827;
  font-size: 30px;
  font-weight: 950;
  line-height: 1;
}

.fortune-score-ring small {
  margin-top: 2px;
  color: #69737f;
  font-size: 16px;
  font-weight: 850;
}

.fortune-score-item > span {
  color: #263546;
  font-size: 17px;
  font-weight: 900;
}

.fortune-result-reading {
  padding: 22px 24px;
  border-left: 5px solid #168a72;
  border-radius: 7px;
  background: #fff;
}

.fortune-result-reading h2 {
  margin: 7px 0 10px;
  color: #101827;
  font-size: 32px;
  line-height: 1.3;
  letter-spacing: 0;
}

.fortune-result-narrative {
  display: grid;
  gap: 6px;
}

.fortune-result-narrative p {
  margin: 0;
  color: #3d4a5a;
  font-size: 19px;
  line-height: 1.7;
}

.fortune-saju-compact,
.fortune-followup {
  margin-top: 16px;
  padding: 20px 22px;
  border-top: 1px solid #cbded9;
  border-bottom: 1px solid #cbded9;
  background: #fff;
}

.fortune-saju-compact > span,
.fortune-followup > span,
.fortune-tomorrow > span {
  color: #0e7363;
  font-size: 17px;
  font-weight: 900;
}

.fortune-saju-compact > h3,
.fortune-followup > h3 {
  margin: 5px 0 15px;
  color: #101827;
  font-size: 25px;
  line-height: 1.35;
  letter-spacing: 0;
}

.fortune-saju-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fortune-saju-pair article {
  min-width: 0;
  padding-right: 20px;
}

.fortune-saju-pair article + article {
  padding-right: 0;
  padding-left: 20px;
  border-left: 1px solid #dce8e5;
}

.fortune-saju-pair span,
.fortune-daily-brief dt,
.fortune-followup-panel > span {
  display: block;
  color: #7b591d;
  font-size: 17px;
  font-weight: 900;
}

.fortune-saju-pair strong {
  display: block;
  margin-top: 5px;
  color: #133f39;
  font-size: 21px;
  line-height: 1.4;
}

.fortune-saju-pair p {
  margin: 6px 0 0;
  color: #4b5968;
  font-size: 17px;
  line-height: 1.55;
}

.fortune-daily-brief {
  margin-top: 14px;
  padding-top: 8px;
  border-top: 1px solid #dce8e5;
}

.fortune-daily-brief dl {
  margin: 0;
}

.fortune-daily-brief dl > div {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid #e0e9e7;
}

.fortune-daily-brief dd {
  margin: 0;
  color: #354454;
  font-size: 18px;
  line-height: 1.55;
}

.fortune-today-action {
  display: grid;
  gap: 5px;
  margin-top: 9px;
  padding: 15px 17px;
  border-left: 5px solid #c18a2b;
  background: #fff8e9;
}

.fortune-today-action span {
  color: #76500c;
  font-size: 17px;
  font-weight: 900;
}

.fortune-today-action strong {
  color: #202d3c;
  font-size: 20px;
  line-height: 1.45;
}

.fortune-result-layout {
  margin-top: 18px;
}

.fortune-result-health {
  position: relative;
  overflow: hidden;
  padding: 22px;
  border: 1px solid #c8ded8;
  border-radius: 7px;
  background: #fff;
}

.fortune-health-reveal {
  transform-origin: top center;
  animation: fortune-health-unfold .72s cubic-bezier(.22, .8, .24, 1) both;
}

.fortune-health-reveal::before {
  display: block;
  width: 58px;
  height: 3px;
  margin: -2px auto 16px;
  border-radius: 3px;
  background: #c18a2b;
  content: "";
}

.fortune-result-health > span {
  display: block;
  color: #825a15;
  font-size: 19px;
  font-weight: 950;
  text-align: center;
}

.fortune-result-health > strong {
  display: block;
  margin: 6px 0 15px;
  color: #0e6759;
  font-size: 31px;
  font-weight: 950;
  line-height: 1.35;
  text-align: center;
}

.fortune-result-health h3 {
  margin: 0 0 8px;
  color: #101827;
  font-size: 25px;
  line-height: 1.35;
  letter-spacing: 0;
}

.fortune-result-health p {
  margin: 0;
  color: #4e5d6d;
  font-size: 18px;
  line-height: 1.65;
}

.fortune-result-health ul {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.fortune-result-health li {
  position: relative;
  padding-left: 27px;
  color: #243243;
  font-size: 18px;
  font-weight: 750;
  line-height: 1.55;
}

.fortune-result-health li::before {
  position: absolute;
  top: 0;
  left: 2px;
  content: "✓";
  color: #168a72;
  font-weight: 950;
}

.fortune-result-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.fortune-result-cpa[hidden] + .fortune-result-cta {
  grid-column: 1 / -1;
}

.fortune-result-cpa {
  background: #d94722;
  box-shadow: 0 7px 16px rgba(180, 52, 24, .22);
}

.fortune-result-cpa:hover {
  background: #b93618;
}

.fortune-result-actions .fortune-result-cta {
  margin-top: 0;
}

.fortune-followup-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.fortune-followup-options button {
  min-height: 58px;
  padding: 10px 8px;
  border: 1px solid #b8cbc7;
  border-radius: 7px;
  background: #fff;
  color: #263746;
  font: inherit;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.3;
  cursor: pointer;
}

.fortune-followup-options button[aria-pressed="true"] {
  border-color: #168a72;
  background: #e7f6f2;
  color: #0c6758;
  box-shadow: inset 0 -3px 0 #168a72;
}

.fortune-followup-panel {
  margin-top: 12px;
  padding-top: 16px;
  border-top: 1px solid #dbe6e3;
}

.fortune-followup-panel h4 {
  margin: 6px 0 7px;
  color: #101827;
  font-size: 23px;
  line-height: 1.35;
}

.fortune-followup-panel > p {
  margin: 0;
  color: #495867;
  font-size: 18px;
  line-height: 1.6;
}

.fortune-tomorrow {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 12px;
  margin-top: 14px;
  padding: 15px 20px;
  border-top: 1px solid #d8e5e2;
  border-bottom: 1px solid #d8e5e2;
  background: #f2f8f6;
}

.fortune-tomorrow strong {
  color: #bb5a34;
  font-size: 21px;
  line-height: 1.35;
}

.fortune-tomorrow p {
  grid-column: 1 / -1;
  margin: 0;
  color: #465565;
  font-size: 17px;
  line-height: 1.55;
}

@keyframes fortune-health-unfold {
  from {
    opacity: 0;
    clip-path: inset(0 46% 0 46% round 7px);
    transform: perspective(720px) rotateX(-7deg) translateY(-12px);
  }
  to {
    opacity: 1;
    clip-path: inset(0 0 0 0 round 7px);
    transform: perspective(720px) rotateX(0) translateY(0);
  }
}

.fortune-result-caution {
  margin: 10px 0 0;
  color: #69737f;
  font-size: 16px;
  line-height: 1.55;
  text-align: center;
}

.fortune-result-restart {
  display: block;
  min-height: 44px;
  margin: 10px auto 0;
  padding: 8px 14px;
  border: 1px solid #aebfbb;
  border-radius: 6px;
  background: #fff;
  color: #344c48;
  font: inherit;
  font-size: 17px;
  font-weight: 850;
  cursor: pointer;
}

@media (max-width: 760px) {
  .home-fortune-health {
    width: calc(100% - 24px);
    margin: 12px auto 22px;
  }

  .fortune-health-shell {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 16px;
  }

  .fortune-health-intro h2 {
    margin-top: 11px;
    font-size: 30px;
    line-height: 1.22;
  }

  .fortune-health-intro > p {
    font-size: 18px;
    line-height: 1.58;
  }

  .fortune-health-scene {
    height: 112px;
    margin-top: 14px;
  }

  .fortune-health-scene figcaption {
    bottom: 12px;
    left: 13px;
    max-width: 72%;
    font-size: 14px;
  }

  .fortune-health-form {
    padding: 16px;
  }

  .fortune-health-form-head h3 {
    margin-bottom: 13px;
    font-size: 22px;
  }

  .fortune-birth-grid {
    grid-template-columns: 1.15fr .85fr .85fr;
    gap: 6px;
  }

  .fortune-birth-grid label {
    font-size: 16px;
  }

  .fortune-birth-grid select {
    height: 50px;
    padding: 0 7px;
    font-size: 18px;
  }

  .fortune-health-calendar-note {
    font-size: 16px;
  }

  .fortune-health-privacy {
    margin: 11px 0;
    padding: 10px 10px 10px 35px;
    font-size: 16px;
  }

  .fortune-health-privacy::before {
    top: 9px;
    left: 12px;
  }

  .fortune-health-submit {
    min-height: 54px;
    font-size: 18px;
  }

  .fortune-health-loading {
    padding: 28px 15px 22px;
  }

  .fortune-health-loading h3 {
    font-size: 22px;
  }

  .fortune-health-loading > p {
    min-height: 50px;
    font-size: 17px;
  }

  .fortune-loading-progress {
    margin: 17px 0 15px;
  }

  .fortune-loading-steps {
    gap: 4px;
  }

  .fortune-loading-steps li {
    font-size: 15px;
  }

  .fortune-result-reading {
    padding: 14px 15px;
  }

  .fortune-scoreboard {
    margin-bottom: 12px;
    padding: 14px 0 13px;
  }

  .fortune-score-ring {
    width: 78px;
    height: 78px;
  }

  .fortune-score-ring strong {
    font-size: 28px;
  }

  .fortune-score-item > span {
    font-size: 17px;
  }

  .fortune-result-reading h2 {
    margin: 5px 0 7px;
    font-size: 24px;
    line-height: 1.28;
  }

  .fortune-result-narrative p {
    font-size: 18px;
    line-height: 1.58;
  }

  .fortune-result-narrative {
    gap: 3px;
  }

  .fortune-saju-compact,
  .fortune-followup {
    margin-top: 10px;
    padding: 15px;
  }

  .fortune-saju-compact > h3,
  .fortune-followup > h3 {
    margin-bottom: 11px;
    font-size: 23px;
  }

  .fortune-saju-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fortune-saju-pair article {
    padding: 0 11px 0 0;
  }

  .fortune-saju-pair article + article {
    margin-top: 0;
    padding: 0 0 0 11px;
    border-top: 0;
    border-left: 1px solid #dce8e5;
  }

  .fortune-saju-pair strong {
    font-size: 20px;
  }

  .fortune-saju-pair p,
  .fortune-daily-brief dd,
  .fortune-followup-panel > p,
  .fortune-tomorrow p {
    font-size: 17px;
  }

  .fortune-daily-brief dl > div {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 8px;
    padding: 8px 0;
  }

  .fortune-today-action {
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
  }

  .fortune-today-action strong {
    font-size: 19px;
  }

  .fortune-result-layout {
    margin-top: 9px;
  }

  .fortune-result-health {
    padding: 12px 15px;
  }

  .fortune-health-reveal::before {
    margin-bottom: 10px;
  }

  .fortune-result-health > strong {
    margin: 4px 0 8px;
    font-size: 27px;
  }

  .fortune-result-health h3 {
    margin-bottom: 4px;
    font-size: 22px;
  }

  .fortune-result-health p,
  .fortune-result-health li {
    font-size: 17px;
    line-height: 1.45;
  }

  .fortune-result-health ul {
    gap: 2px;
    margin-top: 7px;
  }

  .fortune-result-actions {
    margin-top: 11px;
  }

  .fortune-followup-options {
    gap: 5px;
  }

  .fortune-followup-options button {
    min-height: 56px;
    padding: 8px 5px;
    font-size: 16px;
  }

  .fortune-followup-panel h4 {
    margin-top: 0;
    font-size: 22px;
  }

  .fortune-followup-panel {
    padding-top: 11px;
  }

  .fortune-tomorrow {
    margin-top: 10px;
    padding: 11px 15px;
  }

  .fortune-result-cpa,
  .fortune-result-cta {
    min-height: 64px;
    padding: 10px 8px;
    font-size: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fortune-health-reveal {
    animation: none;
  }

  .fortune-loading-mark i,
  .fortune-loading-progress i {
    animation-duration: .36s;
  }
}

@media (max-width: 380px) {
  .fortune-health-shell {
    padding: 14px;
  }

  .fortune-birth-grid {
    grid-template-columns: 1.2fr .8fr .8fr;
  }

  .fortune-birth-grid select {
    font-size: 17px;
  }

}

/* 2026-08 mobile readability pass: one decision, one answer, one next action. */
.home-cost-hero {
  grid-template-columns: minmax(0, 980px);
  justify-content: center;
  padding-top: 22px;
}

.home-cost-hero-lead {
  width: 100%;
}

.home-cost-hero h1,
.home-cost-hero-copy > p {
  max-width: 820px;
}

.hero-value-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  margin-top: 18px;
  padding: 13px 0;
  border-top: 1px solid #d7e4e1;
  border-bottom: 1px solid #d7e4e1;
  color: #43534f;
}

.hero-value-summary strong {
  color: #0d695b;
  font-size: 17px;
}

.hero-value-summary span {
  position: relative;
  padding-left: 14px;
  font-size: 16px;
  font-weight: 800;
}

.hero-value-summary span::before {
  position: absolute;
  top: .55em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #168a72;
  content: "";
}

.diagnosis-live-summary {
  display: grid;
  gap: 7px;
  margin: 0 0 18px;
  padding: 16px 0;
  border-top: 1px solid #cfe2de;
  border-bottom: 1px solid #cfe2de;
}

.diagnosis-live-summary > span,
.diagnosis-result-selection span {
  color: #0d7568;
  font-size: 14px;
  font-weight: 900;
}

.diagnosis-live-summary > strong,
.diagnosis-result-selection strong {
  color: #172334;
  font-size: 19px;
  line-height: 1.45;
}

.diagnosis-live-summary > p {
  margin: 0;
  color: #596a67;
  font-size: 15px;
}

.diagnosis-live-outcome {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 6px;
}

.diagnosis-live-outcome div {
  min-width: 0;
  padding: 10px 14px;
  border-left: 1px solid #dbe7e4;
}

.diagnosis-live-outcome div:first-child {
  padding-left: 0;
  border-left: 0;
}

.diagnosis-live-outcome small,
.diagnosis-live-outcome b {
  display: block;
}

.diagnosis-live-outcome small {
  margin-bottom: 4px;
  color: #667570;
  font-size: 12px;
  font-weight: 850;
}

.diagnosis-live-outcome b {
  color: #1d3834;
  font-size: 14px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.diagnosis-result-selection {
  display: grid;
  gap: 4px;
  margin-bottom: 16px;
  padding: 13px 0;
  border-bottom: 1px solid #dbe7e4;
}

.diagnosis-result-tools {
  margin-top: 16px;
  border-top: 1px solid #dbe7e4;
  padding-top: 12px;
}

.diagnosis-result-tools summary,
.article-more-details summary,
.sponsor-offer-details summary {
  color: #315e57;
  font-size: 15px;
  font-weight: 850;
  cursor: pointer;
}

.guided-choice-selected {
  display: block;
  margin-bottom: 6px;
  color: #b84b22;
  font-size: 15px;
  font-weight: 950;
}

.article-more-details {
  margin: 28px 0;
  padding: 16px 0;
  border-top: 1px solid #dce7e4;
  border-bottom: 1px solid #dce7e4;
}

.article-more-details > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  color: #173f39;
  font-size: 18px;
}

.article-more-details[open] > summary {
  margin-bottom: 18px;
}

.core-quality-details > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  color: #173f39;
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
}

.core-quality-details[open] > summary {
  margin-bottom: 20px;
}

.sponsor-offer-outcome {
  margin: 4px 0 0;
  color: #344b46;
  font-size: 17px;
  line-height: 1.65;
}

.sponsor-offer-outcome strong {
  display: block;
  margin-bottom: 4px;
  color: #0d695b;
  font-size: 15px;
}

.sponsor-offer-details details {
  padding-top: 4px;
}

.sponsor-offer-details details p,
.sponsor-offer-details details small {
  display: block;
  margin: 12px 0 0;
  color: #52645f;
  font-size: 14px;
  line-height: 1.6;
}

.sponsor-offer-secondary > span {
  margin-right: 9px;
  color: #687670;
  font-size: 13px;
  font-weight: 750;
}

.related-inline-link {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin: 18px 0;
  padding: 12px 0;
  border-top: 1px solid #dce7e4;
  border-bottom: 1px solid #dce7e4;
}

.related-inline-link span {
  flex: 0 0 auto;
  color: #667570;
  font-size: 13px;
  font-weight: 850;
}

.related-inline-link a {
  color: #0d695b;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.5;
}

@media (max-width: 760px) {
  body {
    font-size: 18px;
    line-height: 1.65;
  }

  .section,
  .smart-article-section {
    padding: 28px 16px;
  }

  .home-cost-hero {
    display: block;
    padding: 24px 16px 4px;
  }

  .home-cost-hero h1 {
    font-size: 34px;
    line-height: 1.2;
  }

  .home-cost-hero-copy > p {
    margin-top: 10px;
    font-size: 18px;
    line-height: 1.58;
  }

  .hero-proof {
    margin-bottom: 10px;
  }

  .hero-value-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px 10px;
    margin-top: 14px;
    padding: 12px 0;
  }

  .hero-value-summary strong {
    grid-column: 1 / -1;
  }

  .hero-value-summary span {
    font-size: 15px;
  }

  .hero-value-summary span:last-child {
    grid-column: 1 / -1;
  }

  .home-fortune-health {
    width: 100%;
    margin: 0 auto 18px;
    padding: 0 16px;
    background: #f3f8f7;
  }

  .fortune-health-shell {
    gap: 14px;
    padding: 22px 0;
    border: 0;
    border-top: 4px solid #168a72;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .fortune-health-intro h2 {
    margin: 10px 0 8px;
    font-size: 31px;
    line-height: 1.22;
  }

  .fortune-health-intro > p {
    font-size: 17px;
    line-height: 1.58;
  }

  .fortune-health-scene {
    display: block;
    height: 180px;
    margin-top: 18px;
  }

  .fortune-health-form {
    padding: 14px 0 0;
    border: 0;
    border-top: 1px solid #d4e2df;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .fortune-health-form-head h3 {
    margin-bottom: 12px;
    font-size: 22px;
  }

  .fortune-health-privacy {
    margin: 10px 0 12px;
    padding: 0 0 0 22px;
    border: 0;
    background: transparent;
    font-size: 13px;
  }

  .fortune-health-privacy::before {
    top: 0;
    left: 0;
  }

  .fortune-health-loading,
  .fortune-health-result {
    padding-right: 0;
    padding-left: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .parent-cost-diagnosis {
    margin: 20px 0 14px;
    padding: 20px 0;
    border: 0;
    border-top: 3px solid #168a72;
    border-bottom: 1px solid #cfe2de;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .diagnosis-intro {
    margin-bottom: 14px;
  }

  .diagnosis-intro h2 {
    font-size: 27px;
    line-height: 1.28;
  }

  .diagnosis-intro p {
    font-size: 16px;
  }

  .diagnosis-live-summary {
    margin-bottom: 15px;
    padding: 13px 0;
  }

  .diagnosis-live-summary > strong,
  .diagnosis-result-selection strong {
    font-size: 17px;
  }

  .diagnosis-live-outcome {
    grid-template-columns: 1fr;
  }

  .diagnosis-live-outcome div,
  .diagnosis-live-outcome div:first-child {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 8px;
    padding: 8px 0;
    border-top: 1px solid #e4ecea;
    border-left: 0;
  }

  .diagnosis-live-outcome small {
    margin: 0;
  }

  .diagnosis-option-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .diagnosis-option {
    min-height: 62px;
    padding: 11px;
    border: 1px solid #cadbd7;
    border-radius: 6px;
    box-shadow: none;
  }

  .diagnosis-option:has(input:checked) {
    border: 2px solid #147866;
    background: #edf8f5;
  }

  .diagnosis-option strong {
    font-size: 16px;
  }

  .diagnosis-option small {
    display: none;
  }

  .diagnosis-option:has(input:checked) small {
    display: block;
    margin-top: 2px;
    font-size: 12px;
  }

  .diagnosis-start,
  .diagnosis-step-actions .soft-action {
    min-height: 52px;
    font-size: 17px;
  }

  .diagnosis-result-grid,
  .diagnosis-result-actions,
  .diagnosis-asset-actions {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .diagnosis-result-grid div {
    padding: 12px 0;
    border: 0;
    border-top: 1px solid #dce7e4;
    border-radius: 0;
    background: transparent;
  }

  .diagnosis-result-grid strong {
    font-size: 17px;
  }

  .diagnosis-result-actions {
    gap: 8px;
    margin-top: 14px;
  }

  .diagnosis-result-actions a {
    width: 100%;
    min-height: 54px;
    font-size: 17px;
  }

  .diagnosis-result-actions a + a {
    border: 1px solid #9ebdb6;
    background: #fff;
    color: #145e52;
  }

  .diagnosis-family-memo {
    padding: 14px 0;
    border: 0;
    border-top: 1px solid #dce7e4;
    border-radius: 0;
  }

  .guided-choice {
    margin: 26px 0;
    padding: 22px 0;
    border: 0;
    border-top: 2px solid #168a72;
    border-bottom: 1px solid #dce7e4;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .guided-choice-head h2 {
    font-size: 25px;
    line-height: 1.32;
  }

  .guided-choice-head p {
    font-size: 16px;
    line-height: 1.62;
  }

  .guided-choice-layout {
    gap: 13px;
    margin-top: 15px;
  }

  .guided-choice-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .guided-choice-option {
    min-height: 54px;
    padding: 9px 7px;
    border-left-width: 1px;
    text-align: center;
  }

  .guided-choice-option.is-active {
    border: 2px solid #15816d;
  }

  .guided-choice-option span {
    font-size: 15px;
    line-height: 1.32;
  }

  .guided-choice-option small {
    display: none;
  }

  .coupang-guided-choice .guided-choice-options {
    display: flex;
    gap: 7px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .coupang-guided-choice .guided-choice-option {
    flex: 0 0 132px;
  }

  .guided-choice-result {
    padding: 17px 0 0;
    border: 0;
    border-top: 1px solid #dce7e4;
    border-radius: 0;
    background: transparent;
  }

  .guided-choice-result h3 {
    margin-top: 6px;
    font-size: 23px;
    line-height: 1.35;
  }

  .guided-choice-result > p {
    font-size: 17px;
    line-height: 1.65;
  }

  .guided-choice-result dl div {
    grid-template-columns: 1fr;
    gap: 2px;
    padding: 11px 0;
  }

  .guided-choice-caution {
    padding: 11px 12px;
  }

  .guided-choice-action {
    min-height: 54px;
  }

  .smart-article-hero,
  .health-article-hero,
  .benefit-article-hero,
  .smart-hub-hero {
    gap: 14px;
    margin: 0 0 18px;
    padding: 0 0 18px;
    border: 0;
    border-bottom: 1px solid #dce7e4;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .smart-article-hero h1,
  .health-article-hero h1,
  .benefit-article-hero h1,
  .smart-hub-hero h1 {
    margin-top: 6px;
    font-size: 31px;
    line-height: 1.2;
  }

  .smart-article-hero p,
  .health-article-hero p,
  .benefit-article-hero p,
  .smart-hub-hero p {
    font-size: 17px;
    line-height: 1.62;
  }

  .smart-article-image,
  .health-article-image,
  .benefit-article-image,
  .smart-hub-image {
    aspect-ratio: 16 / 9;
    border: 0;
    border-radius: 6px;
  }

  .smart-intent-box {
    width: 100%;
    margin-top: 14px;
    padding: 11px 0 0;
    border: 0;
    border-top: 1px solid #dce7e4;
    border-radius: 0;
    background: transparent;
  }

  .answer-summary,
  .smart-article .answer-summary {
    margin: 18px 0 24px;
    padding: 18px 0;
    border: 0;
    border-top: 3px solid #168a72;
    border-bottom: 1px solid #dce7e4;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .answer-summary-head span {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .answer-summary h2 {
    font-size: 27px;
    line-height: 1.27;
  }

  .answer-summary p {
    font-size: 17px;
    line-height: 1.6;
  }

  .answer-summary-grid,
  .smart-article .answer-summary-grid {
    grid-template-columns: 1fr;
    gap: 0;
    border-top: 1px solid #dce7e4;
  }

  .answer-summary-grid div,
  .smart-article .answer-summary-grid div {
    min-height: 0;
    padding: 12px 0;
    border: 0;
    border-bottom: 1px solid #e3ece9;
    border-radius: 0;
    background: transparent;
  }

  .answer-summary-grid strong {
    font-size: 17px;
  }

  .smart-toc {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    width: calc(100% + 32px);
    margin: 10px -16px 2px;
    padding: 8px 16px;
    border: 0;
    border-top: 1px solid #e0e9e7;
    border-bottom: 1px solid #e0e9e7;
    border-radius: 0;
    overflow-x: auto;
  }

  .smart-toc a {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 7px 10px;
    border: 0;
    border-right: 1px solid #d7e4e1;
    border-radius: 0;
    background: transparent;
    white-space: nowrap;
  }

  .smart-toc a:last-child {
    border-right: 0;
  }

  .health-blog-longform,
  .benefit-blog-longform,
  .smart-blog-section,
  .smart-longform-block,
  .smart-related-section {
    gap: 15px;
    margin: 0;
    padding: 26px 0;
    border: 0;
    border-top: 1px solid #dfe9e7;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .health-blog-longform h2,
  .benefit-blog-longform h2,
  .smart-blog-section h2,
  .smart-longform-block h2 {
    font-size: 25px;
    line-height: 1.32;
  }

  .health-blog-longform h3,
  .benefit-blog-longform h3,
  .smart-blog-point h3 {
    font-size: 21px;
    line-height: 1.38;
  }

  .health-blog-longform p,
  .benefit-blog-longform p,
  .smart-blog-point p,
  .smart-blog-lead,
  .smart-blog-section > p,
  .smart-longform-block > p {
    font-size: 17px;
    font-weight: 620;
    line-height: 1.72;
  }

  .smart-blog-point {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 5px 11px;
    padding: 18px 0;
  }

  .smart-blog-point > span {
    width: 32px;
    height: 32px;
  }

  .smart-detail-card,
  .health-diary-grid div,
  .benefit-memo-grid div,
  .db-card,
  .smart-question-bank li,
  .smart-mistake-list div {
    padding: 14px 0;
    border: 0;
    border-top: 1px solid #e0e9e7;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .problem-region-cost-table,
  .parent-cost-table,
  .medical-refund-center-table,
  .smart-compare-table {
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
  }

  .problem-region-cost-table > div,
  .parent-cost-table > div,
  .parent-cost-table > a,
  .medical-refund-center-table > div,
  .medical-refund-center-table > a,
  .smart-compare-table > div {
    margin: 0;
    padding: 12px 0;
    border: 0;
    border-top: 1px solid #dce7e4;
    border-radius: 0;
    background: transparent;
    overflow: visible;
  }

  .problem-region-cost-table > div + div,
  .parent-cost-table > * + *,
  .medical-refund-center-table > * + *,
  .smart-compare-table > div + div {
    border-top: 1px solid #dce7e4;
  }

  .problem-region-cost-table span,
  .parent-cost-table [role="cell"],
  .medical-refund-center-table [role="cell"],
  .smart-compare-table strong,
  .smart-compare-table span {
    padding: 5px 0;
    border: 0;
    background: transparent;
  }

  .sponsor-offer-card {
    margin: 26px 0 18px;
    border: 0;
    border-top: 3px solid #11634a;
    border-bottom: 1px solid #cfded9;
    border-radius: 0;
    box-shadow: none;
  }

  .sponsor-offer-layout {
    display: block;
  }

  .sponsor-offer-media {
    display: none;
  }

  .sponsor-offer-body {
    padding: 18px 0;
  }

  .sponsor-offer-body h2 {
    margin: 6px 0 8px;
    font-size: 25px;
    line-height: 1.33;
  }

  .sponsor-offer-outcome {
    font-size: 16px;
  }

  .sponsor-offer-cta {
    width: 100%;
    min-height: 58px;
    margin-top: 15px;
    font-size: 18px;
    text-align: center;
  }

  .sponsor-offer-details {
    margin-top: 12px;
  }

  .sponsor-offer-secondary {
    display: grid;
    gap: 6px;
    margin: 0 0 26px;
    text-align: left;
  }

  .sponsor-offer-secondary .soft-action {
    min-height: 46px;
  }

  .related-inline-link {
    display: grid;
    gap: 3px;
  }

  .monthly-update-grid {
    gap: 0;
  }

  .monthly-update-grid article {
    padding: 17px 0;
    border: 0;
    border-top: 1px solid #dce7e4;
    border-radius: 0;
  }

  .monthly-update-head > p {
    padding: 8px 0;
    border: 0;
    border-top: 1px solid #dce7e4;
    border-radius: 0;
    background: transparent;
  }

  .next-check-journey {
    gap: 14px;
    margin: 24px 0;
    padding: 20px 0;
    border: 0;
    border-top: 2px solid var(--next-accent);
    border-bottom: 1px solid #dce7e4;
    border-radius: 0;
    background: transparent;
  }

  .next-check-head h2 {
    font-size: 25px;
  }

  .next-check-grid {
    gap: 0;
  }

  .next-check-card {
    min-height: 0;
    gap: 6px;
    padding: 16px 0;
    border: 0;
    border-top: 1px solid #dce7e4;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .next-check-card h3 {
    font-size: 19px;
  }

  .next-check-topic {
    padding: 0;
    background: transparent;
  }

  .next-check-card small {
    display: none;
  }

  .next-check-trust {
    padding-top: 12px;
  }

  .core-quality-bridge {
    margin: 20px 0;
    padding: 12px 0;
  }

  .core-quality-details > summary {
    font-size: 17px;
    line-height: 1.45;
  }

  .faq-section details {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }
}

@media (max-width: 390px) {
  .insurance-docs-panel {
    margin: 24px 0;
    padding: 20px 0;
    border-bottom-color: #dce7e4;
    background: transparent;
  }

  .insurance-docs-panel h2 {
    font-size: 25px;
  }

  .insurance-docs-panel > p,
  .insurance-docs-panel li strong,
  .insurance-docs-panel li span {
    font-size: 17px;
  }

  .insurance-docs-panel ul {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .insurance-docs-panel li {
    padding: 14px 0 14px 14px;
    border-bottom: 1px solid #dce7e4;
    background: transparent;
  }

  .insurance-docs-cta {
    width: 100%;
    justify-content: center;
  }

  .diagnosis-option-grid {
    grid-template-columns: 1fr 1fr;
  }

  .diagnosis-option {
    padding: 10px 9px;
  }

  .diagnosis-option strong,
  .guided-choice-option span {
    font-size: 15px;
  }
}

/* Keep deferred manual ads in normal flow so loading cannot cover nearby content. */
.ad-band[data-ad-state="idle"],
.ad-band[data-ad-state="preview"] {
  border-color: transparent !important;
  background: transparent !important;
}

.ad-band[data-ad-state="unfilled"],
.ad-band[data-ad-state="unavailable"] {
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  opacity: 0;
  overflow: hidden;
}

.ad-band[data-ad-state="unfilled"] .adsbygoogle,
.ad-band[data-ad-state="unavailable"] .adsbygoogle {
  min-height: 0 !important;
  height: 0 !important;
}

@media (max-width: 720px) {
  .official-guide-page {
    width: calc(100% - 28px);
    padding-top: 22px;
  }

  .official-guide-hero,
  .official-guide-checks,
  .official-guide-destination {
    margin-bottom: 14px;
    padding: 20px 16px;
    box-shadow: none;
  }

  .official-guide-page h1 {
    font-size: 30px;
    line-height: 1.2;
  }

  .official-guide-page h2 {
    font-size: 24px;
    line-height: 1.3;
  }

  .official-guide-page p,
  .official-guide-checks li,
  .official-guide-link span,
  .official-guide-return {
    font-size: 17px;
  }

  .official-guide-link {
    min-height: 68px;
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .official-guide-link em {
    font-size: 15px;
  }

  .medical-refund-fit-card em,
  .medical-refund-row-cta,
  .parent-cost-row-cta {
    font-size: 16px;
  }
}

/* 2026-08 sitewide senior editorial v3: spacious question-first reading system. */
body.senior-editorial-v3 {
  --bg: #ffffff;
  --ink: #172238;
  --muted: #687589;
  --soft: #edf7f5;
  --line: #dce5e8;
  --green: #2b8b7d;
  --green-dark: #1d665e;
  --navy: #172238;
  --yellow: #f2c94c;
  --gold: #d7a935;
  --gold-soft: #fff7d9;
  --coral: #bf5d3d;
  --orange: #b94d31;
  --blue: #55769a;
  --cream: #fffaf0;
  --shadow: none;
  --shadow-soft: none;
  --radius: 6px;
  margin: 0;
  background: #ffffff;
  color: #172238;
  font-size: 18px;
  line-height: 1.82;
  letter-spacing: 0;
}

body.senior-editorial-v3 main {
  background: #ffffff;
}

body.senior-editorial-v3 :where(h1, h2, h3, h4, p, li, dt, dd, a, button, summary) {
  letter-spacing: 0;
  word-break: keep-all;
  overflow-wrap: break-word;
}

body.senior-editorial-v3 :where(h1, h2, h3, h4) {
  color: #172238;
  text-wrap: balance;
}

body.senior-editorial-v3 :where(p, li, dd) {
  color: #435166;
}

body.senior-editorial-v3 :where(article p, article li, .section > p, .section-head p) {
  max-width: 68ch;
  line-height: 1.86;
}

body.senior-editorial-v3 :where(small, .small, .meta, .section-eyebrow) {
  font-size: 15px;
  line-height: 1.55;
}

body.senior-editorial-v3 .promo-bar {
  min-height: 42px;
  padding: 9px 20px;
  background: #20354e;
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.5;
}

body.senior-editorial-v3 .site-header {
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid #e2e8eb;
  box-shadow: none;
  backdrop-filter: blur(10px);
}

body.senior-editorial-v3 .header-inner {
  max-width: 1180px;
  min-height: 66px;
  padding: 9px 24px;
  gap: 26px;
}

body.senior-editorial-v3 .brand {
  color: #172238;
  font-size: 20px;
}

body.senior-editorial-v3 .brand-mark {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  background: #edf7f5;
  color: #1d665e;
}

body.senior-editorial-v3 .brand small {
  color: #687589;
  font-size: 13px;
  font-weight: 700;
}

body.senior-editorial-v3 .nav a {
  color: #405066;
  font-size: 16px;
  font-weight: 750;
}

body.senior-editorial-v3 .header-icon {
  border-color: #dbe4e7;
  border-radius: 6px;
  background: #ffffff;
  color: #27384e;
  box-shadow: none;
}

body.senior-editorial-v3 .section {
  width: min(100%, 1080px);
  max-width: 1080px;
  padding: 66px 24px;
}

body.senior-editorial-v3 .layout,
body.senior-editorial-v3 .smart-layout {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  grid-template-columns: minmax(0, 760px) minmax(220px, 260px);
  gap: 48px;
}

body.senior-editorial-v3 .layout > article,
body.senior-editorial-v3 .smart-article {
  width: 100%;
  max-width: 760px;
}

body.senior-editorial-v3 .section-head,
body.senior-editorial-v3 .mini-section-head,
body.senior-editorial-v3 .compact-head {
  display: grid;
  gap: 10px;
  max-width: 780px;
  margin-bottom: 28px;
}

body.senior-editorial-v3 .section-head h2,
body.senior-editorial-v3 .section h2,
body.senior-editorial-v3 article > h2,
body.senior-editorial-v3 .smart-deep-section > h2,
body.senior-editorial-v3 .smart-blog-section > h2,
body.senior-editorial-v3 .health-blog-longform h2,
body.senior-editorial-v3 .benefit-blog-longform h2 {
  margin: 0 0 14px;
  color: #172238;
  font-size: 31px;
  font-weight: 850;
  line-height: 1.3;
}

body.senior-editorial-v3 :where(article h3, .section h3) {
  margin: 28px 0 10px;
  color: #23344b;
  font-size: 22px;
  line-height: 1.4;
}

body.senior-editorial-v3 .category,
body.senior-editorial-v3 .section-eyebrow,
body.senior-editorial-v3 .compact-head > span,
body.senior-editorial-v3 .mini-section-head > span {
  display: inline-block;
  width: fit-content;
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #267d72;
  font-size: 15px;
  font-weight: 850;
}

body.senior-editorial-v3 :where(
  .smart-hub-hero,
  .smart-article-hero,
  .health-article-hero,
  .benefit-article-hero,
  .benefits-story-hero,
  .health-story-hero,
  .community-hero,
  .dental-hero
) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 290px);
  gap: 34px;
  align-items: center;
  margin: 0 0 42px;
  padding: 20px 0 38px;
  border: 0;
  border-bottom: 1px solid #dce5e8;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}

body.senior-editorial-v3 :where(
  .smart-hub-hero h1,
  .smart-article-hero h1,
  .health-article-hero h1,
  .benefit-article-hero h1,
  .benefits-story-hero h1,
  .health-story-hero h1,
  .community-hero h1,
  .dental-hero h1
) {
  margin: 8px 0 16px;
  color: #172238;
  font-size: 44px;
  font-weight: 900;
  line-height: 1.2;
}

body.senior-editorial-v3 :where(
  .smart-hub-hero p,
  .smart-article-hero p,
  .health-article-hero p,
  .benefit-article-hero p,
  .benefits-story-hero p,
  .health-story-hero p,
  .community-hero p,
  .dental-hero p
) {
  max-width: 62ch;
  margin: 0;
  color: #4b5b70;
  font-size: 19px;
  font-weight: 650;
  line-height: 1.75;
}

body.senior-editorial-v3 :where(
  .smart-hub-image,
  .smart-article-image,
  .health-article-image,
  .benefit-article-image
) {
  width: 100%;
  aspect-ratio: 4 / 3;
  border: 0;
  border-radius: 6px;
  background: #f1f5f6;
  box-shadow: none;
  object-fit: cover;
}

body.senior-editorial-v3 .answer-summary {
  width: 100%;
  max-width: none;
  margin: 0 0 56px;
  padding: 30px 0 34px;
  border: 0;
  border-top: 4px solid #2b8b7d;
  border-bottom: 1px solid #dce5e8;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}

body.senior-editorial-v3 .answer-summary-head {
  gap: 8px;
  margin-bottom: 22px;
}

body.senior-editorial-v3 .answer-summary-head span {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #267d72;
  font-size: 15px;
}

body.senior-editorial-v3 .answer-summary h2 {
  margin: 0;
  color: #172238;
  font-size: 32px;
  line-height: 1.3;
}

body.senior-editorial-v3 .answer-summary > p,
body.senior-editorial-v3 .answer-summary-head p {
  max-width: 64ch;
  color: #4a5a6f;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.8;
}

body.senior-editorial-v3 .answer-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid #dce5e8;
}

body.senior-editorial-v3 .answer-summary-grid div {
  min-height: 0;
  gap: 8px;
  padding: 20px 16px 10px;
  border: 0;
  border-right: 1px solid #dce5e8;
  border-radius: 0;
  background: transparent;
}

body.senior-editorial-v3 .answer-summary-grid div:first-child {
  padding-left: 0;
}

body.senior-editorial-v3 .answer-summary-grid div:last-child {
  border-right: 0;
  padding-right: 0;
}

body.senior-editorial-v3 .answer-summary-grid strong {
  color: #1d665e;
  font-size: 17px;
}

body.senior-editorial-v3 .answer-summary-grid p {
  color: #334155;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.7;
}

body.senior-editorial-v3 .answer-summary-cta {
  min-height: 54px;
  margin-top: 24px;
  border-radius: 6px;
  background: #267d72;
  font-size: 17px;
}

body.senior-editorial-v3 .answer-official-bar {
  margin: -34px 0 54px;
  padding: 18px 0;
  border: 0;
  border-bottom: 1px solid #dce5e8;
  border-radius: 0;
  background: #f4f7f8;
  box-shadow: none;
}

body.senior-editorial-v3 .answer-official-links a {
  border-radius: 6px;
  background: #ffffff;
}

body.senior-editorial-v3 :where(
  .smart-deep-section,
  .smart-blog-section,
  .smart-longform-block,
  .health-blog-longform,
  .benefit-blog-longform,
  .db-detail-section,
  .high-rpm-intent-section,
  .problem-region-cost,
  .core-related-band,
  .benefit-guide-group,
  .health-guide-group,
  .benefits-text-section,
  .benefits-scenario-section,
  .benefits-search-section,
  .health-text-section,
  .health-scenario-section,
  .health-condition-section,
  .health-search-section,
  .dental-longform,
  .community-longform
) {
  display: block;
  margin: 58px 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #dce5e8;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.senior-editorial-v3 :where(
  .smart-deep-section,
  .smart-blog-section,
  .smart-longform-block,
  .health-blog-longform,
  .benefit-blog-longform,
  .db-detail-section,
  .high-rpm-intent-section,
  .problem-region-cost,
  .core-related-band,
  .benefit-guide-group,
  .health-guide-group,
  .benefits-text-section,
  .benefits-scenario-section,
  .benefits-search-section,
  .health-text-section,
  .health-scenario-section,
  .health-condition-section,
  .health-search-section,
  .dental-longform,
  .community-longform
) > :first-child {
  margin-top: 28px;
}

body.senior-editorial-v3 :where(.smart-blog-copy, .smart-blog-point, .smart-blog-list, .fact-list) {
  font-size: 18px;
  line-height: 1.86;
}

body.senior-editorial-v3 :where(.smart-blog-copy, .smart-blog-point) {
  max-width: 68ch;
}

body.senior-editorial-v3 :where(
  .benefit-card,
  .article-card,
  .persona-card,
  .urgent-card,
  .spotlight-card,
  .home-rpm-card,
  .next-check-card,
  .guide-row,
  .db-card,
  .smart-detail-card,
  .smart-related-card,
  .home-product-check,
  .home-reference-card
) {
  border: 0;
  border-top: 1px solid #dce5e8;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.senior-editorial-v3 :where(
  .benefit-card,
  .article-card,
  .persona-card,
  .urgent-card,
  .spotlight-card,
  .home-rpm-card,
  .next-check-card,
  .guide-row,
  .db-card,
  .smart-detail-card,
  .smart-related-card,
  .home-product-check,
  .home-reference-card
) :where(h2, h3, strong) {
  color: #22344b;
}

body.senior-editorial-v3 :where(
  .card-grid,
  .home-rpm-grid,
  .next-check-grid,
  .guide-row-list,
  .db-card-grid,
  .smart-check-grid,
  .benefit-next-grid,
  .health-condition-grid,
  .community-question-grid,
  .community-flow-grid
) {
  gap: 0 28px;
}

body.senior-editorial-v3 .guided-choice,
body.senior-editorial-v3 .parent-cost-diagnosis {
  width: 100%;
  margin: 54px 0;
  padding: 30px;
  border: 1px solid #cfddda;
  border-radius: 8px;
  background: #f7fbfa;
  box-shadow: none;
}

body.senior-editorial-v3 .guided-choice-head h2,
body.senior-editorial-v3 .parent-cost-diagnosis h2 {
  font-size: 30px;
  line-height: 1.35;
}

body.senior-editorial-v3 .guided-choice-head p,
body.senior-editorial-v3 .parent-cost-diagnosis p {
  font-size: 18px;
  line-height: 1.8;
}

body.senior-editorial-v3 .guided-choice-layout {
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
  gap: 30px;
}

body.senior-editorial-v3 .guided-choice-option,
body.senior-editorial-v3 .diagnosis-option {
  min-height: 74px;
  border: 1px solid #d3dfdd;
  border-radius: 6px;
  background: #ffffff;
  box-shadow: none;
}

body.senior-editorial-v3 .guided-choice-option.is-active,
body.senior-editorial-v3 .diagnosis-option:has(input:checked) {
  border-color: #267d72;
  background: #edf7f5;
}

body.senior-editorial-v3 .guided-choice-option span,
body.senior-editorial-v3 .diagnosis-option strong {
  font-size: 18px;
}

body.senior-editorial-v3 .guided-choice-option small,
body.senior-editorial-v3 .diagnosis-option small {
  color: #637184;
  font-size: 15px;
}

body.senior-editorial-v3 .guided-choice-result,
body.senior-editorial-v3 .diagnosis-live-outcome,
body.senior-editorial-v3 .diagnosis-result {
  border: 0;
  border-top: 4px solid #bf5d3d;
  border-radius: 6px;
  background: #ffffff;
  box-shadow: none;
}

body.senior-editorial-v3 .guided-choice-result h3,
body.senior-editorial-v3 .diagnosis-result h3 {
  font-size: 25px;
}

body.senior-editorial-v3 :where(
  .guided-choice-action,
  .diagnosis-next,
  .diagnosis-restart,
  .diagnosis-result-actions a,
  .home-rpm-action,
  .smart-bottom-cta,
  .cta,
  .soft-action
) {
  min-height: 54px;
  border-radius: 6px;
  font-size: 17px;
  font-weight: 850;
  box-shadow: none;
}

body.senior-editorial-v3 .home-cost-hero {
  width: min(100%, 960px);
  max-width: 960px;
  margin: 0 auto;
  padding: 68px 24px 34px;
  background: #ffffff;
}

body.senior-editorial-v3 .home-cost-hero-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
  gap: 32px;
  align-items: center;
  width: 100%;
}

body.senior-editorial-v3 .home-cost-hero h1 {
  margin: 14px 0 18px;
  color: #172238;
  font-size: 48px;
  line-height: 1.18;
}

body.senior-editorial-v3 .home-cost-hero h1 em {
  display: block;
  margin-top: 8px;
  color: #267d72;
  font-style: normal;
}

body.senior-editorial-v3 .home-cost-hero-copy > p {
  max-width: 60ch;
  color: #4c5c71;
  font-size: 20px;
  font-weight: 620;
  line-height: 1.75;
}

body.senior-editorial-v3 .home-cost-hero-media {
  width: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: 6px;
  background: #eef5f3;
}

body.senior-editorial-v3 .home-cost-hero-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: 62% center;
}

body.senior-editorial-v3 .hero-proof {
  width: fit-content;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #267d72;
  font-size: 15px;
}

body.senior-editorial-v3 .hero-value-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin: 28px 0 0;
  padding: 18px 0;
  border: 0;
  border-top: 1px solid #dce5e8;
  border-bottom: 1px solid #dce5e8;
  border-radius: 0;
  background: transparent;
}

body.senior-editorial-v3 .hero-value-summary strong {
  width: 100%;
  color: #1d665e;
}

body.senior-editorial-v3 .hero-value-summary span {
  font-size: 17px;
}

body.senior-editorial-v3 .home-fortune-health {
  padding: 62px 24px;
  border-bottom: 1px solid #dfe5eb;
  background: #f5f3f8;
}

body.senior-editorial-v3 .fortune-health-shell {
  width: min(100%, 920px);
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.senior-editorial-v3 .fortune-health-intro,
body.senior-editorial-v3 .fortune-result-reading,
body.senior-editorial-v3 .fortune-result-health {
  border: 0;
  border-radius: 6px;
  background: #ffffff;
  box-shadow: none;
}

body.senior-editorial-v3 .fortune-health-intro h2,
body.senior-editorial-v3 .fortune-result-reading h2 {
  font-size: 38px;
  line-height: 1.25;
}

body.senior-editorial-v3 .fortune-health-intro > p,
body.senior-editorial-v3 .fortune-result-narrative p,
body.senior-editorial-v3 .fortune-result-health p {
  font-size: 18px;
  line-height: 1.8;
}

body.senior-editorial-v3 .fortune-birth-grid select {
  min-height: 56px;
  border-color: #d5dce5;
  border-radius: 6px;
  background: #ffffff;
  font-size: 18px;
}

body.senior-editorial-v3 .fortune-scoreboard {
  gap: 12px;
}

body.senior-editorial-v3 .fortune-score-item {
  border: 0;
  border-radius: 6px;
  background: #ffffff;
  box-shadow: none;
}

body.senior-editorial-v3 .fortune-result-cpa {
  background: #bf5d3d;
  color: #ffffff;
}

body.senior-editorial-v3 .fortune-result-cta {
  background: #267d72;
  color: #ffffff;
}

body.senior-editorial-v3 .monthly-official-update,
body.senior-editorial-v3 .parent-cost-comparison,
body.senior-editorial-v3 .smart-check-spotlight,
body.senior-editorial-v3 .coupang-home-band,
body.senior-editorial-v3 .home-rpm-section {
  width: min(100%, 960px);
  max-width: 960px;
  margin: 0 auto;
  padding: 64px 24px;
  border: 0;
  border-top: 1px solid #dce5e8;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}

body.senior-editorial-v3 .monthly-update-grid article {
  padding: 22px 0;
  border: 0;
  border-top: 1px solid #dce5e8;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.senior-editorial-v3 .parent-cost-table {
  border-top: 1px solid #dce5e8;
}

body.senior-editorial-v3 .parent-cost-table > div,
body.senior-editorial-v3 .parent-cost-table > a {
  padding: 20px 0;
  border: 0;
  border-bottom: 1px solid #dce5e8;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.senior-editorial-v3 .next-check-journey,
body.senior-editorial-v3 .site-continuation {
  margin: 58px 0;
  padding: 30px 0;
  border: 0;
  border-top: 3px solid #55769a;
  border-bottom: 1px solid #dce5e8;
  border-radius: 0;
  background: #f6f8fb;
  box-shadow: none;
}

body.senior-editorial-v3 .next-check-card {
  padding: 22px 0;
}

body.senior-editorial-v3 .next-check-card:hover,
body.senior-editorial-v3 .next-check-card:focus-visible,
body.senior-editorial-v3 .home-rpm-card:hover,
body.senior-editorial-v3 .home-rpm-card:focus-visible {
  background: #f4f8f8;
  transform: none;
  box-shadow: none;
}

body.senior-editorial-v3 .layout > aside.ad-card,
body.senior-editorial-v3 .smart-layout > aside.ad-card {
  padding: 20px;
  border: 0;
  border-radius: 6px;
  background: #f1f7f6;
  box-shadow: none;
}

body.senior-editorial-v3 .medical-refund-sidebar {
  gap: 0;
}

body.senior-editorial-v3 .medical-refund-sidebar .sidebar-mini-title {
  margin-bottom: 10px;
  color: #24364d;
  font-size: 18px;
  line-height: 1.45;
}

body.senior-editorial-v3 .medical-refund-sidebar p {
  margin: 0 0 10px;
  color: #526175;
  font-size: 15px;
  line-height: 1.7;
}

body.senior-editorial-v3 .medical-refund-sidebar a {
  padding: 14px 2px;
  border: 0;
  border-top: 1px solid #d4e1de;
  border-radius: 0;
  background: transparent;
  color: #267d72;
  font-size: 16px;
  font-weight: 800;
}

body.senior-editorial-v3 .faq-section {
  margin: 58px 0 0;
  padding: 0;
  border: 0;
  border-top: 3px solid #267d72;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}

body.senior-editorial-v3 .faq-section h2 {
  padding-top: 26px;
  font-size: 31px;
}

body.senior-editorial-v3 .faq-section details {
  border: 0;
  border-top: 1px solid #dce5e8;
  border-radius: 0;
  background: transparent;
}

body.senior-editorial-v3 .faq-section summary {
  padding: 20px 4px;
  color: #24364d;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.55;
}

body.senior-editorial-v3 .faq-section details > :not(summary) {
  padding-right: 4px;
  padding-left: 4px;
  font-size: 17px;
  line-height: 1.8;
}

body.senior-editorial-v3 .sponsor-offer-card {
  margin: 62px 0 30px;
  border: 0;
  border-top: 4px solid #bf5d3d;
  border-bottom: 1px solid #ead8d1;
  border-radius: 0;
  background: #fff8f5;
  box-shadow: none;
}

body.senior-editorial-v3 .sponsor-offer-layout {
  grid-template-columns: minmax(200px, 0.62fr) minmax(0, 1.38fr);
}

body.senior-editorial-v3 .sponsor-offer-media {
  min-height: 260px;
  background: #f4ece8;
}

body.senior-editorial-v3 .sponsor-offer-image {
  min-height: 260px;
}

body.senior-editorial-v3 .sponsor-offer-body {
  padding: 30px;
}

body.senior-editorial-v3 .sponsor-offer-label {
  color: #8f492f;
  font-size: 15px;
}

body.senior-editorial-v3 .sponsor-offer-body h2 {
  font-size: 30px;
  line-height: 1.32;
}

body.senior-editorial-v3 .sponsor-offer-outcome,
body.senior-editorial-v3 .sponsor-offer-details p {
  font-size: 17px;
  line-height: 1.75;
}

body.senior-editorial-v3 .sponsor-offer-cta {
  min-height: 56px;
  border-radius: 6px;
  background: #b94d31;
  color: #ffffff;
  font-size: 18px;
}

body.senior-editorial-v3 .sponsor-offer-cta:hover {
  background: #923b27;
}

body.senior-editorial-v3 .sponsor-offer-secondary {
  margin: -16px 0 56px;
  text-align: left;
}

body.senior-editorial-v3 :where(
  .smart-compare-table,
  .core-condition-table,
  .problem-region-cost-table,
  .dental-compare-table,
  .benefits-memo-table,
  .health-memo-table
) {
  width: 100%;
  border: 0;
  border-top: 1px solid #dce5e8;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}

body.senior-editorial-v3 :where(table) {
  border-collapse: collapse;
  border-spacing: 0;
}

body.senior-editorial-v3 :where(th, td) {
  padding: 14px 12px;
  border: 0;
  border-bottom: 1px solid #dce5e8;
  color: #334155;
  font-size: 16px;
  line-height: 1.65;
  text-align: left;
  vertical-align: top;
}

body.senior-editorial-v3 th {
  background: #f2f6f7;
  color: #1d665e;
  font-weight: 850;
}

body.senior-editorial-v3 .ad-band {
  position: relative;
  isolation: isolate;
  clear: both;
  width: 100%;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

body.senior-editorial-v3 .site-footer {
  margin-top: 76px;
  border-top: 1px solid #dce5e8;
  background: #f4f7f8;
}

body.senior-editorial-v3 .footer-inner {
  max-width: 1080px;
  padding: 40px 24px;
  color: #526175;
  font-size: 15px;
  line-height: 1.75;
}

@media (max-width: 980px) {
  body.senior-editorial-v3 .layout,
  body.senior-editorial-v3 .smart-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  body.senior-editorial-v3 .layout > article,
  body.senior-editorial-v3 .smart-article {
    max-width: 800px;
    margin: 0 auto;
  }

  body.senior-editorial-v3 .layout > aside,
  body.senior-editorial-v3 .smart-layout > aside {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
  }
}

@media (max-width: 720px) {
  body.senior-editorial-v3 {
    font-size: 18px;
    line-height: 1.8;
  }

  body.senior-editorial-v3 .promo-bar {
    min-height: 0;
    padding: 8px 20px;
    font-size: 14px;
  }

  body.senior-editorial-v3 .header-inner {
    min-height: 62px;
    padding: 8px 20px;
    gap: 12px;
  }

  body.senior-editorial-v3 .brand {
    min-width: 0;
    font-size: 19px;
  }

  body.senior-editorial-v3 .brand small {
    font-size: 12px;
  }

  body.senior-editorial-v3 .brand-mark {
    width: 38px;
    height: 38px;
  }

  body.senior-editorial-v3 .header-icon {
    width: 42px;
    height: 42px;
  }

  body.senior-editorial-v3 .section,
  body.senior-editorial-v3 .products-hub-section,
  body.senior-editorial-v3 .benefits-hub-section,
  body.senior-editorial-v3 .health-hub-section,
  body.senior-editorial-v3 .community-page,
  body.senior-editorial-v3 .dental-hearing-page {
    width: 100%;
    padding: 52px 20px;
  }

  body.senior-editorial-v3 :where(
    .smart-hub-hero,
    .smart-article-hero,
    .health-article-hero,
    .benefit-article-hero,
    .benefits-story-hero,
    .health-story-hero,
    .community-hero,
    .dental-hero
  ) {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-bottom: 36px;
    padding: 8px 0 30px;
  }

  body.senior-editorial-v3 :where(
    .smart-hub-hero h1,
    .smart-article-hero h1,
    .health-article-hero h1,
    .benefit-article-hero h1,
    .benefits-story-hero h1,
    .health-story-hero h1,
    .community-hero h1,
    .dental-hero h1
  ) {
    font-size: 34px;
    line-height: 1.22;
  }

  body.senior-editorial-v3 :where(
    .smart-hub-hero p,
    .smart-article-hero p,
    .health-article-hero p,
    .benefit-article-hero p,
    .benefits-story-hero p,
    .health-story-hero p,
    .community-hero p,
    .dental-hero p
  ) {
    font-size: 18px;
    line-height: 1.8;
  }

  body.senior-editorial-v3 :where(
    .smart-hub-image,
    .smart-article-image,
    .health-article-image,
    .benefit-article-image
  ) {
    max-height: 240px;
  }

  body.senior-editorial-v3 .section-head h2,
  body.senior-editorial-v3 .section h2,
  body.senior-editorial-v3 article > h2,
  body.senior-editorial-v3 .smart-deep-section > h2,
  body.senior-editorial-v3 .smart-blog-section > h2,
  body.senior-editorial-v3 .health-blog-longform h2,
  body.senior-editorial-v3 .benefit-blog-longform h2,
  body.senior-editorial-v3 .faq-section h2 {
    font-size: 28px;
    line-height: 1.32;
  }

  body.senior-editorial-v3 :where(article h3, .section h3) {
    font-size: 22px;
  }

  body.senior-editorial-v3 :where(article p, article li, .section > p, .section-head p) {
    max-width: none;
    font-size: 18px;
    line-height: 1.82;
  }

  body.senior-editorial-v3 .answer-summary {
    margin-bottom: 48px;
    padding: 26px 0 28px;
  }

  body.senior-editorial-v3 .answer-summary h2 {
    font-size: 28px;
  }

  body.senior-editorial-v3 .answer-summary-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.senior-editorial-v3 .answer-summary-grid div,
  body.senior-editorial-v3 .answer-summary-grid div:first-child,
  body.senior-editorial-v3 .answer-summary-grid div:last-child {
    padding: 17px 0;
    border-right: 0;
    border-bottom: 1px solid #dce5e8;
  }

  body.senior-editorial-v3 .answer-summary-grid div:last-child {
    border-bottom: 0;
  }

  body.senior-editorial-v3 .answer-official-bar {
    margin-top: -28px;
    margin-bottom: 46px;
  }

  body.senior-editorial-v3 .smart-toc {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    width: 100%;
    margin: 18px 0 4px;
    padding: 8px 0;
    overflow: visible;
  }

  body.senior-editorial-v3 .smart-toc a {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 8px 12px;
    white-space: normal;
  }

  body.senior-editorial-v3 :where(
    .smart-deep-section,
    .smart-blog-section,
    .smart-longform-block,
    .health-blog-longform,
    .benefit-blog-longform,
    .db-detail-section,
    .high-rpm-intent-section,
    .problem-region-cost,
    .core-related-band,
    .benefit-guide-group,
    .health-guide-group,
    .benefits-text-section,
    .benefits-scenario-section,
    .benefits-search-section,
    .health-text-section,
    .health-scenario-section,
    .health-condition-section,
    .health-search-section,
    .dental-longform,
    .community-longform
  ) {
    margin: 50px 0;
  }

  body.senior-editorial-v3 :where(
    .card-grid,
    .home-rpm-grid,
    .next-check-grid,
    .guide-row-list,
    .db-card-grid,
    .smart-check-grid,
    .benefit-next-grid,
    .health-condition-grid,
    .community-question-grid,
    .community-flow-grid,
    .smart-blog-list,
    .benefit-memo-grid,
    .health-diary-grid
  ) {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  body.senior-editorial-v3 :where(
    .benefit-card,
    .article-card,
    .persona-card,
    .urgent-card,
    .spotlight-card,
    .home-rpm-card,
    .next-check-card,
    .guide-row,
    .db-card,
    .smart-detail-card,
    .smart-related-card,
    .home-product-check,
    .home-reference-card
  ) {
    min-height: 0;
    padding: 20px 0;
  }

  body.senior-editorial-v3 .guided-choice,
  body.senior-editorial-v3 .parent-cost-diagnosis {
    margin: 44px 0;
    padding: 24px 18px;
  }

  body.senior-editorial-v3 .guided-choice-head h2,
  body.senior-editorial-v3 .parent-cost-diagnosis h2 {
    font-size: 27px;
  }

  body.senior-editorial-v3 .guided-choice-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  body.senior-editorial-v3 .guided-choice-options,
  body.senior-editorial-v3 .diagnosis-option-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  body.senior-editorial-v3 .guided-choice-result,
  body.senior-editorial-v3 .diagnosis-result,
  body.senior-editorial-v3 .diagnosis-live-outcome {
    padding: 22px 18px;
  }

  body.senior-editorial-v3 .guided-choice-result dl div {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }

  body.senior-editorial-v3 .home-fortune-health {
    padding: 48px 20px;
  }

  body.senior-editorial-v3 .fortune-health-intro,
  body.senior-editorial-v3 .fortune-result-reading,
  body.senior-editorial-v3 .fortune-result-health {
    padding: 24px 18px;
  }

  body.senior-editorial-v3 .fortune-health-intro h2,
  body.senior-editorial-v3 .fortune-result-reading h2 {
    font-size: 31px;
  }

  body.senior-editorial-v3 .fortune-birth-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.senior-editorial-v3 .fortune-scoreboard {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.senior-editorial-v3 .fortune-score-item {
    min-width: 0;
    padding: 12px 6px;
  }

  body.senior-editorial-v3 .fortune-result-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body.senior-editorial-v3 .fortune-result-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  body.senior-editorial-v3 .home-cost-hero {
    width: 100%;
    padding: 52px 20px 24px;
  }

  body.senior-editorial-v3 .home-cost-hero-lead {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  body.senior-editorial-v3 .home-cost-hero h1 {
    font-size: 36px;
    line-height: 1.2;
  }

  body.senior-editorial-v3 .home-cost-hero-copy > p {
    font-size: 18px;
  }

  body.senior-editorial-v3 .home-cost-hero-image {
    aspect-ratio: 16 / 10;
    object-position: 65% center;
  }

  body.senior-editorial-v3 .hero-value-summary {
    display: grid;
    gap: 8px;
  }

  body.senior-editorial-v3 .monthly-official-update,
  body.senior-editorial-v3 .parent-cost-comparison,
  body.senior-editorial-v3 .smart-check-spotlight,
  body.senior-editorial-v3 .coupang-home-band,
  body.senior-editorial-v3 .home-rpm-section {
    width: 100%;
    padding: 52px 20px;
  }

  body.senior-editorial-v3 .parent-cost-table > div,
  body.senior-editorial-v3 .parent-cost-table > a,
  body.senior-editorial-v3 .parent-cost-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  body.senior-editorial-v3 .next-check-journey,
  body.senior-editorial-v3 .site-continuation {
    margin: 50px 0;
    padding: 26px 0;
  }

  body.senior-editorial-v3 .sponsor-offer-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body.senior-editorial-v3 .sponsor-offer-media {
    display: none;
  }

  body.senior-editorial-v3 .sponsor-offer-body {
    padding: 26px 18px;
  }

  body.senior-editorial-v3 .sponsor-offer-body h2 {
    font-size: 28px;
  }

  body.senior-editorial-v3 .sponsor-offer-cta,
  body.senior-editorial-v3 .sponsor-offer-secondary .soft-action,
  body.senior-editorial-v3 .guided-choice-action,
  body.senior-editorial-v3 .diagnosis-result-actions a,
  body.senior-editorial-v3 .smart-bottom-cta {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  body.senior-editorial-v3 :where(
    .smart-compare-table,
    .core-condition-table,
    .problem-region-cost-table,
    .dental-compare-table,
    .benefits-memo-table,
    .health-memo-table
  ) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  body.senior-editorial-v3 table {
    min-width: 620px;
  }

  body.senior-editorial-v3 :where(th, td) {
    font-size: 16px;
  }

  body.senior-editorial-v3 .faq-section summary {
    padding: 20px 0;
    font-size: 18px;
  }

  body.senior-editorial-v3 .footer-inner {
    padding: 34px 20px;
    font-size: 15px;
  }
}

@media (max-width: 390px) {
  body.senior-editorial-v3 .home-cost-hero h1 {
    font-size: 34px;
  }

  body.senior-editorial-v3 :where(
    .smart-hub-hero h1,
    .smart-article-hero h1,
    .health-article-hero h1,
    .benefit-article-hero h1,
    .benefits-story-hero h1,
    .health-story-hero h1,
    .community-hero h1,
    .dental-hero h1
  ) {
    font-size: 32px;
  }

  body.senior-editorial-v3 .fortune-score-item strong,
  body.senior-editorial-v3 .fortune-score-item span {
    font-size: 15px;
  }
}

/* The v5 mobile dock supersedes the retired layout's global hide rule. */
body.senior-portal-v5 .revenue-quickbar {
  display: grid !important;
}

body.senior-portal-v5 .smart-medical-care {
  scroll-margin-top: 70px;
  margin: 0;
  padding: 28px 0;
  border-top: 1px solid var(--senior-line);
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .smart-medical-care h2 {
  margin: 7px 0 10px;
  font-size: 23px;
  line-height: 1.4;
}

body.senior-portal-v5 .smart-medical-care > p {
  margin: 0 0 12px;
  color: var(--senior-muted);
  font-size: 16px;
  line-height: 1.7;
}

/*
 * Senior portal v5: boxless reading layer
 * Information is grouped with type and whitespace. Solid surfaces are reserved
 * for ads and the one primary action a reader can take next.
 */
body.senior-portal-v5 main .section :where(section, article):not(.ad-band):not(.senior-ad-band) {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 main .section :where(
  .answer-summary,
  .top-direct-answer,
  .ai-answer,
  .key-answer,
  .core-direct-answer,
  .guided-choice,
  .parent-cost-diagnosis,
  .benefit-check-panel,
  .health-trust-first,
  .official-guide-links,
  .high-rpm-intent-section,
  .core-quality-bridge,
  .next-check-journey,
  .smart-bottom-cta,
  .smart-longform-block,
  .smart-checklist-block,
  .smart-family-memo
) {
  width: 100%;
  margin: 34px 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 main .section :where(
  .high-rpm-intent-section,
  .medical-refund-programs,
  .medical-refund-claim-prep,
  .medical-refund-receipt,
  .medical-refund-family-memo,
  .medical-refund-continuity,
  .insurance-docs-panel,
  .core-quality-bridge,
  .next-check-journey,
  .smart-longform-block
) :where(article, div):not(.ad-band):not(.senior-ad-band) {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 main .section :where(
  .medical-receipt-table,
  .medical-refund-receipt-table,
  .smart-compare-table,
  .core-condition-table
) {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 :where(
  .benefit-article-hero,
  .health-article-hero,
  .smart-article-hero,
  .smart-hub-hero,
  .benefits-story-hero,
  .health-story-hero,
  .money-feed-hero,
  .senior-travel-hero,
  .dental-hero,
  .community-hero
) {
  border-bottom: 0;
}

body.senior-portal-v5 :where(
  .benefit-article-image,
  .health-article-image,
  .smart-article-image,
  .smart-hub-image,
  .benefits-story-image,
  .health-story-image,
  .money-feed-hero-image,
  .senior-travel-hero-image,
  .dental-hero-image,
  .community-hero-image,
  .medical-refund-story-image
) {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 .answer-summary,
body.senior-portal-v5 :where(.top-direct-answer, .ai-answer, .key-answer, .core-direct-answer) {
  margin-top: 30px;
}

body.senior-portal-v5 .answer-summary-head,
body.senior-portal-v5 :where(.guided-choice-head, .section-head, .compact-head) {
  padding: 0;
  background: transparent;
  border: 0;
}

body.senior-portal-v5 .answer-summary-grid {
  margin-top: 18px;
  padding-top: 2px;
  border: 0;
}

body.senior-portal-v5 .answer-summary-grid > div {
  grid-template-columns: 92px minmax(0, 1fr);
  padding: 9px 0;
  border: 0;
}

body.senior-portal-v5 :where(.answer-official-bar, .compact-notice, .medical-disclaimer) {
  margin-top: 22px;
  padding: 0;
  background: transparent;
  border: 0;
  color: #758092;
}

body.senior-portal-v5 :where(.guided-choice-layout, .guided-choice-options, .diagnosis-option-grid) {
  gap: 0;
}

body.senior-portal-v5 :where(.guided-choice-option, .diagnosis-option) {
  min-height: 58px;
  padding: 15px 2px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
  box-shadow: none;
  text-align: left;
}

body.senior-portal-v5 :where(.guided-choice-option, .diagnosis-option):first-child {
  border-top: 1px solid var(--senior-line);
}

body.senior-portal-v5 :where(.guided-choice-option, .diagnosis-option).is-active,
body.senior-portal-v5 :where(.guided-choice-option, .diagnosis-option)[aria-checked="true"] {
  color: var(--senior-blue);
  background: transparent;
  border-color: var(--senior-line);
}

body.senior-portal-v5 .guided-choice-result {
  margin-top: 24px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 .guided-choice-result dl div {
  padding: 10px 0;
  background: transparent;
  border: 0;
}

body.senior-portal-v5 .guided-choice-caution {
  margin: 18px 0 0;
  padding: 0;
  color: #6f6042;
  background: transparent;
  border: 0;
  border-radius: 0;
}

body.senior-portal-v5 .core-related-primary,
body.senior-portal-v5 :where(.core-related-band, .core-quality-bridge, .next-check-journey) nav a,
body.senior-portal-v5 :where(.next-check-card, .smart-detail-card, .smart-related-card, .db-card) {
  display: block;
  width: 100%;
  margin: 0;
  padding: 16px 26px 16px 0;
  color: var(--senior-ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 .core-related-primary,
body.senior-portal-v5 :where(.core-related-band, .core-quality-bridge, .next-check-journey) nav a {
  position: relative;
}

body.senior-portal-v5 .core-related-primary::after,
body.senior-portal-v5 :where(.core-related-band, .core-quality-bridge, .next-check-journey) nav a::after {
  position: absolute;
  top: 50%;
  right: 2px;
  color: #8a95a4;
  content: "›";
  font-size: 25px;
  line-height: 1;
  transform: translateY(-50%);
}

body.senior-portal-v5 .home-service-note {
  margin: 14px 0 18px;
  padding: 0;
  color: var(--senior-muted);
  background: transparent;
  border: 0;
  border-radius: 0;
}

body.senior-portal-v5 .home-portal-quick-grid {
  display: block;
  overflow: visible;
  border: 0;
  border-radius: 0;
}

body.senior-portal-v5 .home-portal-quick-grid a,
body.senior-portal-v5 .home-portal-quick-grid a:nth-child(2n),
body.senior-portal-v5 .home-portal-quick-grid a:nth-last-child(-n + 2) {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: auto auto;
  min-height: 74px;
  padding: 14px 28px 14px 0;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .home-portal-quick-grid a:first-child {
  border-top: 1px solid var(--senior-line);
}

body.senior-portal-v5 .home-portal-quick-grid a::after {
  position: absolute;
  top: 50%;
  right: 2px;
  color: #8a95a4;
  content: "›";
  font-size: 25px;
  line-height: 1;
  transform: translateY(-50%);
}

body.senior-portal-v5 .home-quick-icon {
  grid-row: 1 / 3;
  align-self: center;
  width: 30px;
  height: 30px;
  margin: 0;
  background: transparent;
  border-radius: 0;
}

body.senior-portal-v5 .home-portal-quick-grid a:nth-child(2n) .home-quick-icon {
  background: transparent;
}

body.senior-portal-v5 .home-portal-quick-grid b,
body.senior-portal-v5 .home-portal-quick-grid a > span:last-child {
  grid-column: 2;
}

body.senior-portal-v5 .home-portal-status {
  border: 0;
}

body.senior-portal-v5 .home-portal-status > div {
  padding: 10px 3px;
  border: 0;
}

body.senior-portal-v5 :where(.home-rpm-grid, .senior-reading-list, .guide-row-list, .smart-reading-list, .card-grid, .monthly-update-grid) {
  border-top: 0;
}

body.senior-portal-v5 :where(
  .home-rpm-card,
  .senior-reading-list > a,
  .guide-row,
  .smart-reading-row,
  .benefit-card,
  .article-card,
  .monthly-update-grid > article,
  .medical-refund-fit-card,
  .medical-refund-decision-card,
  .medical-refund-continuity-grid > a,
  .medical-refund-center-row,
  .parent-cost-row
) {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 :where(.medical-refund-fit-grid, .medical-refund-decision-grid, .medical-refund-continuity-grid, .smart-check-grid, .benefit-next-grid, .health-condition-grid, .community-question-grid, .community-flow-grid, .smart-blog-list, .benefit-memo-grid, .health-diary-grid) {
  border-top: 0;
}

body.senior-portal-v5 :where(table, thead, tbody, tr, th, td) {
  background: transparent;
  box-shadow: none;
}

body.senior-portal-v5 thead th {
  background: transparent;
}

body.senior-portal-v5 .revenue-quickbar a[aria-current="page"] {
  color: var(--senior-blue);
  background: transparent;
  font-weight: 850;
}

body.senior-portal-v5 .smart-medical-care {
  border: 0;
}

body.senior-portal-v5 .smart-toc {
  display: flex;
  gap: 18px;
  width: 100%;
  margin: 18px 0 0;
  padding: 10px 0;
  overflow-x: auto;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  scrollbar-width: none;
}

body.senior-portal-v5 .smart-toc::-webkit-scrollbar {
  display: none;
}

body.senior-portal-v5 .smart-toc a {
  flex: 0 0 auto;
  min-width: 0;
  padding: 0;
  color: #536174;
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: 13px;
  font-weight: 750;
  white-space: nowrap;
}

body.senior-portal-v5 .smart-toc a:first-child {
  color: var(--senior-blue);
}

body.senior-portal-v5 :where(
  .high-rpm-intent-grid,
  .medical-claim-checklist,
  .medical-family-memo-list
) {
  display: block;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 :where(
  .high-rpm-intent-grid,
  .medical-claim-checklist,
  .medical-family-memo-list
) > * {
  margin: 0;
  padding: 15px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 .db-timing-box {
  margin: 22px 0 0;
  padding: 0;
  color: #536174;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 .smart-check-card,
body.senior-portal-v5 .smart-check-card[class*="tone-"] {
  position: relative;
  display: block;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 17px 26px 17px 0;
  color: var(--senior-ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 .smart-check-card::after {
  position: absolute;
  top: 50%;
  right: 2px;
  color: #8a95a4;
  content: "›";
  font-size: 25px;
  line-height: 1;
  transform: translateY(-50%);
}

/* Search-intent answers: one question per reading row, without card clutter. */
body.senior-portal-v5 .seo-longtail-section {
  margin: 38px 0;
  padding: 30px 0 0;
  border-top: 2px solid var(--senior-ink);
}

body.senior-portal-v5 .seo-longtail-head {
  max-width: 760px;
  margin-bottom: 12px;
}

body.senior-portal-v5 .seo-longtail-head h2 {
  margin: 8px 0 12px;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.3;
}

body.senior-portal-v5 .seo-longtail-head p {
  margin: 0 0 10px;
  color: #253246;
  font-size: 18px;
  line-height: 1.75;
}

body.senior-portal-v5 .seo-longtail-head small {
  display: block;
  color: var(--senior-muted);
  font-size: 15px;
  line-height: 1.6;
}

body.senior-portal-v5 .seo-longtail-list {
  margin-top: 20px;
  border-top: 1px solid var(--senior-line);
}

body.senior-portal-v5 .seo-longtail-answer {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0 12px;
  margin: 0;
  padding: 24px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 .seo-longtail-answer > span {
  grid-row: 1 / 5;
  color: var(--senior-blue);
  font-size: 16px;
  font-weight: 850;
}

body.senior-portal-v5 .seo-longtail-answer h3,
body.senior-portal-v5 .seo-longtail-answer p,
body.senior-portal-v5 .seo-longtail-answer ul,
body.senior-portal-v5 .seo-longtail-answer > em {
  grid-column: 2;
}

body.senior-portal-v5 .seo-longtail-answer h3 {
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.42;
}

body.senior-portal-v5 .seo-longtail-answer p {
  margin: 0;
  color: #344155;
  font-size: 18px;
  line-height: 1.75;
}

body.senior-portal-v5 .seo-longtail-answer ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

body.senior-portal-v5 .seo-longtail-answer li {
  position: relative;
  padding-left: 15px;
  color: #536174;
  font-size: 16px;
  line-height: 1.55;
}

body.senior-portal-v5 .seo-longtail-answer li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--senior-blue);
  content: "·";
  font-weight: 900;
}

body.senior-portal-v5 .seo-longtail-answer > em {
  display: block;
  width: fit-content;
  margin-top: 16px;
  color: var(--senior-blue);
  font-size: 17px;
  font-style: normal;
  font-weight: 850;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

body.senior-portal-v5 .seo-longtail-answer > em::after {
  content: "  ›";
}

@media (max-width: 700px) {
  body.senior-portal-v5 .seo-longtail-section {
    margin: 30px 0;
    padding-top: 24px;
  }

  body.senior-portal-v5 .seo-longtail-head h2 {
    font-size: 27px;
  }

  body.senior-portal-v5 .seo-longtail-head p,
  body.senior-portal-v5 .seo-longtail-answer p {
    font-size: 18px;
  }

  body.senior-portal-v5 .seo-longtail-answer {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 0 8px;
    padding: 22px 0;
  }

  body.senior-portal-v5 .seo-longtail-answer h3 {
    font-size: 21px;
  }
}

/* Topic architecture and check-tool release: answer first, then one clear next step. */
body.senior-portal-v5 .topic-breadcrumb {
  width: 100%;
  padding: 11px 18px;
  overflow-x: auto;
  background: #f7f9fb;
  border-bottom: 1px solid var(--senior-line);
  scrollbar-width: none;
}

body.senior-portal-v5 .topic-breadcrumb::-webkit-scrollbar {
  display: none;
}

body.senior-portal-v5 .topic-breadcrumb ol {
  display: flex;
  min-width: max-content;
  margin: 0;
  padding: 0;
  align-items: center;
  list-style: none;
}

body.senior-portal-v5 .topic-breadcrumb li {
  color: #607086;
  font-size: 13px;
  line-height: 1.4;
}

body.senior-portal-v5 .topic-breadcrumb li + li::before {
  margin: 0 8px;
  color: #9ba7b5;
  content: ">";
}

body.senior-portal-v5 .topic-breadcrumb a {
  color: var(--senior-blue);
  font-weight: 800;
}

@media (max-width: 520px) {
  body.senior-portal-v5 .topic-breadcrumb {
    overflow-x: visible;
  }

  body.senior-portal-v5 .topic-breadcrumb ol {
    min-width: 0;
    flex-wrap: wrap;
  }

  body.senior-portal-v5 .topic-breadcrumb li {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

body.senior-portal-v5 .topic-pillar-main,
body.senior-portal-v5 .medical-cost-check-main {
  width: 100%;
  background: #fff;
}

body.senior-portal-v5 .topic-pillar-main > section,
body.senior-portal-v5 .medical-cost-check-main > section {
  width: 100%;
  margin: 0;
  padding: 30px 18px;
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 :where(.topic-pillar-hero, .check-tool-hero) h1 {
  margin: 5px 0 14px;
  color: var(--senior-ink);
  font-size: 30px;
  line-height: 1.32;
}

body.senior-portal-v5 :where(.topic-pillar-answer, .check-tool-hero > p) {
  margin: 0;
  color: #344459;
  font-size: 18px;
  font-weight: 650;
  line-height: 1.72;
}

body.senior-portal-v5 .topic-key-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 24px;
  border-top: 2px solid var(--senior-ink);
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .topic-key-facts > div {
  min-width: 0;
  padding: 15px 10px 15px 0;
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .topic-key-facts > div:nth-child(2n) {
  padding-right: 0;
  padding-left: 12px;
  border-left: 1px solid var(--senior-line);
}

body.senior-portal-v5 .topic-key-facts > div:nth-last-child(-n + 2) {
  border-bottom: 0;
}

body.senior-portal-v5 .topic-key-facts span,
body.senior-portal-v5 .check-tool-value span,
body.senior-portal-v5 .medical-cost-result-summary span {
  display: block;
  margin-bottom: 5px;
  color: var(--senior-teal);
  font-size: 13px;
  font-weight: 850;
}

body.senior-portal-v5 .topic-key-facts strong {
  display: block;
  color: var(--senior-ink);
  font-size: 17px;
  line-height: 1.45;
}

body.senior-portal-v5 :where(.topic-intent-router, .topic-action-checks, .pillar-tool-bridge, .metadata-related-guides, .check-tool-free-answer) h2 {
  margin: 5px 0 9px;
  color: var(--senior-ink);
  font-size: 24px;
  line-height: 1.4;
}

body.senior-portal-v5 :where(.topic-intent-router, .pillar-tool-bridge, .check-tool-free-answer) > p {
  margin: 0;
  color: #526176;
  font-size: 17px;
  line-height: 1.72;
}

body.senior-portal-v5 .topic-intent-router > div,
body.senior-portal-v5 .metadata-related-guides > div {
  margin-top: 19px;
  border-top: 2px solid var(--senior-ink);
}

body.senior-portal-v5 .topic-intent-router a,
body.senior-portal-v5 .metadata-related-guides a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 14px;
  width: 100%;
  min-height: 92px;
  padding: 16px 0;
  align-items: center;
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .topic-intent-router a strong,
body.senior-portal-v5 .metadata-related-guides a strong {
  color: var(--senior-ink);
  font-size: 18px;
  line-height: 1.45;
}

body.senior-portal-v5 .topic-intent-router a span,
body.senior-portal-v5 .metadata-related-guides a span {
  grid-column: 1;
  color: #5a687b;
  font-size: 15px;
  line-height: 1.58;
}

body.senior-portal-v5 .topic-intent-router a em {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: var(--senior-blue);
  font-size: 14px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}

body.senior-portal-v5 .pillar-tool-bridge {
  background: #f4f8ff !important;
}

body.senior-portal-v5 .pillar-tool-bridge > a,
body.senior-portal-v5 .medical-cost-primary {
  display: flex;
  width: 100%;
  min-height: 58px;
  margin-top: 20px;
  padding: 14px 18px;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--senior-blue);
  border: 0;
  border-radius: 6px;
  font-size: 18px;
  font-weight: 900;
  text-align: center;
}

body.senior-portal-v5 .topic-action-checks ol {
  margin: 19px 0 0;
  padding: 0;
  border-top: 2px solid var(--senior-ink);
  counter-reset: topic-check;
  list-style: none;
}

body.senior-portal-v5 .topic-action-checks li {
  position: relative;
  min-height: 74px;
  margin: 0;
  padding: 16px 0 16px 44px;
  color: #344459;
  border-bottom: 1px solid var(--senior-line);
  font-size: 17px;
  line-height: 1.68;
  counter-increment: topic-check;
}

body.senior-portal-v5 .topic-action-checks li::before {
  position: absolute;
  top: 17px;
  left: 0;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: #fff;
  background: var(--senior-teal);
  border-radius: 50%;
  content: counter(topic-check);
  font-size: 14px;
  font-weight: 900;
}

body.senior-portal-v5 .verified-date {
  display: block;
  background: #f7f9fb !important;
}

body.senior-portal-v5 .verified-date > div > span {
  display: block;
  color: var(--senior-teal);
  font-size: 13px;
  font-weight: 850;
}

body.senior-portal-v5 .verified-date time {
  display: block;
  margin-top: 4px;
  color: var(--senior-ink);
  font-size: 22px;
  font-weight: 900;
}

body.senior-portal-v5 .verified-date p {
  margin: 7px 0 0;
  color: #667386;
  font-size: 15px;
  line-height: 1.6;
}

body.senior-portal-v5 .verified-date nav {
  display: grid;
  margin-top: 17px;
  border-top: 1px solid #cfd8e2;
}

body.senior-portal-v5 .verified-date a {
  padding: 14px 0;
  color: var(--senior-blue);
  border-bottom: 1px solid var(--senior-line);
  font-size: 16px;
  font-weight: 850;
  line-height: 1.5;
}

body.senior-portal-v5 .check-tool-value {
  margin-top: 22px;
  padding: 16px 0;
  border-top: 2px solid var(--senior-ink);
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .check-tool-value strong {
  display: block;
  color: var(--senior-ink);
  font-size: 17px;
  line-height: 1.55;
}

body.senior-portal-v5 .check-tool-progress {
  margin-bottom: 24px;
}

body.senior-portal-v5 .check-tool-progress > span {
  display: block;
  margin-bottom: 8px;
  color: var(--senior-teal);
  font-size: 15px;
  font-weight: 900;
}

body.senior-portal-v5 .check-tool-progress > div {
  width: 100%;
  height: 6px;
  overflow: hidden;
  background: #e3e9ef;
  border-radius: 3px;
}

body.senior-portal-v5 .check-tool-progress i {
  display: block;
  width: 25%;
  height: 100%;
  background: var(--senior-blue);
  transition: width .2s ease;
}

body.senior-portal-v5 .check-tool-panel fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

body.senior-portal-v5 .check-tool-panel legend {
  width: 100%;
  margin-bottom: 14px;
  color: var(--senior-ink);
  font-size: 23px;
  font-weight: 900;
  line-height: 1.45;
}

body.senior-portal-v5 .check-tool-panel label {
  display: flex;
  min-height: 70px;
  padding: 14px 0;
  gap: 12px;
  align-items: flex-start;
  border-bottom: 1px solid var(--senior-line);
  cursor: pointer;
}

body.senior-portal-v5 .check-tool-panel label:first-of-type {
  border-top: 2px solid var(--senior-ink);
}

body.senior-portal-v5 .check-tool-panel input[type="radio"] {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin: 2px 0 0;
  accent-color: var(--senior-blue);
}

body.senior-portal-v5 .check-tool-panel label span,
body.senior-portal-v5 .check-tool-panel label strong,
body.senior-portal-v5 .check-tool-panel label small {
  display: block;
}

body.senior-portal-v5 .check-tool-panel label strong {
  color: var(--senior-ink);
  font-size: 18px;
  line-height: 1.45;
}

body.senior-portal-v5 .check-tool-panel label small {
  margin-top: 4px;
  color: #607086;
  font-size: 15px;
  line-height: 1.5;
}

body.senior-portal-v5 .check-tool-error {
  min-height: 25px;
  margin: 12px 0 0;
  color: #b33a26;
  font-size: 15px;
  font-weight: 800;
}

body.senior-portal-v5 .check-tool-actions {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
}

body.senior-portal-v5 .check-tool-actions button,
body.senior-portal-v5 .medical-cost-restart {
  min-height: 56px;
  padding: 13px 18px;
  border: 1px solid #c9d3de;
  border-radius: 6px;
  background: #fff;
  color: var(--senior-ink);
  font-size: 17px;
  font-weight: 900;
}

body.senior-portal-v5 .check-tool-actions [data-medical-cost-next],
body.senior-portal-v5 .check-tool-actions [data-medical-cost-submit] {
  color: #fff;
  background: var(--senior-blue);
  border-color: var(--senior-blue);
}

body.senior-portal-v5 .medical-cost-result h2 {
  margin: 5px 0 18px;
  font-size: 26px;
  line-height: 1.4;
}

body.senior-portal-v5 .medical-cost-result-summary {
  border-top: 2px solid var(--senior-ink);
}

body.senior-portal-v5 .medical-cost-result-summary > div {
  padding: 14px 0;
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .medical-cost-result-summary strong {
  display: block;
  color: var(--senior-ink);
  font-size: 18px;
  line-height: 1.5;
}

body.senior-portal-v5 .medical-cost-result h3 {
  margin: 24px 0 8px;
  font-size: 20px;
}

body.senior-portal-v5 .medical-cost-result :where(ol, ul) {
  margin: 0;
  padding: 0 0 0 24px;
}

body.senior-portal-v5 .medical-cost-result li {
  margin: 9px 0;
  color: #344459;
  font-size: 17px;
  line-height: 1.62;
}

body.senior-portal-v5 .medical-cost-restart {
  width: 100%;
  margin-top: 10px;
}

body.senior-portal-v5 .check-tool-privacy {
  margin: 18px 0 0;
  color: #687588;
  font-size: 14px;
  text-align: center;
}

body.senior-portal-v5 .topic-pillar-faq .faq-section,
body.senior-portal-v5 .topic-pillar-faq > section {
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
}

body.senior-portal-v5 [hidden] {
  display: none !important;
}

/* Senior reading parity: readable type and full-row internal navigation. */
body.senior-portal-v5 main p,
body.senior-portal-v5 main li,
body.senior-portal-v5 main dd,
body.senior-portal-v5 main blockquote {
  font-size: max(17px, 1em) !important;
  line-height: 1.75;
}

body.senior-portal-v5 main :where(
  .section > p,
  article > p,
  .section-head p,
  .smart-blog-section > p,
  .health-blog-longform > p,
  .benefit-blog-longform > p
) {
  font-size: max(18px, 1em) !important;
}

body.senior-portal-v5 main small,
body.senior-portal-v5 main time,
body.senior-portal-v5 main figcaption,
body.senior-portal-v5 main .section-eyebrow,
body.senior-portal-v5 main .category,
body.senior-portal-v5 main .official-checked-date,
body.senior-portal-v5 main .sponsor-offer-label {
  font-size: 15px !important;
  line-height: 1.6;
}

body.senior-portal-v5 main summary,
body.senior-portal-v5 main button,
body.senior-portal-v5 main input,
body.senior-portal-v5 main select,
body.senior-portal-v5 main textarea {
  font-size: max(17px, 1em) !important;
}

body.senior-portal-v5 main th,
body.senior-portal-v5 main td,
body.senior-portal-v5 main [role="cell"],
body.senior-portal-v5 main [role="columnheader"] {
  font-size: max(16px, 1em) !important;
  line-height: 1.65;
}

body.senior-portal-v5 .answer-official-bar span,
body.senior-portal-v5 .db-official-box :where(p, a),
body.senior-portal-v5 .db-contact,
body.senior-portal-v5 .howto-step-link em,
body.senior-portal-v5 .site-continuation-secondary :where(span, em) {
  font-size: 16px;
}

body.senior-portal-v5 .smart-toc a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 8px 0;
  font-size: 16px;
}

body.senior-portal-v5 .revenue-quickbar a {
  font-size: 13px;
  line-height: 1.2;
}

body.senior-portal-v5 a[data-content-continuation],
body.senior-portal-v5 .howto-step-link,
body.senior-portal-v5 .clickable-content-card {
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(21, 87, 192, 0.12);
}

body.senior-portal-v5 .seo-longtail-answer:is(a) {
  min-height: 48px;
  padding-right: 30px;
  color: inherit;
  text-decoration: none;
}

body.senior-portal-v5 .seo-longtail-answer:is(a)::after {
  position: absolute;
  top: 24px;
  right: 2px;
  color: #7d8998;
  content: "›";
  font-size: 28px;
  line-height: 1;
}

body.senior-portal-v5 :where(
  a[data-content-continuation],
  .howto-step-link,
  .clickable-content-card
):focus-visible {
  outline: 3px solid rgba(21, 87, 192, 0.3);
  outline-offset: 3px;
}

body.senior-portal-v5 :where(
  .seo-longtail-answer:is(a),
  .senior-reading-list > a,
  .guide-row,
  .smart-reading-row,
  .medical-refund-fit-card,
  .medical-refund-decision-card,
  .medical-refund-center-row,
  .parent-cost-row,
  .howto-step-link
):active {
  background: #f4f7fb;
}

@media (hover: hover) {
  body.senior-portal-v5 :where(
    .seo-longtail-answer:is(a),
    .senior-reading-list > a,
    .guide-row,
    .smart-reading-row,
    .medical-refund-fit-card,
    .medical-refund-decision-card,
    .medical-refund-center-row,
    .parent-cost-row,
    .howto-step-link
  ):hover {
    background: #f7f9fc;
  }
}

@media (max-width: 700px) {
  body.senior-portal-v5 main p,
  body.senior-portal-v5 main li,
  body.senior-portal-v5 main dd,
  body.senior-portal-v5 main blockquote {
    font-size: max(18px, 1em) !important;
    line-height: 1.78;
  }

  body.senior-portal-v5 main small,
  body.senior-portal-v5 main time,
  body.senior-portal-v5 main figcaption,
  body.senior-portal-v5 main .section-eyebrow,
  body.senior-portal-v5 main .category,
  body.senior-portal-v5 main .official-checked-date,
  body.senior-portal-v5 main .sponsor-offer-label {
    font-size: 15px !important;
  }

  body.senior-portal-v5 .seo-longtail-answer li,
  body.senior-portal-v5 .seo-longtail-answer > em {
    font-size: 17px;
  }
}

/* Whole-row reading links: the text itself is the tap target. */
body.senior-portal-v5 :where(
  .answer-summary-row,
  .high-rpm-intent-row,
  .benefit-memo-row,
  .db-card-link,
  .smart-compare-row,
  .core-condition-row,
  .problem-region-cost-row,
  .smart-blog-point-link,
  .health-diary-row,
  .official-guide-check-row,
  .db-timing-link
) {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 52px;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(21, 87, 192, 0.12);
}

body.senior-portal-v5 .answer-summary-grid > .answer-summary-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0;
  padding: 13px 34px 13px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
}

body.senior-portal-v5 .answer-summary-grid > .answer-summary-row:first-child {
  border-top: 1px solid var(--senior-line);
}

body.senior-portal-v5 .high-rpm-intent-grid > .high-rpm-intent-row,
body.senior-portal-v5 .benefit-memo-grid > .benefit-memo-row {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 16px 34px 16px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--senior-line);
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 .db-card-grid > .db-card-link {
  padding-right: 34px;
}

body.senior-portal-v5 .smart-compare-table > .smart-compare-row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  padding-right: 32px;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--senior-line);
  border-radius: 0;
}

body.senior-portal-v5 .core-condition-table > .core-condition-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 14px;
  padding: 13px 34px 13px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(30, 45, 40, .14);
}

body.senior-portal-v5 :where(
  .answer-summary-row,
  .high-rpm-intent-row,
  .benefit-memo-row,
  .db-card-link,
  .smart-compare-row,
  .core-condition-row,
  .problem-region-cost-row,
  .smart-blog-point-link,
  .health-diary-row,
  .official-guide-check-row,
  .db-timing-link
)::after {
  position: absolute;
  top: 50%;
  right: 2px;
  color: #7d8998;
  content: "›";
  font-size: 28px;
  line-height: 1;
  transform: translateY(-50%);
}

body.senior-portal-v5 :where(
  .answer-summary-row,
  .high-rpm-intent-row,
  .benefit-memo-row,
  .db-card-link,
  .smart-compare-row,
  .core-condition-row,
  .problem-region-cost-row,
  .smart-blog-point-link,
  .health-diary-row,
  .official-guide-check-row,
  .db-timing-link
):focus-visible {
  outline: 3px solid rgba(21, 87, 192, 0.3);
  outline-offset: 3px;
}

body.senior-portal-v5 :where(
  .answer-summary-row,
  .high-rpm-intent-row,
  .benefit-memo-row,
  .db-card-link,
  .smart-compare-row,
  .core-condition-row,
  .problem-region-cost-row,
  .smart-blog-point-link,
  .health-diary-row,
  .official-guide-check-row,
  .db-timing-link
):active {
  background: #f4f7fb;
}

@media (hover: hover) {
  body.senior-portal-v5 :where(
    .answer-summary-row,
    .high-rpm-intent-row,
    .benefit-memo-row,
    .db-card-link,
    .smart-compare-row,
    .core-condition-row,
    .problem-region-cost-row,
    .smart-blog-point-link,
    .health-diary-row,
    .official-guide-check-row,
    .db-timing-link
  ):hover {
    background: #f7f9fc;
  }
}

body.senior-portal-v5 .problem-region-cost-table > .problem-region-cost-row {
  display: grid;
  grid-template-columns: .8fr 1.25fr 1fr 1.45fr;
  min-width: 0;
  padding-right: 30px;
  border-top: 1px solid #dfe9e7;
}

body.senior-portal-v5 .smart-blog-point-link {
  padding-right: 34px;
}

body.senior-portal-v5 .health-diary-grid > .health-diary-row {
  display: block;
  padding: 16px 34px 16px 16px;
  border: 1px solid #dfe9ea;
  border-radius: 8px;
  background: #f9fbfb;
}

body.senior-portal-v5 .official-guide-checks li {
  list-style: none;
}

body.senior-portal-v5 .official-guide-checks ol {
  padding-left: 0;
}

body.senior-portal-v5 .official-guide-check-row {
  display: block;
  padding: 14px 34px 14px 0;
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .db-timing-link {
  display: block;
  padding-right: 34px;
}

@media (max-width: 700px) {
  body.senior-portal-v5 .answer-summary-grid > .answer-summary-row {
    grid-template-columns: 86px minmax(0, 1fr);
    padding-block: 15px;
  }

  body.senior-portal-v5 .answer-summary-row strong,
  body.senior-portal-v5 .high-rpm-intent-row strong,
  body.senior-portal-v5 .benefit-memo-row strong {
    font-size: 18px;
    line-height: 1.55;
  }

  body.senior-portal-v5 .smart-compare-table > .smart-compare-row,
  body.senior-portal-v5 .core-condition-table > .core-condition-row {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 16px 32px 16px 0;
  }

  body.senior-portal-v5 .smart-compare-row > span,
  body.senior-portal-v5 .core-condition-row > [role="cell"] {
    padding-top: 5px;
    border-top: 0;
  }

  body.senior-portal-v5 .problem-region-cost-table > .problem-region-cost-row {
    grid-template-columns: 1fr;
    margin: 0;
    padding: 12px 32px 12px 0;
    border: 0;
    border-top: 1px solid var(--senior-line);
    border-radius: 0;
    overflow: visible;
  }

  body.senior-portal-v5 .problem-region-cost-row > span {
    padding: 5px 0;
  }

  body.senior-portal-v5 .smart-blog-point-link {
    padding-right: 32px;
  }

  body.senior-portal-v5 .health-diary-grid > .health-diary-row {
    padding: 15px 32px 15px 0;
    border: 0;
    border-top: 1px solid var(--senior-line);
    border-radius: 0;
    background: transparent;
  }
}

/* Senior home v6: 60-74 self-first navigation and AdSense reading path. */
body.senior-portal-v5 .adsense-first-home {
  background: #fff;
}

body.senior-portal-v5[data-hh-page="home"] {
  padding-bottom: calc(64px + env(safe-area-inset-bottom));
}

body.senior-portal-v5[data-hh-page="home"] .revenue-quickbar {
  display: grid !important;
}

body.senior-portal-v5[data-hh-page="home"] :where(.home-portal-nav-head, .home-portal-quick-grid) {
  display: none;
}

body.senior-portal-v5 .adsense-first-home > :where(section, aside) {
  max-width: 1060px;
  margin-right: auto;
  margin-left: auto;
}

body.senior-portal-v5 .home-portal-intro {
  padding: 24px 18px 30px;
}

body.senior-portal-v5 .home-portal-hero-grid {
  display: grid;
  gap: 17px;
  width: 100%;
}

body.senior-portal-v5 .home-portal-copy {
  min-width: 0;
}

body.senior-portal-v5 .home-portal-intro h1 {
  max-width: 470px;
  margin: 5px 0 12px;
  font-size: 30px;
  line-height: 1.3;
}

body.senior-portal-v5 .home-portal-lead {
  max-width: 620px;
  color: #48576a;
  font-size: 18px;
  line-height: 1.72;
}

body.senior-portal-v5 .home-portal-photo {
  width: 100%;
  margin: 0;
  overflow: hidden;
  background: #eef4f2;
}

body.senior-portal-v5 .home-portal-photo img {
  width: 100%;
  aspect-ratio: 16 / 8.6;
  object-fit: cover;
  object-position: center 42%;
}

body.senior-portal-v5 .home-portal-search {
  max-width: 660px;
  height: 54px;
  margin: 18px 0 24px;
  border-color: var(--senior-blue);
  border-radius: 5px;
}

body.senior-portal-v5 .home-portal-search input {
  height: 50px;
  font-size: 17px;
}

body.senior-portal-v5 .home-portal-search button {
  flex-basis: 54px;
  width: 54px;
  height: 50px;
}

body.senior-portal-v5 .home-portal-nav-head {
  display: flex;
  gap: 8px 18px;
  margin: 0 0 10px;
  align-items: baseline;
  justify-content: space-between;
}

body.senior-portal-v5 .home-portal-nav-head strong {
  color: var(--senior-ink);
  font-size: 20px;
  line-height: 1.45;
}

body.senior-portal-v5 .home-portal-nav-head span {
  color: var(--senior-muted);
  font-size: 15px;
  line-height: 1.5;
}

body.senior-portal-v5 .home-portal-quick-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--senior-line);
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .home-portal-quick-grid a,
body.senior-portal-v5 .home-portal-quick-grid a:nth-child(2n),
body.senior-portal-v5 .home-portal-quick-grid a:nth-last-child(-n + 2) {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 26px auto auto;
  min-height: 100px;
  padding: 13px 5px;
  place-items: center;
  border: 0;
  border-right: 1px solid var(--senior-line);
  text-align: center;
}

body.senior-portal-v5 .home-portal-quick-grid a:last-child {
  border-right: 0;
}

body.senior-portal-v5 .home-portal-quick-grid a::after {
  content: none;
}

body.senior-portal-v5 .home-portal-quick-grid .home-quick-icon {
  grid-row: auto;
  width: 24px;
  height: 24px;
  color: var(--senior-blue);
}

body.senior-portal-v5 .home-portal-quick-grid .home-quick-icon svg {
  width: 20px;
  height: 20px;
}

body.senior-portal-v5 .home-portal-quick-grid b,
body.senior-portal-v5 .home-portal-quick-grid a > span:last-child {
  grid-column: auto;
}

body.senior-portal-v5 .home-portal-quick-grid b {
  margin: 3px 0 0;
  font-size: 15px;
  line-height: 1.35;
  white-space: nowrap;
}

body.senior-portal-v5 .home-portal-quick-grid a > span:last-child {
  margin-top: 3px;
  font-size: 13px;
  line-height: 1.4;
}

body.senior-portal-v5 .home-portal-feature {
  position: relative;
  margin-top: 22px;
  padding: 20px 36px 0 0;
  border-top: 0;
}

body.senior-portal-v5 .home-portal-feature::after {
  position: absolute;
  top: 50%;
  right: 2px;
  color: #7d8998;
  content: "›";
  font-size: 30px;
  line-height: 1;
  transform: translateY(-50%);
}

body.senior-portal-v5 .home-portal-feature h2 {
  margin-top: 6px;
  font-size: 23px;
  line-height: 1.42;
}

body.senior-portal-v5 .home-portal-feature p {
  font-size: 17px;
  line-height: 1.7;
}

body.senior-portal-v5 .home-feature-action {
  font-size: 16px;
}

body.senior-portal-v5 .adsense-first-home .section {
  padding-top: 34px;
  padding-bottom: 34px;
}

body.senior-portal-v5 .adsense-first-home :where(.section-head, .compact-head) h2,
body.senior-portal-v5 .adsense-first-home .section > h2 {
  font-size: 25px;
  line-height: 1.42;
}

body.senior-portal-v5 .adsense-first-home :where(.section-head, .compact-head) p,
body.senior-portal-v5 .adsense-first-home .section > p {
  font-size: 17px;
  line-height: 1.72;
}

body.senior-portal-v5 .adsense-first-home :where(.home-rpm-card, .senior-reading-list > a) {
  position: relative;
  min-height: 118px;
  padding: 20px 38px 20px 0;
}

body.senior-portal-v5 .adsense-first-home :where(.home-rpm-card, .senior-reading-list > a)::after {
  position: absolute;
  top: 50%;
  right: 2px;
  color: #7d8998;
  content: "›";
  font-size: 29px;
  line-height: 1;
  transform: translateY(-50%);
}

body.senior-portal-v5 .adsense-first-home :where(.home-rpm-card, .senior-reading-list > a) > span {
  font-size: 15px;
}

body.senior-portal-v5 .adsense-first-home :where(.home-rpm-card, .senior-reading-list > a) strong {
  font-size: 19px;
  line-height: 1.5;
}

body.senior-portal-v5 .adsense-first-home :where(.home-rpm-card, .senior-reading-list > a) p {
  font-size: 16px;
  line-height: 1.68;
}

body.senior-portal-v5 .adsense-first-home :where(.home-rpm-action, .senior-reading-list em) {
  font-size: 15px;
}

@media (max-width: 700px) {
  body.senior-portal-v5 .home-portal-intro h1 {
    font-size: 30px;
  }

  body.senior-portal-v5 .home-portal-photo img {
    aspect-ratio: 16 / 8.4;
  }

  body.senior-portal-v5 .home-portal-nav-head {
    display: block;
  }

  body.senior-portal-v5 .home-portal-nav-head span {
    display: block;
    margin-top: 3px;
  }

  body.senior-portal-v5 .home-portal-quick-grid a,
  body.senior-portal-v5 .home-portal-quick-grid a:nth-child(2n),
  body.senior-portal-v5 .home-portal-quick-grid a:nth-last-child(-n + 2) {
    grid-template-rows: 25px auto;
    min-height: 78px;
    padding: 10px 2px;
  }

  body.senior-portal-v5 .home-portal-quick-grid b {
    font-size: 13px;
  }

  body.senior-portal-v5 .home-portal-quick-grid a > span:last-child {
    display: none;
  }
}

@media (min-width: 900px) {
  body.senior-portal-v5[data-hh-page="home"] {
    max-width: none;
    padding-bottom: 0;
    background: #f3f6f8;
  }

  body.senior-portal-v5[data-hh-page="home"] .header-inner {
    max-width: 1120px;
    margin: 0 auto;
    padding-right: 22px;
    padding-left: 22px;
  }

  body.senior-portal-v5[data-hh-page="home"] :where(.nav, .header-inner > .nav) {
    display: flex !important;
    gap: 26px;
    margin-left: auto;
    align-items: center;
  }

  body.senior-portal-v5[data-hh-page="home"] .nav a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: #344255;
    font-size: 15px;
    font-weight: 750;
    white-space: nowrap;
  }

  body.senior-portal-v5[data-hh-page="home"] .revenue-quickbar {
    display: none !important;
  }

  body.senior-portal-v5[data-hh-page="home"] :where(.home-portal-nav-head, .home-portal-quick-grid) {
    display: none;
  }

  body.senior-portal-v5 .adsense-first-home {
    padding: 34px 0 70px;
    background: #fff;
  }

  body.senior-portal-v5 .home-portal-intro,
  body.senior-portal-v5 .adsense-first-home .section {
    padding-right: 42px;
    padding-left: 42px;
  }

  body.senior-portal-v5 .home-portal-hero-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    gap: 48px;
    align-items: center;
  }

  body.senior-portal-v5 .home-portal-intro h1 {
    max-width: 620px;
    font-size: 45px;
    line-height: 1.22;
  }

  body.senior-portal-v5 .home-portal-photo img {
    aspect-ratio: 4 / 3;
  }

  body.senior-portal-v5 .home-portal-search {
    margin-top: 24px;
  }

  body.senior-portal-v5 .home-rpm-grid,
  body.senior-portal-v5 .home-demand-section .senior-reading-list,
  body.senior-portal-v5 .home-expansion-section .senior-reading-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 38px;
  }

  body.senior-portal-v5 .adsense-first-home :where(.home-rpm-card, .senior-reading-list > a) {
    min-height: 155px;
  }
}

/* Home uses one navigation surface per viewport: bottom dock on mobile, header on desktop. */
body.senior-portal-v5[data-hh-page="home"] :where(.home-portal-nav-head, .home-portal-quick-grid) {
  display: none !important;
}

/* Reusable long-tail blog layout: dense answers without stacked card clutter. */
body.senior-portal-v5 .seo-longtail-article {
  margin: 34px 0 44px;
}

body.senior-portal-v5 .seo-longtail-toc {
  margin: 0 0 42px;
  padding: 22px 0;
  border-top: 2px solid var(--senior-ink);
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .seo-longtail-toc > strong {
  display: block;
  margin-bottom: 12px;
  color: var(--senior-ink);
  font-size: 22px;
  line-height: 1.4;
}

body.senior-portal-v5 .seo-longtail-toc ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 34px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: longtail-toc;
}

body.senior-portal-v5 .seo-longtail-toc li {
  min-width: 0;
  counter-increment: longtail-toc;
}

body.senior-portal-v5 .seo-longtail-toc a {
  position: relative;
  display: block;
  min-height: 48px;
  padding: 11px 30px 11px 34px;
  border-bottom: 1px solid var(--senior-line);
  color: #243349;
  font-size: 17px;
  font-weight: 780;
  line-height: 1.55;
}

body.senior-portal-v5 .seo-longtail-toc a::before {
  position: absolute;
  top: 11px;
  left: 0;
  color: var(--senior-blue);
  content: counter(longtail-toc, decimal-leading-zero);
  font-size: 14px;
  font-weight: 850;
}

body.senior-portal-v5 .seo-longtail-toc a::after {
  position: absolute;
  top: 9px;
  right: 2px;
  color: #8793a2;
  content: "↓";
  font-size: 18px;
}

body.senior-portal-v5 .seo-longtail-blog-section {
  scroll-margin-top: 92px;
  margin: 0;
  padding: 42px 0 44px;
  border-top: 1px solid var(--senior-line);
}

body.senior-portal-v5 .seo-longtail-blog-section:first-of-type {
  border-top: 0;
}

body.senior-portal-v5 .seo-longtail-blog-section h2 {
  max-width: 790px;
  margin: 7px 0 18px;
  color: var(--senior-ink);
  font-size: 32px;
  line-height: 1.34;
}

body.senior-portal-v5 .seo-longtail-blog-section > p:not(.seo-longtail-note) {
  max-width: 800px;
  margin: 0 0 18px;
  color: #2e3b4e;
  font-size: 19px !important;
  line-height: 1.82;
}

body.senior-portal-v5 .seo-longtail-explain-list {
  margin: 26px 0 0;
  padding: 0;
  border-top: 1px solid var(--senior-line);
  list-style: none;
}

body.senior-portal-v5 .seo-longtail-explain-list li {
  display: grid;
  grid-template-columns: minmax(170px, .34fr) minmax(0, 1fr);
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid var(--senior-line);
}

body.senior-portal-v5 .seo-longtail-explain-list strong {
  color: var(--senior-blue);
  font-size: 18px;
  line-height: 1.55;
}

body.senior-portal-v5 .seo-longtail-explain-list span {
  color: #344155;
  font-size: 18px;
  line-height: 1.7;
}

body.senior-portal-v5 .seo-longtail-table-wrap {
  width: 100%;
  margin: 28px 0 8px;
}

body.senior-portal-v5 .seo-longtail-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

body.senior-portal-v5 .seo-longtail-table caption {
  padding: 0 0 13px;
  color: var(--senior-ink);
  font-size: 20px;
  font-weight: 850;
  line-height: 1.5;
  text-align: left;
}

body.senior-portal-v5 .seo-longtail-table th,
body.senior-portal-v5 .seo-longtail-table td {
  padding: 15px 13px;
  border-right: 0;
  border-bottom: 1px solid var(--senior-line);
  color: #344155;
  font-size: 16px;
  line-height: 1.65;
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

body.senior-portal-v5 .seo-longtail-table th {
  border-top: 2px solid var(--senior-ink);
  background: #f5f7f9;
  color: var(--senior-ink);
  font-weight: 850;
}

body.senior-portal-v5 .seo-longtail-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 30px;
  margin: 24px 0 0;
  padding: 0;
  border-top: 1px solid var(--senior-line);
  list-style: none;
}

body.senior-portal-v5 .seo-longtail-checklist li {
  position: relative;
  min-height: 56px;
  padding: 15px 0 15px 32px;
  border-bottom: 1px solid var(--senior-line);
  color: #2f3e51;
  font-size: 18px;
  line-height: 1.6;
}

body.senior-portal-v5 .seo-longtail-checklist li::before {
  position: absolute;
  top: 15px;
  left: 0;
  width: 22px;
  height: 22px;
  border: 2px solid var(--senior-blue);
  content: "";
}

body.senior-portal-v5 .seo-longtail-next-links {
  margin-top: 24px;
  border-top: 1px solid var(--senior-line);
}

body.senior-portal-v5 .seo-longtail-next-links a {
  display: flex;
  min-height: 58px;
  padding: 15px 2px;
  border-bottom: 1px solid var(--senior-line);
  align-items: center;
  justify-content: space-between;
  color: var(--senior-blue);
  font-size: 18px;
  font-weight: 850;
  line-height: 1.55;
}

body.senior-portal-v5 .seo-longtail-next-links span {
  font-size: 25px;
}

body.senior-portal-v5 .seo-longtail-note {
  max-width: 800px;
  margin: 24px 0 0;
  padding: 18px 0;
  border-top: 1px solid #b8c6d2;
  border-bottom: 1px solid #b8c6d2;
  color: #39485b;
  font-size: 17px !important;
  line-height: 1.7;
}

body.senior-portal-v5 .seo-longtail-note strong {
  display: block;
  margin-bottom: 5px;
  color: var(--senior-blue);
  font-size: 16px;
}

body.senior-portal-v5 .seo-longtail-mid-ad {
  margin: 10px 0 38px;
}

/* 60-74 travel: editorial comparison first, booking actions second. */
body.senior-portal-v5 .senior-travel-v2 {
  max-width: 1180px;
}

body.senior-portal-v5 .senior-travel-v2 .senior-travel-hero {
  margin-bottom: 34px;
}

body.senior-portal-v5 .senior-travel-v2 .senior-travel-hero h1 {
  max-width: 720px;
  color: #10243b;
  font-size: 44px;
  line-height: 1.24;
}

body.senior-portal-v5 .senior-travel-v2 .senior-travel-hero p {
  color: #35465a;
  font-size: 19px;
  line-height: 1.78;
}

body.senior-portal-v5 .travel-hero-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 18px;
  margin-top: 22px;
}

body.senior-portal-v5 .travel-hero-jump a {
  min-height: 46px;
  padding: 10px 0 7px;
  border-bottom: 2px solid #167b70;
  color: #0b665d;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.5;
}

body.senior-portal-v5 .travel-decision-strip {
  margin: 34px 0 0;
  padding: 28px 0 30px;
  border-top: 2px solid #153a5b;
  border-bottom: 1px solid #b8c7d3;
}

body.senior-portal-v5 .travel-decision-strip > span,
body.senior-portal-v5 .travel-group-heading > span,
body.senior-portal-v5 .travel-booking-checklist > span {
  display: block;
  margin-bottom: 7px;
  color: #b8492d;
  font-size: 16px;
  font-weight: 900;
}

body.senior-portal-v5 .travel-decision-strip h2,
body.senior-portal-v5 .travel-group-heading h2,
body.senior-portal-v5 .travel-booking-checklist h2 {
  margin: 0;
  color: #10243b;
  font-size: 30px;
  line-height: 1.36;
}

body.senior-portal-v5 .travel-decision-strip > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 22px;
  border-top: 1px solid #ced8df;
}

body.senior-portal-v5 .travel-decision-strip a {
  min-width: 0;
  padding: 18px 20px 18px 0;
  border-bottom: 1px solid #ced8df;
  color: #10243b;
}

body.senior-portal-v5 .travel-decision-strip a + a {
  padding-left: 20px;
  border-left: 1px solid #ced8df;
}

body.senior-portal-v5 .travel-decision-strip strong,
body.senior-portal-v5 .travel-decision-strip span {
  display: block;
  overflow-wrap: anywhere;
}

body.senior-portal-v5 .travel-decision-strip strong {
  color: #0b7167;
  font-size: 18px;
}

body.senior-portal-v5 .travel-decision-strip a span {
  margin-top: 5px;
  font-size: 17px;
  font-weight: 750;
  line-height: 1.55;
}

body.senior-portal-v5 .travel-connect-disclosure {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 5px 12px;
  margin: 25px 0 10px;
  padding: 16px 0;
  border-bottom: 1px solid #d4dce2;
  color: #526071;
  font-size: 15px;
  line-height: 1.65;
}

body.senior-portal-v5 .travel-connect-disclosure strong {
  color: #25384d;
}

body.senior-portal-v5 .travel-connect-disclosure small {
  grid-column: 2;
  color: #667383;
  font-size: 15px;
  line-height: 1.65;
}

body.senior-portal-v5 .travel-package-group {
  padding: 48px 0 16px;
}

body.senior-portal-v5 .travel-group-heading {
  max-width: 850px;
  margin-bottom: 19px;
}

body.senior-portal-v5 .travel-group-heading p {
  margin: 10px 0 0;
  color: #455568;
  font-size: 18px;
  line-height: 1.7;
}

body.senior-portal-v5 .travel-package-list {
  border-top: 2px solid #153a5b;
}

body.senior-portal-v5 .travel-package-row {
  display: grid;
  grid-template-columns: minmax(230px, .85fr) minmax(320px, 1.25fr) minmax(230px, .72fr);
  gap: 28px;
  align-items: center;
  padding: 28px 0;
  border-bottom: 1px solid #cbd5dd;
}

body.senior-portal-v5 .travel-package-row header,
body.senior-portal-v5 .travel-package-details,
body.senior-portal-v5 .travel-package-details p {
  min-width: 0;
}

body.senior-portal-v5 .travel-package-row header > p {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  margin: 0 0 9px;
}

body.senior-portal-v5 .travel-package-row header > p span {
  color: #0b7167;
  font-size: 17px;
  font-weight: 900;
}

body.senior-portal-v5 .travel-package-row header > p strong {
  color: #a6402b;
  font-size: 16px;
}

body.senior-portal-v5 .travel-package-row h3 {
  margin: 0;
  color: #10243b;
  font-size: 23px;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

body.senior-portal-v5 .travel-package-row header > em {
  display: block;
  margin-top: 9px;
  color: #47576a;
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.62;
}

body.senior-portal-v5 .travel-package-details {
  border-top: 1px solid #dce3e8;
}

body.senior-portal-v5 .travel-package-details p {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 14px;
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid #dce3e8;
  font-size: 16px;
  line-height: 1.62;
}

body.senior-portal-v5 .travel-package-details strong {
  color: #0b7167;
}

body.senior-portal-v5 .travel-package-details span {
  min-width: 0;
  color: #3f4d5e;
  overflow-wrap: anywhere;
}

body.senior-portal-v5 .travel-connect-action {
  display: flex;
  min-height: 86px;
  scroll-margin-bottom: 92px;
  padding: 17px 18px;
  border: 2px solid #c84027;
  border-radius: 6px;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  background: #c84027;
  color: #fff;
  text-decoration: none;
}

body.senior-portal-v5 .travel-connect-action:hover,
body.senior-portal-v5 .travel-connect-action:focus-visible {
  background: #a9311d;
  border-color: #a9311d;
}

body.senior-portal-v5 .travel-connect-action span,
body.senior-portal-v5 .travel-connect-action small {
  display: block;
  overflow-wrap: anywhere;
}

body.senior-portal-v5 .travel-connect-action span {
  font-size: 18px;
  font-weight: 900;
  line-height: 1.4;
}

body.senior-portal-v5 .travel-connect-action small {
  margin-top: 4px;
  color: #fff;
  font-size: 15px;
  line-height: 1.45;
}

body.senior-portal-v5 .travel-reading-break {
  max-width: 880px;
  margin: 24px 0 32px;
  padding: 21px 0;
  border-top: 1px solid #91a6b6;
  border-bottom: 1px solid #91a6b6;
}

body.senior-portal-v5 .travel-reading-break strong {
  display: block;
  color: #10243b;
  font-size: 20px;
}

body.senior-portal-v5 .travel-reading-break p {
  margin: 7px 0 0;
  color: #435267;
  font-size: 18px;
  line-height: 1.75;
}

body.senior-portal-v5 .travel-booking-checklist {
  margin: 45px 0 32px;
  padding: 31px 0;
  border-top: 2px solid #153a5b;
  border-bottom: 1px solid #aebdca;
}

body.senior-portal-v5 .travel-booking-checklist ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: travel-check;
}

body.senior-portal-v5 .travel-booking-checklist li {
  display: grid;
  grid-template-columns: 42px 86px minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
  padding: 15px 0;
  border-bottom: 1px solid #d3dce3;
  align-items: start;
  counter-increment: travel-check;
}

body.senior-portal-v5 .travel-booking-checklist li::before {
  display: grid;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  place-items: center;
  background: #e2f2ee;
  color: #0b7167;
  content: counter(travel-check);
  font-size: 16px;
  font-weight: 900;
}

body.senior-portal-v5 .travel-booking-checklist strong {
  color: #10243b;
  font-size: 17px;
}

body.senior-portal-v5 .travel-booking-checklist li span {
  min-width: 0;
  color: #435267;
  font-size: 17px;
  line-height: 1.6;
}

body.senior-portal-v5 .travel-health-note {
  margin: 30px 0 0;
  padding: 18px 0;
  border-top: 1px solid #b9c5ce;
  color: #4d5b6c;
  font-size: 17px;
  line-height: 1.7;
}

@media (max-width: 900px) {
  body.senior-portal-v5 .travel-package-row {
    grid-template-columns: minmax(0, 1fr) minmax(250px, .8fr);
  }

  body.senior-portal-v5 .travel-package-details {
    grid-column: 1;
  }

  body.senior-portal-v5 .travel-connect-action {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 700px) {
  body.senior-portal-v5 .senior-travel-v2 .senior-travel-hero h1 {
    font-size: 34px;
    line-height: 1.28;
  }

  body.senior-portal-v5 .senior-travel-v2 .senior-travel-hero p,
  body.senior-portal-v5 .travel-group-heading p,
  body.senior-portal-v5 .travel-reading-break p {
    font-size: 18px;
  }

  body.senior-portal-v5 .travel-hero-jump {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }

  body.senior-portal-v5 .travel-hero-jump a {
    display: flex;
    min-height: 54px;
    align-items: center;
    border-bottom: 1px solid #b9c8d2;
  }

  body.senior-portal-v5 .travel-decision-strip > div,
  body.senior-portal-v5 .travel-booking-checklist ol {
    grid-template-columns: 1fr;
  }

  body.senior-portal-v5 .travel-decision-strip a,
  body.senior-portal-v5 .travel-decision-strip a + a {
    padding: 16px 0;
    border-left: 0;
  }

  body.senior-portal-v5 .travel-decision-strip h2,
  body.senior-portal-v5 .travel-group-heading h2,
  body.senior-portal-v5 .travel-booking-checklist h2 {
    font-size: 27px;
  }

  body.senior-portal-v5 .travel-connect-disclosure {
    grid-template-columns: 1fr;
    font-size: 15px;
  }

  body.senior-portal-v5 .travel-connect-disclosure small {
    grid-column: auto;
  }

  body.senior-portal-v5 .travel-package-group {
    padding-top: 39px;
  }

  body.senior-portal-v5 .travel-package-row {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 25px 0 29px;
  }

  body.senior-portal-v5 .travel-package-row h3 {
    font-size: 24px;
  }

  body.senior-portal-v5 .travel-package-row header > em,
  body.senior-portal-v5 .travel-package-details p {
    font-size: 18px;
  }

  body.senior-portal-v5 .travel-package-details {
    grid-column: auto;
  }

  body.senior-portal-v5 .travel-package-details p {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 12px 0;
  }

  body.senior-portal-v5 .travel-connect-action {
    grid-column: auto;
    grid-row: auto;
    min-height: 78px;
  }

  body.senior-portal-v5 .travel-connect-action span {
    font-size: 20px;
  }

  body.senior-portal-v5 .travel-booking-checklist li {
    grid-template-columns: 42px 78px minmax(0, 1fr);
  }

  body.senior-portal-v5 .seo-longtail-toc {
    margin-bottom: 30px;
    padding: 18px 0;
  }

  body.senior-portal-v5 .seo-longtail-toc > strong {
    font-size: 21px;
  }

  body.senior-portal-v5 .seo-longtail-toc ol,
  body.senior-portal-v5 .seo-longtail-checklist {
    grid-template-columns: 1fr;
  }

  body.senior-portal-v5 .seo-longtail-toc a {
    font-size: 17px;
  }

  body.senior-portal-v5 .seo-longtail-blog-section {
    padding: 34px 0 36px;
  }

  body.senior-portal-v5 .seo-longtail-blog-section h2 {
    font-size: 27px;
    line-height: 1.38;
  }

  body.senior-portal-v5 .seo-longtail-blog-section > p:not(.seo-longtail-note),
  body.senior-portal-v5 .seo-longtail-explain-list strong,
  body.senior-portal-v5 .seo-longtail-explain-list span {
    font-size: 18px !important;
  }

  body.senior-portal-v5 .seo-longtail-explain-list li {
    display: block;
    padding: 17px 0;
  }

  body.senior-portal-v5 .seo-longtail-explain-list strong,
  body.senior-portal-v5 .seo-longtail-explain-list span {
    display: block;
  }

  body.senior-portal-v5 .seo-longtail-explain-list span {
    margin-top: 6px;
  }

  body.senior-portal-v5 .seo-longtail-table {
    table-layout: auto;
  }

  body.senior-portal-v5 .seo-longtail-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }

  body.senior-portal-v5 .seo-longtail-table tbody,
  body.senior-portal-v5 .seo-longtail-table tr,
  body.senior-portal-v5 .seo-longtail-table td {
    display: block;
    width: 100%;
  }

  body.senior-portal-v5 .seo-longtail-table tr {
    padding: 12px 0;
    border-top: 2px solid var(--senior-ink);
  }

  body.senior-portal-v5 .seo-longtail-table tr + tr {
    border-top-width: 1px;
  }

  body.senior-portal-v5 .seo-longtail-table td {
    display: grid;
    grid-template-columns: minmax(96px, 34%) minmax(0, 1fr);
    gap: 12px;
    padding: 8px 0;
    border-bottom: 0;
    font-size: 17px;
  }

  body.senior-portal-v5 .seo-longtail-table td::before {
    color: var(--senior-blue);
    content: attr(data-label);
    font-weight: 850;
  }

  body.senior-portal-v5 .seo-longtail-table caption {
    font-size: 19px;
  }

  body.senior-portal-v5 .seo-longtail-checklist li {
    font-size: 18px;
  }

  body.senior-portal-v5 .seo-longtail-note {
    font-size: 17px !important;
  }
}

/* Topic journey shared by the indexed Senior pages and the two comparison sites. */
body.senior-portal-v5 .senior-funnel-hub,
body.senior-portal-v5 .senior-funnel-path {
  width: min(920px, calc(100% - 40px));
  margin: 42px auto;
  padding: 34px 0;
  border-top: 3px solid var(--senior-ink, #152333);
  border-bottom: 1px solid var(--senior-line, #dce4e8);
  background: #fff;
}

body.senior-portal-v5 .senior-funnel-hub > p,
body.senior-portal-v5 .senior-funnel-path > p {
  max-width: 760px;
  margin: 14px 0 0;
  color: #4e5d69;
  font-size: 18px;
  line-height: 1.75;
}

body.senior-portal-v5 .senior-funnel-topic-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
  margin-top: 24px;
  padding: 0;
  border-top: 1px solid #dce4e8;
  list-style: none;
}

body.senior-portal-v5 .senior-funnel-topic-list a {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-width: 0;
  padding: 18px 4px;
  border-bottom: 1px solid #dce4e8;
  color: inherit;
  text-decoration: none;
}

body.senior-portal-v5 .senior-funnel-topic-list strong,
body.senior-portal-v5 .senior-funnel-topic-list span,
body.senior-portal-v5 .senior-funnel-topic-list em {
  display: block;
}

body.senior-portal-v5 .senior-funnel-topic-list b {
  color: #70808b;
  font-size: 15px;
  line-height: 1.7;
}

body.senior-portal-v5 .senior-funnel-topic-list strong {
  color: var(--senior-blue, #126456);
  font-size: 19px;
}

body.senior-portal-v5 .senior-funnel-topic-list em {
  margin-top: 4px;
  color: #4e5d69;
  font-size: 16px;
  font-style: normal;
  line-height: 1.55;
}

body.senior-portal-v5 .senior-funnel-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
  border-block: 1px solid #dce4e8;
}

body.senior-portal-v5 .senior-funnel-facts span {
  min-width: 0;
  padding: 14px 16px;
  color: #5c6973;
  font-size: 14px;
}

body.senior-portal-v5 .senior-funnel-facts span + span {
  border-left: 1px solid #dce4e8;
}

body.senior-portal-v5 .senior-funnel-facts strong {
  display: block;
  color: #152333;
  font-size: 17px;
}

body.senior-portal-v5 .senior-funnel-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-top: 12px;
  color: #6a7780;
  font-size: 14px;
}

body.senior-portal-v5 .senior-funnel-toc {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 20px;
  padding: 14px 0;
  border-block: 1px solid #dce4e8;
  font-size: 15px;
}

body.senior-portal-v5 .senior-funnel-toc strong {
  color: #152333;
}

body.senior-portal-v5 .senior-funnel-toc a {
  color: var(--senior-blue, #126456);
  font-weight: 800;
}

body.senior-portal-v5 .senior-funnel-editorial {
  padding-top: 18px;
  border-top: 1px solid #dce4e8;
  font-size: 14px !important;
}

body.senior-portal-v5 .senior-funnel-path ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 24px 0 0;
  padding: 0;
  border-block: 1px solid #dce4e8;
  list-style: none;
}

body.senior-portal-v5 .senior-funnel-path li {
  min-width: 0;
  padding: 18px 14px;
}

body.senior-portal-v5 .senior-funnel-path li + li {
  border-left: 1px solid #dce4e8;
}

body.senior-portal-v5 .senior-funnel-path li strong,
body.senior-portal-v5 .senior-funnel-path li span {
  display: block;
}

body.senior-portal-v5 .senior-funnel-path li strong {
  color: var(--senior-blue, #126456);
  font-size: 17px;
}

body.senior-portal-v5 .senior-funnel-path li span {
  margin-top: 5px;
  color: #596873;
  font-size: 15px;
}

body.senior-portal-v5 .senior-funnel-action {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
  padding: 14px 22px;
  border-radius: 6px;
  background: var(--senior-blue, #126456);
  color: #fff;
  font-weight: 850;
  text-decoration: none;
}

body.senior-portal-v5 .senior-funnel-action:focus-visible,
body.senior-portal-v5 .senior-funnel-topic-list a:focus-visible {
  outline: 3px solid #92cbbb;
  outline-offset: 3px;
}

body.senior-portal-v5 .senior-funnel-path > small {
  display: block;
  margin-top: 12px;
  color: #6b7780;
  font-size: 14px;
}

@media (max-width: 560px) {
  body.senior-portal-v5 .senior-funnel-hub,
  body.senior-portal-v5 .senior-funnel-path {
    width: calc(100% - 36px);
    margin: 34px auto;
    padding: 28px 0;
  }

  body.senior-portal-v5 .senior-funnel-topic-list {
    grid-template-columns: 1fr;
  }

  body.senior-portal-v5 .senior-funnel-facts {
    grid-template-columns: 1fr;
  }

  body.senior-portal-v5 .senior-funnel-facts span + span {
    border-top: 1px solid #dce4e8;
    border-left: 0;
  }

  body.senior-portal-v5 .senior-funnel-path ol {
    grid-template-columns: 1fr;
  }

  body.senior-portal-v5 .senior-funnel-path li + li {
    border-top: 1px solid #dce4e8;
    border-left: 0;
  }

  body.senior-portal-v5 .senior-funnel-action {
    width: 100%;
  }
}

/* 2026-08 compact three-question bridge */
body.senior-portal-v5 .senior-funnel-path {
  max-width: 760px;
  padding: 28px 0;
  border-top: 2px solid #172c39;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.senior-portal-v5 .senior-funnel-path > p { max-width: 680px; }
body.senior-portal-v5 .senior-funnel-promise {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 18px 0 0;
  padding: 14px 0;
  border-block: 1px solid #dce4e8;
}
body.senior-portal-v5 .senior-funnel-promise strong {
  flex: 0 0 auto;
  color: var(--senior-blue, #126456);
  font-size: 20px;
}
body.senior-portal-v5 .senior-funnel-promise span { color: #4d5d66; }

@media (max-width: 560px) {
  body.senior-portal-v5 .senior-funnel-path { margin: 28px auto; padding: 24px 0; }
  body.senior-portal-v5 .senior-funnel-promise { align-items: flex-start; }
}

/* 2026-08-29 senior long-tail readability: larger text, calmer dividers, no extra cards. */
body.senior-portal-v5 .authority-guide {
  font-size: 19px;
}

body.senior-portal-v5 .authority-direct-answer,
body.senior-portal-v5 .authority-section,
body.senior-portal-v5 .authority-toc,
body.senior-portal-v5 .authority-mid-related,
body.senior-portal-v5 .authority-guide :where(.authority-top-ad, .authority-middle-ad, .authority-bottom-ad) {
  width: min(780px, 100%);
}

body.senior-portal-v5 .authority-guide .section-eyebrow,
body.senior-portal-v5 .authority-byline,
body.senior-portal-v5 .authority-direct-answer dt,
body.senior-portal-v5 .authority-direct-answer dd {
  font-size: 17px;
  line-height: 1.65;
}

body.senior-portal-v5 .authority-guide-hero > div > p,
body.senior-portal-v5 .authority-direct-answer > p,
body.senior-portal-v5 .authority-section > p,
body.senior-portal-v5 .authority-note {
  color: #2f4050;
  font-size: 20px;
  line-height: 1.8;
}

body.senior-portal-v5 .authority-toc strong,
body.senior-portal-v5 .authority-toc a,
body.senior-portal-v5 .authority-mid-related > strong,
body.senior-portal-v5 .authority-mid-related a strong,
body.senior-portal-v5 .authority-related a strong {
  font-size: 19px;
  line-height: 1.55;
}

body.senior-portal-v5 .authority-toc a,
body.senior-portal-v5 .authority-mid-related a,
body.senior-portal-v5 .authority-related a {
  min-height: 56px;
}

body.senior-portal-v5 .authority-mid-related a span,
body.senior-portal-v5 .authority-related a span {
  font-size: 17px;
  line-height: 1.6;
}

body.senior-portal-v5 .authority-guide :where(
  .authority-comparison p,
  .authority-comparison strong,
  .authority-scenarios h3,
  .authority-scenarios p,
  .authority-scenarios strong,
  .authority-checklist li,
  .authority-mistakes li,
  .authority-steps p,
  .authority-question-list p
) {
  font-size: 19px;
  line-height: 1.75;
}

body.senior-portal-v5 .authority-section .faq-section summary,
body.senior-portal-v5 .authority-section .faq-section details > :not(summary) {
  font-size: 19px;
  line-height: 1.75;
}

body.senior-portal-v5 .topic-breadcrumb li,
body.senior-portal-v5 .topic-key-facts span,
body.senior-portal-v5 .verified-date > div > span {
  font-size: 16px;
}

body.senior-portal-v5 .topic-intent-router a span,
body.senior-portal-v5 .metadata-related-guides a span,
body.senior-portal-v5 .verified-date p {
  font-size: 17px;
  line-height: 1.7;
}

body.senior-portal-v5 .topic-intent-router a em,
body.senior-portal-v5 .verified-date a {
  font-size: 17px;
}

body.senior-portal-v5 :where(.topic-pillar-main, .medical-cost-check-main, .authority-guide-page) :where(th, td) {
  font-size: 16px;
  line-height: 1.65;
}

@media (min-width: 900px) {
  body.senior-portal-v5[data-ad-profile="authority-longtail-3"] {
    max-width: 1080px;
  }

  body.senior-portal-v5[data-ad-profile="authority-longtail-3"] .header-inner {
    padding-right: 36px;
    padding-left: 36px;
  }

  body.senior-portal-v5[data-ad-profile="authority-longtail-3"] .authority-guide-page {
    width: min(920px, calc(100% - 80px));
  }
}

@media (max-width: 720px) {
  body.senior-portal-v5 .authority-guide-page {
    width: calc(100% - 32px);
    padding-bottom: 96px;
  }

  body.senior-portal-v5 .authority-guide-hero h1 {
    font-size: 34px;
    line-height: 1.3;
  }

  body.senior-portal-v5 .authority-direct-answer h2,
  body.senior-portal-v5 .authority-section h2 {
    font-size: 28px;
    line-height: 1.4;
  }

  body.senior-portal-v5 .authority-guide-hero > div > p,
  body.senior-portal-v5 .authority-direct-answer > p,
  body.senior-portal-v5 .authority-section > p,
  body.senior-portal-v5 .authority-note {
    font-size: 19px;
    line-height: 1.82;
  }

  body.senior-portal-v5 .authority-direct-answer dl > div,
  body.senior-portal-v5 .authority-comparison > div,
  body.senior-portal-v5 .authority-scenarios > section {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  body.senior-portal-v5 .authority-toc a,
  body.senior-portal-v5 .authority-mid-related a,
  body.senior-portal-v5 .authority-related a {
    padding-top: 16px;
    padding-bottom: 16px;
  }
}

/* Authored articles use one reading column without repeated summary panels. */
@media (min-width: 900px) {
  body.senior-portal-v5:has(.editorial-benefit-page) {
    max-width: 1000px;
  }

  body.senior-portal-v5:has(.editorial-benefit-page) .topic-breadcrumb {
    white-space: normal;
  }
}

body.senior-portal-v5 .layout:has(> .editorial-benefit-page) {
  display: block;
  max-width: 820px;
  margin-inline: auto;
}

body.senior-portal-v5 .editorial-benefit-page .benefit-article-hero {
  display: block;
  margin-bottom: 24px;
  padding: 0;
}

body.senior-portal-v5 .editorial-benefit-page .editorial-byline {
  font-size: 17px;
  line-height: 1.6;
  margin-top: 16px;
}

body.senior-portal-v5 .editorial-benefit-page .answer-summary {
  padding: 0 0 24px;
  margin: 0 0 24px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d8e2df;
  border-radius: 0;
  box-shadow: none;
}

body.senior-portal-v5 .editorial-benefit-page .answer-summary h2 {
  font-size: 24px;
  line-height: 1.45;
}

body.senior-portal-v5 .editorial-benefit-page .answer-summary-grid {
  display: block;
  margin-top: 16px;
}

body.senior-portal-v5 .editorial-benefit-page .answer-summary-row {
  padding: 12px 28px 12px 0;
  grid-template-columns: minmax(90px, 0.4fr) minmax(0, 1fr);
  background: transparent;
  border-radius: 0;
}

body.senior-portal-v5 .editorial-benefit-page .seo-longtail-toc {
  margin: 0 0 32px;
  padding: 0;
  border: 0;
  background: transparent;
}

body.senior-portal-v5 .editorial-benefit-page .seo-longtail-toc ol {
  display: block;
  margin: 12px 0 0;
}

body.senior-portal-v5 .editorial-benefit-page .seo-longtail-toc a {
  padding-block: 10px;
  font-size: 19px;
  min-height: 44px;
}

body.senior-portal-v5 .editorial-benefit-page .seo-longtail-blog-section > p {
  font-size: 20px !important;
  line-height: 1.85;
  margin: 18px 0;
}

body.senior-portal-v5 .editorial-benefit-page .metadata-related-guides > div {
  display: block;
}

body.senior-portal-v5 .editorial-benefit-page .metadata-related-guides a {
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #d8e2df;
  padding: 18px 0;
  background: transparent;
}

/* Senior readability baseline for shared chrome and long-tail reading pages. */
body.senior-portal-v5 {
  padding-bottom: 72px;
}

body.senior-portal-v5 .site-header,
body.senior-portal-v5 .header-inner {
  height: 62px;
  min-height: 62px;
}

body.senior-portal-v5 .brand-mark {
  flex-basis: 32px;
  width: 32px;
  height: 32px;
}

body.senior-portal-v5 .brand strong {
  font-size: 16px;
  line-height: 1.2;
}

body.senior-portal-v5 .brand small {
  margin-top: 3px;
  font-size: 13px;
  line-height: 1.2;
}

body.senior-portal-v5 .header-icon {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
}

body.senior-portal-v5 main small,
body.senior-portal-v5 main time,
body.senior-portal-v5 main figcaption,
body.senior-portal-v5 main .section-eyebrow,
body.senior-portal-v5 main .category,
body.senior-portal-v5 main .official-checked-date,
body.senior-portal-v5 main .sponsor-offer-label {
  font-size: 16px !important;
  line-height: 1.65;
}

body.senior-portal-v5 .authority-guide .section-eyebrow {
  font-size: 17px !important;
}

body.senior-portal-v5 .senior-funnel-editorial,
body.senior-portal-v5 .senior-funnel-path > small {
  font-size: 16px !important;
  line-height: 1.65;
}

body.senior-portal-v5 .authority-toc a,
body.senior-portal-v5 .authority-mid-related a,
body.senior-portal-v5 .authority-related a,
body.senior-portal-v5 .verified-date a {
  min-height: 60px;
  touch-action: manipulation;
}

body.senior-portal-v5 .revenue-quickbar,
body.senior-portal-v5 .revenue-quickbar a {
  min-height: 68px;
}

body.senior-portal-v5 .revenue-quickbar a {
  font-size: 14px;
  line-height: 1.2;
}

body.senior-portal-v5 .revenue-quickbar svg {
  width: 22px;
  height: 22px;
}

body.senior-portal-v5 .footer-inner,
body.senior-portal-v5 .footer-inner a {
  font-size: 16px;
  line-height: 1.75;
}

body.senior-portal-v5 .footer-inner a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

@media (max-width: 520px) {
  body.senior-portal-v5 .topic-breadcrumb {
    padding: 10px 16px;
  }

  body.senior-portal-v5 .topic-breadcrumb li:last-child {
    display: none;
  }

  body.senior-portal-v5 .topic-breadcrumb li {
    font-size: 16px;
    line-height: 1.5;
  }

  body.senior-portal-v5 .authority-guide-hero {
    gap: 22px;
  }

  body.senior-portal-v5 .authority-section .faq-section summary {
    min-height: 64px;
    padding-top: 18px;
    padding-bottom: 18px;
  }
}
