/* ── 3 · Hero (Figma 5:4): copy · foto recortada en curva · formulario flotante ── */
.hero { background: var(--c-grey-light); padding-block: clamp(32px, 4vw, 56px) clamp(40px, 5vw, 72px); overflow: hidden; }
.hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.85fr) minmax(300px, 0.8fr); gap: var(--sp-xl); align-items: center; }
.hero__copy .eyebrow { color: var(--c-brand-dark); }
.hero__copy h1 { max-width: 16ch; }
.hero__proof { margin-top: var(--sp-lg); }
.hero__photo { border-radius: 50% 50% 50% 0 / 42% 42% 42% 0; overflow: hidden; aspect-ratio: 4 / 5; max-height: 560px; }
.hero__photo img { width: 100%; height: 100%; object-fit: cover; }
.hero__or { margin-top: var(--sp-md); text-align: center; }
.hero__or .phone-line { color: var(--c-brand-dark); }
@media (max-width: 1099px) {
	.hero__grid { grid-template-columns: minmax(0, 1fr) minmax(300px, 0.9fr); }
	.hero__photo { display: none; }
}
@media (max-width: 719px) {
	.hero__grid { grid-template-columns: minmax(0, 1fr); }
	.hero__photo { display: block; aspect-ratio: 16 / 10; max-height: 260px; border-radius: var(--r-xl); }
	.form-card { padding: var(--sp-lg); }
}

/* ── 4 · Franja de confianza ── */
.trust { border-bottom: 1px solid var(--c-grey); padding-block: var(--sp-lg); }
.trust__headline { font-family: var(--font-display); font-weight: 600; font-size: var(--fs-h5); text-align: center; color: var(--c-brand-dark); margin: 0 0 var(--sp-md); }
.trust__items { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-sm) var(--sp-2xl); }
.trust__items li { display: inline-flex; align-items: center; gap: var(--sp-xs); font-size: var(--fs-small); color: var(--c-muted); }
.trust__items .icon { width: 20px; height: 20px; }

/* ── 5 · Beneficios ── */
.benefits__h2 { color: var(--c-brand-dark); font-size: var(--fs-h3); max-width: 28ch; margin-inline: auto; }
.benefits__grid { row-gap: var(--sp-2xl); }
.benefit { text-align: center; }
.benefit__icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: var(--r-full); background: var(--c-brand-light); margin-bottom: var(--sp-md); }
.benefit__title { font-size: 1.0625rem; margin: 0 0 var(--sp-xs); }
.benefit__text { color: var(--c-muted); font-size: var(--fs-small); margin: 0; max-width: 34ch; margin-inline: auto; }

/* ── 6 · Audio ── */
.audio { background: var(--c-brand); color: var(--c-inverse); }
.audio h2 { color: var(--c-inverse); }
.eyebrow--inverse { color: var(--c-inverse); opacity: 0.85; }
.lead--inverse { color: var(--c-inverse); opacity: 0.92; }
.audio__players { display: grid; gap: var(--sp-md); }
.audio__player { margin: 0; background: var(--c-white); color: var(--c-ink); border-radius: var(--r-md); padding: var(--sp-md); }
.audio__player audio { width: 100%; margin-top: var(--sp-xs); }

/* ── 7 · Oferta de entrada (Figma 7:131): foto · cuerpo turquesa · incluye ── */
.offer { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr) minmax(260px, 0.9fr); border-radius: var(--r-xl); overflow: hidden; background: var(--c-brand); color: var(--c-inverse); box-shadow: var(--sh-card); }
.offer__photo img { width: 100%; height: 100%; object-fit: cover; }
.offer__body { padding: clamp(24px, 3vw, 44px); display: flex; flex-direction: column; gap: var(--sp-md); align-items: flex-start; }
.offer__body h2 { color: var(--c-inverse); font-size: var(--fs-h2); margin: 0; }
.offer__body p { margin: 0; }
.offer__terms { opacity: 0.85; }
.offer__includes { background: var(--c-white); color: var(--c-ink); padding: clamp(24px, 3vw, 40px); display: flex; flex-direction: column; gap: var(--sp-md); }
.h5 { font-family: var(--font-display); font-weight: 600; font-size: var(--fs-h5); margin: 0; }
@media (max-width: 1023px) { .offer { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .offer__photo { display: none; } }
@media (max-width: 719px) { .offer { grid-template-columns: minmax(0, 1fr); } }

/* ── 8 · Servicios (Figma 7:167): tarjeta principal + lista ── */
.services__grid { display: grid; grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr); gap: var(--sp-lg); align-items: start; }
.services__main { gap: var(--sp-md); }
.services__main h3 { margin: 0; }
.services__main .eyebrow { margin: 0; }
.services__video { margin: var(--sp-xs) 0; }
.services__list { display: grid; gap: var(--sp-sm); }
.services__item { flex-direction: row; align-items: flex-start; gap: var(--sp-md); padding: var(--sp-md) var(--sp-lg); }
.services__item .icon { margin-top: 2px; }
.services__item-text { flex: 1 1 auto; display: block; }
.services__item .card__title { font-size: 1rem; display: block; margin-bottom: 4px; }
.services__item .link-arrow { flex: 0 0 auto; align-self: flex-start; white-space: nowrap; }
.services__all { margin: var(--sp-xs) 0 0; }
@media (max-width: 1023px) { .services__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 719px) { .services__item .link-arrow { display: none; } }

