/* ── RESET HELLO THEME ─────────────────────────────── */
#site-header, .site-header, .page-header, .entry-header, .entry-title { display:none !important; }
.page-content, main#content, .site-main { max-width:100% !important; width:100% !important; padding:0 !important; margin:0 !important; }
.page-content > p:empty { display:none; }

/* ── TOKENS (equivalentes hex de los oklch de Lovable) ── */
.vlp {
  --paper:      #fbfaf6;                 /* crema original de Lovable (oklch 0.982 0.006 95) */
  --ink:        #0d1f2d;
  --ink-soft:   #4f6273;
  --amber:      #cf9a3c;
  --amber-deep: #a3701f;
  --amber-soft: #f5ecd0;
  --secondary:  #f3f2ee;
  --secondary-50: #f7f6f2;               /* secondary al 50 % sobre crema */
  --border:     #e1e4e8;
  --ink-10: rgba(13,31,45,.10);
  --ink-15: rgba(13,31,45,.15);
  --ink-20: rgba(13,31,45,.20);
  --ink-25: rgba(13,31,45,.25);
  --sans: 'Archivo', ui-sans-serif, system-ui, sans-serif;
  --serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  line-height: 1.5;
}
.vlp *, .vlp *::before, .vlp *::after { box-sizing: border-box; margin: 0; padding: 0; }
.vlp a { color: inherit; text-decoration: none; }
.vlp-in { max-width: 1152px; margin-inline: auto; padding-inline: 24px; width: 100%; }
.vlp ::selection { background: var(--amber-soft); color: var(--ink); }

