/* Premium Dark Theme — Dr. Osman Karakoç */
:root{
  --bg0:#0a0e14;
  --bg1:#0d121a;
  --card:#0f1622cc;
  --card2:#0f1622;
  --stroke:#223047;
  --stroke2:#2a3a56;
  --text:#e7eefc;
  --muted:#a8b6d3;
  --muted2:#7f8fb0;
  --accent:#6ea8ff;
  --accent2:#9b7bff;
  --glow: 0 0 0 1px rgba(110,168,255,.12), 0 18px 60px rgba(0,0,0,.55);
  --radius:18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--text);
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:
    radial-gradient(1200px 700px at 18% 10%, rgba(110,168,255,.10), transparent 60%),
    radial-gradient(900px 600px at 82% 14%, rgba(155,123,255,.10), transparent 55%),
    radial-gradient(800px 520px at 50% 82%, rgba(110,168,255,.07), transparent 60%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
}

/* Navbar */
.navbar{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 26px;
  backdrop-filter: blur(14px);
  background: rgba(10,14,20,.65);
  border-bottom: 1px solid rgba(34,48,71,.65);
}
.brand{display:flex; gap:12px; align-items:center}
.dot{
  width:10px;height:10px;border-radius:999px;
  background: radial-gradient(circle at 30% 30%, #bcd6ff, var(--accent));
  box-shadow: 0 0 0 3px rgba(110,168,255,.12);
}
.brandName{font-weight:700; letter-spacing:.2px}
.brandMeta{font-size:12px; color:var(--muted2); margin-top:2px}
.brandText{display:flex; flex-direction:column; line-height:1.1}

.nav{display:flex; gap:10px; align-items:center}
.navHighlights{display:flex; align-items:center; gap:8px; margin-left:auto; margin-right:14px; flex-wrap:wrap; min-width:0;}
.navMiniPill{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:32px; padding:0 10px; border-radius:999px;
  font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:#d9e6ff; border:1px solid rgba(110,168,255,.18);
  background:linear-gradient(180deg, rgba(110,168,255,.12), rgba(110,168,255,.04));
  white-space:nowrap;
}
.navLink{
  color: var(--muted);
  text-decoration:none;
  padding:10px 12px;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.navLink:hover{
  background: rgba(110,168,255,.08);
  border-color: rgba(110,168,255,.18);
  color: var(--text);
  transform: translateY(-1px);
}
.navLink.active{
  background: rgba(110,168,255,.12);
  border-color: rgba(110,168,255,.24);
  color: var(--text);
}

/* Layout */
.container{width:min(1560px, calc(100vw - 24px)); max-width:none; margin:0 auto; padding:24px}
.grid2{display:grid; grid-template-columns: 1.25fr .85fr; gap: 18px}
.grid2 > *, .hero > *, .mapsGrid > *, .footerInner > *{min-width:0;}
.mapPanel--premium, .mapShell, .miniMapShell, .card, .footerSocialCard{max-width:100%;}
@media (max-width: 980px){ .grid2{grid-template-columns:1fr} }

/* Cards */
.card{
  background: linear-gradient(180deg, rgba(15,22,34,.86), rgba(15,22,34,.72));
  border: 1px solid rgba(34,48,71,.75);
  border-radius: var(--radius);
  box-shadow: var(--glow);
  padding: 22px;
  position:relative;
  overflow:hidden;
}
.card::before{
  content:"";
  position:absolute; inset:-1px;
  background: radial-gradient(600px 240px at 25% 0%, rgba(110,168,255,.12), transparent 60%),
              radial-gradient(520px 240px at 85% 0%, rgba(155,123,255,.10), transparent 62%);
  pointer-events:none;
  opacity:.9;
}
.card > *{position:relative}
.sectionHead{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:10px}
.sectionHint{font-size:12px;color:var(--muted2); padding:6px 10px; border:1px solid rgba(34,48,71,.75); border-radius:999px; background: rgba(10,14,20,.35)}

/* Hero */
.hero{display:grid; grid-template-columns: 1.2fr .8fr; gap: 18px; align-items:stretch}
@media (max-width: 980px){ .hero{grid-template-columns:1fr} }
.heroEyebrow{display:inline-flex;align-items:center;justify-content:center;margin:0 auto 12px;padding:8px 14px;border-radius:999px;border:1px solid rgba(110,168,255,.18);background:linear-gradient(180deg, rgba(110,168,255,.12), rgba(110,168,255,.04));font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#dbe7ff;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}
.heroTitle{
  font-family:"Playfair Display", serif;
  font-size: 44px;
  margin: 0 0 10px;
  letter-spacing:.2px;
}
.heroText{color: var(--muted); line-height: 1.6; font-size: 15px; max-width: 70ch}
.heroSub{display:flex; flex-wrap:wrap; gap:8px; margin: 8px 0 14px}
.pill{
  font-size:12px;
  color: var(--text);
  background: rgba(110,168,255,.10);
  border:1px solid rgba(110,168,255,.18);
  padding:7px 10px;
  border-radius:999px;
}
.heroActions{display:flex; gap:10px; margin-top: 14px; flex-wrap:wrap}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px;
  border-radius: 12px;
  border: 1px solid rgba(110,168,255,.22);
  background: rgba(110,168,255,.14);
  color: var(--text);
  text-decoration:none;
  transition: transform .15s ease, background .2s ease, border-color .2s ease;
}
.btn:hover{transform: translateY(-1px); background: rgba(110,168,255,.18); border-color: rgba(110,168,255,.30)}
.btn.ghost{
  background: rgba(10,14,20,.25);
  border-color: rgba(34,48,71,.80);
}
.btn.ghost:hover{border-color: rgba(110,168,255,.22)}

/* Tags */
.tags{display:flex; flex-wrap:wrap; gap:10px}
.tags span{
  padding:9px 12px;
  background: rgba(10,14,20,.35);
  border: 1px solid rgba(34,48,71,.85);
  border-radius: 999px;
  color: var(--text);
  font-size: 13px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.03) inset;
  transition: transform .15s ease, border-color .2s ease;
}
.tags span:hover{transform: translateY(-1px); border-color: rgba(110,168,255,.22)}

/* Timeline */
.timeline{position:relative; padding: 8px 0 4px 8px; margin-top: 6px}
.timeline::before{
  content:"";
  position:absolute;
  left: 12px;
  top: 10px;
  bottom: 10px;
  width: 2px;
  background: linear-gradient(180deg, rgba(110,168,255,.55), rgba(155,123,255,.45));
  opacity:.55;
}
.tItem{
  position:relative;
  padding-left: 34px;
  margin: 14px 0;
}
.tDot{
  position:absolute;
  left: 6px;
  top: 12px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: radial-gradient(circle at 35% 35%, #d7e8ff, var(--accent));
  box-shadow: 0 0 0 4px rgba(110,168,255,.10), 0 12px 30px rgba(0,0,0,.55);
}
.tContent{
  background: rgba(10,14,20,.28);
  border: 1px solid rgba(34,48,71,.78);
  border-radius: 14px;
  padding: 12px 14px;
}
.tTop{display:flex; justify-content:space-between; gap:12px; flex-wrap:nowrap; align-items:flex-start}
.tTitle{flex:1; min-width:0}
.tTime{flex:0 0 auto; white-space:nowrap}
.tTitle{font-weight:700; color: var(--text)}
.tTime{font-size:12px; color: var(--muted2); padding:4px 8px; border-radius:999px; border:1px solid rgba(34,48,71,.75); background: rgba(10,14,20,.25)}
.tRole{margin-top:8px; color: var(--muted); line-height:1.5; font-size:13px}

/* Reveal animation */
.reveal{opacity:0; transform: translateY(10px); transition: opacity .6s ease, transform .6s ease}
.reveal.in{opacity:1; transform: translateY(0)}

/* Software list */
.divider{height:1px; background: rgba(34,48,71,.75); margin: 16px 0}
.softTitle{
  font-family:"Playfair Display", serif;
  font-size: 22px;
  margin: 0 0 10px;
}
.softList{margin:0; padding-left: 18px; color: var(--muted); line-height:1.7}
.softList b{color: var(--text)}

/* Pages */
.pageTitle{
  font-family:"Playfair Display", serif;
  margin:0 0 6px;
  font-size: 34px;
}
.pageLead{margin:0; color: var(--muted); line-height:1.6}

/* Empty state */
.emptyState{
  margin-top: 18px;
  display:flex; gap:12px; align-items:center;
  padding: 14px;
  border-radius: 14px;
  background: rgba(10,14,20,.25);
  border: 1px solid rgba(34,48,71,.78);
}
.emptyIcon{font-size: 26px}
.emptyTitle{font-weight:700}
.emptyHint{color: var(--muted2); font-size: 13px; margin-top: 2px}

/* Contact */
.contactGrid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top: 14px}
@media (max-width: 720px){ .contactGrid{grid-template-columns:1fr} }
.contactCard{
  background: rgba(10,14,20,.25);
  border: 1px solid rgba(34,48,71,.78);
  border-radius: 14px;
  padding: 12px 14px;
}
.contactLabel{font-size:12px; color: var(--muted2); margin-bottom:6px}
.contactLink{color: var(--text); text-decoration:none; font-weight:600}
.contactLink:hover{color: #cfe2ff}

/* Maps */
.mapShell{
  margin-top: 16px;
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(34,48,71,.78);
  background: rgba(10,14,20,.18);
}
.mapHeader{
  display:flex; align-items:baseline; justify-content:space-between;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(34,48,71,.60);
}
.mapTitle{font-weight:700}
.mapHint{color: var(--muted2); font-size: 12px}
.map{height: 380px; width:100%}
.map--mini{height: 240px}
.miniMapShell{
  height:auto;
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(34,48,71,.78);
  background: rgba(10,14,20,.22);
  display:flex;
  flex-direction:column;
}
.miniMapHeader, .miniMapFooter{
  padding: 12px 14px;
  border-bottom: 1px solid rgba(34,48,71,.60);
}
.miniMapFooter{border-bottom:none; border-top: 1px solid rgba(34,48,71,.60); display:flex; gap:8px; flex-wrap:wrap}
.miniMapTitle{font-weight:700}
.miniMapHint{color: var(--muted2); font-size:12px; margin-top:3px}
.kbd{
  font-size: 12px;
  color: var(--muted);
  border: 1px solid rgba(34,48,71,.78);
  background: rgba(10,14,20,.22);
  padding: 6px 10px;
  border-radius: 999px;
}

/* Leaflet theme tweaks */
.leaflet-control-attribution{background: rgba(10,14,20,.35) !important; color: var(--muted2) !important; border-radius: 10px !important; border:1px solid rgba(34,48,71,.55) !important}
.leaflet-control-zoom a{background: rgba(10,14,20,.45) !important; color: var(--text) !important; border:1px solid rgba(34,48,71,.55) !important}
.leaflet-bar a:hover{background: rgba(110,168,255,.14) !important}
.leaflet-control-layers{background: rgba(10,14,20,.55) !important; color: var(--text) !important; border-radius: 14px !important; border:1px solid rgba(34,48,71,.65) !important}

/* Footer */
.footer{padding: 20px 26px; color: var(--muted2)}
.footerInner{width:min(1560px, calc(100vw - 24px)); max-width:none; margin:0 auto; display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap}
.muted{color: var(--muted2)}


/* --- Ultra polish additions --- */
body::before{
  content:"";
  position:fixed; inset:-40vh -40vw;
  background:
    radial-gradient(closest-side at 20% 10%, rgba(110,168,255,.10), transparent 70%),
    radial-gradient(closest-side at 80% 15%, rgba(155,123,255,.10), transparent 70%),
    radial-gradient(closest-side at 55% 85%, rgba(110,168,255,.07), transparent 75%);
  filter: blur(18px);
  opacity:.9;
  pointer-events:none;
  animation: auroraMove 18s ease-in-out infinite alternate;
}
@keyframes auroraMove{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(3vw,-2vh,0) scale(1.05)}
}

.card{
  position:relative;
  overflow:hidden;
}
.card::before{
  content:"";
  position:absolute; inset:0;
  padding:1px;
  border-radius:var(--radius);
  background: linear-gradient(135deg, rgba(110,168,255,.35), rgba(155,123,255,.20), rgba(110,168,255,.08));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  opacity:.55;
  pointer-events:none;
}
.card::after{
  content:"";
  position:absolute; inset:-60px;
  background: radial-gradient(400px 220px at 30% 15%, rgba(255,255,255,.06), transparent 60%);
  opacity:.55;
  pointer-events:none;
}

.heroTitle{
  letter-spacing:-0.02em;
}

.btn{
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 0 0 1px rgba(110,168,255,.18), 0 18px 60px rgba(0,0,0,.55);
}

.mapControls{
  position:absolute;
  right:12px; top:12px;
  display:flex; gap:8px; flex-wrap:wrap;
  z-index: 500;
}
.mapCtrlBtn{
  appearance:none;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(12,18,28,.55);
  color: var(--text);
  padding:8px 10px;
  border-radius: 12px;
  font: 600 12px/1 Inter, system-ui;
  letter-spacing:.01em;
  backdrop-filter: blur(10px);
  box-shadow: 0 0 0 1px rgba(0,0,0,.25);
  cursor:pointer;
}
.mapCtrlBtn:hover{ border-color: rgba(110,168,255,.45); }
.mapCtrlBtn:active{ transform: translateY(1px); }

.mapCoords{
  position:absolute;
  left:12px; bottom:12px;
  z-index:500;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(12,18,28,.55);
  backdrop-filter: blur(10px);
  color: var(--muted);
  font: 600 12px/1.1 Inter, system-ui;
}

.mapFullscreen{
  position:fixed !important;
  inset: 72px 16px 16px 16px !important;
  height:auto !important;
  z-index: 2000 !important;
  border-radius: 18px !important;
  box-shadow: 0 0 0 1px rgba(110,168,255,.18), 0 40px 120px rgba(0,0,0,.75);
}
.fullscreenBackdrop{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
  z-index: 1999;
}

/* Timeline micro-interactions */
.timeline::before{
  background: linear-gradient(180deg, rgba(110,168,255,.55), rgba(155,123,255,.22), rgba(110,168,255,.12));
  opacity:.65;
}
.tDot{
  box-shadow: 0 0 0 1px rgba(0,0,0,.35), 0 0 0 6px rgba(110,168,255,.10);
  animation: dotPulse 3.6s ease-in-out infinite;
}
@keyframes dotPulse{
  0%,100%{ transform: scale(1); box-shadow: 0 0 0 1px rgba(0,0,0,.35), 0 0 0 6px rgba(110,168,255,.10);}
  50%{ transform: scale(1.06); box-shadow: 0 0 0 1px rgba(0,0,0,.35), 0 0 0 10px rgba(155,123,255,.10);}
}
.tItem:hover .tContent{
  transform: translateY(-1px);
  border-color: rgba(110,168,255,.28);
}

.heroRight{display:flex; flex-direction:column; gap:18px}

/* Timeline date formatting */
.tTime{display:flex;align-items:baseline;gap:10px;flex-wrap:nowrap;white-space:nowrap;}
.tTime .yearSub{font-size:0.86em;opacity:0.8;letter-spacing:0.02em;}



.heroLeft{display:flex;flex-direction:column;}
.globeShell{flex:1;display:flex;flex-direction:column;}
.globeWrap{flex:1;min-height:220px;}
.miniMapHead{padding: 12px 14px; border-bottom: 1px solid rgba(34,48,71,.60); font-weight:700;}

/* Globe */
.globeShell{margin-top:14px;}
.globeWrap{position:relative;height:220px;border-radius:16px;overflow:hidden;background:radial-gradient(120% 120% at 30% 20%, rgba(90,140,255,0.10), rgba(0,0,0,0));}
#globeCanvas{width:100%;height:100%;display:block;}


/* Publications timeline */
.pubTop{flex-direction:column;align-items:flex-start;gap:8px}
.pubTop .tTime{padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.04);}

