body {
  font-family: 'Roboto', sans-serif;
  margin: 0;
  background: #b3cada;
  line-height: 1.6;
  letter-spacing: 0.2px;
}

/* HEADER DINAS */
.top-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px 30px;
    background: #f8f9fa; /* lebih soft */
    border-bottom: 1px solid #ddd;
}

.top-header img {
    height: 80px;
}

.header-text {
    line-height: 1.3;
}

.header-text h1 {
    margin: 0;
    font-size: 22px;
    color: #b02b2b;
}

.header-text h2 {
    margin: 0;
    font-size: 16px;
}

.header-text h3 {
    margin: 0;
    font-size: 14px;
}

.header-text p {
    margin: 0;
    font-size: 13px;
}

h1, h2, h3 {
    font-weight: 700;
}

.nav-menu a {
    font-weight: 500;
}

p {
    font-weight: 400;
}
/* NAVBAR */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 30px;
  /*  background: #b02b2b; /* warna utama */
    color: white;
    position: sticky;
    top: 0;
    z-index: 1000; /* biar selalu di atas */
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    backdrop-filter: blur(6px);
    background: rgba(176, 43, 43, 0.95);    
}
.navbar.scrolled {
    background: #8c1f1f;
    padding: 8px 30px;
}
.navbar h2 {
  color: #b02b2b;
}
.navbar a {
    color: white;
    font-weight: 500;
}
.navbar a:hover {
    text-decoration: none;
}

.btn {
  background: #b02b2b;
  color: white;
  padding: 8px 15px;
  border-radius: 5px;
}
/* RUNNING TEXT */
/* CONTAINER */
.running-text {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    font-size: 20px;
}

/* ISI TEXT */
.running-content {
    display: inline-block;
    padding-left: 100%; /* mulai dari kanan */
    animation: scrollText 25s linear infinite;
    letter-spacing: 0.5px;
    font-weight: 500;
}
.running-text::before,
.running-text::after {
    content: "";
    position: absolute;
    top: 0;
    width: 40px;
    height: 100%;
    z-index: 2;
}

.running-text::before {
    left: 0;
    background: linear-gradient(to right, #b02b2b, transparent);
}

.running-text::after {
    right: 0;
    background: linear-gradient(to left, #b02b2b, transparent);
}
/* ANIMASI */
@keyframes scrollText {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}
/* MENU */
.nav-menu {
    /* position: relative; */
    display: flex;
    gap: 10px;
}

/* MENU LINK */
.nav-menu a {
    color: white;
    text-decoration: none; /* hilangkan garis bawah */
    font-weight: 500;
    transition: 0.3s;
    padding: 8px 12px;
    border-radius: 6px;
    transition: all 0.3s ease;
    position:relative;
}

.nav-menu a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0%;
    height: 2px;
    background: white;
    transition: 0.3s;
}

.nav-menu a:hover::after {
    width: 100%;
}
/* HOVER cukup warna */
.nav-menu a:hover {
    background: rgba(255,255,255,0.25);  
    color: white;
    transform: translateY(-1px);
}
/* MENU AKTIF (opsional) */
.nav-menu a.active {
    background: white;
    color: #b02b2b;
    font-weight: bold;
}

/*menu Daftar */
.nav-menu a:last-child {
    border: 1px solid white;
}

/* Tombol daftar */
/* .btn-daftar {
    background: white;
    color: #b02b2b !important;
    font-weight: bold;
    padding: 5px 12px;
    border-radius: 5px; 
}

.btn-daftar:hover {
    background: #ffe5e5;
} 
*/
.logo {
  display: flex;
  align-items: center;
  gap: 10px;
}

.logo img {
  height: 80px;
  width: auto;
  object-fit: contain;
  display: block;
}

/* HERO */
.hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 80px 60px; /* lebih lega */
}

.hero-text {
  flex: 1;
  max-width: 500px;
}

.hero-text h1 {
  font-size: 36px;
  margin-bottom: 10px;
}

.hero-text p {
  margin: 15px 0;
  color: #333;
  text-align: justify;
  font-weight: bold;
}
.hero img {
  width: 100%;
  max-width: 400px;
}
.hero-text h3 {
  margin-top: 15px;
  color: #b02b2b;
 
}

.hero-text ul {
  padding-left: 20px;
  text-align: justify;
}

.hero-text li {
  margin-bottom: 5px;
}
.dots {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 2;
  pointer-events: auto;
}
.dot {
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  cursor: pointer;
  transition: 0.3s;
}

