﻿/* ============================================================
   Rock Base Equipment Suppliers — style.css
   Design: Factura Industrial Theme (Dark Navy + Gold)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&family=Barlow+Condensed:wght@600;700;800;900&display=swap');

/* ---------- CSS VARIABLES ---------- */
:root {
   --gold: #F5A623;
   --gold-dark: #D4891A;
   --gold-light: #FFD166;
   --navy: #0D1B2A;
   --navy-mid: #112233;
   --navy-light: #1A2E44;
   --dark: #0A0F1A;
   --white: #FFFFFF;
   --off-white: #F8F9FA;
   --gray-light: #F1F3F5;
   --gray: #6B7280;
   --gray-dark: #374151;
   --text-dark: #111827;
   --text-mid: #374151;
   --border: rgba(255, 255, 255, 0.1);
   --shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
   --shadow-gold: 0 8px 32px rgba(245, 166, 35, 0.25);
   --radius: 4px;
   --radius-lg: 8px;
   --transition: all 0.3s ease;
   --section-pad: 100px 0;
   --font-main: 'Barlow', sans-serif;
   --font-condensed: 'Barlow Condensed', sans-serif;
}

/* ---------- RESET ---------- */
*,
*::before,
*::after {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
}

html {
   scroll-behavior: smooth;
   font-size: 16px;
}

body {
   font-family: var(--font-main);
   color: var(--text-dark);
   background: var(--white);
   overflow-x: hidden;
   line-height: 1.6;
}

img {
   max-width: 100%;
   height: auto;
   display: block;
}

a {
   text-decoration: none;
   color: inherit;
}

ul {
   list-style: none;
}

button {
   cursor: pointer;
   border: none;
   outline: none;
   background: none;
}

/* ---------- UTILITY ---------- */
.container {
   max-width: 1260px;
   margin: 0 auto;
   padding: 0 30px;
}

.section-label {
   display: inline-block;
   font-family: var(--font-condensed);
   font-weight: 700;
   font-size: 13px;
   letter-spacing: 3px;
   text-transform: uppercase;
   color: var(--gold);
   margin-bottom: 14px;
}

.section-title {
   font-family: var(--font-condensed);
   font-size: clamp(32px, 4vw, 52px);
   font-weight: 800;
   line-height: 1.1;
   color: var(--text-dark);
   margin-bottom: 20px;
}

.section-title.white {
   color: var(--white);
}

.section-subtitle {
   font-size: 17px;
   color: var(--gray);
   max-width: 620px;
   line-height: 1.75;
}

.section-subtitle.light {
   color: rgba(255, 255, 255, 0.7);
}

.text-center {
   text-align: center;
}

.text-center .section-subtitle {
   margin: 0 auto;
}

.btn {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 14px 32px;
   font-family: var(--font-main);
   font-weight: 700;
   font-size: 14px;
   letter-spacing: 1px;
   text-transform: uppercase;
   border-radius: var(--radius);
   transition: var(--transition);
   position: relative;
   overflow: hidden;
}

.btn::after {
   content: '';
   position: absolute;
   inset: 0;
   background: rgba(255, 255, 255, 0.1);
   opacity: 0;
   transition: var(--transition);
}

.btn:hover::after {
   opacity: 1;
}

.btn-gold {
   background: var(--gold);
   color: var(--navy);
}

.btn-gold:hover {
   background: var(--gold-dark);
   transform: translateY(-2px);
   box-shadow: var(--shadow-gold);
}

.btn-outline {
   background: transparent;
   color: var(--white);
   border: 2px solid var(--gold);
}

.btn-outline:hover {
   background: var(--gold);
   color: var(--navy);
}

.btn-dark {
   background: var(--navy);
   color: var(--white);
}

.btn-dark:hover {
   background: var(--navy-light);
   transform: translateY(-2px);
}

.gold-bar {
   width: 50px;
   height: 3px;
   background: var(--gold);
   margin: 0 0 24px;
}

.gold-bar.center {
   margin: 0 auto 24px;
}

/* ---------- SCROLL REVEAL ---------- */
.reveal {
   opacity: 0;
   transform: translateY(40px);
   transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.active {
   opacity: 1;
   transform: translateY(0);
}

.reveal-left {
   opacity: 0;
   transform: translateX(-50px);
   transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal-left.active {
   opacity: 1;
   transform: translateX(0);
}

.reveal-right {
   opacity: 0;
   transform: translateX(50px);
   transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal-right.active {
   opacity: 1;
   transform: translateX(0);
}

.delay-1 {
   transition-delay: 0.1s;
}

.delay-2 {
   transition-delay: 0.2s;
}

.delay-3 {
   transition-delay: 0.3s;
}

.delay-4 {
   transition-delay: 0.4s;
}

.delay-5 {
   transition-delay: 0.5s;
}

.delay-6 {
   transition-delay: 0.6s;
}

/* ============================================================
   TOP INFO BAR
   ============================================================ */
#top-bar {
   background: var(--navy);
   padding: 10px 0;
   font-size: 13px;
   font-weight: 500;
   border-bottom: 1px solid rgba(245, 166, 35, 0.2);
}

.top-bar-inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 8px;
}

.top-bar-left {
   display: flex;
   align-items: center;
   gap: 22px;
   color: rgba(255, 255, 255, 0.75);
}

.top-bar-left a {
   color: rgba(255, 255, 255, 0.75);
   transition: var(--transition);
   display: flex;
   align-items: center;
   gap: 7px;
}

.top-bar-left a:hover {
   color: var(--gold);
}

.top-bar-right {
   display: flex;
   align-items: center;
   gap: 14px;
}

.top-bar-right a {
   width: 28px;
   height: 28px;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.08);
   display: flex;
   align-items: center;
   justify-content: center;
   color: rgba(255, 255, 255, 0.7);
   font-size: 12px;
   transition: var(--transition);
}

