/* LANYVO V70 — one editorial system for every guide and article. */

body.lv-article-v70 {
  --article-ink: #14241c;
  --article-muted: #5b6861;
  --article-green: #173f2d;
  --article-gold: #caa66a;
  --article-cream: #f5f1e8;
  --article-soft: #f8f7f2;
  --article-line: #dfe4dd;
  background: #fffefb;
  color: var(--article-ink);
}

body.lv-article-v70 main {
  min-height: 52vh;
  overflow: clip;
  background: #fffefb;
}

/* Consistent article masthead across the legacy and current HTML structures. */
body.lv-article-v70 :is(.page-hero, .lv-page-hero, .article-page-hero, main > .article-hero) {
  padding: clamp(46px, 6vw, 76px) 0 !important;
  color: var(--article-ink) !important;
  background:
    radial-gradient(circle at 84% 18%, rgba(115, 145, 106, .14), transparent 31%),
    linear-gradient(135deg, #f8f5ed 0%, #eef3ec 100%) !important;
  border-bottom: 1px solid var(--article-line);
}

body.lv-article-v70 :is(.page-hero, .lv-page-hero, .article-page-hero, .article-hero) h1,
body.lv-article-v70 main.article-shell h1 {
  max-width: 980px;
  margin: 12px 0 18px !important;
  color: var(--article-ink) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5vw, 66px) !important;
  font-weight: 700;
  line-height: 1.03 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance;
}

body.lv-article-v70 :is(.page-hero, .lv-page-hero, .article-page-hero, .article-hero)
  :is(.lead, .lv-lead, .article-summary),
body.lv-article-v70 main.article-shell .article-summary {
  max-width: 780px;
  margin: 0;
  color: var(--article-muted) !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
}

body.lv-article-v70 :is(.breadcrumbs, .lv-breadcrumb),
body.lv-article-v70 :is(.breadcrumbs, .lv-breadcrumb) a,
body.lv-article-v70 :is(.article-meta, .news-date, .v63-byline) {
  color: #68746e !important;
  font-size: 13px;
  line-height: 1.6;
}

body.lv-article-v70 :is(.eyebrow, .lv-eyebrow, .article-tag) {
  color: #2f6247 !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.lv-article-v70 .article-hero-grid {
  width: min(calc(100% - 56px), 1240px);
  grid-template-columns: minmax(0, 1.02fr) minmax(380px, .98fr);
  gap: clamp(34px, 5vw, 66px);
  align-items: center;
}

body.lv-article-v70 .article-hero-copy :is(.breadcrumbs, .breadcrumbs a, .eyebrow, .news-date) {
  color: #617068 !important;
}

/* Never crop article photography. The complete original frame remains visible. */
body.lv-article-v70 main img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

body.lv-article-v70 :is(.article-hero-media, figure.article-cover, .v63-cover, figure.article-hero-img) {
  width: min(100%, 1040px);
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 30px auto 0 !important;
  overflow: hidden;
  background: #f2f3ee;
  border: 1px solid #e1e5de !important;
  border-radius: 12px !important;
  box-shadow: 0 20px 55px rgba(21, 43, 31, .11) !important;
  transform: none !important;
}

body.lv-article-v70 .article-hero-grid .article-hero-media {
  margin: 0 !important;
}

