@font-face{
  font-family:'SF Rounded';
  src:url('/static/fonts/sf-pro-rounded.woff2') format('woff2');
  font-weight:100 900;
  font-display:swap;
}
@font-face{
  font-family:'SF Rounded Georgian';
  src:url('/static/fonts/sf-rounded-georgian.woff2') format('woff2');
  font-weight:100 900;
  font-display:swap;
}
:root{
  --brand-600:#0d1e40;
  --brand-500:#2F80ED;
  --brand-400:#56CCF2;
  --ink-onblue:#ffffff;
  --ink-onblue-2:#cfe1ff;
  --ink-900:#0f172a;
  --ink-600:#334155;
  --border:#e5e7eb;
  --card:#ffffff;
  --shadow-sm:0 1px 2px rgba(0,0,0,.05),0 10px 30px rgba(20,30,60,.06);
  --shadow-hover: 0 4px 12px rgba(0,0,0,.08),0 20px 40px rgba(20,30,60,.1);
  --bg-light: #f8fafc;
  --bg-dark: #0f172a;
}
html{ scroll-behavior:smooth; height:100%; }
body{ margin:0; color:var(--ink-900); min-height:100%; display:flex; flex-direction:column; }
main{ flex:1; display:flex; flex-direction:column; }

.site-header{
  background: var(--brand-600);
  color: var(--ink-onblue);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow:
    0 2px 8px rgba(0,0,0,.15),
    0 0 40px rgba(13,30,64,.2);
}
.site-header::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg, var(--brand-500), var(--brand-400), var(--brand-500));
  opacity:.5;
}

.site-header .mainbar{
  background:var(--brand-600);
  padding:14px 0;
}

/* Language dropdown */
.lang-dropdown{
  position:relative;
  flex-shrink:0;
}
.lang-dropdown-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 16px;
  border-radius:10px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  transition:all .25s ease;
  cursor:pointer;
  color:rgba(255,255,255,.85);
  font-size:.84rem;
  font-weight:600;
  letter-spacing:.01em;
}
.lang-dropdown-btn:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.22);
  color:#fff;
}
.lang-label{
  line-height:1;
  text-transform:uppercase;
}
.lang-chevron{
  opacity:.5;
  transition:transform .2s ease, opacity .2s;
}
.lang-dropdown-btn:hover .lang-chevron{
  opacity:.8;
}
.lang-dropdown.open .lang-chevron{
  transform:rotate(180deg);
  opacity:.9;
}
.lang-dropdown-menu{
  display:none;
  position:absolute;
  top:calc(100% + 4px);
  left:0;
  min-width:100%;
  white-space:nowrap;
  background:var(--brand-600);
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  box-shadow:0 12px 32px rgba(0,0,0,.35);
  overflow:hidden;
  z-index:1100;
}
.lang-dropdown.open .lang-dropdown-menu{
  display:block;
  animation:dropFade .18s ease-out;
}
@keyframes dropFade{
  from{opacity:0;transform:translateY(-6px);}
  to{opacity:1;transform:none;}
}
.lang-dropdown-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 16px;
  color:rgba(255,255,255,.75);
  text-decoration:none;
  font-size:.84rem;
  font-weight:600;
  transition:background .15s, color .15s;
}
.lang-dropdown-item:hover{
  background:rgba(255,255,255,.10);
  color:#fff;
  text-decoration:none;
}
.lang-flag-icon{
  width:22px;
  height:15px;
  border-radius:3px;
  object-fit:cover;
  box-shadow:0 0 0 1px rgba(255,255,255,.12);
}

.brand{ text-decoration:none; }

/* Nav links */
.nav .nav-link{
  font-family:'SF Rounded Georgian','SF Rounded',sans-serif;
  color:rgba(255,255,255,.7);
  font-weight:600;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  position:relative;
  padding:8px 14px;
  border-radius:8px;
  transition:color .2s, background .2s;
}
.nav .nav-link::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:2px;
  height:2px;
  background:#fff;
  border-radius:2px;
  transform:scaleX(0);
  transition:transform .25s ease;
}
.nav .nav-link:hover{
  color:#fff;
  background:rgba(255,255,255,.06);
  text-decoration:none;
}
.nav .nav-link.nav-active{
  color:#fff;
  text-decoration:none;
}
.nav .nav-link:hover::after,
.nav .nav-link.nav-active::after{
  transform:scaleX(1);
}

/* Header right group */
.header-right{
  display:flex;
  align-items:center;
  gap:16px;
}

