  :root{
    --bg:#0f172a;        /* slate-900 */
    --bg-2:#111827;      /* gray-900 */
    --fg:#e5e7eb;        /* gray-200 */
    --fg-dim:#cbd5e1;    /* slate-300 */
    --accent:#22d3ee;    /* cyan-400 */
    --ring: 0 0 0 3px rgba(34,211,238,.35);
    --white:#FFF;
    --black:#000;
    --dark:#222;
    --gray:#333;
    --ahza:#071562;
    --ahzagold:#e1ba3b;
  }

  /* RESET RINGKAS */
  *,*::before,*::after{box-sizing:border-box}
 
  body{
    margin:0;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Agdasima',Arial,sans-serif;
    /*background:linear-gradient(180deg,var(--white),#efefef);*/
    color:var(--fg);
    background: url(bg-ar.jpg) right no-repeat;
    background-size: 50%;
    background-attachment: fixed;
  }

  a {color:inherit;text-decoration:none}
  ul{list-style:none;margin:0;padding:0}
  hr {border:1px solid rgba(0, 0, 0, 0.4); b}
  .wrap {
    position: relative;
    width: 100%;
    margin: 0;
  }
  .container {  
    width: 85%;
    margin: 0 auto;
  }
  .fr {float: right;}
  .fl {float: left;}
  .clear { clear:both; }
  .pd10 {padding: 10px}
  .pd20 {padding: 20px}
  .mb20 {margin-bottom: 20px}
  .bg-white {background: var(--white); opacity: 0.8}
  .bg-gold {background-image: linear-gradient( 0deg, #d6a836, #dfaf45, #ffe78a ); }
  .bg-green {background: rgba(0, 157, 78, 0.8); }
  .judul h1 {
    font-family: 'Agdasima';
    font-size: 38px;
    line-height: 1;
    color: var(--dark);
  }
  .judul .isi {
    font-size: 16px;
    line-height: 1.4;
    color: var(--dark);
  }
   /* CTA */
  }
  .tombol{
    padding:8px 14px;
    border-radius:3px;
    /*background:linear-gradient(135deg,#009d4f,#f2c24c);*/
    color:#071562;
    font-weight:500;
    border:1px solid rgba(0, 0, 0, 0.2);c
    ursor:pointer;
    transition:0.5s ease;
    text-transform: uppercase;
    margin-right: 20px;
  }
  .tombol:hover{
    filter:brightness(1.05); 
    background:linear-gradient(105deg,#FFF,#ede6d6);
    transition:0.3s ease;
    padding-left: 10px;
    padding-right: 19px;
  }
  .tombol:focus-visible{outline:none;box-shadow:var(--ring);}

   @media (max-width: 480px){
    .tombol {
      padding: 8px 10px;
      font-size: 13px;
    }
    .tombol:hover {
      filter:brightness(1.05); 
      background:#efefef!important;
      transition:0.3s ease;
    }
   }

  /*big HL*/
  .headline {
    position: relative;
  }
  .headline .gambar {
    width: 100%;
    overflow: hidden;
    height: 500px;
  }
  .headline .gambar img {
    width: 100%;
  }
  .headline .info {
    position: absolute;
    top: 50px;
    left: 0px;
  }
  .headline .info h1 {
    width: 100%;
    font-size: 58px;
    font-weight: 600;
    text-align: left;
    letter-spacing:-2px;
    line-height: 1.1;
    text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
  }
  .headline .info .desk {
    width: 50%;
    font-weight:500;
    font-size: 18px;
    text-align: left;
    line-height: 1.1;
    text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
    color: var(--white);
  }

 @media (max-width: 480px){
  .headline .gambar {
    height: 400px;
  }
  .headline .gambar img {
    height: 400px;
    min-width: 120%;
    width: auto;
    margin-left: -10%;
  }

  .headline .info {
    top: 20px;
  }

  .headline .info h1 {
    width: 100%;
    font-size: 38px;
  }
  .headline .info .desk {
    width: 100%;
  }

 }
 /*big HL*/

 /*profile*/
.profileimg {
  width: 40%;
  float: left;
  margin-right: 5%;
  overflow: hidden;
}
.profileimg img {
  width: 100%;
}
.profileinfo {
  width: 55%;
  float: left;
}
.profileinfo h1 {
  font-family: 'Agdasima';
  text-transform: uppercase;
  letter-spacing: -2px;
  line-height: 0.9;
  font-weight: 500;
  font-size: 72px;
  color: var(--ahzagold);
  padding: 0;
  margin: 0;
}
.profileinfo p {
  font-size: 18px;
  text-align: left;
  color: var(--dark);
}
.profileinfo .tombol {
   font-family: 'Agdasima';
  float: left;
  margin-top: 10px;
  padding: 10px 15px;
  border: 1px solid var(--ahzagold);
  color: var(--ahza);
  border-radius: 5px;
  font-weight: 600;
  transition:0.5s ease;
  font-size: 22px;
  margin-right: 25px;
}
.profileinfo .tombol:hover {
  color: var(--ahza);
  padding: 10px 13px;
}

@media (max-width: 480px){
  .profileimg, .profileinfo {
    width: 100%;
  }
  .profileinfo h1 {
    font-size: 38px;
    letter-spacing: 0.1px;
  }
  .profileinfo .tombol {
    adding: 5px 1px;
    font-size: 18px;
    margin-right: 10px;
  }
}
/* end profile*/

/*service*/
.service {
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 45px;
  padding:0px;
  transition:.2s ease;
}
.service .item{
  padding: 15px;
  width: auto;
  height:300px;
  text-align: center;
  overflow: hidden;
  margin: 0;
  border-radius: 10px;
  background: #FFF;
  border: 1px  solid rgba(228, 181, 65, 0.7);
  box-shadow: 0px 0px 10px rgba(228, 181, 65, 0.5);
}
.service .item .icon {
  width: 25%;
  overflow: hidden;
  margin: 0 auto;
}
.service .item .icon img {
  width: 100%;
}
.service .item h1 {
  font-size: 26px;
  font-family: 'Agdasima';
  color: var(--ahza);
}
.service .item p {
  color: var(--gray);
  font-size: 14px;
}
.layanan {width: 100%; margin: 15px auto;}
.layanan h1 {
  font-family: 'Agdasima';
  font-size: 50px;
  font-weight: 500;
  text-align: center;
  color: var(--ahza);
  text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.4);
  margin: 0;
}
.layanan p {
  font-size: 14px;
  text-align: center;
  color: var(--gray);
}

@media (max-width: 480px){
  .service {
    display: grid;
    grid-template-columns: auto;
  }
  .service .item {
    height: auto;
  }
  .layanan h1 {
    font-size: 32px;
    font-weight: 600;
  }
}
/*end service*/

/*space ask*/
.tanya {
  font-family: 'Agdasima';
  width: 100%;
  background: url(ask.jpg) no-repeat center;
  background-size: cover;
  height: auto;
  padding-top:1px;
}
.tanyacontain {
  width: 95%;
  margin: 0 auto;
}
.tanya .tanyacontain h1 {
  width: 100%;
  font-size: 70px;
  line-height: 1;
  padding: 0;
  margin: 15px 0 0 0;
}
.tanya .tanyacontain p {
  font-size: 30px;
}
.tanya .tanyacontain .tombol {
  padding: 10px 15px;
  border: 1px solid #efefef;
  color: #efefef;
  border-radius: 5px;
  font-weight: 600;
  transition:0.5s ease;
  font-size: 22px;
}
.tanya .tanyacontain .tombol:hover {
  color: var(--ahza);
  padding: 10px 13px;
}
@media (max-width: 480px){
  .tanya .tanyacontain h1 {
    font-size: 32px;
  }
}
/*space ask*/

/*slide in */
.box {
  opacity: 0;
  transform: translateY(80px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.box.slide-in {
  opacity: 1;
  transform: translateY(0);
}

/* Bisa variasi: slide dari kiri atau kanan */
.from-left { transform: translateX(-100px); }
.from-right { transform: translateX(100px); }
.from-bottom { transform: translateY(100px); }
/*end slide in */

/*proyek*/
.testimonial-slider {
    position: relative;
    padding-bottom: 4rem;
    overflow: hidden;
}

.testi-item{
    text-align: center;
    border-radius: 1rem;
    padding: 0;
    background: url(abs.jpg); 
    background-size: cover; 
    background-position: top;
    min-height: 200px;
}
.testi-item:hover{
    border-color: rgba(0, 0, 0, 0.4);
}
.testi-item .box-logo {
    background-color: none;
    height: 300px;
    width: 100%;
    border-radius: 2% 2% 0 0;
    margin: 0 auto;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0);
    overflow: hidden;
}
.testi-item .box-logo img {
    min-width: 150px;
    width: auto;
    max-width: 100%;
    min-height: 150px;
    height: auto;
}
.testi-item .tahun {
  position: absolute;
  top: 0;
  padding: 5px 10px;
  background: var(--ahza);
  border-bottom-right-radius:10px ;
}
.testi-item .intro{
    margin: 1rem 0;
    position: relative;
    z-index: 100;
}

.testi-item .intro h3{
    font-size: 1rem;
    color: var(--black);
    padding-bottom: 0.1rem;
}
.testi-item .intro h3:hover {
  color: var(--ahzagold);
}
.testi-item .intro h5{
    color: var(--dark);
    font-size: 0.8rem;
    font-weight: 400;
    font-style: italic;
}
.testi-item .intro a {
    color: var(--grey);
}

@media screen and (max-width: 600px) {
    .testi-item .box-logo {
        height: 160px;
    }
    .testi-item .fa {
    font-size: 1.5rem;
    margin-top: -30px;
    }
}
/*end proyek*/

/*footer*/
.footer {
  width: 100%;
  position: relative;
  background-image: linear-gradient(0deg, #000, #071562);
  margin: 0;
}
.footer .ask {
  background: url(tanya.jpg) no-repeat center;
  background-size: 100%;
}
.footer .ask .askcontain {
  width: 85%;
  margin: 15px auto;
}
.footer .ask .askcontain h1 {
  font-family: 'Agdasima';
  width: 50%;
  font-size: 70px;
  line-height: 0.8;
  text-transform: uppercase;
  float: left;
  margin: 70px 0 0 0;
}
.footer .ask .askcontain p {
  width: 60%;
  float: left;
}
.footer .ask .askcontain .tombol {
  float: right;
  margin-top: 100px;
  padding: 10px 15px;
  border: 1px solid #efefef;
  color: #efefef;
  border-radius: 5px;
  font-weight: 600;
  transition:0.5s ease;
  font-size: 22px;
}
.footer .ask .askcontain .tombol:hover {
  color: var(--ahza);
  padding: 10px 13px;
}

@media screen and (max-width: 600px) {
  .footer .ask {
    background-size: cover;
  }
  .footer .ask .askcontain {
    position: relative;
    height: 250px;
    margin: 0 auto;
  }
  .footer .ask .askcontain h1 {
    width: 85%!important;
  }
  .footer .ask .askcontain p {
    width: 90%;
  }
  .footer .ask .askcontain .tombol {
    float: left;
    position: absolute;
    bottom: 10px;
    left: 0;
  }
}

/*copyrights*/
.copyr {
  font-size: 12px;
  color: var(--ahzagold);
  text-align: center;
  padding: 15px 0;
}
.copyr a {
  color: var(--ahzagold);
}

/*Whatsapp*/
.wa { 
  position:sticky; 
  z-index: 100;
  bottom: 10px;
  right: 20px;
  background: var(--ahza);
  padding: 2px 11px;
  border: 1px solid var(--white);
  border-radius: 50%;
  width: 50px;
  height: 50px;
  font-size: 30px;
  float: right;
}

.footer .footcontain {
  width: 85%;
  margin: 15px auto;
}
.footer .footcontain .bagi {
  width: 33%;
  float: left;
}
.footer .footcontain {
  font-size: 12px;
  color: var(--ahzagold);
}
.footer .footcontain .medsositem {float: left;}
.footer .footcontain .medsositem img {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  margin: 5px 5px 5px 0;
}
.footer li {
  margin-left: 15px;
  font-size: 14px;
  margin-bottom: 10px;
}
.footer h1 {
  font-size: 20px;
  font-weight: 600;
}
.footer .footcontain .bagi i{
  margin-right: 7px;
  float: right;
  margin-top: 5px;
  text-align: right;
}
.exp {
  float: left;
  margin-bottom: 10px;
  clear: both;
  font-size: 16px;
}
.exp .expicon {
  width: 20px;
  float: left;
  margin-right: 10px;
}
.exp .expicon img {
  width: 17px;
  margin-top: 5px;
}
.exp .expval {
  float: left;
  width: auto;
  max-width: 90%;
}
.exp .expval li {
  list-style: none;
  margin: 0;
}

@media (max-width: 480px){
  .footer .footcontain .bagi {
    width: 100%;
  }
  .footer .bagi .brand {
    width: 100%;
    text-align: center!important;
    float: none;
  }
  .footer .ask .askcontain h1 {
    font-size: 32px;
    width: 50%;
    margin-top: 40px;
  }
  .footer .ask .askcontain .tombol {
    margin-top: 50px;
    color: var(--white);
    border-color: var(--white);
  }
}

/*halaman dalam*/
.detail {
  position: relative;
}
.detail h1 {
  color: #222;
}
.detail .isi {
  font-size: 16px;
  line-height: 1.5;
  color: #666;
}
.detail .isi img {
  width: auto;
  max-width: 100%;
  float: left;
  margin-right: 20px;
}

.detail .gambar {
  width: auto;
}
.detail .gambar img {width: auto; max-width: 100%;}

.detail ul {
  margin-left: 15px;
}
.detail ol {
  margin-left: -20px;
}
.detail ol li {
  list-style: decimal;
}
.detail li {
  list-style: square;
}
.detail h1 {font-size: 48px;}
.detail h2 {font-size: 42px;}
.detail h3 {font-size: 36px;}
.detail h4 {font-size: 30px;}

.detail h1, .detail h2, .detail h3, .detail h4 {
  line-height: 1.2;
  margin: 2px 0;
  padding: 0;
}

@media (max-width: 486px) {
  .detail img {max-width: 100%; width: auto; height: auto;}

  .detail h1 {font-size: 36px;}
  .detail h2 {font-size: 32px;}
  .detail h3 {font-size: 28px;}
  .detail h4 {font-size: 22px;}

  table, thead, tbody, th, td, tr {
    display: block;
    width: 100%!important;
    height: auto;
  }
  table {
    display: inline-block;
    clear: both;
    margin-bottom: 20px;
  }
  thead {
    display: none; /* Hilangkan header tabel */
  }

  tr {
    margin-bottom: 15px;
    /*border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    padding: 10px;
    background: #fafafa;*/
    height: auto;
  }

  td {
    border: none;
    display: block;
    padding: 8px;
  }

  td::before {
    content: attr(data-label);
    font-weight: bold;
    color: #333;
  }

  td span {
    flex: 2;
    text-align: right;
  }
}

/*proyeklist*/
.bg-proyek {
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(10, 29, 69, 0.8));
}
.proyeklist {
  position: relative;
  display: grid;
  grid-template-columns: 33.33% 33.33% 33.33%;
  gap: 45px;
  padding:0px;
  transition:.2s ease;
}
.proyeklist .item {
  /*border: 1px solid rgba(0, 0, 0, 0.1);*/
  border-radius: 15px;
  overflow: hidden;
  background-image: linear-gradient(20deg,var(--ahzagold), var(--white));
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
.proyeklist .item .gambar {
  width: 100%; 
  overflow: hidden;
  height: 260px;
}
.proyeklist .item .gambar img {
  min-width: 100%;
  max-height: 300px;
  width: auto;
  height: auto;
}
.proyeklist h1 {
  font-size: 26px;
  margin: 0;
  color: var(--dark);
}
.proyeklist h4 {
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0;
  color: var(--gray);
}
.proyeklist p {
  color: var(--gray);
  font-weight: 6px;
}
.proyeklist .info {
  padding: 15px 20px;
}

@media (max-width: 486px) {
  .proyeklist {
    position: relative;
    display: block;
    transition:.2s ease;
    width: 95%;
    margin: 0 auto 20px auto;
  }
}
/* end proyeklist*/

/*proyekdetail*/
.proyekdetail {position: relative; color: #444}
.proyekdetail .gambar {width: 100%; margin-bottom: 15px}
.proyekdetail .gambar img {max-width: 100%!important; width: auto;}
.proyekdetail .content {
  display: flex;
  width: 100%;
}
.proyekdetail ul {
  margin-left: 15px;
}
.proyekdetail ol {
  margin-left: -20px;
}
.proyekdetail ol li {
  list-style: decimal;
}
.proyekdetail li {
  list-style: square;
}
.proyekdetail .side {
  position: sticky;
  top: 200px;
  width: 20%; 
  height: fit-content;
  margin-right: 5%; 
  float: left;
}
.proyekdetail .side div {
  clear: both;
  margin-bottom: 25px;
}
.proyekdetail .side div b {
  text-transform: uppercase;
}
.proyekdetail .side div p {
  margin: 0;
}
.proyekdetail .isi {
  width: 75%;
  float: left;
}
.proyekdetail .isi h1 {
  font-size: 36px;
  margin: 0;
}
.proyekdetail .content .isi img {
  max-width: 100%!important; width: auto;
}
@media (max-width: 486px) {
  .proyekdetail .content {
    display:block;
  }
  .proyekdetail img {
    width: 100%;
    height: auto!important;
  }
  .proyekdetail .side {
    position: relative;
    top: 10px;
    width: 100%; 
  }
  .proyekdetail .isi {
    width: 100%;
    float: none;
  }
}
/*end proyekdetail*/


/* Modal Tombol */
.open-btn { 
}

/* Modal background */
.modal {
  position: fixed;
  z-index: 1000;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.8);
  opacity: 0; visibility: hidden;
  transition: 0.3s;
}

/* Modal aktif (target) */
.modal:target {
  opacity: 1; visibility: visible;
}

/* Box modal */
.modal-content {
  background: white;
  max-width: 95%;
  width: 400px;
  height: auto;
  margin: 10% auto;
  padding: 20px;
  border-radius: 10px;
  position: relative;
  color: #222;
}

/* Tombol close */
.close {
  position: absolute;
  top: 10px; right: 15px;
  text-decoration: none;
  font-size: 20px;
  color: #333;
}


/*teamlist*/
.bg-team {
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(10, 29, 69, 0.8));
}
.teamlist {
  position: relative;
  display: grid;
  grid-template-columns: 20% 20% 20% 20% 20%;
  gap: 45px;
  padding:0px;
  transition:.2s ease;
}
.teamlist .item {
  /*border: 1px solid rgba(0, 0, 0, 0.1);*/
  border-radius: 15px;
  overflow: hidden;
  background-image: linear-gradient(20deg,var(--ahzagold), var(--white));
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
.teamlist .item .gambar {
  width: 100%; 
  overflow: hidden;
  height: 350px;
}
.teamlist .item .gambar img {
  min-width: 100%;
  max-height: 300px;
  width: auto;
  height: auto;
}
.teamlist h1 {
  font-size: 16px;
  margin: 0;
  color: var(--dark);
}
.teamlist h3 {
  font-size: 18px;
  font-weight: 600;
  text-transform: capitalize;
  margin: 15px 0;
  color: var(--gray);
}
.teamlist p {
  color: var(--gray);
  font-weight: 6px;
}
.teamlist .info {
  padding: 15px 20px;
}

@media (max-width: 486px) {
  .teamlist {
    position: relative;
    display: block;
    transition:.2s ease;
    width: 65%;
    max-width: 300px;
    margin: 0 auto 20px auto;
  }
}
/* end teamlist*/

/*teamdetail*/
.teamdetail {position: relative; color: #444}
.teamdetail .gambar {width: 100%; margin-bottom: 15px}
.teamdetail .gambar img {max-width: 100%!important; width: auto;}
.teamdetail .content {
  display: flex;
  width: 100%;
}
.teamdetail ul {
  margin-left: 15px;
}
.teamdetail ol {
  margin-left: -20px;
}
.teamdetail ol li {
  list-style: decimal;
}
.teamdetail li {
  list-style: square;
}
.teamdetail .side {
  position: sticky;
  top: 200px;
  width: 20%; 
  height: fit-content;
  margin-right: 5%; 
  float: left;
}
.teamdetail .side div {
  clear: both;
  margin-bottom: 25px;
}
.teamdetail .side div b {
  text-transform: uppercase;
}
.teamdetail .side div p {
  margin: 0;
}
.teamdetail .isi {
  width: 75%;
  float: left;
}
.teamdetail .isi h1 {
  font-size: 36px;
  margin: 0;
}
.teamdetail .isi h3 {
  font-size: 14px;
  margin: 10px 0;
}
.teamdetail .content .isi img {
  max-width: 100%!important; width: auto;
}
@media (max-width: 486px) {
  .teamdetail .isi h1 {
    font-size: 24px;
    margin: 0;
  }
  .teamdetail .content {
    display:block;
  }
  .teamdetail img {
    width: 100%;
    height: auto!important;
  }
  .teamdetail .side {
    position: relative;
    top: 10px;
    width: 100%; 
  }
  .teamdetail .isi {
    width: 100%;
    float: none;
  }
}
/*end teamdetail*/