.ccpw-service-nav {
	--ccpw-service-nav-columns: 4;
	--ccpw-service-nav-item-min: 240px;
	--ccpw-service-nav-arrows: inline-grid;
	--ccpw-service-nav-dividers: none;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	max-width: 100%;
	min-width: 0;
	color: var(--ccpw-charcoal, inherit);
	font-family: var(--ccpw-font-sans, inherit);
}
.ccpw-service-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ccpw-service-nav__item {
	position: relative;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	align-items: center;
	min-width: 0;
}
.ccpw-service-nav__link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	gap: .75rem;
	width: 100%;
	min-width: 0;
	color: inherit;
	font: inherit;
	background: transparent;
	border-color: transparent;
	text-align: center;
	text-decoration: none;
	overflow-wrap: anywhere;
	transition: color var(--ccpw-transition-fast), background-color var(--ccpw-transition-fast), border-color var(--ccpw-transition-fast), transform var(--ccpw-transition-fast);
}
.ccpw-service-nav__link:hover { transform: translateY(-2px); }
.ccpw-service-nav__link:focus-visible {
	outline: 2px solid var(--ccpw-gold, currentColor);
	outline-offset: 3px;
}
.ccpw-service-nav__visual {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	color: var(--ccpw-gold, currentColor);
	border: 1px solid var(--ccpw-border, currentColor);
	border-radius: 50%;
	overflow: hidden;
	transition: color var(--ccpw-transition-fast), background-color var(--ccpw-transition-fast), border-color var(--ccpw-transition-fast), transform var(--ccpw-transition-fast);
}
.ccpw-service-nav__link:hover .ccpw-service-nav__visual,
.ccpw-service-nav__link:focus-visible .ccpw-service-nav__visual { transform: translateY(-2px); }
.ccpw-service-nav__visual svg { display: block; width: 1em; height: 1em; fill: currentColor; }
.ccpw-service-nav__visual .ccpw-img { width: 100%; height: 100%; }
.ccpw-service-nav__visual .ccpw-img > .ccpw-img__el { height: 100%; }
.ccpw-service-nav__body { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.ccpw-service-nav__title {
	color: inherit;
	font-family: var(--ccpw-font-serif, inherit);
	font-weight: 600;
	line-height: 1.25;
}
.ccpw-service-nav__description {
	color: var(--ccpw-warm-gray, currentColor);
	font-family: var(--ccpw-font-sans, inherit);
	font-size: .92em;
	line-height: 1.5;
}
.ccpw-service-nav__panel {
	width: 100%;
	min-width: 0;
	padding-block: 1rem;
	color: var(--ccpw-charcoal, inherit);
}
.ccpw-service-nav__panel-description { margin: 0 0 .8rem; line-height: 1.6; }
.ccpw-service-nav__children {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .5rem 1.25rem;
	margin: 0 0 .8rem;
	padding: 0;
	list-style: none;
}
.ccpw-service-nav__children a,
.ccpw-service-nav__panel-link { color: inherit; text-underline-offset: .2em; }
.ccpw-service-nav__children a:focus-visible,
.ccpw-service-nav__panel-link:focus-visible { outline: 2px solid var(--ccpw-gold, currentColor); outline-offset: 2px; }
.ccpw-service-nav__arrow {
	display: none;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	color: inherit;
	background: transparent;
	border: 1px solid var(--ccpw-border, currentColor);
	border-radius: 50%;
	cursor: pointer;
}
.ccpw-service-nav__arrow:focus-visible { outline: 2px solid var(--ccpw-gold, currentColor); outline-offset: 2px; }

/* Los paneles sólo pertenecen a las vistas interactivas. */
.ccpw-service-nav--layout-horizontal .ccpw-service-nav__panel,
.ccpw-service-nav--layout-vertical .ccpw-service-nav__panel,
.ccpw-service-nav--layout-grid .ccpw-service-nav__panel,
.ccpw-service-nav--layout-carousel .ccpw-service-nav__panel { display: none; }
.ccpw-service-nav--layout-horizontal .ccpw-service-nav__item { flex-basis: var(--ccpw-service-nav-item-min); }
.ccpw-service-nav--layout-vertical .ccpw-service-nav__list { flex-direction: column; }
.ccpw-service-nav--layout-vertical .ccpw-service-nav__item { flex: 0 0 auto; align-items: stretch; }
.ccpw-service-nav--layout-vertical .ccpw-service-nav__link { flex-direction: row; align-items: center; text-align: left; }
.ccpw-service-nav--layout-grid .ccpw-service-nav__list {
	display: grid;
	grid-template-columns: repeat(var(--ccpw-service-nav-columns), minmax(0, 1fr));
}
.ccpw-service-nav--layout-carousel .ccpw-service-nav__list {
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	overscroll-behavior-inline: contain;
	touch-action: pan-x;
	-webkit-overflow-scrolling: touch;
}
.ccpw-service-nav--layout-carousel .ccpw-service-nav__item {
	flex: 0 0 min(var(--ccpw-service-nav-item-min), calc(100vw - 3rem));
	scroll-snap-align: start;
}
.ccpw-service-nav--layout-carousel .ccpw-service-nav__arrow { display: var(--ccpw-service-nav-arrows); }
.ccpw-service-nav--layout-tabs .ccpw-service-nav__list {
	display: grid;
	grid-template-columns: repeat(var(--ccpw-service-nav-columns), minmax(0, 1fr));
	align-items: start;
}
.ccpw-service-nav--layout-tabs .ccpw-service-nav__item { display: contents; }
.ccpw-service-nav--layout-tabs .ccpw-service-nav__panel { grid-column: 1 / -1; text-align: left; }
.ccpw-service-nav--layout-tabs .ccpw-service-nav__link[aria-selected="true"] { border-bottom-color: var(--ccpw-gold, currentColor); }
.ccpw-service-nav--layout-accordion .ccpw-service-nav__list { flex-direction: column; }
.ccpw-service-nav--layout-accordion .ccpw-service-nav__item { flex: 0 0 auto; align-items: stretch; }
.ccpw-service-nav--layout-accordion .ccpw-service-nav__link { flex-direction: row; text-align: left; }
.ccpw-service-nav--layout-accordion .ccpw-service-nav__body { flex: 1; }
.ccpw-service-nav--layout-accordion .ccpw-service-nav__link::after { content: "+"; margin-inline-start: auto; font-size: 1.4em; }
.ccpw-service-nav--layout-accordion .ccpw-service-nav__link[aria-expanded="true"]::after { content: "−"; }
.ccpw-service-nav__item:not(:last-child)::after {
	content: "";
	display: var(--ccpw-service-nav-dividers);
	position: absolute;
	inset-block: 10%;
	inset-inline-end: 0;
	width: 1px;
	background: var(--ccpw-border, currentColor);
}
.ccpw-service-nav--visual-left .ccpw-service-nav__link { flex-direction: row; text-align: left; }
.ccpw-service-nav--visual-left .ccpw-service-nav__body { align-items: flex-start; }
.ccpw-service-nav--visual-right .ccpw-service-nav__link { flex-direction: row-reverse; text-align: right; }
.ccpw-service-nav--visual-right .ccpw-service-nav__body { align-items: flex-end; }
.ccpw-service-nav--align-left .ccpw-service-nav__item,
.ccpw-service-nav--align-left .ccpw-service-nav__link { align-items: flex-start; text-align: left; }
.ccpw-service-nav--align-center .ccpw-service-nav__item,
.ccpw-service-nav--align-center .ccpw-service-nav__link { align-items: center; text-align: center; }
.ccpw-service-nav--align-right .ccpw-service-nav__item,
.ccpw-service-nav--align-right .ccpw-service-nav__link { align-items: flex-end; text-align: right; }

@media (max-width: 1024px) {
	.ccpw-tablet-service-nav--layout-horizontal .ccpw-service-nav__list { display: flex; flex-direction: row; flex-wrap: wrap; overflow: visible; }
	.ccpw-tablet-service-nav--layout-horizontal .ccpw-service-nav__item { display: flex; flex: 1 1 var(--ccpw-service-nav-item-min); }
	.ccpw-tablet-service-nav--layout-vertical .ccpw-service-nav__list,
	.ccpw-tablet-service-nav--layout-accordion .ccpw-service-nav__list { display: flex; flex-direction: column; overflow: visible; }
	.ccpw-tablet-service-nav--layout-vertical .ccpw-service-nav__item,
	.ccpw-tablet-service-nav--layout-accordion .ccpw-service-nav__item { display: flex; flex: 0 0 auto; align-items: stretch; }
	.ccpw-tablet-service-nav--layout-vertical .ccpw-service-nav__link,
	.ccpw-tablet-service-nav--layout-accordion .ccpw-service-nav__link { flex-direction: row; text-align: left; }
	.ccpw-tablet-service-nav--layout-accordion .ccpw-service-nav__body { flex: 1; }
	.ccpw-tablet-service-nav--layout-accordion .ccpw-service-nav__link::after { content: "+"; margin-inline-start: auto; font-size: 1.4em; }
	.ccpw-tablet-service-nav--layout-accordion .ccpw-service-nav__link[aria-expanded="true"]::after { content: "−"; }
	.ccpw-tablet-service-nav--layout-grid .ccpw-service-nav__list,
	.ccpw-tablet-service-nav--layout-tabs .ccpw-service-nav__list { display: grid; grid-template-columns: repeat(var(--ccpw-service-nav-columns), minmax(0, 1fr)); overflow: visible; }
	.ccpw-tablet-service-nav--layout-grid .ccpw-service-nav__item { display: flex; min-width: 0; }
	.ccpw-tablet-service-nav--layout-tabs .ccpw-service-nav__item { display: contents; }
	.ccpw-tablet-service-nav--layout-tabs .ccpw-service-nav__panel { grid-column: 1 / -1; text-align: left; }
	.ccpw-tablet-service-nav--layout-carousel .ccpw-service-nav__list { display: flex; flex-direction: row; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; touch-action: pan-x; }
	.ccpw-tablet-service-nav--layout-carousel .ccpw-service-nav__item { display: flex; flex: 0 0 min(var(--ccpw-service-nav-item-min), calc(100vw - 3rem)); }
	.ccpw-tablet-service-nav--layout-carousel .ccpw-service-nav__arrow { display: var(--ccpw-service-nav-arrows); }
	.ccpw-tablet-service-nav--layout-horizontal .ccpw-service-nav__arrow,
	.ccpw-tablet-service-nav--layout-vertical .ccpw-service-nav__arrow,
	.ccpw-tablet-service-nav--layout-grid .ccpw-service-nav__arrow,
	.ccpw-tablet-service-nav--layout-tabs .ccpw-service-nav__arrow,
	.ccpw-tablet-service-nav--layout-accordion .ccpw-service-nav__arrow { display: none; }
	.ccpw-tablet-service-nav--layout-horizontal .ccpw-service-nav__panel,
	.ccpw-tablet-service-nav--layout-vertical .ccpw-service-nav__panel,
	.ccpw-tablet-service-nav--layout-grid .ccpw-service-nav__panel,
	.ccpw-tablet-service-nav--layout-carousel .ccpw-service-nav__panel { display: none; }
	.ccpw-tablet-service-nav--layout-tabs .ccpw-service-nav__panel:not([hidden]),
	.ccpw-tablet-service-nav--layout-accordion .ccpw-service-nav__panel:not([hidden]) { display: block; }
	.ccpw-tablet-service-nav--visual-left .ccpw-service-nav__link { flex-direction: row; text-align: left; }
	.ccpw-tablet-service-nav--visual-right .ccpw-service-nav__link { flex-direction: row-reverse; text-align: right; }
	.ccpw-tablet-service-nav--visual-top .ccpw-service-nav__link { flex-direction: column; text-align: center; }
	.ccpw-tablet-service-nav--align-left .ccpw-service-nav__item,
	.ccpw-tablet-service-nav--align-left .ccpw-service-nav__link { align-items: flex-start; text-align: left; }
	.ccpw-tablet-service-nav--align-center .ccpw-service-nav__item,
	.ccpw-tablet-service-nav--align-center .ccpw-service-nav__link { align-items: center; text-align: center; }
	.ccpw-tablet-service-nav--align-right .ccpw-service-nav__item,
	.ccpw-tablet-service-nav--align-right .ccpw-service-nav__link { align-items: flex-end; text-align: right; }
}
@media (max-width: 767px) {
	.ccpw-service-nav { grid-template-columns: auto minmax(0, 1fr) auto; }
	.ccpw-mobile-service-nav--layout-horizontal .ccpw-service-nav__list { display: flex; flex-direction: row; flex-wrap: wrap; overflow: visible; }
	.ccpw-mobile-service-nav--layout-horizontal .ccpw-service-nav__item { display: flex; flex: 1 1 var(--ccpw-service-nav-item-min); }
	.ccpw-mobile-service-nav--layout-vertical .ccpw-service-nav__list,
	.ccpw-mobile-service-nav--layout-accordion .ccpw-service-nav__list { display: flex; flex-direction: column; overflow: visible; }
	.ccpw-mobile-service-nav--layout-vertical .ccpw-service-nav__item,
	.ccpw-mobile-service-nav--layout-accordion .ccpw-service-nav__item { display: flex; flex: 0 0 auto; align-items: stretch; }
	.ccpw-mobile-service-nav--layout-vertical .ccpw-service-nav__link,
	.ccpw-mobile-service-nav--layout-accordion .ccpw-service-nav__link { flex-direction: row; text-align: left; }
	.ccpw-mobile-service-nav--layout-accordion .ccpw-service-nav__body { flex: 1; }
	.ccpw-mobile-service-nav--layout-accordion .ccpw-service-nav__link::after { content: "+"; margin-inline-start: auto; font-size: 1.4em; }
	.ccpw-mobile-service-nav--layout-accordion .ccpw-service-nav__link[aria-expanded="true"]::after { content: "−"; }
	.ccpw-mobile-service-nav--layout-grid .ccpw-service-nav__list,
	.ccpw-mobile-service-nav--layout-tabs .ccpw-service-nav__list { display: grid; grid-template-columns: repeat(var(--ccpw-service-nav-columns), minmax(0, 1fr)); overflow: visible; }
	.ccpw-mobile-service-nav--layout-grid .ccpw-service-nav__item { display: flex; min-width: 0; }
	.ccpw-mobile-service-nav--layout-tabs .ccpw-service-nav__item { display: contents; }
	.ccpw-mobile-service-nav--layout-tabs .ccpw-service-nav__panel { grid-column: 1 / -1; text-align: left; }
	.ccpw-mobile-service-nav--layout-carousel .ccpw-service-nav__list { display: flex; flex-direction: row; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; touch-action: pan-x; }
	.ccpw-mobile-service-nav--layout-carousel .ccpw-service-nav__item { display: flex; flex: 0 0 min(var(--ccpw-service-nav-item-min), calc(100vw - 3rem)); }
	.ccpw-mobile-service-nav--layout-carousel .ccpw-service-nav__arrow { display: var(--ccpw-service-nav-arrows); }
	.ccpw-mobile-service-nav--layout-horizontal .ccpw-service-nav__arrow,
	.ccpw-mobile-service-nav--layout-vertical .ccpw-service-nav__arrow,
	.ccpw-mobile-service-nav--layout-grid .ccpw-service-nav__arrow,
	.ccpw-mobile-service-nav--layout-tabs .ccpw-service-nav__arrow,
	.ccpw-mobile-service-nav--layout-accordion .ccpw-service-nav__arrow { display: none; }
	.ccpw-mobile-service-nav--layout-horizontal .ccpw-service-nav__panel,
	.ccpw-mobile-service-nav--layout-vertical .ccpw-service-nav__panel,
	.ccpw-mobile-service-nav--layout-grid .ccpw-service-nav__panel,
	.ccpw-mobile-service-nav--layout-carousel .ccpw-service-nav__panel { display: none; }
	.ccpw-mobile-service-nav--layout-tabs .ccpw-service-nav__panel:not([hidden]),
	.ccpw-mobile-service-nav--layout-accordion .ccpw-service-nav__panel:not([hidden]) { display: block; }
	.ccpw-mobile-service-nav--visual-left .ccpw-service-nav__link { flex-direction: row; text-align: left; }
	.ccpw-mobile-service-nav--visual-right .ccpw-service-nav__link { flex-direction: row-reverse; text-align: right; }
	.ccpw-mobile-service-nav--visual-top .ccpw-service-nav__link { flex-direction: column; text-align: center; }
	.ccpw-mobile-service-nav--align-left .ccpw-service-nav__item,
	.ccpw-mobile-service-nav--align-left .ccpw-service-nav__link { align-items: flex-start; text-align: left; }
	.ccpw-mobile-service-nav--align-center .ccpw-service-nav__item,
	.ccpw-mobile-service-nav--align-center .ccpw-service-nav__link { align-items: center; text-align: center; }
	.ccpw-mobile-service-nav--align-right .ccpw-service-nav__item,
	.ccpw-mobile-service-nav--align-right .ccpw-service-nav__link { align-items: flex-end; text-align: right; }
	.ccpw-service-nav__children { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.ccpw-service-nav__link,
	.ccpw-service-nav__visual { transition: none; }
	.ccpw-service-nav__list { scroll-behavior: auto; }
}