/* Burger */
.burger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:36px;
  height:36px;
  padding:6px;
  background:none;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  cursor:pointer;
  transition:background .2s;
}
.burger:hover{
  background:rgba(255,255,255,.08);
}
.burger span{
  display:block;
  width:100%;
  height:2px;
  background:#fff;
  border-radius:2px;
  transition:transform .3s, opacity .3s;
}
.burger.open span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
.burger.open span:nth-child(2){
  opacity:0;
}
.burger.open span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

.hero{
  min-height:100svh;
  position:relative;
  display:grid;
  place-items:center;
  padding-block:clamp(16px,4vh,48px);
  text-align:center;
  background: var(--brand-600);
  background-image:
    radial-gradient(900px 500px at 10% 15%, rgba(47,128,237,.18), transparent 60%),
    radial-gradient(900px 500px at 90% 85%, rgba(86,204,242,.14), transparent 60%);
  overflow:hidden;
}

.hero .hero-wrap{
  max-width: 880px;
  margin-inline:auto;
  padding-inline: 12px;
  animation: fadeSlide .8s ease-out both;
}

.hero .kicker{
  display:inline-block;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--ink-onblue-2);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  padding:.35rem .65rem;
  border-radius:999px;
  backdrop-filter: blur(6px);
  margin-bottom:.9rem;
}

.hero h1{
  color:var(--ink-onblue);
  font-weight:900;
  font-size: clamp(28px,4.5vw,48px);
  line-height:1.1;
  margin:0 0 .85rem;
}


.hero p.hero-lead{
  color:var(--ink-onblue-2);
  font-size: clamp(15px,1.25vw,18px);
  margin:0 auto 1.2rem;
  max-width: 780px;
  font-size: 16px;
}

.hero::before{
  content:"";
  position:absolute; inset:auto 0 14% 0;
  margin-inline:auto;
  width:min(80vw,760px); height:180px;
  background:radial-gradient(ellipse at center,
    rgba(86,204,242,.18), rgba(47,128,237,.10), transparent 70%);
  filter: blur(60px);
  z-index:0;
}

.scroll-down{ z-index:2; }

/* entrance animation */
@keyframes fadeSlide{
  from{ opacity:0; transform: translateY(12px); }
  to{ opacity:1; transform:none; }
}

.cta{
  border:none; border-radius:12px; padding:.9rem 1.2rem; font-weight:700; color:#fff;
  background:linear-gradient(135deg,var(--brand-500),var(--brand-400)); box-shadow:var(--shadow-sm);
}
.scroll-down{
  position:absolute; left:50%; bottom:18px; transform:translateX(-50%);
  width:28px; height:46px; border:2px solid #94a3b8; border-radius:20px; opacity:.85;
}
.scroll-down span{
  position:absolute; left:50%; top:8px; transform:translateX(-50%);
  width:4px; height:10px; border-radius:4px; background:#94a3b8; animation:scrollPulse 1.6s infinite;
}
@keyframes scrollPulse{
  0%{transform:translate(-50%,0);opacity:.9;}
  70%{transform:translate(-50%,14px);opacity:0;}
  100%{transform:translate(-50%,0);opacity:0;}
}

.content-section{
  padding-block: 80px;
}
.content-section h2{
  font-family:'SF Rounded Georgian','SF Rounded',sans-serif;
  font-weight: 800;
  margin-bottom: 16px;
  color: var(--ink-900);
  text-transform:uppercase;
  letter-spacing:.03em;
}
.content-section .lead{
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--ink-600);
  max-width: 800px;
  margin-inline: auto;
  margin-bottom: 40px;
}

.bg-light{ background-color: var(--bg-light); }

.bg-dark{ 
  background-color: var(--bg-dark); 
  color: var(--ink-onblue-2);
}
.bg-dark h2{ color: var(--ink-onblue); }
.bg-dark .lead{ color: var(--ink-onblue-2); }
.bg-dark p{ color: var(--ink-onblue-2); }


/* ===== SECTION 1: Directions (HOVER EFFECT) ===== */
.feature-item {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--ink-900);
  padding: 8px; /* Added padding */
  border-radius: 12px; /* Added border-radius */
  transition: transform 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}
.feature-item:hover {
  transform: translateY(-4px);
  background-color: var(--card);
  box-shadow: var(--shadow-sm);
}
.feature-icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(47,128,237,.1);
  border-radius: 12px;
  padding: 8px;
}
.feature-icon img{
  width: 32px;
  height: 32px;
}

