:root{
    --cu-ink: #17110f;
    --cu-red: #d00000;
    --cu-red-deep: #7a0f17;
    --cu-cream: #f5f4f2;
    --cu-line: #E5E0D6;
    --cu-blue: #0090DE;
    --cu-muted: #8a8580;
  }

  *{ box-sizing: border-box; }



  /* ============ HEADER / HERO SECTION ============ */
  .cu-hero{
   background: #131110;
    color: #fff;
    padding: 110px 0px 60px 0px;
	position:relative;
  }
  .cu-hero .container, .cu-schedule .container, .cu-legend-bar .container{max-width: 1080px !important;}
  
  .cu-hero:after{background: radial-gradient(141.42% 141.42% at 100% 0%, rgba(208, 0, 0, 0.27) 0%, rgba(208, 0, 0, 0.12) 40%, rgba(0, 0, 0, 0.00) 70%);
  content:""; top:0px; right:0px; position:absolute; width:500px; height:500px;  }

  .cu-hero__eyebrow{
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
	color: #FFF;
	font-family: var(--font-family-Font-1, Inter);
	font-size: var(--font-size-11, 11px);
	font-style: normal;
	font-weight: var(--font-weight-600, 600);
	line-height: var(--line-height-16_5, 16.5px); /* 150% */
	letter-spacing: 2.42px;
	text-transform: uppercase;
  }

  .cu-hero__eyebrow::after{
    content: "";
    height: 1px;
	width: 50px;
    background: #fff;
  }

  .cu-hero__title{
    color: #FAF8F4;
font-family: var(--font-family-Font-1, Inter);
font-size: 66px;
font-style: normal;
font-weight: var(--font-weight-900, 900);
line-height: 72px; /* 100% */
letter-spacing: -1.8px;
    max-width: 820px;
    margin: 0 0 22px 0;
  }

  .cu-hero__title em{
    font-style: normal;
    color: var(--cu-red);
  }

  .cu-hero__desc{
    max-width: 560px;
    color: #FFF;
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-18, 18px);
font-style: normal;
font-weight: var(--font-weight-400, 400);
line-height: var(--line-height-29_25, 29.25px); /* 162.5% */
    margin: 40px 0 55px 0;
  }

  /* stat row: flex */
  .cu-stat-row{
  display: flex;
  list-style: none;
  margin:40px 0 0 0;
  padding: 0;
  border-top: 1px solid #2E2A23;
  border-bottom: 1px solid #2E2A23;
}

.cu-stat{
  position: relative;
  flex: 1;
  padding: 30px 32px 34px 32px; /* same on every item, no first/last override */
}
.cu-stat:first-child{padding-left:0px;}

.cu-stat:not(:first-child){
  border-left: 1px solid rgba(255,255,255,0.14);
}



.cu-stat__body{
  display: flex;
  flex-direction: column;position: relative;padding-left: 20px;
}
.cu-stat__body::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0px;
  width: 3px; height:40px;
  background: #d00000;
  border-radius: 2px;
}
.cu-stat__value{
 color: #FAF8F4;
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-24, 24px);
font-style: normal;
font-weight: var(--font-weight-700, 700);
line-height: var(--line-height-32, 32px); /* 133.333% */
  margin: 0 0 10px 0;
}