.top-bar-right a:hover {
   background: var(--gold);
   color: var(--navy);
}

/* ============================================================
   NAVIGATION
   ============================================================ */
#navbar {
   background: var(--white);
   position: sticky;
   top: 0;
   z-index: 1000;
   box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
   transition: var(--transition);
}

#navbar.scrolled {
   box-shadow: 0 4px 30px rgba(0, 0, 0, 0.15);
}

.nav-inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   height: 72px;
}

.nav-logo {
   display: flex;
   align-items: center;
   gap: 12px;
}

.nav-logo .logo-icon {
   width: 44px;
   height: 44px;
   background: var(--navy);
   border-radius: var(--radius);
   display: flex;
   align-items: center;
   justify-content: center;
}

.nav-logo .logo-icon span {
   color: var(--gold);
   font-family: var(--font-condensed);
   font-weight: 900;
   font-size: 20px;
   letter-spacing: -1px;
}

.logo-text .company-name {
   font-family: var(--font-condensed);
   font-weight: 800;
   font-size: 18px;
   color: var(--navy);
   line-height: 1;
   letter-spacing: 1px;
   text-transform: uppercase;
}

.logo-text .company-tagline {
   font-size: 10px;
   color: var(--gold);
   font-weight: 600;
   letter-spacing: 2px;
   text-transform: uppercase;
}

.nav-links {
   display: flex;
   align-items: center;
   gap: 4px;
}

.nav-links a {
   padding: 8px 14px;
   font-size: 13.5px;
   font-weight: 600;
   color: var(--text-dark);
   letter-spacing: 0.5px;
   border-radius: var(--radius);
   transition: var(--transition);
   position: relative;
}

.nav-links a::after {
   content: '';
   position: absolute;
   bottom: 4px;
   left: 14px;
   right: 14px;
   height: 2px;
   background: var(--gold);
   transform: scaleX(0);
   transition: var(--transition);
   border-radius: 2px;
}

.nav-links a:hover {
   color: var(--gold);
}

.nav-links a:hover::after,
.nav-links a.active::after {
   transform: scaleX(1);
}

.nav-links a.active {
   color: var(--gold);
}

.nav-cta {
   background: var(--gold);
   color: var(--navy);
   padding: 11px 24px;
   font-size: 13px;
   font-weight: 700;
   letter-spacing: 1px;
   text-transform: uppercase;
   border-radius: var(--radius);
   transition: var(--transition);
   white-space: nowrap;
   display: block;
}

.nav-cta:hover {
   background: var(--gold-dark);
   transform: translateY(-1px);
   box-shadow: var(--shadow-gold);
   color: var(--navy);
}

.nav-cta-sub {
   font-size: 11px;
   font-weight: 600;
   color: var(--gray);
   letter-spacing: 0.5px;
   text-transform: uppercase;
   transition: var(--transition);
}

.nav-cta-sub:hover {
   color: var(--gold);
}

.nav-mobile-toggle {
   display: none;
   flex-direction: column;
   gap: 5px;
   padding: 8px;
   cursor: pointer;
}

.nav-mobile-toggle span {
   width: 24px;
   height: 2px;
   background: var(--text-dark);
   border-radius: 2px;
   transition: var(--transition);
}

.mobile-nav {
   display: none;
   background: var(--white);
   border-top: 2px solid var(--gold);
   padding: 20px 0;
}

.mobile-nav a {
   display: block;
   padding: 12px 30px;
   font-size: 14px;
   font-weight: 600;
   color: var(--text-dark);
   border-bottom: 1px solid var(--gray-light);
   transition: var(--transition);
}

.mobile-nav a:hover {
   color: var(--gold);
   background: var(--gray-light);
}

.mobile-nav .nav-cta {
   margin: 16px 30px 4px;
   text-align: center;
   border-radius: var(--radius);
   display: block;
}

.mobile-nav .nav-cta-sub {
   display: block;
   text-align: center;
   padding: 6px;
   margin-bottom: 10px;
   border-bottom: 1px solid var(--gray-light);
}

/* ============================================================
   HERO SECTION
   ============================================================ */
#hero {
   position: relative;
   height: 100vh;
   min-height: 650px;
   overflow: hidden;
}

.hero-slider {
   width: 100%;
   height: 100%;
   position: relative;
}

.hero-slide {
   position: absolute;
   inset: 0;
   opacity: 0;
   transition: opacity 1s ease;
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
}

.hero-slide.active {
   opacity: 1;
}

.hero-slide::before {
   content: '';
   position: absolute;
   inset: 0;
   background: linear-gradient(105deg, rgba(10, 15, 26, 0.87) 0%, rgba(10, 15, 26, 0.5) 60%, rgba(10, 15, 26, 0.3) 100%);
}

.hero-content {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   top: 0;
   display: flex;
   align-items: center;
   /* ensure content clears the stats bar at bottom (~90px) */
   padding-bottom: 100px;
}

.hero-text {
   max-width: 680px;
   color: var(--white);
}

.hero-label {
   display: inline-block;
   background: var(--gold);
   color: var(--navy);
   font-family: var(--font-condensed);
   font-weight: 700;
   font-size: 12px;
   letter-spacing: 3px;
   text-transform: uppercase;
   padding: 6px 16px;
   margin-bottom: 24px;
   opacity: 0;
   transform: translateY(20px);
   transition: all 0.7s ease 0.3s;
}