/* --- Premium refinement pack --- */
.navbar{
  background: linear-gradient(180deg, rgba(8,12,19,.82), rgba(8,12,19,.62));
  box-shadow: 0 10px 30px rgba(0,0,0,.28);
}
.navLink{
  position:relative;
  overflow:hidden;
  backdrop-filter: blur(12px);
}
.navLink::after{
  content:"";
  position:absolute;
  left:12px; right:12px; bottom:6px;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(110,168,255,.88), transparent);
  opacity:0;
  transform: scaleX(.55);
  transition: opacity .24s ease, transform .24s ease;
}
.navLink:hover::after,
.navLink.active::after{opacity:1; transform:scaleX(1)}
.navLink.active{
  box-shadow: inset 0 0 0 1px rgba(110,168,255,.12), 0 10px 30px rgba(35,73,145,.12);
}

.heroTitle{
  text-shadow: 0 0 18px rgba(110,168,255,.08), 0 10px 30px rgba(0,0,0,.28);
}
.heroText{
  line-height:1.78;
  color:#b7c5e0;
}
.heroSub{margin: 10px 0 18px}
.pill{
  background: linear-gradient(180deg, rgba(110,168,255,.12), rgba(110,168,255,.06));
  border-color: rgba(110,168,255,.20);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 12px 24px rgba(0,0,0,.16);
  backdrop-filter: blur(10px);
}

