/* fuentes */
@font-face {
	font-family:"Gabarito";
	font-weight:400 700;
	font-style:normal;
	src:url("../fonts/gabarito-var.woff2") format("woff2");
	font-display:swap;
	unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family:"Gabarito Fallback";
	src:local("Arial");
	ascent-override:96.4%;
	descent-override:26.7%;
	size-adjust:97.5%;
}
@font-face {
	font-family:"Onest";
	font-weight:300 700;
	font-style:normal;
	src:url("../fonts/onest-var.woff2") format("woff2");
	font-display:swap;
	unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family:"Onest Fallback";
	src:local("Arial");
	ascent-override:92.9%;
	descent-override:29.7%;
	size-adjust:104.5%;
}

/* base */
:root {
	--gray-0:#FFFFFF;
	--gray-50:#F6F7F9;
	--gray-100:#ECEEF2;
	--gray-300:#D3D7DE;
	--gray-500:#858B96;
	--gray-700:#3E434C;
	--gray-900:#1A1C21;
	--accent-50:#FBEDEA;
	--accent-500:#B8371E;
	--accent-600:#962A15;
	--second-50:#EAF3EE;
	--second-500:#2F6B4F;
	--font-head:"Gabarito", "Gabarito Fallback", Arial, sans-serif;
	--font-text:"Onest", "Onest Fallback", Arial, sans-serif;
	--radius-100:12px;
	--radius-200:16px;
	--radius-300:24px;
	--shift-200:14px;
	--lift-100:0 1px 2px #1A1C210F, 0 10px 30px #1A1C2114;
	--wrap-1200:1240px;
	--bar-56:56px;
}
*, *::before, *::after {
	box-sizing:border-box;
}
html {
	scroll-padding-top:calc(var(--bar-56) + 20px);
	-webkit-text-size-adjust:100%;
}
body {
	margin:0;
	font-family:var(--font-text);
	font-size:1.0625rem;
	line-height:1.6;
	color:var(--gray-900);
	background:var(--gray-50);
}
img {
	display:block;
	max-width:100%;
	height:auto;
}
[hidden] {
	display:none;
}
h1, h2, h3, h4 {
	margin:0;
	font-family:var(--font-head);
	font-weight:500;
	line-height:1.15;
}
h2 {
	font-size:clamp(1.6rem, 1.1rem + 1.6vw, 2.3rem);
	text-transform:uppercase;
	letter-spacing:0.01em;
}
h3 {
	font-size:1.25rem;
}
p {
	margin:0 0 1rem;
}
a {
	color:var(--accent-500);
	text-underline-offset:3px;
}
a:hover {
	color:var(--accent-600);
}
:focus-visible {
	outline:3px solid var(--accent-500);
	outline-offset:3px;
}
button, input, textarea {
	font:inherit;
}
.wrap {
	width:min(var(--wrap-1200), 100% - 48px);
	margin-left:auto;
	margin-right:auto;
}
.skip {
	position:absolute;
	left:16px;
	top:-80px;
	z-index:1200;
	display:inline-flex;
	align-items:center;
	min-height:44px;
	padding:0 18px;
	color:var(--gray-0);
	background:var(--gray-900);
	border-radius:999px;
}
.skip:focus {
	top:12px;
	color:var(--gray-0);
}
.eyb {
	display:flex;
	align-items:center;
	gap:12px;
	margin:0 0 14px;
	font-size:0.8125rem;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:0.16em;
	color:var(--second-500);
}
.eyb::after {
	content:'';
	width:56px;
	height:1px;
	background:var(--second-500);
}
.btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:48px;
	padding:0 26px;
	font-family:var(--font-head);
	font-size:1rem;
	font-weight:500;
	text-decoration:none;
	color:var(--gray-0);
	background:var(--accent-500);
	border:1px solid var(--accent-500);
	border-radius:999px;
	cursor:pointer;
	transition:background 0.2s, transform 0.2s;
}
.btn:hover {
	color:var(--gray-0);
	background:var(--accent-600);
}
.btn:active {
	transform:translateY(1px);
}
.btn[disabled] {
	cursor:progress;
	background:var(--gray-500);
	border-color:var(--gray-500);
}
.btn-ln {
	color:var(--gray-900);
	background:var(--gray-0);
	border-color:var(--gray-300);
}
.btn-ln:hover {
	color:var(--accent-600);
	background:var(--accent-50);
}
.chip {
	display:inline-flex;
	align-items:center;
	min-height:34px;
	padding:0 14px;
	font-size:0.875rem;
	color:var(--gray-700);
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:999px;
}
.tag {
	display:inline-flex;
	align-items:center;
	padding:2px 10px;
	font-size:0.75rem;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:0.12em;
	color:var(--second-500);
	background:var(--second-50);
	border-radius:999px;
}
.src {
	font-size:0.875rem;
	color:var(--second-500);
}
.src::before {
	content:'';
	display:inline-block;
	width:8px;
	height:8px;
	margin-right:8px;
	background:var(--second-500);
	border-radius:50%;
}

/* cabecera */
.hd {
	position:relative;
	z-index:999;
	background:var(--gray-0);
	border-bottom:1px solid var(--gray-300);
}
.hd-strip {
	font-size:0.875rem;
	color:var(--gray-700);
	background:var(--gray-100);
}
.hd-strip .wrap {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	min-height:44px;
}
.hd-strip p {
	margin:0;
	letter-spacing:0.06em;
}
.hd-strip a {
	display:inline-flex;
	align-items:center;
	min-height:44px;
	font-weight:600;
	text-decoration:none;
	color:var(--gray-900);
}
.hd-row {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	min-height:76px;
}
.logo {
	display:inline-flex;
	align-items:center;
	gap:12px;
	min-height:44px;
	font-family:var(--font-head);
	font-size:1.5rem;
	font-weight:600;
	text-decoration:none;
	color:var(--gray-900);
}
.logo svg {
	width:36px;
	height:36px;
}
.hd-act {
	display:flex;
	align-items:center;
	gap:12px;
}
.burger {
	display:none;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	padding:0;
	color:var(--gray-900);
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:999px;
	cursor:pointer;
}
.burger svg {
	width:22px;
	height:22px;
}

