/* Neverland v9.6.9 — Tiffany blue unified visual system
   Brand direction: Tiffany-inspired #81D8D0 with deeper teal for accessible text/actions. */
:root{
  --tiffany:#81D8D0;
  --tiffany-strong:#39BDB4;
  --tiffany-deep:#157C76;
  --tiffany-ink:#0D4144;
  --tiffany-soft:#E8FAF8;
  --tiffany-pale:#F6FFFE;
  --tiffany-line:#C9EAE6;
  --tiffany-shadow:0 12px 34px rgba(28,139,132,.13);
  --blue:#39BDB4!important;
  --blue2:#65D3CC!important;
  --navy:#0D4144!important;
  --ink:#123B3F!important;
  --muted:#5C7476!important;
  --line:#D2EBE8!important;
  --shadow:0 8px 24px rgba(24,127,121,.09)!important;
  --nl-blue:#39BDB4!important;
  --nl-blue2:#65D3CC!important;
  --nl-navy:#0D4144!important;
  --nl-line:#D2EBE8!important;
  --accent:#249E98!important;
  --accent-hover:#157C76!important;
  --accent-soft:#E8FAF8!important;
  --tc-bg:#F4FCFB!important;
  --tc-ink:#123F40!important;
  --tc-muted:#607879!important;
  --tc-line:#D1EAE7!important;
  --tc-accent:#81D8D0!important;
}

