body {
	position: relative;
	min-height: 100%;
	background-color: var(--neutral-grey-bg);
	overflow: auto;
}

.btn-s-a {
	min-height: 48px;
	color: var(--text-button-primary-default);
	font-size: 16px;
	font-family: 'Söhne';
	font-style: normal;
	font-weight: 600;
	text-transform: uppercase;
	line-height: 1.5;
	letter-spacing: 0px;
	text-align: left;
	background-color: var(--color-red);
	padding: 12px 0 12px 16px;
}

.image-portion-b {
	flex-shrink: 0;
}

.btn-s-b {
	min-height: 48px;
	display: flex;
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: 0px;
	background-color: var(--button-bck);
	padding: 12px 16px;
}



/* label-a */

.label-a {
	display: flex;
	align-items: baseline;
	gap: var(--spacing-x-small);
}

.label-briefcase {
	width: 16px;
	flex-shrink: 0;
}

.label-text1 {
	flex-grow: 1;
	text-align: left;
}
/* end label-a*/




/* label-b */

.label-b {
	position: relative;
	gap: var(--spacing-x-small);
	padding-left: 24px;
}
/* end label-b*/


.calendar {
	position: absolute; top: 0; left: 0; 
	width: 16px;
}



/* label-c */

.label-c {
	position: relative;
	gap: var(--spacing-x-small);
	font-weight: 600;
	padding-left: 24px;
}
/* end label-c*/


.buttons {
	color: var(--text-button-primary-default);
	font-size: 18px;
	text-transform: uppercase;
	line-height: 1.333;
	text-align: center;
	padding: 12px 16px;
}



/* content-a */

.content-a {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-medium);
	flex-grow: 1;
	text-align: left;
}

.content-subtitle1 {
	font-size: 42px;
	line-height: 1.3;
	letter-spacing: 0.62px;
	font-weight: 700;
}

.content-subtitle2 {
	font-size: 24px;
	line-height: normal;
	font-weight: 700;
}

.content-text-bottom {
	font-size: 20px;
	font-weight: 400;
	line-height: 1.35;
}
/* end content-a*/




/* image-portion-c */