/* ===== SECTION 2: Infrastructure (HOVER EFFECT) ===== */
.icon-wrapper-large {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 180px;
  height: 180px;
  background: linear-gradient(135deg, rgba(47,128,237,.15), rgba(86,204,242,.15));
  border-radius: 50%;
  transition: transform 0.3s ease; 
}
.icon-wrapper-large:hover {
  transform: scale(1.05);
}
.icon-wrapper-large img {
  width: 100px;
  height: 100px;
}
#infrastructure p{
  font-size: 1.05rem;
  line-height: 1.6;
}

/* ===== SECTION 3: Mechanisms (CARD HOVER EFFECT) ===== */
.sector-card{
  position:relative; background:var(--card); border:1px solid var(--border);
  border-radius:16px; padding: 24px; box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column;
  gap:12px;
  height: 100%;
  /* <<< TRANSITION ADDED */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.sector-card:hover { /* <<< HOVER EFFECT ADDED */
  transform: translateY(-8px);
  box-shadow: var(--shadow-hover);
}
.sector-accent{
  position:absolute; inset:0 0 auto 0; height:4px;
  background:var(--brand-500);
  border-top-left-radius:16px; border-top-right-radius:16px;
}
.sector-icon{ width:56px; height:56px; margin-bottom: 8px; }
.sector-card h3{ margin:0; font-size:1.15rem; font-weight:700; color:var(--ink-900); }
.sector-card p{ margin:0; font-size:.95rem; line-height:1.45; color:var(--ink-600); }

/* ===== NEWS HOME ===== */
.nf-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  max-width:1000px;
  margin:0 auto;
}