.dot.active {
  background: white;
  transform: scale(1.2);
}
.slider {
  flex: 1.2;
  height: 400px; /* kunci tinggi manual */
  overflow: hidden;
  border-radius: 15px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  position: relative; /* penting untuk posisi dots */
}

.slider::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.2);
    z-index: 1;
}

.slide {
  /* display: none; */
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: 100% !important;
  position: absolute;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slide.active {
  /* display: block; */
  opacity: 1;
  z-index: 1;
}
.slider::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 60px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.5));
}

/* SECTION */
.section {
  padding: 40px;
  text-align: center;
}
.cards {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

/* LINK CARD */

.card-link{

    text-decoration:none;
    
    color:inherit;
    
    display:block;
    
    }
    
    /* CARD */
    
    .card{
    
    background:white;
    
    padding:25px;
    
    border-radius:15px;
    
    box-shadow:
    0 8px 20px rgba(0,0,0,.08);
    
    transition:.3s;
    
    height:100%;
    
    }
    
    /* HOVER */
    
    .card:hover{
    
    transform:translateY(-8px);
    
    box-shadow:
    0 16px 30px rgba(0,0,0,.15);
    
    border-bottom:4px solid #b02b2b;
    
    }
    
    .card h3{
    
    color:#b02b2b;
    
    margin-bottom:10px;
    
    }

/* ==========================
   AKREDITASI
========================== */

.akreditasi-section{
    padding:70px 40px;
}

.akreditasi-content{
    max-width:1200px;
    margin:auto;

    display:flex;
    align-items:center;
    gap:50px;

    background:white;
    padding:40px;
    border-radius:22px;

    box-shadow:0 10px 30px rgba(0,0,0,.10);
}

.akreditasi-text{
    flex:1;
}

.akreditasi-text h2{
    color:#b02b2b;
    font-size:34px;
    margin-bottom:20px;
}

.akreditasi-text p{
    text-align:justify;
    line-height:1.9;
    color:#444;
}

.badge-akreditasi{
    margin-top:25px;

    display:inline-block;

    background:linear-gradient(
        135deg,
        #b02b2b,
        #d63c3c
    );

    color:white;

    padding:12px 28px;

    border-radius:40px;

    font-weight:700;

    letter-spacing:1px;
}

.akreditasi-image{
    flex:1;
    text-align:center;
}

.akreditasi-image img{

    width:100%;
    max-width:420px;

    border-radius:18px;

    border:6px solid #fff;

    box-shadow:
    0 12px 28px rgba(0,0,0,.18);

    transition:.35s;
}

.akreditasi-image img:hover{

    transform:scale(1.03);

}

/* LAYANAN MASYARAKAT */

.layanan-section{

padding:70px 40px;

}

.layanan-subtitle{

max-width:850px;

margin:auto;

text-align:center;

color:#555;

margin-bottom:40px;

}

.layanan-grid{

display:flex;

justify-content:center;

gap:35px;

flex-wrap:wrap;

}

.layanan-card{

background:white;

width:420px;

border-radius:18px;

overflow:hidden;

box-shadow:
0 12px 25px rgba(0,0,0,.08);

transition:.35s;

}

.layanan-card:hover{

transform:translateY(-8px);

box-shadow:
0 20px 35px rgba(0,0,0,.15);

}

.layanan-card img{

width:100%;

height:240px;

object-fit:cover;

}

.layanan-content{

padding:25px;

}

.layanan-content h3{

color:#b02b2b;

margin-bottom:12px;

}

.layanan-content p{

text-align:justify;

color:#444;

line-height:1.7;

}

.layanan-content a{

display:inline-block;

margin-top:15px;

padding:10px 18px;

background:#b02b2b;

color:white;

text-decoration:none;

border-radius:8px;

transition:.3s;

}

.layanan-content a:hover{

background:#8f1f1f;

}
.layanan-icon{

font-size:42px;

margin-bottom:12px;

}

/* NEWS */
.news {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}
.news-item {
  width: 300px;
  background: white;
  border-radius: 10px;
  overflow: hidden;
}
.news-item img {
  width: 100%;
}
.news-item div {
  padding: 15px;
}

/* Struktur */
.struktur-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px;
    margin-top: 20px;
}

.struktur-card {
    background: white;
    padding: 20px;
    border-radius: 12px;
    width: 200px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transition: 0.3s;
}

