/* PT Trembesi Global Energi - brand overrides (Factry template) */
:root{--brand-red:#d81f26;--brand-navy:#24306c;--brand-dark:#181818;--brand-body:#5b6070;--brand-grey:#f5f6f8;}
body{color:var(--brand-body);}
h1,h2,h3,h4,h5,h6{color:var(--brand-dark);}
.sub__title__one,.sub__title,.text-theme{color:var(--brand-red) !important;}
.ht_btn{background-color:var(--brand-red);border-color:var(--brand-red);}
.ht_btn:hover{background-color:var(--brand-dark);border-color:var(--brand-dark);}
.ht_btn.hover-bg:hover{background-color:var(--brand-red);}
.section__title__one span{color:var(--brand-red);}
.black-bg .section__title__one,.black-bg h1,.black-bg h2,.black-bg h3,.black-bg h4{color:#fff;}
.theme__main__banner .main__title{color:#fff;}
.working__step .step{color:var(--brand-red);}
.counter__number{color:var(--brand-dark);}
.counter__number span{color:var(--brand-red);}
.footer-area a:hover,.footer-area .widget__query:hover{color:var(--brand-red);}
.menu-list > li > a:hover,.menu-list > li.current > a{color:var(--brand-red);}
/* no dropdown arrows on any menu item (client request) */
.menu-list > li > a:before,.menu-list > li:hover > a:before,.menu-list .sub-menu li a:before{content:none !important;display:none !important;}
.single__box__title a:hover{color:var(--brand-red);}
.services__icon img{filter:none;}
.page-title-wrapper .page-title{color:#fff;}
.breadcrumb li a,.breadcrumb li.active{color:rgba(255,255,255,.85);}
.wa-float{position:fixed;right:24px;bottom:26px;z-index:9999;line-height:0;}
@media (max-width:575px){.wa-float{right:16px;bottom:18px;}}
/* generic content helpers */
.page-title-area{background-size:cover;background-position:center;}
/* page-title banner: brand gradient scrim 100% -> 0% so white text never sits on the bare photo */
.page-title-area::before{background:linear-gradient(90deg,rgba(24,24,24,.94) 0%,rgba(24,24,24,.80) 32%,rgba(24,24,24,.28) 66%,rgba(24,24,24,0) 100%) !important;}
@media (max-width:991px){.page-title-area::before{background:linear-gradient(180deg,rgba(24,24,24,.86) 0%,rgba(24,24,24,.70) 55%,rgba(24,24,24,.42) 100%) !important;}}
.legal-table{width:100%;border-collapse:collapse;margin-bottom:10px;}
.legal-table th,.legal-table td{padding:13px 18px;border-bottom:1px solid rgba(255,255,255,.14);font-size:15px;text-align:left;color:rgba(255,255,255,.88);}
.legal-table th{color:#fff;font-weight:600;background:rgba(255,255,255,.05);}
.legal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;}
.legal-card{background:#fff;border:1px solid #eceef2;border-radius:12px;padding:22px 24px;height:100%;}
.legal-card h4{font-size:16px;line-height:1.45;margin-bottom:10px;}
.legal-card .kode{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.4px;color:#fff;background:var(--brand-red);border-radius:6px;padding:2px 10px;margin-bottom:12px;}
.legal-card p{margin-bottom:0;font-size:14px;}
.data-list{list-style:none;padding:0;margin:0;}
.data-list li{display:flex;gap:14px;padding:11px 0;border-bottom:1px dashed #e3e6ec;font-size:15px;}
.data-list li strong{flex:0 0 46%;color:var(--brand-dark);font-weight:600;}
.data-list li span{flex:1 1 auto;color:var(--brand-body);}
.check-list{list-style:none;padding:0;margin:0 0 30px;}
.check-list li{position:relative;padding-left:30px;margin-bottom:13px;line-height:1.6;}
.check-list li:before{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;border-radius:3px;background:var(--brand-red);opacity:.9;}
.black-bg .check-list li{color:rgba(255,255,255,.9);}
.black-bg .data-list li{border-color:rgba(255,255,255,.14);}
.black-bg .data-list li strong{color:#fff;}
.black-bg .data-list li span{color:rgba(255,255,255,.85);}
.org-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;}
.org-item{background:#fff;border:1px solid #eceef2;border-left:4px solid var(--brand-red);border-radius:10px;padding:16px 18px;font-size:15px;font-weight:600;color:var(--brand-dark);}
.org-item.top{border-left-color:var(--brand-navy);background:var(--brand-navy);color:#fff;}
.misi-list{list-style:none;padding:0;margin:0;}
.misi-list li{position:relative;padding-left:64px;margin-bottom:22px;line-height:1.65;}
.misi-list li:before{counter-increment:misi;content:counter(misi,decimal-leading-zero);position:absolute;left:0;top:0;font-family:"Urbanist",sans-serif;font-weight:800;font-size:26px;color:var(--brand-red);opacity:.55;line-height:1.15;}
.misi-list{counter-reset:misi;}
.scope-label{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--brand-red);border:1px solid rgba(216,31,38,.35);border-radius:50px;padding:4px 13px;margin-bottom:14px;}
.proj-meta{font-size:13.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--brand-red);font-weight:600;margin-bottom:8px;}
.form-note{font-size:13.5px;opacity:.75;margin-top:14px;}
.contact__info__wrapper .single__info__box span{word-break:break-word;}
/* keep decorative shapes and gallery thumbs inside the viewport (mobile overflow fix) */
.shapes,.shapes__1,.shapes__2,.shapes__3,.shapes__4,.about__shape__1,.about__shape__2,
.page-title-shape,.shapes__blur,.blur__shape{max-width:100%;}
.faq__img__wrapper img,.faq__thumb1,.faq__thumb2{max-width:100%;}
.faq__img__wrapper .faq__thumb1{width:230px;height:auto;}
.faq__img__wrapper .faq__thumb2{width:190px;height:auto;}
.about__circular__box{max-width:100%;}
.circular__box{max-width:100%;}
.services__thumb img,.case__thumb img{width:100%;height:auto;display:block;}
.services__thumb,.case__thumb{overflow:hidden;border-radius:6px;}
/* hero slider + header row were pushing past the viewport (horizontal scroll) */
.theme__main__banner{overflow:hidden;}
.header-custom-container .row{margin-left:0;margin-right:0;}
.container-fluid.px-0 > .row{margin-left:0;margin-right:0;}

@media (max-width:767px){.cta__wrapper.pl-50{padding-left:26px !important;padding-right:26px;}}
/* hero: same 100% -> 0% brand scrim as the page-title banner, so the headline, slider arrows
   and the "2 / 6" indicator never sit on the bare photo (keeps the right-side photo visible) */
.theme__main__banner{position:relative;overflow:hidden;}
.theme__main__banner::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;
  background:linear-gradient(100deg,rgba(18,18,18,.95) 0%,rgba(18,18,18,.84) 36%,rgba(18,18,18,.42) 62%,rgba(18,18,18,.04) 100%);}
.theme__main__banner > .container{position:relative;z-index:5;}
.theme__main__banner .hero__slider .swiper-button-prev,
.theme__main__banner .hero__slider .swiper-button-next,
.theme__main__banner .hero__slider .swiper-pagination{position:relative;z-index:6;}
@media (max-width:767px){.theme__main__banner::before{background:linear-gradient(180deg,rgba(18,18,18,.72) 0%,rgba(18,18,18,.86) 55%,rgba(18,18,18,.55) 100%);}}
/* ---------- QA pass: kerapian per section ---------- */
/* equal-height cards inside every card row (features, scopes, process steps, service grid) */
.about__area .row > [class*="col-"],.feature__area .row > [class*="col-"],
.services__area2 .row > [class*="col-"],.working__process__list1 > li{display:flex;}
.single__box,.working__step,.single__services__box{width:100%;display:flex;flex-direction:column;}
.working__step p{margin-bottom:0;}
/* readable measure for narrative paragraphs (was 80-140ch) */
.section__title > p{max-width:64ch;}
.section__title.text-center > p{margin-left:auto;margin-right:auto;}
.theme__content > p{max-width:620px;}
.cta__wrapper > p{max-width:58ch;margin-left:auto;margin-right:auto;}
.contact-form-one > p{max-width:60ch;}
.chose__text__wrapper .text-list li{max-width:52ch;}
/* service cards: content panel was absolute(bottom:-30) so titles sat at different heights per card.
   Put it in flow, keep the overlap with a negative top margin, and let it fill the card -> equal, aligned panels. */
.single__services__box{display:flex;flex-direction:column;}
.single__services__box .services__content{position:static;right:auto;bottom:auto;margin-top:-46px;flex:1 1 auto;display:flex;flex-direction:column;}
.single__services__box .single__service__title{margin-top:0;}
.single__services__box .services__content > p{margin-bottom:22px;max-width:44ch;}
.single__services__box .services__content > a{margin-top:auto;}
.services__slide__one .swiper-slide{height:auto;}          /* home slider: all cards stretch to the tallest */
.services__slide__one .single__services__box{height:100%;}
/* KBLI chips: tidy grid, equal height */
.legal-grid .legal-card{display:flex;flex-direction:column;justify-content:flex-start;}
.legal-grid .legal-card h4{color:var(--brand-dark) !important;}   /* white cards sit inside .black-bg: keep headings dark, not white-on-white */
.legal-grid .legal-card p{margin-bottom:0;}
/* map block sits on its own, no overlap with the CTA band below */
.map__section{position:relative;z-index:1;}
.map__section .map__area iframe{display:block;}
/* WhatsApp float must not collide with the template scroll-top button (bottom-right) */
.wa-float{bottom:104px;}
@media (max-width:575px){.wa-float{bottom:96px;}}

