:root{--c1:#f3ebda;--c2:#ece0c8;--card:#f8f2e5;--ink:#443a2d;--ink2:#5a5241;--gold:#c2a05c;--gold-ink:#977528;--line:rgba(151,117,40,.24);--mute:#8d8472;--se-soft:#5a5241}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:linear-gradient(165deg,var(--c2),var(--c1) 45%,#f6efe0);background-attachment:fixed;color:var(--ink);font-family:'Manrope',sans-serif;font-weight:300;line-height:1.75}
.wrap{max-width:1060px;margin:0 auto;padding:0 42px;position:relative;z-index:2}
h1,h2,h3{font-family:'EB Garamond',serif;font-weight:500;line-height:1.15;color:var(--ink)}
.eyebrow{font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-ink);font-weight:600}

/* Merknaam "School Excellence": kapitalen in goud, rest in mat grijs */
.se{color:var(--gold-ink)}
.se-soft{color:var(--se-soft)}

header{position:sticky;top:0;z-index:20;backdrop-filter:blur(8px);background:rgba(243,235,218,.7)}
nav{display:flex;justify-content:space-between;align-items:center;padding:16px 42px;max-width:1200px;margin:0 auto}
.navlinks{display:flex;gap:24px;list-style:none;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.navlinks a{color:var(--ink2);text-decoration:none;transition:.3s}.navlinks a:hover{color:var(--gold-ink)}
/* Taalwissel: laatste item in de nav, zelfde typografie als de menulinks.
   Desktop toont de compacte NL / EN achter een scheidingslijn; mobiel toont
   in plaats daarvan twee losse items (.lang-full) met de volledige taalnaam. */
/* gap i.p.v. spaties: flex-items trimmen hun begin- en eindspaties weg */
.lang-switch{display:flex;align-items:center;gap:6px;white-space:nowrap;border-left:1px solid var(--line);padding-left:22px}
.lang-switch .lang-current{color:var(--gold-ink);font-weight:600}
.lang-switch .lang-sep{color:var(--mute)}
.lang-full{display:none}
.menu-btn{display:none;background:none;border:0;cursor:pointer;padding:4px}.menu-btn span{display:block;width:26px;height:2px;background:var(--gold-ink);margin:5px 0;border-radius:2px;transition:transform .3s ease,opacity .2s ease}

.hero{text-align:center;padding:110px 0 88px}
.hero .lg{display:flex;justify-content:center;margin-bottom:38px}
.hero .eyebrow{display:block;margin-bottom:28px}
.hero h1{font-size:clamp(2.6rem,6vw,5rem);letter-spacing:.005em}
.hero h1 em{font-style:italic;color:var(--gold-ink)}
.hero .sub{max-width:600px;margin:24px auto 0;color:var(--ink2);font-family:'EB Garamond',serif;font-style:italic;font-size:1.5rem}
.hero .method{margin-top:40px;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.hero .method b{color:var(--ink);font-weight:400}
.hero .btn{margin-top:42px}

section{padding:92px 0 23px 0}
.center{max-width:720px;margin:0 auto;text-align:center}
.center .eyebrow{display:block;margin-bottom:22px}
.center h2{font-size:clamp(2rem,4vw,3.1rem);margin-bottom:22px}
.center p{color:var(--ink2);margin-bottom:16px;font-size:1.05rem}

/* Beeld naast tekst */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split-media{margin:0}
.split-media img{display:block;width:100%;height:300px;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:16px;border:1px solid var(--line);box-shadow:0 12px 30px rgba(151,117,40,.06)}
.split-body .eyebrow{display:block;margin-bottom:22px}
.split-body h2{font-size:clamp(2rem,4vw,3.1rem);margin-bottom:22px}
.split-body p{color:var(--ink2);margin-bottom:16px;font-size:1.05rem}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:58px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:40px 30px;text-align:center;transition:.35s;box-shadow:0 12px 30px rgba(151,117,40,.06)}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(151,117,40,.12)}
.card .ic{width:46px;height:46px;border-radius:50%;border:1px solid var(--gold-ink);color:var(--gold-ink);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-family:'EB Garamond',serif;font-style:italic;font-size:1.3rem}
.card h3{font-size:1.5rem;margin-bottom:12px}
.card p{color:var(--mute);font-size:.94rem}

.principle{text-align:center;background:var(--card);border-radius:22px;margin:0;padding:78px 40px;border:1px solid var(--line)}
.principle h2{font-size:clamp(2.2rem,5vw,3.4rem);color:var(--ink2)}

