    :root{      
      --brand-primary: #7f2477;
      --brand-secondary: #ff0000;
      --brand-accent: #00e686;
     
      --text: #0f172a;
      --muted: #64748b;
      --border: rgba(15,23,42,.10);
      
      --link: var(--brand-primary);
      --link-hover: color-mix(in srgb, var(--brand-primary) 82%, #000);
	  
	  --bs-link-color-rgb: 0, 71, 116;
      --bs-primary: var(--brand-primary);
      --bs-secondary: var(--brand-secondary);
      --bs-success: var(--brand-accent);
      --bs-link-color: var(--link);
      --bs-link-hover-color: var(--link-hover);
      --bs-primary-rgb: 127, 36, 119;

      --hero-bg: #f4f7fb;
		--bs-body-font-family: "CAZentrumWide-Light", "Helvetica Neue", Arial, sans-serif;
		
      --bs-body-font-size: 18px;
    }

    html { scroll-behavior: smooth; }
    body{
      color: var(--text);
      background: #fff;
    }

    .container-narrow{ max-width: 1080px; }
    
    .site-header{
      background: #fff;
      border-bottom: 1px solid var(--border);
    }
    .brand-img{
      height: 40px;
      width: auto;
      display:block;
    }
    .nav-link{
      color: var(--text);
      opacity: .8;
      font-weight: 600;
    }
    .nav-link:hover,
    .nav-link.active{
      color: var(--link);
      opacity: 1;
      text-decoration: underline;
      text-underline-offset: .35rem;
    }

    .hero{
      background: var(--hero-bg);
      padding: 0px;
      overflow: hidden;
    }

	.hero-grid{
	  display: grid;
	  grid-template-columns: 1.05fr .95fr;
	  gap: clamp(22px, 3vw, 40px);
	  align-items: stretch; 
	}
    
    .hero h1{
      font-size: clamp(2.2rem, 3.2vw, 3.1rem);
      font-weight: 500; 
      letter-spacing: -0.02em;
      margin-bottom: 1rem;
    }
    .hero p {
      color: var(--muted);
      font-size: 1.2rem;
      line-height: 1.5;
      margin-bottom: 1.2rem;
      max-width: 52ch;
    }

  
.hero-media{
  position: relative;
  height: 100%;
  min-height: 520px;

  width: 50vw;
  margin-right: calc(50% - 50vw);

  filter: drop-shadow(0 24px 46px rgba(2,8,23,.12));
}

.hero-media-inner{
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #fff;
}

.hero-media-inner-round {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #fff;

  
  border-top-left-radius: 140px;
  border-bottom-left-radius: 140px;
  border-top-right-radius: 42px;
  border-bottom-right-radius: 42px;
}

.hero-media-inner-distort {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #fff;	

  border-top-left-radius: 350px;
  border-bottom-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}


.hero-media-img{
  position: absolute;
  inset: -10% -10%;
  width: 120%;
  height: 120%;
  object-fit: cover;  
  
  will-change: transform;
}
.hero-media.transform-20 {
	transform: translate3d(20px, -60px, 0) scale(1.02);
}

.hero-shape--half .hero-media-inner{
  border-top-left-radius: 220px;
  border-bottom-left-radius: 220px;
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
}

.hero-shape--circle .hero-media-inner{
  border-radius: 55% 45% 60% 40% / 55% 60% 40% 45%;
}

.hero-shape--blob .hero-media-inner{
  border-radius: 
    65% 35% 55% 45% /
    45% 60% 40% 55%;
}
    
    .btn-primary{
      --bs-btn-color: #fff;
      --bs-btn-bg: var(--brand-primary);
      --bs-btn-border-color: var(--brand-primary);
      --bs-btn-hover-bg: color-mix(in srgb, var(--brand-primary) 88%, #000);
      --bs-btn-hover-border-color: color-mix(in srgb, var(--brand-primary) 88%, #000);
      --bs-btn-active-bg: color-mix(in srgb, var(--brand-primary) 76%, #000);
      --bs-btn-active-border-color: color-mix(in srgb, var(--brand-primary) 76%, #000);
      --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    }

    /* Content area */
    section.page{
      padding: 28px 0;
    }
    h2{
      font-size: 1.25rem;
      font-weight: 800;
      margin-top: 1.4rem;
    }	

    .event-link{
      display: inline-flex;
      align-items: center;
      gap: .6rem;
      padding: .75rem 1rem;
      border: 1px solid var(--border);
      border-radius: .9rem;
      background: #fff;
      text-decoration: none;
      color: var(--link);
      font-weight: 650;
      transition: transform .12s ease, box-shadow .12s ease, color .12s ease;
      width: fit-content;
      max-width: 100%;
    }
    .event-link:hover{
      color: var(--link-hover);
      transform: translateY(-1px);
      box-shadow: 0 12px 26px rgba(2,8,23,.08);
    }

    footer{
      border-top: 1px solid var(--border);
      padding: 18px 0;
      margin-top: 20px;
      font-size: .95rem;
      color: var(--muted);
    }
    
	@media (max-width: 991.98px){
	  .hero-grid{
		grid-template-columns: 1fr;
	  }

	  .hero-media{
		width: 100%;
		margin-right: 0;
		min-height: 320px;
	  }
	}

    @media (prefers-reduced-motion: reduce){
      html{ scroll-behavior: auto; }
      .hero-media-img{ transform: none !important; }
    }
	
	.bg-buh {
		background-color: rgb(0, 71, 116);
		color: #fff;
	}
	.bg-buh h1, .bg-buh h2 { color: rgb(232, 224, 0); }
		