.btn{
  position:relative;
  overflow:hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 10px 24px rgba(0,0,0,.18);
}
.btn::before{
  content:"";
  position:absolute;
  top:0; bottom:0; left:-45%; width:32%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transform: skewX(-18deg);
  transition:left .55s ease;
  pointer-events:none;
}
.btn:hover::before{left:118%}
.btn:hover{
  background: rgba(110,168,255,.20);
  border-color: rgba(151,192,255,.34);
  transform: translateY(-2px) scale(1.01);
}
.btn:active{transform: translateY(0) scale(.99)}
.btn.ghost{
  background: rgba(10,14,20,.32);
}
.btn.ghost:hover{
  background: rgba(110,168,255,.08);
}

.miniMapShell{
  position:relative;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 14px 30px rgba(0,0,0,.18);
}
.miniMapShell::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(110,168,255,.06), transparent 36%, transparent 68%, rgba(155,123,255,.04));
  pointer-events:none;
}
.miniMapShell:hover{
  transform: translateY(-2px);
  border-color: rgba(110,168,255,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 34px rgba(0,0,0,.26);
}
.miniMapHeader,
.miniMapHead,
.miniMapFooter{
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
}
.miniMapTitle,
.miniMapHead{
  letter-spacing:.02em;
}
.mapControls{gap:10px}
.mapCtrlBtn{
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.mapCtrlBtn:hover{
  background: rgba(110,168,255,.14);
  box-shadow: 0 10px 22px rgba(0,0,0,.24);
}
.mapCtrlBtn:active{transform: scale(.97)}
.kbd{
  background: rgba(10,14,20,.30);
  border-color: rgba(70,92,133,.60);
}

.globeWrap{
  border:1px solid rgba(82,112,168,.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), inset 0 0 80px rgba(56,96,196,.05), 0 18px 36px rgba(0,0,0,.18);
  background:
    radial-gradient(110% 140% at 25% 22%, rgba(90,140,255,0.13), transparent 42%),
    radial-gradient(100% 120% at 78% 0%, rgba(155,123,255,.06), transparent 35%),
    linear-gradient(180deg, rgba(7,10,18,.25), rgba(7,10,18,.05));
}
.globeWrap::before,
.globeWrap::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.globeWrap::before{
  background:
    radial-gradient(circle at 14% 28%, rgba(255,255,255,.35) 0 1px, transparent 2px),
    radial-gradient(circle at 24% 70%, rgba(255,255,255,.22) 0 1px, transparent 2px),
    radial-gradient(circle at 73% 20%, rgba(255,255,255,.20) 0 1px, transparent 2px),
    radial-gradient(circle at 82% 60%, rgba(255,255,255,.18) 0 1px, transparent 2px),
    radial-gradient(circle at 62% 84%, rgba(255,255,255,.14) 0 1px, transparent 2px);
  opacity:.55;
}
.globeWrap::after{
  background: linear-gradient(115deg, transparent 18%, rgba(255,255,255,.06) 50%, transparent 78%);
  transform: translateX(-55%);
  animation: globeShine 8s ease-in-out infinite;
}
@keyframes globeShine{
  0%,100%{transform:translateX(-58%)}
  50%{transform:translateX(18%)}
}

.card,
.contactCard,
.tags span,
.tContent{transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease}
.tags span:hover,
.contactCard:hover,
.tItem:hover .tContent{
  transform: translateY(-2px);
  border-color: rgba(110,168,255,.24);
  box-shadow: 0 14px 28px rgba(0,0,0,.18);
}
.timeline::before{box-shadow: 0 0 18px rgba(110,168,255,.12)}
.tDot{
  box-shadow: 0 0 0 1px rgba(0,0,0,.35), 0 0 0 7px rgba(110,168,255,.11), 0 0 22px rgba(110,168,255,.26);
}

.softList{
  list-style:none;
  padding-left:0;
  display:grid;
  gap:10px;
}
.softList li{
  position:relative;
  padding: 10px 12px 10px 44px;
  border:1px solid rgba(34,48,71,.72);
  border-radius:14px;
  background: rgba(10,14,20,.24);
}
.softList li::before{
  content:"";
  position:absolute;
  left:14px; top:50%; transform:translateY(-50%);
  width:20px; height:20px; border-radius:50%;
  display:grid; place-items:center;
  background: linear-gradient(180deg, rgba(110,168,255,.18), rgba(110,168,255,.06));
  border:1px solid rgba(110,168,255,.20);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  color:#dce8ff;
  font-size:11px; font-weight:700;
}
.softList li:nth-child(1)::before{content:"CAD"}
.softList li:nth-child(2)::before{content:"GIS"}
.softList li:nth-child(3)::before{content:"RS"}
.softList li:nth-child(4)::before{content:"STAT"; font-size:8px}
.softList li:nth-child(5)::before{content:"PM"}

.leaflet-control-attribution,
.leaflet-control-zoom a,
.leaflet-control-layers{
  backdrop-filter: blur(10px);
}
.leaflet-container{
  background:#09101b;
}

@media (prefers-reduced-motion: reduce){
  body::before,
  .globeWrap::after,
  .tDot{animation:none !important}
}


/* --- Layout refinement: premium bottom map section --- */
.hero{
  grid-template-columns: minmax(0, 1fr);
}
.heroLeft{
  max-width: 100%;
}
.heroText{
  max-width: 78ch;
}
.heroGlobeShell{
  margin-top: 20px;
}
.mapsSection{
  margin-top: 18px;
}
.mapsSectionHead{
  margin-bottom: 18px;
}
.sectionEyebrow{
  display:inline-flex;
  align-items:center;
  margin-bottom:8px;
  padding:6px 10px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#cfe1ff;
  border-radius:999px;
  border:1px solid rgba(110,168,255,.18);
  background:linear-gradient(180deg, rgba(110,168,255,.14), rgba(110,168,255,.05));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 24px rgba(0,0,0,.16);
}
.mapsGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}
.mapPanel--premium{
  min-height: 100%;
}
.map--premium{
  height: 360px;
}
.mapPanel--premium .miniMapHeader,
.mapPanel--premium .miniMapFooter,
.mapPanel--premium .mapControls,
.mapPanel--premium .mapCoords{
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0));
}
.mapPanel--premium .miniMapTitle{
  letter-spacing:.08em;
}
.mapPanel--premium .leaflet-container{
  filter: saturate(1.04) contrast(1.04);
}
@media (max-width: 980px){
  .mapsGrid{grid-template-columns:1fr;}
  .map--premium{height:300px;}
}