/* menú */
.nv {
	position:sticky;
	top:0;
	z-index:990;
	background:var(--gray-0);
	border-bottom:1px solid var(--gray-300);
}
.nv-in {
	display:flex;
	align-items:center;
	gap:4px;
	min-height:var(--bar-56);
}
.nv-in ul {
	display:flex;
	flex-wrap:wrap;
	gap:2px;
	margin:0;
	padding:0;
	list-style:none;
}
.nv-in a {
	display:inline-flex;
	align-items:center;
	min-height:44px;
	padding:0 14px;
	font-size:0.8125rem;
	font-weight:600;
	text-transform:uppercase;
	text-decoration:none;
	letter-spacing:0.12em;
	color:var(--gray-700);
	border-radius:999px;
}
.nv-in a:hover, .nv-in a.on {
	color:var(--accent-600);
	background:var(--accent-50);
}
.nv-x {
	display:none;
}
.nv-cta {
	display:none;
}
.nv-in .nv-cta a {
	color:var(--gray-0);
	background:var(--accent-500);
}
.nv-in .nv-cta a:hover {
	color:var(--gray-0);
	background:var(--accent-600);
}

/* portada */
.hr {
	position:relative;
	overflow:hidden;
	padding-top:24px;
	padding-bottom:72px;
	background:linear-gradient(180deg, var(--gray-50) 0%, var(--gray-0) 62%, var(--gray-50) 100%);
}
.hr-wm {
	position:absolute;
	left:50%;
	bottom:-0.2em;
	z-index:0;
	margin:0;
	font-family:var(--font-head);
	font-size:clamp(5.5rem, 14vw, 15rem);
	font-weight:700;
	line-height:1;
	letter-spacing:-0.02em;
	white-space:nowrap;
	color:transparent;
	-webkit-text-stroke:1.5px var(--gray-300);
	transform:translateX(-50%);
	pointer-events:none;
	user-select:none;
}
.hr-in {
	position:relative;
	z-index:1;
}
.hr-fig {
	position:relative;
	isolation:isolate;
	margin:0 var(--shift-200) 0 0;
}
.hr-fig::before {
	content:'';
	position:absolute;
	top:var(--shift-200);
	left:var(--shift-200);
	right:calc(var(--shift-200) * -1);
	bottom:calc(var(--shift-200) * -1);
	z-index:-1;
	border:2px solid var(--accent-500);
}
.hr-fig img {
	width:100%;
	height:clamp(440px, 54vh, 580px);
	object-fit:cover;
	object-position:50% 60%;
}
.hr-card {
	position:absolute;
	left:28px;
	bottom:28px;
	width:min(600px, 52%);
	padding:30px 32px 32px;
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:var(--radius-300);
}
.hr-card h1 {
	margin:0 0 14px;
	font-size:clamp(1.9rem, 1.2rem + 1.9vw, 2.75rem);
	line-height:1.1;
}
.hr-card .lead {
	margin:0 0 22px;
	font-size:1.0625rem;
	color:var(--gray-700);
}
.hr-cap {
	position:absolute;
	right:24px;
	top:20px;
	padding:6px 14px;
	font-size:0.8125rem;
	letter-spacing:0.1em;
	text-transform:uppercase;
	color:var(--gray-0);
	background:#1A1C21B3;
	border-radius:999px;
}
.hr-bar {
	display:grid;
	grid-template-columns:5fr 7fr;
	align-items:start;
	gap:40px;
	margin-top:calc(var(--shift-200) + 30px);
}
.hr-facts {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin:0;
	padding:0;
	list-style:none;
}
.hr-facts li {
	display:inline-flex;
	align-items:center;
	gap:8px;
	min-height:40px;
	padding:0 16px;
	font-size:0.9375rem;
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:999px;
}
.hr-facts b {
	font-family:var(--font-head);
	font-weight:600;
	color:var(--accent-600);
}
.prv {
	min-width:0;
	padding:20px 22px;
	background:var(--gray-0);
	border-radius:var(--radius-200);
	box-shadow:var(--lift-100);
}
.prv-hd {
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:12px;
	margin:0 0 10px;
	padding-bottom:10px;
	font-size:0.875rem;
	color:var(--gray-700);
	border-bottom:1px solid var(--gray-100);
}
.prv-hd strong {
	font-family:var(--font-head);
	font-size:1.05rem;
	font-weight:600;
	color:var(--gray-900);
}
.prv ol {
	margin:0;
	padding:0;
	list-style:none;
}
.prv li {
	display:grid;
	grid-template-columns:auto 1fr auto;
	align-items:center;
	gap:12px;
	padding:8px 0;
	font-size:0.9375rem;
	border-bottom:1px dashed var(--gray-100);
}
.prv li:last-child {
	border-bottom:0;
}
.prv .src {
	white-space:nowrap;
}

