/* Pymeinnova NINA Suite — experiencia comercial NINA-first. */
.pns-platform {
	width: 100%;
	min-width: 0;
	padding: 14px 0 40px;
	background:
		radial-gradient(circle at 4% 3%, color-mix(in srgb, var(--pns-alt) 10%, transparent), transparent 26%),
		radial-gradient(circle at 96% 1%, color-mix(in srgb, var(--pns-primary) 10%, transparent), transparent 28%),
		var(--pns-bg);
}
.pns-platform__bar {
	position: sticky;
	top: 10px;
	z-index: 35;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: min(1480px, calc(100% - 28px));
	margin: 0 auto 20px;
	padding: 9px 10px 9px 14px;
	border: 1px solid color-mix(in srgb, var(--pns-line) 82%, transparent);
	border-radius: 20px;
	background: color-mix(in srgb, var(--pns-surface) 92%, transparent);
	box-shadow: 0 16px 42px rgba(20,30,156,.12);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}
.pns-platform__brand { display: flex; align-items: center; gap: 10px; min-width: 0; color: var(--pns-ink); text-decoration: none !important; }
.pns-platform__brand img { width: 44px; height: 44px; padding: 2px; border-radius: 13px; background: #fff; object-fit: contain; }
.pns-platform__brand span { display: grid; min-width: 0; line-height: 1.15; }
.pns-platform__brand strong { overflow: hidden; color: var(--pns-ink); font-size: .98rem; text-overflow: ellipsis; white-space: nowrap; }
.pns-platform__brand small { margin-top: 3px; color: var(--pns-muted); font-size: .68rem; }

.pns-platform__tabs { display: flex; align-items: center; gap: 5px; }
.pns-platform__tabs button,
.pns-platform__mobile-switch button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 44px;
	margin: 0;
	padding: 9px 14px;
	border: 0;
	border-radius: 13px;
	background: transparent;
	color: var(--pns-ink-2);
	font: inherit;
	font-size: .82rem;
	font-weight: 760;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
}
.pns-platform__tabs button:hover,
.pns-platform__tabs button:focus-visible,
.pns-platform__mobile-switch button:hover,
.pns-platform__mobile-switch button:focus-visible { background: var(--pns-surface-2); color: var(--pns-primary); outline: none; }
.pns-platform__tabs button.is-current { background: var(--pns-grad); color: #fff; box-shadow: var(--pns-sh-brand); }
.pns-platform__tabs button:first-child > i { width: 7px; height: 7px; border: 2px solid rgba(255,255,255,.85); border-radius: 50%; background: #43e79d; box-shadow: 0 0 0 3px rgba(67,231,157,.18); }
.pns-platform__tabs svg,
.pns-platform__mobile-switch svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pns-platform__tabs .pns-tab-short { display: none; }

.pns-platform__content,
.pns-platform__panel { min-width: 0; }
.pns-platform__panel[hidden] { display: none !important; }
.pns-platform__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 36px;
	width: min(1480px, calc(100% - 28px));
	margin: 0 auto 20px;
	padding: clamp(28px, 4vw, 48px);
	border: 1px solid color-mix(in srgb, var(--pns-primary) 12%, var(--pns-line));
	border-radius: 28px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--pns-primary) 8%, var(--pns-surface)), color-mix(in srgb, var(--pns-alt) 8%, var(--pns-surface)));
	box-shadow: var(--pns-sh-md);
}
.pns-platform__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 9px !important; color: var(--pns-primary); font-size: .76rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.pns-platform__eyebrow > span { width: 8px; height: 8px; border-radius: 50%; background: var(--pns-alt); box-shadow: 0 0 0 5px color-mix(in srgb, var(--pns-alt) 15%, transparent); }
.pns-platform__hero h1,
.pns-platform__project-intro h1 { max-width: 19ch; margin: 0; color: var(--pns-ink); font-size: clamp(2rem, 4.2vw, 4rem); font-weight: 850; letter-spacing: -.052em; line-height: .98; }
.pns-platform__hero > div > p:last-child,
.pns-platform__project-intro > p:last-of-type { max-width: 67ch; margin: 18px 0 0 !important; color: var(--pns-ink-2); font-size: clamp(.94rem, 1.5vw, 1.08rem); line-height: 1.65; }
.pns-platform__hero ul { display: grid; grid-template-columns: repeat(3, minmax(126px, 1fr)); gap: 9px; margin: 0 !important; padding: 0; }
.pns-platform__hero li { display: grid; grid-template-columns: 32px 1fr; align-items: start; gap: 9px; min-width: 0; padding: 13px; border: 1px solid var(--pns-line); border-radius: 16px; background: color-mix(in srgb, var(--pns-surface) 88%, transparent); }
.pns-platform__hero li b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: var(--pns-grad); color: #fff; font-size: .72rem; }
.pns-platform__hero li span { display: grid; gap: 3px; }
.pns-platform__hero li strong { color: var(--pns-ink); font-size: .76rem; line-height: 1.2; }
.pns-platform__hero li small { color: var(--pns-muted); font-size: .65rem; line-height: 1.35; }

