*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
body{
  font-size:16px;
  color:#555;
  line-height:1.8;
  background:#fff;
}
.container{
  width:100%;
  max-width:min(1200px, 85vw);
  margin:0 auto;
  padding:0 clamp(16px,4vw,40px);
}

/* ULTRA-WIDE VIEWPORT SCALING - ONLY FOR VERY LARGE SCREENS */
@media(min-width:2560px) and (min-width:2560px){
  .hero-text h1{
    font-size:clamp(100px,4vw,130px) !important;
  }
  
  .hero-text p{
    font-size:clamp(35px,1.8vw,45px) !important;
  }
  
  .hero-image img{
    max-height:none !important;
    height:clamp(1600px,140vh,2000px) !important;
    width:auto !important;
    object-position:top !important;
  }
}

@media(min-width:3000px){
  .hero-text h1{
    font-size:clamp(110px,4.2vw,140px) !important;
  }
  
  .hero-text p{
    font-size:clamp(38px,1.6vw,48px) !important;
  }
  
  .hero-image img{
    max-height:none !important;
    height:clamp(1800px,160vh,2400px) !important;
    width:auto !important;
    object-position:top !important;
  }
}

/* LARGE SCREEN RESPONSIVE SYSTEM */
@media(min-width:1400px){
  .container{
    max-width:min(90vw, 3500px);
    padding:0 clamp(40px,4vw,60px);
  }
  
  .hero-inner{
    max-width:1400px;
    padding:0 clamp(40px,4vw,60px);
  }
  
  .hero-text h1{
    font-size:clamp(30px,4vw,50px) !important;
  }
  
  .hero-text p{
    font-size:clamp(18px,2vw,20px) !important;
  }
  
  .hero-image img{
    height:clamp(900px,100vh,1800px) !important;
    object-position:top !important;
  }
  
  .footer-container{
    max-width:min(100vw, 3500px);
  }
  
  .pricing-wrapper{
    max-width:min(90vw, 3500px);
  }
  
  .vastu-grid{
    max-width:1300px;
    gap:clamp(35px,4vw,50px);
    padding:clamp(25px,3vw,35px);
  }
  
  .vastu-services-grid{
    max-width:1300px;
    gap:clamp(35px,4vw,50px);
  }
  
  .nav-menu{
    gap:clamp(40px,4vw,60px);
  }
  
  .nav-menu a{
    font-size:clamp(18px,1.2vw,20px);
  }
  
  .section{
    padding:clamp(100px,8vw,120px) 0;
  }
  
  .card h3{
    font-size:clamp(22px,1.8vw,26px);
  }
  
  .card .content{
    padding:clamp(25px,3vw,35px);
  }
}

@media(min-width:1600px){
  .container{
    max-width:min(95vw, 3500px);
    padding:0 clamp(50px,5vw,80px);
  }
  
  .hero-inner{
    max-width:1600px;
    padding:0 clamp(50px,5vw,80px);
  }
  
  .hero-text h1{
    font-size:clamp(80px,4vw,120px);
  }
  
  .hero-text p{
    font-size:clamp(0px,1.5vw,40px);
  }
  
  .hero-image img{
    width:100%;
    height:auto;
    object-fit:contain;
  }
  
  .footer-container{
    max-width:1500px;
  }
  
  .pricing-wrapper{
    max-width:1500px;
  }
  
  .vastu-grid{
    max-width:1500px;
    gap:clamp(40px,4vw,60px);
  }
  
  .vastu-services-grid{
    max-width:1500px;
    gap:clamp(40px,4vw,60px);
  }
}

@media(min-width:1920px){
  .container{
    max-width:min(98vw, 3500px);
    padding:0 clamp(60px,6vw,100px);
  }
  
  .hero-inner{
    max-width:1800px;
    padding:0 clamp(60px,6vw,100px);
  }
  
  .hero-text h1{
    font-size:clamp(90px,4.5vw,120px)!important;
  }
  
  .hero-text p{
    font-size:clamp(32px,2.4vw,42px)!important;
  }
  
  .hero-image img{
    height:clamp(1000px,110vh,2000px) !important;
    object-position:top !important;
  }
  
  .footer-container{
    max-width:1700px;
  }
  
  .pricing-wrapper{
    max-width:1700px;
  }
  
  .vastu-grid{
    max-width:1700px;
    gap:clamp(50px,5vw,70px);
    padding:clamp(30px,3vw,40px);
  }
  
  .vastu-services-grid{
    max-width:1700px;
    gap:clamp(50px,5vw,70px);
  }
  
  body{
    font-size:18px;
  }
  
  .section{
    padding:clamp(120px,6vw,140px) 0;
  }
  
  .nav-menu a{
    font-size:clamp(20px,1vw,22px);
  }
  
  .nav-menu{
    gap:clamp(60px,4vw,80px);
  }
  
  .card h3{
    font-size:clamp(24px,1.5vw,28px);
  }
  
  .card p{
    font-size:clamp(18px,1vw,20px);
  }
  
  .section-heading{
    font-size:clamp(2.5rem,2.5vw,3rem);
  }
  
  .plan-box{
    padding:clamp(70px,5vw,90px) clamp(50px,4vw,60px);
  }
  
  .cta{
    padding:clamp(140px,8vw,160px) 0;
  }
}