/* secciones */
.sec {
	position:relative;
	padding-top:96px;
	padding-bottom:96px;
}
.sec-dense {
	padding-top:64px;
	padding-bottom:64px;
}
.sec-t {
	max-width:760px;
	margin-bottom:36px;
}
.sec-t p {
	margin:14px 0 0;
	color:var(--gray-700);
}
.bg-up {
	background:linear-gradient(180deg, var(--gray-50) 0%, var(--gray-0) 100%);
}
.bg-down {
	background:linear-gradient(180deg, var(--gray-0) 0%, var(--gray-50) 100%);
}
.bg-warm {
	background:linear-gradient(180deg, var(--gray-50) 0%, var(--accent-50) 50%, var(--gray-50) 100%);
}
.bg-green {
	background:linear-gradient(180deg, var(--gray-0) 0%, var(--second-50) 100%);
}
.outl {
	color:transparent;
	-webkit-text-stroke:1.5px var(--accent-500);
}

/* demo */
.dm-box {
	padding:32px;
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:var(--radius-300);
}
.dm-form {
	display:grid;
	gap:18px;
}
.dm-chips {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:0;
	padding:0;
	border:0;
}
.dm-chips legend {
	margin-bottom:10px;
	padding:0;
	font-size:0.9375rem;
	font-weight:600;
}
.dm-chip {
	display:inline-flex;
	align-items:center;
	gap:8px;
	min-height:44px;
	padding:0 18px;
	font-size:0.9375rem;
	color:var(--gray-700);
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:999px;
	cursor:pointer;
	transition:background 0.2s, border-color 0.2s;
}
.dm-chip:hover {
	border-color:var(--second-500);
}
.dm-chip.on {
	color:var(--second-500);
	background:var(--second-50);
	border-color:var(--second-500);
}
.dm-chip[disabled] {
	cursor:not-allowed;
}
.dm-row {
	display:grid;
	grid-template-columns:1fr auto;
	align-items:end;
	gap:12px;
}
.fld label {
	display:block;
	margin-bottom:6px;
	font-size:0.9375rem;
	font-weight:600;
}
.fld input, .fld textarea {
	width:100%;
	min-height:50px;
	padding:12px 18px;
	color:var(--gray-900);
	background:var(--gray-50);
	border:1px solid var(--gray-300);
	border-radius:var(--radius-100);
	transition:border-color 0.2s, background 0.2s;
}
.fld textarea {
	min-height:140px;
	resize:vertical;
}
.fld input:hover, .fld textarea:hover {
	border-color:var(--gray-500);
}
.fld input:focus, .fld textarea:focus {
	background:var(--gray-0);
	border-color:var(--accent-500);
	outline:none;
}
.dm-facts {
	display:flex;
	flex-wrap:wrap;
	gap:8px 22px;
	margin:0;
	padding:0;
	font-size:0.9375rem;
	color:var(--gray-700);
	list-style:none;
}
.dm-facts li::before {
	content:'';
	display:inline-block;
	width:6px;
	height:6px;
	margin-right:10px;
	vertical-align:middle;
	background:var(--accent-500);
	border-radius:50%;
}
.dm-panel {
	margin-top:24px;
	padding:28px;
	background:var(--gray-50);
	border:1px solid var(--gray-300);
	border-radius:var(--radius-200);
}
.dm-panel:focus {
	outline:none;
}
.dm-top {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-bottom:18px;
}
.dm-eta {
	font-family:var(--font-head);
	font-size:1rem;
	color:var(--gray-700);
}
.dm-track {
	height:6px;
	margin-bottom:22px;
	overflow:hidden;
	background:var(--gray-100);
	border-radius:999px;
}
.dm-fill {
	height:100%;
	background:linear-gradient(90deg, var(--second-500), var(--accent-500));
	transform:scaleX(0);
	transform-origin:left center;
}
.dm-work {
	display:grid;
	grid-template-columns:260px 1fr;
	gap:24px;
}
.dm-steps {
	display:grid;
	gap:10px;
	margin:0;
	padding:0;
	list-style:none;
}
.dm-steps li {
	display:flex;
	align-items:center;
	gap:12px;
	padding:12px 14px;
	font-size:0.9375rem;
	color:var(--gray-700);
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:var(--radius-100);
}
.dm-steps li::before {
	content:'';
	flex:none;
	width:12px;
	height:12px;
	border:2px solid var(--gray-500);
	border-radius:50%;
}
.dm-steps li.on {
	color:var(--gray-900);
	border-color:var(--accent-500);
}
.dm-steps li.on::before {
	border-color:var(--accent-500);
	animation:dm-spin 1s linear infinite;
	border-right-color:transparent;
}
.dm-steps li.entered::before {
	background:var(--second-500);
	border-color:var(--second-500);
}
.dm-live {
	min-width:0;
}
.dm-bars {
	display:flex;
	align-items:flex-end;
	gap:5px;
	height:46px;
	margin-bottom:14px;
}
.dm-bars span {
	flex:1;
	height:100%;
	background:var(--second-500);
	border-radius:4px;
	transform:scaleY(0.25);
	transform-origin:bottom;
}
.dm-panel.on .dm-bars span {
	animation:dm-wave 1.4s ease-in-out infinite;
}
.dm-bars span:nth-child(2n) {
	background:var(--accent-500);
	animation-delay:0.2s;
}
.dm-bars span:nth-child(3n) {
	animation-delay:0.45s;
}
.dm-bars span:nth-child(4n) {
	animation-delay:0.7s;
}
.dm-count {
	margin:0 0 10px;
	font-size:0.9375rem;
	color:var(--gray-700);
}
.dm-count b {
	font-family:var(--font-head);
	color:var(--gray-900);
}
.dm-log {
	display:grid;
	gap:6px;
	margin:0;
	padding:0;
	font-size:0.875rem;
	list-style:none;
}
.dm-log li {
	display:grid;
	grid-template-columns:72px 1fr;
	gap:10px;
	padding:6px 10px;
	background:var(--gray-0);
	border-left:3px solid var(--second-500);
	border-radius:6px;
	animation:dm-in 0.4s ease-out both;
}
.dm-log time {
	font-variant-numeric:tabular-nums;
	color:var(--gray-700);
}
.dm-res-hd {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	margin-bottom:18px;
}
.dm-res-hd p {
	margin:4px 0 0;
	color:var(--gray-700);
}
.dm-list {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:16px;
}
#dm-result .dm-list {
	grid-template-columns:repeat(3, minmax(0, 1fr));
}
#dm-result .nw {
	animation:dm-in 0.5s ease-out both;
}
.dm-end {
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:22px;
}
.nw {
	padding:20px 22px;
	background:var(--gray-0);
	border-radius:var(--radius-200);
	box-shadow:var(--lift-100);
}
.nw h4 {
	margin:10px 0 12px;
	font-size:1.125rem;
	line-height:1.25;
}
.nw dl {
	display:grid;
	gap:8px;
	margin:0 0 12px;
	font-size:0.9375rem;
}
.nw dt {
	font-size:0.75rem;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:0.12em;
	color:var(--accent-600);
}
.nw dd {
	margin:0;
	color:var(--gray-700);
}
.nw-ft {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:8px;
	padding-top:10px;
	font-size:0.875rem;
	color:var(--gray-700);
	border-top:1px solid var(--gray-100);
}
.dm-static {
	margin-top:24px;
}
.dm-note {
	margin:18px 0 0;
	padding:14px 16px;
	font-size:0.875rem;
	color:var(--gray-700);
	background:var(--gray-0);
	border-left:3px solid var(--accent-500);
	border-radius:8px;
}
.tag.ai {
	color:var(--accent-600);
	background:var(--accent-50);
}
.nw-org {
	font-weight:600;
	color:var(--accent-600);
}
.dm-static h3 {
	margin-bottom:14px;
}
@keyframes dm-wave {
	0%, 100% {
		transform:scaleY(0.25);
	}
	50% {
		transform:scaleY(1);
	}
}
@keyframes dm-spin {
	to {
		transform:rotate(360deg);
	}
}
@keyframes dm-in {
	from {
		opacity:0;
		transform:translateY(8px);
	}
	to {
		opacity:1;
		transform:none;
	}
}

