/* Fuyun copied pages: keep the original academy palette, but raise readability. */
:root{
  --fuyun-ink:#142f29;
  --fuyun-muted:#405d58;
  --fuyun-soft:#fffaf0;
  --fuyun-paper:#fffdf8;
  --fuyun-gold:#a86f1f;
  --fuyun-line:#d9bd78;
  --fuyun-green:#173c33;
  --fuyun-navy:#10233e;
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  color:var(--fuyun-ink) !important;
  letter-spacing:0 !important;
}

p,
li,
.hero-sub,
.sub,
.main-text,
.card-slogan,
.meta-row,
.hl-item,
.aud-item,
.instr-title,
.instr-certs,
.note,
footer{
  color:var(--fuyun-muted) !important;
}

h1,
h2,
h3,
.hero h1,
.zone-title,
.section-title h2,
.card-name,
.name,
.main-title,
.panel-titles h2,
.result-value{
  color:var(--fuyun-ink) !important;
  text-shadow:none !important;
}

.hero h1,
.hero h1 span,
header h1{
  -webkit-text-fill-color:currentColor !important;
}

.hero,
.site-header,
nav,
.main-cta,
.calc-wrap,
.cta-band,
.blueprint-banner{
  color:#fffaf0 !important;
}

.hero p,
.hero-sub,
.hero-pill,
.hero-count,
.site-nav a,
.main-cta .main-text,
.garden-cta .main-text,
.cta-band p{
  color:rgba(255,250,240,.86) !important;
}

.hero h1,
.site-brand,
.main-cta .main-title,
.garden-cta .main-title,
.blueprint-banner .bp-title,
.cta-band h2,
.cta-band h2 span{
  color:#fffaf0 !important;
}

.hero h1 span,
.site-brand .b-gold,
.bp-eyebrow,
.hero-kana,
.kana{
  color:#f1cf78 !important;
}

.card,
.link-card,
.panel,
.sidebar,
.garden-viewer,
.result,
section[style*="background:#fff"],
section[style*="background: #fff"]{
  background:var(--fuyun-paper) !important;
  border-color:var(--fuyun-line) !important;
  box-shadow:0 16px 36px rgba(16,35,62,.10) !important;
}

.band-warm,
.band-white,
.wrap,
.zone{
  background-color:transparent;
}

.link-card,
.back,
.nav-link,
.member-link,
.card a,
.go,
.btn,
a{
  text-decoration:none;
}

.link-card,
.nav-link,
.back,
.member-link{
  color:var(--fuyun-ink) !important;
}

.eyebrow,
.zone-label,
.tag,
.card-type,
.hl-label,
.aud-label,
.side-group-title,
.brand-eyebrow,
.result-label{
  color:var(--fuyun-gold) !important;
  font-weight:800 !important;
}

input,
select,
textarea,
button{
  font:inherit;
}

input,
select,
textarea{
  background:#fffdf8 !important;
  color:var(--fuyun-navy) !important;
  border-color:var(--fuyun-line) !important;
}

input::placeholder,
textarea::placeholder{
  color:#69777a !important;
}

