/* ==========================================================================
   JR — PT Interior Studio JR  (layer penyesuaian di atas style.css template)
   Warna brand: navy #194378  •  oranye #f37a24
   ========================================================================== */

body { color: #5d6470; }

h1, h2, h3, h4, h5 { color: #194378; }
a { color: #194378; }
a:hover, a:focus { color: #f37a24; }

/* ---------- header ---------- */
.main-header .header-top .social-icon a { color: #ffffff; }
.main-header .header-top .top-right ul li { color: rgba(255,255,255,.85); font-size: 13px; }
.main-header .header-top .top-right ul li span { color: #f37a24; margin-right: 6px; }
.main-header .nav-outer .outer-box { float: right; margin: 22px 0 0 18px; }
.main-header .nav-outer .outer-box .theme-btn { padding: 10px 20px; font-size: 14px; }
@media (max-width: 1023px) {
  .main-header .nav-outer .outer-box { margin-top: 12px; }
}

/* ---------- hero slider ---------- */
.main-slider .tp-banner li:after {
  content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(15,44,82,.82) 0%, rgba(25,67,120,.55) 48%, rgba(25,67,120,.20) 100%);
}
.main-slider .tp-banner .tp-caption { z-index: 5; }
.main-slider .tp-banner h1,
.main-slider .tp-banner h2 {
  font-size: 54px; line-height: 1.12; font-weight: 700; color: #fff;
  text-shadow: 0 2px 18px rgba(0,0,0,.35); margin-bottom: 10px;
}
.main-slider .tp-banner .text { color: rgba(255,255,255,.92); font-size: 17px; line-height: 1.7; max-width: 620px; }
.main-slider .theme-btn { margin-top: 8px; }
@media (max-width: 767px) {
  .main-slider .tp-banner h1,
  .main-slider .tp-banner h2 { font-size: 30px; }
  .main-slider .tp-banner .text { font-size: 15px; }
}

/* ---------- section titles ---------- */
.sec-title h2 { font-size: 30px; }
.sec-title .sub-title, .sub-title { color: #7b8492; font-size: 15px; margin-top: 6px; }
.bg-lightgrey { background: #f6f7f9; }
.padd-bottom-40 { padding-bottom: 40px; }
.padd-bottom-20 { padding-bottom: 20px; }
.padd-bottom-60 { padding-bottom: 60px; }
.padd-bottom-70 { padding-bottom: 70px; }
.padd-top-50 { padding-top: 50px; }
.lead-center { max-width: 780px; margin: 0 auto; font-size: 16px; line-height: 1.8; color: #6b7280; }

/* ---------- welcome ---------- */
.welcome-section .inner-content h2 { font-size: 32px; margin-bottom: 12px; }
.welcome-section .inner-content h3 { font-size: 18px; font-weight: 500; color: #6b7280; line-height: 1.6; margin-bottom: 18px; }
.welcome-section .author-title h4 { margin-bottom: 2px; }
.welcome-section .author-title .designation { font-size: 13px; color: #8b93a1; }
.welcome-section .service-link { color: #f37a24; font-weight: 600; }
.service-block-one .inner-box { border-bottom: 1px solid #eceef2; }

/* ---------- layanan ---------- */
.best-service-section .service-block-two .inner-box { border: 1px solid #eceef2; border-radius: 10px; overflow: hidden; }
.best-service-section .service-block-two .lower-content h3 { font-size: 19px; min-height: 52px; }
.best-service-section .service-block-two .read-more { color: #f37a24; font-weight: 600; }
.service-block-two .inner-box:hover { box-shadow: 0 18px 40px rgba(25,67,120,.12); }
.step-box { background: #fff; border: 1px solid #eceef2; border-radius: 10px; padding: 26px 24px; margin-bottom: 26px; height: 100%; position: relative; }
.step-box .step-no { font-size: 30px; font-weight: 700; color: #f37a24; line-height: 1; margin-bottom: 10px; }
.step-box h3 { font-size: 17px; margin-bottom: 8px; }
.step-box p { font-size: 14px; margin: 0; color: #6b7280; }

/* ---------- proyek / galeri ---------- */
.gallery-section .filter-btns li { cursor: pointer; }
.gallery-section .default-portfolio-item .overlay-box .content h3 { font-size: 18px; color: #fff; }
.gallery-section .default-portfolio-item .overlay-box .content .text { font-size: 13px; color: rgba(255,255,255,.85); }
.project-meta { list-style: none; padding: 0; margin: 0 0 22px; }
.project-meta li { display: inline-block; margin: 0 22px 8px 0; font-size: 14px; color: #6b7280; }
.project-meta li span { color: #f37a24; margin-right: 6px; }
.proj-shot { margin: 0 0 22px; border-radius: 10px; overflow: hidden; }
.proj-shot img { width: 100%; height: auto; display: block; }
.sub-heading { font-size: 20px; margin: 28px 0 14px; }

/* ---------- nilai (values) ---------- */
.value-grid .icon-box-2 { background: #fff; border: 1px solid #eceef2; border-radius: 10px; padding: 28px 24px; margin-bottom: 26px; height: 100%; }
.value-grid .icon-box-2 .icon { font-size: 30px; color: #f37a24; margin-bottom: 12px; }
.value-grid .icon-box-2 h3 { font-size: 17px; margin-bottom: 8px; }
.value-grid .icon-box-2 p { font-size: 14px; margin: 0; color: #6b7280; }

/* ---------- stats ---------- */
.sponsors-section .fact-counter .inner-box { text-align: center; padding: 20px 14px; }
.sponsors-section .fact-counter .icon-box { font-size: 26px; color: #f37a24; margin-bottom: 10px; }
.sponsors-section .fact-counter .counter-title { font-size: 34px; margin-bottom: 4px; }
.sponsors-section .fact-counter h4 { font-size: 15px; margin-bottom: 6px; }
.sponsors-section .fact-counter p { font-size: 13px; color: #8b93a1; margin: 0; }

/* ---------- visi misi ---------- */
.boxed-visi { background: #f6f7f9; border-left: 4px solid #f37a24; border-radius: 8px; padding: 24px; }
.boxed-visi .icon-box { font-size: 26px; color: #194378; margin-bottom: 10px; }
.boxed-visi p { margin: 0; font-size: 15px; }
.misi-list { list-style: none; padding: 0; margin: 0; }
.misi-list li { position: relative; padding: 0 0 14px 32px; font-size: 15px; }
.misi-list li:before { content: "\f00c"; font-family: FontAwesome; position: absolute; left: 0; top: 2px; color: #f37a24; }

/* ---------- struktur ---------- */
.team-member-box { background: #fff; border: 1px solid #eceef2; border-radius: 10px; padding: 30px 20px; margin-bottom: 26px; }
.initial-avatar { width: 78px; height: 78px; line-height: 78px; border-radius: 50%; margin: 0 auto 14px; background: #194378; color: #fff; font-size: 26px; font-weight: 700; letter-spacing: 1px; }
.team-member-box h3 { font-size: 18px; margin-bottom: 4px; }
.team-member-box .designation { font-size: 13px; color: #8b93a1; }

/* ---------- about figure ---------- */
.about-figure { margin: 0 0 20px; border-radius: 10px; overflow: hidden; }
.about-figure img { width: 100%; display: block; }
.mini-stats .mini-box { background: #f6f7f9; border-radius: 8px; padding: 16px; text-align: center; margin-bottom: 16px; }
.mini-stats .mini-box strong { display: block; font-size: 13px; color: #8b93a1; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }
.mini-stats .mini-box span { font-size: 16px; color: #194378; font-weight: 600; }

/* ---------- sidebar ---------- */
.sidebar .sidebar-widget { background: #fff; border: 1px solid #eceef2; border-radius: 10px; padding: 24px; margin-bottom: 26px; }
.sidebar .widget-title { font-size: 17px; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid #eceef2; }
.sidebar .list-three { list-style: none; padding: 0; margin: 0; }
.sidebar .list-three li { padding: 7px 0; border-bottom: 1px dashed #eceef2; font-size: 14px; }
.sidebar .list-three li:last-child { border-bottom: none; }
.sidebar .c-line { font-size: 14px; margin-bottom: 8px; }
.sidebar .c-line span { color: #f37a24; margin-right: 8px; }
.contact-info-list { list-style: none; padding: 0; margin: 0 0 18px; }
.contact-info-list li { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px dashed #eceef2; font-size: 14px; }
.contact-info-list li span { color: #f37a24; width: 18px; text-align: center; margin-top: 3px; }
.mini-legal { list-style: none; padding: 0; margin: 0; font-size: 14px; }
.mini-legal li { padding: 6px 0; border-bottom: 1px dashed #eceef2; }
.mini-legal li:last-child { border-bottom: none; }

/* ---------- legal ---------- */
.legal-table, .kbli-table { width: 100%; border-collapse: collapse; margin-bottom: 26px; font-size: 14px; }
.legal-table th { width: 42%; text-align: left; padding: 10px 12px; background: #f6f7f9; color: #194378; font-weight: 600; border: 1px solid #eceef2; }
.legal-table td { padding: 10px 12px; border: 1px solid #eceef2; }
.kbli-table th { text-align: left; padding: 10px 12px; background: #194378; color: #fff; }
.kbli-table td { padding: 9px 12px; border: 1px solid #eceef2; }
.kbli-table .k-code { width: 90px; font-weight: 600; color: #f37a24; }
.legal-note { font-size: 13px; color: #8b93a1; }
.doc-list { list-style: none; padding: 0; margin: 0 0 12px; }
.doc-list li { padding: 9px 0; border-bottom: 1px dashed #eceef2; font-size: 14px; }
.doc-list li span { color: #d9534f; margin-right: 8px; }
.muted { color: #8b93a1; }
.small-note { font-size: 12.5px; }

/* ---------- form ---------- */
.form-box .form-group { margin-bottom: 18px; }
.form-box label { display: block; font-size: 13.5px; font-weight: 600; color: #194378; margin-bottom: 6px; }
.form-box label span { color: #f37a24; }
.form-box input[type="text"], .form-box input[type="tel"], .form-box input[type="email"],
.form-box select, .form-box textarea {
  width: 100%; padding: 12px 14px; border: 1px solid #dfe3e9; border-radius: 8px; font-size: 14.5px; color: #333; background: #fff;
}
.form-box input:focus, .form-box select:focus, .form-box textarea:focus { border-color: #f37a24; outline: none; box-shadow: 0 0 0 3px rgba(243,122,36,.12); }
.form-box .alert { border-radius: 8px; font-size: 14px; }
.form-box .theme-btn { border: none; cursor: pointer; }

/* ---------- call box ---------- */
.call-box-inner { background: #f6f7f9; border-radius: 10px; padding: 26px; margin-top: 30px; }
.call-box-inner h3 { font-size: 19px; margin-bottom: 8px; }
.call-box-inner p { font-size: 14.5px; margin-bottom: 16px; }

/* ---------- cta ---------- */
.call-to-action { position: relative; }
.call-to-action .buttons-box { margin-top: 18px; }
.call-to-action .buttons-box .theme-btn { margin: 0 6px 10px; }
.call-to-action h2 { color: #fff; }
.call-to-action p { color: rgba(255,255,255,.9); max-width: 760px; margin: 0 auto 6px; }

/* ---------- newsletter ---------- */
.newsletter-style-one h2 { font-size: 26px; margin-bottom: 10px; }
.newsletter-style-one p { font-size: 15px; }
.newsletter-style-one .theme-btn.big { padding: 16px 32px; font-size: 16px; }
.newsletter-style-one .wa-note { margin-top: 10px; font-size: 14px; color: #8b93a1; }

/* ---------- faq ---------- */
.faqs-section .faq-item { border: 1px solid #eceef2; border-radius: 8px; margin-bottom: 12px; overflow: hidden; }
.faqs-section .faq-item .panel-heading { background: #fff; padding: 0; border: none; }
.faqs-section .faq-item .panel-title a { display: block; padding: 16px 20px; font-size: 15.5px; color: #194378; text-decoration: none; }
.faqs-section .faq-item .panel-title a:after { content: "\f107"; font-family: FontAwesome; float: right; color: #f37a24; }
.faqs-section .faq-item .panel-title a[aria-expanded="true"]:after { content: "\f106"; }
.faqs-section .faq-item .panel-body { border-top: 1px solid #eceef2; font-size: 14.5px; background: #fbfbfc; }
.faqs-section .panel-group .panel + .panel { margin-top: 0; }

/* ---------- footer ---------- */
.main-footer .footer-widget h3 { color: #fff; font-size: 17px; margin-bottom: 16px; }
.main-footer .about-widget p { color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.75; }
.main-footer .footer-logo img { max-width: 190px; margin-bottom: 14px; }
.main-footer .f-contact { list-style: none; padding: 0; margin: 0; }
.main-footer .f-contact li { color: rgba(255,255,255,.78); font-size: 14px; padding: 4px 0; }
.main-footer .f-contact li span { color: #f37a24; margin-right: 8px; }
.main-footer .f-contact a { color: rgba(255,255,255,.85); }
.main-footer .list { list-style: none; padding: 0; margin: 0; }
.main-footer .list li { padding: 6px 0; font-size: 14px; }
.main-footer .list li a { color: rgba(255,255,255,.78); }
.main-footer .list li a:hover { color: #f37a24; }
.main-footer .list li span { color: #f37a24; margin-right: 8px; }
.main-footer .footer-gallery { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.main-footer .footer-gallery li { width: calc(50% - 4px); }
.main-footer .footer-gallery li img { width: 100%; border-radius: 6px; display: block; }
.main-footer .quick-links { list-style: none; padding: 12px 0 0; margin: 0; }
.main-footer .quick-links li { padding: 4px 0; font-size: 14px; }
.main-footer .quick-links a { color: rgba(255,255,255,.8); }
.main-footer .footer-bottom { color: rgba(255,255,255,.7); font-size: 13.5px; }
.main-footer .footer-bottom a { color: #f37a24; }
.main-footer .theme-btn { margin-top: 14px; }

/* ---------- misc ---------- */
.page-title { position: relative; }
.page-title h1 { color: #fff; text-shadow: 0 2px 14px rgba(0,0,0,.35); }
.page-info h2 { font-size: 22px; }
.bread-crumb li { font-size: 13.5px; }
.map-section .map-canvas { line-height: 0; }
.text-center { text-align: center; }
.footer-bottom .pull-left, .footer-bottom .pull-right { padding: 0; }

/* ---------- ukuran logo (template aslinya 200x50, logo klien 904x520) ---------- */
.main-header .main-box .logo-box .logo img { max-width: 205px; width: auto; height: auto; display: inline-block; }
.hidden-bar .hidden-bar-wrapper .logo img { max-width: 200px; width: auto; height: auto; }
.main-footer .footer-widget .footer-logo img { max-width: 200px; width: auto; height: auto; }
@media (max-width: 1023px) {
  .main-header .main-box .logo-box .logo img { max-width: 165px; }
  .hidden-bar .hidden-bar-wrapper .logo img { max-width: 175px; }
}
@media (max-width: 767px) {
  .main-header .main-box .logo-box .logo img { max-width: 140px; }
}

/* ---------- galeri proyek: pastikan gambar & tombol filter konsisten ---------- */
.gallery-section .default-portfolio-item .image-box { margin: 0; overflow: hidden; display: block; }
.gallery-section .default-portfolio-item .image-box img { width: 100%; height: auto; display: block; }
.gallery-section .filters .filter-tabs li { cursor: pointer; }
.gallery-section .more-projects { margin-top: 40px; }

/* ---------- hero mobile (pengganti slider Revolution di layar kecil) ---------- */
.mobile-hero { display: none; position: relative; background-size: cover; background-position: center center; }
.mobile-hero .overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,44,82,.80) 0%, rgba(25,67,120,.62) 100%); }
.mobile-hero .hero-inner { position: relative; z-index: 2; padding: 74px 0 66px; max-width: 560px; }
.mobile-hero h2 { color: #fff; font-size: 28px; line-height: 1.2; margin-bottom: 10px; text-shadow: 0 2px 14px rgba(0,0,0,.35); }
.mobile-hero p { color: rgba(255,255,255,.92); font-size: 14.5px; line-height: 1.65; margin-bottom: 18px; }
.mobile-hero .buttons .theme-btn { margin: 0 8px 10px 0; font-size: 13.5px; padding: 11px 18px; }
@media (max-width: 767px) {
  .main-slider { display: none !important; }
  .mobile-hero { display: block; }
}

/* ---------- kartu proyek portofolio (revisi: card saja, tanpa halaman detail) ---------- */
.jr-proj-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; }
.jr-more-projects { margin-top: 40px; }
.jr-proj-card {
  display: block; position: relative; background: #fff; border: 1px solid #eceef2; border-radius: 12px;
  overflow: hidden; box-shadow: 0 8px 24px rgba(25,67,120,.07);
  transition: transform .28s ease, box-shadow .28s ease; height: 100%;
}
a.jr-proj-card, a.jr-proj-card:hover, a.jr-proj-card:focus { text-decoration: none; color: inherit; }
.jr-proj-card:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(25,67,120,.16); }
.jr-pc-media { position: relative; height: 265px; overflow: hidden; background: #dfe3e9; }
.jr-proj-card-lg .jr-pc-media { height: 300px; }
.jr-pc-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .55s ease; }
.jr-proj-card:hover .jr-pc-media img { transform: scale(1.05); }
.jr-pc-media:before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 58%; z-index: 2;
  background: linear-gradient(180deg, rgba(10,26,48,0) 0%, rgba(10,26,48,.74) 100%);
}
.jr-pc-cat {
  position: absolute; top: 14px; left: 14px; z-index: 3; background: #f37a24; color: #fff;
  font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
  padding: 6px 12px; border-radius: 5px; line-height: 1.3;
}
.jr-pc-title {
  position: absolute; left: 18px; right: 18px; bottom: 14px; z-index: 3;
  color: #fff; font-size: 19px; font-weight: 700; line-height: 1.35; text-shadow: 0 2px 12px rgba(0,0,0,.45);
}
.jr-slider { position: absolute; inset: 0; z-index: 1; }
.jr-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .9s ease; }
.jr-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.jr-slide.active { opacity: 1; }
.jr-pc-body { padding: 20px 22px 22px; }
.jr-pc-body p { font-size: 14px; line-height: 1.72; color: #5d6470; margin-bottom: 10px; }
.jr-pc-meta { display: block; font-size: 13px; color: #8b93a1; margin-bottom: 14px; }
.jr-pc-meta .fa { color: #f37a24; margin-right: 6px; }
.jr-thumbs { display: flex; flex-wrap: wrap; gap: 8px; }
.jr-thumbs img {
  width: 64px; height: 48px; object-fit: cover; border-radius: 6px; cursor: zoom-in;
  border: 1px solid #e3e7ee; transition: transform .2s, border-color .2s;
}
.jr-thumbs img:hover { border-color: #f37a24; transform: translateY(-2px); }
@media (max-width: 991px) {
  .jr-proj-grid { grid-template-columns: 1fr; }
  .jr-pc-media, .jr-proj-card-lg .jr-pc-media { height: 250px; }
}
@media (max-width: 767px) {
  .jr-pc-media, .jr-proj-card-lg .jr-pc-media { height: 215px; }
  .jr-pc-title { font-size: 17px; }
}

/* ---------- lightbox foto proyek ---------- */
.jr-lb { position: fixed; inset: 0; z-index: 100000; background: rgba(8,18,34,.94); display: none; align-items: center; justify-content: center; }
.jr-lb.open { display: flex; }
.jr-lb img { max-width: 90vw; max-height: 82vh; border-radius: 6px; box-shadow: 0 24px 70px rgba(0,0,0,.55); }
.jr-lb .jr-lb-cap { position: absolute; left: 0; right: 0; bottom: 22px; text-align: center; color: #fff; font-size: 14px; padding: 0 70px; }
.jr-lb .jr-lb-counter { position: absolute; top: 20px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.85); font-size: 13px; letter-spacing: .05em; }
.jr-lb button {
  position: absolute; z-index: 2; width: 46px; height: 46px; border-radius: 50%; border: none;
  background: rgba(255,255,255,.14); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; transition: background .2s;
}
.jr-lb button:hover { background: #f37a24; }
.jr-lb .jr-lb-close { top: 18px; right: 20px; }
.jr-lb .jr-lb-prev { left: 22px; top: 50%; transform: translateY(-50%); }
.jr-lb .jr-lb-next { right: 22px; top: 50%; transform: translateY(-50%); }
@media (max-width: 767px) {
  .jr-lb .jr-lb-prev { left: 8px; }
  .jr-lb .jr-lb-next { right: 8px; }
}

/* ---------- header: rapikan menu + CTA sejajar (revisi) ---------- */
@media only screen and (min-width: 1024px) {
  .main-header .main-box .outer-container { padding: 0; display: flex; align-items: center; }
  .main-header .main-box .logo-box { float: none; padding: 18px 0; margin-right: 26px; }
  .main-header .main-box .logo-box .logo img { max-width: 185px; }
  .main-header .nav-outer { float: none; display: flex; align-items: center; margin-left: auto; }
  .main-header .nav-outer .outer-box { float: none; margin: 0 0 0 20px; }
  .main-header .nav-outer .outer-box .theme-btn { padding: 11px 22px; font-size: 13.5px; white-space: nowrap; }
  .main-menu .navigation > li { padding: 28px 0; }
  .main-menu .navigation > li > a { padding: 9px 13px; font-size: 13.5px; }
}
@media only screen and (min-width: 1024px) and (max-width: 1199px) {
  .main-header .main-box .logo-box .logo img { max-width: 165px; }
  .main-menu .navigation > li > a { padding: 8px 9px; font-size: 12.75px; }
  .main-header .nav-outer .outer-box { margin-left: 12px; }
  .main-header .nav-outer .outer-box .theme-btn { padding: 10px 16px; font-size: 12.5px; }
}
@media only screen and (max-width: 1023px) {
  .main-header .main-box .outer-container { padding: 0; }
  .main-header .nav-toggler { right: 15px; }
}

/* ---------- kartu layanan: ikon di atas, konten lega, tinggi sama ---------- */
.best-service-section .row { display: flex; flex-wrap: wrap; }
.best-service-section .row:before, .best-service-section .row:after { display: none; }
.best-service-section .service-block-two { display: flex; }
.best-service-section .service-block-two .inner-box { display: flex; flex-direction: column; height: 100%; width: 100%; padding: 26px 24px 24px; }
.best-service-section .service-block-two .icon-box { position: static; width: 56px; height: 56px; line-height: 54px; font-size: 26px; border-radius: 8px; margin-bottom: 18px; }
.best-service-section .service-block-two .lower-content { display: flex; flex-direction: column; flex: 1; }
.best-service-section .service-block-two .lower-content h3 { font-size: 18px; min-height: 0; margin: 0 0 10px; }
.best-service-section .service-block-two .lower-content .text { font-size: 14.5px; line-height: 1.7; }
.best-service-section .service-block-two .read-more { margin-top: auto; padding-top: 14px; font-size: 13px; letter-spacing: .4px; }

/* ---------- kartu nilai: grid rapi 3 x 2 ---------- */
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-left: 0; margin-right: 0; }
.value-grid:before, .value-grid:after { display: none; }
.value-grid > div { float: none; width: auto; padding-left: 0; padding-right: 0; }
.value-grid .icon-box-2 { margin-bottom: 0; height: 100%; }
@media (max-width: 991px) { .value-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .value-grid { grid-template-columns: 1fr; } }

/* ---------- angka statistik: kontras di latar navy ---------- */
.sponsors-section .fact-counter .counter-title { color: #ffffff; font-size: 40px; font-weight: 700; margin-bottom: 6px; }
.sponsors-section .fact-counter h4 { color: rgba(255,255,255,.94); font-size: 15px; margin-bottom: 6px; }
.sponsors-section .fact-counter p { color: rgba(255,255,255,.64); font-size: 13px; }


/* ---------- kartu layanan: seluruh area kartu bisa diklik ---------- */
.service-block-two .inner-box { position: relative; }
.service-block-two .inner-box .read-more { position: static; }
.service-block-two .inner-box .read-more::after {
  content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 9;
}

/* ---------- perangkat sentuh: matikan efek hover yang menempel ---------- */
@media (hover: none) {
  .service-block-two:hover .inner-box { background: #ffffff !important; }
  .service-block-two:hover .inner-box .icon-box { background: #f37a24 !important; color: #ffffff !important; }
  .service-block-two:hover .inner-box h3 { color: #194378 !important; }
  .service-block-two:hover .inner-box .text { color: #9e9e9e !important; }
  .service-block-two:hover .inner-box a { color: #f37a24 !important; }
  .service-block-two .inner-box:hover .image-layer { opacity: 0 !important; }
}


/* ---------- newsletter (band oranye): tombol & keterangan harus kontras ---------- */
/* catatan: template memakai  .btn-style-one{color:#fff !important}  -> wajib !important */
.newsletter-style-one .theme-btn.btn-style-one {
  background: #ffffff; border-color: #ffffff; color: #194378 !important;
}
.newsletter-style-one .theme-btn.btn-style-one:hover {
  background: #194378; border-color: #194378; color: #ffffff !important;
}
.newsletter-style-one .wa-note { color: #ffffff; font-weight: 600; }

/* ---------- CTA: overlay sedikit lebih terang agar foto terlihat ---------- */
.call-to-action:before { background-color: rgba(0, 0, 0, 0.28); }

/* ---------- judul section yang center: garis bawah ikut center ---------- */
.sec-title.text-center h2:before { left: 50%; margin-left: -35px; }
.sec-title.text-center h2:after { left: 50%; margin-left: -35px; }


/* ---------- background biru klien (Asset-18) menggantikan area yang tadinya hitam ---------- */
.main-header .header-top {
  background: #0f7cc0 url("../img/bg-asset18.jpg") center/cover no-repeat;
}
.sponsors-section .fact-counter {
  background: #0f7cc0 url("../img/bg-asset18.jpg") center/cover no-repeat;
}
.sponsors-section .fact-counter:before { background-color: rgba(4, 36, 70, 0.14); }
.hidden-bar {
  background: #0f7cc0 url("../img/bg-asset18.jpg") center/cover no-repeat;
}
.main-footer { background-color: #0f7cc0; }
.main-footer .footer-bottom { background: rgba(4, 30, 58, 0.28); color: rgba(255, 255, 255, 0.9); }


/* ---------- footer: overlay template 96% hitam -> tipis, aset biru terlihat ---------- */
.main-footer:before { background: rgba(6, 30, 56, 0.18); }
.main-footer { background-position: center center; }


/* ---------- judul Susunan: nama PT di baris sendiri, satu baris penuh ---------- */
.sec-title h2 .pt-nowrap { white-space: nowrap; }
@media (max-width: 340px) { .sec-title h2 .pt-nowrap { white-space: normal; } }

/* ---------- bagan struktur organisasi ---------- */
.org-chart { max-width: 1080px; margin: 0 auto; }
.org-level { display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap; gap: 26px; }
.org-node {
  position: relative; background: #fff; border: 1px solid #eceef2; border-radius: 10px;
  padding: 26px 22px; text-align: center; min-width: 230px; flex: 0 1 260px;
  box-shadow: 0 10px 26px rgba(25,67,120,.06);
}
.org-node h3 { font-size: 18px; margin-bottom: 4px; }
.org-node .designation { font-size: 13px; color: #8b93a1; }
.org-node.org-top { border: 2px solid #f37a24; flex-basis: 300px; }
.org-node.org-top .initial-avatar { background: #f37a24; }
.org-connector { width: 2px; height: 38px; background: #d7dce4; margin: 0 auto; }
.org-row { position: relative; padding-top: 38px; }
.org-row:before { content: ""; position: absolute; top: 0; left: 16%; right: 16%; height: 2px; background: #d7dce4; }
.org-row > .org-node:before {
  content: ""; position: absolute; top: -38px; left: 50%; margin-left: -1px;
  width: 2px; height: 38px; background: #d7dce4;
}
.org-note { max-width: 780px; margin: 34px auto 0; font-size: 14px; color: #8b93a1; line-height: 1.75; }
@media (max-width: 991px) {
  .org-node { flex: 0 1 300px; }
  .org-row:before { left: 6%; right: 6%; }
}
@media (max-width: 767px) {
  .org-level { flex-direction: column; align-items: center; }
  .org-node { width: 100%; max-width: 340px; }
  .org-connector { height: 26px; }
  .org-row { padding-top: 26px; }
  .org-row:before { display: none; }
  .org-row > .org-node:before { top: -26px; height: 26px; }
}