/* Featured (left) */
.nf-hero{
  display:flex;
  flex-direction:column;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  text-decoration:none;
  color:inherit;
  transition:transform .25s, box-shadow .25s;
}
.nf-hero:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-hover);
  text-decoration:none;
  color:inherit;
}
.nf-hero-visual{
  position:relative;
  background:linear-gradient(135deg, var(--brand-600), #1d4ed8);
  min-height:180px;
}
.nf-hero-img{
  width:100%;
  height:200px;
  object-fit:cover;
  display:block;
}
.nf-hero-placeholder{
  height:180px;
  background:
    radial-gradient(600px 300px at 30% 40%, rgba(86,204,242,.2), transparent 60%),
    linear-gradient(135deg, var(--brand-600), #1d4ed8);
}
.nf-hero-badge{
  position:absolute;
  top:14px;
  left:14px;
  padding:5px 12px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  border-radius:8px;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--brand-600);
}
.nf-hero-content{
  padding:22px 24px 26px;
}
.nf-hero-title{
  font-size:1.2rem;
  font-weight:800;
  color:var(--ink-900);
  margin:0 0 10px;
  line-height:1.3;
}
.nf-hero-text{
  font-size:.9rem;
  line-height:1.6;
  color:var(--ink-600);
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* List items (right) */
.nf-list{
  display:flex;
  flex-direction:column;
  gap:0;
}
.nf-item{
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px 18px;
  text-decoration:none;
  color:inherit;
  border-bottom:1px solid var(--border);
  transition:background .15s, padding-left .2s;
}
.nf-item:last-child{ border-bottom:none; }
.nf-item:hover{
  background:var(--card);
  padding-left:24px;
  text-decoration:none;
  color:inherit;
}
.nf-item-num{
  font-size:1.5rem;
  font-weight:900;
  color:var(--border);
  flex-shrink:0;
  width:36px;
  text-align:center;
  line-height:1;
  transition:color .2s;
}
.nf-item:hover .nf-item-num{
  color:var(--brand-500);
}
.nf-item-body{ flex:1; min-width:0; }
.nf-item-title{
  font-size:.95rem;
  font-weight:700;
  color:var(--ink-900);
  margin:0;
  line-height:1.35;
}
.nf-item-arrow{
  flex-shrink:0;
  color:var(--border);
  transition:color .2s, transform .2s;
}
.nf-item:hover .nf-item-arrow{
  color:var(--brand-500);
  transform:translateX(4px);
}

/* Shared */
.nf-date{
  display:block;
  font-size:.75rem;
  font-weight:600;
  color:var(--brand-500);
  margin-bottom:4px;
  letter-spacing:.03em;
}
.news-home-more{
  display:inline-block;
  padding:12px 32px;
  border:2px solid var(--brand-500);
  border-radius:10px;
  color:var(--brand-500);
  font-weight:700;
  font-size:.9rem;
  text-decoration:none;
  transition:background .2s, color .2s;
}
.news-home-more:hover{
  background:var(--brand-500);
  color:#fff;
  text-decoration:none;
}

@media (max-width:768px){
  .nf-layout{
    grid-template-columns:1fr;
  }
}
@media (max-width:576px){
  .nf-hero-content{ padding:16px 18px 20px; }
  .nf-hero-img{ height:160px; }
  .nf-hero-placeholder{ height:140px; }
}

/* ===== NEWS LIST PAGE ===== */
.news-list-page{
  display:flex;
  flex-direction:column;
  gap:16px;
  max-width:860px;
  margin:0 auto;
}
.news-row{
  display:flex;
  align-items:stretch;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  text-decoration:none;
  color:inherit;
  transition:transform .2s, box-shadow .2s;
}
.news-row:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-hover);
  text-decoration:none;
  color:inherit;
}
.news-row-media{
  position:relative;
  width:220px;
  flex-shrink:0;
  background:#eef2f7;
  overflow:hidden;
}
.news-row-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}
.news-row:hover .news-row-img{ transform:scale(1.05); }
.news-row-media-empty{
  background:
    radial-gradient(420px 200px at 35% 30%, rgba(86,204,242,.25), transparent 60%),
    linear-gradient(135deg, var(--brand-600), #1d4ed8);
}
.news-row-count{
  position:absolute;
  bottom:10px;
  right:10px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 9px;
  border-radius:8px;
  background:rgba(15,23,42,.82);
  color:#fff;
  font-size:.74rem;
  font-weight:700;
}
.news-row-body{
  flex:1;
  min-width:0;
  padding:22px 26px;
  display:flex;
  flex-direction:column;
}
.news-row-date{
  font-size:.74rem;
  font-weight:700;
  color:var(--brand-500);
  margin:0 0 7px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.news-row-title{
  font-size:1.14rem;
  font-weight:800;
  color:var(--ink-900);
  margin:0 0 8px;
  line-height:1.35;
}
.news-row-text{
  font-size:.92rem;
  line-height:1.6;
  color:var(--ink-600);
  margin:0 0 14px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.news-row-more{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.82rem;
  font-weight:700;
  color:var(--brand-500);
}
.news-row-more svg{ transition:transform .2s; }
.news-row:hover .news-row-more svg{ transform:translateX(4px); }
.news-empty{
  text-align:center;
  padding:64px 20px;
  color:#94a3b8;
  font-size:1.05rem;
}
@media (max-width:576px){
  .news-row{ flex-direction:column; }
  .news-row-media{ width:100%; height:190px; }
}

/* ===== NEWS DETAIL PAGE ===== */
.news-article-head .news-crumb{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--brand-400);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  text-decoration:none;
  margin-bottom:16px;
  transition:color .15s;
}
.news-article-head .news-crumb:hover{ color:#fff; text-decoration:none; }
.news-article-date{
  display:block;
  color:var(--brand-400);
  font-size:.85rem;
  font-weight:800;
  letter-spacing:.05em;
  margin-bottom:10px;
}
.news-article-head h1{ margin:0; }

.news-article-inner{
  max-width:820px;
  margin:0 auto;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:20px;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  padding-bottom:40px;
}
.ng-cover{
  display:block;
  width:100%;
  padding:0;
  margin:0;
  border:none;
  background:#eef2f7;
  cursor:zoom-in;
}
.ng-cover img{
  width:100%;
  max-height:460px;
  object-fit:cover;
  display:block;
}
.news-article-text{
  padding:34px clamp(20px,5vw,56px) 4px;
}
.news-article-text p{
  font-size:1.02rem;
  line-height:1.85;
  color:var(--ink-600);
  margin:0 0 18px;
}
.news-article-text p:first-child{
  font-size:1.14rem;
  line-height:1.7;
  color:var(--ink-900);
  font-weight:500;
}
.news-article-text p:last-child{ margin-bottom:0; }

.news-gallery-block{
  padding:0 clamp(20px,5vw,56px);
}
.news-gallery-title{
  font-size:1.15rem;
  font-weight:800;
  color:var(--ink-900);
  margin:26px 0 16px;
  padding-top:26px;
  border-top:1px solid var(--border);
}
.news-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.ng-thumb{
  padding:0;
  margin:0;
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  background:#eef2f7;
  cursor:zoom-in;
  aspect-ratio:4/3;
  transition:transform .15s, box-shadow .15s;
}
.ng-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.ng-thumb:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-hover);
}
.news-back-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:32px clamp(20px,5vw,56px) 0;
  padding:11px 24px;
  border:2px solid var(--brand-500);
  border-radius:10px;
  color:var(--brand-500);
  font-weight:700;
  font-size:.9rem;
  text-decoration:none;
  transition:background .2s, color .2s;
}
.news-back-btn:hover{
  background:var(--brand-500);
  color:#fff;
  text-decoration:none;
}
@media (max-width:640px){
  .news-gallery{ grid-template-columns:repeat(2,1fr); }
}

