@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,560;9..144,700&family=Huninn&display=swap");

:root{
  --fl-logo-green:#88C880;
  --fl-logo-green-ink:#3F7A38;
  --fl-huninn:"Huninn","PingFang TC","Microsoft JhengHei",sans-serif;
  --fl-fraunces:"Fraunces","Times New Roman",serif;
}

html,body,
.font-body-default,.font-body-large,.font-caption{
  font-family:var(--fl-huninn)!important;
}
body{font-size:17px!important;line-height:1.75!important;}
main p,main li{font-size:1.05rem;}

main h1,main h2,main h3,main h4,
.font-headline-h1,.font-headline-h2,.font-headline-h3,.font-headline-h4,
.global-section-heading,.font-stat-number{
  font-family:var(--fl-fraunces),var(--fl-huninn)!important;
}
main h2.global-section-heading{
  display:block!important;
  text-align:left!important;
}
main .text-center:has(> .global-section-heading),
main .text-center:has(> h2){
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
  max-width:none!important;
}
main h2.global-section-heading::after{
  content:"";
  display:block;
  width:4.6rem;
  height:.42rem;
  margin-top:.55rem;
  border-radius:999px;
  background:linear-gradient(90deg,#FF741F 0%,var(--fl-logo-green) 70%,transparent 100%);
  transform:rotate(-2deg);
  transform-origin:left center;
}

.font-stat-number,
#track-record .font-stat-number,
#about-results .font-stat-number,
.overview-stat .font-stat-number,
.module-card .font-stat-number{
  font-family:var(--fl-fraunces)!important;
  font-optical-sizing:auto;
}
#track-record .font-stat-number,
#about-results .font-stat-number,
.overview-stat .font-stat-number,
.module-card .font-stat-number{
  font-size:clamp(3.1rem,5vw,4.6rem)!important;
  line-height:.9!important;
}
#track-record .metric-card > span:last-child,
#about-results .stat-card p{
  font-size:1.15rem!important;
  color:#6B7280!important;
  line-height:1.45!important;
}