html{scrollbar-color:#66CFC8 #F0FBFA}
body.visual-page,
body:not(.ai-management):not(.management-surface){
  background:linear-gradient(180deg,#F8FFFE 0%,#FFFFFF 46%,#F4FCFB 100%)!important;
  color:#123B3F;
}
::selection{background:#81D8D0!important;color:#0D4144!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline-color:#39BDB4!important;
}

/* Fixed public navigation */
.visual-page .nav-pill{
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(129,216,208,.24)!important;
  border-top:0!important;
  box-shadow:0 10px 30px rgba(21,124,118,.10)!important;
}
.visual-page #mainNav>a[aria-current],
.visual-page #mainNav>a:hover{color:#157C76!important}
.visual-page #mainNav>a[aria-current]:after{background:#39BDB4!important}
.visual-page #mainNav .teacher-entry{
  background:#E8FAF8!important;
  border-color:#A9E1DC!important;
  color:#126E69!important;
}
.visual-page #mainNav .teacher-entry:hover,
.visual-page #mainNav .teacher-entry:focus-visible{background:#D8F5F2!important;color:#0D5955!important}
.visual-page .menu-button{color:#157C76!important}

/* Buttons */
.visual-page .button.primary,
.visual-page .nav-cta,
.nl-recruit-page .recruit-button-primary,
.nl-about-page .button.primary{
  background:linear-gradient(135deg,#39BDB4 0%,#157C76 100%)!important;
  border-color:#39BDB4!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(21,124,118,.22)!important;
}
.visual-page .button.primary:hover,
.visual-page .nav-cta:hover{background:linear-gradient(135deg,#2EB1A8 0%,#0F6F6A 100%)!important}
.visual-page .button.secondary,
.nl-recruit-page .recruit-button-light,
.nl-about-page .button.secondary{
  background:rgba(255,255,255,.96)!important;
  color:#157C76!important;
  border-color:#6FCFC8!important;
  box-shadow:0 7px 20px rgba(21,124,118,.08)!important;
}
.visual-page .button.secondary:hover{background:#E8FAF8!important}

/* Public hero treatment */
.visual-page .hero{background:#E7F8F6!important}
.visual-page .hero-wash{
  background:linear-gradient(90deg,rgba(246,255,254,.99) 0%,rgba(232,250,248,.95) 74%,rgba(232,250,248,0) 100%)!important;
}
.visual-page .hero-content h1,
.visual-page .hero-content h1 span,
.visual-page .hero-courses h1,
.visual-page .hero-cooperate h1,
.visual-page .hero-recruit h1,
.visual-page .hero-about h1{color:#126F6A!important}
.visual-page .hero-kicker{color:#0D4144!important}
.visual-page .hero-description{color:#526F72!important}

/* The hero note is always a true HTML/CSS overlay — never part of the picture. */
.visual-page .hero-note{
  z-index:5!important;
  left:auto!important;
  right:2.2%!important;
  top:13%!important;
  max-width:182px!important;
  display:flex!important;
  align-items:center!important;
  transform:none!important;
  color:#0F6661!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(57,189,180,.42)!important;
  box-shadow:0 12px 30px rgba(21,124,118,.15)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  animation:nlFloatCard 4.2s ease-in-out infinite;
}
.visual-page .hero-note::before{filter:none!important}
@keyframes nlFloatCard{0%,100%{translate:0 0}50%{translate:0 -6px}}
@media(prefers-reduced-motion:reduce){.visual-page .hero-note{animation:none!important}}
@media(max-width:900px){.visual-page .hero-note{right:12px!important;top:12%!important}}
@media(max-width:560px){
  .visual-page .hero-wash{background:linear-gradient(180deg,transparent 0%,rgba(232,250,248,.96) 19%,#F8FFFE 86%)!important}
  .visual-page .hero-note{top:76px!important;right:8px!important;max-width:140px!important;animation:none!important}
}

/* Main cards / labels / icons */
.visual-page .icon{color:#26AFA7!important}
.visual-page .metric-strip article,
.visual-page .benefit-card,
.visual-page .flow-grid li,
.visual-page .partner-card,
.visual-page .case-grid article,
.visual-page .faq-list details,
.visual-page .cooperation-form,
.visual-page .role-grid article,
.visual-page .story-grid article,
.visual-page .about-stats article,
.visual-page .mission-grid article,
.visual-page .team-cards article{
  border-color:#D1EBE8!important;
  box-shadow:0 8px 22px rgba(24,127,121,.08)!important;
}
.visual-page .metric-strip strong,
.visual-page .benefit-card h3,
.visual-page .section-heading h2,
.visual-page .brand-story h3,
.visual-page .about-stats strong,
.visual-page .timeline b,
.visual-page .team-cards h3{color:#157C76!important}
.visual-page .text-link{border-color:#76D2CB!important;color:#157C76!important;background:#fff!important}
.visual-page .text-link:hover{background:#E8FAF8!important}
.visual-page .flow-grid .step-number,
.visual-page .flow-step b{background:#39BDB4!important;color:#fff!important}
.visual-page .round-arrow{color:#157C76!important;border-color:#CFE9E7!important;box-shadow:0 2px 8px rgba(21,124,118,.12)!important}
.visual-page .tag{background:linear-gradient(100deg,#55CEC6,#249E98)!important}
.visual-page .course-card{border-color:#CDE8E5!important;box-shadow:0 8px 22px rgba(16,112,106,.09)!important}
.visual-page .course-card:hover{box-shadow:0 14px 30px rgba(16,112,106,.16)!important}
.visual-page .course-card.has-real-cover .course-copy{background:linear-gradient(transparent,rgba(8,74,71,.94))!important}
.visual-page .course-meta{color:#386E70!important}
.visual-page .art,.v968-sharp-art{background-color:#E8FAF8!important}

/* Filters/forms */
.visual-page input,
.visual-page select,
.visual-page textarea{border-color:#C5E5E2!important}
.visual-page input:focus,
.visual-page select:focus,
.visual-page textarea:focus{border-color:#39BDB4!important;box-shadow:0 0 0 3px rgba(57,189,180,.12)!important;outline:0}
.page-courses .course-filters,
.page-courses .filter-bar{background:#F0FBFA!important;border-color:#D0EAE7!important}

/* Full-width CTA / dark blocks */
.visual-page .cosmos-cta,
.visual-page .cosmos-cta.cta-home,
.visual-page .cosmos-cta.cta-about,
.visual-page .cosmos-cta.cta-courses,
.visual-page .cosmos-cta.cta-cooperate,
.visual-page .cosmos-cta.cta-recruit{
  background-color:#0E5554!important;
  background-blend-mode:multiply!important;
}
.visual-page .cosmos-cta.cta-home{background-image:linear-gradient(100deg,rgba(18,126,120,.91),rgba(8,77,76,.94)),url('/assets/v968/heroes/home.webp')!important}
.visual-page .cosmos-cta.cta-about{background-image:linear-gradient(100deg,rgba(18,126,120,.91),rgba(8,77,76,.94)),url('/assets/v968/heroes/about.webp')!important}
.visual-page .cosmos-cta.cta-courses{background-image:linear-gradient(100deg,rgba(18,126,120,.91),rgba(8,77,76,.94)),url('/assets/v968/heroes/courses.webp')!important}
.visual-page .cosmos-cta.cta-cooperate{background-image:linear-gradient(100deg,rgba(18,126,120,.91),rgba(8,77,76,.94)),url('/assets/v968/heroes/cooperate.webp')!important}
.visual-page .cosmos-cta.cta-recruit{background-image:linear-gradient(100deg,rgba(18,126,120,.91),rgba(8,77,76,.94)),url('/assets/v968/heroes/recruit.webp')!important}
.visual-page .site-footer{border-color:#D2EAE8!important;color:#526F72!important}
.visual-page .site-footer a:hover{color:#157C76!important}

/* AI assistant follows the same palette */
.neverland-ai-launch{
  background:linear-gradient(135deg,#39BDB4,#157C76)!important;
  border-color:rgba(255,255,255,.76)!important;
  box-shadow:0 12px 34px rgba(21,124,118,.25)!important;
}
.neverland-ai-launch:hover{background:linear-gradient(135deg,#2CB2AA,#0E6E69)!important}
.neverland-ai-panel{color:#123B3F!important;border-color:#CBE7E4!important;box-shadow:0 24px 70px rgba(13,83,80,.21)!important}
.neverland-ai-top{background:linear-gradient(135deg,#0D4144,#157C76)!important}
.neverland-ai-messages a{color:#157C76!important}
.neverland-ai-form textarea{border-color:#C9E6E3!important;background:#F8FFFE!important}
.neverland-ai-form textarea:focus{border-color:#39BDB4!important;box-shadow:0 0 0 3px rgba(57,189,180,.13)!important}
.neverland-ai-form button{background:#249E98!important}

/* Privacy / content detail pages */
body:not(.visual-page) a{accent-color:#39BDB4}
body:not(.visual-page) .button,
body:not(.visual-page) button[type=submit]{border-color:#39BDB4}

/* Teacher center */
.tc-header{border-bottom-color:#D1EAE7!important}
.tc-eyebrow{color:#157C76!important}
.tc-button{background:#157C76!important;border-color:#157C76!important;color:#fff!important}
.tc-secondary{border-color:#68C9C2!important;color:#157C76!important}
.tc-tabs .selected{color:#0D4144!important;border-bottom-color:#39BDB4!important}
.tc-card-visual,.tc-badge{background:#E8FAF8!important;color:#126B66!important}
.tc-login-art{background:linear-gradient(145deg,#0D4144,#157C76)!important;color:#BCEDE9!important}
.tc-orbit{border-color:#65CFC8!important}
.tc-health-card{background:#F8FFFE!important}

/* Admin accent unification — functionality and layout are unchanged. */
body.ai-management,
body.management-surface,
body:has(.admin-shell),
body:has(.sidebar){--accent:#249E98!important;--accent-hover:#157C76!important;--accent-soft:#E8FAF8!important;--line:#D3E9E7!important}
.admin-sidebar a.active,
.admin-nav a.active,
.sidebar a.active{background:#E8FAF8!important;color:#126B66!important}
.admin-shell button.primary,
.admin-shell .primary-button,
.management-surface button.primary{background:#249E98!important;border-color:#249E98!important}

/* Legacy direct-blue areas that survive older CSS layers */
.visual-page [style*="#0065ef"],
.visual-page [style*="#1677ff"]{color:inherit}

/* Final sweep: remove remaining legacy electric-blue accents from public cards. */
.visual-page .course-copy{background:linear-gradient(90deg,transparent 0%,#0F6F6A 12%)!important}
.visual-page .course-card.has-real-cover .course-copy{background:linear-gradient(transparent,rgba(8,74,71,.94))!important}
.visual-page .recruit-perks strong,
.visual-page .role-card h3,
.visual-page .story-grid h3,
.visual-page .partner-card h3,
.visual-page .case-grid h3,
.visual-page .faq-list summary,
.visual-page .application-details h2,
.visual-page .cooperation-form h2,
.visual-page .enquiry-contact h3,
.visual-page .timeline h3{color:#157C76!important}
.visual-page .recruit-perks article{border-color:#D1EBE8!important;box-shadow:0 8px 22px rgba(24,127,121,.08)!important}
.visual-page .recruit-perks article:hover,
.visual-page .partner-card:hover,
.visual-page .role-card:hover{border-color:#9EDFD9!important;box-shadow:0 14px 30px rgba(24,127,121,.13)!important}
.visual-page .faq-list details[open]{border-color:#9EDFD9!important;background:#F8FFFE!important}
.visual-page .site-footer{background:#F8FFFE!important}

/* v9.6.9 R2 — image visibility / overlap correction
   Tiffany remains an accent; photographic content must stay visible. */
.visual-page .course-card .course-image{
  background:#E8FAF8!important;
}
.visual-page .course-card .course-image:before{
  inset:58% 0 0!important;
  background:linear-gradient(180deg,rgba(9,79,75,0) 0%,rgba(9,79,75,.18) 30%,rgba(8,74,71,.66) 72%,rgba(8,74,71,.86) 100%)!important;
}
.visual-page .course-card.has-real-cover .course-image:before{
  display:block!important;
}
.visual-page .course-card .course-copy,
.visual-page .course-card.has-real-cover .course-copy{
  inset:auto 0 0!important;
  min-height:0!important;
  height:auto!important;
  padding:25px 44px 9px 12px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  text-align:left!important;
  background:linear-gradient(180deg,rgba(8,74,71,0) 0%,rgba(8,74,71,.18) 28%,rgba(8,74,71,.62) 68%,rgba(8,74,71,.88) 100%)!important;
}
.visual-page .course-card .course-copy h3,
.visual-page .course-card.has-real-cover .course-copy h3{
  margin:0!important;
  font-size:clamp(16px,1.25vw,19px)!important;
  line-height:1.2!important;
  text-shadow:0 2px 7px rgba(0,41,39,.55)!important;
}
.visual-page .course-card .course-copy .tag{
  margin-top:4px!important;
  padding:2px 7px!important;
  font-size:9px!important;
  line-height:1.35!important;
}
.visual-page .course-card .course-copy p,
.visual-page .course-card.has-real-cover .course-copy p{
  margin-top:4px!important;
  font-size:10px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}
.visual-page .course-card .round-arrow{
  z-index:4!important;
  width:28px!important;
  height:28px!important;
  bottom:8px!important;
  right:8px!important;
  font-size:20px!important;
}

/* Keep every photo-based card clean: no Tiffany block is allowed to sit over media. */
.visual-page .partner-card>.art,
.visual-page .case-grid article>.art,
.visual-page .role-card>.art,
.visual-page .story-grid article>.art,
.visual-page .scenario-photo,
.visual-page .scenario-photo>.art,
.visual-page .benefit-photo{
  background-color:#E8FAF8!important;
  background-blend-mode:normal!important;
}
.visual-page .partner-card>.art img,
.visual-page .case-grid article>.art img,
.visual-page .role-card>.art img,
.visual-page .story-grid article>.art img,
.visual-page .scenario-photo img,
.visual-page .benefit-photo img{
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}

/* CTA photos should remain recognizable; tint only supports text contrast. */
.visual-page .cosmos-cta,
.visual-page .cosmos-cta.cta-home,
.visual-page .cosmos-cta.cta-about,
.visual-page .cosmos-cta.cta-courses,
.visual-page .cosmos-cta.cta-cooperate,
.visual-page .cosmos-cta.cta-recruit{
  background-blend-mode:normal!important;
}
.visual-page .cosmos-cta.cta-home{background-image:linear-gradient(100deg,rgba(12,96,91,.78) 0%,rgba(12,96,91,.58) 48%,rgba(12,96,91,.16) 100%),url('/assets/v968/heroes/home.webp')!important}
.visual-page .cosmos-cta.cta-about{background-image:linear-gradient(100deg,rgba(12,96,91,.78) 0%,rgba(12,96,91,.58) 48%,rgba(12,96,91,.16) 100%),url('/assets/v968/heroes/about.webp')!important}
.visual-page .cosmos-cta.cta-courses{background-image:linear-gradient(100deg,rgba(12,96,91,.78) 0%,rgba(12,96,91,.58) 48%,rgba(12,96,91,.16) 100%),url('/assets/v968/heroes/courses.webp')!important}
.visual-page .cosmos-cta.cta-cooperate{background-image:linear-gradient(100deg,rgba(12,96,91,.78) 0%,rgba(12,96,91,.58) 48%,rgba(12,96,91,.16) 100%),url('/assets/v968/heroes/cooperate.webp')!important}
.visual-page .cosmos-cta.cta-recruit{background-image:linear-gradient(100deg,rgba(12,96,91,.78) 0%,rgba(12,96,91,.58) 48%,rgba(12,96,91,.16) 100%),url('/assets/v968/heroes/recruit.webp')!important}
.visual-page .cta-wash{
  background:linear-gradient(90deg,rgba(9,73,70,.62),rgba(9,73,70,.28) 58%,rgba(9,73,70,0))!important;
}

@media(max-width:560px){
  .visual-page .course-card .course-copy,
  .visual-page .course-card.has-real-cover .course-copy{
    padding:22px 34px 7px 8px!important;
  }
  .visual-page .course-card .course-copy h3,
  .visual-page .course-card.has-real-cover .course-copy h3{font-size:15px!important}
  .visual-page .course-card .course-copy p,
  .visual-page .course-card.has-real-cover .course-copy p{display:none!important}
  .visual-page .course-card .course-copy .tag{font-size:8px!important;padding:2px 6px!important}
  .visual-page .cosmos-cta.cta-home,
  .visual-page .cosmos-cta.cta-about,
  .visual-page .cosmos-cta.cta-courses,
  .visual-page .cosmos-cta.cta-cooperate,
  .visual-page .cosmos-cta.cta-recruit{background-position:center!important}
  .visual-page .cta-wash{background:linear-gradient(180deg,rgba(9,73,70,.18),rgba(9,73,70,.72) 64%,rgba(9,73,70,.86))!important}
}

/* v9.6.9 R3 - remove image-blocking legacy pseudo overlays */
.story-photo::after,
.team-photo::after {
  content: none !important;
  display: none !important;
}