/* ── 9 · Cómo funciona ── */
.how__steps { list-style: none; margin: 0; padding: 0; }
.how__step { display: flex; flex-direction: column; gap: var(--sp-sm); }
.how__video { background: var(--c-white); border: 1px solid var(--c-grey); }
.how__step .step__n { width: 32px; height: 32px; font-size: 1rem; }
.how__step .step__title { font-size: 1.0625rem; }
.how__step .step__text { font-size: var(--fs-small); }
.section__more { text-align: center; margin: var(--sp-xl) 0 0; }

/* ── 10 · Banner de prueba (Figma 8:183) ── */
.banner { background: var(--c-brand); color: var(--c-inverse); overflow: hidden; }
.banner__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: var(--sp-2xl); align-items: center; padding-block: clamp(40px, 5vw, 72px) 0; }
.banner__copy { padding-bottom: clamp(40px, 5vw, 72px); }
.banner__copy h2 { color: var(--c-inverse); font-size: var(--fs-h1); font-weight: 700; }
.banner__bullets { list-style: none; margin: 0 0 var(--sp-lg); padding: 0; display: flex; flex-wrap: wrap; gap: var(--sp-sm) var(--sp-lg); font-family: var(--font-display); font-weight: 600; font-size: var(--fs-small); }
.banner__photo { border-radius: 50% 50% 0 0 / 40% 40% 0 0; overflow: hidden; align-self: end; max-height: 420px; aspect-ratio: 5 / 4; }
.banner__photo img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1023px) { .banner__grid { grid-template-columns: minmax(0, 1fr); } .banner__photo { display: none; } .banner__copy { padding-bottom: clamp(32px, 5vw, 56px); } }

/* ── 11 · Industrias (Figma 9:163): rejilla 3 columnas con filete ── */
.industries__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--c-border); }
.industries__item { display: flex; gap: var(--sp-md); padding: var(--sp-lg) var(--sp-md); border-bottom: 1px solid var(--c-border); text-decoration: none; color: inherit; transition: background-color 0.15s var(--ease); }
.industries__item:hover { background: var(--c-brand-light); color: inherit; }
.industries__title { display: block; font-family: var(--font-display); font-weight: 600; margin-bottom: 4px; }
.industries__text { display: block; font-size: var(--fs-small); color: var(--c-muted); }
@media (max-width: 1023px) { .industries__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 719px) { .industries__grid { grid-template-columns: minmax(0, 1fr); } }

/* ── 12 · Panel (Figma 9:201) ── */
.portal__card { display: grid; grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr); background: var(--c-white); border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--sh-card); }
.portal__copy { padding: clamp(24px, 3vw, 40px); }
.portal__screen { background: var(--c-brand); padding: clamp(20px, 3vw, 36px); display: grid; place-items: center; }
.portal__screen .media { width: 100%; background: var(--c-white); }
.portal__figures { margin-top: var(--sp-lg); }
.figure { gap: 0; }
@media (max-width: 1023px) { .portal__card { grid-template-columns: minmax(0, 1fr); } }

/* ── 13 · Testimonios (naranja del Figma; oculto hasta tener reseñas) ── */
.testimonials { background: var(--c-accent); color: var(--c-inverse); }
.testimonials__h2 { color: var(--c-inverse); text-align: center; }
.testimonials blockquote { margin: 0; color: var(--c-ink); }

