:root { --red: #8B0000; --red-700: #6d0000; --red-soft: #f6e9e9; --section-pad-y: 80px; }
.cv-hero { padding: 90px 0 76px; }
.cv-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); align-items: center; gap: clamp(32px, 7vw, 96px); }
.cv-hero h1 { font-size: clamp(38px, 5.2vw, 64px); max-width: 14ch; }
.cv-hero .lede { margin-top: 24px; }
.cv-proof { margin: 22px 0 26px; max-width: 58ch; color: var(--grey-800); }
.cv-small { color: var(--grey-500); font-size: 13px; margin: 12px 0 24px; }
.cv-preview { margin: 0; padding: 16px; border: 1px solid var(--grey-200); border-radius: var(--radius-lg); background: var(--bg-soft); box-shadow: 0 22px 65px rgba(0,0,0,.08); }
.cv-preview img { width: 100%; height: auto; border: 1px solid var(--grey-150); background: white; }
.cv-preview figcaption { margin-top: 12px; font-size: 12px; color: var(--grey-500); text-align: center; }
.cv-narrow { max-width: 800px; }
.cv-section { padding: 72px 0; }
.cv-section h2 { max-width: 17ch; }
.cv-section p { max-width: 68ch; }
.cv-section .btn { margin-top: 12px; }
.cv-steps { padding-left: 22px; margin: 26px 0 0; display: grid; gap: 16px; color: var(--grey-700); }
.cv-steps li { padding-left: 8px; }
.cv-steps strong { color: var(--ink); font-weight: 600; }
.cv-faq { display: grid; gap: 8px; margin: 26px 0 28px; }
.cv-faq h3 { margin-top: 12px; }
.cv-faq p { font-size: 15px; }
.cv-guide-link { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.cv-checkout[aria-disabled="true"] { background: var(--grey-300); color: var(--grey-700); cursor: not-allowed; }
.cv-checkout[aria-disabled="true"]:hover { background: var(--grey-300); }
@media (max-width: 760px) { .cv-hero-grid { grid-template-columns: 1fr; } .cv-preview { max-width: 440px; } .cv-hero { padding: 64px 0; } }
