/* Local accessibility enhancements; original template styling is preserved. */
.mobile-nav-toggle { background: transparent; border: 0; padding: 0; line-height: 1; }
:focus-visible { outline: 3px solid #feb900; outline-offset: 4px; }
.isotope-filters li:focus-visible { outline: 3px solid #feb900; }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}[data-aos]{opacity:1!important;transform:none!important}}

/* Shiv Shakti brand and supplied photography */
.header{padding:16px 0}.header .logo img{width:62px;height:62px;max-height:none;object-fit:contain;background:#fff;border-radius:4px;margin-right:12px}.brand-name{color:#fff;font-size:21px;line-height:1.2;font-weight:700;letter-spacing:1px}.brand-name small{display:block;font-size:12px;letter-spacing:3px;color:#feb900;margin-top:5px}.eyebrow{font-size:13px!important;font-weight:700;letter-spacing:3px}.hero-call{background:#feb900;color:#182330!important}.hero .carousel-item::before{background:rgba(12,23,34,.58)}.about-photo img{width:100%;height:560px;object-fit:cover;object-position:center 56%}.alt-services h2{font-size:36px;font-weight:700;margin-bottom:24px}.material-card{height:100%;border:1px solid #e4e6e8;background:white;transition:transform .3s,box-shadow .3s}.material-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px #18233015}.material-image{display:block;overflow:hidden;background:#fff}.material-image img{width:100%;height:230px;object-fit:contain;transition:transform .4s}.material-card:hover img{transform:scale(1.04)}.material-caption{padding:20px}.material-caption h3{font-size:18px;margin-bottom:14px}.material-caption a{color:#555;font-size:14px}.material-caption a:hover{color:#b77e00}.projects .portfolio-content>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}.equipment-card{border:1px solid #e4e6e8}.equipment-card img{width:100%;height:300px;object-fit:contain;background:#f7f7f7}.equipment-card h3{font-size:19px;padding:20px;margin:0}.equipment .swiper{padding-bottom:50px}.swiper-pagination-bullet-active{background:#feb900}.contact-phone{display:inline-block;font-size:26px;font-weight:700;color:#273541}.footer{background:#142331!important}.footer::before{display:none}.hero .info h1{font-size:64px}.section{scroll-margin-top:92px}
@media(max-width:767px){.header .logo img{width:48px;height:48px;margin-right:8px}.brand-name{font-size:16px}.brand-name small{font-size:10px;letter-spacing:2px}.hero .info{padding:130px 32px 70px}.hero .info h1{font-size:40px}.hero .info p{font-size:16px}.hero .info .btn-get-started{padding:12px 22px;font-size:14px}.about-photo img{height:430px}.alt-services h2{font-size:29px}.material-image img{height:240px}.contact-phone{font-size:22px}.projects .portfolio-filters li{font-size:14px;margin:0 7px 10px}.equipment-card img{height:280px}}
.hero .info { width: 100%; }
.scrolled .header .brand-name { color: #273541; }

/* Larger logo and light yellow navigation header. */
.header, .scrolled .header {
  background-color: #fff3bf;
  --background-color: #fff3bf;
  --default-color: #273541;
  --heading-color: #273541;
  --nav-color: #273541;
  --nav-hover-color: #795600;
  --nav-mobile-background-color: #fff3bf;
  padding: 12px 0;
}
.header .logo img { width: 92px; height: 92px; max-height: none; }
.header .brand-name, .scrolled .header .brand-name { color: #273541; }
.header .brand-name small { color: #795600; }
.header .mobile-nav-toggle { color: #273541; }
.section { scroll-margin-top: 126px; }
@media(max-width:1199px) { .header .navmenu ul { background-color: #fff3bf; } }
@media(max-width:767px) {
  .header .logo img { width: 68px; height: 68px; }
  .header { padding: 10px 0; }
  .section { scroll-margin-top: 98px; }
}

/* Inner pages */
.inner-banner{padding:170px 0 54px;background:#142331;color:#fff}.inner-banner h1{color:#fff;font-size:42px;margin:20px 0 14px}.inner-banner p{max-width:700px;margin:0;color:#e1e6ea}.inner-banner nav{font-size:14px}.inner-banner nav span{margin-left:8px}.page-cta{display:inline-block;background:#feb900;color:#182330;padding:13px 24px;border-radius:4px;font-weight:600}.page-cta:hover{background:#e8aa00;color:#182330}.service-steps li{padding:12px 0}.inner-page address{font-style:normal}.inner-page a[href^="mailto:"]{overflow-wrap:anywhere}@media(max-width:767px){.inner-banner{padding:128px 0 36px}.inner-banner h1{font-size:32px}}

/* WhatsApp contact button, positioned above the back-to-top control. */
.whatsapp-float { position:fixed; right:20px; bottom:calc(78px + env(safe-area-inset-bottom, 0px)); width:58px; height:58px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#128c4a; color:#fff; font-size:31px; z-index:996; box-shadow:0 4px 16px #0003; transition:background .2s,transform .2s; }
.whatsapp-float:hover,.whatsapp-float:focus-visible { background:#0b703a; color:#fff; transform:translateY(-3px); }
.mobile-nav-active .whatsapp-float { visibility:hidden; }
@media(max-width:767px) { .whatsapp-float { width:54px; height:54px; right:16px; font-size:29px; } }

.skip-link{position:fixed;left:12px;top:-100px;z-index:2000;background:#142331;color:#fff;padding:12px 20px}.skip-link:focus{top:12px;color:#fff}.mobile-nav-toggle{min-width:44px;min-height:44px}.portfolio-filters li{min-height:44px;padding-top:10px;padding-bottom:10px}details summary{min-height:44px;cursor:pointer}@media(max-width:767px){.php-email-form .form-control{font-size:16px}}