.cu-stat__label{
  color: #FFF;
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-12, 12px);
font-style: normal;
font-weight: var(--font-weight-400, 400);
line-height: var(--line-height-16, 16px); /* 133.333% */
letter-spacing: 0.3px;
  margin: 0;
}

  /* legend bar: flex */
  .cu-legend-bar{border-bottom: var(--stroke-weight-1, 1px) solid #2E2A23; background: #000; padding:20px 0px;}
  .cu-legend{
    list-style: none;
    display: flex;
    align-items: center;
    gap: 56px;
    margin: 0;
    padding: 0px 0;
   
  }

 
  
.cu-legend li {position:relative;}
.cu-legend li::before {
  position: absolute;
  height: 15px;
  width: 1px;
  background: #2E2A23;

  top: 1px;
  left: -28px;
  content: "";
}
.cu-legend li:first-child::before {
  display: none;
}
  .cu-legend__item{
    display: flex;
    align-items: center;
    gap: 8px;
	color: #A09890;
	font-family: var(--font-family-Font-1, Inter);
	font-size: var(--font-size-14, 14px);
	font-style: normal;
	font-weight: var(--font-weight-600, 600);
	line-height: var(--line-height-16, 16px); /* 114.286% */
	letter-spacing: 0.3px;
  }
  .blueColor span{color:var(--cu-blue);}
  .redColor span{color:var(--cu-red);}


  .cu-legend__dot{
    width: 14px;
    height: 14px;
    border-radius: 50%;
    display: inline-block;
  }

  .cu-legend__dot--day{ background: var(--cu-blue); }
  .cu-legend__dot--hostel{ background: var(--cu-red); }

  .cu-legend__note{
    color: #FFF;
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-14, 14px);
font-style: italic;
font-weight: var(--font-weight-400, 400);
line-height: var(--line-height-16, 16px); /* 114.286% */
  }

  /* ============ SCHEDULE SECTION ============ */
  .cu-schedule{background: #F6F6F6;    padding: 112px 0px;  }

  .cu-schedule__heading{
    color: #131110;
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-48, 48px);
font-style: normal;
font-weight: var(--font-weight-900, 900);
line-height: var(--line-height-48, 48px); /* 100% */
letter-spacing: var(--letter-spacing--1_2, -1.2px);
    margin: 0 0 80px 0; border-top:1px solid #E5E0D6; padding-top:25px;
	
  }

  .cu-schedule__heading em{
   color: #000;
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-48, 48px);
font-style: italic;
font-weight: var(--font-weight-300, 300);
line-height: var(--line-height-48, 48px);
letter-spacing: var(--letter-spacing--1_2, -1.2px);
    display: block;
   
  }

  .cu-schedule-list{
    list-style: none;
    margin: 34px 0 0 0;
    padding: 0;
    border-top: 1px solid var(--cu-line);
  }

  .cu-schedule-row{
    display: flex;
    gap: 40px;
    padding: 50px 0 42px 0;
    border-bottom: 1px solid var(--cu-line);

  }

  .cu-schedule-row--holiday{
    align-items: flex-start;
  }

  /* date block */
  .cu-date{
    flex: 0 0 210px;
  }

  .cu-date__day{
    color: #000;
font-family: var(--font-family-Font-1, Inter);
font-size: 96px;
font-style: normal;
font-weight: var(--font-weight-900, 900);
line-height: 96px; /* 100% */
letter-spacing: -0.8px;
  }

  .cu-date__month{
    color: #000;
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-16, 16px);
font-style: normal;
font-weight: var(--font-weight-500, 500);
line-height: var(--line-height-20, 20px); /* 125% */
    margin-top: 6px;
  }

  .cu-date__weekday{
    color: #0090DE;
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-16, 16px);
font-style: normal;
font-weight: var(--font-weight-700, 700);
line-height: var(--line-height-16_5, 16.5px); /* 103.125% */
letter-spacing: 2.2px;
text-transform: uppercase;
    margin-top: 2px;
  }

  /* columns holding tag + time + programs, flex */
  .cu-columns{
    flex: 1;
    display: flex;
    gap: 40px;
  }

  .cu-column{
    flex: 1;
    min-width: 0;
  }

  .cu-tag{
    display: inline-block;
    color: #0090DE;
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-10, 10px);
font-style: normal;
font-weight: var(--font-weight-600, 600);
line-height: var(--line-height-15, 15px); /* 150% */
letter-spacing: 1.4px;
text-transform: uppercase;
    padding: 4px 9px;
    margin-bottom: 10px;
	border-radius: var(--radius-6, 6px);
	border: var(--stroke-weight-1, 1px) solid rgba(0, 144, 222, 0.25);
	
  }

  .cu-tag--day{
   background: rgba(0, 144, 222, 0.13);
    color: var(--cu-blue);
  }

  .cu-tag--hostel{
    background: #fbe6e6;
    color: var(--cu-red-deep);
  }

  .cu-tag--holiday{
    background: #fbe6e6;
    color: var(--cu-red-deep);
  }

  .cu-time{
    
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-14, 14px);
font-style: normal;
font-weight: var(--font-weight-500, 500);
line-height: var(--line-height-16_5, 16.5px); /* 117.857% */
letter-spacing: var(--letter-spacing-0_28, 0.275px);
    margin-bottom: 10px;
  }

  .cu-time--day{ color: var(--cu-blue); }
  .cu-time--hostel{ color: var(--cu-red); }

  .cu-programs{
    list-style: none;
    margin: 6px 0 0 0;
    padding: 0;
  }

  .cu-programs__item{
    color: #000;
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-16, 16px);
font-style: normal;
font-weight: var(--font-weight-400, 400);
line-height: 18.563px; /* 116.016% */
    padding: 9px 0;
    border-top: 1px solid var(--cu-line);
	
  }

  .cu-programs__item:first-child{
    border-top: none;
  }

  .cu-programs__item--sub{
    color: #7C766C;
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-16, 16px);
font-style: italic;
font-weight: var(--font-weight-400, 400);
line-height: var(--line-height-16_5, 16.5px); /* 103.125% */
  }

  .cu-empty{
    color: #7C766C;
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-16, 16px);
font-style: italic;
font-weight: var(--font-weight-400, 400);
line-height: var(--line-height-16, 16px); /* 100% */
letter-spacing: 0.3px;
  }

  /* combined / holiday row */
  .cu-holiday-banner{
    flex: 1;
  }

  .cu-holiday-banner__tag{
    display: table;
	font-family: var(--font-family-Font-1, Inter);
	font-size: var(--font-size-11, 11px);
	font-style: normal;
	font-weight: var(--font-weight-700, 700);
	line-height: var(--line-height-16_5, 16.5px); /* 150% */
	letter-spacing: 1.54px;
	text-transform: uppercase;
    color: var(--cu-red);
    border-radius: var(--radius-4, 4px);
	border: var(--stroke-weight-1, 1px) solid rgba(192, 51, 43, 0.25);
	background: rgba(192, 51, 43, 0.08);
    padding: 4px 9px;
    margin-bottom: 14px;
  }
  .cu-holiday__dot{width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;background: var(--cu-red);}

  .cu-holiday-banner__combined{
    border-radius: var(--radius-6, 6px);
border: var(--stroke-weight-1, 1px) solid #E5E0D6;
background: rgba(19, 17, 16, 0.06);
    padding: 2px 11px;
   color: #000;
font-family: var(--font-family-Font-1, Inter);
font-size: var(--font-size-14, 14px);
font-style: normal;
font-weight: var(--font-weight-600, 600);
line-height: var(--line-height-16_5, 16.5px); /* 117.857% */
letter-spacing: 1.32px;
text-transform: uppercase;
    margin-bottom: 14px;
    display: inline-block;
  }
