/* style.css */
:root{
--primary:#0B1F3A;
--accent:#C8A96A;
--bg:#F5F6F8;
--text:#1C1C1C;
--light:#ffffff;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Open Sans',sans-serif;
background:var(--bg);
color:var(--text);
}

img{
max-width:100%;
display:block
}

h1,h2,h3{
font-family:'Poppins',sans-serif;
}

/* ================= NAVBAR ================= */

/* NAVBAR */

nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:8px 16px;
height:60px;
background:#fff;
position:sticky;
top:0;
box-shadow:0 2px 10px rgba(0,0,0,0.05);
z-index:1000;
}

/* LOGO */

.logo{
display:flex;
align-items:center;
}

.logo img{
height:55px;
width:auto;
}

/* MENU */

nav ul{
display:flex;
list-style:none;
gap:20px;
margin:0;
padding:0;
}

nav a{
text-decoration:none;
color:#333;
font-weight:500;
}

.menu-toggle{
display:none;
font-size:24px;
cursor:pointer;
}

/* ================= HERO ================= */

.hero-slider{
position:relative;
height:90vh;
overflow:hidden;
}

.slide{
position:absolute;
width:100%;
height:100%;
opacity:0;
transition:1s;
}

.slide.active{
opacity:1
}

.slide img{
width:100%;
height:100%;
object-fit:cover;
filter:brightness(70%);
}

.slide-content{
position:absolute;
top:50%;
left:5%;
transform:translateY(-50%);
color:white;
max-width:500px;
}

.slide-content h1{
font-size:clamp(20px,6vw,50px);
margin-bottom:20px;
max-width: 70%;
}

.cta-buttons{
display:flex;
gap:15px;
flex-wrap:wrap
}

.btn-primary{
background:var(--primary);
color:white;
padding:12px 25px;
border-radius:30px;
text-decoration:none;
}

.btn-primary:hover{
background:var(--accent);
color:#111;
}

.btn-whatsapp{
background:#25D366;
color:white;
padding:12px 25px;
border-radius:20px;
text-decoration:none;
}

/* ================= SECTION ================= */

.section{
padding:80px 5%;
}

.section-title{
font-size:36px;
text-align:center;
margin-bottom:70px;
color:var(--primary);
}

/* ================= SERVICES ================= */

.services-premium{
background:#e1e1e1;
padding:40px 5%;
}

.service-grid{
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:30px;
max-width:900px;
margin:auto;
width:100%;
}

.service-box{
background:white;
border:1px solid #eee;
border-radius:15px;
padding:20px 10px;
text-align:center;
transition:.3s;
}

.service-box i{
font-size:27px;
color:var(--accent);
margin-bottom:10px;
}

.service-box:hover{
transform:translateY(-8px);
box-shadow:4 15px 30px rgba(0,0,0,0.08);
}

/* ================= BENEFIT ================= */

.benefit-section{
background:white;
padding:80px 5%;
}

.benefit-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:30px;
}

.benefit-item{
text-align:center;
}

.benefit-item i{
font-size:34px;
color:var(--accent);
margin-bottom:10px;
}

/* ================= PROJECT ================= */

.projects{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:20px;
}

.projects img{
border-radius:15px;
}

/* STATISTIK */

.stats{
padding:60px 10%;
background:#fff;
}

.stats-container{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:40px;
text-align:center;
}

.stat-box h2{
font-size:25px;
color:#0B1F3A;
margin-bottom:5px;
}

.stat-box p{
color:#555;
font-size:15px;
}


/* ABOUT ARSITEK */

.about-arsitek{
padding:80px 10%;
text-align:center;
}

.about-arsitek h2{
font-size:32px;
margin-bottom:30px;
}

.about-arsitek span{
color:#0B1F3A;
font-weight:700;
}

.about-arsitek img{
width:100%;
max-width:600px;
border-radius:10px;
margin-bottom:10px;
}

.about-arsitek p{
max-width:700px;
margin:auto;
line-height:1.6;
color:#555;
margin-bottom:30px;
}

.btn-about{
background:#0B1F3A;
color:white;
padding:12px 20px;
text-decoration:none;
border-radius:5px;
font-weight:500;


}
/* ================= CTA ================= */

.cta{
background:var(--primary);
color:white;
text-align:center;
padding:80px 5%;
}

/* ================= FOOTER ================= */

footer{
background:#0B1F3A;
color:white;
padding:60px 5% 30px 5%;
}

.footer-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:40px;
max-width:1200px;
margin:auto;
margin-bottom:40px;
}

.footer-brand h3{
margin-bottom:15px;
}

