/* ============================================================
   PRECISION FORGE INDUSTRIES ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â Stylesheet
   Design tokens: industrial navy + steel + safety amber
   Display: Oswald | Body: Inter | Utility/mono: IBM Plex Mono
   ============================================================ */

:root {
  --ink:        #101820;   /* near-black navy ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â header/footer */
  --steel:      #223448;   /* secondary dark panel */
  --amber:      #ff0e15;   /* safety-orange accent / CTA */
  --amber-dark: #C94F1E;
  --paper:      #F5F3EE;   /* page background */
  --paper-2:    #ECE8DE;   /* section alt background */
  --slate:      #5C6773;   /* muted body text */
  --line:       #D8D3C8;   /* hairline dividers on paper */
  --line-dark:  rgba(255,255,255,0.12); /* hairline dividers on ink */
  --white: #ffffff;
  --success:    #3E8E58;
  --font-display: 'Oswald', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;
  --container-max: 1220px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  margin: 0; padding: 0px;
}

h1, h2, h3, h4, h5,
.font-display {
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-weight: 600;
  color: var(--ink);
}

.mono, .eyebrow, .spec-tag, .stat-num, .timeline-tag {
  font-family: var(--font-mono);
}

a { color: var(--amber); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--amber-dark); text-decoration: none; }

.btn:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

.container-xl { max-width: var(--container-max); margin: 0 auto; padding: 0 24px; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--amber);
  margin-bottom: 14px;
}
.eyebrow::before {
  content: "";
  width: 26px;
  height: 2px;
  background: var(--amber);
  display: inline-block;
}

