/* Fanava brand system: contrast and typography lock */
:root{
  --brand-night:#080848;
  --brand-violet:#301060;
  --brand-blue:#001880;
  --brand-cyan:#00c0b8;
  --brand-green:#00a068;
  --brand-paper:#f5f8fc;
  --brand-ink:#102852;
}
body{background:var(--brand-paper);color:var(--brand-ink)}

/* The navigation must remain readable over every section. */
.site-header,.site-header.scrolled,body.home .site-header,body:not(.home) .site-header{
  height:76px!important;
  padding-inline:clamp(20px,4vw,62px)!important;
  background:rgba(255,255,255,.97)!important;
  color:var(--brand-ink)!important;
  border-bottom:1px solid rgba(0,24,128,.09)!important;
  box-shadow:0 8px 28px rgba(8,8,72,.07)!important;
  backdrop-filter:blur(14px)!important;
}
.site-header::before{display:none!important}
.site-header a,.site-header.scrolled a,body.home .site-header a,
.site-header .brand,.site-header .desktop-nav a{color:var(--brand-ink)!important;text-shadow:none!important}
.site-header .desktop-nav a:hover,.site-header .current-menu-item>a{color:var(--brand-cyan)!important}
.site-header .header-cta{background:var(--brand-blue)!important;color:#fff!important;border:0!important}
.site-header .menu-toggle span{background:var(--brand-night)!important}
.brand-logo,.custom-logo-link{padding:5px;background:#fff;border-radius:13px}
.brand-logo img,.custom-logo{width:42px!important;height:42px!important;object-fit:contain!important}

/* Replace the washed-out hero with the core brand gradient. */
.hero{
  min-height:min(820px,100svh)!important;
  padding-top:calc(76px + clamp(46px,7vh,88px))!important;
  background:
    radial-gradient(circle at 18% 34%,rgba(0,192,184,.25),transparent 28%),
    radial-gradient(circle at 78% 20%,rgba(48,16,96,.72),transparent 36%),
    linear-gradient(135deg,var(--brand-night) 0%,#101058 52%,var(--brand-blue) 100%)!important;
  color:#fff!important;
  opacity:1!important;
  filter:none!important;
}
.hero::before{opacity:.22!important;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px)!important;background-size:48px 48px!important}
.hero::after{border-color:rgba(255,255,255,.13)!important}
.hero-copy,.hero-visual,.hero .container{opacity:1!important;filter:none!important}
.hero h1{
  max-width:720px!important;
  font-size:clamp(42px,5.15vw,76px)!important;
  line-height:1.18!important;
  letter-spacing:-.035em!important;
  color:#fff!important;
  text-shadow:0 8px 30px rgba(0,0,0,.2)!important;
}
.hero h1 em{color:#72eadc!important;text-shadow:none!important}
.hero-copy>p,.hero p{font-size:clamp(15px,1.15vw,18px)!important;color:#e7edf8!important;line-height:1.95!important}
.hero .eyebrow,.hero .section-label{color:#8df0e3!important;font-size:12px!important}
.hero .btn.primary{background:var(--brand-cyan)!important;color:var(--brand-night)!important}
.hero .btn.ghost{color:#fff!important;border-color:rgba(255,255,255,.42)!important}
.hero-proof div,.hero .card-main,.hero .card-float{background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;backdrop-filter:blur(12px)}
.hero .card-main small,.hero .card-main span,.hero .card-float span,.hero-proof span{color:#d9e5f4!important}
.hero .card-main strong,.hero-proof strong{color:#79eee0!important}
.hero .node{background:#fff!important;color:var(--brand-blue)!important;box-shadow:0 14px 35px rgba(0,0,0,.2)!important}
.hero .trajectory{border-color:rgba(114,234,220,.38)!important}
.hero .orbit-dot{background:var(--brand-cyan)!important}

/* Calm typography throughout the site. */
h1,h2,h3,.elementor-heading-title{overflow-wrap:anywhere}
.elementor-widget-heading h1.elementor-heading-title,.fanava-page-content h1{font-size:clamp(34px,4.2vw,60px)!important;line-height:1.25!important}
.elementor-widget-heading h2.elementor-heading-title,.fanava-page-content h2{font-size:clamp(26px,3.1vw,44px)!important;line-height:1.35!important}
.elementor-widget-heading h3.elementor-heading-title,.fanava-page-content h3{font-size:clamp(20px,2vw,28px)!important;line-height:1.45!important}
.intro h2,.programs h2,.apply h2,.horizontal-heading h2,.story-header h2,.advantages h2,.faq h2,.impact-intro h2{font-size:clamp(34px,4vw,58px)!important;line-height:1.25!important}
.quote-slider blockquote{font-size:clamp(24px,3vw,42px)!important}
.lead{font-size:clamp(18px,1.75vw,25px)!important}
.stats strong,.impact-metrics strong{font-size:clamp(38px,4.5vw,66px)!important}

/* Explicit contrast pairs. */
.intro,.programs,.faq,.portfolio,.horizontal-section,.fanava-listing-page{background:#fff;color:var(--brand-ink)}
.intro h2,.programs h2,.faq h2,.horizontal-heading h2,.listing-copy h2{color:var(--brand-blue)!important}
.intro p,.programs p,.faq p,.horizontal-heading p,.listing-copy p{color:#425a7f!important}
.scroll-story,.impact,.testimonial,footer{background:var(--brand-night)!important;color:#fff!important}
.scroll-story h2,.scroll-story h3,.scroll-story p,.scroll-story span,.impact h2,.impact h3,.testimonial blockquote,footer h2,footer h3{color:#fff!important}
.scroll-story small,.impact p,.testimonial p,footer p,footer a{color:#d3dff0!important}
.apply{background:linear-gradient(135deg,var(--brand-blue),var(--brand-cyan))!important;color:#fff!important}
.apply h2,.apply p,.apply .section-label{color:#fff!important}

@media(max-width:900px){
  .site-header,.site-header.scrolled{height:70px!important}
  .hero{padding-top:calc(70px + 42px)!important;min-height:auto!important}
  .hero h1{font-size:clamp(40px,9vw,62px)!important}
}
@media(max-width:560px){
  .hero h1{font-size:clamp(36px,11.5vw,50px)!important}
  .hero-copy>p,.hero p{font-size:15px!important}
  .elementor-widget-heading h1.elementor-heading-title,.fanava-page-content h1{font-size:clamp(31px,10vw,43px)!important}
  .elementor-widget-heading h2.elementor-heading-title,.fanava-page-content h2{font-size:clamp(25px,8vw,34px)!important}
}