@media(min-width:2560px){
  .container{
    max-width:min(98vw, 3500px);
    padding:0 clamp(80px,7vw,120px);
  }
  
  .hero-inner{
    max-width:2100px;
    padding:0 clamp(80px,7vw,120px);
  }
  
  .footer-container{
    max-width:2000px;
  }
  
  .pricing-wrapper{
    max-width:2000px;
  }
  
  .vastu-grid{
    max-width:2000px;
    gap:clamp(60px,5vw,80px);
    padding:clamp(35px,3vw,50px);
  }
  
  .vastu-services-grid{
    max-width:2000px;
    gap:clamp(60px,5vw,80px);
  }
  
  body{
    font-size:20px;
  }
  
  .hero-text h1{
    font-size:clamp(72px,2.2vw,88px);
  }
  
  .hero-text p{
    font-size:clamp(24px,0.9vw,28px);
  }
  
  .section{
    padding:clamp(140px,5vw,160px) 0;
  }
  
  .nav-menu a{
    font-size:clamp(21px,0.9vw,24px);
  }
  
  .nav-menu{
    gap:clamp(70px,3vw,90px);
  }
  
  .card h3{
    font-size:clamp(26px,1.2vw,30px);
  }
  
  .card p{
    font-size:clamp(20px,0.9vw,22px);
  }
  
  .section-heading{
    font-size:clamp(3rem,2vw,3.5rem);
  }
  
  .plan-box{
    padding:clamp(80px,4vw,100px) clamp(60px,3vw,70px);
  }
  
  .cta{
    padding:clamp(160px,6vw,180px) 0;
  }
}

@media(min-width:3000px){
  .container{
    max-width:min(98vw, 3500px);
  }
}

@media(min-width:3200px){
  .container{
    max-width:2600px;
    padding:0  !important;
  }
  
  .hero-inner{
    max-width:2700px;
    padding:0  !important;
  }
  
  .footer-container{
    max-width:2600px;
  }
  
  .pricing-wrapper{
    max-width:2600px;
  }
  
  .vastu-grid{
    max-width:2600px;
    gap:clamp(70px,3.5vw,90px);
    padding:clamp(40px,2vw,60px);
  }
  
  .vastu-services-grid{
    max-width:2600px;
    gap:clamp(70px,3.5vw,90px);
  }
  
  body{
    font-size:clamp(22px,0.6vw,26px);
  }
  
  .hero-text h1{
    font-size:clamp(70px,2vw,90px);
  }
  
  .hero-text p{
    font-size:clamp(22px,0.8vw,28px);
  }
  
  .section{
    padding:clamp(160px,4.5vw,200px) 0;
  }
  
  .nav-menu a{
    font-size:clamp(22px,0.8vw,28px);
  }
  
  .nav-menu{
    gap:clamp(80px,2.8vw,110px);
  }
  
  .card h3{
    font-size:clamp(28px,1.1vw,34px);
  }
  
  .card p{
    font-size:clamp(21px,0.8vw,26px);
  }
  
  .section-heading{
    font-size:clamp(3.2rem,1.8vw,4.5rem);
  }
  
  .plan-box{
    padding:clamp(90px,3.5vw,120px) clamp(70px,2.8vw,90px);
  }
  
  .cta{
    padding:clamp(170px,4.5vw,220px) 0;
  }
}