/* ===== LIGHTBOX ===== */
.lightbox{
  position:fixed;
  inset:0;
  z-index:2000;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(8,12,24,.93);
}
.lightbox.open{ display:flex; animation:lb-fade .2s ease; }
@keyframes lb-fade{ from{ opacity:0; } to{ opacity:1; } }
.lb-stage{
  position:relative;
  z-index:1;
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.lb-img{
  max-width:92vw;
  max-height:80vh;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 24px 70px rgba(0,0,0,.65);
  cursor:default;
}
.lb-counter{
  color:rgba(255,255,255,.82);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.08em;
}
.lb-close{
  position:absolute;
  top:18px;
  right:22px;
  z-index:2;
  width:44px;
  height:44px;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  transition:background .15s;
}
.lb-close:hover{ background:rgba(255,255,255,.26); }
.lb-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:52px;
  height:52px;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  transition:background .15s;
}
.lb-nav:hover{ background:rgba(255,255,255,.26); }
.lb-prev{ left:20px; }
.lb-next{ right:20px; }
@media (max-width:576px){
  .lb-nav{ width:42px; height:42px; font-size:24px; }
  .lb-prev{ left:8px; }
  .lb-next{ right:8px; }
  .lb-close{ top:10px; right:12px; }
}

footer{
  background:var(--brand-600);
  color:rgba(255,255,255,.75);
}
.footer-gradient{
  height:4px;
  background:var(--brand-500);
}

.footer-main{
  padding:48px 0 36px;
}

/* Brand block */
.footer-ssg-logo{
  display:block;
  width:340px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  opacity:.35;
}
.footer-desc{
  font-size:.88rem;
  line-height:1.55;
  color:rgba(255,255,255,.55);
  margin:0;
  max-width:280px;
}

/* Headings */
.footer-heading{
  font-family:'SF Rounded Georgian','SF Rounded',sans-serif;
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:rgba(255,255,255,.4);
  margin:0 0 14px;
}

/* Nav links */
.footer-links{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-links a{
  font-family:'SF Rounded Georgian','SF Rounded',sans-serif;
  color:rgba(255,255,255,.7);
  text-decoration:none;
  font-size:.85rem;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.03em;
  transition:color .15s, padding-left .15s;
}
.footer-links a:hover{
  color:#fff;
  padding-left:4px;
}

/* Contact list */
.footer-contact{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.footer-contact li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:.85rem;
  line-height:1.4;
}
.footer-contact svg{
  flex-shrink:0;
  margin-top:1px;
  color:var(--brand-400);
  opacity:.7;
}
.footer-contact a{
  color:rgba(255,255,255,.7);
  text-decoration:none;
  transition:color .15s;
}
.footer-contact a:hover{
  color:#fff;
}

/* PGP */
.footer-pgp{
  display:flex;
  align-items:flex-start;
  gap:10px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  padding:14px;
}
.footer-pgp svg{
  flex-shrink:0;
  margin-top:2px;
  color:var(--brand-400);
  opacity:.7;
}
.footer-pgp-label{
  display:block;
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:rgba(255,255,255,.4);
  margin-bottom:4px;
}
.footer-pgp-key{
  font-size:.78rem;
  font-family:SFMono-Regular,Menlo,monospace;
  color:rgba(255,255,255,.6);
  text-decoration:none;
  line-height:1.5;
  word-break:break-all;
  transition:color .15s;
}
.footer-pgp-key:hover{
  color:var(--brand-400);
}

/* Bottom bar */
.footer-bottom{
  padding:16px 0;
  font-size:.82rem;
  color:rgba(255,255,255,.35);
  border-top:1px solid rgba(255,255,255,.08);
}

@media (max-width:576px){
  .footer-main{ padding:32px 0 24px; }
  .footer-desc{ max-width:100%; }
}

.brand-badge{
  height:64px;
  width:auto;
  flex-shrink:0;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}
.brand-divider{
  width:2px;
  align-self:stretch;
  margin:4px 16px;
  border:none;
  border-radius:2px;
  background:linear-gradient(180deg, transparent, rgba(86,204,242,.6) 30%, rgba(47,128,237,.6) 70%, transparent);
}
.brand-title{
  display:flex;
  flex-direction:column;
  font-weight:800;
  font-size:1rem;
  line-height:1.35;
  color:#fff;
  text-align:justify;
  text-decoration:none;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-shadow: 0 1px 3px rgba(0,0,0,.2);
}




/* === Mobile === */
@media (max-width: 768px){
  .burger{ display:flex; }

  .main-nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:var(--brand-600);
    border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 12px 32px rgba(0,0,0,.3);
    z-index:1100;
    padding:12px 0;
  }
  .main-nav.open{
    display:block;
  }
  .main-nav .nav{
    flex-direction:column;
    gap:0;
  }
  .main-nav .nav .nav-link{
    display:block;
    padding:14px 24px;
    font-size:.9rem;
    border-radius:0;
  }
  .main-nav .nav .nav-link:hover{
    background:rgba(255,255,255,.06);
  }
  .main-nav .nav .nav-link::after{
    display:none;
  }

  .brand-badge{
    height:clamp(28px, 7vw, 42px);
  }
  .brand-divider{
    margin:2px 6px;
  }
  .brand-title{
    font-size:.75rem;
    letter-spacing:.02em;
  }

  .lang-dropdown-btn{
    padding:6px 10px;
    gap:6px;
    font-size:.78rem;
  }

  .footer-main{ padding:24px 0 16px; }
}

