@import url("https://fonts.googleapis.com/css2?family=Arimo:wght@400;500;600;700&family=Figtree:wght@300;400;500;600;700;800&family=Gemunu+Libre:wght@400;500;600;700&display=swap");*,*::before,*::after{box-sizing:border-box;}
:root{--ink:#0d1b3e;--field:#1a2a5e;--field-2:#0d1830;--leaf:#2e4a8a;--moss:#3d5a9e;--clay:#c8960c;--ore:#f0b429;--sand:#fdf0c2;--paper:#f8f9fc;--white:#ffffff;--muted:#5a6278;--line:rgba(13,27,62,0.14);--light-line:rgba(255,255,255,0.18);--radius:1.25rem;--ease:cubic-bezier(0.625,0.05,0,1);}
html{scroll-behavior:smooth;overflow-x:clip;}
body{margin:0;font-family:"Figtree","Inter",Arial,sans-serif;color:var(--ink);background:var(--paper);overflow-x:clip;}
body.menu-open{overflow:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;}
.noise{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:0.035;background-image:radial-gradient(circle at 20% 30%,#000 0 1px,transparent 1px),radial-gradient(circle at 70% 80%,#000 0 1px,transparent 1px);background-size:22px 22px,34px 34px;mix-blend-mode:multiply;}
.container{width:min(100% - 3rem,82rem);margin:0 auto;}
.section-pad{padding:clamp(5rem,9vw,8.75rem) 0;}
.dark{color:var(--white);background:var(--field-2);}
.nav-fixed{position:fixed;z-index:100;top:0;left:0;right:0;padding:1rem clamp(1rem,3vw,2rem);}
.nav-shell{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;min-height:4.75rem;width:min(100%,92rem);margin:0 auto;padding:0.65rem 0.75rem 0.65rem 1rem;border:1px solid rgba(255,255,255,0.45);border-radius:999px;background:rgba(250,247,239,0.84);box-shadow:0 1.5rem 4rem rgba(19,15,52,0.12);backdrop-filter:blur(18px);transition:transform 0.35s var(--ease),background 0.35s var(--ease);}
.nav-fixed.is-scrolled .nav-shell{transform:translateY(-0.25rem);background:rgba(250,247,239,0.347);}
.brand{display:inline-flex;align-items:center;gap:0.7rem;color:var(--ink);font-family:"Gemunu Libre","Figtree",sans-serif;font-size:1.35rem;font-weight:700;letter-spacing:0.02em;text-transform:uppercase;}
.brand img{width:3.15rem;height:3.15rem;border-radius:999px;object-fit:cover;}
.nav-links{display:flex;justify-content:center;align-items:center;gap:clamp(1rem,2.2vw,2.4rem);}
.nav-link{position:relative;display:inline-flex;color:var(--ink);font-size:0.92rem;font-weight:700;}
.nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:-0.45rem;height:1px;background:currentColor;transition:right 0.45s var(--ease);}
.nav-link:hover::after,.nav-link.active::after{right:0;}
.nav-toggle{display:none;width:3rem;height:3rem;border:0;border-radius:999px;color:var(--white);background:var(--ink);cursor:pointer;}
.nav-toggle span{display:block;width:1.25rem;height:2px;margin:0.28rem auto;background:currentColor;transition:transform 0.35s var(--ease);}
.nav-toggle.open span:first-child{transform:translateY(0.32rem) rotate(45deg);}
.nav-toggle.open span:last-child{transform:translateY(-0.32rem) rotate(-45deg);}
.btn-animate{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:0 1.25rem;overflow:hidden;border-radius:999px;color:var(--white);background:var(--field);font-size:0.95rem;font-weight:800;line-height:1;white-space:nowrap;}
.btn-bg{position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(135deg,var(--field),var(--leaf));transition:inset 0.6s var(--ease),background 0.6s var(--ease);}
.btn-animate:hover .btn-bg{inset:0.14rem;background:linear-gradient(135deg,var(--clay),var(--ore));}
.btn-animate [data-button-animate-chars]{position:relative;display:inline-block;overflow:hidden;}
.btn-animate [data-button-animate-chars] span{position:relative;display:inline-block;text-shadow:0 1.35em currentColor;transform:translateY(0);transition:transform 0.6s var(--ease);}
.btn-animate:hover [data-button-animate-chars] span{transform:translateY(-1.35em);}
.label-pill,.eyebrow,.card-label{width:fit-content;border:1px solid var(--line);border-radius:999px;padding:0.55rem 0.85rem;color:var(--field);background:rgba(255,255,255,0.62);font-size:0.76rem;font-weight:800;line-height:1;text-transform:uppercase;}
.dark .eyebrow,.dark .card-label{border-color:var(--light-line);color:var(--sand);background:rgba(255,255,255,0.08);}
.section-title{margin:0;max-width:12ch;font-family:"Figtree","Inter",sans-serif;font-size:clamp(2.7rem,6vw,6.2rem);font-weight:800;line-height:0.88;letter-spacing:-0.045em;}
.project-head .section-title,.addserv-head .section-title{max-width:14ch;}
.hero-lead,.head-copy,.intro-copy p,.tabs-copy,.project-content p,.value-row p,.contact-card p{color:var(--muted);font-size:clamp(1rem,1.45vw,1.15rem);font-weight:500;line-height:1.7;}
.text-link{position:relative;color:var(--ink);font-weight:800;}
.text-link::after{content:"";position:absolute;left:0;right:0;bottom:-0.3rem;height:1px;background:currentColor;}
.hero-media img,.project-card img,.tab-panel img{width:100%;height:100%;object-fit:cover;transition:transform 0.9s var(--ease);}
.project-card:hover img{transform:scale(1.05);}
.hero-marquee{position:absolute;left:0;right:0;bottom:0;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--sand);}
.marquee-track{display:flex;width:max-content;animation:marquee-horizontal 34s linear infinite;}
.marquee-track span{display:inline-flex;align-items:center;gap:1rem;padding:1.1rem 2rem;font-family:"Gemunu Libre","Figtree",sans-serif;font-size:clamp(1.15rem,2vw,1.7rem);font-weight:700;text-transform:uppercase;white-space:nowrap;}
.marquee-track span::before{content:"";width:0.55rem;height:0.55rem;border-radius:50%;background:var(--clay);}
@keyframes marquee-horizontal{from{transform:translateX(0);}
to{transform:translateX(-50%);}
}
.intro-layout,.section-head.horizontal,.cta-wrap{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,5rem);align-items:start;}
.project-head{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:900px;margin:0 auto 4rem;}
.project-head .eyebrow{margin:0 auto .75rem;}
.project-head .section-title{margin:0 auto;}
.project-head .head-copy{max-width:700px;margin:1rem auto 0;}
.intro-copy{padding-top:0.75rem;}
.intro-copy strong{color:var(--ink);}
.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:clamp(2.5rem,5vw,4rem);}
.stat-card{min-height:13rem;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;background:var(--white);}
.stat-card span{color:var(--field);font-family:"Gemunu Libre","Figtree",sans-serif;font-size:clamp(3.5rem,8vw,6.5rem);font-weight:700;line-height:0.85;}
.stat-card:nth-child(2){color:var(--white);background:var(--field);}
.stat-card:nth-child(2) span{color:var(--sand);}
.stat-card p{margin:0;color:inherit;font-weight:700;}
.capability-wrap{position:relative;}
.capability-list{display:grid;border-top:1px solid var(--light-line);}
.capability-item{position:relative;display:grid;grid-template-columns:7rem 1fr;gap:2rem;align-items:center;min-height:11.5rem;padding:2rem 0;border-bottom:1px solid var(--light-line);cursor:pointer;transition:opacity 0.25s ease,padding-left 0.45s var(--ease);}
.capability-list:hover .capability-item:not(:hover){opacity:0.48;}
.capability-item:hover,.capability-item.active{padding-left:1.4rem;}
.capability-item::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(26,42,94,0.16),transparent);opacity:0;transition:opacity 0.35s var(--ease);}
.capability-item:hover::after,.capability-item.active::after{opacity:1;}
.capability-item > *{position:relative;z-index:1;}
.capability-item img{display:none;}
.cap-nr{color:var(--sand);font-family:"Gemunu Libre","Figtree",sans-serif;font-size:clamp(2.4rem,6vw,4.8rem);font-weight:700;line-height:0.9;}
.capability-item h3,.project-content h3,.tab-panel h3,.value-row h3{margin:0;font-size:clamp(1.6rem,3vw,2.8rem);font-weight:800;line-height:1.02;}
.capability-item p{max-width:48rem;margin:0.85rem 0 0;color:rgba(255,255,255,0.68);font-size:1.02rem;line-height:1.65;}
.preview-follower{position:fixed;z-index:120;left:0;top:0;width:17rem;height:20rem;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(0.84);transition:opacity 0.2s ease,transform 0.45s var(--ease);}
.preview-follower.show{opacity:1;transform:translate(-50%,-50%) scale(1);}
.preview-follower-inner{position:relative;width:100%;height:100%;overflow:hidden;border-radius:var(--radius);background:var(--field);box-shadow:0 2rem 5rem rgba(0,0,0,0.28);}
.preview-follower-inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.preview-label{position:absolute;z-index:2;left:1rem;bottom:1rem;border-radius:999px;padding:0.65rem 0.85rem;color:var(--white);background:rgba(18,53,41,0.72);font-weight:800;}
.project-grid{display:grid;grid-template-columns:1fr 0.9fr;gap:1rem;margin-top:3rem;}
.project-card{position:relative;min-height:31rem;overflow:hidden;border-radius:var(--radius);background:var(--field);}
.project-card.tall{grid-row:span 2;}
.project-content{position:absolute;inset:auto 1rem 1rem;border-radius:1rem;padding:1.15rem;color:var(--white);background:#070d1f;backdrop-filter:blur(14px);}
.project-content p{margin:0.7rem 0 0;color:rgba(255,255,255,0.76);}
.cta-section{padding:clamp(4rem,8vw,7.5rem) 0;}
.cta-wrap{align-items:stretch;border-radius:2rem;padding:clamp(1.4rem,4vw,3rem);background:linear-gradient(
135deg,rgba(26,42,94,0.28),transparent 42%
),var(--field);}
.contact-card{display:grid;gap:1rem;border:1px solid var(--light-line);border-radius:var(--radius);padding:1.4rem;background:rgba(255,255,255,0.08);}
.contact-card p{margin:0;color:rgba(255,255,255,0.76);}
.contact-card strong,.contact-card a{color:var(--white);}
.contact-card .btn-animate{width:fit-content;margin-top:0.5rem;}

/*=====================================================================
   TERRAMECH FOOTER
   Shared footer used across all TerraMech pages
   =====================================================================*/

.site-footer{
  position:relative;
  overflow:hidden;
  margin:0;
  padding:4.5rem 0 1rem;
  color:var(--white);
  background:
    radial-gradient(circle at 84% 8%,rgba(240,180,41,0.07),transparent 26%),
    linear-gradient(145deg,#070d1f 0%,#0d1830 55%,#091125 100%);
}

.site-footer::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(240,180,41,0.55),transparent);
}

/* Main footer columns.
   IMPORTANT: use valid grid track values. The previous minmax(2.2fr,3fr)
   declaration was invalid CSS, so the four columns collapsed into one
   vertical column and made the footer extremely tall. */

.tm-footer-main{
  display:grid;
  grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.5fr);
  gap:clamp(2rem,4vw,4.5rem);
  align-items:start;
  padding-bottom:3.25rem;
}

.tm-footer-brand{
  min-width:0;
  max-width:25rem;
}

.tm-footer-logo{
  display:inline-flex;
  width:4rem;
  height:4rem;
  margin:0 0 1rem;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:0.9rem;
  background:rgba(255,255,255,0.045);
}

.tm-footer-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.tm-footer-company{
  margin:0;
  color:var(--white);
  font-family:"Gemunu Libre","Figtree",sans-serif;
  font-size:1.35rem;
  font-weight:700;
  line-height:1.15;
  letter-spacing:0.02em;
}

.tm-footer-tagline{
  margin:0.55rem 0 0;
  color:var(--ore);
  font-size:0.82rem;
  font-weight:700;
  line-height:1.45;
}

.tm-footer-description{
  max-width:24rem;
  margin:0.9rem 0 0;
  color:rgba(255,255,255,0.52);
  font-size:0.84rem;
  font-weight:500;
  line-height:1.65;
}

.tm-footer-column{
  min-width:0;
}

.tm-footer-heading{
  margin:0 0 1rem;
  color:var(--sand);
  font-size:0.67rem;
  font-weight:800;
  letter-spacing:0.12em;
  line-height:1.2;
  text-transform:uppercase;
}

.tm-footer-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0.58rem;
  min-width:0;
}

.tm-footer-links a{
  position:relative;
  display:inline-block;
  max-width:100%;
  color:rgba(255,255,255,0.62);
  font-size:0.82rem;
  font-weight:600;
  line-height:1.4;
  transition:color 0.25s ease,transform 0.25s var(--ease);
}

.tm-footer-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-0.14rem;
  width:0;
  height:1px;
  background:var(--ore);
  transition:width 0.3s var(--ease);
}

.tm-footer-links a:hover{
  color:var(--white);
  transform:translateX(0.15rem);
}

