:root{
  --azul:#22408f;
  --dourado:#fcb041;
  --bg-soft:#fff2dc;
  --txt:#222;
  --muted: rgba(0,0,0,.65);
}

*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#fff;color:var(--txt)}
a{color:inherit;text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* header */
.site-header{background:var(--azul);padding:10px 0 0;position:sticky;top:0;z-index:1000}
.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between}
.logo-box{background:#fff;padding:18px;border-radius:0 0 18px 18px;box-shadow:0 10px 25px rgba(0,0,0,.25);margin-top:35px}
.logo-box img{width:160px;height:auto;display:block}

.nav-desktop a{color:#fff;margin-left:20px;font-weight:800;padding:10px 12px;border-radius:12px}
.nav-desktop a:hover{background:rgba(255,255,255,.12)}
.nav-desktop .cta{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18)}

/* mobile menu */
.nav-toggle{display:none;width:46px;height:46px;border:0;border-radius:14px;background:rgba(255,255,255,.16);cursor:pointer}
.nav-toggle span{width:22px;height:2px;background:#fff;display:block;margin:0 auto;position:relative}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:22px;height:2px;background:#fff}
.nav-toggle span::before{top:-7px}
.nav-toggle span::after{top:7px}

.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;z-index:1500}
.nav-mobile{position:fixed;top:0;right:0;width:min(360px,88vw);height:100vh;background:rgba(23,48,111,.98);
  transform:translateX(110%);transition:transform .25s ease;z-index:1600;padding:18px;display:flex;flex-direction:column;gap:10px}
body.menu-open .nav-overlay{display:block}
body.menu-open .nav-mobile{transform:translateX(0)}
.nav-mobile-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.12)}
.nav-mobile-title{color:#fff;font-weight:900}
.nav-close{width:42px;height:42px;border:0;border-radius:12px;background:rgba(255,255,255,.14);color:#fff;font-size:18px;cursor:pointer}
.nav-mobile a{color:#fff;font-weight:900;padding:12px 12px;border-radius:14px;background:rgba(255,255,255,.08)}
.nav-mobile a:hover{background:rgba(255,255,255,.12)}
.nav-mobile .cta{background:rgba(252,176,65,.95);color:#1b1f2a}
.nav-mobile-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.pill{color:#fff;font-size:13px;padding:10px 12px;border-radius:999px;background:rgba(0,0,0,.18)}

/* hero */
.hero{position:relative;height:520px;overflow:hidden}
.slide{position:absolute;inset:0;display:none}
.slide.active{display:block}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
img.is-missing{opacity:0}
.slide-content{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.2));color:#fff;display:flex;align-items:center}
.slide-text{max-width:620px;padding:40px;margin-left:120px;transform:translateY(18px)}
.slide-text h1{font-size:56px;font-weight:800;line-height:1;letter-spacing:-0.03em}
.slide-text p{margin:15px 0;font-size:18px;opacity:.95}
.btn{display:inline-block;margin-right:10px;padding:12px 20px;border-radius:16px;background:var(--dourado);color:#000;font-weight:800}

/* sections */
section{padding:80px 0}
h2{font-size:38px;font-weight:800;margin-bottom:20px}
.muted{color:var(--muted)}

.quem-somos{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.quem-somos img{width:100%;height:320px;object-fit:cover;background:#ddd;border-radius:18px}

.eventos{background:var(--bg-soft)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.1)}
.card img{width:100%;height:180px;object-fit:cover;background:#ccc}
.card-body{padding:20px}
.card-body h3{margin-bottom:8px}

/* forms */
input,textarea{width:100%;padding:14px 16px;margin-bottom:14px;border-radius:14px;border:1px solid rgba(0,0,0,.15);font-size:15px;outline:none;transition:.2s;background:#fff}
input:focus,textarea:focus{border-color:var(--azul);box-shadow:0 0 0 4px rgba(34,64,143,.15)}
button.btn{border:0;cursor:pointer}

/* footer */
.site-footer{background:#17306f;color:#fff;padding:40px 0;text-align:center}

@media (max-width: 860px){
  .nav-desktop{display:none}
  .nav-toggle{display:block}
  .slide-text{margin-left:24px;padding:28px;transform:translateY(10px)}
  .slide-text h1{font-size:40px}
  .quem-somos{grid-template-columns:1fr}
}