.quote{max-width:760px;margin:0 auto;text-align:center}
.quote blockquote{font-family:'EB Garamond',serif;font-style:italic;font-size:1.85rem;line-height:1.5;color:var(--ink)}
.quote cite{display:block;margin-top:22px;font-style:normal;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink)}

.cta{text-align:center}
.cta h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:16px}
.cta p{color:var(--ink2);max-width:520px;margin:0 auto 36px}
.btn{display:inline-block;padding:16px 44px;background:var(--gold-ink);color:#fbf6ea;text-decoration:none;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:600;border-radius:40px;transition:.3s}
.btn:hover{background:var(--ink);box-shadow:0 10px 30px rgba(42,36,28,.15)}

footer{text-align:center;padding:60px 42px}
footer .lg{display:flex;justify-content:center}
footer .fl{margin-top:16px;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink)}

.brand{display:block}
.logo{width:auto;display:block}
.logo--nav{height:56px}
.logo--footer{height:56px}
.quote .eyebrow{display:block;margin-bottom:26px}
.principle h2{margin-top:20px}
.cta h2{margin-top:18px}

/* Haarlijn tussen tekstblokken */
.rule{border:0;border-top:1px solid var(--line);max-width:720px;margin:52px auto 0}
.quote{margin-top:52px}

/* Ecosysteem-diagram */
.diagram{margin:44px 0 0}
.diagram img{display:block;width:75%;height:auto;margin:0 auto}

/* Genummerde stappen */
.steps{max-width:820px;margin:58px auto 0;list-style:none}
.step{display:grid;grid-template-columns:46px 1fr;gap:28px;align-items:start}
.step+.step{border-top:1px solid var(--line);margin-top:44px;padding-top:44px}
.step-num{width:46px;height:46px;border-radius:50%;border:1px solid var(--gold-ink);color:var(--gold-ink);display:flex;align-items:center;justify-content:center;font-family:'EB Garamond',serif;font-style:italic;font-size:1.3rem;line-height:1}
.step h3{font-size:1.65rem;margin:8px 0 14px}
.step p{color:var(--ink2);font-size:1.05rem;margin-bottom:14px}
.step p:last-child{margin-bottom:0}

/* Cases */
.cases{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:58px}
.case{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:40px 34px;box-shadow:0 12px 30px rgba(151,117,40,.06)}
.case .eyebrow{display:block;margin-bottom:14px}
.case h3{font-size:1.45rem;margin-bottom:26px}
.case dt{font-family:'EB Garamond',serif;font-size:1.1rem;color:var(--gold-ink);line-height:1.3;margin-bottom:4px}
.case dd{color:var(--ink2);font-size:.98rem;margin-bottom:22px}
.case dd:last-child{margin-bottom:0}

/* Endorsements */
.endorsements{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:58px}
.endorse{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:36px 30px;margin:0;box-shadow:0 12px 30px rgba(151,117,40,.06)}
.endorse blockquote{font-family:'EB Garamond',serif;font-style:italic;font-size:1.18rem;line-height:1.5;color:var(--ink);margin-bottom:auto}
.endorse figcaption{display:flex;align-items:center;gap:14px;margin-top:26px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.endorse-logo{flex:none;height:32px;width:auto;display:block}
.endorse-who{min-width:0}
.endorse figcaption b{display:block;font-weight:600;color:var(--gold-ink);letter-spacing:.16em}
.endorse figcaption span{display:block;margin-top:4px;color:var(--mute)}

/* Netwerk & partners */
.group{margin-top:52px}
.group-label{font-family:'Manrope',sans-serif;display:block;margin-bottom:24px;font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);font-weight:600}
.partners{display:grid;gap:22px}
.partners--duo{grid-template-columns:1fr 1fr}
.partner{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:36px 34px;box-shadow:0 12px 30px rgba(151,117,40,.06)}
.partner--wide{display:grid;grid-template-columns:200px 1fr;gap:40px;align-items:center}
.partner-logo{height:52px;width:auto;display:block;margin-bottom:26px}
.partner--wide .partner-logo{margin-bottom:0}
.partner h4{font-family:'EB Garamond',serif;font-weight:500;font-size:1.35rem;line-height:1.15;color:var(--ink);margin-bottom:10px}
.partner p{color:var(--ink2);font-size:.98rem}