.image-portion-c {
	position: relative;
	transform-origin: 50% 50%;
	width: 400px;
	flex-shrink: 0;
	background-color: var(--backgound-grey);
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.image-portion-imagine2 {
	position: absolute; top: -6px; left: -109px; right: -109px; 
	width: calc(100% - -109px - -109px);
	max-width: none;
}
/* end image-portion-c*/


.btn-s-c {
	width: auto;
	display: flex;
	justify-content: center;
	color: var(--primary-w-ffffff-text);
	font-size: 18px;
	font-style: normal;
	text-transform: uppercase;
	line-height: 1.333;
	letter-spacing: 0px;
	text-align: center;
	background-color: var(--color-red);
	padding: 11px 15px;
	font-weight: 700;
}



/* column-a */

.column-a {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.column-subtitle1 {
	color: var(--text-default);
	--min-font-size: 24; --max-font-size: 42; font-size: var(--interpolate);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.62px;
}

.column-text {
	color: var(--on-light-primary-text);
	--min-font-size: 16; --max-font-size: 20; font-size: var(--interpolate);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0px;
}
/* end column-a*/


.image-portion-d {
	flex-shrink: 0;
}

.text-wh {
	text-align: left;
	width: 90%;
}



/* content-b */

.content-b {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: var(--spacing-medium);
	border-bottom: 1px solid var(--borders-divider-grey);
}

.content-plus {
	width: 24px;
	flex-shrink: 0;
}
/* end content-b*/


.btn-s-d {
	display: flex;
	color: var(--text-button-primary-default);
	font-size: 16px;
	font-family: 'Söhne';
	font-style: normal;
	font-weight: 600;
	text-transform: uppercase;
	line-height: 1.5;
	letter-spacing: 0px;
	text-align: left;
	background-color: var(--color-red);
	padding: 12px 16px;
}

.col1 {
	position: absolute; top: 0; left: 0; right: 0; 
	display: flex;
	flex-direction: column;
}

.header {
	container: header / inline-size;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: var(--text-default);
	font-size: 16px;
	font-family: 'UniCredit';
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0px;
	background-color: var(--backgound-white);
	padding: 16px 32px;
	border-bottom: 1px solid var(--borders-divider-grey);
	    height: 75px;
    position: fixed;
    z-index: 99;
    width: 100%;
}

.header-content {
	width: 100%;
	max-width: 1280px;
	display: flex;
	align-items: center;
	gap: 32px;
}

.header-logo-polimi {
	flex-shrink: 0;
}

.header-logo-and {
	width: 140px;
}

.header-text {
	text-align: left;
	    font-family: 'Söhne';
}

.header-logo-polimi1 {
	width: 260px;
}

.col2 {
	container: col2 / inline-size;
	display: flex;
	flex-direction: column;
	background-color: #fff;
}



/* footer */

.footer {
	margin-top: 100px;
	    display: flex;
    flex-direction: row;
	align-items: flex-start;
	background-color: var(--backgound-default);
	padding: var(--spacing-5x-large) var(--spacing-7x-large);
	gap:32px;
}

.footer-content {
	width: 100%;
	max-width: 384px;
	gap: var(--spacing-large);
	flex-shrink: 0;
}
/* end footer*/


.cover-page {
	display: flex;
	align-items: flex-start;
	color: var(--title);
	font-size: 66px;
	font-family: 'Söhne';
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0px;
	overflow: hidden;
	padding-top: 70px;
}



/* image-portion-a */

.image-portion-a {
	position: relative;
	width: 628px;
	flex-shrink: 0;
	background-color: var(--backgound-grey);
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.img-portion1 {
    background-image: url("../assets/image-portion/image-portion-imagine1_.png");
    background-size: cover;
}

@media (max-width: 768px) {
    .img-portion1 {
        background-image: url("../assets/image-portion/image-portion-imagine1_mobile.png");
    }
}
/* end image-portion-a*/


.card-content1 {
	container: card-content1 / inline-size;
	max-width: 1280px;
	min-height: 627px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--number-48);
	flex-grow: 1;
	text-align: left;
	background-color: #c3d4bd;
	padding: 32px 76px 16px 60px;
}

.card-content-text1 {
	display: flex;
	flex-direction: column;
	gap: var(--number-12);
	align-self: stretch;
}

.card-content-subtitle1 {
	font-size: 54px;
	text-align: left;
}

.card-content-text-get-ready {
	text-align: left;
}

.card-content-row-bottom {
	display: flex;
	align-items: flex-start;
	gap: 24px;
}

.card-content-btn-s1 {
	padding-right: 16px;
}

.card-content-btn-s2 {
	padding-right: 17px;
}

.col3 {
	container: col3 / inline-size;
	gap: 40px;
	font-family: 'Söhne';
}

.col-top1 {
	width: 100%;
	max-width: 1280px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.subtitle-master-s {
	color: var(--text-default);
	--min-font-size: 30; --max-font-size: 42; font-size: var(--interpolate);
	font-family: 'Söhne';
	font-weight: 700;
	line-height: 1.3;
}

.text-both-paths {
	color: var(--on-light-primary-text);
	--min-font-size: 16; --max-font-size: 20; font-size: var(--interpolate);
	line-height: 1.5;
	letter-spacing: 0px;
}

.row1 {
	width: 100%;
	max-width: 1280px;
	display: flex;
	align-items: flex-start;
	gap: 40px;
	color: var(--text-default);
	letter-spacing: 0px;
}



/* cards-default-small */

.cards-default-small {
	width: 100%;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	text-align: left;
}

.card-text {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-x-small);
	background-color: var(--backgound-white);
	padding: var(--spacing-large) 16px;
}

.card-text-subtitle {
	font-size: 24px;
	font-weight: 600;
	line-height: normal;
}

.card-text-text {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.188;
}
/* end cards-default-small*/


.row-bottom1 {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	color: var(--text-button-primary-default);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.333;
}

.btn-s1 {
	width: 292px;
	justify-content: center;
	flex-shrink: 0;
	text-align: center;
}

.btn-s2 {
	width: 292px;
	justify-content: center;
	flex-shrink: 0;
	text-align: center;
}

.col4 {
	container: col4 / inline-size;
	gap: 40px;
	color: var(--text-default);
	text-align: center;
	background-color: #c3d4bd;
}

.subtitle-choose-the-path {
	width: 100%;
	max-width: 1280px;
	--min-font-size: 35; --max-font-size: 42; font-size: var(--interpolate);
	font-family: 'Söhne';
	font-weight: 700;
	line-height: 1.3;
}

.row2 {
	width: 100%;
	max-width: 1280px;
	display: flex;
	align-items: flex-start;
	gap: 40px;
	font-family: 'Söhne';
	font-weight: 600;
	letter-spacing: 0px;
}

.cards-master1 {
	width: 100%;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	text-align: left;
}

.card-content2 {
	gap: var(--spacing-large);
}

.card-content-content1 {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-small);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

.card-content-label {
	position: relative;
	gap: var(--spacing-x-small);
	padding-left: 24px;
}

.card-content-maps-travel {
	position: absolute; top: 0; left: 0; 
	width: 16px;
}

.card-content-buttons1 {
	margin-top: 24px;
	background-color: var(--color-red);
}

.cards-master2 {
	width: 100%;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	text-align: left;
}

.card-content3 {
	gap: var(--spacing-large);
}

.card-content-content2 {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-small);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

.card-content-buttons2 {
	background-color: var(--color-red);
}

.programmi-formazione {
	font-family: 'Söhne';
	letter-spacing: 0px;
}

.programmi-formazione-card {
	container: programmi-formazione-card / inline-size;
	width: 100%;
	max-width: 1280px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.programmi-formazione-img {
	display: flex;
	align-items: center;
	gap: var(--spacing-4x-large);
	color: var(--text-default);
}

.programmi-formazione-content {
	margin-right: 456px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--spacing-large);
}

.programmi-formazione-subtitle {
	align-self: stretch;
	color: var(--text-default);
	--min-font-size: 17; --max-font-size: 20; font-size: var(--interpolate);
	line-height: normal;
	font-weight: 700;
}

.bootcamp {
	font-family: 'Söhne';
	letter-spacing: 0px;
}

.bootcamp-card {
	container: bootcamp-card / inline-size;
	width: 100%;
	max-width: 1280px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.bootcamp-img {
	display: flex;
	align-items: center;
	gap: var(--spacing-4x-large);
	color: var(--text-default);
}

.bootcamp-content {
	margin-left: 456px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--spacing-large);
}

.bootcamp-subtitle {
	align-self: stretch;
	color: var(--text-default);
	--min-font-size: 17; --max-font-size: 20; font-size: var(--interpolate);
	font-weight: 400;
	line-height: normal;
}

.bootcamp-btn-s {
	font-weight: 600;
}

.col5 {
	container: col5 / inline-size;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	padding: 80px;
}

.col-top2 {
	max-width: 1280px;
	font-family: 'Söhne';
}

.row-bottom2 {
	width: 100%;
	max-width: 1280px;
	display: flex;
	align-items: flex-start;
	gap: 40px;
	color: var(--text-default);
	font-weight: 400;
	letter-spacing: 0px;
}



/* card-s-citation */

.card-s-citation {
	width: 100%;
	min-height: 273px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--spacing-medium);
	flex-grow: 1;
	background-color: var(--colors-backgound-grey);
	padding: 16px 24px 24px 24px;
}

.card-s-citation-virgolette {
	width: 54px;
	display: flex;
	flex-direction: column;
	font-size: 124px;
	font-family: 'Söhne';
	text-align: center;
	overflow: hidden;
	line-height:80% ;
}

.card-s-citation-title {
	margin-bottom: -5px;
}

.card-s-citation-text {
	align-self: stretch;
	font-size: 18px;
	font-family: 'Söhne';
	line-height: 1.5;
	text-align: left;
}
/* end card-s-citation*/


.gallery {
	container: gallery / inline-size;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--spacing-2x-large);
	font-family: 'Söhne';
	background-color: #f3f3f3;
	padding: var(--spacing-4x-large) var(--spacing-7x-large);
}

