/* Layout modern: organisasi riset → kebijakan/fasilitator → agenda → berita (dan hero/pengumuman) */

#root .brida-home-hero {
  border-radius: 0 0 clamp(1rem, 3vw, 1.75rem) clamp(1rem, 3vw, 1.75rem);
  box-shadow: 0 24px 48px -24px rgba(15, 23, 42, 0.35);
}

#root .brida-home-org {
  position: relative;
  padding-top: clamp(3rem, 7vw, 5.5rem) !important;
  padding-bottom: clamp(3rem, 7vw, 5.5rem) !important;
  background: linear-gradient(
    180deg,
    hsl(var(--background)) 0%,
    hsl(var(--muted) / 0.45) 55%,
    hsl(var(--background)) 100%
  ) !important;
}

#root .brida-home-org::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 50% at 50% 0%, hsl(var(--primary) / 0.06), transparent 70%);
  pointer-events: none;
}

#root .brida-home-org > .container {
  position: relative;
  max-width: 72rem;
}

#root .brida-home-org h2 {
  font-size: clamp(1.35rem, 3.5vw, 1.875rem) !important;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 0.35rem !important;
}

#root .brida-home-org h2 + div {
  width: 3rem !important;
  height: 0.2rem !important;
  border-radius: 9999px;
  margin-bottom: 2.5rem !important;
}

#root .brida-home-org .grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  gap: clamp(1rem, 2.5vw, 1.75rem) !important;
}

#root .brida-home-org a.group {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border) / 0.55);
  border-radius: 1rem;
  padding: 1.15rem 0.85rem !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#root .brida-home-org a.group:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px -12px rgba(15, 23, 42, 0.12);
  border-color: hsl(var(--primary) / 0.35);
}

#root .brida-home-policy {
  padding-top: clamp(3rem, 6vw, 5rem) !important;
  padding-bottom: clamp(3rem, 6vw, 5rem) !important;
  background: hsl(var(--background)) !important;
}

#root .brida-home-policy > .container {
  max-width: 72rem;
}

#root .brida-home-policy > .container > .grid {
  gap: clamp(1.25rem, 3vw, 2rem) !important;
  align-items: stretch;
}

@media (min-width: 768px) {
  #root .brida-home-policy > .container > .grid {
    gap: 2rem !important;
  }
}

#root .brida-home-policy > .container > .grid > div {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border) / 0.5);
  border-radius: 1.25rem;
  padding: clamp(1.25rem, 3vw, 1.75rem) !important;
  box-shadow: 0 4px 24px -8px rgba(15, 23, 42, 0.08);
}

#root .brida-home-policy > .container > .grid > div h3 {
  font-size: clamp(1.05rem, 2vw, 1.25rem) !important;
  margin-bottom: 0.5rem !important;
}

#root .brida-home-policy > .container > .grid > div > .space-y-4 > a {
  border-radius: 0.75rem;
  border: 1px solid transparent;
}

#root .brida-home-policy > .container > .grid > div > .space-y-4 > a:hover {
  border-color: hsl(var(--border) / 0.6);
}

#root .brida-home-agenda {
  padding-top: clamp(3rem, 6vw, 5rem) !important;
  padding-bottom: clamp(3rem, 6vw, 5rem) !important;
  background: linear-gradient(
    180deg,
    hsl(var(--muted) / 0.85) 0%,
    hsl(var(--background)) 100%
  ) !important;
}

#root .brida-home-agenda > .container {
  max-width: 72rem;
}

#root .brida-home-agenda .flex.items-center.justify-between {
  margin-bottom: 2rem !important;
  flex-wrap: wrap;
  gap: 0.75rem;
}

#root .brida-home-agenda .grid.md\\:grid-cols-2 {
  gap: 1.5rem !important;
}

#root .brida-home-agenda .bg-primary.rounded-lg {
  border-radius: 1.25rem !important;
  min-height: 260px !important;
  box-shadow: 0 12px 40px -12px hsl(var(--primary) / 0.45);
}

#root .brida-home-agenda a.flex.items-start.gap-4 {
  border-radius: 1rem !important;
  border: 1px solid hsl(var(--border) / 0.4);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

#root .brida-home-agenda a.flex.items-start.gap-4:hover {
  box-shadow: 0 8px 28px -8px rgba(15, 23, 42, 0.1);
}

#root .brida-home-news {
  padding-top: clamp(3rem, 6vw, 5rem) !important;
  padding-bottom: clamp(3rem, 6vw, 5rem) !important;
  background: hsl(var(--background)) !important;
}

#root .brida-home-news > .container {
  max-width: 72rem;
}

#root .brida-home-news .grid.md\\:grid-cols-3 {
  gap: clamp(1.25rem, 2.5vw, 2rem) !important;
}

#root .brida-home-news .md\\:col-span-1 > a.block {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border) / 0.5);
  border-radius: 1.25rem;
  padding: 0.75rem;
  overflow: hidden;
  box-shadow: 0 8px 32px -12px rgba(15, 23, 42, 0.12);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

#root .brida-home-news .md\\:col-span-1 > a.block:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 48px -16px rgba(15, 23, 42, 0.15);
}

#root .brida-home-news .md\\:col-span-1 .rounded-lg.overflow-hidden {
  border-radius: 0.875rem !important;
}

#root .brida-home-news .md\\:col-span-2.space-y-4 > a.flex {
  padding: 0.65rem;
  border-radius: 0.875rem;
  border: 1px solid hsl(var(--border) / 0.35);
  background: hsl(var(--card) / 0.5);
  transition: background 0.2s ease, border-color 0.2s ease;
}

#root .brida-home-news .md\\:col-span-2.space-y-4 > a.flex:hover {
  background: hsl(var(--card));
  border-color: hsl(var(--primary) / 0.25);
}

#root .brida-home-announce {
  padding-top: clamp(3rem, 6vw, 5rem) !important;
  padding-bottom: clamp(3rem, 6vw, 5rem) !important;
}

#root .brida-home-announce > .container {
  max-width: 72rem;
}

#root .brida-home-announce a.bg-background.rounded-lg {
  border-radius: 1rem !important;
  border: 1px solid hsl(var(--border) / 0.45);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

#root .brida-home-announce a.bg-background.rounded-lg:hover {
  box-shadow: 0 8px 28px -8px rgba(15, 23, 42, 0.08);
}
