/*
  Gorakhram Haribux Landing Page
  Custom CSS file: designer.css
  Performance notes:
  - Uses local Bootstrap and local assets only.
  - Uses system fonts to avoid render-blocking external font downloads.
  - Animations use transform/opacity and respect prefers-reduced-motion.
*/

:root {
  --gh-primary: #14b883;
  --gh-primary-dark: #068963;
  --gh-primary-soft: #e9fff7;
  --gh-dark: #0b2230;
  --gh-navy: #102d43;
  --gh-text: #173243;
  --gh-muted: #5c7180;
  --gh-soft: #f4fbf8;
  --gh-border: rgba(11, 34, 48, .12);
  --gh-shadow: 0 18px 45px rgba(11, 34, 48, .11);
  --gh-shadow-hover: 0 26px 70px rgba(11, 34, 48, .18);
  --gh-radius-xl: 28px;
  --gh-radius-lg: 22px;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--gh-text);
  background: #fff;
  overflow-x: hidden;
  padding-bottom: calc(76px + env(safe-area-inset-bottom));
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

img, svg { max-width: 100%; height: auto; }

a { text-decoration: none; }

.text-muted-custom { color: var(--gh-muted); }
.bg-soft { background: linear-gradient(180deg, #f7fcfa 0%, #fff 100%); }
.section-pad { padding: clamp(3.8rem, 6vw, 5.6rem) 0; }
.section-kicker {
  color: var(--gh-primary-dark);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .78rem;
}
.section-title {
  color: var(--gh-dark);
  font-size: clamp(2rem, 4.8vw, 3.55rem);
  line-height: 1;
  letter-spacing: -.052em;
  font-weight: 900;
}
.section-copy {
  color: var(--gh-muted);
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  max-width: 760px;
}

.skip-link {
  position: absolute;
  top: -44px;
  left: 12px;
  z-index: 2000;
  padding: .65rem 1rem;
  border-radius: 999px;
  color: #fff;
  background: var(--gh-dark);
  transition: top .2s ease;
}
.skip-link:focus { top: 12px; }

.site-nav {
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 0;
  transition: box-shadow .22s ease, background-color .22s ease, transform .22s ease;
}
.site-nav.is-scrolled {
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 14px 34px rgba(11, 34, 48, .06);
}
.navbar-brand img {
  width: 54px;
  height: 54px;
  object-fit: contain;
  transform: translateZ(0);
}
.brand-title {
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: -.035em;
  color: var(--gh-dark);
}
.brand-subtitle {
  color: var(--gh-muted);
  font-size: .75rem;
  letter-spacing: .02em;
}
.nav-link {
  color: var(--gh-dark);
  font-weight: 760;
  position: relative;
}
.nav-link:hover, .nav-link:focus { color: var(--gh-primary-dark); }
/* Header underline removed for a cleaner navigation bar. */
.navbar-toggler {
  border: 0;
  box-shadow: none !important;
}
.navbar-toggler:focus { box-shadow: 0 0 0 .16rem rgba(20,184,131,.18) !important; }

.btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  transition: transform .16s cubic-bezier(.22, 1, .36, 1), box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
  position: relative;
  z-index: 1;
  text-decoration: none !important;
  -webkit-tap-highlight-color: transparent;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn-gh-primary {
  --bs-btn-bg: var(--gh-primary);
  --bs-btn-border-color: var(--gh-primary);
  --bs-btn-hover-bg: var(--gh-primary-dark);
  --bs-btn-hover-border-color: var(--gh-primary-dark);
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--gh-primary-dark);
  --bs-btn-active-border-color: var(--gh-primary-dark);
  --bs-btn-active-color: #fff;
  --bs-btn-disabled-color: #fff;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(20, 184, 131, .23);
  font-weight: 850;
}
.btn-gh-outline {
  --bs-btn-color: var(--gh-dark);
  --bs-btn-border-color: rgba(11, 34, 48, .22);
  --bs-btn-hover-bg: var(--gh-dark);
  --bs-btn-hover-border-color: var(--gh-dark);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--gh-dark);
  --bs-btn-active-border-color: var(--gh-dark);
  --bs-btn-active-color: #fff;
  color: var(--gh-dark) !important;
  font-weight: 850;
  background: #fff;
}

.btn-gh-primary:hover,
.btn-gh-primary:focus,
.btn-gh-primary:active,
.btn-whatsapp:hover,
.btn-whatsapp:focus,
.btn-whatsapp:active {
  color: #fff !important;
}
.btn-gh-outline:hover,
.btn-gh-outline:focus,
.btn-gh-outline:active {
  color: #fff !important;
}
.btn-light:hover,
.btn-light:focus,
.btn-light:active {
  color: var(--gh-dark) !important;
}