/* cómo funciona */
.stp {
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:18px;
	margin:0;
	padding:0;
	list-style:none;
	counter-reset:stp;
}
.stp li {
	position:relative;
	padding:24px 22px;
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-top:4px solid var(--accent-500);
	border-radius:var(--radius-200);
	counter-increment:stp;
}
.stp li::before {
	content:'0' counter(stp);
	display:block;
	margin-bottom:10px;
	font-family:var(--font-head);
	font-size:3rem;
	font-weight:700;
	line-height:1;
	color:transparent;
	-webkit-text-stroke:1.5px var(--accent-500);
}
.stp h3 {
	margin-bottom:8px;
	font-size:1.125rem;
}
.stp p {
	margin:0;
	font-size:0.9375rem;
	color:var(--gray-700);
}

/* rúbricas */
.rl-head {
	display:flex;
	flex-wrap:wrap;
	align-items:end;
	justify-content:space-between;
	gap:20px;
}
.rl-ctl {
	display:flex;
	gap:10px;
	margin-bottom:36px;
}
.rl-btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	padding:0;
	color:var(--gray-900);
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:999px;
	cursor:pointer;
}
.rl-btn:hover {
	color:var(--accent-600);
	border-color:var(--accent-500);
}
.rl-btn svg {
	width:20px;
	height:20px;
}
.rl {
	display:grid;
	grid-auto-flow:column;
	grid-auto-columns:minmax(290px, 340px);
	gap:18px;
	margin:0;
	padding:4px 4px 22px;
	overflow-x:auto;
	list-style:none;
	scroll-snap-type:x mandatory;
	scrollbar-width:thin;
}
.rl > li {
	min-width:0;
	scroll-snap-align:start;
}
.rl-crd {
	display:flex;
	flex-direction:column;
	height:100%;
	padding:24px;
	background:var(--gray-0);
	border-radius:var(--radius-300);
	box-shadow:var(--lift-100);
}
.rl-crd h3 {
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:12px;
	margin-bottom:10px;
	font-size:1.5rem;
}
.rl-crd h3 span {
	font-size:0.875rem;
	color:var(--gray-700);
}
.rl-crd p {
	font-size:0.9375rem;
	color:var(--gray-700);
}
.rl-crd ul {
	display:grid;
	gap:10px;
	margin:auto 0 0;
	padding:14px 0 0;
	list-style:none;
	border-top:1px solid var(--gray-300);
}
.rl-crd ul li {
	padding-left:14px;
	font-family:var(--font-head);
	font-size:1rem;
	line-height:1.3;
	border-left:3px solid var(--accent-500);
}