.text2 {
	max-width: 1340px;
}

.gallery-row {
	width: 100%;
	max-width: 1340px;
	display: flex;
	align-items: flex-start;
	gap: 24px;
	color: var(--text-default);
	font-size: 24px;
	line-height: normal;
	letter-spacing: 0px;
}



/* column-b */

.column-b {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex-grow: 1;
	font-weight: 600;
	text-align: center;
}
/* end column-b*/




/* column-c */

.column-c {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 24px;
	flex-grow: 1;
	font-weight: 400;
	text-align: center;
}
/* end column-c*/


.gallery-row-bottom {
	display: flex;
	align-items: flex-start;
	gap: 24px;
}

.gallery-btn-s1 {
	padding-right: 16px;
}

.gallery-btn-s2 {
	padding-right: 17px;
}

.programmi-dettaglio {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 104px;
	font-family: 'Söhne';
	background-color: var(--backgound-white);
	padding: var(--number-56) var(--spacing-7x-large) var(--spacing-4x-large) var(--spacing-7x-large);
}

.programmi-dettaglio-text1 {
	width: 421px;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-medium);
	flex-shrink: 0;
	text-align: left;
}

.programmi-dettaglio-subtitle {
	color: var(--text-default);
	font-size: 42px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.62px;
}

.programmi-dettaglio-text-find-answers {
	color: var(--text-subtle);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0px;
}