.tm-footer-links a:hover::after{
  width:100%;
}

.tm-footer-contact{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.tm-footer-contact-link{
  display:block;
  max-width:100%;
  margin:0 0 0.4rem;
  color:rgba(255,255,255,0.72);
  font-size:0.82rem;
  font-weight:700;
  line-height:1.4;
  overflow-wrap:anywhere;
  transition:color 0.25s ease;
}

.tm-footer-contact-link:hover{
  color:var(--ore);
}

.tm-footer-email{
  margin-top:0.05rem;
}

.tm-footer-address{
  margin:0.65rem 0 0;
  color:rgba(255,255,255,0.46);
  font-size:0.76rem;
  font-weight:500;
  line-height:1.6;
}

/* CTA */

.tm-footer-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  margin:0;
  padding:1.5rem 2rem;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:1.2rem;
  background:
    linear-gradient(
      135deg,
      rgba(240,180,41,0.075),
      rgba(255,255,255,0.025) 48%,
      rgba(26,42,94,0.24)
    );
}

.tm-footer-cta-label{
  margin:0 0 0.4rem;
  color:var(--ore);
  font-size:0.64rem;
  font-weight:800;
  letter-spacing:0.1em;
  line-height:1.2;
  text-transform:uppercase;
}

.tm-footer-cta h2{
  margin:0;
  color:var(--white);
  font-family:"Figtree","Inter",sans-serif;
  font-size:clamp(1.8rem,3vw,2.8rem);
  font-weight:800;
  line-height:0.95;
  letter-spacing:-0.04em;
}

.tm-footer-cta-btn{
  flex:0 0 auto;
}

/* Bottom */

.tm-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  margin-top:2rem;
  padding-top:0.9rem;
  border-top:1px solid rgba(255,255,255,0.08);
}

.tm-footer-copy,
.tm-footer-legal{
  margin:0;
  color:rgba(255,255,255,0.36);
  font-size:0.65rem;
  font-weight:500;
  line-height:1.5;
}

.tm-footer-legal{
  text-transform:uppercase;
  letter-spacing:0.08em;
}

/* Credit */

.tm-footer-credit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0.3rem;
  margin-top:0.7rem;
  padding-top:0.7rem;
  border-top:1px solid rgba(255,255,255,0.045);
  color:rgba(255,255,255,0.25);
  font-size:0.6rem;
  font-weight:500;
  line-height:1.4;
  text-align:center;
}

.tm-footer-credit a{
  color:rgba(255,255,255,0.52);
  font-weight:800;
  transition:color 0.25s ease;
}

.tm-footer-credit a:hover{
  color:var(--ore);
}

/* Footer tablet */

@media (max-width:1050px){
  .tm-footer-main{
    grid-template-columns:1.6fr 1fr 1fr;
    gap:2.5rem 2rem;
  }

  .tm-footer-brand{
    grid-column:1 / -1;
    max-width:34rem;
  }
}

/* Footer mobile */

@media (max-width:760px){
  .site-footer{
    padding:3.5rem 0 0.9rem;
  }

  .tm-footer-main{
    grid-template-columns:1fr 1fr;
    gap:2rem 1.5rem;
    padding-bottom:2.5rem;
  }

  .tm-footer-brand{
    grid-column:1 / -1;
    max-width:100%;
  }

  .tm-footer-description{
    max-width:34rem;
  }

  .tm-footer-cta{
    align-items:flex-start;
    flex-direction:column;
    gap:1.25rem;
    padding:1.4rem;
  }

  .tm-footer-cta h2{
    font-size:clamp(2rem,10vw,3rem);
  }

  .tm-footer-cta-btn{
    width:100%;
  }

  .tm-footer-bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:0.35rem;
  }

  .tm-footer-credit{
    flex-wrap:wrap;
  }
}

/* Footer small mobile */

@media (max-width:480px){
  .tm-footer-main{
    grid-template-columns:1fr;
    gap:1.75rem;
  }

  .tm-footer-brand{
    grid-column:auto;
  }

  .tm-footer-logo{
    width:3.75rem;
    height:3.75rem;
  }

  .tm-footer-company{
    font-size:1.25rem;
  }

  .tm-footer-description{
    font-size:0.82rem;
  }

  .tm-footer-cta{
    padding:1.25rem;
  }

  .tm-footer-cta h2{
    font-size:2.1rem;
  }

  .tm-footer-copy,
  .tm-footer-legal{
    font-size:0.62rem;
  }
}
.reveal,.split-text{opacity:0;transform:translateY(2rem);transition:opacity 0.8s var(--ease),transform 0.8s var(--ease);}
.reveal.is-visible,.split-text.is-visible{opacity:1;transform:none;}
.split-text .word{display:inline-block;overflow:hidden;}
.split-text .word > span{display:inline-block;transform:translateY(105%);transition:transform 1s var(--ease);transition-delay:calc(var(--word-index) * 56ms);}
.split-text.is-visible .word > span{transform:translateY(0);}
@media (hover:none),(pointer:coarse){.preview-follower{display:none;}
}
@media (max-width:1050px){.nav-shell{grid-template-columns:auto auto;}
.nav-toggle{display:block;justify-self:end;}
.nav-cta{display:none;}
.nav-links{position:fixed;inset:6.4rem 1rem auto;display:none;flex-direction:column;align-items:stretch;border:1px solid var(--line);border-radius:1.4rem;padding:1rem;background:var(--paper);box-shadow:0 2rem 5rem rgba(19,15,52,0.18);}
.nav-links.open{display:flex;}
.nav-link{padding:0.9rem;}
.intro-layout,.section-head.horizontal,.cta-wrap{grid-template-columns:1fr;}
.project-grid{grid-template-columns:1fr;}
.project-card.tall{grid-row:auto;}
}
@media (max-width:760px){.container{width:min(100% - 1.5rem,42rem);}
.nav-fixed{padding:0.75rem;}
.brand span{display:none;}
.section-title{font-size:clamp(2.7rem,16vw,4.8rem);}
.project-card{min-height:25rem;border-radius:1.25rem;}
.stat-grid{grid-template-columns:1fr;}
.capability-item{grid-template-columns:1fr;gap:0.5rem;min-height:0;}
.cap-nr{font-size:2rem;}
}
/*=====================================================================
   TERRAMECH HERO SLIDER — CSS
   style.css mein paste karo — existing .hero{...}
block ke BAAD
   =====================================================================*/
/*── Wrapper ──*/
.tm-hero-slider{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;background:var(--field-2);}
/*── Background images ──*/
.tms-backgrounds{position:absolute;inset:0;z-index:0;}
.tms-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.1s cubic-bezier(0.625,0.05,0,1),transform 1.4s cubic-bezier(0.625,0.05,0,1);transform:scale(1.06);}
.tms-bg.active{opacity:1;transform:scale(1);}
/*── Dark overlay ──*/
.tms-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(
      180deg,rgba(13,24,48,0.55) 0%,rgba(13,24,48,0.72) 100%
    ),linear-gradient(
      90deg,rgba(13,24,48,0.65) 0%,transparent 55%
    );}
/*── Slides container ──*/
.tms-slides{position:relative;z-index:2;flex:1;display:flex;align-items:center;padding:9rem 0 8rem;}
/*── Individual slide ──*/
.tms-slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;pointer-events:none;}
.tms-slide.active{opacity:1;pointer-events:auto;}
/*── Content block ──*/
.tms-content{position:relative;width:100%;}
/*── Text wrap — yellow reveal bar ──*/
.tms-text-wrap{position:relative;max-width:52rem;overflow:hidden;}
.tms-text-wrap::before{content:"";position:absolute;inset:0;z-index:5;background:var(--ore);transform:translateX(-101%);transform-origin:left center;}
.tms-slide.is-entering .tms-text-wrap::before{animation:revealSweep 0.9s cubic-bezier(0.625,0.05,0,1) forwards;}
@keyframes revealSweep{0%{transform:translateX(-101%);}
45%{transform:translateX(0%);}
100%{transform:translateX(101%);}
}
/*── Eyebrow pill ──*/
.tms-eyebrow{margin-bottom:1.1rem;opacity:0;transform:translateY(1rem);transition:opacity 0.7s 0.55s var(--ease),transform 0.7s 0.55s var(--ease);}
.tms-slide.active .tms-eyebrow{opacity:1;transform:none;}
/*── Sub-line (small top text) ──*/
.tms-line-top{margin:0 0 0.2rem;color:var(--ore);font-family:"Gemunu Libre","Figtree",sans-serif;font-size:clamp(1.3rem,2.8vw,2rem);font-weight:600;letter-spacing:0.02em;opacity:0;transform:translateX(-2rem);transition:opacity 0.65s 0.62s var(--ease),transform 0.65s 0.62s var(--ease);}
.tms-slide.active .tms-line-top{opacity:1;transform:none;}
/*── Main headline ──*/
.tms-headline{margin:0 0 1.2rem;color:var(--white);font-family:"Figtree",sans-serif;font-size:clamp(3.8rem,10vw,9.5rem);font-weight:800;line-height:0.88;letter-spacing:-0.045em;opacity:0;transform:translateY(2.5rem);transition:opacity 0.75s 0.72s var(--ease),transform 0.75s 0.72s var(--ease);}
.tms-slide.active .tms-headline{opacity:1;transform:none;}
/*── Body copy ──*/
.tms-body{max-width:44rem;margin:0 0 2rem;color:rgba(255,255,255,0.72);font-size:clamp(1rem,1.4vw,1.12rem);font-weight:500;line-height:1.7;opacity:0;transform:translateY(1.5rem);transition:opacity 0.65s 0.82s var(--ease),transform 0.65s 0.82s var(--ease);}
.tms-slide.active .tms-body{opacity:1;transform:none;}
/*── CTA row ──*/
.tms-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;opacity:0;transform:translateY(1rem);transition:opacity 0.6s 0.92s var(--ease),transform 0.6s 0.92s var(--ease);}
.tms-slide.active .tms-actions{opacity:1;transform:none;}
/*── Chips (top-left / bottom-right labels) ──*/
.tms-media-chip{position:absolute;z-index:3;border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:.75rem 1rem;color:var(--white);background:rgba(26,42,94,.54);backdrop-filter:blur(12px);font-weight:800;font-size:.85rem;}
.tms-slide.active .tms-media-chip{opacity:1;}
.chip-tl{top:1.5rem;left:1.5rem;}
.chip-br{right:1.5rem;bottom:5rem;}
/*── Next arrow button ──*/
.tms-next{position:absolute;z-index:10;right:clamp(1.5rem,4vw,3rem);bottom:clamp(5rem,9vw,7rem);width:clamp(3.5rem,6vw,5.5rem);height:clamp(3.5rem,6vw,5.5rem);border:0;border-radius:50%;color:var(--white);background:rgba(26,42,94,0.55);backdrop-filter:blur(12px);cursor:pointer;transition:background 0.3s ease,transform 0.35s var(--ease),color 0.3s ease;display:flex;align-items:center;justify-content:center;}
.tms-next:hover{background:var(--ore);color:var(--field-2);transform:scale(1.08) rotate(12deg);}
.tms-next svg{width:60%;height:60%;}
/*── Dots ──*/
.tms-dots{position:absolute;z-index:10;left:clamp(1.5rem,4vw,3rem);bottom:clamp(5.5rem,9.5vw,7.5rem);display:flex;gap:0.65rem;align-items:center;}
.tms-dot{width:0.55rem;height:0.55rem;border:0;border-radius:50%;background:rgba(255,255,255,0.42);cursor:pointer;padding:0;transition:background 0.3s ease,transform 0.3s var(--ease),width 0.4s var(--ease);}
.tms-dot.active{width:2rem;border-radius:999px;background:var(--ore);transform:none;}
/*── Slide counter (top-right) ──*/
.tms-counter{position:absolute;z-index:10;top:9rem;right:clamp(1.5rem,4vw,3rem);color:rgba(255,255,255,0.55);font-family:"Gemunu Libre","Figtree",sans-serif;font-size:1rem;font-weight:700;letter-spacing:0.08em;}
/*── Marquee — pulled from existing styles,just re-position ──*/
.tm-hero-slider .hero-marquee{position:relative;z-index:5;}
/*── Responsive ──*/
@media (max-width:760px){.tms-slides{padding:8rem 0 7rem;}
.tms-headline{font-size:clamp(3rem,14vw,5rem);}
.chip-br{display:none;}
.tms-next{bottom:4.5rem;right:1rem;}
.tms-dots{left:1rem;bottom:5rem;}
}
/*=====================================================================
   WHY TERRAMECH — Horizontal Scroll
   =====================================================================*/
