:root{--bg:#ffffff;--fg:#0f172a;--muted:#475569;--card:#f1f5f9;--brand:#146b72}
@media (prefers-color-scheme: dark){:root{--bg:#0b1220;--fg:#e5e7eb;--muted:#9ca3af;--card:#111827}}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Inter,Roboto,Arial,sans-serif;color:var(--fg);line-height:1.6;
background:linear-gradient(180deg,color-mix(in oklab,var(--brand) 8%, var(--bg)) 0%,color-mix(in oklab,var(--brand) 4%, var(--bg)) 28%,var(--bg) 60%)}
.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1.2rem;padding:.8rem 1rem;border-bottom:1px solid color-mix(in oklab,var(--fg) 12%,transparent);background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:blur(8px)}
.site-header .brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--fg);font-weight:800}
.site-header .brand img{height:44px;flex:0 0 auto}
.nav{margin-left:auto;display:flex;gap:.9rem;flex-wrap:wrap}
.nav a{color:var(--fg);text-decoration:none;opacity:.95}
.nav a.active{color:var(--brand);font-weight:700}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:.7rem 1.1rem;border-radius:.7rem;text-decoration:none;border:0;box-shadow:0 10px 18px -12px color-mix(in oklab,var(--brand) 45%, transparent);transition:.15s}
.btn.outline{background:transparent;border:1px solid color-mix(in oklab,var(--fg) 16%,transparent);color:var(--fg)}
.btn.small{padding:.5rem .8rem;font-size:.95rem}
.hero{min-height:70vh;display:grid;place-items:center;padding:3.2rem 1rem;text-align:center;background:radial-gradient(55% 40% at 50% 0%, color-mix(in oklab,var(--brand) 14%, transparent), transparent 70%)}
.hero .logo-box{display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.hero .logo-box img{height:528px;-webkit-mask-image: linear-gradient(to top, rgba(0,0,0,1) 82%, rgba(0,0,0,0) 100%);mask-image: linear-gradient(to top, rgba(0,0,0,1) 82%, rgba(0,0,0,0) 100%)}
.hero p{max-width:72ch;color:var(--fg);opacity:.95;font-size:1.05rem;line-height:1.75}
.main-cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.container{max-width:1080px;margin-inline:auto;padding:1.8rem 1rem}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:color-mix(in oklab,var(--card) 92%, transparent);border:1px solid color-mix(in oklab,var(--fg) 10%,transparent);border-radius:.8rem;padding:.8rem}
.card img{width:100%;height:auto;border-radius:.5rem;display:block}
.list{padding-left:1rem}
.ref-block{display:grid;grid-template-columns:1.15fr 1fr;gap:1.2rem;align-items:center;margin:1.4rem 0}
.ref-block.alt{grid-template-columns:1fr 1.15fr}
.ref-img-wrap{overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.06)}
.ref-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.shape-round .ref-img-wrap{border-radius:999px}
.shape-oval .ref-img-wrap{border-radius:999px/520px}
.shape-pillow .ref-img-wrap{border-radius:28px}
.shape-angle .ref-img-wrap{border-radius:24px;clip-path:polygon(0 6%,100% 0,100% 94%,0% 100%)}
.shape-half .ref-img-wrap{border-top-left-radius:999px;border-bottom-left-radius:999px}
.ref-text p{margin:0;color:var(--fg);opacity:.95;font-size:1.03rem;line-height:1.75}
.partners{margin-top:2rem;padding:1rem;border-radius:.8rem;background:linear-gradient(0deg, color-mix(in oklab,var(--brand) 8%, var(--card)) 0%, color-mix(in oklab,var(--brand) 4%, var(--card)) 100%);border:1px solid color-mix(in oklab,var(--fg) 14%, transparent)}
.partners h2{margin:.1rem 0 .6rem;text-align:center}
.partner-logos{display:flex;gap:1.1rem;flex-wrap:wrap;align-items:center;justify-content:center}
.partner-logos img{height:40px;object-fit:contain;opacity:1;text-align:center;color:var(--muted);border-top:1px solid color-mix(in oklab,var(--fg) 10%,transparent)}

/* === Partner Logos modernized === */
.partner-logos-section{
  background:#e9f2f6;
  border-radius:18px;
  padding:24px 16px 32px;
  margin-top:40px;
}
.partner-logos-title{
  text-align:center;
  font-weight:800;
  font-size:1.8rem;
  margin:0 0 18px 0;
  color:#0e2a3b;
}
.partner-logos-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap:22px;
  align-items:center;
  justify-items:center;
}
.partner-logos-grid a{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  background:#fff;
  border-radius:12px;
  box-shadow:0 6px 16px rgba(0,0,0,0.06);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease, opacity .2s ease;
}
.partner-logos-grid a:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(0,0,0,0.10);
}

.partner-logos-grid a:hover img{
  
  opacity:1;
}

/* Footer spacing guard */
footer .partner-logos-section{
  margin-bottom:0;
}


/* Improve visibility for white/transparent logos */

.partner-logos-grid a:hover img{
  
  opacity:1;
}


/* Text badge fallback for missing logos */
.partner-logos-grid .logo-text{
  font-weight:700;
  color:#1e2b37;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size:.95rem;
  padding:8px 10px;
}

/* Final partner logos: color, consistent size */

.partner-logos-grid a{
  display:flex;align-items:center;justify-content:center;
  padding:12px 16px;background:#fff;border-radius:12px;
  box-shadow:0 6px 16px rgba(0,0,0,0.06);
  transition:transform .2s ease, box-shadow .2s ease;
}
.partner-logos-grid a:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,0,0,0.10); }

/* Partner logos: equal size & fully visible */
.partner-logos-section{overflow:visible;}
.partner-logos-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap:20px;
  align-items:center;
  justify-items:center;
}
.partner-logos-grid a{
  display:flex;align-items:center;justify-content:center;
  height:88px; width:100%;
  background:#fff;border-radius:12px;
  box-shadow:0 6px 16px rgba(0,0,0,0.06);
  padding:12px 16px;
}
.partner-logos-grid img{
  max-height:56px; max-width:90%;
  width:auto; height:auto; object-fit:contain;
  opacity:1;
}

/* Footer centering for all paragraphs incl. © */
.site-footer p{ text-align:center; }

/* Minimal legal links centering */
.legal-links{ text-align:center; opacity:.9; }
.site-footer .legal-links a{ text-decoration:none; }