.btn-whatsapp {
  --bs-btn-bg: #25d366;
  --bs-btn-border-color: #25d366;
  --bs-btn-hover-bg: #1fb95a;
  --bs-btn-hover-border-color: #1fb95a;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #1fb95a;
  --bs-btn-active-border-color: #1fb95a;
  --bs-btn-active-color: #fff;
  color: #fff !important;
  font-weight: 850;
  box-shadow: 0 10px 22px rgba(37, 211, 102, .22);
}

.hero {
  position: relative;
  overflow: hidden;
  min-height: clamp(620px, 76vh, 760px);
  display: flex;
  align-items: center;
  color: #fff;
  padding: clamp(6.25rem, 9vw, 7.6rem) 0 clamp(3.2rem, 5.5vw, 4.6rem);
  background:
    radial-gradient(circle at 86% 10%, rgba(20, 184, 131, .24), transparent 28%),
    radial-gradient(circle at 14% 88%, rgba(38, 216, 165, .11), transparent 30%),
    linear-gradient(135deg, #0e2f40 0%, #1a5368 52%, #0a705d 100%);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.82), transparent 88%);
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.82), transparent 88%);
  pointer-events: none;
}
.hero::after {
  content: "";
  position: absolute;
  width: min(42vw, 460px);
  aspect-ratio: 1;
  right: -10%;
  bottom: -20%;
  border-radius: 50%;
  border: 58px solid rgba(255,255,255,.045);
  pointer-events: none;
}
.hero .container { position: relative; z-index: 1; }
.hero h1 {
  font-size: clamp(2.35rem, 5.5vw, 4.35rem);
  line-height: 1.02;
  letter-spacing: -.064em;
  font-weight: 900;
  margin: .9rem 0;
}
.hero-copy {
  font-size: clamp(.98rem, 1.6vw, 1.12rem);
  color: rgba(255,255,255,.88);
  max-width: 660px;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  padding: .48rem .78rem;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.19);
  color: #dffdf3;
  font-weight: 850;
  font-size: .86rem;
}
.pulse-dot {
  width: .58rem;
  height: .58rem;
  border-radius: 999px;
  background: #66f2bf;
  box-shadow: 0 0 0 0 rgba(102, 242, 191, .68);
  animation: ghPulse 2s infinite;
}
.usp-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  margin: 1.35rem 0;
  padding: 0;
  list-style: none;
}
.usp-list li {
  display: flex;
  align-items: center;
  gap: .65rem;
  color: rgba(255,255,255,.94);
  font-weight: 750;
}
.check-icon, .feature-icon {
  width: 34px;
  height: 34px;
  min-width: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(20, 184, 131, .18);
  color: #65f0bf;
  font-weight: 900;
}
.hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1rem;
}
.hero-proof span {
  padding: .42rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.13);
  color: rgba(255,255,255,.78);
  font-weight: 700;
  font-size: .88rem;
}

.lead-form-card {
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255, 255, 255, .985);
  color: var(--gh-dark);
  border-radius: var(--gh-radius-xl);
  box-shadow: 0 20px 56px rgba(0,0,0,.22);
  transform: translateZ(0);
}
.lead-form-card .form-control,
.lead-form-card .form-select {
  min-height: 48px;
  border-radius: 15px;
  border-color: rgba(11, 34, 48, .14);
  font-size: 1rem;
}
.lead-form-card textarea.form-control { min-height: 82px; }
.lead-form-card .form-control:focus,
.lead-form-card .form-select:focus {
  border-color: rgba(20, 184, 131, .7);
  box-shadow: 0 0 0 .24rem rgba(20, 184, 131, .14);
}
.lead-form-card label {
  font-weight: 780;
  font-size: .89rem;
  color: #314b5a;
}
.form-microcopy { font-size: .84rem; color: var(--gh-muted); }

