/* Basic reset and variables */
:root{
  --purple:#26245a;
  --accent:#3f2f87;
  --muted:#6b6b6b;
  --bg:#f7f7fb;
  --white:#ffffff;
  --btn-blue:#2f2d74;
  --btn-ghost:#e9f0ff;
  --container:1200px;
  --max-width:1100px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color:#1f2540;
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Layout */
.container{
  width:90%;
  max-width:var(--container);
  margin:0 auto;
}

/* Header */
.site-header{
  background:rgba(255,255,255,0.95);
  position:sticky;
  top:0;
  z-index:50;
  box-shadow:0 1px 0 rgba(20,20,20,0.03);
}
.header-inner{
  display:flex;
  align-items:center;
  gap:16px;
  padding:12px 0;
}
.logo{
  font-weight:700;
  letter-spacing:0.3px;
}
.logo .dot{color:var(--accent); font-weight:600; margin-left:6px}

.main-nav ul{
  display:flex;
  gap:20px;
  list-style:none;
  margin:0;
  padding:0;
}
.main-nav a{ text-decoration:none; color:#222; font-weight:500; font-size:15px}

.header-actions{ margin-left:auto; display:flex; gap:12px; align-items:center}
.lang-select{padding:6px 8px; border-radius:6px; border:1px solid #e5e5e5}
.btn{display:inline-block; padding:10px 18px; border-radius:8px; text-decoration:none; color:var(--white); font-weight:700}
.btn-outline{background:transparent; border:1px solid #ddd; padding:8px 12px; color:#222}
.btn-primary{background:var(--btn-blue); box-shadow:none}
.btn-ghost{background:var(--btn-ghost); color:var(--btn-blue)}

/* HERO */
.hero{position:relative; height:640px; overflow:hidden}
.hero-slides{position:relative; height:100%}
.slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.02);
  transition:opacity 900ms ease, transform 900ms ease;
  display:flex;
  align-items:center;
}
.slide.active{opacity:1; transform:scale(1)}
.hero-fade-overlay{
  position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,10,12,0.45) 0%, rgba(6,6,8,0.55) 55%, rgba(6,6,8,0.60) 100%);
  pointer-events:none;
}

.hero-inner{color:var(--white); padding:72px 0; display:flex; flex-direction:column; gap:18px}
.hero-inner.hero-center{align-items:center; text-align:center; margin:0 auto; max-width:900px}
.hero-title{font-weight:800; font-size:56px; margin:0; letter-spacing:2px}
.hero-title.small{font-size:36px}
.hero-sub{font-weight:400; margin:0; font-size:16px; color:rgba(255,255,255,0.9)}
.hero-sub.mid{font-size:20px; max-width:840px}
.hero-ctas{margin-top:18px; display:flex; gap:12px; align-items:center}

/* About section */
.about{padding:48px 0}
.about-intro h2{font-size:26px; margin-bottom:10px}
.about-intro p{color:var(--muted); line-height:1.6}

.cards-grid{
  display:grid;
  gap:20px;
  grid-template-columns:repeat(2,1fr);
  margin-top:28px;
}
.card{background:var(--white); border-radius:10px; overflow:hidden; box-shadow:0 6px 24px rgba(14,14,20,0.06)}
.card img{width:100%; height:170px; object-fit:cover; display:block}
.card-body{padding:18px}
.card-body h3{margin:0 0 8px 0}

/* register cta */
.register-cta{padding:22px 0; text-align:center}
.btn.large{padding:14px 24px; font-size:16px}

/* regional purple section */
.regional{background:var(--purple); color:white; padding:60px 0}
.regional-inner{max-width:980px; text-align:center}
.regional h2{margin:0 0 12px 0}
.regional p{color:rgba(255,255,255,0.9); line-height:1.6; margin-bottom:28px}

.mosaic{display:grid; gap:8px; grid-template-columns:1fr 1fr; align-items:stretch}
.mosaic-left img{width:100%; height:260px; object-fit:cover; border-radius:8px}
.mosaic-right{display:grid; grid-template-rows:1fr 1fr; gap:8px}
.mosaic-right img{width:100%; height:126px; object-fit:cover; border-radius:8px}

/* newsletter */
.newsletter{padding:36px 0}
.newsletter-inner{display:flex; gap:16px; align-items:center; justify-content:space-between}
.newsletter-form{display:flex; gap:8px}
.newsletter input{padding:10px 12px; border-radius:8px; border:1px solid #e5e5e5; min-width:260px}

/* footer */
.site-footer{background:#fafafa; padding:28px 0; margin-top:20px}
.footer-grid{display:flex; align-items:flex-start; gap:40px}
.footer-links{display:flex; gap:32px}
.footer-links h5{margin:0 0 8px 0}
.footer-links ul{list-style:none; padding:0; margin:0; color:var(--muted)}
.copyright{padding:20px 0; color:var(--muted)}

/* responsiveness */
@media (max-width:900px){
  .main-nav{display:none}
  .cards-grid{grid-template-columns:1fr}
  .mosaic{grid-template-columns:1fr}
  .hero{height:560px}
  .hero-title{font-size:34px}
}
@media (max-width:520px){
  .hero{height:520px}
  .hero-title{font-size:28px}
  .hero-sub{font-size:14px}
  .hero-inner{padding:32px 0}
  .newsletter-inner{flex-direction:column; align-items:flex-start}
}