.btn-green,
.btn-navy,
.btn-gold,
.calc-btn,
.cta-btn,
.site-nav a.cta{
  color:#10233e !important;
  background:linear-gradient(135deg,#d6a13d,#f0cb78) !important;
  border-color:#b87925 !important;
  font-weight:900 !important;
}

.card:hover,
.link-card:hover,
.btn:hover,
.nav-link:hover{
  border-color:#b87925 !important;
}

.cover-seal,
.ribbon,
.past-badge{
  color:#10233e !important;
}

.hero-count b,
.zone-num,
.panel-num{
  color:#c99635 !important;
  opacity:.95 !important;
}

/* Academy course overview: clear professional layout. */
body.academy-courses-page,
body:has(#cards-course){
  background:#f5efe3 !important;
}

body.academy-courses-page nav,
body:has(#cards-course) nav{
  background:#2b3d52 !important;
  border-bottom:1px solid rgba(240,203,120,.34) !important;
}

body.academy-courses-page .nav-brand,
body:has(#cards-course) .nav-brand{
  color:#fffaf0 !important;
}

body.academy-courses-page .nav-tabs a,
body:has(#cards-course) .nav-tabs a{
  color:rgba(255,250,240,.82) !important;
  font-weight:800 !important;
}

body.academy-courses-page .nav-tabs a:hover,
body:has(#cards-course) .nav-tabs a:hover{
  color:#f1cf78 !important;
  background:rgba(255,250,240,.10) !important;
}

body.academy-courses-page .hero,
body:has(#cards-course) .hero{
  background:
    radial-gradient(circle at 20% 0%, rgba(240,203,120,.18), transparent 34%),
    radial-gradient(circle at 80% 14%, rgba(74,124,95,.18), transparent 40%),
    linear-gradient(135deg,#213447 0%,#173c33 58%,#10233e 100%) !important;
  min-height:420px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-bottom:5px solid #c99635;
}

body.academy-courses-page .hero::before,
body:has(#cards-course) .hero::before{
  opacity:.35 !important;
}

body.academy-courses-page .hero-kana,
body:has(#cards-course) .hero-kana{
  color:#f1cf78 !important;
  border-color:rgba(241,207,120,.58) !important;
  background:rgba(16,35,62,.28) !important;
  font-weight:900 !important;
}

body.academy-courses-page .hero h1,
body.academy-courses-page .hero h1 span,
body:has(#cards-course) .hero h1,
body:has(#cards-course) .hero h1 span{
  color:#fffaf0 !important;
  -webkit-text-fill-color:currentColor !important;
}

body.academy-courses-page .hero h1 span,
body:has(#cards-course) .hero h1 span{
  color:#f1cf78 !important;
}

body.academy-courses-page .hero-sub,
body:has(#cards-course) .hero-sub{
  color:#eef3ed !important;
  font-weight:500 !important;
  font-size:1rem !important;
}

body.academy-courses-page .hero-pill,
body:has(#cards-course) .hero-pill{
  color:#173c33 !important;
  background:#f8efd9 !important;
  border-color:#d9bd78 !important;
  font-weight:800 !important;
}

body.academy-courses-page .band-warm,
body.academy-courses-page .band-white,
body:has(#cards-course) .band-warm,
body:has(#cards-course) .band-white{
  background:#f5efe3 !important;
}

body.academy-courses-page #zone1,
body.academy-courses-page #zone3,
body.academy-courses-page #showcase,
body:has(#cards-course) #zone1,
body:has(#cards-course) #zone3,
body:has(#cards-course) #showcase{
  background:#fffaf0 !important;
}

body.academy-courses-page #zone2,
body.academy-courses-page #zone4,
body:has(#cards-course) #zone2,
body:has(#cards-course) #zone4{
  background:#efe4cf !important;
}

body.academy-courses-page .zone,
body:has(#cards-course) .zone{
  background:transparent !important;
}

body.academy-courses-page .zone-header,
body:has(#cards-course) .zone-header{
  border-bottom:1px solid #cdb27b !important;
}

body.academy-courses-page .zone-num,
body:has(#cards-course) .zone-num{
  color:#8f6b24 !important;
  opacity:1 !important;
}

body.academy-courses-page .zone-label,
body:has(#cards-course) .zone-label{
  color:#0f6b4f !important;
}

body.academy-courses-page .zone-title,
body:has(#cards-course) .zone-title{
  color:#10233e !important;
}

body.academy-courses-page .card,
body:has(#cards-course) .card{
  background:#fffdf8 !important;
  border-color:#d9bd78 !important;
  color:#142f29 !important;
  box-shadow:0 18px 38px rgba(16,35,62,.11) !important;
}

body.academy-courses-page .card-name,
body:has(#cards-course) .card-name{
  color:#142f29 !important;
}

body.academy-courses-page .card-slogan,
body.academy-courses-page .meta-row,
body.academy-courses-page .hl-item,
body.academy-courses-page .aud-item,
body:has(#cards-course) .card-slogan,
body:has(#cards-course) .meta-row,
body:has(#cards-course) .hl-item,
body:has(#cards-course) .aud-item{
  color:#425d58 !important;
}

body.academy-courses-page .card-highlights,
body.academy-courses-page .instructor-bar,
body:has(#cards-course) .card-highlights,
body:has(#cards-course) .instructor-bar{
  background:#f7f0df !important;
  border-color:#d9bd78 !important;
}

body.academy-courses-page footer,
body.academy-courses-page .cta-band,
body:has(#cards-course) footer,
body:has(#cards-course) .cta-band{
  background:#213447 !important;
  color:rgba(255,250,240,.76) !important;
}

body.academy-courses-page footer strong,
body:has(#cards-course) footer strong{
  color:#fffaf0 !important;
}

[data-private-name]{
  font-weight:800;
}

/* Dark full-screen garden presentation keeps its gold/cream contrast. */
#stage,
#stage .scene,
#stage .big,
#stage .lead,
#stage .closing{
  color:#f6f1e4 !important;
}

#stage .org,
#stage .sub,
#stage .kick,
#stage .stg .de,
#stage .srow .mn,
#startveil .ps{
  color:#e2d5b5 !important;
}

#stage .g,
#stage .huge,
#stage .ribbon,
#stage .org b,
#stage .stg .st,
#startveil .pt,
#startveil .pp{
  color:#e3c885 !important;
}

#stage .taskbtn{
  background:#f6f1e4 !important;
  color:#1f4a2e !important;
}

#stage .taskbtn .bs{
  color:#5b7a60 !important;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid #d6a13d !important;
  outline-offset:3px !important;
}

@media(max-width:720px){
  body{font-size:14px !important;}
  h1,.hero h1{font-size:1.8rem !important;line-height:1.35 !important;}
  h2,.zone-title,.section-title h2{font-size:1.28rem !important;}
  .hero,.zone,.wrap{padding-left:16px !important;padding-right:16px !important;}
  .card,.link-card,.panel{border-radius:14px !important;}
  .site-nav a,.nav-tabs a{font-size:.9rem !important;}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