.footer-links a{
display:block;
color:#ddd;
text-decoration:none;
margin-bottom:8px;
}

.footer-links a:hover{
color:#C8A96A;
}

.footer-social a{
font-size:22px;
margin-right:12px;
color:white;
}

.footer-bottom{
text-align:center;
border-top:1px solid rgba(255,255,255,0.2);
padding-top:20px;
font-size:14px;
color:#ccc;
}

/* ================= FLOATING WHATSAPP ================= */

.floating-wa{
position:fixed;
bottom:100px;
right:10px;
background:#25D366;
color:white;
padding:14px 20px;
border-radius:50px;
display:flex;
align-items:center;
gap:10px;
text-decoration:none;
font-weight:600;
box-shadow:0 8px 20px rgba(0,0,0,0.2);
}

.menu-toggle{
display:block
}

nav ul{
position:absolute;
top:70px;
right:0;
background:white;
flex-direction:column;
width:200px;
padding:20px;
display:none;
box-shadow:0 10px 20px rgba(0,0,0,0.1);
}

nav ul.active{
display:flex
}

.hero-slider{
height:70vh
}

.section{
padding:60px 20px
}
.projects{
display:grid;
grid-template-columns: repeat(2,1fr);
gap:15px;
}

.projects img{
width:100%;
border-radius:10px;
transition:0.3s;
cursor:pointer;
}

.projects img:hover{
transform:scale(1.05);
}
.titel1{
  font-size: 15px;
  margin-bottom: 15px;
  font-weight: 400;
  max-width:100% ;
}
.about2{
  font-size: 30px;
  color: #d3d3d3;
  font-weight:700 ;
}
.title2{
  font-size: 33px;
  color: #0B1F3A;
  font-weight:700 ;
  margin-bottom: 80px;
  margin-left: 60px;
}
.title5{
  font-size: 25px;
  color: #555;
  font-weight:700 ;
  margin-bottom: 30px;
  margin-left: 0px;
}
/* SERVICE */

.form-konsultasi{
max-width:700px;
margin:80px auto;
padding:40px;
background:#fff;
border-radius:12px;
box-shadow:0 10px 35px rgba(0,0,0,0.1);
}

body{
background:#f7f7f7;
}

.form-konsultasi h2{
font-size:28px;
margin-bottom:10px;
}

.form-konsultasi p{
margin-bottom:25px;
color:#666;
}

form label{
display:block;
margin-top:15px;
font-weight:600;
}

form input,
form select,
form textarea{
width:100%;
padding:12px;
margin-top:6px;
border:1px solid #ddd;
border-radius:6px;
font-family:inherit;
}

.btn-wa{
margin-top:20px;
background:#25D366;
color:white;
border:none;
padding:14px;
border-radius:6px;
cursor:pointer;
font-size:16px;
width:100%;
}

.btn-wa:hover{
background:#1ebe5d;
}
.seo-content{
padding:60px 20px;
background:#f7f7f7;
}

.seo-box{
max-width:900px;
margin:auto;
background:#fff;
padding:40px;
border-radius:10px;
box-shadow:0 8px 30px rgba(0,0,0,0.08);
line-height:1.7;
}

.seo-box h2{
font-size:28px;
margin-bottom:15px;
}

.seo-box p{
color:#555;
margin-bottom:15px;
}

/* about */

.about-hero{
height:420px;
background:url('../gambar/p/desain-rumah-modern.jpg') center/cover no-repeat;
position:relative;
display:flex;
align-items:center;
padding:0 10%;
}