.why-scroll-section{position:relative;}
.why-scroll-inner{height:250vh;}
.why-scroll-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:clip;padding-bottom:1.5rem;background:var(--paper);}
.why-scroll-header{text-align:center;padding:1.25rem 1rem 1rem;flex-shrink:0;}
.why-scroll-header .eyebrow{margin:0 auto 0.5rem;}
.why-scroll-header .section-title{font-size:clamp(1.6rem,3vw,2.4rem);margin:0 auto;max-width:none;line-height:1.1;}
.why-scroll-track-wrap{flex:1;overflow:hidden;display:flex;align-items:center;padding:0.5rem 0 1rem;}
.why-scroll-track{display:flex;gap:1.5rem;width:max-content;padding:0 clamp(1.5rem,5vw,4rem);will-change:transform;transition:transform 0.05s linear;}
/*── Card — bigger ──*/
.why-card{flex:none;width:clamp(20rem,28vw,26rem);border-radius:var(--radius);overflow:hidden;background:var(--white);border:1px solid var(--line);box-shadow:0 0.5rem 2rem rgba(19,15,52,0.06);transition:box-shadow 0.45s var(--ease),transform 0.45s var(--ease);}
.why-card:hover{box-shadow:0 1.5rem 4rem rgba(19,15,52,0.14);transform:translateY(-0.3rem);}
.why-card img{width:100%;height:11rem;object-fit:cover;display:block;transition:transform 0.9s var(--ease);}
.why-card:hover img{transform:scale(1.05);}
.why-card-body{padding:1.2rem;}
.why-nr{color:var(--clay);font-family:"Gemunu Libre","Figtree",sans-serif;font-size:2.2rem;font-weight:700;line-height:1;display:block;margin-bottom:0.7rem;}
.why-card-body h3{margin:0 0 0.6rem;font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:800;line-height:1.1;color:var(--ink);}
.why-card-body p{margin:0;color:var(--muted);font-size:1rem;line-height:1.65;}
.why-card--cta{background:var(--field-2);border-color:transparent;}
.why-card--cta .why-nr,.why-card--cta .why-card-body h3{color:var(--white);}
.why-card--cta .why-card-body p{color:rgba(255,255,255,0.65);}
@media (max-width:760px){.why-scroll-inner{height:auto;}
.why-scroll-sticky{position:relative;height:auto;padding-bottom:3rem;}
.why-scroll-track-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;padding-bottom:1.5rem;}
.why-scroll-track-wrap::-webkit-scrollbar{display:none;}
.why-card{width:clamp(15rem,78vw,20rem);}
.why-card img{height:12rem;}
}
/*=====================================================================
   SERVICES FLOW SECTION
   =====================================================================*/
.services-flow-section{background:var(--paper);}
.sf-container{width:min(100% - 3rem,90rem);margin:0 auto;display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,5rem);align-items:start;}
/*── RIGHT CARDS ──*/
.sf-cards-wrap{min-width:0;}
.sf-cards{display:flex;flex-direction:column;}
/*── Single Card ──*/
.sf-card{display:grid;grid-template-columns:2.5rem 1fr;gap:1.5rem;padding-bottom:3rem;}
.sf-card:last-child{padding-bottom:0;}
/*── Timeline ──*/
.sf-timeline{display:flex;flex-direction:column;align-items:center;padding-top:0.35rem;}
.sf-dot{width:1.1rem;height:1.1rem;border-radius:50%;background:var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 0.3s ease;}
.sf-dot-inner{width:0.45rem;height:0.45rem;border-radius:50%;background:var(--muted);transition:background 0.3s ease,transform 0.3s ease;}
.sf-card.is-active .sf-dot{background:var(--ore);}
.sf-card.is-active .sf-dot-inner{background:var(--field);transform:scale(1.2);}
.sf-path{flex:1;width:1.5px;background:var(--line);margin-top:0.5rem;position:relative;overflow:hidden;min-height:3rem;}
.sf-path-fill{position:absolute;top:0;left:0;right:0;height:0%;background:var(--ore);transition:height 0.6s var(--ease);}
.sf-card.is-active .sf-path-fill,.sf-card.is-passed .sf-path-fill{height:100%;}
/*── Card Inner ──*/
.sf-card-inner{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;opacity:0.45;transform:translateY(0.5rem);transition:opacity 0.5s var(--ease),transform 0.5s var(--ease),box-shadow 0.45s var(--ease);}
.sf-card.is-active .sf-card-inner{opacity:1;transform:none;box-shadow:0 1rem 3rem rgba(19,15,52,0.1);}
.sf-card-img{overflow:hidden;min-height:16rem;}
.sf-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.9s var(--ease);}
.sf-card.is-active .sf-card-img img{transform:scale(1.03);}
.sf-card-body{padding:1.75rem 1.75rem 1.75rem 0;display:flex;flex-direction:column;justify-content:center;gap:0.6rem;}
.sf-nr{font-family:"Gemunu Libre","Figtree",sans-serif;font-size:3rem;font-weight:700;line-height:0.85;color:var(--sand);}
.sf-card.is-active .sf-nr{color:var(--ore);}
.sf-card-body h3{margin:0;font-size:clamp(1.1rem,1.8vw,1.5rem);font-weight:800;line-height:1.1;color:var(--ink);}
.sf-card-body p{margin:0;color:var(--muted);font-size:0.93rem;line-height:1.65;}
.sf-link{display:inline-flex;align-items:center;gap:0.4rem;margin-top:0.5rem;color:var(--field);font-size:0.82rem;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;text-decoration:none;transition:gap 0.3s var(--ease),color 0.25s ease;}
.sf-link svg{width:1rem;height:1rem;transition:transform 0.3s var(--ease);}
.sf-link:hover{color:var(--clay);gap:0.7rem;}
.sf-link:hover svg{transform:translateX(0.2rem);}
/*── Responsive ──*/
@media (max-width:1050px){.sf-container{grid-template-columns:1fr;}
.sf-aside{position:relative;top:0;}
.sf-nav{display:none;}
.sf-card-inner{grid-template-columns:1fr;opacity:1;transform:none;}
.sf-card-img{min-height:14rem;}
.sf-card-body{padding:1.5rem;}
}
@media (max-width:760px){.sf-card{grid-template-columns:1.8rem 1fr;gap:1rem;}
}
/*=====================================================================
   GLOBE / LOCATION SECTION
   =====================================================================*/
.globe-section{background:var(--paper);color:var(--ink);overflow:hidden;}
.globe-layout{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4rem);align-items:center;}
/*── Intro ──*/
.globe-intro .eyebrow{margin-bottom:1.25rem;color:var(--field);background:rgba(255,255,255,0.62);border-color:var(--line);}
.globe-intro .section-title{color:var(--ink);font-size:clamp(2.4rem,5vw,4.4rem);max-width:14ch;}
.globe-intro .section-title strong{color:var(--ore);}
.globe-lead{margin:1.5rem 0 0;max-width:32rem;color:var(--muted);font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.7;}
/*── Corporate Location ──*/
.globe-location{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem 1.5rem;margin-top:1rem;padding-top:1.75rem;border-top:1px solid var(--line);}
.globe-location h3{margin:0;color:var(--field);font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;}
.globe-location p{margin:0;color:var(--muted);font-size:0.95rem;line-height:1.6;}
.globe-location .text-link{color:var(--ink);}
.globe-location .text-link::after{background:var(--ore);}
/*── Map ──*/
.globe-map{position:relative;aspect-ratio:1 / 1;max-width:30rem;margin:0 auto;}
.globe-map-img{width:100%;height:100%;object-fit:contain;border-radius:50%;box-shadow:0 0 4rem rgba(240,180,41,0.1);}
/*── Responsive ──*/
@media (max-width:760px){.globe-layout{grid-template-columns:1fr;gap:2rem;}
.globe-intro .section-title{max-width:12ch;}
.globe-map{width:min(100%,28rem);}
.globe-location{grid-column:auto;align-items:flex-start;flex-direction:column;gap:0.65rem;margin-top:0;padding-top:1.5rem;}
}
.map-dot{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%);text-decoration:none;}
.map-dot-core{position:relative;z-index:2;width:0.85rem;height:0.85rem;border-radius:50%;background:var(--ore);box-shadow:0 0 0 4px rgba(240,180,41,0.25);}
.map-dot-ping{position:absolute;width:0.85rem;height:0.85rem;border-radius:50%;background:var(--ore);opacity:0.55;animation:mapPing 2.2s cubic-bezier(0,0,0.2,1) infinite;}
@keyframes mapPing{0%{transform:scale(1);opacity:0.55;}
75%{transform:scale(3.2);opacity:0;}
100%{transform:scale(3.2);opacity:0;}
}
.map-tag{position:absolute;top:calc(100% + 0.6rem);white-space:nowrap;border:1px solid var(--light-line);border-radius:999px;padding:0.4rem 0.85rem;color:var(--white);background:var(--field);backdrop-filter:blur(10px);font-size:0.78rem;font-weight:800;text-transform:uppercase;letter-spacing:0.04em;transition:transform 0.3s var(--ease),background 0.3s ease;}
.map-dot:hover .map-tag{transform:translateY(-0.2rem);background:var(--clay);}
@media (max-width:1050px){.globe-layout{grid-template-columns:1fr;text-align:center;}
.globe-intro .section-title,.globe-lead{margin-left:auto;margin-right:auto;}
.globe-map{order:-1;max-width:22rem;}
.globe-location{justify-content:center;text-align:left;}
}
/*=====================================================================
   ADDITIONAL SERVICES SECTION
   =====================================================================*/
.addserv-section{background:var(--paper);}
.addserv-section .section-head{margin-bottom:clamp(2.5rem,5vw,4rem);}
.addserv-head{display:flex;flex-direction:column;align-items:center;text-align:center;}
.addserv-head .eyebrow{margin:0 auto .75rem;}
.addserv-head .section-title{margin:0 auto;}
.addserv-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;padding:clamp(2.5rem,6vw,5rem) 0;border-bottom:1px solid var(--line);}
.addserv-row:last-child{border-bottom:0;}
.addserv-row.reverse{direction:rtl;}
.addserv-row.reverse .addserv-body{direction:ltr;}
.addserv-row.reverse .addserv-media{direction:ltr;}
/*── Media ──*/
.addserv-media{position:relative;aspect-ratio:4 / 3.4;overflow:hidden;border-radius:var(--radius);background:var(--field);box-shadow:0 1.5rem 4rem rgba(13,27,62,0.12);}
.addserv-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
.addserv-row:hover .addserv-media img{transform:scale(1.06);}
.addserv-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(13,24,48,0.55) 100%);opacity:0;transition:opacity 0.5s var(--ease);}
.addserv-row:hover .addserv-media::after{opacity:1;}
.addserv-tag{position:absolute;left:1.25rem;bottom:1.25rem;z-index:2;border:1px solid var(--light-line);border-radius:999px;padding:0.55rem 1rem;color:var(--white);background:rgba(26,42,94,0.55);backdrop-filter:blur(12px);font-size:0.78rem;font-weight:800;text-transform:uppercase;letter-spacing:0.04em;transform:translateY(0.6rem);opacity:0;transition:transform 0.5s var(--ease),opacity 0.5s var(--ease),background 0.3s ease;}
.addserv-row:hover .addserv-tag{transform:translateY(0);opacity:1;background:var(--clay);}
/*── Body ──*/
.addserv-body h3{margin:0 0 1rem;font-size:clamp(1.9rem,3.6vw,3.1rem);font-weight:800;line-height:1.05;letter-spacing:-0.02em;color:var(--ink);}
.addserv-body p{margin:0 0 1rem;color:var(--muted);font-size:clamp(0.96rem,1.2vw,1.05rem);line-height:1.7;}
.addserv-body p strong{color:var(--ink);}
.addserv-body .btn-animate{margin-top:1.5rem;}
/*── Feature pills ──*/
.addserv-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem;margin-top:1.5rem;}
.addserv-feat{display:flex;align-items:center;gap:0.75rem;border:1px solid var(--line);border-radius:999px;padding:0.7rem 1rem;background:var(--white);font-size:0.86rem;font-weight:700;color:var(--ink);transition:border-color 0.3s ease,transform 0.35s var(--ease),background 0.3s ease;}
.addserv-feat svg{width:1.2rem;height:1.2rem;flex-shrink:0;color:var(--clay);transition:color 0.3s ease,transform 0.4s var(--ease);}
.addserv-feat:hover{border-color:var(--ore);background:var(--sand);transform:translateY(-0.15rem);}
.addserv-feat:hover svg{color:var(--field);transform:scale(1.12) rotate(-6deg);}
/*── Responsive ──*/
@media (max-width:1050px){.addserv-row,.addserv-row.reverse{grid-template-columns:1fr;direction:ltr;}
.addserv-row.reverse{display:flex;flex-direction:column-reverse;}
.addserv-media{aspect-ratio:16 / 10;}
}
@media (max-width:760px){.addserv-features{grid-template-columns:1fr 1fr;gap:0.6rem;}
.addserv-feat{font-size:0.78rem;padding:0.6rem 0.8rem;}
.addserv-feat span{white-space:nowrap;}
}
/*═══════════════════════════════════════════
   CERTIFICATIONS SECTION
═══════════════════════════════════════════*/
.cert-section{background:var(--field-2);color:var(--white);}
.cert-head{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:clamp(2.5rem,5vw,4rem);}
.cert-head .eyebrow{margin:0 auto 0.75rem;}
.cert-head .section-title{margin:0 auto;max-width:16ch;font-size:clamp(2.2rem,5vw,4.2rem);}
.cert-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;}
.cert-featured{max-width:900px;margin:0 auto 2rem;border-radius:var(--radius);overflow:hidden;border:1px solid var(--light-line);}
.cert-image-item{border-radius:var(--radius);overflow:hidden;border:1px solid var(--light-line);cursor:pointer;transition:all .35s ease;}
.cert-image-item:hover,.cert-featured:hover{transform:translateY(-4px);}
.cert-preview-img{display:block;width:100%;height:auto;cursor:pointer;}
@media (max-width:1050px){.cert-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){.cert-grid{grid-template-columns:1fr;}
}
.cert-lightbox{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.28s ease,visibility 0.28s ease;}
.cert-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto;}
.cert-lightbox-bg{position:absolute;inset:0;background:rgba(7,13,31,0.88);backdrop-filter:blur(10px);cursor:pointer;}
.cert-lightbox-dialog{position:relative;z-index:2;max-width:min(820px,94vw);max-height:90vh;border-radius:1.25rem;overflow:hidden;background:var(--field-2);border:1px solid var(--light-line);box-shadow:0 3rem 7rem rgba(0,0,0,0.6);transform:scale(0.94);transition:transform 0.3s var(--ease);}
.cert-lightbox.is-open .cert-lightbox-dialog{transform:scale(1);}
.cert-lightbox-dialog img{display:block;width:100%;max-height:88vh;object-fit:contain;}
.cert-lightbox-close{position:absolute;top:1rem;right:1rem;z-index:3;width:2.6rem;height:2.6rem;border:1px solid var(--light-line);border-radius:50%;background:rgba(255,255,255,0.1);color:var(--white);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.25s ease;}
.cert-lightbox-close:hover{background:var(--ore);color:var(--field-2);}
/*=====================================================================
   ABOUT PAGE — page-specific styles
   Load AFTER css/style.css (about.html already does this).
   Uses the same design tokens defined in style.css:root —
   --ink,--field,--field-2,--leaf,--clay,--ore,--sand,--paper,--white,--muted,--line,--light-line,--radius,--ease
   =====================================================================*/
