/* =========================================================================
   Family "rv" — long-form tool reviews (group 1): clickfunnels, systeme-io, convertkit, semrush, thrivecart,
   bluehost and hostinger reviews. Shared components come from site.css; this file only adds the review template.
   1 tokens · 2 hero · 3 lead strip · 4 main column · 5 feature cards · 6 plans · 7 sidebar · 8 verdict & FAQ · 9 responsive
   ========================================================================= */

/* ---------- 1. Tokens (deep royal navy headings of the review designs) ---------- */
.rv-page, .rv-hero, .rv-layout, .rv-kit, .rv-verdict-wrap, .rv-faq { --rv-ink: #0c1a6b; --rv-text: #2c3767; --rv-line: #e3e9f3; }
.rv-layout h2, .rv-layout h3, .rv-verdict h2, .rv-faq h2, .rv-kit h2 { color: var(--rv-ink); }
.rv-layout .btn--blue, .rv-verdict .btn--blue { --btn-bg: #1170f0; --btn-bd: #1170f0; }

/* ---------- 2. Hero: photo on the right ~60%, copy on a near-white left side ---------- */
.rv-hero { --hero-h: 24.8rem; background: #fbfcfd; }
.rv-hero::before { background: linear-gradient(90deg, #fbfcfd 0%, #fbfcfd 41%, rgba(251, 252, 253, .55) 47%, rgba(251, 252, 253, 0) 54%); }
.rv-hero .hero__bg { left: 38%; }
.rv-hero .hero__bg img { object-position: var(--hero-pos, 60% 55%); }
.rv-hero .hero__inner { padding-inline-start: 0; padding-block: .85rem 1rem; align-items: start; }
.rv-hero .hero__content { max-width: var(--hero-copy, 42rem); }
.rv-hero .breadcrumb { font-size: 1rem; margin-bottom: .45rem; }
.rv-updated { display: inline-block; margin: 0 0 .35rem; padding: .18rem .6rem; border-radius: var(--radius-sm); background: var(--green-700); color: #fff; font-size: .82rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; line-height: 1.25; }
.rv-updated .ph { text-transform: none; }
.rv-title { font-size: clamp(2.3rem, 1rem + 3.9vw, 4.15rem); line-height: 1; letter-spacing: -.035em; color: var(--rv-ink); margin-bottom: .2em; }
.rv-title .accent { display: inline; color: var(--green-700); }
.rv-sub { margin: 0 0 .35rem; font-family: var(--font-body); font-size: max(clamp(1.15rem, .9rem + 1vw, 1.78rem), 16px) /* rt-1019 */; font-weight: 600; line-height: 1.2; letter-spacing: -.01em; color: var(--rv-ink); }
.rv-hero .hero__lead { font-size: 1.16rem; line-height: 1.32; color: var(--rv-text); max-width: 40rem; }
.rv-hero-icons { list-style: none; margin: .7rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem 2.6rem; }
.rv-hero-icons li { display: grid; justify-items: start; gap: .4rem; font-size: max(1.02rem, 16px) /* rt-1019 */; font-weight: 700; line-height: 1.2; color: var(--rv-ink); }
.rv-hero-icons .ib { --s: 3.9rem; box-shadow: 0 3px 8px rgba(13, 31, 60, .15); }
/* Handwritten note over the notebook (design copy as HTML, never baked into the photo) */
.rv-hero-note { position: absolute; right: 31%; bottom: 1.1rem; margin: 0; display: grid; gap: .1rem; font-family: var(--font-script); font-weight: 600; font-size: 1.85rem; line-height: 1.05; color: var(--rv-ink); transform: rotate(-9deg); text-shadow: 0 0 10px #fff, 0 0 4px #fff; }
.rv-hero-note span { display: flex; align-items: center; gap: .4rem; }
.rv-hero-note .icon { width: 1.1rem; height: 1.1rem; color: var(--green-700); }

/* Per-page note placement (over the desk area of each photo) */
.tcr-hero .rv-hero-note { right: 2.5%; top: 1.4rem; bottom: auto; transform: rotate(-6deg); }
.bhr-hero .rv-hero-note, .hor-hero .rv-hero-note { right: 30%; bottom: .8rem; font-size: 1.6rem; }

/* ---------- 3. Starter-kit lead strip (gift + copy + inline form) ---------- */
.rv-kit { margin-top: .75rem; }
.rv-kit__box { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 27rem); gap: .5rem 1.1rem; align-items: center; padding: .7rem 1.1rem .6rem; border-radius: var(--radius-sm); background: linear-gradient(90deg, #eaf6ee 0%, #eef8f1 60%, #eaf6ef 100%); border: 1px solid #ddefe2; }
.rv-kit__icon { color: var(--green-600); }
.rv-kit__icon .icon { width: 3.1rem; height: 3.1rem; stroke-width: 2.2; }
.rv-kit__copy h2 { margin: 0 0 .15rem; font-size: 1.32rem; letter-spacing: -.02em; }
.rv-kit__copy p { margin: 0; font-size: max(.95rem, 16px) /* rt-1019 */; color: var(--rv-text); }
.rv-kit__form input { min-height: 2.65rem; font-size: .9rem; background: #fff; }
.rv-kit__form .btn { min-height: 2.65rem; font-size: .95rem; padding-inline: 1.1rem; }
.rv-kit__ticks { grid-column: 1 / -1; margin-top: .4rem; gap: .3rem 1.4rem; font-size: .82rem; color: var(--rv-text); }
.rv-kit__ticks .icon { color: var(--green-600); }

/* ---------- 4. Main column + sections ---------- */
.rv-layout { --aside: 21.5rem; gap: 1.4rem; margin-top: 1rem; }
.rv-disclosure { margin-bottom: .5rem; font-size: max(.74rem, 14px) /* rt-1019 */; padding: .3rem .7rem; }
.rv-sec { padding-bottom: .9rem; }
.rv-sec + .rv-sec { padding-top: .75rem; }
.rv-sec--line { border-top: 1px solid var(--rv-line); }
.rv-sec h2 { font-size: 1.8rem; letter-spacing: -.03em; margin-bottom: .15rem; }
.rv-text { margin: 0 0 .7rem; max-width: 54rem; font-size: 1.12rem; line-height: 1.38; color: var(--rv-text); }
.rv-icons { list-style: none; margin: .2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .75rem .5rem; }
.rv-icons li { display: grid; justify-items: center; gap: .45rem; text-align: center; font-size: max(.98rem, 16px) /* rt-1019 */; font-weight: 700; line-height: 1.22; color: var(--rv-ink); }
.rv-icons .ib { --s: 4.4rem; box-shadow: 0 4px 10px rgba(13, 31, 60, .16); }
.rv-icons .ib .icon { width: 46%; height: 46%; }

/* ---------- 5. Feature cards (icon + title row, text below) ---------- */
.rv-feats { --gap: .7rem; }
.rv-feat { padding: .75rem .85rem .8rem; border-color: #e6ebf3; box-shadow: 0 1px 3px rgba(13, 31, 60, .05); }
.rv-feat__head { display: flex; align-items: center; gap: .65rem; margin-bottom: .4rem; min-height: 2.1rem; }
.rv-feat__head h3 { margin: 0; font-size: .95rem; letter-spacing: -.01em; line-height: 1.2; }
.rv-feat__icon { flex: none; color: var(--c); }
.rv-feat__icon .icon { width: 2.1rem; height: 2.1rem; stroke-width: 2.2; }
.rv-feat p { margin: 0; font-size: max(1rem, 16px) /* rt-1019 */; line-height: 1.34; color: #4a5672; }

/* ---------- 6. Pricing plans ---------- */
.rv-plans { --gap: 1.2rem; list-style: none; margin: .4rem 0 0; padding: 0; }
.rv-plans--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rv-plans--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rv-plans--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); --gap: .7rem; }
.rv-plan { padding: .7rem 1.6rem .85rem 2.5rem; gap: .1rem; border-color: #dde5f0; box-shadow: var(--shadow-sm); }
.rv-plan.price-card--featured { border: 2px solid #8fd3a2; }
.rv-plan .price-card__flag { left: 1.4rem; top: -.7rem; padding: .25rem .65rem; font-size: .8rem; text-transform: none; letter-spacing: 0; border-radius: var(--radius-sm); }
.rv-plan h3 { font-size: 1.35rem; letter-spacing: -.02em; color: var(--rv-ink); }
.rv-plan .price { color: var(--rv-ink); }
.rv-plan .price strong { font-size: 2.5rem; letter-spacing: -.03em; line-height: 1.1; }
/* site.css ".price span" also matches a .ph inside <strong>; keep the placeholder at the price size (see Shared changes) */
.price strong .ph { font-size: inherit; color: inherit; }
.rv-plan .price > span { font-size: 1.15rem; color: #55607c; }
.rv-plan__list { gap: .05rem; margin: .1rem 0 .45rem; }
.rv-plan__list li { font-size: max(1.04rem, 16px) /* rt-1019 */; line-height: 1.32; color: var(--rv-text); padding-left: 1.75rem; }
.rv-plan__list li::before { width: 1.2rem; height: 1.2rem; background-color: var(--green-600); }
.rv-plan .btn { min-height: 2.65rem; font-size: 1.12rem; }
.rv-btn-navy { --btn-bg: #0f2a8a; --btn-bd: #0f2a8a; }
.rv-btn-navy:hover { --btn-bg: #0a1f6b; --btn-bd: #0a1f6b; box-shadow: 0 6px 16px rgba(15, 42, 138, .25); }
.rv-plan .btn--outline { --btn-fg: var(--rv-ink); --btn-bd: #9aa6bd; }
.rv-plans--3 .rv-plan, .rv-plans--4 .rv-plan { padding: 1rem 1rem 1.1rem; text-align: center; }
.rv-plans--3 .price, .rv-plans--4 .price { justify-content: center; }
.rv-plans--3 .rv-plan__list, .rv-plans--4 .rv-plan__list { text-align: left; }
.rv-plans--4 .rv-plan h3 { font-size: 1.1rem; }
.rv-plans--4 .price strong { font-size: 2.1rem; }
.rv-plans--4 .rv-plan__list li { font-size: max(.95rem, 16px) /* rt-1019 */; }
.rv-plans--4 .rv-plan .btn { font-size: .95rem; }
.rv-plan-note { margin: .6rem 0 0; text-align: center; font-size: max(.86rem, 14px) /* rt-1019 */; color: var(--rv-text); }
.rv-plan-trust { list-style: none; margin: .75rem 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: space-around; gap: .4rem 1rem; font-size: .8rem; color: var(--rv-ink); }
.rv-plans--4 + .rv-plan-trust { justify-content: space-between; font-size: .76rem; gap: .4rem .6rem; }
.rv-plan-trust li { display: inline-flex; align-items: center; gap: .45rem; }
.rv-plan-trust .icon { width: 1.25rem; height: 1.25rem; color: var(--rv-ink); }

/* Pros / cons */
.rv-pc { gap: .9rem; margin-top: .3rem; }
.rv-pc .pros, .rv-pc .cons { padding: .7rem 1rem .9rem; border-radius: var(--radius-sm); }
.rv-pc .pros { background: #eff7f1; border-color: #e1f0e4; }
.rv-pc .cons { background: #fdecef; border-color: #f8dde2; }
.rv-pc h3 { font-size: 1.3rem; margin-bottom: .35rem; }
.rv-pc .pros h3 { color: var(--green-700); }
.rv-pc .cons h3 { color: #ad2a30; }
.rv-pc h3 .icon { width: 1.6rem; height: 1.6rem; }
.rv-pc .pros h3 .icon { color: var(--green-600); fill: var(--green-600); stroke: #fff; }
.rv-pc .cons h3 .rv-down { transform: scale(-1, -1); color: var(--red-600); fill: var(--red-600); stroke: #fff; }
.rv-pc .checklist { gap: .12rem; padding-left: 2.1rem; }
.rv-pc .checklist li { font-size: max(.98rem, 16px) /* rt-1019 */; line-height: 1.3; color: var(--rv-text); }

/* ---------- 7. Sidebar ---------- */
.rv-aside { gap: .85rem; }
.rv-summary { padding: .95rem 1rem 1rem; border: 1px solid #e3e9f4; border-radius: var(--radius-sm); background: linear-gradient(180deg, #f6f8fd 0%, #fbfcfe 100%); }
.rv-summary h2 { margin: 0 0 .35rem; font-size: 1.32rem; letter-spacing: -.02em; text-align: center; }
.rv-brand { display: flex; align-items: center; justify-content: center; gap: .55rem; margin: 0 0 .55rem; }
.rv-brand .tool-mark { --s: 2.9rem; }
.rv-brand .wordmark { font-size: 1.85rem; letter-spacing: -.03em; color: var(--rv-ink); }
.rv-rating { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; margin: 0 0 .45rem; color: var(--rv-ink); }
.rv-rating__label { font-family: var(--font-head); font-weight: 800; font-size: .98rem; letter-spacing: -.01em; }
.rv-rating .stars { font-size: 1.25rem; }
.rv-rating strong { font-family: var(--font-head); font-weight: 800; font-size: 1.15rem; }
.rv-summary__list { gap: .12rem; margin-bottom: .75rem; }
.rv-summary__list li { font-size: max(1rem, 16px) /* rt-1019 */; color: var(--rv-text); }
.rv-summary .btn, .rv-verdict .btn { min-height: 2.75rem; font-size: 1.15rem; }
.rv-fine { margin: .4rem 0 0; text-align: center; font-size: max(.8rem, 14px) /* rt-1019 */; color: var(--rv-text); }

.rv-toc { padding: .85rem 1rem .7rem; border-radius: var(--radius-sm); background: #eef4fc; border: 1px solid #e3ecf8; }
.rv-toc h2 { margin: 0 0 .3rem; font-size: 1.38rem; letter-spacing: -.02em; }
.rv-toc .toc li { border-bottom-color: #dce6f3; }
.rv-toc .toc a { font-size: 1.06rem; padding: .06rem 0; grid-template-columns: 1.75rem minmax(0, 1fr) auto; color: #1a66d9; }
.rv-toc .toc a::before { color: #1a66d9; }

.rv-box { position: relative; padding: .85rem 1rem .9rem; border-radius: var(--radius-sm); }
.rv-box h2 { margin: 0 0 .4rem; font-size: 1.2rem; letter-spacing: -.025em; }
.rv-box--green { background: #eff7f1; border: 1px solid #e2f0e5; }
.rv-box--red { background: #fdecef; border: 1px solid #f8dde2; }
.rv-box--red h2 { color: #6b0d3a; }
.rv-box__art { position: absolute; right: 1rem; top: 3rem; color: var(--c); }
.rv-box__art .icon { width: 3.4rem; height: 3.4rem; fill: currentColor; stroke: currentColor; }
.rv-box--red .rv-box__art { top: .8rem; }
.rv-box--red .rv-box__art .icon { width: 2.6rem; height: 2.6rem; }
.rv-box__list { gap: .1rem; }
/* The lower sidebar boxes are wider than the summary/TOC cards in the design: they reach into the gutter */
.rv-box, .rv-quote { margin-left: -2.2rem; }
.rv-main #pricing { padding-right: 2.2rem; }
.rv-box__list li { font-size: max(.96rem, 16px) /* rt-1019 */; line-height: 1.32; color: var(--rv-text); }
.rv-box--green .rv-box__list li:nth-child(-n+5) { padding-right: 3.6rem; }

.rv-quote { margin: 0; padding: .95rem 1rem 1rem; border-radius: var(--radius-sm); background: #eef4fc; border: 1px solid #e3ecf8; }
.rv-quote__mark { float: left; margin: .1rem .4rem 0 0; color: #1a6cf0; }
.rv-quote__mark .icon { width: 1.5rem; height: 1.5rem; fill: currentColor; }
.rv-quote blockquote { margin: 0; font-style: italic; font-size: max(1rem, 16px) /* rt-1019 */; line-height: 1.4; color: var(--rv-ink); }
.rv-quote blockquote p { margin: 0 0 .3rem; }
.rv-quote__hint { font-size: .86rem; color: var(--rv-text); }
.rv-quote figcaption { display: flex; align-items: center; gap: .9rem; margin-top: .7rem; padding-left: .9rem; }
.rv-quote .avatar { --s: 4.4rem; background: #dce7f6; }
.rv-quote figcaption strong { display: block; font-family: var(--font-head); font-size: 1.02rem; color: var(--rv-ink); }
.rv-quote figcaption > span:last-child { display: grid; gap: .1rem; font-size: .92rem; color: #1a6cf0; }
.rv-quote__stars { font-size: 1.4rem; margin-top: .15rem; }

/* ---------- 8. Final verdict + FAQ strip ---------- */
.rv-verdict-wrap { margin-top: 1.2rem; }
.rv-verdict { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: 1rem 2.5rem; align-items: center; padding: 1rem 1.25rem 1.1rem; border: 1px solid #e3e9f3; border-radius: var(--radius-sm); background: #fff; box-shadow: var(--shadow-xs); }
.rv-verdict h2 { margin: 0 0 .35rem; font-size: 1.72rem; letter-spacing: -.03em; }
.rv-verdict__copy p { margin: 0; font-size: max(1.04rem, 16px) /* rt-1019 */; line-height: 1.42; color: var(--rv-text); }
.rv-verdict .rv-compare { margin-top: .5rem; font-size: max(.88rem, 16px) /* rt-1019 */; }
.rv-compare strong { color: var(--rv-ink); }
.rv-rating--verdict { justify-content: center; flex-wrap: nowrap; margin-bottom: .55rem; }
.rv-rating--verdict > .icon { width: 1.6rem; height: 1.6rem; color: #e89a0c; }
.rv-rating--verdict strong { font-size: 1.32rem; }
.rv-faq { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: .6rem 1rem; align-items: start; margin-block: 1.2rem 2rem; }
.rv-faq h2 { display: flex; align-items: center; gap: .5rem; margin: .35rem 0 0; font-size: 1.12rem; letter-spacing: -.01em; }
.rv-faq h2 .icon { width: 1.5rem; height: 1.5rem; flex: none; color: #fff; fill: var(--rv-ink); }
.rv-faq__list { grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: .45rem .9rem; align-items: start; }
.rv-faq__list--2 { --cols: 2; }
.rv-faq__list summary { padding: .5rem .8rem; font-size: .9rem; font-weight: 500; }
.rv-faq__list details { border-color: #e3e9f3; }
.rv-faq__list summary::after { width: 12px; height: 12px; filter: invert(28%) sepia(98%) saturate(2400%) hue-rotate(208deg) brightness(97%); }

/* ---------- 9. Responsive ---------- */
@media (max-width: 1180px) {
  .rv-hero .hero__bg { left: 30%; }
  .rv-hero::before { background: linear-gradient(90deg, #fbfcfd 0%, #fbfcfd 36%, rgba(251, 252, 253, .7) 50%, rgba(251, 252, 253, .1) 66%); }
  .rv-hero-note { display: none; }
  .rv-icons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rv-plans--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .rv-kit__box { grid-template-columns: auto minmax(0, 1fr); }
  .rv-kit__form { grid-column: 1 / -1; }
  .rv-faq { grid-template-columns: minmax(0, 1fr); }
  .rv-faq__list { --cols: 2; }
}
@media (max-width: 960px) {
  .rv-verdict { grid-template-columns: minmax(0, 1fr); }
  .rv-box, .rv-quote { margin-left: 0; }
  .rv-main #pricing { padding-right: 0; }
}
@media (max-width: 760px) {
  .rv-hero { --hero-mobile-h: 210px; }
  .rv-hero .hero__bg { left: 0; }
  .rv-hero .hero__inner { padding-block: 1rem 1.25rem; }
  .rv-title { font-size: 2.35rem; }
  .rv-sub { font-size: 1.15rem; }
  .rv-hero .hero__lead, .rv-text, .rv-verdict__copy p { font-size: max(1rem, 16px) /* rt-1019 */; }
  .rv-sec h2 { font-size: 1.5rem; }
  .rv-hero-icons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .rv-hero-icons li { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .6rem; font-size: max(.9rem, 16px) /* rt-1019 */; }
  .rv-hero-icons .ib { --s: 2.75rem; }
  .rv-plans--2, .rv-plans--3 { grid-template-columns: minmax(0, 1fr); }
  .rv-plan { padding: 1rem 1.1rem 1.1rem; }
  .rv-faq__list { --cols: 1; }
}
@media (max-width: 640px) {
  .rv-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); --gap: .5rem; }
  .rv-feat { padding: .65rem .65rem .7rem; }
  .rv-feat__head { flex-direction: column; align-items: flex-start; gap: .3rem; }
  .rv-feat p { font-size: max(.88rem, 16px) /* rt-1019 */; }
  .rv-kit__box { grid-template-columns: minmax(0, 1fr); padding: 1rem; }
  .rv-kit__icon { display: none; }
  .rv-icons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rv-icons .ib { --s: 3.4rem; }
  .rv-plans--4 { grid-template-columns: minmax(0, 1fr); }
  .rv-pc .checklist { padding-left: 0; }
  .rv-verdict h2 { font-size: 1.4rem; }
}

/* =========================================================================
   10. Landscape variant (systeme-io-review, convertkit-review): denser 1536/1448px compositions with a
   narrower content width, sidebar lead box, score bars, related links, FAQ card, CTA band and trust strip.
   ========================================================================= */
.lnd-wide { width: min(100% - 2 * var(--gutter), var(--lnd-w, 70.2rem)); margin-inline: auto; }
.lnd-layout, .lnd-disclosure, .lnd-band, .lnd-trust { --rv-ink: #0e1f4d; --rv-text: #3b4766; }
.lnd-layout h2, .lnd-layout h3 { color: var(--rv-ink); }
.lnd-disclosure { margin-top: .3rem; margin-bottom: 0; padding: .12rem .5rem; font-size: max(.62rem, 14px) /* rt-1019 */; background: none; }
.lnd-layout { --aside: var(--lnd-aside, 16.5rem); gap: 1.2rem; margin-top: .3rem; }
.lnd-main { display: grid; gap: .55rem; align-content: start; }
.lnd-sec h2 { margin: 0; font-size: 1.15rem; letter-spacing: -.025em; }
.lnd-sub { margin: .1rem 0 .4rem; font-size: max(.74rem, 16px) /* rt-1019 */; color: var(--rv-text); }
.lnd-eyebrow { margin: 0 0 .2rem; font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--green-700); }
.lnd-rating { display: flex; align-items: center; justify-content: center; gap: .4rem; margin: 0 0 .35rem; }
.lnd-rating .stars { color: var(--gold); }
.lnd-rating strong { font-family: var(--font-head); font-size: 1rem; color: var(--rv-ink); }
.lnd-points { list-style: none; margin: .45rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem .95rem; }
.lnd-points li { display: flex; align-items: center; gap: .4rem; font-size: max(.62rem, 16px) /* rt-1019 */; line-height: 1.25; color: var(--rv-text); }
.lnd-points .ib { --s: 1.75rem; }
.lnd-points strong { display: block; font-size: .68rem; color: var(--rv-ink); }

/* Feature cards: icon square left, title + text right */
.lnd-feats { --gap: .3rem; }
.lnd-feat { display: flex; gap: .35rem; align-items: flex-start; padding: .5rem .35rem .5rem .45rem; border-color: #e8edf3; }
.lnd-feat .ib { --s: 1.6rem; border-radius: 5px; }
.lnd-feat h3 { margin: .05rem 0 .12rem; font-size: .64rem; letter-spacing: -.01em; white-space: nowrap; }
.lnd-feat p { margin: 0; font-size: max(.56rem, 16px) /* rt-1019 */; line-height: 1.32; color: #5d6884; }

/* Pros and cons (h2 headings with filled status icons) */
.lnd-pc { gap: .8rem; }
.lnd-pc .pros, .lnd-pc .cons { padding: .45rem .9rem .55rem; border-radius: var(--radius-sm); }
.lnd-pc .pros { background: #eef7f0; border-color: #dcefe0; }
.lnd-pc .cons { background: #fdeef0; border-color: #f8dde1; }
.lnd-pc h2 { display: flex; align-items: center; gap: .55rem; margin: 0 0 .3rem; font-size: 1rem; letter-spacing: -.02em; }
.lnd-pc h2 .icon { width: 1.25rem; height: 1.25rem; }
.lnd-pc .pros h2 .icon { color: var(--green-600); }
.lnd-pc .cons h2 .icon { color: var(--red-500); }
.lnd-pc .checklist { gap: .02rem; }
.lnd-pc .checklist li { font-size: max(.66rem, 16px) /* rt-1019 */; color: var(--rv-text); padding-left: 1.4rem; }
.lnd-pc .checklist li::before { width: .95rem; height: .95rem; }

/* Plans */
.lnd-plans { --gap: .35rem; }
.lnd-plan { display: flex; flex-direction: column; gap: .05rem; padding: .45rem .6rem .5rem 1rem; border-color: #e6ebf2; }
.lnd-plan h3 { margin: 0; font-size: .8rem; }
.lnd-plan .price { flex-wrap: wrap; column-gap: .15rem; }
.lnd-plan .price strong { font-size: 1.12rem; line-height: 1.15; letter-spacing: -.02em; }
.lnd-plan .price > span { font-size: .66rem; }
.lnd-plan__list { gap: 0; margin: .1rem 0 .35rem; }
.lnd-plan__list li { font-size: max(.6rem, 16px) /* rt-1019 */; line-height: 1.3; padding-left: 1.15rem; color: var(--rv-text); }
.lnd-plan__list li::before { width: .8rem; height: .8rem; background-color: var(--green-600); }
.lnd-plan .btn { margin-top: auto; min-height: 1.65rem; font-size: .66rem; padding: .25rem .4rem; margin-left: -.45rem; width: calc(100% + .45rem); }

/* Who it is for / not for */
.lnd-who { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .45rem; padding: .45rem .55rem .5rem; border-radius: var(--radius-sm); }
.lnd-who--green { background: #f1f5fa; border: 1px solid #e6edf6; }
.lnd-who--red { background: #fdeef0; border: 1px solid #f8dde1; }
.lnd-who__icon { color: var(--c); }
.lnd-who__icon .icon { width: 1.75rem; height: 1.75rem; fill: currentColor; }
.lnd-who h2 { margin: 0 0 .15rem; font-size: .92rem; letter-spacing: -.02em; }
.lnd-who .checklist { gap: .02rem; }
.lnd-who .checklist li { font-size: max(.58rem, 16px) /* rt-1019 */; line-height: 1.32; color: var(--rv-text); padding-left: 1.05rem; }
.lnd-who .checklist li::before { width: .78rem; height: .78rem; background-color: var(--green-600); }
.lnd-who .checklist--x li::before { background-color: var(--red-500); }

/* Sidebar */
.lnd-aside { gap: .55rem; }
.lnd-kit { padding: .6rem .75rem .55rem; border-radius: var(--radius-sm); }
.lnd-kit__head { display: flex; gap: .55rem; align-items: flex-start; }
.lnd-kit__head .icon { width: 1.8rem; height: 1.8rem; flex: none; color: var(--green-600); stroke-width: 2.2; }
.lnd-kit h2 { margin: 0; font-size: 1.02rem; line-height: 1.12; letter-spacing: -.02em; color: var(--rv-ink); }
.lnd-kit__text { margin: .3rem 0 .4rem; font-size: max(.66rem, 16px) /* rt-1019 */; line-height: 1.35; color: var(--rv-text); }
.lnd-kit__form input { min-height: 2.1rem; font-size: .7rem; padding: .3rem .6rem; }
.lnd-kit__form .btn { min-height: 2.1rem; font-size: .74rem; padding: .3rem .8rem; }
.lnd-kit__ticks { grid-column: 1 / -1; margin-top: .3rem; gap: .2rem .8rem; font-size: .62rem; }
.lnd-kit__ticks .icon { color: var(--green-600); }
.lnd-card { padding: .5rem .7rem .55rem; border: 1px solid #e3eaf4; border-radius: var(--radius-sm); background: #f3f7fc; }
.lnd-card h2 { margin: 0 0 .3rem; font-size: .93rem; letter-spacing: -.02em; color: var(--rv-ink); }
.lnd-card__row { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.lnd-bars { gap: .22rem; }
.lnd-bars div { grid-template-columns: 6.2rem minmax(0, 1fr) 2.4rem; font-size: .68rem; gap: .5rem; }
.lnd-bars .bar { height: 7px; }
.lnd-related a { font-size: .64rem; padding: .2rem 0; gap: .5rem; }
.lnd-related a > .icon:first-child { color: var(--blue-600); }
.lnd-faq__list { gap: .3rem; }
.lnd-faq__list details { border-color: #e3e9f2; }
.lnd-faq__list summary { padding: .3rem .5rem; gap: .4rem; font-size: .6rem; font-weight: 500; }
.lnd-faq__list summary::after { width: 10px; height: 10px; }
.lnd-faq__list .accordion__body { font-size: max(.7rem, 16px) /* rt-1019 */; padding: 0 .6rem .55rem; }

/* CTA band + trust strip */
.lnd-band__inner { flex-wrap: nowrap; justify-content: space-between; gap: 1rem 1.6rem; padding-block: .3rem; }
.lnd-band h2 { font-size: 1.08rem; margin: 0; }
.lnd-band p { font-size: max(.6rem, 16px) /* rt-1019 */; line-height: 1.3; }
.lnd-band .cta-band__copy { max-width: 25rem; text-align: center; }
.lnd-band__btn { flex: none; min-height: 1.95rem; padding: .25rem 1.6rem; font-size: .86rem; border: 1.5px solid rgba(255, 255, 255, .7); }
.lnd-band__ticks { flex-direction: column; gap: 0; font-size: .95rem; }
.lnd-band__ticks .icon { color: var(--green-400); }
.lnd-trust { background: #fff; border-top: 0; }
.lnd-trust .trust-strip__inner { flex-wrap: nowrap; gap: .5rem 1rem; padding-block: .2rem; }
.lnd-trust__logo .logo__mark { width: 2.1rem; }
.lnd-trust__logo .logo__l1, .lnd-trust__logo .logo__l3 { font-size: .5rem; }
.lnd-trust__logo .logo__l2 { font-size: .64rem; }
.lnd-trust__list { list-style: none; margin: 0; padding: 0; display: flex; flex: 1; justify-content: space-between; gap: .4rem; }
.lnd-trust__list li + li { padding-left: .9rem; border-left: 1px solid var(--line-strong); }
.lnd-trust .trust-item { font-size: max(.6rem, 16px) /* rt-1019 */; gap: .45rem; }
.lnd-trust .trust-item strong { font-size: .68rem; font-family: var(--font-body); font-weight: 700; }
.lnd-trust .trust-item > .icon { width: 1.35rem; height: 1.35rem; color: var(--navy-800); }
.lnd-trust__tag { margin: 0; font-size: max(.62rem, 16px) /* rt-1019 */; line-height: 1.3; text-align: right; color: var(--rv-ink); }
.lnd-trust .trust-item > span { min-width: 0; }
.lnd-trust .ph { overflow-wrap: anywhere; }

@media (max-width: 1180px) {
  .lnd-feats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lnd-trust .trust-strip__inner, .lnd-trust__list { flex-wrap: wrap; justify-content: flex-start; }
  .lnd-band__inner { flex-wrap: wrap; justify-content: center; }
}
@media (max-width: 960px) {
  .lnd-feat p, .lnd-plan__list li, .lnd-who .checklist li, .lnd-pc .checklist li, .lnd-faq__list summary, .lnd-related a, .lnd-bars div { font-size: max(.82rem, 16px) /* rt-1019 */; }
  .lnd-feat h3 { font-size: .86rem; }
}
@media (max-width: 760px) {
  .lnd-points li { font-size: max(.78rem, 16px) /* rt-1019 */; }
  .lnd-points strong { font-size: .84rem; }
  .lnd-trust__list li + li { padding-left: 0; border-left: 0; }
  .lnd-trust__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); flex: 1 1 100%; gap: .6rem .8rem; }
  .lnd-trust .trust-item { font-size: max(.74rem, 16px) /* rt-1019 */; }
  .lnd-trust .trust-item strong { font-size: .8rem; }
  .lnd-trust .trust-strip__inner { padding-block: .8rem; }
  .lnd-trust__tag { flex: 1 1 100%; text-align: left; font-size: max(.78rem, 16px) /* rt-1019 */; }
  .lnd-band .cta-band__copy { text-align: left; }
  .lnd-band__btn { width: 100%; }
}
@media (max-width: 640px) {
  .lnd-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lnd-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
