.fkids_programs_page #pagetitle .main_img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.fkids_programs_page .programs_contents{background:#fff;padding:65px 5% 70px;font-size:19px;line-height:1.95;color:#52636a}
.programs_contents *{box-sizing:border-box}.programs_intro,.programs_section,.programs_next,.programs_visit{max-width:1320px;margin:0 auto}.programs_section{padding:75px 45px;position:relative;scroll-margin-top:35px}.programs_heading{display:flex;justify-content:center;align-items:center;gap:24px;text-align:center;font-size:34px!important;line-height:1.5;margin:0 0 55px!important;color:#ff6834;position:relative}.programs_heading>img{position:absolute;width:80px;height:80px;object-fit:contain;left:calc(50% - 350px)}.programs_heading>span{position:relative;display:inline-block;padding-bottom:27px}.programs_heading>span:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:7px;border-radius:9px;background:linear-gradient(90deg,#9bd7b1 72%,#ffe082 72%)}.programs_heading small{display:block;font-size:19px;letter-spacing:.13em;color:#469e63;margin-top:10px}.programs_menu{display:flex;justify-content:center;flex-wrap:wrap;gap:15px}.programs_menu a{background:#44975c;color:white;border:2px solid #44975c;border-radius:40px;padding:12px 28px;transition:background .2s,color .2s}.programs_menu a:hover,.programs_menu a:focus-visible{background:white;color:#44975c;opacity:1}.programs_lead{font-size:29px;line-height:1.7;color:#44975c;text-align:center;margin:0 0 26px}.programs_description{max-width:950px;margin:0 auto 40px}.daily_panel{background:#eff8ee;padding:30px;border-radius:30px;margin-bottom:30px}.programs_subtitle{font-size:25px;line-height:1.6;color:#fff;background:#44975c;border-radius:7px;padding:12px 22px;margin:35px 0 24px;display:table}.daily_panel>.programs_subtitle{margin-top:0}.daily_cards{display:grid;grid-template-columns:1.5fr 1fr;gap:25px}.program_card{background:white;border:1px solid #d6e7d8;border-radius:22px;padding:28px}.program_card h4{font-size:25px;color:#44975c;margin:0 0 14px}.program_card p{margin:0}.programs_tinted{background:#fff8e8;border-radius:60px}.program_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.activity_tags{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:0}.activity_tags li{background:white;border-radius:25px;padding:6px 18px;border:1px solid #f1dfb7}.schedule_columns{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:start}.schedule_columns .programs_subtitle{font-size:23px;margin-top:0}.daily_schedule{width:100%;border-collapse:collapse;font-size:17px;line-height:1.7}.daily_schedule th,.daily_schedule td{border:1px solid #cfdbc9;padding:17px 15px;vertical-align:middle}.daily_schedule th{width:32%;background:#f8f6d9;text-align:left;white-space:nowrap}.daily_schedule td{background:white}.daily_schedule td strong{font-weight:500}.daily_schedule p{margin:5px 0 0}.daily_schedule small{display:block;font-size:14px}.annual_description{margin:0 0 25px;font-size:17px}.event_photos{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:25px}.event_photos figure{margin:0;min-width:0}.event_photos img{width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:8px;display:block}.event_photos figcaption{text-align:center;font-size:12px;line-height:1.5;margin-top:6px}.annual_grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d9d9ce;border-left:1px solid #d9d9ce}.annual_grid article{border-right:1px solid #d9d9ce;border-bottom:1px solid #d9d9ce;min-height:150px;text-align:center;background:#fff}.annual_grid h4{font-size:21px;margin:0;background:#fff2e7;padding:8px;color:#df774f}.annual_grid article:nth-child(3n+2) h4{background:#e7f6fa;color:#498894}.annual_grid p{font-size:17px;padding:17px 10px;margin:0;line-height:1.7}.schedule_decor{display:block;width:130px;height:90px;object-fit:contain;margin:30px 0 0 auto}.programs_visit{text-align:center;margin:10px auto 40px}.programs_next{display:grid;grid-template-columns:1fr 1fr;gap:25px}.programs_next a{display:flex;align-items:center;gap:20px;background:#eaf8ef;border-radius:24px;padding:30px;font-size:27px;color:#44975c}.programs_next a:last-child{background:#fff0df;color:#ed794e}.programs_next img{width:65px;height:65px;object-fit:contain}.programs_next span{margin-left:auto}
@media(min-width:768px) and (max-width:1199px){.fkids_programs_page .programs_contents{font-size:18px;padding-left:4%;padding-right:4%}.programs_section{padding:55px 25px}.schedule_columns{grid-template-columns:1fr;gap:50px}.programs_heading{font-size:30px!important}.programs_heading>img{width:65px;left:calc(50% - 310px)}.program_grid{gap:12px}.program_card{padding:22px}.programs_next a{font-size:23px;padding:24px}.event_photos figcaption{font-size:14px}.daily_schedule,.annual_description,.annual_grid p{font-size:18px}}
@media(max-width:767px){.fkids_programs_page .programs_contents{padding:35px 5% 45px;font-size:15px;line-height:1.9}.programs_section{padding:45px 0;scroll-margin-top:20px}.programs_heading{font-size:25px!important;gap:10px;margin-bottom:32px!important}.programs_heading>img{position:static;flex:0 0 42px;width:42px;height:48px}.programs_heading small{font-size:12px;letter-spacing:.08em;margin-top:6px}.programs_heading>span{padding-bottom:18px}.programs_heading>span:after{height:5px}.programs_menu{gap:10px}.programs_menu a{font-size:14px;padding:9px 14px}.programs_lead{font-size:21px;margin-bottom:20px}.programs_description{margin-bottom:25px}.daily_panel{padding:20px 15px;border-radius:22px}.daily_cards,.program_grid,.schedule_columns{grid-template-columns:1fr;gap:16px}.program_card{padding:22px}.program_card h4{font-size:21px}.programs_subtitle{font-size:21px;padding:10px 18px;margin:25px 0 18px}.programs_tinted{padding:35px 18px;border-radius:30px}.activity_tags{gap:8px}.activity_tags li{font-size:14px;padding:5px 12px}.schedule_columns{gap:35px}.schedule_columns .programs_subtitle{font-size:20px}.daily_schedule{font-size:14px;line-height:1.75}.daily_schedule th,.daily_schedule td{padding:13px 9px}.daily_schedule th{font-size:12px;width:29%}.daily_schedule small{font-size:12px}.annual_description{font-size:15px}.event_photos{grid-template-columns:repeat(3,1fr);gap:10px}.event_photos figcaption{font-size:11px}.annual_grid{grid-template-columns:repeat(2,1fr)}.annual_grid article{min-height:120px}.annual_grid h4{font-size:19px}.annual_grid p{font-size:15px;padding:15px 8px}.schedule_decor{width:85px;height:60px}.programs_next{grid-template-columns:1fr;gap:15px}.programs_next a{font-size:23px;padding:20px;gap:15px}.programs_next img{width:50px;height:50px}.programs_visit{margin-bottom:30px}}

/* Keep padding inside the full-width content and reset the old mobile hero. */
.fkids_programs_page #contents.programs_contents{box-sizing:border-box;clear:both;width:100%;min-width:0;}
.fkids_programs_page .schedule_columns>div,.fkids_programs_page .daily_cards>article,.fkids_programs_page .program_grid>article{min-width:0;}
@media(max-width:767px){
 .fkids_programs_page #pagetitle{height:auto;display:flex;flex-direction:column;padding-top:110px;margin-bottom:0;box-sizing:border-box;}
 .fkids_programs_page #pagetitle::before{display:none;}
 .fkids_programs_page #pagetitle .main_img{float:none;width:100%;height:260px;flex-shrink:0;}
 .fkids_programs_page #pagetitle .main_img img{object-position:55% center;}
 .fkids_programs_page #pagetitle .main_side{float:none;width:100%;margin:0;padding:20px 5%;box-sizing:border-box;}
 .fkids_programs_page #pagetitle .main_side .main_title{position:relative;bottom:auto;left:auto;width:100%;background:transparent;display:flex;align-items:center;justify-content:center;gap:12px;}
 .fkids_programs_page #pagetitle .main_side .main_title .icon{float:none;width:42px;margin:0;flex:0 0 42px;}
 .fkids_programs_page #pagetitle .main_side .main_title .icon img{display:block;width:42px;height:42px;object-fit:contain;}
 .fkids_programs_page #pagetitle .main_side .main_title h3{float:none;width:auto;margin:0;font-size:22px;line-height:1.6;}
 .fkids_programs_page .programs_heading>span{min-width:0;max-width:100%;overflow-wrap:anywhere;}
 .fkids_programs_page .programs_heading small{overflow-wrap:anywhere;}
 .fkids_programs_page .programs_contents p{overflow-wrap:anywhere;}
 .fkids_programs_page .daily_schedule{table-layout:fixed;width:100%;}
 .fkids_programs_page .daily_schedule th{width:31%;white-space:normal;overflow-wrap:anywhere;}
 .fkids_programs_page .daily_schedule td{overflow-wrap:anywhere;}
 .fkids_programs_page .programs_next a{min-width:0;font-size:21px;}
}

/* Mobile section icons sit above the centered title. */
@media(max-width:767px){
 .fkids_programs_page .programs_heading{flex-direction:column;align-items:center;gap:12px;}
 .fkids_programs_page .programs_heading>img{position:static;flex:none;width:52px;height:52px;margin:0 auto;object-fit:contain;}
 .fkids_programs_page .programs_heading>span{display:block;width:auto;max-width:100%;text-align:center;}
}
.fkids_programs_page .program_card{position:relative;}
.fkids_programs_page .program_card .program_card_art{position:absolute;right:18px;top:15px;width:68px;height:68px;object-fit:contain;pointer-events:none;}
.fkids_programs_page .program_card h4{padding-right:72px;min-height:53px;}
@media(max-width:767px){.fkids_programs_page .program_card .program_card_art{width:55px;height:55px;right:14px;top:14px;}.fkids_programs_page .program_card h4{padding-right:57px;min-height:43px;}}

/* Review 77: keep the mobile program title in two deliberate lines. */
.program_title_sp_break{display:none;}
@media(max-width:767px){
 .program_title_sp_break{display:block;}
 #programs .programs_heading .program_title_part{white-space:nowrap;}
 #programs .programs_heading{font-size:clamp(18px,5.6vw,25px)!important;}
}

/* Review 26-32: day-part icons, worksheet note and centered program intro. */
.daily_activities_section .worksheet_description{margin:25px auto 0;}
#programs>.programs_description{text-align:center;}

/* Reviews 33-40: stacked schedules, consistent calendar colours, seasonal accents. */
.activity_tags li.activity_etc{border:0;background:none;border-radius:0;padding-left:3px;padding-right:3px;}
.schedule_section .schedule_columns{grid-template-columns:minmax(0,1fr);gap:55px;}
.schedule_section .daily_schedule th{background:#fffdd3;}
.schedule_section .annual_grid h4,.schedule_section .annual_grid article:nth-child(3n+2) h4{background:#fff2e7;color:#df774f;}
.schedule_section .annual_grid article{position:relative;min-height:165px;}
.schedule_section .annual_grid article:has(.annual_icon){min-height:210px;}
.schedule_section .annual_grid article:has(.annual_icon) p{padding-bottom:80px;}
.schedule_section .annual_grid .annual_icon{position:absolute;bottom:6px;width:95px;height:95px;object-fit:contain;pointer-events:none;}
.schedule_section .annual_icon_0{left:12px;}
.schedule_section .annual_icon_1{right:12px;}
.schedule_section .event_photos{grid-template-columns:repeat(6,minmax(0,1fr));}
@media(max-width:767px){
 .schedule_section .schedule_columns{gap:38px;}
 .schedule_section .event_photos{grid-template-columns:repeat(3,minmax(0,1fr));}
 .schedule_section .annual_grid article{min-height:130px;}
 .schedule_section .annual_grid article:has(.annual_icon){min-height:185px;}
 .schedule_section .annual_grid .annual_icon{width:75px;height:75px;}
 .schedule_section .annual_icon_0{left:0;}
 .schedule_section .annual_icon_1{right:0;}
}

/* One small, consistently sized seasonal icon per month; April stays text-only. */
.schedule_section .annual_grid article,.schedule_section .annual_grid article:has(.annual_icon){min-height:185px;}
.schedule_section .annual_grid article:has(.annual_icon) p{padding:14px 10px 72px;}
.schedule_section .annual_grid .annual_month_icon{position:absolute;left:50%;right:auto;bottom:14px;transform:translateX(-50%);width:64px;height:50px;object-fit:contain;}
@media(max-width:767px){
 .schedule_section .annual_grid article,.schedule_section .annual_grid article:has(.annual_icon){min-height:170px;}
 .schedule_section .annual_grid article:has(.annual_icon) p{padding:12px 8px 65px;}
 .schedule_section .annual_grid .annual_month_icon{width:56px;height:44px;bottom:12px;}
}

/* Gentle line-art calendar icons, smaller than the former filled artwork. */
.schedule_section .annual_grid .annual_month_icon{width:54px;height:48px;bottom:13px;}
@media(max-width:767px){.schedule_section .annual_grid .annual_month_icon{width:48px;height:43px;bottom:11px;}}

/* Stop at the actual heading, not the surrounding section padding. */
#daily-activities{scroll-margin-top:40px;}
@media(max-width:767px){#daily-activities{scroll-margin-top:24px;}}

/* Schedule uses the same heading-based anchor position as DAILY ACTIVITIES. */
#schedule{scroll-margin-top:40px;}
@media(max-width:767px){#schedule{scroll-margin-top:24px;}}