/*=====================================================================
   ABOUT HERO
   =====================================================================*/
.about-hero{position:relative;display:flex;align-items:center;min-height:100svh;padding:9rem 0 6rem;overflow:hidden;background:var(--field-2);}
.about-hero-bg{position:absolute;inset:0;z-index:0;}
.about-hero-bg img{width:100%;height:100%;object-fit:cover;}
.about-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(13,24,48,0.55) 0%,rgba(13,24,48,0.85) 100%),linear-gradient(90deg,rgba(13,24,48,0.65) 0%,transparent 60%);}
.about-hero-content{position:relative;z-index:2;}
.about-eyebrow{margin-bottom:1.5rem;border-color:var(--light-line);color:var(--sand);background:rgba(255,255,255,0.08);}
.about-hero-title{margin:0 0 1.5rem;max-width:16ch;color:var(--white);font-family:"Figtree",sans-serif;font-size:clamp(3rem,7vw,6rem);font-weight:800;line-height:0.95;letter-spacing:-0.03em;}
.about-hero-title span{color:var(--ore);}
.about-hero-lead{max-width:38rem;margin:0 0 2rem;color:rgba(255,255,255,0.72);font-size:clamp(1rem,1.3vw,1.15rem);font-weight:500;line-height:1.7;}
.about-hero-chips{display:flex;flex-wrap:wrap;gap:0.75rem;}
.about-hero-chips span{border:1px solid var(--light-line);border-radius:999px;padding:0.65rem 1.1rem;color:var(--white);background:rgba(26,42,94,0.45);backdrop-filter:blur(10px);font-size:0.82rem;font-weight:700;}
.about-hero-scroll{position:absolute;z-index:2;left:50%;bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:0.6rem;transform:translateX(-50%);color:rgba(255,255,255,0.6);font-size:0.76rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;}
.about-scroll-line{width:1px;height:2.5rem;background:linear-gradient(180deg,var(--ore),transparent);}
@media (max-width:760px){.about-hero{padding:8rem 0 5rem;}
.about-hero-title{font-size:clamp(2.6rem,13vw,4rem);}
.about-hero-scroll{display:none;}
}
/*=====================================================================
   MISSION / INTRO
   =====================================================================*/
.mission-grid{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,5rem);align-items:start;}
.mission-copy .eyebrow{margin-bottom:1rem;}
.mission-body p{margin:0 0 1.25rem;color:var(--muted);font-size:clamp(1rem,1.3vw,1.1rem);font-weight:500;line-height:1.75;}
.mission-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.5rem;}
.mission-stat{display:flex;flex-direction:column;gap:0.4rem;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.4rem;background:var(--white);}
.mission-stat strong{font-family:"Gemunu Libre","Figtree",sans-serif;font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:700;line-height:1;color:var(--field);}
.mission-stat span{color:var(--muted);font-size:0.82rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;}
@media (max-width:1050px){.mission-grid{grid-template-columns:1fr;}
}
@media (max-width:760px){.mission-stats{grid-template-columns:1fr;}
}
/*=====================================================================
   VALUES
   =====================================================================*/
.about-val-head{display:flex;flex-direction:column;align-items:center;max-width:700px;margin:0 auto clamp(2.5rem,5vw,4rem);text-align:center;}
.about-val-head .eyebrow{margin:0 auto 0.75rem;}
.about-val-head .section-title{margin:0 auto;}
.values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;}
.value-card{position:relative;border:1px solid var(--light-line);border-radius:var(--radius);padding:2rem 1.75rem;background:rgba(255,255,255,0.04);transition:background 0.35s var(--ease),border-color 0.35s ease,transform 0.35s var(--ease);}
.value-card:hover{border-color:var(--ore);background:rgba(255,255,255,0.07);transform:translateY(-0.3rem);}
.value-icon{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;margin-bottom:1.5rem;border-radius:999px;color:var(--ore);background:rgba(240,180,41,0.12);}
.value-icon svg{width:1.5rem;height:1.5rem;}
.value-nr{display:block;margin-bottom:0.75rem;color:var(--sand);font-family:"Gemunu Libre","Figtree",sans-serif;font-size:1.6rem;font-weight:700;opacity:0.55;}
.value-card h3{margin:0 0 0.65rem;font-size:1.3rem;font-weight:800;color:var(--white);}
.value-card p{margin:0;color:rgba(255,255,255,0.66);font-size:0.95rem;line-height:1.65;}
@media (max-width:1050px){.values-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){.values-grid{grid-template-columns:1fr;}
}
/*=====================================================================
   CAPABILITIES OVERVIEW
   =====================================================================*/
.about-caps-head{display:flex;flex-direction:column;align-items:center;max-width:720px;margin:0 auto clamp(3rem,6vw,5rem);text-align:center;}
.about-caps-head .eyebrow{margin:0 auto 0.75rem;}
.about-caps-head .section-title{margin:0 auto;}
.caps-row-grid{display:flex;flex-direction:column;gap:clamp(3rem,6vw,5rem);}
.caps-row-item{display:grid;grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,4rem);align-items:center;}
.caps-row-item.reverse{direction:rtl;}
.caps-row-item.reverse .caps-row-media,.caps-row-item.reverse .caps-row-body{direction:ltr;}
.caps-row-media{position:relative;aspect-ratio:4 / 3.2;overflow:hidden;border-radius:var(--radius);background:var(--field);box-shadow:0 1.5rem 4rem rgba(13,27,62,0.12);}
.caps-row-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
.caps-row-item:hover .caps-row-media img{transform:scale(1.06);}
.caps-nr{display:block;margin-bottom:0.75rem;color:var(--clay);font-family:"Gemunu Libre","Figtree",sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1;}
.caps-row-body h3{margin:0 0 0.9rem;font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:800;line-height:1.05;color:var(--ink);}
.caps-row-body p{margin:0 0 1.1rem;color:var(--muted);font-size:clamp(0.96rem,1.2vw,1.05rem);line-height:1.7;}
@media (max-width:1050px){.caps-row-item,.caps-row-item.reverse{grid-template-columns:1fr;direction:ltr;}
.caps-row-item.reverse{display:flex;flex-direction:column-reverse;}
.caps-row-media{aspect-ratio:16 / 10;}
}
/*=====================================================================
   TEAM
   =====================================================================*/
.team-head{display:flex;flex-direction:column;align-items:center;max-width:760px;margin:0 auto;text-align:center;}
.team-head .eyebrow{margin:0 auto 0.75rem;}
.team-head .section-title{margin:0 auto;}
.team-sub{max-width:42rem;margin:1.25rem auto 0;color:rgba(255,255,255,0.68);font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.7;}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:clamp(3rem,6vw,4.5rem);}
.team-card{display:flex;align-items:flex-start;gap:1.25rem;border:1px solid var(--light-line);border-radius:var(--radius);padding:1.75rem;background:rgba(255,255,255,0.04);transition:background 0.35s var(--ease),border-color 0.35s ease,transform 0.35s var(--ease);}
.team-card:hover{border-color:var(--ore);background:rgba(255,255,255,0.07);transform:translateY(-0.25rem);}
.team-avatar{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:999px;color:var(--ore);background:rgba(240,180,41,0.12);}
.team-avatar svg{width:1.4rem;height:1.4rem;}
.team-info h3{margin:0 0 0.3rem;font-size:1.15rem;font-weight:800;color:var(--white);}
.team-role{display:block;margin-bottom:0.6rem;color:var(--ore);font-size:0.76rem;font-weight:800;text-transform:uppercase;letter-spacing:0.05em;}
.team-info p{margin:0;color:rgba(255,255,255,0.64);font-size:0.92rem;line-height:1.6;}

.team-linkedin {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  margin-top: 0.9rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--field);
  background: var(--white);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  transition:
    color 0.3s ease,
    background 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s var(--ease);
}

.team-linkedin svg {
  width: 1.05rem;
  height: 1.05rem;
  flex-shrink: 0;
}

.team-linkedin:hover {
  color: var(--white);
  background: #0a66c2;
  border-color: #0a66c2;
  transform: translateY(-2px);
}
@media (max-width:1050px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){.team-grid{grid-template-columns:1fr;}
}
/*=====================================================================
   CERTIFICATIONS (About page variant — light background)
   =====================================================================*/
.about-certs-head{display:flex;flex-direction:column;align-items:center;max-width:760px;margin:0 auto;text-align:center;}
.about-certs-head .eyebrow{margin:0 auto 0.75rem;}
.about-certs-head .section-title{margin:0 auto;}
.about-certs-sub{max-width:42rem;margin:1.25rem auto 0;color:var(--muted);font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.7;}
.about-cert-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin:clamp(3rem,6vw,4.5rem) 0;}
.about-cert-card{border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem 1.5rem;background:var(--white);transition:transform 0.35s var(--ease),box-shadow 0.35s var(--ease);}
.about-cert-card:hover{box-shadow:0 1rem 3rem rgba(19,15,52,0.1);transform:translateY(-0.3rem);}
.acert-iso{display:inline-block;margin-bottom:0.5rem;color:var(--clay);font-family:"Gemunu Libre","Figtree",sans-serif;font-size:0.85rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;}
.acert-std{margin-bottom:0.9rem;font-family:"Gemunu Libre","Figtree",sans-serif;font-size:1.7rem;font-weight:700;color:var(--ink);}
.about-cert-card h3{margin:0 0 0.5rem;font-size:1.05rem;font-weight:800;color:var(--ink);}
.about-cert-card p{margin:0;color:var(--muted);font-size:0.9rem;line-height:1.6;}
.about-cert-grid{margin-top:clamp(2rem,4vw,3rem);}
.about-cert-grid .cert-image-item{border-color:var(--line);}
@media (max-width:1050px){.about-cert-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){.about-cert-cards{grid-template-columns:1fr;}
}
/*=====================================================================
   REDUCED MOTION
   =====================================================================*/
@media (prefers-reduced-motion:reduce){.value-card,.team-card,.about-cert-card,.caps-row-media img{transition:none !important;}
}
/*=====================================================================
   SERVICES PAGE — page-specific styles
   Load AFTER css/style.css (services.html already does this).
   Everything below covers classes that ONLY appear on this page.
   The detail rows,process timeline and CTA all reuse .addserv-*,.sf-*,.section-head/.eyebrow/.section-title and .cta-* straight
   from style.css — no need to redefine those here.
   =====================================================================*/
/*=====================================================================
   SERVICES HERO
   =====================================================================*/
/*=====================================================================
   SERVICES HERO — FINAL RESPONSIVE VERSION
   This is the actual primary Services Hero CSS, not an override.
   =====================================================================*/

.services-hero{
  position:relative;
  display:flex;
  align-items:center;
  flex:0 0 100%;
  align-self:stretch;

  width:100%;
  max-width:100%;
  min-width:0;

  min-height:100svh;
  padding:9rem 0 6rem;
  margin:0;

  overflow:hidden;
  background:var(--field-2);
}

.services-hero-bg{
  position:absolute;
  inset:0;
  z-index:0;

  width:100%;
  height:100%;
  max-width:none;
  min-width:0;
}

.services-hero-bg img{
  display:block;
  width:100%;
  max-width:none;
  height:100%;
  object-fit:cover;
}

.services-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;

  width:100%;
  height:100%;
  max-width:none;

  background:
    linear-gradient(
      180deg,
      rgba(13,24,48,0.55) 0%,
      rgba(13,24,48,0.85) 100%
    ),
    linear-gradient(
      90deg,
      rgba(13,24,48,0.65) 0%,
      transparent 60%
    );
}