.cu-holiday-banner__combined.moboff{display:table;}
	.cu-holiday-banner__combined.mobon{display:none;}
  .cu-holiday-banner .cu-programs__item{
    max-width: 620px;
  }
  
  
  @media only screen and (min-width: 992px) and (max-width: 1098px) {
	  .cu-legend{gap: 6px;}
	  .cu-legend li::before{left: -3px;}
	  .cu-legend__item, .cu-legend__note{font-size:12px;}
  }
  
  @media only screen and (min-width: 768px) and (max-width: 991px) {
	  .cu-hero{margin-top: 60px;}
	.cu-hero__title{font-size: var(--font-size-36, 36px);line-height: var(--line-height-36, 36px); letter-spacing: -0.9px;}
    .cu-stat-row{ flex-direction: column; }
    .cu-stat{ border:0px; padding: 24px 0; }
	.cu-stat:not(:first-child) {  border-left: 0px ;}
	.cu-stat__body::before{top: 5px;}
	.cu-stat__value{font-size: var(--font-size-20, 20px);line-height: var(--line-height-28, 28px); margin: 0 0 5px 0;}
	.cu-legend__item, .cu-legend__note{font-size:12px;}
    .cu-stat:last-child{ border-bottom: none; }
    .cu-legend{ flex-wrap: wrap; gap: 14px 22px; }
    .cu-schedule-row{ flex-direction: column; gap: 26px; padding: 35px 0 35px 0; }
	.cu-date__weekday{margin-top: 5px;}
    .cu-columns{ flex-direction: column; gap: 26px; }
	.cu-date {flex: auto;}
	.cu-schedule{padding: 90px 0px;}
	.cu-schedule__heading, .cu-schedule__heading em{font-size: var(--font-size-30, 30px);line-height: var(--line-height-36, 36px); letter-spacing: var(--letter-spacing--0_75, -0.75px);}
	.cu-schedule__heading{margin: 0 0 55px 0;}
	.cu-date__day{font-size: var(--font-size-72, 72px);line-height: 72px;letter-spacing: -3.6px;}
  }

  
	@media only screen and (max-width: 767px){
	.cu-hero-main{padding-top: 60px;}
	.cu-hero__title{font-size: 32px;line-height: 32px; letter-spacing: -0.9px;}
	.cu-hero::after{width: 100%;}
    .cu-stat-row{ flex-direction: column; }
    .cu-stat{ border:0px; padding: 24px 0; }
	.cu-stat:not(:first-child) {  border-left: 0px ;}
	.cu-stat__body::before{top: 5px;}
	.cu-stat__value{font-size: var(--font-size-20, 20px);line-height: var(--line-height-28, 28px); margin: 0 0 5px 0;}
	.cu-legend__item, .cu-legend__note{font-size:12px;}
    .cu-stat:last-child{ border-bottom: none; }
    .cu-legend{ flex-wrap: wrap; gap: 14px 22px; }
    .cu-schedule-row{ flex-direction: column; gap: 26px; padding: 35px 0 35px 0; }
	.cu-date__weekday{margin-top: 5px;}
    .cu-columns{ flex-direction: column; gap: 26px; }
	.cu-date {flex: auto;}
	.cu-schedule{padding: 90px 0px;}
	.cu-schedule__heading, .cu-schedule__heading em{font-size: var(--font-size-30, 30px);line-height: var(--line-height-36, 36px); letter-spacing: var(--letter-spacing--0_75, -0.75px);}
	.cu-schedule__heading{margin: 0 0 55px 0;}
	.cu-date__day{font-size: var(--font-size-72, 72px);line-height: 72px;letter-spacing: -3.6px;}
	.cu-holiday-banner__combined{font-size: var(--font-size-12, 12px);line-height: var(--line-height-16_5, 16.5px); /* 137.5% */}
	.cu-holiday-banner__combined.moboff{display:none;}
	.cu-holiday-banner__combined.mobon{display:table;}
	
  }