.fl-nav-link:hover,.fl-nav-button:hover,.fl-dropdown a:hover,.fl-mobile-menu details>a:hover,.fl-footer-links a:hover{
  color:#FF741F!important;
}
.fl-header-inner{min-height:64px!important;}
.fl-dropdown a:hover{background:#F3F8F1!important;}
.fl-header-cta,.fl-mobile-cta{
  background:var(--fl-logo-green-ink)!important;
  color:#fff!important;
}
.fl-header-cta:hover,.fl-mobile-cta:hover{background:#326430!important;}

.news-card,.service-card,.partner-cell{border:0!important;box-shadow:none!important;outline:none!important;}
.carousel-rotation-control{border:0!important;}
#partners .grid,#creative-logos .flex{
  display:flex!important;overflow-x:auto;gap:1.25rem;scroll-snap-type:x mandatory;border:0!important;
}
#partners .partner-cell,#creative-logos img{scroll-snap-align:start;border:0!important;background:transparent!important;box-shadow:none!important;}
.service-card a{background:#FF741F!important;color:#fff!important;}

main section.py-16,
main section.py-20,
main section.md\:py-24,
main section.lg\:py-24,
main section.lg\:py-20{
  padding-top:2.4rem!important;
  padding-bottom:2.4rem!important;
}
.news-archive-hero{padding-block:28px!important;}
#about-slogan,#about-slogan .rounded-\[28px\]{padding-top:1.4rem!important;padding-bottom:1.4rem!important;}

#hero-carousel > .relative{height:420px!important;}
@media (min-width:768px){#hero-carousel > .relative{height:480px!important;}}
#counselling-hero{min-height:440px!important;}
#creative-hero{min-height:460px!important;}
#mhfa-hero{
  min-height:420px!important;
  background:
    linear-gradient(90deg,rgba(17,17,17,.78),rgba(17,17,17,.42)),
    url("/assets/images/c2b4835e6150c6de85d14dade903a28a12391904.jpg") center/cover no-repeat;
}
#mhfa-hero h1,#mhfa-hero p{color:#fff!important;}
#mhfa-hero .mhfa-chip{background:rgba(255,255,255,.16)!important;color:#fff!important;}

#counselling-pain-points .rounded-2xl{min-height:0!important;padding:1rem!important;}
#counselling-pain-points svg{width:18px!important;height:18px!important;}
#counselling-pain-points p{font-size:.95rem!important;}

#creative-process .process-card h3,
#creative-process .process-card .font-medium{font-size:1.12rem!important;}
#creative-process .grid > .process-card:first-child{background:#FBEADD!important;}
#creative-process .grid > .process-card:last-child{background:#E5E2EA!important;}

#about-team .flex.flex-col.items-center{align-items:flex-start!important;text-align:left!important;}
#about-story{padding-top:.5rem!important;padding-bottom:1rem!important;}
#about-team .team-card{display:flex!important;flex-direction:column;}
#about-team .team-card > div:first-child{flex:3 1 auto;aspect-ratio:auto!important;width:100%;min-height:240px;}
#edtech-why .grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:1rem!important;}
#creative-process .grid > .process-card:first-child,#creative-process .grid > .process-card:first-child h3,#creative-process .grid > .process-card:first-child .font-medium{background:#FF741F!important;color:#fff!important;font-size:1.2rem!important;}
#creative-process .grid > .process-card:last-child,#creative-process .grid > .process-card:last-child h3,#creative-process .grid > .process-card:last-child .font-medium{background:#3F7A38!important;color:#fff!important;font-size:1.2rem!important;}
@media (min-width:900px){
  #creative-track-record > .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
#about-team .team-card h3,#about-team .team-card p{text-align:center;}

.fl-crest-note{
  margin-top:1.5rem;
  padding:1.4rem 1.5rem;
  border-radius:1.25rem;
  color:#143024;
  background:
    linear-gradient(120deg,rgba(255,255,255,.55),transparent 42%),
    linear-gradient(135deg,#E7F6E4,#D7EFE0 55%,#FBEADD);
  box-shadow:inset 0 0 0 1px rgba(63,122,56,.18);
  animation:fl-crest-in .7s ease both;
}
.fl-crest-note strong{color:#3F7A38;}
@keyframes fl-crest-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.fl-pic{width:220px;height:220px;border-radius:50%;overflow:hidden;margin:0 0 1rem;border:8px solid #88C880;animation:fl-pic 6s ease-in-out infinite;}
.fl-pic img{width:100%;height:100%;object-fit:cover;animation:fl-pic-zoom 6s ease-in-out infinite;}
@keyframes fl-pic{50%{border-color:#FF741F;transform:rotate(4deg)}}
@keyframes fl-pic-zoom{50%{transform:scale(1.08)}}
.fl-compass .needle{transform-origin:60px 60px;animation:fl-needle 2.8s ease-in-out infinite;}
@keyframes fl-spin{to{transform:rotate(360deg)}}
@keyframes fl-needle{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(22deg)}}

.fl-faq details{border:0;border-bottom:1px solid #E5E7EB;padding:.9rem 0;}
.fl-faq summary{cursor:pointer;font-weight:700;font-size:1.05rem;list-style:none;}
.fl-faq summary::-webkit-details-marker{display:none;}
.fl-faq p{margin:.55rem 0 0;color:#4B5563;}

.fl-course-table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;}
.fl-course-table th{background:#E7F3EA;text-align:left;padding:.8rem .7rem;font-size:.92rem;}
.fl-course-table td{padding:.85rem .7rem;border-top:1px solid #E6EEE8;vertical-align:top;font-size:.95rem;}
.fl-course-table a{display:inline-flex;padding:.35rem .7rem;border-radius:999px;background:#9CA3AF;color:#fff;font-weight:700;}

#services h2.global-section-heading{font-size:clamp(2.6rem,5vw,4rem)!important;}

@media (prefers-reduced-motion:reduce){
  .fl-compass,.fl-compass .needle,.fl-crest-note,.fl-pic,.fl-pic img{animation:none!important;}
}
@media (max-width:767px){
  .fl-course-table{display:block;overflow-x:auto;}
}
