:root{
    --navy:#063b78;
    --navy-dark:#041f42;
    --gold:#d6a532;
    --gold-light:#edca73;
    --white:#fff;
    --off:#f7f9fc;
    --text:#26364b;
    --muted:#6d7b8d;
    --border:#e5eaf0;
    --shadow:0 18px 50px rgba(4,31,66,.12);
    --container:1180px;
    --transition:.3s ease;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Inter,sans-serif;color:var(--text);line-height:1.7;background:var(--white);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
.container{width:min(92%,var(--container));margin:auto}
.section{padding:105px 0}
.section-label{display:inline-block;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:2.5px;margin-bottom:14px}
.section-heading{max-width:760px;margin-bottom:55px}
.section-heading.center{text-align:center;margin-left:auto;margin-right:auto}
.section-heading h2,.about h2,.contact h2,.cta h2{font-family:"Playfair Display",serif;color:var(--navy-dark);font-size:clamp(36px,5vw,58px);line-height:1.12;margin-bottom:18px}
.section-heading h2 span,.about h2 span,.contact h2 span,.cta h2 span{color:var(--gold)}
.section-heading p,.about p,.contact>p{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 25px;border-radius:5px;font-size:13px;font-weight:800;transition:var(--transition)}
.btn-primary{background:var(--gold);color:var(--navy-dark)}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-3px)}
.btn-outline{border:1px solid rgba(255,255,255,.55);color:#fff}
.btn-outline:hover{background:#fff;color:var(--navy-dark)}
.btn-dark{background:var(--navy-dark);color:#fff}
.btn-dark:hover{background:var(--navy);transform:translateY(-3px)}

.preloader{position:fixed;inset:0;z-index:9999;background:var(--navy-dark);display:grid;place-items:center;transition:.5s}
.preloader.hide{opacity:0;visibility:hidden}
.preloader img{width:85px;height:85px;object-fit:contain}
.preloader span{position:absolute;width:125px;height:125px;border:2px solid rgba(255,255,255,.15);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:transparent;transition:var(--transition)}
.header.scrolled{background:rgba(4,31,66,.97);backdrop-filter:blur(12px);box-shadow:0 5px 25px rgba(0,0,0,.12)}
.nav-container{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand,.footer-brand{display:flex;align-items:center;gap:11px;color:#fff}
.brand img{width:50px;height:50px;object-fit:contain}
.brand div,.footer-brand div{display:flex;flex-direction:column}
.brand strong,.footer-brand strong{font-size:20px;letter-spacing:1px}
.brand small{font-size:8px;max-width:190px;line-height:1.25;text-transform:uppercase;letter-spacing:.6px;opacity:.8}
.navbar{display:flex;gap:26px;align-items:center}
.nav-link{position:relative;color:rgba(255,255,255,.86);font-size:13px;font-weight:600;padding:8px 0}
.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gold);transition:var(--transition)}
.nav-link:hover,.nav-link.active{color:var(--gold-light)}
.nav-link:hover:after,.nav-link.active:after{width:100%}
.nav-cta{background:var(--gold);color:var(--navy-dark);padding:12px 20px;border-radius:5px;font-size:12px;font-weight:800}
.nav-cta:hover{background:var(--gold-light)}
.menu-toggle{display:none;background:none;width:42px;height:42px}
.menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px auto}

.hero{min-height:100vh;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(4,31,66,.94),rgba(4,31,66,.68)),url("images/cover.png") center/cover no-repeat;color:#fff}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 75% 40%,rgba(214,165,50,.16),transparent 32%)}
.hero-content{position:relative;z-index:2;padding-top:85px;display:grid;grid-template-columns:1fr 300px;align-items:center;gap:80px}
.hero-copy{max-width:720px}
.eyebrow{display:inline-block;color:var(--gold-light);font-size:12px;font-weight:800;letter-spacing:3px;margin-bottom:20px}
.hero h1{font-family:"Playfair Display",serif;font-size:clamp(48px,7vw,82px);line-height:1.04;margin-bottom:23px}
.hero h1 span{color:var(--gold-light)}
.hero-copy>p{max-width:650px;color:rgba(255,255,255,.8);font-size:16px;margin-bottom:32px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.hero-brand-card{padding:28px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);border-radius:20px;backdrop-filter:blur(12px);text-align:center}
.hero-brand-card img{width:125px;height:125px;object-fit:contain;margin:0 auto 18px}
.hero-brand-card strong{display:block;font-family:"Playfair Display",serif;font-size:22px;line-height:1.25}
.hero-brand-card span{display:block;color:var(--gold-light);font-size:11px;margin-top:10px}

.quick-services{background:var(--navy-dark);color:#fff}
.services-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.services-grid>div{min-height:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:15px 10px;border-right:1px solid rgba(255,255,255,.12);gap:9px}
.services-grid>div:last-child{border:0}
.services-grid i{font-size:25px;color:var(--gold)}
.services-grid span{font-size:10px;font-weight:700;text-transform:uppercase;line-height:1.35}

.about{background:var(--off)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.cover-card{overflow:hidden;border-radius:18px;box-shadow:var(--shadow);background:#fff}
.cover-card img{width:100%;height:520px;object-fit:cover}
.about h2{font-size:clamp(35px,4vw,52px)}
.about p{margin-bottom:16px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.checks div{font-size:12px;font-weight:700;color:var(--navy-dark)}
.checks i{color:var(--gold);margin-right:6px}

.mvv{background:#fff}
.mvv-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.mvv-card{padding:42px;border:1px solid var(--border);transition:var(--transition)}
.mvv-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.mvv-card.featured{background:var(--navy-dark);color:#fff;border-color:var(--navy-dark)}
.mvv-card .icon{width:55px;height:55px;display:grid;place-items:center;border-radius:50%;background:rgba(214,165,50,.12);color:var(--gold);font-size:21px;margin-bottom:22px}
.mvv-card h3{font-family:"Playfair Display",serif;font-size:28px;margin-bottom:12px}
.mvv-card p{font-size:14px;color:var(--muted)}
.mvv-card.featured p{color:rgba(255,255,255,.7)}

.programs{background:var(--off)}
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.program{background:#fff;border:1px solid var(--border);padding:35px;border-radius:12px;transition:var(--transition)}
.program:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.program>i{width:55px;height:55px;display:grid;place-items:center;border-radius:50%;background:rgba(214,165,50,.12);color:var(--gold);font-size:22px;margin-bottom:22px}
.program h3{font-family:"Playfair Display",serif;color:var(--navy-dark);font-size:24px;margin-bottom:10px}
.program p{color:var(--muted);font-size:13px}

.impact{padding:100px 0;background:linear-gradient(rgba(4,31,66,.95),rgba(4,31,66,.95)),url("images/cover.png") center/cover;color:#fff}
.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.impact h2{font-family:"Playfair Display",serif;font-size:clamp(38px,5vw,58px);line-height:1.12;margin-bottom:18px}
.impact h2 span{color:var(--gold)}
.impact p{max-width:580px;color:rgba(255,255,255,.7)}
.impact-stats{display:grid;grid-template-columns:repeat(3,1fr)}
.impact-stats>div{text-align:center;padding:20px;border-right:1px solid rgba(255,255,255,.14)}
.impact-stats>div:last-child{border:0}
.impact-stats strong{display:block;font-family:"Playfair Display",serif;color:var(--gold);font-size:52px}
.impact-stats strong:after{content:"+"}
.impact-stats span{font-size:10px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:1px}

.project-grid{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:270px 270px;gap:18px}
.project{position:relative;overflow:hidden;border-radius:12px}
.project:first-child{grid-row:1/3}
.project img{width:100%;height:100%;object-fit:cover;transition:.6s}
.project:hover img{transform:scale(1.06)}
.project div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;background:linear-gradient(transparent 25%,rgba(4,31,66,.92));color:#fff}
.project span{color:var(--gold-light);font-size:10px;font-weight:800;letter-spacing:1.5px}
.project h3{font-family:"Playfair Display",serif;font-size:24px;line-height:1.2}

.cta{background:var(--gold);padding:70px 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta h2{margin-bottom:10px}
.cta p{max-width:650px;color:rgba(4,31,66,.75)}

.contact{background:#fff}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}
.contact h2{font-size:clamp(36px,5vw,56px)}
.contact>p{max-width:570px;margin-bottom:30px}
.contact-list{display:flex;flex-direction:column;gap:14px}
.contact-list a{display:flex;align-items:center;gap:14px}
.contact-list a>i{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:rgba(214,165,50,.12);color:var(--gold)}
.contact-list small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:1px}
.contact-list strong{font-size:13px;color:var(--navy-dark)}
.socials{margin-top:30px}
.socials>span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
.socials>div{display:flex;gap:8px}
.socials a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--navy-dark);transition:var(--transition)}
.socials a:hover{background:var(--navy-dark);color:var(--gold);transform:translateY(-3px)}

.contact-form{background:var(--off);border:1px solid var(--border);padding:40px;border-radius:18px}
.contact-form>span{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:2px}
.contact-form h3{font-family:"Playfair Display",serif;color:var(--navy-dark);font-size:32px;margin:7px 0 25px}
.contact-form label{display:block;font-size:10px;font-weight:700;color:var(--navy-dark);margin:0 0 6px}
.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--border);background:#fff;padding:13px 14px;border-radius:5px;outline:0;margin-bottom:17px}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold)}
.contact-form textarea{resize:vertical}
.contact-form .btn{width:100%}
.form-note{display:none;font-size:11px;margin-top:10px;text-align:center}
.form-note.show{display:block}

.footer{background:var(--navy-dark);color:#fff;padding:65px 0 22px}
.footer-main{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:50px;padding-bottom:45px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-brand{margin-bottom:18px}
.footer-brand img{width:55px;height:55px;object-fit:contain}
.footer-brand small{font-size:8px;max-width:190px;line-height:1.25;text-transform:uppercase;opacity:.75}
.footer-main>div:first-child>p{color:rgba(255,255,255,.55);font-size:12px}
.footer-col{display:flex;flex-direction:column;gap:9px}
.footer-col h4{font-size:12px;margin-bottom:8px}
.footer-col a{font-size:11px;color:rgba(255,255,255,.55)}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;color:rgba(255,255,255,.4);font-size:9px}

.back-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border:0;border-radius:50%;background:var(--gold);color:var(--navy-dark);opacity:0;visibility:hidden;transform:translateY(15px);transition:var(--transition);z-index:900}
.back-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.reveal{opacity:0;transform:translateY(28px);transition:.7s}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1000px){
    .navbar{gap:16px}
    .nav-cta{display:none}
    .hero-content{grid-template-columns:1fr 260px;gap:35px}
    .services-grid{grid-template-columns:repeat(3,1fr)}
    .services-grid>div:nth-child(3){border-right:0}
    .about-grid,.contact-grid,.impact-grid{gap:45px}
    .program-grid{grid-template-columns:repeat(2,1fr)}
    .footer-main{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
    .navbar{display:none}
    .menu-toggle{display:block}
    .navbar.mobile-open{position:absolute;top:88px;left:0;width:100%;display:flex;flex-direction:column;align-items:stretch;background:var(--navy-dark);padding:15px 5%;box-shadow:var(--shadow)}
    .hero-content{grid-template-columns:1fr}
    .hero-brand-card{display:none}
    .about-grid,.contact-grid,.impact-grid{grid-template-columns:1fr}
    .mvv-grid{grid-template-columns:1fr}
    .project-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 230px}
    .project:first-child{grid-column:1/3;grid-row:auto}
}
@media(max-width:600px){
    .section{padding:75px 0}
    .nav-container{min-height:75px}
    .navbar.mobile-open{top:75px}
    .brand img{width:44px;height:44px}
    .brand small{display:none}
    .hero{min-height:760px}
    .hero-content{padding-top:90px}
    .hero h1{font-size:45px}
    .hero-copy>p{font-size:14px}
    .hero-actions{flex-direction:column}
    .hero-actions .btn{width:100%}
    .services-grid{grid-template-columns:1fr 1fr}
    .services-grid>div{border-bottom:1px solid rgba(255,255,255,.12)}
    .services-grid>div:nth-child(2n){border-right:0}
    .cover-card img{height:330px}
    .checks{grid-template-columns:1fr}
    .program-grid{grid-template-columns:1fr}
    .impact-stats{grid-template-columns:1fr}
    .impact-stats>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
    .impact-stats>div:last-child{border-bottom:0}
    .project-grid{display:flex;flex-direction:column}
    .project{height:300px}
    .cta-inner{flex-direction:column;align-items:flex-start}
    .footer-main{grid-template-columns:1fr;gap:35px}
    .footer-bottom{flex-direction:column}
}


/* RSDO registration, outreach story and trust details */
.registration-inline{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:22px;color:rgba(255,255,255,.85);font-size:12px}
.registration-inline i{color:var(--gold-light)}
.registration-inline strong{color:var(--gold-light);letter-spacing:.4px}
.registration-strip{background:#fff;border-bottom:1px solid #e8edf3;padding:20px 0}
.registration-strip-inner{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:20px;align-items:center}
.registration-strip-inner>div{display:flex;flex-direction:column;gap:5px}
.registration-strip-inner span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.registration-strip-inner strong{font-size:13px;color:var(--navy-dark)}
.registration-strip-inner .registration-kicker{color:#a87912;font-weight:800}
.outreach-grid{grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:330px}
.outreach-grid .project:first-child{grid-row:auto}
.outreach-grid .project h3{font-size:21px}
.outreach-story{max-width:900px;margin:32px auto 0;padding:30px;background:#f5f7fa;border-left:4px solid var(--gold);border-radius:8px}
.outreach-story h3{font-family:"Playfair Display",serif;color:var(--navy-dark);font-size:25px;margin-bottom:12px}
.outreach-story p{color:var(--muted);margin:0 0 12px;line-height:1.8}
.text-link{display:inline-flex;gap:9px;align-items:center;color:var(--navy-dark);font-weight:800;margin-top:7px}
.contact-registration{display:flex;align-items:center;gap:14px;background:#f5f7fa;border-radius:9px;padding:16px;margin:22px 0}
.contact-registration>i{font-size:24px;color:#b88a1b}
.contact-registration small,.contact-registration span{display:block;color:var(--muted);font-size:11px}
.contact-registration strong{display:block;color:var(--navy-dark);font-size:13px;margin:4px 0}
@media(max-width:850px){.registration-strip-inner{grid-template-columns:1fr 1fr}.outreach-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 240px}.outreach-grid .project:first-child{grid-column:1/3}}
@media(max-width:560px){.registration-strip-inner{grid-template-columns:1fr 1fr;gap:16px}.registration-strip-inner strong{font-size:12px}.outreach-grid{display:flex;flex-direction:column}.outreach-grid .project{height:280px}.outreach-grid .project:first-child{height:300px}.outreach-story{padding:22px 18px}}