.hero-slide.active .hero-label {
   opacity: 1;
   transform: translateY(0);
}

.hero-title {
   font-family: var(--font-condensed);
   font-size: clamp(42px, 6vw, 78px);
   font-weight: 900;
   line-height: 1.0;
   margin-bottom: 24px;
   opacity: 0;
   transform: translateY(30px);
   transition: all 0.7s ease 0.5s;
}

.hero-slide.active .hero-title {
   opacity: 1;
   transform: translateY(0);
}

.hero-desc {
   font-size: 17px;
   color: rgba(255, 255, 255, 0.8);
   line-height: 1.75;
   margin-bottom: 36px;
   max-width: 520px;
   opacity: 0;
   transform: translateY(20px);
   transition: all 0.7s ease 0.7s;
}

.hero-slide.active .hero-desc {
   opacity: 1;
   transform: translateY(0);
}

.hero-btns {
   display: flex;
   gap: 16px;
   flex-wrap: wrap;
   opacity: 0;
   transform: translateY(20px);
   transition: all 0.7s ease 0.9s;
}

.hero-slide.active .hero-btns {
   opacity: 1;
   transform: translateY(0);
}

.hero-indicators {
   position: absolute;
   bottom: 40px;
   right: 50px;
   display: flex;
   gap: 10px;
   z-index: 10;
}

.hero-indicators button {
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.4);
   border: none;
   cursor: pointer;
   transition: var(--transition);
}

.hero-indicators button.active {
   background: var(--gold);
   width: 28px;
   border-radius: 4px;
}

.hero-arrow {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   z-index: 10;
   width: 50px;
   height: 50px;
   border: 2px solid rgba(255, 255, 255, 0.3);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: white;
   font-size: 18px;
   cursor: pointer;
   transition: var(--transition);
   background: rgba(0, 0, 0, 0.2);
   backdrop-filter: blur(4px);
}

.hero-arrow:hover {
   border-color: var(--gold);
   background: var(--gold);
   color: var(--navy);
}

.hero-arrow-prev {
   left: 30px;
}

.hero-arrow-next {
   right: 30px;
}

.hero-stats-bar {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   background: rgba(13, 27, 42, 0.95);
   backdrop-filter: blur(10px);
   border-top: 2px solid var(--gold);
   display: flex;
}

.hero-stat {
   flex: 1;
   padding: 20px 30px;
   text-align: center;
   border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.hero-stat:last-child {
   border-right: none;
}

.hero-stat-number {
   font-family: var(--font-condensed);
   font-size: 36px;
   font-weight: 900;
   color: var(--gold);
   line-height: 1;
}

.hero-stat-label {
   font-size: 12px;
   color: rgba(255, 255, 255, 0.6);
   font-weight: 500;
   letter-spacing: 1px;
   text-transform: uppercase;
   margin-top: 4px;
}

/* ============================================================
   VISION / MISSION / MOTTO CARDS
   ============================================================ */
#vision-strip {
   background: var(--navy);
   padding: 0;
}

.vision-cards {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
}

.vision-card {
   padding: 50px 40px;
   border-right: 1px solid rgba(255, 255, 255, 0.07);
   position: relative;
   overflow: hidden;
   transition: var(--transition);
}

.vision-card::before {
   content: '';
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   height: 3px;
   background: var(--gold);
   transform: scaleX(0);
   transition: var(--transition);
}

.vision-card:hover::before {
   transform: scaleX(1);
}

.vision-card:hover {
   background: rgba(255, 255, 255, 0.04);
}

.vision-card:last-child {
   border-right: none;
}

.vision-icon {
   width: 56px;
   height: 56px;
   background: rgba(245, 166, 35, 0.12);
   border: 2px solid rgba(245, 166, 35, 0.3);
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 20px;
   font-size: 24px;
   color: var(--gold);
   border-radius: var(--radius);
}

.vision-card h3 {
   font-family: var(--font-condensed);
   font-size: 22px;
   font-weight: 800;
   color: var(--white);
   margin-bottom: 14px;
   letter-spacing: 0.5px;
}

.vision-card p {
   color: rgba(255, 255, 255, 0.6);
   font-size: 15px;
   line-height: 1.7;
}

/* ============================================================
   ABOUT SECTION
   ============================================================ */
#about {
   padding: var(--section-pad);
   background: var(--white);
}

.about-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 80px;
   align-items: center;
}

.about-images {
   position: relative;
}

.about-img-main {
   width: 100%;
   height: 480px;
   object-fit: cover;
   border-radius: var(--radius-lg);
}

.about-img-badge {
   position: absolute;
   bottom: -24px;
   right: -24px;
   background: var(--navy);
   padding: 28px 32px;
   border-radius: var(--radius-lg);
   text-align: center;
   border-left: 4px solid var(--gold);
}

.about-img-badge .badge-number {
   font-family: var(--font-condensed);
   font-size: 52px;
   font-weight: 900;
   color: var(--gold);
   line-height: 1;
}

.about-img-badge .badge-label {
   font-size: 12px;
   color: rgba(255, 255, 255, 0.7);
   text-transform: uppercase;
   letter-spacing: 2px;
   margin-top: 4px;
}

.about-content {
   display: flex;
   flex-direction: column;
   gap: 20px;
}

.about-features {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 16px;
   margin-top: 10px;
}

.about-feature {
   display: flex;
   align-items: flex-start;
   gap: 14px;
   padding: 18px;
   background: var(--gray-light);
   border-radius: var(--radius);
   transition: var(--transition);
}

.about-feature:hover {
   background: var(--gold);
}