.services-hero-content{
  position:relative;
  z-index:2;

  width:min(100% - 3rem,82rem);
  max-width:82rem;
  min-width:0;
  margin-left:auto;
  margin-right:auto;
}

.services-eyebrow{
  margin-bottom:1.5rem;
  border-color:var(--light-line);
  color:var(--sand);
  background:rgba(255,255,255,0.08);
}

.services-hero-title{
  margin:0 0 1.5rem;
  max-width:16ch;
  color:var(--white);
  font-family:"Figtree",sans-serif;
  font-size:clamp(3rem,7vw,6rem);
  font-weight:800;
  line-height:0.95;
  letter-spacing:-0.03em;
}

.services-hero-title span{
  color:var(--ore);
}

.services-hero-lead{
  max-width:38rem;
  margin:0 0 2rem;
  color:rgba(255,255,255,0.72);
  font-size:clamp(1rem,1.3vw,1.15rem);
  font-weight:500;
  line-height:1.7;
}

.services-hero-chips{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
}

.services-hero-chips span{
  border:1px solid var(--light-line);
  border-radius:999px;
  padding:0.65rem 1.1rem;
  color:var(--white);
  background:rgba(26,42,94,0.45);
  backdrop-filter:blur(10px);
  font-size:0.82rem;
  font-weight:700;
}

.services-hero-scroll{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:2rem;

  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0.6rem;

  transform:translateX(-50%);
  color:rgba(255,255,255,0.6);
  font-size:0.76rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
}

.services-scroll-line{
  width:1px;
  height:2.5rem;
  background:linear-gradient(180deg,var(--ore),transparent);
}

@media (max-width:760px){

  .services-hero{
    width:100%;
    max-width:100%;
    min-width:0;
    margin-left:0;
    margin-right:0;
    min-height:100svh;
    padding:7.5rem 0 4.5rem;
    box-sizing:border-box;
  }

  .services-hero-bg{
    width:100%;
    max-width:none;
    min-width:0;
    left:0;
    right:0;
  }

  .services-hero-bg img{
    width:100%;
    max-width:none;
    min-width:0;
    height:100%;
    object-fit:cover;
  }

  .services-hero-overlay{
    width:100%;
    max-width:none;
    min-width:0;
    left:0;
    right:0;
  }

  .services-hero-content{
    width:calc(100% - 1.5rem);
    max-width:42rem;
    min-width:0;
    margin-left:auto;
    margin-right:auto;
  }

  .services-hero-title{
    max-width:100%;
    font-size:clamp(2.55rem,12.5vw,3.8rem);
    line-height:0.94;
  }

  .services-hero-lead{
    width:100%;
    max-width:100%;
    font-size:1rem;
    line-height:1.65;
  }

  .services-hero-chips{
    width:100%;
    max-width:100%;
    display:flex;
    flex-direction:column;
    gap:0.5rem;
  }

  .services-hero-chips span{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    padding:0.65rem 0.8rem;
    font-size:0.72rem;
  }

  .services-hero-scroll{
    display:none;
  }
}

@media (max-width:480px){

  .services-hero{
    width:100%;
    max-width:100%;
    min-width:0;
    margin-left:0;
    margin-right:0;
    padding-top:7rem;
    padding-bottom:4rem;
  }

  .services-hero-content{
    width:calc(100% - 1rem);
    max-width:42rem;
  }

  .services-hero-title{
    font-size:clamp(2.4rem,12.5vw,3.5rem);
  }

  .services-hero-lead{
    font-size:0.98rem;
  }

  .services-hero-chips{
    align-items:stretch;
    flex-direction:column;
  }

  .services-hero-chips span{
    width:100%;
  }
}
/*=====================================================================
   OVERVIEW GRID
   =====================================================================*/
.services-overview-head{display:flex;flex-direction:column;align-items:center;max-width:720px;margin:0 auto clamp(3rem,6vw,4.5rem);text-align:center;}
.services-overview-head .eyebrow{margin:0 auto 0.75rem;}
.services-overview-head .section-title{margin:0 auto;}
.services-overview-head .head-copy{max-width:640px;margin:1.1rem auto 0;}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;}
.service-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.75rem;background:var(--white);transition:border-color 0.35s ease,box-shadow 0.35s var(--ease),transform 0.35s var(--ease);}
.service-card:hover{border-color:var(--ore);box-shadow:0 1.5rem 4rem rgba(19,15,52,0.1);transform:translateY(-0.3rem);}
.service-icon{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;margin-bottom:1.5rem;border-radius:999px;color:var(--clay);background:rgba(240,180,41,0.12);}
.service-icon svg{width:1.5rem;height:1.5rem;}
.service-card h3{margin:0 0 0.6rem;font-size:1.25rem;font-weight:800;line-height:1.15;color:var(--ink);}
.service-card p{margin:0 0 1.25rem;color:var(--muted);font-size:0.95rem;line-height:1.6;}
.service-card .sf-link{margin-top:auto;}
.service-card:hover .sf-link{color:var(--clay);gap:0.7rem;}
.service-card:hover .sf-link svg{transform:translateX(0.2rem);}
@media (max-width:1050px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){.services-grid{grid-template-columns:1fr;}
}
/*=====================================================================
   REDUCED MOTION
   =====================================================================*/
@media (prefers-reduced-motion:reduce){.service-card{transition:none !important;}
}
/*=====================================================================
   CONTACT PAGE — page-specific styles
   Load AFTER css/style.css (contact.html already does this).
   Reuses .eyebrow / .section-title / .text-link / .reveal / .split-text
   straight from style.css — only the hero and the info+map layout
   below are new to this page.
   =====================================================================*/
/*=====================================================================
   CONTACT HERO
   =====================================================================*/
.contact-hero{position:relative;display:flex;align-items:center;min-height:100svh;padding:9rem 0 6rem;overflow:hidden;background:var(--field-2);}
.contact-hero-bg{position:absolute;inset:0;z-index:0;}
.contact-hero-bg img{width:100%;height:100%;object-fit:cover;}
.contact-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(13,24,48,0.55) 0%,rgba(13,24,48,0.85) 100%),linear-gradient(90deg,rgba(13,24,48,0.65) 0%,transparent 60%);}
.contact-hero-content{position:relative;z-index:2;}
.contact-eyebrow{margin-bottom:1.5rem;border-color:var(--light-line);color:var(--sand);background:rgba(255,255,255,0.08);}
.contact-hero-title{margin:0 0 1.5rem;max-width:16ch;color:var(--white);font-family:"Figtree",sans-serif;font-size:clamp(3rem,7vw,6rem);font-weight:800;line-height:0.95;letter-spacing:-0.03em;}
.contact-hero-title span{color:var(--ore);}
.contact-hero-lead{max-width:38rem;margin:0 0 2rem;color:rgba(255,255,255,0.72);font-size:clamp(1rem,1.3vw,1.15rem);font-weight:500;line-height:1.7;}
.contact-hero-chips{display:flex;flex-wrap:wrap;gap:0.75rem;}
.contact-hero-chips span{border:1px solid var(--light-line);border-radius:999px;padding:0.65rem 1.1rem;color:var(--white);background:rgba(26,42,94,0.45);backdrop-filter:blur(10px);font-size:0.82rem;font-weight:700;}
.contact-hero-scroll{position:absolute;z-index:2;left:50%;bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:0.6rem;transform:translateX(-50%);color:rgba(255,255,255,0.6);font-size:0.76rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;}
.contact-scroll-line{width:1px;height:2.5rem;background:linear-gradient(180deg,var(--ore),transparent);}
@media (max-width:760px){.contact-hero{padding:8rem 0 5rem;}
.contact-hero-title{font-size:clamp(2.6rem,13vw,4rem);}
.contact-hero-scroll{display:none;}
}
/*=====================================================================
   CONTACT PAGE — LAYOUT
   =====================================================================*/