.trust-strip {
  position: relative;
  z-index: 4;
  margin-top: -28px;
}
.stat-card {
  height: 100%;
  background: rgba(255,255,255,.98);
  border: 1px solid var(--gh-border);
  border-radius: var(--gh-radius-lg);
  padding: 1.2rem;
  box-shadow: var(--gh-shadow);
  transition: transform .18s ease, box-shadow .18s ease;
}
.stat-card:hover { transform: translateY(-4px); box-shadow: var(--gh-shadow-hover); }
.stat-card strong {
  display: block;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1;
  letter-spacing: -.04em;
  color: var(--gh-dark);
  margin-bottom: .38rem;
}
.stat-card span { color: #46606e; font-weight: 670; }

.product-card,
.why-card,
.testimonial-card,
.showcase-card,
.industry-pill {
  border: 1px solid var(--gh-border);
  border-radius: var(--gh-radius-lg);
  background: #fff;
  box-shadow: 0 14px 34px rgba(11, 34, 48, .07);
}
.product-card {
  height: 100%;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.product-card:hover,
.product-card:focus-within {
  transform: translateY(-7px);
  box-shadow: var(--gh-shadow-hover);
  border-color: rgba(20, 184, 131, .32);
}
.product-visual {
  min-height: 190px;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 25% 24%, rgba(255,255,255,.78), transparent 17%),
    linear-gradient(135deg, rgba(20,184,131,.95), rgba(11,34,48,.96));
}
.product-visual::after {
  content: "";
  position: absolute;
  width: 155px;
  height: 155px;
  right: -42px;
  bottom: -48px;
  border-radius: 50%;
  border: 22px solid rgba(255,255,255,.15);
}
.product-card:hover .cylinder { transform: translateY(-4px) rotate(-2deg); }
.cylinder {
  position: relative;
  z-index: 1;
  width: 72px;
  height: 130px;
  border-radius: 18px 18px 14px 14px;
  background: linear-gradient(90deg, #e8fffa 0%, #fff 42%, #bfeee0 100%);
  box-shadow: 20px 20px 42px rgba(0,0,0,.24);
  transition: transform .22s ease;
}
.cylinder::before {
  content: "";
  position: absolute;
  width: 40px;
  height: 18px;
  top: -16px;
  left: 16px;
  border-radius: 10px 10px 3px 3px;
  background: #e8fffa;
}
.cylinder::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 43px;
  height: 25px;
  border-radius: 7px;
  background: var(--gh-primary);
}
.card-link {
  color: var(--gh-primary-dark);
  font-weight: 850;
}
.card-link:hover { color: #045d45; }

.why-card {
  height: 100%;
  padding: 1.45rem;
  transition: transform .22s ease, box-shadow .22s ease;
}
.why-card:hover { transform: translateY(-6px); box-shadow: var(--gh-shadow-hover); }
.why-card .feature-icon {
  background: var(--gh-primary-soft);
  color: var(--gh-primary-dark);
  margin-bottom: 1rem;
}

.industries-wrap {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 0 0, rgba(20,184,131,.18), transparent 30%),
    linear-gradient(135deg, #f6fbf9, #eef8fb);
  border: 1px solid var(--gh-border);
  border-radius: 34px;
  padding: clamp(1.5rem, 4vw, 3rem);
}
.industries-wrap::after {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  right: -160px;
  top: -160px;
  border-radius: 50%;
  background: rgba(20,184,131,.08);
}
.industries-wrap > * { position: relative; z-index: 1; }
.industry-pill {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 68px;
  height: 100%;
  padding: .95rem 1rem;
  font-weight: 850;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.industry-pill:hover {
  transform: translateY(-4px);
  box-shadow: var(--gh-shadow);
  border-color: rgba(20, 184, 131, .32);
}
.industry-pill span { font-size: 1.2rem; }

.testimonial-card {
  padding: clamp(1.25rem, 3vw, 2rem);
  min-height: 250px;
  height: 100%;
  box-shadow: 0 16px 44px rgba(11, 34, 48, .1);
}
#testimonialCarousel,
#testimonialCarousel .carousel-inner {
  overflow: visible;
}
#testimonialCarousel .carousel-inner {
  padding: .6rem .25rem 1.2rem;
}
#testimonialCarousel .carousel-item {
  padding: .35rem .15rem;
}
.stars { color: #ffb300; letter-spacing: .08em; }
.carousel-control-btn {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  font-size: 1.5rem;
  line-height: 1;
}

.showcase-card {
  height: 100%;
  padding: 1.4rem;
  overflow: hidden;
}
.showcase-visual {
  min-height: 220px;
  display: grid;
  place-items: center;
  color: #fff;
  overflow: hidden;
  position: relative;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(11,34,48,.98), rgba(20,184,131,.82)),
    repeating-linear-gradient(90deg, transparent 0 18px, rgba(255,255,255,.07) 18px 19px);
}
.showcase-visual .cylinder { transform: scale(1.25); }
.logo-tile {
  border: 1px solid var(--gh-border);
  border-radius: 18px;
  background: #fff;
  padding: 1rem;
  text-align: center;
  font-weight: 850;
  color: var(--gh-muted);
  transition: transform .18s ease, border-color .18s ease;
}
.logo-tile:hover { transform: translateY(-3px); border-color: rgba(20,184,131,.35); }

