:root {
  --tn-green-950: #062f25;
  --tn-green-900: #0a3d2f;
  --tn-green-800: #0f5132;
  --tn-green-700: #146c43;
  --tn-green-100: #e9f7ef;
  --tn-gold: #d6a84f;
  --tn-gold-soft: #fff5da;
  --tn-red: #d8232a;
  --tn-cream: #fffaf0;
  --tn-ink: #17211c;
  --tn-muted: #66756f;
  --tn-card: rgba(255, 255, 255, 0.92);
  --tn-shadow: 0 22px 60px rgba(6, 47, 37, 0.12);
  --tn-radius: 24px;
}

body.taqwa-nusantara {
  color: var(--tn-ink);
  background:
    radial-gradient(circle at 10% 0%, rgba(216, 35, 42, .08), transparent 32%),
    radial-gradient(circle at 90% 8%, rgba(214, 168, 79, .18), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
}

body.taqwa-nusantara h1,
body.taqwa-nusantara h2,
body.taqwa-nusantara h3,
body.taqwa-nusantara h4,
body.taqwa-nusantara h5,
body.taqwa-nusantara h6 {
  color: var(--tn-green-950);
  letter-spacing: -0.03em;
}

body.taqwa-nusantara p,
body.taqwa-nusantara li {
  color: var(--tn-muted);
}

body.taqwa-nusantara a {
  transition: all .22s ease;
}

body.taqwa-nusantara .theme-bg,
body.taqwa-nusantara header.style2 .topbar,
body.taqwa-nusantara .green-bg,
body.taqwa-nusantara .blue-bg,
body.taqwa-nusantara .rspn-mnu-btn {
  background: linear-gradient(135deg, var(--tn-green-900), var(--tn-green-700)) !important;
}

body.taqwa-nusantara .theme-clr,
body.taqwa-nusantara a.theme-clr,
body.taqwa-nusantara .sec-title i,
body.taqwa-nusantara .srv-inf > i,
body.taqwa-nusantara .pst-mta li i {
  color: var(--tn-gold) !important;
}

body.taqwa-nusantara .brd-rd5,
body.taqwa-nusantara .theme-btn,
body.taqwa-nusantara button,
body.taqwa-nusantara input,
body.taqwa-nusantara textarea,
body.taqwa-nusantara select {
  border-radius: 14px;
}

body.taqwa-nusantara .topbar {
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

body.taqwa-nusantara .logo-inf-sec {
  background:
    linear-gradient(90deg, rgba(216,35,42,.06) 0 18%, transparent 18% 82%, rgba(216,35,42,.06) 82% 100%),
    #fff;
  box-shadow: 0 10px 30px rgba(6, 47, 37, .06);
}

body.taqwa-nusantara .menu-sec {
  box-shadow: 0 12px 34px rgba(6, 47, 37, .16);
}

body.taqwa-nusantara .menu-sec nav ul li a,
body.taqwa-nusantara .rsnp-mnu ul li a {
  font-weight: 700;
  letter-spacing: .01em;
}

body.taqwa-nusantara .menu-sec nav ul li a:hover,
body.taqwa-nusantara .menu-sec nav ul li.current-menu-item > a {
  color: var(--tn-gold-soft) !important;
}

body.taqwa-nusantara .menu-donasi-nusantara > a,
body.taqwa-nusantara .cnt-inf-btn > a.theme-btn,
body.taqwa-nusantara .theme-btn.theme-bg,
body.taqwa-nusantara .newsletter-form input[type="submit"] {
  color: #fff !important;
  background: linear-gradient(135deg, var(--tn-red), #a8181e) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  box-shadow: 0 12px 26px rgba(216, 35, 42, .23);
}

body.taqwa-nusantara .menu-donasi-nusantara > a:hover,
body.taqwa-nusantara .cnt-inf-btn > a.theme-btn:hover,
body.taqwa-nusantara .theme-btn.theme-bg:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 35px rgba(216, 35, 42, .3);
}

body.taqwa-nusantara .sec-title,
body.taqwa-nusantara .sec-ttl {
  position: relative;
}

body.taqwa-nusantara .sec-title:after,
body.taqwa-nusantara .sec-ttl:after {
  content: "";
  display: block;
  width: 88px;
  height: 5px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--tn-red) 0 34%, #fff 34% 66%, var(--tn-gold) 66% 100%);
  box-shadow: 0 0 0 1px rgba(6, 47, 37, .06);
}

body.taqwa-nusantara .fea-car,
body.taqwa-nusantara .srv-bx,
body.taqwa-nusantara .post-box,
body.taqwa-nusantara .event-box,
body.taqwa-nusantara .team-bx,
body.taqwa-nusantara .cause-box,
body.taqwa-nusantara .widget,
body.taqwa-nusantara article.post {
  border: 1px solid rgba(10, 61, 47, .09);
  border-radius: var(--tn-radius);
  background: var(--tn-card);
  box-shadow: var(--tn-shadow);
  overflow: hidden;
}

body.taqwa-nusantara .srv-bx:hover,
body.taqwa-nusantara .post-box:hover,
body.taqwa-nusantara .event-box:hover,
body.taqwa-nusantara .cause-box:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 76px rgba(6, 47, 37, .16);
}

