/* =====================================================
   Ashtvinayak Builders — Custom Styles
   Theme: #2a3990 (primary) · #262262 (secondary) · #9f1f63 (magenta)
   ===================================================== */

:root{
  --primary:#2a3990;
  --secondary:#262262;
  --magenta:#9f1f63;
  --gold:#d4a85a;
  --bg:#fafafa;
  --text:#1f1f2e;
  --muted:#6b6b80;
  --border:#e6e6ee;
  --gradient-brand:linear-gradient(135deg,#2a3990 0%,#262262 50%,#9f1f63 100%);
  --gradient-magenta:linear-gradient(135deg,#9f1f63 0%,#2a3990 100%);
  --gradient-hero:linear-gradient(135deg,rgba(38,34,98,.85) 0%,rgba(42,57,144,.6) 50%,rgba(159,31,99,.5) 100%);
  --shadow-card:0 4px 20px rgba(38,34,98,.08);
  --shadow-elegant:0 20px 50px rgba(38,34,98,.18);
  --shadow-glow:0 0 30px rgba(159,31,99,.4);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Epilogue',sans-serif;
  font-weight:300;
  color:var(--text);
  background:var(--bg);
  margin:0;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.display{font-family:'Epilogue',serif;font-weight:900;letter-spacing:-.01em}
.fw-bold{font-weight:700!important}
a{text-decoration:none;color:var(--primary);transition:color .3s}
a:hover{color:var(--magenta)}
img{max-width:100%;height:auto}

/* Utility */
.text-magenta{color:var(--magenta)!important}
.text-primary-brand{color:var(--primary)!important}
.text-secondary-brand{color:var(--secondary)!important}
.text-gold{color:var(--gold)!important}
.bg-primary-brand{background:var(--primary)!important;color:#fff}
.bg-secondary-brand{background:var(--secondary)!important;color:#fff}
.bg-magenta{background:var(--magenta)!important;color:#fff}
.bg-gradient-brand{background:var(--gradient-brand)!important;color:#fff}
.bg-gradient-magenta{background:var(--gradient-magenta)!important;color:#fff}
.text-gradient{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.section-label{display:inline-block;font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;color:var(--magenta);font-weight:700;margin-bottom:.75rem}
.section-pad{padding:5rem 0}
.shadow-card{box-shadow:var(--shadow-card)}
.shadow-elegant{box-shadow:var(--shadow-elegant)}
.rounded-2xl{border-radius:1.25rem}
.rounded-3xl{border-radius:1.75rem}
.text-muted{text-align:justify}


/* Buttons */
.btn{font-weight:600;border-radius:50px;padding:.75rem 1.75rem;transition:all .35s cubic-bezier(.4,0,.2,1);border:none;letter-spacing:.02em;text-transform:none}
.btn-magenta{background:var(--gradient-magenta);color:#fff;box-shadow:0 6px 20px rgba(159,31,99,.35)}
.btn-magenta:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(159,31,99,.5);color:#fff}
.btn-brand{background:var(--gradient-brand);color:#fff;box-shadow:0 6px 20px rgba(42,57,144,.3)}
.btn-brand:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(42,57,144,.45);color:#fff}
.btn-outline-light{border:2px solid #fff;color:#fff;background:transparent}
.btn-outline-light:hover{background:#fff;color:var(--primary)}
.btn-outline-brand{border:2px solid var(--primary);color:var(--primary);background:transparent}
.btn-outline-brand:hover{background:var(--gradient-brand);color:#fff;border-color:transparent}
.btn-lg{padding:.95rem 2.25rem;font-size:1rem}

.topbar{
  background:#2c2f7a;
  color:#fff;
  font-size:.85rem;
  padding:8px 0;
}

.topbar i{
  margin-right:5px;
}

.topbar a{
  color:#fff;
  margin-left:12px;
  transition:.3s;
  font-size:1rem;
}

.topbar a:hover{
  color:#ff4da6;
}

/* Responsive */
@media(max-width:768px){
  .topbar-left,
  .topbar-right{
    justify-content:center;
    width:100%;
    text-align:center;
  }

  .topbar-left span{
    display:block;
    margin-bottom:3px;
  }
}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1040;transition:all .35s;padding:0; margin:0;background:#fff;}
.site-header.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(12px);box-shadow:0 4px 20px rgba(0,0,0,.08);padding:.5rem 0}
.site-header .navbar-brand{font-family:'Playfair Display',serif;font-weight:900;font-size:1.5rem;color:var(--primary);transition:color .3s}
.site-header .navbar-brand img{
  height: 42px;       /* control size */
  width: auto;        /* maintain ratio */
  object-fit: contain;
  display: block;
}
.site-header.scrolled .navbar-brand{color:var(--primary)}
.site-header .nav-link{color:rgba(24, 22, 22)!important;font-weight:500;font-size:.92rem;letter-spacing:.02em;padding:.5rem 1rem!important;transition:color .3s;position:relative}
.site-header.scrolled .nav-link{color:var(--text)!important}
.site-header .nav-link:hover,.site-header .nav-link.active{color:var(--magenta)!important}
.site-header .nav-link.active::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:24px;height:2px;background:var(--magenta);border-radius:2px}
.dropdown-menu{border:none;border-radius:.75rem;box-shadow:var(--shadow-elegant);padding:.5rem;margin-top:.5rem!important;min-width:220px}
.dropdown-item{border-radius:.5rem;padding:.6rem 1rem;font-weight:500;font-size:.9rem;color:var(--text)}
.dropdown-item:hover,.dropdown-item.active{background:var(--gradient-magenta);color:#fff}
.navbar-toggler{border:none;color:#fff;font-size:1.5rem}
.site-header.scrolled .navbar-toggler{color:var(--primary)}
.navbar-toggler:focus{box-shadow:none}
@media (max-width:991px){
  .site-header{background:rgba(255,255,255,.97);backdrop-filter:blur(12px);padding:.5rem 0}
  .site-header .navbar-brand,.site-header .nav-link{color:var(--text)!important}
  .navbar-toggler{color:var(--primary)}
  .navbar-collapse{padding:1rem 0}
}

/* Hero */
.hero{position:relative;min-height:100vh;overflow:hidden;display:flex;align-items:center;color:#fff}
.hero .swiper{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.hero .swiper-slide{position:relative}
.hero .slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.1);animation:zoom 12s ease-in-out infinite alternate}
@keyframes zoom{from{transform:scale(1.05)}to{transform:scale(1.18)}}
.hero::after{content:'';position:absolute;inset:0;background:var(--gradient-hero);z-index:2}
.hero .hero-content{position:relative;z-index:3;width:100%}
.hero h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1.05;margin-bottom:1.5rem}
.hero h1 .highlight{display:block;background:linear-gradient(90deg,var(--magenta),var(--gold),var(--magenta));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-style:italic}
.hero p.lead{font-size:1.15rem;font-weight:300;max-width:640px;margin-bottom:2.5rem;color:rgba(255,255,255,.92)}
.hero .badge-trust{display:inline-block;padding:.5rem 1.25rem;border-radius:50px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1.5rem}
.hero .scroll-cue{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;z-index:5;animation:bob 2.5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-10px)}}
.swiper-pagination-bullet{background:#fff!important;opacity:.5}
.swiper-pagination-bullet-active{opacity:1;background:var(--magenta)!important;width:30px;border-radius:5px}

/* Counters */
.counter-card{background:#fff;border:1px solid var(--border);border-radius:1.25rem;padding:2rem 1.5rem 1.5rem;text-align:center;box-shadow:var(--shadow-card);transition:all .4s;position:relative;height:100%}
.counter-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-elegant)}
.counter-card .icon{position:absolute;top:-22px;left:50%;transform:translateX(-50%);width:48px;height:48px;border-radius:50%;background:var(--gradient-magenta);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-glow);font-size:1.2rem}
.counter-card .num{font-family:'Playfair Display',serif;font-weight:900;font-size:2.75rem;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-top:.5rem}
.counter-card .label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:.5rem}

/* Project card */
.project-card{position:relative;border-radius:1.25rem;overflow:hidden;background:#fff;box-shadow:var(--shadow-card);transition:all .5s;height:100%}
.project-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-elegant)}
.project-card .img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden}
.project-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.project-card:hover .img-wrap img{transform:scale(1.12)}
.project-card .img-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(38,34,98,.95),rgba(38,34,98,.2),transparent)}
.project-card .badge-status{position:absolute;top:1rem;left:1rem;z-index:2;padding:.35rem .85rem;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;border-radius:50px}
.project-card .badge-status.ongoing{background:var(--gradient-magenta);color:#fff}
.project-card .badge-status.completed{background:var(--gold);color:var(--secondary)}
.project-card .badge-status.upcoming{background:#fff;color:var(--primary)}
.project-card .info{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;color:#fff;z-index:2}
.project-card .info .type{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.25rem}
.project-card .info h3{font-size:1.4rem;margin:0 0 .25rem}
.project-card .info .loc{font-size:.85rem;opacity:.85}
.project-card .foot{padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border)}

/* Vision */
.vision-img{position:relative;border-radius:1.25rem;overflow:hidden;box-shadow:var(--shadow-elegant)}
.vision-img::before{content:'';position:absolute;inset:-1rem;background:var(--gradient-brand);border-radius:1.5rem;opacity:.2;filter:blur(40px);z-index:-1}

/* Track record */
.tr-card{display:flex;background:#fff;border:1px solid var(--border);border-radius:1.25rem;overflow:hidden;box-shadow:var(--shadow-card);transition:all .4s;height:100%}
.tr-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elegant)}
.tr-card img{width:160px;object-fit:cover;flex-shrink:0}
.tr-card .body{padding:1.25rem;flex:1}

/* Lifestyle banner */
.lifestyle{position:relative;border-radius:1.75rem;overflow:hidden;box-shadow:var(--shadow-elegant)}
.lifestyle img{width:100%;height:420px;object-fit:cover;transition:transform .6s}
.lifestyle:hover img{transform:scale(1.05)}
.lifestyle .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(38,34,98,.95),transparent);display:flex;align-items:flex-end;padding:2.5rem;color:#fff}
.lifestyle .feat{display:flex;align-items:center;gap:.5rem;font-size:.9rem}
.lifestyle .feat .icon{width:36px;height:36px;border-radius:50%;background:rgba(159,31,99,.4);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center}

/* Testimonial */
.testimonial-card{background:#fff;border:1px solid var(--border);border-radius:1.25rem;padding:2rem;box-shadow:var(--shadow-card);height:100%;transition:all .4s}
.testimonial-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elegant)}
.testimonial-card .stars{color:var(--gold);margin-bottom:.75rem}
.testimonial-card p{font-style:italic;color:var(--text);margin-bottom:1.5rem;font-size:.95rem;line-height:1.7}
.testimonial-card .author{display:flex;align-items:center;gap:.75rem;border-top:1px solid var(--border);padding-top:1rem}
.testimonial-card .avatar{width:42px;height:42px;border-radius:50%;background:var(--gradient-magenta);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-weight:700}

/* Enquiry CTA */
.cta-card{background:var(--gradient-brand);color:#fff;border-radius:1.75rem;padding:3rem;position:relative;overflow:hidden;box-shadow:var(--shadow-elegant)}
.cta-card::before{content:'';position:absolute;bottom:-100px;right:-100px;width:300px;height:300px;border-radius:50%;background:rgba(159,31,99,.4);filter:blur(50px)}
.cta-card::after{content:'';position:absolute;top:-100px;left:-100px;width:300px;height:300px;border-radius:50%;background:rgba(212,168,90,.25);filter:blur(50px)}
.cta-card > *{position:relative;z-index:1}
.form-card{background:#fff;border:1px solid var(--border);border-radius:1.75rem;padding:2.5rem;box-shadow:var(--shadow-card)}
.form-control,.form-select{border-radius:.6rem;padding:.75rem 1rem;border:1px solid var(--border);font-size:.95rem;transition:all .3s}
.form-control:focus,.form-select:focus{border-color:var(--magenta);box-shadow:0 0 0 .2rem rgba(159,31,99,.15)}
.form-label{font-weight:500;color:var(--secondary);font-size:.85rem;margin-bottom:.4rem}

/* Social grid */
.social-grid a{display:block;position:relative;aspect-ratio:1;border-radius:.75rem;overflow:hidden}
.social-grid a img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.social-grid a:hover img{transform:scale(1.12)}
.social-grid a::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(38,34,98,.85),transparent);opacity:0;transition:opacity .3s}
.social-grid a:hover::after{opacity:1}

/* Page hero */
.page-hero{position:relative;padding:9rem 0 5rem;background:var(--gradient-brand);color:#fff;text-align:center;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background-image:url('../img/hero-1.jpg');background-size:cover;background-position:center;opacity:.18}
.page-hero > *{position:relative;z-index:1}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:1rem}
.breadcrumb-light{display:inline-flex;font-size:.85rem;color:rgba(255,255,255,.85)}
.breadcrumb-light a{color:rgba(255,255,255,.85)}
.breadcrumb-light a:hover{color:#fff}

/* Footer */
.site-footer{background:linear-gradient(180deg,var(--secondary) 0%,#1a1645 100%);color:#fff;padding:4rem 0 0;position:relative;overflow:hidden}
.site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-magenta)}
.site-footer h5{font-family:'Playfair Display',serif;font-weight:700;font-size:1.15rem;margin-bottom:1.25rem;color:#fff}
.site-footer a{color:rgba(255,255,255,.75);transition:color .3s;font-size:.92rem}
.site-footer a:hover{color:var(--magenta)}
.site-footer ul{list-style:none;padding:0}
.site-footer ul li{margin-bottom:.5rem}
.footer-social{display:flex;gap:.5rem;margin-top:1rem}
.footer-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#fff}
.footer-social a:hover{background:var(--gradient-magenta);transform:translateY(-3px);color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:3rem;padding:1.25rem 0;font-size:.85rem;color:rgba(255,255,255,.6)}
.footer-bottom a{color:var(--magenta)}

/* Floating actions */
.floating-actions{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1030;display:flex;flex-direction:column;gap:.75rem}
.fab{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.2);font-size:1.3rem;transition:all .3s;cursor:pointer;border:none;animation:pulseRing 2s infinite}
.fab:hover{transform:scale(1.1);color:#fff}
.fab.whatsapp{background:#25D366}
.fab.call{background:var(--primary)}
.fab.enquire{background:var(--gradient-magenta)}
.fab.scroll-top{background:var(--secondary);opacity:0;pointer-events:none}
.fab.scroll-top.show{opacity:1;pointer-events:auto}
@keyframes pulseRing{0%{box-shadow:0 6px 18px rgba(0,0,0,.2),0 0 0 0 rgba(159,31,99,.5)}70%{box-shadow:0 6px 18px rgba(0,0,0,.2),0 0 0 16px rgba(159,31,99,0)}100%{box-shadow:0 6px 18px rgba(0,0,0,.2),0 0 0 0 rgba(159,31,99,0)}}

/* Cookie banner */
.cookie-banner{position:fixed;bottom:1rem;left:1rem;right:1rem;max-width:480px;background:#fff;border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow-elegant);z-index:1029;border:1px solid var(--border);transform:translateY(150%);transition:transform .5s}
.cookie-banner.show{transform:translateY(0)}
@media (min-width:992px){.cookie-banner{left:auto;right:6rem;bottom:1rem}}

/* Modal */
.modal-content{border:none;border-radius:1.25rem;overflow:hidden}
.modal-header{background:var(--gradient-brand);color:#fff;border:none;padding:1.5rem}
.modal-header .modal-title{font-family:'Playfair Display',serif;font-weight:700}
.btn-close-white{filter:invert(1)}
.modal-body{padding:2rem}

/* Animations utility */
.fade-up{opacity:0;transform:translateY(30px);transition:all .8s}
.fade-up.in{opacity:1;transform:translateY(0)}

/* Project details */
.amenity-item{display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;background:#fff;border:1px solid var(--border);border-radius:50px;font-size:.85rem;color:var(--text)}
.amenity-item i{color:var(--magenta)}

/* Timeline */
.timeline{position:relative;padding-left:2rem;border-left:3px solid var(--magenta)}
.timeline-item{position:relative;margin-bottom:2.5rem}
.timeline-item::before{content:'';position:absolute;left:-2.6rem;top:.4rem;width:18px;height:18px;border-radius:50%;background:var(--gradient-magenta);box-shadow:0 0 0 4px rgba(159,31,99,.15)}
.timeline-year{display:inline-block;background:var(--gradient-brand);color:#fff;padding:.25rem .85rem;border-radius:50px;font-size:.8rem;font-weight:600;margin-bottom:.5rem}

/* Alternating Timeline Vertical */
.timeline-vertical{
  position:relative;
  padding:3rem 0;
}
.timeline-vertical::before{
  content:'';
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:3px;
  background:var(--gradient-magenta);
  transform:translateX(-50%);
  border-radius:2px;
  z-index:1
}
.timeline-item-alt{
  position:relative;
  margin-bottom:3.5rem;
  display:flex;
  align-items:center;
  animation:slideInTimeline .6s ease-out forwards;
  opacity:0
}
.timeline-item-alt.left{
  flex-direction:row;
  text-align:right
}
.timeline-item-alt.right{
  flex-direction:row-reverse;
  text-align:left
}
.timeline-item-alt::before{
  content:'';
  position:absolute;
  left:50%;
  top:1.5rem;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--gradient-magenta);
  box-shadow:0 0 0 5px rgba(159,31,99,.15),0 0 15px rgba(159,31,99,.3);
  transform:translateX(-50%);
  z-index:10
}
.timeline-item-alt .timeline-content{
  width:calc(50% - 1.5rem);
  background:#fff;
  border:2px solid var(--border);
  border-radius:1rem;
  padding:1.8rem;
  box-shadow:0 4px 15px rgba(38,34,98,.08);
  transition:all .4s cubic-bezier(.4,0,.2,1)
}
.timeline-item-alt.left .timeline-content{
  margin-right:auto
}
.timeline-item-alt.right .timeline-content{
  margin-left:auto
}
.timeline-item-alt .timeline-content:hover{
  box-shadow:0 8px 25px rgba(38,34,98,.15);
  border-color:var(--magenta);
  transform:translateY(-6px)
}
.timeline-item-alt .timeline-year{
  display:inline-block;
  background:var(--gradient-magenta);
  color:#fff;
  padding:.4rem 1.1rem;
  border-radius:50px;
  font-size:.85rem;
  font-weight:700;
  margin-bottom:.8rem
}
.timeline-item-alt h4{
  color:var(--text);
  margin-bottom:.8rem;
  font-size:1.25rem;
  font-weight:700;
  line-height:1.3
}
.timeline-item-alt .milestone-location{
  display:inline;
  color:var(--magenta);
  font-size:.95rem;
  font-weight:600;
  margin-left:.3rem
}
.timeline-item-alt p{
  text-align:justify;
  line-height:1.7;
  font-size:.95rem;
  color:#666;
  margin-bottom:1rem
}
.timeline-item-alt .visit-link{
  display:inline-block;
  color:var(--primary);
  font-weight:600;
  font-size:.9rem;
  transition:all .3s;
  cursor:pointer;
  text-decoration:none
}
.timeline-item-alt .visit-link:hover{
  color:var(--magenta);
  transform:translateX(4px)
}

@keyframes slideInTimeline{
  0%{opacity:0;transform:translateY(20px)}
  100%{opacity:1;transform:translateY(0)}
}

/* Staggered animation delays */
.timeline-item-alt[data-aos-delay="0"]{animation-delay:0s}
.timeline-item-alt[data-aos-delay="80"]{animation-delay:.08s}
.timeline-item-alt[data-aos-delay="160"]{animation-delay:.16s}
.timeline-item-alt[data-aos-delay="240"]{animation-delay:.24s}
.timeline-item-alt[data-aos-delay="320"]{animation-delay:.32s}
.timeline-item-alt[data-aos-delay="400"]{animation-delay:.4s}
.timeline-item-alt[data-aos-delay="480"]{animation-delay:.48s}
.timeline-item-alt[data-aos-delay="560"]{animation-delay:.56s}
.timeline-item-alt[data-aos-delay="640"]{animation-delay:.64s}
.timeline-item-alt[data-aos-delay="720"]{animation-delay:.72s}

/* Vision Box Styling */
.vision-box{border:2px solid var(--magenta);transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:fadeInUp .7s ease-out}
.vision-box::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(159,31,99,.03) 0%,transparent 100%);opacity:0;transition:opacity .5s}
.vision-box:hover::before{opacity:1}
.vision-box:hover{box-shadow:0 10px 30px rgba(159,31,99,.2);border-color:var(--magenta);transform:translateY(-4px)}
.vision-box p{text-align:justify;line-height:1.7}

@keyframes fadeInUp{
  0%{opacity:0;transform:translateY(30px)}
  100%{opacity:1;transform:translateY(0)}
}

/* News card */
.news-card{background:#fff;border:1px solid var(--border);border-radius:1.25rem;overflow:hidden;box-shadow:var(--shadow-card);transition:all .4s;height:100%}
.news-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-elegant)}
.news-card img{width:100%;height:220px;object-fit:cover;transition:transform .6s}
.news-card:hover img{transform:scale(1.08)}
.news-card .body{padding:1.5rem}

/* Job card */
.job-card{background:#fff;border:1px solid var(--border);border-radius:1.25rem;padding:1.5rem;box-shadow:var(--shadow-card);transition:all .4s;height:100%}
.job-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elegant);border-color:var(--magenta)}

/* Gallery filter */
.gallery-filter{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}
.gallery-filter button{background:transparent;border:2px solid var(--border);padding:.5rem 1.25rem;border-radius:50px;font-weight:500;font-size:.85rem;color:var(--text);transition:all .3s}
.gallery-filter button.active,.gallery-filter button:hover{background:var(--gradient-magenta);border-color:transparent;color:#fff}
.gallery-item{border-radius:1rem;overflow:hidden;cursor:pointer;position:relative;aspect-ratio:4/3}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gallery-item:hover img{transform:scale(1.1)}

/* Map */
.map-wrap{border-radius:1.25rem;overflow:hidden;box-shadow:var(--shadow-card)}
.map-wrap iframe{width:100%;height:420px;border:0;display:block}

/* Admin */
.admin-shell{display:flex;min-height:100vh;background:#f4f5f9}
.admin-sidebar{width:240px;background:linear-gradient(180deg,var(--secondary),#1a1645);color:#fff;padding:1.5rem 0;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}
.admin-sidebar h4{padding:0 1.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.1);font-family:'Playfair Display',serif;font-size:1.2rem}
.admin-sidebar a{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.5rem;color:rgba(255,255,255,.78);font-size:.92rem;transition:all .3s;border-left:3px solid transparent}
.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(159,31,99,.2);color:#fff;border-left-color:var(--magenta)}
.admin-main{margin-left:240px;flex:1;padding:2rem}
.admin-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:var(--shadow-card);margin-bottom:1.5rem}
.stat-tile{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:var(--shadow-card);border-left:4px solid var(--magenta)}
.stat-tile .num{font-family:'Playfair Display',serif;font-size:2.25rem;font-weight:900;color:var(--primary)}
.stat-tile .label{color:var(--muted);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:768px){.admin-sidebar{width:100%;position:relative;height:auto}.admin-main{margin-left:0;padding:1rem}}

/* Spacing helpers */
.mt-section{margin-top:8rem}
.pt-page{padding-top:7rem}


/* Sections */
.section {
    padding: 100px 0;
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

/* 🔷 LABEL (Premium Tag Style) */
.section-label {
    display: inline-block;
    padding: 8px 22px;
    border-radius: 50px;
    background: rgba(128, 90, 213, 0.08); /* light purple */
    border: 1px solid var(--purple-primary);
    color: var(--purple-primary);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 16px;
}

/* Title */
.section-title {
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 20px;
}

/* ✨ Divider */
.divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px 0 25px;
    gap: 12px;
}

/* Lines */
.divider .line {
    flex: 1;
    height: 1.5px;
    max-width: 80px;
    background: rgba(159,31,99);
}

/* Right side line */
.divider .line:last-child {
    background: rgba(159,31,99);
}

/* Center Icon */
.divider .icon {
    font-size: 14px;
    color: rgba(159,31,99);
    display: inline-block;
    transform: rotate(45deg); /* diamond look */
}


/* Subtitle */
.section-subtitle {
    font-size: 1.05rem;
    color: var(--text-light);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.7;
}

/* Tablet */
@media (max-width: 992px) {
    .section {
        padding: 80px 0;
    }

    .section-title {
        font-size: 2.3rem;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .section-header {
        margin-bottom: 40px;
    }

    .section-title {
        font-size: 2rem;
    }

    .divider .line {
        max-width: 50px;
    }

    /* Responsive Timeline */
    .timeline-vertical{
      padding:2rem 0
    }
    .timeline-vertical::before{
      left:20px;
      transform:translateX(-50%)
    }
    .timeline-item-alt{
      flex-direction:column;
      text-align:left!important;
      margin-bottom:2.5rem;
      align-items:flex-start
    }
    .timeline-item-alt.left,
    .timeline-item-alt.right{
      flex-direction:column;
      text-align:left!important
    }
    .timeline-item-alt::before{
      left:20px!important;
      transform:translateX(-50%)!important;
      width:18px!important;
      height:18px!important;
      top:.8rem!important
    }
    .timeline-item-alt .timeline-content{
      width:calc(100% - 3rem)!important;
      margin:0 0 0 3rem!important;
      padding:1.2rem!important;
      border-radius:.8rem;
      max-width:100%!important
    }
    .timeline-item-alt h4{
      font-size:1.05rem;
      margin-bottom:.6rem
    }
    .timeline-item-alt p{
      font-size:.9rem;
      line-height:1.6
    }
    .timeline-item-alt .timeline-year{
      font-size:.75rem;
      padding:.3rem .8rem;
      margin-bottom:.6rem
    }
    .timeline-item-alt .visit-link{
      font-size:.85rem
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    .section {
        padding: 60px 0;
    }

    .section-title {
        font-size: 1.7rem;
    }

    .section-label {
        font-size: 0.7rem;
        padding: 6px 16px;
    }

    .divider-icon {
        width: 32px;
        height: 32px;
        font-size: 0.8rem;
    }

    .divider .line {
        max-width: 35px;
    }

    .divider .icon {
        font-size: 12px;
    }
}


/*----------------------------
     # Stats Section
---------------------------- */
.stats-section {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

/* 🔷 TOP LEFT SHAPE */
.stats-section::before {
    content: "";
    position: absolute;
    top: -40px;
    left: -30px;
    width: 280px;
    height: 280px;
    background: url('../img/shape.png') no-repeat center/contain;
    opacity: 0.10;
    animation: floatShape 6s ease-in-out infinite;
}

/* 🔷 BOTTOM RIGHT SHAPE */
.stats-section::after {
    content: "";
    position: absolute;
    bottom: -80px;
    right: -80px;
    width: 300px;
    height: 300px;
    background: url('../img/shape.png') no-repeat center/contain;
    opacity: 0.10;
    transform: rotate(180deg);
    animation: floatShape 6s ease-in-out infinite;
}

/* ============================= */
/* ANIMATION */
/* ============================= */

@keyframes floatShape {
    0% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(20px) rotate(5deg); }
    100% { transform: translateY(0px) rotate(0deg); }
}


/* ================= SECTION BASE ================= */
.founder-wrapper{
    position:relative;
    background:#f7f6fb;
    overflow:hidden;
    padding:80px 0;
}

/* ================= TRIANGLE SHAPE ================= */
.founder-wrapper::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:340px;
    height:340px;
    background:linear-gradient(135deg,#5b2be0,#ff4da6);
    clip-path:polygon(100% 0, 0 0, 100% 100%);
    opacity:0.85;
    z-index:0;
}

/* ================= CONTAINER LAYER ================= */
.founder-wrapper .container{
    position:relative;
    z-index:2;
}

/* ================= IMAGE ================= */
.vision-img img{
    width:100%;
    border-radius:14px;
    box-shadow:0 10px 30px rgba(0,0,0,0.12);
}

/* ================= QUOTE ================= */
/* ICON */
.quote-icon{
    font-size:2.5rem;
    color:#ff4da6;
    line-height:1;
    flex-shrink:0;
    margin-top:-5px;
}
.founder-quote {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-style: italic;
    color: #2b2b3d;
    padding: 22px 24px;
    border-left: 4px solid #ff4da6;
    background: rgba(255,77,166,0.06);
    border-radius: 0 12px 12px 0;
    margin-bottom: 18px;
    line-height: 1.7;
}

.founder-name {
    font-family: var(--font-heading);
    font-size: 1.4rem;
    font-weight: 700;
    color: #1d1b2a;
    margin-bottom: 4px;
}

.founder-title {
    color: #ff4da6;
    font-size: 0.9rem;
    font-weight: 500;
    margin-bottom: 18px;
}
/* ================= ROW ALIGNMENT FIX ================= */
.founder-row{
    min-height:500px;
}

/* ================= BUTTON ================= */
.btn-magenta{
    background:linear-gradient(135deg,#5b2be0,#ff4da6);
    border:none;
    color:#fff;
    padding:10px 22px;
    border-radius:30px;
    transition:0.3s;
}

.btn-magenta:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 25px rgba(255,77,166,0.25);
}

/* ================= RESPONSIVE ================= */
@media(max-width:991px){
    .section-title{
        font-size:2rem;
    }

    .founder-row{
        min-height:auto;
    }

    .founder-wrapper::after{
        width:220px;
        height:220px;
    }
}

.trk-section,  
.testimonials-section, 
.news-section{
  background-color: #f4f3f9;
}


/* ================= SECTION ================= */
.amenities-section{
  position:relative;
}

/* ================= CRAFTED TABS LAYOUT ================= */
.crafted-tabs-wrapper{
  display:flex;
  gap:2rem;
  align-items:flex-start;
  justify-content:space-between;
  background:transparent;
  padding:2.5rem;
  border-radius:24px;
  margin-top:0rem;
}

.crafted-content{
  flex:0 1 45%;
  max-width:520px;
  background:#fff;
  border-radius:24px;
  border:1px solid rgba(38,34,98,.18);
  padding:1.8rem 2rem 1.6rem;
  box-shadow:0 18px 40px rgba(38,34,98,.06);
  min-width:260px;
}

.crafted-tab{
  display:none;
  animation:fadeInTab .5s ease;
}

.crafted-tab.active{
  display:block;
}

.crafted-tab h5{
  font-size:1.35rem;
  margin:0 0 1.1rem;
  color:var(--text);
  font-weight:700;
}

.crafted-tab p{
  font-size:.95rem;
  line-height:1.8;
  color:#6b6b80;
  margin:0;
}

@keyframes fadeInTab{
  0%{opacity:0;transform:translateY(10px)}
  100%{opacity:1;transform:translateY(0)}
}

.crafted-buttons{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:16px;
  flex-wrap:nowrap;
  flex:1 1 45%;
  min-width:0;
  overflow-x:auto;
  padding:10px 0 0;
  scroll-snap-type:x mandatory;
}

.crafted-buttons::-webkit-scrollbar{
  display:none;
}

.crafted-btn{
  min-width:60px;
  min-height:60px;
  border:2px solid #e6e6ee;
  border-radius:18px;
  background:#f9f8ff;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .3s ease;
  cursor:pointer;
  color:#5b5b6b;
  font-size:1.3rem;
  scroll-snap-align:center;
}

.crafted-btn:hover{
  border-color:var(--magenta);
  color:var(--magenta);
  transform:scale(1.05);
}

.crafted-btn.active{
  min-width:80px;
  min-height:80px;
  border-color:var(--magenta);
  background:linear-gradient(135deg,#5b2be0,#ff4da6);
  color:#fff;
  box-shadow:0 20px 40px rgba(95,57,184,.25);
  border:none;
}

/* ================= SLIDER ================= */
.amenities-slider{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  margin-bottom:40px; /* more spacing */
}

.amenities-slider img{
  width:100%;
  height:420px;
  object-fit:cover;
}

/* ARROWS */
.amenities-slider .swiper-button-prev,
.amenities-slider .swiper-button-next{
  width:45px;
  height:45px;
  border-radius:50%;
  background:rgba(0,0,0,0.5);
  color:#fff;
  z-index:10;
}

.amenities-slider .swiper-button-prev::after,
.amenities-slider .swiper-button-next::after{
  font-size:16px;
}

/* ================= HIGHLIGHT CARDS ================= */
.highlight-card{
  background:#fff;
  border:1px solid rgba(38,34,98,.08);
  border-radius:1.5rem;
  padding:1.5rem;
  box-shadow:0 18px 40px rgba(38,34,98,.06);
  display:flex;
  gap:1rem;
  align-items:flex-start;
  transition:transform .3s,box-shadow .3s;
}
.highlight-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 50px rgba(38,34,98,.12);
}
.hc-icon{
  width:52px;
  height:52px;
  border-radius:18px;
  background:linear-gradient(135deg,#5b2be0,#ff4da6);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:1.25rem;
  flex-shrink:0;
}
.highlight-card h5{
  margin:0 0 .4rem;
  font-size:1rem;
}
.highlight-card p{
  margin:0;
  color:#5b5b6b;
  line-height:1.7;
}

/* ================= TABS ================= */
.amenities-tabs{
  max-width:920px;
  margin:0 auto;
  display:flex;
  gap:2rem;
  align-items:flex-start;
  background:#fff;
  padding:28px;
  border-radius:24px;
  box-shadow:0 18px 40px rgba(38,34,98,.08);
}

.tab-buttons{
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:center;
  flex-shrink:0;
}

.tab-btn{
  width:56px;
  height:56px;
  border:none;
  border-radius:16px;
  background:#f2f2f8;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .3s ease;
  cursor:pointer;
  color:var(--secondary);
  font-size:1.15rem;
}

.tab-btn.active{
  width:64px;
  height:64px;
  border-radius:20px;
  background:linear-gradient(135deg,#5b2be0,#ff4da6);
  color:#fff;
  box-shadow:0 15px 30px rgba(95,57,184,.25);
}

.tab-btn.center-btn{
  width:72px;
  height:72px;
  border-radius:22px;
}

.tab-content-wrapper{
  flex:1;
  min-width:0;
}

.tab-content{
  display:none;
}

.tab-content.active{
  display:block;
}

.amenities-card{
  display:flex;
  gap:1.5rem;
  align-items:flex-start;
  background:#f9f8ff;
  border-radius:24px;
  padding:2rem;
  border:1px solid rgba(95,57,184,.08);
}

.amenities-card-icon{
  width:72px;
  height:72px;
  border-radius:24px;
  background:linear-gradient(135deg,#5b2be0,#ff4da6);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:1.6rem;
  flex-shrink:0;
}

.amenities-card h5{
  margin:0 0 1rem;
  font-size:1.5rem;
}

.amenities-bullet-list{
  list-style:none;
  padding:0;
  margin:0;
}

.amenities-bullet-list li{
  position:relative;
  padding-left:1.8rem;
  margin-bottom:1rem;
  color:#4c4c5e;
  line-height:1.75;
}

.amenities-bullet-list li::before{
  content:'•';
  position:absolute;
  left:0;
  top:0;
  color:var(--magenta);
  font-size:1.2rem;
  line-height:1;
}

.amenities-bullet-list strong{
  color:#1f1f2e;
}

/* ================= RESPONSIVE ================= */

/* Tablet */
@media(max-width:992px){
  .amenities-slider img{
    height:320px;
  }

  .amenities-tabs{
    flex-direction:column;
    align-items:flex-start;
    max-width:100%;
  }

  .tab-buttons{
    flex-direction:row;
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }

  .tab-btn{
    width:50px;
    height:50px;
  }

  .tab-btn.active.center-btn{
    width:56px;
    height:56px;
  }

  /* Crafted Tabs Tablet */
  .crafted-tabs-wrapper{
    flex-direction:row;
    gap:1.5rem;
  }

  .crafted-content{
    flex:0 1 42%;
    min-width:220px;
  }

  .crafted-buttons{
    justify-content:flex-end;
    width:auto;
    min-width:0;
    flex:1 1 52%;
  }

  .crafted-btn{
    width:52px;
    height:52px;
  }

  .crafted-btn.active{
    width:64px;
    height:64px;
  }
}

/* Mobile */
@media(max-width:768px){
  .amenities-slider img{
    height:250px;
  }

  .amenities-tabs{
    padding:15px;
  }

  .amenities-tabs{
    padding:18px;
  }

  .amenities-card{
    flex-direction:column;
    padding:1.5rem;
  }

  .amenities-card-icon{
    width:60px;
    height:60px;
    font-size:1.35rem;
  }

  .tab-buttons{
    gap:10px;
  }

  /* Why Choose Us Responsive */
  .why-card{
    padding:1.5rem;
  }

  .why-icon{
    width:64px;
    height:64px;
    font-size:1.5rem;
    margin-bottom:1rem;
  }

  .why-card h5{
    font-size:1rem;
  }

  .why-card p{
    font-size:.9rem;
  }

  /* Crafted Tabs Mobile */
  .crafted-tabs-wrapper{
    flex-direction:column;
    padding:1.5rem;
    gap:1rem;
  }

  .crafted-content{
    order:2;
    width:100%;
    max-width:100%;
  }

  .crafted-buttons{
    order:1;
    flex-direction:row;
    flex-wrap:nowrap;
    width:100%;
    gap:10px;
    margin-bottom:1rem;
    justify-content:flex-start;
    overflow-x:auto;
  }

  .crafted-btn{
    flex-shrink:0;
    width:46px;
    height:46px;
    font-size:1.05rem;
  }

  .crafted-btn.active{
    width:56px;
    height:56px;
  }

  .crafted-tab h5{
    font-size:1.1rem;
    margin-bottom:.8rem;
  }

  .crafted-tab p{
    font-size:.9rem;
  }
}


/* Small Mobile */
@media(max-width:480px){
  .amenities-slider img{
    height:200px;
  }

  .tab-btn{
    width:40px;
    height:40px;
  }
}

.text-gradient{
   background: linear-gradient(135deg, #9f1f63, #262262);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  display: block;        /* 🔥 important fix */
  text-align: center;    /* ensures proper centering */
}