.about-overlay{
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
background:linear-gradient(to bottom,rgba(255,255,255,0.2),#ffffff);
}

.about-hero-text{
position:relative;
z-index:2;
}

.about-hero-text h1{
font-size:48px;
color:#0B1F3A;
font-weight:700;
}


/* SECTION TENTANG */

.about-section{
padding:80px 10%;
background:#fff;
}

.about-container{
display:flex;
align-items:center;
justify-content:space-between;
gap:50px;
}

.about-text{
flex:1;
}

.about-text h2{
font-size:40px;
color:#0B1F3A;
margin-bottom:20px;
}

.about-text p{
line-height:1.7;
color:#555;
margin-bottom:20px;
}

.about-image{
flex:1;
text-align:center;
}

.about-image img{
max-width:350px;
}

.btn-about-wa{
background:#0B1F3A;
color:#fff;
padding:12px 25px;
text-decoration:none;
border-radius:6px;
font-weight:600;
}


/* RESPONSIVE */

@media(max-width:768px){

.about-container{
flex-direction:column;
text-align:center;
}

.about-hero-text h1{
font-size:32px;
}
.about-text{
max-width:800px;
margin:auto;
}
.about-text p{
line-height:1.8;
margin-bottom:18px;
font-size:16px;
color:#444;
text-align:left;
text-indent:0;
}


/* WHY SECTION FIX */
.why-us{
  background:#0B1F3A;
  padding:80px 20px;
  color:#fff;
  max-width:1100px;
  margin:40px auto;
  border-radius:10px;
}

.why-us h2{
  text-align:center;
  font-size:28px;
  margin-bottom:50px;
  font-weight:600;
}

.why-container{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:40px;
}

.why-item{
  display:flex;
  align-items:flex-start;
  gap:20px;
}

.why-item i{
  font-size:28px;
  color:#caa66a;
  margin-top:5px;
}

.why-item h3{
  font-size:20px;
  margin-bottom:8px;
}

.why-item p{
  font-size:15px;
  color:#ccc;
  line-height:1.6;
}
@media(max-width:768px){
  .why-container{
    grid-template-columns:1fr;
  }
}
/*   artikel   */

.blog-content{
max-width:900px;
margin:40px auto;
line-height:1.8;
color:#444;
padding:0 20px;
}

.blog-content h3{
margin-top:30px;
font-size:24px;
}

.blog-content h4{
margin-top:20px;
font-size:18px;
}

.blog-content p{
margin-bottom:15px;
}
.blog-header{
max-width:900px;
margin:80px auto 40px;
text-align:center;
padding:0 20px;
}

.blog-title{
font-size:36px;
font-weight:700;
margin-bottom:10px;
}

.blog-subtitle{
color:#666;
margin-bottom:25px;
}

.blog-cover{
width:100%;
border-radius:10px;
}

.blog-content{
max-width:900px;
margin:auto;
line-height:1.8;
color:#444;
padding:0 20px;
}

.blog-content h3{
margin-top:35px;
font-size:24px;
}

.blog-content h4{
margin-top:20px;
font-size:18px;
}

.blog-content p{
margin-bottom:15px;
}

.blog-image{
margin:30px 0;
text-align:center;
}

.blog-image img{
width:100%;
border-radius:10px;
}

.image-caption{
font-size:14px;
color:#777;
margin-top:8px;
}
.rekomendasi-artikel{
margin-top:60px;
padding-top:40px;
border-top:1px solid #eee;
}

.rekomendasi-artikel h2{
font-size:24px;
margin-bottom:25px;
}

.rekomendasi-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
}

.rekomendasi-card{
text-decoration:none;
color:#000;
background:#fff;
border-radius:10px;
overflow:hidden;
box-shadow:0 5px 15px rgba(0,0,0,0.08);
transition:0.3s;
}

.rekomendasi-card:hover{
transform:translateY(-5px);
}

.rekomendasi-card img{
width:100%;
height:150px;
object-fit:cover;
}

.rekomendasi-card h3{
font-size:16px;
padding:15px;
}

/*  faq  */

/* FAQ FIX */
.faq-section{
  padding:40px 20px;
  background:#f8fafc;
  border-radius:16px;
  margin-top:30px;
}

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

.faq-item{
  background:#fff;
  margin-bottom:12px;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 5px 15px rgba(0,0,0,0.05);
}

.faq-question{
  width:100%;
  padding:15px;
  border:none;
  background:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight:600;
  cursor:pointer;
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease;
  padding:0 15px;
}

.faq-answer p{
  padding:10px 0;
}

/* AKTIF */
.faq-item.active .faq-answer{
  max-height:300px;
}

.faq-item.active .faq-question i{
  transform:rotate(180deg);
}

/*   visi   */

.visi-misi{
padding:60px 20px;
background:#f8f8f8;
text-align:center;
}

.title-visi{
font-size:32px;
font-weight:700;
margin-bottom:30px;
}

.vm-box{
max-width:900px;
margin:auto;
background:#fff;
padding:40px;
border-radius:10px;
box-shadow:0 6px 25px rgba(0,0,0,0.08);
text-align:left;
}

.vm-box h3{
font-size:22px;
margin-top:20px;
margin-bottom:10px;
color:#222;
}

.vm-box p{
line-height:1.7;
color:#555;
}

.vm-box ul{
padding-left:20px;
line-height:1.8;
color:#555;
}
/*  layanan */

/* WRAPPER LUAR */
.portfolio-wrapper {
display: flex;
justify-content: center;
margin-top: 30px;
}

/* BOX PEMBUNGKUS */
.portfolio-cta-box {
background: #0B1F3A;
padding: 15px 25px;
border-radius: 15px;
box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

/* BUTTON */
.btn-portfolio {
display: flex;
align-items: center;
gap: 10px;
text-decoration: none;
font-weight: 600;
color: #fff;
transition: 0.3s;
}

/* ICON */
.btn-portfolio i {
transition: 0.3s;
}

/* HOVER */
.btn-portfolio:hover {
color: #25D366;
}

.btn-portfolio:hover i {
transform: translateX(5px);
}
.faq-section {
padding: 40px 20px;
background: #f8fafc;
border-radius: 16px;
margin-top: 30px;
}

.faq-title {
text-align: center;
margin-bottom: 20px;
}

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

/* ITEM */
.faq-item {
background: #fff;
margin-bottom: 10px;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

/* QUESTION */
.faq-question {
width: 100%;
padding: 15px;
border: none;
background: none;
display: flex;
justify-content: space-between;
align-items: center;
font-weight: 600;
cursor: pointer;
}

/* ICON */
.faq-question i {
transition: 0.3s;
}

/* ANSWER */
.faq-answer {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease;
padding: 0 15px;
}

.faq-item.active .faq-answer {
max-height: 500px; /* jangan terlalu kecil */
}

.faq-item.active .faq-question i {
transform: rotate(180deg);
}
}
/* ================= FIX WHY ================= */

.why-us{
  background:#0B1F3A;
  padding:80px 20px;
  color:#fff;
  max-width:1100px;
  margin:40px auto;
  border-radius:10px;
}

.why-container{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:40px;
}

.why-item{
  display:flex;
  gap:15px;
  align-items:flex-start;
}

.why-item i{
  font-size:26px;
  color:#C8A96A;
  margin-top:5px;
}

.why-item h3{
  font-size:18px;
  margin-bottom:5px;
}

.why-item p{
  font-size:14px;
  color:#ccc;
}

/* MOBILE WHY */
@media(max-width:768px){
  .why-container{
    grid-template-columns:1fr;
  }
}
/* ================= FIX FAQ ================= */

.faq-section{
  padding:40px 20px;
  background:#f8fafc;
  border-radius:16px;
  margin-top:40px;
}

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

.faq-item{
  background:#fff;
  margin-bottom:12px;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 5px 15px rgba(0,0,0,0.05);
}

/* tombol */
.faq-question{
  width:100%;
  padding:15px;
  border:none;
  background:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight:600;
  cursor:pointer;
}

/* icon rotate */
.faq-question i{
  transition:0.3s;
}

/* isi jawaban */
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease;
  padding:0 15px;
}

/* aktif */
.faq-item.active .faq-answer{
  max-height:300px;
  padding:15px;
}

.faq-item.active .faq-question i{
  transform:rotate(180deg);
}
/* ================= FIX PORTFOLIO BUTTON ================= */

.portfolio-wrapper{
  display:flex;
  justify-content:center;
  margin-top:30px;
}

.portfolio-cta-box{
  background:#0B1F3A;
  border-radius:12px;
  padding:2px; /* biar efek lebih clean */
}

.btn-portfolio{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 25px;
  color:#fff;
  text-decoration:none;
  font-weight:600;
  border-radius:10px;
  transition:0.3s;
}

/* HOVER */
.btn-portfolio:hover{
  background:#C8A96A;
  color:#111;
}

.btn-portfolio i{
  transition:0.3s;
}

.btn-portfolio:hover i{
  transform:translateX(5px);
}
/* ================= FIX VISI MISI ================= */

.visi-misi{
  padding:80px 20px;
  background:#f8f8f8;
}

.title-visi{
  text-align:center;
  font-size:30px;
  font-weight:700;
  margin-bottom:40px;
  color:#0B1F3A;
}

.vm-box{
  max-width:900px;
  margin:0 auto;
  background:#fff;
  padding:40px;
  border-radius:12px;
  box-shadow:0 8px 25px rgba(0,0,0,0.08);
}

/* judul */
.vm-box h3{
  font-size:22px;
  margin-top:20px;
  margin-bottom:10px;
  color:#0B1F3A;
}

/* paragraf */
.vm-box p{
  line-height:1.7;
  color:#555;
  margin-bottom:15px;
}

/* list */
.vm-box ul{
  padding-left:20px;
  margin-top:10px;
}

.vm-box ul li{
  margin-bottom:8px;
  line-height:1.6;
  color:#555;
}

/* MOBILE FIX */
@media(max-width:768px){

  .vm-box{
    padding:25px;
  }

  .title-visi{
    font-size:24px;
  }

  .vm-box h3{
    font-size:18px;
  }

}