/* portada de la mañana */
.pb {
	border-top:2px solid var(--gray-900);
}
.pb-row {
	border-bottom:1px solid var(--gray-300);
}
.pb-row summary {
	display:grid;
	grid-template-columns:70px 130px 1fr auto 28px;
	align-items:center;
	gap:18px;
	min-height:64px;
	padding:14px 6px;
	cursor:pointer;
	list-style:none;
}
.pb-row summary::-webkit-details-marker {
	display:none;
}
.pb-row summary:hover {
	background:var(--gray-0);
}
.pb-time {
	font-family:var(--font-head);
	font-size:1.25rem;
	font-variant-numeric:tabular-nums;
	color:var(--accent-600);
}
.pb-tt {
	font-family:var(--font-head);
	font-size:1.1875rem;
	font-weight:500;
	line-height:1.3;
}
.pb-ic {
	position:relative;
	width:28px;
	height:28px;
	border:1px solid var(--gray-300);
	border-radius:50%;
}
.pb-ic::before, .pb-ic::after {
	content:'';
	position:absolute;
	left:8px;
	top:13px;
	width:10px;
	height:1.5px;
	background:var(--gray-900);
	transition:transform 0.2s;
}
.pb-ic::after {
	transform:rotate(90deg);
}
.pb-row[open] .pb-ic::after {
	transform:rotate(0deg);
}
.pb-ctx {
	display:grid;
	grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
	gap:28px;
	margin:4px 0 22px;
	padding:24px;
	background:var(--gray-0);
	border-left:3px solid var(--accent-500);
	box-shadow:var(--lift-100);
}
.pb-ctx.solo {
	grid-template-columns:minmax(0, 1fr);
}
.pb-ctx figure {
	margin:0;
}
.pb-ctx figcaption {
	margin-top:8px;
	font-size:0.8125rem;
	letter-spacing:0.08em;
	text-transform:uppercase;
	color:var(--gray-700);
}
.pb-ctx dl {
	display:grid;
	gap:12px;
	margin:0;
}
.pb-ctx dt {
	font-size:0.75rem;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:0.14em;
	color:var(--accent-600);
}
.pb-ctx dd {
	margin:0;
}

/* entrega */
.dk {
	display:grid;
	grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);
	gap:40px;
	align-items:start;
}
.dk-tabs {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:22px;
	padding:6px;
	background:var(--gray-100);
	border-radius:999px;
}
.dk-tab {
	flex:1;
	min-height:44px;
	padding:0 16px;
	font-family:var(--font-head);
	font-size:0.9375rem;
	font-weight:500;
	color:var(--gray-700);
	background:transparent;
	border:0;
	border-radius:999px;
	cursor:pointer;
}
.dk-tab:hover {
	color:var(--gray-900);
}
.dk-tab.on {
	color:var(--gray-0);
	background:var(--gray-900);
}
.dk-pane p {
	color:var(--gray-700);
}
.ui {
	min-width:0;
	overflow:hidden;
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:var(--radius-200);
	box-shadow:var(--lift-100);
}
.ui-bar {
	display:flex;
	align-items:center;
	gap:6px;
	padding:12px 16px;
	font-size:0.8125rem;
	color:var(--gray-700);
	background:var(--gray-100);
	border-bottom:1px solid var(--gray-300);
}
.ui-bar i {
	width:10px;
	height:10px;
	background:var(--gray-300);
	border-radius:50%;
}
.ui-bar span {
	margin-left:10px;
}
.ui-body {
	padding:20px;
}
.ui-mail {
	display:grid;
	gap:4px;
	margin-bottom:14px;
	padding-bottom:12px;
	font-size:0.875rem;
	color:var(--gray-700);
	border-bottom:1px solid var(--gray-100);
}
.ui-mail strong {
	font-family:var(--font-head);
	font-size:1.0625rem;
	font-weight:600;
	color:var(--gray-900);
}
.ui-item {
	display:grid;
	gap:6px;
	padding:12px 0;
	border-bottom:1px dashed var(--gray-100);
}
.ui-item:last-child {
	border-bottom:0;
}
.ui-item b {
	font-family:var(--font-head);
	font-weight:500;
	line-height:1.3;
}
.ui-web {
	display:grid;
	grid-template-columns:150px minmax(0, 1fr);
}
.ui-side {
	display:grid;
	align-content:start;
	gap:6px;
	margin:0;
	padding:16px 12px;
	font-size:0.875rem;
	list-style:none;
	background:var(--gray-50);
	border-right:1px solid var(--gray-300);
}
.ui-side li {
	padding:6px 10px;
	border-radius:8px;
}
.ui-side li.on {
	color:var(--second-500);
	background:var(--second-50);
}
.ui-audio {
	display:flex;
	align-items:center;
	gap:12px;
	margin-top:10px;
	padding:10px 14px;
	font-size:0.875rem;
	background:var(--accent-50);
	border-radius:999px;
}
.ui-audio i {
	flex:1;
	height:4px;
	background:linear-gradient(90deg, var(--accent-500) 38%, var(--gray-300) 38%);
	border-radius:999px;
}
.ui-num {
	display:grid;
	grid-template-columns:34px 1fr;
	gap:10px;
	padding:10px 0;
	border-bottom:1px dashed var(--gray-100);
}
.ui-num span {
	font-family:var(--font-head);
	font-size:1.375rem;
	color:transparent;
	-webkit-text-stroke:1px var(--accent-500);
}

