/*
 * Neurónomada Home híbrida 2.0.2
 * Estilos visuales y responsive. El contenido continúa siendo editable
 * mediante bloques normales de WordPress/Kadence.
 */

.nn-hybrid-home {
	--nn-green: var(--global-palette1, #0f5c57);
	--nn-green-dark: #094943;
	--nn-coral: var(--global-palette2, #ff7a4d);
	--nn-yellow: #f5c84c;
	--nn-mint: var(--global-palette7, #ddebe6);
	--nn-cream: var(--global-palette8, #fff6eb);
	--nn-graphite: var(--global-palette3, #182b2b);
	--nn-bg: var(--global-palette9, #faf8f3);
	--nn-white: #fff;
	--nn-border: #dce4e1;
	--nn-muted: var(--global-palette5, #607170);
	--nn-shadow: 0 22px 65px rgba(15, 92, 87, 0.11);
	--nn-content: 1180px;
	--nn-section-space: 96px;
	--nn-radius-small: 10px;
	--nn-radius-card: 15px;
	--nn-radius-section: 30px;
	width: 100%;
	max-width: none;
	margin: 0;
	background: var(--nn-bg);
	color: var(--nn-graphite);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 18px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

.nn-hybrid-home > .alignfull {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.nn-hybrid-home,
.nn-hybrid-home *,
.nn-hybrid-home *::before,
.nn-hybrid-home *::after {
	box-sizing: border-box;
}

.nn-hybrid-home a {
	color: var(--nn-green);
	text-underline-offset: 3px;
}

.nn-hybrid-home button,
.nn-hybrid-home input {
	font: inherit;
}

.nn-hybrid-home svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.nn-hybrid-home :focus-visible {
	outline: 3px solid var(--nn-yellow);
	outline-offset: 3px;
}

.nn-hybrid-home .wp-block-columns,
.nn-hybrid-home .wp-block-group,
.nn-hybrid-home p,
.nn-hybrid-home h1,
.nn-hybrid-home h2,
.nn-hybrid-home h3 {
	margin-top: 0;
}

.nn-hybrid-home .nn-shell {
	width: min(100% - 48px, var(--nn-content));
	max-width: var(--nn-content) !important;
	margin-inline: auto !important;
}

.nn-hybrid-home .nn-eyebrow {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 18px;
	color: var(--nn-green);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

.nn-hybrid-home .nn-eyebrow > span {
	width: 21px;
	height: 2px;
	background: var(--nn-coral);
	border-radius: 2px;
}

.nn-hybrid-home .nn-section-title {
	margin: 0;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: -0.045em;
	line-height: 1.15;
}

/* Hero */
.nn-hybrid-home .nn-hero-section {
	padding: 88px 0 0;
	background: var(--nn-bg);
	overflow: hidden;
}

.nn-hybrid-home .nn-hero-grid {
	gap: 42px;
	align-items: center;
	margin: 0;
}

.nn-hybrid-home .nn-hero-grid > .wp-block-column {
	min-width: 0;
}

.nn-hybrid-home .nn-hero-title {
	margin: 0;
	color: var(--nn-graphite);
	font-size: 56px;
	font-weight: 700;
	letter-spacing: -0.055em;
	line-height: 1.08;
}

.nn-hybrid-home .nn-hero-title span {
	color: var(--nn-green);
}

.nn-hybrid-home .nn-hero-lead {
	max-width: 620px;
	margin: 28px 0 0;
	color: var(--nn-muted);
	font-size: 18px;
	line-height: 1.7;
}

.nn-hybrid-home .nn-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 13px;
	margin-top: 27px;
}

.nn-hybrid-home .nn-hero-actions .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	min-height: 48px;
	padding: 11px 18px;
	border: 1.5px solid transparent;
	border-radius: var(--nn-radius-small);
	font-size: 14px;
	font-weight: 750;
	line-height: 1.3;
	text-decoration: none;
	transition: transform 0.2s, background-color 0.2s, border-color 0.2s;
}

.nn-hybrid-home .nn-hero-actions .wp-block-button__link:hover {
	transform: translateY(-2px);
}

.nn-hybrid-home .nn-button-primary .wp-block-button__link {
	background: var(--nn-green);
	box-shadow: 0 10px 24px rgba(15, 92, 87, 0.17);
	color: var(--nn-white);
}

.nn-hybrid-home .nn-button-primary .wp-block-button__link:hover {
	background: var(--nn-green-dark);
}

.nn-hybrid-home .nn-button-secondary .wp-block-button__link {
	background: transparent;
	border-color: #9aaba8;
	color: var(--nn-graphite);
}

.nn-hybrid-home .nn-button-secondary .wp-block-button__link:hover {
	background: var(--nn-white);
	border-color: var(--nn-green);
	color: var(--nn-green);
}

.nn-hybrid-home .nn-hero-note {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 22px 0 0;
	color: var(--nn-muted);
	font-size: 14px;
}

.nn-hybrid-home .nn-hero-note > span {
	display: grid;
	width: 21px;
	height: 21px;
	place-items: center;
	border: 1.8px solid var(--nn-green);
	border-radius: 50%;
	color: var(--nn-green);
	font-size: 12px;
	font-weight: 800;
}

.nn-hybrid-home .nn-route-visual {
	position: relative;
	min-height: 620px;
	overflow: hidden;
}

.nn-hybrid-home .nn-shape {
	position: absolute;
	display: block;
	border-radius: 50%;
}

.nn-hybrid-home .nn-shape-mint {
	right: -80px;
	top: 66px;
	width: 310px;
	height: 310px;
	background: rgba(221, 235, 230, 0.75);
}

.nn-hybrid-home .nn-shape-cream {
	right: -20px;
	bottom: 60px;
	width: 370px;
	height: 240px;
	background: var(--nn-cream);
	border-radius: 55% 45% 0 0;
	transform: rotate(-8deg);
}

.nn-hybrid-home .nn-journey {
	position: absolute;
	inset: 18px 0 0;
	width: 100%;
	height: 560px;
	color: var(--nn-green);
}

.nn-hybrid-home .nn-journey-path {
	stroke-width: 5;
}

.nn-hybrid-home .nn-flag-pole,
.nn-hybrid-home .nn-flag {
	stroke-width: 4;
}

.nn-hybrid-home .nn-flag {
	fill: var(--nn-green);
}

.nn-hybrid-home .nn-dot {
	stroke: none;
}

.nn-hybrid-home .nn-dot-yellow {
	fill: var(--nn-yellow);
}

.nn-hybrid-home .nn-dot-coral {
	fill: var(--nn-coral);
}

.nn-hybrid-home .nn-dot-green {
	fill: var(--nn-green);
}

.nn-hybrid-home .nn-route-label {
	position: absolute;
	display: flex;
	flex-direction: column;
	padding: 10px 12px;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid var(--nn-border);
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(24, 43, 43, 0.08);
	font-size: 13px;
	line-height: 1.35;
}

.nn-hybrid-home .nn-route-label small {
	color: var(--nn-coral);
	font-size: 12px;
	font-weight: 800;
}

.nn-hybrid-home .nn-route-label strong {
	font-weight: 700;
}

.nn-hybrid-home .nn-label-a {
	left: 1%;
	bottom: 129px;
	transform: rotate(-2deg);
}

.nn-hybrid-home .nn-label-b {
	right: 7%;
	top: 218px;
	transform: rotate(2deg);
}

.nn-hybrid-home .nn-label-c {
	right: 4%;
	top: 48px;
	transform: rotate(-2deg);
}

.nn-hybrid-home .nn-plant {
	position: absolute;
	right: 0;
	bottom: 23px;
	width: 132px;
	height: 160px;
	color: var(--nn-green);
}

.nn-hybrid-home .nn-plant path {
	fill: rgba(15, 92, 87, 0.13);
	stroke-width: 3;
}

.nn-hybrid-home .nn-problem-strip {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: 1.1fr 2fr;
	gap: 32px;
	align-items: center;
	min-height: 146px;
	margin-top: -86px;
	padding: 24px 34px;
	background: linear-gradient(110deg, #fff7eb, #fffdfc 65%, #f7f0e4);
	border: 1px solid #f2e5d4;
	border-radius: 18px;
	box-shadow: 0 12px 38px rgba(91, 72, 44, 0.06);
}

.nn-hybrid-home .nn-strip-message h3 {
	display: block;
	margin: 0;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
}

.nn-hybrid-home .nn-strip-message p {
	display: block;
	margin: 0;
	color: var(--nn-coral);
	font-size: 21px;
	font-weight: 750;
}

.nn-hybrid-home .nn-strip-items {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
}

.nn-hybrid-home .nn-strip-items > div {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 8px;
	text-align: center;
}

.nn-hybrid-home .nn-strip-items svg {
	width: 34px;
	height: 34px;
	color: var(--nn-graphite);
}

.nn-hybrid-home .nn-strip-items p {
	margin: 0;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.3;
}

/* Start from the real problem */
.nn-hybrid-home .nn-start-section {
	padding: var(--nn-section-space) 0;
}

.nn-hybrid-home .nn-section-intro {
	gap: 44px;
	align-items: end;
	margin: 0 0 48px;
}

.nn-hybrid-home .nn-intro-copy {
	align-self: end;
}

.nn-hybrid-home .nn-intro-copy p,
.nn-hybrid-home .nn-section-intro.nn-centered > p {
	max-width: 520px;
	margin-bottom: 5px;
	color: var(--nn-muted);
	font-size: 18px;
}

.nn-hybrid-home .nn-problem-picker {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}

.nn-hybrid-home .nn-problem-card {
	position: relative;
	display: grid;
	grid-template-columns: 50px 1fr auto;
	grid-template-rows: auto;
	gap: 3px 14px;
	align-items: center;
	min-height: 96px;
	padding: 19px;
	background: var(--nn-white);
	border: 1px solid var(--nn-border);
	border-radius: var(--nn-radius-card);
	color: var(--nn-graphite);
	text-align: left;
	transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}

.nn-hybrid-home .nn-problem-card:hover {
	border-color: #afc7c1;
	box-shadow: 0 14px 34px rgba(15, 92, 87, 0.08);
	transform: translateY(-3px);
}

.nn-hybrid-home .nn-card-icon {
	display: grid;
	width: 50px;
	height: 50px;
	place-items: center;
	background: var(--nn-cream);
	border-radius: 13px;
	color: var(--nn-green);
}

.nn-hybrid-home .nn-card-icon svg {
	width: 29px;
	height: 29px;
}

.nn-hybrid-home .nn-icon-yellow {
	background: rgba(245, 200, 76, 0.27);
}

.nn-hybrid-home .nn-icon-mint {
	background: var(--nn-mint);
}

.nn-hybrid-home .nn-icon-coral {
	background: rgba(255, 122, 77, 0.15);
}


.nn-hybrid-home .nn-problem-card h3 {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.nn-hybrid-home .nn-card-arrow {
	grid-column: 3;
	margin: 0;
	color: var(--nn-green);
	font-weight: 750;
}

/* First practical resource */
.nn-hybrid-home .nn-first-resource {
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr) auto;
	gap: 26px;
	align-items: center;
	min-height: 154px;
	padding: 27px 30px;
	background: var(--nn-cream);
	border: 1px solid #f0e0cc;
	border-radius: 17px;
}

.nn-hybrid-home .nn-resource-number {
	display: grid;
	width: 62px;
	height: 62px;
	margin: 0;
	place-items: center;
	background: var(--nn-coral);
	border-radius: 50%;
	color: var(--nn-white);
	font-size: 18px;
	font-weight: 800;
	line-height: 1;
}

.nn-hybrid-home .nn-resource-copy {
	min-width: 0;
}

.nn-hybrid-home .nn-resource-eyebrow {
	margin: 0 0 6px !important;
	color: var(--nn-coral);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1.3;
	text-transform: uppercase;
}

.nn-hybrid-home .nn-resource-copy h3 {
	margin: 0 !important;
	font-size: 23px;
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.25;
}

.nn-hybrid-home .nn-resource-description {
	max-width: 760px;
	margin: 5px 0 0 !important;
	color: var(--nn-muted);
	font-size: 16px;
	line-height: 1.5;
}

.nn-hybrid-home .nn-resource-action {
	display: flex;
	align-items: flex-end;
	flex-direction: column;
	gap: 11px;
}

.nn-hybrid-home .nn-resource-time {
	margin: 0;
	padding: 7px 13px;
	background: var(--nn-white);
	border-radius: 999px;
	color: var(--nn-muted);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

.nn-hybrid-home .nn-resource-link {
	margin: 0;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.3;
	white-space: nowrap;
}

.nn-hybrid-home .nn-resource-link a {
	color: var(--nn-green);
	text-decoration: none;
}

.nn-hybrid-home .nn-resource-link a:hover {
	text-decoration: underline;
}

.nn-hybrid-home .nn-steps {
	margin-top: 84px;
	padding: 42px;
	background: var(--nn-white);
	border: 1px solid var(--nn-border);
	border-radius: 22px;
}

.nn-hybrid-home .nn-steps-head {
	gap: 30px;
	align-items: end;
	margin: 0;
}

.nn-hybrid-home .nn-steps-head .nn-eyebrow {
	margin-bottom: 11px;
}

.nn-hybrid-home .nn-steps-head h3 {
	margin: 0;
	font-size: 28px;
	letter-spacing: -0.035em;
	line-height: 1.25;
}

.nn-hybrid-home .nn-steps-head > .wp-block-column:last-child p {
	margin: 0;
	color: var(--nn-muted);
	font-size: 16px;
}

.nn-hybrid-home .nn-steps-path {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	margin-top: 46px;
}

.nn-hybrid-home .nn-steps-path > svg {
	position: absolute;
	left: 5%;
	right: 5%;
	top: 2px;
	width: 90%;
	height: 64px;
	color: var(--nn-green);
}

.nn-hybrid-home .nn-steps-path > svg path {
	stroke-width: 2.5;
}

.nn-hybrid-home .nn-step {
	position: relative;
	display: flex;
	align-items: center;
	flex-direction: column;
	text-align: center;
}

.nn-hybrid-home .nn-step-number {
	display: grid;
	width: 42px;
	height: 42px;
	margin: 0;
	place-items: center;
	background: var(--nn-green);
	border: 6px solid var(--nn-white);
	border-radius: 50%;
	box-shadow: 0 0 0 1px var(--nn-green);
	color: var(--nn-white);
	font-size: 13px;
}

.nn-hybrid-home .nn-step-title {
	margin: 13px 0 0;
	color: var(--nn-green);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

.nn-hybrid-home .nn-step-subtitle {
	margin: 0;
	color: var(--nn-muted);
	font-size: 13px;
}

.nn-hybrid-home .nn-step-coral .nn-step-number {
	background: var(--nn-coral);
	box-shadow: 0 0 0 1px var(--nn-coral);
}

.nn-hybrid-home .nn-step-coral .nn-step-title {
	color: var(--nn-coral);
}

.nn-hybrid-home .nn-step-yellow .nn-step-number {
	background: var(--nn-yellow);
	box-shadow: 0 0 0 1px #d5a920;
	color: var(--nn-graphite);
}

.nn-hybrid-home .nn-step-yellow .nn-step-title {
	color: #9a7300;
}

.nn-hybrid-home .nn-step-mint .nn-step-number {
	background: #71aaa0;
	box-shadow: 0 0 0 1px #71aaa0;
}

.nn-hybrid-home .nn-step-mint .nn-step-title {
	color: #4e8f84;
}

/* Toolbox */
.nn-hybrid-home .nn-toolbox-wrap {
	padding: 0 0 100px;
}

.nn-hybrid-home .nn-toolbox-section {
	padding: var(--nn-section-space) 64px;
	background: var(--nn-white);
	border: 1px solid rgba(24, 43, 43, 0.07);
	border-radius: var(--nn-radius-section);
	box-shadow: 0 16px 55px rgba(24, 43, 43, 0.045);
}

.nn-hybrid-home .nn-section-intro.nn-centered {
	display: block !important;
	max-width: 720px;
	margin: 0 auto 55px;
	text-align: center;
}

.nn-hybrid-home .nn-centered .nn-eyebrow {
	justify-content: center;
	margin-bottom: 17px;
}

.nn-hybrid-home .nn-centered .nn-section-title {
	margin-bottom: 20px;
}

.nn-hybrid-home .nn-section-intro.nn-centered > p {
	margin-inline: auto;
}

.nn-hybrid-home .nn-tool-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
}

.nn-hybrid-home .nn-tool-card {
	position: relative;
	display: grid;
	grid-template-columns: 57px 1fr;
	grid-template-rows: auto auto auto;
	gap: 2px 15px;
	min-height: 178px;
	padding: 23px;
	background: var(--nn-bg);
	border: 1px solid var(--nn-border);
	border-radius: var(--nn-radius-card);
	transition: transform 0.2s, border-color 0.2s, background-color 0.2s;
}

.nn-hybrid-home .nn-tool-card:hover {
	background: var(--nn-mint);
	border-color: #b9d0ca;
	transform: translateY(-3px);
}

.nn-hybrid-home .nn-tool-card > .wp-block-html,
.nn-hybrid-home .nn-tool-card > .nn-tool-icon {
	grid-row: 1 / 4;
}

.nn-hybrid-home .nn-tool-icon {
	display: grid;
	width: 57px;
	height: 57px;
	place-items: center;
	background: var(--nn-white);
	border-radius: 14px;
	color: var(--nn-green);
}

.nn-hybrid-home .nn-tool-icon svg {
	width: 31px;
	height: 31px;
}

.nn-hybrid-home .nn-tool-card h3 {
	margin: 0;
	font-size: 19px;
	line-height: 1.3;
}

.nn-hybrid-home .nn-tool-card > p:not(.nn-card-link) {
	margin: 0;
	color: var(--nn-muted);
	font-size: 14px;
	line-height: 1.45;
}

.nn-hybrid-home .nn-card-link {
	align-self: end;
	margin: 10px 0 0;
	font-size: 14px;
	font-weight: 750;
}

.nn-hybrid-home .nn-card-link a {
	text-decoration: none;
}

/* AI */
.nn-hybrid-home .nn-ai-feature {
	position: relative;
	display: grid;
	grid-template-columns: 180px 1fr 1.05fr;
	gap: 34px;
	align-items: center;
	margin-top: 72px;
	padding: 43px;
	background: linear-gradient(110deg, #e7f1ed, #f7fbf9);
	border: 1px solid #cfe1dc;
	border-radius: 22px;
	overflow: hidden;
}

.nn-hybrid-home .nn-ai-feature::after {
	position: absolute;
	right: -10px;
	bottom: -115px;
	color: rgba(15, 92, 87, 0.045);
	content: "~";
	font-size: 300px;
	font-weight: 900;
	line-height: 1;
	transform: rotate(-10deg);
}

.nn-hybrid-home .nn-bot {
	position: relative;
	z-index: 1;
	width: 126px;
	height: 95px;
	margin: auto;
	background: var(--nn-white);
	border: 5px solid var(--nn-green);
	border-radius: 35px;
	box-shadow: 0 16px 36px rgba(15, 92, 87, 0.13);
}

.nn-hybrid-home .nn-bot-face {
	position: absolute;
	inset: 18px 14px;
	background: var(--nn-green);
	border-radius: 21px;
}

.nn-hybrid-home .nn-bot-face i {
	position: absolute;
	top: 18px;
	width: 10px;
	height: 16px;
	background: var(--nn-white);
	border-radius: 8px;
}

.nn-hybrid-home .nn-bot-face i:first-child {
	left: 22px;
}

.nn-hybrid-home .nn-bot-face i:last-child {
	right: 22px;
}

.nn-hybrid-home .nn-antenna {
	position: absolute;
	left: 50%;
	top: -25px;
	width: 4px;
	height: 22px;
	background: var(--nn-green);
	transform: translateX(-50%);
}

.nn-hybrid-home .nn-antenna::before {
	position: absolute;
	left: -5px;
	top: -6px;
	width: 14px;
	height: 14px;
	background: var(--nn-coral);
	border-radius: 50%;
	content: "";
}

.nn-hybrid-home .nn-bot-ear {
	position: absolute;
	top: 31px;
	width: 16px;
	height: 34px;
	background: var(--nn-yellow);
	border: 4px solid var(--nn-green);
}

.nn-hybrid-home .nn-bot-ear.nn-left {
	left: -17px;
	border-radius: 12px 0 0 12px;
}

.nn-hybrid-home .nn-bot-ear.nn-right {
	right: -17px;
	border-radius: 0 12px 12px 0;
}

.nn-hybrid-home .nn-ai-copy {
	position: relative;
	z-index: 1;
}

.nn-hybrid-home .nn-ai-copy .nn-eyebrow {
	margin-bottom: 10px;
}

.nn-hybrid-home .nn-ai-copy h3 {
	margin: 0;
	font-size: 28px;
	letter-spacing: -0.04em;
	line-height: 1.25;
}

.nn-hybrid-home .nn-ai-copy > p:not(.nn-eyebrow):not(.nn-text-link) {
	margin: 13px 0;
	color: var(--nn-muted);
	font-size: 15px;
	line-height: 1.6;
}

.nn-hybrid-home .nn-text-link {
	margin: 0;
	font-size: 14px;
	font-weight: 750;
}

.nn-hybrid-home .nn-text-link a {
	text-decoration: none;
}

.nn-hybrid-home .nn-prompt-card {
	position: relative;
	z-index: 1;
	padding: 20px;
	background: var(--nn-white);
	border: 1px solid var(--nn-border);
	border-radius: 14px;
	box-shadow: 0 12px 30px rgba(15, 92, 87, 0.07);
}

.nn-hybrid-home .nn-prompt-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--nn-border);
}

.nn-hybrid-home .nn-prompt-card-head h4 {
	margin: 0;
	font-size: 14px;
	font-weight: 750;
}

.nn-hybrid-home .nn-prompt-card .nn-prompt-card-head p {
	margin: 0;
	color: var(--nn-muted);
	font-size: 13px;
	font-weight: 600;
}

.nn-hybrid-home .nn-prompt-card p {
	margin: 15px 0;
	color: var(--nn-graphite);
	font-size: 15px;
	line-height: 1.6;
}

.nn-hybrid-home .nn-prompt-tip {
	margin-bottom: 0;
	color: var(--nn-muted);
	font-size: 13px;
}

/* Manifesto and newsletter */
.nn-hybrid-home .nn-manifesto {
	position: relative;
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	align-items: center;
	min-height: 230px;
	margin-top: 18px;
	background: var(--nn-cream);
	border: 1px solid #f0e2ce;
	border-radius: 22px;
	overflow: hidden;
}

.nn-hybrid-home .nn-manifesto-hill {
	align-self: end;
	width: 100%;
	height: 190px;
}

.nn-hybrid-home .nn-hill-dark {
	fill: var(--nn-green);
	stroke: none;
}

.nn-hybrid-home .nn-hill-light {
	fill: #7fb1a4;
	stroke: none;
}

.nn-hybrid-home .nn-manifesto-hill circle {
	fill: var(--nn-yellow);
	stroke: none;
}

.nn-hybrid-home .nn-manifesto-copy {
	max-width: 660px;
	padding: 40px 45px 40px 10px;
}

.nn-hybrid-home .nn-manifesto-copy p {
	margin: 0 0 5px;
	color: var(--nn-green);
	font-size: 16px;
	font-weight: 750;
}

.nn-hybrid-home .nn-manifesto-copy h3 {
	margin: 0;
	font-size: 28px;
	letter-spacing: -0.03em;
	line-height: 1.3;
}

.nn-hybrid-home .nn-manifesto-copy h3 span {
	color: var(--nn-coral);
}

.nn-hybrid-home .nn-newsletter {
	display: grid;
	grid-template-columns: auto 1fr minmax(340px, 0.9fr);
	align-items: center;
	gap: 18px;
	margin-top: 18px;
	padding: 20px 24px;
	border: 1px solid var(--nn-border);
	border-radius: 16px;
}

.nn-hybrid-home .nn-mail-icon {
	display: grid;
	width: 55px;
	height: 55px;
	place-items: center;
	background: var(--nn-mint);
	border-radius: 50%;
	color: var(--nn-green);
}

.nn-hybrid-home .nn-mail-icon svg {
	width: 29px;
	height: 29px;
}

.nn-hybrid-home .nn-newsletter-copy h3 {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.nn-hybrid-home .nn-newsletter-copy p {
	margin: 2px 0 0;
	color: var(--nn-muted);
	font-size: 13px;
}

.nn-hybrid-home .nn-newsletter-form {
	display: grid;
	grid-template-columns: 1fr auto;
}

.nn-hybrid-home .nn-field-placeholder {
	display: flex;
	align-items: center;
	min-width: 0;
	height: 48px;
	margin: 0;
	padding: 0 14px;
	background: var(--nn-bg);
	border: 1px solid var(--nn-border);
	border-radius: 9px 0 0 9px;
	color: var(--nn-graphite);
	font-size: 14px;
}

.nn-hybrid-home .nn-newsletter-form .wp-block-buttons,
.nn-hybrid-home .nn-newsletter-form .wp-block-button {
	margin: 0;
}

.nn-hybrid-home .nn-newsletter-form .wp-block-button__link {
	display: flex;
	align-items: center;
	height: 48px;
	padding: 0 18px;
	background: var(--nn-green);
	border: 0;
	border-radius: 0 9px 9px 0;
	color: var(--nn-white);
	font-size: 14px;
	font-weight: 750;
	text-decoration: none;
}

.nn-hybrid-home .nn-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/*
 * Compatibilidad con instalaciones que envuelven el contenido de cada
 * bloque Grupo en .wp-block-group__inner-container.
 *
 * Ese contenedor adicional convertía cada rejilla en una rejilla con un
 * único elemento y empujaba todos los contenidos a la primera columna.
 * display: contents mantiene los bloques editables y deja que sus hijos
 * participen en la rejilla o flex del componente correspondiente.
 */
.nn-hybrid-home :is(
	.nn-problem-strip,
	.nn-strip-items,
	.nn-strip-item,
	.nn-problem-picker,
	.nn-problem-card,
	.nn-first-resource,
	.nn-resource-action,
	.nn-steps-path,
	.nn-step,
	.nn-tool-grid,
	.nn-tool-card,
	.nn-ai-feature,
	.nn-prompt-card-head,
	.nn-manifesto,
	.nn-newsletter,
	.nn-newsletter-form
) > .wp-block-group__inner-container {
	display: contents;
}

/* Kadence añade márgenes verticales a los hijos de los grupos. En estos
 * componentes el espaciado ya lo controlan gap y padding. */
.nn-hybrid-home :is(
	.nn-problem-strip,
	.nn-strip-items,
	.nn-strip-item,
	.nn-problem-picker,
	.nn-problem-card,
	.nn-first-resource,
	.nn-resource-action,
	.nn-steps-path,
	.nn-step,
	.nn-tool-grid,
	.nn-tool-card,
	.nn-ai-feature,
	.nn-prompt-card-head,
	.nn-manifesto,
	.nn-newsletter,
	.nn-newsletter-form
) > .wp-block-group__inner-container > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Kadence asigna 32 px inferiores a casi todos los bloques de contenido.
 * Aquí el ritmo vertical lo define la maqueta, así que se neutraliza solo
 * dentro de la home híbrida y se restauran después los espacios intencionados. */
.nn-hybrid-home .wp-block-group,
.nn-hybrid-home .wp-block-columns {
	margin-block: 0 !important;
}

.nn-hybrid-home .nn-problem-strip {
	margin-top: -86px !important;
}

.nn-hybrid-home .nn-section-intro {
	margin-bottom: 48px !important;
}

.nn-hybrid-home .nn-section-intro.nn-centered {
	margin-bottom: 55px !important;
}

.nn-hybrid-home .nn-first-resource {
	margin-top: 32px !important;
}

.nn-hybrid-home .nn-first-resource + .nn-steps {
	margin-top: 42px !important;
}

.nn-hybrid-home .nn-steps {
	margin-top: 84px !important;
}

.nn-hybrid-home .nn-steps-path {
	margin-top: 46px !important;
}

.nn-hybrid-home .nn-ai-feature {
	margin-top: 72px !important;
}

.nn-hybrid-home .nn-manifesto,
.nn-hybrid-home .nn-newsletter {
	margin-top: 18px !important;
}

/* Los selectores originales directos no atraviesan el contenedor que añade
 * WordPress, por lo que se cubren aquí los pocos casos que lo necesitan. */
.nn-hybrid-home .nn-strip-item {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 8px;
	text-align: center;
}

.nn-hybrid-home .nn-section-intro.nn-centered > .wp-block-group__inner-container > p:not(.nn-eyebrow) {
	max-width: 520px;
	margin: 0 auto 5px;
	color: var(--nn-muted);
	font-size: 18px;
}

.nn-hybrid-home .nn-tool-card > .wp-block-group__inner-container > .wp-block-html {
	grid-row: 1 / 4;
}

.nn-hybrid-home .nn-tool-card > .wp-block-group__inner-container > .nn-tool-icon {
	grid-row: 1 / 4;
}

.nn-hybrid-home .nn-tool-card > .wp-block-group__inner-container > p:not(.nn-card-link) {
	margin: 0;
	color: var(--nn-muted);
	font-size: 14px;
	line-height: 1.45;
}

.nn-hybrid-home .nn-ai-copy > .wp-block-group__inner-container > p:not(.nn-eyebrow):not(.nn-text-link) {
	margin: 13px 0;
	color: var(--nn-muted);
	font-size: 15px;
	line-height: 1.6;
}

/* La línea de los cinco pasos vive dentro de un bloque HTML. */
.nn-hybrid-home .nn-steps-path > .wp-block-group__inner-container > .wp-block-html:first-child {
	position: absolute;
	left: 5%;
	right: 5%;
	top: 2px;
	width: 90%;
	height: 64px;
	pointer-events: none;
}

.nn-hybrid-home .nn-steps-path > .wp-block-group__inner-container > svg:first-child {
	position: absolute;
	left: 5%;
	right: 5%;
	top: 2px;
	width: 90%;
	height: 64px;
	color: var(--nn-green);
	pointer-events: none;
}

.nn-hybrid-home .nn-steps-path > .wp-block-group__inner-container > .wp-block-html:first-child svg {
	display: block;
	width: 100%;
	height: 100%;
	color: var(--nn-green);
}

.nn-hybrid-home .nn-steps-path > .wp-block-group__inner-container > .wp-block-html:first-child svg path {
	stroke-width: 2.5;
}

.nn-hybrid-home .nn-steps-path > .wp-block-group__inner-container > svg:first-child path {
	stroke-width: 2.5;
}

.nn-hybrid-home .nn-manifesto > .wp-block-group__inner-container > .wp-block-html:first-child {
	display: flex;
	align-self: end;
}

@media (max-width: 1040px) {
	.nn-hybrid-home {
		font-size: 17px;
	}

	.nn-hybrid-home .nn-hero-title {
		font-size: 46px;
	}

	.nn-hybrid-home .nn-section-title {
		font-size: 34px;
	}

	.nn-hybrid-home .nn-problem-strip {
		grid-template-columns: 1fr 1.65fr;
	}

	.nn-hybrid-home .nn-problem-picker {
		grid-template-columns: repeat(2, 1fr);
	}

	.nn-hybrid-home .nn-toolbox-section {
		padding: 80px 40px;
	}

	.nn-hybrid-home .nn-ai-feature {
		grid-template-columns: 135px 1fr;
	}

	.nn-hybrid-home .nn-prompt-card {
		grid-column: 1 / -1;
	}

	.nn-hybrid-home .nn-newsletter {
		grid-template-columns: auto 1fr;
	}

	.nn-hybrid-home .nn-newsletter-form {
		grid-column: 1 / -1;
	}
}

@media (max-width: 760px) {
	.nn-hybrid-home {
		font-size: 16px;
	}

	.nn-hybrid-home .nn-shell {
		width: min(100% - 36px, var(--nn-content));
	}

	.nn-hybrid-home .nn-hero-section {
		padding-top: 62px;
	}

	.nn-hybrid-home .nn-hero-grid {
		display: block !important;
	}

	.nn-hybrid-home .nn-hero-title {
		font-size: 38px;
	}

	.nn-hybrid-home .nn-hero-lead {
		font-size: 16px;
	}

	.nn-hybrid-home .nn-hero-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.nn-hybrid-home .nn-hero-actions .wp-block-button,
	.nn-hybrid-home .nn-hero-actions .wp-block-button__link {
		width: 100%;
	}

	.nn-hybrid-home .nn-hero-note {
		justify-content: center;
		font-size: 13px;
	}

	.nn-hybrid-home .nn-route-visual {
		min-height: 470px;
		margin-top: 26px;
	}

	.nn-hybrid-home .nn-journey {
		height: 450px;
	}

	.nn-hybrid-home .nn-shape-mint {
		width: 230px;
		height: 230px;
	}

	.nn-hybrid-home .nn-shape-cream {
		width: 280px;
		height: 180px;
	}

	.nn-hybrid-home .nn-plant {
		width: 95px;
		height: 120px;
	}

	.nn-hybrid-home .nn-label-a {
		bottom: 70px;
	}

	.nn-hybrid-home .nn-label-b {
		top: 180px;
	}

	.nn-hybrid-home .nn-label-c {
		top: 26px;
	}

	.nn-hybrid-home .nn-problem-strip {
		display: block;
		margin-top: 0 !important;
		padding: 24px 18px;
	}

	.nn-hybrid-home .nn-strip-message {
		text-align: center;
	}

	.nn-hybrid-home .nn-strip-message h3,
	.nn-hybrid-home .nn-strip-message p {
		font-size: 19px;
	}

	.nn-hybrid-home .nn-strip-items {
		margin-top: 23px;
		gap: 7px;
	}

	.nn-hybrid-home .nn-strip-items svg {
		width: 28px;
		height: 28px;
	}

	.nn-hybrid-home .nn-strip-items p {
		font-size: 12px;
	}

	.nn-hybrid-home .nn-start-section {
		padding: 82px 0;
	}

	.nn-hybrid-home .nn-section-intro {
		flex-direction: column;
		margin-bottom: 36px !important;
	}

	.nn-hybrid-home .nn-section-title {
		font-size: 30px;
	}

	.nn-hybrid-home .nn-intro-copy p {
		margin-top: 18px;
		font-size: 16px;
	}

	.nn-hybrid-home .nn-problem-picker {
		grid-template-columns: 1fr;
	}

	.nn-hybrid-home .nn-first-resource {
		grid-template-columns: 58px minmax(0, 1fr);
		gap: 17px;
		padding: 22px 18px;
	}

	.nn-hybrid-home .nn-resource-number {
		width: 54px;
		height: 54px;
		font-size: 16px;
	}

	.nn-hybrid-home .nn-resource-copy h3 {
		font-size: 20px;
	}

	.nn-hybrid-home .nn-resource-description {
		font-size: 15px;
	}

	.nn-hybrid-home .nn-resource-action {
		grid-column: 1 / -1;
		align-items: center;
		flex-direction: row;
		justify-content: space-between;
		width: 100%;
	}

	.nn-hybrid-home .nn-first-resource + .nn-steps {
		margin-top: 34px !important;
	}

	.nn-hybrid-home .nn-steps {
		margin-top: 60px !important;
		padding: 28px 18px;
	}

	.nn-hybrid-home .nn-steps-head {
		flex-direction: column;
	}

	.nn-hybrid-home .nn-steps-head h3,
	.nn-hybrid-home .nn-ai-copy h3,
	.nn-hybrid-home .nn-manifesto-copy h3 {
		font-size: 23px;
	}

	.nn-hybrid-home .nn-steps-path {
		grid-template-columns: 1fr;
		gap: 18px;
		margin-top: 32px !important;
	}

	.nn-hybrid-home .nn-steps-path > svg {
		display: none;
	}

	.nn-hybrid-home .nn-steps-path > .wp-block-group__inner-container > .wp-block-html:first-child {
		display: none;
	}

	.nn-hybrid-home .nn-steps-path > .wp-block-group__inner-container > svg:first-child {
		display: none;
	}

	.nn-hybrid-home .nn-step {
		display: grid;
		grid-template-columns: 48px 1fr;
		grid-template-rows: auto auto;
		text-align: left;
	}

	.nn-hybrid-home .nn-step-number {
		grid-row: 1 / 3;
	}

	.nn-hybrid-home .nn-step-title {
		align-self: end;
		margin: 0;
	}

	.nn-hybrid-home .nn-step-subtitle {
		align-self: start;
	}

	.nn-hybrid-home .nn-toolbox-wrap {
		padding-bottom: 70px;
	}

	.nn-hybrid-home .nn-toolbox-section {
		width: calc(100% - 14px);
		padding: 72px 17px;
		border-radius: 22px;
	}

	.nn-hybrid-home .nn-tool-grid {
		grid-template-columns: 1fr;
	}

	.nn-hybrid-home .nn-ai-feature {
		grid-template-columns: 1fr;
		margin-top: 55px !important;
		padding: 34px 22px;
		text-align: center;
	}

	.nn-hybrid-home .nn-bot {
		margin-bottom: 10px;
	}

	.nn-hybrid-home .nn-ai-copy .nn-eyebrow {
		justify-content: center;
	}

	.nn-hybrid-home .nn-prompt-card {
		text-align: left;
	}

	.nn-hybrid-home .nn-manifesto {
		grid-template-columns: 1fr;
	}

	.nn-hybrid-home .nn-manifesto-hill {
		order: 2;
		height: 130px;
	}

	.nn-hybrid-home .nn-manifesto > .wp-block-group__inner-container > .wp-block-html:first-child {
		order: 2;
	}

	.nn-hybrid-home .nn-manifesto-copy {
		padding: 34px 25px 5px;
		text-align: center;
	}

	.nn-hybrid-home .nn-newsletter {
		grid-template-columns: auto 1fr;
		padding: 18px;
	}

	.nn-hybrid-home .nn-newsletter-form {
		grid-template-columns: 1fr;
	}

	.nn-hybrid-home .nn-field-placeholder,
	.nn-hybrid-home .nn-newsletter-form .wp-block-button__link {
		border-radius: 9px;
	}

	.nn-hybrid-home .nn-newsletter-form .wp-block-buttons {
		margin-top: 7px;
	}
}

@media (max-width: 410px) {
	.nn-hybrid-home .nn-strip-items {
		grid-template-columns: repeat(3, 1fr);
	}

	.nn-hybrid-home .nn-strip-items > div:nth-child(n + 4) {
		margin-top: 10px;
	}

	.nn-hybrid-home .nn-strip-items > .wp-block-group__inner-container > div:nth-child(n + 4) {
		margin-top: 10px;
	}

	.nn-hybrid-home .nn-route-visual {
		min-height: 430px;
	}

	.nn-hybrid-home .nn-first-resource {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.nn-hybrid-home .nn-resource-number {
		margin-inline: auto;
	}

	.nn-hybrid-home .nn-resource-action {
		align-items: center;
		flex-direction: column;
	}

	.nn-hybrid-home .nn-route-label {
		font-size: 12px;
	}

	.nn-hybrid-home .nn-tool-card {
		grid-template-columns: 50px 1fr;
	}

	.nn-hybrid-home .nn-tool-icon {
		width: 50px;
		height: 50px;
	}

	.nn-hybrid-home .nn-newsletter {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.nn-hybrid-home .nn-mail-icon {
		margin: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nn-hybrid-home *,
	.nn-hybrid-home *::before,
	.nn-hybrid-home *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