.struktur-card:hover {
    transform: translateY(-5px);
}

.struktur-card img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 10px;
}
/* FOOTER */
.footer {
  background: #b02b2b;
  color: white;
  padding: 30px;
  text-align: center;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .hero {
    flex-direction: column;
    padding: 30px 20px;
  }

  .slider {
    width: 100%;
  }
}
@media(max-width:768px){
    .top-header {
        flex-direction: column;
        text-align: center;
    }

    .top-header img {
        height: 60px;
    }
}
@media(max-width:768px){

    .akreditasi-content{

        flex-direction:column;

        padding:25px;
    }

    .akreditasi-text h2{
        font-size:28px;
        text-align:center;
    }

}

/* =========================
   HALAMAN KONTAK
========================= */
.hero-kontak{
    text-align: center;
}
.kontak-grid{
    display:flex;
    gap:30px;
    align-items:flex-start;
    margin-top:30px;
}

.kontak-info{
    flex:1;
}

.kontak-form{
    flex:1.5;
}

.info-card{
    background:#fff;
    padding:20px;
    border-radius:12px;
    margin-bottom:15px;
    box-shadow:0 4px 15px rgba(0,0,0,0.1);
    text-align:center;
}

.kontak-info-full{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:20px;
    margin-top:25px;
}

.info-card{
    background:#fff;
    padding:20px;
    border-radius:12px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
    text-align:center;
}

.info-card h3{
    color:#b02b2b;
    margin-bottom:10px;
}