/* lectores */
.qw {
	display:grid;
	grid-template-columns:minmax(0, 6fr) minmax(0, 6fr);
	gap:36px;
	align-items:start;
}
.qw-fig {
	position:relative;
	isolation:isolate;
	margin:0 var(--shift-200) 0 0;
}
.qw-fig::before {
	content:'';
	position:absolute;
	top:var(--shift-200);
	left:var(--shift-200);
	right:calc(var(--shift-200) * -1);
	bottom:calc(var(--shift-200) * -1);
	z-index:-1;
	background:var(--second-50);
	border:2px solid var(--second-500);
}
.qw-fig figcaption {
	padding:12px 0 0;
	font-size:0.8125rem;
	letter-spacing:0.1em;
	text-transform:uppercase;
	color:var(--gray-700);
}
.qw-wall {
	display:grid;
	gap:16px;
}
.qt {
	position:relative;
	margin:0;
	padding:24px 26px 20px 64px;
	background:var(--gray-0);
	border-radius:var(--radius-200);
	box-shadow:var(--lift-100);
}
.qt::before {
	content:'\201C';
	position:absolute;
	left:18px;
	top:6px;
	font-family:var(--font-head);
	font-size:4rem;
	line-height:1;
	color:var(--accent-500);
}
.qt:nth-child(2) {
	margin-left:40px;
}
.qt p {
	margin-bottom:10px;
	font-size:1.0625rem;
}
.qt footer {
	font-size:0.875rem;
	font-weight:600;
	letter-spacing:0.08em;
	color:var(--second-500);
}

/* tarifas */
.pr {
	display:grid;
	grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
	gap:32px;
	align-items:start;
}
.pr-plans {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:16px;
}
.pl {
	display:flex;
	flex-direction:column;
	padding:24px 22px;
	background:var(--gray-0);
	border-radius:var(--radius-300);
	box-shadow:var(--lift-100);
}
.pl.mid {
	outline:2px solid var(--accent-500);
	outline-offset:-2px;
}
.pl h3 {
	margin-bottom:8px;
}
.pl-price {
	margin:0 0 4px;
	font-family:var(--font-head);
	font-size:2.25rem;
	font-weight:600;
	line-height:1.1;
}
.pl-price small {
	font-size:1rem;
	font-weight:400;
	color:var(--gray-700);
}
.pl-note {
	margin:0 0 14px;
	font-size:0.875rem;
	color:var(--gray-700);
}
.pl ul {
	display:grid;
	gap:8px;
	margin:0 0 20px;
	padding:14px 0 0;
	font-size:0.9375rem;
	list-style:none;
	border-top:1px solid var(--gray-100);
}
.pl ul li::before {
	content:'';
	display:inline-block;
	width:10px;
	height:6px;
	margin-right:10px;
	vertical-align:middle;
	border-left:2px solid var(--second-500);
	border-bottom:2px solid var(--second-500);
	transform:rotate(-45deg) translateY(-2px);
}
.pl .btn {
	margin-top:auto;
}
.rg {
	padding:30px;
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:var(--radius-300);
}
.rg h3 {
	margin-bottom:8px;
	font-size:1.5rem;
}
.rg-sub {
	color:var(--gray-700);
}
.fm {
	display:grid;
	gap:16px;
}
.fm-ok {
	display:flex;
	align-items:flex-start;
	gap:10px;
	font-size:0.9375rem;
}
.fm-ok input {
	flex:none;
	width:22px;
	height:22px;
	margin:2px 0 0;
	accent-color:var(--accent-500);
}
.fm-err {
	margin:4px 0 0;
	font-size:0.875rem;
	color:var(--accent-600);
}
.fm-err:empty {
	display:none;
}
.hp {
	position:absolute;
	left:-9999px;
	width:1px;
	height:1px;
	overflow:hidden;
}
.fm-done {
	padding:26px;
	background:var(--second-50);
	border:1px solid var(--second-500);
	border-radius:var(--radius-200);
}
.fm-done:focus {
	outline:none;
}
.fm-done h3 {
	margin-bottom:8px;
	color:var(--second-500);
}

/* preguntas */
.fq {
	display:grid;
	grid-template-columns:minmax(0, 4fr) minmax(0, 8fr);
	gap:40px;
}
.fq-list {
	display:grid;
	gap:12px;
}
.fq-it {
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:var(--radius-200);
}
.fq-it summary {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	min-height:60px;
	padding:12px 22px;
	font-family:var(--font-head);
	font-size:1.125rem;
	cursor:pointer;
	list-style:none;
}
.fq-it summary::-webkit-details-marker {
	display:none;
}
.fq-it summary::after {
	content:'+';
	flex:none;
	font-size:1.5rem;
	color:var(--accent-500);
}
.fq-it[open] summary::after {
	content:'\2212';
}
.fq-it div {
	padding:0 22px 18px;
	color:var(--gray-700);
}
.fq-it div p {
	margin:0;
}

/* llamada */
.cta {
	padding-top:72px;
	padding-bottom:72px;
	color:var(--gray-0);
	background:var(--gray-900) linear-gradient(120deg, var(--gray-900) 0%, var(--gray-700) 100%);
}
.cta .wrap {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:28px;
}
.cta h2 {
	max-width:620px;
}
.cta p {
	margin:12px 0 0;
	color:var(--gray-100);
}
.cta-act {
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}
.cta .btn-ln {
	color:var(--gray-0);
	background:transparent;
	border-color:var(--gray-500);
}
.cta .btn-ln:hover {
	color:var(--gray-900);
	background:var(--gray-0);
}