/* ===== CONTENT PAGES ===== */

/* ---------- About Hero ---------- */
.about-hero{
  background:var(--brand-600);
  color:#fff;
  padding:clamp(48px,8vw,100px) 0 clamp(56px,9vw,110px);
  position:relative;
  overflow:hidden;
  background-image:
    radial-gradient(900px 500px at 10% 15%, rgba(47,128,237,.18), transparent 60%),
    radial-gradient(900px 500px at 90% 85%, rgba(86,204,242,.14), transparent 60%);
}
.about-hero::before{
  content:"";
  position:absolute;
  inset:auto 0 14% 0;
  margin-inline:auto;
  width:min(80vw,760px);height:180px;
  background:radial-gradient(ellipse at center,rgba(86,204,242,.18),rgba(47,128,237,.10),transparent 70%);
  filter:blur(60px);
  z-index:0;
  pointer-events:none;
}
.about-hero::after{ display:none; }
.hero-shapes{ display:none; }

.about-hero-full{
  padding:clamp(60px,10vw,120px) 0;
}
.about-hero .container{ position:relative; z-index:1; }
.about-hero-inner{
  max-width:820px;
  margin:0 auto;
  text-align:center;
  animation:fadeSlide .7s ease-out both;
}

/* Hero two-column grid */
.hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(32px,5vw,72px);
  align-items:center;
  animation:fadeSlide .7s ease-out both;
}
.hero-left{
  text-align:left;
}
.hero-left h1{
  font-family:'SF Rounded Georgian','SF Rounded',sans-serif;
  font-size:clamp(22px,2.8vw,34px);
  font-weight:800;
  line-height:1.2;
  margin:0 0 18px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.hero-left .about-hero-desc{
  font-size:clamp(14px,1.1vw,17px);
  line-height:1.7;
  color:var(--ink-onblue-2);
  margin:0 0 28px;
  max-width:480px;
}

/* Right column: pillars */
.hero-pillars{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.hero-pillar{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:18px 22px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  backdrop-filter:blur(8px);
  transition:background .25s, border-color .25s, transform .25s;
}
.hero-pillar:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.18);
  transform:translateX(4px);
}
.hero-pillar-icon{
  width:44px;
  height:44px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--brand-500);
  border-radius:12px;
  color:#fff;
}
.hero-pillar h3{
  font-size:.92rem;
  font-weight:700;
  color:#fff;
  margin:0 0 4px;
}
.hero-pillar p{
  font-size:.82rem;
  line-height:1.5;
  color:rgba(255,255,255,.6);
  margin:0;
}
.about-hero .kicker{
  display:inline-block;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--brand-400);
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  padding:6px 18px;
  border-radius:999px;
  margin-bottom:20px;
}
.about-hero h1{
  font-size:clamp(22px,2.8vw,34px);
  font-weight:800;
  line-height:1.2;
  margin:0 0 20px;
  color:#fff;
}
.about-hero-desc{
  font-size:clamp(15px,1.2vw,18px);
  line-height:1.7;
  color:var(--ink-onblue-2);
  margin:0 auto 36px;
  max-width:700px;
}