.programmi-dettaglio-faq {
	width: 715px;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-small);
	flex-shrink: 0;
	color: var(--text-default);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0px;
	text-align: left;
}



/* accordion */

.accordion {
	gap: var(--spacing-large);
	background-color: var(--backgound-white);
	padding: var(--spacing-medium);
	border: 1px solid var(--borders-default);
}
/* end accordion*/


.programmi-dettaglio-accordion1 {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-large);
	background-color: var(--backgound-white);
	padding: var(--spacing-medium);
	border: 1px solid var(--borders-default);
}

.programmi-dettaglio-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-right: 3px;
	padding-bottom: var(--spacing-medium);
	border-bottom: 1px solid var(--borders-divider-grey);
}

.programmi-dettaglio-minus {
	width: 17px; height: 2px;
	flex-shrink: 0;
	background-color: var(--icons-default);
}

.programmi-dettaglio-text-content {
	margin: 0 4px;
}

.programmi-dettaglio-accordion2 {
	gap: var(--spacing-large);
	background-color: var(--backgound-white);
	padding: var(--spacing-medium);
	border: 1px solid var(--borders-default);
}

.content4 {
	justify-content: center;
	gap: 102px;
}

.col8 {
	color: #1e1e1e;
	letter-spacing: 0px;
	padding-top: 39px;
	padding-bottom: 40px;
}



/* heading-button */

.heading-button {
	container: heading-button / inline-size;
	width: 100%;
	max-width: 1240px;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-large);
}

.divider-line {
	height: 0;
	border-top: 1px solid var(--borders-divider-grey);
}

.heading-button-content {
	display: flex;
	align-items: center;
	gap: var(--spacing-5x-large);
}

.heading-button-text {
	display: flex;
	flex-direction: column;
	gap: var(--number-8);
	flex-grow: 1;
	text-align: left;
}

.heading-button-subtitle {
	font-size: 20px;
	font-family: 'Söhne';
	font-weight: 700;
	line-height: normal;
}
/* end heading-button*/


.heading-plus-btn .heading-button-btn-s {
	color: var(--text-button-secondary-default);
	background-color: var(--backgound-interactive-seconary-default);
	padding-left: 15px;
	padding-top: 11px;
	padding-bottom: 11px;
	border: 1px solid var(--borders-input-default);
}

.bunner-messaggio {
	container: bunner-messaggio / inline-size;
	gap: var(--font-size-heading-sm);
	color: var(--text-default);
	background-color: unset;
}

.bunner-messaggio-bunner {
	width: 100%;
	max-width: 1280px;
	display: flex;
	align-items: center;
	gap: var(--spacing-2x-large);
	background-color: #c3d4bd;
	padding: var(--spacing-large);
}

.bunner-messaggio-subtitle {
	width: 25%;
	flex-grow: 1;
	font-size: 42px;
	font-family: 'Söhne';
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.95px;
	text-align: left;
}

.bunner-messaggio-text {
	flex-grow: 1;
	text-align: left;
	    width: 25%;
}

.bunner-messaggio-col-right {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	    width: 50%;
}

.bunner-messaggio-btn-s2 {
	padding-right: 17px;
}

.row3 {
	position: absolute; top: 14px; right: 42px; 
	display: flex;
	align-items: flex-start;
	gap: 24px;
	color: var(--text-button-primary-default);
	font-size: 18px;
	font-family: 'Söhne';
	font-weight: 600;
	line-height: 1.333;
}