.contact-head{display:flex;flex-direction:column;align-items:center;max-width:700px;margin:0 auto clamp(2.5rem,5vw,4rem);text-align:center;}
.contact-head .eyebrow{margin:0 auto 0.75rem;}
.contact-head .section-title{margin:0 auto;}
.contact-top-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,2.5rem);align-items:start;margin-bottom:clamp(2rem,4vw,3rem);}
/*── Info cards ──*/
.contact-info-col{display:flex;flex-direction:column;gap:1rem;}
.contact-detail-card{display:flex;align-items:flex-start;gap:1.1rem;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.5rem;background:var(--white);transition:border-color 0.3s ease,transform 0.3s var(--ease),box-shadow 0.3s var(--ease);}
.contact-detail-card:hover{border-color:var(--ore);box-shadow:0 1rem 3rem rgba(19,15,52,0.08);transform:translateY(-0.2rem);}
.contact-detail-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;color:var(--clay);background:rgba(240,180,41,0.12);}
.contact-detail-icon svg{width:1.25rem;height:1.25rem;}
.contact-detail-body{display:flex;flex-direction:column;gap:0.3rem;}
.contact-detail-label{color:var(--clay);font-size:0.72rem;font-weight:800;text-transform:uppercase;letter-spacing:0.05em;}
.contact-detail-value{margin:0;color:var(--ink);font-size:0.95rem;font-weight:700;line-height:1.5;}
.contact-detail-card .text-link{margin-top:0.25rem;display:inline-flex;font-size:0.85rem;}
/*── Form side ──*/
.contact-form-side{position:sticky;top:7rem;}
.cfs-inner{border-radius:var(--radius);padding:clamp(1.5rem,3vw,2rem);background:var(--field-2);color:var(--white);}
.cfs-eyebrow{display:inline-flex;border:1px solid var(--light-line);border-radius:999px;padding:0.4rem 0.85rem;color:var(--sand);background:rgba(255,255,255,0.07);font-size:0.72rem;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;margin:0 0 0.75rem;}
.cfs-title{margin:0 0 0.3rem;font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:800;line-height:1.1;letter-spacing:-0.02em;color:var(--white);}
.cfs-sub{margin:0 0 1.25rem;color:rgba(255,255,255,0.55);font-size:0.88rem;}
/*── Form fields inside dark card ──*/
.enq-form{display:flex;flex-direction:column;gap:0.85rem;}
.enq-row{display:grid;grid-template-columns:1fr 1fr;gap:0.85rem;}
.enq-field{display:flex;flex-direction:column;gap:0.35rem;}
.enq-field label{font-size:0.72rem;font-weight:800;color:rgba(255,255,255,0.7);text-transform:uppercase;letter-spacing:0.04em;}
.enq-req{color:var(--ore);}
.enq-field input,.enq-field select,.enq-field textarea{border:1.5px solid rgba(255,255,255,0.15);border-radius:0.65rem;padding:0.7rem 0.9rem;font-size:0.9rem;font-weight:500;color:var(--white);background:rgba(255,255,255,0.08);outline:none;width:100%;transition:border-color 0.25s ease,box-shadow 0.25s ease,background 0.25s ease;appearance:none;-webkit-appearance:none;}
.enq-field input::placeholder,.enq-field textarea::placeholder{color:rgba(255,255,255,0.35);}
.enq-field select option{background:var(--field-2);color:var(--white);}
.enq-field input:focus,.enq-field select:focus,.enq-field textarea:focus{border-color:var(--ore);background:rgba(255,255,255,0.12);box-shadow:0 0 0 3px rgba(240,180,41,0.18);}
.enq-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='rgba(255,255,255,0.5)' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.85rem center;background-size:1rem;padding-right:2.25rem;cursor:pointer;}
.enq-field textarea{resize:vertical;min-height:5.5rem;}
.enq-submit{align-self:flex-start;margin-top:0.25rem;}
/*── Success / Failed states ──*/
.cfs-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1rem;gap:0.65rem;}
.cfs-state-icon{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;margin-bottom:0.25rem;}
.cfs-state-icon--ok{background:rgba(26,180,80,0.15);color:#1ab450;}
.cfs-state-icon--err{background:rgba(220,50,50,0.15);color:#dc3232;}
.cfs-state-icon svg{width:1.75rem;height:1.75rem;}
.cfs-state h3{margin:0;font-size:1.25rem;font-weight:800;color:var(--white);}
.cfs-state p{margin:0;color:rgba(255,255,255,0.6);font-size:0.9rem;line-height:1.6;}
.cfs-state p a{color:var(--ore);font-weight:700;}
.cfs-retry{margin-top:0.5rem;}
/*── Full width map ──*/
.contact-map-full{position:relative;width:100%;height:clamp(280px,42vh,500px);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:0 1.5rem 4rem rgba(13,27,62,0.12);}
.contact-map-full iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.map-overlay-tag{position:absolute;bottom:1.25rem;left:1.25rem;z-index:2;display:inline-flex;align-items:center;gap:0.5rem;border:1px solid var(--light-line);border-radius:999px;padding:0.5rem 0.9rem;color:var(--white);background:rgba(13,24,48,0.82);backdrop-filter:blur(10px);font-size:0.76rem;font-weight:800;text-transform:uppercase;letter-spacing:0.04em;pointer-events:none;}
/*── Responsive ──*/
@media (max-width:860px){.contact-top-grid{grid-template-columns:1fr;}
.contact-form-side{position:relative;top:0;}
}
@media (max-width:560px){.enq-row{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){.contact-detail-card{transition:none !important;}
}
@media (max-width:1050px){.contact-grid{grid-template-columns:1fr;}
.contact-map-wrap{min-height:320px;}
}
/*=====================================================================
   REDUCED MOTION
   =====================================================================*/
@media (prefers-reduced-motion:reduce){.contact-detail-card{transition:none !important;}
}
/*=====================================================================
   GEOTOOLS PRODUCTS PAGE — products.css
   style.css ke BAAD load karo. Same design tokens use karta hai.
   =====================================================================*/
/*── HERO ──*/
.gt-hero{position:relative;min-height:80svh;display:flex;flex-direction:column;overflow:hidden;background:var(--field-2);}
.gt-hero-bg{position:absolute;inset:0;z-index:0;background-image:url("assets/img/GeoTools Solutions.png");background-size:cover;background-position:center;opacity:0.22;transform:scale(1.04);animation:heroZoom 12s ease-in-out infinite alternate;}
@keyframes heroZoom{from{transform:scale(1.04);}
to{transform:scale(1.12);}
}
.gt-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(13,24,48,0.6) 0%,rgba(13,24,48,0.88) 100%),linear-gradient(90deg,rgba(13,24,48,0.7) 0%,transparent 60%);}
.gt-hero-content{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:9rem;padding-bottom:4rem;}
.gt-eyebrow{margin-bottom:1.25rem;border-color:var(--light-line);color:var(--sand);background:rgba(255,255,255,0.08);}
.gt-title{margin:0 0 1.25rem;max-width:18ch;color:var(--white);font-family:"Figtree",sans-serif;font-size:clamp(3.2rem,8vw,7rem);font-weight:800;line-height:0.9;letter-spacing:-0.04em;}
.gt-title span{color:var(--ore);}
.gt-lead{max-width:36rem;margin:0 0 2rem;color:rgba(255,255,255,0.7);font-size:clamp(1rem,1.4vw,1.12rem);font-weight:500;line-height:1.7;}
.gt-hero-chips{display:flex;flex-wrap:wrap;gap:0.6rem;}
.gt-hero-chips span{border:1px solid var(--light-line);border-radius:999px;padding:0.55rem 1rem;color:rgba(255,255,255,0.85);background:rgba(26,42,94,0.45);backdrop-filter:blur(10px);font-size:0.78rem;font-weight:700;transition:background 0.3s ease,border-color 0.3s ease;}
.gt-hero-chips span:hover{background:rgba(240,180,41,0.18);border-color:var(--ore);}
/*── Ticker ──*/
.gt-hero-ticker{position:relative;z-index:3;overflow:hidden;border-top:1px solid var(--light-line);background:rgba(26,42,94,0.35);backdrop-filter:blur(8px);}
.gt-ticker-track{display:flex;width:max-content;animation:tickerScroll 28s linear infinite;}
.gt-ticker-track span{display:inline-flex;align-items:center;gap:0.75rem;padding:0.9rem 2rem;color:rgba(255,255,255,0.7);font-family:"Gemunu Libre","Figtree",sans-serif;font-size:clamp(0.95rem,1.6vw,1.3rem);font-weight:700;text-transform:uppercase;white-space:nowrap;letter-spacing:0.04em;}
.gt-ticker-track span::before{content:"";width:0.4rem;height:0.4rem;border-radius:50%;background:var(--ore);flex-shrink:0;}
@keyframes tickerScroll{from{transform:translateX(0);}
to{transform:translateX(-50%);}
}
/*── FILTER BAR ──*/
.gt-filter-bar{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:clamp(2.5rem,5vw,4rem);}
.gt-filter-btn{border:1px solid var(--line);border-radius:999px;padding:0.6rem 1.1rem;background:var(--white);color:var(--muted);font-size:0.82rem;font-weight:700;cursor:pointer;transition:background 0.28s var(--ease),color 0.28s ease,border-color 0.28s ease,transform 0.25s var(--ease);}
.gt-filter-btn:hover{border-color:var(--ore);color:var(--ink);transform:translateY(-1px);}
.gt-filter-btn.active{background:var(--field);border-color:var(--field);color:var(--white);}
/*── PRODUCT GRID ──*/
.gt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;}
/*── Single Product Card ──*/
.gt-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden;transition:box-shadow 0.4s var(--ease),transform 0.4s var(--ease),border-color 0.3s ease;cursor:default;}
.gt-card:hover{box-shadow:0 1.2rem 3.5rem rgba(13,27,62,0.13);transform:translateY(-0.35rem);border-color:rgba(240,180,41,0.4);}
.gt-card.is-hidden{display:none;}
.gt-card.is-entering{animation:cardPop 0.45s var(--ease) both;}
@keyframes cardPop{from{opacity:0;transform:translateY(1rem) scale(0.97);}
to{opacity:1;transform:none;}
}
/*── Image wrapper ──*/
.gt-card-img-wrap{position:relative;aspect-ratio:1 / 1;overflow:hidden;background:var(--paper);}
.gt-card-img-wrap img{width:100%;height:100%;object-fit:contain;padding:1.1rem;transition:transform 0.75s var(--ease);}
.gt-card:hover .gt-card-img-wrap img{transform:scale(1.07);}
/*── Category badge ──*/
.gt-badge{position:absolute;top:0.75rem;left:0.75rem;border-radius:999px;padding:0.3rem 0.7rem;background:rgba(13,24,48,0.72);color:var(--sand);font-size:0.68rem;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.14);transition:background 0.3s ease;}
.gt-card:hover .gt-badge{background:var(--clay);color:var(--white);}
/*── Card body ──*/
.gt-card-body{padding:1.1rem 1.25rem 1.4rem;display:flex;flex-direction:column;flex:1;gap:0.4rem;}
.gt-card-body h3{margin:0;font-size:clamp(0.88rem,1.2vw,1rem);font-weight:800;line-height:1.2;color:var(--ink);}
.gt-card-body p{margin:0;color:var(--muted);font-size:0.82rem;line-height:1.55;flex:1;}
/*── Enquire link ──*/
.gt-enquire{display:inline-flex;align-items:center;gap:0.35rem;margin-top:0.75rem;color:var(--field);font-size:0.78rem;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;transition:color 0.25s ease,gap 0.3s var(--ease);}
.gt-enquire svg{width:0.9rem;height:0.9rem;transition:transform 0.3s var(--ease);}
.gt-enquire:hover{color:var(--clay);gap:0.55rem;}
.gt-enquire:hover svg{transform:translateX(0.2rem);}
/*── Empty state ──*/
.gt-empty{grid-column:1 / -1;text-align:center;padding:4rem 1rem;color:var(--muted);font-size:1rem;font-weight:600;}
/*── CTA SECTION ──*/
.gt-cta-section{padding:clamp(4rem,8vw,7rem) 0;}
.gt-cta-inner{display:grid;grid-template-columns:1fr auto;gap:clamp(2rem,5vw,4rem);align-items:center;border-radius:2rem;padding:clamp(2rem,4vw,3.5rem);background:linear-gradient(135deg,rgba(26,42,94,0.35),transparent 45%),var(--field);}
.gt-cta-lead{margin:1rem 0 0;color:rgba(255,255,255,0.68);font-size:clamp(0.96rem,1.2vw,1.05rem);line-height:1.7;max-width:42rem;}
.gt-cta-btn{flex-shrink:0;}
/*── Responsive ──*/
@media (max-width:1200px){.gt-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:900px){.gt-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.gt-cta-inner{grid-template-columns:1fr;}
}
@media (max-width:760px){.gt-hero-content{padding-top:8rem;}
.gt-title{font-size:clamp(2.8rem,14vw,4.5rem);}
.gt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.85rem;}
.gt-card-body{padding:0.9rem 1rem 1.2rem;}
.gt-filter-bar{gap:0.4rem;}
.gt-filter-btn{font-size:0.76rem;padding:0.5rem 0.85rem;}
}
@media (max-width:480px){.gt-grid{grid-template-columns:1fr 1fr;gap:0.7rem;}
}
/*── Reduced motion ──*/
@media (prefers-reduced-motion:reduce){.gt-hero-bg,.gt-ticker-track{animation:none;}
.gt-card,.gt-card-img-wrap img{transition:none !important;}
}
/*=====================================================================
   PROJECTS PAGE — projects.css
   style.css ke BAAD load karo (projects.html already does this).
   Reuses .eyebrow / .section-title / .stat-grid / .sf-* / .cta-* / .dark
   straight from style.css — only the hero,construction grid and spec
   cards below are new to this page.
   =====================================================================*/
/*=====================================================================
   PROJECTS HERO
   =====================================================================*/
.projects-hero{position:relative;display:flex;align-items:center;min-height:90svh;padding:9rem 0 6rem;overflow:hidden;background:var(--field-2);}
.projects-hero-bg{position:absolute;inset:0;z-index:0;}
.projects-hero-bg img{width:100%;height:100%;object-fit:cover;}
.projects-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(13,24,48,0.55) 0%,rgba(13,24,48,0.85) 100%),linear-gradient(90deg,rgba(13,24,48,0.65) 0%,transparent 60%);}
.projects-hero-content{position:relative;z-index:2;}
.projects-eyebrow{margin-bottom:1.5rem;border-color:var(--light-line);color:var(--sand);background:rgba(255,255,255,0.08);}
.projects-hero-title{margin:0 0 1.5rem;max-width:16ch;color:var(--white);font-family:"Figtree",sans-serif;font-size:clamp(3rem,7vw,6rem);font-weight:800;line-height:0.95;letter-spacing:-0.03em;}
.projects-hero-title span{color:var(--ore);}
.projects-hero-lead{max-width:38rem;margin:0 0 2rem;color:rgba(255,255,255,0.72);font-size:clamp(1rem,1.3vw,1.15rem);font-weight:500;line-height:1.7;}
.projects-hero-chips{display:flex;flex-wrap:wrap;gap:0.75rem;}
.projects-hero-chips span{border:1px solid var(--light-line);border-radius:999px;padding:0.65rem 1.1rem;color:var(--white);background:rgba(26,42,94,0.45);backdrop-filter:blur(10px);font-size:0.82rem;font-weight:700;}
.projects-hero-scroll{position:absolute;z-index:2;left:50%;bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:0.6rem;transform:translateX(-50%);color:rgba(255,255,255,0.6);font-size:0.76rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;}
.projects-scroll-line{width:1px;height:2.5rem;background:linear-gradient(180deg,var(--ore),transparent);}
@media (max-width:760px){.projects-hero{padding:8rem 0 5rem;}
.projects-hero-title{font-size:clamp(2.6rem,13vw,4rem);}
.projects-hero-scroll{display:none;}
}
/*=====================================================================
   SHARED BADGE
   =====================================================================*/
.proj-badge{display:inline-flex;width:fit-content;border-radius:999px;padding:0.35rem 0.8rem;background:rgba(240,180,41,0.12);color:var(--clay);font-size:0.7rem;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;}
.dark .proj-badge{background:rgba(255,255,255,0.1);color:var(--ore);}
.proj-meta{margin:0;color:var(--muted);font-size:0.86rem;font-weight:700;}
.dark .proj-meta{color:rgba(255,255,255,0.62);}
/*=====================================================================
   CONSTRUCTION / CIVIL & MECHANICAL — client grid
   =====================================================================*/
.constr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;}
.constr-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden;transition:box-shadow 0.4s var(--ease),transform 0.4s var(--ease),border-color 0.3s ease;}
.constr-card:hover{box-shadow:0 1.2rem 3.5rem rgba(13,27,62,0.13);transform:translateY(-0.35rem);border-color:rgba(240,180,41,0.4);}
.constr-card-img{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--paper);}
.constr-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.9s var(--ease);}
.constr-card:hover .constr-card-img img{transform:scale(1.06);}
.constr-card-body{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:0.5rem;}
.constr-card-body h3{margin:0;font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:800;line-height:1.2;color:var(--ink);}
@media (max-width:1050px){.constr-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){.constr-grid{grid-template-columns:1fr;gap:1rem;}
}
/*=====================================================================
   SPEC CARDS — exploration & drilling project detail
   =====================================================================*/