@media(min-width:3840px){
  .container{
    max-width:3200px;
    padding:0 clamp(120px,4vw,180px);
  }
  
  .hero-inner{
    max-width:3300px;
    padding:0 clamp(120px,4vw,180px);
  }
  
  .footer-container{
    max-width:3200px;
  }
  
  .pricing-wrapper{
    max-width:3200px;
  }
  
  .vastu-grid{
    max-width:3200px;
    gap:clamp(80px,2.8vw,110px);
    padding:clamp(50px,1.8vw,80px);
  }
  
  .vastu-services-grid{
    max-width:3200px;
    gap:clamp(80px,2.8vw,110px);
  }
  
  body{
    font-size:clamp(24px,0.7vw,30px);
  }
  
  .hero-text h1{
    font-size:clamp(75px,2.2vw,105px);
  }
  
  .hero-text p{
    font-size:clamp(24px,0.9vw,32px);
  }
  
  .section{
    padding:clamp(180px,4vw,240px) 0;
  }
  
  .nav-menu a{
    font-size:clamp(24px,0.9vw,32px);
  }
  
  .nav-menu{
    gap:clamp(90px,2.5vw,130px);
  }
  
  .card h3{
    font-size:clamp(30px,1.2vw,38px);
  }
  
  .card p{
    font-size:clamp(22px,0.9vw,28px);
  }
  
  .section-heading{
    font-size:clamp(3.5rem,2vw,5rem);
  }
  
  .plan-box{
    padding:clamp(100px,3vw,140px) clamp(80px,2.5vw,100px);
  }
  
  .cta{
    padding:clamp(190px,3.5vw,260px) 0;
  }
}
.text-center{text-align:center}

/* COLOR PALETTE (BLUE THEME) */
:root{
  --primary:#0B3C5D;
  --secondary:#1D65A6;
  --light:#EAF2FA;
  --accent:#F4B41A;
  --dark:#1E1E1E;
}

/* HERO SECTION */
/* =========================
   HERO BASE (MOBILE FIRST)
========================= */
.hero{
  min-height:100vh;
  background: rgb(12, 60, 94);
  display:flex;
  align-items:center;
  padding:clamp(80px,10vh,140px) clamp(20px,4vw,60px);
}

.hero-inner{
  max-width:min(1200px, 90vw);
  width:100%;
  margin:auto;
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(40px,5vw,80px);
  align-items:flex-start;
}

.hero-text{
  color:#fff;
  text-align:center;
}

.hero-text h1{
  font-size:clamp(28px,4.5vw,48px);
  line-height:1.2;
  margin:0 0 20px 0;
  font-weight:700;
}

.hero-text p{
  font-size:clamp(15px,1.6vw,18px);
  line-height:1.7;
  color:#d6e6f2;
  margin-bottom:32px;
}

/* IMAGE HIDDEN BY DEFAULT (MOBILE) */
.hero-image{
  display:none;
}

/* =========================
   TABLET & SMALL LAPTOP
========================= */
@media (min-width: 768px){
  .hero-text{
    text-align:center;
  }
}

/* =========================
   DESKTOP — SHOW IMAGE + BG
========================= */
@media (min-width:1024px){
  .hero{
background: url("herosection.jpeg") 70% center / cover no-repeat;

  }

  .hero-inner{
    max-width:min(1400px, 90vw);
    grid-template-columns:1fr 1.2fr;
    text-align:left;
  }

  .hero-text{
    margin-top:30px;
  }

  .hero-text h1{
    margin-right:20px;
  }

  .hero-image{
    display:flex;
    justify-content:flex-end;
    align-items:center;
  }

  .hero-image img{
    width:100%;
    max-width:700px;
    height:auto;
    object-fit:contain;
    transform:scale(1.25);
  }
}

/* =========================
   LARGE DESKTOP
========================= */
@media (min-width:1400px){
  .hero-text{
    margin-top:150px;
    padding-right:90px;
  }

  .hero-text h1{
    font-size:clamp(40px,4vw,64px);
  }

  .hero-text p{
    font-size:clamp(12px,1vw,14px);
  }

  .hero-image img{
    max-width:800px;
    transform:scale(1.3);
  }
}

/* =========================
   EXTRA LARGE SCREENS
========================= */
@media (min-width:1920px){
  .hero-inner{
    max-width:min(1800px, 100vw);
  }

  .hero-text{
    margin-top:10px;
    padding-right:90px;
  }

  .hero-image img{
    max-width:900px;
    transform:scale(1.35);
  }
}

/* =========================
   SMALL DEVICES FINE TUNE
========================= */
@media (max-width:768px){
  .hero{
    padding:80px 20px;
  }

  .hero-text h1{
    font-size:clamp(28px,7vw,36px);
  }

  .hero-text p{
    font-size:16px;
    margin:0 auto 24px;
  }
}

@media (max-width:480px){
  .hero{
    padding:60px 16px;
  }

  .hero-text h1{
    font-size:26px;
  }
}


/* SECTIONS */
.section{padding:110px 0}
.light{background:var(--light)}
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:35px;
}

/* CARD */
.card{
  background:#fff;
  border:1px solid #ddd;
  overflow:hidden;
  transition:.3s;
}
.card:hover{transform:translateY(-8px)}
.card img{
  width:100%;
  height:220px;
  object-fit:cover;
}
.card .content{padding:28px}
.card h3{
  color:var(--primary);
  margin-bottom:10px;
  font-size:22px;
}