.google-form-card{
    max-width:950px;
    margin:auto;
    background:#fff;
    padding:15px;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.google-form-card iframe{
    border:none;
    border-radius:10px;
}

.jam-card{
    max-width:700px;
    margin:auto;
    background:#fff;
    padding:25px;
    border-radius:12px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
    text-align:center;
    line-height:2;
}

.map-container{
    overflow:hidden;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.wa-float{
    position:fixed;
    bottom:25px;
    right:25px;
    width:60px;
    height:60px;
    background:#25D366;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    box-shadow:0 5px 15px rgba(0,0,0,.25);
    z-index:9999;
    transition:.3s;
}

.wa-float:hover{
    transform:scale(1.1);
}

.wa-float img{
    width:34px;
    height:34px;
}

/* SECTION */
.struktur-section{
    padding: 60px 20px;
    text-align: center;
}

.struktur-section h2{
    color: #b02b2b;
    margin-bottom: 50px;
    font-size: 32px;
}

/* WRAPPER */
.struktur{
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

/* LEVEL */
.level{
    display: flex;
    justify-content: center;
    gap: 80px;
    margin: 20px 0;
}

/* BOX */
.box{
    width: 220px;
    min-height: 90px;
    background: linear-gradient(135deg,#c62828,#8e0000);
    color: white;
    border-radius: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 28px;
    font-weight: bold;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    transition: 0.3s;
}

.box:hover{
    transform: translateY(-5px);
}

/* GARIS ATAS */
.line-vertical{
    width: 4px;
    height: 40px;
    background: #8e0000;
}

/* CONNECTOR */
.connector{
    position: relative;
    width: 320px;
    height: 50px;
}

/* GARIS HORIZONTAL */
.line-horizontal{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: #8e0000;
}

/* GARIS TURUN TENGAH */
.line-down{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 50px;
    background: #8e0000;
}

/* RESPONSIVE */
@media(max-width:768px){

    .level{
        flex-direction: column;
        gap: 25px;
    }

    .connector{
        display: none;
    }

    .line-vertical{
        display: none;
    }

    .box{
        width: 90%;
        font-size: 22px;
    }
}
/* =========================
   STAFF SLIDER
========================= */

.staff-section{
    margin-top: 60px;
    padding: 20px 0 50px;
    overflow: hidden;
}

/* TITLE */
.staff-title{
    width: fit-content;
    margin: auto;
    margin-bottom: 35px;
    background: linear-gradient(135deg,#d32f2f,#990000);
    color: white;
    padding: 12px 30px;
    border-radius: 40px;
    font-size: 24px;
    font-weight: bold;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* SLIDER */
.staff-slider{
    width: 100%;
    overflow: hidden;
    position: relative;
}

/* TRACK */
.staff-track{
    display: flex;
    align-items: center;
    gap: 25px;
    width: max-content;

    animation: jalan 100s linear infinite;
}

/* CARD */
.staff-card{
    display: flex;
    align-items: center;
    gap: 15px;

    background: rgba(255,255,255,0.92);

    padding: 12px 20px;

    border-radius: 70px;

    min-width: 280px;

    box-shadow: 0 10px 25px rgba(0,0,0,0.08);

    transition: 1s;
}

/* HOVER */
.staff-card:hover{
    transform: translateY(-5px);
}

/* FOTO */
.staff-card img{
    width: 75px;
    height: 75px;

    border-radius: 50%;

    object-fit: cover;

    border: 4px solid #c62828;

    background: #eee;
}

/* TEXT */
.staff-card h4{
    margin: 0;
    font-size: 18px;
    color: #333;
}

.staff-card p{
    margin: 5px 0 0;
    color: #666;
    font-size: 14px;
}

/* ANIMASI */
@keyframes jalan{
    from{
        transform: translateX(0);
    }

    to{
        transform: translateX(-50%);
    }
}

/* PAUSE SAAT HOVER */
.staff-track:hover{
    animation-play-state: paused;
}

/* HALAMAN PROGRAM */

/* SECTION */

.program-section{
    padding:70px 40px;
}

/* TITLE */

.program-title{

    text-align:center;

    color:#b02b2b;

    font-size:42px;

    margin-bottom:50px;
}

/* GRID */

.program-grid{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:35px;
}

/* CARD */

.program-card{

    width:320px;
    height:420px;

    position:relative;

    overflow:hidden;

    border-radius:22px;

    box-shadow:0 12px 28px rgba(0,0,0,.15);

    transition:.35s;
}

.program-card:hover{

    transform:translateY(-8px);

}

/* IMAGE */

.program-card img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:.5s;
}

.program-card:hover img{

    transform:scale(1.08);

}

/* OVERLAY */

.overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        transparent,
        rgba(0,0,0,.78)
    );
}

/* CONTENT */

.program-content{

    position:absolute;

    bottom:25px;

    left:20px;

    right:20px;

    color:white;
}

/* BUTTON */

.program-content button{

    background:#b02b2b;

    color:white;

    border:none;

    padding:10px 20px;

    border-radius:8px;

    cursor:pointer;

    margin-top:10px;
}
.btn-detail{

    display:inline-block;

    background:#b02b2b;

    color:white;

    text-decoration:none;

    padding:12px 22px;

    border-radius:8px;

    transition:.3s;
}

.btn-detail:hover{

    background:#861818;

    transform:translateY(-2px);

}
/* DIVIDER */

.section-divider{

    width:150px;

    height:5px;

    background:
    linear-gradient(
        90deg,
        #b02b2b,
        #d54545
    );

    margin:30px auto;

    border-radius:50px;
}

/* MODAL */

.modal{

    display:none;

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.55);

    z-index:9999;
}

.modal-box{

    background:white;

    width:90%;
    max-width:650px;

    margin:10% auto;

    padding:35px;

    border-radius:20px;

    position:relative;

    animation:pop .35s ease;
}

.close{

    position:absolute;

    right:20px;
    top:10px;

    font-size:34px;

    cursor:pointer;
}

.modal-box h2{
    color:#b02b2b;
}

.modal-box p{
    line-height:1.8;
}


/* =======================
   PROFIL 2 KOLOM
======================= */

.profil-layout{

    display:flex;

    gap:40px;

    max-width:1400px;

    margin:auto;

    padding:50px 40px;

    align-items:flex-start;

}

/* KIRI */

.profil-left{

    flex:2;

    background:white;

    padding:35px;

    border-radius:22px;

    box-shadow:0 8px 25px rgba(0,0,0,.10);

}

.profil-left h2{

    color:#b02b2b;

    margin-bottom:20px;

}

.profil-left h3{

    color:#b02b2b;

    margin-top:28px;

}

.profil-left p,
.profil-left li{

    text-align:justify;

    line-height:1.9;

    color:#444;

}

/* KANAN */

.profil-right{

    flex:1;

    position:sticky;

    top:120px;

}

.akreditasi-box{

    background:white;

    padding:30px;

    border-radius:22px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.10);

}

.akreditasi-box h2{

    color:#b02b2b;

    margin-bottom:20px;

}

.akreditasi-box img{

    width:100%;

    border-radius:18px;

    box-shadow:0 8px 20px rgba(0,0,0,.18);

}

.badge-akreditasi{

    display:inline-block;

    margin:20px 0;

    padding:10px 24px;

    background:linear-gradient(
        135deg,
        #b02b2b,
        #d43c3c
    );

    color:white;

    border-radius:40px;

    font-weight:700;

    letter-spacing:1px;

}

.akreditasi-box p{

    text-align:justify;

    color:#555;

    line-height:1.8;

}

/* DETAIL PROGRAM */

.detail-program{

display:flex;

gap:40px;

padding:50px;

align-items:flex-start;

}

/* KIRI */

.detail-left{

flex:2;

background:white;

padding:35px;

border-radius:18px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.detail-left h1{

color:#b02b2b;

margin-top:0;

}

.subtitle{

color:#666;

font-size:18px;

margin-bottom:25px;

}

.banner-program{

width:100%;

height:300px;

object-fit:cover;

border-radius:12px;

margin-bottom:25px;

}

.mapel-grid{

display:flex;

flex-wrap:wrap;

gap:12px;

margin-top:15px;

}

.mapel-grid span{

background:#b02b2b;

color:white;

padding:10px 15px;

border-radius:30px;

font-size:14px;

}

/* KANAN */

.detail-right{

flex:1;

display:flex;

flex-direction:column;

gap:25px;

}

.side-card{

background:white;

padding:25px;

border-radius:18px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

}
/* GALERI */

.gallery{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(180px,1fr));

gap:15px;

}

.gallery img{

width:100%;

height:180px;

object-fit:cover;

border-radius:12px;

cursor:pointer;

transition:.3s;

box-shadow:
0 6px 18px rgba(0,0,0,.12);

}

.gallery img:hover{

transform:scale(1.04);

}

/* PREVIEW MODAL */

.image-modal{

display:none;

position:fixed;

z-index:9999;

left:0;

top:0;

width:100%;

height:100%;

background:rgba(0,0,0,.88);

justify-content:center;

align-items:center;

}

.image-modal img{

max-width:90%;

max-height:85%;

border-radius:14px;

animation:zoomIn .3s ease;

}

.close-preview{

position:absolute;

top:20px;

right:35px;

font-size:45px;

color:white;

cursor:pointer;

}

@keyframes zoomIn{

from{
transform:scale(.7);
opacity:0;
}

to{
transform:scale(1);
opacity:1;
}

}

.tutor-card{

display:flex;

align-items:center;

gap:15px;

margin-top:20px;

padding:10px;

border-radius:12px;

background:#f6f7f8;

}

.tutor-card img{

width:90px;
height:110px;

object-fit:cover;

border-radius:12px;

border:2px solid #ddd;

box-shadow:0 5px 12px rgba(0,0,0,.15);

}

.tutor-card h4{

margin:0;

}

.tutor-card p{

margin:4px 0 0;

color:#777;

}

/* CTA DAFTAR */

.cta-daftar{

    max-width:1400px;

    margin:40px auto 60px;

    padding:50px 40px;

    text-align:center;

    background:linear-gradient(
        135deg,
        #b02b2b,
        #8c1f1f
    );

    color:white;

    border-radius:22px;

    box-shadow:0 12px 28px rgba(0,0,0,.15);

}

.cta-daftar h2{

    margin-top:0;

    font-size:34px;

}

.cta-daftar p{

    max-width:700px;

    margin:20px auto;

    line-height:1.8;

    color:#f5f5f5;

}

.btn-daftar-program{

    display:inline-block;

    margin-top:20px;

    padding:16px 34px;

    background:white;

    color:#b02b2b;

    text-decoration:none;

    font-weight:700;

    border-radius:10px;

    transition:.3s;

}

.btn-daftar-program:hover{

    background:#ffe7e7;

    transform:translateY(-3px);

}

/* HERO PEMBERDAYAAN */

.hero-pemberdayaan{

height:420px;

background:
linear-gradient(
rgba(0,0,0,.45),
rgba(0,0,0,.45)
),

url("../imglayanan/pemberdayaan.jpg");

background-size:cover;

background-position:center;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

}

.hero-overlay{

color:white;

max-width:850px;

padding:20px;

}

.hero-overlay h1{

font-size:48px;

margin-bottom:15px;

}

.hero-overlay p{

font-size:20px;

line-height:1.8;

}

/* DAMPAK */

.dampak-section{

background:#f8f9fa;

}

.dampak-grid{

display:flex;

justify-content:center;

gap:60px;

flex-wrap:wrap;

}

.dampak-grid h1{

font-size:52px;

color:#b02b2b;

margin:0;

}

.dampak-grid p{

font-weight:500;

}
/* FOKUS PROGRAM */

.fokus-title{

margin-top:40px;

font-size:32px;

color:#b02b2b;

text-align:center;

position:relative;

margin-bottom:35px;

}

.fokus-title::after{

content:"";

display:block;

width:120px;

height:4px;

background:#b02b2b;

margin:12px auto 0;

border-radius:20px;

}

.fokus-program{

display:flex;

flex-direction:column;

align-items:center;

gap:18px;

margin-top:10px;

}

.fokus-item{

font-size:22px;

font-weight:600;

padding:12px 30px;

border-radius:50px;

background:white;

box-shadow:0 6px 18px rgba(0,0,0,.08);

transition:.3s;

}

.fokus-item:hover{

transform:translateY(-3px);

}

/* warna */

.biru{

color:#1e40af;

}

.hijau{

color:#15803d;

}

.merah{

color:#dc2626;

}

.orange{

color:#ea580c;

}

.ungu{

color:#7c3aed;

}

/* HERO TBM */

.hero-tbm{

height:420px;

background:

linear-gradient(
rgba(0,0,0,.45),
rgba(0,0,0,.45)
),

url("../imglayanan/tbm.jpg");

background-size:cover;

background-position:center;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

}

.hero-tbm .hero-overlay{

max-width:850px;

padding:20px;

color:white;

}

.hero-tbm h1{

font-size:50px;

margin-bottom:15px;

}

.hero-tbm p{

font-size:20px;

line-height:1.8;

}

/* DAFTAR */

.hero-daftar{
    text-align:center;
    padding:70px 20px;
    background:linear-gradient(135deg,#8b0000,#c62828);
    color:white;
}

.hero-daftar h1{
    font-size:42px;
    margin-bottom:15px;
}

.hero-daftar p{
    max-width:700px;
    margin:auto;
}

.daftar-section{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:30px;
    padding:60px 20px;
}

.daftar-card{
    width:420px;
    background:white;
    border-radius:20px;
    padding:35px;
    text-align:center;
    box-shadow:0 10px 25px rgba(0,0,0,.1);
    transition:.3s;
}

.daftar-card:hover{
    transform:translateY(-8px);
}

.daftar-icon{
    font-size:60px;
    margin-bottom:15px;
}

.daftar-card h2{
    color:#8b0000;
    margin-bottom:15px;
}

.daftar-card p{
    line-height:2;
    margin-bottom:25px;
}

.btn-daftar{
    display:inline-block;
    background:#8b0000;
    color:white;
    text-decoration:none;
    padding:12px 30px;
    border-radius:30px;
    font-weight:bold;
}

.btn-daftar:hover{
    background:#c62828;
}

.alur-daftar{
    padding:60px 20px;
    text-align:center;
    background:#f5f5f5;
}

.alur-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:20px;
    margin-top:30px;
}

.alur-item{
    background:white;
    padding:25px;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.alur-item span{
    width:50px;
    height:50px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#8b0000;
    color:white;
    border-radius:50%;
    font-weight:bold;
    margin-bottom:10px;
}

/* LAYOUT BERITA */

.info-layout{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:30px;
    padding:40px;
}

/* SIDEBAR */

.sidebar-info{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.sidebar-box{
    background:white;
    padding:20px;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.sidebar-box h3{
    color:#8b0000;
    margin-bottom:15px;
}

.sidebar-box ul{
    padding-left:20px;
}

.sidebar-box li{
    margin-bottom:10px;
}

.sidebar-box a{
    display:block;
    padding:8px 0;
    color:#333;
    text-decoration:none;
}

.sidebar-box a:hover{
    color:#8b0000;
}

.berita-card img{
    width:75%;
    height: 300px;
    object-fit:cover;
}

.berita-card{
    border-radius:12px;
    overflow:hidden;
}

.berita-card{
    display:flex;
    flex-direction:column;
    height:500px;
}

/* RESPONSIVE */

@media(max-width:900px){

.info-layout{
    grid-template-columns:1fr;
}

}

/* RESPONSIVE */

@keyframes pop{

    from{
        transform:scale(.8);
        opacity:0;
    }

    to{
        transform:scale(1);
        opacity:1;
    }

}
@media(max-width:900px){

    .profil-layout{

        flex-direction:column;

    }

    .profil-right{

        position:static;

        width:100%;

    }

}

@media(max-width:900px){

.detail-program{

flex-direction:column;

padding:25px;

}

}