.about-feature:hover .af-icon {
   background: var(--navy);
   color: var(--white);
}

.about-feature:hover h4 {
   color: var(--navy);
}

.about-feature:hover p {
   color: var(--navy-mid);
}

.af-icon {
   width: 40px;
   height: 40px;
   min-width: 40px;
   background: var(--gold);
   color: var(--navy);
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: var(--radius);
   font-size: 18px;
   transition: var(--transition);
}

.about-feature h4 {
   font-weight: 700;
   font-size: 14px;
   color: var(--text-dark);
   margin-bottom: 4px;
   transition: var(--transition);
}

.about-feature p {
   font-size: 13px;
   color: var(--gray);
   line-height: 1.5;
   transition: var(--transition);
}

/* ============================================================
   STATS SECTION
   ============================================================ */
#stats {
   padding: 80px 0;
   background: var(--off-white);
   border-top: 1px solid rgba(0, 0, 0, 0.06);
   border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.stats-inner {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 80px;
   align-items: center;
}

.stats-text .section-subtitle {
   color: var(--gray);
}

.stats-circles {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 30px;
}

.stat-circle-item {
   text-align: center;
}

.circle-progress {
   position: relative;
   width: 120px;
   height: 120px;
   margin: 0 auto 16px;
}

.circle-svg {
   transform: rotate(-90deg);
}

.circle-bg {
   fill: none;
   stroke: #E5E7EB;
   stroke-width: 8;
}

.circle-bar {
   fill: none;
   stroke: var(--gold);
   stroke-width: 8;
   stroke-linecap: round;
   stroke-dasharray: 283;
   stroke-dashoffset: 283;
   transition: stroke-dashoffset 1.5s ease;
}

.circle-value {
   position: absolute;
   inset: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   font-family: var(--font-condensed);
   font-size: 28px;
   font-weight: 900;
   color: var(--navy);
}

.stat-circle-item h4 {
   font-size: 13px;
   font-weight: 700;
   color: var(--text-dark);
   letter-spacing: 1px;
   text-transform: uppercase;
}

/* ============================================================
   CLIENT LOGOS
   ============================================================ */
#clients {
   padding: 60px 0;
   background: var(--white);
   border-bottom: 1px solid var(--gray-light);
}

.clients-label {
   text-align: center;
   font-size: 13px;
   color: var(--gray);
   font-weight: 600;
   letter-spacing: 2px;
   text-transform: uppercase;
   margin-bottom: 36px;
}

.clients-logos {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 50px;
   flex-wrap: wrap;
}

.client-logo {
   font-family: var(--font-condensed);
   font-size: 20px;
   font-weight: 800;
   color: #BFC4C9;
   letter-spacing: 2px;
   text-transform: uppercase;
   transition: var(--transition);
   display: flex;
   align-items: center;
   gap: 8px;
}

.client-logo:hover {
   color: var(--gold);
}

.client-logo svg {
   width: 22px;
   height: 22px;
   fill: currentColor;
   opacity: 0.6;
}

/* ============================================================
   WHY CHOOSE US
   ============================================================ */
#why-us {
   padding: var(--section-pad);
   background: var(--navy);
   position: relative;
   overflow: hidden;
}

#why-us::before {
   content: '';
   position: absolute;
   inset: 0;
   background-image: url('../assets/images/hero_bg_3.png');
   background-size: cover;
   background-position: center;
   opacity: 0.07;
}

.why-us-header {
   text-align: center;
   margin-bottom: 64px;
}

.why-us-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 24px;
}

.why-card {
   padding: 32px 28px;
   border: 1px solid rgba(255, 255, 255, 0.07);
   border-radius: var(--radius-lg);
   transition: var(--transition);
   position: relative;
   overflow: hidden;
}

.why-card::before {
   content: '';
   position: absolute;
   inset: 0;
   background: rgba(245, 166, 35, 0.05);
   opacity: 0;
   transition: var(--transition);
}

.why-card:hover {
   border-color: rgba(245, 166, 35, 0.4);
   transform: translateY(-6px);
}

.why-card:hover::before {
   opacity: 1;
}

.why-card-icon {
   width: 52px;
   height: 52px;
   background: rgba(245, 166, 35, 0.12);
   border: 1.5px solid rgba(245, 166, 35, 0.4);
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: var(--radius);
   font-size: 22px;
   color: var(--gold);
   margin-bottom: 20px;
   transition: var(--transition);
}

.why-card:hover .why-card-icon {
   background: var(--gold);
   color: var(--navy);
}

.why-card h3 {
   font-family: var(--font-condensed);
   font-size: 19px;
   font-weight: 700;
   color: var(--white);
   margin-bottom: 10px;
}

.why-card p {
   font-size: 14px;
   color: rgba(255, 255, 255, 0.55);
   line-height: 1.7;
}

/* ============================================================
   PRODUCTS & SERVICES
   ============================================================ */
#products {
   padding: var(--section-pad);
   background: var(--white);
}

.products-header {
   margin-bottom: 60px;
}

.products-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 28px;
}

.product-card {
   border-radius: var(--radius-lg);
   overflow: hidden;
   background: var(--white);
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
   transition: var(--transition);
   border: 1px solid var(--gray-light);
}

.product-card:hover {
   transform: translateY(-8px);
   box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.product-card-img {
   position: relative;
   overflow: hidden;
   height: 220px;
}

.product-card-img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform 0.5s ease;
}

.product-card:hover .product-card-img img {
   transform: scale(1.07);
}

.product-card-icon {
   position: absolute;
   top: 16px;
   left: 16px;
   width: 42px;
   height: 42px;
   background: var(--gold);
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: var(--radius);
   font-size: 18px;
   color: var(--navy);
}