.section { padding: 96px 0; }
.section-alt { background: var(--paper-2); }
.section-dark { background: var(--ink); color: #C9CFD6; }
.section-dark h2, .section-dark h3, .section-dark .font-display { color: var(--white); }

.section-head { max-width: 640px; margin-bottom: 56px; }
.section-head h2 { font-size: 36px; margin-bottom: 14px; }
.section-head p { color: var(--slate); font-size: 16px; }
.section-dark .section-head p { color: #A9B2BC; }

.btn-forge {
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 14px;
  font-weight: 600;
  padding: 15px 34px;
  border-radius: 2px;
  border: 2px solid var(--amber);
  background: var(--amber);
  color: var(--white);
  transition: all .25s ease;
  display: inline-block;
  d
}
.btn-forge:hover { background: transparent; color: var(--amber); }

.btn-forge-outline {
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 14px;
  font-weight: 600;
  padding: 15px 34px;
  border-radius: 2px;
  border: 2px solid rgba(255,255,255,0.5);
  background: transparent;
  color: var(--white);
  transition: all .25s ease;
  display: inline-block;
}
.btn-forge-outline:hover { border-color: var(--white); background: rgba(255,255,255,0.08); color: var(--white); }

.btn-forge-dark {
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 14px;
  font-weight: 600;
  padding: 15px 34px;
  border-radius: 2px;
  border: 2px solid var(--ink);
  background: transparent;
  color: var(--ink);
  transition: all .25s ease;
  display: inline-block;
}
.btn-forge-dark:hover { background: var(--ink); color: var(--white); }

/* ============================================================
   TOPBAR (thin utility strip above header)
   ============================================================ */
.topbar {
  background: var(--ink);
  color: #98A2AC;
  font-family: var(--font-mono);
  font-size: 12.5px;
  padding: 8px 0;
  letter-spacing: 0.02em;
}
.topbar a { color: #C9CFD6; }
.topbar a:hover { color: var(--amber); }
.topbar .container-xl { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 6px; }
.topbar .topbar-links span { margin-right: 22px; }
.topbar .topbar-links i { color: var(--amber); margin-right: 6px; }

/* ============================================================
   HEADER ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â transparent sticky
   ============================================================ */
.site-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: rgba(16, 24, 32, 0.0);
  transition: background .35s ease, box-shadow .35s ease, padding .35s ease;
  padding: 22px 0;
}
.site-header.is-solid {
  background: rgba(16, 24, 32, 0.97);
  box-shadow: 0 8px 30px rgba(0,0,0,0.25);
  padding: 12px 0;
}
/* On non-hero (interior) pages the header sits on light content, so give it a solid navy plate from the start */
.site-header.header-static { background: rgba(16, 24, 32, 0.97); box-shadow: 0 4px 20px rgba(0,0,0,0.12); }

.site-header .container-xl { display: flex; align-items: center; justify-content: space-between; }

.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark {
  width: 42px; height: 42px;
  border: 2px solid var(--amber);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  color: var(--amber);
  font-weight: 700;
  font-size: 18px;
  transform: rotate(45deg);
  flex-shrink: 0;
}
.brand-mark span { transform: rotate(-45deg); }
.brand-text { font-family: var(--font-display); color: var(--white); font-size: 19px; letter-spacing: 0.04em; line-height: 1.1; }
.brand-text small { display: block; font-family: var(--font-mono); text-transform: none; letter-spacing: 0.05em; font-size: 10.5px; color: #98A2AC; margin-top: 2px; }

.main-nav { display: flex; align-items: center; gap: 4px; }
.main-nav > ul { list-style: none; display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; }
.main-nav > ul > li { position: relative; }
.main-nav > ul > li > a {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #333;
  font-family: var(--font-display);
  text-transform: uppercase;
  font-size: 13.5px;
  letter-spacing: 0.06em;
  font-weight: 500;
  padding: 14px 5px;
}
.main-nav > ul > li > a i { font-size: 10px; transition: transform .25s ease; }
.main-nav > ul > li:hover > a { color: var(--amber); }
.main-nav > ul > li.active > a { color: var(--amber); }
.main-nav > ul > li:hover > a i { transform: rotate(180deg); }

.header-cta { display: flex; align-items: center; gap: 22px; }
.header-phone { color: var(--amber); font-family: var(--font-mono); font-size: 13.5px; display: flex; align-items: center; gap: 8px; font-weight: 600;}
.header-phone i { color: var(--amber); }
.header-phone small { display: block; color: #98A2AC; font-family: var(--font-body); text-transform: uppercase; letter-spacing: 0.1em; font-size: 10px; }

.nav-toggle {
  display: none;
  width: 42px; height: 42px;
  border: 1px solid var(--line-dark);
  background: transparent;
  color: var(--white);
  align-items: center; justify-content: center;
  font-size: 18px;
}

/* ----- Animated mega menu ----- */
.mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(14px);
  width: 760px;
  background: var(--white);
  box-shadow: 0 30px 60px rgba(0,0,0,0.25);
  border-top: 3px solid var(--amber);
  padding: 34px;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 30px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
  z-index: 50;
}
.main-nav > ul > li:hover .mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.mega-col-title {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--amber);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
.mega-list { list-style: none; margin: 0; padding: 0; }
.mega-list li a {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 10px 0;
  color: var(--ink);
  font-size: 14.5px;
  border-bottom: 1px dashed var(--line);
}
.mega-list li:last-child a { border-bottom: none; }
.mega-list li a .tag { font-family: var(--font-mono); font-size: 10.5px; color: var(--slate); }
.mega-list li a:hover { color: var(--amber); padding-left: 6px; }
.mega-promo {
  background: var(--ink);
  color: var(--white);
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.mega-promo h5 { color: var(--white); font-size: 16px; margin-bottom: 10px; }
.mega-promo p { font-size: 13px; color: #A9B2BC; margin-bottom: 18px; }
.mega-promo a { font-family: var(--font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--amber); }

/* ============================================================
   HERO SLIDER ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â full screen
   ============================================================ */
.hero-slider { position: relative; height: 100vh; min-height: 620px; width: 100%; overflow: hidden; background: var(--ink); }
.hero-slider .carousel,
.hero-slider .carousel-inner,
.hero-slider .carousel-item { height: 100%; }
.hero-slide {
  height: 100%;
  width: 100%;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
}
.hero-slide::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(360deg, rgb(16 24 32 / 0%) 0%, rgba(16,24,32,0.42) 42%, rgba(16,24,32,0.15) 100%);
}
.hero-slide-content { position: relative; z-index: 2; max-width: 700px; background:#00000040; padding:15px }
.hero-slide-content .eyebrow { color: #fff; }
.hero-slide-content h1 {
  color:#fff;
  font-size: 38px;
  line-height: 1.06;
  margin-bottom: 22px;
}
.hero-slide-content h1 em { color: #ff5e52; font-style: normal; }
.hero-slide-content p { color: #fff; font-size: 14px; max-width: 480px; margin-bottom: 32px; }
.hero-slide-content .btn-group-hero { display: flex; gap: 16px; flex-wrap: wrap; }

.hero-slider .carousel-indicators { bottom: 44px; }
.hero-slider .carousel-indicators li {
  width: 34px; height: 3px; background: rgba(255,255,255,0.35); opacity: 1; border-radius: 0;
}
.hero-slider .carousel-indicators .active { background: var(--amber); }

.hero-scroll-cue {
  position: absolute; bottom: 40px; right: 6%;
  z-index: 3;
  color: #C9CFD6;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  display: flex; align-items: center; gap: 10px;
  writing-mode: vertical-rl;
}
.hero-scroll-cue::after { content: ""; width: 1px; height: 60px; background: rgba(255,255,255,0.4); display: block; }

.hero-strip {
  position: relative;
  z-index: 3;
  background: rgb(237 50 55);
  border-top: 1px solid var(--line-dark);
  backdrop-filter: blur(4px);
}
.hero-strip .container-xl { display: flex; }
.hero-strip-item {
  flex: 1;
  padding: 38px 24px;
  border-right: 1px solid var(--line-dark);
  display: flex;
  align-items: center;
  gap: 14px;
}
.hero-strip-item:last-child { border-right: none; }
.hero-strip-item i { color: var(--white); font-size: 28px; }
.hero-strip-item .h6 {color: var(--white);font-size: 29px;margin: 0;font-family: var(--font-display);text-transform: uppercase;}
.hero-strip-item small {color: #fff;font-size: 20.5px;}

/* Interior page hero (about/services/contact) ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â shorter, static */
.page-hero {
  position: relative;
  padding: 60px 0 90px;
  background-size: cover;
  background-position: 100% 100%;
  color: var(--white);
}
.page-hero::before { content:""; position:absolute; inset:0; background: linear-gradient(100deg, rgba(16,24,32,0.93), rgba(16,24,32,0.6)); }
.page-hero .container-xl { position: relative; z-index: 2; }
.page-hero h1 {color: var(--white);font-size: 36px;margin-bottom: 12px;}
.page-hero .breadcrumb-forge { font-family: var(--font-mono); font-size: 12.5px; color: #A9B2BC; letter-spacing: 0.04em; }
.page-hero .breadcrumb-forge a { color: #C9CFD6; }
.page-hero .breadcrumb-forge .sep { margin: 0 8px; color: var(--amber); }

/* ============================================================
   COMPANY INTRO
   ============================================================ */
.intro-media { position: relative; }
.intro-media img { width: 100%; display: block; }
.intro-media-frame { position: relative; }
.intro-media-frame::before {
  content: "";
  position: absolute;
  top: -18px; left: -18px;
  width: 100%; height: 100%;
  border: 2px solid var(--amber);
  z-index: -1;
}
.intro-plate {
  position: absolute;
  bottom: -30px; left: -30px;
  background: var(--ink);
  color: var(--white);
  padding: 26px 30px;
  min-width: 200px;
}
.intro-plate .stat-num { font-size: 40px; color: var(--amber); font-weight: 700; line-height: 1; }
.intro-plate small { display:block; margin-top: 8px; text-transform: uppercase; letter-spacing: 0.08em; font-size: 11px; color: #A9B2BC; }

.intro-copy p { color: var(--slate); font-size: 15.5px; margin-bottom: 18px; }
.intro-points { list-style: none; margin: 26px 0; padding: 0; }
.intro-points li { display: flex; gap: 14px; padding: 12px 0; border-top: 1px solid var(--line); }
.intro-points li:first-child { border-top: none; }
.intro-points li i { color: var(--amber); margin-top: 3px; }
.intro-points li strong { display: block; font-family: var(--font-display); font-size: 14.5px; letter-spacing: 0.02em; }
.intro-points li span { color: var(--slate); font-size: 13.5px; }

/* ============================================================
   PRODUCT CATEGORIES ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â hover effects
   ============================================================ */
.cat-card {
  position: relative;
  overflow: hidden;
  height: 340px;
  background: var(--ink);
  display: block;
  color: var(--white);
}
.cat-card img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  opacity: .55;
  transform: scale(1.04);
  transition: transform .6s ease, opacity .6s ease;
}
.cat-card::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(16,24,32,0.15) 0%, rgba(16,24,32,0.95) 100%);
  z-index: 1;
}
.cat-card-body {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  padding: 26px;
  transform: translateY(46px);
  transition: transform .4s ease;
}
.cat-card .spec-tag {
  display: inline-block;
  font-size: 11px;
  color: var(--amber);
  border: 1px solid var(--amber);
  padding: 2px 8px;
  margin-bottom: 12px;
  letter-spacing: 0.06em;
}
.cat-card h4 { color: var(--white); font-size: 20px; margin-bottom: 8px; }
.cat-card p {
  color: #C9CFD6; font-size: 13.5px; margin: 0;
  max-height: 0; opacity: 0; overflow: hidden;
  transition: max-height .4s ease, opacity .4s ease .05s;
}
.cat-card .cat-link {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--white); font-family: var(--font-display); font-size: 12.5px;
  text-transform: uppercase; letter-spacing: 0.08em; margin-top: 14px;
  opacity: 0; transition: opacity .3s ease .1s;
}
.cat-card:hover img { transform: scale(1.12); opacity: .32; }
.cat-card:hover .cat-card-body { transform: translateY(0); }
.cat-card:hover p { max-height: 80px; opacity: 1; }
.cat-card:hover .cat-link { opacity: 1; }

/* ============================================================
   WHY CHOOSE US
   ============================================================ */
.why-item { display: flex; gap: 20px; padding: 26px 0; border-top: 1px solid var(--line); }
.why-item:first-child { border-top: none; }
.why-num { font-family: var(--font-mono); font-size: 13px; color: var(--amber); min-width: 46px; }
.why-item h4 { font-size: 17px; margin-bottom: 8px; }
.why-item p { color: var(--slate); font-size: 14.5px; margin: 0; }

.why-media { position: relative; height: 100%; min-height: 460px; background-size: cover; background-position: center; }
.why-media-badge {
  position: absolute; top: 30px; right: -1px;
  background: var(--amber); color: var(--white);
  padding: 18px 24px; text-align: center;
  font-family: var(--font-display); text-transform: uppercase;
}
.why-media-badge .stat-num { font-size: 30px; display: block; font-family: var(--font-mono); }
.why-media-badge small { font-size: 10.5px; letter-spacing: 0.06em; }

/* ============================================================
   MANUFACTURING PROCESS TIMELINE
   ============================================================ */
.process-line { position: relative; padding-top: 20px; }
.process-line .belt {
  position: absolute; top: 74px; left: 0; right: 0; height: 2px;
  background: repeating-linear-gradient(90deg, var(--line) 0 10px, transparent 10px 18px);
}
.section-dark .process-line .belt {
  background: repeating-linear-gradient(90deg, rgba(255,255,255,0.22) 0 10px, transparent 10px 18px);
}
.process-step { position: relative; text-align: center; padding: 0 14px; }
.process-step .timeline-tag {
  width: 64px; height: 64px; border-radius: 50%;
  background: var(--ink); color: var(--amber);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 22px; font-size: 22px; border: 2px solid var(--amber);
  position: relative; z-index: 2;
}
.section-dark .process-step .timeline-tag { background: var(--paper); }
.process-step h5 { font-size: 15px; margin-bottom: 10px; }
.process-step p { font-size: 13px; color: #A9B2BC; margin: 0; }
.section:not(.section-dark) .process-step p { color: var(--slate); }
.process-step .step-code { display:block; font-family: var(--font-mono); font-size: 11px; color: var(--amber); margin-bottom: 8px; letter-spacing: 0.08em; }

/* ============================================================
   STATISTICS COUNTERS
   ============================================================ */
.stats-bar { background: var(--ink); }
.stat-block { text-align: center; padding: 54px 20px; border-right: 1px solid var(--line-dark); }
.stat-block:last-child { border-right: none; }
.stat-block .stat-num { font-size: 46px; color: var(--amber); font-weight: 700; }
.stat-block .stat-label { color: #A9B2BC; text-transform: uppercase; letter-spacing: 0.1em; font-size: 12px; margin-top: 8px; }

/* ============================================================
   CERTIFICATIONS
   ============================================================ */
.cert-card {
  border: 1px solid var(--line);
  background: var(--white);
  padding: 34px 24px;
  text-align: center;
  transition: border-color .25s ease, transform .25s ease;
  height: 100%;
}
.cert-card:hover { border-color: var(--amber); transform: translateY(-6px); }
.cert-card i { font-size: 34px; color: var(--amber); margin-bottom: 16px; display: block; }
.cert-card h5 { font-size: 14.5px; margin-bottom: 8px; }
.cert-card small { color: var(--slate); font-family: var(--font-mono); font-size: 11.5px; }

/* ============================================================
   CLIENT LOGOS CAROUSEL
   ============================================================ */
   .logo-track-wrap {
     overflow: hidden;
     position: relative;
     width: 100%;
   }

   /* Soft fade on both edges */
   .logo-track-wrap::before,
   .logo-track-wrap::after {
     content: "";
     position: absolute;
     top: 0;
     bottom: 0;
     width: 110px;
     z-index: 5;
     pointer-events: none;
   }

   .logo-track-wrap::before {
     left: 0;
     background: linear-gradient(
       90deg,
       var(--paper-2) 0%,
       rgba(236, 232, 222, 0) 100%
     );
   }

   .logo-track-wrap::after {
     right: 0;
     background: linear-gradient(
       -90deg,
       var(--paper-2) 0%,
       rgba(236, 232, 222, 0) 100%
     );
   }


   /* Moving track */
   .logo-track {
     display: flex;
     align-items: stretch;
     width: max-content;
     animation: scrollLogos 32s linear infinite;
   }


   /* Pause when mouse is over logos */
   .logo-track:hover {
     animation-play-state: paused;
   }


   /* Individual logo */
   .logo-item {
     width: 210px;
     min-width: 210px;
     height: 185px;

     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;

     gap: 16px;

     padding: 20px 25px;

     border-left: 1px solid var(--line);

     background: transparent;

     transition:
       background .3s ease,
       transform .3s ease;
   }


   /* Logo image */
   .logo-item img {
     width: 115px;
     height: 115px;

     object-fit: contain;
     display: block;

     filter: grayscale(1);
     opacity: .55;

     transition:
       filter .35s ease,
       opacity .35s ease,
       transform .35s ease;
   }


   /* Company name */
   .logo-item span {
     display: block;

     color: var(--slate);

     font-family: var(--font-display);
     font-size: 15px;
     font-weight: 600;

     text-align: center;
     text-transform: uppercase;
     letter-spacing: .05em;

     line-height: 1.2;

     transition:
       color .3s ease,
       opacity .3s ease;
   }


   /* Hover */
   .logo-item:hover {
     background: rgba(255,255,255,.35);
   }

   .logo-item:hover img {
     filter: grayscale(0);
     opacity: 1;
     transform: scale(1.06);
   }

   .logo-item:hover span {
     color: var(--ink);
   }


   /* Animation */
   @keyframes scrollLogos {
     from {
       transform: translateX(0);
     }

     to {
       transform: translateX(-50%);
     }
   }


   /* Mobile */
   @media (max-width: 767px) {

     .logo-track-wrap::before,
     .logo-track-wrap::after {
       width: 45px;
     }

     .logo-item {
       width: 170px;
       min-width: 170px;
       height: 160px;
       padding: 16px;
       gap: 12px;
     }

     .logo-item img {
       width: 90px;
       height: 90px;
     }

     .logo-item span {
       font-size: 12px;
     }
   }

/* ============================================================
   LATEST NEWS
   ============================================================ */
.news-card { background: var(--white); border: 1px solid var(--line); height: 100%; }
.news-thumb { height: 220px; overflow: hidden; position: relative; }
.news-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.news-card:hover .news-thumb img { transform: scale(1.08); }
.news-date {
  position: absolute; top: 16px; left: 16px;
  background: var(--amber); color: var(--white);
  font-family: var(--font-mono); font-size: 11px;
  padding: 6px 10px; letter-spacing: 0.04em;
}
.news-body { padding: 26px; }
.news-body .eyebrow { font-size: 10.5px; margin-bottom: 10px; }
.news-body h5 { font-size: 17px; line-height: 1.35; margin-bottom: 12px; }
.news-body p { color: var(--slate); font-size: 13.5px; margin-bottom: 16px; }
.news-more { font-family: var(--font-display); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink); }
.news-more i { margin-left: 6px; transition: transform .2s ease; }
.news-card:hover .news-more { color: var(--amber); }
.news-card:hover .news-more i { transform: translateX(4px); }

/* ============================================================
   CTA SECTION
   ============================================================ */
.cta-section {
  position: relative;
  background: var(--ink);
  padding: 40px 0;
  overflow: hidden;
}
.cta-section::before {
  content: "";
  position: absolute; top: 0; right: -80px; bottom: 0; width: 420px;
  background: linear-gradient(135deg, var(--amber), transparent 70%);
  opacity: .18;
}
.cta-section .container-xl { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 30px; }
.cta-section h2 { color: var(--white); font-size: 32px; margin-bottom: 10px; }
.cta-section p { color: #A9B2BC; font-size: 15px; margin: 0; }
.cta-actions { display: flex; gap: 16px; flex-wrap: wrap; }

/* ============================================================
   FOOTER ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â premium
   ============================================================ */
.site-footer { background: #0B1017; color: #8D96A1; padding-top: 90px; }
.footer-top { padding-bottom: 60px; border-bottom: 1px solid var(--line-dark); }
.footer-brand .brand-text { color: var(--white); }
.footer-col h6 { color: var(--white); font-family: var(--font-display); text-transform: uppercase; font-size: 14px; letter-spacing: 0.06em; margin-bottom: 24px; }
.footer-col p { font-size: 13.5px; line-height: 1.8; }
.footer-links { list-style: none; margin: 0; padding: 0; }
.footer-links li { margin-bottom: 12px; }
.footer-links a { color: #8D96A1; font-size: 13.5px; }
.footer-links a:hover { color: var(--amber); padding-left: 4px; }
.footer-contact { list-style: none; margin: 0; padding: 0; }
.footer-contact li { display: flex; gap: 12px; margin-bottom: 16px; font-size: 13.5px; }
.footer-contact i { color: var(--amber); margin-top: 3px; }
.footer-newsletter { display: flex; margin-top: 20px; }
.footer-newsletter input {
  flex: 1; background: transparent; border: 1px solid var(--line-dark);
  color: var(--white); padding: 12px 14px; font-size: 13px;
}
.footer-newsletter button {
  background: var(--amber); border: none; color: var(--white);
  padding: 0 18px; font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.06em; font-size: 12px;
}
.social-row { display: flex; gap: 10px; margin-top: 22px; }
.social-row a {
  width: 36px; height: 36px; border: 1px solid var(--line-dark);
  display: flex; align-items: center; justify-content: center; color: #C9CFD6; font-size: 14px;
}
.social-row a:hover { border-color: var(--amber); color: var(--amber); }
.footer-bottom { padding: 26px 0; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-size: 12.5px; }
.footer-bottom a { color: #8D96A1; }
.footer-bottom a:hover { color: var(--amber); }

/* ============================================================
   SERVICES PAGE ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â sticky left nav / right content
   ============================================================ */
.service-layout { padding: 90px 0 110px; }

.service-sidebar-wrap { position: sticky; top: 30px; }

.service-sidenav-card {
  background: var(--white);
  border: 1px solid var(--line);
  padding: 10px;
}
.service-sidenav { list-style: none; margin: 0; padding: 0; }
.service-sidenav .nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 14px;
  color: var(--ink);
  font-family: var(--font-display);
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.04em;
  border-left: 3px solid transparent;
  transition: all .2s ease;
}
.service-sidenav .nav-link .tag { font-family: var(--font-mono); font-size: 10px; color: var(--slate); text-transform: none; letter-spacing: 0; }
.service-sidenav .nav-link:hover { background: var(--paper-2); color: var(--amber); }
.service-sidenav .nav-link.active {
  background: var(--paper-2);
  color: var(--amber);
  border-left-color: var(--amber);
}

.sidebar-quote-card {
  background: var(--ink);
  color: var(--white);
  padding: 26px 24px;
  margin-top: 20px;
}
.sidebar-quote-card h5 { color: var(--white); font-size: 15px; margin-bottom: 10px; }
.sidebar-quote-card p { color: #A9B2BC; font-size: 13px; margin-bottom: 18px; }
.sidebar-quote-card .header-phone { color: var(--white); margin-bottom: 16px; }

/* mobile quick-nav: horizontal scroll pill bar */
.service-quicknav { display: none; }

/* --- service content blocks --- */
.service-block { padding-bottom: 74px; margin-bottom: 74px; border-bottom: 1px solid var(--line); scroll-margin-top: 130px; }
.service-block:last-of-type { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

.service-block-head { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 24px; }
.service-block-icon {
  width: 58px; height: 58px; flex-shrink: 0;
  background: var(--ink); color: var(--amber);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; border: 2px solid var(--amber);
}
.service-block-head .spec-tag { display: block; font-size: 11px; color: var(--amber); letter-spacing: 0.1em; margin-bottom: 6px; }
.service-block-head h2 { font-size: 27px; margin: 0; }

.service-block-media { overflow: hidden; margin-bottom: 26px; position: relative; }
.service-block-media img { width: 100%; display: block; height: 320px; object-fit: cover; transition: transform .6s ease; }
.service-block-media:hover img { transform: scale(1.05); }

.service-block p.lead-text {color: #000;font-size: 15.5px;margin-bottom: 26px;}

.spec-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-bottom: 28px; }
.spec-cell { background: var(--white); padding: 20px; transition: background .2s ease; }
.spec-cell:hover { background: var(--paper-2); }
.spec-cell .spec-cell-label { font-family: var(--font-mono); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--slate); margin-bottom: 8px; display: block; }
.spec-cell .spec-cell-value { font-family: var(--font-display); font-size: 16px; text-transform: uppercase; }

.chip-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.chip {
  font-family: var(--font-mono); font-size: 12px;
  border: 1px solid var(--line); padding: 8px 14px;
  color: var(--slate); background: var(--white);
  transition: all .2s ease; cursor: default;
}
.chip:hover { border-color: var(--amber); color: var(--amber); background: var(--paper-2); }

.service-feature-list { list-style: none; margin: 0 0 10px; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 24px; }
.service-feature-list li { display: flex; gap: 10px; font-size: 14px; color: var(--ink); }
.service-feature-list li i { color: var(--amber); margin-top: 4px; }

@media (max-width: 991px) {
  .service-sidebar-col { display: none; }
  .service-quicknav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 14px 4px 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--line);
  }
  .service-quicknav a {
    flex-shrink: 0;
    font-family: var(--font-display);
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.04em;
    padding: 10px 16px;
    border: 1px solid var(--line);
    color: var(--ink);
    white-space: nowrap;
  }
  .service-quicknav a.active { border-color: var(--amber); color: var(--amber); background: var(--paper-2); }
  .service-feature-list { grid-template-columns: 1fr; }
  .spec-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 575px) {
  .spec-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.contact-card { background: var(--white); border: 1px solid var(--line); padding: 34px; height: 100%; }
.contact-card i { font-size: 26px; color: var(--amber); margin-bottom: 16px; display: block; }
.contact-card h5 { font-size: 15.5px; margin-bottom: 10px; }
.contact-card p, .contact-card a { color: var(--slate); font-size: 14px; display: block; }
.contact-card a:hover { color: var(--amber); }

.form-forge label { font-family: var(--font-mono); font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--slate); margin-bottom: 8px; }
.form-forge .form-control {
  border-radius: 0; border: 1px solid var(--line); background: var(--white);
  padding: 13px 14px; font-size: 14.5px; height: auto;
}
.form-forge .form-control:focus { border-color: var(--amber); box-shadow: none; }
.form-forge textarea.form-control { min-height: 140px; }

.map-frame { border: 1px solid var(--line); height: 100%; min-height: 420px; }
.map-frame iframe { width: 100%; height: 100%; min-height: 420px; display: block; border: 0; }

/* ============================================================
   MISC / UTIL
   ============================================================ */
.back-to-top {
  position: fixed; right: 26px; bottom: 26px; z-index: 900;
  width: 46px; height: 46px; background: var(--amber); color: var(--white);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: all .3s ease; font-size: 16px;
}
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { background: var(--amber-dark); color: var(--white); }

.preloader {
  position: fixed; inset: 0; background: var(--ink); z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  transition: opacity .5s ease, visibility .5s ease;
}
.preloader.is-hidden { opacity: 0; visibility: hidden; }
.preloader-mark {
  width: 54px; height: 54px; border: 2px solid var(--amber);
  transform: rotate(45deg); position: relative; animation: pulseMark 1.2s ease-in-out infinite;
}
@keyframes pulseMark { 0%,100% { opacity: .4; } 50% { opacity: 1; } }

[data-aos] { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
[data-aos].is-in { opacity: 1; transform: translateY(0); }

header.site-header.is-solid .main-nav > ul > li > a{color:#fff}
.hero-slider .carousel-indicators {bottom: 44px; position: absolute; z-index: 999; }
.hero-slider .carousel-indicators li {display: inline-block; }

 .gallery-grid-item {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 6px;
    cursor: zoom-in;
    background: #111;
    aspect-ratio: 4 / 5;
  }
  .gallery-grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .55s ease;
  }
  .gallery-grid-item:hover img {
    transform: scale(1.08);
  }
  .gallery-grid-item .gallery-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding: 18px;
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.75) 100%);
    opacity: 0;
    transition: opacity .35s ease;
  }
  .gallery-grid-item:hover .gallery-overlay { opacity: 1; }
  .gallery-overlay-text {
    color: #fff;
    font-family: 'inter', sans-serif;
  }
  .gallery-overlay-text .spec-tag { display:block; margin-bottom:4px; }
  .gallery-overlay-text h5 { color:#fff; margin:0; font-size:16px; }
  .gallery-zoom-icon {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    color: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity .3s ease, transform .3s ease;
  }
  .gallery-grid-item:hover .gallery-zoom-icon {
    opacity: 1;
    transform: translateY(0);
  }

  /* ---- lightbox ---- */
  .lightbox-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: rgba(10,10,10,.94);
    display: none;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .3s ease;
  }
  .lightbox-overlay.is-open {
    display: flex;
    opacity: 1;
  }
  .lightbox-stage {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  .lightbox-track {
    display: flex;
    height: 78vh;
    width: 100%;
    align-items: center;
    transition: transform .45s cubic-bezier(.2,.7,.2,1);
  }
  .lightbox-slide {
    flex: 0 0 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 70px;
    box-sizing: border-box;
  }
  .lightbox-slide img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 30px 80px rgba(0,0,0,.6);
    transform: scale(.9);
    opacity: 0;
    transition: transform .4s ease, opacity .4s ease;
  }
  .lightbox-overlay.is-open .lightbox-slide.is-active img {
    transform: scale(1);
    opacity: 1;
  }
  .lightbox-caption {
    position: absolute;
    left: 0; right: 0;
    bottom: 26px;
    text-align: center;
    color: #fff;
    font-family: 'inter', sans-serif;
  }
  .lightbox-caption .spec-tag { display:inline-block; margin-bottom:6px; }
  .lightbox-caption h5 { color:#fff; margin:0; font-size:18px; }
  .lightbox-count {
    position: absolute;
    top: 24px;
    left: 28px;
    color: rgba(255,255,255,.6);
    font-family: 'ibm plex mono', monospace;
    font-size: 13px;
    letter-spacing: .05em;
  }
  .lightbox-close,
  .lightbox-arrow {
    position: absolute;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.25);
    color: #fff;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .25s ease, transform .2s ease;
    font-size: 16px;
  }
  .lightbox-close:hover,
  .lightbox-arrow:hover {
    background: rgba(255,255,255,.2);
    transform: translateY(-1px);
  }
  .lightbox-close {
    top: 24px;
    right: 28px;
  }
  .lightbox-arrow.prev { left: 20px; top: 50%; transform: translateY(-50%); }
  .lightbox-arrow.next { right: 20px; top: 50%; transform: translateY(-50%); }
  .lightbox-arrow.prev:hover { transform: translateY(-50%) translateX(-2px); }
  .lightbox-arrow.next:hover { transform: translateY(-50%) translateX(2px); }

  @media (max-width: 767px) {
    .lightbox-slide { padding: 0 18px; }
    .lightbox-arrow { width: 38px; height: 38px; }
    .lightbox-track { height: 62vh; }
  }

  /* ================================
PRODUCT GALLERY - DARK OVERLAY
================================ */

.gallery-grid-item {
position: relative;
display: block;
overflow: hidden;
border-radius: 6px;
cursor: zoom-in;
background: #111;
aspect-ratio: 4 / 5;
}

/* Image */
.gallery-grid-item img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition:
transform .55s cubic-bezier(.2,.7,.2,1),
filter .55s ease;
}

/* Dark image overlay */
.gallery-grid-item::before {
content: "";
position: absolute;
inset: 0;
z-index: 1;
background:
linear-gradient(
180deg,
rgba(0, 0, 0, .15) 0%,
rgba(0, 0, 0, .30) 45%,
rgba(0, 0, 0, .82) 100%
);
pointer-events: none;
transition: background .4s ease;
}

/* Slightly darker on hover */
.gallery-grid-item:hover::before {
background:
linear-gradient(
180deg,
rgba(0, 0, 0, .28) 0%,
rgba(0, 0, 0, .42) 45%,
rgba(0, 0, 0, .88) 100%
);
}

/* Image zoom */
.gallery-grid-item:hover img {
transform: scale(1.08);
filter: brightness(.82);
}

/* Existing bottom overlay */
.gallery-grid-item .gallery-overlay {
position: absolute;
inset: 0;
z-index: 2;
display: flex;
align-items: flex-end;
padding: 18px;

/* Keep text area darker */
background: linear-gradient(
180deg,
transparent 35%,
rgba(0, 0, 0, .15) 55%,
rgba(0, 0, 0, .72) 100%
);

opacity: 0;
transition: opacity .35s ease;
}

.gallery-grid-item:hover .gallery-overlay {
opacity: 1;
}

/* Gallery text */
.gallery-overlay-text {
color: #fff;
font-family: 'Inter', sans-serif;
position: relative;
z-index: 3;
}

.gallery-overlay-text .spec-tag {
display: block;
margin-bottom: 4px;
}

.gallery-overlay-text h5 {
color: #fff;
margin: 0;
font-size: 16px;
}

/* Zoom button */
.gallery-zoom-icon {
position: absolute;
top: 14px;
right: 14px;
z-index: 3;

width: 36px;
height: 36px;

border-radius: 50%;
background: rgba(255, 255, 255, .92);
color: #111;

display: flex;
align-items: center;
justify-content: center;

font-size: 14px;

opacity: 0;
transform: translateY(-6px);

transition:
opacity .3s ease,
transform .3s ease;
}

.gallery-grid-item:hover .gallery-zoom-icon {
opacity: 1;
transform: translateY(0);
}

/* Mobile - keep a subtle overlay visible */
@media (max-width: 767px) {

.gallery-grid-item::before {
background:
linear-gradient(
180deg,
rgba(0, 0, 0, .20) 0%,
rgba(0, 0, 0, .35) 50%,
rgba(0, 0, 0, .75) 100%
);
}

.gallery-grid-item .gallery-overlay {
opacity: 1;
}

.gallery-zoom-icon {
opacity: 1;
transform: translateY(0);
}

}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1199px) {
  .hero-slide-content h1 { font-size: 46px; }
  .mega-menu { width: 620px; }
}

@media (max-width: 991px) {
  .nav-toggle { display: flex; }
  .main-nav { position: fixed; top: 0; right: -320px; width: 300px; height: 100vh; background: var(--ink); flex-direction: column; align-items: flex-start; padding: 90px 24px 24px; transition: right .35s ease; overflow-y: auto; }
  .main-nav.is-open { right: 0; box-shadow: -20px 0 40px rgba(0,0,0,0.35); }
  .main-nav > ul { flex-direction: column; align-items: flex-start; width: 100%; }
  .main-nav > ul > li { width: 100%; }
  .main-nav > ul > li > a {padding: 14px 0;justify-content: space-between;border-bottom: 1px solid var(--line-dark);color: #fff;}
  .mega-menu { position: static; width: 100%; transform: none; box-shadow: none; border-top: 1px solid var(--line-dark); background: transparent; padding: 16px 0 16px 14px; grid-template-columns: 1fr; display: none; opacity: 1; visibility: visible; }
  .main-nav > ul > li.menu-open .mega-menu {display: inline;}
  .mega-col-title { color: var(--amber); }
  .mega-list li a { color: #C9CFD6; }
  .mega-promo { display: none; }
  .header-phone { display: none; }
  .hero-strip .container-xl { flex-wrap: wrap; }
  .hero-strip-item { flex: 1 1 50%; border-bottom: 1px solid var(--line-dark); }
  .stat-block { border-right: none; border-bottom: 1px solid var(--line-dark); }
  .hero-slide-content h1 { font-size: 38px; }
}

@media (max-width: 767px) {
  .section { padding: 66px 0; }
  .hero-slider {height: auto;min-height: 100%;}
  .hero-slide-content h1 { font-size: 32px; }
  .section-head h2 { font-size: 27px; }
  .cta-section .container-xl { flex-direction: column; text-align: center; }
  .cta-actions { justify-content: center; }
  .intro-plate { position: static; margin-top: 20px; }
  .intro-media-frame::before { display: none; }
  .page-hero {padding: 40px 0 40px;}
  .page-hero h1 { font-size: 32px; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .client-sub-menu {
    position: relative;
    left: 0;
    width: 100%;
}
}



.flex-grid {
    display: flex;
}
.flex-grid>div.service-block-media:first-child {
    padding-left: 0;
    height: 170px;
}

.flex-grid>div:first-child img {
    width: 100%;
    /* height: 230px; */
}
.flex-grid .service-feature-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
}
.service-block .flex-grid img {
    width: 50%;
}

.service-block .flex-grid .col-6 {
    display: flex;
    gap: 5px;
}
.quality-grid .service-block-media img{
    height: 200px;
}


.financial-table-wrapper {
  width: 100%;
  overflow-x: auto;
  margin-top: 10px;
}

.financial-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.financial-table thead {
  background: #1d3557;
  color: #fff;
}

.financial-table th,
.financial-table td {
  padding: 18px 20px;
  text-align: left;
  border-bottom: 1px solid #e9ecef;
}

.financial-table th {
  font-size: 15px;
  font-weight: 600;
}

.financial-table td {
  font-size: 15px;
  color: #444;
}

.financial-table tbody tr {
  transition: all 0.25s ease;
}

.financial-table tbody tr:hover {
  background: #f7faff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.financial-download-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: #d62828;
  color: #fff !important;
  text-decoration: none;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.25s ease;
}

.financial-download-btn:hover {
  background: #a91f1f;
  color: #fff !important;
  transform: translateY(-2px);
}

.financial-download-btn i {
  font-size: 16px;
}

@media (max-width: 767px) {

  .financial-table th,
  .financial-table td {
    padding: 12px 10px;
    font-size: 13px;
  }

  .financial-download-btn {
    padding: 8px 10px;
    font-size: 12px;
  }

  .financial-download-btn i {
    font-size: 14px;
  }
}


/* ============================================================
   CONTACT PAGE - PREMIUM INDUSTRIAL DESIGN
============================================================ */

.contact-section {
    background: var(--paper);
    padding: 90px 0 110px;
}

.contact-section-head {
    max-width: 680px;
    margin-bottom: 55px;
}

.contact-section-head h2 {
    font-size: 42px;
    margin-bottom: 12px;
}

.contact-section-head p {
    max-width: 600px;
}


/* ============================================================
   MAIN CONTACT LAYOUT
============================================================ */

.contact-main-row {
    row-gap: 35px;
}


/* ============================================================
   LEFT CONTACT DETAILS
============================================================ */

.contact-details {
    height: 100%;
    background: var(--ink);
    color: #fff;
    padding: 42px 38px;
    position: relative;
    overflow: hidden;
}

.contact-details::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 160px;
    height: 160px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 14, 21, .25),
            transparent 65%
        );

    pointer-events: none;
}

.contact-details::after {
    content: "";
    position: absolute;
    right: -60px;
    bottom: -70px;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(255,255,255,.08);
    transform: rotate(45deg);
}


.contact-details-head {
    position: relative;
    z-index: 2;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(255,255,255,.12);
    margin-bottom: 8px;
}

.contact-kicker {
    display: block;

    font-family: var(--font-mono);
    font-size: 10.5px;
    letter-spacing: .16em;
    text-transform: uppercase;

    color: var(--amber);

    margin-bottom: 9px;
}


.contact-details h3 {
    color: #fff;
    font-size: 28px;
    margin: 0 0 10px;
}


.contact-details-head p {
    color: #A9B2BC;
    font-size: 14px;
    line-height: 1.75;
    margin: 0;
}


/* ============================================================
   CONTACT DETAIL ITEMS
============================================================ */

.contact-detail-item {
    position: relative;
    z-index: 2;

    display: flex;
    gap: 17px;

    padding: 21px 0;

    border-bottom: 1px solid rgba(255,255,255,.10);
}


.contact-detail-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(255,14,21,.10);
    border: 1px solid rgba(255,14,21,.35);

    color: var(--amber);

    font-size: 17px;

    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;
}


.contact-detail-item:hover .contact-detail-icon {
    background: var(--amber);
    color: #fff;
    transform: translateY(-2px);
}


.contact-detail-content > span {
    display: block;

    font-family: var(--font-mono);
    text-transform: uppercase;

    font-size: 9.5px;
    letter-spacing: .12em;

    color: #7F8994;

    margin-bottom: 3px;
}


.contact-detail-content h4 {
    color: #fff;

    font-family: var(--font-display);
    font-size: 15px;

    margin: 0 0 4px;

    text-transform: uppercase;
}


.contact-detail-content p,
.contact-detail-content a {
    color: #B9C1C9;

    font-size: 13px;
    line-height: 1.7;

    margin: 0;

    text-decoration: none;
}


.contact-detail-content a {
    transition: color .2s ease;
}


.contact-detail-content a:hover {
    color: var(--amber);
}


/* ============================================================
   DIRECT CONTACT CTA
============================================================ */

.contact-direct {
    position: relative;
    z-index: 3;

    margin-top: 25px;
    padding: 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    background: rgba(255,255,255,.055);
    border-left: 3px solid var(--amber);
}


.contact-direct span {
    display: block;

    font-family: var(--font-mono);
    font-size: 9px;
    letter-spacing: .12em;

    color: #8E98A3;

    margin-bottom: 4px;
}


.contact-direct strong {
    color: #fff;

    font-family: var(--font-display);
    font-size: 15px;

    text-transform: uppercase;
}


.contact-direct a {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    background: var(--amber);
    color: #fff;

    transition:
        background .25s ease,
        transform .25s ease;
}


.contact-direct a:hover {
    background: var(--amber-dark);
    color: #fff;

    transform: translateX(4px);
}


/* ============================================================
   CONTACT FORM CARD
============================================================ */

.contact-form-card {
    height: 100%;

    background: #fff;

    border: 1px solid var(--line);

    padding: 40px 42px;

    box-shadow:
        0 18px 50px rgba(16,24,32,.07);

    position: relative;
}


.contact-form-card::before {
    content: "";

    position: absolute;
    left: 0;
    top: 0;

    width: 70px;
    height: 3px;

    background: var(--amber);
}


.contact-form-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 8px;
}


.contact-form-header h3 {
    margin: 0;

    font-size: 28px;
}


.contact-form-badge {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    background: var(--paper-2);
    border: 1px solid var(--line);

    color: var(--amber);

    font-size: 18px;
}


.contact-form-intro {
    color: var(--slate);

    font-size: 14px;
    line-height: 1.7;

    margin: 0 0 28px;

    max-width: 620px;
}


/* ============================================================
   FORM GRID
============================================================ */

.form-grid {
    display: grid;
    gap: 20px;
}

.form-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* ============================================================
   FORM FIELDS
============================================================ */

.forge-field {
    min-width: 0;
    margin-bottom: 19px;
}


.forge-field label {
    display: block;

    font-family: var(--font-mono);

    font-size: 10.5px;
    letter-spacing: .09em;

    text-transform: uppercase;

    color: var(--slate);

    margin-bottom: 8px;
}


.forge-field label span {
    color: var(--amber);
}


.forge-input-wrap {
    position: relative;
}


.forge-input-wrap > i {
    position: absolute;

    left: 15px;
    top: 50%;

    transform: translateY(-50%);

    color: #8D96A1;

    font-size: 14px;

    pointer-events: none;

    transition: color .2s ease;
}


.forge-input-wrap:focus-within > i {
    color: var(--amber);
}


.forge-input {
    width: 100%;
    min-width: 0;

    box-sizing: border-box;

    height: 49px;

    border: 1px solid var(--line);

    border-radius: 0;

    background: #fff;

    color: var(--ink);

    font-family: var(--font-body);

    font-size: 14px;

    padding: 0 15px 0 43px;

    outline: none;

    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}


.forge-input::placeholder {
    color: #A5ADB5;
}


.forge-input:hover {
    border-color: #B8B2A7;
}


.forge-input:focus {
    border-color: var(--amber);

    background: #fff;

    box-shadow:
        0 0 0 3px rgba(255,14,21,.08);
}


.forge-select {
    appearance: none;
    -webkit-appearance: none;

    cursor: pointer;

    padding-right: 40px;
}


.forge-input-wrap:has(.forge-select)::after {
    content: "\f078";

    position: absolute;

    right: 15px;
    top: 50%;

    transform: translateY(-50%);

    font-family: "Font Awesome 6 Free";
    font-weight: 900;

    font-size: 10px;

    color: #7D858D;

    pointer-events: none;
}


/* ============================================================
   TEXTAREA
============================================================ */

.forge-textarea-wrap {
    position: relative;
}


.forge-textarea-wrap > i {
    top: 18px;
    transform: none;
}


.forge-textarea {
    height: 145px;

    min-height: 145px;

    resize: vertical;

    padding-top: 14px;
    padding-bottom: 14px;
}


/* ============================================================
   FORM FOOTER
============================================================ */

.contact-form-footer {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-top: 6px;

    padding-top: 20px;

    border-top: 1px solid var(--line);
}


.contact-form-note {
    display: flex;
    align-items: center;
    gap: 8px;

    color: #7D858D;

    font-family: var(--font-mono);

    font-size: 9.5px;

    line-height: 1.4;
}


.contact-form-note i {
    color: var(--success);
}


/* ============================================================
   SUBMIT BUTTON
============================================================ */

.contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    min-width: 165px;

    padding: 14px 22px;

    border: 2px solid var(--amber);

    border-radius: 0;

    background: var(--amber);

    color: #fff;

    font-family: var(--font-display);

    text-transform: uppercase;

    letter-spacing: .08em;

    font-size: 13px;

    font-weight: 600;

    cursor: pointer;

    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;
}


.contact-submit:hover {
    background: var(--amber-dark);
    border-color: var(--amber-dark);

    color: #fff;

    transform: translateY(-2px);
}


.contact-submit i {
    transition: transform .25s ease;
}


.contact-submit:hover i {
    transform: translateX(4px);
}


/* ============================================================
   MAP
============================================================ */

.contact-map-section {
    margin-top: 70px;
}


.contact-map-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 25px;

    margin-bottom: 22px;
}


.contact-map-header h3 {
    margin: 0;

    font-size: 28px;
}


.map-direction-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    font-family: var(--font-display);

    text-transform: uppercase;

    letter-spacing: .06em;

    font-size: 12px;

    color: var(--ink);

    border-bottom: 1px solid var(--ink);

    padding-bottom: 4px;
}


.map-direction-btn:hover {
    color: var(--amber);

    border-color: var(--amber);
}


.contact-map {
    position: relative;

    height: 430px;

    overflow: hidden;

    border: 1px solid var(--line);

    background: #ddd;
}


.contact-map iframe {
    width: 100%;
    height: 100%;

    display: block;

    border: 0;

    filter: grayscale(.8) contrast(1.05);
}


.map-overlay-card {
    position: absolute;

    left: 25px;
    bottom: 25px;

    display: flex;
    align-items: center;
    gap: 14px;

    max-width: 320px;

    padding: 16px 18px;

    background: rgba(16,24,32,.96);

    color: #fff;

    box-shadow: 0 12px 35px rgba(0,0,0,.2);
}


.map-overlay-icon {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    background: var(--amber);

    color: #fff;
}


.map-overlay-card strong {
    display: block;

    font-family: var(--font-display);

    font-size: 14px;

    text-transform: uppercase;

    margin-bottom: 3px;
}


.map-overlay-card span {
    display: block;

    color: #A9B2BC;

    font-size: 11.5px;

    line-height: 1.5;
}


/* ============================================================
   TABLET
============================================================ */

@media (max-width: 991px) {

    .contact-details {
        padding: 35px 30px;
    }

    .contact-form-card {
        padding: 35px 30px;
    }

}


/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 767px) {

    .contact-section {
        padding: 65px 0 75px;
    }

    .contact-section-head {
        margin-bottom: 35px;
    }

    .contact-section-head h2 {
        font-size: 31px;
    }


    .contact-details {
        padding: 30px 23px;
    }


    .contact-details h3 {
        font-size: 24px;
    }


    .contact-form-card {
        padding: 30px 20px;
    }


    .contact-form-header h3 {
        font-size: 24px;
    }


    .contact-form-badge {
        width: 42px;
        height: 42px;
    }


    .form-grid-2 {
        grid-template-columns: 1fr;
        gap: 0;
    }


    .contact-form-footer {
        align-items: stretch;
        flex-direction: column;
    }


    .contact-submit {
        width: 100%;
    }


    .contact-map-section {
        margin-top: 50px;
    }


    .contact-map-header {
        align-items: flex-start;
        flex-direction: column;
    }


    .contact-map {
        height: 350px;
    }


    .map-overlay-card {
        left: 12px;
        right: 12px;
        bottom: 12px;
        max-width: none;
    }

}



