.Intro .Video button {transition: background-color .2s ease, transform .15s ease, box-shadow .2s ease, opacity .2s ease;}

@media (hover: hover) and (pointer: fine) {
	.Intro .Video button:hover {background-color: rgba(255,255,255,0.08);} 
}

@media (hover: none), (pointer: coarse) {
	.Intro .Video button:hover {background-color: transparent;}
	.Intro .Video button:active {background-color: rgba(255,255,255,0.12); transform: scale(0.98);} 
}

.BookingSectionHollow {background-color: var(--light); height: 1px;}

.Programs {position: relative; color: var(--blue); padding-top: 60px; padding-bottom: 60px;}
.Programs::before {content: ''; position: absolute; inset: 0 calc(50% - 50vw) 0; background: var(--light-blue); z-index: -1;}
.Programs header {margin-bottom: 60px;}
.Programs article + article {margin-top: 15px;}
.Programs article {display: flex; gap: 20px; flex-wrap: wrap;}
.Programs article .Image {position: relative; display: block; overflow: visible; border: none; outline: none;}
.Programs article img {height: auto; width: auto; border-radius: 10px;}
.Programs article .Info {flex: 1; border-radius: 10px; background: var(--blue); color: var(--light-blue); padding: 25px 32px; border: 1px solid rgba(255,255,255,0.2);}
.Programs article h2 {font-size: 32px; line-height: 40px; margin-bottom: 10px; font-weight: 600; color: var(--light);}
.Programs .SubTitle {font-weight: bold; margin-bottom: 20px; color: var(--light);}
.Programs .Timing {margin-bottom: 10px;}
.Programs .BigInfo {margin-bottom: 10px; color: var(--blue); background-color: var(--light-blue); width: max-content; padding: 4px 12px; border-radius: 8px; line-height: normal; font-weight: bold;}
.Programs article .Text {
	--font-size: 14px;
	--line-height: 20px;
	margin-top: 20px;
}
@media (min-width: 901px) {
	.Programs article img {max-width: 300px; position: sticky; top: calc(var(--header-height) + 10px);}
}
@media (max-width: 900px) {
	.Programs article .Image {order: 1; flex: 1 0 100%;}
}/* Header interactions and device-specific behavior */

/* Smooth transitions */
#Header nav a:not(.Button), #Header .BurgerMenu {transition: background-color .2s ease, color .2s ease, transform .15s ease, box-shadow .2s ease, opacity .2s ease;}

/* Desktop / hover-capable */
@media (hover: hover) and (pointer: fine) {
	#Header nav a:not(.Button):hover {background: rgba(255,255,255,0.08); border-radius: 8px;}
	#Header .BurgerMenu:hover {opacity: 0.85; transform: translateY(-1px);} 
}

/* Phones / touch-only: disable hover, use active */
@media (hover: none), (pointer: coarse) {
	#Header nav a:not(.Button):hover {background: transparent;}
	#Header nav a:not(.Button):active {background: rgba(255,255,255,0.12); border-radius: 8px;}
	#Header .BurgerMenu:hover {opacity: 1; transform: none;}
	#Header .BurgerMenu:active {transform: scale(0.96);} 
}
/* AI created, model - Claude Sonnet 4.5 */
.Foot {position: relative; padding: 32px 20px 20px; text-align: center; border-top: 1px solid rgba(255, 255, 255, 0.1); font-size: 13px;}
.Foot::before {content: ''; position: absolute; inset: 0 calc(50% - 50vw); background: var(--bg-light); z-index: -1;}
.FootNav {display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; margin-bottom: 16px;}
.FootNav a {color: var(--text); text-decoration: none; opacity: 0.8; transition: opacity 0.2s ease;}
.FootNav a:hover {opacity: 1;}
.FootInfo {display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; opacity: 0.7; line-height: 1.6;}
.FootInfo a {color: var(--text); text-decoration: none; transition: opacity 0.2s ease;}
.FootInfo a:hover {opacity: 1;}
.FootInfo > div {display: flex; gap: 4px;}
.FootNote {font-size: 12px; opacity: 0.6; margin-top: 8px;}

@media (max-width: 767px) {
	.FootNav {flex-direction: column; gap: 12px; align-items: center;}
	.FootInfo {flex-direction: column; gap: 8px; align-items: center;}
}