/* SPLIT SECTION */
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(30px,5vw,60px);
  align-items:center;
}
.split img{width:100%;border-radius:6px}

@media(max-width:900px){
  .split{
    grid-template-columns:1fr;
    gap:40px;
  }
  .split .grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:600px){
  .split .grid{
    grid-template-columns:1fr !important;
  }
}

/* ICON BOX */
.icon-box{
  border:1px solid #ddd;
  padding:20px;
  text-align:center;
  background:#fff;
  transition:.3s;
}
.icon-box img{
  width:100%;
  height:90px;
  object-fit:cover;
  margin-bottom:10px;
}
.icon-box:hover{
  transform:translateY(-6px);
  box-shadow:0 10px 25px rgba(0,0,0,.1);
}

/* PRICING */
.pricing-card{
  background:#fff;
  padding:40px;
  border:1px solid #ddd;
}
.pricing-card h1{
  color:var(--primary);
  font-size:42px;
}
.pricing-card.featured{
  background:var(--primary);
  color:#fff;
}
.pricing-card.featured h1,
.pricing-card.featured h3{
  color:#fff;
}

/* TESTIMONIAL */
.testimonial{
  background:#fff;
  padding:40px;
  border:1px solid #ddd;
}

/* CTA */
.cta{
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  color:#fff;
  padding:120px 0;
}

/* FOOTER */
footer{
  background:var(--dark);
  color:#ccc;
  padding:80px 0 25px;
}
footer h4{color:#fff;margin-bottom:15px}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:35px;
}
.footer-bottom{
  text-align:center;
  border-top:1px solid #333;
  margin-top:50px;
  padding-top:20px;
  font-size:13px;
}

/* LARGE SCREENS ONLY - FOOTER */
@media(min-width:1440px){
  footer{
    padding:100px 0 30px;
  }
  .footer-grid{
    gap:50px;
    max-width:1400px;
    margin:0 auto;
  }
  footer h4{
    font-size:20px;
  }
}

@media(min-width:1600px){
  .footer-grid{
    max-width:1600px;
  }
}

@media(min-width:1920px){
  footer{
    padding:120px 0 40px;
  }
  .footer-grid{
    max-width:1800px;
    gap:60px;
  }
  footer h4{
    font-size:22px;
  }
}

@media(min-width:2560px){
  .footer-grid{
    max-width:2200px;
    gap:80px;
  }
}

@media(min-width:3200px){
  .footer-grid{
    max-width:2800px;
    gap:90px;
  }
}

@media(min-width:3840px){
  .footer-grid{
    max-width:3400px;
    gap:110px;
  }
}

/* RESPONSIVE */
@media(max-width:768px){
  .hero-content{padding:100px 20px}
  .hero h1{font-size:40px}
  .split{grid-template-columns:1fr}
}



/* =========================
   MOBILE RESPONSIVE FIXES
   ========================= */


@media (max-width: 576px) {

  body {
    font-size: 14px;
  }

  /* TOP BAR */
  .top-bar .flex {
    flex-direction: column;
    text-align: center;
    gap: 6px;
  }

  /* NAVBAR */
  nav ul {
    flex-direction: column;
    align-items: center;
  }

  nav li {
    padding: 12px 0;
  }

  /* HERO */
  .hero-new {
    padding: 80px 0;
  }

  .hero-text h1 {
    font-size: 32px;
    line-height: 1.2;
  }

  .hero-text p {
    font-size: 16px;
    margin-bottom: 30px;
  }

  .hero-actions {
    flex-direction: column;
    gap: 14px;
  }

  .hero-btn {
    width: 100%;
    text-align: center;
  }

  .hero-visual img {
    max-height: 260px;
  }

  /* SECTIONS */
  .section {
    padding: 70px 0;
  }

  /* SPLIT SECTION */
  .split {
    gap: 35px;
  }

  /* ICON GRID FIX (4 → 2 → 1) */
  .split .grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* CARDS */
  .card img {
    height: 180px;
  }

  .card .content {
    padding: 20px;
  }

  /* PRICING */
  .pricing-card {
    padding: 28px;
  }

  .pricing-card h1 {
    font-size: 34px;
  }

  /* CTA */
  .cta {
    padding: 80px 20px;
  }

  /* FOOTER */
  footer {
    padding: 60px 0 20px;
    text-align: center;
  }

  .footer-grid {
    gap: 25px;
  }

  .footer-grid img {
    max-width: 180px;
    margin: auto;
  }
}

/* Extra small phones */
@media (max-width: 380px) {
  .hero-text h1 {
    font-size: 28px;
  }

  .split .grid {
    grid-template-columns: 1fr !important;
  }
}