body.taqwa-nusantara .featured-area-wrap,
body.taqwa-nusantara .page-top,
body.taqwa-nusantara .breadcrumb-area,
body.taqwa-nusantara .tn-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(6, 47, 37, .92), rgba(15, 81, 50, .86)),
    radial-gradient(circle at 15% 16%, rgba(214, 168, 79, .38), transparent 28%);
}

body.taqwa-nusantara .featured-area-wrap:before,
body.taqwa-nusantara .page-top:before,
body.taqwa-nusantara .breadcrumb-area:before,
body.taqwa-nusantara .tn-hero:before,
body.taqwa-nusantara footer:before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background-image:
    linear-gradient(135deg, transparent 22%, rgba(255,255,255,.72) 23%, transparent 24%),
    linear-gradient(45deg, transparent 22%, rgba(255,255,255,.72) 23%, transparent 24%);
  background-size: 34px 34px;
  z-index: -1;
}

body.taqwa-nusantara .featured-area-wrap:after,
body.taqwa-nusantara .tn-hero:after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -120px;
  bottom: -180px;
  border-radius: 50%;
  border: 44px solid rgba(214, 168, 79, .18);
  z-index: -1;
}

.tn-hero {
  padding: 110px 0 95px;
  color: #fff;
}

.tn-hero .container {
  position: relative;
  z-index: 2;
}

.tn-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  margin-bottom: 18px;
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  font-weight: 800;
}

.tn-eyebrow:before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--tn-red);
  box-shadow: 20px 0 0 #fff;
}

.tn-hero h1 {
  max-width: 820px;
  color: #fff !important;
  font-size: clamp(38px, 6vw, 74px);
  line-height: .98;
  margin-bottom: 22px;
}

.tn-hero p {
  max-width: 680px;
  color: rgba(255,255,255,.86) !important;
  font-size: 18px;
  line-height: 1.75;
}

.tn-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.tn-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 22px;
  border-radius: 999px;
  font-weight: 900;
  text-decoration: none;
}

.tn-btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, var(--tn-red), #9f171d);
  box-shadow: 0 14px 28px rgba(216,35,42,.28);
}

.tn-btn-secondary {
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(255,255,255,.10);
}

.tn-section {
  padding: 82px 0;
}

.tn-section-soft {
  background:
    radial-gradient(circle at 4% 18%, rgba(214,168,79,.16), transparent 30%),
    linear-gradient(180deg, #fff, var(--tn-cream));
}

.tn-section-title {
  max-width: 760px;
  margin: 0 auto 38px;
  text-align: center;
}

.tn-section-title small {
  color: var(--tn-red);
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.tn-section-title h2 {
  margin: 10px 0 12px;
  font-size: clamp(30px, 4vw, 48px);
}

.tn-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.tn-card {
  position: relative;
  padding: 30px;
  border-radius: var(--tn-radius);
  border: 1px solid rgba(10, 61, 47, .09);
  background: rgba(255,255,255,.9);
  box-shadow: var(--tn-shadow);
  overflow: hidden;
}

.tn-card:before {
  content: "";
  position: absolute;
  width: 112px;
  height: 112px;
  right: -46px;
  top: -46px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(216,35,42,.12), rgba(214,168,79,.18));
}

.tn-card-icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, var(--tn-green-800), var(--tn-green-700));
  font-size: 26px;
  margin-bottom: 20px;
}

.tn-card h3 {
  font-size: 24px;
  margin-bottom: 10px;
}

.tn-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: -34px;
  position: relative;
  z-index: 3;
}

.tn-stat {
  padding: 22px 18px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(10,61,47,.08);
  box-shadow: var(--tn-shadow);
  text-align: center;
}

.tn-stat strong {
  display: block;
  color: var(--tn-green-900);
  font-size: 34px;
  line-height: 1;
}

.tn-stat span {
  color: var(--tn-muted);
  font-weight: 700;
}

.tn-donation-band {
  position: relative;
  padding: 44px;
  border-radius: 32px;
  background:
    linear-gradient(135deg, rgba(6,47,37,.94), rgba(20,108,67,.92)),
    var(--tn-green-900);
  overflow: hidden;
  box-shadow: 0 28px 80px rgba(6,47,37,.2);
}

.tn-donation-band:before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .14;
  background-image: radial-gradient(circle, #fff 1px, transparent 1.5px);
  background-size: 22px 22px;
}

.tn-donation-band > * {
  position: relative;
  z-index: 2;
}

.tn-donation-band h2,
.tn-donation-band p {
  color: #fff !important;
}

.tn-donation-band p {
  color: rgba(255,255,255,.78) !important;
}

body.taqwa-nusantara footer {
  position: relative;
  background: linear-gradient(135deg, var(--tn-green-950), var(--tn-green-800)) !important;
  overflow: hidden;
}

body.taqwa-nusantara footer p,
body.taqwa-nusantara footer li,
body.taqwa-nusantara footer a,
body.taqwa-nusantara footer .widget-title {
  color: rgba(255,255,255,.82) !important;
}

@media (max-width: 991px) {
  .tn-grid,
  .tn-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tn-hero {
    padding: 82px 0 76px;
  }
}

@media (max-width: 575px) {
  .tn-grid,
  .tn-stats {
    grid-template-columns: 1fr;
  }

  .tn-actions {
    flex-direction: column;
  }

  .tn-btn {
    width: 100%;
  }

  .tn-donation-band {
    padding: 30px 24px;
  }
}