/* páginas internas */
.ph {
	padding-top:56px;
	padding-bottom:48px;
	background:linear-gradient(180deg, var(--gray-0) 0%, var(--gray-50) 100%);
	border-bottom:1px solid var(--gray-300);
}
.ph h1 {
	max-width:860px;
	margin-bottom:14px;
	font-size:clamp(1.9rem, 1.3rem + 1.8vw, 2.75rem);
}
.ph p {
	max-width:720px;
	margin:0;
	color:var(--gray-700);
}
.lg {
	display:grid;
	grid-template-columns:260px minmax(0, 1fr);
	gap:40px;
	align-items:start;
	padding-top:56px;
	padding-bottom:88px;
}
.toc {
	position:sticky;
	top:calc(var(--bar-56) + 20px);
	padding:20px;
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:var(--radius-200);
}
.toc p {
	margin:0 0 8px;
	font-size:0.8125rem;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:0.14em;
	color:var(--second-500);
}
.toc ol {
	margin:0;
	padding:0;
	list-style:none;
}
.toc a {
	display:flex;
	align-items:center;
	min-height:44px;
	font-size:0.9375rem;
	text-decoration:none;
	color:var(--gray-900);
	border-bottom:1px solid var(--gray-100);
}
.toc a:hover {
	color:var(--accent-600);
}
.lg-body {
	display:grid;
	grid-template-columns:minmax(0, 1fr);
	gap:28px;
	min-width:0;
}
.lg-body h2 {
	margin-bottom:14px;
	font-size:1.375rem;
}
.lg-sec {
	padding:28px;
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:var(--radius-200);
}
.lg-sec p:last-child {
	margin-bottom:0;
}
.lg-sec ul {
	margin:0 0 12px;
	padding-left:20px;
}
.tbl {
	width:100%;
	border-collapse:collapse;
	font-size:0.9375rem;
}
.tbl caption {
	padding-bottom:10px;
	font-weight:600;
	text-align:left;
}
.tbl th, .tbl td {
	padding:12px 14px;
	text-align:left;
	vertical-align:top;
	border-bottom:1px solid var(--gray-100);
}
.tbl th {
	width:34%;
	font-weight:600;
	background:var(--gray-50);
}
.tbl-kv td {
	overflow-wrap:anywhere;
}
.tbl-wide {
	overflow-x:auto;
}
.tbl-wide .tbl {
	min-width:620px;
}
.tbl-wide th {
	width:auto;
}
.grid-2 {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:16px;
}
.cd {
	padding:22px;
	background:var(--gray-50);
	border-left:4px solid var(--accent-500);
	border-radius:var(--radius-100);
}
.cd.green {
	border-left-color:var(--second-500);
	background:var(--second-50);
}
.cd h3 {
	margin-bottom:8px;
	font-size:1.0625rem;
}
.cd p {
	margin:0;
	font-size:0.9375rem;
	color:var(--gray-700);
}
.lg-act {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:16px;
	margin-top:16px;
}

/* soporte */
.sp {
	display:grid;
	grid-template-columns:minmax(0, 6fr) minmax(0, 5fr);
	gap:36px;
	align-items:start;
	padding-top:48px;
	padding-bottom:88px;
}
.sp-form {
	position:sticky;
	top:calc(var(--bar-56) + 20px);
	padding:30px;
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:var(--radius-300);
}
.sp-side {
	display:grid;
	gap:18px;
}
.sp-card {
	padding:24px;
	background:var(--gray-0);
	border-radius:var(--radius-200);
	box-shadow:var(--lift-100);
}
.sp-card h2 {
	margin-bottom:10px;
	font-size:1.125rem;
}
.sp-card address {
	font-style:normal;
	line-height:1.7;
}
.sp-card address a {
	display:inline-flex;
	align-items:center;
	min-height:44px;
}
.sp-card p:last-child {
	margin-bottom:0;
}
.sp-q {
	display:grid;
	gap:10px;
	margin:0;
	padding:0;
	list-style:none;
}
.sp-q li {
	padding:12px 14px;
	font-size:0.9375rem;
	background:var(--gray-50);
	border-left:3px solid var(--second-500);
	border-radius:8px;
}
.nx {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:18px;
	padding-top:48px;
	padding-bottom:96px;
}
.nx-crd {
	display:flex;
	flex-direction:column;
	padding:26px;
	background:var(--gray-0);
	border-radius:var(--radius-300);
	box-shadow:var(--lift-100);
}
.nx-crd span {
	margin-bottom:8px;
	font-family:var(--font-head);
	font-size:2.5rem;
	font-weight:700;
	line-height:1;
	color:transparent;
	-webkit-text-stroke:1.5px var(--accent-500);
}
.nx-crd h2 {
	margin-bottom:8px;
	font-size:1.125rem;
}
.nx-crd p {
	color:var(--gray-700);
}
.nx-crd a {
	display:inline-flex;
	align-items:center;
	min-height:44px;
	margin-top:auto;
	font-weight:600;
}

/* pie */
.ft {
	padding-top:64px;
	padding-bottom:28px;
	font-size:0.9375rem;
	color:var(--gray-100);
	background:var(--gray-900);
}
.ft-cols {
	display:grid;
	grid-template-columns:minmax(0, 6fr) minmax(0, 5fr);
	gap:48px;
}
.ft .logo {
	color:var(--gray-0);
}
.ft p {
	max-width:480px;
	color:var(--gray-300);
}
.ft address {
	margin-top:18px;
	font-style:normal;
	line-height:1.7;
}
.ft address a {
	display:inline-flex;
	align-items:center;
	min-height:44px;
}
.ft address small {
	display:block;
	margin-top:6px;
	font-size:0.8125rem;
	color:var(--gray-300);
}
.ft a {
	color:var(--gray-0);
}
.ft-links {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:24px;
}
.ft-links h2 {
	margin-bottom:10px;
	font-size:0.8125rem;
	letter-spacing:0.16em;
	color:var(--gray-300);
}
.ft-links ul {
	margin:0;
	padding:0;
	list-style:none;
}
.ft-links a {
	display:inline-flex;
	align-items:center;
	min-height:44px;
	text-decoration:none;
}
.ft-links a:hover {
	color:var(--gray-0);
	text-decoration:underline;
}
.ft-base {
	margin-top:40px;
	padding-top:18px;
	font-size:0.8125rem;
	color:var(--gray-300);
	border-top:1px solid var(--gray-700);
}