.accordion-item {
  border-color: var(--gh-border);
  border-radius: 16px !important;
  overflow: hidden;
  margin-bottom: .75rem;
  box-shadow: 0 10px 28px rgba(11, 34, 48, .04);
}
.accordion-button {
  font-weight: 850;
  color: var(--gh-dark);
  min-height: 60px;
}
.accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(20, 184, 131, .15); }
.accordion-button:not(.collapsed) {
  color: var(--gh-dark);
  background: var(--gh-primary-soft);
  box-shadow: none;
}

.final-cta {
  overflow: hidden;
  position: relative;
  color: #fff;
  border-radius: 34px;
  padding: clamp(2rem, 5vw, 4.2rem);
  background:
    radial-gradient(circle at 100% 0, rgba(20,184,131,.36), transparent 35%),
    linear-gradient(135deg, var(--gh-dark), #123d55);
}
.final-cta::after {
  content: "";
  position: absolute;
  width: 380px;
  height: 380px;
  border: 70px solid rgba(255,255,255,.055);
  border-radius: 50%;
  right: -180px;
  bottom: -210px;
}
.final-cta > * { position: relative; z-index: 1; }

.site-footer {
  background: #071923;
  color: rgba(255,255,255,.8);
  padding: 54px 0 max(28px, env(safe-area-inset-bottom));
}
.site-footer a { color: rgba(255,255,255,.84); }
.site-footer a:hover { color: #fff; }
.footer-logo {
  width: 56px;
  height: 56px;
  object-fit: contain;
}
.footer-bottom {
  color: rgba(255,255,255,.72);
}

.floating-whatsapp {
  position: fixed;
  right: 18px;
  bottom: calc(92px + env(safe-area-inset-bottom));
  z-index: 1030;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: #25d366;
  border: 3px solid #fff;
  box-shadow: 0 16px 36px rgba(37,211,102,.42);
  font-size: 1.55rem;
  transition: transform .18s ease;
}
.floating-whatsapp:hover { color: #fff; transform: translateY(-3px) scale(1.03); }
.mobile-sticky-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  padding: .62rem .62rem calc(.62rem + env(safe-area-inset-bottom));
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top: 1px solid var(--gh-border);
  box-shadow: 0 -10px 30px rgba(11,34,48,.12);
}

.reveal {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition: opacity .52s cubic-bezier(.22, 1, .36, 1), transform .52s cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.reveal.in-view {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.hero .reveal {
  animation: ghHeroFade .55s cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: var(--reveal-delay, 0ms);
}
.float-soft { animation: ghFloat 7s ease-in-out infinite; }

.content-auto {
  content-visibility: auto;
  contain-intrinsic-size: 900px;
}

@keyframes ghPulse {
  0% { box-shadow: 0 0 0 0 rgba(102, 242, 191, .68); }
  70% { box-shadow: 0 0 0 12px rgba(102, 242, 191, 0); }
  100% { box-shadow: 0 0 0 0 rgba(102, 242, 191, 0); }
}
@keyframes ghFloat {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -5px, 0); }
}
@keyframes ghHeroFade {
  from { opacity: 0; transform: translate3d(0, 10px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (min-width: 992px) {
  body { padding-bottom: 0; }
  .mobile-sticky-cta { display: none; }
  .floating-whatsapp { bottom: 24px; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .hero {
    min-height: auto;
    padding-top: 6.8rem;
    padding-bottom: 3.8rem;
  }
  .hero h1 { font-size: clamp(2.75rem, 5.9vw, 3.85rem); }
  .hero-copy { max-width: 620px; }
  .lead-form-card { border-radius: 24px; }
  .product-visual { min-height: 170px; }
}

@media (max-width: 991.98px) {
  .site-nav .navbar-collapse {
    padding: 1rem 0 .5rem;
  }
  .hero { min-height: auto; }
  .floating-whatsapp { display: none; }
  .mobile-sticky-cta .btn { min-height: 48px; font-size: .95rem; }
}

@media (max-width: 767.98px) {
  html { scroll-padding-top: 78px; }
  .navbar-brand img { width: 46px; height: 46px; }
  .brand-subtitle { display: none; }
  .hero { padding-top: 5.85rem; padding-bottom: 2.9rem; }
  .hero h1 { letter-spacing: -.06em; }
  .usp-list { grid-template-columns: 1fr; }
  .hero-proof { gap: .5rem; }
  .lead-form-card { border-radius: 22px; }
  .section-pad { padding: 3.55rem 0; }
  .stat-card { text-align: center; padding: 1rem; }
  .product-visual { min-height: 172px; }
  .final-cta { border-radius: 24px; }
}

@media (max-width: 430px) {
  .hero h1 { font-size: clamp(2.05rem, 10vw, 2.35rem); }
  .hero-copy { font-size: .98rem; }
  .btn-lg { font-size: 1rem; }
  .lead-form-card { padding: 1.1rem !important; }
  .hero-proof span { font-size: .78rem; }
}

@media (max-height: 520px) and (orientation: landscape) {
  .hero { padding-top: 5.2rem; padding-bottom: 2.4rem; }
  .hero h1 { font-size: 2.2rem; }
  .lead-form-card textarea.form-control { min-height: 68px; }
}

@supports (-webkit-touch-callout: none) {
  input, select, textarea { font-size: 16px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
  .reveal { opacity: 1; transform: none; }
}

/* v5 responsive and interaction refinements */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.site-nav,
.hero,
main,
.site-footer {
  max-width: 100vw;
  overflow-x: clip;
}

.site-nav .container { position: relative; }

.hamburger-lines {
  width: 30px;
  height: 22px;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
}
.hamburger-lines span {
  display: block;
  width: 100%;
  height: 3px;
  border-radius: 999px;
  background: var(--gh-dark);
  transition: transform .2s ease, opacity .2s ease;
}
.navbar-toggler[aria-expanded="true"] .hamburger-lines span:nth-child(1) { transform: translateY(9.5px) rotate(45deg); }
.navbar-toggler[aria-expanded="true"] .hamburger-lines span:nth-child(2) { opacity: 0; }
.navbar-toggler[aria-expanded="true"] .hamburger-lines span:nth-child(3) { transform: translateY(-9.5px) rotate(-45deg); }

.product-visual.image-visual,
.showcase-visual.image-visual {
  padding: 0;
  background: #f2fbf8;
}
.product-visual.image-visual img,
.showcase-visual.image-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  transform: translateZ(0) scale(1.01);
  transition: transform .42s cubic-bezier(.22, 1, .36, 1);
}
.product-card:hover .image-visual img,
.product-card:focus-within .image-visual img,
.showcase-card:hover .image-visual img {
  transform: translateZ(0) scale(1.045);
}

.why-card .feature-icon {
  width: 54px;
  height: 54px;
  min-width: 54px;
  font-size: 1.35rem;
  box-shadow: inset 0 0 0 1px rgba(20, 184, 131, .14);
}

.wa-icon {
  width: 1.35em;
  height: 1.35em;
  display: inline-block;
  flex: 0 0 auto;
}
.floating-whatsapp .wa-icon {
  width: 31px;
  height: 31px;
}

.mobile-sticky-cta {
  transform: translate3d(0, 110%, 0);
  opacity: 0;
  pointer-events: none;
  transition: transform .28s cubic-bezier(.22, 1, .36, 1), opacity .22s ease;
  will-change: transform, opacity;
}
.mobile-sticky-cta.is-visible {
  transform: translate3d(0, 0, 0);
  opacity: 1;
  pointer-events: auto;
}
.mobile-sticky-cta .btn {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 991.98px) {
  .site-nav .navbar-collapse {
    position: absolute;
    top: calc(100% + 10px);
    left: .75rem;
    right: .75rem;
    padding: .85rem;
    background: rgba(255, 255, 255, .99);
    border: 1px solid var(--gh-border);
    border-radius: 22px;
    box-shadow: 0 20px 52px rgba(11, 34, 48, .16);
    max-height: calc(100vh - 112px);
    overflow-y: auto;
    overflow-x: hidden;
  }
  .site-nav .navbar-nav {
    align-items: stretch !important;
    gap: .2rem !important;
  }
  .site-nav .nav-link {
    padding: .78rem .95rem;
    border-radius: 14px;
  }
  .site-nav .nav-link:hover,
  .site-nav .nav-link:focus {
    background: var(--gh-primary-soft);
  }
  .site-nav .nav-item.ms-lg-2 { margin-top: .35rem; }
  .site-nav .nav-item.ms-lg-2 .btn {
    width: 100%;
    min-height: 48px;
  }
  .product-visual.image-visual { min-height: 185px; }
}

@media (max-width: 767.98px) {
  .hero .container {
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }
  .hero .row {
    --bs-gutter-x: 0;
  }
  .hero #quote {
    padding-left: 0;
    padding-right: 0;
  }
  .lead-form-card {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  .mobile-sticky-cta {
    padding-left: max(.62rem, env(safe-area-inset-left));
    padding-right: max(.62rem, env(safe-area-inset-right));
  }
}

@media (max-width: 380px) {
  .mobile-sticky-cta .btn {
    font-size: .88rem;
    padding-left: .55rem;
    padding-right: .55rem;
  }
  .mobile-sticky-cta .wa-icon { width: 1.2em; height: 1.2em; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-sticky-cta,
  .hamburger-lines span,
  .product-visual.image-visual img,
  .showcase-visual.image-visual img {
    transition-duration: .001ms !important;
  }
}

/* v6 button visibility and final CTA animation refinements */
.btn,
button.btn,
a.btn {
  border-width: 2px !important;
  font-weight: 900;
  letter-spacing: .005em;
  isolation: isolate;
  text-shadow: none;
}

.btn-gh-primary,
button.btn-gh-primary,
a.btn-gh-primary {
  background: linear-gradient(135deg, #07966c 0%, #14b883 100%) !important;
  border-color: #047453 !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(4, 116, 83, .30), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.btn-gh-primary:hover,
.btn-gh-primary:focus,
.btn-gh-primary:active {
  background: linear-gradient(135deg, #047453 0%, #0aa673 100%) !important;
  border-color: #035e43 !important;
  color: #ffffff !important;
  box-shadow: 0 16px 34px rgba(4, 116, 83, .38), 0 0 0 .18rem rgba(20,184,131,.18) !important;
}

.btn-header-cta,
.site-nav .btn-header-cta {
  min-width: 138px;
  min-height: 46px;
  padding: .68rem 1.2rem !important;
  background: linear-gradient(135deg, #052333 0%, #07966c 100%) !important;
  border: 2px solid #14b883 !important;
  color: #ffffff !important;
  box-shadow: 0 12px 26px rgba(5, 35, 51, .22), 0 0 0 3px rgba(20,184,131,.10) !important;
}

.site-nav .btn-header-cta:hover,
.site-nav .btn-header-cta:focus,
.site-nav .btn-header-cta:active {
  background: linear-gradient(135deg, #071923 0%, #047453 100%) !important;
  border-color: #66f2bf !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

.btn-gh-outline,
button.btn-gh-outline,
a.btn-gh-outline {
  background: #ffffff !important;
  border-color: #0b2230 !important;
  color: #0b2230 !important;
  box-shadow: 0 10px 22px rgba(11, 34, 48, .10) !important;
}

.btn-gh-outline:hover,
.btn-gh-outline:focus,
.btn-gh-outline:active {
  background: #0b2230 !important;
  border-color: #0b2230 !important;
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(11, 34, 48, .20), 0 0 0 .18rem rgba(11,34,48,.11) !important;
}

.btn-light,
a.btn-light,
button.btn-light {
  background: #ffffff !important;
  border-color: rgba(255,255,255,.95) !important;
  color: #0b2230 !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.16) !important;
}

.btn-light:hover,
.btn-light:focus,
.btn-light:active {
  background: #f2fff9 !important;
  border-color: #ffffff !important;
  color: #0b2230 !important;
}

.btn-whatsapp,
button.btn-whatsapp,
a.btn-whatsapp {
  background: linear-gradient(135deg, #128c4a 0%, #25d366 100%) !important;
  border-color: #0d7a3e !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(18, 140, 74, .30), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.btn-whatsapp:hover,
.btn-whatsapp:focus,
.btn-whatsapp:active {
  background: linear-gradient(135deg, #0d7a3e 0%, #20bd5c 100%) !important;
  border-color: #096f38 !important;
  color: #ffffff !important;
}

.btn:focus-visible,
.nav-link:focus-visible,
.navbar-toggler:focus-visible {
  outline: 3px solid rgba(20, 184, 131, .45);
  outline-offset: 3px;
}

.final-cta {
  isolation: isolate;
  background:
    radial-gradient(circle at 16% 18%, rgba(102,242,191,.22), transparent 26%),
    radial-gradient(circle at 86% 72%, rgba(20,184,131,.26), transparent 28%),
    linear-gradient(135deg, #071923 0%, #0e3850 48%, #075746 100%);
  box-shadow: 0 28px 76px rgba(7, 25, 35, .22);
}

.final-cta::before {
  content: "";
  position: absolute;
  inset: -30%;
  z-index: 0;
  pointer-events: none;
  opacity: .34;
  background-image:
    linear-gradient(115deg, transparent 0 42%, rgba(255,255,255,.16) 43%, transparent 45% 100%),
    linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
  background-size: 280px 100%, 56px 56px, 56px 56px;
  transform: translate3d(-5%, 0, 0) rotate(-5deg);
  animation: ctaCoolingGrid 16s linear infinite;
}

.final-cta::after {
  z-index: 0;
  opacity: .96;
  animation: ctaRingFloat 9s ease-in-out infinite;
  will-change: transform;
}

.cta-bg-animation {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  border-radius: inherit;
}

.cta-orb,
.cta-flow-line {
  position: absolute;
  display: block;
  will-change: transform, opacity;
}

.cta-orb {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: rgba(102, 242, 191, .72);
  box-shadow: 0 0 26px rgba(102, 242, 191, .55);
  animation: ctaOrbDrift 8s ease-in-out infinite;
}

.cta-orb-one { left: 9%; top: 25%; animation-delay: 0s; }
.cta-orb-two { right: 13%; top: 22%; width: 12px; height: 12px; animation-delay: -2.5s; }
.cta-orb-three { left: 72%; bottom: 18%; width: 20px; height: 20px; animation-delay: -5s; }

.cta-flow-line {
  width: min(34vw, 330px);
  height: 2px;
  left: -12%;
  background: linear-gradient(90deg, transparent, rgba(102,242,191,.68), transparent);
  transform: rotate(-12deg);
  opacity: .65;
  animation: ctaLineFlow 7.5s ease-in-out infinite;
}
.cta-flow-one { top: 34%; animation-delay: -1s; }
.cta-flow-two { top: 68%; animation-delay: -4s; }

.final-cta .eyebrow {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.28);
  color: #edfff8;
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
}

.final-cta .btn-gh-primary,
.final-cta .btn-whatsapp {
  min-width: 154px;
}

@keyframes ctaCoolingGrid {
  0% { transform: translate3d(-7%, 0, 0) rotate(-5deg); }
  100% { transform: translate3d(7%, 0, 0) rotate(-5deg); }
}

@keyframes ctaRingFloat {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-18px, -14px, 0) scale(1.035); }
}

@keyframes ctaOrbDrift {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); opacity: .58; }
  50% { transform: translate3d(14px, -16px, 0) scale(1.18); opacity: 1; }
}

@keyframes ctaLineFlow {
  0% { transform: translate3d(-15%, 0, 0) rotate(-12deg); opacity: 0; }
  18%, 72% { opacity: .72; }
  100% { transform: translate3d(160%, 0, 0) rotate(-12deg); opacity: 0; }
}

@media (max-width: 991.98px) {
  .site-nav .btn-header-cta {
    width: 100%;
    min-height: 50px;
    justify-content: center;
    font-size: 1rem;
  }
}

@media (max-width: 575.98px) {
  .final-cta {
    padding: 2.1rem 1rem;
  }
  .final-cta .btn {
    width: 100%;
  }
  .cta-flow-line { width: 260px; }
}

@media (prefers-reduced-motion: reduce) {
  .final-cta::before,
  .final-cta::after,
  .cta-orb,
  .cta-flow-line {
    animation: none !important;
  }
}

/* Final polish: unified icon system, industries section, footer socials */
.gh-svg-icon,
.social-svg {
  display: block;
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.feature-icon,
.industry-icon,
.footer-social a {
  isolation: isolate;
}

.feature-icon .gh-svg-icon {
  font-size: 1.55rem;
}

.industries-wrap {
  background:
    radial-gradient(circle at 8% 8%, rgba(20,184,131,.18), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(31, 111, 235, .10), transparent 30%),
    linear-gradient(135deg, #f7fcfb 0%, #eef9fb 100%);
}

.industries-wrap::before {
  content: "";
  position: absolute;
  inset: 18px;
  pointer-events: none;
  border-radius: 28px;
  background-image:
    linear-gradient(rgba(20,184,131,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20,184,131,.08) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at 50% 50%, #000 0%, transparent 72%);
  opacity: .55;
}

.industries-grid {
  position: relative;
  z-index: 1;
}

.industry-card {
  height: 100%;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1.15rem;
  border-radius: var(--gh-radius-lg);
  border: 1px solid rgba(11, 34, 48, .10);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 16px 34px rgba(11, 34, 48, .075);
  transition: transform .2s cubic-bezier(.22, 1, .36, 1), box-shadow .2s cubic-bezier(.22, 1, .36, 1), border-color .2s ease;
  backdrop-filter: blur(8px);
}

.industry-card:hover,
.industry-card:focus-within {
  transform: translate3d(0, -5px, 0);
  border-color: rgba(20, 184, 131, .32);
  box-shadow: 0 22px 54px rgba(11, 34, 48, .13);
}

.industry-icon {
  width: 54px;
  height: 54px;
  min-width: 54px;
  display: inline-grid;
  place-items: center;
  border-radius: 18px;
  color: var(--gh-primary-dark);
  background: linear-gradient(135deg, #eafff7, #ffffff);
  border: 1px solid rgba(20, 184, 131, .22);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.65), 0 12px 24px rgba(20, 184, 131, .13);
}

.industry-icon .gh-svg-icon {
  font-size: 1.72rem;
}

.industry-card h3 {
  color: var(--gh-dark);
  font-size: 1.02rem;
  line-height: 1.2;
  font-weight: 900;
  margin: .1rem 0 .35rem;
}

.industry-card p {
  color: var(--gh-muted);
  font-size: .92rem;
  line-height: 1.45;
  margin: 0;
}

.footer-social {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-top: .1rem;
}

.footer-social a {
  width: 40px;
  height: 40px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.footer-social a:hover,
.footer-social a:focus {
  color: #ffffff;
  background: rgba(20,184,131,.24);
  border-color: rgba(102,242,191,.55);
  transform: translateY(-2px);
}

.footer-social .social-svg {
  font-size: 1.25rem;
}


@media (max-width: 575.98px) {
  .industry-card {
    padding: 1rem;
    gap: .85rem;
  }
  .industry-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 16px;
  }
  .industry-icon .gh-svg-icon {
    font-size: 1.55rem;
  }
  .industry-card h3 {
    font-size: 1rem;
  }
}

/* Form submission support */
.form-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#leadForm.is-submitting .btn[type="submit"] {
  pointer-events: none;
  opacity: .88;
}

#leadForm.is-submitting .btn[type="submit"]::after {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 2px solid rgba(255,255,255,.6);
  border-top-color: #fff;
  border-radius: 999px;
  animation: gh-spin .75s linear infinite;
}

@keyframes gh-spin { to { transform: rotate(360deg); } }

/* Thank you page */
.thank-you-body {
  padding-bottom: 0;
  background:
    radial-gradient(circle at 15% 20%, rgba(20,184,131,.14), transparent 32%),
    radial-gradient(circle at 85% 72%, rgba(16,45,67,.12), transparent 32%),
    linear-gradient(135deg, #f6fffb 0%, #ffffff 55%, #eefbf6 100%);
}

.thank-you-page {
  padding: clamp(2rem, 6vw, 5rem) 0;
}

.thank-you-card {
  max-width: 760px;
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid rgba(11, 34, 48, .1);
  border-radius: var(--gh-radius-xl);
  background: rgba(255,255,255,.92);
  box-shadow: 0 30px 90px rgba(11, 34, 48, .13);
  overflow: hidden;
  position: relative;
}

.thank-you-card::before,
.thank-you-card::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: rgba(20,184,131,.09);
  pointer-events: none;
}

.thank-you-card::before {
  width: 170px;
  height: 170px;
  top: -70px;
  left: -70px;
}

.thank-you-card::after {
  width: 220px;
  height: 220px;
  right: -100px;
  bottom: -110px;
}

.thank-you-card > * {
  position: relative;
  z-index: 1;
}

.thank-you-title {
  color: var(--gh-dark);
  font-size: clamp(2rem, 5vw, 3.4rem);
  line-height: 1;
  letter-spacing: -.05em;
  font-weight: 900;
}

.thank-you-copy {
  max-width: 590px;
  color: var(--gh-muted);
  font-size: clamp(1rem, 2vw, 1.16rem);
}

.thank-you-note {
  color: var(--gh-muted);
  font-size: .95rem;
}

@media (max-width: 575.98px) {
  .thank-you-actions .btn {
    width: 100%;
  }
}


/* v9: Product image and performance refinements */
.product-visual.image-visual {
  min-height: clamp(190px, 23vw, 245px);
  background: linear-gradient(180deg, #f6fbff 0%, #eef6ff 100%);
}
.product-visual.image-visual::after,
.showcase-visual.image-visual::after { display: none; }
.product-visual.image-visual img {
  object-fit: contain;
  padding: .25rem;
  background: transparent;
}
.product-card:hover .image-visual img,
.product-card:focus-within .image-visual img {
  transform: translateZ(0) scale(1.025);
}
.footer-social a,
.industry-icon,
.feature-icon {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media (max-width: 575.98px) {
  .product-visual.image-visual { min-height: 205px; }
  .product-visual.image-visual img { padding: .15rem; }
}
