/* ============================================================
   Penta Rock Homes — Modern Theme Stylesheet
   Brand Primary: #ad2002  |  Accent: #c9260a
   Font: Inter (body) + Playfair Display (headings)
   ============================================================ */

/* ---------- CSS Custom Properties ---------- */
:root {
  --prh-primary: #ad2002;
  --prh-primary-dark: #8a1a02;
  --prh-primary-light: #c9260a;
  --prh-dark: #1a1a1a;
  --prh-charcoal: #2d2d2d;
  --prh-gray: #6b7280;
  --prh-light-gray: #f3f4f6;
  --prh-off-white: #fafafa;
  --prh-white: #ffffff;
  --prh-gold: #c8a96e;
  --prh-shadow: 0 4px 30px rgba(0,0,0,.08);
  --prh-shadow-lg: 0 20px 60px rgba(0,0,0,.12);
  --prh-radius: 12px;
  --prh-radius-sm: 8px;
  --prh-transition: .35s cubic-bezier(.4,0,.2,1);
}

/* ---------- Reset & Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.7;
  color:#444;background:var(--prh-white);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--prh-primary);text-decoration:none;transition:var(--prh-transition)}
a:hover{color:var(--prh-primary-dark)}
h1,h2,h3,h4,h5,h6{
  font-family:'Playfair Display',Georgia,serif;
  color:var(--prh-dark);font-weight:700;line-height:1.25;
}
p{margin-bottom:1rem;color:#555}

/* ---------- Utility ---------- */
.section-pad{padding:100px 0}
.section-pad-sm{padding:60px 0}
.bg-dark-custom{background:var(--prh-dark);color:#fff}
.bg-dark-custom h1,.bg-dark-custom h2,.bg-dark-custom h3,.bg-dark-custom h4,.bg-dark-custom p,.bg-dark-custom span{color:#fff}
.bg-light-custom{background:var(--prh-light-gray)}
.text-primary-custom{color:var(--prh-primary)!important}
.text-gold{color:var(--prh-gold)!important}

.subheading{
  display:inline-block;font-family:'Inter',sans-serif;
  font-weight:600;font-size:.85rem;letter-spacing:3px;
  text-transform:uppercase;color:var(--prh-primary);
  margin-bottom:.75rem;
}

.section-title{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem}
.section-subtitle{max-width:620px;margin:0 auto 3rem;color:var(--prh-gray);font-size:1.05rem}

/* ---------- Buttons ---------- */
.btn-prh{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 36px;font-family:'Inter',sans-serif;
  font-weight:600;font-size:.95rem;letter-spacing:.5px;
  border:2px solid var(--prh-primary);color:#fff;
  background:var(--prh-primary);border-radius:50px;
  transition:var(--prh-transition);cursor:pointer;
  text-transform:uppercase;
}
.btn-prh:hover{
  background:transparent;color:var(--prh-primary);
  transform:translateY(-2px);box-shadow:var(--prh-shadow);
}
.btn-prh-outline{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 36px;font-family:'Inter',sans-serif;
  font-weight:600;font-size:.95rem;letter-spacing:.5px;
  border:2px solid #fff;color:#fff;
  background:transparent;border-radius:50px;
  transition:var(--prh-transition);cursor:pointer;
  text-transform:uppercase;
}
.btn-prh-outline:hover{
  background:#fff;color:var(--prh-primary);
  transform:translateY(-2px);
}
.btn-prh-dark{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 36px;font-family:'Inter',sans-serif;
  font-weight:600;font-size:.95rem;letter-spacing:.5px;
  border:2px solid var(--prh-dark);color:#fff;
  background:var(--prh-dark);border-radius:50px;
  transition:var(--prh-transition);cursor:pointer;
  text-transform:uppercase;
}
.btn-prh-dark:hover{
  background:transparent;color:var(--prh-dark);
  transform:translateY(-2px);box-shadow:var(--prh-shadow);
}

/* ---------- Navbar ---------- */
.prh-navbar{
  position:fixed;top:0;left:0;right:0;z-index:1050;
  padding:18px 0;transition:var(--prh-transition);
  background:transparent;
}
.prh-navbar.scrolled{
  background:rgba(26,26,26,.95);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  padding:8px 0;box-shadow:0 2px 20px rgba(0,0,0,.15);
}
.prh-navbar .navbar-brand img{height:80px;transition:var(--prh-transition)}
.prh-navbar.scrolled .navbar-brand img{height:55px;filter:brightness(0) invert(1)}
.prh-navbar .nav-link{
  font-family:'Inter',sans-serif;font-weight:500;
  font-size:.9rem;letter-spacing:1px;text-transform:uppercase;
  color:rgba(255,255,255,.85)!important;
  padding:.5rem 1.1rem!important;transition:var(--prh-transition);
  position:relative;
}
.prh-navbar .nav-link::after{
  content:'';position:absolute;bottom:2px;left:50%;
  width:0;height:2px;background:var(--prh-primary);
  transition:var(--prh-transition);transform:translateX(-50%);
}
.prh-navbar .nav-link:hover::after,
.prh-navbar .nav-item.active .nav-link::after{width:60%}
.prh-navbar .nav-link:hover{color:#fff!important}
.prh-navbar .navbar-toggler{border:none;color:#fff;font-size:1.4rem;padding:0}
.prh-navbar .navbar-toggler:focus{box-shadow:none}
.prh-navbar .navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
@media(max-width:991.98px){
  .prh-navbar{background:rgba(26,26,26,.97);padding:10px 0}
  .prh-navbar .navbar-collapse{padding:1rem 0}
  .prh-navbar .nav-link{padding:.6rem 0!important}
}

/* ---------- Hero ---------- */
.prh-hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  overflow:hidden;background:#111;
}

/* Hero Image Slider */
.hero-slider{position:absolute;inset:0;z-index:0}
.hero-slide{
  position:absolute;inset:0;
  opacity:0;
  transition:opacity 1.2s ease;
}
.hero-slide.active{opacity:1}
.hero-slide img{
  width:100%;height:100%;
  object-fit:cover;
  animation:heroKenBurns 8s ease-in-out both;
  filter:contrast(1.06) brightness(1.02) saturate(1.1);
}
.hero-slide.active img{
  animation:heroKenBurns 8s ease-in-out both;
}
@keyframes heroKenBurns{
  0%{transform:scale(1.08);opacity:1}
  100%{transform:scale(1);opacity:1}
}

/* Slide Progress Bar */
.hero-slide-progress{
  position:absolute;bottom:0;left:0;right:0;
  height:3px;background:rgba(255,255,255,.15);
  z-index:4;
}
.hero-slide-progress .progress-bar{
  height:100%;width:0;
  background:var(--prh-primary);
  animation:slideProgress 6s linear forwards;
}
@keyframes slideProgress{
  from{width:0}to{width:100%}
}

/* Slide Navigation */
.hero-slide-nav{
  position:absolute;bottom:40px;right:40px;
  z-index:4;display:flex;align-items:center;gap:16px;
}
.hero-slide-nav button{
  width:44px;height:44px;
  border:1px solid rgba(255,255,255,.4);
  border-radius:50%;background:rgba(0,0,0,.25);
  color:#fff;font-size:.85rem;cursor:pointer;
  transition:all .3s ease;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);
}
.hero-slide-nav button:hover{
  background:var(--prh-primary);border-color:var(--prh-primary);
}
.hero-slide-counter{
  font-family:'Inter',sans-serif;
  font-size:.85rem;font-weight:500;
  color:rgba(255,255,255,.8);letter-spacing:2px;
}
.hero-slide-counter .current{
  font-size:1.1rem;color:#fff;font-weight:700;
}

.prh-hero video.bg-video{
  position:absolute;top:50%;left:50%;
  min-width:100%;min-height:100%;
  transform:translate(-50%,-50%);
  object-fit:cover;z-index:0;
  filter:contrast(1.08) brightness(1.05) saturate(1.15);
}
.prh-hero .overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.35) 50%,rgba(0,0,0,.65) 100%);
}
.prh-hero .hero-content{position:relative;z-index:2;color:#fff;padding-top:120px}
.prh-hero h1{
  font-size:clamp(2.5rem,5.5vw,4.5rem);color:#fff;
  font-weight:700;margin-bottom:1rem;
}
.prh-hero h1 span{color:var(--prh-primary);font-style:italic}
.prh-hero p.lead{
  font-size:clamp(1rem,2vw,1.25rem);
  color:rgba(255,255,255,.85);max-width:600px;
  margin-bottom:2rem;font-weight:300;
}
.prh-hero .hero-cta{display:flex;gap:16px;flex-wrap:wrap}

/* --- Hero Text Reveal Animations --- */
@keyframes revealUp{
  from{transform:translateY(110%);opacity:0}
  to{transform:translateY(0);opacity:1}
}
@keyframes revealFade{
  from{opacity:0;transform:translateY(30px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes lineGrow{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}
@keyframes revealScale{
  from{opacity:0;transform:scale(.92)}
  to{opacity:1;transform:scale(1)}
}

.hero-reveal{overflow:hidden;display:block}
.hero-reveal .reveal-text{
  display:block;
  animation:revealUp .9s cubic-bezier(.22,1,.36,1) both;
}

.prh-hero .subheading{
  animation:revealFade .8s cubic-bezier(.22,1,.36,1) .1s both;
  color:rgba(255,255,255,.7);
}
.prh-hero .hero-line{
  display:block;width:60px;height:2px;
  background:var(--prh-primary);margin:1.2rem 0;
  transform-origin:left;
  animation:lineGrow .8s cubic-bezier(.22,1,.36,1) .4s both;
}
.prh-hero h1 .reveal-text:nth-child(1){animation-delay:.2s}
.prh-hero h1 .reveal-text:nth-child(2){animation-delay:.35s}
.prh-hero p.lead{animation:revealFade .8s cubic-bezier(.22,1,.36,1) .55s both}
.prh-hero .hero-cta{animation:revealFade .8s cubic-bezier(.22,1,.36,1) .7s both}

/* Inner page hero text reveals */
.prh-page-hero .breadcrumb-custom{animation:revealFade .7s cubic-bezier(.22,1,.36,1) .2s both}
.prh-page-hero h1{overflow:hidden}
.prh-page-hero h1 .reveal-text{
  display:block;
  animation:revealUp .9s cubic-bezier(.22,1,.36,1) .35s both;
}
.prh-page-hero .hero-line{
  display:block;width:50px;height:2px;
  background:var(--prh-primary);margin-top:1rem;
  transform-origin:left;
  animation:lineGrow .8s cubic-bezier(.22,1,.36,1) .55s both;
}

/* Page Hero (inner pages) */
.prh-page-hero{
  position:relative;min-height:50vh;
  display:flex;align-items:flex-end;
  background-size:cover;background-position:center;
  background-repeat:no-repeat;overflow:hidden;
}
.prh-page-hero .overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,.6) 100%);
}
.prh-page-hero .hero-inner{
  position:relative;z-index:2;padding:60px 0 50px;color:#fff;width:100%;
}
.prh-page-hero .breadcrumb-custom{
  display:flex;gap:8px;align-items:center;
  list-style:none;padding:0;margin:0 0 .5rem;
  font-size:.9rem;color:rgba(255,255,255,.7);
}
.prh-page-hero .breadcrumb-custom a{color:rgba(255,255,255,.85);font-weight:500}
.prh-page-hero .breadcrumb-custom a:hover{color:var(--prh-primary)}
.prh-page-hero h1{font-size:clamp(2rem,4vw,3.5rem);color:#fff;margin:0}

/* ---------- Feature Cards (homepage services) ---------- */
.feature-card{
  background:var(--prh-white);border-radius:var(--prh-radius);
  padding:40px 30px;text-align:center;
  box-shadow:var(--prh-shadow);transition:var(--prh-transition);
  height:100%;position:relative;overflow:hidden;
}
.feature-card::before{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:4px;background:var(--prh-primary);
  transform:scaleX(0);transition:var(--prh-transition);
}
.feature-card:hover{
  transform:translateY(-8px);box-shadow:var(--prh-shadow-lg);
}
.feature-card:hover::before{transform:scaleX(1)}
.feature-card .icon-wrap{
  width:70px;height:70px;border-radius:50%;
  background:rgba(173,32,2,.08);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.5rem;transition:var(--prh-transition);
}
.feature-card:hover .icon-wrap{background:var(--prh-primary)}
.feature-card .icon-wrap i{font-size:1.6rem;color:var(--prh-primary);transition:var(--prh-transition)}
.feature-card:hover .icon-wrap i{color:#fff}
.feature-card h4{font-size:1.2rem;margin-bottom:.75rem}
.feature-card p{font-size:.92rem;color:var(--prh-gray);line-height:1.7;margin:0}

/* ---------- About Section (homepage) ---------- */
.about-img-wrap{position:relative;border-radius:var(--prh-radius);overflow:hidden}
.about-img-wrap img{width:100%;height:100%;object-fit:cover;border-radius:var(--prh-radius)}
.about-img-wrap .experience-badge{
  position:absolute;bottom:30px;right:30px;
  background:var(--prh-primary);color:#fff;
  padding:20px 28px;border-radius:var(--prh-radius);
  text-align:center;box-shadow:var(--prh-shadow-lg);
}
.about-img-wrap .experience-badge .number{font-size:2.5rem;font-weight:800;line-height:1;display:block}
.about-img-wrap .experience-badge span{font-size:.85rem;letter-spacing:1px;text-transform:uppercase}

/* ---------- Partners / Trust Badges ---------- */
.trust-badges{display:flex;align-items:center;justify-content:center;gap:60px;flex-wrap:wrap}
.trust-badges img{height:60px;opacity:.85;transition:var(--prh-transition)}
.trust-badges img:hover{opacity:1;transform:scale(1.05)}

/* ---------- Project Cards ---------- */
.project-card{
  position:relative;border-radius:var(--prh-radius);
  overflow:hidden;background:var(--prh-white);
  box-shadow:var(--prh-shadow);transition:var(--prh-transition);
  height:100%;cursor:pointer;
}
.project-card:hover{transform:translateY(-6px);box-shadow:var(--prh-shadow-lg)}
.project-card .card-img{
  height:320px;overflow:hidden;position:relative;
}
.project-card .card-img img{
  width:100%;height:100%;object-fit:cover;
  transition:var(--prh-transition);
}
.project-card:hover .card-img img{transform:scale(1.06)}
/* Video hover preview */
.project-card .card-img .hover-video{
  position:absolute;inset:0;z-index:1;
  width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .5s ease;
  pointer-events:none;
}
.project-card:hover .card-img .hover-video.playing{opacity:1}
.project-card .card-img .play-hint{
  position:absolute;bottom:16px;right:16px;z-index:3;
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.9);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:var(--prh-transition);
  pointer-events:none;
}
.project-card:hover .card-img .play-hint{opacity:1}
.project-card .card-img .play-hint i{
  font-size:.85rem;color:var(--prh-dark);margin-left:2px;
}
.project-card .status-badge{
  position:absolute;top:20px;left:20px;z-index:2;
  padding:6px 18px;border-radius:50px;
  font-family:'Inter',sans-serif;font-weight:600;
  font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;
  color:#fff;
}
.status-badge.completed{background:#28a745}
.status-badge.sold{background:var(--prh-primary)}
.status-badge.in-progress{background:var(--prh-gold);color:var(--prh-dark)}
.status-badge.coming-soon{background:var(--prh-charcoal)}

/* Project Detail Status Strip */
.project-status-strip{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  padding:20px 28px;border-radius:var(--prh-radius);
  background:var(--prh-white);box-shadow:var(--prh-shadow);
  margin-bottom:2rem;border-left:4px solid var(--prh-primary);
}
.project-status-strip .status-indicator{
  display:flex;align-items:center;gap:10px;
  padding:8px 20px;border-radius:50px;
  font-family:'Inter',sans-serif;font-weight:700;
  font-size:.8rem;letter-spacing:1.5px;text-transform:uppercase;
  color:#fff;white-space:nowrap;
}
.project-status-strip .status-indicator.in-progress{background:var(--prh-gold);color:var(--prh-dark)}
.project-status-strip .status-indicator.completed{background:#28a745}
.project-status-strip .status-indicator.sold{background:var(--prh-primary)}
.project-status-strip .status-indicator i{font-size:.9rem}
.project-status-strip .status-details{
  display:flex;gap:24px;flex-wrap:wrap;
  font-family:'Inter',sans-serif;font-size:.88rem;
  color:var(--prh-gray);
}
.project-status-strip .status-details .detail-item{
  display:flex;align-items:center;gap:8px;
}
.project-status-strip .status-details .detail-item i{
  color:var(--prh-primary);font-size:.85rem;
}
.project-status-strip .status-details .detail-item strong{
  color:var(--prh-dark);font-weight:600;
}

.project-card .card-body{padding:28px}
.project-card .card-body .location{
  font-family:'Inter',sans-serif;font-size:.8rem;
  font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:var(--prh-primary);margin-bottom:.5rem;display:block;
}
.project-card .card-body h3{font-size:1.35rem;margin-bottom:.75rem}
.project-card .card-body h3 a{color:var(--prh-dark)}
.project-card .card-body h3 a:hover{color:var(--prh-primary)}
.project-card .card-body p{font-size:.92rem;color:var(--prh-gray);margin-bottom:1.25rem}
.project-card .card-body .view-link{
  font-family:'Inter',sans-serif;font-weight:600;
  font-size:.85rem;letter-spacing:1px;text-transform:uppercase;
  color:var(--prh-primary);display:inline-flex;align-items:center;gap:6px;
}
.project-card .card-body .view-link:hover{gap:12px;color:var(--prh-primary-dark)}

/* ---------- Testimonials ---------- */
.testimonial-card{
  background:var(--prh-white);border-radius:var(--prh-radius);
  padding:40px 35px;box-shadow:var(--prh-shadow);
  position:relative;height:100%;
  border-left:4px solid var(--prh-primary);
}
.testimonial-card .quote-icon{
  font-size:2rem;color:rgba(173,32,2,.15);margin-bottom:1rem;display:block;
}
.testimonial-card p.quote{font-size:.95rem;color:#555;line-height:1.8;margin-bottom:1.5rem;font-style:italic}
.testimonial-card .author{display:flex;align-items:center;gap:14px}
.testimonial-card .author-img{
  width:50px;height:50px;border-radius:50%;object-fit:cover;
  border:2px solid var(--prh-primary);
}
.testimonial-card .author-info .name{font-weight:700;font-size:.95rem;color:var(--prh-dark);margin:0;font-family:'Inter',sans-serif}
.testimonial-card .author-info .role{font-size:.8rem;color:var(--prh-gray);margin:0}

/* ---------- Services Cards (services page) ---------- */
.service-card{
  background:var(--prh-white);border-radius:var(--prh-radius);
  padding:50px 35px;text-align:center;
  box-shadow:var(--prh-shadow);transition:var(--prh-transition);
  height:100%;position:relative;overflow:hidden;
}
.service-card:hover{transform:translateY(-8px);box-shadow:var(--prh-shadow-lg)}
.service-card .icon-circle{
  width:80px;height:80px;border-radius:50%;
  background:rgba(173,32,2,.06);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.5rem;transition:var(--prh-transition);
}
.service-card:hover .icon-circle{background:var(--prh-primary)}
.service-card .icon-circle i{font-size:1.8rem;color:var(--prh-primary);transition:var(--prh-transition)}
.service-card:hover .icon-circle i{color:#fff}
.service-card h4{font-size:1.15rem;margin-bottom:.75rem}
.service-card p{font-size:.92rem;color:var(--prh-gray);margin:0}

/* ---------- Contact ---------- */
.contact-form-card{
  background:var(--prh-white);border-radius:var(--prh-radius);
  padding:50px 40px;box-shadow:var(--prh-shadow-lg);
}
.contact-form-card .form-control{
  border:1px solid #e5e7eb;border-radius:var(--prh-radius-sm);
  padding:14px 18px;font-size:.95rem;background:#f9fafb;
  transition:var(--prh-transition);
}
.contact-form-card .form-control:focus{
  border-color:var(--prh-primary);box-shadow:0 0 0 3px rgba(173,32,2,.1);
  background:#fff;
}
.contact-form-card textarea.form-control{resize:vertical;min-height:140px}
.contact-info-item{
  display:flex;align-items:flex-start;gap:18px;margin-bottom:2rem;
}
.contact-info-item .icon-box{
  width:52px;height:52px;border-radius:50%;flex-shrink:0;
  background:rgba(173,32,2,.08);display:flex;
  align-items:center;justify-content:center;
}
.contact-info-item .icon-box i{font-size:1.1rem;color:var(--prh-primary)}
.contact-info-item h5{font-size:1rem;margin-bottom:2px;font-family:'Inter',sans-serif;font-weight:600}
.contact-info-item p{font-size:.9rem;color:var(--prh-gray);margin:0}
.contact-info-item a{color:var(--prh-gray)}
.contact-info-item a:hover{color:var(--prh-primary)}

/* ---------- CTA Banner ---------- */
.cta-banner{
  background:var(--prh-dark);padding:70px 0;
  position:relative;overflow:hidden;
}
.cta-banner::before{
  content:'';position:absolute;top:-60px;right:-60px;
  width:300px;height:300px;border-radius:50%;
  background:rgba(173,32,2,.15);
}
.cta-banner h2{color:#fff;font-size:clamp(1.5rem,3vw,2.5rem);margin-bottom:1rem}
.cta-banner p{color:rgba(255,255,255,.6);margin-bottom:2rem;font-size:1rem}

/* ---------- Footer ---------- */
.prh-footer{background:var(--prh-dark);color:rgba(255,255,255,.6);padding-top:80px}
.prh-footer img[alt="Penta Rock Homes"]{filter:brightness(0) invert(1)}
.prh-footer h5{
  color:#fff;font-family:'Inter',sans-serif;
  font-weight:600;font-size:1rem;margin-bottom:1.5rem;
  letter-spacing:.5px;
}
.prh-footer p{font-size:.9rem;line-height:1.8}
.prh-footer a{color:rgba(255,255,255,.6);transition:var(--prh-transition)}
.prh-footer a:hover{color:var(--prh-primary)}
.prh-footer ul{list-style:none;padding:0;margin:0}
.prh-footer ul li{margin-bottom:.6rem}
.prh-footer ul li a{font-size:.9rem;display:flex;align-items:center;gap:6px}
.footer-social{display:flex;gap:12px;margin-top:1rem}
.footer-social a{
  width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.6);font-size:.95rem;
  transition:var(--prh-transition);
}
.footer-social a:hover{background:var(--prh-primary);border-color:var(--prh-primary);color:#fff}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:25px 0;margin-top:50px;text-align:center;
  font-size:.85rem;
}

/* ---------- Gallery Grid (project detail pages) ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.gallery-grid .gallery-item{
  border-radius:var(--prh-radius-sm);overflow:hidden;
  position:relative;cursor:pointer;aspect-ratio:4/3;
}
.gallery-grid .gallery-item img{
  width:100%;height:100%;object-fit:cover;
  transition:var(--prh-transition);
}
.gallery-grid .gallery-item:hover img{transform:scale(1.05)}
.gallery-grid .gallery-item::after{
  content:'';position:absolute;inset:0;
  background:rgba(0,0,0,0);transition:var(--prh-transition);
}
.gallery-grid .gallery-item:hover::after{background:rgba(0,0,0,.15)}

/* ---------- Gallery Slideshow (Swiper) ---------- */
.gallery-slideshow{position:relative}
.gallery-slideshow .swiper{border-radius:var(--prh-radius);overflow:hidden}
.gallery-slideshow .swiper-slide img{
  width:100%;height:500px;object-fit:cover;display:block;
}
.gallery-slideshow .swiper-button-next,
.gallery-slideshow .swiper-button-prev{
  width:50px;height:50px;border-radius:50%;
  background:rgba(255,255,255,.9);backdrop-filter:blur(8px);
  box-shadow:0 4px 15px rgba(0,0,0,.15);
  transition:var(--prh-transition);
}
.gallery-slideshow .swiper-button-next::after,
.gallery-slideshow .swiper-button-prev::after{
  font-size:1rem;font-weight:700;color:var(--prh-dark);
}
.gallery-slideshow .swiper-button-next:hover,
.gallery-slideshow .swiper-button-prev:hover{
  background:var(--prh-primary);
}
.gallery-slideshow .swiper-button-next:hover::after,
.gallery-slideshow .swiper-button-prev:hover::after{color:#fff}
.gallery-slideshow .swiper-pagination-bullet{
  width:10px;height:10px;background:rgba(255,255,255,.6);opacity:1;
}
.gallery-slideshow .swiper-pagination-bullet-active{
  background:var(--prh-primary);transform:scale(1.2);
}

/* Gallery Thumbnails */
.gallery-thumbs{margin-top:16px}
.gallery-thumbs .swiper{border-radius:var(--prh-radius-sm)}
.gallery-thumbs .swiper-slide{
  opacity:.5;cursor:pointer;border-radius:var(--prh-radius-sm);
  overflow:hidden;transition:var(--prh-transition);
  border:2px solid transparent;
}
.gallery-thumbs .swiper-slide-thumb-active{
  opacity:1;border-color:var(--prh-primary);
}
.gallery-thumbs .swiper-slide img{
  width:100%;height:80px;object-fit:cover;display:block;
}

/* Lightbox overlay */
.gallery-lightbox{
  position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);
  display:none;align-items:center;justify-content:center;
  backdrop-filter:blur(6px);
}
.gallery-lightbox.active{display:flex}
.gallery-lightbox img{
  max-width:90vw;max-height:85vh;border-radius:var(--prh-radius);
  box-shadow:0 20px 80px rgba(0,0,0,.5);
}
.gallery-lightbox .close-lightbox{
  position:absolute;top:20px;right:30px;
  font-size:2rem;color:#fff;cursor:pointer;
  background:none;border:none;opacity:.8;
  transition:var(--prh-transition);z-index:10;
}
.gallery-lightbox .close-lightbox:hover{opacity:1;color:var(--prh-primary)}
.gallery-lightbox .lb-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  font-size:1.5rem;color:#fff;cursor:pointer;
  background:rgba(255,255,255,.1);border:none;
  width:50px;height:50px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:var(--prh-transition);
}
.gallery-lightbox .lb-nav:hover{background:var(--prh-primary)}
.gallery-lightbox .lb-prev{left:20px}
.gallery-lightbox .lb-next{right:20px}
.gallery-lightbox .lb-counter{
  position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.6);font-family:'Inter',sans-serif;
  font-size:.9rem;letter-spacing:2px;
}

@media(max-width:767.98px){
  .gallery-slideshow .swiper-slide img{height:300px}
  .gallery-thumbs .swiper-slide img{height:60px}
  .gallery-slideshow .swiper-button-next,
  .gallery-slideshow .swiper-button-prev{width:38px;height:38px}
  .gallery-slideshow .swiper-button-next::after,
  .gallery-slideshow .swiper-button-prev::after{font-size:.8rem}
}

/* ---------- Video Section ---------- */
.video-card{
  border-radius:var(--prh-radius);overflow:hidden;
  box-shadow:var(--prh-shadow);background:#000;
}
.video-card video{width:100%;display:block;border-radius:var(--prh-radius)}

/* ---------- Coming Soon ---------- */
.coming-soon-section{
  min-height:60vh;display:flex;align-items:center;justify-content:center;
  text-align:center;background:var(--prh-light-gray);
}
.coming-soon-section h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:1rem}
.coming-soon-section p{font-size:1.1rem;color:var(--prh-gray);max-width:500px;margin:0 auto}

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

/* ---------- Scroll-to-top ---------- */
.scroll-top{
  position:fixed;bottom:30px;right:30px;z-index:999;
  width:48px;height:48px;border-radius:50%;
  background:var(--prh-primary);color:#fff;
  border:none;font-size:1.2rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:var(--prh-transition);
  box-shadow:var(--prh-shadow);
}
.scroll-top.active{opacity:1;visibility:visible}
.scroll-top:hover{background:var(--prh-primary-dark);transform:translateY(-3px)}

/* ---------- Loader / preloader ---------- */
.prh-preloader{
  position:fixed;inset:0;z-index:9999;
  background:var(--prh-white);display:flex;
  align-items:center;justify-content:center;
  transition:opacity .5s ease;
}
.prh-preloader.loaded{opacity:0;pointer-events:none}
.prh-preloader .spinner{
  width:44px;height:44px;border-radius:50%;
  border:3px solid var(--prh-light-gray);
  border-top-color:var(--prh-primary);
  animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- About page specifics ---------- */
.why-choose-list{list-style:none;padding:0;margin:1.5rem 0}
.why-choose-list li{
  padding:.75rem 0;border-bottom:1px solid #f0f0f0;
  font-size:.95rem;color:#555;display:flex;align-items:flex-start;gap:12px;
}
.why-choose-list li:last-child{border:none}
.why-choose-list li i{color:var(--prh-primary);margin-top:4px;flex-shrink:0}

/* ---------- Responsive ---------- */
@media(max-width:767.98px){
  .section-pad{padding:60px 0}
  .section-pad-sm{padding:40px 0}
  .prh-hero{min-height:90vh}
  .prh-hero h1{font-size:2.2rem}
  .prh-page-hero{min-height:40vh}
  .feature-card{padding:30px 20px}
  .contact-form-card{padding:30px 24px}
  .trust-badges{gap:30px}
  .trust-badges img{height:45px}
  .cta-banner{padding:50px 0}
  .gallery-grid{grid-template-columns:1fr 1fr;gap:10px}
  .project-card .card-img{height:240px}
  .hero-cta{justify-content:center}
  .hero-slide-nav{bottom:20px;right:20px;gap:10px}
  .hero-slide-nav button{width:36px;height:36px;font-size:.75rem}
  .hero-slide-counter{font-size:.75rem}
  .hero-slide-counter .current{font-size:.9rem}
}
@media(max-width:575.98px){
  .gallery-grid{grid-template-columns:1fr}
  .hero-cta .btn-prh,.hero-cta .btn-prh-outline{width:100%;justify-content:center}
}
