
:root{
  --blue-950:#06163d;
  --blue-900:#0b2363;
  --blue-800:#123a9c;
  --blue-700:#1e56d9;
  --blue-600:#2e6fff;
  --yellow-500:#ffcf2f;
  --yellow-400:#ffe071;
  --yellow-300:#fff2b8;
  --white:#ffffff;
  --bg:#f4f8ff;
  --text:#13233f;
  --muted:#5c6b88;
  --border:rgba(12,35,99,.12);
  --shadow:0 18px 45px rgba(8,26,80,.12);
  --radius:24px;
  --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,Helvetica,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(255,207,47,.25), transparent 20%),
    radial-gradient(circle at top left, rgba(30,86,217,.12), transparent 24%),
    linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);
  line-height:1.7;
}
a{color:var(--blue-700);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.container{width:min(var(--maxw),calc(100% - 32px));margin:0 auto}

.site-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(14px);
  background:rgba(255,255,255,.9);
  border-bottom:1px solid rgba(12,35,99,.08);
}
.navbar{
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:14px 0;
}
.brand{
  display:flex;align-items:center;gap:12px;
  font-weight:900;font-size:1.15rem;color:var(--blue-950)
}
.brand img{
  width:58px;height:58px;object-fit:contain;border-radius:14px;background:#fff;
  box-shadow:0 10px 26px rgba(18,58,156,.14)
}
.nav-links{display:flex;flex-wrap:wrap;gap:10px}
.nav-links a{
  padding:10px 14px;border-radius:999px;font-weight:700;color:var(--blue-950);
  transition:.2s ease
}
.nav-links a:hover,.nav-links a.active{
  text-decoration:none;color:#fff;
  background:linear-gradient(135deg,var(--blue-700),var(--blue-900));
  box-shadow:0 12px 28px rgba(30,86,217,.24)
}

.page-hero{
  position:relative;overflow:hidden;
  padding:64px 0 24px;
}
.page-hero::before{
  content:"";position:absolute;right:-80px;top:-60px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,207,47,.42), transparent 68%);
}
.page-hero::after{
  content:"";position:absolute;left:-80px;bottom:-50px;width:250px;height:250px;border-radius:50%;
  background:radial-gradient(circle, rgba(46,111,255,.22), transparent 68%);
}
.hero-card{
  position:relative;
  background:linear-gradient(135deg,rgba(11,35,99,.97),rgba(18,58,156,.96));
  color:#fff;
  padding:38px;
  border-radius:32px;
  box-shadow:0 24px 60px rgba(8,26,80,.24);
}
.hero-card .eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:999px;
  background:rgba(255,207,47,.16);border:1px solid rgba(255,207,47,.32);
  color:var(--yellow-400);font-weight:800;font-size:.92rem;margin-bottom:16px
}
.breadcrumbs{
  margin-bottom:12px;color:rgba(255,255,255,.82);font-size:.95rem
}
.breadcrumbs a{color:#fff}
.page-hero h1{
  margin:0 0 12px;line-height:1.08;
  font-size:clamp(2.2rem,4vw,4rem)
}
.page-hero p{
  margin:0;max-width:820px;color:rgba(255,255,255,.9);font-size:1.06rem
}

.section{padding:26px 0 70px}
.section h2{
  margin:0 0 12px;
  font-size:clamp(1.6rem,2.6vw,2.4rem);
  color:var(--blue-950)
}
.section-intro{margin-bottom:24px;color:var(--muted)}
.grid-2,.grid-3,.grid-4{
  display:grid;gap:18px
}
.grid-2{grid-template-columns:1.1fr .9fr}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

.card,.contact-card,.faq-item,.info-panel{
  background:rgba(255,255,255,.96);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:24px;
}
.card h3,.contact-card h3,.faq-item h3,.info-panel h3{
  margin:0 0 10px;color:var(--blue-950)
}
.card p,.contact-card p,.faq-item p,.info-panel p,li{color:var(--muted)}
.card.highlight{
  background:linear-gradient(180deg,rgba(255,207,47,.18),rgba(255,255,255,.97));
  border-color:rgba(255,207,47,.34)
}
.list-clean{padding-left:18px;margin:0}
.kpi{
  display:flex;flex-direction:column;gap:4px
}
.kpi strong{font-size:1.55rem;color:var(--blue-900)}
.kpi span{color:var(--muted)}
.cta-strip{
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
  padding:24px 28px;border-radius:28px;
  background:linear-gradient(135deg,var(--yellow-500),#ffdf68);
  box-shadow:0 18px 38px rgba(255,207,47,.28)
}
.cta-strip h3{margin:0;color:var(--blue-950)}
.cta-strip p{margin:6px 0 0;color:#384a73}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 20px;border-radius:14px;font-weight:800;transition:.2s ease
}
.btn-primary{
  background:linear-gradient(135deg,var(--blue-800),var(--blue-950));
  color:#fff;box-shadow:0 16px 36px rgba(18,58,156,.26)
}
.btn-secondary{
  background:linear-gradient(135deg,var(--yellow-500),#ffbc00);
  color:var(--blue-950);box-shadow:0 16px 34px rgba(255,207,47,.3)
}
.btn:hover{transform:translateY(-2px);text-decoration:none}
.contact-list{display:grid;gap:14px}
.contact-list .item{
  padding:16px 18px;border-radius:18px;background:var(--bg);border:1px solid rgba(18,58,156,.09)
}
.form-grid{display:grid;gap:14px}
.input,textarea{
  width:100%;padding:14px 16px;border-radius:14px;background:#fff;
  border:1px solid rgba(12,35,99,.15);font:inherit;color:var(--text)
}
textarea{min-height:150px;resize:vertical}
.note{font-size:.95rem;color:var(--muted)}

.site-footer{
  background:linear-gradient(135deg,var(--blue-950),#07112e);
  color:rgba(255,255,255,.88)
}
.footer-top{
  display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:24px;padding:40px 0 20px
}
.site-footer h3,.site-footer h4{color:#fff;margin-top:0}
.site-footer a{color:rgba(255,255,255,.9)}
.site-footer a:hover{color:var(--yellow-400)}
.footer-bottom{
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.12);padding:16px 0 34px
}
.pill{
  display:inline-flex;padding:7px 12px;border-radius:999px;
  background:rgba(255,255,255,.1);color:var(--yellow-400);font-weight:800;font-size:.9rem
}
.small{font-size:.94rem;color:rgba(255,255,255,.72)}

@media (max-width:980px){
  .grid-2,.grid-3,.grid-4,.footer-top{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .navbar,.footer-bottom{flex-direction:column;align-items:flex-start}
  .grid-2,.grid-3,.grid-4,.footer-top{grid-template-columns:1fr}
  .hero-card{padding:28px}
  .brand img{width:50px;height:50px}
}
