:root{--purple:#8A00CA;--dark:#363732;--light:#CCCCCC;--blue:#3685B5;--white:#fff;--ink:#111;--soft:#f4f4f4;--line:#e2e2e2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}
.site-header{position:sticky;top:0;z-index:50;background:var(--dark);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.header-inner{max-width:1320px;margin:auto;min-height:82px;padding:0 28px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;margin-right:auto}.brand img{width:145px;height:auto;filter:none}.brand .dark-logo{background:transparent;padding:0;border-radius:0}
.nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff}.nav a{padding:31px 0 27px;border-bottom:4px solid transparent}.nav a:hover,.nav a.active{border-color:var(--purple);color:#fff}.menu-btn{display:none;border:0;background:none;color:#fff;font-size:28px;cursor:pointer}
.lang-switch{display:flex;align-items:center;gap:7px;color:#aaa;font-size:11px;font-weight:900;letter-spacing:.08em;margin-left:4px}.lang-switch button{border:0;background:transparent;color:#aaa;font:inherit;cursor:pointer;padding:8px 4px;transition:.2s}.lang-switch button:hover,.lang-switch button.active{color:#fff}.lang-switch button.active{color:var(--purple)}.lang-switch span{opacity:.5}

.hero{position:relative;min-height:74vh;display:grid;align-items:end;overflow:hidden;background:#111}.hero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.25) 55%,rgba(0,0,0,.08) 100%)}.hero-content{position:relative;z-index:2;max-width:1320px;width:100%;margin:auto;padding:80px 28px 68px;color:#fff}.hero-logo{position:relative!important;inset:auto!important;width:min(460px,70vw)!important;height:auto!important;object-fit:contain!important;object-position:left center!important;margin-bottom:28px}.hero-kicker{font-size:14px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.hero-title{font-size:clamp(42px,7vw,90px);line-height:.96;margin:8px 0 0;font-weight:900;letter-spacing:-.04em}.hero-sub{margin-top:18px;font-size:18px;max-width:640px;line-height:1.55}
.page-hero{background:var(--dark);color:#fff;padding:78px 28px 62px}.page-hero-inner{max-width:1320px;margin:auto}.page-hero h1{font-size:clamp(44px,7vw,84px);margin:0;letter-spacing:-.04em}.page-hero p{max-width:760px;font-size:18px;line-height:1.6;color:#e2e2e2}
.section{padding:86px 28px}.section.alt{background:var(--soft)}.wrap{max-width:1320px;margin:auto}.eyebrow{color:var(--purple);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.section-title{font-size:clamp(34px,5vw,62px);margin:10px 0 20px;letter-spacing:-.035em;line-height:1}.lead{max-width:850px;font-size:18px;line-height:1.75;color:#444}.split{display:grid;grid-template-columns:1.08fr .92fr;gap:66px;align-items:center}.split.reverse{grid-template-columns:.92fr 1.08fr}.visual{min-height:390px;background:#ddd;overflow:hidden}.visual img{width:100%;height:100%;object-fit:cover}.visual.placeholder{display:flex;align-items:center;justify-content:center;color:#777;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);background:#fff;min-height:220px;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;transition:.2s ease}.card:hover{transform:translateY(-4px);border-color:var(--purple)}.card h3{font-size:27px;margin:0 0 10px}.card p{color:#555;line-height:1.6;margin:0}.card .arrow{color:var(--purple);font-weight:900;margin-top:22px}
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.feature{background:#fff;border-top:5px solid var(--purple);padding:30px;min-height:190px}.feature h3{font-size:26px;margin:0 0 12px}.feature p{line-height:1.65;color:#555;margin:0}
.timeline{border-left:3px solid var(--purple);padding-left:30px;display:grid;gap:34px}.timeline-item h3{margin:0 0 8px;font-size:24px}.timeline-item p{margin:0;color:#555;line-height:1.6}.timeline-item .date{color:var(--purple);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.department-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.department{background:var(--dark);color:white;padding:36px;min-height:250px;border-bottom:6px solid var(--purple)}.department h3{font-size:27px;margin:0 0 14px}.department p{color:#ddd;line-height:1.6}
.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.logo-box{height:150px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:#fff;color:#888;font-weight:700}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.news-card{border:1px solid var(--line);background:#fff;padding:28px;min-height:210px}.news-card .date{font-size:12px;color:var(--purple);font-weight:800;text-transform:uppercase}.news-card h3{font-size:23px;margin:14px 0}.news-card p{color:#666;line-height:1.55}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-box{background:var(--soft);padding:34px}.contact-box h3{margin-top:0}.contact-list{display:grid;gap:16px}.contact-list span{color:#555}.contact-list strong{display:block;color:#111;margin-bottom:3px}
.site-footer{background:#292a27;color:#fff;padding:58px 28px 26px}.footer-inner{max-width:1320px;margin:auto}.footer-top{display:grid;grid-template-columns:1.15fr .9fr .95fr;gap:48px;align-items:start}.footer-brand img{width:185px}.footer-title{font-size:13px;color:#aaa;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:14px}.footer-links{display:grid;gap:10px;color:#ddd}.footer-links a:hover{color:#fff;text-decoration:underline}.institution-logos{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.institution-logos img{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0;width:auto;object-fit:contain;display:block}.institution-logos img:first-child{height:92px}.institution-logos img:last-child{height:118px}.footer-bottom{border-top:1px solid #4b4c48;margin-top:38px;padding-top:20px;color:#aaa;font-size:12px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--purple);color:#fff;padding:14px 22px;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em;margin-top:20px}.btn:hover{filter:brightness(.92)}
@media(max-width:900px){.lang-switch{margin-left:0}.menu-btn{display:block}.nav{position:absolute;top:82px;left:0;right:0;background:var(--dark);display:none;flex-direction:column;align-items:flex-start;padding:16px 28px 24px;border-bottom:1px solid var(--line);gap:2px}.nav.open{display:flex}.nav a{width:100%;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12)}.split,.split.reverse,.contact-grid,.footer-top{grid-template-columns:1fr}.cards,.department-grid,.news-grid{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr}.logo-grid{grid-template-columns:1fr 1fr}.hero{min-height:65vh}.section{padding:64px 22px}}
@media(max-width:600px){.header-inner{padding:0 18px;gap:16px}.lang-switch{gap:4px}.lang-switch button{padding:7px 2px}.header-inner .brand{margin-right:auto}.nav{top:82px}.header-inner{flex-wrap:nowrap}.brand img{width:120px}.cards,.department-grid,.news-grid,.logo-grid{grid-template-columns:1fr}.hero-content{padding:70px 22px 44px}.page-hero{padding:56px 22px 42px}.section{padding:54px 20px}.footer-top{gap:34px}}

.contact-list a{color:var(--purple);font-weight:700}.contact-list a:hover{text-decoration:underline}

.partner-tiers{display:grid;gap:26px;margin-top:44px}.partner-tier{border:1px solid var(--line);background:#fff}.tier-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 28px;border-bottom:1px solid var(--line)}.tier-heading h2{margin:4px 0 0;font-size:30px}.tier-label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--purple)}.tier-value{font-size:22px;font-weight:900}.tier-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:24px 28px}.partner-placeholder{min-height:120px;display:flex;align-items:center;justify-content:center;border:1px dashed #bbb;color:#999;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.title-tier{border-top:7px solid var(--purple)}.gold-tier{border-top:7px solid #d8aa00}.silver-tier{border-top:7px solid #a8aaad}.bronze-tier{border-top:7px solid #b36b2c}.partner-tier-basic{border-top:7px solid var(--purple)}@media(max-width:900px){.tier-logos{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.tier-heading{align-items:flex-start;flex-direction:column}.tier-logos{grid-template-columns:1fr}}


/* Contact form */
.contact-box{background:#fff;border:1px solid #e5e5e5;padding:34px;box-shadow:0 12px 34px rgba(0,0,0,.05)}
.contact-box h3{font-size:28px;margin:0 0 8px}
.form-intro{margin:0 0 26px;color:#666}
.contact-form{display:grid;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form-field{display:grid;gap:8px}
.form-field label{font-size:14px;font-weight:800;color:#363732}
.form-field input,.form-field select,.form-field textarea{
  width:100%;box-sizing:border-box;border:1px solid #d7d7d7;background:#fff;color:#222;
  border-radius:7px;padding:14px 15px;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s;
}
.form-field textarea{resize:vertical;min-height:150px}
.form-field select{appearance:auto;cursor:pointer}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  border-color:#8A00CA;box-shadow:0 0 0 3px rgba(138,0,202,.12)
}
.form-submit{
  border:0;background:#8A00CA;color:#fff;font-weight:800;font-size:15px;padding:15px 24px;
  border-radius:7px;cursor:pointer;justify-self:start;transition:transform .15s,opacity .2s,background .2s
}
.form-submit:hover{background:#7200a7;transform:translateY(-1px)}
.form-submit:disabled{opacity:.65;cursor:wait;transform:none}
.form-status{min-height:22px;font-size:14px;font-weight:700}
.form-status.success{color:#1f7a37}
.form-status.pending{color:#6b7280}
.form-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:700px){
  .form-row{grid-template-columns:1fr}
  .contact-box{padding:25px 20px}
  .form-submit{width:100%;justify-self:stretch}
}


/* ===== Smooth navigation & scroll animations ===== */
html{
  scroll-behavior:smooth;
}

/* Page entrance/exit */
body{
  opacity:0;
  transform:translateY(8px);
  transition:opacity .38s ease, transform .38s ease;
}

body.page-loaded{
  opacity:1;
  transform:none;
}

body.page-leaving{
  opacity:0;
  transform:translateY(-6px);
}

/* Reveal-on-scroll */
.reveal-on-scroll{
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .72s cubic-bezier(.2,.65,.3,1),
    transform .72s cubic-bezier(.2,.65,.3,1);
  will-change:opacity,transform;
}

.reveal-on-scroll.revealed{
  opacity:1;
  transform:none;
}

/* Slightly softer images/cards while appearing */
.visual img,
.department,
.feature,
.contact-box,
.partner-tier{
  transition:
    transform .35s ease,
    box-shadow .35s ease,
    opacity .35s ease;
}

.department:hover,
.feature:hover,
.partner-tier:hover{
  transform:translateY(-4px);
}

/* Respect users that prefer reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  body,
  .reveal-on-scroll{
    opacity:1!important;
    transform:none!important;
  }
}


/* V3.2.1 — title hierarchy refinement */
.eyebrow{
  letter-spacing:.14em;
}
.eyebrow::before{
  width:26px;
  height:3px;
  border-radius:2px;
}


/* V3.2.2 — header gradient */
.site-header{
  background: linear-gradient(to bottom, #1f201e 0%, #2b2c29 55%, #3a3b37 100%);
}