/* =========================================================
   LEFT SIDE
========================================================= */

.clients-left {

    width: 260px;

    background: #922727;
}


.clients-list {

    list-style: none;

    padding: 0;
    margin: 0;
}


.clients-list > li {

    position: static;

    margin: 0;
    padding: 0;
}


/* Left links */

.clients-list > li > a {

    display: flex;

    align-items: center;

    justify-content: space-between;

    min-height: 45px;

    padding: 0 15px;

    box-sizing: border-box;

    color: #fff !important;

    text-decoration: none;

    font-size: 15px;

    border-bottom: 1px dashed
        rgba(255,255,255,.4);

    transition: all .2s ease;
}


.clients-list > li > a:hover {

    background: rgba(0,0,0,.1);

    color: #fff !important;
}


/* Arrow */

.clients-list > li > a i {

    font-size: 9px;

    transition: transform .2s ease;
}


.client-has-submenu:hover > a i {

    transform: translateX(3px);
}


/* =========================================================
   RIGHT SUB MENU
========================================================= */

.client-sub-menu {

    position: absolute;

    top: 0;

    left: 260px;

    width: 290px;

    min-height: 220px;

    padding: 25px 0;

    box-sizing: border-box;

    background: #922727;

    opacity: 0;

    visibility: hidden;

    transform: translateX(8px);

    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;

    z-index: 10000;
}