/* aviso cookies */
.cookie-banner {
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:1000;
	width:min(380px, calc(100% - 32px));
	padding:20px 22px;
	font-size:0.875rem;
	line-height:1.5;
	color:var(--gray-900);
	background:var(--gray-0);
	border:1px solid var(--gray-300);
	border-radius:var(--radius-200);
	box-shadow:var(--lift-100);
}
.cookie-banner p {
	margin:0 0 14px;
	max-width:none;
	color:var(--gray-700);
}
.cookie-banner a {
	color:var(--accent-500);
}
.cookie-banner .ck-act {
	display:flex;
	gap:10px;
}
.cookie-banner .btn {
	flex:1;
	min-height:44px;
	padding:0 14px;
	font-size:0.9375rem;
}
.cookie-banner .btn-ln {
	color:var(--gray-900);
	background:var(--gray-0);
	border-color:var(--gray-500);
}

/* aparición */
.js .rv {
	transition:opacity 0.6s ease, transform 0.6s ease;
}
.js .rv:not(.entered) {
	opacity:0;
	transform:translateY(18px);
}

/* adaptación */
@media (max-width:1100px) {
	#dm-result .dm-list {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
	.pr {
		grid-template-columns:minmax(0, 1fr);
	}
	.stp {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}
@media (max-width:960px) {
	.js .burger {
		display:inline-flex;
	}
	.js .hd-cta {
		display:none;
	}
	.js .nv {
		position:fixed;
		inset:0;
		z-index:1100;
		overflow-y:auto;
		visibility:hidden;
		background:var(--gray-0);
		border:0;
		transform:translateX(100%);
		transition:transform 0.25s ease, visibility 0s linear 0.25s;
	}
	.js .nv.on {
		visibility:visible;
		transform:none;
		transition:transform 0.25s ease;
	}
	.nv-in {
		flex-direction:column;
		align-items:stretch;
		gap:12px;
		padding-top:20px;
		padding-bottom:32px;
	}
	.nv-in ul {
		flex-direction:column;
	}
	.nv-in a {
		display:flex;
		min-height:52px;
		font-size:1rem;
		border-bottom:1px solid var(--gray-100);
		border-radius:0;
	}
	.js .nv-x {
		display:inline-flex;
		align-items:center;
		justify-content:center;
		align-self:flex-end;
		width:48px;
		height:48px;
		padding:0;
		color:var(--gray-900);
		background:var(--gray-50);
		border:1px solid var(--gray-300);
		border-radius:999px;
		cursor:pointer;
	}
	.nv-x svg {
		width:20px;
		height:20px;
	}
	.nv-cta {
		display:block;
	}
	.nv-in .nv-cta a {
		justify-content:center;
		border-radius:999px;
	}
	.hr-card {
		position:static;
		width:auto;
		margin-top:calc(var(--shift-200) + 16px);
	}
	.hr-bar, .dk, .qw, .fq, .sp, .lg, .ft-cols {
		grid-template-columns:minmax(0, 1fr);
	}
	.toc, .sp-form {
		position:static;
	}
	.dm-work {
		grid-template-columns:minmax(0, 1fr);
	}
	.pb-row summary {
		grid-template-columns:56px 1fr 28px;
		gap:6px 14px;
	}
	.pb-row summary .tag {
		grid-column:2;
		grid-row:1;
		justify-self:start;
	}
	.pb-row summary .pb-tt {
		grid-column:2;
		grid-row:2;
	}
	.pb-row summary .src {
		grid-column:2;
		grid-row:3;
	}
	.pb-row summary .pb-ic {
		grid-column:3;
		grid-row:1 / span 2;
	}
	.pb-ctx {
		grid-template-columns:minmax(0, 1fr);
	}
	.nx {
		grid-template-columns:minmax(0, 1fr);
	}
}
@media (max-width:680px) {
	.wrap {
		width:calc(100% - 32px);
	}
	.sec {
		padding-top:64px;
		padding-bottom:64px;
	}
	.sec-dense {
		padding-top:48px;
		padding-bottom:48px;
	}
	.hd-strip p {
		display:none;
	}
	.hd-row {
		min-height:64px;
	}
	.hr {
		padding-top:16px;
	}
	.hr-fig {
		margin-right:10px;
	}
	.hr-fig::before {
		top:10px;
		left:10px;
		right:-10px;
		bottom:-10px;
	}
	.hr-fig img {
		height:200px;
	}
	.hr-cap {
		display:none;
	}
	.hr-card {
		padding:22px 20px;
		border-radius:var(--radius-200);
	}
	.hr-card .lead {
		font-size:1rem;
	}
	.dm-box, .rg, .sp-form, .dm-panel {
		padding:20px;
	}
	.dm-row, .dm-list, #dm-result .dm-list, .pr-plans, .grid-2, .stp, .ft-links {
		grid-template-columns:minmax(0, 1fr);
	}
	.qt:nth-child(2) {
		margin-left:0;
	}
	.ui-web {
		grid-template-columns:minmax(0, 1fr);
	}
	.ui-side {
		display:flex;
		flex-wrap:wrap;
		border-right:0;
		border-bottom:1px solid var(--gray-300);
	}
	.lg-sec {
		padding:20px;
	}
	.cookie-banner {
		right:12px;
		bottom:12px;
		width:calc(100% - 24px);
		padding:14px 16px;
	}
	.cookie-banner p {
		margin-bottom:10px;
	}
}
@media (prefers-reduced-motion:reduce) {
	*, *::before, *::after {
		animation-duration:0.01ms;
		transition-duration:0.01ms;
	}
}