.mapsSection .sectionHead{display:none;}
@media (max-width: 980px){
  .container,.footerInner{width:min(100vw - 16px, 1560px); padding-left:16px; padding-right:16px;}
}


/* --- Final premium refinement --- */
html,body{width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth;}
body{overflow-x:hidden;}
.navbar,.container,.footer,.siteFooter,.footerInner{max-width:100%;}
.container{width:min(1440px,100%); padding:24px 20px 28px;}
.footerInner{width:min(1440px,100%); padding:0 20px;}
body::before{max-width:none; pointer-events:none;}

.heroCenter{
  padding-top:30px;
  padding-bottom:24px;
}
.heroCenter .heroLeft{
  align-items:center;
}
.heroCenter .heroTitle{
  margin-bottom:14px;
  text-align:center;
  font-size: clamp(40px, 5.4vw, 62px);
}
.heroCenter .heroSub,
.heroCenter .heroActions{
  justify-content:center;
}
.heroCenter .heroText{
  max-width: 78ch;
  margin: 6px auto 0;
  text-align:center;
  font-size: 16px;
}
.heroCenter .heroGlobeShell{
  width:100%;
  max-width: 1020px;
  margin: 22px auto 0;
}
.heroCenter .globeWrap{
  height: 250px;
}
@media (max-width: 900px){
  .heroCenter .heroGlobeShell{max-width:100%;}
  .heroCenter .globeWrap{height:220px;}
}

.mapsGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
.mapPanel--premium,.map--premium{min-width:0;}
.map--premium{height:340px;}

.siteFooter{
  margin-top:36px;
  padding:26px 0 18px;
  border-top:1px solid rgba(50,72,108,.68);
  background:linear-gradient(180deg, rgba(7,11,18,.08), rgba(7,11,18,.34));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}
.siteFooter .footerInner{
  display:grid;
  grid-template-columns:minmax(220px,1.15fr) minmax(160px,.85fr) minmax(330px,1.3fr) minmax(220px,.9fr) auto;
  gap:24px;
  align-items:start;
}
.footerBrand{display:flex;gap:16px;align-items:flex-start;text-decoration:none;color:var(--text);}
.footerMonogram{
  width:54px;height:54px;border-radius:18px;display:grid;place-items:center;
  font-weight:800;letter-spacing:.02em;color:#eaf1ff;
  background:linear-gradient(180deg, rgba(110,168,255,.34), rgba(110,168,255,.12));
  border:1px solid rgba(133,182,255,.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 16px 36px rgba(0,0,0,.25);
}
.footerBrandText{display:flex;flex-direction:column;gap:6px;line-height:1.45;}
.footerBrandText strong{font-size:17px;}
.footerBrandText span{color:#aab8d5;max-width:30ch;}
.footerTitle{
  margin-bottom:14px;
  font-size:13px;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#dbe7ff;
}
.footerQuickLinks,.footerContactLinks{display:grid;gap:12px;}
.footerMiniBtn{
  display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;
  min-height:44px;padding:0 14px;border-radius:14px;text-decoration:none;color:var(--text);
  border:1px solid rgba(76,102,148,.52);
  background:linear-gradient(180deg, rgba(16,24,36,.78), rgba(12,18,28,.66));
  transition:transform .18s ease,border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.footerMiniBtn:hover{
  transform:translateY(-1px);
  border-color:rgba(116,164,243,.72);
  box-shadow:0 14px 28px rgba(0,0,0,.20);
  background:linear-gradient(180deg, rgba(22,32,48,.92), rgba(14,20,30,.82));
}
.footerSocialGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.footerSocialCard{
  display:flex;align-items:center;gap:12px;
  min-height:56px;padding:11px 13px;border-radius:16px;text-decoration:none;color:var(--text);
  border:1px solid rgba(70,95,140,.52);
  background:linear-gradient(180deg, rgba(14,20,31,.86), rgba(10,15,24,.70));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  transition:transform .18s ease,border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.footerSocialCard:hover{
  transform:translateY(-2px);
  border-color:rgba(126,173,255,.78);
  box-shadow:0 16px 30px rgba(0,0,0,.22);
}
.footerIcon{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  flex:0 0 38px;font-size:14px;font-weight:800;color:#fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}
.footerLabel{font-size:14px;font-weight:700;line-height:1.15;letter-spacing:.01em;overflow-wrap:anywhere;word-break:break-word;}
.footerSocialCard.linkedin .footerIcon{background:linear-gradient(180deg,#2d8cff,#0a66c2);}
.footerSocialCard.instagram .footerIcon{background:linear-gradient(135deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);}
.footerSocialCard.dergipark .footerIcon{background:linear-gradient(180deg,#26ca7d,#119d5b);}
.footerSocialCard.researchgate .footerIcon{background:linear-gradient(180deg,#33e3be,#00b894);}
.footerSocialCard.academia .footerIcon{background:linear-gradient(180deg,#8fb4ff,#5d7cff);}
.footerSocialCard.scholar .footerIcon{background:linear-gradient(180deg,#7aa8ff,#4d7dff);}
.scrollTopBtn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:0 16px;border-radius:15px;text-decoration:none;color:#dfe9ff;
  border:1px solid rgba(76,102,148,.58);
  background:linear-gradient(180deg, rgba(18,27,40,.86), rgba(12,18,28,.70));
  white-space:nowrap;
}
.scrollTopBtn:hover{border-color:rgba(126,173,255,.82); box-shadow:0 14px 28px rgba(0,0,0,.22);}
.footerBottomLine{
  width:min(1440px,100%);
  margin:18px auto 0;
  padding:16px 20px 0;
  border-top:1px solid rgba(45,64,97,.48);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  color:#9aadcd;font-size:14px;
  overflow:hidden;
}
.footerBottomLine a{color:#8ab2ff;text-decoration:none;}
.footerBottomLine a:hover{color:#d9e6ff;}

@media (max-width: 1180px){
  .siteFooter .footerInner{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footerTopCol{grid-column:1 / -1;}
}
@media (max-width: 720px){
  .navbar{padding:16px 14px;}
  .brandMeta{max-width:220px;}
  .container,.footerInner,.footerBottomLine{padding-left:14px;padding-right:14px;}
  .siteFooter .footerInner{grid-template-columns:1fr;gap:18px;}
  .footerSocialGrid{grid-template-columns:1fr;}
  .footerTopCol{order:5;}
  .scrollTopBtn{width:100%;}
  .heroCenter{padding-top:22px;}
  .heroCenter .heroText{text-align:left;}
  .heroCenter .heroSub,.heroCenter .heroActions{justify-content:flex-start;}
  .heroCenter .heroTitle{text-align:left;}
}

.scrollTopBtn{cursor:pointer;}
@media (max-width: 1180px){
  .navHighlights{display:none;}
}
@media (max-width: 900px){
  .footerSocialGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 720px){
  .footerSocialGrid{grid-template-columns:1fr;}
  .heroEyebrow{justify-content:flex-start;margin-left:0;margin-right:0;}
}


/* v5 refinements */
.nav{margin-left:auto;}
.navLink{white-space:nowrap;}
.heroShowcase{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);grid-template-areas:"photo text" "globe globe";gap:32px;align-items:center;padding-top:34px;}
.heroShowcase .heroMediaCol{grid-area:photo;display:flex;justify-content:center;align-items:center;}
.heroShowcase .heroTextCol{grid-area:text;align-items:flex-start;text-align:left;max-width:100%;display:flex;flex-direction:column;justify-content:center;min-height:100%;}
.heroShowcase .heroEyebrow{justify-content:flex-start;margin-left:0;margin-right:0;}
.heroShowcase .heroTitle{text-align:left;font-size: clamp(44px, 5.2vw, 78px);line-height:1.02; margin-bottom:18px;}
.heroShowcase .heroText{text-align:left;max-width:72ch;width:100%;font-size:18px;line-height:1.78;color:#d3ddf7;}
.heroShowcase .heroSub,.heroShowcase .heroActions{justify-content:flex-start;}
.heroShowcase .heroGlobeShell{grid-area:globe;max-width:1120px;width:100%;margin:8px auto 0;}
.heroPortraitWrap{position:relative;width:min(100%,290px);aspect-ratio:1/1.08;border-radius:34px;overflow:hidden;border:1px solid rgba(132,170,255,.24);background:linear-gradient(180deg,rgba(14,22,43,.86),rgba(7,12,26,.94));box-shadow:0 34px 80px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.06);padding:10px;}
.heroPortraitGlow{position:absolute;inset:auto -10% -18% -10%;height:45%;background:radial-gradient(circle at center, rgba(98,148,255,.34), transparent 72%);filter:blur(24px);pointer-events:none;}
.heroPortrait{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 18%;border-radius:26px;display:block;}
.footerSocialGrid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:14px;}
.footerSocialCard{min-height:72px;padding:14px 16px;gap:12px;}
.footerLabel{font-size:12px;line-height:1.1;word-break:normal;overflow-wrap:normal;white-space:nowrap;letter-spacing:0;}
.footerIcon{width:36px;height:36px;font-size:13px;flex:0 0 36px;}
.footerBrandText strong{font-size:15px;}
.footerBrandText span{font-size:12px;line-height:1.45;}
.scrollTopBtn{cursor:pointer;}
html{scroll-behavior:smooth;}
@media (max-width: 1180px){.heroShowcase{grid-template-columns:250px minmax(0,1fr);gap:24px;}}
@media (max-width: 920px){.heroShowcase{grid-template-columns:1fr;grid-template-areas:"photo" "text" "globe";}.heroShowcase .heroMediaCol{justify-content:flex-start;}.heroPortraitWrap{width:220px;}.heroShowcase .heroTitle{text-align:left;}.heroShowcase .heroGlobeShell{margin-left:0;}.footerSocialGrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 640px){.heroPortraitWrap{width:180px;border-radius:28px;}.heroShowcase .heroTitle{font-size:42px;}.heroShowcase .heroText{font-size:16px;}.footerSocialGrid{grid-template-columns:1fr;}.footerLabel{font-size:13px;white-space:normal;}}