body.lv-article-v70 :is(.article-hero-media, figure.article-cover, .v63-cover, figure.article-hero-img) img {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.lv-article-v70 :is(.article-cover, .article-hero-media, .v63-cover, figure.article-hero-img) figcaption {
  padding: 11px 15px 13px;
  color: var(--article-muted);
  background: #fffefb;
  border-top: 1px solid var(--article-line);
  font-size: 12px;
  line-height: 1.55;
}

/* Two older guides repeated their cover midway through the article. Keep one clear hero. */
body.lv-article-v70 .article-content > figure.article-hero-img {
  display: none;
}

/* Reading measure and typography. */
body.lv-article-v70 :is(.article-content-section, .buyer-guide-v48) {
  padding: 64px 0 84px;
  background: #fffefb;
}

body.lv-article-v70 main.article-shell {
  width: min(calc(100% - 56px), 1040px);
  margin: 0 auto;
  padding: 64px 0 86px;
}

body.lv-article-v70 main.article-shell :is(.article-wrap, article) {
  width: 100%;
  max-width: 920px;
  margin-inline: auto;
}

body.lv-article-v70 :is(.article-body, .article-content, .lv-prose, .v63-prose) {
  width: min(100%, 860px);
  max-width: 860px;
  margin-inline: auto;
  color: #33463c !important;
  font-size: 17px !important;
  line-height: 1.82 !important;
  overflow-wrap: anywhere;
}

body.lv-article-v70 .article-block {
  max-width: 860px;
  margin-inline: auto;
}

body.lv-article-v70 :is(.article-body, .article-content, .lv-prose, .v63-prose, .article-block) p {
  margin: 0 0 20px;
  color: #3e5147 !important;
}

body.lv-article-v70 :is(.article-body, .article-content, .lv-prose, .v63-prose, .article-block) h2 {
  margin: 52px 0 18px !important;
  color: var(--article-ink) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(29px, 3.2vw, 38px) !important;
  line-height: 1.16 !important;
  letter-spacing: -.025em !important;
  text-wrap: balance;
  scroll-margin-top: 110px;
}

body.lv-article-v70 :is(.article-body, .article-content, .lv-prose, .v63-prose, .article-block) h3 {
  margin: 31px 0 12px;
  color: #1a3828 !important;
  font-size: 22px;
  line-height: 1.3;
}

body.lv-article-v70 :is(.article-body, .article-content, .lv-prose, .v63-prose, .article-block) :is(ul, ol) {
  margin: 0 0 24px;
  padding-left: 24px;
}

body.lv-article-v70 :is(.article-body, .article-content, .lv-prose, .v63-prose, .article-block) li {
  margin: 0 0 10px;
}

body.lv-article-v70 main a:not(.btn):not(.lv-btn):not(.nav-quote) {
  color: #17643f;
  text-decoration: underline;
  text-decoration-color: rgba(23, 100, 63, .38);
  text-underline-offset: 3px;
}

/* Uniform answer boxes, takeaways and next steps. */
body.lv-article-v70 :is(
  .direct-answer, .direct-answer-v48, .v63-answer, .article-highlight,
  .article-keytakeaways, .commercial-next-step, .buyer-note-v48, .note, .tool-callout
) {
  margin: 28px 0;
  padding: 24px 26px;
  color: var(--article-ink);
  background: #f2f5ee;
  border: 1px solid #dbe4d8;
  border-left: 4px solid #6c8a61;
  border-radius: 8px;
  box-shadow: none;
}

body.lv-article-v70 :is(
  .direct-answer, .direct-answer-v48, .v63-answer, .article-highlight,
  .article-keytakeaways, .commercial-next-step, .buyer-note-v48, .note, .tool-callout
) > :first-child { margin-top: 0 !important; }

body.lv-article-v70 :is(
  .direct-answer, .direct-answer-v48, .v63-answer, .article-highlight,
  .article-keytakeaways, .commercial-next-step, .buyer-note-v48, .note, .tool-callout
) > :last-child { margin-bottom: 0 !important; }

/* Tables use one readable, horizontally safe treatment on every template. */
body.lv-article-v70 :is(.table-wrap, .tablewrap, .article-table, .lv-table-wrap) {
  width: 100%;
  max-width: 100%;
  margin: 28px 0;
  overflow-x: auto;
  border: 1px solid var(--article-line);
  border-radius: 8px;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}

body.lv-article-v70 :is(.decision-table, .buyer-table-v48, .article-table table, .lv-table) {
  width: 100%;
  min-width: 640px;
  border: 0;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.55;
}

body.lv-article-v70 :is(.decision-table, .buyer-table-v48, .article-table table, .lv-table) :is(th, td) {
  padding: 15px 17px;
  text-align: left;
  vertical-align: top;
  border: 0;
  border-bottom: 1px solid var(--article-line);
}

body.lv-article-v70 :is(.decision-table, .buyer-table-v48, .article-table table, .lv-table) th {
  color: #193126;
  background: #edf2eb;
  font-weight: 800;
}

/* FAQ and related-reading sections. */
body.lv-article-v70 :is(.faq-card-v1, .faq-v48, .lv-faq details) {
  border: 1px solid var(--article-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

body.lv-article-v70 .lv-faq {
  display: grid;
  gap: 12px;
  border-top: 0;
}

body.lv-article-v70 .lv-faq details {
  padding: 0;
}

body.lv-article-v70 .lv-faq summary {
  padding: 18px 20px;
}

body.lv-article-v70 .lv-faq details p {
  padding: 0 20px 18px;
}

body.lv-article-v70 :is(.faq-card-v1, .faq-v48) {
  padding: 22px;
}

body.lv-article-v70 :is(.topic-cluster-v46, .v63-related, .v10-related-guides) {
  max-width: 1040px;
  margin: 58px auto 0;
  padding-top: 28px;
  border-top: 1px solid var(--article-line);
}

body.lv-article-v70 .v63-article-grid {
  grid-template-columns: 220px minmax(0, 800px);
  gap: 48px;
}

body.lv-article-v70 .v63-toc {
  padding: 19px;
  background: var(--article-soft);
  border: 1px solid var(--article-line);
  border-top: 3px solid var(--article-gold);
  border-radius: 8px;
}

body.lv-article-v70 :is(.article-cta-box, .rfq-card-v48, .v63-article-quote) {
  margin: 42px 0;
  padding: 30px;
  color: #fff;
  background: var(--article-green);
  border: 0;
  border-radius: 10px;
}

body.lv-article-v70 :is(.article-cta-box, .rfq-card-v48, .v63-article-quote) :is(h2, h3, p) {
  color: #fff !important;
}

@media (max-width: 980px) {
  body.lv-article-v70 .article-hero-grid,
  body.lv-article-v70 .v63-article-grid {
    grid-template-columns: 1fr;
  }

  body.lv-article-v70 .article-hero-grid .article-hero-media {
    width: min(100%, 820px);
    margin: 4px auto 0 !important;
  }

  body.lv-article-v70 .v63-toc {
    position: static;
    max-height: none;
  }
}

@media (max-width: 700px) {
  body.lv-article-v70 :is(.page-hero, .lv-page-hero, .article-page-hero, main > .article-hero) {
    padding: 38px 0 42px !important;
  }

  body.lv-article-v70 :is(.page-hero, .lv-page-hero, .article-page-hero, .article-hero) h1,
  body.lv-article-v70 main.article-shell h1 {
    font-size: clamp(35px, 10.5vw, 47px) !important;
    line-height: 1.07 !important;
  }

  body.lv-article-v70 :is(.page-hero, .lv-page-hero, .article-page-hero, .article-hero)
    :is(.lead, .lv-lead, .article-summary) {
    font-size: 16px !important;
  }

  body.lv-article-v70 .article-hero-grid,
  body.lv-article-v70 main.article-shell {
    width: min(calc(100% - 30px), 1040px);
  }

  body.lv-article-v70 :is(.article-content-section, .buyer-guide-v48) {
    padding: 42px 0 64px;
  }

  body.lv-article-v70 main.article-shell {
    padding: 42px 0 64px;
  }

  body.lv-article-v70 :is(.article-body, .article-content, .lv-prose, .v63-prose, .article-block) {
    font-size: 16px !important;
    line-height: 1.78 !important;
  }

  body.lv-article-v70 :is(.article-body, .article-content, .lv-prose, .v63-prose, .article-block) h2 {
    margin-top: 40px !important;
    font-size: 29px !important;
  }

  body.lv-article-v70 :is(.article-hero-media, figure.article-cover, .v63-cover, figure.article-hero-img) {
    margin-top: 22px !important;
    border-radius: 8px !important;
  }

  body.lv-article-v70 :is(
    .direct-answer, .direct-answer-v48, .v63-answer, .article-highlight,
    .article-keytakeaways, .commercial-next-step, .buyer-note-v48, .note, .tool-callout
  ) {
    padding: 20px;
  }

  body.lv-article-v70 :is(.article-cta-box, .rfq-card-v48, .v63-article-quote) {
    padding: 24px 20px;
  }
}

@media print {
  body.lv-article-v70 main img {
    break-inside: avoid;
    max-width: 100% !important;
  }
}