/* Kwalificaties */
.creds{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.creds--duo{grid-template-columns:1fr 1fr}
.cred{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:36px 30px;box-shadow:0 12px 30px rgba(151,117,40,.06)}
.cred .group-label{margin-bottom:22px}
.cred ul{list-style:none}
.cred li,.qgroup li{position:relative;padding-left:22px;color:var(--ink2);font-size:.98rem;line-height:1.6;margin-bottom:12px}
.cred li:last-child,.qgroup li:last-child{margin-bottom:0}
.cred li::before,.qgroup li::before{content:"—";position:absolute;left:0;color:var(--gold-ink)}
.cred p{margin-top:20px;color:var(--mute);font-size:.92rem;font-style:italic}

/* Formulier */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.form{max-width:820px;margin:52px auto 0}
.fields--trio{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.field{margin-bottom:22px}
.field label{display:block;font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-ink);font-weight:600;margin-bottom:10px}
.field input,.field textarea{width:100%;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-family:'Manrope',sans-serif;font-weight:300;font-size:1rem;line-height:1.6;color:var(--ink)}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold-ink);box-shadow:0 0 0 3px rgba(151,117,40,.12)}
.qgroup{margin-top:44px;padding-top:44px;border-top:1px solid var(--line)}
.qgroup h3{font-size:1.4rem;margin-bottom:18px}
.qgroup ul{list-style:none;margin-bottom:24px}
.qgroup .hint{color:var(--mute)}
.form-actions{margin-top:40px;text-align:center}
button.btn{border:0;cursor:pointer;font-family:'Manrope',sans-serif}
.signoff{margin-top:52px}
.signature{font-family:'EB Garamond',serif;font-style:italic;font-size:1.2rem;color:var(--ink)}
.signature b{font-style:normal;font-weight:500;color:var(--gold-ink)}

/* Contactgegevens */
.contact{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:44px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:56px 48px;font-style:normal}
.contact-id .eyebrow{display:block;margin-bottom:18px}
.contact-id h3{font-size:1.35rem;margin-bottom:8px}
.contact-id p{color:var(--mute);font-size:.94rem}
.contact-list{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:.96rem;color:var(--ink2)}
.contact-list dt{color:var(--gold-ink);font-weight:600;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding-top:4px}
.contact-list--admin{font-size:.9rem;color:var(--mute)}
.contact-list a{color:var(--ink2);text-decoration:none;border-bottom:1px solid var(--line);transition:.3s}
.contact-list a:hover{color:var(--gold-ink);border-bottom-color:var(--gold-ink)}

@media(max-width:860px){
  .cards{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:36px}
  .split-media img{aspect-ratio:3/2;object-position:50% 18%}
  .diagram{overflow-x:auto}
  .diagram img{width:100%}
  .step{grid-template-columns:1fr;gap:20px}
  .step h3{margin-top:0}
  .cases{grid-template-columns:1fr}
  .endorsements{grid-template-columns:1fr}
  .partners--duo{grid-template-columns:1fr}
  .creds{grid-template-columns:1fr}
  .creds--duo{grid-template-columns:1fr}
  .fields--trio{grid-template-columns:1fr;gap:0}
  .contact{grid-template-columns:1fr;gap:32px;padding:44px 32px}
  .partner--wide{grid-template-columns:1fr;gap:26px}
  .menu-btn{display:block}
  .navlinks{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;
    padding:0 42px;
    background:rgba(243,235,218,.97);
    backdrop-filter:blur(8px);
    border-top:1px solid var(--line);
    box-shadow:0 18px 40px rgba(151,117,40,.12);
    max-height:0;opacity:0;overflow:hidden;visibility:hidden;
    transition:max-height .38s ease,opacity .28s ease,padding .38s ease,visibility 0s .38s
  }
  .nav-open .navlinks{max-height:75vh;opacity:1;visibility:visible;padding:8px 42px 20px;overflow-y:auto;transition-delay:0s}
  .navlinks li+li{border-top:1px solid var(--line)}
  .navlinks a{display:block;padding:16px 0}
  /* Mobiel: de compacte NL / EN eruit, de twee volledige taalnamen erin */
  .lang-switch{display:none}
  .lang-full{display:block}
  .lang-full span{display:block;padding:16px 0}
  .lang-full .is-current{color:var(--gold-ink);font-weight:600}
  .nav-open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-open .menu-btn span:nth-child(2){opacity:0}
  .nav-open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