/* ── TIPOGRAFÍA ─────────────────────────────────────── */
.vlp h1, .vlp h2, .vlp h3 { font-family: var(--serif) !important; font-weight: 600 !important; letter-spacing: -.025em !important; color: var(--ink); margin: 0; text-transform: none !important; }
.vlp h4 { font-family: var(--sans) !important; color: var(--ink); margin: 0; }
.vlp .vlp-radio h2 { color: #fbfaf6 !important; }
.vlp-display { font-family: var(--serif); font-weight: 600; letter-spacing: -.025em; }
.vlp-eyebrow { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .2em; color: var(--amber-deep); }
.vlp-muted { color: var(--ink-soft); }

/* ── BOTONES ────────────────────────────────────────── */
.vlp-btn { display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; padding: 12px 24px; font-size: 14px; font-weight: 600; line-height: 1.25; border: 1px solid transparent; cursor: pointer; font-family: var(--sans); transition: background-color .15s, color .15s; }
.vlp .vlp-btn-ink { background: var(--ink); color: #fff; }
.vlp .vlp-btn-ink:hover { background: var(--amber-deep); color: #fff; }
.vlp .vlp-btn-line { border-color: var(--ink-20); color: var(--ink); background: transparent; }
.vlp .vlp-btn-line:hover { background: var(--amber-soft); }
.vlp .vlp-btn-amber { background: var(--amber); color: var(--ink); }
.vlp .vlp-btn-amber:hover { background: var(--amber-soft); }
.vlp-btn-sm { padding: 8px 16px; font-weight: 500; }
.vlp .vlp-link-u { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--ink); text-decoration: underline; text-decoration-color: var(--amber); text-decoration-thickness: 2px; text-underline-offset: 4px; transition: color .15s; }
.vlp .vlp-link-u:hover { color: var(--amber-deep); }

/* ── PLACEHOLDERS ───────────────────────────────────── */
.vlp-ph { display: grid; place-items: center; text-align: center; padding: 20px; color: var(--ink-soft); font-size: 13px; font-weight: 600; background: var(--secondary-50); border: 1px dashed var(--ink-25); }
.vlp-ph small { display: block; font-weight: 400; margin-top: 4px; }
.vlp-ph--hed { background: var(--amber-soft); border-color: transparent; color: var(--amber-deep); }

/* ── IMÁGENES (con .vlp delante e !important: Elementor aplica `.elementor img {height:auto}`) ── */
.vlp img { max-width: 100%; display: block; border: 0; }
.vlp .vlp-shot { width: 100% !important; height: auto !important; object-fit: cover; display: block; }
.vlp .vlp-frame--16-10 .vlp-shot { aspect-ratio: 16 / 10; }
.vlp .vlp-frame--5-4 .vlp-shot { aspect-ratio: 5 / 4; }
.vlp .vlp-frame--4-3 .vlp-shot { aspect-ratio: 4 / 3; }
.vlp .vlp-hed { width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; }
.vlp .vlp-hed-sq { width: 160px !important; height: 160px !important; object-fit: cover; }
.vlp .vlp-avatar { border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.vlp .vlp-res-main .vlp-avatar { width: 44px !important; height: 44px !important; }
.vlp .vlp-res-side .vlp-avatar { width: 36px !important; height: 36px !important; }
.vlp .vlp-logo-img { height: 64px !important; width: auto !important; max-width: 220px !important; opacity: .45; filter: grayscale(1); transition: opacity .15s, filter .15s; display: inline-block; }
.vlp .vlp-logo-img:hover { opacity: 1; filter: none; }
.vlp .vlp-logo-img--tall { height: 88px !important; }

/* ── MARCO DE NAVEGADOR (MockFrame) ─────────────────── */
.vlp-frame { overflow: hidden; border-radius: 6px; border: 1px solid var(--ink-20); background: #fff; box-shadow: 0 24px 60px -24px rgba(13,31,45,.35); }
.vlp-frame-bar { display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--ink-10); background: var(--secondary); padding: 10px 16px; }
.vlp-frame-bar b { width: 8px; height: 8px; border-radius: 50%; background: var(--ink-15); }
.vlp-frame-bar span { margin-left: 12px; font-size: 11px; color: var(--ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vlp-frame .vlp-ph { border: 0; }
.vlp-frame--16-10 .vlp-ph { aspect-ratio: 16 / 10; }
.vlp-frame--5-4 .vlp-ph { aspect-ratio: 5 / 4; }
.vlp-frame--4-3 .vlp-ph { aspect-ratio: 4 / 3; }

/* ── HEADER ─────────────────────────────────────────── */
.vlp-head { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--ink-10); background: rgba(251,250,246,.95); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.vlp-head-in { display: flex; align-items: center; height: 64px; gap: 40px; }
.vlp .vlp-logo { font-family: var(--serif) !important; font-size: 24px; font-weight: 700 !important; letter-spacing: -.025em; color: var(--ink); }
.vlp-logo span { color: var(--amber); }
.vlp-nav { display: none; align-items: center; gap: 28px; font-size: 14px; color: var(--ink-soft); }
.vlp-nav a:hover { color: var(--ink); }
.vlp-head-cta { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.vlp-head-cta .vlp-btn-line { display: none; }
@media (min-width: 640px) { .vlp-head-cta .vlp-btn-line { display: inline-flex; } }
@media (min-width: 1024px) { .vlp-nav { display: flex; } }

/* ── HERO ───────────────────────────────────────────── */
.vlp-hero { overflow: hidden; }
.vlp-hero-grid { display: grid; align-items: center; gap: 40px; padding: 56px 0; }
.vlp-hero h1 { font-family: var(--serif); font-weight: 600 !important; letter-spacing: -.025em; line-height: 1.08; font-size: 36px; }
.vlp-hero-sub { margin-top: 20px; max-width: 448px; font-size: 18px; line-height: 1.625; color: var(--ink-soft); }
.vlp-hero-ctas { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; }
.vlp-hero-note { margin-top: 24px; font-size: 12px; color: var(--ink-soft); }
.vlp-hero-shot { position: relative; }
.vlp-facts { border-top: 1px solid var(--ink-15); border-bottom: 1px solid var(--ink-15); }
.vlp-facts ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; font-size: 14px; font-weight: 500; }
.vlp-facts li { padding: 16px 0; }
.vlp-facts li:nth-child(even) { border-left: 1px solid var(--ink-15); padding-left: 20px; }
.vlp-facts li:nth-child(n+3) { border-top: 1px solid var(--ink-15); }
@media (min-width: 640px) { .vlp-hero h1 { font-size: 48px; } }
@media (min-width: 1024px) {
  .vlp-hero-grid { grid-template-columns: 45fr 55fr; gap: 24px; padding: 80px 0; }
  .vlp-hero h1 { font-size: 3.4rem; }
  .vlp-hero-shot > div { width: 135%; max-width: none; }
  .vlp-facts ul { grid-template-columns: repeat(4, 1fr); }
  .vlp-facts li { padding: 16px 20px; border-left: 1px solid var(--ink-15); }
  .vlp-facts li:first-child { padding-left: 0; border-left: 0; }
  .vlp-facts li:nth-child(n+3) { border-top: 0; }
}

/* ── RADIOGRAFÍA ────────────────────────────────────── */
.vlp .vlp-radio { background: var(--ink); color: #fbfaf6; padding: 64px 0; }
.vlp .vlp-radio h2 { font-family: var(--serif); font-weight: 600; letter-spacing: -.025em; font-size: 30px; color: #fbfaf6; margin: 0; }
.vlp .vlp-radio .vlp-radio-sub { margin-top: 12px; max-width: 576px; color: rgba(251,250,246,.7); }
.vlp-radio-form { margin-top: 32px; max-width: 576px; display: flex; flex-direction: column; gap: 12px; }
.vlp-radio-form input { height: 48px; flex: 1; border-radius: 6px; border: 1px solid rgba(251,250,246,.25); background: transparent; padding: 0 16px; font-size: 14px; color: #fbfaf6; font-family: var(--sans); outline: none; }
.vlp-radio-form input::placeholder { color: rgba(251,250,246,.4); }
.vlp-radio-form input:focus { border-color: var(--amber); }
.vlp-radio-form .vlp-btn { height: 48px; }
.vlp .vlp-radio-note { margin-top: 16px; font-size: 12px; color: rgba(251,250,246,.5); }
@media (min-width: 640px) { .vlp-radio-form { flex-direction: row; } }
@media (min-width: 1024px) { .vlp .vlp-radio { padding: 80px 0; } .vlp .vlp-radio h2 { font-size: 36px; } }

/* ── TESIS ──────────────────────────────────────────── */
.vlp-thesis { padding: 80px 0; }
.vlp-thesis-grid { display: grid; align-items: center; gap: 48px; }
.vlp-thesis-img { overflow: hidden; border-radius: 2px; }
.vlp-thesis-img .vlp-ph { aspect-ratio: 4 / 5; width: 100%; }
.vlp-thesis h2 { font-family: var(--serif); font-weight: 600; letter-spacing: -.025em; line-height: 1.25; font-size: 30px; }
.vlp-thesis-copy { margin-top: 24px; max-width: 672px; font-size: 18px; line-height: 1.625; color: var(--ink-soft); }
.vlp-thesis-copy p + p { margin-top: 20px; }
@media (min-width: 1024px) { .vlp-thesis { padding: 112px 0; } .vlp-thesis-grid { grid-template-columns: 40fr 60fr; } .vlp-thesis h2 { font-size: 2.6rem; } }

/* ── CAPÍTULOS ──────────────────────────────────────── */
.vlp-chap { border-top: 1px solid var(--ink-15); border-bottom: 1px solid var(--ink-15); background: var(--secondary-50); padding: 80px 0; }
.vlp-chap h2 { margin-top: 12px; max-width: 672px; font-family: var(--serif); font-weight: 600; letter-spacing: -.025em; font-size: 30px; }
.vlp-chap-grid { margin-top: 48px; display: grid; gap: 40px; }
.vlp-chap-col h3 { font-family: var(--serif); font-weight: 600; font-size: 20px; }
.vlp-chap-col ul { list-style: none; margin-top: 20px; display: grid; gap: 20px; }
.vlp-chap-col li p:first-child { font-size: 14px; font-weight: 600; }
.vlp-chap-col li p + p { margin-top: 4px; font-size: 14px; line-height: 1.625; color: var(--ink-soft); }
@media (min-width: 640px) { .vlp-chap-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) {
  .vlp-chap { padding: 96px 0; }
  .vlp-chap h2 { font-size: 36px; }
  .vlp-chap-grid { grid-template-columns: repeat(4, 1fr); gap: 0; }
  .vlp-chap-col { padding-left: 32px; border-left: 1px solid var(--ink-15); }
  .vlp-chap-col:first-child { padding-left: 0; padding-right: 32px; border-left: 0; }
}

/* ── PRODUCTOS ──────────────────────────────────────── */
.vlp-prod { padding: 80px 0; }
.vlp-prod-in { display: grid; gap: 80px; }
.vlp-prod-row { display: grid; align-items: center; gap: 40px; }
.vlp-prod-badge { margin-left: 12px; border-radius: 999px; border: 1px solid rgba(207,154,60,.5); padding: 2px 10px; font-size: 10px; text-transform: none; letter-spacing: 0; color: var(--amber-deep); }
.vlp-prod h3 { margin-top: 12px; max-width: 512px; font-family: var(--serif); font-weight: 600; letter-spacing: -.025em; line-height: 1.375; font-size: 24px; }
.vlp-prod-p { margin-top: 16px; max-width: 512px; line-height: 1.625; color: var(--ink-soft); }
.vlp-prod-price { margin-top: 20px; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; row-gap: 4px; }
.vlp-prod-price s { font-size: 14px; color: var(--ink-soft); }
.vlp-prod-price .num { font-family: var(--serif); font-weight: 600; font-size: 30px; }
.vlp-prod-price small { font-size: 12px; color: var(--ink-soft); }
.vlp-prod-access { margin-top: 20px; font-size: 14px; font-weight: 500; color: var(--ink-soft); }
.vlp-prod .vlp-link-u { margin-top: 20px; }
@media (min-width: 1024px) {
  .vlp-prod { padding: 112px 0; }
  .vlp-prod-in { gap: 112px; }
  .vlp-prod-row { grid-template-columns: 1fr 1fr; gap: 64px; }
  .vlp-prod-row.rev .vlp-prod-copy { order: 2; }
  .vlp-prod-row.rev .vlp-prod-shot { order: 1; }
  .vlp-prod h3 { font-size: 30px; }
}

/* ── VALIDACIÓN ─────────────────────────────────────── */
.vlp-val { border-top: 1px solid var(--ink-15); border-bottom: 1px solid var(--ink-15); background: var(--secondary-50); padding: 80px 0; }
.vlp-val-grid { display: grid; align-items: center; gap: 48px; }
.vlp-val h2 { font-family: var(--serif); font-weight: 600; letter-spacing: -.025em; font-size: 30px; }
.vlp-val-p { margin-top: 20px; max-width: 576px; line-height: 1.625; color: var(--ink-soft); }
.vlp-val ol { list-style: none; margin-top: 32px; display: grid; gap: 20px; }
.vlp-val li { display: flex; gap: 16px; }
.vlp-val li b { font-family: var(--serif); font-weight: 600; font-size: 24px; color: var(--amber); line-height: 1; }
.vlp-val li p { padding-top: 4px; line-height: 1.625; }
@media (min-width: 1024px) { .vlp-val { padding: 112px 0; } .vlp-val-grid { grid-template-columns: 55fr 45fr; } .vlp-val h2 { font-size: 36px; } }

/* ── RESULTADOS ─────────────────────────────────────── */
.vlp-res { padding: 80px 0; }
.vlp-res-grid { margin-top: 32px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink-15); }
.vlp-res-cell { border-bottom: 1px solid var(--ink-15); padding: 32px 0; }
.vlp-res-cell.bl { border-left: 1px solid var(--ink-15); padding-left: 24px; }
.vlp-res-cell.pr { padding-right: 24px; }
.vlp-res-num { font-family: var(--serif); font-weight: 600; font-size: 60px; line-height: 1; }
.vlp-res-num-lab { margin-top: 8px; font-size: 14px; color: var(--ink-soft); }
.vlp-res-main { grid-column: span 2; }
.vlp-res-main blockquote { font-family: var(--serif); font-weight: 500; line-height: 1.375; font-size: 20px; }
.vlp-res-logos { grid-column: span 2; display: flex; flex-wrap: wrap; align-items: center; gap: 24px 48px; }
.vlp-res-side { grid-column: span 2; }
.vlp-res-side blockquote { font-size: 14px; line-height: 1.625; }
.vlp-res cite { font-style: normal; display: flex; align-items: center; gap: 12px; font-size: 14px; }
.vlp-res-main cite { margin-top: 24px; }
.vlp-res-side cite { margin-top: 16px; font-size: 12px; }
.vlp-res cite b { display: block; font-weight: 600; color: var(--ink); }
.vlp-res cite span:last-child { color: var(--ink-soft); }
@media (min-width: 1024px) {
  .vlp-res { padding: 96px 0; }
  .vlp-res-grid { grid-template-columns: repeat(6, 1fr); }
  .vlp-res-cell { padding: 40px 0; }
  .vlp-res-stat { grid-column: span 2; }
  .vlp-res-main { grid-column: span 2; grid-row: span 2; border-left: 1px solid var(--ink-15); padding-left: 32px; }
  .vlp-res-main blockquote { font-size: 24px; }
  .vlp-res-logos { grid-column: span 4; padding-right: 32px; }
  .vlp-res-cell.bl { padding-left: 32px; }
  .vlp-res-side { grid-column: span 3; }
  .vlp-res-side.pr { padding-right: 32px; }
  .vlp-res-side.bl { padding-left: 32px; }
}

/* ── PRECIO ─────────────────────────────────────────── */
.vlp-price { padding-bottom: 80px; }
.vlp-price-box { display: grid; overflow: hidden; border-radius: 8px; border: 1px solid var(--ink-20); }
.vlp-price-col { padding: 32px; }
.vlp-price-col + .vlp-price-col { border-top: 1px solid var(--ink-20); }
.vlp-price-num { margin-top: 24px; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; }
.vlp-price-num .num { font-family: var(--serif); font-weight: 600; font-size: 48px; line-height: 1; }
.vlp-price-num s { font-size: 18px; color: var(--ink-soft); }
.vlp-price-meta { margin-top: 8px; font-size: 12px; color: var(--ink-soft); }
.vlp-price-list { list-style: none; margin-top: 32px; display: grid; gap: 12px; font-size: 14px; }
.vlp-price-list li { display: flex; gap: 12px; }
.vlp-price-list li::before { content: '—'; color: var(--amber); margin-top: 2px; }
.vlp-price-col .vlp-btn { margin-top: 40px; width: 100%; padding: 14px 24px; }
@media (min-width: 1024px) {
  .vlp-price { padding-bottom: 112px; }
  .vlp-price-box { grid-template-columns: 1fr 1fr; }
  .vlp-price-col { padding: 48px; }
  .vlp-price-col + .vlp-price-col { border-top: 0; border-left: 1px solid var(--ink-20); }
}

/* ── PARA QUIÉN ─────────────────────────────────────── */
.vlp-aud { border-top: 1px solid var(--ink-15); background: var(--secondary-50); padding: 80px 0; }
.vlp-aud-grid { margin-top: 40px; display: grid; gap: 48px; }
.vlp-aud-col .vlp-ph { width: 160px; aspect-ratio: 1; }
.vlp-aud-col h3 { margin-top: 24px; font-family: var(--serif); font-weight: 600; font-size: 20px; }
.vlp-aud-col p { margin-top: 12px; font-size: 14px; line-height: 1.625; color: var(--ink-soft); }
@media (min-width: 640px) { .vlp-aud-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) {
  .vlp-aud { padding: 96px 0; }
  .vlp-aud-grid { gap: 0; }
  .vlp-aud-col { padding-left: 40px; border-left: 1px solid var(--ink-15); }
  .vlp-aud-col:first-child { padding-left: 0; padding-right: 40px; border-left: 0; }
}

/* ── CTA FINAL ──────────────────────────────────────── */
.vlp-final { padding: 80px 0; }
.vlp-final-in { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 40px; }
.vlp-final h2 { max-width: 576px; font-family: var(--serif); font-weight: 600; letter-spacing: -.025em; line-height: 1.25; font-size: 30px; }
.vlp-final-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
@media (min-width: 1024px) { .vlp-final { padding: 112px 0; } .vlp-final-in { flex-direction: row; align-items: center; } .vlp-final h2 { font-size: 36px; } }

/* ── FOOTER ─────────────────────────────────────────── */
.vlp-foot { border-top: 1px solid var(--ink-15); }
.vlp-foot-grid { display: grid; gap: 40px; padding: 56px 0; }
.vlp-foot-desc { margin-top: 16px; max-width: 320px; font-size: 14px; line-height: 1.625; color: var(--ink-soft); }
.vlp-foot h4 { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .18em; }
.vlp-foot ul { list-style: none; margin-top: 16px; display: grid; gap: 10px; font-size: 14px; color: var(--ink-soft); }
.vlp-foot li a:hover { color: var(--ink); }
.vlp-foot-bottom { border-top: 1px solid var(--ink-10); }
.vlp-foot-bottom p { padding: 20px 0; font-size: 12px; color: var(--ink-soft); }
@media (min-width: 640px) { .vlp-foot-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .vlp-foot-grid { grid-template-columns: repeat(4, 1fr); } }

.vlp a:focus-visible, .vlp button:focus-visible, .vlp input:focus-visible { outline: 2px solid var(--amber); outline-offset: 3px; }

/* ── PÁGINAS DE PRODUCTO (añadido sobre el CSS de la home) ─────────── */
.vlp-phero { padding: 56px 0 0; overflow: hidden; }
.vlp-phero-grid { display: grid; align-items: center; gap: 40px; padding-bottom: 56px; }
.vlp-phero h1 { font-family: var(--serif); font-weight: 600; letter-spacing: -.025em; line-height: 1.08; font-size: 36px; }
.vlp-phero .vlp-eyebrow { margin-bottom: 14px; }
.vlp-phero-sub { margin-top: 20px; max-width: 520px; font-size: 18px; line-height: 1.625; color: var(--ink-soft); }
.vlp-phero-price { margin-top: 24px; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; row-gap: 4px; }
.vlp-phero-price s { font-size: 14px; color: var(--ink-soft); }
.vlp-phero-price .num { font-family: var(--serif); font-weight: 600; font-size: 34px; line-height: 1; }
.vlp-phero-price small { font-size: 12px; color: var(--ink-soft); }
.vlp-phero-ctas { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px; }
.vlp-phero-note { margin-top: 20px; font-size: 12px; color: var(--ink-soft); }
@media (min-width: 640px) { .vlp-phero h1 { font-size: 44px; } }
@media (min-width: 1024px) { .vlp-phero { padding-top: 80px; } .vlp-phero-grid { grid-template-columns: 48fr 52fr; gap: 56px; padding-bottom: 80px; } .vlp-phero h1 { font-size: 52px; } }

.vlp-sec { padding: 80px 0; }
.vlp-sec--alt { background: var(--secondary-50); border-top: 1px solid var(--ink-15); border-bottom: 1px solid var(--ink-15); }
.vlp-sec h2 { font-family: var(--serif); font-weight: 600; letter-spacing: -.025em; font-size: 30px; max-width: 24ch; }
.vlp-sec .vlp-eyebrow + h2 { margin-top: 12px; }
.vlp-sec-lead { margin-top: 16px; max-width: 60ch; font-size: 17px; line-height: 1.625; color: var(--ink-soft); }
@media (min-width: 1024px) { .vlp-sec { padding: 112px 0; } .vlp-sec h2 { font-size: 36px; } }

.vlp-cols { margin-top: 48px; display: grid; gap: 40px; }
.vlp-col h3 { font-family: var(--serif); font-weight: 600; font-size: 22px; }
.vlp-col p { margin-top: 12px; font-size: 15px; line-height: 1.625; color: var(--ink-soft); }
@media (min-width: 640px) { .vlp-cols { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .vlp-cols { gap: 0; } .vlp-col { padding-left: 32px; border-left: 1px solid var(--ink-15); } .vlp-col:first-child { padding-left: 0; padding-right: 32px; border-left: 0; } }

.vlp-blocks { margin-top: 48px; display: grid; gap: 0; border-top: 1px solid var(--ink-15); }
.vlp-block { display: grid; grid-template-columns: 56px 1fr; gap: 16px; padding: 24px 0; border-bottom: 1px solid var(--ink-15); }
.vlp-block b { font-family: var(--serif); font-weight: 600; font-size: 28px; line-height: 1; color: var(--amber); }
.vlp-block h3 { font-size: 17px; font-weight: 600; }
.vlp-block p { margin-top: 6px; font-size: 15px; line-height: 1.625; color: var(--ink-soft); max-width: 62ch; }
@media (min-width: 1024px) { .vlp-blocks { grid-template-columns: 1fr 1fr; column-gap: 64px; } }

.vlp-steps { margin-top: 48px; display: grid; gap: 32px; }
.vlp-step b { font-family: var(--serif); font-weight: 600; font-size: 40px; line-height: 1; color: var(--amber); }
.vlp-step h3 { margin-top: 12px; font-size: 18px; font-weight: 600; }
.vlp-step p { margin-top: 8px; font-size: 15px; line-height: 1.625; color: var(--ink-soft); }
@media (min-width: 640px) { .vlp-steps { grid-template-columns: repeat(3, 1fr); gap: 48px; } }

.vlp-faq { margin-top: 48px; border-top: 1px solid var(--ink-15); max-width: 760px; }
.vlp-faq details { border-bottom: 1px solid var(--ink-15); }
.vlp-faq summary { cursor: pointer; list-style: none; padding: 20px 0; font-size: 17px; font-weight: 600; display: flex; justify-content: space-between; gap: 16px; }
.vlp-faq summary::-webkit-details-marker { display: none; }
.vlp-faq summary::after { content: '+'; font-family: var(--serif); font-size: 24px; line-height: 1; color: var(--amber); flex-shrink: 0; }
.vlp-faq details[open] summary::after { content: '−'; }
.vlp-faq details p { padding: 0 0 20px; font-size: 15px; line-height: 1.625; color: var(--ink-soft); max-width: 62ch; }

.vlp-pricebox { margin-top: 48px; display: grid; gap: 32px; border: 1px solid var(--ink-20); border-radius: 8px; padding: 40px; background: #fff; align-items: center; }
.vlp-pricebox .vlp-price-num { margin-top: 0; }
.vlp-pricebox .vlp-price-list { margin-top: 20px; }
.vlp-pricebox .vlp-btn { margin-top: 0; width: 100%; padding: 14px 24px; }
@media (min-width: 1024px) { .vlp-pricebox { grid-template-columns: 1fr 1fr; gap: 64px; padding: 48px; } .vlp-pricebox .vlp-btn { width: auto; } }

.vlp-related { margin-top: 48px; display: grid; gap: 0; border-top: 1px solid var(--ink-15); }
.vlp-related a { display: block; padding: 24px 0; border-bottom: 1px solid var(--ink-15); }
.vlp-related a:hover h3 { color: var(--amber-deep); }
.vlp-related h3 { font-family: var(--serif); font-weight: 600; font-size: 22px; transition: color .15s; }
.vlp-related p { margin-top: 6px; font-size: 15px; color: var(--ink-soft); }
@media (min-width: 640px) { .vlp-related { grid-template-columns: repeat(3, 1fr); column-gap: 40px; } }

.vlp-final { padding: 80px 0; }