.product-card-body {
   padding: 24px;
}

.product-card-body h3 {
   font-family: var(--font-condensed);
   font-size: 22px;
   font-weight: 800;
   color: var(--text-dark);
   margin-bottom: 10px;
}

.product-card-body p {
   font-size: 14px;
   color: var(--gray);
   line-height: 1.65;
   margin-bottom: 18px;
}

.product-stats {
   display: flex;
   gap: 16px;
   padding: 14px 0;
   border-top: 1px solid var(--gray-light);
   margin-bottom: 18px;
}

.product-stat {
   font-size: 12px;
   color: var(--gray);
   font-weight: 600;
}

.product-stat span {
   color: var(--gold);
}

/* ============================================================
   PROJECT CAPABILITIES
   ============================================================ */
#capabilities {
   padding: var(--section-pad);
   background: var(--navy);
   position: relative;
   overflow: hidden;
}

#capabilities::before {
   content: '';
   position: absolute;
   inset: 0;
   background-image: url('../assets/images/about_workers.png');
   background-size: cover;
   background-position: center;
   opacity: 0.08;
}

.capabilities-inner {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 80px;
   align-items: center;
}

.cap-content {
   position: relative;
   z-index: 1;
}

.cap-list {
   display: flex;
   flex-direction: column;
   gap: 18px;
   margin-top: 36px;
}

.cap-item {
   display: flex;
   align-items: flex-start;
   gap: 16px;
   padding: 20px;
   background: rgba(255, 255, 255, 0.04);
   border: 1px solid rgba(255, 255, 255, 0.07);
   border-radius: var(--radius);
   transition: var(--transition);
}

.cap-item:hover {
   border-color: rgba(245, 166, 35, 0.4);
   background: rgba(245, 166, 35, 0.06);
}

.cap-item-num {
   font-family: var(--font-condensed);
   font-size: 30px;
   font-weight: 900;
   color: var(--gold);
   opacity: 0.3;
   min-width: 40px;
   line-height: 1;
}

.cap-item-text h4 {
   font-family: var(--font-condensed);
   font-weight: 700;
   font-size: 17px;
   color: var(--white);
   margin-bottom: 6px;
}

.cap-item-text p {
   font-size: 14px;
   color: rgba(255, 255, 255, 0.55);
   line-height: 1.6;
}

.cap-images {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: 1fr 1fr;
   grid-template-rows: 260px 200px;
   gap: 16px;
}

.cap-img-1 {
   grid-column: 1 / -1;
}

.cap-img-1 img,
.cap-img-2 img,
.cap-img-3 img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: var(--radius-lg);
}

.cap-img-badge {
   position: absolute;
   bottom: 0;
   left: 0;
   background: var(--gold);
   padding: 14px 20px;
   border-radius: 0 var(--radius-lg) 0 0;
}

.cap-img-badge span {
   font-family: var(--font-condensed);
   font-size: 14px;
   font-weight: 800;
   color: var(--navy);
   display: flex;
   align-items: center;
   gap: 8px;
}

/* ============================================================
   FACILITY
   ============================================================ */
#facility {
   padding: var(--section-pad);
   background: var(--off-white);
}

.facility-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 60px;
   align-items: center;
}

.facility-img-wrap {
   position: relative;
}

.facility-img-main {
   width: 100%;
   height: 500px;
   object-fit: cover;
   border-radius: var(--radius-lg);
}

.facility-img-accent {
   position: absolute;
   top: -24px;
   right: -24px;
   width: 180px;
   height: 150px;
   object-fit: cover;
   border-radius: var(--radius-lg);
   border: 6px solid var(--white);
   box-shadow: var(--shadow);
}

.facility-specs {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px;
   margin-top: 32px;
}

.facility-spec {
   padding: 20px;
   background: var(--white);
   border-radius: var(--radius);
   border-left: 4px solid var(--gold);
   box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

.facility-spec .fs-num {
   font-family: var(--font-condensed);
   font-size: 30px;
   font-weight: 900;
   color: var(--gold);
   line-height: 1;
}

.facility-spec .fs-label {
   font-size: 13px;
   color: var(--gray);
   font-weight: 500;
   margin-top: 4px;
}

/* ============================================================
   WHAT WE DO (Image Grid)
   ============================================================ */
#what-we-do {
   padding: var(--section-pad);
   background: var(--white);
}

.wwd-header {
   margin-bottom: 60px;
}

.wwd-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 24px;
}

.wwd-card {
   position: relative;
   overflow: hidden;
   border-radius: var(--radius-lg);
   cursor: pointer;
}

.wwd-card img {
   width: 100%;
   height: 280px;
   object-fit: cover;
   transition: transform 0.5s ease;
   display: block;
}

.wwd-card:hover img {
   transform: scale(1.08);
}

.wwd-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(to top, rgba(13, 27, 42, 0.9) 0%, rgba(13, 27, 42, 0.2) 60%, transparent 100%);
   display: flex;
   flex-direction: column;
   justify-content: flex-end;
   padding: 24px;
}

.wwd-label {
   display: inline-block;
   background: var(--gold);
   color: var(--navy);
   font-size: 11px;
   font-weight: 700;
   letter-spacing: 2px;
   text-transform: uppercase;
   padding: 4px 10px;
   border-radius: 2px;
   margin-bottom: 10px;
   transform: translateY(6px);
   opacity: 0;
   transition: all 0.3s ease;
}

.wwd-card:hover .wwd-label {
   transform: translateY(0);
   opacity: 1;
}

