/* ==========================================================================
   Bloki: besedilo, mediji, postavitev.
   ========================================================================== */

/* ---------- Besedilo ---------- */

.prose--lead { font-size: clamp(1.12rem, 1.6vw, 1.32rem); line-height: 1.6; color: var(--s-heading); }
.prose--center { margin-inline: auto; text-align: center; }
.prose--center ul, .prose--center ol { text-align: left; display: inline-block; }
.prose--cols { max-width: none; columns: 2 320px; column-gap: clamp(28px, 4vw, 56px); }
.prose--cols > * { break-inside: avoid-column; }
.more-row { display: flex; justify-content: center; margin-top: clamp(24px, 3vw, 40px); }
.more-row .btn .icon { width: 1.1em; height: 1.1em; }
.is-more-hidden { display: none !important; }

/* Naslov */
.heading-blk { max-width: 880px; }
.heading-blk--center { margin-inline: auto; text-align: center; }
.heading-blk__title { margin: 0; }
.heading-blk--sm .heading-blk__title { font-size: clamp(1.4rem, 2.2vw, 1.8rem); }
.heading-blk--md .heading-blk__title { font-size: clamp(1.9rem, 3.6vw, 3rem); }
.heading-blk--lg .heading-blk__title { font-size: clamp(2.3rem, 5vw, 4rem); letter-spacing: -.03em; }
.heading-blk--xl { max-width: 1100px; }
.heading-blk--xl .heading-blk__title { font-size: clamp(2.8rem, 8vw, 6.4rem); line-height: 1; letter-spacing: -.04em; }
.heading-blk__sub { margin: 1rem 0 0; font-size: clamp(1.05rem, 1.5vw, 1.25rem); color: var(--s-soft); }
.heading-blk--center .heading-blk__sub { margin-inline: auto; max-width: 720px; }
.heading-blk--rule .heading-blk__title::after { content: ""; display: block; width: 64px; height: 4px; margin-top: .45em; border-radius: 4px; background: var(--s-accent); }
.heading-blk--rule.heading-blk--center .heading-blk__title::after { margin-inline: auto; }
.heading-blk__link { margin-top: 18px; }

/* Besedilo s sliko */
.media-text {
	display: grid;
	gap: clamp(28px, 5vw, 80px);
	align-items: center;
}
.media-text--start { align-items: start; }
@media (min-width: 860px) {
	.media-text { grid-template-columns: 1fr 1fr; }
	.media-text--left .media-text__media { order: -1; }
	.media-text--no-image { grid-template-columns: 1fr; }
}
.media-text__title { margin: 0 0 .6em; font-size: clamp(1.8rem, 3.2vw, 2.6rem); }
.media-text__text .btn-row { margin-top: 24px; }
.media-frame { position: relative; }
.media-frame img { width: 100%; height: 100%; object-fit: cover; }
.media-frame--rounded img,
.media-frame--shadow img,
.media-frame--offset img { border-radius: var(--radius); }
.media-frame--shadow img { box-shadow: var(--shadow-lg); }
.media-frame--frame { padding: 10px; border: 1px solid var(--s-border); border-radius: calc(var(--radius) + 6px); background: var(--s-card); }
.media-frame--frame img { border-radius: var(--radius); }
.media-frame--offset { margin: 0 18px 18px 0; }
.media-frame--offset::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; z-index: -1; border-radius: var(--radius); background: var(--s-accent); opacity: .9; }
.media-text--left .media-frame--offset { margin: 0 0 18px 18px; }
.media-text--left .media-frame--offset::before { inset: 18px 18px -18px -18px; }
.media-frame, .media-text__media { isolation: isolate; }

/* Razmerja (slike, galerije, vdelave) */
.ratio--1-1 img, .ratio--1-1 .lightbox-link { aspect-ratio: 1; }
.ratio--4-3 img { aspect-ratio: 4 / 3; }
.ratio--3-4 img { aspect-ratio: 3 / 4; }
.ratio--3-2 img { aspect-ratio: 3 / 2; }
.ratio--16-9 img { aspect-ratio: 16 / 9; }
.ratio--21-9 img { aspect-ratio: 21 / 9; }
.ratio--1-1 img, .ratio--4-3 img, .ratio--3-4 img, .ratio--3-2 img, .ratio--16-9 img, .ratio--21-9 img { width: 100%; object-fit: cover; }

