@media screen and (max-width: 1130px) {
	#header .hBar{grid-template-columns: 120px 1fr 150px;}
}

@media screen and (max-width: 1050px) {
	#header .hBar .hbMenu > a > div.withEnter{text-align: center; display: block;}
	#header .hBar .hbMenu > a > div.withEnter > div{display: block;}
	#header .hBar .hbMenu > a > div.withEnter > div:not(:last-child){margin-right: 0px; margin-top: 9px;}
	
	.history_overview, .card_movie{padding-left: 15px; padding-right: 15px;}
	
	.history_menu, .card_movie{border-radius: 0px; border-left: 0px; border-right: 0px;}
	
	.card_insight .cnt_card > a:first-child{margin-left: 15px;}
	.card_insight .cnt_card > a:last-child{margin-right: 15px;}
}

@media screen and (max-width: 1040px) {
	.history_screen{grid-template-columns: 90px 20px 90px 20px 1fr;}
}

@media screen and (max-width: 1020px) {
	.pageTitleBig{padding: 0px 15px;}
	
	.aboutHistoryBanner{margin: 0px 15px;}
	.aboutHistoryLayout{padding: 0px 15px; grid-template-columns: 120px 1fr;}
	
	.competition_box{margin: 0px 15px;}
	.competition_layout .clSelect{margin-left: 15px;}
	
	.boxFocus .bfHead, .cardMovieGrid.movieGridFirst{padding: 0px 15px;}
	
	.movieLayout{padding: 0px 15px; box-sizing: border-box;}
	
	.cardMovieGrid{grid-template-columns: 1fr 1fr 1fr 1fr;}
	.cardMovieGrid.movieGridFirst > a:nth-last-child(-n+2) {
		display: none;
	}
	
	.card_hzl_movie .cnt_card > a:first-child{margin-left: 15px;}
	.card_hzl_movie .cnt_card > a:last-child{margin-right: 15px;}
	
	.cardGalleryGrid, .cardMovieGrid, .exploreDesc, .exploreList{margin-left: 15px; margin-right: 15px;}
}

@media screen and (max-width: 935px) {
	.aboutMenuScroll{overflow: auto; margin-top: 15px;}
	.about_tab_menu{width: min-content; margin-top: 0px; margin-bottom: 0px;}
}

@media screen and (max-width: 920px) {
	.headerSpace{height: 55px;}
	#header .hMain{width: 100%; top: 0px; border-radius: 0px; border: none; border-bottom: 1px solid rgba(255, 255, 255, 0.3);}
	
	.bodyContent{margin-top: 0px;}
	
	.campusvisit_tl .ctItem{grid-template-columns: 220px 1fr;}
	
	.mcft_layout{padding: 90px 15px 0px 15px;}
	.mcft_layout .mlBtn{margin-top: 0px;}
}

@media screen and (max-width: 840px) {
	.cardMedia{grid-template-columns: 1fr 1fr;}
}

@media screen and (max-width: 820px) {
	#header .hBar{height: 45px; grid-template-columns: 95px 1fr 150px;}
	#header .hBar .hbLogo{width: 70px; margin-top: 8px;}
	#header .hBar .hbMenu{display: none;}
	#header .hBar .hbHamburger{display: block;}
	#header .hBar .hbBtn{margin-top: 3px;}
	#header.mobile .hBar .hbMenu{position: fixed; top: 0px; left: 0px; width: 50%; height: 100vh; max-width: 250px; background: var(--bg_red); display: unset;}
	#header.mobile .hBar .hbMenu div{width: 100%; height: unset; padding: 15px 0px; color: var(--text_white);}
	
	.movieLayout{grid-gap: 25px; grid-template-columns: 150px 1fr;}
	
	.history_overview .hoScreen{grid-template-columns: 1fr;}
	.history_screen{grid-template-columns: 200px 20px 200px 20px 1fr;}
	
	.card_gallery, .card_archive{grid-template-columns: 1fr 1fr;}
}