/* Show submenu */

.client-has-submenu:hover > .client-sub-menu {

    opacity: 1;

    visibility: visible;

    transform: translateX(0);
}


/* =========================================================
   SUB MENU CONTENT
========================================================= */

.client-sub-column {

    padding: 0 20px;

    box-sizing: border-box;
}


.client-sub-column .mega-col-title {

    color: #fff;

    font-size: 16px;

    font-weight: 600;

    padding-bottom: 10px;

    margin-bottom: 8px;

    border-bottom: 1px solid
        rgba(255,255,255,.3);
}


.client-sub-column .mega-list {

    list-style: none;

    padding: 0;
    margin: 0;
}


.client-sub-column .mega-list li {

    margin: 0;
    padding: 0;
}


.client-sub-column .mega-list li a {

    display: block;

    padding: 10px 0;

    color: #fff !important;

    text-decoration: none;

    font-size: 14px;

    border-bottom: 1px dashed
        rgba(255,255,255,.35);

    transition: all .2s ease;
}


.client-sub-column .mega-list li a:hover {

    color: #ffdada !important;

    padding-left: 5px;
}
button.nav-toggle {
    color: #000;
}

@media (max-width: 767px) {
  .client-sub-menu {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 220px;}
    .flex-grid {
    display: inline-block;
}
}