.wwd-overlay h3 {
   font-family: var(--font-condensed);
   font-size: 22px;
   font-weight: 800;
   color: var(--white);
   line-height: 1.2;
}

.wwd-overlay p {
   font-size: 13px;
   color: rgba(255, 255, 255, 0.7);
   margin-top: 6px;
   transform: translateY(10px);
   opacity: 0;
   transition: all 0.3s ease 0.1s;
}

.wwd-card:hover .wwd-overlay p {
   transform: translateY(0);
   opacity: 1;
}

/* ============================================================
   LEADERSHIP / CEO
   ============================================================ */
#leadership {
   padding: var(--section-pad);
   background: var(--navy);
}

.leadership-inner {
   display: grid;
   grid-template-columns: 420px 1fr;
   gap: 80px;
   align-items: center;
}

.ceo-photo-wrap {
   position: relative;
}

.ceo-photo {
   width: 100%;
   height: 520px;
   object-fit: cover;
   object-position: top center;
   border-radius: var(--radius-lg);
}

.ceo-photo-badge {
   position: absolute;
   bottom: -20px;
   right: -20px;
   background: var(--gold);
   padding: 20px 28px;
   border-radius: var(--radius-lg);
   border-top: 4px solid var(--navy);
}

.ceo-photo-badge .ceo-badge-title {
   font-family: var(--font-condensed);
   font-size: 16px;
   font-weight: 900;
   color: var(--navy);
}

.ceo-photo-badge .ceo-badge-sub {
   font-size: 12px;
   color: var(--navy-mid);
   font-weight: 600;
}

.ceo-content {
   display: flex;
   flex-direction: column;
   gap: 24px;
   position: relative;
   z-index: 1;
}

.quote-mark {
   font-family: serif;
   font-size: 80px;
   color: var(--gold);
   opacity: 0.3;
   line-height: 1;
   margin-bottom: -20px;
}

.ceo-quote {
   font-size: 22px;
   font-style: italic;
   color: rgba(255, 255, 255, 0.85);
   line-height: 1.6;
   font-weight: 300;
}

.ceo-bio {
   color: rgba(255, 255, 255, 0.6);
   font-size: 15px;
   line-height: 1.8;
}

.ceo-credentials {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 16px;
}

.ceo-credential {
   padding: 18px;
   background: rgba(255, 255, 255, 0.04);
   border: 1px solid rgba(255, 255, 255, 0.07);
   border-radius: var(--radius);
   border-left: 3px solid var(--gold);
}

.ceo-credential h4 {
   font-family: var(--font-condensed);
   font-size: 16px;
   font-weight: 700;
   color: var(--white);
   margin-bottom: 4px;
}

.ceo-credential p {
   font-size: 13px;
   color: rgba(255, 255, 255, 0.5);
}

/* ============================================================
   CUSTOMERS
   ============================================================ */
#customers {
   padding: var(--section-pad);
   background: var(--white);
}

.customers-header {
   margin-bottom: 60px;
}

.customers-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 20px;
}

.customer-card {
   padding: 32px 24px;
   background: var(--off-white);
   border-radius: var(--radius-lg);
   text-align: center;
   transition: var(--transition);
   border: 1px solid transparent;
}

.customer-card:hover {
   border-color: var(--gold);
   background: var(--white);
   transform: translateY(-4px);
   box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
}

.customer-icon {
   width: 56px;
   height: 56px;
   background: var(--gold);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0 auto 16px;
   font-size: 24px;
   color: var(--navy);
}

.customer-card h3 {
   font-family: var(--font-condensed);
   font-size: 16px;
   font-weight: 800;
   color: var(--text-dark);
   margin-bottom: 8px;
   text-transform: uppercase;
   letter-spacing: 1px;
}

.customer-card p {
   font-size: 13px;
   color: var(--gray);
   line-height: 1.5;
}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
#testimonials {
   padding: var(--section-pad);
   background: var(--off-white);
}

.testimonials-inner {
   display: grid;
   grid-template-columns: 380px 1fr;
   gap: 60px;
   align-items: center;
}

.testimonials-left h2 {
   font-family: var(--font-condensed);
   font-size: 40px;
   font-weight: 900;
   color: var(--text-dark);
   margin-bottom: 16px;
   line-height: 1.1;
}

.testimonials-left p {
   color: var(--gray);
   font-size: 15px;
   line-height: 1.75;
}

.testimonials-slider {
   position: relative;
   overflow: hidden;
}

.testimonials-track {
   display: flex;
   transition: transform 0.5s ease;
}

.testimonial-card {
   min-width: 100%;
   padding: 36px;
   background: var(--white);
   border-radius: var(--radius-lg);
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
   border-top: 3px solid var(--gold);
}

.testimonial-stars {
   color: var(--gold);
   font-size: 20px;
   margin-bottom: 18px;
}

.testimonial-quote {
   font-size: 16px;
   font-style: italic;
   color: var(--text-mid);
   line-height: 1.75;
   margin-bottom: 24px;
}

.testimonial-author {
   display: flex;
   align-items: center;
   gap: 14px;
}

.testimonial-avatar {
   width: 52px;
   height: 52px;
   border-radius: 50%;
   object-fit: cover;
   border: 3px solid var(--gold);
}

.testimonial-author-name {
   font-weight: 700;
   color: var(--text-dark);
   font-size: 15px;
}

.testimonial-author-title {
   font-size: 13px;
   color: var(--gray);
}

.testimonial-dots {
   display: flex;
   gap: 8px;
   margin-top: 24px;
}

.testimonial-dots button {
   width: 8px;
   height: 8px;
   border-radius: 4px;
   background: #D1D5DB;
   border: none;
   cursor: pointer;
   transition: var(--transition);
}