/* Page hero (subpages) */
.page-hero-inner{
  max-width:700px;
  animation:fadeSlide .7s ease-out both;
}
.page-hero-inner h1{
  font-family:'SF Rounded Georgian','SF Rounded',sans-serif;
  font-size:clamp(24px,3vw,38px);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#fff;
  margin:0 0 16px;
  line-height:1.2;
}
.page-hero-inner .about-hero-desc{
  max-width:600px;
  margin:0;
}

/* Function grid */
.func-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.func-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:24px 26px;
  box-shadow:var(--shadow-sm);
  display:flex;
  gap:16px;
  align-items:flex-start;
  transition:transform .25s, box-shadow .25s;
}
.func-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-hover);
}
.func-card-wide{
  grid-column:1 / -1;
}
.func-num{
  font-family:'SF Rounded','SF Rounded Georgian',sans-serif;
  font-size:1.4rem;
  font-weight:900;
  color:var(--brand-500);
  opacity:.4;
  flex-shrink:0;
  min-width:32px;
  line-height:1.4;
}
.func-card p{
  font-size:.9rem;
  line-height:1.6;
  color:var(--ink-600);
  margin:0;
}
.func-card .sub-list{
  list-style:none;
  padding:10px 0 0 0;
  margin:0;
}
.func-card .sub-list li{
  position:relative;
  padding:4px 0 4px 18px;
  font-size:.87rem;
  color:var(--ink-600);
}
.func-card .sub-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--brand-500);
  opacity:.4;
}

/* Law cards grid */
.law-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.law-card{
  display:flex;
  gap:16px;
  align-items:flex-start;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:22px 24px;
  box-shadow:var(--shadow-sm);
  transition:transform .25s, box-shadow .25s;
}
.law-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-hover);
}
.law-num{
  font-family:'SF Rounded','SF Rounded Georgian',sans-serif;
  font-size:1.3rem;
  font-weight:900;
  color:var(--brand-500);
  opacity:.4;
  flex-shrink:0;
  min-width:28px;
  line-height:1.5;
}
.law-card h4{
  font-size:.9rem;
  font-weight:700;
  color:var(--ink-900);
  margin:0 0 6px;
  line-height:1.4;
}
.law-card p{
  font-size:.85rem;
  line-height:1.6;
  color:var(--ink-600);
  margin:0;
}
@media (max-width:768px){
  .law-grid{ grid-template-columns:1fr; }
}

/* Content two-column layout */
.content-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px 40px;
}
.content-cols p{
  font-size:.93rem;
  line-height:1.7;
  color:var(--ink-600);
  margin:0;
}
.content-cols p + p{
  margin-top:14px;
}

@media (max-width:768px){
  .func-grid{ grid-template-columns:1fr; }
  .content-cols{ grid-template-columns:1fr; }
}

/* Mission quote */
.hero-mission{
  border-left:3px solid var(--brand-500);
  padding:0 0 0 18px;
  margin:0;
  font-size:.92rem;
  font-weight:500;
  line-height:1.65;
  color:rgba(255,255,255,.7);
}
.hero-mission-label{
  display:block;
  font-size:.68rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--brand-400);
  margin-bottom:6px;
}

/* ---------- Page section ---------- */
.page-section{
  padding:clamp(48px,6vw,80px) 0;
}
.page-section + .page-section{
  border-top:1px solid var(--border);
}
.section-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--brand-500);
  margin-bottom:10px;
}
.section-label::before{
  content:"";
  width:20px;
  height:2px;
  border-radius:2px;
  background:var(--brand-500);
}

/* Section heading with accent */
.section-heading{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
}
.section-heading::before{
  content:"";
  width:4px;
  height:28px;
  border-radius:4px;
  background:var(--brand-500);
  flex-shrink:0;
}
.section-heading h3{
  font-family:'SF Rounded Georgian','SF Rounded',sans-serif;
  margin:0;
  font-size:1.25rem;
  font-weight:800;
  color:var(--ink-900);
  text-transform:uppercase;
  letter-spacing:.03em;
}

