/* Lifesong Family Music — visual refresh for Kids Campus Pro. No menus or content logic changed. */
:root{--lf-gold:#ffc51c;--lf-gold-deep:#e6a800;--lf-ink:#20232a;--lf-muted:#5e6470;--lf-cream:#fffaf0;--lf-line:#ece8e0;--lf-white:#fff;--lf-teal:#226e77}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{background:var(--lf-cream);color:var(--lf-ink);font-family:'Open Sans',Arial,sans-serif;font-size:16px;line-height:1.72;-webkit-font-smoothing:antialiased}
*,*:before,*:after{box-sizing:border-box}
img,iframe,video{max-width:100%;height:auto}
.container{width:min(1170px,calc(100% - 40px));max-width:1170px}
.sitewrapper{overflow:clip;background:#fff}
.sitewrapper.boxlayout{width:min(1280px,100%);max-width:100%;box-shadow:0 15px 55px rgba(38,33,23,.07)}
.site-header{position:relative;background:#fff;box-shadow:0 3px 24px rgba(20,24,30,.06);z-index:1000}
.site-header.fixed{position:sticky;top:0;width:100%}
.logonavigation{min-height:152px;padding:13px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logonavigation .logo,.site-header .logo{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:160px;min-width:160px;max-width:160px;margin:0 auto;padding:0;text-align:center;float:none}
.logonavigation .logo img,.site-header .logo img{display:block;width:160px;height:160px;max-height:160px;object-fit:contain;margin:0 auto;border-radius:10px}
.logonavigation .left,.logonavigation .right{flex:1;min-width:0;margin:0;padding:0;font-size:14px;line-height:1.5}
.logonavigation .right{text-align:right}
.header-nav{background:var(--lf-ink)!important;border-radius:13px!important;box-shadow:0 12px 30px rgba(15,20,25,.13);margin-bottom:0}
.sitenav{text-align:center}
.sitenav ul{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}
.sitenav ul li{float:none}
.sitenav ul li a{color:#fff!important;display:block;line-height:1.3;text-transform:none;font-weight:700;font-size:14px;letter-spacing:.01em;padding:18px 17px;text-decoration:none;transition:background .2s,color .2s}
.sitenav ul li a:hover,.sitenav ul li.current-menu-item>a,.sitenav ul li.current_page_item>a{color:var(--lf-gold)!important;background:rgba(255,255,255,.08)!important}
.sitenav ul li ul{background:var(--lf-ink)!important;box-shadow:0 15px 25px rgba(0,0,0,.15);border-radius:0 0 12px 12px;overflow:visible}
.sitenav ul li ul li a{border-bottom:1px solid rgba(255,255,255,.1)!important;text-align:left}
.sitenav ul li:hover>ul,.sitenav ul li:focus-within>ul{display:block}
.sitenav a:focus-visible,.button:focus-visible,a:focus-visible{outline:3px solid var(--lf-gold);outline-offset:3px}
h1,h2,h3,h4,h5,h6{color:var(--lf-ink);font-family:'Open Sans',Arial,sans-serif;line-height:1.2;letter-spacing:-.025em}
h1{font-size:clamp(2rem,4vw,3.6rem)}h2{font-size:clamp(1.7rem,3vw,2.6rem)}h3{font-size:clamp(1.35rem,2vw,1.75rem)}
h2.section_title{font-size:clamp(1.9rem,3vw,2.75rem);margin-bottom:32px}
body.home section{padding-top:clamp(48px,6vw,85px);padding-bottom:clamp(48px,6vw,85px)}
.slider-main{background-color:var(--lf-cream);min-height:0}
.slider-main .nivoSlider img{object-fit:contain}
.nivo-caption,.slider-main .custominfo{border-radius:16px}
.slider-main .custominfo h2{color:#fff}
.button,a.button,button,input[type='submit'],.read-more,.readmore{border-radius:999px!important;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover,a.button:hover,button:hover,input[type='submit']:hover{transform:translateY(-2px)}
a{transition:color .18s}
a:hover{color:var(--lf-teal)}
input[type='text'],input[type='email'],input[type='tel'],input[type='search'],textarea,select{max-width:100%;border-radius:10px!important;border:1px solid #d9dfe2;padding:11px 14px}
.main-container,.site-content,.pagecontent,.content-area{max-width:100%}
.main-container img,.entry-content img{border-radius:12px}
.footer{padding:65px 0 40px;background:#24272c!important;color:#e9e9e9}
.footer h5,.footer h3,.footer h4{color:#fff}
.footer a{color:#eee}.footer a:hover{color:var(--lf-gold)}
.footerbottom .pattern,.sectiontop .pattern{fill:var(--lf-gold)!important}
.wp-block-columns{gap:clamp(18px,3vw,36px)}
.wp-block-button__link{border-radius:999px}
@media(max-width:1100px){.sitenav ul li a{padding:16px 10px;font-size:13px}.container{width:calc(100% - 36px)}.logonavigation .logo,.site-header .logo{width:130px;min-width:130px}.logonavigation .logo img,.site-header .logo img{width:130px;height:130px}.logonavigation{min-height:132px}}
@media(max-width:800px){.site-header{position:relative!important}.site-header.fixed{position:relative!important}.container{width:calc(100% - 30px)}.logonavigation{min-height:0;padding:14px 0;gap:8px}.logonavigation .logo,.site-header .logo{min-width:105px;width:105px}.logonavigation .logo img,.site-header .logo img{width:105px;height:105px}.logonavigation .left,.logonavigation .right{font-size:12px}.header-nav{border-radius:10px!important}.toggleMenu{display:block;min-height:46px;padding:12px 16px!important;color:#fff!important;text-align:center}.sitenav ul{display:block!important;text-align:left}.sitenav ul li{display:block;width:100%}.sitenav ul li a{padding:13px 17px!important;white-space:normal}.sitenav ul li ul,.sitenav ul li:hover>ul,.sitenav ul li:focus-within>ul{position:static!important;left:auto!important;width:auto!important;box-shadow:none;padding-left:12px}.sitenav{max-width:100%}body.home section{padding:46px 0}.footer{padding:45px 0 25px}}
@media(max-width:520px){.logonavigation{display:flex;flex-wrap:wrap;justify-content:center}.logonavigation .logo,.site-header .logo{order:-1;flex-basis:100%;width:100%;max-width:none;margin:0 auto}.logonavigation .logo img,.site-header .logo img{width:135px;height:135px;max-height:135px}.logonavigation .left,.logonavigation .right{flex-basis:100%;width:100%;text-align:center!important;margin:0;padding:0}.logonavigation .social-icons{text-align:center}h1{font-size:2.05rem}h2{font-size:1.75rem}.container{width:calc(100% - 28px)}.sitewrapper{overflow-x:hidden}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* Lifesong desktop density pass v2.1: visual-only overrides; preserve templates, WP menus and functionality. */
@media(min-width: 801px){
  html{scroll-padding-top:76px}
  body{line-height:1.55}
  .container{width:min(1220px,calc(100% - 56px));max-width:1220px}
  .logonavigation{min-height:98px!important;padding:7px 0!important;gap:15px!important}
  .logonavigation .logo,.site-header .logo{width:102px!important;min-width:102px!important;max-width:102px!important}
  .logonavigation .logo img,.site-header .logo img{width:102px!important;height:102px!important;max-height:102px!important;border-radius:6px}
  .logonavigation .left,.logonavigation .right{font-size:13px;line-height:1.4}
  .logonavigation i{font-size:22px;margin-right:7px}
  .headerinfo{padding:4px 0}
  .header-nav{border-radius:9px!important}
  .sitenav ul li a{padding:13px 12px;font-size:13px}
  .sitenav ul li ul li a{padding:12px 15px}
  body.home section{padding-top:38px!important;padding-bottom:38px!important}
  body.home section > .container > div{margin-top:0}
  body.home section:has(> .container > div:empty){padding-top:12px!important;padding-bottom:12px!important}
  h2.section_title,#section6 h2.section_title{margin-bottom:20px!important}
  h1{font-size:clamp(1.9rem,3vw,3rem)}
  h2{font-size:clamp(1.5rem,2.4vw,2.15rem)}
  h2.section_title{font-size:clamp(1.7rem,2.5vw,2.2rem)}
  h3{font-size:clamp(1.2rem,1.7vw,1.5rem)}
  p{margin-top:0;margin-bottom:12px}
  .main-container img,.entry-content img{max-width:100%;height:auto}
  .teammember-list{padding:12px 10px}
  .teammember-list h3.title{font-size:26px;padding-top:27px}
  .titledesbox{padding:10px 0}
  .ourfeaturedcontent{padding:19px 21px 23px}
  .ourfeatured_three_column{padding:10px}
  .fourpagebox{min-height:0;padding:10px}
  .news_content{padding:15px 0}
  .latest-news{padding:8px}
  .site-main.sitefull.contactpanel{padding:20px 30px 15px}
  .contactpanel .one_half.last_column{padding:25px 30px}
  .contactpanel h2.section_title{margin-bottom:16px!important}
  #section8{padding-top:35px!important}
  #section9{padding-top:30px!important;padding-bottom:30px!important}
  .homecontact input[type=text],.homecontact input[type=email],.homecontact input[type=tel],.homecontact .wpcf7-select{padding:12px 22px!important;margin:6px 0!important}
  .homecontact .wpcf7-textarea{padding:12px 22px!important;margin:9px 0 14px!important}
  .footer{padding:35px 0 22px!important}
  .copyright-wrapper .container{padding:14px 0}
  aside.widget{margin-bottom:22px;padding:18px}
  .content-area{padding:24px 12px!important}
  .slider-main{min-height:0!important}
  .slider-main .nivoSlider{max-height:none!important}
  .slider-main .nivoSlider img{object-fit:contain;object-position:center}
  /* Restrict oversized media in multi-column home layouts without cropping image content. */
  body.home .one_third img,body.home .one_fourth img,body.home .one_half img,
  body.home .ourfeatured_three_column img{max-width:100%;height:auto;max-height:350px;object-fit:contain}
}
@media(min-width:801px) and (max-width:1100px){
  .logonavigation{min-height:90px!important}
  .logonavigation .logo,.site-header .logo{width:90px!important;min-width:90px!important;max-width:90px!important}
  .logonavigation .logo img,.site-header .logo img{width:90px!important;height:90px!important;max-height:90px!important}
  .sitenav ul li a{padding:12px 9px;font-size:12px}
  body.home section{padding-top:32px!important;padding-bottom:32px!important}
}
@media(max-width:800px){
  /* Preserve the roomy touch-friendly menu and existing mobile section layouts. */
  body.home section{padding-top:35px!important;padding-bottom:35px!important}
  h2.section_title{margin-bottom:23px}
  .footer{padding:35px 0 22px}
}


/* Lifesong v2.2: no bulky section padding; original header deliberately unchanged. */
@media(min-width:801px){
 body.home section, body.home #section1, body.home #section2, body.home #section3,
 body.home #section4, body.home #section5, body.home #section6,
 body.home #section7, body.home #section8, body.home #section9{
   padding-top:0!important;padding-bottom:0!important;
 }
 body.home section .section_title{margin-top:0!important;margin-bottom:12px!important}
 .content-area{padding-top:8px!important;padding-bottom:8px!important}
 .site-main.sitefull.contactpanel{padding:10px 18px!important}
 .contactpanel .one_half.last_column{padding:12px 16px!important}
 .ourfeaturedcontent{padding:12px 18px 14px!important}
 .teammember-list{padding:6px 8px!important}
}
/* Footer: eliminate oversized decorative wave and inherited negative margin.
   Keep every WP footer widget, column and menu in its original position. */
#footer-wrapper{margin:0!important;position:relative;clear:both;background:#24272c!important;overflow:visible}
#footer-wrapper .footerbottom{display:none!important}
#footer-wrapper .footer{background:transparent!important;padding:14px 0 10px!important;min-height:0!important}
#footer-wrapper .footer h5,#footer-wrapper .footer h4{margin:0 0 9px!important;padding:0!important;line-height:1.35}
#footer-wrapper .footer p{margin:0 0 7px!important;line-height:1.5!important}
#footer-wrapper .footer ul{margin-top:0;margin-bottom:8px}
#footer-wrapper .footer .widget{margin-bottom:8px!important;padding:0!important;background:transparent;box-shadow:none;border:0}
#footer-wrapper .footer [class*="widget-column-"]{min-width:0;overflow-wrap:anywhere}
#footer-wrapper .footer .contactdetail p{margin-bottom:7px!important}
#footer-wrapper .footer .contactdetail br{display:none}
#footer-wrapper .footer .space20{height:8px!important;min-height:0!important}
#footer-wrapper .copyright-wrapper{padding:0!important}
#footer-wrapper .copyright-wrapper .container{padding:10px 0!important;border-top:1px solid rgba(255,255,255,.17)!important}
#footer-wrapper .copyright-txt,#footer-wrapper .design-by{line-height:1.4}
#footer-wrapper .footer .social-icons a{width:34px;height:34px;line-height:34px;font-size:17px}
@media(max-width:800px){
 #footer-wrapper .footer{padding:16px 0 10px!important}
 #footer-wrapper .footer .cols-2 [class*="widget-column-"],
 #footer-wrapper .footer .cols-3 [class*="widget-column-"],
 #footer-wrapper .footer .cols-4 [class*="widget-column-"]{
  width:100%!important;float:none!important;margin:0 0 12px!important;
 }
 #footer-wrapper .copyright-txt,#footer-wrapper .design-by{float:none!important;text-align:center}
}


/* v2.3: Clean section edges. Keep existing background-image settings and slider intact.
   Restore original decorative artwork with Appearance > Customize > Lifesong Appearance. */
body:not(.lifesong-decorative-backgrounds) .sectiontop,
body:not(.lifesong-decorative-backgrounds) .sectionbottom {display:none !important;}
body:not(.lifesong-decorative-backgrounds).home section#section1,
body:not(.lifesong-decorative-backgrounds).home section#section3,
body:not(.lifesong-decorative-backgrounds).home section#section4,
body:not(.lifesong-decorative-backgrounds).home section#section5,
body:not(.lifesong-decorative-backgrounds).home section#section6,
body:not(.lifesong-decorative-backgrounds).home section#section8 {background-image:none !important;}


/* v2.4 — Larger desktop brand, full-width menu, modern location footer. */
@media(min-width:801px){
 .site-header .container{width:min(1500px,calc(100% - 64px))!important;max-width:1500px!important}
 .logonavigation{min-height:145px!important;padding:8px 0!important}
 .logonavigation .logo,.site-header .logo{width:142px!important;min-width:142px!important;max-width:142px!important}
 .logonavigation .logo img,.site-header .logo img{width:142px!important;height:142px!important;max-height:142px!important}
 .header-nav{width:100%!important;border-radius:14px!important}
 .sitenav>div>ul,.sitenav>ul{justify-content:center!important;width:100%!important}
 .sitenav ul li a{font-size:clamp(14px,.9vw,16px)!important;padding:16px clamp(13px,1.5vw,26px)!important}
}
@media(min-width:1280px){.site-header .container{width:min(1600px,calc(100% - 80px))!important;max-width:1600px!important}}
/* The old map-background block contained no actual map. Do not show it as a decorative orange panel. */
body:not(.lifesong-decorative-backgrounds) #section9:empty{display:none!important}
body:not(.lifesong-decorative-backgrounds) #section9 .sectiontop,body:not(.lifesong-decorative-backgrounds) #section9 .sectionbottom{display:none!important}
body:not(.lifesong-decorative-backgrounds) #section9{background-image:none!important;background-color:transparent!important;min-height:0!important}
/* Footer location feature */
#footer-wrapper{background:#21262b!important;color:#f7f7f7!important}
#footer-wrapper .lifesong-location{background:#fff9eb!important;color:#20242b!important;padding:36px 0!important;margin:0!important}
.lifesong-location-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:32px;align-items:center}
.lifesong-location-info{padding:4px 0}
.lifesong-location-eyebrow{color:#806000!important;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;margin:0 0 8px!important}
#footer-wrapper .lifesong-location h2{font-family:inherit!important;color:#20242b!important;font-size:clamp(26px,2.5vw,39px)!important;line-height:1.13!important;margin:0 0 12px!important;letter-spacing:-.03em}
.lifesong-location-intro{font-size:16px;color:#50545a!important;margin:0 0 20px!important}
.lifesong-address{display:flex;align-items:flex-start;gap:11px;margin-bottom:22px;font-size:16px}
.lifesong-address>span{color:#e5a800;font-size:20px;line-height:1.2}
.lifesong-address strong{display:block;color:#222}
.lifesong-address address{font-style:normal;color:#555d64;line-height:1.6}
.lifesong-location-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
#footer-wrapper .lifesong-directions{display:inline-flex;gap:16px;align-items:center;background:#f6bf20!important;color:#1c2026!important;border-radius:999px;padding:11px 19px;font-weight:800;text-decoration:none;box-shadow:0 5px 18px rgba(189,144,0,.16)}
#footer-wrapper .lifesong-directions:hover{background:#e6b014!important;color:#000!important}
#footer-wrapper .lifesong-email{color:#294f57!important;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.lifesong-location-map{position:relative;min-width:0;border:5px solid #fff;border-radius:19px;box-shadow:0 13px 37px rgba(23,27,31,.13);overflow:hidden;background:#e5e8e3;min-height:288px}
.lifesong-location-map iframe{display:block;width:100%;height:288px;max-width:none;border:0;border-radius:0}
#footer-wrapper .lifesong-map-open{position:absolute;right:12px;bottom:12px;background:#fff!important;color:#20252a!important;padding:8px 12px;border-radius:9px;font-size:12px;font-weight:800;box-shadow:0 3px 9px rgba(0,0,0,.12)}
/* Original footer widgets remain editable, now with readable typography. */
#footer-wrapper>.container.footer{max-width:1260px!important;padding:27px 0 24px!important}
#footer-wrapper .footer,#footer-wrapper .footer p,#footer-wrapper .footer address,#footer-wrapper .footer li,#footer-wrapper .footer .contactdetail{color:#f4f5f6!important;font-size:15px!important;line-height:1.65!important}
#footer-wrapper .footer a{color:#ffe49d!important;text-decoration:none}
#footer-wrapper .footer a:hover{color:#fff!important;text-decoration:underline}
#footer-wrapper .footer h5,#footer-wrapper .footer h4,#footer-wrapper .footer h3{color:#fff!important;font-family:inherit!important;font-size:20px!important;line-height:1.3!important;margin:0 0 12px!important}
#footer-wrapper .footer .contactdetail p,#footer-wrapper .footer .contactdetail span{color:#f4f5f6!important}
#footer-wrapper .footer .contactdetail p{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
#footer-wrapper .footer .contactdetail p span{flex:0 0 24px}
#footer-wrapper .footer .contactdetail a{overflow-wrap:anywhere}
#footer-wrapper .copyright-wrapper{background:#151a1e!important;color:#dfe3e5!important}
#footer-wrapper .copyright-wrapper .container{border-top:0!important;color:#dfe3e5!important}
#footer-wrapper .copyright-wrapper a{color:#ffdd71!important}
@media(max-width:800px){
 #footer-wrapper .lifesong-location{padding:25px 0!important}
 .lifesong-location-grid{grid-template-columns:1fr;gap:20px}
 .lifesong-location-map,.lifesong-location-map iframe{min-height:250px;height:250px}
 #footer-wrapper .footer{padding:24px 0!important}
}
@media(max-width:500px){.lifesong-location-map,.lifesong-location-map iframe{min-height:225px;height:225px}}

/* v2.5: map and directions are the footer; suppress legacy bloated widget rows. */
#footer-wrapper{background:#fff9eb!important;}
#footer-wrapper .lifesong-location{padding:36px 0 29px!important;}
#footer-wrapper .lifesong-footer-minimal{background:#fff9eb!important;color:#5d5851!important;border-top:1px solid rgba(64,55,36,.13)}
#footer-wrapper .lifesong-footer-minimal-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:49px;padding:12px 0;font-size:13px;line-height:1.5;}
#footer-wrapper .lifesong-footer-minimal a{color:#29251e!important;text-decoration:underline;text-underline-offset:3px;font-weight:700}
#footer-wrapper .lifesong-footer-minimal a:hover{color:#866000!important}
@media(max-width:600px){#footer-wrapper .lifesong-footer-minimal-inner{flex-direction:column;gap:5px;text-align:center}#footer-wrapper .lifesong-location{padding:26px 0 22px!important}}

/* Lifesong v3.1: safety override for any cached legacy animation stylesheet.
   Target only the legacy scroll-hidden section elements, never modals/slides. */
#pagearea .container,
#section1 .welcome_titlecolumn,
#section1 .welcome_contentcolumn,
#section2 .container,
#section3 .container,
#section4 .container,
#section5 .container,
#section6 .container,
#section7 .container,
#section8 .container { visibility: visible !important; }


/* Lifesong 3.2: content must never depend on scroll-trigger animation.
   Scoped to homepage sections; excludes Nivo slideshow and overlay panels. */
body.home #pagearea > .container,
body.home #section1 > .container,body.home #section2 > .container,
body.home #section3 > .container,body.home #section4 > .container,
body.home #section5 > .container,body.home #section6 > .container,
body.home #section7 > .container,body.home #section8 > .container,
body.home #section9 > .container,
body.home #section1 .welcome_titlecolumn,
body.home #section1 .welcome_contentcolumn {
 opacity:1!important; visibility:visible!important; transform:none!important;
 animation:none!important; -webkit-animation:none!important;
}
/* Testimonials: do not allocate extra viewport height or old column spacers. */
body.home #section5,body.home .testimonials-wrap {
 min-height:0!important;height:auto!important;margin-bottom:0!important;
 padding-top:12px!important;padding-bottom:18px!important;
}
body.home #section5 > .container {min-height:0!important;height:auto!important;padding-bottom:0!important;}
body.home #section5 .one_half:empty,body.home #section5 .one_half:has(> br:only-child) {
 display:none!important;
}
body.home #section5 #clienttestiminials {min-height:0!important;height:auto!important;margin-bottom:0!important;padding-bottom:0!important;}
body.home #section5 .owl-carousel, body.home #section5 .owl-stage-outer,
body.home #section5 .owl-wrapper-outer {margin-bottom:0!important;padding-bottom:0!important;}
body.home #section5 .testimonials-bg {padding:25px 32px!important;}
body.home #section5 .tmthumb {margin-bottom:0!important;}
body.home #section5 .owl-controls {margin-bottom:0!important;}
@media(max-width:800px){body.home #section5{padding:18px 0 25px!important}body.home #section5 .testimonials-bg{padding:20px!important}}

/* Lifesong 3.3: compact swipeable class cards and robust mobile teacher/review fallback. */
@media (max-width: 800px) {
 body.home #section3, body.home #section4, body.home #section5 {display:block!important;opacity:1!important;visibility:visible!important;min-height:0!important;height:auto!important;padding:20px 0 25px!important;}
 body.home #section3 > .container,body.home #section4 > .container,body.home #section5 > .container, body.home #section3 > .container > div,body.home #section4 > .container > div,body.home #section5 > .container > div {opacity:1!important;visibility:visible!important;min-height:0!important;height:auto!important;transform:none!important;}
 body.home #section3 h2.section_title,body.home #section4 h2.section_title,body.home #section5 h2.section_title{margin:0 0 14px!important;font-size:36px!important;line-height:1.15!important;}
 /* Scrollable card track: works with original services_box shortcodes without editing them. */
 body.home #section3 .row_area{display:flex!important;flex-wrap:nowrap!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-padding-left:5px;padding:4px 4px 14px!important;margin:0!important;height:auto!important;min-height:0!important;align-items:stretch;scrollbar-width:thin;}
 body.home #section3 .row_area > br,body.home #section3 .row_area > p:empty,body.home #section3 .row_area > .clear{display:none!important;}
 body.home #section3 .row_area > .col-md-4{flex:0 0 min(75vw,275px)!important;display:block!important;width:min(75vw,275px)!important;max-width:min(75vw,275px)!important;min-width:0!important;float:none!important;margin:0!important;padding:0!important;scroll-snap-align:start;box-sizing:border-box;}
 body.home #section3 .row_area .ih-item{width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;float:none!important;margin:0!important;padding:13px!important;border:1px solid #e8e5dc;border-radius:16px;background:white!important;box-sizing:border-box;}
 body.home #section3 .row_area .icon-img{width:100%!important;height:185px!important;min-height:0!important;max-width:100%!important;overflow:hidden;border-radius:12px;box-sizing:border-box;}
 body.home #section3 .row_area .icon-img img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block;}
 body.home #section3 .row_area .info{position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;background:transparent!important;min-height:0!important;padding:10px 0 0!important;}
 body.home #section3 .row_area .info h3{color:#24272c!important;font-size:19px!important;line-height:1.25!important;margin:0!important;}
 body.home #section3 .row_area .info a{color:#24272c!important;text-decoration:none;}
 body.home #section3 .row_area .info p{margin:5px 0 0!important;}
 /* Old carousels sometimes initialize as zero-height or hidden on touch devices.
    Show the underlying original cards even if carousel JS does not initialize. */
 body.home #section4 #teampanel{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;gap:15px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;height:auto!important;min-height:0!important;opacity:1!important;visibility:visible!important;transform:none!important;padding:5px 2px 15px!important;}
 body.home #section4 #teampanel .owl-wrapper-outer,body.home #section4 #teampanel .owl-stage-outer{overflow:visible!important;width:auto!important;height:auto!important;display:contents!important;}
 body.home #section4 #teampanel .owl-wrapper,body.home #section4 #teampanel .owl-stage{display:contents!important;transform:none!important;width:auto!important;height:auto!important;}
 body.home #section4 #teampanel .owl-item,body.home #section4 #teampanel > .item{display:block!important;float:none!important;flex:0 0 220px!important;width:220px!important;min-width:220px!important;opacity:1!important;visibility:visible!important;transform:none!important;scroll-snap-align:start;}
 body.home #section4 #teampanel .teammember-list{padding:8px 0!important;margin:0!important;display:block!important;}
 body.home #section4 #teampanel img{max-width:100%;height:auto;}
 body.home #section5 .one_half{display:none!important;}
 body.home #section5 .one_half.last_column{display:block!important;width:100%!important;float:none!important;margin:0!important;}
 body.home #section5 #clienttestiminials,body.home #section5 #clienttestiminials .owl-carousel{display:block!important;overflow:visible!important;opacity:1!important;visibility:visible!important;height:auto!important;min-height:0!important;}
 body.home #section5 #clienttestiminials .owl-wrapper-outer,body.home #section5 #clienttestiminials .owl-stage-outer{height:auto!important;overflow:visible!important;}
 body.home #section5 #clienttestiminials .testimonials-bg{padding:18px!important;margin:0!important;}
 body.home #section5 #clienttestiminials .owl-item{opacity:1!important;visibility:visible!important;}
}

/* v3.4: mobile teacher records and testimonial cards, no cloned Owl slides. */
@media(max-width:800px){
 body.home #section4 #teampanel{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;gap:14px!important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;padding:8px 4px 18px!important;}
 body.home #section4 #teampanel > .item{display:block!important;flex:0 0 min(70vw,250px)!important;width:min(70vw,250px)!important;scroll-snap-align:start;margin:0!important;}
 body.home #section4 #teampanel .owl-item.cloned{display:none!important;}
 body.home #section5 .one_half.last_column{display:block!important;width:100%!important;}
 body.home #section5 #clienttestiminials{width:100%!important;max-width:100%!important;overflow:hidden!important;}
 body.home #section5 #clienttestiminials .owl-carousel{display:flex!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;padding:4px 4px 20px!important;align-items:stretch;}
 body.home #section5 #clienttestiminials .owl-carousel > .item{display:block!important;flex:0 0 min(85vw,360px)!important;width:min(85vw,360px)!important;max-width:min(85vw,360px)!important;margin:0!important;scroll-snap-align:start;box-sizing:border-box;}
 body.home #section5 #clienttestiminials .testimonials-bg{padding:20px!important;border-radius:15px;min-height:0!important;}
 body.home #section5 #clienttestiminials .owl-controls{display:none!important;}
 body.home #section4 #teampanel .owl-dots{display:none!important;}
}

/* Lifesong v3.5 — unmistakable mobile swipe controls, without changing card content. */
@media(max-width:800px){
 .lf-swipe-guide{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:4px 0 10px;padding:0 4px;color:#65501a;font:700 13px/1.4 system-ui,-apple-system,sans-serif;letter-spacing:.015em;}
 .lf-swipe-guide .lf-swipe-label{display:inline-flex;align-items:center;gap:7px;}
 .lf-swipe-guide .lf-swipe-label:before{content:'↔';display:inline-grid;place-items:center;width:27px;height:27px;background:#fff1c0;border-radius:50%;color:#24272c;font-size:18px;}
 .lf-swipe-actions{display:flex;gap:8px;}
 .lf-swipe-actions button{display:grid;place-items:center;border:1px solid #ddba51;background:#fff7df;color:#24272c!important;width:39px;height:39px;padding:0;border-radius:50%;font:700 22px/1 system-ui;box-shadow:0 2px 6px rgba(0,0,0,.06);cursor:pointer;}
 .lf-swipe-actions button:disabled{opacity:.35;cursor:default;}
 .lf-swipe-actions button:focus-visible{outline:3px solid #996c00;outline-offset:2px;}
 body.home #section3 .row_area,body.home #section5 #clienttestiminials .owl-carousel,body.home #section4 #teampanel{scrollbar-color:#d4a51b #fff4d6;scrollbar-width:thin;}
 body.home #section3 .row_area::-webkit-scrollbar,body.home #section5 #clienttestiminials .owl-carousel::-webkit-scrollbar,body.home #section4 #teampanel::-webkit-scrollbar{height:5px;}
 body.home #section3 .row_area::-webkit-scrollbar-thumb,body.home #section5 #clienttestiminials .owl-carousel::-webkit-scrollbar-thumb,body.home #section4 #teampanel::-webkit-scrollbar-thumb{background:#d4a51b;border-radius:6px;}
}
@media(min-width:801px){.lf-swipe-guide{display:none!important;}}


/* v3.6: Consistent, accessible mobile navigation. Override legacy responsive.css.
   Deliberately preserve the existing WP menu markup, submenu order and JS toggle. */
@media (max-width:800px) {
 .site-header .header-nav {width:100%!important;max-width:none!important;margin:0 auto!important;overflow:visible!important;border-radius:12px!important;background:#20232a!important;box-shadow:0 8px 22px rgba(20,25,30,.16)!important;}
 .site-header .header-nav .toggle {background:transparent!important;width:100%!important;}
 .site-header .header-nav .toggleMenu {box-sizing:border-box!important;display:block!important;width:100%!important;min-height:52px!important;padding:14px 18px!important;background:#20232a!important;color:#fff!important;font-size:17px!important;font-weight:800!important;line-height:24px!important;border-radius:12px 12px 0 0!important;text-decoration:none!important;}
 .site-header .header-nav .toggleMenu:hover,.site-header .header-nav .toggleMenu:focus-visible{background:#303640!important;color:#ffcf35!important;}
 .site-header .sitenav {width:100%!important;max-width:100%!important;padding:0!important;margin:0!important;overflow-x:hidden!important;background:#20232a!important;border-radius:0 0 12px 12px!important;}
 .site-header .sitenav ul,.site-header .sitenav ul li {width:100%!important;margin:0!important;padding:0!important;float:none!important;box-sizing:border-box!important;}
 .site-header .sitenav ul li {background:transparent!important;border:0!important;}
 .site-header .sitenav ul li a,
 .site-header .sitenav ul li ul li a,
 .site-header .sitenav ul li.current_page_item ul li a,
 .site-header .sitenav ul li.current_page_parent ul li a {display:block!important;width:100%!important;background:#20232a!important;color:#fff!important;padding:15px 18px!important;font-size:16px!important;font-weight:650!important;line-height:1.4!important;white-space:normal!important;text-align:left!important;text-shadow:none!important;text-decoration:none!important;border:0!important;border-top:1px solid rgba(255,255,255,.1)!important;}
 .site-header .sitenav ul li ul,.site-header .sitenav ul li:hover>ul,.site-header .sitenav ul li:focus-within>ul {display:block!important;position:static!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;max-width:100%!important;background:#292e36!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important;}
 .site-header .sitenav ul li ul li a,
 .site-header .sitenav ul li.current_page_item ul li a,
 .site-header .sitenav ul li.current_page_parent ul li a {background:#292e36!important;color:#f6f6f6!important;padding:13px 18px 13px 35px!important;font-size:15px!important;font-weight:550!important;border-top:1px solid rgba(255,255,255,.08)!important;}
 .site-header .sitenav ul li ul li ul li a {padding-left:52px!important;background:#313842!important;}
 .site-header .sitenav ul li ul li a:before{content:'↳'!important;display:inline-block!important;margin-right:8px!important;color:#ffcf35!important;}
 .site-header .sitenav ul li a:hover,.site-header .sitenav ul li a:focus-visible,.site-header .sitenav ul li.current-menu-item>a,.site-header .sitenav ul li.current_page_item>a {color:#ffcf35!important;background:#353b45!important;}
 .site-header .sitenav a:focus-visible,.site-header .toggleMenu:focus-visible {outline:2px solid #ffcf35!important;outline-offset:-3px!important;}
}

/* v3.7: Display the entire slideshow image without the desktop height cap.
   Nivo calculates its layout from image dimensions; avoid overriding them with cropped heights. */
.slider-main, .slider-main #slider, .slider-main .nivoSlider {
  height:auto!important; max-height:none!important;
}
.slider-main .nivoSlider img.nivo-main-image {
  width:100%!important;height:auto!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;
}
.slider-main .nivoSlider > img:not(.nivo-main-image) {
  max-height:none!important;object-fit:contain!important;
}
@media(max-width:800px){
  .slider-main, .slider-main #slider, .slider-main .nivoSlider {max-height:none!important;}
}

/* v3.8: 600px desktop slideshow viewport. Mobile remains auto-height. */
@media (min-width: 801px) {
  .slider-main, .slider-main #slider, .slider-main .nivoSlider {
    height:600px!important; min-height:600px!important; max-height:600px!important;
    overflow:hidden; background-color:#fff9eb!important;
  }
  .slider-main .nivoSlider img.nivo-main-image {
    display:block!important; width:100%!important; height:600px!important;
    max-height:600px!important; object-fit:contain!important; object-position:center center!important;
  }
  .slider-main .nivoSlider > img:not(.nivo-main-image) {
    object-fit:contain!important; object-position:center center!important;
  }
}

/* v3.9: identical initial and Nivo-initialized desktop frames.
   The original source img and generated .nivo-main-image must both be contained. */
@media (min-width:801px) {
  .slider-main, .slider-main #slider, .slider-main .nivoSlider {
    height:600px!important; min-height:600px!important; max-height:600px!important;
    overflow:hidden!important; background:#fff9eb!important;
  }
  .slider-main #slider > img,
  .slider-main #slider > a > img,
  .slider-main #slider > img.nivo-main-image,
  .slider-main .nivoSlider > img,
  .slider-main .nivoSlider > a > img {
    display:block!important; width:100%!important; height:600px!important;
    max-width:100%!important; max-height:600px!important;
    object-fit:contain!important; object-position:center center!important;
  }
}

/* v4.0 - prevent Nivo initialization flash on desktop. Mobile unchanged.
   The image is hidden only until Nivo creates its display image; its existing
   slide images, menu options and WordPress backend are not modified. */
@media (min-width:801px) {
  .slider-main #slider.nivoSlider {opacity:0!important;transition:opacity .18s ease!important;}
  .slider-main #slider.nivoSlider.lifesong-slider-ready {opacity:1!important;}
  .slider-main #slider.nivoSlider .nivo-main-image,
  .slider-main #slider.nivoSlider > img {height:600px!important;object-fit:contain!important;object-position:center!important;}
  .slider-main #slider.nivoSlider .nivo-slice img,
  .slider-main #slider.nivoSlider .nivo-box img {height:600px!important;object-fit:contain!important;}
}