.testimonial-dots button.active {
   background: var(--gold);
   width: 24px;
}

/* ============================================================
   CTA BANNER
   ============================================================ */
#cta-banner {
   padding: 90px 0;
   background: var(--navy);
   position: relative;
   overflow: hidden;
}

#cta-banner::before {
   content: '';
   position: absolute;
   inset: 0;
   background-image: url('../assets/images/hero_bg_1.png');
   background-size: cover;
   background-position: center;
   opacity: 0.12;
}

.cta-inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 40px;
   flex-wrap: wrap;
   position: relative;
   z-index: 1;
}

.cta-text h2 {
   font-family: var(--font-condensed);
   font-size: clamp(28px, 4vw, 48px);
   font-weight: 900;
   color: var(--white);
   line-height: 1.15;
   max-width: 600px;
}

.cta-text p {
   color: rgba(255, 255, 255, 0.65);
   font-size: 16px;
   margin-top: 12px;
   max-width: 480px;
}

.cta-actions {
   display: flex;
   gap: 16px;
   flex-wrap: wrap;
}

/* ============================================================
   CONTACT
   ============================================================ */
#contact {
   padding: var(--section-pad);
   background: var(--white);
}

.contact-grid {
   display: grid;
   grid-template-columns: 1fr 1.2fr;
   gap: 60px;
}

.contact-info {
   display: flex;
   flex-direction: column;
   gap: 28px;
}

.contact-item {
   display: flex;
   align-items: flex-start;
   gap: 18px;
}

.contact-icon {
   width: 52px;
   height: 52px;
   min-width: 52px;
   background: var(--gold);
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: var(--radius);
   font-size: 20px;
   color: var(--navy);
}

.contact-item h4 {
   font-weight: 700;
   font-size: 15px;
   color: var(--text-dark);
   margin-bottom: 4px;
}

.contact-item p,
.contact-item a {
   font-size: 15px;
   color: var(--gray);
   line-height: 1.6;
   transition: var(--transition);
}

.contact-item a:hover {
   color: var(--gold);
}

.contact-form {
   background: var(--off-white);
   padding: 40px;
   border-radius: var(--radius-lg);
   border-top: 4px solid var(--gold);
}

.contact-form h3 {
   font-family: var(--font-condensed);
   font-size: 28px;
   font-weight: 800;
   color: var(--text-dark);
   margin-bottom: 28px;
}

.form-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 16px;
}

.form-group {
   margin-bottom: 18px;
}

.form-group label {
   display: block;
   font-size: 13px;
   font-weight: 700;
   color: var(--text-dark);
   margin-bottom: 8px;
   text-transform: uppercase;
   letter-spacing: 0.5px;
}

.form-group input,
.form-group select,
.form-group textarea {
   width: 100%;
   padding: 13px 16px;
   border: 1.5px solid #E5E7EB;
   border-radius: var(--radius);
   font-size: 14px;
   font-family: var(--font-main);
   color: var(--text-dark);
   background: var(--white);
   transition: var(--transition);
   outline: none;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
   border-color: var(--gold);
   box-shadow: 0 0 0 3px rgba(245, 166, 35, 0.1);
}

.form-group textarea {
   resize: vertical;
   min-height: 130px;
}

/* ============================================================
   FOOTER
   ============================================================ */
#footer {
   background: var(--dark);
   padding: 70px 0 0;
}

.footer-top {
   display: grid;
   grid-template-columns: 1.5fr 1fr 1fr 1.5fr;
   gap: 50px;
   padding-bottom: 50px;
   border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.footer-logo {
   display: flex;
   align-items: center;
   gap: 12px;
   margin-bottom: 20px;
}

.footer-logo .logo-icon {
   width: 44px;
   height: 44px;
   background: var(--navy);
   border-radius: var(--radius);
   display: flex;
   align-items: center;
   justify-content: center;
   border: 1px solid rgba(245, 166, 35, 0.3);
}

.footer-logo .logo-icon span {
   color: var(--gold);
   font-family: var(--font-condensed);
   font-weight: 900;
   font-size: 20px;
}

.footer-logo .company-name {
   font-family: var(--font-condensed);
   font-weight: 800;
   font-size: 17px;
   color: var(--white);
   letter-spacing: 1px;
}

.footer-logo .company-tagline {
   font-size: 10px;
   color: var(--gold);
   letter-spacing: 2px;
   text-transform: uppercase;
}

.footer-about p {
   font-size: 14px;
   color: rgba(255, 255, 255, 0.5);
   line-height: 1.75;
   margin-bottom: 24px;
}

.footer-social {
   display: flex;
   gap: 10px;
}

.footer-social a {
   width: 36px;
   height: 36px;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.06);
   border: 1px solid rgba(255, 255, 255, 0.1);
   display: flex;
   align-items: center;
   justify-content: center;
   color: rgba(255, 255, 255, 0.6);
   font-size: 14px;
   transition: var(--transition);
}

.footer-social a:hover {
   background: var(--gold);
   color: var(--navy);
   border-color: var(--gold);
}

.footer-col h4 {
   font-family: var(--font-condensed);
   font-size: 16px;
   font-weight: 800;
   color: var(--white);
   margin-bottom: 24px;
   text-transform: uppercase;
   letter-spacing: 1.5px;
   position: relative;
   padding-bottom: 12px;
}

.footer-col h4::after {
   content: '';
   position: absolute;
   bottom: 0;
   left: 0;
   width: 30px;
   height: 2px;
   background: var(--gold);
}

.footer-col ul li {
   margin-bottom: 10px;
}

