:root{
  --gs-navy:#0B3B60;      /* primary — from logo wordmark */
  --gs-navy-deep:#082C49;
  --gs-red:#D22F32;       /* accent — from logo mark */
  --gs-red-deep:#A82327;
  --gs-teal:#128C93;      /* supporting tone, medical/clinical */
  --gs-ivory:#F4F7F9;     /* background */
  --gs-ink:#152430;       /* body text */
  --gs-line:#1c040599;
}

*{box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  overflow-x: hidden;
}
body{
  font-family:'Roboto',sans-serif;
  color:var(--gs-ink);
  background:#fff;
  font-weight:400;
  overflow-x: hidden;
}
h1,h2,h3,h4,.display-font{
  font-family:'Roboto Condensed',sans-serif;
  font-weight:700;
  letter-spacing:.2px;
}
.eyebrow{
  font-family:'Roboto',sans-serif;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--gs-red);
}
a{text-decoration:none;}

/* ===== Topbar ===== */
.topbar{
  background:var(--gs-navy-deep);
  color:#cfe0ec;
  font-size:.85rem;
}
.topbar a{color:#cfe0ec;}
.topbar a:hover{color:#fff;}
.topbar .divider{opacity:.3;}

/* ===== Navbar ===== */
.navbar-gs{
  background:#fff;
  box-shadow:0 2px 14px rgba(11,59,96,.08);
  padding-top:.85rem;
  padding-bottom:.85rem;
}
.brand-mark{
  display:flex;
  align-items:center;
  gap:.6rem;
}
.brand-icon{
  width:44px;height:44px;
  border-radius:10px;
  background:linear-gradient(135deg,var(--gs-navy),var(--gs-teal));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1.3rem;
  flex-shrink:0;
}
.brand-text{line-height:1.05;}
.brand-text .g{color:var(--gs-red);font-weight:900;}
.brand-text .s{color:var(--gs-navy);font-weight:900;}
.brand-text small{
  display:block;font-size:.62rem;letter-spacing:2px;color:#6b7f8e;font-weight:600;
}
.navbar-gs .nav-link{
  color:var(--gs-ink);
  font-weight:500;
  font-size:.94rem;
  padding:.5rem .9rem !important;
}
.navbar-gs .nav-link:hover,
.navbar-gs .nav-link:focus{color:var(--gs-red);}
.btn-gs-primary{
  background:var(--gs-red);
  border:1px solid var(--gs-red);
  color:#fff;
  font-weight:600;
  padding:.55rem 1.4rem;
  border-radius:6px;
}
.btn-gs-primary:hover{background:var(--gs-red-deep);border-color:var(--gs-red-deep);color:#fff;}
.btn-gs-outline{
  border:1.5px solid var(--gs-navy);
  color:var(--gs-navy);
  font-weight:600;
  padding:.55rem 1.4rem;
  border-radius:6px;
}
.btn-gs-outline:hover{background:var(--gs-navy);color:#fff;}
.btn-gs-outline-light{
  border:1.5px solid rgba(255,255,255,.6);
  color:#fff;font-weight:600;padding:.55rem 1.4rem;border-radius:6px;
}
.btn-gs-outline-light:hover{background:#fff;color:var(--gs-navy);}

/* ===== Hero ===== */
.hero{
  position:relative;
  color:#fff;
  overflow:hidden;
  padding:5.5rem 0 7rem;
}
.carousel-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* background: linear-gradient(120deg, rgba(8,44,73,0.92) 0%, rgba(11,59,96,0.88) 55%, rgba(18,140,147,0.8) 130%); */
  background: linear-gradient(120deg, rgba(8, 44, 73, 0.92) 0%, rgb(11 59 96 / 75%) 55%, rgb(18 140 147 / 72%) 130%);
  z-index: 1;
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 85% 20%, rgba(210,47,50,.35), transparent 40%),
    radial-gradient(circle at 95% 85%, rgba(255,255,255,.08), transparent 35%);
  pointer-events:none;
  z-index:1;
}
.hero .badge-est{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);
  color:#e9f2f7;
  font-size:.78rem;
  font-weight:600;
  padding:.4rem .9rem;
  border-radius:30px;
  letter-spacing:1px;
}
.hero h1{
  font-size:clamp(2.2rem,4.2vw,3.4rem);
  line-height:1.08;
}
.hero h1 .accent{color:#F5B4B5;}
.hero p.lead{
  color:#dbe8f0;
  font-size:1.08rem;
  max-width:560px;
}
.hero-stats{
  margin-top:3rem;
  border-top:1px solid rgba(255,255,255,.18);
  padding-top:1.6rem;
}
.hero-stats .num{
  font-family:'Roboto Condensed',sans-serif;
  font-weight:700;
  font-size:2rem;
  color:#fff;
  line-height:1;
}
.hero-stats .lbl{
  font-size:.78rem;
  color:#bcd2e0;
  letter-spacing:.5px;
  text-transform:uppercase;
}
@keyframes floatPanel {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0px); }
}
.hero-panel{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  padding:2rem;
  backdrop-filter:blur(6px);
  animation: floatPanel 5s ease-in-out infinite;
  box-shadow:0 15px 35px rgba(0,0,0,0.1);
}
.hero-panel .row-item{
  display:flex;align-items:center;gap:.9rem;
  padding:.8rem;
  border-radius:10px;
  border-bottom:1px solid rgba(255,255,255,.08);
  transition: transform 0.3s ease, background 0.3s ease;
}
.hero-panel .row-item:last-child{border-bottom:none;}
.hero-panel .row-item:hover{
  transform: translateX(8px);
  background: rgba(255,255,255,.08);
  border-bottom-color: transparent;
}
.hero-panel .row-item i{
  width:42px;height:42px;flex-shrink:0;
  background:rgba(210,47,50,.85);
  border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1.1rem;
  transition: transform 0.3s ease;
}
.hero-panel .row-item:hover i {
  transform: scale(1.15) rotate(5deg);
}

/* ===== Section headers ===== */
.section-pad{padding:5rem 0;}
.bg-ivory{background:var(--gs-ivory);}
.section-title{font-size:clamp(1.7rem,2.6vw,2.3rem);color:var(--gs-navy-deep);}
.section-rule{
  width:52px;height:4px;background:var(--gs-red);border-radius:2px;margin:.6rem 0 1.1rem;
}

/* ===== About ===== */
.about-figure{
  position:relative;
  border-radius:16px;
  background:url('https://www.gemsurgitech.com/wp-content/uploads/2020/08/Abhinav-logo.png'), linear-gradient(155deg,var(--gs-navy),var(--gs-teal));
  min-height:420px;
  overflow:hidden;
  background-size: contain;
  display:flex;align-items:flex-end;
}
.about-figure .cert-chip{
  position:absolute;top:1.4rem;right:1.4rem;
  background:#fff;color:var(--gs-navy-deep);
  border-radius:10px;padding:.7rem 1rem;
  font-size:.8rem;font-weight:700;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.about-figure .cert-chip i{color:var(--gs-red);margin-right:.35rem;}
.about-figure-inner{
  padding:1.8rem;color:#fff;
}
.checklist li{
  display:flex;gap:.7rem;margin-bottom:.9rem;
  align-items:flex-start;
}
.checklist li i{
  color:var(--gs-red);font-size:1.1rem;margin-top:.15rem;
}
.dropdown-item.active, .dropdown-item:active{
      color: #d22f32 !important;
    text-decoration: none;
    background-color: transparent !important;
}
/* ===== Category cards ===== */
.cat-card{
  border:1px solid var(--gs-line);
  border-radius:14px;
  padding:2rem 1.6rem;
  height:100%;
  background:#fff;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.cat-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 30px rgba(11,59,96,.12);
  border-color:transparent;
}
.cat-card .icon-wrap{
  width:58px;height:58px;border-radius:12px;
  background:var(--gs-ivory);
  display:flex;align-items:center;justify-content:center;
  color:var(--gs-navy);font-size:1.5rem;
  margin-bottom:1.2rem;
}
.cat-card:hover .icon-wrap{background:var(--gs-red);color:#fff;}
.cat-card ul{padding-left:0;list-style:none;margin-bottom:0;}
.cat-card ul li{
  font-size:.9rem;color:#4c6172;padding:.28rem 0;
  border-bottom:1px dashed var(--gs-line);
}
.cat-card ul li:last-child{border-bottom:none;}
.cat-card .stretched-link-wrap{margin-top:1.2rem;}

/* ===== Product cards ===== */
.product-card{
  border-radius:14px;overflow:hidden;border:1px solid var(--gs-line);
  background:#fff; height:100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 35px rgba(11,59,96,0.1);
  border-color: transparent;
}
.product-thumb{
  height: 200px;
  position: relative;
  overflow: hidden;
  background: var(--gs-ivory);
}
.product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.product-card:hover .product-thumb img {
  transform: scale(1.1);
}
.product-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(11,59,96,0.2), transparent);
  pointer-events: none;
}
.product-thumb .tag{
  position:absolute;top:15px;left:15px;
  background:var(--gs-red);color:#fff;
  font-size:.7rem;font-weight:700;
  padding:.35rem .8rem;border-radius:20px;
  z-index: 2;
  box-shadow: 0 4px 10px rgba(210,47,50,0.4);
}
.product-card .body{padding: 1.8rem 1.6rem;}
.product-card h6{font-weight:700;color:var(--gs-navy-deep);margin-bottom:.2rem;}
.product-card p{font-size:.85rem;color:#657a89;margin-bottom:.8rem;}
.product-card .learn{
  font-size:.83rem;font-weight:600;color:var(--gs-red);
}
.product-card .learn i{transition:transform .2s;}
.product-card:hover .learn i{transform:translateX(4px);}

/* ===== Quality / trust band ===== */
.quality-band{
  background:var(--gs-navy-deep);
  color:#fff;
}
.quality-item{
  border-left:3px solid var(--gs-red);
  padding-left:1.1rem;
}
.quality-item h5{color:#fff;margin-bottom:.35rem;}
.quality-item p{color:#b9cbd8;font-size:.9rem;margin-bottom:0;}

/* ===== Testimonial / CTA ===== */
.cta-strip{
  background:linear-gradient(120deg,var(--gs-red) 0%,var(--gs-red-deep) 100%);
  border-radius:18px;
  color:#fff;
  padding:2.6rem 2.4rem;
}

/* ===== Footer ===== */
footer{background:var(--gs-navy-deep);color:#c3d4e0;}
footer h6{color:#fff;font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:.85rem;margin-bottom:1.2rem;}
footer a{color:#c3d4e0;}
footer a:hover{color:var(--gs-red);}
footer ul{list-style:none;padding-left:0;}
footer ul li{margin-bottom:.6rem;font-size:.9rem;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  font-size:.82rem;color:#8ea6b6;
}
.footerLogo{
  width: 140px;
  background:#fff;
  padding: 5px 10px;
  border-radius: 8px;
}
.social-dot{
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  color:#fff;transition:background .2s;
}
.social-dot:hover{background:var(--gs-red);color:#fff;}

/* ===== Page Header (Common for inner pages) ===== */
.page-header-inner{
  position:relative;
  background:linear-gradient(120deg,var(--gs-navy-deep) 0%,var(--gs-navy) 55%,var(--gs-teal) 130%);
  color:#fff;
  padding:4rem 0 3.5rem;
  text-align:center;
}
.page-header-inner::before{
  content:"";
  position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 15% 50%, rgba(210,47,50,.25), transparent 40%),
    radial-gradient(circle at 85% 50%, rgba(255,255,255,.08), transparent 35%);
  pointer-events:none;
}
.page-header-inner h1{
  font-size:clamp(2rem,3vw,2.8rem);
  margin-bottom:.5rem;
  color:#fff;
}
.page-header-inner .breadcrumb{
  justify-content:center;
  margin-bottom:0;
  font-size:.9rem;
}
.page-header-inner .breadcrumb a{color:rgba(255,255,255,.7);}
.page-header-inner .breadcrumb a:hover{color:#fff;}
.page-header-inner .breadcrumb-item.active{color:#fff;}
.page-header-inner .breadcrumb-item+.breadcrumb-item::before{
  content: "/";
  color:rgba(255,255,255,.4);
  font-size:.75rem;
  vertical-align:middle;
}


@media (max-width:991.98px){
  .hero{padding:3rem 0 4rem;}
  .hero-panel{margin-top:2.5rem;}
}

/* ===== Specific to About Page ===== */
.value-box{
  padding:2.5rem;
  background:#fff;
  border-radius:14px;
  border:1px solid var(--gs-line);
  height:100%;
  transition:transform .25s ease, box-shadow .25s ease;
}
.value-box:hover{
  transform:translateY(-5px);
  box-shadow:0 12px 24px rgba(11,59,96,.08);
}
.value-box .icon{
  width:64px;height:64px;
  border-radius:50%;
  background:rgba(210,47,50,.1);
  color:var(--gs-red);
  display:flex;align-items:center;justify-content:center;
  font-size:1.8rem;
  margin-bottom:1.5rem;
}
.value-box h4{color:var(--gs-navy-deep);margin-bottom:1rem;}
.value-box p{color:#657a89;font-size:.95rem;line-height:1.6;}

.history-timeline{
  position:relative;
  padding-left:2rem;
  border-left:2px solid var(--gs-line);
}
.timeline-item{
  position:relative;
  margin-bottom:2.5rem;
}
.timeline-item:last-child{margin-bottom:0;}
.timeline-dot{
  position:absolute;
  left:-2.75rem; /* -2rem padding - half width */
  top:0;
  width:24px;height:24px;
  border-radius:50%;
  background:var(--gs-red);
  border:4px solid var(--gs-ivory);
}
.timeline-year{
  font-family:'Roboto Condensed',sans-serif;
  font-size:1.4rem;
  font-weight:700;
  color:var(--gs-navy);
  margin-bottom:.3rem;
  line-height:1;
}
.timeline-content h5{
  color:var(--gs-navy-deep);
  margin-bottom:.5rem;
}
.timeline-content p{
  color:#657a89;
  font-size:.95rem;
  margin-bottom:0;
}

/* ===== Specific to Products Page ===== */
.sidebar-filter{
  background:#fff;
  border:1px solid var(--gs-line);
  border-radius:12px;
  padding:1.5rem;
}
.sidebar-filter h5{
  font-size:1.1rem;
  color:var(--gs-navy-deep);
  margin-bottom:1rem;
  font-weight:700;
}
.filter-list{
  list-style:none;
  padding:0;
  margin:0;
}
.filter-list li{
  margin-bottom:.6rem;
}
.filter-list a{
  color:#657a89;
  font-size:.95rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.3rem 0;
  transition:color .2s;
}
.filter-list a:hover, .filter-list a.active{
  color:var(--gs-red);
  font-weight:500;
}
.filter-list a .count{
  background:var(--gs-ivory);
  color:var(--gs-navy);
  font-size:.75rem;
  padding:.15rem .5rem;
  border-radius:20px;
}
.product-card .cat-label{
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--gs-red);
  font-weight:700;
  margin-bottom:.5rem;
}
.product-actions{
  margin-top:auto;
  display:flex;
  gap:.6rem;
}
.product-actions .btn{
  flex:1;
  font-size:.85rem;
  padding:.5rem;
}

/* ===== Specific to Product Detail Page ===== */
.product-gallery{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.gallery-main{
  width:100%;
  height:450px;
  background:var(--gs-ivory);
  border-radius:16px;
  border:1px solid var(--gs-line);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:6rem;
  color:var(--gs-navy);
}
.gallery-thumbs{
  display:flex;
  gap:1rem;
}
.gallery-thumb{
  width:80px;
  height:80px;
  background:var(--gs-ivory);
  border-radius:8px;
  border:1px solid var(--gs-line);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:2rem;
  color:var(--gs-navy);
  transition:border-color .2s;
}
.gallery-thumb:hover, .gallery-thumb.active{
  border-color:var(--gs-red);
}

.product-info-panel h1{
  font-size:clamp(1.8rem, 2.5vw, 2.4rem);
  color:var(--gs-navy-deep);
  margin-bottom:.5rem;
}
.product-info-panel .cat-badge{
  display:inline-block;
  padding:.3rem .8rem;
  background:rgba(210,47,50,.1);
  color:var(--gs-red);
  font-size:.8rem;
  font-weight:700;
  border-radius:20px;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:1rem;
}
.cert-badges{
  display:flex;
  gap:1rem;
  margin:1.5rem 0;
}
.cert-badge{
  display:flex;
  align-items:center;
  gap:.4rem;
  font-size:.85rem;
  color:#657a89;
  font-weight:600;
}
.cert-badge i{
  color:var(--gs-teal);
  font-size:1.1rem;
}
.key-features{
  margin:2rem 0;
  padding-left:1.2rem;
}
.key-features li{
  margin-bottom:.6rem;
  color:#4c6172;
  font-size:.95rem;
}

.enquiry-box{
  background:#fff;
  border:1px solid var(--gs-line);
  border-radius:12px;
  padding:1.5rem;
  margin-top:2rem;
  box-shadow:0 8px 24px rgba(11,59,96,.04);
}

/* Tabs */
.nav-tabs-gs{
  border-bottom:2px solid var(--gs-line);
}
.nav-tabs-gs .nav-link{
  color:#657a89;
  font-weight:600;
  border:none;
  border-bottom:2px solid transparent;
  margin-bottom:-2px;
  padding:1rem 1.5rem;
  background:transparent;
}
.nav-tabs-gs .nav-link:hover{
  color:var(--gs-navy);
  border-color:var(--gs-line);
}
.nav-tabs-gs .nav-link.active{
  color:var(--gs-red);
  border-color:var(--gs-red);
}
.tab-content-gs{
  padding:2.5rem 0;
}

.product-thumb-sm{
  height:180px;
  background:linear-gradient(135deg,var(--gs-ivory) 0%,#e8eff4 100%);
  display:flex;align-items:center;justify-content:center;
  color:var(--gs-navy);font-size:3rem;
}

/* ===== Specific to Quality Page ===== */
.quality-feature{
  display:flex;
  gap:1.5rem;
  align-items:flex-start;
  margin-bottom:2.5rem;
}
.quality-feature .icon{
  width:64px;height:64px;
  border-radius:12px;
  background:var(--gs-ivory);
  color:var(--gs-navy);
  display:flex;align-items:center;justify-content:center;
  font-size:1.8rem;
  flex-shrink:0;
}
.quality-feature h4{
  color:var(--gs-navy-deep);
  margin-bottom:.5rem;
  font-size:1.25rem;
}
.quality-feature p{
  color:#657a89;
  line-height:1.6;
  margin-bottom:0;
}

.cert-card{
  background:#fff;
  border:1px solid var(--gs-line);
  border-radius:16px;
  padding:3rem 2rem;
  text-align:center;
  height:100%;
  transition:transform .25s ease, box-shadow .25s ease;
}
.cert-card:hover{
  transform:translateY(-8px);
  box-shadow:0 16px 32px rgba(11,59,96,.08);
}
.cert-card .cert-badge{
  width:120px;height:120px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--gs-ivory),#fff);
  border:2px dashed var(--gs-teal);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.5rem;
  color:var(--gs-navy);
  font-size:3rem;
}
.cert-card h3{
  color:var(--gs-navy-deep);
  font-size:1.4rem;
  margin-bottom:.8rem;
}
.cert-card p{
  color:#657a89;
  font-size:.95rem;
  margin-bottom:0;
}

/* ===== Specific to Inquiry Page ===== */
.inquiry-wrapper{
  background:#fff;
  border-radius:16px;
  box-shadow:0 10px 40px rgba(11,59,96,.06);
  border:1px solid var(--gs-line);
  overflow:hidden;
}
.inquiry-header{
  background:linear-gradient(135deg,var(--gs-navy-deep),var(--gs-navy));
  color:#fff;
  padding:3rem 3rem 2rem;
}
.inquiry-body{
  padding:3rem;
}
.form-label{
  font-weight:600;
  color:var(--gs-navy-deep);
  font-size:.9rem;
  margin-bottom:.4rem;
}
.form-control, .form-select{
  padding:.75rem 1rem;
  border:1px solid var(--gs-line);
  border-radius:8px;
  background:var(--gs-ivory);
  color:var(--gs-ink);
  transition:border-color .2s, box-shadow .2s;
}
.form-control:focus, .form-select:focus{
  background:#fff;
  border-color:var(--gs-red);
  box-shadow:0 0 0 .25rem rgba(210,47,50,.15);
}
.form-check-input:checked{
  background-color:var(--gs-red);
  border-color:var(--gs-red);
}

.trust-panel{
  background:var(--gs-ivory);
  border-radius:16px;
  padding:2.5rem;
  border:1px solid var(--gs-line);
}
.trust-feature{
  display:flex;
  gap:1rem;
  margin-bottom:1.5rem;
}
.trust-feature .icon{
  font-size:1.5rem;
  color:var(--gs-red);
  margin-top:-3px;
}
.trust-feature h6{
  color:var(--gs-navy-deep);
  font-weight:700;
  margin-bottom:.2rem;
}
.trust-feature p{
  color:#657a89;
  font-size:.85rem;
  margin-bottom:0;
}
.contact-block{
  margin-top:2rem;
  padding-top:2rem;
  border-top:1px dashed var(--gs-line);
}
.cert-card p{
  color:#657a89;
  font-size:.95rem;
  margin-bottom:0;
}

/* ===== Specific to Contact Page ===== */
.contact-info-card{
  background:#fff;
  border:1px solid var(--gs-line);
  border-radius:14px;
  padding:2.5rem 2rem;
  text-align:center;
  height:100%;
  transition:transform .25s ease, box-shadow .25s ease;
}
.contact-info-card:hover{
  transform:translateY(-5px);
  box-shadow:0 12px 24px rgba(11,59,96,.08);
}
.contact-info-card .icon{
  width:70px;
  height:70px;
  border-radius:50%;
  background:rgba(210,47,50,.1);
  color:var(--gs-red);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  margin:0 auto 1.5rem;
}
.contact-info-card h4{
  color:var(--gs-navy-deep);
  margin-bottom:1rem;
  font-size:1.3rem;
}
.contact-info-card p, .contact-info-card a{
  color:#657a89;
  font-size:1rem;
  margin-bottom:0;
  line-height:1.6;
}
.contact-info-card a:hover{
  color:var(--gs-red);
}

.form-container{
  background:#fff;
  border-radius:16px;
  box-shadow:0 10px 40px rgba(11,59,96,.06);
  border:1px solid var(--gs-line);
  overflow:hidden;
}
.form-header{
  background:linear-gradient(135deg,var(--gs-navy-deep),var(--gs-navy));
  color:#fff;
  padding:3rem;
}
.form-header h3{
  font-size:2rem;
  margin-bottom:.5rem;
}
.form-body{
  padding:3rem;
}

.map-container{
  height: 400px;
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  background: var(--gs-line);
  position: relative;
  border: 1px solid var(--gs-line);
}
.map-container iframe{
  width: 100%;
  height: 100%;
  border: 0;
}

/* ===== Specific to Privacy Page ===== */
.legal-content-wrapper{
  background:#fff;
  border-radius:16px;
  box-shadow:0 10px 40px rgba(11,59,96,.04);
  border:1px solid var(--gs-line);
  padding:3.5rem;
}

.legal-section{
  margin-bottom:3rem;
}
.legal-section:last-child{
  margin-bottom:0;
}
.legal-section h4{
  color:var(--gs-navy-deep);
  font-size:1.4rem;
  margin-bottom:1rem;
  padding-bottom:.5rem;
  border-bottom:1px solid var(--gs-line);
}
.legal-section p{
  color:#4c6172;
  line-height:1.7;
  margin-bottom:1rem;
  font-size:.98rem;
}
.legal-section ul{
  color:#4c6172;
  line-height:1.7;
  margin-bottom:1rem;
  font-size:.98rem;
  padding-left:1.5rem;
}
.legal-section ul li{
  margin-bottom:.5rem;
}

/* Sidebar Nav for Legal Page */
.legal-nav{
  position:sticky;
  top:100px;
  background:var(--gs-ivory);
  border:1px solid var(--gs-line);
  border-radius:12px;
  padding:1.5rem;
}
.legal-nav h5{
  font-size:1.1rem;
  color:var(--gs-navy-deep);
  margin-bottom:1rem;
  font-weight:700;
}
.legal-nav-list{
  list-style:none;
  padding:0;
  margin:0;
}
.legal-nav-list li{
  margin-bottom:.5rem;
}
.legal-nav-list a{
  color:#657a89;
  font-size:.95rem;
  display:block;
  padding:.4rem 0;
  transition:color .2s;
}
.legal-nav-list a:hover, .legal-nav-list a.active{
  color:var(--gs-red);
  font-weight:500;
}

/* ===== FAQ Accordion ===== */
.accordion-gs .accordion-item {
  border: none;
  border-radius: 12px;
  margin-bottom: 1rem;
  box-shadow: 0 4px 15px rgba(11,59,96,.04);
  background: #fff;
  overflow: hidden;
}
.accordion-gs .accordion-header {
  margin: 0;
}
.accordion-gs .accordion-button {
  font-weight: 600;
  color: var(--gs-navy-deep);
  background: #fff;
  box-shadow: none !important;
  padding: 1.25rem 1.5rem;
  border-radius: 12px !important;
}
.accordion-gs .accordion-button:not(.collapsed) {
  color: var(--gs-red);
  background: rgba(210,47,50,.03);
}
.accordion-gs .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23082C49'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.accordion-gs .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23D22F32'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.accordion-gs .accordion-body {
  padding: 0 1.5rem 1.5rem;
  color: #657a89;
  line-height: 1.6;
}

/* ===== Company Sidebar ===== */
.company-sidebar {
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--gs-line);
  box-shadow: 0 10px 30px rgba(11,59,96,.06);
  overflow: hidden;
  height: max-content;
}
.company-sidebar-header {
  background: linear-gradient(135deg, var(--gs-navy-deep), var(--gs-navy));
  padding: 1.5rem;
}
.company-sidebar-body {
  padding: 1.8rem;
}

/* ===== Quick Enquiry Card ===== */
.quick-enquiry-card {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 15px 40px rgba(11,59,96,.08);
  border: 1px solid var(--gs-line);
}
.quick-enquiry-card .form-control, .quick-enquiry-card .form-select {
  border-color: rgba(11,59,96, 0.1);
}
.quick-enquiry-card .form-control:focus, .quick-enquiry-card .form-select:focus {
  border-color: var(--gs-teal);
  box-shadow: 0 0 0 0.25rem rgba(18,140,147, 0.15);
}

/* ===== Orbit Animation ===== */
.orbit-container {
  position: relative;
  width: 100%;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}
.orbit-center {
  width: 80px;
  height: 80px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 10px rgba(255,255,255,0.05);
  z-index: 2;
}
.orbit-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 280px;
  height: 280px;
  margin-top: -140px;
  margin-left: -140px;
  border: 1px dashed rgba(255,255,255,0.2);
  border-radius: 50%;
  animation: spinRing 25s linear infinite;
}
.orbit-item {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120px;
  height: 120px;
  margin-top: -60px;
  margin-left: -60px;
  transform: rotate(var(--angle)) translateX(140px);
}
.orbit-item-inner {
  width: 100%; height: 100%;
  transform: rotate(calc(-1 * var(--angle)));
}
.orbit-content {
  width: 100%; height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  animation: counterSpinOnly 25s linear infinite;
}
.icon-orb {
  width: 50px;
  height: 50px;
  background: var(--gs-navy-deep);
  border: 2px solid var(--gs-red);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
  box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}
.orbit-content h5 {
  font-size: 0.85rem;
  color: #fff;
  margin: 0;
  text-align: center;
  text-shadow: 0 2px 4px rgba(0,0,0,0.8);
}
@keyframes spinRing {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes counterSpinOnly {
  from { transform: rotate(0deg); }
  to { transform: rotate(-360deg); }
}

/* ===== Certificates Section Stacked Layout ===== */
.cert-stack-showcase {
  position: relative;
  height: 480px;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1200px;
}
.cert-stack-item {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 260px;
  /* Instead of margin-top we use translateY in transforms, but since it's an image, height is dynamic. 
     Using transform: translate(-50%, -50%) as the base is best. */
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
  box-shadow: 0 15px 35px rgba(0,0,0,0.3);
}
.cert-stack-item img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid rgba(0,0,0,0.05);
}
.cert-stack-item a {
  display: block;
  position: relative;
}
.cert-stack-item .hover-icon {
  position: absolute;
  inset: 0;
  background: rgba(11,59,96,0.6);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.cert-stack-item a:hover .hover-icon {
  opacity: 1;
}

/* Base Positioning */
.cert-left {
  transform: translate(calc(-50% - 110px), -50%) rotate(-8deg) scale(0.85);
  z-index: 1;
  filter: brightness(0.7);
}
.cert-right {
  transform: translate(calc(-50% + 110px), -50%) rotate(8deg) scale(0.85);
  z-index: 1;
  filter: brightness(0.7);
}
.cert-center {
  transform: translate(-50%, -50%) scale(1.05);
  z-index: 3;
  box-shadow: 0 25px 50px rgba(0,0,0,0.4);
}

/* Hover over showcase dims all, hovering a specific item brings it forward and brightens it */
.cert-stack-showcase:hover .cert-stack-item {
  filter: brightness(0.5);
}
.cert-stack-showcase .cert-stack-item:hover {
  filter: brightness(1);
  transform: translate(-50%, calc(-50% - 20px)) scale(1.12);
  z-index: 10;
  box-shadow: 0 30px 60px rgba(0,0,0,0.6);
}

/* Mobile responsive adjustments */
@media (max-width: 767px) {
  .cert-stack-showcase { height: 380px; }
  .cert-stack-item { width: 190px; }
  .cert-left { transform: translate(calc(-50% - 60px), -50%) rotate(-6deg) scale(0.9); }
  .cert-right { transform: translate(calc(-50% + 60px), -50%) rotate(6deg) scale(0.9); }
  .cert-center { transform: translate(-50%, -50%) scale(1.0); }
  
  .cert-stack-showcase .cert-stack-item:hover {
    transform: translate(-50%, calc(-50% - 10px)) scale(1.05);
  }
}

/* ===== Glassmorphism Form ===== */
.glass-input {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
}
.glass-input::placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
}
.glass-input:focus {
  background: rgba(255, 255, 255, 0.25) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
}

/* ===== Client Marquee ===== */
.client-marquee-wrap {
  width: 100%;
  overflow: hidden;
  background: #fff;
  padding: 3rem 0;
  border-top: 1px solid var(--gs-line);
  border-bottom: 1px solid var(--gs-line);
}
.client-marquee {
  display: flex;
  width: max-content;
  animation: scrollMarquee 30s linear infinite;
}
.client-marquee:hover {
  animation-play-state: paused;
}
.client-logo {
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 150px;
}
.client-logo img {
  max-width: 150px;
  max-height: 70px;
  width: auto;
  height: auto;
  object-fit: contain;
  /* filter: grayscale(100%) opacity(0.7); */
  transition: all 0.3s ease;
}
.client-logo img:hover {
  filter: grayscale(0%) opacity(1);
  transform: scale(1.1);
}

@keyframes scrollMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); } /* Scrolls exactly half to create a perfect loop */
}

/* ===== Global Presence Map ===== */
.bg-navy-deep {
  background-color: var(--gs-navy-deep);
}
.map-container {
  position: relative;
  width: 100%;
  display: block;
  line-height: 0;
}
.map-container img {
  display: block;
  width: 100%;
  height: auto;
}
.map-pin {
  position: absolute;
  width: 14px;
  height: 14px;
  background-color: var(--gs-red);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
  z-index: 2;
}
.pin-pulse {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-color: var(--gs-red);
  border-radius: 50%;
  animation: pulse-ring 2s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: -1;
}
@keyframes pulse-ring {
  0% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
  100% { transform: translate(-50%, -50%) scale(3.5); opacity: 0; }
}
.pin-label {
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  color: var(--gs-navy-deep);
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 12px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  white-space: nowrap;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  pointer-events: none;
}
/* Show labels on hover */
.map-pin:hover .pin-label {
  opacity: 1;
  visibility: visible;
  top: -32px;
}
/* Show labels by default on small screens */
@media (max-width: 991px) {
  .pin-label {
    opacity: 1;
    visibility: visible;
    top: -30px;
  }
}

/* ===== Responsive Tweaks ===== */
@media (max-width: 767px) {
  .hero-stats .num { font-size: 1.4rem; }
  .hero-stats .lbl { font-size: 0.65rem; }
  .hero-enquiry-form { padding: 1.5rem !important; }
  .map-pin { width: 10px; height: 10px; }
  .pin-label { font-size: 9px; padding: 2px 6px; top: -22px !important; opacity: 1; visibility: visible; }
}

/* Hover Dropdown for Desktop */
@media (min-width: 992px) {
  .dropdown-hover:hover > .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}
