:root{--coklat-dark: #4b3621;--coklat-light: #6f4e37;--biru-navy: #1a237e;--tombol-bg: #1a237e;--tombol-hover: #1c279f;--teks-utama: #1a1a1a;--bg-utama: #ffffff;--kartu-bg: #f4f4f4;--tombol-wa: #25d366}body.dark{--bg-utama: #121212;--teks-utama: #e0e0e0;--kartu-bg: #1e1e1e;--tombol-bg: #3949ab;--tombol-hover: #1c279f}*{margin:0;padding:0;box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}html{scroll-behavior:smooth}.container{max-width:64rem;margin:0 auto;padding:0 20px}body{background-color:var(--bg-utama);color:var(--teks-utama);padding-bottom:70px;padding-top:60px;min-height:100vh;transition:background-color .3s,color .3s}.main-header{background:linear-gradient(135deg,var(--coklat-dark),var(--coklat-light));padding:15px 20px;color:#fff;position:fixed;top:0;left:0;right:0;z-index:9999;width:100%}.main-header .container{display:flex;justify-content:space-between;align-items:center;gap:20px}.logo{font-size:24px;font-weight:700;display:flex;align-items:center;gap:8px}.logo img{background:#d84315;border-radius:30%;padding:3px}.logo span{color:#ffca28}.desktop-nav a{color:#fff;text-decoration:none;margin-left:15px;font-size:14px}#home .btn-pesan-header{display:flex;align-items:center;gap:8px;background-color:var(--tombol-wa);color:#fff;padding:8px 16px;text-decoration:none;border-radius:50px;font-weight:700;font-size:14px;opacity:1;transform:scale(1);width:auto}.hero{width:100%;display:block;height:auto!important;min-height:auto;position:relative!important;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}.hero picture,.hero-image{position:relative!important;width:100%;height:auto!important;display:block;object-fit:cover}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex!important;flex-direction:column;justify-content:center;align-items:center}.hero-overlay .container{pointer-events:auto;position:relative;z-index:3}.hero h1{font-size:22px;margin-bottom:10px}.btn-pesan{background-color:var(--tombol-bg);color:#fff;padding:15px 25px;text-decoration:none;border-radius:50px;font-weight:700;cursor:pointer;transition:.3s}.btn-pesan:hover{background-color:var(--tombol-hover);box-shadow:0 4px 15px #0000004d}.section{padding:40px 20px;text-align:center}section{scroll-margin-top:80px}.section-title{color:var(--coklat-dark);margin-bottom:10px}.section picture{display:block;margin-left:-20px;margin-right:-20px;margin-top:-40px;width:calc(100% + 40px)}.section picture img{width:100%;height:auto;display:block}.subtitle{color:#666;font-size:18px;margin-bottom:25px}.bg-light{background-color:var(--abu-muda)}.mobil-container{display:flex;gap:15px;justify-content:center;flex-direction:row}.mobil-card{background-color:var(--kartu-bg);color:var(--teks-utama);border:1px solid #ddd;border-radius:10px;padding:15px;flex:1}.mobil-card img{width:100%;border-radius:5px;aspect-ratio:auto}.mobil-card h3{font-size:16px;margin:10px 0 5px}.mobil-card p{font-size:12px;color:#777;margin-bottom:10px}.btn-pilih{width:100%;background:var(--tombol-bg);color:#fff;border:none;padding:8px;border-radius:5px}.btn-pilih:hover{background:var(--tombol-hover)}.rute-list{display:block;width:100%}.rute-item{background:#f0f4f8;padding:20px;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;box-shadow:0 2px 5px #0000000d;min-height:120px}#rute{background:#f9f7f2}.rute-region{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:50px;align-items:stretch}.rute-region h2{grid-column:1 / -1;text-align:center;font-size:24px;color:var(--coklat-dark);margin-bottom:20px}.rute-item .rute-text{margin-bottom:12px}.rute-text{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:100%;margin-bottom:12px;font-weight:700}.rute-text span:first-child{text-align:right}.rute-text span:last-child{text-align:left}.rute-text .material-icons{display:flex;justify-content:center;color:#e65100}.rute-item .btn-pesan-rute{margin-top:auto}.btn-pesan-rute{width:100%;background:var(--tombol-bg);color:#fff;border:none;padding:8px;border-radius:5px;font-weight:700;cursor:pointer;transition:.3s}.btn-pesan-rute:hover{background:var(--tombol-hover)}.rute-list .material-icons{color:#e65100}#rute .rute-text{color:#4b3621}#rute .container{margin-top:2rem}.galeri-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.galeri-item{background:#ddd;aspect-ratio:1/1;border-radius:8px}#gallery .container{margin-top:2rem}.seo-section{padding:40px 20px;background-color:var(--putih);text-align:center}.seo-section h2{color:var(--coklat-dark);font-size:24px;margin-bottom:20px}.seo-section p{color:#555;font-size:16px;line-height:1.8;margin-bottom:15px;text-align:justify}.main-footer{background-color:var(--biru-navy);color:#fff;padding:40px 20px}.footer-content{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:left}.footer-left .logo{font-size:28px;font-weight:700;margin-bottom:10px}.footer-left .logo span{color:#ffca28}.footer-left p{font-size:14px;opacity:.8}.footer-center h4,.footer-right h4{font-size:18px;margin-bottom:15px;color:#ffca28}.footer-center p,.footer-right p{font-size:14px;margin-bottom:8px;opacity:.9}.contact-info{margin-top:15px;font-size:14px}.contact-info p{margin-bottom:5px}.copyright{font-size:12px;opacity:.6;margin-top:10px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;width:100%;background:#fff;padding:12px 0;border-top:1px solid #ddd;z-index:9998;display:flex;justify-content:center}.bottom-nav .container{display:flex;justify-content:center;align-items:center;gap:40px;width:100%;max-width:100%;margin:0;padding:0 20px}.nav-link{text-decoration:none;color:#888;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:14px;padding:8px 12px;transition:.3s ease;cursor:pointer;border-radius:8px}.nav-link:hover{color:var(--biru-navy);transform:scale(1.1)}.nav-link.active{color:var(--biru-navy)}.desktop-nav{display:none;margin:0}.whatsapp-float{position:fixed;bottom:85px;right:20px;background-color:#25d366;color:#fff;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;z-index:1001;transition:all .3s ease;text-decoration:none}.whatsapp-float:hover{background-color:#20ba5a;transform:scale(1.1);box-shadow:0 6px 16px #0006}.whatsapp-float .material-icons{font-size:32px}.modal{display:none;position:fixed;z-index:10001;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000c;backdrop-filter:blur(4px);padding-top:50px;align-items:center;justify-content:center}.modal-content{margin:auto;display:block;max-width:90%;max-height:85vh;object-fit:contain;border-radius:8px;box-shadow:0 0 20px #ffffff1a;animation:zoomIn .2s}#caption{text-align:center;color:#ccc;padding:15px 0;font-size:16px;width:100%}.close-modal{position:absolute;top:20px;right:30px;color:#f1f1f1;font-size:40px;font-weight:700;cursor:pointer;transition:.3s;z-index:10002}.close-modal:hover{color:#bbb}.desktop-only{display:none}.btn-pesan-header{display:flex!important;align-items:center;justify-content:center;gap:0;background-color:var(--tombol-wa);color:#fff;padding:0;width:50px;height:50px;border-radius:50px;text-decoration:none;font-weight:700;flex-direction:row-reverse;position:relative;overflow:hidden;opacity:0;transform:scale(0);transition:width .6s cubic-bezier(.68,-.55,.27,1.55),opacity .5s ease,transform .5s ease}.btn-pesan-header .icon-container{min-width:50px;height:50px;display:flex;align-items:center;justify-content:center;z-index:2}.btn-pesan-header .text-pesan{opacity:0;white-space:nowrap;font-size:14px;padding-left:15px;padding-right:5px;transform:translate(20px);transition:opacity .4s ease,transform .4s ease}.btn-pesan-header.show-ball{opacity:1;transform:scale(1)}.btn-pesan-header.expand{width:180px;background-color:#20ba5a}.btn-pesan-header.expand .icon-container{transform:rotate(360deg);transition:transform .6s ease}.btn-pesan-header.expand .text-pesan{opacity:1;transform:translate(0);transition-delay:.1s}.banner-image{width:100%;height:auto;max-width:1440px;margin:0 auto;display:block}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}img:not(.logo):not(.icon):not(.whatsapp-float img){cursor:zoom-in}.footer-github{text-decoration:none;color:#fff;display:flex;align-items:center;justify-content:start;gap:5px;font-weight:700}@media(min-width:768px){body{padding-bottom:0}.bottom-nav{display:none}.desktop-nav{display:block}.whatsapp-float{bottom:30px!important;right:30px!important;z-index:10000}.mobil-card{max-width:400px}}@media(min-width:1024px){.desktop-only{display:block;width:100%;max-width:1440px;height:auto;margin:0 auto}.hero{height:700px}.hero p{margin-bottom:5rem}.hero h1{font-size:40px}.galeri-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:607px)and (max-width:1023px){.rute-region{grid-template-columns:repeat(2,1fr)}.desktop-only{display:block!important;width:100%;height:100%;object-fit:cover}.main-header{position:fixed;top:0;left:0;width:100%;-webkit-transform:translateZ(0)}.hero{height:500px;background-color:#1a237e}.hero-overlay{padding:0 40px}.hero h1{font-size:28px}.hero p{margin-bottom:3rem}.galeri-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:606px){.btn-pesan-header{display:flex}.rute-region{grid-template-columns:repeat(1,1fr)}.rute-region h2{font-size:20px}.hero p{margin-bottom:5rem}.btn-pesan-rute{width:200px}.footer-content{grid-template-columns:1fr;text-align:center;gap:25px}.seo-section h2{font-size:20px}.seo-section p{font-size:14px;text-align:center}}@media(max-width:480px){.mobil-container{flex-direction:column}.mobil-card{flex:none;width:100%}.mobil-card img{aspect-ratio:1/1;object-fit:cover}.rute-list{grid-template-columns:repeat(1,1fr)}.bottom-nav .container{gap:20px}.nav-link{font-size:12px;padding:6px 10px}.nav-link span:first-child{font-size:20px}.seo-section{padding:30px 15px}.btn-pesan-header.expand{width:160px}.btn-pesan-header .text-pesan{font-size:12px}.footer-github{display:flex;align-items:center;justify-content:center}}@media(max-width:768px){.hero-overlay a{display:none}}@media(max-width:768px){.logo[data-astro-cid-sz7xmlte]{justify-content:center}}