.pns-platform__mobile-switch { display: none; }
.pns-platform__workspace { display: grid; grid-template-columns: minmax(380px, 430px) minmax(700px, 1fr); align-items: start; gap: 18px; width: min(1480px, calc(100% - 28px)); margin: 0 auto; }
.pns-platform__advisor-pane {
	position: sticky;
	top: 92px;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--pns-line);
	border-radius: 27px;
	background: var(--pns-surface);
	box-shadow: 0 22px 62px rgba(20,30,156,.13);
}
.pns-platform__advisor-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--pns-line); background: var(--pns-surface-2); }
.pns-platform__advisor-head > div { display: flex; align-items: center; gap: 8px; }
.pns-platform__advisor-head strong { color: var(--pns-ink); font-size: .82rem; }
.pns-platform__advisor-head small { color: var(--pns-muted); font-size: .65rem; text-align: right; }
.pns-platform__live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--pns-alt); box-shadow: 0 0 0 4px color-mix(in srgb, var(--pns-alt) 16%, transparent); }
.pns-platform__nina-slot { min-height: 650px; }
.pns-platform__nina-fallback { display: grid; place-items: center; align-content: center; min-height: 650px; padding: 38px; text-align: center; }
.pns-platform__nina-fallback img { width: 86px; height: 86px; border-radius: 24px; object-fit: contain; }
.pns-platform__nina-fallback h2 { max-width: 18ch; margin: 20px 0 0; color: var(--pns-ink); font-size: 1.45rem; line-height: 1.14; }
.pns-platform__nina-fallback p { max-width: 34ch; margin: 10px 0 0 !important; color: var(--pns-muted); font-size: .84rem; }
.pns-platform__advisor-foot { display: grid; gap: 5px; padding: 12px 16px; border-top: 1px solid var(--pns-line); background: var(--pns-surface-2); color: var(--pns-muted); font-size: .66rem; }
.pns-platform__advisor-foot span { display: flex; align-items: center; gap: 7px; }
.pns-platform__advisor-foot span::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--pns-alt); }

.pns-platform__quote-pane { min-width: 0; overflow: clip; border: 1px solid var(--pns-line); border-radius: 27px; background: var(--pns-surface); box-shadow: var(--pns-sh-md); }
.pns-platform__syncbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 18px; border-bottom: 1px solid var(--pns-line); background: linear-gradient(90deg, color-mix(in srgb, var(--pns-primary) 7%, var(--pns-surface)), color-mix(in srgb, var(--pns-alt) 7%, var(--pns-surface))); }
.pns-platform__syncbar span { display: inline-flex; align-items: center; gap: 8px; color: var(--pns-primary); font-size: .76rem; font-weight: 820; }
.pns-platform__syncbar i { width: 7px; height: 7px; border-radius: 50%; background: var(--pns-alt); animation: pns-platform-pulse 2s ease-out infinite; }
.pns-platform__syncbar small { color: var(--pns-muted); font-size: .68rem; }
.pns-platform__quote-pane > .pns-shell { margin: 0; }
.pns-platform__quote-pane .pns-quoter { padding-top: clamp(24px, 4vw, 44px); border-radius: 0; }