/* ===============================
   NAVBAR – MATCH IMAGE EXACTLY
   =============================== */

.main-nav{
  background:#fff;
  border-bottom:1px solid #ddd;
}

.nav-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  padding:18px 0;
}

/* Desktop menu (centered) */
.nav-menu{
  list-style:none;
  display:flex;
  gap:60px;
}

.nav-menu a{
  text-decoration:none;
  font-size:18px;
  font-weight:600;
  color:var(--primary);
}

/* Hidden desktop-only elements */
.mobile-title,
.hamburger{
  display:none;
}

/* ============ PHONE VIEW ============ */
@media(max-width:576px){

  .nav-inner{
    justify-content:space-between;
  }

  .mobile-title{
    display:block;
    font-weight:600;
    color:var(--primary);
    font-size:16px;
  }

  .hamburger{
    display:flex;
    flex-direction:column;
    cursor:pointer;
  }

  .hamburger span{
    width:26px;
    height:3px;
    background:var(--primary);
    margin:4px 0;
  }

  .nav-menu{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:#fff;
    flex-direction:column;
    gap:0;
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
    border-top:1px solid #ddd;
  }

  .nav-menu li{
    border-bottom:1px solid #eee;
  }

  .nav-menu a{
    padding:14px;
    text-align:center;
    display:block;
    font-size:16px;
  }

  .nav-menu.active{
    max-height:350px;
  }
}



/* FIX: Prevent navbar overlap on mobile */
@media (max-width: 576px) {
  nav {
    position: relative;
    z-index: 999;
  }

  .hero-new {
    margin-top: 0;
  }
}


/* VASTU GRID - RESPONSIVE */
.vastu-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  gap: clamp(20px,3vw,30px);
  max-width:min(1200px, 90vw);
  margin: 0 auto;
  padding: clamp(15px,2vw,20px);
}

@media(min-width:768px){
  .vastu-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(min-width:1024px){
  .vastu-grid{
    grid-template-columns: repeat(3, 1fr);
    max-width:min(1300px, 88vw);
  }
}

@media(min-width:1400px){
  .vastu-grid{
    max-width:min(90vw, 3500px);
  }
}

@media(min-width:2000px){
  .vastu-grid{
    max-width:min(85vw, 3500px);
  }
}

@media(min-width:3000px){
  .vastu-grid{
    max-width:min(80vw, 3500px);
  }
}

/* Individual Card Styling */
.card {
  background: #ffffff;
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
  text-align: center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.card img {
  width: 100%;
  height: 250px;      /* Consistent height for all images */
  object-fit: cover;  /* Prevents image stretching */
}

.card .content {
  padding: 20px;
  font-size: 1.2rem;
  font-weight: 600;
  color: #333;
}

/* Responsive: 1 card per row on mobile */
@media (max-width: 768px) {
  .vastu-grid {
    grid-template-columns: 1fr;
  }
}



.section.light {
  padding: 60px 0;
  background-color: #fdfdfd;
}

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

/* VASTU SERVICES GRID - RESPONSIVE */
.vastu-services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: clamp(20px,3vw,30px);
  max-width:min(1140px, 90vw);
  margin: 40px auto 0;
  padding: 0 clamp(15px,2vw,20px);
}

@media(min-width:768px){
  .vastu-services-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(min-width:1024px){
  .vastu-services-grid{
    grid-template-columns: repeat(3, 1fr);
    max-width:min(1300px, 88vw);
  }
}

@media(min-width:1400px){
  .vastu-services-grid{
    max-width:min(90vw, 3500px);
  }
}

@media(min-width:2000px){
  .vastu-services-grid{
    max-width:min(85vw, 3500px);
  }
}

@media(min-width:3000px){
  .vastu-services-grid{
    max-width:min(80vw, 3500px);
  }
}

/* Card Styling */
.card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  overflow: hidden;
  transition: all 0.3s ease;
  border: 1px solid #eee;
}

.card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}

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

.card .content {
  padding: 20px;
}

.card .content h3 {
  margin: 0 0 10px 0;
  color: #c08b30; /* Golden Vastu color */
  font-size: 1.4rem;
}

.card .content p {
  color: #666;
  font-size: 0.95rem;
  line-height: 1.5;
}

/* Mobile Responsiveness */
@media (max-width: 992px) {
  .vastu-services-grid {
    grid-template-columns: repeat(2, 1fr); /* 2 per row on tablets */
  }
}

@media (max-width: 600px) {
  .vastu-services-grid {
    grid-template-columns: 1fr; /* 1 per row on phones */
  }
}


.vastu-pricing {
  padding: 100px 0;
  background-color: #f8f9fa; /* Very soft gray */
  font-family: 'Helvetica Neue', Arial, sans-serif;
  text-align: center;
}

