/* Rapid Home Zone - Custom Styles */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@600;700;800&display=swap');

:root{
  --navy:#0F1E2E;
  --navy-2:#162A42;
  --terracotta:#C86B3C;
  --terracotta-2:#B85C2E;
  --cream:#FFF7EC;
  --cream-2:#FFF1D6;
  --sage:#7A9A7E;
  --sage-light:#E8F0E9;
  --gold:#E8B86A;
  --muted:#6B7A90;
  --light:#F8F9FB;
  --radius:18px;
}

*{scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;
  color:#1A2A3A;
  background:#FFFCF5;
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5{font-family:'Playfair Display',serif; letter-spacing:-0.02em}
.text-muted{color:var(--muted)!important}

/* Topbar */
.topbar{
  background:var(--navy);
  color:#CBD6E6;
  font-size:13px;
  padding:7px 0;
  letter-spacing:0.02em;
}
.topbar a{color:#fff; text-decoration:none}
.topbar a:hover{color:var(--gold)}

/* Navbar */
.navbar{
  background:rgba(255,252,245,0.96)!important;
  backdrop-filter:blur(10px);
  border-bottom:1px solid #EDE6D6;
  padding:14px 0;
  transition:all .3s;
}
.navbar-brand{
  font-family:'Playfair Display',serif;
  font-weight:800;
  font-size:26px;
  letter-spacing:-0.03em;
  color:var(--navy)!important;
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
}
.logo-mark{
  width:38px; height:38px;
  background:var(--terracotta);
  color:#fff;
  display:grid; place-items:center;
  border-radius:10px;
  font-size:18px;
  font-weight:800;
  flex-shrink:0;
}
.logo-text span{
  color:var(--terracotta);
  font-weight:800;
}
.nav-link{
  font-weight:500;
  color:#2A3A50!important;
  font-size:14.5px;
  margin:0 4px;
  position:relative;
}
.nav-link:hover,.nav-link.active{color:var(--terracotta)!important}
.nav-link.active::after{
  content:""; position:absolute; left:8px; right:8px; bottom:-6px; height:2px; background:var(--terracotta); border-radius:2px;
}
.btn-primary{
  background:var(--terracotta);
  border-color:var(--terracotta);
  border-radius:999px;
  padding:10px 22px;
  font-weight:600;
  font-size:14px;
}
.btn-primary:hover{background:var(--terracotta-2); border-color:var(--terracotta-2)}
.btn-outline-dark{
  border-radius:999px; padding:10px 22px; font-weight:600; font-size:14px;
}
.btn-light{
  border-radius:999px; padding:10px 22px; font-weight:600
}

/* Hero */
.hero{
  background:var(--cream);
  padding:52px 0 0 0;
  overflow:hidden;
  position:relative;
}
.hero::before{
  content:""; position:absolute; top:0; right:0; width:58%; height:100%;
  background:radial-gradient(ellipse at 40% 20%, #FFE9C6 0%, transparent 60%);
  pointer-events:none;
}
.hero-badge{
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; border:1px solid #EDE6D6;
  padding:6px 12px; border-radius:999px; font-size:12.5px; font-weight:600; color:var(--navy);
  box-shadow:0 2px 12px rgba(15,30,46,0.06);
}
.hero h1{
  font-size:52px; line-height:0.95; font-weight:800; color:var(--navy);
  margin:18px 0 16px;
}
.hero h1 em{
  font-style:italic; color:var(--terracotta); font-weight:700;
}
.hero p.lead{
  color:var(--muted); font-size:17px; max-width:520px;
}
.hero-image-wrap{
  position:relative;
  padding:18px;
}
.hero-image{
  width:100%; border-radius:22px; object-fit:cover; height:480px;
  box-shadow:0 20px 50px rgba(15,30,46,0.18);
  border:4px solid #fff;
}
.hero-card{
  position:absolute; left:0; bottom:36px; background:#fff; border-radius:16px;
  padding:14px 16px; display:flex; gap:12px; align-items:center;
  box-shadow:0 12px 30px rgba(15,30,46,0.14); border:1px solid #EDE6D6;
  max-width:280px;
}
.hero-card img{width:52px; height:52px; border-radius:12px; object-fit:cover}
.hero-stats{
  display:flex; gap:22px; margin-top:22px; padding-top:18px; border-top:1px dashed #E2D9C6;
}
.hero-stat{font-size:13px; color:var(--muted); font-weight:500}
.hero-stat strong{display:block; font-family:'Playfair Display',serif; font-size:20px; color:var(--navy); line-height:1}

/* Service Card */
.section-title{font-size:38px; font-weight:800; color:var(--navy)}
.section-sub{color:var(--muted); max-width:620px; margin:0 auto}
.service-card{
  background:#fff; border:1px solid #EDE6D6; border-radius:20px; overflow:hidden;
  transition:all .3s; height:100%; display:flex; flex-direction:column;
  box-shadow:0 6px 20px rgba(15,30,46,0.06);
}
.service-card:hover{transform:translateY(-6px); box-shadow:0 16px 36px rgba(15,30,46,0.12); border-color:#E0D6C0}
.service-card img{height:210px; width:100%; object-fit:cover}
.service-card-body{padding:20px 20px 18px; flex:1; display:flex; flex-direction:column}
.service-card h5{font-size:18px; font-weight:700; margin-bottom:8px; color:var(--navy)}
.service-card p{font-size:14px; color:var(--muted); flex:1; margin-bottom:16px}
.service-card .btn{
  align-self:flex-start; background:var(--navy); color:#fff; border:none; border-radius:999px;
  padding:8px 18px; font-size:13.5px; font-weight:600; text-decoration:none;
}
.service-card .btn:hover{background:var(--terracotta); color:#fff}

/* Why Us */
.why-card{
  background:#fff; border:1px solid #EDE6D6; border-radius:16px; padding:20px;
  height:100%; box-shadow:0 6px 18px rgba(15,30,46,0.05);
}
.why-icon{
  width:48px; height:48px; border-radius:12px; display:grid; place-items:center;
  font-size:20px; margin-bottom:12px;
}
.why-card h6{font-weight:700; font-size:16px; color:var(--navy)}

/* Testimonial */
.testimonial{
  background:#fff; border:1px solid #EDE6D6; border-radius:16px; padding:22px;
  height:100%;
}
.testimonial img{width:44px; height:44px; border-radius:50%; object-fit:cover}

/* Blog */
.blog-card{
  background:#fff; border-radius:18px; overflow:hidden; border:1px solid #EDE6D6;
  height:100%; transition:.3s; box-shadow:0 6px 20px rgba(15,30,46,0.06);
}
.blog-card:hover{transform:translateY(-4px); box-shadow:0 14px 32px rgba(15,30,46,0.1)}
.blog-card img{height:200px; width:100%; object-fit:cover}
.blog-meta{font-size:12px; font-weight:600; color:var(--terracotta); letter-spacing:.06em; text-transform:uppercase}
.blog-card h5{font-size:17px; font-weight:700; line-height:1.3; color:var(--navy)}
.blog-card p{font-size:14px; color:var(--muted)}

/* Newsletter */
.newsletter{
  background:var(--navy); color:#fff; border-radius:20px; padding:36px;
  position:relative; overflow:hidden;
}
.newsletter::after{
  content:""; position:absolute; top:-40px; right:-40px; width:300px; height:300px;
  background:radial-gradient(circle, rgba(200,107,60,0.25) 0%, transparent 70%);
  pointer-events:none;
}

/* Footer */
footer{
  background:var(--navy); color:#CBD6E6; padding-top:48px; margin-top:60px;
}
footer h6{color:#fff; font-family:'Inter',sans-serif; font-weight:700; font-size:14px; letter-spacing:.04em; text-transform:uppercase}
footer a{color:#CBD6E6; text-decoration:none; font-size:14px}
footer a:hover{color:var(--gold)}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.1); padding:18px 0; margin-top:36px;
  font-size:13px; color:#8A9BB5;
}
.footer-brand{
  font-family:'Playfair Display',serif; font-weight:800; font-size:22px; color:#fff; white-space:nowrap;
}
.footer-brand span{color:var(--terracotta)}

/* Contact */
.contact-card{
  background:#fff; border:1px solid #EDE6D6; border-radius:18px; padding:24px;
  box-shadow:0 8px 24px rgba(15,30,46,0.06);
}
.form-control, .form-select{
  border-radius:10px; border:1px solid #E2D9C6; padding:11px 14px; font-size:14.5px; background:#FFFCF5;
}
.form-control:focus, .form-select:focus{border-color:var(--terracotta); box-shadow:0 0 0 3px rgba(200,107,60,0.12); background:#fff}
.contact-icon{
  width:42px; height:42px; border-radius:10px; display:grid; place-items:center;
  background:var(--cream-2); color:var(--terracotta); font-size:18px; flex-shrink:0;
}

/* About */
.about-img{border-radius:18px; width:100%; height:380px; object-fit:cover; border:4px solid #fff; box-shadow:0 12px 30px rgba(15,30,46,0.12)}
.value-card{background:#fff; border-radius:16px; padding:20px; border:1px solid #EDE6D6; height:100%}

/* Blog detail */
.blog-hero-img{width:100%; height:420px; object-fit:cover; border-radius:18px}
.article-content{font-size:16px; line-height:1.8; color:#334155}
.article-content h3{color:var(--navy); margin-top:28px; font-size:22px}
.article-content blockquote{border-left:4px solid var(--terracotta); padding:14px 18px; background:#FFF7EC; border-radius:0 12px 12px 0; font-style:italic; color:var(--navy)}

/* Subscribe pages */
.subscribe-wrap{background:#fff; border:1px solid #EDE6D6; border-radius:20px; padding:36px; box-shadow:0 10px 28px rgba(15,30,46,0.06) }

/* Responsive */
@media(max-width:992px){
  .hero h1{font-size:38px}
  .hero-image{height:380px}
}
@media(max-width:768px){
  .hero{padding:28px 0 0}
  .hero h1{font-size:34px}
  .section-title{font-size:28px}
}