.pns-platform__project-intro { width: min(1120px, calc(100% - 28px)); margin: 0 auto 18px; padding: clamp(28px, 5vw, 52px); border: 1px solid var(--pns-line); border-radius: 28px; background: var(--pns-surface); box-shadow: var(--pns-sh-md); }
.pns-platform__project-intro h1 { max-width: 15ch; }
.pns-platform__project-intro .pns-btn { margin-top: 22px; }
.pns-platform__panel > #pns-client-portal,
.pns-platform__panel > .pns-shell { margin-inline: auto; }

.pns-platform__toast { position: fixed; right: 18px; bottom: 104px; z-index: 2147482998; max-width: min(390px, calc(100% - 36px)); padding: 13px 16px; border: 1px solid rgba(255,255,255,.18); border-radius: 13px; background: #101828; color: #fff; font-size: .82rem; font-weight: 650; box-shadow: 0 18px 44px rgba(11,16,32,.25); opacity: 0; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease; }
.pns-platform__toast.is-visible { opacity: 1; transform: none; }
@keyframes pns-platform-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--pns-alt) 40%, transparent); } 70%, 100% { box-shadow: 0 0 0 8px transparent; } }

@media (max-width: 1180px) {
	.pns-platform__hero { grid-template-columns: 1fr; align-items: start; }
	.pns-platform__hero ul { width: 100%; }
	.pns-platform__mobile-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; position: sticky; top: 78px; z-index: 31; width: min(720px, calc(100% - 24px)); margin: 0 auto 14px; padding: 6px; border: 1px solid var(--pns-line); border-radius: 17px; background: color-mix(in srgb, var(--pns-surface) 94%, transparent); box-shadow: var(--pns-sh-md); backdrop-filter: blur(16px); }
	.pns-platform__mobile-switch button.is-current { background: var(--pns-tint-strong); color: var(--pns-primary); }
	.pns-platform__mobile-switch button > i { display: grid; place-items: center; min-width: 18px; height: 18px; border-radius: 50%; background: #e5484d; color: #fff; font-size: .66rem; font-style: normal; }
	.pns-platform__workspace { grid-template-columns: 1fr; width: min(980px, calc(100% - 24px)); }
	.pns-platform__advisor-pane { position: relative; top: auto; width: min(440px, 100%); margin: 0 auto; }
	.pns-platform[data-workspace-view="nina"] [data-pns-workspace-pane="quote"],
	.pns-platform[data-workspace-view="quote"] [data-pns-workspace-pane="nina"] { display: none; }
	.pns-platform__quote-pane { width: 100%; }
}

@media (max-width: 760px) {
	.pns-platform { padding-top: 8px; }
	.pns-platform__bar { top: 6px; width: calc(100% - 14px); margin-bottom: 12px; padding: 7px; border-radius: 17px; }
	.pns-platform__brand span { display: none; }
	.pns-platform__brand img { width: 40px; height: 40px; border-radius: 11px; }
	.pns-platform__tabs { flex: 1; justify-content: flex-end; min-width: 0; }
	.pns-platform__tabs button { min-height: 40px; padding: 8px 10px; font-size: .72rem; }
	.pns-platform__tabs button svg { width: 18px; height: 18px; }
	.pns-platform__tabs button:first-child > i { display: none; }
	.pns-platform__hero { width: calc(100% - 16px); margin-bottom: 12px; padding: 25px 20px; border-radius: 22px; }
	.pns-platform__hero h1 { font-size: clamp(2rem, 9vw, 2.65rem); }
	.pns-platform__hero > div > p:last-child { margin-top: 13px !important; font-size: .9rem; line-height: 1.5; }
	.pns-platform__hero ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
	.pns-platform__hero li { grid-template-columns: 24px minmax(0, 1fr); gap: 6px; padding: 8px 7px; border-radius: 12px; }
	.pns-platform__hero li b { width: 24px; height: 24px; border-radius: 8px; font-size: .62rem; }
	.pns-platform__hero li strong { font-size: .64rem; }
	.pns-platform__hero li small { display: none; }
	.pns-platform__mobile-switch { top: 66px; width: calc(100% - 16px); margin-bottom: 10px; }
	.pns-platform__workspace { width: calc(100% - 12px); }
	.pns-platform__advisor-pane,
	.pns-platform__quote-pane { border-radius: 22px; }
	.pns-platform__advisor-head { align-items: flex-start; }
	.pns-platform__advisor-head small { max-width: 18ch; }
	.pns-platform__syncbar { align-items: flex-start; padding-inline: 14px; }
	.pns-platform__syncbar small { max-width: 16ch; text-align: right; }
	.pns-platform__project-intro { width: calc(100% - 16px); padding: 26px 21px; border-radius: 22px; }
	.pns-platform__toast { right: 10px; bottom: 86px; max-width: calc(100% - 20px); }
}