.section-heading {
  font-size: 2.2rem;
  font-weight: 300;
  color: #2c3e50;
  margin-bottom: 60px;
  letter-spacing: 1px;
}

/* PRICING - RESPONSIVE */
.pricing-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(20px,3vw,30px);
  max-width:min(1200px, 90vw);
  margin: 0 auto;
  padding: 0 clamp(15px,2vw,20px);
}

.plan-box {
  background: #ffffff;
  padding: clamp(40px,5vw,60px) clamp(30px,4vw,40px);
  flex: 1 1 300px;
  min-width: 280px;
  max-width: 400px;
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.03);
  transition: all 0.4s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid #eee;
}

@media(max-width:768px){
  .pricing-wrapper{
    flex-direction: column;
    align-items: center;
  }
  .plan-box{
    width: 100%;
    max-width: 400px;
  }
  .featured-plan{
    transform: scale(1);
  }
}

.plan-box:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
}

.featured-plan {
  border: 1px solid #d4af37;
  background: #fff;
  transform: scale(1.05);
  box-shadow: 0 20px 60px rgba(212, 175, 55, 0.1);
}

.plan-header h3 {
  font-size: clamp(1.2rem,2vw,1.5rem);
  font-weight: 600;
  color: #333;
  margin-bottom: 15px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.accent-line {
  width: 40px;
  height: 3px;
  background: #3498db;
  margin: 0 auto 30px;
}

.accent-line-gold {
  width: 50px;
  height: 3px;
  background: #d4af37;
  margin: 0 auto 30px;
}

.plan-desc {
  font-size: clamp(0.9rem,1.5vw,1rem);
  color: #7f8c8d;
  line-height: 1.6;
  margin-bottom: 40px;
}

.plan-action {
  text-decoration: none;
  padding: clamp(12px,2vw,15px) clamp(24px,3vw,30px);
  border-radius: 50px;
  border: 1px solid #333;
  color: #333;
  font-weight: 600;
  font-size: clamp(0.85rem,1.2vw,0.9rem);
  transition: all 0.3s ease;
}

.plan-action:hover {
  background: #333;
  color: #fff;
}

.gold-btn {
  background: #d4af37;
  color: #fff;
  border-color: #d4af37;
}

.gold-btn:hover {
  background: #b8962e;
  border-color: #b8962e;
}

.main-footer {
  background: #001f2d;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
}

/* FOOTER */
.main-footer{
  background:#001f2d;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
}

.footer-container{
  
  
  display:grid;
  grid-template-columns:1fr 2.2fr;
  gap:clamp(40px,8vw,60px);
}

.footer-logo{
  width:clamp(140px,20vw,180px);
  margin-bottom:25px;
}

.footer-tagline{
  font-size:clamp(13px,1.5vw,14px);
  line-height:1.7;
  color:#cfd8dc;
  margin-bottom:30px;
}

.follow-title{
  color:#8cb83e;
  font-size:clamp(14px,1.6vw,15px);
  letter-spacing:1px;
  margin-bottom:15px;
}

.social-icons a{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:36px;
  height:36px;
  margin-right:10px;
  border-radius:50%;
  background:rgba(255,255,255,0.1);
  color:#fff;
  text-decoration:none;
  font-size:14px;
  transition:background 0.3s;
}

.social-icons a:hover{
  background:rgba(255,255,255,0.2);
}

.links-heading{
  font-size:clamp(16px,2vw,18px);
  font-weight:600;
  margin-bottom:8px;
}

.heading-line{
  width:100%;
  height:2px;
  background:#ff8a00;
  margin-bottom:30px;
}

.links-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:clamp(25px,5vw,40px);
}

.links-grid ul{
  list-style:none;
  padding:0;
  margin:0;
}

.links-grid li{
  margin-bottom:14px;
}

.links-grid a{
  color:#fff;
  font-size:clamp(13px,1.4vw,14px);
  text-decoration:none;
  transition:color 0.3s;
}

.links-grid a:hover{
  color:#8cb83e;
}

.links-grid li::before{
  content:"▶" !important;
  font-size:10px;
  margin-right:8px;
  color:rgba(255,255,255,0.6);
}

.contact-btn{
  background:#8cb83e;
  color:#000 !important;
  padding:6px ;
  border-radius:6px;
  font-weight:600;
  display:inline-block;
  margin-top:10px;
  transition:background 0.3s;
}

.contact-btn:hover{
  background:#7ba635;
}

.contact-btn::before{
  content:"";
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.2);
  text-align:center;
  padding:clamp(16px,3vw,18px) 10px;
  font-size:clamp(12px,1.3vw,13px);
  color:#b0bec5;
}

