.aiss-vp { --vp-navy: #003352; --vp-blue: #00476b; --vp-cyan: #00bcd4; --vp-paper: #f0f3f2; --vp-ink: #46485c; --vp-ink2: #5d6072; --vp-line: #d6dee2; --vp-head: #2e3140; --vp-ease: cubic-bezier(.2, .7, .2, 1); font: 400 17px/1.6 'Source Sans Pro', sans-serif; color: var(--vp-ink); background: #fff; }
.aiss-vp *, .aiss-vp *::before, .aiss-vp *::after { box-sizing: border-box; }
.aiss-vp [hidden] { display: none !important; }
.aiss-vp__wrap { width: min(1170px, calc(100% - 48px)); margin: 0 auto; }
.aiss-vp a { text-decoration: none; }

.aiss-vp .aiss-vp__link { display: block; border-radius: 4px; color: inherit; }
.aiss-vp .aiss-vp__link:focus-visible { outline: 2px solid var(--vp-blue); outline-offset: 4px; }
.aiss-vp__cv { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 4px; background: var(--vp-navy); transition: box-shadow .2s; }
.aiss-vp__cv--v { aspect-ratio: 9 / 16; }
.aiss-vp .aiss-vp__cv img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; opacity: 1; }
.aiss-vp__go { position: absolute; left: 50%; top: 50%; z-index: 2; display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 999px; background: #fff; color: var(--vp-blue); font: 700 14px/1 'Montserrat', sans-serif; letter-spacing: .02em; white-space: nowrap; box-shadow: 0 10px 30px rgba(0, 0, 0, .3); opacity: 0; transform: translate(-50%, -40%); transition: opacity .25s var(--vp-ease), transform .25s var(--vp-ease); pointer-events: none; }
.aiss-vp .aiss-vp__link:hover .aiss-vp__go, .aiss-vp .aiss-vp__link:focus-visible .aiss-vp__go { opacity: 1; transform: translate(-50%, -50%); }
.aiss-vp .aiss-vp__link:hover .aiss-vp__cv, .aiss-vp .aiss-vp__link:focus-visible .aiss-vp__cv { box-shadow: 0 0 0 3px var(--vp-cyan); }
.aiss-vp__yt { flex: none; display: block; }

.aiss-vp .aiss-vp__t { display: block; margin: 16px 0 8px; font: 700 19px/1.3 'Montserrat', sans-serif; color: var(--vp-head); text-wrap: balance; }
.aiss-vp .aiss-vp__link:hover .aiss-vp__t { color: var(--vp-blue); }
.aiss-vp .aiss-vp__d { margin: 0; font-size: 16px; line-height: 1.55; color: var(--vp-ink2); text-align: left; }
.aiss-vp .aiss-vp__meta { margin: 16px 0 0; font-size: 15px; line-height: 1.5; color: var(--vp-ink2); text-align: left; }
.aiss-vp .aiss-vp__note { display: flex; gap: 8px; align-items: flex-start; margin: 16px 0 0; padding: 12px 14px; border: 1px solid #cfe7ec; border-radius: 3px; background: #eef8fa; font-size: 15px; line-height: 1.5; color: #234556; text-align: left; }
.aiss-vp .aiss-vp__note svg { flex: none; margin-top: 2px; color: #00606e; }

.aiss-vp__feat { padding: 72px 0 56px; }
.aiss-vp__feat-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: start; }
.aiss-vp__kicker { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 16px; line-height: 1.4; color: var(--vp-ink2); }
.aiss-vp .aiss-vp__feat-t { margin: 14px 0 16px; font: 700 clamp(26px, 2.6vw, 36px)/1.15 'Montserrat', sans-serif; letter-spacing: 0; text-transform: none; color: var(--vp-head); text-wrap: balance; text-align: left; }
.aiss-vp .aiss-vp__feat-d { margin: 0; font-size: 18px; line-height: 1.6; text-align: left; }
.aiss-vp__feat .aiss-vp__meta { margin-top: 16px; }
.aiss-vp .aiss-vp__btn { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; text-decoration: none; }

.aiss-vp__filters { border-top: 1px solid var(--vp-line); border-bottom: 1px solid var(--vp-line); background: #fff; }
.aiss-vp__filters-in { display: flex; align-items: center; gap: 12px; padding: 16px 0; overflow-x: auto; scrollbar-width: thin; }
.aiss-vp__filters-lbl { flex: none; margin-right: 4px; font-size: 16px; color: var(--vp-ink2); }
.aiss-vp .aiss-vp__chip { flex: none; min-height: 44px; margin: 0; padding: 0 16px; border: 1px solid #b7c4cb; border-radius: 999px; background: #fff; color: var(--vp-blue); font: 400 16px/1 'Source Sans Pro', sans-serif; letter-spacing: 0; text-transform: none; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s; }
.aiss-vp .aiss-vp__chip:hover { border-color: var(--vp-blue); background: #fff; color: var(--vp-blue); }
.aiss-vp .aiss-vp__chip[aria-pressed="true"] { background: var(--vp-blue); border-color: var(--vp-blue); color: #fff; }
.aiss-vp .aiss-vp__chip:focus-visible, .aiss-vp .aiss-vp__arrow:focus-visible, .aiss-vp .aiss-vp__rail:focus-visible { outline: 2px solid var(--vp-blue); outline-offset: 3px; box-shadow: 0 0 0 5px rgba(0, 188, 212, .45); }
.aiss-vp__count { flex: none; margin-left: auto; padding-left: 16px; font-size: 15px; color: var(--vp-ink2); white-space: nowrap; }

.aiss-vp__lib { padding: 48px 0 24px; background: var(--vp-paper); }
.aiss-vp__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
.aiss-vp__card { min-width: 0; }
.aiss-vp__archive { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--vp-line); }
.aiss-vp .aiss-vp__h3 { margin: 0 0 20px; font: 700 20px/1.3 'Montserrat', sans-serif; letter-spacing: 0; text-transform: none; color: var(--vp-head); text-align: left; }
.aiss-vp__card--row { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 32px; align-items: center; }
.aiss-vp__card--row .aiss-vp__t { margin-top: 0; }
.aiss-vp .aiss-vp__empty { margin: 0; padding: 24px 0; font-size: 17px; }

.aiss-vp__serie { padding: 56px 0 64px; background: var(--vp-paper); }
.aiss-vp__serie-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.aiss-vp .aiss-vp__h2 { margin: 0; font: 700 clamp(24px, 2.4vw, 32px)/1.2 'Montserrat', sans-serif; letter-spacing: 0; text-transform: none; color: var(--vp-head); text-align: left; }
.aiss-vp .aiss-vp__intro { margin: 10px 0 0; max-width: 46em; font-size: 16px; line-height: 1.6; color: var(--vp-ink2); text-align: left; }
.aiss-vp .aiss-vp__intro a { color: var(--vp-blue); text-decoration: underline; text-underline-offset: 3px; }
.aiss-vp__arrows { display: flex; gap: 10px; flex: none; }
.aiss-vp .aiss-vp__arrow { display: grid; place-items: center; width: 46px; height: 46px; margin: 0; padding: 0; border: 1px solid #b7c4cb; border-radius: 50%; background: #fff; color: var(--vp-blue); cursor: pointer; }
.aiss-vp .aiss-vp__arrow:hover:not(:disabled) { border-color: var(--vp-blue); }
.aiss-vp .aiss-vp__arrow:disabled { opacity: .35; cursor: default; }
.aiss-vp__rail { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(170px, 19vw, 220px); gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 4px 16px; margin: 0 -4px; scrollbar-width: thin; }
.aiss-vp__rail > * { scroll-snap-align: start; }
.aiss-vp__rail .aiss-vp__t { margin-top: 12px; font-size: 16px; }
.aiss-vp__rail .aiss-vp__meta { margin-top: 4px; font-size: 14px; }
.aiss-vp__rail .aiss-vp__go { padding: 10px 14px; gap: 8px; font-size: 13px; }

.aiss-vp__canal { padding: 44px 0; background: var(--vp-blue); color: #fff; }
.aiss-vp__canal .aiss-vp__wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.aiss-vp .aiss-vp__canal p { margin: 0; font: 700 22px/1.3 'Montserrat', sans-serif; color: #fff; text-align: left; }
.aiss-vp__canal .aiss-vp__btn { margin: 0; }
.aiss-vp__canal .aiss-vp__btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

@media (max-width: 1023px) {
	.aiss-vp__feat-grid { grid-template-columns: 1fr; gap: 32px; }
	.aiss-vp__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.aiss-vp__wrap { width: calc(100% - 32px); }
	.aiss-vp__feat { padding: 40px 0 36px; }
	.aiss-vp .aiss-vp__feat-t { font-size: 26px; }
	.aiss-vp .aiss-vp__feat-d { font-size: 17px; }
	.aiss-vp .aiss-vp__btn { width: 100%; justify-content: center; }
	.aiss-vp__grid { grid-template-columns: 1fr; gap: 36px; }
	.aiss-vp__card--row { grid-template-columns: 1fr; gap: 0; }
	.aiss-vp__card--row .aiss-vp__t { margin-top: 16px; }
	.aiss-vp__filters-in { flex-wrap: wrap; gap: 8px; overflow: visible; }
	.aiss-vp__filters-lbl { flex-basis: 100%; margin: 0 0 4px; }
	.aiss-vp__count { display: none; }
	.aiss-vp__arrows { display: none; }
	.aiss-vp__rail { grid-auto-columns: 62%; margin-right: -16px; padding-right: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.aiss-vp *, .aiss-vp *::before, .aiss-vp *::after { transition: none !important; scroll-behavior: auto !important; }
}