.btn1 {
	text-align: left;
}

.btn2 {
	text-align: left;
}



/* container queries (flex rows) */

@container header (width < 552px) {
	.header-content {
		flex-direction: row;
		align-items: center;
		gap: 13px;
	}
	.header-content > * {
		margin-top: unset !important;
		text-align: center;
		font-size: 11px;
		
	}
	.header-logo-and {
    width: 35%;
}
.header-logo-polimi1 {
    width: 40%;
}
}

@container col2 (width < 1080px) {
	.cover-page {
		flex-direction: column;
		align-items: center;
		        padding-top: 60px;
	}
	.cover-page > * {
		text-align: center;
		padding: 32px 16px 32px 16px;
	}
	.cover-page > .card-content1 {
		width: 100%;
		align-items: center;
	}
	.cover-page > .img-portion1 {
		width: 100%;
		
	}
}

@container card-content1 (width < 347px) {
	.card-content-row-bottom {
		align-items: center;
		gap: 14px;
	}
	.card-content-row-bottom > * {
		text-align: center;
	}
}

@container col3 (width < 1080px) {
	.row1 {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}
	.row1 > .cards-default-small1 {
		width: 100%;
	}
	.row1 > .cards-default-small2 {
		width: 100%;
	}
	.row1 > .cards-default-small3 {
		width: 100%;
	}
}

@container col3 (width < 607px) {
	.row-bottom1 {
		flex-direction: column;
		align-items: center;
		gap: 14px;
	}
	.row-bottom1 > * {
		text-align: center;
	}
}

@container col4 (width < 768px) {
	.row2 {
		grid-auto-columns: 85%!important;
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		padding-left: 16px;
	}
	.row2 > .cards-master1 {
		width: 40%!important;
		margin-right: 16px;
	}
	.row2 > .cards-master2 {
	width: 40%!important;
	}
}

@container programmi-formazione-card (width < 768px) {
	.programmi-formazione-img {
		flex-direction: column;
		align-items: center;
		gap: 49px;
	}
	.programmi-formazione-card > * {
		margin-left: 0; margin-right: 0;
	}
	
	.programmi-formazione-img > .content2 {
		width: 100%;
	}
	.programmi-formazione-img > .img-portion2 {
		width: 100%;
		max-width: 400px;
	}
}

@container bootcamp-card (width < 768px) {
	.bootcamp-img {
		flex-direction: column;
		align-items: center;
		gap: 49px;
	}
	.bootcamp-card > * {
		margin-left: 0; margin-right: 0;
	}
	.bootcamp-img > * {
		text-align: center;
	}
	.bootcamp-img > .img-portion3 {
		width: 100%;
		max-width: 400px;
	}
	.bootcamp-img > .content3 {
		width: 100%;
		        text-align: left;
	}
}

@container col5 (width < 1080px) {
	.row-bottom2 {
		flex-direction: column;
		gap: 34px;
	}
	.row-bottom2 > * {
		text-align: center;
	}
	.row-bottom2 > .card-s-citation1 {
		width: 100%;
		align-items: center;
	}
	.row-bottom2 > .card-s-citation1 > * {
		text-align: unset;
	}
	.row-bottom2 > .card-s-citation2 {
		width: 100%;
		align-items: center;
	}
	.row-bottom2 > .card-s-citation2 > * {
		text-align: unset;
	}
	.row-bottom2 > .card-s-citation3 {
		width: 100%;
		align-items: center;
	}
	.row-bottom2 > .card-s-citation3 > * {
		text-align: unset;
	}
}

@container gallery (width < 767px) {
	.gallery-row {
		    display: grid;
    grid-auto-flow: column;
    gap: 16px;
    grid-auto-columns: 85%;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    padding: 6px 16px 18px;
    scrollbar-width: none;
	}
	.gallery-row > .col-left {
		width: 100%;
	}
	.gallery-row > .col6 {
		width: 100%;
	}
	.gallery-row > .col7 {
		width: 100%;
	}
	.gallery-row > .col-right {
		width: 100%;
	}
}

@container col2 (width < 1287px) {
	.programmi-dettaglio {
		flex-direction: column;
		align-items: flex-start;
		gap: 81px;
		padding: 32px;
	}
	.programmi-dettaglio > .programmi-dettaglio-text1 {
		width: 100%;
		max-width: 421px;
	}
	.programmi-dettaglio > .programmi-dettaglio-faq {
		width: 100%;
		
	}
}