/* TABLET RESPONSIVE */
@media(max-width:992px){
  .about-section,
  .philosophy-section{
    flex-direction:column;
    text-align:center;
  }
  
  .services-grid,
  .features-grid{
    flex-direction:column;
  }
  
  .footer-container{
    grid-template-columns:1fr;
  }
  
  .links-grid{
    grid-template-columns:1fr;
  }
}

/* MOBILE RESPONSIVE */
@media(max-width:576px){
  .top-bar .flex{
    flex-direction:column;
    text-align:center;
    gap:6px;
  }
  
  .nav-inner{
    justify-content:space-between;
  }
  
  .mobile-title{
    display:block;
    font-weight:600;
    font-size:16px;
    color:var(--primary);
  }
  
  .hamburger{
    display:flex;
    flex-direction:column;
    cursor:pointer;
  }
  
  .hamburger span{
    width:26px;
    height:3px;
    background:var(--primary);
    margin:4px 0;
    transition:0.3s;
  }
  
  .nav-menu{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:#fff;
    flex-direction:column;
    gap:0;
    max-height:0;
    overflow:hidden;
    transition:max-height 0.3s ease;
    border-top:1px solid #ddd;
    z-index:999;
  }
  
  .nav-menu li{
    border-bottom:1px solid #eee;
  }
  
  .nav-menu a{
    display:block;
    padding:14px;
    text-align:center;
    font-size:16px;
  }
  
  .nav-menu.active{
    max-height:400px;
  }
  
  .main-wrapper{
    margin:30px auto;
  }
  
  .service-card{
    min-width:100%;
  }
  
  .feature-item{
    min-width:100%;
  }
}

/* LARGE SCREENS */
@media(min-width:1440px){
  .container{
    max-width:1600px;
  }
  
  .main-wrapper{
    max-width:1600px;
  }
  
  .footer-container{
    max-width:1600px;
  }
}

/* EXTRA LARGE SCREENS */
@media(min-width:1600px){
  .container{
    max-width:1800px;
  }
  
  .main-wrapper{
    max-width:1800px;
  }
  
  .footer-container{
    max-width:1900px;
  }
}

/* ULTRA-WIDE SCREENS */
@media(min-width:1920px){
  .container{
    max-width:2200px;
  }
  
  .main-wrapper{
    max-width:2200px;
  }
  
  .footer-container{
    max-width:2200px;
  }
  
  body{
    font-size:20px;
  }
}

/* SUPER ULTRA-WIDE SCREENS */
@media(min-width:2560px){
  .container{
    max-width:2800px;
  }
  
  .main-wrapper{
    max-width:2800px;
  }
  
  .footer-container{
    max-width:2800px;
  }
  
  body{
    font-size:22px;
  }
}

/* EXTREME ULTRA-WIDE SCREENS */
@media(min-width:3200px){
  .container{
    max-width:3400px;
  }
  
  .main-wrapper{
    max-width:3400px;
  }
  
  .footer-container{
    max-width:3400px;
  }
  
  body{
    font-size:24px;
  }
}

/* EXTRA SMALL DEVICES */
@media(max-width:380px){
  .container,
  .main-wrapper{
    padding:0 16px;
  }
  
  .about-section,
  .services-section,
  .why-choose-section,
  .contact-cta{
    padding:25px 16px;
  }
}

/* HEADER */
/* ================= NAVBAR ONLY ================= */

/* Top bar */
.top-bar{
  background:var(--primary);
  color:#fff;
  padding:12px 0;
}
.top-bar .flex{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

/* Main nav */
.main-nav{
  background:#fff;
  border-bottom:1px solid #ddd;
}

.nav-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  padding:18px 0;
}

/* Desktop menu */
.nav-menu{
  list-style:none;
  display:flex;
  gap:60px;
}

.nav-menu a{
  text-decoration:none;
  font-size:18px;
  font-weight:600;
  color:var(--primary);
}

/* Hidden on desktop */
.mobile-title,
.hamburger{
  display:none;
}

/* ============ MOBILE ============ */
@media(max-width:576px){

  .top-bar .flex{
    flex-direction:column;
    gap:6px;
    text-align:center;
  }

  .nav-inner{
    justify-content:space-between;
  }

  .mobile-title{
    display:block;
    font-weight:600;
    font-size:16px;
    color:var(--primary);
  }

  .hamburger{
    display:flex;
    flex-direction:column;
    cursor:pointer;
  }

  .hamburger span{
    width:26px;
    height:3px;
    background:var(--primary);
    margin:4px 0;
  }

  .nav-menu{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:#fff;
    flex-direction:column;
    gap:0;
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
    border-top:1px solid #ddd;
    z-index:999;
  }

  .nav-menu li{
    border-bottom:1px solid #eee;
  }

  .nav-menu a{
    display:block;
    padding:14px;
    text-align:center;
    font-size:16px;
  }

  .nav-menu.active{
    max-height:350px;
  }
}/* PREMIUM HERO IMAGE STYLING */
.hero-image {
  position: relative;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,0.15));
}