/* Harmonika */
.accordion-title { margin-bottom: 18px; }
.accordion--cards { display: flex; flex-direction: column; gap: 10px; border: 0; }
.accordion--cards .accordion__item { border: 1px solid var(--s-border); border-radius: var(--radius-sm); background: var(--s-card); padding-inline: 22px; }
.accordion--cards .accordion__item[open] { box-shadow: var(--shadow-sm); }

/* Zavihki */
.tabs-blk .tabs__tab { flex-direction: row; align-items: center; }

/* Citat */
.quote { margin: 0; position: relative; }
.quote__mark { display: block; color: var(--s-accent); }
.quote__mark .icon { width: 44px; height: 44px; }
.quote__text { margin: 10px 0 0; padding: 0; border: 0; }
.quote__text p { margin: 0; color: var(--s-heading); font-size: clamp(1.3rem, 2.4vw, 1.9rem); font-weight: 600; line-height: 1.35; letter-spacing: -.015em; text-wrap: pretty; }
.quote__author { display: flex; align-items: center; gap: 14px; margin-top: 24px; }
.quote__author strong { display: block; color: var(--s-heading); }
.quote__author strong a { color: inherit; text-decoration: none; }
.quote__author small { display: block; color: var(--s-soft); font-size: .9rem; }
.quote__avatar { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.quote--large { max-width: 900px; margin-inline: auto; text-align: center; }
.quote--large .quote__mark .icon { margin-inline: auto; }
.quote--large .quote__author { justify-content: center; text-align: left; }
.quote--card { padding: clamp(28px, 4vw, 48px); border-radius: var(--radius); background: var(--s-card); border: 1px solid var(--s-border); }
.quote--card .quote__text p { font-size: clamp(1.15rem, 1.8vw, 1.45rem); }
.quote--image { display: grid; gap: clamp(24px, 4vw, 56px); align-items: center; }
@media (min-width: 760px) { .quote--image { grid-template-columns: minmax(200px, 2fr) 3fr; } }
.quote__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); }