/* ── 14 · Planes ── */
.plans__grid { align-items: stretch; margin-top: var(--sp-md); }
.plans__note { text-align: center; max-width: 72ch; margin: var(--sp-md) auto 0; }

/* ── 16 · Contacto (Figma 13:305) ── */
.contact__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr); gap: var(--sp-lg); align-items: start; }
.form-card--flat { background: var(--c-grey-light); box-shadow: none; }
.form-card--flat .h3 { font-size: var(--fs-h3); margin: 0 0 var(--sp-xs); }
.form-card--flat .form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-card--flat .form__row--full, .form-card--flat .form__row:has(textarea), .form-card--flat .form__check, .form-card--flat .form__status, .form-card--flat .btn { grid-column: 1 / -1; }
.form-card--flat .btn { justify-self: start; }
.contact__aside { background: var(--c-brand); color: var(--c-inverse); border-radius: var(--r-xl); padding: clamp(24px, 3vw, 36px); display: flex; flex-direction: column; gap: var(--sp-md); align-items: flex-start; }
.contact__aside h3 { color: var(--c-inverse); margin: 0; }
.contact__aside p { margin: 0; opacity: 0.92; }
.contact__lines { list-style: none; margin: 0; padding: 0; font-size: var(--fs-small); display: grid; gap: 4px; opacity: 0.92; }
@media (max-width: 1023px) { .contact__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 719px) { .form-card--flat .form { grid-template-columns: minmax(0, 1fr); } }

/* ── 17 · Artículos / tarjeta de post ── */
.post-card { display: flex; flex-direction: column; gap: var(--sp-sm); text-decoration: none; color: inherit; }
.post-card__media { aspect-ratio: 16 / 9; border-radius: var(--r-md); }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.post-card__placeholder { display: grid; place-items: center; width: 100%; height: 100%; background: var(--c-brand-light); }
.post-card__title { font-family: var(--font-display); font-weight: 600; color: var(--c-brand-dark); line-height: 1.3; }
.post-card:hover .post-card__title { text-decoration: underline; }
.post-card__meta { color: var(--c-muted); }

/* ── Páginas interiores (layouts/content-page) ── */
.article__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--sp-2xl); align-items: start; }
.article__main .block > h2 { margin-bottom: var(--sp-md); }
.article__aside { position: sticky; top: calc(var(--nav-h) + var(--sp-md)); display: grid; gap: var(--sp-lg); }
.aside-card { background: var(--c-brand-light); border-radius: var(--r-lg); padding: var(--sp-lg); display: grid; gap: var(--sp-sm); }
.aside-card__title { font-family: var(--font-display); font-weight: 600; font-size: var(--fs-h5); margin: 0; }
.aside-links ul { list-style: none; margin: var(--sp-xs) 0 0; padding: 0; display: grid; gap: 6px; }
.aside-links a { text-decoration: none; font-size: var(--fs-small); }
.aside-links a:hover { text-decoration: underline; }
.aside-note { border-left: 3px solid var(--c-accent-yellow); padding-left: var(--sp-sm); }
.sectors .card { gap: var(--sp-xs); }
.nearby { list-style: none; margin: 0 0 var(--sp-md); padding: 0; }
.page-hero .answer-lead { margin-top: var(--sp-md); }
@media (max-width: 1023px) {
	.article__grid { grid-template-columns: minmax(0, 1fr); }
	.article__aside { position: static; }
}