@container heading-button (width < 1239px) {
	.heading-button-content {
		flex-direction: column;
		align-items: center;
		gap: 16px;
	}
	
	.heading-button-content > .heading-button-text {
		width: 100%;
	}
}

@container bunner-messaggio (width < 1239px) {
	.bunner-messaggio-bunner {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
	}
	.bunner-messaggio-bunner > .bunner-messaggio-subtitle {
		width: 100%;
	}
	.bunner-messaggio-bunner > .bunner-messaggio-text {
		width: 100%;
	}
}
/* === Carrusel CSS-only para tu .row1 === */
.row1{
  /* Track horizontal */
  display: grid;
  grid-auto-flow: column;
  gap: 16px;

  /* Cada slide ocupa casi toda la pantalla (efecto "peek") */
  grid-auto-columns: 85%;

  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;

  /* Snap */
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;

  /* Evita que el scroll “rebote” arrastrando el body */
  overscroll-behavior-x: contain;

  /* Un poco de padding lateral para que no pegue al borde */
  padding: 6px 16px 18px;

  /* Oculta scrollbar */
  scrollbar-width: none;           /* Firefox */
}
.row1::-webkit-scrollbar{ display:none; } /* Chrome/Safari */

/* Cada tarjeta se comporta como un slide */
.row1 > .cards-default-small{
  scroll-snap-align: center;  /* o center si lo prefieres */
  scroll-snap-stop: always;  /* hace el snap más “firme” */

  /* Importante: que no se encojan */
  width: 100%;
}

/* Tablet: muestra más tarjeta por viewport */
@media (min-width: 600px){
  .row1{ grid-auto-columns: 55%; }
}

/* Desktop: vuelve a 3 columnas (sin carrusel) */
@media (min-width: 992px){
  .row1{
    grid-auto-flow: unset;
    grid-auto-columns: unset;
    grid-template-columns: repeat(3, 1fr);

    overflow: visible;
    scroll-snap-type: none;
    padding: 0;
  }

}
/* === Carrusel CSS-only para .row-bottom2 === */
.row-bottom2{
  /* Track horizontal */
  display: grid;
  grid-auto-flow: column;
  gap: 16px;

  /* Cada cita ocupa casi todo el viewport */
  grid-auto-columns: 85%;

  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;

  /* Scroll snap */
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;

  padding: 6px 16px 18px;

  /* Ocultar scrollbar */
  scrollbar-width: none; /* Firefox */
}
.row-bottom2::-webkit-scrollbar{
  display: none;
}

/* Cada card es un slide */
.row-bottom2 > .card-s-citation{
  scroll-snap-align: start;
  scroll-snap-stop: always;
  width: 100%;
      height: 100%;
}

/* Tablet: deja ver más contenido */
@media (min-width: 600px){
  .row-bottom2{
    grid-auto-columns: 60%;
  }
}

/* Desktop: vuelve a layout normal (sin carrusel) */
@media (min-width: 992px){
  .row-bottom2{
    grid-auto-flow: unset;
    grid-auto-columns: unset;

    /* ajusta si usas otro sistema */
    grid-template-columns: repeat(3, 1fr);

    overflow: visible;
    scroll-snap-type: none;
    padding: 0;
  }
}
/* === Base accordion === */
.accordion-item {
  border-bottom: 1px solid rgba(255,255,255,.2);
}

