/* BIMA TRANS — DESAIN WEBSITE
   Ubah warna utama di :root. Atur tampilan mobile di @media.
*/


:root {
  --blue:#0759b8;
  --navy:#0d284b;
  --orange:#f97316;
  --bg:#f3f8ff;
  --green:#16a34a}

* {
  box-sizing:border-box}

html {
  scroll-behavior:smooth}

body {
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  color:#21334c;
  background:#fff}

a {
  text-decoration:none;
  color:inherit}

.wrap {
  width:min(1160px,92%);
  margin:auto}

.top {
  background:#0b2a50;
  color:white;
  padding:9px 0;
  overflow:hidden;
  white-space:nowrap;
  font-size:12px;
  font-weight:750}

.ticker-track {
  display:flex;
  width:max-content;
  gap:48px;
  animation:ticker-scroll 28s linear infinite}

.ticker-track span {flex:0 0 auto}

@keyframes ticker-scroll {
  to {transform:translateX(-50%)}}

.head {
  position:sticky;
  top:0;
  z-index:20;
  background:#ffffffee;
  backdrop-filter:blur(14px);
  border-bottom:1px solid #e6edf6}

.nav {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  min-height:72px}

.brand {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:18px;
  font-weight:900;
  color:var(--navy)}

.brandmark {
  background:var(--blue);
  color:white;
  border-radius:13px;
  padding:11px;
  font-size:17px}

.links {
  display:flex;
  align-items:center;
  gap:24px;
  font-size:14px;
  font-weight:650}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:12px;
  padding:14px 20px;
  font-weight:800;
  background:var(--orange);
  color:#fff;
  border:0;
  cursor:pointer;
  transition:transform .2s,box-shadow .2s}

.btn:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 22px #f9731644}

.btn.green {
  background:var(--green)}

.btn.outline {
  background:#fff;
  color:var(--blue);
  border:1px solid #cddcf2}

.hero {
  background:linear-gradient(130deg,#eaf5ff,#fff 60%,#fff4e9);
  padding:76px 0 68px;
  overflow:hidden}

.hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  align-items:center;
  gap:46px;
  min-width:0}

.hero-grid > * {min-width:0;max-width:100%}

.eyebrow {
  display:inline-block;
  background:#dceeff;
  color:#0759b8;
  font-weight:800;
  padding:9px 14px;
  border-radius:99px;
  font-size:12px}

.hero h1 {
  font-size:clamp(34px,5vw,60px);
  line-height:1.09;
  letter-spacing:-1.8px;
  margin:22px 0}

.hero h1 span {
  color:var(--blue)}

.hero p {
  font-size:17px;
  line-height:1.8;
  color:#52657e;
  max-width:560px}

.actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px}

.tags {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:30px}

.tags span {
  font-size:12px;
  font-weight:700;
  background:white;
  border:1px solid #dce7f5;
  padding:9px 12px;
  border-radius:9px}

.hero-art {
  border-radius:28px;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:0;
  aspect-ratio:16 / 9;
  position:relative;
  background:linear-gradient(135deg,#1676d4,#0b376c);
  box-shadow:0 25px 60px #0b376c3b;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center}

.hero-art > img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center}

.hero-art.has-photo svg {display:none}

.hero-art.no-photo > img {display:none}

.hero-art.has-photo .hero-label {
  display:none}

.hero-art svg {
  width:92%;
  height:auto}

.hero-label {
  position:absolute;
  bottom:20px;
  left:20px;
  background:white;
  border-radius:12px;
  padding:13px 17px;
  font-weight:850;
  color:#0b376c;
  box-shadow:0 6px 30px #0002}

.section {
  padding:76px 0}

.soft {
  background:var(--bg)}

.center {
  text-align:center}

.kicker {
  color:var(--blue);
  font-weight:900;
  font-size:12px;
  letter-spacing:1.4px;
  text-transform:uppercase}

.section h2 {
  font-size:clamp(27px,3.5vw,40px);
  margin:10px 0 15px;
  color:var(--navy);
  letter-spacing:-.8px}

.lead {
  color:#65758a;
  line-height:1.75;
  max-width:720px;
  margin:0 auto 36px}

.cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px}

.card {
  background:white;
  border:1px solid #e1e9f3;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 30px #0c3d7210}

.card-art {
  height:175px;
  background:linear-gradient(145deg,#d9eaff,#a9cdf8);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:76px}

.card-content {
  padding:23px}

.card h3 {
  margin:0 0 10px;
  font-size:20px;
  color:var(--navy)}

.card p {
  color:#64748b;
  line-height:1.7;
  font-size:14px}

.text-link {
  font-weight:850;
  color:var(--blue)}

.service {
  padding:70px 0;
  border-bottom:1px solid #e6edf6;
  scroll-margin-top:80px}

.service:nth-child(even) {
  background:#f9fbff}

.service-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px;
  margin-bottom:24px}

.service-head p {
  color:#61758a;
  line-height:1.7;
  max-width:740px}

.gallery {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px}

.service-head + .gallery {margin-top:24px}
.gallery + .gallery {margin-top:26px}

.slot {
  border-radius:12px;
  overflow:hidden;
  background:linear-gradient(135deg,#e8f1fc,#d4e6f8);
  aspect-ratio:4/3;
  position:relative;
  border:1px solid #d8e6f5}

.slot img,.slot video {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block}

.placeholder {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  color:#6684a6;
  font-size:12px;
  text-align:center;
  padding:10px;
  gap:7px}

.placeholder b {
  font-size:29px}

.slot.video {
  aspect-ratio:16/10;
  background:#112c4f}

.slot.video .placeholder {
  color:#e0ebfa;
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none}

.slot.video .placeholder b {
  font-size:30px}

.slot.video video {
  background:#102943}

.slot video {
  max-width:100%}

.service-cta {
  margin-top:28px;
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap}

.hint {
  font-size:12px;
  color:#738299}

.gallery.video-gallery {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}

.benefits {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px}

.benefit {
  background:white;
  border:1px solid #e1e9f3;
  border-radius:16px;
  padding:22px}

.benefit strong {
  display:block;
  margin:12px 0;
  color:var(--navy)}

.benefit p {
  font-size:13px;
  color:#65758a;
  line-height:1.6}

.steps {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px}

.step {
  padding:22px;
  border-radius:16px;
  background:#f2f7fd}

.num {
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:10px;
  background:var(--blue);
  color:white;
  font-weight:900}

.step h3 {
  font-size:16px}

.step p {
  font-size:13px;
  color:#65758a;
  line-height:1.6}

.cta-band {
  background:linear-gradient(110deg,#0759b8,#092f61);
  color:white;
  padding:58px 0}

.cta-band h2 {
  color:white}

.cta-band p {
  color:#dbeafe;
  line-height:1.7}

.faq {
  max-width:850px;
  margin:auto}

details {
  border-bottom:1px solid #e1e9f3;
  padding:18px 0}

summary {
  cursor:pointer;
  font-weight:800;
  color:var(--navy)}

details p {
  color:#64748b;
  line-height:1.7}

.footer {
  background:#0b223f;
  color:#c7d5e5;
  padding:40px 0}

.footer-grid {
  display:flex;
  justify-content:space-between;
  gap:30px;
  flex-wrap:wrap}

.footer strong {
  color:white}

.floatwa {
  position:fixed;
  right:19px;
  bottom:19px;
  z-index:30;
  background:#16a34a;
  color:white;
  padding:15px 19px;
  border-radius:100px;
  box-shadow:0 9px 26px #0c8c3c66;
  font-weight:900}

.btn.green.wa,.floatwa.wa {
  animation:emergency-blink 1.1s ease-in-out infinite}

@keyframes emergency-blink {
  0%,100% {background-color:#16a34a;box-shadow:0 8px 24px #16a34a66;transform:scale(1)}
  50% {background-color:#dc2626;box-shadow:0 0 0 8px #dc262633,0 10px 30px #dc262688;transform:scale(1.035)}}

.menu-btn {
  display:none;
  background:none;
  border:0;
  font-size:25px;
  color:var(--navy)}

@media(max-width:900px) {
  .links {
  gap:12px}

.links a:not(.btn) {
  display:none}

.hero-grid {
  grid-template-columns:minmax(0,1fr)}

.hero-art {order:-1}

.cards {
  grid-template-columns:1fr 1fr}

.gallery {
  grid-template-columns:repeat(3,1fr)}

.benefits,.steps {
  grid-template-columns:repeat(2,1fr)}}

@media(max-width:600px) {
  .nav {
  min-height:64px}

.brand {
  font-size:15px}

.links .btn {
  padding:10px 12px;
  font-size:12px}

.hero {
  padding:16px 0 38px}

.hero h1 {
  letter-spacing:-1px}

.hero p {
  font-size:15px}

.hero-art {
  border-radius:20px}

.section {
  padding:55px 0}

.cards,.benefits,.steps {
  grid-template-columns:1fr}

.gallery {
  grid-template-columns:repeat(2,1fr);
  gap:9px}

.service {
  padding:52px 0}

.service-head {
  display:block}

.floatwa {
  bottom:13px;
  right:12px;
  padding:13px 15px;
  font-size:13px}

.hero-label {
  font-size:12px}

.card-art {
  height:140px}}

@media(prefers-reduced-motion:reduce) {
  .ticker-track,.btn.green.wa,.floatwa.wa {animation:none}
}


/* FIX: foto asli hero tanpa ilustrasi fallback */
.hero-art .hero-error{display:none;color:#fff;text-align:center;padding:20px;font-weight:700}
.hero-art.no-photo .hero-error{display:block}
.hero-art.no-photo>img{display:none}
.hero-art.has-photo .hero-error{display:none}
.slot.video .placeholder{display:none}
.slot.video video{display:block;width:100%;height:100%;object-fit:contain}