@media screen and (max-width: 750px) {
	.competition_box{grid-template-columns: 140px 1fr;}
	.competition_box .cbList .clItem .ciTxt > div:first-child{font-size: 15px;}
	
	.competition_layout .clContent{padding: 0px 20px;}
	.competition_submit{grid-template-columns: 190px 1fr; width: 100%; box-sizing: border-box; padding: 0px 15px;}
	
	.competition_account .caBox{grid-template-columns: 1fr 1fr;}
	
	.history_overview{grid-template-columns: 1fr !important; gap: 28px !important; justify-items: start !important;}
	.history_overview .hoCoverWrap{width: 100% !important; max-width: 280px !important; margin: 0 auto !important;}
	.history_overview .hoCover{width: 100% !important; max-width: 280px !important;}
	.history_overview .hoBodyWrap{width: 100% !important; margin: 0 !important;}
	.history_overview .hoBody{padding: 28px 20px !important; border-radius: 22px !important; margin: 0 !important;}
	.history_overview .hbRow{grid-template-columns: 1fr !important; gap: 10px !important; padding: 20px 0 !important; margin: 0 !important;}
	.history_overview .hbLabel{font-size: 16px !important; text-align: left !important; margin: 0 !important;}
	.history_overview .hbValue{font-size: 15px !important; text-align: left !important; margin: 0 !important;}
	.history_overview .hbBullets,
	.history_overview .hbBullets > li,
	.history_overview .hbSubTitle,
	.history_overview .hbSubDesc,
	.history_overview .hbSubDesc > div {
		text-align: left !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.history_overview .hoScreen{grid-template-columns: 1fr !important;}
	
	.aboutSponsor .asLogo .alTop .atBox{grid-template-columns: 100px 100px 1fr;}
	.aboutSponsor .asLogo .alTop .atBox > div:nth-child(4){display: none;}
	.aboutSponsor .asLogo .abSlogan2{display: block; margin-top: 10px; text-align: center;}
	
	.greetingSponsor .gsLogo .glTop .gtBox{grid-template-columns:100px 100px 1fr;}
	.greetingSponsor .gsLogo .glTop .gtBox > div:nth-child(4){display:none;}
	.greetingSponsor .gsLogo .gbSlogan2{display:block;margin-top:10px;text-align:center;}
	
	/**CARD**/
	.card_movie{overflow: auto;}
	
	.cardMovieGrid{grid-template-columns: 1fr 1fr 1fr;}
	.cardMovieGrid.movieGridFirst > a:nth-last-child(-n+4) {
		display: none;
	}
	
	.cardProgram{grid-template-columns: 1fr 1fr;}
	.cardProgram > div:nth-child(13){display: none;}
	
	.cardGalleryGrid, .cardMovieGrid.cmg3{grid-template-columns: 1fr 1fr;}
}

@media screen and (max-width: 680px) {	
	.campusvisit_tl .ctItem{grid-template-columns: 160px 1fr;}
	
	.history_screen{grid-template-columns: 150px 20px 150px 20px 1fr;}
	
	.cardPhoto .cpItem{grid-template-columns: 1fr;}
}

@media screen and (max-width: 660px) {
	.greetingSponsor .gsLogo .glTop .gtBox{grid-template-columns:1fr;}
	.greetingSponsor .gsLogo .glTop .gtBox > div{text-align:center;}
}

@media screen and (max-width: 640px) {
	.competition_submit{grid-template-columns: 1fr; max-width: 500px;}
	.competition_submit > div:first-child > div{padding-bottom: unset; width: 140px; height: 187px;}
	
	.campusvisit_tl .ctItem{grid-template-columns: 1fr; padding: 20px 0px;}
	.campusvisit_tl .ctItem > div:first-child > div:first-child, .campusvisit_tl .ctItem > div:first-child > div:nth-child(2){width: unset;}
	
	.campusvisit_running{margin: 50px 0px;}
	
	.card_movie .cmItem{grid-template-columns: 100px 1fr;}
}

@media screen and (max-width: 580px) {
	.aboutHistoryLayout{grid-template-columns: 1fr;}
	.aboutHistoryLayout .ahlList > div{display: inline-block;}
	.aboutHistoryLayout .ahlList > div:not(:last-child){margin-right: 15px;}
	
	.movieSpace{height: 75px;}
	.movieLayout{grid-template-columns: 1fr;}
	.movieLayout .mlPhoto{width: 200px;}
	.movieSchedule{max-width: unset;}
	
	.competition_account .caBox{grid-template-columns: 1fr;}
	
	.campusvisit_fest > div{grid-template-columns: 1fr;}
	
	.history_screen{grid-template-columns: 90px 20px 90px 20px 1fr;}
	
	.aboutSponsor .asLogo .alTop .atBox{grid-template-columns: 1fr;}
	.aboutSponsor .asLogo .alTop .atBox > div{text-align: center;}
	
	.scrollArrow{display: none;}
}

@media screen and (max-width: 500px) {
	.competition_box{grid-template-columns: 1fr;}
	.competition_box .cbCover{width: 200px;}
	
	.sectionMenu{display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: 10px; text-align: center;}
	.sectionMenu > a:not(:last-child){margin-right: 0px;}
	
	.cardGalleryGrid, .exploreList .ciContent{grid-template-columns: 1fr;}
}

@media screen and (max-width: 470px) {
	.popupMovie .pmHead .phCover{width: 200px;}
	.popupMovie .pmBody .pbList{grid-template-columns: 1fr;}
	
	.competition_account .caBtn > div{display: grid;;}
	.competition_account .caBtn > div:not(:last-child){margin-bottom: 10px; margin-right: 0px}
	.competition_account .caBtn > div button{width: 100%;}
	
	.cardMovieGrid{grid-template-columns: 1fr 1fr;}
}

@media screen and (max-width: 440px) {
	#header .hMobile{width: 100%; max-width: unset;}
	
	.competition_submit{padding: 0px;}
	.competition_submit .csBody{border-radius: 0px;}
}

@media screen and (max-width: 430px) {
	.competition_submit_img_still{grid-template-columns: 1fr 1fr;}
}

@media screen and (max-width: 361px) {
}

/* JWC 2026 Redesign Responsive */
@media screen and (max-width: 1280px) {
	.jwc_hero_content { max-width: 95%; }
	.jwc_schedule_card { width: 95%; }
	.jwc_stack_panel { padding: 80px 48px; }
	.jwc_road_wrap { padding: 100px 48px; }
	.jwc_video_wrap { padding: 80px 48px; }
	.jwc_archive_wrap { padding: 80px 48px; }
	#footer, .jwc_footer_modern { gap: 48px; padding: 80px 0 80px 48px; }
}

@media screen and (max-width: 1024px) {
	.history_overview { grid-template-columns: 280px 1fr !important; gap: 24px !important; }
	.history_overview .hoBody { padding: 36px 36px !important; border-radius: 26px !important; }
	.history_overview .hbRow { grid-template-columns: 170px 1fr !important; gap: 20px !important; padding: 24px 0 !important; }
	.jwc_hero_card { width: 460px; height: 460px; gap: 50px; padding: 36px 30px; }
	.jwc_hero_center_box { height: auto; gap: 50px; }
	.jwc_hero_title { font-size: 48px; }
	.jwc_city_section {
		flex-direction: row;
		align-items: center;
		text-align: left;
		gap: 32px;
		width: 100%;
		max-width: 100%;
		margin: 40px 0 60px 0;
		padding: 0 24px;
		box-sizing: border-box;
		overflow-x: auto;
		scrollbar-width: none;
		justify-content: flex-start;
	}
	.jwc_city_section::-webkit-scrollbar { display: none; }
	.jwc_city_header {
		align-items: flex-start;
		text-align: left;
		max-width: 240px;
		flex-shrink: 0;
	}
	.jwc_city_title {
		font-size: 28px;
	}
	.jwc_city_cards {
		flex-direction: row;
		gap: 16px;
		flex-shrink: 0;
	}
	.jwc_city_card {
		width: 220px;
		height: 300px;
		border-radius: 28px;
		flex-shrink: 0;
	}
	.jwc_city_badge_text {
		font-size: 19px;
	}
	.jwc_road_header { flex-direction: column; align-items: flex-start; gap: 20px; }
	.jwc_road_title { font-size: 48px; }
	.jwc_road_content { height: auto; }
	.jwc_road_bento { height: 600px; }
	.jwc_video_card { height: auto; aspect-ratio: 16/9; }
	#footer, .jwc_footer_modern { flex-direction: column; padding: 60px 24px; gap: 40px; }
	.jwc_footer_col_left { width: 100%; align-items: center; text-align: center; }
	.jwc_footer_inner_left { height: auto; align-items: center; }
	.jwc_footer_brand { justify-content: center; width: 100%; }
	.jwc_footer_nav_grid { justify-content: center; }
	.jwc_footer_legal_row { justify-content: center; }
	.jwc_footer_col_right { border-radius: 24px; width: 100%; max-width: 500px; justify-content: center; }
}

@media screen and (max-width: 900px) {
	.jwc_stack_panel {
		position: relative !important;
		min-height: auto !important;
		padding: 48px 24px !important;
		transform: none !important;
		opacity: 1 !important;
	}
	.jwc_stack_inner {
		transform: none !important;
		opacity: 1 !important;
		max-width: 100% !important;
		width: 100% !important;
	}
	.jwc_section_head {
		height: 48px;
		min-height: 48px;
		flex-direction: row;
		align-items: center;
	}
	.jwc_date_picker_row {
		flex-direction: row;
		align-items: center;
		height: 64px;
	}
	.jwc_date_tabs {
		width: 100%;
	}
	.jwc_hero {
		height: auto;
		min-height: 100svh;
		padding: 0;
		margin-top: -60px;
	}
	.jwc_hero_inner {
		height: auto;
		min-height: 100svh;
		width: 100%;
		margin: 0;
		padding: 0;
	}
	/* Tablet & Desktop: Curtain tetap aktif */
	.jwc_hero_mobile_bg {
		display: none;
	}
	.jwc_curtain_stage {
		display: block;
		width: 100%;
		height: 100%;
		left: 0;
		transform: none;
	}
	.jwc_strip_art {
		width: 1440px;
		height: 926px;
	}

	/* Mobile (< 768px): Gunakan background sebelumnya, matikan curtain */
	@media screen and (max-width: 767px) {
		.jwc_curtain_stage {
			display: none !important;
		}
		.jwc_hero_mobile_bg {
			display: block !important;
			position: absolute;
			inset: 0;
			overflow: hidden;
			pointer-events: none;
			z-index: 1;
		}
		.jwc_hero_mobile_bg .jwc_hero_svg {
			display: block !important;
			position: absolute;
			left: 50%;
			top: 0;
			transform: translateX(-50%);
			width: 1440px;
			height: 926px;
			max-width: none;
		}
	}
	.jwc_hero_content {
		height: auto;
		top: 0;
		gap: 36px;
		padding: 140px 16px 48px;
		box-sizing: border-box;
		max-width: 100%;
	}
	.jwc_hero_card {
		width: 100%;
		max-width: 440px;
		height: auto;
		padding: 40px 24px;
		gap: 36px;
	}
	.jwc_hero_title {
		font-size: 38px;
	}
	.jwc_schedule_card {
		height: auto;
		flex-direction: column;
		padding: 36px 20px 40px 20px;
		gap: 28px;
		width: 100%;
		max-width: 480px;
		border-radius: 32px;
	}
	.jwc_schedule_card::before, .jwc_schedule_card::after {
		display: none;
	}
	.jwc_sched_side {
		width: 100%;
	}
	.jwc_timeline_line {
		position: static;
		width: 2px;
		height: 32px;
		margin: 0 auto;
		background-color: #000000;
	}
	.jwc_sched_date {
		font-size: 38px;
		margin-top: 12px;
		margin-bottom: 16px;
	}
	.jwc_screenings.dual {
		flex-direction: column;
		align-items: center;
		gap: 12px;
	}
	.jwc_city_section {
		margin: 32px 0 48px 0;
		padding: 0 16px;
		gap: 20px;
	}
	.jwc_city_header {
		min-width: 180px;
	}
	.jwc_city_cards {
		flex-direction: row;
		gap: 12px;
	}
	.jwc_city_card {
		width: 180px;
		height: 260px;
		border-radius: 24px;
	}
	.jwc_road_wrap {
		padding: 60px 20px;
		min-height: auto;
	}
	.jwc_road_title {
		font-size: 38px;
	}
	.jwc_road_desc {
		font-size: 15px;
	}
	.jwc_road_bento {
		height: auto;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: repeat(4, 180px);
	}
	.jwc_bento_1 { grid-column: 1 / span 2; grid-row: 1; }
	.jwc_bento_2 { grid-column: 1; grid-row: 2; }
	.jwc_bento_3 { grid-column: 2; grid-row: 2; }
	.jwc_bento_4 { grid-column: 1; grid-row: 3; }
	.jwc_bento_5 { grid-column: 2; grid-row: 3; }
	.jwc_bento_6 { grid-column: 1 / span 2; grid-row: 4; }
	.jwc_video_wrap {
		padding: 60px 20px;
		min-height: auto;
	}
	.jwc_video_header_title {
		font-size: 28px;
	}
	.jwc_archive_wrap {
		padding: 60px 20px;
		min-height: auto;
	}
	.jwc_video_header,
	.jwc_archive_header {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		height: auto;
	}
	.jwc_archive_header_title {
		font-size: 28px;
	}
}

@media screen and (max-width: 600px) {
	.jwc_hero_title { font-size: 30px; }
	.jwc_hero_year { font-size: 36px; }
	.jwc_sched_label { font-size: 15px; }
	.jwc_sched_dates { font-size: 18px; }
	.jwc_section_title { font-size: 22px; }
	.jwc_road_title { font-size: 30px; }
	.jwc_road_bento {
		grid-template-columns: 1fr;
		grid-template-rows: repeat(6, 160px);
	}
	.jwc_bento_1 { grid-column: 1; grid-row: 1; }
	.jwc_bento_2 { grid-column: 1; grid-row: 2; }
	.jwc_bento_3 { grid-column: 1; grid-row: 3; }
	.jwc_bento_4 { grid-column: 1; grid-row: 4; }
	.jwc_bento_5 { grid-column: 1; grid-row: 5; }
	.jwc_bento_6 { grid-column: 1; grid-row: 6; }
	.jwc_archive_grid {
		flex-direction: row;
		overflow-x: auto;
		scrollbar-width: none;
		overscroll-behavior-x: contain;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-self: stretch;
		padding-bottom: 8px;
	}
	.jwc_archive_grid::-webkit-scrollbar { display: none; }
	.jwc_archive_card { width: 240px; flex-shrink: 0; }
	.jwc_footer_brand { flex-direction: column; align-items: center; height: auto; width: 100%; }
	.jwc_footer_brand_txt { font-size: 36px; line-height: 36px; }
	.jwc_footer_brand_yr { font-size: 60px; line-height: 60px; }
	.jwc_footer_nav_grid { gap: 24px; }
	.jwc_footer_col_right { padding: 30px 20px; }
}

@media screen and (max-width: 480px) {
	.jwc_footer_brand_txt { font-size: 32px; line-height: 32px; }
	.jwc_footer_brand_yr { font-size: 50px; line-height: 50px; }
	.jwc_footer_nav_grid { gap: 16px; width: 100%; justify-content: center; }
	.jwc_footer_nav_sub { width: auto; align-items: center; }
	.jwc_footer_col_right { padding: 24px 16px; border-radius: 20px; }
	.jwc_footer_info_box { width: 100%; align-items: center; text-align: center; gap: 28px; }
	.jwc_footer_newsletter { text-align: center; font-size: 15px; }
	.jwc_footer_socmed_group { align-items: center; }
	.jwc_footer_socmed_icons { justify-content: center; }
	.jwc_footer_contact_lbl { margin-bottom: 0; }
	.jwc_footer_contact_email { font-size: 14px; word-break: break-all; }
}

/* About Team Responsive */
@media screen and (max-width: 860px) {
	.aboutTeam,
	.aboutTeamCard {
		padding: 44px 28px !important;
		border-radius: 26px !important;
	}
	.aboutTeamGrid {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 32px 18px !important;
	}
	.tmName {
		font-size: 14px !important;
	}
	.tmRole {
		font-size: 13px !important;
	}
}

@media screen and (max-width: 680px) {
	.aboutTeam,
	.aboutTeamCard {
		padding: 36px 20px !important;
		border-radius: 22px !important;
	}
	.aboutTeamLeaders {
		gap: 28px !important;
		margin-bottom: 36px !important;
	}
	.aboutTeamGrid {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}
	.teamCol {
		gap: 28px !important;
	}
}

/* About Glass Cards Responsive */
@media screen and (max-width: 860px) {
	.aboutIntro,
	.aboutProgram,
	.aboutAwards,
	.cardAwards,
	.aboutSponsor .asLogo,
	.aboutSponsor .asMedia,
	.aboutGreetings .agContent,
	.aboutHistoryLayout .ahlContent,
	.alTos,
	.aboutTab .competition_layout .clContent {
		padding: 36px 28px !important;
		border-radius: 26px !important;
	}
	.aboutHistoryLayout {
		grid-template-columns: 120px 1fr !important;
		gap: 20px !important;
	}
}

@media screen and (max-width: 680px) {
	.aboutIntro,
	.aboutProgram,
	.aboutAwards,
	.cardAwards,
	.aboutSponsor .asLogo,
	.aboutSponsor .asMedia,
	.aboutGreetings .agContent,
	.aboutHistoryLayout .ahlContent,
	.alTos,
	.aboutTab .competition_layout .clContent {
		padding: 28px 20px !important;
		border-radius: 22px !important;
	}
	.aboutHistoryLayout {
		grid-template-columns: 1fr !important;
	}
	.aboutHistoryLayout .ahlList {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
	}
	.cardAwards .caList .clItem {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}
	.cardAwards .caList .clItem > div:first-child > div {
		padding-bottom: 50% !important;
	}
}