/* Ocultamos el checkbox */
.accordion-toggle {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Header clickable */
.content-b {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

/* Icono + / - */
.accordion-icon {
  width: 14px;
  height: 14px;
  position: relative;
}

.accordion-icon::before,
.accordion-icon::after {
  content: "";
  position: absolute;
  background: #000000;
  transition: transform .3s ease, opacity .3s ease;
}

.accordion-icon::before {
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.accordion-icon::after {
  width: 2px;
  height: 100%;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

/* Contenido colapsable */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease, opacity .25s ease;
  opacity: 0;
}

/* === ESTADO ABIERTO === */
.accordion-toggle:checked + label + .accordion-content {
  max-height: 400px; /* suficiente para el texto */
  opacity: 1;
}

/* Cambia + a - */
.accordion-toggle:checked + label .accordion-icon::after {
  opacity: 0;
}

/* =========================
   MOBILE: carousel CSS-only
========================= */
.row2 {
  display: grid;
  grid-auto-flow: column;
  gap: 16px;

  /* ogni card quasi full width */
  grid-auto-columns: 92%;

  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;

  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;

  padding: 6px 16px 18px;

  /* hide scrollbar */
  scrollbar-width: none;
}
.row2::-webkit-scrollbar {
  display: none;
}

/* ogni master/bootcamp = slide */
.row2 > .cards-master1,
.row2 > .cards-master2 {
  scroll-snap-align: center;
  scroll-snap-stop: always;
  width: 100%;
}
.txt-custom{
 width: 100%;
 font-family: 'Söhne';
 max-width: 1280px;
}
/* =========================
   TABLET (opzionale)
========================= */
@media (min-width: 600px) {
  .row2 {
    grid-auto-columns: 70%;
  }
}
@media (min-width: 768px) {
 .hide-desktop{
	display: none;
}
#master, #bootcamp{
	display: none;
}
}



/* =========================
   DESKTOP: layout normale
========================= */
@media (min-width: 992px) {
  .row2 {
    grid-auto-flow: unset;
    grid-auto-columns: unset;

    /* 2 colonne affiancate */
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    overflow: visible;
    scroll-snap-type: none;
    padding: 0;
  }
}

@media (min-width: 1200px) {
  .card-content1 {
     padding: 7% 76px 16px 7%;
  }
}



@media screen and (max-width: 768px) {
	
.header {
	height: max-content;
	padding: 16px;
	
}
.subtitle-master-s, .subtitle-choose-the-path{
    font-size: 32px;

}
.section-light, .col5, .gallery {
    padding: 16px;
}
.bunner-messaggio-col-right{
        display: contents;
    align-items: flex-start;
}
.col-top1{
       padding: 16px;
}
.heading-button{
       padding: 16px;
}
.footer{
	     padding: 16px;
        display: block;
}
.footer img{
	     padding: 16px 0;
}


.carousel{
  width:100%;
  overflow:hidden;
  position:relative;
  font-family:sans-serif;
  display: block;
}

/* ocultar radios */
.carousel input{
  display:none;
}

/* contenedor de slides */
.frame-1000003479{
  display:-webkit-inline-box;
  width:200%;
  transition:transform .5s ease;
}

/* cada slide */
.cards-master,
.cards-master2{
  width:100%;
  flex-shrink:0;
  padding:40px;
  box-sizing:border-box;
}

/* ejemplo visual */
.cards-master{
  background:#f3f3f3;
}

.cards-master2{
  background:#e4e4e4;
}

/* navegación */

#master:checked ~ .frame-1000003518 .frame-1000003479{
  transform:translateX(0%);
}

#bootcamp:checked ~ .frame-1000003518 .frame-1000003479{
  transform:translateX(-35%);
}

/* tabs */

.tab{
  display:flex;
  gap:20px;

margin: 0 auto;
}

.tab2,
.tab3{
  cursor:pointer;
  padding:0 20px;
  position:relative;
  margin-bottom:20px;
}

/* indicador */

.indicator{
  height:3px;
  background:black;
  margin-top:6px;
  opacity:0;
  transition:.3s;
}

#master:checked ~ .frame-1000003518 .tab2 .indicator{
  opacity:1;
}

#bootcamp:checked ~ .frame-1000003518 .tab3::after{
  content:"";
  position:absolute;
  bottom:-3px;
  left:0;
  width:100%;
  height:3px;
  background:black;
}
.frame-1000003518{
	display: grid;
}

}
@media screen and (max-width: 1024px){
.hide-mobile{
	display: none;
}
.card-content-subtitle1{
	font-size: 48px;
}
.section{
	        padding: 32px 0;
}


}
@media screen and (min-width: 769px) and (max-width: 1200px){
.bunner-messaggio-col-right{
	   width:90%;
}
.card-content-subtitle1{
	font-size: 42px;  
}
.card-content-text-get-ready body-large{
	font-size: 16px;  

}
.btn-s-a{
	font-size: 12px;  

}
}
.custom-list{
	list-style: disc;
	font-weight: 500;
	list-style-position: inside;
}