/* Mnenja */
.testimonial { position: relative; isolation: isolate; overflow: hidden; padding: 30px 28px 26px; gap: 16px; height: 100%; border-top: 4px solid var(--c-accent); transition: transform .25s var(--ease), box-shadow .25s; }
.testimonial:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.testimonial::after { content: "\201D"; position: absolute; z-index: -1; right: 14px; top: -34px; font: 700 180px/1 Georgia, serif; color: var(--c-accent); opacity: .1; pointer-events: none; }
.testimonial__stars { display: inline-flex; gap: 2px; color: #f5b301; }
.testimonial__stars .icon { width: 18px; height: 18px; fill: currentColor; stroke: none; }
.testimonial__avatar--initials { display: grid; place-items: center; background: color-mix(in srgb, var(--c-accent) 16%, #fff); color: var(--c-dark); font-weight: 700; font-size: .95rem; }
.testimonial--featured { --s-heading: #fff; --s-soft: rgb(255 255 255 / 78%); border-top-color: transparent; background: linear-gradient(140deg, var(--c-primary), color-mix(in srgb, var(--c-primary) 55%, var(--c-dark))); color: #fff; }
.testimonial--featured .testimonial__mark, .testimonial--featured::after { color: #fff; }
.testimonial--featured .testimonial__avatar--initials { background: rgb(255 255 255 / 22%); color: #fff; }
.testimonial--featured .testimonial__text p { font-size: 1.15rem; }
.testimonial__mark { color: var(--s-accent); }
.testimonial__mark .icon { width: 32px; height: 32px; }
.testimonial__text { margin: 0; flex: 1; }
.testimonial__text p { margin: 0; color: var(--s-heading); font-size: 1.05rem; line-height: 1.6; }
.testimonial__author { display: flex; align-items: center; gap: 12px; }
.testimonial__author strong { display: block; color: var(--s-heading); font-size: .95rem; }
.testimonial__author small { display: block; color: var(--s-soft); font-size: .85rem; }
.testimonial__avatar { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }

/* Poudarki */
.feature__icon {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 52px; height: 52px;
	border-radius: 14px;
	background: color-mix(in srgb, var(--s-accent) 14%, transparent);
	color: var(--s-accent);
}
.feature__icon .icon { width: 26px; height: 26px; }
.feature__title { font-size: 1.15rem; }
.feature__text { margin: 6px 0 0; color: var(--s-soft); font-size: .96rem; line-height: 1.6; }
.features--cards .feature { padding: 28px 26px; gap: 18px; height: 100%; }
.features--list .feature,
.features--numbered .feature,
.features--checklist .feature { display: flex; gap: 18px; align-items: flex-start; }
.features--checklist .feature__icon--check { width: 30px; height: 30px; border-radius: 50%; background: var(--s-accent); color: var(--s-bg); }
.features--checklist .feature__icon--check .icon { width: 17px; height: 17px; stroke-width: 2.4; }
.features--checklist { --gap: 18px 32px; }
.feature__num { flex: none; min-width: 2.2em; color: var(--s-accent); font-size: 2rem; font-weight: 750; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.features--numbered .feature { padding-top: 22px; border-top: 1px solid var(--s-border); }
.features--center .feature { text-align: center; align-items: center; }
.features--center.features--list .feature,
.features--center.features--numbered .feature { flex-direction: column; }

/* Kartice */
.info-card__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--s-card-2); }
.info-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.card:hover .info-card__media img { transform: scale(1.04); }
.info-card__body { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px 26px; flex: 1; }
.info-card__body .eyebrow { margin: 0; }
.info-card__text { margin: 0; color: var(--s-soft); font-size: .96rem; }
.info-card__more { margin-top: auto; padding-top: 8px; }
.info-card--icon { padding: 28px 24px 0; }
.info-card--icon .info-card__body { padding: 18px 0 26px; }
.info-card--horizontal { flex-direction: row; }
.info-card--horizontal .info-card__media { flex: none; width: 40%; aspect-ratio: auto; min-height: 200px; }
@media (max-width: 560px) { .info-card--horizontal { flex-direction: column; } .info-card--horizontal .info-card__media { width: 100%; aspect-ratio: 16 / 10; } }
.info-card--overlay { min-height: 340px; justify-content: flex-end; }
.info-card--overlay .info-card__media { position: absolute; inset: 0; aspect-ratio: auto; }
.info-card--overlay .info-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(8 12 20 / 5%) 25%, rgb(8 12 20 / 86%)); }
.info-card--overlay .info-card__body { position: relative; z-index: 1; flex: none; --s-heading: #fff; --s-soft: rgb(255 255 255 / 82%); --s-accent: #fff; }

/* Časovnica */
.timeline { margin: 0; padding: 0; list-style: none; }
.timeline--vertical { position: relative; padding-left: 40px; }
.timeline--vertical::before { content: ""; position: absolute; left: 13px; top: 8px; bottom: 8px; width: 2px; background: var(--s-border); }
.timeline--vertical .timeline__item { position: relative; padding-bottom: 32px; }
.timeline--vertical .timeline__item:last-child { padding-bottom: 0; }
.timeline__dot {
	position: absolute;
	left: -40px; top: 0;
	display: grid;
	place-items: center;
	width: 28px; height: 28px;
	border-radius: 50%;
	background: var(--s-bg);
	border: 2px solid var(--s-accent);
	color: var(--s-accent);
}
.timeline__dot:empty::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--s-accent); }
.timeline__dot .icon { width: 15px; height: 15px; }
.timeline__time { margin: 0 0 4px; color: var(--s-accent); font-size: .82rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.timeline__title { font-size: 1.15rem; }
.timeline__text { margin: 6px 0 0; color: var(--s-soft); }
.timeline--horizontal { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 1fr); gap: var(--gap); overflow-x: auto; padding-top: 4px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.timeline--horizontal .timeline__item { position: relative; padding-top: 48px; scroll-snap-align: start; }
.timeline--horizontal .timeline__item::before { content: ""; position: absolute; top: 13px; left: 0; right: calc(var(--gap) * -1); height: 2px; background: var(--s-border); }
.timeline--horizontal .timeline__item:last-child::before { right: 0; }
.timeline--horizontal .timeline__dot { left: 0; top: 0; }

/* Kontakt */
.contact-card { flex-direction: row; gap: 18px; padding: 26px 24px; align-items: flex-start; }
.contact-card__label { margin: 0 0 2px; color: var(--s-soft); font-size: .8rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.contact-card__value { margin: 0 0 6px; color: var(--s-heading); font-size: 1.08rem; font-weight: 600; word-break: break-word; }
.contact-card__value a { color: inherit; text-decoration: none; }
.contact-card__value a:hover { color: var(--s-accent); }
.contact-person { flex-direction: row; gap: 18px; padding: 22px; align-items: center; }
.contact-person__img { flex: none; width: 84px; height: 84px; border-radius: 50%; object-fit: cover; }
.contact-person .contact-list { margin-top: 10px; font-size: .93rem; }
.contact-person .contact-list li { margin-bottom: 6px; }
.contact-person .contact-list a { color: var(--s-heading); word-break: break-all; }

/* ---------- Mediji ---------- */

.figure-blk { margin: 0; }
.figure-blk__media img { width: 100%; border-radius: var(--radius); }
.figure-blk.is-bleed { width: 100vw; margin-inline: calc(50% - 50vw); }
.figure-blk.is-bleed .figure-blk__media img { border-radius: 0; }
.figure-blk.is-bleed .figure-blk__caption { padding-inline: var(--gutter); }
.figure-blk__caption, .gallery__caption { margin-top: 10px; color: var(--s-soft); font-size: .9rem; }

.gallery { margin: 0; }
.gallery__item { margin: 0; overflow: hidden; border-radius: var(--radius-sm); }
.gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.gallery__item:hover img { transform: scale(1.04); }
.gallery__item figcaption { padding: 8px 2px 0; font-size: .85rem; color: var(--s-soft); }
.gallery--masonry .gallery__item img, .gallery--justified .gallery__item img { height: auto; aspect-ratio: auto !important; }
.gallery--collage .gallery__wrap { display: grid; gap: 10px; grid-template-columns: repeat(4, 1fr); grid-auto-rows: clamp(120px, 16vw, 220px); }
.gallery--collage .gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
.gallery--collage .gallery__item:nth-child(6n + 4) { grid-column: span 2; }
.gallery--collage .gallery__item img, .gallery--collage .lightbox-link { height: 100%; aspect-ratio: auto !important; }
@media (max-width: 640px) { .gallery--collage .gallery__wrap { grid-template-columns: repeat(2, 1fr); } }
.gallery--justified .gallery__wrap { display: flex; flex-wrap: wrap; gap: 10px; }
.gallery--justified .gallery__item { flex: var(--ar, 1.5) 1 calc(var(--ar, 1.5) * 180px); height: clamp(160px, 18vw, 240px); }
.gallery--justified .gallery__item img, .gallery--justified .lightbox-link { height: 100%; width: 100%; object-fit: cover; }
.gallery--justified .gallery__wrap::after { content: ""; flex: 10 1 0; }
.gallery .carousel__slide .gallery__item { width: 100%; }

.video-blk { margin: 0; }
.video-blk--narrow { max-width: 760px; margin-inline: auto; }
.video-blk--wide .video-embed { border-radius: var(--radius); box-shadow: var(--shadow-lg); }

.embed-blk { position: relative; }
.embed-blk iframe { width: 100%; border: 0; border-radius: var(--radius-sm); }
.embed-blk.ratio--auto iframe { min-height: var(--embed-h, 360px); }
.embed-blk.ratio--16-9, .embed-blk.ratio--4-3, .embed-blk.ratio--1-1 { overflow: hidden; border-radius: var(--radius-sm); }
.embed-blk.ratio--16-9 { aspect-ratio: 16 / 9; }
.embed-blk.ratio--4-3 { aspect-ratio: 4 / 3; }
.embed-blk.ratio--1-1 { aspect-ratio: 1; }
.embed-blk:not(.ratio--auto) > iframe { position: absolute; inset: 0; height: 100%; }

/* Logotipi */
.logos--sm .logo-item { min-height: 84px; }
.logos--sm .logo-item__img { max-height: 46px; }
.logos--lg .logo-item { min-height: 150px; }
.logos--lg .logo-item__img { max-height: 100px; }
.logos--gray .logo-item__img { filter: grayscale(1); opacity: .7; transition: filter .3s, opacity .3s; }
.logos--gray .logo-item:hover .logo-item__img { filter: none; opacity: 1; }
.logos--plain .logo-item { background: transparent; box-shadow: none; }
.logos .marquee .logo-item { width: clamp(150px, 16vw, 210px); }

/* Zemljevid */
.map-blk { position: relative; height: var(--map-h, 440px); border-radius: var(--radius); overflow: hidden; background: var(--s-card-2); }
.map-blk__frame, .map-blk__placeholder iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.map-blk__placeholder {
	position: absolute; inset: 0;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
	width: 100%; padding: 24px;
	border: 0;
	background:
		radial-gradient(circle at 30% 40%, color-mix(in srgb, var(--s-accent) 12%, transparent), transparent 60%),
		repeating-linear-gradient(0deg, transparent 0 39px, var(--s-border) 39px 40px),
		repeating-linear-gradient(90deg, transparent 0 39px, var(--s-border) 39px 40px),
		var(--s-card-2);
	color: var(--s-heading);
	cursor: pointer;
	text-align: center;
}
.map-blk__placeholder small { color: var(--s-soft); font-size: .82rem; }
.map-blk__pin { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--c-primary); color: #fff; box-shadow: 0 0 0 10px color-mix(in srgb, var(--c-primary) 20%, transparent); }
.map-blk__pin .icon { width: 30px; height: 30px; }
.map-blk__card { position: absolute; left: 20px; bottom: 20px; z-index: 2; max-width: 340px; padding: 20px 22px; background: #fff; color: var(--c-text); --s-heading: var(--c-dark); --s-accent: var(--c-primary); box-shadow: var(--shadow-lg); }
.map-blk__card .eyebrow { margin-bottom: 6px; }
.map-blk__address { margin: 0 0 10px; color: var(--c-dark); font-weight: 600; }
@media (max-width: 560px) { .map-blk__card { left: 10px; right: 10px; bottom: 10px; max-width: none; } }

/* Datoteke */
.file-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.file-item { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border: 1px solid var(--s-border); border-radius: var(--radius-sm); background: var(--s-card); }
.file-item__icon { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 10px; background: color-mix(in srgb, var(--s-accent) 14%, transparent); color: var(--s-accent); }
.file-item__text { flex: 1; min-width: 0; }
.file-item__text strong { display: block; color: var(--s-heading); overflow-wrap: anywhere; }
.file-item__text small { display: block; color: var(--s-soft); font-size: .85rem; }
.file-item .btn .icon { width: 16px; height: 16px; }
@media (max-width: 560px) { .file-item { flex-wrap: wrap; } .file-item .btn { width: 100%; } }

/* ---------- Postavitev ---------- */

.btn-row--center { justify-content: center; }
.blk--gumbi .btn-row { margin-top: 0; }

.divider { margin: 0; border: 0; }
.divider--sm { margin-block: 12px; }
.divider--md { margin-block: 28px; }
.divider--lg { margin-block: 56px; }
.divider--line { border-top: 1px solid var(--s-border); }
.divider--dots { height: 6px; background: radial-gradient(circle, var(--s-border) 2px, transparent 2.5px) center / 18px 6px repeat-x; }
.divider--accent { width: 64px; height: 4px; border-radius: 4px; background: var(--s-accent); }
.spacer--sm { height: 16px; }
.spacer--md { height: clamp(28px, 4vw, 48px); }
.spacer--lg { height: clamp(48px, 7vw, 96px); }
.spacer--xl { height: clamp(72px, 11vw, 160px); }

.code-blk--narrow { max-width: var(--container-narrow); margin-inline: auto; }

.form-blk__title { margin-bottom: .4em; }
.form-blk__text { color: var(--s-soft); }
.form-blk--card { padding: clamp(24px, 4vw, 44px); border-radius: var(--radius); background: var(--s-card); border: 1px solid var(--s-border); box-shadow: var(--shadow-sm); }
.surface.is-dark .form-blk--card { background: #fff; color: var(--c-text); --s-heading: var(--c-dark); --s-soft: color-mix(in srgb, var(--c-text) 66%, #fff); --s-border: color-mix(in srgb, var(--c-dark) 13%, transparent); }
.form-blk .frm_forms .frm_submit button,
.form-blk .frm_forms input[type="submit"] { min-height: 48px; padding: .7em 1.4em; border: 0; border-radius: var(--btn-radius); background: var(--c-primary); color: var(--c-on-primary); font-weight: 600; cursor: pointer; }

/* Kazalo primerov (stran »Primeri programa«) */
.examples-nav { columns: 3 220px; column-gap: 28px; margin: 24px 0 0; padding: 0; list-style: none; counter-reset: ex; }
.prose .examples-nav li { margin: 0 0 8px; padding-left: 0; break-inside: avoid; counter-increment: ex; }
.examples-nav li::before { content: counter(ex) "."; display: inline-block; min-width: 26px; color: var(--s-accent); font-weight: 700; }
.examples-nav a { color: var(--s-heading); font-weight: 600; text-decoration: none; }
.examples-nav a:hover { color: var(--s-accent); text-decoration: underline; }

/* ---------- Intervju ---------- */
.interview { display: flex; flex-direction: column; gap: 26px; max-width: 760px; }
.interview--fold { gap: 0; }
.interview__q { display: flex; gap: 10px; margin: 0 0 10px; color: var(--s-heading); font-size: 1.12rem; font-weight: 700; line-height: 1.4; }
.interview--fold .interview__q { margin: 0; padding: 18px 0; justify-content: space-between; cursor: pointer; list-style: none; }
.interview--fold .interview__q::-webkit-details-marker { display: none; }
.interview__q-text { flex: 1; }
.interview__who { flex: none; color: var(--s-accent); font-weight: 800; }
.interview__who--a { margin-right: 6px; float: left; }
.interview__a { color: var(--s-text); }
.interview--fold .interview__a { padding-bottom: 20px; }

/* ---------- Na kratko ---------- */
.key-points { max-width: 760px; padding: clamp(18px, 2.5vw, 26px) clamp(18px, 2.5vw, 28px); border: 1px solid var(--s-border); border-radius: var(--radius); background: var(--s-card); }
.key-points--accent { border: 0; background: color-mix(in srgb, var(--c-primary) 8%, var(--s-bg)); }
.key-points--line { border: 0; border-left: 4px solid var(--s-accent); border-radius: 0; background: none; padding-block: 4px; }
.key-points__title { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; color: var(--s-heading); font-size: .82rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.key-points__title .icon { color: var(--s-accent); }
.key-points__list { margin: 0; padding: 0; list-style: none; counter-reset: kp; display: flex; flex-direction: column; gap: 10px; }
.key-points__list li { position: relative; padding-left: 38px; counter-increment: kp; color: var(--s-text); line-height: 1.5; }
.key-points__list li::before { content: counter(kp); position: absolute; left: 0; top: -1px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--c-primary); color: var(--c-on-primary); font-size: .8rem; font-weight: 800; }

/* ---------- Citati (rotator) ---------- */
.qrot { display: grid; gap: clamp(20px, 4vw, 48px); align-items: center; margin: 0; }
.qrot.quote--split { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) { .qrot.quote--split { grid-template-columns: minmax(200px, 2fr) 3fr; } }
.qrot__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); }
.qrot__media--initials { display: grid; place-items: center; aspect-ratio: 4 / 5; max-height: 380px; border-radius: var(--radius); background: radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--c-accent) 70%, transparent), transparent 60%), linear-gradient(140deg, var(--c-primary), var(--c-dark)); color: #fff; }
.qrot__media--initials span { font-size: clamp(3rem, 8vw, 6rem); font-weight: 700; letter-spacing: .04em; opacity: .92; }
@media (max-width: 759px) { .qrot__media--initials { aspect-ratio: 16 / 7; } }
.qrot__main { display: flex; flex-direction: column; gap: 16px; }
.qrot.quote--large .qrot__main { align-items: center; text-align: center; max-width: 860px; margin-inline: auto; }
.qrot__text { margin: 0; color: var(--s-heading); font-size: clamp(1.25rem, 2.4vw, 1.9rem); font-weight: 600; line-height: 1.35; letter-spacing: -.01em; }
.qrot__text p { margin: 0; }
.qrot.quote--cards { padding: 26px; border: 1px solid var(--s-border); border-radius: var(--radius); background: var(--s-card); height: 100%; }
.qrot.quote--cards .qrot__text { font-size: 1.08rem; }
.qrot__link { align-self: flex-start; }
.qrot.quote--large .qrot__link { align-self: center; }
.qrot-carousel--split .carousel__track, .qrot-carousel--large .carousel__track { scroll-behavior: smooth; }