.hero-image img {
  border-radius: 12px;
  box-shadow: 0 25px 50px rgba(0,0,0,0.2);
  transition: transform 0.3s ease;
}

.hero-image:hover img {
  transform: translateY(-5px);
}

/* ENHANCED HERO BACKGROUND */
.hero {
  background: linear-gradient(135deg, #0B3C5D 0%, #1D65A6 50%, #08304a 100%);
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(ellipse at center, rgba(255,255,255,0.05) 0%, transparent 70%);
  pointer-events: none;
}

/* PREMIUM TEXT STYLING */
.hero-text h1 {
  text-shadow: 0 4px 8px rgba(0,0,0,0.3);
  font-weight: 300;
  letter-spacing: -0.02em;
}

.hero-text p {
  text-shadow: 0 2px 4px rgba(0,0,0,0.2);
  opacity: 0.9;
}

/* RESPONSIVE IMAGE OPTIMIZATION */
@media (max-width: 768px) {
  .hero-image {
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.15));
  }
  
  .hero-image img {
    border-radius: 8px;
    box-shadow: 0 15px 30px rgba(0,0,0,0.15);
  }
}

/* HERO SECTION */
/* =========================
   HERO BASE (MOBILE FIRST)
========================= */
.hero{
  min-height:100vh;
  background: rgb(12, 60, 94);
  display:flex;
  align-items:center;
  padding:clamp(80px,10vh,140px) clamp(20px,4vw,60px);
}

.hero-inner{
  max-width:min(1200px, 90vw);
  width:100%;
  margin:auto;
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(40px,5vw,80px);
  align-items:flex-start;
}

.hero-text{
  color:#fff;
  text-align:center;
}

.hero-text h1{
  font-size:clamp(28px,4.5vw,48px);
  line-height:1.2;
  margin:0 0 20px 0;
  font-weight:700;
}

.hero-text p{
  font-size:clamp(15px,1.6vw,18px);
  line-height:1.7;
  color:#d6e6f2;
  margin-bottom:32px;
}

/* IMAGE HIDDEN BY DEFAULT (MOBILE) */
.hero-image{
  display:none;
}

/* =========================
   TABLET & SMALL LAPTOP
========================= */
@media (min-width: 768px){
  .hero-text{
    text-align:center;
  }
}

/* =========================
   DESKTOP — SHOW IMAGE + BG
========================= */
@media (min-width:1024px){
  .hero{
    /* Replace the URL below with your actual image URL from WordPress media library */
    background: url("https://www.vastuconsultantusa.com/wp-content/themes/twentytwenty/assets/images/herosection.jpeg") 70% center / cover no-repeat;
  }

  .hero-inner{
    max-width:min(1400px, 90vw);
    grid-template-columns:1fr 1.2fr;
    text-align:left;
  }

  .hero-text{
    margin-top:30px;
  }

  .hero-text h1{
    margin-right:20px;
  }

  .hero-image{
    display:flex;
    justify-content:flex-end;
    align-items:center;
  }

  .hero-image img{
    width:100%;
    max-width:700px;
    height:auto;
    object-fit:contain;
    transform:scale(1.25);
  }
}

/* =========================
   LARGE DESKTOP
========================= */
@media (min-width:1400px){
  .hero-text{
    margin-top:150px;
    padding-right:90px;
  }

  .hero-text h1{
    font-size:clamp(40px,4vw,64px);
  }

  .hero-text p{
    font-size:clamp(12px,1vw,14px);
  }

  .hero-image img{
    max-width:800px;
    transform:scale(1.3);
  }
}

/* =========================
   EXTRA LARGE SCREENS
========================= */
@media (min-width:1920px){
  .hero-inner{
    max-width:min(1800px, 100vw);
  }

  .hero-text{
    margin-top:10px;
    padding-right:90px;
  }

  .hero-image img{
    max-width:900px;
    transform:scale(1.35);
  }
}

/* =========================
   SMALL DEVICES FINE TUNE
========================= */
@media (max-width:768px){
  .hero{
    padding:80px 20px;
  }

  .hero-text h1{
    font-size:clamp(28px,7vw,36px);
  }

  .hero-text p{
    font-size:16px;
    margin:0 auto 24px;
  }
}

@media (max-width:480px){
  .hero{
    padding:60px 16px;
  }

  .hero-text h1{
    font-size:26px;
  }
}