:root{--maroon:#7a1019;--red:#c01a24;--orange:#ff7a1a;--bg:#fff8f5;--ink:#221316;--muted:#7a6a6d;--card:#fff;--line:#f0dcd8}
*{box-sizing:border-box}body{margin:0;font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
.container{max-width:1120px;margin:0 auto;padding:0 20px}
.header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,box-shadow .3s}
.header:not(.scrolled){background:linear-gradient(180deg,rgba(0,0,0,.55),transparent);border-bottom:1px solid transparent}
.header:not(.scrolled) .brand strong,.header:not(.scrolled) .menu a{color:#fff}
.header:not(.scrolled) .brand span{color:#ffdcc8}
.header:not(.scrolled) .hamburger{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);color:#fff}
.header.scrolled{background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);box-shadow:0 4px 20px rgba(0,0,0,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}
.brand img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:3px solid var(--maroon)}
.brand strong{display:block;font-size:15px;letter-spacing:.5px}.brand span{font-size:12px;color:var(--muted)}
.menu{display:flex;gap:18px;align-items:center}.menu a{text-decoration:none;color:var(--ink);font-weight:600;font-size:14px}
.hamburger{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px}
.btn{display:inline-block;padding:12px 20px;border-radius:12px;font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer;font-size:14px}
.btn-primary{background:linear-gradient(135deg,var(--maroon),var(--red));color:#fff}
.btn-outline{border-color:var(--maroon);color:var(--maroon);background:#fff}
.btn-sm{padding:9px 14px}.btn-block{width:100%;text-align:center}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:linear-gradient(180deg,#2a0a0e,#7a1019 60%,#a91b24);padding:130px 0 42px}
.hero-slides{position:absolute;inset:0}
.hero-slides img,.hero-slides video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s}
.hero-slides img.active,.hero-slides video.active{opacity:1}
.hero-shade{position:absolute;inset:0;background:radial-gradient(75% 95% at 28% 55%,rgba(10,4,6,.62),transparent 70%),linear-gradient(180deg,rgba(10,4,6,.55) 0%,rgba(10,4,6,.18) 42%,rgba(10,4,6,.72) 100%)}
.hero-arrow{position:absolute;top:44%;z-index:3;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.1);color:#fff;font-size:30px;line-height:1;cursor:pointer;backdrop-filter:blur(4px)}
.hero-arrow.left{left:22px}.hero-arrow.right{right:22px}
.hero-arrow:hover{background:rgba(255,255,255,.28)}
.hero-inner{position:relative;z-index:2;width:100%}
.btn-glass{border-color:rgba(255,255,255,.65);color:#fff;background:rgba(255,255,255,.12)}
.badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);display:inline-block;padding:8px 14px;border-radius:999px;font-size:13px;margin-bottom:16px}
.hero h1{font-size:clamp(32px,5vw,56px);line-height:1.05;margin:0 0 12px}.hero h1 span{display:block;font-size:.52em;line-height:1.3;color:#ffb25e;margin-top:8px}
.lead{color:#ffe9dd;max-width:560px}.cta{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:20px;backdrop-filter:blur(10px);margin-top:30px;overflow:hidden}
.stats div{padding:22px 12px;text-align:center;position:relative}
.stats div+div::before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:1px;background:rgba(255,255,255,.25)}
.stats strong{font-size:clamp(28px,4vw,44px);font-weight:800;display:block;color:#fff}
.stats strong i{font-style:normal;color:#ff5f5f}
.stats span{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#ffe9dd}
/* slider hero: foto dari FOTO/hero1..3.jpg, fallback gradien maroon */
.section{padding:64px 0;scroll-margin-top:70px}.alt{background:var(--bg)}
.eyebrow{color:var(--red);font-weight:800;letter-spacing:1.5px;font-size:12px}.center{text-align:center}
.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}
.features{display:grid;gap:14px;margin-top:18px}.feat{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.feat span{font-size:24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(122,16,25,.06)}
.card.dark{background:#1e0f12;color:#ffe9dd;border-color:#3a1e23}.card.dark .btn-outline{border-color:#ffb25e;color:#ffb25e;background:transparent}
.italic{font-style:italic}.check{list-style:none;padding:0}.check li{margin:8px 0}.check li::before{content:"✓ ";color:var(--red);font-weight:800}
.link{color:var(--red);font-weight:700}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.svc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.svc .icon{font-size:30px}.svc a{color:var(--red);font-weight:700;text-decoration:none}
.fleet{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}
.bus{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer;text-align:left;padding:0}
.bus-top{height:150px;display:flex;align-items:center;justify-content:center;font-size:54px;background:linear-gradient(135deg,#7a1019,#ff7a1a);overflow:hidden;position:relative}
.bus-top img{width:100%;height:100%;object-fit:cover;display:block}
.bus-fallback{font-size:54px}
.bus-body{padding:14px}.bus-body b{display:block;text-transform:uppercase;letter-spacing:.5px}.bus-body small{color:var(--muted)}.tag{display:inline-block;background:#fff1e8;color:var(--maroon);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800;margin-top:8px}
.bus-link{color:var(--red);font-weight:700;font-size:13px}
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;font-size:14px}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.table thead{background:var(--maroon);color:#fff}
.note{color:var(--muted);font-size:13px}
.form{display:grid;gap:12px}.form input,.form select,.form textarea{padding:12px 14px;border-radius:12px;border:1px solid var(--line);font:inherit}.row{display:flex;gap:10px;flex-wrap:wrap}
label{display:grid;gap:6px;font-size:14px;font-weight:600}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}
.modal[hidden]{display:none}.modal-box{background:#fff;max-width:520px;width:100%;border-radius:18px;padding:22px;position:relative}
.modal-x{position:absolute;right:12px;top:8px;font-size:28px;border:0;background:none;cursor:pointer}
.modal-detail{padding:0;overflow:hidden;max-width:880px;max-height:90vh;overflow-y:auto}
.modal-detail .modal-x{z-index:2;background:rgba(255,255,255,.85);border-radius:50%;width:36px;height:36px;line-height:1}
.detail-grid{display:grid;grid-template-columns:1.5fr 1fr}
.detail-side{border-left:1px solid var(--line);padding:20px;background:#faf7f5}
#mDenah{width:100%;border-radius:12px;border:1px solid var(--line);background:#fff}
#mPhoto{width:100%;height:220px;object-fit:cover;display:block;background:linear-gradient(135deg,#7a1019,#ff7a1a)}
.modal-pad{padding:20px 22px 22px}
.modal-pad h4{margin:18px 0 2px;letter-spacing:1.5px;font-size:13px;color:var(--maroon)}
.detail-side h4{margin:0 0 10px;letter-spacing:1.5px;font-size:13px;color:var(--maroon)}
.fac-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fac-grid span{background:#fff1e8;border:1px solid var(--line);padding:6px 10px;border-radius:999px;font-size:12px}
.fac-grid span.fac-photo{background:none;border:0;padding:0;display:inline-flex;flex-direction:column;align-items:center;gap:4px;max-width:120px}
.fac-photo img{width:110px;height:80px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#fff}
.fac-photo i{font-style:normal;font-size:11px;text-align:center;line-height:1.3}
.price-box{border:1.5px solid var(--red);border-radius:14px;padding:4px 14px;margin-top:8px}
.price-row{position:relative;display:flex;justify-content:space-between;gap:10px;padding:10px 2px 10px 26px;border-bottom:1px solid var(--line);font-size:14px}
.price-row:last-child{border-bottom:0}
.price-row::before{content:"";position:absolute;left:2px;top:13px;width:12px;height:12px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--red)}
.price-row b{color:var(--maroon);white-space:nowrap}
#mCta{margin-top:18px}
@media(max-width:700px){.detail-grid{grid-template-columns:1fr}.detail-side{border-left:0;border-top:1px solid var(--line)}}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.chips span{background:#fff1e8;border:1px solid var(--line);padding:6px 10px;border-radius:999px;font-size:12px}
.faq{display:grid;gap:10px;margin-top:16px}.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}.faq summary{font-weight:700;cursor:pointer;display:flex;gap:10px;align-items:center;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq-ico{flex:none;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--maroon),var(--red));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}.faq p{color:var(--muted);margin:8px 0 0}.faq p b{color:var(--ink)}
.cards.two{grid-template-columns:1fr 1fr}
.branch{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.branch-photo{position:relative;height:180px;background:linear-gradient(135deg,#7a1019,#ff7a1a);display:flex;align-items:center;justify-content:center;overflow:hidden}
.branch-photo span{position:absolute;color:#fff;font-weight:800;letter-spacing:1.5px;font-size:13px;text-align:center;padding:0 16px}
.branch-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.branch-body{padding:18px}.branch-body h3{margin:0 0 6px}.branch-body p{color:var(--muted);margin:0 0 14px}
.lead-center{max-width:740px;margin:0 auto;text-align:center}
.about-line{width:72px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--red),var(--orange));margin:12px auto 0}
.about-grid{align-items:start}
.about-badge{display:inline-block;background:linear-gradient(135deg,var(--orange),var(--red));color:#fff;font-weight:800;font-size:12px;letter-spacing:1px;padding:6px 14px;border-radius:999px;margin-bottom:12px}
.about-lead{font-size:17px;line-height:1.7;border-left:4px solid var(--orange);padding-left:14px;margin:0 0 12px}
.about-points{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.about-points b{display:block}
.about-points b::before{content:"• ";color:var(--orange)}
.about-video{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#18090b}
.about-video video{width:100%;height:300px;object-fit:cover;display:block}
.about-video-cap{position:absolute;left:0;right:0;bottom:0;padding:36px 18px 16px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.7));color:#fff;text-align:center;pointer-events:none}
.about-video-cap b{display:block;font-size:18px}
.about-video-cap span{font-size:13px;color:#ffe9dd}
.about-cta{margin-top:14px;background:linear-gradient(135deg,var(--orange),var(--red))}
.svc.visi{border-left:4px solid var(--orange)}
.tldr{max-width:780px;margin:16px auto 0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;font-size:15px;line-height:1.7}
.mt{margin-top:26px}
footer{background:#18090b;color:#e8c9c9;padding:28px 0}.foot{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.foot .brand img{width:44px;height:44px}
@media(max-width:900px){.grid2{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.fleet{grid-template-columns:1fr 1fr}.menu{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;padding:16px;border-bottom:1px solid var(--line)}.menu.open{display:flex}.menu a{color:var(--ink)}.hamburger{display:block}.hero-arrow{width:42px;height:42px;font-size:24px}.hero-arrow.left{left:10px}.hero-arrow.right{right:10px}.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(3)::before{display:none}}
@media(max-width:560px){.cards,.fleet{grid-template-columns:1fr}}