/* ── Hubs (layouts/hub) ── */
.page-hero--center { text-align: center; }
.page-hero--center h1, .page-hero--center .lead { margin-inline: auto; }
.page-hero--center .crumbs ol { justify-content: center; }
.cluster--center { justify-content: center; }
.card--hub, .card--city { gap: var(--sp-xs); }
.card__icon { width: 64px; height: 64px; border-radius: 50%; background: var(--c-brand-light); padding: 16px; margin-bottom: var(--sp-sm); }
.card--hub .card__title { margin-top: 0; }
.card-group + .card-group { margin-top: var(--sp-2xl); }
.card-group__label { font-size: var(--fs-h4); margin-bottom: var(--sp-md); }
.hub-chips { text-align: center; }
.hub-chips__h2 { margin-bottom: var(--sp-lg); }
.chips { list-style: none; margin: 0; padding: 0; gap: var(--sp-sm); }
.chip { display: inline-block; padding: 6px 14px; border: 1px solid var(--c-border-brand); border-radius: 999px; font-size: var(--fs-small); font-weight: 600; color: var(--c-brand-dark); text-decoration: none; background: #fff; }
.chip:hover { background: var(--c-brand-light); }
.chip--all { border-color: transparent; background: transparent; }

/* ── Confianza / conversión (tarea 11) ── */
.steps-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-2xl); }
.steps-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-2xl); align-items: center; }
.steps-row--flip .steps-row__video { order: 2; }
.steps-row__video { background: var(--c-brand-light); border-radius: var(--r-lg); }
.steps-row__copy { display: grid; gap: var(--sp-sm); justify-items: start; }
.steps-row__title { margin: 0; }
.reasons .card { gap: var(--sp-sm); }
.reason .prose p { margin: 0; color: var(--c-muted); }
.plans-table { width: 100%; border-collapse: collapse; background: var(--c-white); border-radius: var(--r-lg); overflow: hidden; font-size: var(--fs-small); }
.plans-table th, .plans-table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--c-border); vertical-align: top; }
.plans-table thead th { background: var(--c-brand-light); font-family: var(--font-display); font-weight: 600; }
.plans-table tbody th { font-family: var(--font-display); font-weight: 600; white-space: nowrap; }
.plans-table__featured { background: #f3fbfc; }
.plans-table__badge { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: var(--c-accent); color: var(--c-inverse); font-size: 0.7rem; font-family: var(--font-body); font-weight: 600; vertical-align: middle; }
.transcript { background: var(--c-grey-light); border-radius: var(--r-lg); padding: clamp(20px, 3vw, 36px); display: grid; gap: var(--sp-md); }
.transcript__head { display: grid; gap: var(--sp-xs); }
.transcript__head h2 { margin: 0; }
.transcript__head audio { width: 100%; max-width: 480px; }
.transcript__body blockquote { margin: 0; padding: 0 0 0 var(--sp-md); border-left: 3px solid var(--c-brand); }
.transcript__body blockquote p { margin: 0 0 var(--sp-sm); }
.contact-ways { margin-top: var(--sp-xl); text-align: left; }
.contact-way { gap: 4px; }
.contact-way__value { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-h4); color: var(--c-ink); }
.company-card { gap: var(--sp-xs); align-self: start; }
.company-card p { margin: 0; }
@media (max-width: 767px) {
	.steps-row { grid-template-columns: minmax(0, 1fr); gap: var(--sp-md); }
	.steps-row--flip .steps-row__video { order: 0; }
}

/* ── Blog (tarea 12) ── */
.chip--on { background: var(--c-brand); border-color: var(--c-brand); color: var(--c-inverse); }
.posts-grid { margin-bottom: var(--sp-xl); }
.pagination .nav-links { display: flex; justify-content: center; gap: var(--sp-xs); }
.pagination .page-numbers { display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 10px; border: 1px solid var(--c-border); border-radius: var(--r-md); text-decoration: none; color: var(--c-ink); font-weight: 600; font-size: var(--fs-small); }
.pagination .page-numbers.current { background: var(--c-brand); border-color: var(--c-brand); color: var(--c-inverse); }
.pagination .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.post h1 { margin-top: var(--sp-xs); }
.post__byline { display: flex; align-items: center; gap: var(--sp-xs); margin: var(--sp-sm) 0 var(--sp-lg); }
.post__byline::before { content: ''; width: 28px; height: 28px; border-radius: 50%; background: var(--c-brand-light); }
.post__hero { margin: 0 0 var(--sp-xl); border-radius: var(--r-lg); overflow: hidden; }
.post__hero img { width: 100%; height: auto; display: block; }
.post__content > h2 { margin-top: var(--sp-xl); font-size: var(--fs-h3); }
.aside-card--white { background: var(--c-white); border: 1px solid var(--c-border); }
.latest { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-sm); }
.latest__item { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: var(--sp-sm); align-items: start; }
.latest__media { display: block; aspect-ratio: 4 / 3; border-radius: var(--r-md); overflow: hidden; background: var(--c-brand-light); }
.latest__media img { width: 100%; height: 100%; object-fit: cover; }
.latest__title { display: block; font-family: var(--font-display); font-weight: 600; font-size: var(--fs-small); line-height: 1.3; color: var(--c-brand-dark); text-decoration: none; }
.latest__title:hover { text-decoration: underline; }
.latest__meta { display: block; margin-top: 2px; }
.search-form .form__input { max-width: 320px; }

/* Hero en vídeo: mismo recorte que la foto */
.hero__photo--video video { width: 100%; height: 100%; object-fit: cover; display: block; }
