                 :root {
                    --red-japan: #d32f2f;
                    --blue-fuji: #11457E;
                    /*     --blue-fuji: #AEE1F9; /* Biru */
                    --white-snow: #ffffff;
                    --gray-text: #333;
                    --light-gray: #f8f9fa;
                    --dark-bg: #121212;
                }
                
                * {
                    margin: 0;
                    padding: 0;
                    box-sizing: border-box;
                }
                
                body {
                    font-family: 'Poppins', sans-serif;
                    line-height: 1.7;
                    color: #333;
                    background-color: #f8f9fa;
                    overflow-x: hidden;
                }
                
                h1,
                h2,
                h3,
                h4,
                h5,
                h6 {
                    font-family: 'Sawarabi Mincho', cursive;
                    font-weight: 700;
                }
                
                h1,
                h2 {
                    font-family: 'Sawarabi Mincho', cursive;
                }
                
                a {
                    text-decoration: none;
                    color: inherit;
                    transition: all 0.3s ease;
                }
                
                img {
                    max-width: 100%;
                    height: auto;
                    border-radius: 8px;
                }
                
                .container {
                    width: 100%;
                    max-width: 1200px;
                    margin: 0 auto;
                    padding: 0 10px;
                }
                
                .btn {
                    display: inline-block;
                    padding: 14px 32px;
                    /* background: linear-gradient(135deg, #d32f2f, #ff5252); */
                    background: var(--blue-fuji);
                    color: white;
                    border: none;
                    border-radius: 50px;
                    font-weight: 600;
                    font-size: 16px;
                    cursor: pointer;
                    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
                    text-align: center;
                    position: relative;
                    overflow: hidden;
                    z-index: 1;
                    box-shadow: 0 4px 15px rgba(47, 50, 211, 0.3);
                }
                
                .btn::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: -100%;
                    width: 100%;
                    height: 100%;
                    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
                    transition: left 0.7s;
                    z-index: -1;
                }
                
                .btn:hover::before {
                    left: 100%;
                }
                
                .btn:hover {
                    transform: translateY(-3px) scale(1.05);
                    box-shadow: 0 8px 25px rgba(47, 63, 211, 0.4);
                }
                
                .btn-outline {
                    background: transparent;
                    border: 2px solid var(--blue-fuji);
                    /* Biru */
                    color: var(--blue-fuji);
                }
                
                .btn-outline:hover {
                    background: var(--blue-fuji);
                    /* Biru */
                    color: white;
                }
                
                .text-center {
                    text-align: center;
                }
                
                header {
                    background-color: var(--red-japan);
                    /* Merah */
                    color: white;
                    padding: 10px 0;
                    position: sticky;
                    top: 0;
                    z-index: 1000;
                    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
                    backdrop-filter: blur(10px);
                    -webkit-backdrop-filter: blur(10px);
                }
                
                @keyframes mountainGlow {
                    0% {
                        opacity: 0.3;
                    }
                    100% {
                        opacity: 0.5;
                    }
                }
                
                .header-container {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    flex-wrap: wrap;
                }
                
                .logo {
                    display: flex;
                    align-items: center;
                    gap: 15px;
                    padding: 5px 0;
                }
                
                .logo-icon {
                    width: 64px;
                    height: 64px;
                    border-radius: 50%;
                    overflow: hidden;
                    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
                    border: 3px solid var(--white-snow);
                    /* Putih */
                    transition: transform 0.3s ease;
                }
                
                .logo-icon:hover {
                    transform: scale(1.08);
                }
                
                .logo-icon img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
                
                .logo-text h1 {
                    font-size: 28px;
                    font-weight: 800;
                    letter-spacing: -0.5px;
                    color: var(--white-snow);
                }
                
                .logo-text p {
                    font-size: 13px;
                    opacity: 0.95;
                    font-weight: 500;
                    color: var(--blue-fuji);
                }
                
                nav ul {
                    display: flex;
                    list-style: none;
                    gap: 35px;
                    align-items: center;
                }
                
                nav a {
                    color: var(--white-snow);
                    font-weight: 500;
                    font-size: 17px;
                    position: relative;
                    padding: 5px 0;
                }
                
                nav a::after {
                    content: '';
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    width: 0;
                    height: 3px;
                    background: linear-gradient(90deg, var(--blue-fuji), var(--white-snow));
                    transition: width 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
                }
                
                nav a:hover::after {
                    width: 100%;
                }
                
                nav a:hover {
                    color: var(--blue-fuji);
                    transform: translateY(-2px);
                }
                /* === LANGUAGE SWITCHER - ELEGANT DESIGN === */
                
                .language-switcher {
                    position: relative;
                    display: inline-block;
                }
                /* Tombol bahasa utama (aktif) */
                
                .lang-btn.active {
                    display: inline-flex;
                    align-items: center;
                    padding: 5px 8px;
                    border: none;
                    border-radius: 5px;
                    background-color: white;
                    font-size: 14px;
                    cursor: pointer;
                }
                /* Gaya umum untuk semua tombol bahasa */
                
                .lang-btn {
                    display: none;
                    /* Sembunyikan semua tombol kecuali yang aktif */
                    padding: 5px 8px;
                    border: none;
                    border-radius: 5px;
                    background-color: rgba(255, 255, 255, 0.9);
                    font-size: 14px;
                    cursor: pointer;
                    transition: all 0.3s ease;
                }
                /* Tampilkan semua tombol saat hover atau focus */
                
                .language-switcher:hover .lang-btn,
                .language-switcher:focus-within .lang-btn {
                    display: block;
                }
                /* Efek hover untuk tombol bahasa */
                
                .lang-btn:hover {
                    background-color: var(--blue-fuji);
                    /* Warna biru */
                    color: white;
                }
                /* Icon bendera */
                
                .lang-btn[data-lang="id"]::before {
                    content: "🇮🇩";
                    margin-right: 6px;
                }
                
                .lang-btn[data-lang="en"]::before {
                    content: "🇺🇸";
                    margin-right: 6px;
                }
                
                .lang-btn[data-lang="jp"]::before {
                    content: "🇯🇵";
                    margin-right: 6px;
                }
                
                .mobile-menu-btn {
                    display: none;
                    background: none;
                    border: none;
                    color: white;
                    font-size: 24px;
                    cursor: pointer;
                    position: relative;
                    padding: 5px;
                }
                
                .mobile-menu-btn i {
                    transition: transform 0.3s ease;
                }
                
                .mobile-menu-btn.active i {
                    transform: rotate(90deg);
                }
                /* Hero Section */
                
                .hero {
                    position: relative;
                    min-height: 100vh;
                    overflow: hidden;
                    /* background-color: #d6d6d6ff; */
                    display: flex;
                    align-items: center;
                }
                
                .hero::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    /* background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><circle cx="20" cy="20" r="1.5" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="30" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="25" r="1.8" fill="rgba(255,255,255,0.1)"/><circle cx="30" cy="70" r="1.3" fill="rgba(255,255,255,0.1)"/><circle cx="70" cy="65" r="1" fill="rgba(255,255,255,0.1)"/></svg>'); */
                    opacity: 0.2;
                    animation: floatPattern 25s linear infinite;
                }
                
                @keyframes floatPattern {
                    0% {
                        background-position: 0 0;
                    }
                    100% {
                        background-position: 100px 100px;
                    }
                }
                
                .fuji-mountain {
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    width: 100%;
                    height: 45%;
                    background: url('image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 400"><path d="M0,400 L200,100 L400,400 L600,200 L800,300 L1000,150 L1000,400 Z" fill="rgba(255,255,255,0.1)"/></svg>') no-repeat bottom;
                    background-size: 100% 100%;
                    z-index: 1;
                    opacity: 0.5;
                    animation: mountainGlow 5s ease-in-out infinite alternate;
                }
                
                @keyframes mountainGlow {
                    0% {
                        opacity: 0.4;
                    }
                    100% {
                        opacity: 0.6;
                    }
                }
                
                @keyframes fall {
                    0% {
                        transform: translateY(-100px) rotate(0deg) scale(0.8);
                        opacity: 0;
                    }
                    10% {
                        opacity: 1;
                    }
                    90% {
                        opacity: 1;
                    }
                    100% {
                        transform: translateY(100vh) rotate(360deg) scale(1.2);
                        opacity: 0;
                    }
                }
                
                .hero-slides {
                    position: relative;
                    width: 100%;
                    height: 100vh;
                    overflow: hidden;
                }
                
                .hero-slide {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    opacity: 0;
                    background-size: cover;
                    background-position: center;
                    display: flex;
                    transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1);
                    align-items: center;
                    justify-content: center;
                }
                /* === HERO: Tambahkan Overlay untuk Kontras Teks === */
                
                .hero-slide::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    background: linear-gradient(135deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.5) 100%);
                    z-index: 1;
                    pointer-events: none;
                    transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1);
                }
                
                .hero-slide.active::before {
                    opacity: 1;
                }
                /* Hero Content - Tambahkan Shadow & Animasi */
                
                .hero-content {
                    position: relative;
                    z-index: 2;
                    max-width: 800px;
                    padding: 0 20px;
                    text-align: center;
                    color: var(--white-snow);
                    animation: fadeInUp 1.2s ease;
                }
                
                .hero-content h2 {
                    font-size: 3rem;
                    font-weight: 600;
                    margin-bottom: 25px;
                    line-height: 1.2;
                    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.9);
                    animation: fadeInUp 1.2s ease;
                }
                
                .hero-content p {
                    font-size: 1.4rem;
                    margin-bottom: 40px;
                    font-weight: 300;
                    text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.85);
                    animation: fadeInUp 1.2s ease 0.3s both;
                }
                
                .hero-buttons {
                    display: flex;
                    justify-content: center;
                    gap: 20px;
                    animation: fadeInUp 1.2s ease 0.6s both;
                    flex-wrap: wrap;
                }
                /* Tombol - Perbaiki Kontras & Efek */
                
                .btn {
                    background: var(--blue-fuji);
                    color: white;
                    box-shadow: 0 8px 25px rgba(17, 69, 126, 0.4);
                    transition: all 0.4s ease;
                }
                
                .btn:hover {
                    transform: translateY(-5px) scale(1.08);
                    box-shadow: 0 12px 30px rgba(17, 69, 126, 0.5);
                }
                
                .btn-outline {
                    border: 2px solid white;
                    color: white;
                    background: rgba(255, 255, 255, 0.1);
                    backdrop-filter: blur(10px);
                    transition: all 0.4s ease;
                }
                
                .btn-outline:hover {
                    background: white;
                    color: var(--blue-fuji);
                    transform: translateY(-5px) scale(1.08);
                }
                
                .hero-slide.active {
                    opacity: 1;
                }
                
                .hero-content {
                    max-width: 800px;
                    padding: 0 20px;
                    text-align: center;
                    color: var(--white-snow);
                    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.7);
                }
                
                .hero-content h2 {
                    font-size: 3rem;
                    font-weight: 600;
                    margin-bottom: 25px;
                    line-height: 1.2;
                    animation: fadeInUp 1.2s ease;
                }
                
                .hero-content p {
                    font-size: 1.4rem;
                    margin-bottom: 40px;
                    font-weight: 300;
                    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.7);
                    animation: fadeInUp 1.2s ease 0.3s both;
                }
                
                .hero-buttons {
                    display: flex;
                    justify-content: center;
                    gap: 20px;
                    animation: fadeInUp 1.2s ease 0.6s both;
                }
                
                .slide-controls {
                    position: absolute;
                    bottom: 50px;
                    left: 50%;
                    transform: translateX(-50%);
                    display: flex;
                    gap: 12px;
                    z-index: 4;
                }
                
                .slide-dot {
                    width: 14px;
                    height: 14px;
                    border-radius: 50%;
                    background-color: var(--gray-text);
                    cursor: pointer;
                    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
                    position: relative;
                    border: 2px solid transparent;
                }
                
                .slide-dot::after {
                    content: '';
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                    width: 6px;
                    height: 6px;
                    background-color: var(--blue-fuji);
                    border-radius: 50%;
                    opacity: 0;
                    transition: opacity 0.3s ease;
                }
                
                .slide-dot.active {
                    background-color: var(--blue-fuji);
                    transform: scale(1.3);
                    border-color: #ff8a80;
                    box-shadow: 0 0 15px rgba(255, 138, 128, 0.6);
                }
                
                .slide-dot.active::after {
                    opacity: 1;
                }
                
                .slide-dot:hover {
                    transform: scale(1.2);
                    background-color: var(--red-japan);
                }
                
                .slide-nav {
                    position: absolute;
                    top: 50%;
                    transform: translateY(-50%);
                    background-color: rgba(255, 255, 255, 0.27);
                    color: var(--gray-text);
                    width: 60px;
                    height: 60px;
                    border-radius: 50%;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    cursor: pointer;
                    z-index: 4;
                    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
                    backdrop-filter: blur(10px);
                    -webkit-backdrop-filter: blur(10px);
                    border: 1px solid rgba(255, 255, 255, 0.05);
                }
                
                .slide-nav:hover {
                    background-color: rgba(255, 255, 255, 0.05);
                    transform: translateY(-50%) scale(1.15);
                    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
                }
                
                .slide-nav.prev {
                    left: 30px;
                }
                
                .slide-nav.next {
                    right: 30px;
                }
                /* About Section */
                
                .about {
                    padding: 120px 0;
                    background-color: #f8f9fa;
                    position: relative;
                    overflow: hidden;
                }
                
                .about-decoration {
                    position: absolute;
                    width: 150px;
                    height: 150px;
                    opacity: 0.1;
                    filter: blur(2px);
                }
                
                .about-decoration.top-right {
                    top: 50px;
                    right: 80px;
                    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="30" r="20" fill="%23d32f2f"/><circle cx="30" cy="50" r="20" fill="%23d32f2f"/><circle cx="70" cy="50" r="20" fill="%23d32f2f"/><circle cx="50" cy="70" r="20" fill="%23d32f2f"/></svg>') no-repeat center;
                    background-size: contain;
                    transform: rotate(15deg);
                    animation: float 10s ease-in-out infinite alternate;
                }
                
                .about-decoration.bottom-left {
                    bottom: 50px;
                    left: 80px;
                    background: url('image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="30" r="20" fill="%23d32f2f"/><circle cx="30" cy="50" r="20" fill="%23d32f2f"/><circle cx="70" cy="50" r="20" fill="%23d32f2f"/><circle cx="50" cy="70" r="20" fill="%23d32f2f"/></svg>') no-repeat center;
                    background-size: contain;
                    transform: rotate(-15deg);
                    animation: float 12s ease-in-out infinite alternate;
                }
                
                @keyframes float {
                    0% {
                        transform: translateY(0) rotate(15deg);
                    }
                    100% {
                        transform: translateY(15px) rotate(20deg);
                    }
                }
                
                .section-title {
                    text-align: center;
                    margin-bottom: 80px;
                    position: relative;
                }
                
                .section-title::after {
                    content: '';
                    position: absolute;
                    bottom: -20px;
                    left: 50%;
                    transform: translateX(-50%);
                    width: 100px;
                    height: 4px;
                    background: linear-gradient(90deg, transparent, var(--blue-fuji), transparent);
                    border-radius: 2px;
                }
                
                .section-title h2 {
                    font-size: 2.8rem;
                    color: #333;
                    margin-bottom: 20px;
                    position: relative;
                    display: inline-block;
                }
                
                .section-title h2 span {
                    color: var(--blue-fuji);
                    position: relative;
                }
                
                .section-title h2 span::after {
                    content: '';
                    position: absolute;
                    bottom: 8px;
                    left: 0;
                    width: 100%;
                    height: 12px;
                    background: url('image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 10"><path d="M0,5 C10,0 20,10 30,5 C40,0 50,10 60,5 C70,0 80,10 90,5 C100,0 110,10 100,5" fill="none" stroke="%23d32f2f" stroke-width="2"/></svg>') repeat-x;
                    background-size: 25px 12px;
                    opacity: 0.6;
                    animation: wave 4s linear infinite;
                }
                
                @keyframes wave {
                    0% {
                        background-position: 0 0;
                    }
                    100% {
                        background-position: 120px 0;
                    }
                }
                
                .section-title p {
                    color: #666;
                    font-size: 1.2rem;
                    max-width: 800px;
                    margin: 25px auto 0;
                    font-weight: 300;
                    line-height: 1.8;
                }
                
                .about-content {
                    display: flex;
                    align-items: center;
                    gap: 50px;
                    margin-bottom: 60px;
                }
                
                .about-text {
                    flex: 1;
                }
                
                .about-text h3 {
                    font-size: 2rem;
                    color: #333;
                    margin-bottom: 25px;
                    color: var(--red-japan);
                }
                
                .about-text p {
                    color: #555;
                    margin-bottom: 20px;
                    line-height: 1.8;
                    font-size: 1.1rem;
                }
                
                .about-highlight {
                    background-color: #ebffff;
                    padding: 20px;
                    border-radius: 12px;
                    border-left: 4px solid var(--blue-fuji);
                    margin: 25px 0;
                    font-style: italic;
                    color: var(--blue-fuji);
                    font-weight: 500;
                }
                
                .about-image {
                    flex: 1;
                    border-radius: 20px;
                    overflow: hidden;
                    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
                    transform: rotate(-3deg);
                    transition: transform 0.5s ease;
                }
                
                .about-image:hover {
                    transform: rotate(0deg) scale(1.03);
                }
                
                .about-image img {
                    width: 100%;
                    height: auto;
                    display: block;
                }
                
                .features {
                    display: grid;
                    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
                    gap: 40px;
                    margin-top: 40px;
                }
                
                .feature-card {
                    background: white;
                    padding: 40px 30px;
                    border-radius: 20px;
                    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
                    text-align: center;
                    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
                    position: relative;
                    overflow: hidden;
                    border: 1px solid rgba(0, 0, 0, 0.05);
                }
                
                .feature-card::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 6px;
                    height: 100%;
                    background: linear-gradient(to bottom, var(--blue-fuji), #4cafff);
                    transform: scaleY(0);
                    transform-origin: top;
                    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
                }
                
                .feature-card:hover::before {
                    transform: scaleY(1);
                }
                
                .feature-card:hover {
                    transform: translateY(-15px) scale(1.02);
                    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
                    border-color: rgba(211, 47, 47, 0.1);
                }
                
                .feature-icon {
                    width: 90px;
                    height: 90px;
                    background: linear-gradient(135deg, var(--red-japan), #ff5252);
                    border-radius: 50%;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    margin: 0 auto 25px;
                    color: white;
                    font-size: 36px;
                    box-shadow: 0 8px 25px rgba(211, 47, 47, 0.4);
                    position: relative;
                    overflow: hidden;
                    border: 3px solid white;
                }
                
                .feature-icon::after {
                    content: '';
                    position: absolute;
                    top: -50%;
                    left: -50%;
                    width: 200%;
                    height: 200%;
                    background: radial-gradient(circle, rgba(255, 255, 255, 0.3) 0%, transparent 70%);
                    opacity: 0;
                    transition: opacity 0.4s ease;
                }
                
                .feature-icon:hover::after {
                    opacity: 1;
                }
                
                .feature-card h3 {
                    font-size: 1.6rem;
                    margin-bottom: 18px;
                    color: #333;
                    font-weight: 600;
                }
                
                .feature-card p {
                    color: #666;
                    line-height: 1.7;
                    font-size: 1.05rem;
                }
                /* Packages Section */
                
                .packages {
                    padding: 120px 0;
                    background-color: white;
                    position: relative;
                    overflow: hidden;
                }
                
                .packages::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 6px;
                    background: linear-gradient(90deg, transparent, var(--blue-fuji), transparent);
                }
                
                .packages-grid {
                    display: grid;
                    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
                    gap: 40px;
                    margin-top: 50px;
                }
                
                .package-card {
                    background: white;
                    border-radius: 20px;
                    overflow: hidden;
                    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
                    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
                    position: relative;
                    border: 1px solid rgba(0, 0, 0, 0.08);
                }
                
                .package-card::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 8px;
                    /* background: linear-gradient(90deg, #d32f2f, #ff8a80); */
                    background: var(--blue-fuji);
                    transform: scaleX(0);
                    transform-origin: left;
                    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
                }
                
                .package-card:hover::before {
                    transform: scaleX(1);
                }
                
                .package-card:hover {
                    transform: translateY(-15px) scale(1.03);
                    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.18);
                    border-color: rgba(47, 63, 211, 0.15);
                }
                
                .package-image {
                    height: 240px;
                    background-size: cover;
                    background-position: center;
                    position: relative;
                    overflow: hidden;
                }
                
                .package-image::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    background: linear-gradient(45deg, rgba(211, 47, 47, 0.15), rgba(47, 85, 211, 0.35));
                    opacity: 0;
                    transition: opacity 0.4s ease;
                }
                
                .package-card:hover .package-image::before {
                    opacity: 1;
                }
                
                .package-duration {
                    position: absolute;
                    top: 20px;
                    right: 20px;
                    /* background-color: #d32f2f; */
                    background-color: var(--blue-fuji);
                    color: white;
                    padding: 8px 15px;
                    border-radius: 30px;
                    font-size: 14px;
                    font-weight: 600;
                    z-index: 2;
                    backdrop-filter: blur(10px);
                    -webkit-backdrop-filter: blur(10px);
                    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
                }
                
                .package-content {
                    padding: 30px;
                }
                
                .package-content h3 {
                    font-size: 1.5rem;
                    margin-bottom: 12px;
                    color: #333;
                    font-weight: 600;
                }
                
                .package-destination {
                    color: #666;
                    font-size: 0.95rem;
                    margin-bottom: 18px;
                    display: flex;
                    align-items: center;
                    gap: 8px;
                }
                
                .package-destination i {
                    color: #d32f2f;
                }
                
                .package-price {
                    font-size: 1.8rem;
                    font-weight: 700;
                    color: #d32f2f;
                    margin-bottom: 20px;
                    display: flex;
                    align-items: baseline;
                    gap: 8px;
                }
                
                .package-price span {
                    font-size: 0.9rem;
                    color: #666;
                    font-weight: normal;
                }
                
                .package-highlights {
                    list-style: none;
                    margin-bottom: 25px;
                }
                
                .package-highlights li {
                    color: #666;
                    font-size: 0.95rem;
                    margin-bottom: 12px;
                    display: flex;
                    align-items: center;
                    gap: 10px;
                    padding-left: 5px;
                }
                
                .package-highlights li i {
                    /* color: #d32f2f; */
                    color: var(--blue-fuji);
                    font-size: 0.9rem;
                    background: #ebffff;
                    width: 22px;
                    height: 22px;
                    border-radius: 50%;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                }
                /* === OUR SERVICES SECTION === */
                
                .services {
                    padding: 120px 0;
                    background-color: var(--white-snow);
                    position: relative;
                    overflow: hidden;
                }
                
                .services .section-title h2 {
                    font-size: 2.8rem;
                    color: var(--gray-text);
                    margin-bottom: 20px;
                    position: relative;
                    display: inline-block;
                }
                
                .services .section-title h2 span {
                    color: var(--blue-fuji);
                }
                
                .services .section-title h2 span::after {
                    content: '';
                    position: absolute;
                    bottom: 8px;
                    left: 0;
                    width: 100%;
                    height: 12px;
                    background: url('image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 10"><path d="M0,5 C10,0 20,10 30,5 C40,0 50,10 60,5 C70,0 80,10 90,5 C100,0 110,10 100,5" fill="none" stroke="%23d32f2f" stroke-width="2"/></svg>') repeat-x;
                    background-size: 25px 12px;
                    opacity: 0.6;
                    animation: wave 4s linear infinite;
                }
                /* Daftar Layanan */
                
                .services-list {
                    display: grid;
                    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
                    gap: 30px;
                    margin: 60px 0;
                }
                
                .service-item {
                    display: flex;
                    flex-direction: column;
                    background: white;
                    border-radius: 18px;
                    padding: 20px;
                    text-align: center;
                    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
                    border: 1px solid rgba(0, 0, 0, 0.05);
                    transition: all 0.4s ease;
                    cursor: pointer;
                    /* Tambahkan pointer cursor */
                    position: relative;
                    overflow: hidden;
                    height: 100%;
                    justify-content: start;
                }
                
                .service-item:hover {
                    transform: translateY(-12px) scale(1.03);
                    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
                    border-color: rgba(211, 47, 47, 0.1);
                }
                /* Gambar layanan */
                
                .service-item .service-image {
                    width: 100%;
                    height: 160px;
                    object-fit: cover;
                    border-radius: 12px;
                    margin-bottom: 15px;
                    transition: transform 0.5s ease;
                    border: 1px solid #eee;
                }
                
                .service-item:hover .service-image {
                    transform: scale(1.08);
                }
                /* Judul & Deskripsi */
                
                .service-item h3 {
                    font-size: 1.25rem;
                    color: var(--gray-text);
                    font-weight: 600;
                    margin-bottom: 10px;
                    transition: color 0.3s ease;
                }
                
                .service-item p {
                    color: #666;
                    font-size: 0.95rem;
                    line-height: 1.6;
                    margin: 0;
                    flex: 1;
                }
                /* Efek ikon (tetap ada, tapi lebih kecil) */
                
                .service-item i {
                    font-size: 1.8rem;
                    color: var(--blue-fuji);
                    background: rgba(174, 225, 249, 0.15);
                    width: 60px;
                    height: 60px;
                    border-radius: 50%;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    margin: 0 auto 15px;
                    transition: all 0.4s ease;
                }
                
                .service-item:hover i {
                    background: var(--blue-fuji);
                    color: white;
                    transform: scale(1.1);
                }
                /* Animasi Glowing Border saat hover */
                
                .service-item::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    border-radius: 18px;
                    background: linear-gradient(45deg, transparent, rgba(211, 47, 47, 0.1), transparent);
                    opacity: 0;
                    transition: opacity 0.5s ease;
                    z-index: -1;
                    pointer-events: none;
                }
                
                .service-item:hover::before {
                    opacity: 1;
                }
                
                .service-item h3 {
                    font-size: 1.2rem;
                    color: var(--gray-text);
                    font-weight: 600;
                    line-height: 1.5;
                }
                /* Informasi Tambahan Perusahaan */
                
                .services-info {
                    max-width: 900px;
                    margin: 80px auto 0;
                    padding: 30px;
                    background: rgba(174, 225, 249, 0.1);
                    border-radius: 15px;
                    border-left: 5px solid var(--blue-fuji);
                    font-size: 1rem;
                    line-height: 1.7;
                    color: #555;
                }
                
                .services-info h3 {
                    color: var(--red-japan);
                    font-size: 1.4rem;
                    margin-bottom: 20px;
                    font-weight: 600;
                }
                
                .services-info .company-info {
                    margin-bottom: 20px;
                }
                
                .services-info .company-info strong {
                    color: var(--gray-text);
                    display: block;
                    margin-bottom: 6px;
                }
                
                .services-info p {
                    margin: 0;
                    color: #666;
                }
                /* Testimonials Section */
                
                .testimonials {
                    padding: 120px 0;
                    background: linear-gradient(135deg, #f8f9fa, #ffebee);
                    position: relative;
                    overflow: hidden;
                }
                
                .testimonials::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 12px;
                    background: url('image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 10"><path d="M0,10 C10,5 20,15 30,10 C40,5 50,15 60,10 C70,5 80,15 90,10 C100,5 110,15 100,10" fill="none" stroke="%23d32f2f" stroke-width="2"/></svg>') repeat-x;
                    background-size: 60px 12px;
                    animation: wave 6s linear infinite;
                }
                
                .testimonials-grid {
                    display: grid;
                    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
                    gap: 40px;
                    margin-top: 50px;
                }
                
                .testimonial-card {
                    background: white;
                    padding: 40px 30px;
                    border-radius: 20px;
                    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
                    position: relative;
                    overflow: hidden;
                    border: 1px solid rgba(0, 0, 0, 0.08);
                    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
                }
                
                .testimonial-card::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 6px;
                    /* background: linear-gradient(90deg, #d32f2f, #ff8a80); */
                    background: linear-gradient(135deg, #4cafff, var(--blue-fuji));
                    transform: scaleX(0);
                    transform-origin: left;
                    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
                }
                
                .testimonial-card:hover::before {
                    transform: scaleX(1);
                }
                
                .testimonial-card:hover {
                    transform: translateY(-10px) scale(1.02);
                    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
                    border-color: rgba(211, 47, 47, 0.15);
                }
                
                .testimonial-card::after {
                    content: "";
                    position: absolute;
                    top: 25px;
                    left: 25px;
                    font-size: 90px;
                    color: #d32f2f;
                    opacity: 0.1;
                    font-family: Georgia, serif;
                    line-height: 1;
                    z-index: 1;
                    font-weight: 100;
                }
                
                .testimonial-rating {
                    color: #ffc107;
                    margin-bottom: 20px;
                    font-size: 1.3rem;
                    position: relative;
                    z-index: 2;
                    display: flex;
                    gap: 3px;
                }
                
                .testimonial-text {
                    color: #666;
                    font-style: italic;
                    margin-bottom: 25px;
                    line-height: 1.8;
                    position: relative;
                    z-index: 2;
                    font-size: 1.05rem;
                }
                
                .testimonial-author {
                    display: flex;
                    align-items: center;
                    gap: 18px;
                    position: relative;
                    z-index: 2;
                }
                
                .author-avatar {
                    width: 60px;
                    height: 60px;
                    background: linear-gradient(135deg, #d32f2f, #ff5252);
                    border-radius: 50%;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    color: white;
                    font-weight: bold;
                    font-size: 1.4rem;
                    box-shadow: 0 6px 20px rgba(211, 47, 47, 0.4);
                    border: 3px solid white;
                    position: relative;
                    overflow: hidden;
                }
                
                .author-avatar::after {
                    content: '';
                    position: absolute;
                    top: -50%;
                    left: -50%;
                    width: 200%;
                    height: 200%;
                    background: radial-gradient(circle, rgba(255, 255, 255, 0.3) 0%, transparent 70%);
                    opacity: 0;
                    transition: opacity 0.4s ease;
                }
                
                .author-avatar:hover::after {
                    opacity: 1;
                }
                
                .author-info h4 {
                    font-size: 1.2rem;
                    color: #333;
                    font-weight: 600;
                }
                
                .author-info p {
                    color: #666;
                    font-size: 0.95rem;
                    display: flex;
                    align-items: center;
                    gap: 5px;
                }
                
                .author-info p i {
                    color: #d32f2f;
                }
                /* Contact Section */
                
                .contact {
                    padding: 120px 0;
                    background: linear-gradient(135deg, #333, #1a1a1a);
                    color: white;
                    position: relative;
                    overflow: hidden;
                }
                
                .contact::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><circle cx="20" cy="20" r="1.5" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="30" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="25" r="1.8" fill="rgba(255,255,255,0.1)"/><circle cx="30" cy="70" r="1.3" fill="rgba(255,255,255,0.1)"/><circle cx="70" cy="65" r="1" fill="rgba(255,255,255,0.1)"/></svg>');
                    opacity: 0.15;
                    animation: floatPattern 20s linear infinite;
                }
                
                .contact-container {
                    display: grid;
                    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
                    gap: 60px;
                }
                
                .contact-info h3 {
                    font-size: 2rem;
                    margin-bottom: 40px;
                    color: white;
                    position: relative;
                    display: inline-block;
                }
                
                .contact-info h3::after {
                    content: '';
                    position: absolute;
                    bottom: -12px;
                    left: 0;
                    width: 60px;
                    height: 4px;
                    background: #d32f2f;
                    border-radius: 2px;
                }
                
                .contact-item {
                    display: flex;
                    align-items: flex-start;
                    gap: 20px;
                    margin-bottom: 30px;
                    transition: all 0.4s ease;
                    padding: 15px;
                    border-radius: 12px;
                    background: rgba(255, 255, 255, 0.05);
                }
                
                .contact-item:hover {
                    transform: translateX(10px);
                    background: rgba(255, 255, 255, 0.1);
                    backdrop-filter: blur(10px);
                }
                
                .contact-icon {
                    width: 60px;
                    height: 60px;
                    background: linear-gradient(135deg, #d32f2f, #ff5252);
                    border-radius: 50%;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    flex-shrink: 0;
                    box-shadow: 0 8px 25px rgba(211, 47, 47, 0.4);
                    border: 3px solid rgba(255, 255, 255, 0.2);
                }
                
                .contact-icon i {
                    color: white;
                    font-size: 1.4rem;
                }
                
                .contact-details h4 {
                    font-size: 1.2rem;
                    margin-bottom: 8px;
                    color: white;
                    font-weight: 500;
                }
                
                .contact-details p {
                    color: #ccc;
                    line-height: 1.6;
                }
                
                .form-group {
                    margin-bottom: 25px;
                }
                
                .form-group label {
                    display: block;
                    margin-bottom: 10px;
                    color: white;
                    font-weight: 500;
                    font-size: 1.05rem;
                }
                
                .form-group input,
                .form-group select,
                .form-group textarea {
                    width: 100%;
                    padding: 15px 20px;
                    border: 1px solid rgba(255, 255, 255, 0.2);
                    border-radius: 12px;
                    font-size: 1rem;
                    transition: all 0.4s ease;
                    background-color: rgba(255, 255, 255, 0.1);
                    color: white;
                    backdrop-filter: blur(10px);
                }
                
                .form-group input:focus,
                .form-group select:focus,
                .form-group textarea:focus {
                    outline: none;
                    border-color: #d32f2f;
                    box-shadow: 0 0 0 3px rgba(211, 47, 47, 0.2);
                    background-color: rgba(255, 255, 255, 0.15);
                }
                
                .form-group textarea {
                    height: 140px;
                    resize: vertical;
                    line-height: 1.6;
                }
                
                .submit-btn {
                    width: 100%;
                    padding: 16px;
                    background: linear-gradient(135deg, #d32f2f, #ff5252);
                    color: white;
                    border: none;
                    border-radius: 50px;
                    font-size: 1.1rem;
                    font-weight: 600;
                    cursor: pointer;
                    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
                    position: relative;
                    overflow: hidden;
                    z-index: 1;
                    box-shadow: 0 6px 20px rgba(211, 47, 47, 0.4);
                }
                
                .submit-btn::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: -100%;
                    width: 100%;
                    height: 100%;
                    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
                    transition: left 0.7s;
                    z-index: -1;
                }
                
                .submit-btn:hover::before {
                    left: 100%;
                }
                
                .submit-btn:hover {
                    transform: translateY(-3px) scale(1.03);
                    box-shadow: 0 10px 30px rgba(211, 47, 47, 0.5);
                }
                /* Footer */
                
                footer {
                    background-color: #121212;
                    color: #ccc;
                    padding: 80px 0 40px;
                    position: relative;
                    overflow: hidden;
                }
                
                footer::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 6px;
                    background: linear-gradient(90deg, var(--blue-fuji), #ebffff);
                }
                
                .footer-container {
                    display: grid;
                    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
                    gap: 50px;
                    margin-bottom: 60px;
                }
                
                .footer-column h3 {
                    color: white;
                    font-size: 1.4rem;
                    margin-bottom: 25px;
                    font-weight: 600;
                    position: relative;
                    display: inline-block;
                }
                
                .footer-column h3::after {
                    content: '';
                    position: absolute;
                    bottom: -10px;
                    left: 0;
                    width: 50px;
                    height: 3px;
                    background: var(--blue-fuji);
                    border-radius: 2px;
                }
                
                .footer-column ul {
                    list-style: none;
                }
                
                .footer-column ul li {
                    margin-bottom: 15px;
                    position: relative;
                    padding-left: 20px;
                    transition: all 0.3s ease;
                }
                
                .footer-column ul li::before {
                    content: '»';
                    position: absolute;
                    left: 0;
                    color: var(--blue-fuji);
                    font-size: 0.9rem;
                    transition: all 0.3s ease;
                }
                
                .footer-column ul li:hover::before {
                    transform: translateX(5px);
                }
                
                .footer-column ul li a {
                    color: #ccc;
                    transition: all 0.3s ease;
                    display: block;
                    padding: 5px 0;
                }
                
                .footer-column ul li a:hover {
                    color: #ebffff;
                    padding-left: 8px;
                    transform: translateX(5px);
                }
                
                .social-links {
                    display: flex;
                    gap: 18px;
                    margin-top: 25px;
                }
                
                .social-links a {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 45px;
                    height: 45px;
                    background-color: rgba(255, 255, 255, 0.08);
                    border-radius: 50%;
                    color: white;
                    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
                    position: relative;
                    overflow: hidden;
                    border: 1px solid rgba(255, 255, 255, 0.1);
                }
                
                .social-links a::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: -100%;
                    width: 100%;
                    height: 100%;
                    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
                    transition: left 0.6s;
                }
                
                .social-links a:hover::before {
                    left: 100%;
                }
                
                .social-links a:hover {
                    background-color: #d32f2f;
                    transform: translateY(-4px) scale(1.1);
                    box-shadow: 0 8px 25px rgba(211, 47, 47, 0.4);
                    border-color: #d32f2f;
                }
                
                .footer-bottom {
                    text-align: center;
                    padding-top: 40px;
                    border-top: 1px solid rgba(255, 255, 255, 0.1);
                    font-size: 0.95rem;
                    position: relative;
                    color: #999;
                }
                
                .footer-bottom::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 50%;
                    transform: translateX(-50%);
                    width: 60px;
                    height: 1px;
                    background: var(--blue-fuji);
                }
                
                .footer-bottom p {
                    margin: 10px 0;
                }
                /* === MODAL POPUP KONTAK === */
                
                .contact-modal {
                    display: none;
                    position: fixed;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    background-color: rgba(0, 0, 0, 0.5);
                    justify-content: center;
                    align-items: center;
                    z-index: 10000;
                    backdrop-filter: blur(5px);
                }
                
                .contact-modal-content {
                    background: white;
                    padding: 30px;
                    border-radius: 16px;
                    width: 90%;
                    max-width: 400px;
                    text-align: center;
                    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
                    position: relative;
                    animation: modalFadeIn 0.4s ease;
                    border: 1px solid #eee;
                }
                
                .contact-modal-close {
                    position: absolute;
                    top: 15px;
                    right: 20px;
                    font-size: 28px;
                    color: #aaa;
                    cursor: pointer;
                    font-weight: bold;
                    transition: color 0.3s ease;
                }
                
                .contact-modal-close:hover {
                    color: #d32f2f;
                }
                
                .contact-modal-content h3 {
                    color: #333;
                    margin-bottom: 10px;
                    font-size: 1.5rem;
                }
                
                .contact-options {
                    display: flex;
                    flex-direction: column;
                    gap: 15px;
                    margin-top: 20px;
                }
                
                .contact-btn {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    gap: 10px;
                    padding: 14px 20px;
                    border-radius: 10px;
                    font-weight: 600;
                    text-decoration: none;
                    font-size: 1rem;
                    transition: all 0.3s ease;
                    color: white;
                }
                
                .wa-btn {
                    background: #25D366;
                }
                
                .wa-btn:hover {
                    background: #128C7E;
                    transform: translateY(-2px);
                }
                
                .email-btn {
                    background: #11457E;
                    /* Biru Fuji */
                }
                
                .email-btn:hover {
                    background: #0d365e;
                    transform: translateY(-2px);
                }
                /* Animasi Modal */
                
                @keyframes modalFadeIn {
                    from {
                        opacity: 0;
                        transform: translateY(-30px);
                    }
                    to {
                        opacity: 1;
                        transform: translateY(0);
                    }
                }
                /* Responsif */
                
                @media (max-width: 480px) {
                    .contact-modal-content {
                        width: 95%;
                        padding: 25px;
                    }
                    .contact-btn {
                        padding: 12px 18px;
                        font-size: 0.95rem;
                    }
                }
                /* Responsive Design */
                
                @media (max-width: 1024px) {
                    .about-content {
                        flex-direction: column;
                    }
                    .about-image {
                        transform: rotate(0deg);
                        order: -1;
                    }
                    .hero-content h2 {
                        font-size: 2.8rem;
                    }
                }
                
                @media (max-width: 992px) {
                    .hero-content h2 {
                        font-size: 2.4rem;
                    }
                    .section-title h2 {
                        font-size: 2rem;
                    }
                }
                
                @media (max-width: 768px) {
                    .lang-btn {
                        padding: 4px 6px;
                        font-size: 12px;
                    }
                    .lang-btn[data-lang="id"]::before,
                    .lang-btn[data-lang="en"]::before,
                    .lang-btn[data-lang="jp"]::before {
                        margin-right: 4px;
                    }
                    .mobile-menu-btn {
                        display: block;
                    }
                    nav ul {
                        display: none;
                        flex-direction: column;
                        background-color: rgba(211, 47, 47, 0.95);
                        position: absolute;
                        top: 100%;
                        left: 0;
                        right: 0;
                        padding: 20px;
                        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
                        backdrop-filter: blur(10px);
                        -webkit-backdrop-filter: blur(10px);
                        z-index: 100;
                        border-radius: 0 0 10px 10px;
                    }
                    nav ul.show {
                        display: flex;
                    }
                    nav ul li {
                        margin: 15px 0;
                    }
                    .hero {
                        min-height: 90vh;
                    }
                    .hero-content h2 {
                        font-size: 2rem;
                    }
                    .section-title h2 {
                        font-size: 1.7rem;
                    }
                    .hero-buttons {
                        flex-direction: column;
                        gap: 15px;
                    }
                }
                
                @media (max-width: 576px) {
                    .hero {
                        min-height: 80vh;
                    }
                    .hero-content h2 {
                        font-size: 2.2rem;
                    }
                    .section-title h2 {
                        font-size: 1.8rem;
                    }
                    .features,
                    .packages-grid,
                    .testimonials-grid {
                        grid-template-columns: 1fr;
                    }
                    .contact-container {
                        grid-template-columns: 1fr;
                    }
                    .about-decoration {
                        display: none;
                    }
                }
                /* Animation Keyframes */
                
                @keyframes fadeInUp {
                    from {
                        opacity: 0;
                        transform: translateY(50px);
                    }
                    to {
                        opacity: 1;
                        transform: translateY(0);
                    }
                }