.expl-section{background:var(--field-2);color:var(--white);}
.expl-section .spec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.35rem);}
.expl-section .spec-card{grid-template-columns:1fr;border-radius:1rem;background:linear-gradient(180deg,rgba(255,255,255,0.075),rgba(255,255,255,0.035));}
.spec-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,3vw,2.5rem);}
.spec-card{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(22rem,0.85fr);border-radius:var(--radius);overflow:hidden;background:var(--white);border:1px solid var(--line);transition:box-shadow 0.4s var(--ease),transform 0.4s var(--ease);}
.dark .spec-card,.expl-section .spec-card{background:rgba(255,255,255,0.04);border-color:var(--light-line);}
.spec-card:hover{box-shadow:0 1.5rem 4rem rgba(13,27,62,0.14);transform:translateY(-0.3rem);}
.spec-media{position:relative;min-height:clamp(25rem,42vw,36rem);overflow:hidden;background:var(--field);}
.expl-section .spec-media{min-height:0;aspect-ratio:16 / 10;}
.spec-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);}
.spec-card:hover .spec-media img{transform:scale(1.06);}
.spec-media .proj-badge{position:absolute;top:1rem;left:1rem;background:rgba(13,24,48,0.72);color:var(--sand);border:1px solid rgba(255,255,255,0.14);backdrop-filter:blur(8px);}
.spec-body{padding:1.75rem;display:flex;flex-direction:column;gap:0.4rem;}
.expl-section .spec-body{padding:clamp(1.1rem,2vw,1.35rem);}
.spec-body h3{margin:0;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:800;line-height:1.15;color:var(--ink);}
.dark .spec-body h3,.expl-section .spec-body h3{color:var(--white);}
.spec-list{display:flex;flex-direction:column;gap:0.75rem;margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line);}
.dark .spec-list,.expl-section .spec-list{border-top-color:var(--light-line);}
.spec-row{display:flex;flex-direction:column;gap:0.2rem;}
.spec-label{color:var(--clay);font-size:0.72rem;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;}
.dark .spec-label,.expl-section .spec-label{color:var(--ore);}
.spec-value{color:var(--ink);font-size:0.92rem;font-weight:600;line-height:1.55;}
.dark .spec-value,.expl-section .spec-value{color:rgba(255,255,255,0.78);}
@media (max-width:1050px){.spec-grid{grid-template-columns:1fr;}
.expl-section .spec-grid{grid-template-columns:1fr;max-width:42rem;margin-inline:auto;}
.spec-card{grid-template-columns:1fr;}
.spec-media{min-height:clamp(20rem,58vw,32rem);}
.expl-section .spec-media{min-height:0;aspect-ratio:16 / 10;}
}
/*=====================================================================
   REDUCED MOTION
   =====================================================================*/
@media (prefers-reduced-motion:reduce){.constr-card,.constr-card-img img,.spec-card,.spec-media img{transition:none !important;}
}
/*=====================================================================
   EXPLORATION GALLERY (slider) — Lead / Barite
   =====================================================================*/
.expl-gallery{position:relative;overflow:hidden;cursor:grab;}
.expl-gallery:active{cursor:grabbing;}
.expl-gallery-track{display:flex;width:100%;height:100%;transition:transform 0.55s var(--ease);will-change:transform;}
.expl-gallery-slide{flex:0 0 100%;width:100%;height:100%;}
.expl-gallery-slide img{width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;user-select:none;}
.expl-gallery .proj-badge{position:absolute;top:1rem;left:1rem;z-index:3;}
.expl-gallery-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:2.2rem;height:2.2rem;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,0.24);border-radius:50%;color:var(--white);background:rgba(13,24,48,0.55);backdrop-filter:blur(8px);cursor:pointer;opacity:0.92;transition:opacity 0.3s ease,background 0.3s ease,transform 0.3s var(--ease);}
.expl-gallery-arrow svg{width:1.1rem;height:1.1rem;}
.expl-gallery:hover .expl-gallery-arrow{opacity:1;}
.expl-gallery-arrow.prev{left:0.85rem;}
.expl-gallery-arrow.next{right:0.85rem;}
.expl-gallery-arrow:hover{background:var(--clay);transform:translateY(-50%) scale(1.08);}
.expl-gallery-dots{position:absolute;z-index:3;left:50%;bottom:0.75rem;transform:translateX(-50%);display:flex;gap:0.4rem;}
.expl-gallery-dot{width:0.4rem;height:0.4rem;border:0;border-radius:999px;background:rgba(255,255,255,0.45);padding:0;cursor:pointer;transition:background 0.3s ease,width 0.35s var(--ease);}
.expl-gallery-dot.active{width:1.4rem;background:var(--ore);}
.expl-gallery-count{position:absolute;z-index:3;top:0.85rem;right:0.85rem;border-radius:999px;padding:0.35rem 0.7rem;color:var(--white);background:rgba(13,24,48,0.55);backdrop-filter:blur(8px);font-size:0.72rem;font-weight:800;letter-spacing:0.03em;}
/*=====================================================================
   DRILLING MOSAIC — Apensia / Hind Metal
   =====================================================================*/
.dril-mosaic{position:relative;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(8rem,0.9fr);gap:0.35rem;min-height:clamp(25rem,42vw,36rem);padding:0.35rem;background:rgba(255,255,255,0.12);}
.dril-mosaic .proj-badge{position:absolute;top:1rem;left:1rem;z-index:3;}
.dril-mosaic-main,.dril-mosaic-item{position:relative;overflow:hidden;border-radius:0.85rem;background:var(--field);}
.dril-mosaic-main img,.dril-mosaic-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.9s var(--ease);}
.dril-mosaic:hover .dril-mosaic-main img,.dril-mosaic:hover .dril-mosaic-item img{transform:scale(1.06);}
.dril-mosaic-sub{display:grid;grid-template-rows:1fr 1fr;gap:0.35rem;}
@media (max-width:1050px){.dril-mosaic{min-height:clamp(20rem,58vw,32rem);}
}
@media (max-width:560px){.dril-mosaic{grid-template-columns:1fr;grid-template-rows:1fr auto;}
.dril-mosaic-sub{grid-template-columns:1fr 1fr;grid-template-rows:1fr;}
}
/*=========================================================
   HIND METAL VIDEO — SAME SIZE AS MAIN IMAGE
   =========================================================*/
.dril-mosaic-main video{display:block;width:100%;height:100%;object-fit:cover;transition:transform 0.9s var(--ease);}
.dril-mosaic:hover .dril-mosaic-main video{transform:scale(1.06);}
/*=========================================================
   PROJECT OVERVIEW + KEY POINTS
   =========================================================*/
.project-overview{display:block;padding-bottom:1.4rem;}
.project-overview .spec-label{display:block;margin-bottom:0.55rem;}
.project-overview .spec-value{display:block;}
/*── Key point grid ──*/
.project-key-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.7rem;margin-top:0.25rem;}
/*── Individual point ──*/
.key-point{display:flex;align-items:center;gap:0.85rem;min-height:4.7rem;padding:0.75rem 0.9rem;border:1px solid var(--line);border-radius:0.9rem;background:rgba(255,255,255,0.55);transition:border-color 0.35s var(--ease),background 0.35s var(--ease),transform 0.35s var(--ease);}
/*── Icon ──*/
.key-point-icon{flex:0 0 2.7rem;width:2.7rem;height:2.7rem;display:flex;align-items:center;justify-content:center;border:1px solid rgba(200,150,12,0.35);border-radius:50%;color:var(--clay);background:rgba(200,150,12,0.07);}
.key-point-icon svg{width:1.25rem;height:1.25rem;}
/*── Text ──*/
.key-point-content{min-width:0;}
.key-point-content span{display:block;margin-bottom:0.18rem;color:var(--muted);font-size:0.66rem;font-weight:800;letter-spacing:0.1em;line-height:1;text-transform:uppercase;}
.key-point-content strong{display:block;color:var(--ink);font-size:0.88rem;font-weight:700;line-height:1.35;}
/*── Long activity point ──*/
.key-point-wide{grid-column:1 / -1;align-items:flex-start;}
.key-point-wide .key-point-icon{margin-top:0.05rem;}
/*── Hover ──*/
.key-point:hover{border-color:rgba(200,150,12,0.4);background:rgba(200,150,12,0.035);transform:translateY(-2px);}
.key-point:hover .key-point-icon{color:var(--ore);background:rgba(200,150,12,0.12);}
/*── Mobile ──*/
@media (max-width:700px){.project-key-points{grid-template-columns:1fr;}
.key-point-wide{grid-column:auto;}
}
/*=========================================================
   TERRAMECH — INDIVIDUAL TEAM PROFILE CARDS
   =========================================================*/
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:3.5rem;}
/*─────────────────────────────────────────
   CARD
   ─────────────────────────────────────────*/
.team-person-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,0.12);border-radius:1.35rem;background:rgba(255,255,255,0.055);box-shadow:0 1.5rem 4rem rgba(0,0,0,0.16);transition:transform 0.65s var(--ease),border-color 0.45s ease,box-shadow 0.65s var(--ease);will-change:transform;}
.team-person-card:hover{transform:translateY(-0.6rem);border-color:rgba(240,180,41,0.48);box-shadow:0 2rem 5rem rgba(0,0,0,0.28);}
/*─────────────────────────────────────────
   IMAGE
   ─────────────────────────────────────────*/
.team-person-image{position:relative;height:30rem;overflow:hidden;background:var(--field);}
.team-person-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 0.9s var(--ease),filter 0.7s ease;}
.team-person-card:hover .team-person-image img{transform:scale(1.055);}
/*─────────────────────────────────────────
   IMAGE GRADIENT
   ─────────────────────────────────────────*/
.team-person-overlay{position:absolute;inset:0;background:linear-gradient(
      180deg,rgba(7,13,31,0.04) 35%,rgba(7,13,31,0.25) 60%,rgba(7,13,31,0.92) 100%
    );pointer-events:none;}
/*─────────────────────────────────────────
   NUMBER
   ─────────────────────────────────────────*/
.team-person-number{position:absolute;top:1rem;left:1rem;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid rgba(255,255,255,0.25);border-radius:50%;color:var(--white);background:rgba(7,13,31,0.42);backdrop-filter:blur(12px);font-family:"Gemunu Libre","Figtree",sans-serif;font-size:0.85rem;font-weight:700;transition:background 0.4s ease,color 0.4s ease,transform 0.45s var(--ease);}
.team-person-card:hover .team-person-number{color:var(--field-2);background:var(--ore);transform:rotate(8deg);}
/*─────────────────────────────────────────
   TYPE BADGE
   ─────────────────────────────────────────*/
.team-person-type{position:absolute;right:1rem;bottom:1rem;border:1px solid rgba(255,255,255,0.2);border-radius:999px;padding:0.55rem 0.75rem;color:var(--white);background:rgba(7,13,31,0.48);backdrop-filter:blur(12px);font-size:0.7rem;font-weight:800;letter-spacing:0.04em;text-transform:uppercase;}
/*─────────────────────────────────────────
   CONTENT
   ─────────────────────────────────────────*/
.team-person-content{min-height:13rem;padding:1.35rem 1.4rem 1.5rem;}
.team-person-role{display:block;margin-bottom:0.5rem;color:var(--ore);font-size:0.72rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;}
.team-person-content h3{margin:0;color:var(--white);font-size:clamp(1.35rem,2vw,1.75rem);font-weight:800;line-height:1.05;letter-spacing:-0.025em;}
.team-person-content p{margin:0.9rem 0 0;color:rgba(255,255,255,0.66);font-size:0.94rem;font-weight:500;line-height:1.65;}
/*─────────────────────────────────────────
   DIRECTOR CARDS — SUBTLE EMPHASIS
   First four cards
   ─────────────────────────────────────────*/
.team-person-card:nth-child(-n/**/+4){background:linear-gradient(
      145deg,rgba(240,180,41,0.075),rgba(255,255,255,0.035) 48%,rgba(255,255,255,0.025)
    );}
/*─────────────────────────────────────────
   REVEAL ANIMATION
   Existing .reveal animation is preserved,this only adds stagger.
   ─────────────────────────────────────────*/
.team-person-card:nth-child(1){transition-delay:0ms;}
.team-person-card:nth-child(2){transition-delay:70ms;}
.team-person-card:nth-child(3){transition-delay:140ms;}
.team-person-card:nth-child(4){transition-delay:210ms;}
.team-person-card:nth-child(5){transition-delay:280ms;}
.team-person-card:nth-child(6){transition-delay:350ms;}
.team-person-card:nth-child(7){transition-delay:420ms;}
/*=========================================================
   RESPONSIVE
   =========================================================*/
@media (max-width:1050px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.team-person-image{height:24rem;}
}
@media (max-width:680px){.team-grid{grid-template-columns:1fr;gap:1rem;margin-top:2.5rem;}
.team-person-image{height:min(105vw,30rem);}
.team-person-content{min-height:auto;padding:1.2rem 1.15rem 1.35rem;}
.team-person-content p{font-size:0.92rem;}
}
/*─────────────────────────────────────────
   REDUCED MOTION
   ─────────────────────────────────────────*/
@media (prefers-reduced-motion:reduce){.team-person-card,.team-person-image img,.team-person-number{transition:none;}
}
/*=========================================================
   DRILLING PROJECT — KEY ACTIVITIES
   Individual service-style pills
   =========================================================*/
.project-activities{margin-top:1.5rem;}
.project-activities-label{margin-bottom:0.75rem;color:var(--muted);font-size:0.66rem;font-weight:800;letter-spacing:0.1em;line-height:1;text-transform:uppercase;}
.project-activities .addserv-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem;margin-top:0;}
.project-activities .addserv-feat{display:flex;align-items:center;gap:0.75rem;min-width:0;border:1px solid var(--line);border-radius:999px;padding:0.7rem 1rem;background:var(--white);font-size:0.86rem;font-weight:700;line-height:1.25;color:var(--ink);transition:border-color 0.3s ease,transform 0.35s var(--ease),background 0.3s ease;}
.project-activities .addserv-feat svg{width:1.2rem;height:1.2rem;flex:0 0 1.2rem;color:var(--clay);transition:color 0.3s ease,transform 0.4s var(--ease);}
.project-activities .addserv-feat:hover{border-color:var(--ore);background:var(--sand);transform:translateY(-0.15rem);}
.project-activities .addserv-feat:hover svg{color:var(--field);transform:scale(1.12) rotate(-6deg);}
.project-activities .addserv-feat span{min-width:0;}
/*=========================================================
   MOBILE
   =========================================================*/
