:root{
  --blue-900:#0B2A4A;
  --blue-700:#004FBE;
  --blue-600:#1C6BE3;
  --blue-500:#2D7FFF;
  --blue-300:#7CB4FF;
  --text:#14202E;
  --muted:#4B5B6C;
  --bg:#ffffff;
  --ring: rgba(45,127,255,.35);
  --shadow: 0 8px 30px rgba(16,43,87,.1);
  --radius: 18px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}
h1,h2,h3{font-family:Montserrat,Inter,Arial,sans-serif;line-height:1.2;margin:0 0 .5rem;color:var(--blue-900)}
h1{font-size:clamp(2rem,4vw,3rem)}
h2{font-size:clamp(1.5rem,2.5vw,2rem)}
p{margin:.25rem 0 .75rem}
a{color:var(--blue-600);text-decoration:none}
a:hover{text-decoration:underline}

.container{width:min(1100px,92vw);margin-inline:auto}
.stack{display:grid;gap:1.25rem}

header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid #eef2f7}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0}
.brand{display:flex;align-items:center;gap:.75rem}
.brand img{height:40px;width:auto}
.brand .title{font-weight:700;letter-spacing:.2px;color:var(--blue-900)}
nav a{margin-left:1.25rem;font-weight:600;color:#2b3b4b}
nav a:hover{color:var(--blue-700)}

.hero{position:relative;isolation:isolate;padding:clamp(64px,10vw,108px) 0;
  background: url('hero.svg') center/cover no-repeat, linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
}
.hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg, rgba(11,42,74,.0) 0%, rgba(11,42,74,.05) 100%);mix-blend-mode:multiply}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.kicker{display:inline-block;padding:.38rem .7rem;border-radius:999px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.45);color:#fff;font-weight:700;font-size:.78rem;letter-spacing:.3px}
.hero h1{margin-top:.35rem;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.15)}
.lead{font-size:1.1rem;color:#e9f1ff;max-width:60ch;text-shadow:0 1px 12px rgba(0,0,0,.15)}
.cta{display:flex;gap:.75rem;margin-top:1.25rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.1rem;border-radius:12px;border:1px solid transparent;background:var(--blue-600);color:#fff;font-weight:700;box-shadow:var(--shadow)}
.btn:hover{background:var(--blue-700)}
.btn.secondary{background:#fff;color:var(--blue-700);border-color:#d9e4ff}
.btn.secondary:hover{background:#f3f7ff}
.card-hero{background:rgba(255,255,255,.9);border:1px solid #e6eefc;border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow)}
.shield-lines{background: linear-gradient(0deg, rgba(255,255,255,.96), rgba(255,255,255,.96)), url('shield-lines.svg') right / 360px no-repeat; }

section{padding:clamp(40px,6vw,72px) 0}
.about{padding-bottom:clamp(20px,4vw,40px)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.muted{color:var(--muted)}

.grid{display:grid;gap:1rem}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr}.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid.cols-3{grid-template-columns:1fr}}
.partners{background:#f7fbff}
.partner-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;align-items:stretch}
.partner-grid img{width:100%;height:auto}
.partner-card{display:flex;align-items:center;justify-content:center;padding:1.1rem;border-radius:16px;border:1px solid #e1eaf5;background:#fff;box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .15s ease}
.partner-card:hover{transform:translateY(-2px);box-shadow:0 10px 34px rgba(16,43,87,.14)}
.partner-card img{max-width:140px;width:100%;height:auto;filter:saturate(1.05)}
@media(max-width:1024px){.partner-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}
.card{ background:#fff; border:1px solid #ebf0f7; border-radius:var(--radius); padding:1.1rem; box-shadow:var(--shadow); transition:transform .15s ease; }
.card:hover{transform:translateY(-2px)}
.card h3{margin:.1rem 0 .35rem;font-size:1.05rem}
.icon{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--blue-600),var(--blue-300));display:grid;place-items:center;box-shadow:var(--shadow);margin-bottom:.9rem}
.icon svg{width:22px;height:22px;fill:#fff}

.band{position:relative;color:#fff;background: url('cyber-bg.svg') center/cover no-repeat;}
.band::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(5,16,30,.15) 0%, rgba(5,16,30,.35) 100%)}
.band > .container{position:relative;z-index:1}
.band .muted{color:#dbe7ff}

.contact{display:grid;grid-template-columns:1fr;gap:2rem;justify-items:center;text-align:center}
form{display:grid;gap:1rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:760px){.form-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.3rem}
input,textarea{width:100%;padding:1rem;border-radius:12px;border:1px solid #e2e8f5;outline:none;background:#fff;font-size:16px;transition:border-color .15s ease, box-shadow .15s ease}
input:focus,textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 4px var(--ring)}
input.invalid,textarea.invalid{border-color:#f27474;box-shadow:0 0 0 3px rgba(242,116,116,.35)}
textarea{min-height:140px;resize:vertical}
input::placeholder, textarea::placeholder{font-family: Montserrat, Inter, Arial, sans-serif;font-weight:600;font-size:16px;color:#9aa7b8;letter-spacing:.2px}
.field-error{min-height:1rem;font-size:.85rem;color:#b3261e;display:none}
.field-error.active{display:block}
.help{font-size:.9rem;color:var(--muted)}
.status-wrap{display:flex;flex-direction:column;gap:.5rem}
.success,.error{display:none;padding:.75rem;border-radius:10px;text-align:left;font-size:.95rem}
.success{background:#e8f7ed;color:#1b6c36;border:1px solid #ccebd6}
.error{background:#fff1f1;color:#8e2b2b;border:1px solid #ffd3d3}

footer{padding:36px 0;background:var(--blue-900);color:#ffffff;font-size:.95rem}
.footer-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
@media (max-width:640px){.footer-row{grid-template-columns:1fr;justify-items:center;text-align:center}.footer-row > div:last-child{justify-self:center;margin-top:8px}}