@media (max-width: 450px) {
	.pns-platform__tabs button { gap: 5px; padding-inline: 8px; }
	.pns-platform__tabs .pns-tab-full { display: none; }
	.pns-platform__tabs .pns-tab-short { display: inline; }
	.pns-platform__brand img { width: 38px; height: 38px; }
}

@media (prefers-reduced-motion: reduce) {
	.pns-platform__toast { transition-duration: .01ms; }
	.pns-platform__syncbar i { animation: none; }
}

/* Experiencia aprobada: la cabecera del tema sigue siendo la única cabecera
   del sitio; debajo viven el hero de NINA y el espacio de trabajo. */
body.pns-has-platform .entry-title,
body.pns-has-platform .page-header { display: none !important; }
body.pns-has-platform .site-main,
body.pns-has-platform main.site-main { max-width: none; padding-inline: 0; }
.pns-platform { padding: 0 0 52px; background: #f7f9fd; }
.pns-platform__bar { display: none; }
.pns-platform__hero {
	grid-template-columns: minmax(0, 1.18fr) minmax(390px, .82fr);
	align-items: center;
	width: min(1440px, calc(100% - 32px));
	margin-bottom: 22px;
	padding: clamp(30px, 4vw, 58px);
	border-color: #d9e3f1;
	border-radius: 0 0 30px 30px;
	background:
		radial-gradient(circle at 88% 12%, rgba(18,191,160,.18), transparent 31%),
		linear-gradient(135deg, #eef3fb 0%, #f9fbff 58%, #eafaf7 100%);
	box-shadow: 0 18px 46px rgba(0,26,77,.08);
}
.pns-platform__hero h1 {
	max-width: 14ch;
	font-size: clamp(2.5rem, 5vw, 4.75rem);
	font-weight: 900;
	letter-spacing: -.06em;
	line-height: .96;
}
.pns-platform__hero > div > p:last-of-type { max-width: 62ch; margin-top: 18px !important; }
.pns-platform__hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.pns-platform__hero-actions .pns-btn { min-height: 54px; padding-inline: 25px; border-radius: 14px; font-weight: 820; }
.pns-platform__hero-actions svg { width: 21px; height: 21px; fill: currentColor; }
.pns-platform__gesture-note { display: block; margin-top: 12px; color: var(--pns-muted); font-size: .76rem; }
.pns-platform__hero ul { grid-template-columns: 1fr; width: 100%; max-width: 440px; }
.pns-platform__hero li { grid-template-columns: 48px 1fr; align-items: center; padding: 16px; border-radius: 18px; background: rgba(255,255,255,.88); box-shadow: 0 7px 24px rgba(0,26,77,.055); }
.pns-platform__hero li b { width: 46px; height: 46px; border-radius: 14px; font-size: .75rem; }
.pns-platform__hero li strong { font-size: .9rem; }
.pns-platform__hero li small { font-size: .72rem; }

.pns-platform__workspace {
	grid-template-columns: 400px minmax(0, 1fr);
	gap: 20px;
	width: min(1440px, calc(100% - 32px));
}
.pns-platform__advisor-pane { top: 18px; border-radius: 22px; box-shadow: 0 18px 48px rgba(0,26,77,.10); }
.pns-platform__advisor-head { padding: 14px 18px; background: #fff; }
.pns-platform__nina-slot,
.pns-platform__nina-fallback { min-height: 620px; }
.pns-platform__quote-pane { border-radius: 22px; box-shadow: 0 18px 48px rgba(0,26,77,.08); }
.pns-platform__syncbar { min-height: 50px; padding: 14px 20px; }
.pns-platform__quote-pane .pns-quoter { max-width: none; padding: 26px 24px 118px; background: #f7f9fd; }
.pns-platform__quote-pane .pns-hero { max-width: 760px; margin-bottom: 24px; }
.pns-platform__quote-pane .pns-hero__logo { display: none; }
.pns-platform__quote-pane .pns-hero__title { font-size: clamp(2rem, 4vw, 3.35rem); color: #001a4d; }
.pns-platform__quote-pane .pns-hero__subtitle { max-width: 620px; margin-inline: auto; }
.pns-platform__quote-pane .pns-trust { margin-top: 16px; }
.pns-platform__quote-pane .pns-steps { margin-bottom: 20px; }
.pns-platform__quote-pane .pns-panel,
.pns-platform__quote-pane .pns-summary__inner { border-radius: 20px; box-shadow: 0 8px 28px rgba(0,26,77,.075); }
.pns-platform__quote-pane .pns-card {
	min-height: 148px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 3px 14px rgba(0,26,77,.045);
}
.pns-platform__quote-pane .pns-card__icon { width: 50px; height: 50px; border-radius: 15px; }
.pns-platform__quote-pane .pns-card__title { color: #001a4d; font-weight: 820; }
.pns-platform__quote-pane .pns-card.is-selected { border-width: 2px; box-shadow: 0 12px 34px rgba(18,191,160,.16); }
.pns-platform__quote-pane .pns-summary__amount { background: linear-gradient(135deg, #141e9c, #0e789b 62%, #12bfa0); }
.pns-platform__quote-pane .pns-summary__amount .pns-summary__label,
.pns-platform__quote-pane .pns-summary__amount .pns-summary__hint { color: rgba(255,255,255,.78); }
.pns-platform__quote-pane .pns-summary__total { color: #fff; }
.pns-platform__quote-pane .pns-quoter.is-nina-directing .pns-panel { animation: pns-directed-panel 1.2s ease-out; }
@keyframes pns-directed-panel {
	0% { box-shadow: 0 0 0 0 rgba(18,191,160,.45); }
	45% { box-shadow: 0 0 0 10px rgba(18,191,160,.13); }
	100% { box-shadow: 0 8px 28px rgba(0,26,77,.075); }
}

@media (max-width: 1180px) {
	.pns-platform__hero { grid-template-columns: 1fr; }
	.pns-platform__hero ul { grid-template-columns: repeat(3,minmax(0,1fr)); max-width: none; }
	.pns-platform__hero li { grid-template-columns: 38px 1fr; padding: 12px; }
	.pns-platform__hero li b { width: 36px; height: 36px; border-radius: 11px; }
	.pns-platform__mobile-switch { top: 8px; }
	.pns-platform__workspace { width: min(980px, calc(100% - 24px)); }
	.pns-platform__advisor-pane { width: min(440px,100%); }
}

@media (max-width: 760px) {
	.pns-platform { padding-bottom: 94px; }
	.pns-platform__hero { width: 100%; margin: 0 0 12px; padding: 26px 18px 22px; border-inline: 0; border-radius: 0 0 24px 24px; }
	.pns-platform__hero h1 { max-width: 12ch; font-size: clamp(2.35rem, 12vw, 3.25rem); }
	.pns-platform__hero-actions { display: grid; grid-template-columns: 1fr; }
	.pns-platform__hero-actions .pns-btn { width: 100%; }
	.pns-platform__hero ul { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
	.pns-platform__hero li { display: grid; grid-template-columns: 1fr; justify-items: center; gap: 7px; padding: 10px 5px; text-align: center; }
	.pns-platform__hero li small { display: none; }
	.pns-platform__hero li strong { font-size: .65rem; }
	.pns-platform__mobile-switch { width: calc(100% - 12px); border-radius: 15px; }
	.pns-platform__workspace { width: 100%; }
	.pns-platform__advisor-pane,
	.pns-platform__quote-pane { width: 100%; border-inline: 0; border-radius: 0; }
	.pns-platform__quote-pane .pns-quoter { padding: 22px 12px 118px; border-radius: 0; }
	.pns-platform__quote-pane .pns-hero__title { font-size: 2.15rem; }
	.pns-platform__quote-pane .pns-hero__subtitle { font-size: .9rem; }
	.pns-platform__quote-pane .pns-trust { grid-template-columns: 1fr; gap: 5px; }
	.pns-platform__quote-pane .pns-panel { padding: 20px 15px; }
	.pns-platform__quote-pane .pns-card { min-height: 128px; padding: 15px; }
}
