
:root{
  --navy:#0f3551; --navy-ink:#0c2a40; --steel:#4a5568; --concrete:#e7ebf0;
  --ink:#0b1016; --bg:#f7fafc; --accent:#1ea6b8; --white:#ffffff; --muted:#6b7280;
  --container:1200px; --radius:14px; --shadow:0 6px 18px rgba(9,20,33,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Noto Sans SC","PingFang SC",sans-serif; color:var(--ink); background:var(--bg); line-height:1.6}
.container{max-width:var(--container); margin:0 auto; padding:0 20px}
.section{padding:72px 0}.section.tight{padding:40px 0}
.header{position:sticky; top:0; z-index:1000; backdrop-filter:saturate(1.2) blur(8px); background:rgba(255,255,255,.7); border-bottom:1px solid rgba(15,53,81,.08)}
.header .row{display:flex; align-items:center; justify-content:space-between; height:68px}
.brand{display:flex; align-items:center; gap:14px; color:var(--navy); text-decoration:none; font-weight:700}
.brand img{height:32px; width:32px; display:block; border-radius:50%}
.brand .word{font-size:18px; letter-spacing:.08em}
.nav a{color:var(--navy); text-decoration:none; margin-left:20px; font-size:14px}
.nav a:hover{color:var(--accent)}

.hero{background: radial-gradient(1800px 600px at 50% -200px, #103a59 0%, #071824 60%); color:#eaf2f8; padding:108px 0 72px}
.hero .grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:32px; align-items:center}
.hero h1{font-size:44px; line-height:1.2; margin:0 0 12px; letter-spacing:.02em}
.hero p.lead{font-size:18px; color:#c9d6e2; margin:0 0 24px}
.badges{display:flex; gap:12px; flex-wrap:wrap; margin:12px 0 28px}
.badge{padding:6px 10px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); font-size:12px}
.hero .card{background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.04)); border:1px solid rgba(255,255,255,.18); border-radius:var(--radius); box-shadow: var(--shadow); padding:18px}

.h2{font-size:28px; margin:0 0 8px; color:var(--navy)} .sub{color:var(--muted); margin:0 0 24px}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:22px}
.card{background:var(--white); border:1px solid #e9eef4; border-radius:var(--radius); box-shadow:var(--shadow); padding:18px}
.card h3{margin:6px 0 6px; font-size:18px; color:var(--navy-ink)} .card p{margin:0; color:var(--muted); font-size:14px}
.kpis{display:grid; grid-template-columns: repeat(4,1fr); gap:16px}
.kpis .kpi{background:var(--white); border:1px solid #e9eef4; border-radius:12px; padding:16px; text-align:center}
.kpi .num{font-size:30px; font-weight:800; color:var(--navy)} .kpi .lab{font-size:12px; color:var(--muted)}
.cta{display:flex; gap:12px; flex-wrap:wrap}
.btn{display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:10px; border:1px solid #cfd8e3; background:var(--white); color:var(--navy); text-decoration:none; font-weight:600; font-size:14px}
.btn.primary{background:var(--navy); color:#fff; border-color:transparent} .btn.ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.35)}
.footer{background:#0b1a26; color:#9fb3c8; padding:36px 0}
.footer a{color:#cde3ff; text-decoration:none} .footer small{color:#7d91a4}

/* Media blocks */
.media{display:grid; grid-template-columns: 1.1fr .9fr; gap:28px; align-items:center}
.media.reverse{grid-template-columns: .9fr 1.1fr}
.media figure{margin:0; border-radius:14px; overflow:hidden; box-shadow: var(--shadow); border:1px solid #e9eef4; background:#fff}
.media img{width:100%; height:100%; display:block; object-fit:cover; aspect-ratio: 16 / 10}
.media .txt h3{margin:0 0 8px; color:var(--navy-ink); font-size:22px}
.media .txt p{margin:0; color:var(--steel)}

/* Gallery */
.gallery{display:grid; grid-template-columns:repeat(4, 1fr); gap:12px}
.gallery a{display:block; border-radius:12px; overflow:hidden; border:1px solid #e9eef4; box-shadow: var(--shadow)}
.gallery img{width:100%; height:100%; display:block; object-fit:cover; aspect-ratio: 4 / 3}
@media (max-width: 1100px){ .gallery{grid-template-columns:repeat(3, 1fr)} }
@media (max-width: 720px){ .gallery{grid-template-columns:repeat(2, 1fr)} }

/* Lightbox */
#lightbox{position:fixed; inset:0; background:rgba(3,10,18,.8); display:none; align-items:center; justify-content:center; z-index:2000}
#lightbox.open{display:flex}
#lightbox img{max-width:92vw; max-height:88vh; border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.35)}
#lightbox .close{position:absolute; top:18px; right:18px; width:40px; height:40px; border-radius:10px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:20px}

/* Hamburger */
.menu-btn{display:none; flex-direction:column; justify-content:center; align-items:center; width:40px; height:40px; border:0; background:transparent; cursor:pointer}
.menu-btn .bar{width:26px; height:3px; margin:4px 0; background:#0f3551; border-radius:2px}

@media (max-width: 920px){
  .header .row{gap:8px}
  .nav{position:absolute; top:60px; right:12px; background:#ffffff; border:1px solid #e3e9f1; border-radius:12px; box-shadow:0 10px 30px rgba(9,20,33,.12); padding:10px; display:none; flex-direction:column; z-index:1001}
  .nav a{margin:6px 8px; padding:10px 12px; border-radius:8px; color:#0f3551}
  .nav.open{display:flex}
  .menu-btn{display:flex}
  .hero .grid{grid-template-columns:1fr; gap:18px}
  .grid-3{grid-template-columns:1fr 1fr}
  .grid-4{grid-template-columns:1fr 1fr}
  .kpis{grid-template-columns:1fr 1fr}
  .header .row{height:60px}
  .brand img{height:28px; width:28px}
  .hero{padding:84px 0 48px}
  .hero h1{font-size:32px}
}

/* Modern footer nav */
.footer .container{display:flex; flex-direction:column; gap:16px}
.footer-nav{display:grid; grid-template-columns: repeat(auto-fit, minmax(120px, max-content)); gap:10px 12px; align-items:center}
.footer-nav a{
  display:inline-flex; align-items:center; justify-content:center; padding:10px 14px;
  border-radius:14px; background:rgba(255,255,255,.06); border:1px solid rgba(205,227,255,.14);
  color:#cfe5ff; text-decoration:none; font-size:14px; letter-spacing:.01em;
  backdrop-filter:saturate(1.05) blur(2px); transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.footer-nav a:hover{background:rgba(255,255,255,.10); border-color:rgba(205,227,255,.28); transform:translateY(-1px)}
.footer-nav a:active{transform:translateY(0)}
.footer-nav a:focus-visible{outline:2px solid #cfe5ff; outline-offset:2px; border-color:rgba(205,227,255,.42)}
.footer .meta{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap}
@media (max-width:700px){ .footer .meta{flex-direction:column; gap:8px} }
