/* Com publicar — page template (frame mQVhR). Prefijo .cp- para evitar colisiones. */

.cp-hero { display: flex; align-items: stretch; background: var(--paper); }
.cp-hero__text { flex: 0 0 720px; max-width: 720px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 24px; padding: 0 var(--pad-x); }
.cp-hero__title { font-family: var(--font-display); font-weight: 600; font-size: 58px; line-height: 1.02; letter-spacing: -1.5px; color: var(--ink); margin: 0; max-width: 560px; }
.cp-hero__lead { font-family: var(--font-body); font-size: 18px; line-height: 1.55; color: var(--ink-soft); margin: 0; max-width: 540px; }
.cp-hero__cta { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding-top: 8px; }
.cp-hero__media { position: relative; flex: 1 1 0; min-height: 560px; background-color: var(--wine); background-size: cover; background-position: center; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 40px; }
.cp-hero__media::before { content: ""; position: absolute; inset: 0; background: rgba(124,23,64,0.65); }
.cp-hero__tag { position: relative; font-family: var(--font-mono); font-weight: 700; font-size: 12px; line-height: normal; letter-spacing: 2px; text-transform: uppercase; color: rgba(250,247,248,0.9); background: rgba(250,247,248,0.10); border: 1px solid rgba(250,247,248,0.25); border-radius: 2px; padding: 10px 18px; }

.ic { flex-shrink: 0; }
.btn .ic { margin-right: 6px; }
.cp-hero__cta .btn { padding: 16px 30px; gap: 10px; }
.cp-steps, .cp-journey, .cp-submit { padding-top: 80px; padding-bottom: 80px; }

.cp-h2 { font-family: var(--font-display); font-weight: 600; font-size: 38px; letter-spacing: -0.5px; color: var(--ink); }
.cp-intro { font-family: var(--font-body); font-size: 17px; line-height: 1.55; color: var(--ink-soft); max-width: 640px; margin: 6px 0 0; }

.cp-steps { border-top: 1px solid var(--line); }
.cp-steps__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.cp-step { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; background: var(--paper-card); border: 1px solid var(--line); border-radius: 2px; padding: 28px 26px 30px; }
.cp-step__num { font-family: var(--font-display); font-weight: 700; font-size: 40px; line-height: 1; color: var(--wine); }
.cp-step__title { font-family: var(--font-display); font-weight: 600; font-size: 19px; color: var(--ink); margin: 0; }
.cp-step__text { font-family: var(--font-body); font-size: 14.5px; line-height: 1.5; color: var(--ink-soft); margin: 0; }

.cp-journey { background: var(--paper-2); }
.cp-jrow { display: flex; align-items: flex-start; gap: 36px; padding: 30px 0; }
.cp-jrow + .cp-jrow { border-top: 1px solid var(--line); }
.cp-jrow__num { flex: 0 0 130px; font-family: var(--font-display); font-weight: 700; font-size: 56px; line-height: 1; color: var(--wine); }
.cp-jrow__body { flex: 1 1 0; display: flex; flex-direction: column; gap: 10px; }
.cp-jrow__head { display: flex; align-items: center; gap: 12px; }
.cp-jrow__dot { width: 12px; height: 12px; background: var(--green); flex-shrink: 0; }
.cp-jrow__title { font-family: var(--font-display); font-weight: 600; font-size: 25px; color: var(--ink); margin: 0; }
.cp-jrow__text { font-family: var(--font-body); font-size: 16.5px; line-height: 1.55; color: var(--ink-soft); max-width: 820px; margin: 0; }

.cp-benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; padding: 56px var(--pad-x); border-bottom: 1px solid var(--line); }
.cp-benefit { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; color: var(--wine); }
.cp-benefit__title { font-family: var(--font-display); font-weight: 600; font-size: 18px; color: var(--ink); margin: 0; }
.cp-benefit__text { font-family: var(--font-body); font-size: 14.5px; line-height: 1.5; color: var(--ink-soft); margin: 0; }

.cp-submit { display: flex; align-items: flex-start; gap: 56px; }
.cp-submit__info { flex: 0 0 430px; max-width: 430px; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.cp-submit__title { font-family: var(--font-display); font-weight: 600; font-size: 34px; line-height: 1.08; letter-spacing: -0.5px; color: var(--ink); margin: 0; }
.cp-submit__lead { font-family: var(--font-body); font-size: 17px; line-height: 1.55; color: var(--ink-soft); margin: 0; }
.cp-contact { display: flex; align-items: flex-start; gap: 13px; color: var(--wine); }
.cp-contact > div { display: flex; flex-direction: column; gap: 2px; }
.cp-contact__label { font-family: var(--font-mono); font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--ink-faint); }
.cp-contact__value { font-family: var(--font-ui); font-weight: 500; font-size: 14.5px; color: var(--ink); }

.cp-form { flex: 1 1 0; display: flex; flex-direction: column; gap: 18px; background: var(--paper-card); border: 1px solid var(--line); border-radius: 2px; padding: 36px; }
.cp-form__title { font-family: var(--font-display); font-weight: 600; font-size: 26px; color: var(--ink); margin: 0; }
.cp-form__row { display: flex; gap: 16px; }
.cp-field { flex: 1 1 0; display: flex; flex-direction: column; gap: 7px; }
.cp-field__label { font-family: var(--font-mono); font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--ink-faint); }
.cp-field input { font-family: var(--font-ui); font-size: 14px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 2px; padding: 14px 16px; width: 100%; }
.cp-field input::placeholder { color: var(--ink-faint); }
.cp-field input:focus { outline: none; border-color: var(--wine); }
.cp-drop { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 26px 18px; background: var(--paper); border: 1.5px solid var(--wine); border-radius: 2px; color: var(--wine); }
.cp-drop span { font-family: var(--font-ui); font-weight: 500; font-size: 14px; color: var(--ink); }
.cp-check { display: flex; align-items: center; gap: 10px; }
.cp-check input { width: 18px; height: 18px; accent-color: var(--wine); flex-shrink: 0; }
.cp-check span { font-family: var(--font-body); font-size: 13px; color: var(--ink-soft); }
.cp-legal { font-family: var(--font-body); font-size: 11.5px; line-height: 1.5; color: var(--ink-faint); margin: 0; }
.cp-form__submit { justify-content: center; width: 100%; padding: 16px 28px; gap: 9px; }

@media (max-width: 1024px) {
	.cp-hero { flex-direction: column; }
	.cp-hero__text { flex-basis: auto; max-width: none; }
	.cp-hero__media { min-height: 320px; }
	.cp-steps__grid { grid-template-columns: repeat(2, 1fr); }
	.cp-benefits { grid-template-columns: repeat(2, 1fr); }
	.cp-submit { flex-direction: column; }
	.cp-submit__info { flex-basis: auto; max-width: none; }
	.cp-jrow__num { flex-basis: 90px; font-size: 44px; }
}

@media (max-width: 768px) {
	.cp-hero__title { font-size: 40px; }
	.cp-steps__grid { grid-template-columns: 1fr; }
	.cp-benefits { grid-template-columns: 1fr; }
	.cp-jrow { flex-direction: column; gap: 12px; }
	.cp-form__row { flex-direction: column; }
	.cp-form { padding: 24px; }
}
