﻿:root {
  --green-500: #00b4d8;
  --green-800: #007a94;
  --bg-light: #eef5fa;
  --bg-dark: #050f1e;
  --neutral-900: #0e1724;
  --neutral-500: #587585;
  --neutral-400: #7a90a0;
  --neutral-300: #b8ccd8;
  --neutral-200: #d5e5ef;
  --white: #fff;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif; color:var(--neutral-900); font-size:var(--base-font-size,16px); background:var(--bg-light); }
a { color: inherit; text-decoration: none; }
.container { width:min(1200px, calc(100% - 32px)); margin:0 auto; }
.grid-bg {
  background: #040c1a;
  position: relative;
  overflow: hidden;
  color: #fff;
}
.grid-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
  z-index: 0;
}
.grid-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 340px at 75% 0%, rgba(0,180,216,.22), transparent 65%),
    radial-gradient(600px 280px at 0% 100%, rgba(26,106,255,.14), transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.grid-bg .hero { position: relative; z-index: 1; }
.grid-bg .hero h1 { color: #fff; }
.grid-bg .hero p.sub { color: rgba(180,220,255,.82); }
.site-header { position: sticky; top:0; z-index:10; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); background: rgba(4,12,26,.96); border-bottom:1px solid rgba(0,180,216,.18); }
.utility-bar { border-bottom:1px solid rgba(0,180,216,.15); font-size:13px; background:rgba(4,12,26,.97); color:rgba(180,220,255,.7); }
.utility-row { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.utility-left, .utility-right { display:flex; align-items:center; gap:14px; flex-wrap:wrap; color:rgba(180,220,255,.7); }
.site-search-form { display:flex; align-items:center; border:1px solid rgba(0,180,216,.25); background:rgba(0,180,216,.08); }
.site-search-form input { border:0; outline:none; padding:6px 10px; width:210px; font:inherit; font-size:13px; color:rgba(200,230,255,.9); background:transparent; }
.site-search-form input::placeholder { color:rgba(180,220,255,.45); }
.site-search-form button { border:0; border-left:1px solid rgba(0,180,216,.2); background:transparent; color:rgba(200,230,255,.8); padding:6px 10px; font-weight:700; font-size:12px; cursor:pointer; }
.utility-right a { color:rgba(180,220,255,.72); }
.utility-right a.active-lang { color:#00d4ff; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.vis-btn { border:1px solid rgba(0,180,216,.3); background:rgba(0,180,216,.1); color:rgba(180,220,255,.8); font-size:12px; font-weight:600; padding:6px 10px; cursor:pointer; }
.home-page .utility-bar { background:#fff; border-bottom:1px solid #cde0ea; }
.home-page .utility-row { min-height:40px; }
.home-page .topbar-left { gap:8px; }
.home-page .top-login { font-size:12px; font-weight:700; color:#0a5a72; text-transform:uppercase; letter-spacing:.08em; }
.home-page .topbar-right { gap:10px; }
.home-page .topbar-note { color:#3e6478; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.home-page .topbar-right a { border:1px solid #bdd0de; background:#fff; color:#1a5268; font-size:12px; font-weight:700; padding:4px 8px; line-height:1; text-decoration:none; }
.home-page .topbar-right a.active-lang { border-color:#00b4d8; color:#0a607e; background:#e0f2f9; text-decoration:none; }
.home-page .vis-btn { padding:4px 9px; font-size:11px; font-weight:700; border-color:#b0cede; background:#e8f2f9; }
.home-page .nav { min-height:86px; }
.home-page .menu { font-size:15px; gap:clamp(12px,1.5vw,22px); }
.a11y-panel { position:fixed; top:86px; right:16px; z-index:30; width:min(320px, calc(100% - 32px)); background:rgba(4,12,26,.96); border:1px solid rgba(0,180,216,.22); box-shadow:0 10px 30px rgba(0,0,0,.4); padding:14px; display:none; color:#fff; }
.a11y-panel.open { display:block; }
.a11y-panel h4 { margin:0 0 10px; font-size:16px; }
.a11y-row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }
.a11y-row label { font-size:14px; color:var(--neutral-900); }
.a11y-row .btn-mini { border:1px solid rgba(0,180,216,.3); background:rgba(0,180,216,.1); color:rgba(200,230,255,.9); font-weight:700; padding:6px 9px; cursor:pointer; }
.a11y-row .btn-mini.active { background:var(--green-500); color:#fff; border-color:var(--green-500); }

body.a11y-contrast {
  --bg-light: #ffffff;
  --bg-dark: #000000;
  --neutral-900: #000000;
  --neutral-500: #111111;
  --neutral-400: #222222;
  --neutral-300: #444444;
  --neutral-200: #777777;
  --green-500: #000000;
  --green-800: #000000;
}
body.a11y-contrast .btn,
body.a11y-contrast .contact-btn,
body.a11y-contrast .tool-pill,
body.a11y-contrast .vis-btn,
body.a11y-contrast .btn-mini {
  background:#000 !important;
  color:#fff !important;
  border-color:#000 !important;
}
body.a11y-contrast .site-header,
body.a11y-contrast .utility-bar,
body.a11y-contrast .grid-bg,
body.a11y-contrast .card,
body.a11y-contrast .item,
body.a11y-contrast .news-item,
body.a11y-contrast .fact,
body.a11y-contrast .partner,
body.a11y-contrast .page-link-card,
body.a11y-contrast .events-block,
body.a11y-contrast .doc-table,
body.a11y-contrast .a11y-panel {
  background:#fff !important;
  color:#000 !important;
}
body.a11y-grayscale { filter: grayscale(1); }
.nav { position:relative; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:82px; padding:10px 0; }
.brand { display:flex; align-items:center; gap:10px; flex-shrink:0; font-size:28px; font-weight:700; letter-spacing:.02em; color:var(--green-500); text-transform:lowercase; }
.brand-dot { width:36px; height:36px; border-radius:50%; background:var(--green-500); color:#fff; display:grid; place-items:center; font-weight:700; font-size:14px; }
.menu { display:flex; flex:1; justify-content:center; align-items:center; gap:clamp(12px,1.4vw,22px); margin:0 8px; color:var(--neutral-500); font-size:15px; }
.menu a { white-space:nowrap; letter-spacing:.005em; }
.menu a.active { color:var(--green-500); font-weight:700; }
.contact-btn { flex-shrink:0; border:0; background:var(--green-500); color:#fff; padding:10px 18px; font-size:14px; font-weight:700; transition:background .18s ease; }
.contact-btn:hover { background:var(--green-800); }

/* DROPDOWN NAV */
.nav-item { position:relative; }
.nav-item > a { display:flex; align-items:center; gap:5px; cursor:pointer; }
.nav-item > a ph-caret-down { font-size:10px; width:10px; height:10px; flex-shrink:0; opacity:.55; transition:transform .2s; }
.nav-item:hover > a ph-caret-down, .nav-item.is-open > a ph-caret-down { transform:rotate(180deg); opacity:1; }
.dropdown { position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%); min-width:210px; background:rgba(4,12,26,.98); border:1px solid rgba(0,180,216,.22); box-shadow:0 16px 40px rgba(0,0,0,.45); padding:6px 0; z-index:100; display:none; }
.nav-item:hover .dropdown, .nav-item.is-open .dropdown { display:block; }
.dropdown a { display:block; padding:10px 18px; font-size:14px; color:rgba(200,230,255,.82); white-space:nowrap; border-bottom:1px solid rgba(0,180,216,.08); transition:background .14s, color .14s; }
.dropdown a:last-child { border-bottom:0; }
.dropdown a:hover { background:rgba(0,180,216,.1); color:#00d4ff; }

/* HAMBURGER BUTTON */
.hamburger { display:none; flex-direction:column; justify-content:center; gap:5px; cursor:pointer; padding:7px; background:none; border:1px solid rgba(0,180,216,.3); width:38px; height:38px; flex-shrink:0; }
.hamburger span { display:block; width:20px; height:2px; background:rgba(200,230,255,.85); border-radius:2px; transition:transform .22s ease, opacity .18s ease; }
.hamburger.is-open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.hamburger.is-open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.is-open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* MOBILE NAV OVERLAY */
.mobile-nav { display:none; position:fixed; inset:0; z-index:39; background:rgba(4,12,26,.99); overflow-y:auto; padding:80px 24px 60px; }
.mobile-nav.is-open { display:block; }
.mobile-nav-label { font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:rgba(0,180,216,.65); margin:22px 0 4px; font-weight:700; display:block; }
.mobile-nav a { display:block; padding:13px 0; color:rgba(200,230,255,.88); font-size:17px; font-weight:600; border-bottom:1px solid rgba(0,180,216,.1); }
.mobile-nav a:hover { color:#00d4ff; }
.mobile-nav-sub { padding-left:14px; }
.mobile-nav-sub a { font-size:15px; padding:9px 0; font-weight:400; color:rgba(180,210,255,.7); }
.mobile-nav-cta { margin-top:28px; display:block; background:var(--green-500); color:#fff !important; padding:15px 24px; font-size:16px; font-weight:700; text-align:center; border-bottom:0 !important; }

@media (max-width: 1240px){
  .menu { gap:clamp(10px,1.1vw,16px); font-size:14px; }
  .contact-btn { padding:9px 13px; font-size:13px; }
}
.hero { position:relative; z-index:1; padding:90px 0 70px; }
.hero.center { text-align:center; }
.hero h1 { margin:0 0 22px; font-size:clamp(42px, 8vw, 70px); line-height:1.2; letter-spacing:-.01em; font-weight:700; }
.hero p.sub { margin:0; color:var(--neutral-500); font-size:20px; line-height:1.4; }
.hero-cinematic { position:relative; overflow:hidden; min-height:76vh; background:#040c1a; color:#fff; }
.hero-cinematic::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(2,20,30,.18) 0%, rgba(0,0,0,.48) 100%); pointer-events:none; z-index:0; }
.hero-cinematic::after { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size:72px 72px; opacity:.16; pointer-events:none; z-index:0; }
.hero-cinematic-bg { position:absolute; inset:0; pointer-events:none; }
.hero-cinematic-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.95) contrast(1.02) brightness(.62); transform:scale(1.02); }
.orb { position:absolute; border-radius:50%; filter:blur(24px); opacity:.28; animation:heroDrift 16s ease-in-out infinite; }
.orb-1 { width:520px; height:520px; left:-130px; top:8%; background:radial-gradient(circle,#00d4ff 0%, rgba(0,212,255,0) 72%); }
.orb-2 { width:460px; height:460px; right:-120px; top:26%; background:radial-gradient(circle,#1a6aff 0%, rgba(26,106,255,0) 72%); animation-delay:2.4s; }
.orb-3 { width:380px; height:380px; left:30%; bottom:-170px; background:radial-gradient(circle,#00b4d8 0%, rgba(0,180,216,0) 72%); animation-delay:4.4s; }
.scan { position:absolute; left:-32%; width:164%; height:190px; background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.16), rgba(255,255,255,0)); mix-blend-mode:screen; transform:skewY(-7deg); opacity:.24; animation:heroSweep 11s linear infinite; }
.scan-1 { top:16%; }
.scan-2 { top:52%; animation-delay:5.4s; }
.hero-cinematic-inner { position:relative; z-index:1; min-height:72vh; display:grid; grid-template-columns:1.2fr .8fr; gap:26px; align-items:center; padding:70px 0 120px; }
.hero-cinematic-copy h1 { margin:0 0 16px; font-size:clamp(44px,6.9vw,74px); line-height:1.04; letter-spacing:-.02em; text-shadow:0 8px 28px rgba(0,0,0,.28); }
.hero-cinematic-copy .lead { margin:0; max-width:860px; font-size:20px; line-height:1.48; color:rgba(235,247,252,.92); }
.eyebrow { margin:0 0 12px; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:rgba(220,243,252,.88); font-weight:700; }
.hero-outline-btn { border-color:rgba(255,255,255,.72); color:#fff; background:transparent; }
.hero-outline-btn:hover { background:rgba(255,255,255,.14); }
.hero-cinematic-panel { border:1px solid rgba(255,255,255,.22); background:linear-gradient(160deg, rgba(8,47,66,.72), rgba(7,36,52,.62)); backdrop-filter:blur(8px); box-shadow:0 18px 42px rgba(0,0,0,.34); padding:18px; }
.hero-cinematic-panel h3 { margin:0 0 12px; font-size:24px; }
.hero-mini-kpis { display:grid; gap:10px; margin-bottom:10px; }
.hero-mini-kpis div { border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06); padding:10px 12px; }
.hero-mini-kpis span { display:block; font-size:12px; letter-spacing:.04em; color:rgba(234,250,255,.82); margin-bottom:5px; }
.hero-mini-kpis strong { font-size:32px; line-height:1; color:#fff; }
.hero-cinematic-strip { position:absolute; left:0; right:0; bottom:0; z-index:1; border-top:1px solid rgba(255,255,255,.15); background:rgba(3,20,32,.64); backdrop-filter:blur(8px); }
.hero-strip-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.hero-strip-grid a { border-right:1px solid rgba(255,255,255,.14); padding:14px 16px; min-height:84px; display:grid; align-content:center; gap:5px; transition:background .16s ease; }
.hero-strip-grid a:last-child { border-right:0; }
.hero-strip-grid a:hover { background:rgba(255,255,255,.08); }
.hero-strip-grid span { font-size:11px; color:rgba(222,239,248,.8); text-transform:uppercase; letter-spacing:.08em; }
.hero-strip-grid strong { font-size:16px; line-height:1.3; color:#fff; font-weight:700; }
.entry-hero { position:relative; z-index:1; padding:78px 0 64px; text-align:center; }
.entry-hero h1 { margin:0 0 14px; font-size:clamp(40px,7vw,64px); line-height:1.15; font-weight:700; }
.entry-hero .lead { margin:0 auto 26px; max-width:860px; color:var(--neutral-500); font-size:20px; line-height:1.4; }
.entry-tools { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-bottom:28px; }
.tool-pill { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); padding:10px 14px; font-size:14px; color:var(--neutral-500); box-shadow:0 2px 8px rgba(0,100,160,.05); }
.entry-contacts { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; text-align:left; }
.entry-contacts .cell { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,100,160,.06); padding:16px; }
.entry-contacts .k { display:block; color:var(--neutral-500); font-size:13px; margin-bottom:4px; }
.entry-contacts .v { font-weight:700; }
.activity-strip { margin-top:22px; background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,100,160,.06); padding:18px; text-align:left; }
.activity-strip h3 { margin:0 0 12px; font-size:24px; }
.activity-list { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.activity-list a { display:block; border:1px solid var(--neutral-200); padding:12px; font-weight:600; }
.activity-list small { display:block; color:var(--neutral-500); font-weight:500; margin-top:4px; }
.facts-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:20px; }
.fact { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,100,160,.06); padding:16px; }
.fact .k { display:block; color:var(--neutral-500); font-size:13px; margin-bottom:5px; }
.fact .v { font-weight:700; line-height:1.4; }
.mini-news { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:22px; }
.news-item { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,100,160,.06); padding:18px; }
.news-item .tag { color:var(--green-500); font-size:13px; font-weight:700; margin-bottom:6px; display:block; }
.news-item h4 { margin:0 0 8px; font-size:20px; line-height:1.35; }
.news-item p { margin:0; color:var(--neutral-500); line-height:1.6; }
.top-story-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; margin-top:22px; }
.top-story-main { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,100,160,.06); padding:24px; }
.top-story-main h3 { margin:8px 0 10px; font-size:34px; line-height:1.2; }
.top-story-main p { margin:0 0 16px; color:var(--neutral-500); font-size:18px; line-height:1.5; }
.top-story-list { display:grid; gap:12px; }
.split-panels { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.events-dual { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:22px; }
.events-block { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,100,160,.06); padding:18px; }
.events-block h3 { margin:0; font-size:24px; }
.meta-line { color:var(--neutral-500); font-size:14px; margin:6px 0 0; }
.content-shell { max-width:940px; }
.breadcrumbs { margin:0 0 14px; color:var(--neutral-500); font-size:14px; }
.content-shell h1 { margin:0; font-size:48px; line-height:1.18; }
.article-cover { margin-top:18px; height:360px; background:linear-gradient(135deg,#b8d8e8,#9acad8); border:1px solid var(--neutral-200); }
.article-content { margin-top:18px; display:grid; gap:14px; }
.article-content p { margin:0; color:var(--neutral-900); line-height:1.8; font-size:18px; }
.video-frame { margin-top:18px; border:1px solid var(--neutral-200); height:420px; display:grid; place-items:center; background:#e8f2f8; color:var(--neutral-500); font-weight:700; }
.partner-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:14px; margin-top:24px; }
.partner { border:1px solid var(--neutral-200); background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); height:100px; display:grid; place-items:center; padding:16px; box-shadow:0 2px 12px rgba(0,100,160,.05); transition:border-color .18s ease, box-shadow .18s ease; }
.partner:hover { border-color:var(--green-500); box-shadow:0 4px 20px rgba(0,180,216,.12); }
.partner img { max-width:100%; max-height:56px; object-fit:contain; filter:grayscale(15%); transition:filter .2s ease; }
.partner:hover img { filter:none; }
.page-links { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px; }
.page-link-card { border:1px solid var(--neutral-200); background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); box-shadow:0 4px 24px rgba(0,100,160,.06); padding:18px; transition: border-color .18s ease, box-shadow .18s ease; }
.page-link-card:hover { border-color: var(--green-500); box-shadow: 0 6px 24px rgba(0,180,216,.14); }
.page-link-card h3 { margin:0 0 8px; font-size:22px; }
.page-link-card p { margin:0; color:var(--neutral-500); }
.btn { display:inline-flex; align-items:center; justify-content:center; background:var(--green-500); color:#fff; padding:14px 20px; font-size:16px; font-weight:700; border:0; cursor:pointer; }
.section { padding:80px 0; background:var(--bg-light); }
.section-title { font-size:40px; line-height:1.2; margin:0 0 14px; }
.section-sub { color:var(--neutral-500); font-size:20px; line-height:1.4; margin:0; }
.section-tight { padding-top:28px; }
.hero-cta-row { margin-bottom:18px; }
.section-action { margin-top:18px; }
.media-spotlight-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:18px; margin-top:22px; }
.media-spotlight-main { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 6px 28px rgba(0,100,160,.08); padding:18px; }
.media-spotlight-main .media-lg { height:320px; margin-bottom:12px; }
.media-spotlight-main h3 { margin:8px 0 10px; font-size:32px; line-height:1.2; }
.media-spotlight-main p { margin:0 0 14px; color:var(--neutral-500); font-size:18px; line-height:1.55; }
.media-spotlight-list { display:grid; gap:12px; }
.video-hub { display:grid; grid-template-columns:1.25fr .75fr; gap:18px; margin-top:22px; }
.video-hub-main { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 6px 28px rgba(0,100,160,.08); padding:16px; }
.video-player-shell { position:relative; width:100%; padding-top:56.25%; border:1px solid var(--neutral-200); background:#e3f0f8; margin-bottom:12px; overflow:hidden; }
.video-player-shell iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-hub-main h3 { margin:8px 0 8px; font-size:30px; line-height:1.2; }
.video-hub-main p { margin:0 0 8px; color:var(--neutral-500); line-height:1.55; font-size:17px; }
.video-hub-list { display:grid; gap:10px; align-content:start; }
.video-hub-item { width:100%; border:1px solid var(--neutral-200); background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); padding:10px; display:grid; grid-template-columns:96px 1fr; gap:10px; align-items:center; cursor:pointer; text-align:left; }
.video-hub-item:hover { border-color:var(--green-500); }
.video-hub-item.is-active { border-color:var(--green-500); background:#e0f0f8; }
.video-hub-thumb { height:56px; border:1px solid var(--neutral-200); background:linear-gradient(135deg,#b8d8e8,#9acad8); position:relative; }
.video-hub-thumb::before { content:''; position:absolute; left:50%; top:50%; transform:translate(-40%,-50%); width:0; height:0; border-top:9px solid transparent; border-bottom:9px solid transparent; border-left:14px solid #fff; }
.video-hub-copy strong { display:block; font-size:16px; margin-bottom:4px; color:var(--neutral-900); }
.video-hub-copy small { color:var(--neutral-500); font-size:13px; }
.goal-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px; }
.goal-card { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,100,160,.06); padding:14px; }
.goal-card h4 { margin:0 0 6px; font-size:20px; line-height:1.3; }
.goal-card p { margin:0; color:var(--neutral-500); line-height:1.55; }
.open-data-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:22px; }
.open-data-card { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,100,160,.06); padding:16px; display:grid; gap:8px; }
.open-data-card .k { color:var(--neutral-500); font-size:13px; }
.open-data-card strong { font-size:34px; line-height:1; color:var(--green-500); }
.open-data-card a { color:var(--green-500); font-weight:700; font-size:14px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:36px; }
.card { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,100,160,.08); padding:20px; }
.card h3 { margin:0 0 10px; font-size:24px; line-height:1.35; }
.card p { margin:0; color:var(--neutral-500); line-height:1.6; }
.media { height:190px; background:linear-gradient(135deg,#b8d8e8,#9acad8); margin-bottom:14px; }
.split { display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:center; }
.list { display:grid; gap:12px; margin-top:18px; }
.list .item { border:1px solid var(--neutral-200); background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.5)); padding:16px; transition: border-color .18s ease, box-shadow .18s ease; }
.list a.item:hover { border-color: var(--green-500); box-shadow: 0 4px 20px rgba(0,180,216,.12); }
.list .item h4 { margin:0 0 6px; font-size:20px; }
.list .item p { margin:0; color:var(--neutral-500); }
.dark-cta { background:var(--bg-dark); color:#fff; border-bottom:1px solid var(--green-800); }
.dark-cta .row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:60px 0; }
.dark-cta h2 { margin:0; font-size:48px; line-height:1.2; max-width:840px; }
.site-footer { background:var(--bg-dark); color:var(--neutral-300); }
.footer-top { border-top:1px solid var(--green-800); border-bottom:1px solid var(--green-800); padding:40px 0; display:grid; grid-template-columns:1fr 3fr; gap:26px; align-items:stretch; }
.footer-info { display:flex; flex-direction:column; gap:0; }
.footer-info h4 { margin:16px 0 10px; color:#fff; font-size:15px; }
.footer-info h4:first-child { margin-top:0; }
.footer-info p, .footer-info a { margin:0 0 6px; font-size:14px; line-height:1.6; color:var(--neutral-300); display:block; }
.footer-map-col { position:relative; min-height:300px; }
.footer-map-col iframe { display:block; width:100%; height:100%; min-height:300px; border:0; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding:16px 0; font-size:14px; }
.kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:28px; }
.kpi { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 20px rgba(0,100,160,.06); padding:18px; text-align:center; }
.kpi strong { display:block; font-size:34px; color:var(--green-500); }
.faq { display:grid; gap:12px; }
.faq .q { background:linear-gradient(160deg,rgba(238,245,250,.9) 60%,rgba(210,235,248,.5)); border-radius:14px; padding:18px; border:1px solid var(--neutral-200); box-shadow:0 2px 12px rgba(0,100,160,.05); }
.faq .q h4 { margin:0; font-size:20px; }
.faq .q p { margin:10px 0 0; color:var(--neutral-500); }
.faq-toggle { width:100%; text-align:left; background:transparent; border:0; font-size:20px; font-weight:700; cursor:pointer; padding:0; }
.faq .q.is-collapsed p { display:none; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form-grid input, .form-grid select, .form-grid textarea { width:100%; padding:13px 14px; border:1px solid var(--neutral-200); font:inherit; background:rgba(238,245,250,.8); color:var(--neutral-900); }
.form-grid textarea { min-height:140px; grid-column:1 / -1; resize:vertical; }
.check-line { margin-top:14px; display:flex; gap:10px; align-items:flex-start; }
.doc-table { border:1px solid var(--neutral-200); background:linear-gradient(180deg,#fff 60%,rgba(238,245,250,.5)); }
.doc-row { display:grid; grid-template-columns:2fr 1fr 1fr auto; gap:10px; padding:12px 14px; border-top:1px solid var(--neutral-200); align-items:center; }
.doc-row.head { border-top:0; font-weight:700; background:#e8f3f9; }
.doc-row a { color:var(--green-500); font-weight:700; }
.split-inline { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.not-found { text-align:center; padding:120px 0; }
.not-found .code { font-size:220px; line-height:1; color:var(--green-500); font-weight:700; margin:0; }
.not-found h1 { margin:0 0 14px; font-size:clamp(36px,6vw,64px); line-height:1.2; color:#fff; font-weight:700; }
.not-found .sub { margin:0 0 28px; font-size:18px; line-height:1.6; color:rgba(180,220,255,.82); }
.not-found .btn { font-size:15px; padding:13px 24px; }

.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:26px; }
.team-card { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,100,160,.08); padding:18px; }
.team-photo { height:220px; background:linear-gradient(135deg,#b8d8e8,#9acad8); margin-bottom:12px; }
.team-card h3 { margin:0 0 4px; font-size:24px; }
.team-role { margin:0 0 10px; color:var(--green-500); font-weight:700; font-size:15px; }
.team-card p { margin:0; color:var(--neutral-500); line-height:1.6; }
.team-meta { margin-top:12px; display:grid; gap:6px; color:var(--neutral-900); font-size:14px; font-weight:600; }
.team-departments .item h4 { font-size:18px; }
.team-contacts { display:grid; gap:12px; margin-top:18px; }
.team-contacts .fact small { margin-top:6px; color:var(--neutral-500); font-size:13px; display:block; }
.team-cta { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,100,160,.06); padding:24px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.team-cta h2 { margin:0 0 8px; font-size:34px; line-height:1.2; }
.team-cta p { margin:0; color:var(--neutral-500); font-size:18px; line-height:1.5; }
.research-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px; }
.research-card { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,100,160,.06); padding:18px; }
.research-card h3 { margin:0 0 8px; font-size:24px; line-height:1.3; }
.research-card p { margin:0; color:var(--neutral-500); line-height:1.6; }
.useful-links-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:22px; }
.useful-link-card { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,100,160,.05); padding:16px; }
.useful-link-card h4 { margin:0 0 6px; font-size:18px; }
.useful-link-card p { margin:0; color:var(--neutral-500); line-height:1.5; }
.search-results { display:grid; gap:12px; margin-top:20px; }
.search-item { background:linear-gradient(160deg,#fff 60%,rgba(238,245,250,.6)); border:1px solid var(--neutral-200); box-shadow:0 2px 12px rgba(0,100,160,.05); padding:16px; }
.search-item h3 { margin:0 0 8px; font-size:22px; }
.search-item p { margin:0; color:var(--neutral-500); line-height:1.6; }

@media (max-width: 980px){
  .utility-row { min-height:46px; }
  .utility-left { display:none; }
  .utility-right { width:100%; justify-content:space-between; }
  .home-page .utility-left { display:flex; width:auto; }
  .home-page .utility-right { width:auto; justify-content:flex-end; }
  .home-page .topbar-note { display:none; }
  .home-page .utility-row { justify-content:space-between; }
  .home-page .topbar-right a { padding:4px 7px; font-size:11px; }
  .site-search-form { width:100%; order:5; }
  .site-search-form input { width:100%; }
  .a11y-panel { top:110px; right:8px; width:calc(100% - 16px); }
  .menu { display:none !important; }
  .hamburger { display:flex; }
  .hero-cinematic { min-height:auto; }
  .hero-cinematic-inner { min-height:auto; grid-template-columns:1fr; padding:42px 0 98px; }
  .hero-cinematic-copy h1 { font-size:clamp(34px,9vw,48px); }
  .hero-cinematic-copy .lead { font-size:18px; }
  .hero-cinematic-strip { position:relative; }
  .hero-strip-grid { grid-template-columns:1fr 1fr; }
  .hero-strip-grid a { min-height:74px; }
  .cards { grid-template-columns:1fr; }
  .media-spotlight-grid { grid-template-columns:1fr; }
  .video-hub { grid-template-columns:1fr; }
  .media-spotlight-main .media-lg { height:220px; }
  .goal-grid { grid-template-columns:1fr; }
  .open-data-grid { grid-template-columns:1fr 1fr; }
  .top-story-grid { grid-template-columns:1fr; }
  .split-panels { grid-template-columns:1fr; }
  .events-dual { grid-template-columns:1fr; }
  .content-shell h1 { font-size:34px; }
  .article-cover { height:220px; }
  .video-frame { height:240px; }
  .form-grid { grid-template-columns:1fr; }
  .doc-row { grid-template-columns:1fr; }
  .split-inline { flex-direction:column; align-items:flex-start; }
  .split { grid-template-columns:1fr; }
  .kpi-grid { grid-template-columns:repeat(2,1fr); }
  .entry-contacts { grid-template-columns:1fr; }
  .activity-list { grid-template-columns:1fr; }
  .facts-grid { grid-template-columns:1fr; }
  .mini-news { grid-template-columns:1fr; }
  .partner-grid { grid-template-columns:repeat(2,1fr); }
  .page-links { grid-template-columns:1fr; }
  .team-grid { grid-template-columns:1fr; }
  .team-cta { flex-direction:column; align-items:flex-start; }
  .team-cta h2 { font-size:30px; }
  .research-grid { grid-template-columns:1fr; }
  .useful-links-grid { grid-template-columns:1fr; }
  .dark-cta .row { flex-direction:column; align-items:flex-start; }
  .dark-cta h2 { font-size:36px; }
  .footer-top { grid-template-columns:1fr; }
  .footer-map-col { min-height:220px; }
  .footer-map-col iframe { min-height:220px; }
  .not-found .code { font-size:120px; }
  .section-tight { padding-top:18px; }
}

@keyframes heroDrift {
  0%,100% { transform:translateY(0) translateX(0) scale(1); opacity:.24; }
  50% { transform:translateY(-24px) translateX(18px) scale(1.08); opacity:.34; }
}
@keyframes heroSweep {
  0% { transform:translateX(-18%) skewY(-7deg); opacity:.1; }
  20% { opacity:.28; }
  100% { transform:translateX(18%) skewY(-7deg); opacity:.1; }
}

@media (prefers-reduced-motion: reduce){
  .orb,
  .scan{
    animation:none !important;
  }
}

/* Admin dashboard */
.admin-section { padding-bottom:40px; }
.admin-shell { display:grid; grid-template-columns:260px 1fr; gap:18px; align-items:start; }
.admin-nav-panel { position:sticky; top:98px; align-self:start; }
.admin-nav-panel h3 { margin:0 0 10px; font-size:22px; }
.admin-menu { display:grid; gap:8px; }
.admin-menu a { border:1px solid var(--neutral-200); background:#fff; padding:10px 12px; font-size:15px; font-weight:600; color:var(--neutral-500); transition:all .16s ease; }
.admin-menu a:hover { border-color:var(--green-500); color:var(--green-500); }
.admin-menu a.active { border-color:var(--green-500); color:var(--green-500); background:#e0f0f9; }
.admin-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:12px; }
.admin-stat { background:#fff; border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,0,0,.06); padding:14px; }
.admin-stat span { display:block; font-size:13px; color:var(--neutral-500); margin-bottom:6px; }
.admin-stat strong { font-size:34px; line-height:1; color:var(--neutral-900); }
.admin-main-grid { display:grid; grid-template-columns:1.6fr .8fr; gap:12px; margin-bottom:12px; align-items:start; }
.admin-card { background:#fff; border:1px solid var(--neutral-200); box-shadow:0 4px 24px rgba(0,0,0,.06); padding:14px; min-height:0; }
.admin-card h3 { margin:0 0 10px; font-size:22px; color:var(--neutral-900); }
.admin-map { height:320px; border:1px solid var(--neutral-200); background:linear-gradient(135deg,#e2f0f9,#f3f8fc); position:relative; overflow:hidden; }
.admin-map::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(0,100,160,.06) 1px, transparent 1px),linear-gradient(90deg, rgba(0,100,160,.06) 1px, transparent 1px); background-size:34px 34px; }
.admin-map::after { content:''; position:absolute; left:18%; top:18%; width:62%; height:64%; background:radial-gradient(circle at 25% 35%, rgba(126,197,143,.55), transparent 22%),radial-gradient(circle at 46% 56%, rgba(251,184,97,.46), transparent 24%),radial-gradient(circle at 72% 52%, rgba(228,101,101,.4), transparent 22%); }
.admin-map-label { position:absolute; left:53%; top:48%; transform:translate(-50%,-50%); background:#fff; border:1px solid var(--neutral-300); color:var(--neutral-900); padding:9px 10px; font-size:13px; box-shadow:0 8px 24px rgba(0,0,0,.1); z-index:2; }
.admin-map-label strong { display:block; font-size:14px; margin-bottom:4px; }
.admin-side-list { display:grid; gap:8px; }
.admin-side-item { border:1px solid var(--neutral-200); padding:10px; font-size:14px; background:#f2f7fb; }
.admin-side-item b { display:block; color:var(--neutral-900); margin-bottom:4px; }
.admin-bottom { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; align-items:start; }
.admin-chart { height:150px; border:1px solid var(--neutral-200); background:linear-gradient(to top,#ddf0f9 0 28%, #f3f8fc 28% 100%); position:relative; overflow:hidden; }
.admin-chart::before { content:''; position:absolute; left:10px; right:10px; bottom:10px; height:82px; background:repeating-linear-gradient(to right,#00b4d8 0 10px,transparent 10px 17px); opacity:.85; }
.admin-chart::after { content:''; position:absolute; left:10px; right:10px; top:46px; border-top:3px solid #1a6aff; transform:skewY(-8deg); }
.admin-list { margin:0; padding:0; list-style:none; display:grid; gap:8px; font-size:14px; }
.admin-list li { border:1px solid var(--neutral-200); padding:9px; display:flex; justify-content:space-between; gap:8px; background:#f2f7fb; }
.admin-badge { padding:2px 7px; border-radius:999px; font-size:11px; font-weight:700; }
.admin-badge.ok { background:#e1f5e6; color:#24733a; }
.admin-badge.warn { background:#fff5df; color:#996109; }
.admin-badge.bad { background:#fde6e6; color:#9c2828; }
.admin-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.admin-toolbar h2 { margin:0; font-size:32px; line-height:1.2; }
.admin-filters { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:12px; }
.admin-input, .admin-select { width:100%; border:1px solid var(--neutral-200); background:#fff; padding:11px 12px; font:inherit; color:var(--neutral-900); }
.admin-table-wrap { border:1px solid var(--neutral-200); background:#fff; overflow:auto; }
.admin-table { width:100%; border-collapse:collapse; min-width:860px; font-size:14px; }
.admin-table th, .admin-table td { padding:12px 10px; border-top:1px solid var(--neutral-200); text-align:left; vertical-align:top; }
.admin-table thead th { border-top:0; background:#e8f3f9; font-size:13px; color:var(--neutral-500); font-weight:700; }
.admin-table tbody tr:hover { background:#f0f6fb; }
.admin-table td strong { display:block; font-size:15px; margin-bottom:2px; color:var(--neutral-900); }
.admin-table td small { color:var(--neutral-500); }
.admin-pager { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:10px; font-size:14px; color:var(--neutral-500); }
.admin-page-btns { display:flex; gap:8px; }
.admin-page-btns button { border:1px solid var(--neutral-300); background:#fff; padding:6px 10px; font:inherit; cursor:pointer; }
.admin-page-btns button.active { border-color:var(--green-500); color:var(--green-500); font-weight:700; }

@media (max-width: 1100px){
  .admin-section { padding-bottom:28px; }
  .admin-shell { grid-template-columns:1fr; }
  .admin-nav-panel { position:static; }
  .admin-stats { grid-template-columns:1fr 1fr; }
  .admin-main-grid { grid-template-columns:1fr; }
  .admin-bottom { grid-template-columns:1fr; }
  .admin-filters { grid-template-columns:1fr; }
  .admin-toolbar { flex-direction:column; align-items:flex-start; }
}

/* Admin experience refresh */
.admin-section {
  position: relative;
  padding-top: 42px;
  padding-bottom: 52px;
  background:
    radial-gradient(860px 420px at 86% 0%, rgba(0, 180, 216, .12), transparent 68%),
    radial-gradient(780px 340px at 6% 100%, rgba(5, 15, 30, .15), transparent 70%),
    linear-gradient(180deg, #e8f2f9 0%, #eef8fc 100%);
}
.admin-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(0, 100, 160, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 100, 160, .06) 1px, transparent 1px);
  background-size: 44px 44px;
  pointer-events: none;
}
.admin-section .container {
  position: relative;
  z-index: 1;
}
.admin-shell {
  grid-template-columns: 280px 1fr;
  gap: 22px;
}
.admin-nav-panel.card,
.admin-nav-panel {
  border-radius: 18px;
  border: 1px solid rgba(180, 210, 230, .95);
  background: rgba(255, 255, 255, .9);
  backdrop-filter: blur(8px);
  box-shadow: 0 24px 44px rgba(5, 15, 30, .1);
  padding: 18px;
}
.admin-nav-panel h3 {
  font-size: 18px;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--neutral-500);
}
.admin-menu {
  gap: 10px;
}
.admin-menu a {
  border: 1px solid #c5d8e8;
  border-radius: 12px;
  background: #fff;
  color: #4a6880;
  padding: 11px 12px;
  position: relative;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, background .18s ease;
}
.admin-menu a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 4px;
  border-radius: 0 8px 8px 0;
  background: transparent;
}
.admin-menu a:hover {
  border-color: #00b0d0;
  color: #007a94;
  box-shadow: 0 10px 20px rgba(0, 100, 150, .1);
  transform: translateY(-1px);
}
.admin-menu a.active {
  border-color: #0aa8c8;
  color: #0a4a65;
  background: linear-gradient(120deg, rgba(0, 180, 216, .16) 0%, rgba(0, 180, 216, .04) 80%);
  box-shadow: 0 12px 24px rgba(0, 100, 150, .14);
}
.admin-menu a.active::before {
  background: linear-gradient(180deg, #007a94 0%, #00b4d8 100%);
}
.admin-stats {
  gap: 14px;
  margin-bottom: 14px;
}
.admin-stat {
  border-radius: 16px;
  border: 1px solid #c5d8e8;
  background: linear-gradient(180deg, #ffffff 0%, #f0f6fb 100%);
  box-shadow: 0 14px 28px rgba(5, 15, 30, .09);
  padding: 16px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.admin-stat:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 34px rgba(5, 15, 30, .14);
}
.admin-stat span {
  color: #4a6880;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.admin-stat strong {
  display: block;
  margin-top: 6px;
  font-size: clamp(30px, 2.8vw, 42px);
  color: #0a4a65;
}
.admin-main-grid,
.admin-bottom {
  gap: 14px;
}
.admin-card {
  border-radius: 16px;
  border: 1px solid #c5d8e8;
  background: linear-gradient(180deg, #ffffff 0%, #eff5fb 100%);
  box-shadow: 0 16px 30px rgba(5, 15, 30, .1);
  padding: 16px;
}
.admin-card h3 {
  font-size: 20px;
  margin-bottom: 12px;
}
.admin-map {
  border-radius: 14px;
  border-color: #bcd2e4;
  background: linear-gradient(135deg, #e2f0f9, #f3f8fc);
}
.admin-map::before {
  opacity: .9;
}
.admin-map-label {
  border-radius: 10px;
  border-color: #b5cede;
  box-shadow: 0 16px 32px rgba(5, 15, 30, .18);
}
.admin-side-item,
.admin-list li {
  border-radius: 10px;
  border: 1px solid #c5d8e8;
  background: #f2f7fb;
}
.admin-toolbar {
  border-radius: 16px;
  border: 1px solid #bfd2e4;
  background: linear-gradient(130deg, rgba(255, 255, 255, .98), rgba(230, 244, 252, .95));
  box-shadow: 0 14px 28px rgba(5, 15, 30, .08);
  padding: 14px 16px;
  margin-bottom: 14px;
}
.admin-toolbar h2 {
  font-size: clamp(24px, 3.2vw, 34px);
  color: #0a3a58;
}
.admin-toolbar .btn {
  padding: 11px 16px;
  border-radius: 10px;
  box-shadow: 0 12px 24px rgba(0, 130, 180, .26);
}
.admin-filters {
  gap: 12px;
  margin-bottom: 14px;
}
.admin-input,
.admin-select {
  border-radius: 10px;
  border: 1px solid #b8cedd;
  background: rgba(255, 255, 255, .96);
  padding: 12px 13px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.admin-input:focus,
.admin-select:focus {
  outline: none;
  border-color: #0ab0cc;
  box-shadow: 0 0 0 3px rgba(0, 180, 216, .16);
}
.admin-table-wrap {
  border-radius: 16px;
  border: 1px solid #bcd0e4;
  box-shadow: 0 16px 30px rgba(5, 15, 30, .09);
}
.admin-table {
  font-size: 14px;
}
.admin-table thead th {
  background: linear-gradient(180deg, #e8f2f9 0%, #e2effa 100%);
  color: #4a6878;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 12px;
}
.admin-table tbody tr {
  transition: background-color .16s ease;
}
.admin-table tbody tr:nth-child(even) {
  background: #f2f7fb;
}
.admin-table tbody tr:hover {
  background: #e3f0f9;
}
.admin-table td a {
  color: #0a6890;
  font-weight: 700;
}
.admin-pager {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid #bfd2e4;
  border-radius: 12px;
  background: rgba(255, 255, 255, .78);
}
.admin-page-btns button {
  border-radius: 8px;
  border-color: #b8cede;
}
.admin-page-btns button:hover {
  border-color: #0ab4cc;
  color: #007a94;
}
.admin-bottom--spaced {
  margin-top: 12px;
}
.btn.btn-secondary {
  background: #007a94;
}
.admin-section :is(.admin-stat,.admin-card,.admin-toolbar,.admin-filters,.admin-table-wrap,.admin-pager,.admin-nav-panel){
  animation: adminFadeUp .42s ease both;
}
.admin-section .admin-stat:nth-child(2){animation-delay:.05s}
.admin-section .admin-stat:nth-child(3){animation-delay:.1s}
.admin-section .admin-stat:nth-child(4){animation-delay:.15s}
.admin-section .admin-card:hover,
.admin-section .admin-toolbar:hover{
  transform: translateY(-2px);
}
.admin-menu a:focus-visible,
.admin-page-btns button:focus-visible,
.admin-input:focus-visible,
.admin-select:focus-visible,
.admin-toolbar .btn:focus-visible,
.admin-table td a:focus-visible {
  outline: 2px solid #00b4d8;
  outline-offset: 2px;
}
.admin-toolbar .btn,
.admin-menu a,
.admin-page-btns button{
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
}
.admin-toolbar .btn:active,
.admin-page-btns button:active,
.admin-menu a:active{
  transform: translateY(0);
}

@keyframes adminFadeUp{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

@media (max-width: 1100px) {
  .admin-section {
    padding-top: 28px;
    padding-bottom: 36px;
  }
  .admin-shell {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .admin-nav-panel.card,
  .admin-nav-panel {
    padding: 14px;
  }
  .admin-menu {
    grid-template-columns: 1fr 1fr;
  }
  .admin-stats {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 740px) {
  .admin-menu,
  .admin-stats,
  .admin-filters {
    grid-template-columns: 1fr;
  }
  .admin-toolbar {
    align-items: flex-start;
    gap: 10px;
  }
  .admin-pager {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce){
  .admin-section :is(.admin-stat,.admin-card,.admin-toolbar,.admin-filters,.admin-table-wrap,.admin-pager,.admin-nav-panel){
    animation: none !important;
  }
  .admin-menu a,
  .admin-page-btns button,
  .admin-toolbar .btn,
  .admin-stat,
  .admin-card,
  .admin-table tbody tr{
    transition: none !important;
  }
}

/* ============================================================
   INNER PAGES — sticky header accent (non-home pages)
   ============================================================ */
body:not(.home-page) .brand { color: #00d4ff; }
body:not(.home-page) .brand-dot { background: #00b4d8; color: #050f1e; }
body:not(.home-page) .menu a { color: rgba(200,230,255,.78); }
body:not(.home-page) .menu a:hover { color: #00d4ff; }
body:not(.home-page) .menu a.active { color: #00d4ff; font-weight: 700; }
body:not(.home-page) .contact-btn {
  background: var(--green-500);
  color: #fff;
}
body:not(.home-page) .contact-btn:hover {
  background: var(--green-800);
}

/* ============================================================
   HOME PAGE — CINEMATIC HEADER (fixed, transparent over hero)
   ============================================================ */
.home-page .site-header {
  position: fixed;
  left: 0; right: 0; top: 0;
  background: transparent;
  border-bottom-color: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: background .35s ease, border-color .35s ease;
}
.home-page .site-header.is-scrolled {
  background: rgba(4, 12, 26, .94);
  border-bottom-color: rgba(0, 180, 216, .2);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Utility bar text over video */
.home-page .utility-bar {
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.home-page .top-login { color: #00d4ff; }
.home-page .topbar-note { color: rgba(180, 220, 255, .55); }
.home-page .topbar-right a {
  border-color: rgba(255, 255, 255, .15);
  color: rgba(180, 220, 255, .78);
  background: transparent;
}
.home-page .topbar-right a.active-lang {
  border-color: #00b4d8;
  color: #00d4ff;
  background: rgba(0, 180, 216, .12);
}
.home-page .vis-btn {
  border-color: rgba(255, 255, 255, .18);
  background: transparent;
  color: rgba(180, 220, 255, .78);
}

/* Nav links & brand over video */
.home-page .brand { color: #fff; letter-spacing: .04em; }
.home-page .brand-dot { background: #00b4d8; color: #050f1e; }
.home-page .menu a { color: rgba(200, 230, 255, .78); }
.home-page .menu a:hover { color: #00d4ff; }
.home-page .menu a.active { color: #00d4ff; font-weight: 700; }
.home-page .contact-btn {
  background: var(--green-500);
  color: #050f1e;
  font-weight: 700;
  transition: background .2s ease;
}
.home-page .contact-btn:hover {
  background: #00d4ff;
}

/* Hero fills full viewport — video from edge to edge */
.hero-cinematic { min-height: 100vh; }

/* Push hero inner content below the fixed header */
.hero-cinematic-inner { padding-top: 156px; }

/* ── Quick-links strip at bottom of hero ── */
.hero-cinematic-strip {
  position: relative;
  z-index: 2;
  border-top: 1px solid rgba(0, 180, 216, .18);
  background: rgba(4, 10, 22, .72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.hero-strip-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.hero-strip-grid a {
  display: block;
  padding: 16px 20px;
  color: rgba(180, 220, 255, .8);
  border-right: 1px solid rgba(0, 180, 216, .1);
  transition: background .2s ease, color .2s ease;
}
.hero-strip-grid a:last-child { border-right: 0; }
.hero-strip-grid a:hover { background: rgba(0, 180, 216, .1); color: #00d4ff; }
.hero-strip-grid a span {
  display: block;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(0, 212, 255, .65);
  margin-bottom: 5px;
}
.hero-strip-grid a strong { display: block; font-size: 14px; font-weight: 700; }

@media (max-width: 980px) {
  .hero-strip-grid { grid-template-columns: 1fr 1fr; }
  .hero-strip-grid a:nth-child(2) { border-right: 0; }
  .hero-cinematic-inner { padding-top: 120px; }
}
@media (max-width: 600px) {
  .hero-strip-grid { grid-template-columns: 1fr; }
  .hero-strip-grid a { border-right: 0; border-bottom: 1px solid rgba(0,180,216,.1); }
}
/* ============================================================
   ADMIN PANEL 2026 UPGRADE
   ============================================================ */
.admin-section {
  position: relative;
  padding-top: 46px;
  padding-bottom: 58px;
  background:
    radial-gradient(980px 440px at 84% -8%, rgba(0, 180, 216, .2), transparent 66%),
    radial-gradient(880px 380px at 0% 100%, rgba(9, 53, 96, .13), transparent 68%),
    linear-gradient(180deg, #e8f2fb 0%, #eef7fc 100%);
}

.admin-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(0, 110, 170, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 110, 170, .06) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: .45;
}

.admin-section .container {
  position: relative;
  z-index: 1;
}

.admin-shell {
  grid-template-columns: 290px 1fr;
  gap: 20px;
}

.admin-nav-panel.card,
.admin-nav-panel {
  border-radius: 20px;
  border: 1px solid #c5d9e8;
  background: linear-gradient(168deg, rgba(255, 255, 255, .96) 0%, rgba(237, 246, 252, .92) 100%);
  box-shadow: 0 18px 34px rgba(8, 31, 53, .11);
  backdrop-filter: blur(8px);
  padding: 18px;
}

.admin-nav-panel h3 {
  margin-bottom: 12px;
  font-size: 17px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #5b7687;
}

.admin-menu {
  gap: 9px;
}

.admin-menu a {
  border: 1px solid #c9dceb;
  border-radius: 12px;
  background: #fff;
  color: #4d687f;
  padding: 11px 12px;
  position: relative;
  transition: border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}

.admin-menu a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 4px;
  border-radius: 0 8px 8px 0;
  background: transparent;
}

.admin-menu a:hover {
  border-color: #88bdd4;
  color: #0d6f91;
  box-shadow: 0 10px 20px rgba(10, 42, 71, .12);
  transform: translateY(-1px);
}

.admin-menu a.active {
  border-color: #119fc2;
  background: linear-gradient(120deg, rgba(0, 180, 216, .2), rgba(0, 180, 216, .08));
  color: #083f5d;
  box-shadow: 0 12px 22px rgba(10, 42, 71, .15);
}

.admin-menu a.active::before {
  background: linear-gradient(180deg, #0b6f90, #00b4d8);
}

.admin-stats {
  gap: 14px;
  margin-bottom: 14px;
}

.admin-stat {
  border-radius: 16px;
  border: 1px solid #c6d8e7;
  background: linear-gradient(180deg, #ffffff 0%, #eef6fb 100%);
  box-shadow: 0 12px 26px rgba(8, 31, 53, .1);
  padding: 16px;
  transition: transform .18s ease, box-shadow .18s ease;
}

.admin-stat:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 32px rgba(8, 31, 53, .14);
}

.admin-stat span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #59778a;
}

.admin-stat strong {
  margin-top: 6px;
  display: block;
  font-size: clamp(28px, 2.7vw, 40px);
  color: #0a4b67;
}

.admin-main-grid,
.admin-bottom {
  gap: 14px;
}

.admin-card {
  border-radius: 16px;
  border: 1px solid #c5d8e8;
  background: linear-gradient(180deg, #ffffff 0%, #eff6fb 100%);
  box-shadow: 0 14px 28px rgba(8, 31, 53, .11);
  padding: 16px;
  transition: transform .18s ease, box-shadow .18s ease;
}

.admin-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 34px rgba(8, 31, 53, .15);
}

.admin-card h3 {
  font-size: 20px;
  margin-bottom: 11px;
  color: #10243f;
}

.admin-map {
  border-radius: 14px;
  border-color: #b5d0e3;
  background: linear-gradient(140deg, #e2f0f9 0%, #f5f9fd 100%);
}

.admin-map-label {
  border-radius: 11px;
  border-color: #b7cfdf;
  box-shadow: 0 14px 28px rgba(8, 31, 53, .2);
}

.admin-side-item,
.admin-list li {
  border-radius: 10px;
  border-color: #c7d9e7;
  background: #f4f9fc;
}

.admin-toolbar {
  border-radius: 16px;
  border: 1px solid #c3d6e6;
  background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(233, 245, 252, .95));
  box-shadow: 0 12px 24px rgba(8, 31, 53, .09);
  padding: 14px 16px;
}

.admin-toolbar h2 {
  font-size: clamp(26px, 3vw, 35px);
  color: #0d3151;
}

.admin-toolbar .btn {
  border-radius: 10px;
  box-shadow: 0 10px 20px rgba(0, 130, 180, .24);
}

.admin-filters {
  gap: 12px;
}

.admin-input,
.admin-select {
  border-radius: 10px;
  border: 1px solid #bdd2e1;
  background: rgba(255, 255, 255, .96);
  padding: 12px;
}

.admin-input:focus,
.admin-select:focus {
  outline: none;
  border-color: #0fb2cf;
  box-shadow: 0 0 0 3px rgba(0, 180, 216, .16);
}

.admin-table-wrap {
  border-radius: 16px;
  border: 1px solid #bfd3e4;
  box-shadow: 0 15px 30px rgba(8, 31, 53, .1);
}

.admin-table thead th {
  background: linear-gradient(180deg, #eaf3fa 0%, #e1edf8 100%);
  color: #56758a;
  font-size: 12px;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.admin-table tbody tr:nth-child(even) {
  background: #f4f9fc;
}

.admin-table tbody tr:hover {
  background: #e6f3fb;
}

.admin-pager {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #c0d4e4;
  background: rgba(255, 255, 255, .86);
}

.admin-page-btns button {
  border-radius: 8px;
}

.admin-page-btns button:hover {
  border-color: #0ab4cc;
  color: #087495;
}

@media (max-width: 1100px) {
  .admin-section {
    padding-top: 30px;
    padding-bottom: 38px;
  }

  .admin-shell {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .admin-nav-panel.card,
  .admin-nav-panel {
    padding: 14px;
  }

  .admin-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 740px) {
  .admin-menu,
  .admin-stats,
  .admin-filters {
    grid-template-columns: 1fr;
  }
}
