/* Enhanced premium look + visuals */
:root {
  --enh-bg1:#eef6ff;
  --enh-bg2:#f7f4ff;
  --enh-navy:#0b1f46;
  --enh-cyan:#29abe2;
  --enh-violet:#7c3aed;
  --enh-mint:#22c55e;
}

body {
  background:
    radial-gradient(circle at 8% 6%, rgba(41,171,226,.16) 0, transparent 28%),
    radial-gradient(circle at 90% 4%, rgba(124,58,237,.15) 0, transparent 24%),
    linear-gradient(160deg,var(--enh-bg1),var(--enh-bg2));
}

.glass-card,
.group-visual,
.skill-card,
.tbl-wrap,
.calendar-card,
.flow-card {
  backdrop-filter: blur(8px);
  box-shadow: 0 16px 42px rgba(11,31,70,.1);
}

.group-visual {
  border:1px solid rgba(255,255,255,.8);
  animation:floatIn .7s ease both;
}

.gv-photo-wrap {
  position:relative;
  height:168px;
  overflow:hidden;
  background:#dbeafe;
}
.gv-photo {
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
  filter:saturate(1.1) contrast(1.04);
}
.gv-photo-glow {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(11,31,70,0) 45%, rgba(11,31,70,.58) 100%);
}

.gv-head {
  position:relative;
  margin-top:-2px;
  background:linear-gradient(100deg,#cfe9ff,#dfefff,#ece7ff) !important;
  border-bottom:1px solid rgba(148,163,184,.35);
  backdrop-filter: blur(8px) saturate(1.1);
}
.gv-head .gv-title { color:#1e3a8a !important; }
.gv-head .gv-sub { color:#475569 !important; }

.group-header {
  background:linear-gradient(100deg,#d7eeff,#e7f3ff,#efeaff) !important;
  color:#1e3a8a !important;
  border:1px solid rgba(148,163,184,.32);
  box-shadow:0 10px 24px rgba(30,64,175,.08);
  backdrop-filter: blur(10px) saturate(1.12);
}
.group-header .gh-label,
.group-header .gh-theme,
.group-header .gh-emoji { color:#1e3a8a !important; }

.group-header .gh-stat {
  background:rgba(255,255,255,.55) !important;
  border:1px solid rgba(148,163,184,.32) !important;
  backdrop-filter: blur(8px);
}
.group-header .gh-stat,
.group-header .gh-stat span { color:#1e3a8a !important; }

.gv-tile .n {
  color:#1e40af;
}

.gv-speaking-list .gv-spk-item {
  transition:transform .25s ease, box-shadow .25s ease;
}
.gv-speaking-list .gv-spk-item:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 16px rgba(30,64,175,.14);
}

.flow-line,
.gv-calendar::before {
  stroke-dasharray:12 12;
}

.hdr-tag,
.month-pill,
.chip {
  border-radius:999px;
}

.page {
  border-radius:14px;
  overflow:hidden;
}

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

.reveal-init {
  opacity:0;
  transform:translateY(16px);
  transition:all .55s ease;
}
.reveal-in {
  opacity:1;
  transform:translateY(0);
}

.gv-calendar {
  padding:18px 16px 18px !important;
  background:linear-gradient(180deg,#f8fbff 0%, #f3f8ff 100%) !important;
  border-top:1px solid #dbeafe !important;
}

.gv-cal-grid {
  gap:12px !important;
}

.gv-cal {
  min-height:112px;
  padding:12px 10px !important;
  border-radius:10px !important;
  box-shadow:0 8px 16px rgba(30,64,175,.08);
}

.gv-cal .cnum {
  font-size:11px !important;
}

.gv-cal .ctxt {
  font-size:11.5px !important;
  line-height:1.45 !important;
  margin-top:5px !important;
}

.calendar-grid {
  gap:10px !important;
}

.cal-cell {
  min-height:132px;
  padding:14px 12px !important;
  border-radius:10px !important;
  box-shadow:0 8px 16px rgba(30,64,175,.08);
}

.cc-top {
  font-size:11.5px !important;
}

.cc-title {
  font-size:18px !important;
}

.cc-sub {
  font-size:12px !important;
  line-height:1.4 !important;
}

@media (max-width:820px){
  .gv-photo-wrap { height:138px; }
  .gv-cal { min-height:94px; }
  .cal-cell { min-height:110px; }
}

@media (max-width:560px){
  .gv-cal-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