.footer-col ul li a {
   font-size: 14px;
   color: rgba(255, 255, 255, 0.5);
   transition: var(--transition);
   display: flex;
   align-items: center;
   gap: 8px;
}

.footer-col ul li a:hover {
   color: var(--gold);
   padding-left: 4px;
}

.footer-contact-item {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   margin-bottom: 18px;
}

.footer-contact-icon {
   width: 36px;
   height: 36px;
   min-width: 36px;
   background: rgba(245, 166, 35, 0.12);
   border: 1px solid rgba(245, 166, 35, 0.2);
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: var(--radius);
   font-size: 14px;
   color: var(--gold);
}

.footer-contact-item p {
   font-size: 13px;
   color: rgba(255, 255, 255, 0.5);
   line-height: 1.6;
}

.footer-contact-item a {
   color: rgba(255, 255, 255, 0.5);
   font-size: 13px;
   transition: var(--transition);
}

.footer-contact-item a:hover {
   color: var(--gold);
}

.footer-bottom {
   padding: 22px 0;
   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 12px;
}

.footer-bottom p {
   font-size: 13px;
   color: rgba(255, 255, 255, 0.35);
}

.footer-bottom-links {
   display: flex;
   gap: 20px;
}

.footer-bottom-links a {
   font-size: 13px;
   color: rgba(255, 255, 255, 0.35);
   transition: var(--transition);
}

.footer-bottom-links a:hover {
   color: var(--gold);
}

/* ============================================================
   BACK TO TOP
   ============================================================ */
#back-to-top {
   position: fixed;
   bottom: 30px;
   right: 30px;
   width: 46px;
   height: 46px;
   background: var(--gold);
   color: var(--navy);
   border-radius: var(--radius);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 18px;
   cursor: pointer;
   opacity: 0;
   pointer-events: none;
   transition: var(--transition);
   z-index: 999;
   box-shadow: var(--shadow-gold);
   border: none;
}

#back-to-top.visible {
   opacity: 1;
   pointer-events: all;
}

#back-to-top:hover {
   background: var(--gold-dark);
   transform: translateY(-3px);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1100px) {
   .products-grid {
      grid-template-columns: repeat(2, 1fr);
   }

   .wwd-grid {
      grid-template-columns: repeat(2, 1fr);
   }

   .customers-grid {
      grid-template-columns: repeat(2, 1fr);
   }

   .footer-top {
      grid-template-columns: 1fr 1fr;
      gap: 40px;
   }
}

@media (max-width: 992px) {

   .about-grid,
   .facility-grid,
   .capabilities-inner,
   .contact-grid,
   .leadership-inner {
      grid-template-columns: 1fr;
      gap: 40px;
   }

   .vision-cards {
      grid-template-columns: 1fr;
   }

   .vision-card {
      border-right: none;
      border-bottom: 1px solid rgba(255, 255, 255, 0.07);
   }

   .stats-inner {
      grid-template-columns: 1fr;
      gap: 50px;
   }

   .about-img-badge {
      bottom: 20px;
      right: 20px;
   }

   .cap-images {
      grid-template-rows: auto;
   }

   .testimonials-inner {
      grid-template-columns: 1fr;
   }

   .hero-stats-bar {
      display: none;
   }

   .cta-inner {
      flex-direction: column;
      text-align: center;
   }
}

@media (max-width: 768px) {
   :root {
      --section-pad: 70px 0;
   }

   .nav-links,
   .nav-cta {
      display: none;
   }

   .nav-mobile-toggle {
      display: flex;
   }

   .mobile-nav.open {
      display: block;
   }

   .why-us-grid {
      grid-template-columns: 1fr;
   }

   .products-grid {
      grid-template-columns: 1fr;
   }

   .wwd-grid {
      grid-template-columns: 1fr;
   }

   .customers-grid {
      grid-template-columns: 1fr 1fr;
   }

   .footer-top {
      grid-template-columns: 1fr;
      gap: 36px;
   }

   .hero-arrow {
      display: none;
   }

   .about-features {
      grid-template-columns: 1fr;
   }

   .form-row {
      grid-template-columns: 1fr;
   }

   .ceo-credentials {
      grid-template-columns: 1fr;
   }

   .facility-specs {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 480px) {
   .container {
      padding: 0 20px;
   }

   .hero-title {
      font-size: 38px;
   }

   .hero-btns {
      flex-direction: column;
   }

   .customers-grid {
      grid-template-columns: 1fr;
   }

   .footer-bottom {
      flex-direction: column;
      text-align: center;
   }
}


@media (max-width: 900px) {
  .ceo-photo-wrap, .about-images, .stats-circles, .contact-map-wrap {
    min-width: unset !important;
    width: 100%;
    margin-bottom: 30px;
  }
  
  .testimonials-track {
    width: 100% !important;
  }
  
  .ceo-badge-title {
    font-size: 14px;
  }
  
  /* NEW FIXES */
  .testimonial-card, .testimonials-slider {
    min-width: unset !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .ceo-photo-badge {
    display: none !important;
  }
}

@media (max-width: 900px) {
  .testimonials-left, .testimonials-left h2 {
    min-width: unset !important;
    width: 100% !important;
    max-width: 100% !important;
    word-break: break-word !important;
  }
}

/* FINAL MOBILE VISIBILITY AND OVERFLOW FIXES */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}

@media (max-width: 900px) {
  #top-bar {
    display: none !important;
  }
  
  #testimonials {
    overflow: hidden !important;
  }
  .testimonials-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100vw !important;
  }
  .testimonials-left h2 {
    font-size: 32px !important;
    white-space: normal !important;
  }
}