@media (max-width:760px){.project-activities .addserv-features{grid-template-columns:1fr 1fr;gap:0.6rem;}
.project-activities .addserv-feat{font-size:0.78rem;padding:0.6rem 0.8rem;}
}
@media (max-width:480px){.project-activities .addserv-features{grid-template-columns:1fr;}
}

/* =====================================================================
   GLOBAL RESPONSIVE SAFETY
   Keeps shared layout stable across all TerraMech pages.
   ===================================================================== */

@media (max-width:1050px){.nav-fixed{z-index:1000;}
.nav-shell{position:relative;}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1002;flex:0 0 3rem;padding:0;}
.nav-links{z-index:1001;top:calc(100% + 0.75rem);right:0;left:auto;width:min(24rem,calc(100vw - 1.5rem));max-height:calc(100svh - 7rem);overflow-y:auto;overscroll-behavior:contain;}
.nav-links.open{display:flex;}
}
@media (max-width:760px){.container{width:min(100% - 1.5rem,42rem);}
.section-pad{padding:clamp(3.75rem,12vw,5.5rem) 0;}
.nav-shell{min-height:4.25rem;padding:0.5rem 0.65rem 0.5rem 0.8rem;}
.nav-links{width:calc(100vw - 1.5rem);max-height:calc(100svh - 6.25rem);border-radius:1.25rem;}
.nav-link{min-height:2.75rem;align-items:center;}
.tms-slides{min-height:0;}
.tms-actions,.about-hero-chips,.projects-hero-chips{width:100%;}
.tms-actions .btn-animate,.cta-wrap .btn-animate{max-width:100%;}
.addserv-row,.caps-row-item,.mission-grid,.globe-layout,.intro-layout,.section-head.horizontal{min-width:0;}
.addserv-features,.project-activities .addserv-features{grid-template-columns:1fr;}
.addserv-feat span{white-space:normal;}
.sf-card-inner,.spec-card{min-width:0;}
.project-key-points{grid-template-columns:1fr;}
.key-point-wide{grid-column:auto;}
.gt-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.gt-card,.constr-card,.stat-card,.value-card,.team-card,.team-person-card{min-width:0;}
}
@media (max-width:480px){.container{width:min(100% - 1rem,42rem);}
.section-title{max-width:100%;}
.tms-headline{font-size:clamp(2.6rem,14vw,4rem);}
.gt-grid{grid-template-columns:1fr;}
.project-key-points{grid-template-columns:1fr;}
.addserv-features,.project-activities .addserv-features{grid-template-columns:1fr;}
.sf-card{grid-template-columns:1.5rem minmax(0,1fr);}
.sf-card-inner{grid-template-columns:1fr;}
.sf-card-body{padding:1.25rem;}
.cert-lightbox{padding:0.75rem;}
.cert-lightbox-dialog{max-width:100%;}
}
/* Prevent animation systems from creating horizontal overflow. */
img,video,svg,canvas{max-width:100%;}
button,a{-webkit-tap-highlight-color:transparent;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}
*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}
}


/* =====================================================================
   FINAL GLOBAL NAVIGATION FIX
   Mobile menu is positioned relative to the nav shell so it cannot
   disappear behind the services hero or drift off-screen.
   ===================================================================== */

@media (max-width: 1050px) {
  .nav-fixed {
    z-index: 5000;
  }

  .nav-shell {
    position: relative;
    z-index: 5001;
  }

  .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 5003;
    flex: 0 0 3rem;
    width: 3rem;
    height: 3rem;
    padding: 0;
    visibility: visible;
    opacity: 1;
  }

  .nav-links {
    position: absolute;
    top: calc(100% + 0.75rem);
    right: 0;
    left: auto;
    z-index: 5002;
    display: none;
    width: min(24rem, calc(100vw - 1.5rem));
    max-height: calc(100svh - 7rem);
    overflow-y: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 0.15rem;
    margin: 0;
    padding: 0.75rem;
    border: 1px solid var(--line);
    border-radius: 1.25rem;
    background: rgba(248, 249, 252, 0.98);
    box-shadow: 0 1.5rem 4rem rgba(13, 27, 62, 0.22);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }

  .nav-links.open {
    display: flex;
  }

  .nav-link {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 2.8rem;
    padding: 0.85rem 0.9rem;
    border-radius: 0.75rem;
  }

  .nav-link:hover {
    background: rgba(13, 27, 62, 0.06);
  }

  .nav-link::after {
    display: none;
  }

  .nav-cta {
    display: none;
  }
}

@media (max-width: 760px) {
  .nav-fixed {
    top: 0;
    right: 0;
    left: 0;
    padding: 0.7rem;
  }

  .nav-shell {
    width: 100%;
    min-height: 4.25rem;
    padding: 0.5rem 0.65rem 0.5rem 0.8rem;
  }

  .nav-toggle {
    width: 2.85rem;
    height: 2.85rem;
    flex-basis: 2.85rem;
  }

  .nav-links {
    top: calc(100% + 0.65rem);
    right: 0;
    width: min(22rem, calc(100vw - 1.4rem));
    max-height: calc(100svh - 6rem);
    padding: 0.65rem;
  }

  .nav-link {
    min-height: 2.75rem;
    font-size: 0.95rem;
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 0.9rem;
  }

  .service-card {
    min-width: 0;
    padding: 1.35rem;
  }

  .addserv-row,
  .addserv-row.reverse {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: column;
    direction: ltr;
    gap: 1.5rem;
  }

  .addserv-row.reverse {
    flex-direction: column;
  }

  .addserv-media {
    width: 100%;
    aspect-ratio: 16 / 10;
  }

  .addserv-body {
    width: 100%;
    min-width: 0;
  }

  .addserv-features {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }

  .addserv-feat {
    min-width: 0;
  }

  .addserv-feat span {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 480px) {
  .nav-links {
    width: calc(100vw - 1.4rem);
  }

  .addserv-body .btn-animate {
    width: 100%;
    max-width: 100%;
  }
}



/* =====================================================================
   END — FINAL GLOBAL NAVIGATION + SERVICES RESPONSIVE FIX
   ===================================================================== */


/* =====================================================================
   SERVICES PAGE — FINAL MOBILE CONTAINMENT
   Prevents the service hero from creating a wider visual viewport.
   Do not change the shared navigation behaviour used by other pages.
   ===================================================================== */
@media (max-width:760px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:clip;
  }

  main{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .services-hero,
  .services-hero-bg,
  .services-hero-bg img,
  .services-hero-overlay{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .services-hero{
    margin-left:0;
    margin-right:0;
  }

  .services-hero-content,
  .services-overview,
  .addserv-section{
    min-width:0;
    max-width:100%;
  }
}

@media (max-width:480px){
  .services-hero-content{
    width:calc(100% - 1rem);
    max-width:100%;
  }
}


/* ================================================================
   BROCHURES & CATALOGUES
   ================================================================ */
.gt-brochures-section{background:var(--paper);}
.gt-brochures-head{max-width:820px;margin:0 auto clamp(2.5rem,5vw,4rem);text-align:center;}
.gt-brochures-head .eyebrow{margin:0 auto .8rem;}
.gt-brochures-head .section-title{max-width:16ch;margin:0 auto;}
.gt-brochures-copy{max-width:680px;margin:1.2rem auto 0;color:var(--muted);font-size:clamp(.98rem,1.35vw,1.08rem);line-height:1.7;}

.gt-brochures-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;}
.gt-brochure-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:0 1rem 3rem rgba(13,27,62,.07);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s ease;}
.gt-brochure-card:hover{transform:translateY(-.3rem);border-color:rgba(240,180,41,.55);box-shadow:0 1.75rem 4rem rgba(13,27,62,.12);}
.gt-brochure-preview{position:relative;height:clamp(20rem,34vw,31rem);overflow:hidden;background:#eef0f4;border-bottom:1px solid var(--line);}
.gt-brochure-preview iframe{display:block;width:100%;height:100%;border:0;background:#fff;}
.gt-brochure-overlay{position:absolute;top:1rem;left:1rem;pointer-events:none;}
.gt-brochure-type{display:inline-flex;align-items:center;min-height:2rem;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:var(--white);background:rgba(13,27,62,.78);backdrop-filter:blur(10px);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.gt-brochure-body{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding:1.5rem;}
.gt-brochure-kicker{margin:0 0 .45rem;color:var(--clay);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.gt-brochure-body h3{margin:0;color:var(--ink);font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:800;line-height:1.05;}
.gt-brochure-body p:not(.gt-brochure-kicker){max-width:34rem;margin:.7rem 0 0;color:var(--muted);font-size:.92rem;line-height:1.6;}
.gt-brochure-btn{flex:0 0 auto;min-height:2.9rem;padding:0 1rem;font-size:.82rem;}

@media (max-width:760px){
  .gt-brochures-grid{grid-template-columns:1fr;}
  .gt-brochure-preview{height:72vw;min-height:19rem;max-height:28rem;}
  .gt-brochure-body{align-items:stretch;flex-direction:column;gap:1rem;}
  .gt-brochure-btn{width:100%;}
}
@media (max-width:480px){
  .gt-brochure-preview{height:78vw;min-height:17rem;}
  .gt-brochure-body{padding:1.25rem;}
}


/* =====================================================================
   CAPABILITIES — MOBILE CARD LAYOUT
   Desktop remains untouched.
   On touch/mobile, the hover-follower is unavailable, so the existing
   capability images become visible thumbnails inside each service row.
   ===================================================================== */

@media (max-width:760px){

  .capabilities-section .capability-list{
    display:grid;
    gap:0.75rem;
    border-top:0;
  }

  .capabilities-section .capability-item{
    display:grid;
    grid-template-columns:2.9rem minmax(0,1fr) 5.25rem;
    gap:0.85rem;
    align-items:center;
    min-height:0;
    padding:1rem;
    border:1px solid rgba(255,255,255,0.12);
    border-radius:1rem;
    background:
      linear-gradient(135deg,rgba(255,255,255,0.045),rgba(255,255,255,0.018));
    box-shadow:0 0.7rem 2rem rgba(0,0,0,0.14);
    cursor:pointer;
  }

  /* Remove desktop hover behaviour on touch screens */
  .capabilities-section .capability-list:hover .capability-item:not(:hover){
    opacity:1;
  }

  .capabilities-section .capability-item:hover,
  .capabilities-section .capability-item.active{
    padding-left:1rem;
  }

  /* Keep the row clean; no desktop hover wash */
  .capabilities-section .capability-item::after{
    display:none;
  }

  .capabilities-section .cap-nr{
    align-self:start;
    padding-top:0.15rem;
    font-size:2rem;
    line-height:0.9;
  }

  .capabilities-section .capability-item h3{
    font-size:1.12rem;
    line-height:1.08;
    letter-spacing:-0.02em;
  }

  .capabilities-section .capability-item p{
    margin:0.45rem 0 0;
    font-size:0.78rem;
    line-height:1.45;
    color:rgba(255,255,255,0.62);
  }

  /* The same images already present in the HTML become mobile thumbnails */
  .capabilities-section .capability-item img[data-follower-visual]{
    display:block;
    width:5.25rem;
    height:5.25rem;
    min-width:5.25rem;
    object-fit:cover;
    border-radius:0.8rem;
    border:1px solid rgba(255,255,255,0.14);
    box-shadow:0 0.6rem 1.4rem rgba(0,0,0,0.22);
  }

  /* Small visual treatment on the active service */
  .capabilities-section .capability-item.active{
    border-color:rgba(240,180,41,0.32);
    background:
      linear-gradient(135deg,rgba(240,180,41,0.075),rgba(255,255,255,0.025));
  }

}

@media (max-width:480px){

  .capabilities-section .capability-item{
    grid-template-columns:2.55rem minmax(0,1fr) 4.7rem;
    gap:0.7rem;
    padding:0.85rem;
    border-radius:0.9rem;
  }

  .capabilities-section .cap-nr{
    font-size:1.7rem;
  }

  .capabilities-section .capability-item h3{
    font-size:1rem;
  }

  .capabilities-section .capability-item p{
    font-size:0.74rem;
    line-height:1.4;
  }

  .capabilities-section .capability-item img[data-follower-visual]{
    width:4.7rem;
    height:4.7rem;
    min-width:4.7rem;
    border-radius:0.7rem;
  }

}

@media (max-width: 760px){
  .addserv-head{
    width:100%;
    max-width:100%;
    padding-inline:0;
  }

  .addserv-head .section-title{
    width:100%;
    max-width:100%;
    margin-inline:auto;
    font-size:clamp(2.55rem,11.5vw,3.35rem);
    line-height:0.94;
    letter-spacing:-0.045em;
    text-align:center;
    overflow-wrap:normal;
    word-break:normal;
  }
}

@media (max-width: 420px){
  .addserv-head .section-title{
    font-size:clamp(2.35rem,11vw,3rem);
    line-height:0.96;
  }
}