.section-title{
  font-family:'SF Rounded Georgian','SF Rounded',sans-serif;
  font-size:clamp(22px,2.5vw,32px);
  font-weight:800;
  color:var(--ink-900);
  margin:0 0 12px;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.section-desc{
  font-size:1rem;
  line-height:1.65;
  color:var(--ink-600);
  max-width:700px;
  margin:0 0 36px;
}

/* ---------- Info card ---------- */
.info-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:28px 30px;
  box-shadow:var(--shadow-sm);
  transition:transform .3s ease, box-shadow .3s ease;
  position:relative;
}
.info-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-hover);
}
.info-card h4{
  font-size:1rem;
  font-weight:700;
  color:var(--ink-900);
  margin:0 0 10px;
  display:flex;
  align-items:center;
  gap:12px;
}
.info-card h4 .card-icon{
  width:40px;
  height:40px;
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(47,128,237,.1);
  border-radius:12px;
  color:var(--brand-500);
}
.info-card p{
  font-size:.9rem;
  line-height:1.65;
  color:var(--ink-600);
  margin:0;
}
.info-card p + p{
  margin-top:12px;
}

/* Numbered stat card variant */
.stat-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:28px 28px 24px;
  box-shadow:var(--shadow-sm);
  text-align:center;
  transition:transform .3s ease, box-shadow .3s ease;
}
.stat-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-hover);
}
.stat-card .stat-icon{
  width:52px;
  height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--brand-600);
  border-radius:16px;
  color:#fff;
  margin-bottom:16px;
}
.stat-card h4{
  font-size:1rem;
  font-weight:700;
  color:var(--ink-900);
  margin:0 0 8px;
}
.stat-card p{
  font-size:.87rem;
  line-height:1.6;
  color:var(--ink-600);
  margin:0;
}

/* ---------- Functions list ---------- */
.func-list{
  list-style:none;
  padding:0;
  margin:0;
  counter-reset:func;
}
.func-list > li{
  display:flex;
  gap:14px;
  padding:16px 0;
  border-bottom:1px solid var(--border);
  font-size:.93rem;
  line-height:1.6;
  color:var(--ink-600);
}
.func-list > li:last-child{
  border-bottom:none;
}
.func-list > li::before{
  counter-increment:func;
  content:counter(func, lower-alpha) ")";
  font-weight:700;
  color:var(--brand-500);
  flex-shrink:0;
  min-width:22px;
}
.func-list .sub-list{
  list-style:none;
  padding:10px 0 0 36px;
  margin:0;
}
.func-list .sub-list li{
  position:relative;
  padding:4px 0 4px 18px;
  font-size:.9rem;
  color:var(--ink-600);
}
.func-list .sub-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--brand-400);
}

/* ---------- Mechanism section card ---------- */
.mech-section{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  padding:36px 40px;
  box-shadow:var(--shadow-sm);
  position:relative;
  overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease;
}
.mech-section:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-hover);
}
.mech-section::before{
  content:"";
  position:absolute;
  top:0;left:0;width:4px;height:100%;
  background:var(--brand-500);
  border-radius:18px 0 0 18px;
}
.mech-section h3{
  font-family:'SF Rounded Georgian','SF Rounded',sans-serif;
  font-size:1.15rem;
  font-weight:800;
  color:var(--ink-900);
  margin:0 0 18px;
  text-transform:uppercase;
  letter-spacing:.03em;
  display:flex;
  align-items:center;
  gap:14px;
}
.mech-section h3 .mech-icon{
  width:44px;
  height:44px;
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(47,128,237,.1);
  border-radius:13px;
  color:var(--brand-500);
}
.mech-section p{
  font-size:.92rem;
  line-height:1.7;
  color:var(--ink-600);
  margin:0;
}
.mech-section p + p{
  margin-top:14px;
}

/* ---------- Responsive ---------- */
@media (max-width:992px){
  .hero-grid{
    grid-template-columns:1fr;
    text-align:center;
  }
  .hero-left{ text-align:center; }
  .hero-left .about-hero-desc{ margin-left:auto; margin-right:auto; }
  .hero-mission{ text-align:left; max-width:480px; margin:0 auto; }
  .hero-pillars{ max-width:480px; margin:0 auto; }
}
@media (max-width:576px){
  .about-hero-full{ padding:40px 0 48px; }
  .about-hero{ padding:36px 0 44px; }
  .hero-pillar{ padding:14px 16px; }
  .hero-pillar-icon{ width:36px; height:36px; }
  .mission-strip{ flex-direction:column; text-align:center; padding:18px; }
  .info-card{ padding:20px; }
  .mech-section{ padding:24px 20px 24px 24px; }
  .stat-card{ padding:20px; }
}

