 :root {
     --coklat-jawa: #8B4513;
     --coklat-muda: #A67C52;
     --krem: #F5F0E6;
     --emas: #D4AF37;
     --hitam: #452d09;
     --merah-bata: #B85C3B;
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     font-family: 'Poppins', sans-serif;
 }

 body {
     background-color: var(--krem);
     color: var(--hitam);
     line-height: 1.7;
 }

 /* Header Modern dengan Nuansa Jawa */
 header {
     background: linear-gradient(rgba(83, 55, 8, 0.7), rgba(102, 60, 12, 0.7)),
         url('image/header.JPG');
     background-size: cover;
     background-position: center;
     padding: 4rem 1rem;
     text-align: center;
     position: relative;
     overflow: hidden;
 }


 .header-overlay {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: radial-gradient(circle, transparent 60%, rgba(0, 0, 0, 0.8) 100%);
     z-index: 1;
 }

 .header-content {
     position: relative;
     z-index: 2;
     max-width: 800px;
     margin: 0 auto;
 }

 .logo {
     width: 100px;
     height: 100px;
     background-color: var(--krem);
     border-radius: 50%;
     margin: 0 auto;
     display: flex;
     justify-content: center;
     align-items: center;
     border: 3px solid var(--emas);
     box-shadow: 0 5px 20px rgba(212, 175, 55, 0.4);
     transition: all 0.3s ease;
 }

 .logo:hover {
     transform: rotate(10deg) scale(1.1);
 }

 .logo i {
     font-size: 3rem;
     color: var(--coklat-jawa);
 }

 h1 {
     font-size: 2.8rem;
     font-weight: 700;
     margin: 1.5rem 0 1rem;
     color: white;
     text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
 }

 .subjudul {
     font-size: 1.2rem;
     color: #EEE;
     max-width: 600px;
     margin: 0 auto 1.5rem;
     font-weight: 300;
 }

 /* Navigasi Modern */
 nav {
     background-color: var(--hitam);
     padding: 1rem 0;
     position: sticky;
     top: 0;
     z-index: 100;
     box-shadow: 0 2px 15px rgba(0, 0, 0, 0.2);
 }

 .nav-container {
     max-width: 1200px;
     margin: 0 auto;
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 0 2rem;
 }

 .nav-logo {
     color: white;
     font-weight: 600;
     font-size: 1.2rem;
     display: flex;
     align-items: center;
 }

 .nav-logo i {
     color: var(--emas);
     margin-right: 0.5rem;
     font-size: 1.4rem;
 }

 .nav-links {
     display: flex;
     list-style: none;
 }

 .nav-links li {
     margin-left: 2rem;
 }

 .nav-links a {
     color: white;
     text-decoration: none;
     font-weight: 500;
     font-size: 1rem;
     position: relative;
     padding: 0.5rem 0;
     transition: all 0.3s ease;
 }

 .nav-links a::after {
     content: '';
     position: absolute;
     width: 0;
     height: 2px;
     background: var(--emas);
     bottom: 0;
     left: 0;
     transition: width 0.3s;
 }

 .nav-links a:hover::after {
     width: 100%;
 }

 .nav-links a:hover {
     color: var(--emas);
 }

 /* Container Utama */
 .container {
     max-width: 1200px;
     margin: 3rem auto;
     padding: 0 2rem;
 }

 /* Section Modern */
 section {
     margin-bottom: 4rem;
     background-color: white;
     border-radius: 10px;
     padding: 2.5rem;
     box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
     position: relative;
     overflow: hidden;
 }

 section::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 5px;
     height: 100%;
     background: linear-gradient(to bottom, var(--coklat-jawa), var(--merah-bata));
 }

 h2 {
     color: var(--coklat-jawa);
     font-size: 2rem;
     font-weight: 600;
     margin-bottom: 2rem;
     position: relative;
     display: inline-block;
 }

 h2::after {
     content: '';
     position: absolute;
     width: 50%;
     height: 3px;
     background: linear-gradient(to right, var(--coklat-jawa), transparent);
     bottom: -8px;
     left: 0;
 }

 p {
     margin-bottom: 1.5rem;
     font-weight: 400;
     color: var(--hitam);
 }

 /* Highlight Modern */
 .highlight {
     background: linear-gradient(to right, rgba(139, 69, 19, 0.1), rgba(245, 240, 230, 0.5));
     padding: 1.5rem;
     border-left: 4px solid var(--coklat-jawa);
     margin: 2rem 0;
     border-radius: 0 5px 5px 0;
     position: relative;
 }

 .highlight::before {
     content: '“';
     position: absolute;
     font-size: 5rem;
     color: rgba(139, 69, 19, 0.1);
     top: -1.5rem;
     left: 0.5rem;
     line-height: 1;
     font-family: serif;
 }

 /* Galeri Modern */
 .galeri {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
     gap: 1.5rem;
     margin-top: 2rem;
 }

 .galeri-item {
     position: relative;
     border-radius: 8px;
     overflow: hidden;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
     transition: all 0.3s ease;
     aspect-ratio: 4/3;
 }

 .galeri-item:hover {
     transform: translateY(-10px);
     box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
 }

 .galeri-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.5s ease;
 }

 .galeri-item:hover img {
     transform: scale(1.1);
 }

 .galeri-caption {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
     color: white;
     padding: 1.5rem 1rem 1rem;
     transform: translateY(100%);
     transition: transform 0.3s ease;
 }

 .galeri-item:hover .galeri-caption {
     transform: translateY(0);
 }

 /* Timeline Modern */
 .timeline {
     position: relative;
     max-width: 800px;
     margin: 3rem auto;
 }

 .timeline::before {
     content: '';
     position: absolute;
     width: 3px;
     background: linear-gradient(to bottom, var(--coklat-jawa), var(--merah-bata));
     top: 0;
     bottom: 0;
     left: 50%;
     transform: translateX(-50%);
 }

 .timeline-item {
     padding: 1.5rem;
     position: relative;
     width: 50%;
     box-sizing: border-box;
 }

 .timeline-item:nth-child(odd) {
     left: 0;
     padding-right: 3rem;
     text-align: right;
 }

 .timeline-item:nth-child(even) {
     left: 50%;
     padding-left: 3rem;
 }

 .timeline-item::after {
     content: '';
     position: absolute;
     width: 20px;
     height: 20px;
     background-color: var(--krem);
     border: 3px solid var(--coklat-jawa);
     border-radius: 50%;
     top: 1.5rem;
     z-index: 1;
 }

 .timeline-item:nth-child(odd)::after {
     right: -10px;
 }

 .timeline-item:nth-child(even)::after {
     left: -10px;
 }

 .timeline-content {
     padding: 1.5rem;
     background-color: white;
     border-radius: 8px;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
     position: relative;
 }

 .timeline-content h3 {
     color: var(--coklat-jawa);
     margin-bottom: 0.5rem;
     font-weight: 600;
 }

 /* Program Modern */
 .program-container {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
     gap: 2rem;
     margin-top: 2rem;
 }

 .program-card {
     background-color: white;
     border-radius: 8px;
     padding: 2rem;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
     transition: all 0.3s ease;
     border-top: 3px solid var(--coklat-jawa);
     position: relative;
     overflow: hidden;
 }

 .program-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
 }

 .program-card h3 {
     color: var(--coklat-jawa);
     margin-bottom: 1.5rem;
     display: flex;
     align-items: center;
     font-weight: 600;
 }

 .program-card h3 i {
     margin-right: 1rem;
     color: var(--merah-bata);
     font-size: 1.5rem;
 }

 .program-card ul {
     margin-left: 1.5rem;
 }

 .program-card ul li {
     margin-bottom: 0.8rem;
     position: relative;
     list-style-type: none;
     padding-left: 1.5rem;
 }

 .program-card ul li::before {
     content: '→';
     position: absolute;
     left: 0;
     color: var(--merah-bata);
 }

 /* Tim Modern */
 .team {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
     gap: 2rem;
     margin-top: 2rem;
 }

 .team-member {
     background-color: white;
     border-radius: 8px;
     padding: 1.5rem;
     text-align: center;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
     transition: all 0.3s ease;
 }

 .team-member:hover {
     transform: translateY(-10px);
     box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
 }

 .team-member img {
     width: 120px;
     height: 120px;
     border-radius: 50%;
     object-fit: cover;
     border: 3px solid var(--krem);
     margin-bottom: 1rem;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
 }

 .team-member h3 {
     color: var(--coklat-jawa);
     margin-bottom: 0.5rem;
     font-weight: 600;
 }

 .team-member p {
     color: #666;
     font-style: italic;
     margin-bottom: 1rem;
     font-size: 0.9rem;
 }

 .social-links {
     display: flex;
     justify-content: center;
     gap: 1rem;
 }

 .social-links a {
     color: var(--coklat-jawa);
     font-size: 1.1rem;
     transition: all 0.3s ease;
 }

 .social-links a:hover {
     color: var(--merah-bata);
     transform: scale(1.2);
 }

 /* Kontak Modern */
 .contact-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
     gap: 2rem;
     margin-top: 2rem;
 }

 .contact-card {
     background-color: white;
     border-radius: 8px;
     padding: 2rem;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
 }

 .contact-card h3 {
     color: var(--coklat-jawa);
     margin-bottom: 1.5rem;
     font-weight: 600;
     display: flex;
     align-items: center;
 }

 .contact-card h3 i {
     margin-right: 1rem;
     color: var(--merah-bata);
     font-size: 1.5rem;
 }

 .contact-info {
     margin-bottom: 1.5rem;
 }

 .contact-info p {
     display: flex;
     align-items: center;
     margin-bottom: 1rem;
 }

 .contact-info i {
     margin-right: 1rem;
     color: var(--coklat-jawa);
     width: 20px;
     text-align: center;
 }

 /* Footer Modern */
 footer {
     background-color: var(--hitam);
     color: white;
     padding: 4rem 0 2rem;
     margin-top: 4rem;
 }

 .footer-container {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 2rem;
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 3rem;
 }

 .footer-col h3 {
     color: var(--emas);
     margin-bottom: 1.5rem;
     font-weight: 600;
     font-size: 1.2rem;
 }

 .footer-col p {
     color: #CCC;
     margin-bottom: 1rem;
 }

 .footer-links {
     list-style: none;
 }

 .footer-links li {
     margin-bottom: 0.8rem;
 }

 .footer-links a {
     color: #EEE;
     text-decoration: none;
     transition: all 0.3s ease;
 }

 .footer-links a:hover {
     color: var(--emas);
     padding-left: 5px;
 }

 .social-footer {
     display: flex;
     gap: 1rem;
     margin-top: 1.5rem;
 }

 .social-footer a {
     color: white;
     font-size: 1.2rem;
     transition: all 0.3s ease;
 }

 .social-footer a:hover {
     color: var(--emas);
     transform: translateY(-3px);
 }

 .copyright {
     text-align: center;
     padding-top: 3rem;
     margin-top: 3rem;
     border-top: 1px solid rgba(255, 255, 255, 0.1);
     color: #999;
     font-size: 0.9rem;
 }

 /* Tombol Modern */
 .btn {
     display: inline-block;
     background: linear-gradient(to right, var(--coklat-jawa), var(--merah-bata));
     color: white;
     padding: 0.8rem 1.8rem;
     border-radius: 30px;
     text-decoration: none;
     font-weight: 500;
     transition: all 0.3s ease;
     border: none;
     cursor: pointer;
     margin-top: 1rem;
     box-shadow: 0 5px 15px rgba(139, 69, 19, 0.3);
 }

 .btn:hover {
     transform: translateY(-3px);
     box-shadow: 0 8px 20px rgba(139, 69, 19, 0.4);
 }

 .btn-outline {
     background: transparent;
     border: 2px solid var(--coklat-jawa);
     color: var(--coklat-jawa);
     box-shadow: none;
 }

 .btn-outline:hover {
     background: linear-gradient(to right, var(--coklat-jawa), var(--merah-bata));
     color: white;
 }

 /* Animasi */
 @keyframes fadeIn {
     from {
         opacity: 0;
         transform: translateY(20px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .fade-in {
     animation: fadeIn 0.8s ease-out forwards;
 }

 /* Responsif */
 @media (max-width: 768px) {
     .nav-container {
         flex-direction: column;
         padding: 1rem;
     }

     .nav-logo {
         margin-bottom: 1rem;
     }

     .nav-links {
         width: 100%;
         justify-content: space-around;
     }

     .nav-links li {
         margin-left: 0;
     }

     h1 {
         font-size: 2.2rem;
     }

     .timeline::before {
         left: 31px;
     }

     .timeline-item {
         width: 100%;
         padding-left: 70px;
         padding-right: 25px;
     }

     .timeline-item:nth-child(odd),
     .timeline-item:nth-child(even) {
         left: 0;
         text-align: left;
         padding-right: 25px;
         padding-left: 70px;
     }

     .timeline-item::after {
         left: 21px;
     }

     .timeline-item:nth-child(odd)::after,
     .timeline-item:nth-child(even)::after {
         left: 21px;
     }

     section {
         padding: 1.5rem;
     }

     .container {
         padding: 0 1rem;
     }
 }

 /* Dekorasi Jawa Modern */
 .batik-pattern {
     position: absolute;
     width: 150px;
     height: 150px;
     opacity: 0.05;
     z-index: 0;
     pointer-events: none;
 }

 .batik-1 {
     top: 10%;
     left: 5%;
     background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M20,50 Q50,20 80,50 T20,50" fill="none" stroke="%238B4513" stroke-width="2"/></svg>');
 }

 .batik-2 {
     bottom: 10%;
     right: 5%;
     background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M30,30 L70,30 L70,70 L30,70 Z" fill="none" stroke="%238B4513" stroke-width="2"/></svg>');
 }

 /* Device sangat kecil (≤ 375px) */
 @media (max-width: 375px) {
     h1 {
         font-size: 1.5rem;
     }

     .subjudul {
         font-size: 0.95rem;
     }

     .logo {
         width: 60px;
         height: 60px;
     }

     .nav-links a {
         font-size: 0.9rem;
     }

     .timeline-item {
         padding-left: 50px;
         padding-right: 10px;
     }

     .timeline-item::after {
         left: 10px;
     }

     section {
         padding: 1rem;
     }

     .program-card {
         padding: 1rem;
     }

     .team-member img {
         width: 90px;
         height: 90px;
     }
 }

 /* Device ultra kecil (≤ 320px) - iPhone SE, smartwatch web browsers */
 @media (max-width: 320px) {
     h1 {
         font-size: 1.3rem;
     }

     .subjudul {
         font-size: 0.85rem;
     }

     .nav-logo {
         font-size: 1rem;
     }

     .nav-links a {
         font-size: 0.85rem;
         padding: 0.3rem 0;
     }

     .logo i {
         font-size: 2rem;
     }

     .galeri {
         gap: 1rem;
     }

     .btn {
         font-size: 0.9rem;
         padding: 0.5rem 1.2rem;
     }

     .footer-col h3 {
         font-size: 1rem;
     }

     .footer-links a {
         font-size: 0.9rem;
     }

     .copyright {
         font-size: 0.75rem;
     }
 }