:root {
  --u: 1vw;
}

* {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

*::-webkit-scrollbar {
  display: none;
}

:root {
  --bg: #FFFBF6;
  --teal: #00918D;
  --teal-light: #33A7A3;
  --dark-green: #004846;
  --black: #070707;
  --white: #FFFFFF;
  --border: #E4DCD2;
  --tab-active: #F4EEE7;
  --font: 'Bricolage Grotesque', sans-serif;
  --nav-h: 100px;
  --pad: clamp(20px, calc(8.28 * var(--u)), 159px);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.6;
  background: var(--bg);
  color: var(--black);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

img {
  display: block;
  max-width: 100%;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit;
}

ul,
ol {
  list-style: none;
}

.container {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  padding-left: var(--pad);
  padding-right: var(--pad);
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--teal);
  color: var(--white);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  padding: 15px 30px;
  border: none;
  white-space: nowrap;
  transition: background .25s, transform .2s, box-shadow .25s;
}

.btn-primary:hover {
  background: var(--dark-green);
  color: var(--white);
  transform: translateY(-1px);
}

.btn-primary:active {
  transform: translateY(0);
}

.btn-outline-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--white);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  padding: 14px 30px;
  border: 1.5px solid rgba(255, 255, 255, .6);
  white-space: nowrap;
  transition: background .25s, border-color .25s;
}

.btn-outline-light:hover {
  background: rgba(255, 255, 255, .12);
  border-color: var(--white);
  color: var(--white);
}

.eyebrow {
  font-size: 16px;
  font-weight: 600;
  color: var(--teal);
  line-height: 1;
}

.eyebrow--light {
  color: rgba(255, 255, 255, .7);
}

.section-title {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: var(--dark-green);
  text-transform: uppercase;
  line-height: 1.05;
}

.section-title--white {
  color: var(--white);
}

.section-title--black {
  color: var(--black);
}

.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  height: var(--nav-h);
  background: var(--bg);
  transition: box-shadow .3s;
}

.navbar.scrolled {
  box-shadow: 0 2px 24px rgba(0, 0, 0, .09);
}

.nav-inner {
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 var(--pad);
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 30px;
}

.nav-link {
  font-size: 18px;
  font-weight: 500;
  color: var(--black);
  line-height: 1;
  padding-bottom: 4px;
  position: relative;
  transition: color .2s;
  background: none;
  border: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2.5px;
  background: var(--teal-light);
  transition: width .25s;
}

.nav-link:hover {
  color: var(--teal);
}

.nav-link:hover::after {
  width: 100%;
}

.nav-link.active {
  color: var(--teal);
}

.nav-link.active::after {
  width: 100%;
}

.nav-dropdown {
  position: relative;
}

.nav-dropdown>.nav-link::after {
  content: ' ▾';
  font-size: 11px;
  display: inline;
  position: static;
  width: auto;
  height: auto;
  background: none;
}

.dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 20px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--white);
  border: 1px solid var(--border);
  min-width: 210px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, .10);
  z-index: 100;
}

.nav-dropdown:hover .dropdown-menu {
  display: block;
}

.dropdown-item {
  display: block;
  padding: 13px 22px;
  font-size: 15px;
  font-weight: 500;
  color: var(--black);
  border-bottom: 1px solid rgba(228, 220, 210, .5);
  transition: background .2s, color .2s;
}

.dropdown-item:last-child {
  border-bottom: none;
}

.dropdown-item:hover {
  background: var(--tab-active);
  color: var(--teal);
}

.nav-logo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 46px;
  display: flex;
  align-items: center;
}

.nav-logo img {
  height: 46px;
  width: auto;
  object-fit: contain;
}

.nav-right {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: auto;
}

.phone-widget {
  display: flex;
  align-items: center;
  gap: 12px;
}

.phone-icon {
  width: 48px;
  height: 48px;
  background: var(--white);
  border: 1px solid #F2E8DD;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.phone-icon img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.phone-text {
  display: flex;
  flex-direction: column;
}

.phone-label {
  font-size: 14px;
  font-weight: 300;
  opacity: .5;
}

.phone-number {
  font-size: 16px;
  font-weight: 400;
}

.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  margin-left: 16px;
  padding: 4px;
}

.hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--black);
  border-radius: 2px;
  transition: all .3s;
}

.hamburger.open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.hamburger.open span:nth-child(2) {
  opacity: 0;
}

.hamburger.open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.mobile-menu {
  display: none;
  flex-direction: column;
  background: var(--bg);
  padding: 20px var(--pad) 32px;
  border-top: 1px solid var(--border);
}

.mobile-menu.open {
  display: flex;
}

.mobile-link {
  font-size: 18px;
  font-weight: 500;
  padding: 14px 0;
  border-bottom: 1px solid rgba(228, 220, 210, .4);
  color: var(--black);
  transition: color .2s;
}

.mobile-link:hover,
.mobile-link.active {
  color: var(--teal);
}

.mobile-menu .btn-primary {
  margin-top: 20px;
  align-self: flex-start;
}

.hero {
  margin-top: var(--nav-h);
  position: relative;
  height: clamp(380px, calc(41.67 * var(--u)), 800px);
  overflow: hidden;
  display: flex;
  align-items: stretch;
}

.hero-bg {
  position: absolute;
  inset: 0;
}

.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .40);
}

.hero .container {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
}

.hero-inner {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}

.hero-left {
  max-width: 580px;
}

.hero-sub-label {
  font-size: 18px;
  font-weight: 300;
  color: rgba(255, 255, 255, .75);
  margin-bottom: 12px;
}

.hero-title {
  font-size: clamp(36px, calc(3.33 * var(--u)), 64px);
  font-weight: 600;
  color: var(--white);
  line-height: 1.12;
  margin-bottom: 24px;
}

.hero-title span {
  display: block;
}

.hero-desc {
  font-size: clamp(14px, calc(.94 * var(--u)), 18px);
  font-weight: 300;
  color: rgba(255, 255, 255, .75);
  line-height: 1.6;
  max-width: 460px;
  margin-bottom: 36px;
}

.hero-btns {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.hero-circle {
  width: clamp(160px, calc(14.58 * var(--u)), 280px);
  height: clamp(160px, calc(14.58 * var(--u)), 280px);
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, .2);
  flex-shrink: 0;
  position: relative;
}

.hero-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-circle-label {
  position: absolute;
  bottom: clamp(16px, calc(1.56 * var(--u)), 30px);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, .92);
  color: var(--dark-green);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .5px;
  padding: 5px 14px;
  border-radius: 20px;
  white-space: nowrap;
}

.hero-dots {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 2;
}

.hero-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .35);
  cursor: pointer;
  transition: background .2s;
}

.hero-dot.active {
  background: var(--teal-light);
  width: 24px;
  border-radius: 4px;
}

.trust-bar {
  background: var(--white);
  border-bottom: 1px solid var(--border);
  padding: 24px 0;
}

.trust-inner {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}

.trust-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--dark-green);
}

.trust-badge img {
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.trust-sep {
  width: 1px;
  height: 32px;
  background: var(--border);
  flex-shrink: 0;
}

.trust-feat {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--black);
  opacity: .7;
}

.trust-feat img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.products-section {
  padding: clamp(40px, calc(4.17 * var(--u)), 80px) 0;
  background: var(--bg);
}

.products-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

.product-card {
  position: relative;
  min-height: clamp(280px, calc(26.04 * var(--u)), 500px);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  cursor: pointer;
}

.product-card img.product-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.25, .46, .45, .94);
}

.product-card:hover img.product-bg {
  transform: scale(1.05);
}

.product-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .1) 60%, transparent 100%);
}

.product-card-body {
  position: relative;
  z-index: 1;
  padding: clamp(24px, calc(2.08 * var(--u)), 40px);
  width: 100%;
}

.product-card-tag {
  font-size: 12px;
  font-weight: 600;
  color: var(--teal-light);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.product-card-title {
  font-size: clamp(20px, calc(1.56 * var(--u)), 30px);
  font-weight: 600;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

.product-card-desc {
  font-size: clamp(13px, calc(.78 * var(--u)), 15px);
  font-weight: 300;
  color: rgba(255, 255, 255, .75);
  line-height: 1.5;
  max-width: 420px;
  margin-bottom: 20px;
}

.applications-section {
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
  background: var(--white);
}

.apps-header {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: clamp(32px, calc(2.6 * var(--u)), 50px);
}

.apps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.app-card {
  position: relative;
  border-radius: 0;
  overflow: hidden;
  min-height: clamp(180px, calc(16.67 * var(--u)), 320px);
  cursor: pointer;
}

.app-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.app-card:hover img {
  transform: scale(1.06);
}

.app-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, .65) 0%, transparent 55%);
}

.app-card-label {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px 18px 14px;
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 600;
  color: var(--white);
  z-index: 1;
}

.apps-more {
  text-align: center;
  margin-top: clamp(24px, calc(2.08 * var(--u)), 40px);
}

.process-section {
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
  background: var(--bg);
}

.process-header {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin-bottom: clamp(36px, calc(3.65 * var(--u)), 70px);
}

.process-steps {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  position: relative;
}

.process-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  padding: 0 8px;
}

.process-step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 28px;
  left: calc(50% + 30px);
  right: calc(-50% + 30px);
  height: 1px;
  background: rgba(0, 145, 141, .25);
}

.step-circle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1.5px solid var(--teal);
  background: rgba(0, 145, 141, .08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}

.step-circle img {
  width: 26px;
  height: 26px;
  object-fit: contain;
}

.step-label {
  font-size: clamp(12px, calc(.73 * var(--u)), 14px);
  font-weight: 600;
  color: var(--dark-green);
  line-height: 1.4;
}

.stats-bar {
  background: var(--dark-green);
  padding: clamp(36px, calc(3.65 * var(--u)), 70px) 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.stat-item {
  text-align: center;
  padding: 0 20px;
  border-right: 1px solid rgba(255, 255, 255, .15);
}

.stat-item:last-child {
  border-right: none;
}

.stat-num {
  font-size: clamp(36px, calc(3.65 * var(--u)), 70px);
  font-weight: 200;
  color: var(--white);
  line-height: 1;
  margin-bottom: 10px;
}

.stat-label {
  font-size: clamp(12px, calc(.73 * var(--u)), 14px);
  font-weight: 300;
  color: rgba(255, 255, 255, .65);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.industries-section {
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
  background: var(--white);
}

.industries-header {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin-bottom: clamp(32px, calc(2.6 * var(--u)), 50px);
}

.industries-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.industry-card {
  position: relative;
  overflow: hidden;
  min-height: clamp(180px, calc(14.58 * var(--u)), 280px);
  cursor: pointer;
}

.industry-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.industry-card:hover img {
  transform: scale(1.06);
}

.industry-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, .6), transparent 50%);
}

.industry-label {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 600;
  color: var(--white);
  white-space: nowrap;
  z-index: 1;
}

.reviews-section {
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
  background: var(--bg);
}

.reviews-inner {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: clamp(32px, calc(4.17 * var(--u)), 80px);
  align-items: start;
}

.reviews-left h2 {
  font-size: clamp(24px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: var(--dark-green);
  margin-bottom: 10px;
}

.reviews-left p {
  font-size: 16px;
  font-weight: 300;
  color: var(--black);
  opacity: .6;
}

.review-card {
  background: var(--white);
  border: 1px solid var(--border);
  padding: clamp(24px, calc(2.08 * var(--u)), 40px);
  position: relative;
}

.review-stars {
  display: flex;
  gap: 4px;
  margin-bottom: 16px;
}

.review-stars img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.review-text {
  font-size: clamp(16px, calc(1.15 * var(--u)), 22px);
  font-weight: 400;
  color: var(--black);
  line-height: 1.5;
  margin-bottom: 20px;
}

.review-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.review-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--teal-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  color: var(--white);
}

.review-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.review-name {
  font-size: 15px;
  font-weight: 600;
}

.review-role {
  font-size: 13px;
  font-weight: 300;
  opacity: .55;
}

.review-nav {
  display: flex;
  gap: 10px;
  margin-top: 20px;
  justify-content: flex-end;
}

.review-nav-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--white);
  font-size: 16px;
  color: var(--black);
  transition: all .2s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.review-nav-btn:hover {
  background: var(--teal);
  color: var(--white);
  border-color: var(--teal);
}

.about-section {
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
  background: var(--white);
}

.about-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, calc(4.17 * var(--u)), 80px);
  align-items: center;
}

.about-images {
  display: grid;
  grid-template-columns: 3fr 2fr;
  grid-template-rows: 1fr 1fr;
  gap: 10px;
  height: clamp(280px, calc(26.04 * var(--u)), 500px);
}

.about-img-main {
  grid-row: 1 / 3;
  border-radius: 0;
  overflow: hidden;
}

.about-img-sm {
  border-radius: 0;
  overflow: hidden;
}

.about-images img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-content .eyebrow-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.about-content .eyebrow-line {
  width: 50px;
  height: 1px;
  background: var(--dark-green);
}

.about-content h2 {
  font-size: clamp(22px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: var(--black);
  margin-bottom: 20px;
}

.about-content p {
  font-size: clamp(14px, calc(1.04 * var(--u)), 20px);
  font-weight: 400;
  color: var(--black);
  line-height: 1.6;
  margin-bottom: 28px;
}

.contact-section {
  background: var(--dark-green);
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
  position: relative;
}

.contact-inner {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: clamp(32px, calc(4.17 * var(--u)), 80px);
  align-items: start;
}

.contact-left .eyebrow-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.contact-left .eyebrow-line {
  width: 50px;
  height: 1px;
  background: var(--bg);
}

.contact-left h2 {
  font-size: clamp(24px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 20px;
}

.contact-left p {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255, 255, 255, .75);
  line-height: 1.6;
  max-width: 436px;
  margin-bottom: 40px;
}

.contact-info-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}

.contact-info-icon {
  width: 32px;
  height: 32px;
  object-fit: contain;
  flex-shrink: 0;
}

.contact-info-label {
  font-size: 15px;
  font-weight: 400;
  color: rgba(255, 255, 255, .5);
  margin-bottom: 2px;
}

.contact-info-value {
  font-size: 16px;
  font-weight: 300;
  color: var(--white);
  line-height: 1.4;
}

.contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(10px, calc(.78 * var(--u)), 15px);
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-group.full {
  grid-column: 1 / -1;
}

.form-label {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255, 255, 255, .8);
}

.form-field {
  background: rgba(255, 251, 246, .1);
  border: 1px solid #16532F;
  padding: 15px 30px;
  font-size: 15px;
  font-weight: 400;
  color: var(--white);
  font-family: var(--font);
  outline: none;
  transition: border-color .2s;
  width: 100%;
}

.form-field::placeholder {
  color: rgba(255, 251, 246, .4);
}

.form-field:focus {
  border-color: var(--teal);
}

.form-field.textarea {
  min-height: 124px;
  resize: vertical;
}

.form-select {
  background: rgba(255, 251, 246, .1);
  border: 1px solid #16532F;
  padding: 15px 30px;
  font-size: 15px;
  font-weight: 400;
  color: rgba(255, 251, 246, .4);
  font-family: var(--font);
  outline: none;
  width: 100%;
  appearance: none;
  cursor: pointer;
}

.form-select option {
  color: var(--black);
  background: var(--white);
}

.contact-form .btn-primary {
  grid-column: 2 / -1;
  justify-self: start;
}

.footer {
  background: var(--bg);
  position: relative;
  overflow: hidden;
}

.footer::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--teal-light);
  opacity: .30;
  pointer-events: none;
}

.footer-nav-row {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-bottom: 1px solid rgba(17, 94, 48, .2);
}

.footer-nav-link {
  font-size: 16px;
  font-weight: 600;
  color: var(--dark-green);
  height: 118px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid rgba(17, 94, 48, .2);
  text-align: center;
  padding: 0 10px;
  transition: background .2s, color .2s;
}

.footer-nav-link:last-child {
  border-right: none;
}

.footer-nav-link:hover {
  color: var(--teal);
  background: rgba(0, 145, 141, .05);
}

.footer-center {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  padding: 40px var(--pad);
}

.footer-logo img {
  height: 64px;
  width: auto;
  object-fit: contain;
}

.footer-follow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.footer-follow-label {
  font-size: 22px;
  font-weight: 600;
  color: var(--dark-green);
}

.social-links {
  display: flex;
  gap: 20px;
}

.social-link {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s, opacity .2s;
}

.social-link img {
  width: 50px;
  height: 50px;
  object-fit: contain;
}

.social-link:hover {
  transform: translateY(-2px);
  opacity: .8;
}

.footer-rule {
  position: relative;
  height: 1px;
  background: rgba(0, 145, 141, .2);
  margin: 0 var(--pad);
}

.footer-bottom {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px var(--pad);
  flex-wrap: wrap;
}

.footer-copy {
  font-size: 16px;
  font-weight: 400;
  color: var(--black);
  opacity: .5;
}

.footer-tagline {
  font-size: 16px;
  font-weight: 300;
  color: var(--dark-green);
  opacity: .8;
  max-width: 324px;
  text-align: right;
  line-height: 1.5;
}

.page-hero {
  margin-top: var(--nav-h);
  position: relative;
  height: clamp(280px, calc(31.25 * var(--u)), 600px);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding-bottom: clamp(32px, calc(3.12 * var(--u)), 60px);
}

.page-hero-bg {
  position: absolute;
  inset: 0;
}

.page-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .55);
}

.page-hero .container {
  position: relative;
  z-index: 1;
}

.page-hero h1 {
  font-size: clamp(32px, calc(3.33 * var(--u)), 64px);
  font-weight: 600;
  color: var(--white);
  line-height: 1.12;
}

.breadcrumb {
  font-size: 16px;
  font-weight: 300;
  color: var(--white);
  margin-bottom: 20px;
  opacity: .8;
}

.breadcrumb a {
  color: rgba(255, 255, 255, .5);
}

.hero-tabs {
  display: flex;
  gap: 28px;
  margin-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .2);
  padding-top: 20px;
  flex-wrap: wrap;
}

.hero-tab {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, .5);
  cursor: pointer;
  transition: color .2s;
}

.hero-tab.active,
.hero-tab:hover {
  color: var(--white);
}

.decor-stats {
  background: var(--white);
}

.decor-stats-grid {
  display: flex;
  align-items: center;
  padding: clamp(24px, calc(3.12 * var(--u)), 60px) 0;
  gap: 0;
}

.decor-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.decor-stat-divider {
  width: 1px;
  height: 80px;
  background: #CDCAC6;
  flex-shrink: 0;
}

.decor-stat-num {
  font-size: clamp(28px, calc(2.19 * var(--u)), 42px);
  font-weight: 200;
  color: var(--black);
  text-transform: uppercase;
  line-height: 1;
}

.decor-stat-label {
  font-size: 16px;
  font-weight: 300;
  color: var(--dark-green);
}

.decor-stats-rule {
  height: 1px;
  background: rgba(7, 7, 7, .2);
  margin: 0 var(--pad);
}

.gallery-section {
  padding: clamp(40px, calc(5.73 * var(--u)), 110px) 0;
}

.gallery-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
  margin-bottom: clamp(28px, calc(3.12 * var(--u)), 60px);
}

.filters-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: clamp(24px, calc(2.6 * var(--u)), 50px);
}

.filter-tabs {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  flex: 1;
}

.filter-tab {
  font-family: var(--font);
  font-size: clamp(13px, calc(1.04 * var(--u)), 20px);
  font-weight: 500;
  color: var(--black);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 15px 30px;
  background: transparent;
  line-height: 1;
  white-space: nowrap;
  transition: background .2s, transform .15s;
}

.filter-tab:hover,
.filter-tab.active {
  background: var(--tab-active);
}

.search-input {
  font-family: var(--font);
  font-size: 15px;
  font-weight: 500;
  background: var(--tab-active);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 15px 19px;
  width: clamp(180px, calc(15.9 * var(--u)), 305px);
  outline: none;
  transition: border-color .2s;
}

.search-input:focus {
  border-color: var(--teal);
}

.search-input::placeholder {
  opacity: .5;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  margin-bottom: clamp(32px, calc(2.6 * var(--u)), 50px);
}

.gallery-item {
  display: flex;
  flex-direction: column;
  cursor: pointer;
}

.gallery-img-wrap {
  width: 100%;
  aspect-ratio: 376/400;
  overflow: hidden;
  position: relative;
}

.gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.25, .46, .45, .94);
}

.gallery-item:hover .gallery-img {
  transform: scale(1.06);
}

.gallery-label {
  font-size: clamp(16px, calc(1.35 * var(--u)), 26px);
  font-weight: 500;
  color: var(--black);
  margin-top: clamp(8px, calc(.83 * var(--u)), 16px);
}

.load-more-wrap {
  text-align: center;
}

.responsibly-section {
  background: var(--dark-green);
  padding: clamp(48px, calc(5.2 * var(--u)), 100px) 0;
}

.responsibly-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, calc(5.73 * var(--u)), 110px);
  align-items: center;
}

.responsibly-left .eyebrow {
  margin-bottom: 14px;
}

.responsibly-left .section-title {
  margin-bottom: clamp(20px, calc(2.08 * var(--u)), 40px);
}

.responsibly-desc {
  font-size: clamp(15px, calc(1.04 * var(--u)), 20px);
  font-weight: 300;
  color: var(--white);
  line-height: 1.5;
  margin-bottom: clamp(24px, calc(3.12 * var(--u)), 60px);
  max-width: 454px;
}

.cert-badges {
  display: flex;
  gap: clamp(20px, calc(2.6 * var(--u)), 50px);
  flex-wrap: wrap;
}

.cert-badge {
  display: flex;
  align-items: center;
  gap: 17px;
}

.cert-icon {
  width: 76px;
  height: 76px;
  border-radius: 15px;
  object-fit: cover;
  flex-shrink: 0;
}

.cert-title {
  font-size: 20px;
  font-weight: 600;
  color: var(--white);
}

.cert-sub {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255, 255, 255, .6);
}

.trees-card {
  background: rgba(0, 145, 141, .1);
  border-radius: 30px;
  padding: clamp(40px, calc(4.17 * var(--u)), 80px) clamp(32px, calc(3.12 * var(--u)), 60px);
}

.trees-num {
  font-size: clamp(48px, calc(3.33 * var(--u)), 64px);
  font-weight: 300;
  color: var(--white);
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 10px;
}

.trees-label {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255, 255, 255, .6);
  text-transform: uppercase;
  margin-bottom: clamp(20px, calc(2.08 * var(--u)), 40px);
}

.trees-desc {
  font-size: clamp(14px, calc(1.04 * var(--u)), 20px);
  font-weight: 300;
  color: rgba(255, 255, 255, .85);
  line-height: 1.6;
}

.about-page-section {
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
}

.reasons-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--border);
  margin-top: clamp(32px, calc(2.6 * var(--u)), 50px);
}

.reason-item {
  padding: clamp(20px, calc(1.56 * var(--u)), 30px);
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  text-align: center;
}

.reason-item:nth-child(4n) {
  border-right: none;
}

.reason-item:nth-last-child(-n+4) {
  border-bottom: none;
}

.reason-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--teal);
  margin-bottom: 8px;
}

.reason-desc {
  font-size: 13px;
  font-weight: 300;
  color: var(--black);
  opacity: .7;
  line-height: 1.5;
}

.mission-vision-section {
  background: var(--teal);
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
}

.mv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, calc(4.17 * var(--u)), 80px);
}

.mv-label {
  font-size: 16px;
  font-weight: 600;
  color: rgba(255, 255, 255, .6);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 12px;
}

.mv-title {
  font-size: clamp(24px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: var(--white);
  text-transform: uppercase;
  margin-bottom: 20px;
}

.mv-text {
  font-size: clamp(14px, calc(.94 * var(--u)), 18px);
  font-weight: 300;
  color: rgba(255, 255, 255, .8);
  line-height: 1.75;
}

.vision-quote {
  padding: clamp(48px, calc(4.17 * var(--u)), 80px) 0;
  background: var(--bg);
  text-align: center;
}

.quote-text {
  font-size: clamp(16px, calc(1.25 * var(--u)), 24px);
  font-weight: 400;
  font-style: italic;
  color: var(--black);
  max-width: 820px;
  margin: 0 auto 16px;
  line-height: 1.6;
}

.quote-cite {
  font-size: 13px;
  color: rgba(7, 7, 7, .5);
  font-style: normal;
}

.accordion-section {
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
}

.accordion-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: clamp(32px, calc(4.17 * var(--u)), 80px);
  align-items: start;
}

.accordion-left h2 {
  font-size: clamp(24px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: var(--dark-green);
  margin-bottom: 16px;
}

.accordion-left p {
  font-size: 16px;
  font-weight: 300;
  color: var(--black);
  opacity: .7;
  line-height: 1.6;
}

.accordion-item {
  border-bottom: 1px solid var(--border);
}

.accordion-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 0;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  color: var(--black);
  user-select: none;
}

.accordion-toggle {
  margin-left: auto;
  font-size: 22px;
  font-weight: 300;
  color: rgba(7, 7, 7, .4);
  transition: transform .2s;
}

.accordion-item.open .accordion-toggle {
  transform: rotate(45deg);
}

.accordion-body {
  display: none;
  padding: 0 0 18px 0;
  font-size: 14px;
  font-weight: 300;
  color: var(--black);
  opacity: .7;
  line-height: 1.7;
}

.accordion-item.open .accordion-body {
  display: block;
}

.cert-section {
  background: var(--dark-green);
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
}

.cert-inner {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: clamp(32px, calc(4.17 * var(--u)), 80px);
  align-items: center;
}

.cert-left h2 {
  font-size: clamp(24px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: var(--white);
  margin-bottom: 12px;
}

.cert-left p {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255, 255, 255, .6);
  line-height: 1.7;
}

.cert-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.cert-card {
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 0;
  padding: 28px 20px;
  text-align: center;
}

.cert-card-iso {
  font-size: 20px;
  font-weight: 700;
  color: rgba(255, 251, 246, .9);
  margin-bottom: 8px;
}

.cert-card-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 4px;
}

.cert-card-desc {
  font-size: 12px;
  font-weight: 300;
  color: rgba(255, 255, 255, .5);
}

.spec-bar {
  background: rgba(0, 145, 141, .08);
  border-bottom: 1px solid rgba(0, 145, 141, .15);
  padding: 24px 0;
}

.spec-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.spec-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--teal);
  margin-bottom: 6px;
}

.spec-value {
  font-size: clamp(18px, calc(1.35 * var(--u)), 26px);
  font-weight: 700;
  color: var(--dark-green);
}

.spec-note {
  font-size: 12px;
  font-weight: 300;
  color: rgba(7, 7, 7, .5);
  margin-top: 4px;
}

.why-section {
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
  background: var(--bg);
  text-align: center;
}

.why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: clamp(32px, calc(2.6 * var(--u)), 50px);
}

.why-card {
  background: var(--white);
  border: 1px solid var(--border);
  padding: clamp(20px, calc(1.56 * var(--u)), 30px);
  text-align: center;
}

.why-card img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  margin: 0 auto 16px;
}

.why-card h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--dark-green);
  margin-bottom: 8px;
  line-height: 1.4;
}

.why-card p {
  font-size: 13px;
  font-weight: 300;
  color: var(--black);
  opacity: .7;
  line-height: 1.5;
}

.engineered-section {
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
  background: var(--white);
}

.engineered-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, calc(4.17 * var(--u)), 80px);
  align-items: center;
}

.eng-img {
  overflow: hidden;
}

.eng-img img {
  width: 100%;
  height: clamp(280px, calc(22.9 * var(--u)), 440px);
  object-fit: cover;
}

.eng-content h2 {
  font-size: clamp(22px, calc(1.67 * var(--u)), 32px);
  font-weight: 600;
  color: var(--black);
  margin-bottom: 16px;
}

.eng-content p {
  font-size: clamp(14px, calc(.94 * var(--u)), 18px);
  font-weight: 300;
  color: var(--black);
  opacity: .75;
  line-height: 1.75;
  margin-bottom: 14px;
}

.eng-highlight {
  background: var(--dark-green);
  color: rgba(255, 255, 255, .85);
  padding: 20px 24px;
  font-size: 15px;
  font-style: italic;
  line-height: 1.6;
  margin-top: 24px;
  border-left: 3px solid var(--teal-light);
}

.thickness-section {
  padding: clamp(36px, calc(3.65 * var(--u)), 70px) 0;
  background: var(--bg);
}

.thickness-inner {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: clamp(32px, calc(4.17 * var(--u)), 80px);
  align-items: center;
}

.thickness-section h3 {
  font-size: clamp(20px, calc(1.56 * var(--u)), 30px);
  font-weight: 600;
  color: var(--dark-green);
  margin-bottom: 8px;
}

.thickness-section p {
  font-size: 14px;
  font-weight: 300;
  color: var(--black);
  opacity: .65;
}

.thickness-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.pill {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  padding: 14px 22px;
  border: 1.5px solid var(--teal);
  cursor: pointer;
  transition: all .2s;
  background: var(--white);
}

.pill .num {
  font-size: 22px;
  font-weight: 700;
  color: var(--teal);
  line-height: 1;
}

.pill .unit {
  font-size: 11px;
  font-weight: 400;
  color: rgba(7, 7, 7, .45);
  margin-top: 2px;
}

.pill.active,
.pill:hover {
  background: var(--teal);
}

.pill.active .num,
.pill:hover .num {
  color: var(--white);
}

.pill.active .unit,
.pill:hover .unit {
  color: rgba(255, 255, 255, .7);
}

.integrity-banner {
  background: var(--dark-green);
  padding: clamp(48px, calc(4.17 * var(--u)), 80px) 0;
  text-align: center;
}

.devanagari {
  font-size: clamp(18px, calc(1.67 * var(--u)), 32px);
  font-style: italic;
  color: rgba(255, 255, 255, .85);
  margin-bottom: 4px;
}

.devanagari-trans {
  font-size: 13px;
  color: rgba(255, 255, 255, .4);
  margin-bottom: 36px;
}

.integrity-values {
  display: flex;
  justify-content: center;
  gap: clamp(24px, calc(4.17 * var(--u)), 80px);
  flex-wrap: wrap;
}

.int-val {
  font-size: 16px;
  font-weight: 600;
  color: rgba(255, 255, 255, .7);
  letter-spacing: 1px;
}

.app-showcase {
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
  background: var(--white);
}

.app-showcase-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, calc(4.17 * var(--u)), 80px);
  align-items: center;
}

.app-num {
  font-size: clamp(60px, calc(6.25 * var(--u)), 120px);
  font-weight: 800;
  color: rgba(7, 7, 7, .04);
  line-height: 1;
  margin-bottom: -20px;
}

.app-title {
  font-size: clamp(22px, calc(1.67 * var(--u)), 32px);
  font-weight: 600;
  color: var(--black);
  margin-bottom: 10px;
}

.app-desc {
  font-size: clamp(14px, calc(.94 * var(--u)), 18px);
  font-weight: 300;
  color: var(--black);
  opacity: .7;
  line-height: 1.65;
  margin-bottom: 24px;
}

.app-nav-btns {
  display: flex;
  gap: 10px;
}

.app-nav-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--white);
  font-size: 18px;
  color: var(--black);
  transition: all .2s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.app-nav-btn:hover {
  background: var(--teal);
  color: var(--white);
  border-color: var(--teal);
}

.app-showcase-img {
  overflow: hidden;
}

.app-showcase-img img {
  width: 100%;
  height: clamp(280px, calc(22.9 * var(--u)), 440px);
  object-fit: cover;
  transition: transform .5s ease;
}

.app-showcase-img:hover img {
  transform: scale(1.03);
}

.product-apps-section {
  padding: clamp(48px, calc(5.21 * var(--u)), 100px) 0;
  background: var(--bg);
  text-align: center;
}

.product-apps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: clamp(32px, calc(2.6 * var(--u)), 50px);
}

.prod-app-card {
  background: var(--white);
  border: 1px solid var(--border);
  padding: clamp(16px, calc(1.56 * var(--u)), 30px);
  text-align: center;
  transition: border-color .2s;
}

.prod-app-card:hover {
  border-color: var(--teal);
}

.prod-app-card h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--dark-green);
  margin-bottom: 6px;
}

.prod-app-card p {
  font-size: 13px;
  font-weight: 300;
  color: var(--black);
  opacity: .65;
  line-height: 1.5;
}

.downloads-section {
  padding: clamp(36px, calc(3.65 * var(--u)), 70px) 0;
  background: var(--white);
  text-align: center;
}

.download-cards {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-top: clamp(24px, calc(2.08 * var(--u)), 40px);
  flex-wrap: wrap;
}

.download-card {
  background: var(--bg);
  border: 1px solid var(--border);
  padding: 24px 36px;
  display: flex;
  align-items: center;
  gap: 16px;
  cursor: pointer;
  transition: border-color .2s, transform .2s;
}

.download-card:hover {
  border-color: var(--teal);
  transform: translateY(-2px);
}

.dl-icon {
  font-size: 36px;
  color: var(--teal);
}

.dl-title {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 2px;
}

.dl-sub {
  font-size: 12px;
  color: rgba(7, 7, 7, .45);
}

.product-cta {
  background: rgba(0, 145, 141, .08);
  padding: clamp(36px, calc(3.65 * var(--u)), 70px) 0;
  text-align: center;
}

.product-cta h2 {
  font-size: clamp(20px, calc(1.67 * var(--u)), 32px);
  font-weight: 600;
  color: var(--dark-green);
  margin-bottom: 10px;
}

.product-cta p {
  font-size: 16px;
  font-weight: 300;
  color: var(--black);
  opacity: .7;
  margin-bottom: 28px;
}

.product-cta-btns {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

[data-aos] {
  pointer-events: none;
}

[data-aos].aos-animate {
  pointer-events: auto;
}

p {
  margin-top: 0;
  margin-bottom: 0;
}

.gw-container {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  padding-left: var(--pad);
  padding-right: var(--pad);
}

.gw-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--teal);
  color: var(--white);
  font-family: var(--font);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  padding: 16px 30px;
  border: none;
  white-space: nowrap;
  transition: background .25s, transform .2s, box-shadow .25s, border-radius .2s;
  cursor: pointer;
}

.gw-btn-primary:hover {
  background: var(--teal-light);
  color: var(--dark-green);
  transform: translateY(-1px);
  border-radius: 20px 0 0 0;
}

.gw-btn-primary:active {
  transform: translateY(0);
}

.gw-btn-primary--mobile {
  display: block;
  margin: 8px 16px 16px;
  width: calc(100% - 32px);
  text-align: center;
}

.gw-nav-right .gw-btn-primary {
  font-size: 16px;
  padding: 15px 30px;
  font-family: var(--font);
  background: var(--teal);
  letter-spacing: .01em;
}

.gw-nav-right .gw-btn-primary:hover {
  background: var(--teal-light);
  color: var(--dark-green);
  transform: none;
  box-shadow: none;
  border-radius: 20px 0 0 0;
}

.gw-btn-sent {
  background: var(--dark-green) !important;
}

.gw-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--white);
  font-size: 16px;
  font-weight: 600;
  padding: 14px 30px;
  border: 1.5px solid rgba(255, 255, 255, .6);
  white-space: nowrap;
  transition: background .25s, border-color .25s, border-radius .2s;
  cursor: pointer;
}

.gw-btn-outline:hover {
  background: rgba(255, 255, 255, .12);
  border-color: var(--white);
  color: var(--white);
  border-radius: 20px 0 0 0;
}

.gw-eyebrow-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.gw-eyebrow-line {
  width: 50px;
  height: 1px;
  background: var(--dark-green);
  flex-shrink: 0;
}

.gw-eyebrow-line--white {
  background: var(--white);
}

.gw-section-eyebrow {
  font-size: clamp(15px, calc(1.25 * var(--u)), 24px);
  font-weight: 500;
  opacity: .8;
  color: var(--teal);
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0;
}

.gw-section-eyebrow--white {
  color: var(--white);
}

.gw-section-eyebrow--teal {
  color: var(--teal);
}

.gw-section-title {
  font-size: clamp(28px, calc(2.5 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: -.01em;
}

.gw-section-title--dark {
  color: var(--black);
}

.gw-section-title--white {
  color: var(--white);
}

.gw-section-desc {
  font-size: clamp(15px, calc(.94 * var(--u)), 17px);
  font-weight: 300;
  opacity: .7;
  line-height: 1.75;
  margin-top: 16px;
  max-width: 680px;
}

.gw-section-header {
  margin-bottom: clamp(32px, calc(3.13 * var(--u)), 60px);
}

.gw-navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  height: var(--nav-h);
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  transition: box-shadow .3s;
}

.gw-navbar.scrolled {
  box-shadow: 0 2px 16px rgba(0, 0, 0, .08);
}

.gw-nav-inner {
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 var(--pad);
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
}

.gw-nav-links {
  display: flex;
  align-items: center;
  gap: 30px;
}

.gw-nav-link {
  font-size: 18px;
  font-weight: 500;
  color: var(--black);
  line-height: 22px;
  padding-bottom: 3px;
  position: relative;
  transition: color .2s;
  background: none;
  border: none;
  font-family: var(--font);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
}

.gw-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 3px;
  background: var(--teal-light);
  transition: width .25s;
}

.gw-nav-link:hover {
  color: var(--teal);
}

.gw-nav-link:hover::after {
  width: 35%;
}

.gw-nav-link--active {
  color: var(--teal);
}

.gw-nav-dropdown {
  position: relative;
}

.gw-nav-dropdown::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 16px;
}

.gw-dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 14px);
  left: 0;
  width: 460px;
  background: var(--bg);
  border-radius: 12px;
  border: 1px solid var(--border);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .13);
  z-index: 200;
  overflow: visible;
}

.gw-dropdown-menu::before {
  content: '';
  position: absolute;
  top: -9px;
  left: 32px;
  width: 16px;
  height: 16px;
  background: var(--bg);
  border-left: 1px solid var(--border);
  border-top: 1px solid var(--border);
  transform: rotate(45deg);
  border-radius: 2px 0 0 0;
}

.gw-dropdown-body {
  display: flex;
  height: 100%;
  overflow: hidden;
  border-radius: 12px;
}

.gw-nav-link--dropdown[aria-expanded="true"]+.gw-dropdown-menu {
  display: block;
}

.gw-dropdown-items {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.gw-dropdown-item {
  display: block;
  text-decoration: none;
  color: var(--black);
  transition: background .2s;
}

.gw-dropdown-item:hover {
  background: #f4f9f9;
}

.gw-dropdown-item:hover .gw-dropdown-item-name {
  color: var(--teal);
}

.gw-dropdown-item-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 22px 24px;
}

.gw-dropdown-item-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--black);
  line-height: 1.2;
  transition: color .2s;
}

.gw-dropdown-item-desc {
  font-size: 12.5px;
  font-weight: 400;
  color: var(--black);
  opacity: .48;
  line-height: 1.55;
}

.gw-dropdown-divider {
  height: 1px;
  background: var(--border);
  flex-shrink: 0;
}

.gw-dropdown-shared-img {
  width: 185px;
  flex-shrink: 0;
  padding: 12px 12px 12px 0;
}

.gw-dropdown-shared-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 8px;
  transition: opacity .2s ease;
}

.gw-chevron {
  transition: transform .2s;
  flex-shrink: 0;
  width: 5px;
  height: 3px;
  opacity: 0.6;
}

.gw-chevron path {
  stroke: #004846;
}

.gw-nav-link--dropdown[aria-expanded="true"] .gw-chevron {
  transform: rotate(180deg);
}

.gw-logo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  text-decoration: none;
}

.gw-logo img {
  height: 46px;
  width: auto;
  display: block;
}

.gw-nav-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 40px;
}

.gw-phone {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  text-decoration: none;
}

.gw-phone-icon {
  width: 48px;
  height: 48px;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  border: 1px solid #F2E8DD;
  transition: background .25s, border-color .25s;
  flex-shrink: 0;
}

.gw-phone-icon svg path {
  transition: stroke .25s;
}

.gw-phone:hover .gw-phone-icon {
  background: var(--teal);
  border-color: var(--teal);
}

.gw-phone:hover .gw-phone-icon svg path {
  stroke: #fff;
}

.gw-phone-text {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.gw-phone-label {
  font-size: 14px;
  font-weight: 300;
  color: var(--black);
  opacity: .5;
  line-height: 17px;
}

.gw-phone-number {
  font-size: 16px;
  font-weight: 400;
  color: var(--black);
  line-height: 19px;
}

.gw-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 8px;
  margin-left: auto;
  background: none;
  border: none;
  cursor: pointer;
}

.gw-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--black);
  transition: all .3s;
}

.gw-hamburger.open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.gw-hamburger.open span:nth-child(2) {
  opacity: 0;
}

.gw-hamburger.open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.gw-mobile-menu {
  display: none;
  flex-direction: column;
  background: var(--white);
  border-top: 1px solid var(--border);
  padding: 8px 0;
  position: absolute;
  top: var(--nav-h);
  left: 0;
  right: 0;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .12);
  z-index: 999;
}

.gw-mobile-menu.open {
  display: flex;
}

.gw-mobile-link {
  padding: 14px var(--pad);
  font-size: 16px;
  font-weight: 500;
  color: var(--black);
  border-bottom: 1px solid var(--border);
}

.gw-mobile-link--active {
  color: var(--teal);
}

.gw-mobile-link:last-of-type {
  border-bottom: none;
}

.gw-hero {
  position: relative;
  height: 800px;
  margin-top: var(--nav-h);
  overflow: hidden;
  display: flex;
  align-items: center;
}

.gw-hero-bg {
  position: absolute;
  inset: 0;
}

.gw-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gw-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .40);
}

.gw-hero-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  padding-bottom: 80px;
  height: 100%;
}

.gw-hero-left {
  align-self: flex-end;
}

.gw-hero-right {
  align-self: flex-end;
  max-width: 420px;
}

.gw-breadcrumb {
  font-size: 15px;
  font-weight: 400;
  color: rgba(255, 255, 255, .65);
  margin-bottom: 18px;
}

.gw-breadcrumb-muted {
  opacity: .5;
}

.gw-breadcrumb-sep {
  opacity: .4;
}

.gw-hero-title {
  font-size: clamp(36px, calc(3.65 * var(--u)), 70px);
  font-weight: 600;
  color: var(--white);
  text-transform: uppercase;
  line-height: 1;
}

.gw-hero-accent-bar {
  width: 60px;
  height: 3px;
  background: var(--teal);
  margin-bottom: 16px;
}

.gw-hero-desc {
  font-size: 18px;
  font-weight: 300;
  color: rgba(255, 255, 255, .8);
  line-height: 1.6;
}

.gw-home-hero {
  position: relative;
  height: 100vh;
  min-height: 700px;
  max-height: 900px;
  margin-top: var(--nav-h);
  overflow: hidden;
  display: flex;
  align-items: center;
}

.gw-home-hero-bg {
  position: absolute;
  inset: 0;
}

.gw-home-hero-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
  width: 100%;
}

.gw-home-hero-text {
  flex: 0 0 auto;
  max-width: 600px;
}

.gw-home-hero-eyebrow {
  font-size: 14px;
  font-weight: 600;
  color: var(--teal-light);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.gw-home-hero-title {
  font-size: clamp(40px, calc(4.17 * var(--u)), 80px);
  font-weight: 700;
  color: var(--white);
  line-height: 1.05;
  margin-bottom: 24px;
  text-transform: uppercase;
}

.gw-home-hero-subtitle {
  font-size: clamp(15px, calc(.94 * var(--u)), 18px);
  font-weight: 300;
  color: rgba(255, 255, 255, .75);
  line-height: 1.7;
  margin-bottom: 36px;
  max-width: 460px;
}

.gw-home-hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.gw-home-hero-circle {
  flex-shrink: 0;
  width: clamp(280px, calc(26 * var(--u)), 500px);
  height: clamp(280px, calc(26 * var(--u)), 500px);
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid rgba(255, 255, 255, .2);
}

.gw-home-hero-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gw-scroll-indicator {
  position: absolute;
  bottom: 40px;
  left: var(--pad);
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, .5);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.gw-scroll-line {
  display: inline-block;
  width: 40px;
  height: 1px;
  background: rgba(255, 255, 255, .4);
}

.gw-trust-bar {
  background: var(--white);
  overflow: hidden;
}

.gw-trust-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.gw-trust-item {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1 1 auto;
}

.gw-trust-icon {
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.gw-trust-icon-svg {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gw-trust-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.gw-trust-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--dark-green);
  line-height: 1;
}

.gw-trust-sub {
  font-size: 12px;
  font-weight: 300;
  color: var(--black);
  opacity: .55;
}

.gw-trust-divider {
  width: 1px;
  height: 40px;
  background: var(--border);
  flex-shrink: 0;
}

.gw-products-section {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
  background: var(--bg);
}

.gw-products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, calc(1.56 * var(--u)), 30px);
  margin-top: clamp(40px, calc(3.13 * var(--u)), 60px);
}

.gw-product-card {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border: 1px solid var(--border);
  overflow: hidden;
  transition: box-shadow .3s, transform .3s, border-color .3s;
  text-decoration: none;
  color: var(--black);
}

.gw-product-card:hover {
  box-shadow: 0 16px 40px rgba(0, 0, 0, .1);
  transform: translateY(-4px);
  border-color: var(--teal);
}

.gw-product-card-img-wrap {
  overflow: hidden;
  aspect-ratio: 4/3;
}

.gw-product-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.gw-product-card:hover .gw-product-card-img {
  transform: scale(1.05);
}

.gw-product-card-body {
  padding: clamp(20px, calc(1.67 * var(--u)), 32px);
  flex: 1;
  display: flex;
  flex-direction: column;
}

.gw-product-card-title {
  font-size: clamp(20px, calc(1.56 * var(--u)), 30px);
  font-weight: 700;
  color: var(--dark-green);
  margin-bottom: 12px;
}

.gw-product-card-desc {
  font-size: 15px;
  font-weight: 300;
  color: var(--black);
  opacity: .7;
  line-height: 1.65;
  flex: 1;
  margin-bottom: 20px;
}

.gw-product-card-link {
  font-size: 15px;
  font-weight: 600;
  color: var(--teal);
  align-self: flex-start;
}

.gw-product-card:hover .gw-product-card-link {
  color: var(--dark-green);
}

.gw-applications {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
  background: var(--white);
}

.gw-app-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 280px);
  gap: clamp(12px, calc(1.04 * var(--u)), 20px);
  margin-top: clamp(40px, calc(3.13 * var(--u)), 60px);
}

.gw-app-item {
  overflow: hidden;
  position: relative;
}

.gw-app-img-wrap {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.gw-app-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.gw-app-item:hover .gw-app-img {
  transform: scale(1.06);
}

.gw-app-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 72, 70, .75) 0%, transparent 60%);
  display: flex;
  align-items: flex-end;
  padding: 20px;
  opacity: 0;
  transition: opacity .3s;
}

.gw-app-item:hover .gw-app-overlay {
  opacity: 1;
}

.gw-app-label {
  font-size: 18px;
  font-weight: 600;
  color: var(--white);
}

.gw-process {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
  background: var(--bg);
}

.gw-process-steps {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-top: clamp(40px, calc(3.13 * var(--u)), 60px);
}

.gw-process-step {
  flex: 1;
}

.gw-process-connector {
  width: 60px;
  flex-shrink: 0;
  height: 1px;
  background: var(--border);
  margin-top: 28px;
}

.gw-process-num {
  font-size: clamp(48px, calc(4.17 * var(--u)), 80px);
  font-weight: 800;
  color: rgba(0, 145, 141, .08);
  line-height: 1;
  margin-bottom: -12px;
}

.gw-process-title {
  font-size: clamp(16px, calc(1.15 * var(--u)), 22px);
  font-weight: 700;
  color: var(--dark-green);
  margin-bottom: 12px;
}

.gw-process-desc {
  font-size: 15px;
  font-weight: 300;
  color: var(--black);
  opacity: .7;
  line-height: 1.7;
}

.gw-stats-bar {
  background: var(--bg);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: clamp(30px, calc(3.13 * var(--u)), 60px) 0;
}

.gw-stats-bar--dark {
  background: var(--dark-green);
  border-color: transparent;
}

.gw-stats-grid {
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 10px;
}

.gw-stats-grid--4 {
  justify-content: space-around;
}

.gw-stat {
  text-align: center;
  padding: 10px 20px;
}

.gw-stat-num {
  font-size: clamp(36px, calc(3.65 * var(--u)), 70px);
  font-weight: 700;
  color: var(--dark-green);
  line-height: 1;
  margin-bottom: 8px;
  letter-spacing: -.02em;
}

.gw-odo-wrap {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  height: 1.1em;
}

.gw-odo-strip {
  display: flex;
  flex-direction: column;
}

.gw-odo-item {
  display: block;
  line-height: 1.1;
}

.gw-stat-suffix {
  display: inline-block;
  vertical-align: bottom;
  margin-left: -2px;
}

.gw-stat-num--white {
  color: var(--white);
}

.gw-stat-label {
  font-size: clamp(12px, calc(.73 * var(--u)), 14px);
  font-weight: 400;
  color: var(--black);
  opacity: .65;
  line-height: 1.4;
  letter-spacing: .02em;
}

.gw-stat-label--white {
  color: rgba(255, 255, 255, .75);
  opacity: 1;
}

.gw-stat-label--teal {
  color: var(--teal);
  opacity: 1;
}

.gw-stat-divider {
  width: 1px;
  height: 60px;
  background: var(--border);
  flex-shrink: 0;
}

.gw-stat-divider--white {
  background: rgba(255, 255, 255, .2);
}

.gw-stats-bottom-rule {
  height: 1px;
  background: var(--border);
  margin-top: clamp(20px, calc(2.08 * var(--u)), 40px);
}

.gw-decor-stats {
  background: #FFFFFF;
  height: 199px;
  padding: 0;
  border-top: none;
  display: flex;
  flex-direction: column;
}

.gw-decor-stats .gw-container {
  padding: 0;
  max-width: 100%;
  flex: 1;
  display: flex;
  align-items: stretch;
}

.gw-decor-stats .gw-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: stretch;
  gap: 0;
  padding: 0;
  flex: 1;
}

.gw-decor-stats .gw-stat-divider {
  display: none;
}

.gw-decor-stats .gw-stat {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 16px;
  border-right: 1px solid var(--border);
}

.gw-decor-stats .gw-stat:last-child {
  border-right: none;
}

.gw-decor-stats .gw-stat-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.gw-decor-stats .gw-stat-num {
  font-size: 42px;
  font-weight: 250;
  line-height: 50px;
  color: #070707;
  text-transform: uppercase;
  white-space: nowrap;
  margin: 0;
}

.gw-decor-stats .gw-stat-label {
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  color: #004846;
  opacity: 1;
  margin: 0;
}

.gw-decor-stats .gw-stat-divider {
  width: 1px;
  height: auto;
  align-self: stretch;
  background: var(--border);
}

.gw-decor-stats .gw-stats-bottom-rule {
  height: 1px;
  background: var(--border);
  margin: 0;
  flex-shrink: 0;
}

.gw-decor-stats .gw-stat-suffix {
  color: var(--black);
}

.gw-industries {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
  background: var(--white);
}

.gw-industries-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, calc(1.56 * var(--u)), 30px);
  margin-top: clamp(40px, calc(3.13 * var(--u)), 60px);
}

.gw-industry-card {
  padding: clamp(24px, calc(2.08 * var(--u)), 40px);
  border: 1px solid var(--border);
  background: var(--bg);
  transition: border-color .25s, transform .25s, box-shadow .25s;
}

.gw-industry-card:hover {
  border-color: var(--teal);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
}

.gw-industry-icon {
  margin-bottom: 20px;
}

.gw-industry-title {
  font-size: clamp(18px, calc(1.25 * var(--u)), 24px);
  font-weight: 700;
  color: var(--dark-green);
  margin-bottom: 10px;
}

.gw-industry-desc {
  font-size: 14px;
  font-weight: 300;
  color: var(--black);
  opacity: .65;
  line-height: 1.65;
}

.gw-reviews {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
  background: var(--bg);
  overflow: hidden;
}

.gw-reviews-swiper {
  margin-top: clamp(40px, calc(3.13 * var(--u)), 60px);
  padding-bottom: 60px;
}

.gw-review-card {
  background: var(--white);
  border: 1px solid var(--border);
  padding: clamp(24px, calc(2.08 * var(--u)), 40px);
  height: 100%;
}

.gw-review-stars {
  display: flex;
  gap: 4px;
  margin-bottom: 16px;
}

.gw-review-text {
  font-size: 15px;
  font-weight: 300;
  color: var(--black);
  line-height: 1.7;
  margin-bottom: 24px;
  opacity: .8;
  font-style: italic;
}

.gw-review-author {
  display: flex;
  align-items: center;
  gap: 14px;
}

.gw-review-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--teal);
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.gw-review-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--dark-green);
}

.gw-review-role {
  font-size: 13px;
  font-weight: 300;
  color: var(--black);
  opacity: .55;
}

.gw-reviews-swiper .swiper-pagination-bullet {
  background: var(--border);
  opacity: 1;
}

.gw-reviews-swiper .swiper-pagination-bullet-active {
  background: var(--teal);
}

.gw-reviews-prev,
.gw-reviews-next {
  color: var(--teal);
}

.gw-reviews-prev::after,
.gw-reviews-next::after {
  font-size: 18px;
  font-weight: 700;
}

.gw-about-preview {
  padding: 0 0 clamp(60px, calc(6.25 * var(--u)), 120px);
  background: var(--white);
}

.gw-about-preview-inner {
  display: grid;
  grid-template-columns: 635fr 817fr;
  gap: clamp(40px, calc(6.25 * var(--u)), 120px);
  align-items: center;
}

.gw-about-preview-imgs {
  position: relative;
}

.gw-about-img-main {
  aspect-ratio: 635 / 460;
  overflow: hidden;
}

.gw-about-img-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: gwZoomPulse 6s ease-in-out infinite;
}

@keyframes gwZoomPulse {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.08);
  }

  100% {
    transform: scale(1);
  }
}

.gw-about-img-accent {
  position: absolute;
  bottom: -30px;
  right: -30px;
  width: 45%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  border: 6px solid var(--bg);
}

.gw-about-img-accent img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gw-about-preview-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 25px;
  padding-left: 0;
}

.gw-about-preview-text>* {
  margin: 0;
}

.gw-about-preview-desc {
  font-size: clamp(16px, calc(1.04 * var(--u)), 20px);
  font-weight: 400;
  color: #070707;
  line-height: 1.3;
}

.gw-about-preview .gw-section-eyebrow {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 600;
  color: var(--dark-green);
  opacity: 1;
  text-transform: none;
}

.gw-about-preview .gw-section-title {
  letter-spacing: 0;
}

.gw-contact {
  background: var(--dark-green);
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0 clamp(48px, calc(3.96 * var(--u)), 76px);
}

.gw-contact-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, calc(5.21 * var(--u)), 100px);
  align-items: start;
}

.gw-contact-title {
  font-size: clamp(28px, calc(2.6 * var(--u)), 40px);
  font-weight: 600;
  color: var(--white);
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: 0;
  max-width: 558px;
  margin-bottom: 10px;
}

.gw-contact-subtitle {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 200;
  color: #FFFFFF;
  line-height: 1.2;
  max-width: 436px;
  margin-bottom: 46px;
}

.gw-contact .gw-eyebrow-row {
  margin-bottom: 10px;
}

.gw-contact .gw-section-eyebrow {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 400;
  opacity: 1;
  text-transform: none;
}

.gw-contact .gw-section-eyebrow--white {
  color: #FFFBF6;
}

.gw-contact-details {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.gw-contact-detail-item {
  display: flex;
  align-items: flex-start;
  gap: 13px;
}

.gw-contact-detail-icon {
  width: 32px;
  height: 32px;
  border-radius: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.gw-contact-detail-icon svg {
  stroke: var(--teal-light);
  width: 30px;
  height: 30px;
}

.gw-contact-detail-label {
  font-size: clamp(13px, calc(.78 * var(--u)), 15px);
  font-weight: 400;
  color: rgba(255, 251, 246, .5);
  margin-bottom: 4px;
}

.gw-contact-detail-value {
  font-size: 16px;
  font-weight: 200;
  color: var(--white);
  line-height: 1.2;
}

a.gw-contact-detail-value:hover {
  color: var(--teal-light);
}

.gw-contact-form-wrap {
  background: transparent;
  padding: 0;
  border: none;
}

.gw-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 30px;
}

.gw-form-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 30px;
}

.gw-form-row .gw-form-group {
  margin-bottom: 0;
}

.gw-form-label {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 200;
  color: rgba(255, 251, 246, .8);
}

.gw-form-input,
.gw-form-select,
.gw-form-textarea {
  background: rgba(255, 251, 246, .1);
  border: 1px solid #16532F;
  border-radius: 0;
  color: var(--white);
  font-family: var(--font);
  font-size: 15px;
  font-weight: 400;
  padding: 15px 30px;
  width: 100%;
  transition: border-color .2s;
  -webkit-appearance: none;
}

.gw-form-input::placeholder,
.gw-form-textarea::placeholder {
  color: rgba(255, 251, 246, .4);
}

.gw-form-input:focus,
.gw-form-select:focus,
.gw-form-textarea:focus {
  outline: none;
  border-color: var(--teal);
}

.gw-form-textarea {
  resize: vertical;
  min-height: 124px;
}

.gw-form-select {
  cursor: pointer;
}

.gw-form-select option {
  background: var(--dark-green);
  color: var(--white);
}

.gw-form-select-wrap {
  position: relative;
}

.gw-select-chevron {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.gw-btn-submit {
  margin-top: 0;
}

.gw-btn-submit[disabled] {
  opacity: .65;
  cursor: not-allowed;
}

/* ---------- Form validation states ---------- */
.gw-form-input.gw-input-error,
.gw-form-select.gw-input-error,
.gw-form-textarea.gw-input-error,
.gw-custom-select.gw-input-error .gw-custom-select-trigger {
  border-color: #E15B5B;
}

.gw-field-error {
  display: none;
  font-size: 13px;
  font-weight: 400;
  color: #FF9C9C;
  margin-top: -4px;
}

.gw-field-error.gw-show {
  display: block;
}

/* Honeypot field — hidden from real visitors, traps bots */
.gw-hp-field {
  position: absolute !important;
  left: -9999px !important;
  top: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* Inline form alert banner (success / error) */
.gw-form-alert {
  display: none;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 18px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 24px;
}

.gw-form-alert.gw-show {
  display: flex;
}

.gw-form-alert--success {
  background: rgba(51, 167, 163, .15);
  border: 1px solid var(--teal-light);
  color: var(--white);
}

.gw-form-alert--success a {
  color: var(--teal-light);
  text-decoration: underline;
  font-weight: 600;
}

.gw-form-alert--error {
  background: rgba(225, 91, 91, .12);
  border: 1px solid #E15B5B;
  color: var(--white);
}

.gw-custom-select {
  position: relative;
}

.gw-custom-select-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: rgba(255, 251, 246, .1);
  color: rgba(255, 251, 246, .4);
  font-family: var(--font);
  font-size: 15px;
  font-weight: 400;
  padding: 15px 30px;
  border: 1px solid #16532F;
  cursor: pointer;
  text-align: left;
  transition: background .2s;
}

.gw-custom-select-trigger:hover {
  background: rgba(255, 251, 246, .14);
}

.gw-custom-select-trigger.has-value {
  color: var(--white);
}

.gw-custom-select-arrow {
  flex-shrink: 0;
  transition: transform .25s ease;
}

.gw-custom-select.open .gw-custom-select-arrow {
  transform: rotate(180deg);
}

.gw-custom-select-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--bg);
  z-index: 200;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .18);
}

.gw-custom-select.open .gw-custom-select-dropdown {
  display: block;
}

.gw-custom-select-option {
  padding: 17px 20px;
  font-size: 15px;
  font-weight: 400;
  color: var(--black);
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  transition: background .15s, color .15s;
  font-family: var(--font);
}

.gw-custom-select-option:last-child {
  border-bottom: none;
}

.gw-custom-select-option:hover {
  background: #E8E8E8;
  color: var(--black);
}

.gw-custom-select-option.selected {
  color: var(--teal);
  font-weight: 600;
}

.gw-gallery-section {
  padding: clamp(50px, calc(5.21 * var(--u)), 100px) 0 clamp(60px, calc(6.25 * var(--u)), 120px);
  background: var(--bg);
}

.gw-gallery-heading {
  margin-bottom: clamp(30px, calc(2.6 * var(--u)), 50px);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.gw-gallery-heading .gw-section-eyebrow {
  font-size: 16px;
  font-weight: 600;
  line-height: 19px;
  text-transform: none;
  letter-spacing: 0;
  white-space: normal;
}

.gw-gallery-heading .gw-section-title {
  font-size: clamp(24px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--dark-green);
}

.gw-filters-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: clamp(30px, calc(2.6 * var(--u)), 50px);
}

.gw-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gw-filter-tab {
  padding: clamp(10px, calc(0.78 * var(--u)), 15px) clamp(16px, calc(1.56 * var(--u)), 30px);
  font-size: clamp(14px, calc(1.04 * var(--u)), 20px);
  font-weight: 500;
  line-height: 24px;
  font-family: var(--font);
  color: var(--black);
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 20px;
  cursor: pointer;
  transition: all .2s;
}

.gw-filter-tab:hover {
  border-color: var(--teal);
  color: var(--teal);
}

.gw-filter-tab--active {
  background: #F4EEE7;
  border-color: var(--border);
  color: var(--black);
}

.gw-search-box {
  position: relative;
}

.gw-search-input {
  padding: clamp(10px, calc(0.78 * var(--u)), 15px) 20px;
  border: 1px solid var(--border);
  font-family: var(--font);
  font-size: clamp(13px, calc(0.78 * var(--u)), 15px);
  font-weight: 500;
  background: #F4EEE7;
  width: clamp(180px, calc(15.88 * var(--u)), 305px);
  border-radius: 20px;
  transition: border-color .2s;
}

.gw-search-input:focus {
  outline: none;
  border-color: var(--teal);
}

.gw-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, calc(1.67 * var(--u)), 32px);
}

.gw-gallery-item {
  display: flex;
  flex-direction: column;
  gap: 14px;
  cursor: pointer;
}

.gw-gallery-img-wrap {
  overflow: hidden;
  aspect-ratio: 376/400;
  border-radius: 10px;
}

.gw-gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.gw-gallery-item:hover .gw-gallery-img {
  transform: scale(1.05);
}

.gw-gallery-label {
  font-size: clamp(16px, calc(1.35 * var(--u)), 26px);
  font-weight: 500;
  color: var(--black);
  line-height: 1.2;
}

.gw-load-more-wrap {
  text-align: center;
  padding-top: clamp(40px, calc(3.13 * var(--u)), 60px);
}

.gw-btn-load-more {
  min-width: 141px;
}

.gw-responsibly {
  background: var(--dark-green);
  padding: 100px 0;
  min-height: 544px;
  box-sizing: border-box;
}

.gw-responsibly .gw-section-eyebrow {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 14px;
  letter-spacing: 0;
}

.gw-responsibly .gw-section-title {
  font-size: 40px;
  font-weight: 600;
  line-height: 48px;
  letter-spacing: 0;
}

.gw-responsibly-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, calc(5.21 * var(--u)), 100px);
  align-items: start;
}

.gw-responsibly-left {
  align-self: start;
}

.gw-responsibly-desc {
  font-size: 20px;
  font-weight: 300;
  color: #FFFFFF;
  line-height: 24px;
  margin: 20px 0 50px;
  max-width: 454px;
}

.gw-cert-badges {
  display: flex;
  flex-direction: row;
  gap: 60px;
  flex-wrap: wrap;
}

.gw-cert-badge {
  display: flex;
  align-items: center;
  gap: 17px;
}

.gw-cert-icon {
  width: 76px;
  height: 76px;
  object-fit: contain;
  border-radius: 15px;
  flex-shrink: 0;
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.gw-cert-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.gw-cert-title {
  font-size: 20px;
  font-weight: 600;
  color: var(--white);
  margin: 0;
  line-height: 24px;
}

.gw-cert-sub {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255, 255, 255, .6);
  line-height: 19px;
  margin: 0;
}

.gw-trees-card {
  text-align: left;
  padding: 60px 86px 60px 90px;
  border-radius: 30px;
  background-color: rgba(0, 145, 141, 0.1);
  width: 591px;
  min-height: 321px;
  box-sizing: border-box;
}

.gw-trees-num {
  font-size: 64px;
  font-weight: 300;
  color: #FFFBF6;
  line-height: 77px;
  margin: 0;
  text-transform: uppercase;
}

.gw-trees-label {
  font-size: 16px;
  font-weight: 300;
  color: #FFFBF6;
  opacity: 0.6;
  margin: 0 0 40px 0;
  line-height: 19px;
}

.gw-trees-desc {
  font-size: 20px;
  font-weight: 300;
  color: #FFFFFF;
  line-height: 24px;
  max-width: 415px;
  margin: 0;
}

.gw-footer {
  background: rgba(51, 167, 163, 0.3);
  min-height: 465px;
  box-sizing: border-box;
}

.gw-footer-nav-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  border-left: 1px solid rgba(17, 94, 48, 0.2);
}

.gw-footer-nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 118px;
  font-size: 16px;
  font-weight: 600;
  color: #004846;
  letter-spacing: 0;
  border-right: 1px solid rgba(17, 94, 48, 0.2);
  padding: 10px;
  text-align: center;
  text-decoration: none;
  transition: background .2s, color .2s;
  font-family: var(--font);
}

.gw-footer-nav-link:hover {
  background: var(--teal);
  color: #FFFFFF;
}

.gw-footer-body {
  display: grid;
  grid-template-columns: 30fr 40fr 30fr;
  padding: 0 var(--pad);
  height: 284px;
  box-sizing: border-box;
}

.gw-footer-col {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.gw-footer-col--logo {
  border-right: 1px solid rgba(0, 145, 141, 0.2);
}

.gw-footer-logo {
  height: 64px;
  width: auto;
  object-fit: contain;
  display: block;
}

.gw-footer-col--social {
  flex-direction: column;
  gap: 30px;
  border-right: 1px solid rgba(0, 145, 141, 0.2);
}

.gw-footer-follow-title {
  font-size: 22px;
  font-weight: 600;
  color: #004846;
  margin: 0;
  line-height: 26px;
  text-align: center;
  font-family: var(--font);
}

.gw-social-links {
  display: flex;
  gap: 20px;
  align-items: center;
}

.gw-social-link {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .25s, transform .25s, color .25s;
  overflow: hidden;
  text-decoration: none;
  flex-shrink: 0;
  color: #070707;
}

.gw-social-link:hover {
  transform: translateY(-2px);
  color: #fff;
}

.gw-social-link--fb:hover {
  background: #1877F2;
}

.gw-social-link--ig:hover {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}

.gw-social-link--li:hover {
  background: #0A66C2;
}

.gw-social-link img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.gw-footer-col--about {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.gw-footer-about-text {
  font-size: 16px;
  font-weight: 300;
  color: #004846;
  opacity: 0.8;
  text-align: center;
  line-height: 19px;
  max-width: 324px;
  margin: 0;
  font-family: var(--font);
}

.gw-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 13px var(--pad) 31px;
  border-top: 1px solid rgba(0, 145, 141, 0.2);
}

.gw-footer-copy {
  font-size: 16px;
  font-weight: 400;
  color: #070707;
  opacity: 0.5;
  text-align: center;
  margin: 0;
  font-family: var(--font);
}

.gw-footer-tagline {
  display: none;
}

.gw-about-intro {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
  background: var(--bg);
}

.gw-about-intro-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, calc(5.21 * var(--u)), 100px);
  align-items: center;
}

.gw-about-intro-img {
  position: relative;
}

.gw-about-intro-img>img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.gw-about-intro-accent {
  position: absolute;
  bottom: -24px;
  right: -24px;
  width: 40%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  border: 5px solid var(--bg);
}

.gw-about-intro-accent img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gw-about-intro-p {
  font-size: clamp(15px, calc(.94 * var(--u)), 18px);
  font-weight: 300;
  color: var(--black);
  opacity: .75;
  line-height: 1.75;
  margin-bottom: 16px;
}

.gw-about-highlights {
  display: flex;
  gap: 30px;
  margin-top: 28px;
  flex-wrap: wrap;
}

.gw-about-highlight {
  text-align: center;
}

.gw-about-highlight-num {
  font-size: clamp(32px, calc(2.6 * var(--u)), 50px);
  font-weight: 800;
  color: var(--teal);
  line-height: 1;
}

.gw-about-highlight-label {
  font-size: 13px;
  font-weight: 300;
  color: var(--black);
  opacity: .6;
  margin-top: 4px;
}

.gw-mv-section {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
  background: var(--white);
}

.gw-mv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, calc(2.08 * var(--u)), 40px);
}

.gw-mv-card {
  padding: clamp(28px, calc(2.6 * var(--u)), 50px);
  border: 1px solid var(--border);
  background: var(--bg);
  transition: border-color .25s, transform .25s;
}

.gw-mv-card:hover {
  border-color: var(--teal);
  transform: translateY(-3px);
}

.gw-mv-card--mission {
  border-top: 4px solid var(--teal);
}

.gw-mv-card--vision {
  border-top: 4px solid var(--dark-green);
}

.gw-mv-card--values {
  border-top: 4px solid var(--teal-light);
}

.gw-mv-icon {
  margin-bottom: 20px;
}

.gw-mv-title {
  font-size: clamp(18px, calc(1.25 * var(--u)), 24px);
  font-weight: 700;
  color: var(--dark-green);
  margin-bottom: 14px;
}

.gw-mv-desc {
  font-size: 15px;
  font-weight: 300;
  color: var(--black);
  opacity: .7;
  line-height: 1.75;
}

.gw-about-certs {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
  background: var(--bg);
}

.gw-certs-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, calc(1.56 * var(--u)), 30px);
  margin-top: clamp(40px, calc(3.13 * var(--u)), 60px);
}

.gw-cert-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: clamp(20px, calc(1.67 * var(--u)), 32px);
  background: var(--white);
  border: 1px solid var(--border);
  transition: border-color .2s;
}

.gw-cert-card:hover {
  border-color: var(--teal);
}

.gw-cert-card-icon {
  width: 48px;
  height: 48px;
  object-fit: contain;
  flex-shrink: 0;
}

.gw-cert-card-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--dark-green);
  margin-bottom: 4px;
}

.gw-cert-card-desc {
  font-size: 13px;
  font-weight: 300;
  color: var(--black);
  opacity: .55;
}

.gw-about-facility {
  background: var(--dark-green);
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
}

.gw-about-facility-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, calc(5.21 * var(--u)), 100px);
  align-items: center;
}

.gw-facility-desc {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255, 255, 255, .7);
  line-height: 1.75;
  margin: 20px 0 32px;
}

.gw-facility-stats {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}

.gw-facility-stat-num {
  font-size: clamp(36px, calc(2.6 * var(--u)), 50px);
  font-weight: 800;
  color: var(--white);
  line-height: 1;
}

.gw-facility-stat-label {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255, 255, 255, .5);
  margin-top: 4px;
}

.gw-about-facility-img img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.gw-prod-overview {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
  background: var(--bg);
}

.gw-prod-overview-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, calc(5.21 * var(--u)), 100px);
  align-items: center;
}

.gw-prod-overview-desc {
  font-size: clamp(15px, calc(.94 * var(--u)), 18px);
  font-weight: 300;
  color: var(--black);
  opacity: .75;
  line-height: 1.75;
  margin-bottom: 16px;
}

.gw-prod-overview-img img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.gw-prod-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.gw-prod-badge {
  padding: 6px 14px;
  border: 1px solid var(--teal);
  font-size: 13px;
  font-weight: 600;
  color: var(--teal);
}

.gw-specs {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
  background: var(--white);
}

.gw-specs-table {
  margin-top: clamp(32px, calc(2.6 * var(--u)), 50px);
}

.gw-spec-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 0;
  border-bottom: 1px solid var(--border);
  padding: 16px 20px;
}

.gw-spec-row:nth-child(even) {
  background: var(--bg);
}

.gw-spec-row--header {
  background: var(--dark-green);
  padding: 14px 20px;
  border-bottom: none;
}

.gw-spec-row--header span {
  font-size: 14px;
  font-weight: 700;
  color: var(--white);
}

.gw-spec-row span {
  font-size: 14px;
  font-weight: 400;
  color: var(--black);
  align-self: center;
}

.gw-spec-row span:first-child {
  font-weight: 500;
}

.gw-prod-apps {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
  background: var(--bg);
}

.gw-prod-apps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, calc(1.56 * var(--u)), 30px);
  margin-top: clamp(40px, calc(3.13 * var(--u)), 60px);
}

.gw-prod-app-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gw-prod-app-img {
  overflow: hidden;
  aspect-ratio: 4/3;
}

.gw-prod-app-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}

.gw-prod-app-card:hover .gw-prod-app-img img {
  transform: scale(1.05);
}

.gw-prod-app-label {
  font-size: 15px;
  font-weight: 600;
  color: var(--dark-green);
}

.gw-prod-cta {
  background: rgba(0, 145, 141, .07);
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
  text-align: center;
}

.gw-prod-cta-inner {
  max-width: 600px;
  margin: 0 auto;
}

.gw-prod-cta-title {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 700;
  color: var(--dark-green);
  text-transform: uppercase;
  margin-bottom: 12px;
}

.gw-prod-cta-desc {
  font-size: 16px;
  font-weight: 300;
  color: var(--black);
  opacity: .7;
  margin-bottom: 32px;
}

.gw-prod-cta-btns {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

.gw-btn-outline-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--dark-green);
  font-size: 16px;
  font-weight: 600;
  padding: 14px 30px;
  border: 1.5px solid var(--dark-green);
  white-space: nowrap;
  transition: background .25s, color .25s, border-radius .2s;
  cursor: pointer;
}

.gw-btn-outline-dark:hover {
  background: var(--dark-green);
  color: var(--white);
  border-radius: 20px 0 0 0;
}

@media (max-width: 1024px) {
  .gw-industries-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-products-grid {
    grid-template-columns: 1fr 1fr;
  }

  .gw-mv-grid {
    grid-template-columns: 1fr 1fr;
  }

  .gw-certs-grid {
    grid-template-columns: 1fr 1fr;
  }

  .gw-prod-apps-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .gw-about-preview-inner {
    gap: 40px;
  }

  .gw-contact-inner {
    gap: 40px;
  }

  .gw-process-steps {
    flex-wrap: wrap;
    gap: 30px;
  }

  .gw-process-connector {
    display: none;
  }

  .gw-process-step {
    flex: 1 1 40%;
  }

  .gw-home-hero-circle {
    width: 320px;
    height: 320px;
  }
}

@media (max-width: 1024px) {

  .gw-nav-links,
  .gw-phone {
    display: none;
  }

  .gw-hamburger {
    display: flex;
  }

  .gw-nav-right .gw-btn-primary {
    display: none;
  }

  .gw-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-app-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
  }

  .gw-app-item {
    height: 220px;
  }

  .gw-about-preview-inner {
    grid-template-columns: 1fr;
  }

  .gw-about-preview-text {
    padding-left: 0;
  }

  .gw-contact-inner {
    grid-template-columns: 1fr;
  }

  .gw-footer-nav-row {
    grid-template-columns: repeat(3, 1fr);
  }

  .gw-responsibly-inner {
    grid-template-columns: 1fr;
  }

  .gw-home-hero-circle {
    display: none;
  }

  .gw-hero-inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
  }

  .gw-hero-right {
    max-width: 100%;
  }

  .gw-stats-grid {
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }

  .gw-trust-inner {
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
  }

  .gw-footer-body {
    height: auto;
    padding: 40px var(--pad);
    gap: 40px;
  }

  .gw-footer-col--logo,
  .gw-footer-col--social {
    border-right: none;
    border-bottom: 1px solid rgba(0, 145, 141, 0.2);
    padding-bottom: 40px;
  }

  .gw-footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .gw-form-row {
    grid-template-columns: 1fr;
  }

  .gw-about-intro-inner {
    grid-template-columns: 1fr;
  }

  .gw-about-facility-inner {
    grid-template-columns: 1fr;
  }

  .gw-mv-grid {
    grid-template-columns: 1fr;
  }

  .gw-certs-grid {
    grid-template-columns: 1fr 1fr;
  }

  .gw-prod-overview-inner {
    grid-template-columns: 1fr;
  }

  .gw-prod-apps-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-spec-row {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .gw-products-grid {
    grid-template-columns: 1fr;
  }

  .gw-industries-grid {
    grid-template-columns: 1fr 1fr;
  }

  .gw-home-hero-title {
    font-size: clamp(32px, calc(8 * var(--u)), 60px);
  }

  .gw-home-hero-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .gw-filters-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .gw-search-input {
    width: 100%;
  }
}

@media (max-width: 576px) {
  .gw-gallery-grid {
    grid-template-columns: 1fr 1fr;
  }

  .gw-app-grid {
    grid-template-columns: 1fr;
  }

  .gw-industries-grid {
    grid-template-columns: 1fr;
  }

  .gw-footer-nav-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-footer-nav-link {
    height: 72px;
    font-size: 14px;
  }

  .gw-footer-body {
    grid-template-columns: 1fr;
    height: auto;
  }

  .gw-filter-tabs {
    gap: 6px;
  }

  .gw-filter-tab {
    padding: 8px 12px;
    font-size: 13px;
  }

  .gw-stats-grid {
    flex-direction: column;
    gap: 0;
  }

  .gw-stat-divider {
    width: 80px;
    height: 1px;
    margin: 0 auto;
  }

  .gw-certs-grid {
    grid-template-columns: 1fr;
  }

  .gw-prod-apps-grid {
    grid-template-columns: 1fr 1fr;
  }

  .gw-spec-row {
    grid-template-columns: 1fr 1fr;
    gap: 4px;
  }

  .gw-spec-row--header {
    display: none;
  }

  .gw-about-highlights {
    gap: 16px;
    justify-content: center;
  }

  .gw-facility-stats {
    gap: 20px;
    justify-content: center;
    text-align: center;
  }
}

.gw-hero-slider {
  margin-top: var(--nav-h);
}

.gw-hero-swiper {
  width: 100%;
  height: 800px;
}

.gw-hero-swiper .swiper-slide {
  display: flex;
  height: 100%;
  position: relative;
}

.gw-split-left {
  width: 50%;
  flex-shrink: 0;
  background: var(--dark-green);
  display: flex;
  align-items: center;
  padding: 0 var(--pad);
  position: relative;
}

.gw-split-left-inner {
  max-width: 640px;
}

.gw-split-eyebrow {
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, .65);
  letter-spacing: .06em;
  margin-bottom: 18px;
  font-style: italic;
}

.gw-split-title {
  font-size: clamp(40px, calc(3.33 * var(--u)), 64px);
  font-weight: 600;
  color: var(--white);
  line-height: 1.125;
  text-transform: capitalize;
  margin-bottom: 20px;
  letter-spacing: 0;
}

.gw-split-desc {
  font-size: clamp(15px, calc(.94 * var(--u)), 24px);
  font-weight: 300;
  color: rgb(255 255 255);
  line-height: 1.75;
  margin-bottom: 36px;
}

.gw-split-btns {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.gw-split-btn-ghost {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, .75);
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, .35);
  padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}

.gw-split-btn-ghost:hover {
  color: var(--white);
  border-color: var(--white);
  border-radius: 20px 0 0 0;
}

.gw-split-right {
  flex: 1;
  position: relative;
  overflow: hidden;
}

.gw-split-right-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 6s ease;
}

.swiper-slide-active .gw-split-right-img {
  transform: scale(1.04);
}

.gw-split-right-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  padding: clamp(24px, calc(3 * var(--u)), 60px);
  background: linear-gradient(to right, rgba(0, 72, 70, .25) 0%, transparent 60%);
}

.gw-split-tag {
  font-size: 13px;
  font-weight: 400;
  color: rgba(255, 255, 255, .75);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.gw-split-tag-title {
  font-size: clamp(24px, calc(2.6 * var(--u)), 50px);
  font-weight: 700;
  color: var(--white);
  text-align: right;
  line-height: 1.1;
  text-transform: uppercase;
}

.gw-split-thumb {
  position: absolute;
  bottom: clamp(24px, calc(3 * var(--u)), 48px);
  left: clamp(16px, calc(2 * var(--u)), 32px);
  width: clamp(70px, calc(7 * var(--u)), 110px);
  height: clamp(70px, calc(7 * var(--u)), 110px);
  overflow: hidden;
  border: 3px solid rgba(255, 255, 255, .5);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
}

.gw-split-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gw-hero-nav {
  position: absolute;
  bottom: clamp(24px, calc(2.6 * var(--u)), 48px);
  left: var(--pad);
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 14px;
}

.gw-hero-nav-prev,
.gw-hero-nav-next {
  background: none;
  border: none;
  color: rgba(255, 255, 255, .6);
  font-size: 16px;
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: color .2s;
  font-family: var(--font);
}

.gw-hero-nav-prev:hover,
.gw-hero-nav-next:hover {
  color: var(--white);
}

.gw-hero-nav-counter {
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, .6);
  letter-spacing: .05em;
}

.gw-hero-current {
  font-weight: 700;
  color: var(--white);
}

.gw-slide-num {
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, .4);
  letter-spacing: .05em;
  transition: color .3s, font-weight .3s;
}

.gw-slide-num--active {
  font-weight: 700;
  color: var(--white);
}

.gw-slide--full {
  position: relative;
}

.gw-slide--full .gw-split-right {
  position: absolute;
  inset: 0;
  width: 100%;
  z-index: 0;
}

.gw-slide--full .gw-split-left {
  position: relative;
  z-index: 2;
  width: 50%;
  background: linear-gradient(to right, rgba(0, 0, 0, .55) 0%, transparent 100%);
}

.gw-slide--full .gw-hero-badge {
  display: none;
}

@media (max-width: 992px) {
  .gw-hero-swiper {
    max-height: 680px;
  }

  .gw-split-left {
    width: 55%;
    padding: 32px 28px;
  }

  .gw-split-right {
    flex: 1;
  }

  .gw-split-thumb {
    display: none;
  }
}

@media (max-width: 768px) {
  .gw-hero-swiper .swiper-slide {
    flex-direction: column;
  }

  .gw-hero-swiper {
    height: auto;
    max-height: none;
    min-height: 0;
  }

  .gw-split-left {
    width: 100%;
    min-height: 420px;
    padding: 48px 24px 80px;
  }

  .gw-split-right {
    width: 100%;
    height: 280px;
    flex-shrink: 0;
  }

  .gw-split-title {
    font-size: clamp(42px, calc(11 * var(--u)), 72px);
  }

  .gw-hero-nav {
    bottom: 20px;
    left: 24px;
  }
}

.gw-banner {
  position: relative;
  height: 800px;
  margin-top: var(--nav-h);
  overflow: hidden;
  display: flex;
  align-items: center;
}

.gw-banner-bg {
  position: absolute;
  inset: 0;
}

.gw-banner-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gw-banner-content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
  height: 100%;
}

.gw-banner-text {
  flex: 0 0 auto;
  max-width: 580px;
}

.gw-banner-eyebrow {
  font-size: 14px;
  font-weight: 600;
  color: var(--teal-light);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.gw-banner-title {
  font-size: clamp(38px, calc(4.17 * var(--u)), 80px);
  font-weight: 700;
  color: var(--white);
  line-height: 1.05;
  text-transform: uppercase;
  margin-bottom: 22px;
}

.gw-banner-sub {
  font-size: clamp(15px, calc(.94 * var(--u)), 18px);
  font-weight: 300;
  color: rgba(255, 255, 255, .78);
  line-height: 1.7;
  margin-bottom: 36px;
  max-width: 460px;
}

.gw-banner-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.gw-btn-banner-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--white);
  font-family: var(--font);
  font-size: 16px;
  font-weight: 600;
  padding: 14px 30px;
  border: 1.5px solid rgba(255, 255, 255, .6);
  white-space: nowrap;
  transition: background .25s, border-color .25s, border-radius .2s;
  cursor: pointer;
  text-decoration: none;
}

.gw-btn-banner-outline:hover {
  background: rgba(255, 255, 255, .12);
  border-color: var(--white);
  color: var(--white);
  border-radius: 20px 0 0 0;
}

.gw-banner-circle {
  flex-shrink: 0;
  width: clamp(280px, calc(28 * var(--u)), 520px);
  height: clamp(280px, calc(28 * var(--u)), 520px);
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid rgba(255, 255, 255, .22);
}

.gw-banner-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gw-trust-marquee-wrap {
  overflow: hidden;
  width: 100%;
  padding: clamp(20px, calc(2.08 * var(--u)), 40px) 0;
  border-bottom: 1px solid var(--border);
  background: var(--white);
}

.gw-trust-marquee {
  display: flex;
  align-items: center;
  gap: 0;
  width: max-content;
  animation: gwMarquee 22s linear infinite;
}

.gw-trust-marquee:hover {
  animation-play-state: paused;
}

@keyframes gwMarquee {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.gw-trust-marquee .gw-trust-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 clamp(24px, calc(3.13 * var(--u)), 60px);
  flex-shrink: 0;
}

.gw-trust-marquee .gw-trust-icon {
  width: 40px;
  height: 40px;
  object-fit: contain;
  flex-shrink: 0;
}

.gw-trust-label {
  font-size: 16px;
  font-weight: 600;
  color: var(--dark-green);
  white-space: nowrap;
}

.gw-trust-sep {
  width: 1px;
  height: 36px;
  background: var(--border);
  flex-shrink: 0;
}

.gw-collections {
  background: var(--bg);
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0 24px;
}

.gw-collections-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, calc(2.6 * var(--u)), 50px);
}

.gw-collection-card {
  position: relative;
  display: block;
  text-decoration: none;
  overflow: hidden;
  height: clamp(500px, calc(50.07 * var(--u)), 751px);
  border-top-left-radius: 0;
  transition: border-top-left-radius .3s ease, transform .3s;
}

.gw-collection-card:hover {
  border-top-left-radius: 50px;
  transform: translateY(-4px);
}

.gw-collection-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.gw-collection-card:hover .gw-collection-img {
  transform: scale(1.05);
}

.gw-collection-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(25, 5, 1, 0) 30%, #190501 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 clamp(28px, calc(4.17 * var(--u)), 80px) clamp(30px, calc(2.6 * var(--u)), 50px);
}

.gw-collection-title {
  font-size: clamp(24px, calc(2.6 * var(--u)), 40px);
  font-weight: 600;
  color: var(--white);
  text-transform: uppercase;
  margin-bottom: 10px;
  line-height: 1.2;
}

.gw-collection-desc {
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: var(--bg);
  opacity: 1;
  line-height: 1.2;
  margin: 0;
}

.gw-collection-card:nth-of-type(2) .gw-collection-desc {
  opacity: .9;
}

.gw-collection-hover-btns {
  display: flex;
  gap: 12px;
  margin-top: 0;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .3s ease, transform .3s ease, max-height .3s ease, margin-top .3s ease;
}

.gw-collection-card:hover .gw-collection-hover-btns {
  opacity: 1;
  transform: translateY(0);
  max-height: 60px;
  margin-top: 16px;
}

.gw-collection-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 30px;
  background: transparent;
  color: var(--bg);
  font-size: 16px;
  font-weight: 600;
  font-family: var(--font);
  border: 1px solid var(--bg);
  white-space: nowrap;
  cursor: pointer;
}

.gw-collection-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  background: transparent;
  color: var(--bg);
  font-size: 16px;
  font-weight: 600;
  font-family: var(--font);
  border: none;
  white-space: nowrap;
  cursor: pointer;
}

.gw-collection-btn-primary {
  transition: background .25s ease, color .25s ease, border-color .25s ease, border-top-left-radius .25s ease;
}

.gw-collection-btn-primary:hover {
  background: var(--white);
  color: var(--black);
  border-color: var(--white);
  border-top-left-radius: 12px;
}

.gw-collection-btn-outline {
  transition: color .2s ease, gap .2s ease;
}

.gw-collection-btn-outline:hover {
  color: var(--teal-light);
  gap: 11px;
}

.gw-km-arrow {
  display: inline-block;
  color: var(--teal);
  line-height: 1;
  transition: transform .2s ease;
}

.gw-collection-btn-outline:hover .gw-km-arrow {
  transform: translateX(4px);
}

.gw-stat-panels {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: none;
}

.gw-stat-panel {
  background: transparent;
  padding: clamp(56px, calc(5.21 * var(--u)), 100px) clamp(24px, calc(3.13 * var(--u)), 60px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  border-right: 1px solid rgba(255, 255, 255, .15);
}

.gw-stat-panel:last-child {
  border-right: none;
}

.gw-stat-panel-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.gw-stat-panel-num {
  justify-content: flex-start;
}

.gw-stat-panel-sub {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #FFFBF6;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 clamp(20px, calc(2.08 * var(--u)), 40px);
}

.gw-stat-panel-num {
  font-size: clamp(56px, calc(4.69 * var(--u)), 90px);
  font-weight: 300;
  color: #FFFBF6;
  line-height: 1;
  letter-spacing: normal;
  margin: 0 0 clamp(16px, calc(1.56 * var(--u)), 30px);
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.gw-stat-panel-num .gw-stat-num {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
  letter-spacing: normal;
  margin: 0;
}

.gw-stat-suffix {
  color: rgba(255, 255, 255, 0.60);
}

.gw-odo-wrap {
  display: inline-block;
  overflow: hidden;
  height: 1em;
  vertical-align: bottom;
}

.gw-odo-strip {
  display: flex;
  flex-direction: column;
  will-change: transform;
}

.gw-odo-item {
  display: block;
  height: 1em;
  line-height: 1;
  flex-shrink: 0;
}

.gw-stat-panel-x {
  font-size: clamp(28px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: rgba(255, 251, 246, 0.6);
}

.gw-stat-panel-iso {
  font-size: clamp(16px, calc(1.15 * var(--u)), 22px);
  font-weight: 600;
  color: #FFFBF6;
  text-transform: uppercase;
  letter-spacing: 0;
}

.gw-stat-panel-label {
  font-size: clamp(18px, calc(1.25 * var(--u)), 24px);
  font-weight: 500;
  color: #FFFBF6;
  line-height: 1.2;
  margin: 0;
  text-decoration: none;
}

.gw-industries-section {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
  background: var(--white);
}

.gw-industries-photo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 280px);
  gap: clamp(12px, calc(1.04 * var(--u)), 20px);
  margin-top: clamp(40px, calc(3.13 * var(--u)), 60px);
}

.gw-industry-photo {
  position: relative;
  overflow: hidden;
  border-top-left-radius: 0;
  transition: border-top-left-radius .3s ease;
}

.gw-industry-photo:hover {
  border-top-left-radius: 50px;
}

.gw-industry-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.gw-industry-photo:hover img {
  transform: scale(1.06);
}

.gw-industry-photo-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, #000000 89.18%);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: clamp(14px, calc(1.25 * var(--u)), 24px) clamp(14px, calc(1.25 * var(--u)), 24px) clamp(24px, calc(2.08 * var(--u)), 40px);
  opacity: 1;
}

.gw-industry-photo-label {
  font-size: clamp(18px, calc(1.35 * var(--u)), 26px);
  font-weight: 500;
  color: var(--white);
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
  margin: 0;
}

.gw-review-headline {
  font-size: 17px;
  font-weight: 700;
  color: var(--dark-green);
  margin-bottom: 10px;
  line-height: 1.4;
}

.gw-review-star {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.gw-review-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.gw-contact-info-watermark {
  font-size: clamp(28px, calc(2.6 * var(--u)), 40px);
  font-weight: 600;
  color: rgba(255, 255, 255, .1);
  text-transform: uppercase;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 20px;
  pointer-events: none;
  user-select: none;
}

.gw-select-chevron-img {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 10px;
  object-fit: contain;
  pointer-events: none;
}

.gw-contact-detail-icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

@media (max-width: 1024px) {
  .gw-stat-panels {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-stat-panel {
    border-right: 1px solid rgba(255, 255, 255, .15);
    border-bottom: 1px solid rgba(255, 255, 255, .15);
  }

  .gw-industries-photo-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 220px);
  }

  .gw-collections-grid {
    gap: 20px;
  }

  .gw-banner-circle {
    width: 320px;
    height: 320px;
  }
}

@media (max-width: 1024px) {
  .gw-banner {
    height: 680px;
  }

  .gw-banner-content {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
  }

  .gw-banner-circle {
    display: none;
  }

  .gw-collections-grid {
    grid-template-columns: 1fr;
  }

  .gw-stat-panels {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .gw-industries-photo-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
  }

  .gw-industry-photo {
    height: 200px;
  }

  .gw-industry-photo-overlay {
    opacity: 1;
  }

  .gw-banner-title {
    font-size: clamp(32px, calc(8 * var(--u)), 60px);
  }

  .gw-banner-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .gw-stat-panel-num {
    font-size: clamp(44px, calc(10 * var(--u)), 80px);
  }
}

@media (max-width: 576px) {
  .gw-stat-panels {
    grid-template-columns: 1fr 1fr;
  }

  .gw-industries-photo-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.gw-loader {
  position: fixed;
  inset: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity .5s ease, visibility .5s ease;
}

.gw-loader.gw-loader--hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.gw-loader-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gw-loader-ring svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  animation: gwLoaderSpin 1.1s linear infinite;
  transform-origin: center;
}

.gw-loader-ring svg circle,
.gw-loader-ring svg path {
  stroke-width: 2;
}

@keyframes gwLoaderSpin {
  to {
    transform: rotate(360deg);
  }
}

.gw-loader-logo {
  width: 52px;
  height: 52px;
  object-fit: contain;
  position: relative;
  z-index: 1;
  animation: gwLoaderPulse 1.1s ease-in-out infinite;
}

@keyframes gwLoaderPulse {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: .35;
  }
}

@media (max-width: 1024px) {

  .apps-grid,
  .industries-grid,
  .gallery-grid,
  .product-apps-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .why-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .reasons-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .cert-cards {
    grid-template-columns: 1fr 1fr;
  }

  .reviews-inner {
    grid-template-columns: 1fr;
  }

  .responsibly-inner,
  .engineered-inner,
  .about-inner,
  .accordion-grid,
  .cert-inner,
  .thickness-inner,
  .contact-inner {
    grid-template-columns: 1fr;
  }

  .mv-grid {
    grid-template-columns: 1fr;
  }

  .hero-circle {
    display: none;
  }
}

@media (max-width: 1024px) {

  .nav-links,
  .phone-widget {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  .apps-grid,
  .industries-grid,
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .stat-item {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, .15);
    padding: 20px 0;
  }

  .products-grid {
    grid-template-columns: 1fr;
  }

  .footer-nav-row {
    grid-template-columns: repeat(3, 1fr);
  }

  .decor-stats-grid {
    flex-wrap: wrap;
    gap: 20px;
  }

  .decor-stat {
    flex: 1 1 40%;
  }

  .decor-stat-divider {
    display: none;
  }

  .contact-form {
    grid-template-columns: 1fr;
  }

  .contact-form .btn-primary {
    grid-column: 1;
  }

  .reasons-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cert-cards {
    grid-template-columns: 1fr;
  }

  .product-apps-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .app-showcase-inner {
    grid-template-columns: 1fr;
  }

  .spec-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  :root {
    --pad: 20px;
  }

  .hero-title {
    font-size: 32px;
  }

  .apps-grid,
  .industries-grid,
  .gallery-grid,
  .product-apps-grid {
    grid-template-columns: 1fr 1fr;
  }

  .stats-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-nav-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-nav-link {
    height: 72px;
    font-size: 14px;
  }

  .hero-btns {
    flex-direction: column;
    align-items: flex-start;
  }

  .filter-tab {
    padding: 10px 14px;
    font-size: 13px;
  }

  .reasons-grid {
    grid-template-columns: 1fr;
  }
}

.gw-split-eyebrow--teal {
  color: var(--teal-light) !important;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  font-size: clamp(15px, calc(1.25 * var(--u)), 24px);
}

.gw-hero-badge {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  pointer-events: none;
}

.gw-hero-badge-circle {
  position: relative;
  width: clamp(140px, calc(12 * var(--u)), 200px);
  height: clamp(140px, calc(12 * var(--u)), 200px);
  border-radius: 50%;
  overflow: hidden;
  border: 8px solid rgba(255, 255, 255, .72);
  box-shadow: 0 8px 32px rgba(0, 0, 0, .35);
}

.gw-hero-badge-circle>img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gw-hero-badge-info {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: rgba(0, 0, 0, .28);
}

.gw-hero-badge-name {
  font-size: clamp(10px, calc(.78 * var(--u)), 13px);
  font-weight: 600;
  color: var(--white);
  line-height: 1.2;
  margin: 0;
  text-align: center;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .6);
}

.gw-hero-badge-code {
  font-size: clamp(9px, calc(.63 * var(--u)), 11px);
  font-weight: 400;
  color: rgba(255, 255, 255, .8);
  letter-spacing: .07em;
  margin: 0;
  text-align: center;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .6);
}

.gw-usp-bar {
  display: flex;
  height: 229px;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  overflow: hidden;
}

.gw-usp-left {
  width: 42%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(40px, calc(4.17 * var(--u)), 80px);
  padding: 0 60px 0 var(--pad);
  border-right: 1px solid var(--border);
}

.gw-usp-right {
  flex: 1;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 0;
  mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
}

.gw-usp-scroll-track {
  display: flex;
  align-items: center;
  gap: clamp(48px, calc(6.77 * var(--u)), 130px);
  width: max-content;
  animation: gwUspScroll 18s linear infinite;
}

.gw-usp-scroll-track:hover {
  animation-play-state: paused;
}

@keyframes gwUspScroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.gw-iso-badge {
  flex-shrink: 0;
  width: 128px;
  height: 128px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gw-iso-badge svg {
  width: 100%;
  height: 100%;
}

.gw-usp-feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
  max-width: 120px;
}

.gw-usp-feature-icon {
  width: 45px;
  height: 45px;
  object-fit: contain;
}

.gw-usp-feature-label {
  font-size: 16px;
  font-weight: 600;
  color: var(--dark-green);
  line-height: 1.3;
  margin: 0;
}

.gw-apps-section {
  background: var(--white);
  padding: 90px 0 90px;
}

.gw-apps-header {
  text-align: center;
  max-width: 780px;
  margin: 0 auto clamp(40px, calc(3.65 * var(--u)), 70px);
}

.gw-apps-eyebrow {
  font-size: 13px;
  font-weight: 600;
  color: var(--teal);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 14px;
}

.gw-apps-title {
  font-size: clamp(28px, calc(2.6 * var(--u)), 40px);
  font-weight: 600;
  color: var(--black);
  text-transform: uppercase;
  margin-bottom: 16px;
  line-height: 1.2;
  letter-spacing: 0;
}

.gw-apps-sub {
  font-size: clamp(14px, calc(.88 * var(--u)), 16px);
  font-weight: 300;
  color: #000000;
  line-height: 1.2;
  max-width: 694px;
  margin: 0 auto;
}

.gw-apps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(12px, calc(1.04 * var(--u)), 20px);
}

.gw-app-card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 385 / 462;
  cursor: pointer;
}

.gw-app-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
  display: block;
}

.gw-app-card:hover .gw-app-card-img {
  transform: scale(1.06);
}

.gw-app-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 72, 70, .85) 0%, rgba(0, 72, 70, .25) 45%, transparent 70%);
  pointer-events: none;
}

.gw-app-card .gw-app-label {
  position: absolute;
  bottom: clamp(14px, calc(1.25 * var(--u)), 24px);
  left: clamp(14px, calc(1.25 * var(--u)), 24px);
  right: clamp(14px, calc(1.25 * var(--u)), 24px);
  font-size: clamp(15px, calc(1.04 * var(--u)), 20px);
  font-weight: 600;
  color: var(--white);
  line-height: 1.3;
  margin: 0;
  z-index: 2;
}

.gw-apps-cta-wrap {
  text-align: center;
  margin-top: clamp(32px, calc(3.13 * var(--u)), 60px);
}

.gw-apps-section .gw-industry-photo-overlay {
  justify-content: center;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, #000000 89.18%);
  padding-bottom: clamp(24px, calc(2.08 * var(--u)), 40px);
}

.gw-apps-section .gw-industry-photo-label {
  text-align: center;
}

.gw-decor-range {
  background: var(--dark-green);
  padding: clamp(60px, calc(5.21 * var(--u)), 100px) 0;
}

.gw-decor-range-inner {
  display: grid;
  grid-template-columns: 426px 810px;
  justify-content: space-between;
  gap: 0;
  align-items: start;
}

.gw-decor-text {
  display: flex;
  flex-direction: column;
}

.gw-decor-tag {
  font-size: clamp(28px, calc(2.6 * var(--u)), 40px);
  font-weight: 600;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 0;
  line-height: 1.2;
  margin-bottom: 20px;
}

.gw-decor-text .gw-decor-desc:not(:last-of-type) {
  margin-bottom: 10px;
}

.gw-decor-desc {
  font-size: clamp(14px, calc(.88 * var(--u)), 16px);
  font-weight: 300;
  color: #FFFFFF;
  opacity: .9;
  line-height: 1.2;
  margin-bottom: 0;
}

.gw-decor-count-row {
  display: flex;
  align-items: center;
  gap: 52px;
  flex-wrap: nowrap;
  white-space: nowrap;
  margin-top: 56px;
  margin-bottom: 0;
}

.gw-decor-count-row .gw-decor-count {
  flex-shrink: 0;
}

.gw-decor-count-row .gw-btn-primary {
  flex-shrink: 0;
}

.gw-decor-count {
  font-size: clamp(20px, calc(1.35 * var(--u)), 26px);
  font-weight: 400;
  color: var(--white);
  line-height: 1.2;
}

.gw-decor-btns {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.gw-decor-count-row .gw-btn-primary {
  background: var(--teal-light);
  color: var(--dark-green);
}

.gw-decor-count-row .gw-btn-primary:hover {
  background: var(--teal-light);
  color: var(--dark-green);
}

.gw-decor-swatches-wrap {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-self: start;
}

.gw-decor-swatches-sub {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #FFFFFF;
  line-height: 1.2;
  margin: 0;
}

.gw-decor-swatches-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: clamp(16px, calc(2.08 * var(--u)), 40px);
}

.gw-decor-swatch {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.gw-decor-swatch-img {
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--teal-light);
  border: 1px solid rgba(255, 255, 255, .12);
}

.gw-decor-swatch-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.gw-decor-swatch:hover .gw-decor-swatch-img img {
  transform: scale(1.06);
}

.gw-decor-swatch-name {
  font-size: clamp(12px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #FFFFFF;
  text-align: left;
  margin: 0;
  line-height: 1.2;
}

.gw-process-section {
  background: var(--bg);
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
}

.gw-process-header {
  text-align: center;
  margin-bottom: clamp(48px, calc(4.17 * var(--u)), 80px);
}

.gw-process-eyebrow {
  font-size: clamp(15px, calc(1.25 * var(--u)), 24px);
  font-weight: 500;
  color: var(--teal);
  opacity: .8;
  text-transform: uppercase;
  letter-spacing: 0;
  margin-bottom: 5px;
}

.gw-process-title {
  font-size: clamp(26px, calc(2.6 * var(--u)), 40px);
  font-weight: 600;
  color: var(--black);
  text-transform: uppercase;
  line-height: 1.2;
  margin: 0;
}

.gw-process-circles-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  padding-top: 30px;
}

.gw-process-circle {
  width: clamp(150px, calc(12 * var(--u)), 230px);
  height: clamp(150px, calc(12 * var(--u)), 230px);
  border-radius: 50%;
  background: rgba(0, 145, 141, 0.12);
  border: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px;
  flex-shrink: 0;
  transition: background .25s;
  box-sizing: border-box;
  position: relative;
  overflow: visible;
}

.gw-process-circle:hover {
  background: rgba(0, 145, 141, 0.20);
}

.gw-process-top-arc {
  position: absolute;
  top: -15px;
  left: -15px;
  width: 113%;
  height: auto;
  pointer-events: none;
}

.gw-process-vec14 {
  flex-shrink: 0;
  align-self: center;
  width: clamp(36px, calc(3 * var(--u)), 58px);
  height: auto;
  margin-top: 0;
  margin-left: -6px;
  margin-right: 10px;
}

.gw-process-icon {
  width: clamp(40px, calc(3.54 * var(--u)), 48px);
  height: auto;
  flex-shrink: 0;
}

.gw-process-label-inner {
  font-size: clamp(11px, calc(0.78 * var(--u)), 15px);
  font-weight: 500;
  color: var(--black);
  text-align: center;
  line-height: 1.3;
  margin: 0;
}

.gw-process-arc-wrap {
  flex: 1;
  min-width: 30px;
  max-width: 90px;
}

.gw-process-arc-wrap svg {
  display: block;
  width: 100%;
  overflow: visible;
}

.gw-process-endpoint {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dark-green);
  flex-shrink: 0;
}

.gw-process-circles-row>.gw-process-endpoint:first-child {
  margin-right: -9px;
}

.gw-process-circles-row>.gw-process-endpoint:last-child {
  margin-left: -9px;
}

.gw-process-labels-row {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-top: 16px;
}

.gw-process-step-label {
  flex: 0 0 clamp(145px, calc(12.5 * var(--u)), 165px);
  font-size: clamp(13px, calc(.78 * var(--u)), 15px);
  font-weight: 400;
  color: var(--black);
  text-align: center;
  line-height: 1.4;
  margin: 0;
}

.gw-process-step-label--large {
  flex: 0 0 clamp(145px, calc(12.5 * var(--u)), 165px);
}

.gw-process-label-gap {
  flex: 1;
  min-width: 30px;
  max-width: 90px;
}

.gw-process-label-gap--dot {
  flex: 0 0 8px;
  min-width: 8px;
  max-width: 8px;
}

.gw-industries-section-new {
  padding: clamp(60px, calc(5.21 * var(--u)), 100px) 0;
  background: var(--white);
}

.gw-industries-header {
  text-align: center;
  margin-bottom: clamp(28px, calc(2.08 * var(--u)), 40px);
}

.gw-industries-eyebrow {
  font-size: clamp(15px, calc(1.25 * var(--u)), 24px);
  font-weight: 500;
  color: var(--teal);
  opacity: .8;
  text-transform: uppercase;
  letter-spacing: 0;
  line-height: 1.2;
  margin-bottom: 5px;
}

.gw-industries-title {
  font-size: clamp(26px, calc(2.6 * var(--u)), 40px);
  font-weight: 600;
  color: var(--black);
  text-transform: uppercase;
  line-height: 1.2;
  margin: 0;
}

.gw-industries-photo-grid--4 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 462px;
  margin-top: 0;
}

@media (max-width: 1024px) {
  .gw-usp-left {
    gap: clamp(16px, calc(2 * var(--u)), 32px);
  }

  .gw-iso-badge {
    width: 100px;
    height: 100px;
  }

  .gw-apps-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-industries-photo-grid--4 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 280px);
  }
}

@media (max-width: 1024px) {
  .gw-usp-bar {
    height: auto;
    flex-direction: column;
  }

  .gw-usp-left {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid var(--border);
    padding: 32px var(--pad);
    justify-content: center;
  }

  .gw-usp-right {
    width: 100%;
    height: 90px;
  }

  .gw-decor-range-inner {
    grid-template-columns: 1fr;
  }

  .gw-process-steps-row {
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px;
  }

  .gw-process-steps-row .gw-process-connector {
    display: none;
  }

  .gw-process-step-item {
    flex: 0 0 auto;
  }

  .gw-industries-photo-grid--4 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 260px);
  }
}

@media (max-width: 768px) {
  .gw-usp-left {
    gap: 16px;
    flex-wrap: wrap;
    justify-content: space-around;
  }

  .gw-iso-badge {
    width: 84px;
    height: 84px;
  }

  .gw-apps-grid {
    gap: 10px;
  }

  .gw-app-card {
    aspect-ratio: 4/3;
  }

  .gw-decor-swatches-grid {
    gap: 8px;
  }

  .gw-process-circle {
    width: 96px;
    height: 96px;
  }

  .gw-industries-photo-grid--4 {
    grid-template-rows: repeat(2, 220px);
  }
}

@media (max-width: 576px) {
  .gw-iso-badge {
    width: 72px;
    height: 72px;
  }

  .gw-usp-feature {
    max-width: 68px;
    margin: 20px;
  }

  .gw-usp-feature-icon {
    width: 36px;
    height: 36px;
  }

  .gw-usp-feature-label {
    font-size: 10.5px;
  }

  .gw-apps-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .gw-app-card {
    aspect-ratio: 3/4;
  }

  .gw-decor-range-inner {
    gap: 32px;
  }

  .gw-decor-swatches-grid {
    gap: 6px;
  }

  .gw-process-step-item {
    max-width: 130px;
  }

  .gw-process-circle {
    width: 88px;
    height: 88px;
  }

  .gw-process-steps-row .gw-process-connector {
    display: none;
  }

  .gw-industries-photo-grid--4 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

  .gw-industry-photo {
    height: 180px;
  }

  .gw-industry-photo-overlay {
    opacity: 1;
  }
}

.gw-sticky-sidebar {
  position: fixed;
  right: 0px;
  top: 60%;
  transform: translateY(-50%);
  z-index: 500;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-end;
}

.gw-sticky-btn {
  width: 60px;
  height: 48px;
  background: var(--teal);
  border-radius: 50px 0 0 50px;
  display: flex;
  align-items: center;
  padding-left: 20px;
  justify-content: flex-start;
  transition: background .2s, width .2s;
  flex-shrink: 0;
}

.gw-sticky-btn:hover {
  background: var(--dark-green);
  width: 80px;
}

.gw-sticky-btn svg {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .gw-sticky-btn {
    width: 80px;
    height: 52px;
  }

  .gw-sticky-btn svg {
    width: 22px;
    height: 22px;
  }
}

.gw-enquiry-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .55);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}

.gw-enquiry-overlay.gw-enquiry-overlay--open {
  opacity: 1;
  pointer-events: all;
}

.gw-enquiry-modal {
  background: var(--white);
  border-radius: 20px;
  padding: 48px 48px 40px;
  width: 100%;
  max-width: 780px;
  overflow: visible;
  position: relative;
  transform: translateY(20px);
  transition: transform .25s ease;
}

.gw-enquiry-overlay--open .gw-enquiry-modal {
  transform: translateY(0);
}

.gw-enquiry-close {
  position: absolute;
  top: 20px;
  right: 24px;
  background: none;
  border: none;
  font-size: 28px;
  line-height: 1;
  color: var(--black);
  cursor: pointer;
  opacity: .4;
  transition: opacity .2s;
}

.gw-enquiry-close:hover {
  opacity: 1;
}

.gw-enquiry-title {
  font-size: clamp(24px, calc(2.6 * var(--u)), 36px);
  font-weight: 800;
  color: var(--black);
  text-transform: uppercase;
  letter-spacing: -.01em;
  margin: 0 0 32px;
}

.gw-enquiry-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.gw-eq-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.gw-eq-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gw-eq-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--black);
}

.gw-eq-input,
.gw-eq-select,
.gw-eq-textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 14px;
  font-family: var(--font);
  color: var(--black);
  background: var(--white);
  outline: none;
  transition: border-color .2s;
}

.gw-eq-input:focus,
.gw-eq-select:focus,
.gw-eq-textarea:focus {
  border-color: var(--teal);
}

.gw-eq-input::placeholder,
.gw-eq-textarea::placeholder {
  color: rgba(7, 7, 7, .35);
}

.gw-eq-select-wrap {
  position: relative;
}

.gw-eq-select {
  appearance: none;
  cursor: pointer;
  padding-right: 36px;
}

.gw-eq-select-wrap::after {
  content: '';
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid rgba(7, 7, 7, .4);
  pointer-events: none;
}

.gw-eq-textarea {
  resize: vertical;
  min-height: 110px;
}

.gw-eq-custom-drop {
  position: relative;
}

.gw-eq-custom-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--white);
  cursor: pointer;
  font-size: 14px;
  font-family: var(--font);
  transition: border-color .2s;
  user-select: none;
}

.gw-eq-custom-drop.gw-open .gw-eq-custom-trigger {
  border-color: var(--teal);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.gw-eq-custom-val {
  color: rgba(7, 7, 7, .35);
}

.gw-eq-custom-val.gw-selected {
  color: var(--black);
}

.gw-eq-custom-opts {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--bg);
  border: 1px solid var(--teal);
  border-top: none;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 20;
}

.gw-eq-custom-drop.gw-open .gw-eq-custom-opts {
  display: block;
}

.gw-eq-custom-opts li {
  padding: 14px 16px;
  font-size: 14px;
  font-family: var(--font);
  color: var(--black);
  cursor: pointer;
  border-bottom: 1px solid var(--border);
  transition: background .15s;
}

.gw-eq-custom-opts li:last-child {
  border-bottom: none;
}

.gw-eq-custom-opts li:hover {
  background: rgba(0, 145, 141, .06);
  color: var(--teal);
}

.gw-eq-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.gw-eq-submit {
  padding: 14px 28px;
  background: var(--teal);
  color: var(--white);
  border: none;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 600;
  font-family: var(--font);
  cursor: pointer;
  white-space: nowrap;
  transition: background .2s, border-radius .2s;
}

.gw-eq-submit:hover {
  background: var(--dark-green);
  border-radius: 20px 0 0 0;
}

.gw-eq-submit[disabled] {
  opacity: .65;
  cursor: not-allowed;
}

/* ---------- Enquiry modal — validation states ---------- */
.gw-eq-input.gw-input-error,
.gw-eq-select.gw-input-error,
.gw-eq-textarea.gw-input-error,
.gw-eq-custom-drop.gw-input-error .gw-eq-custom-trigger {
  border-color: #E15B5B;
}

.gw-eq-error {
  display: none;
  font-size: 12px;
  font-weight: 400;
  color: #E15B5B;
  margin-top: -2px;
}

.gw-eq-error.gw-show {
  display: block;
}

.gw-eq-alert {
  display: none;
  padding: 12px 16px;
  border-radius: 6px;
  font-size: 13.5px;
  line-height: 1.5;
  margin-bottom: 4px;
}

.gw-eq-alert.gw-show {
  display: block;
}

.gw-eq-alert--success {
  background: rgba(0, 145, 141, .08);
  border: 1px solid var(--teal);
  color: var(--dark-green);
}

.gw-eq-alert--success a {
  color: var(--teal);
  font-weight: 600;
}

.gw-eq-alert--error {
  background: rgba(225, 91, 91, .08);
  border: 1px solid #E15B5B;
  color: #B23A3A;
}

.gw-eq-or {
  font-size: 13px;
  color: rgba(7, 7, 7, .45);
  font-weight: 500;
}

.gw-eq-talk {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 20px;
  border: 1.5px solid var(--border);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--black);
  text-decoration: none;
  white-space: nowrap;
  transition: border-color .2s, color .2s;
}

.gw-eq-talk:hover {
  border-color: var(--teal);
  color: var(--teal);
}

.gw-eq-instant {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 13px 20px;
  border: 1.5px solid var(--border);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--black);
  text-decoration: none;
  white-space: nowrap;
  transition: border-color .2s;
}

.gw-eq-instant:hover {
  border-color: var(--teal);
}

.gw-eq-instant strong {
  color: var(--teal);
  font-weight: 700;
}

@media (max-width: 768px) {
  .gw-enquiry-overlay {
    align-items: flex-start;
    overflow-y: auto;
    padding: 24px 16px;
  }

  .gw-enquiry-modal {
    padding: 40px 32px 32px;
    margin: auto;
  }

  .gw-enquiry-title {
    margin-bottom: 24px;
  }

  .gw-enquiry-form {
    gap: 16px;
  }

  .gw-eq-row {
    gap: 16px;
  }
}

@media (max-width: 600px) {
  .gw-enquiry-overlay {
    padding: 12px;
  }

  .gw-enquiry-modal {
    padding: 28px 18px 24px;
    border-radius: 16px;
  }

  .gw-enquiry-close {
    top: 14px;
    right: 16px;
    font-size: 26px;
  }

  .gw-eq-row {
    grid-template-columns: 1fr;
  }

  .gw-eq-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .gw-eq-submit,
  .gw-eq-talk,
  .gw-eq-instant {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .gw-eq-or {
    text-align: center;
  }
}

.gw-reviews {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0 0;
  background: var(--white);
}

.gw-reviews-layout {
  display: flex;
  align-items: stretch;
  gap: 0;
  border-bottom: 1px solid var(--border);
}

.gw-reviews-left {
  flex: 0 0 26%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: clamp(16px, calc(1.56 * var(--u)), 30px);
  padding-bottom: clamp(40px, calc(4.17 * var(--u)), 80px);
}

.gw-reviews-heading {
  font-size: clamp(28px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: var(--black);
  letter-spacing: 0;
  text-transform: uppercase;
  line-height: 1.05;
  margin: 0 0 20px;
}

.gw-reviews-sub {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #070707;
  opacity: .8;
  line-height: 1.2;
  margin: 0;
  max-width: 280px;
}

.gw-reviews-divider {
  flex: 0 0 1px;
  background: var(--border);
  align-self: stretch;
  margin: 0 0 0 clamp(32px, calc(3.65 * var(--u)), 70px);
  position: relative;
}

.gw-reviews-divider::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 1px;
  height: clamp(60px, calc(4.25 * var(--u)), 120px);
  background: var(--border);
}

.gw-reviews-right {
  flex: 1 1 0;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  min-width: 0;
  padding-bottom: clamp(40px, calc(4.17 * var(--u)), 80px);
  position: relative;
}

.gw-reviews-right::before {
  content: '';
  position: absolute;
  top: 0;
  left: -1px;
  right: 0;
  height: 1px;
  background: var(--border);
}

.gw-review-quote-col {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(24px, calc(2.08 * var(--u)), 40px) clamp(20px, calc(2.08 * var(--u)), 40px);
}

.gw-review-quote-col svg {
  width: clamp(70px, calc(6.25 * var(--u)), 120px);
  height: auto;
  display: block;
}

.gw-reviews-inner-divider {
  flex: 0 0 1px;
  background: var(--border);
  align-self: stretch;
}

.gw-reviews-content-col {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  padding: clamp(24px, calc(2.08 * var(--u)), 40px) clamp(24px, calc(2.6 * var(--u)), 50px);
  min-width: 0;
}

.gw-reviews-bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 50px;
}

.gw-reviews-nav {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.gw-reviews-swiper {
  width: 100%;
  overflow: hidden;
  margin-top: 0;
  padding-bottom: 0;
}

.gw-reviews-swiper .swiper-wrapper {
  margin-top: 20px;
}

.gw-review-new {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.gw-review-headline-new {
  font-size: clamp(24px, calc(2.19 * var(--u)), 42px);
  font-weight: 300;
  color: var(--black);
  line-height: 1.07;
  margin: 0 0 30px;
}

.gw-review-text-new {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #070707;
  opacity: .6;
  line-height: 1.2;
  margin: 0;
}

.gw-review-author-new {
  display: flex;
  align-items: center;
  gap: 18px;
}

.gw-review-initials {
  width: clamp(48px, calc(3.13 * var(--u)), 60px);
  height: clamp(48px, calc(3.13 * var(--u)), 60px);
  border-radius: 50%;
  background: rgba(51, 167, 163, 0.10);
  color: #070707;
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  letter-spacing: 0;
}

.gw-review-name-new {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #070707;
  margin: 0;
}

.gw-reviews-nav {
  display: flex;
  gap: 20px;
  margin-top: 0;
}

.gw-reviews-nav-btn {
  width: auto;
  height: auto;
  border: none;
  background: transparent;
  color: #070707;
  padding: 4px 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: color .2s;
}

.gw-reviews-nav-btn svg {
  display: block;
}

.gw-reviews-nav-btn:hover {
  color: var(--teal);
}

@media (max-width: 1024px) {
  .gw-reviews-layout {
    flex-direction: column;
    gap: 0;
  }

  .gw-reviews-left {
    flex: none;
    padding-right: 0;
    padding-bottom: 40px;
  }

  .gw-reviews-sub {
    max-width: 100%;
  }

  .gw-reviews-divider {
    flex: 0 0 1px;
    width: 100%;
    height: 1px;
    margin: 0 0 40px;
  }

  .gw-reviews-right {
    padding-bottom: 0;
  }
}

@media (max-width: 576px) {
  .gw-review-quote-col {
    display: none;
  }

  .gw-reviews-inner-divider {
    display: none;
  }

  .gw-reviews-content-col {
    padding: 24px 0;
  }
}

@media (max-width: 576px) {
  .gw-footer-nav-row {
    grid-template-columns: repeat(3, 1fr);
  }

  .gw-footer-nav-link {
    height: 56px;
    font-size: 13px;
  }
}

.gw-ab-hero {
  position: relative;
  margin-top: var(--nav-h);
  height: clamp(360px, calc(31.25 * var(--u)), 600px);
  overflow: hidden;
  display: flex;
  align-items: stretch;
}

.gw-ab-hero-bg {
  position: absolute;
  inset: 0;
}

.gw-ab-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.gw-ab-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}

.gw-ab-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: clamp(28px, calc(2.66 * var(--u)), 51px) var(--pad) clamp(48px, calc(5.21 * var(--u)), 100px);
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.gw-ab-hero-breadcrumb {
  display: flex;
  align-items: center;
  gap: 22px;
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: rgba(255, 255, 255, .5);
}

.gw-ab-hero-breadcrumb a {
  color: rgba(255, 255, 255, .5);
  text-decoration: none;
}

.gw-ab-hero-bc-active {
  color: #FFFFFF;
}

.gw-ab-hero-bc-sep {
  font-size: 14px;
  opacity: 1;
}

.gw-ab-hero-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
}

.gw-ab-hero-title {
  font-size: clamp(40px, calc(3.33 * var(--u)), 64px);
  font-weight: 600;
  color: var(--white);
  line-height: 1.125;
  letter-spacing: 0;
  margin: clamp(50px, calc(6.77 * var(--u)), 130px) 0 0;
  text-align: start;
}

.gw-ab-hero-bottom {
  margin-top: auto;
}

.gw-ab-hero-tagline-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
}

.gw-ab-hero-tagline-bar {
  width: 3px;
  height: clamp(96px, calc(7.5 * var(--u)), 144px);
  background: #B4D1C1;
  flex-shrink: 0;
}

.gw-ab-hero-tagline {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.gw-ab-hero-line1 {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 0;
  line-height: 1.2;
}

.gw-decor-hero {
  height: 600px;
  width: 100%;
  margin-top: 100px;
}

.gw-decor-hero .gw-ab-hero-overlay {
  background: rgba(0, 0, 0, 0.6);
  opacity: 0.8;
}

.gw-decor-hero .gw-ab-hero-inner {
  padding-top: 51px;
  padding-bottom: 100px;
}

.gw-decor-hero .gw-ab-hero-title {
  font-size: clamp(32px, calc(3.33 * var(--u)), 64px);
  line-height: 72px;
  margin-top: 130px;
  letter-spacing: 0;
}

.gw-decor-hero .gw-ab-hero-breadcrumb {
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  color: rgba(255, 255, 255, 0.5);
  gap: 22px;
}

.gw-decor-hero .gw-ab-hero-bc-active {
  color: #FFFFFF;
}

.gw-decor-hero .gw-ab-hero-breadcrumb a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
}

.gw-decor-hero .gw-ab-hero-breadcrumb a:hover {
  text-decoration: none;
}

.gw-decor-hero .gw-ab-hero-bc-sep {
  font-size: 16px;
  opacity: 1;
}

.gw-decor-hero .gw-ab-hero-tagline-wrap {
  gap: 30px;
}

.gw-decor-hero .gw-ab-hero-tagline-bar {
  width: 2px;
  height: 85px;
  background: #33A7A3;
}

.gw-decor-hero .gw-ab-hero-line1 {
  font-size: 26px;
  font-weight: 500;
  line-height: 31px;
  max-width: 417px;
  text-transform: none;
  letter-spacing: 0;
}

.gw-ab-hero-line2 {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: #B4D1C1;
  text-transform: uppercase;
  line-height: 1.2;
}

.gw-ab-hero-line3 {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: var(--white);
  text-transform: uppercase;
  line-height: 1.2;
}

.gw-ab-who {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0 clamp(24px, calc(2.5 * var(--u)), 40px);
  background: var(--bg);
}

.gw-ab-who-inner {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 0;
  align-items: center;
  padding-bottom: 32px;
}

.gw-ab-who-text {
  padding-right: clamp(32px, calc(4 * var(--u)), 64px);
  padding-left: clamp(20px, calc(2.5 * var(--u)), 40px);
  position: relative;
}

.gw-ab-who-text::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 3px;
  height: 181px;
  background: #013014;
  border-radius: 0;
}

.gw-ab-who-imgs {
  padding-left: clamp(32px, calc(4 * var(--u)), 64px);
}

.gw-ab-who-eyebrow {
  font-size: clamp(18px, calc(1.25 * var(--u)), 24px);
  font-weight: 500;
  color: #115E30;
  margin-bottom: 10px;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
}

.gw-ab-who-heading {
  font-size: clamp(28px, calc(2.6 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: #013014;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 50px;
}

.gw-ab-who-desc {
  font-size: clamp(15px, calc(.94 * var(--u)), 18px);
  font-weight: 300;
  color: #000000;
  line-height: 1.22;
  margin-bottom: 12px;
}

.gw-ab-who-imgs {
  display: flex;
  height: clamp(360px, calc(31.25 * var(--u)), 600px);
  align-items: stretch;
  gap: 28px;
}

.gw-ab-who-img-frame {
  overflow: hidden;
  height: 100%;
  min-width: 0;
  transition: flex-grow .55s ease;
}

.gw-ab-who-img-frame:nth-child(1) {
  flex: 485 1 0;
}

.gw-ab-who-img-frame:nth-child(2) {
  flex: 259 1 0;
}

.gw-ab-who-imgs:has(.gw-ab-who-img-frame:nth-child(2):hover) .gw-ab-who-img-frame:nth-child(1) {
  flex-grow: 259;
}

.gw-ab-who-imgs:has(.gw-ab-who-img-frame:nth-child(2):hover) .gw-ab-who-img-frame:nth-child(2) {
  flex-grow: 485;
}

.gw-ab-who-img--main,
.gw-ab-who-img--thumb {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

.gw-ab-reasons {
  padding: clamp(24px, calc(2.5 * var(--u)), 40px) 0 clamp(60px, calc(6.25 * var(--u)), 120px);
  background: var(--bg);
}

.gw-ab-reasons-header {
  text-align: center;
  margin-bottom: clamp(28px, calc(2.08 * var(--u)), 40px);
}

.gw-ab-reasons-eyebrow {
  font-size: clamp(18px, calc(1.35 * var(--u)), 26px);
  font-weight: 500;
  color: #004846;
  margin-bottom: 10px;
  text-transform: none;
  letter-spacing: 0;
}

.gw-ab-reasons-heading {
  font-size: clamp(26px, calc(2.6 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: #070707;
  letter-spacing: 0;
  line-height: 1.2;
}

.gw-ab-reasons-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid #BEB597;
}

.gw-ab-reason-card {
  background: var(--bg);
  padding: clamp(36px, calc(4 * var(--u)), 64px) clamp(20px, calc(2.5 * var(--u)), 40px);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #BEB597;
  border-bottom: 1px solid #BEB597;
  min-height: 248px;
  transition: background .25s ease;
  cursor: default;
}

.gw-ab-reason-card:nth-child(4n) {
  border-right: none;
}

.gw-ab-reason-card:nth-child(n+9) {
  border-bottom: none;
}

.gw-ab-reason-card:hover {
  background: #D6EDEB;
}

.gw-ab-reason-name {
  font-size: clamp(18px, calc(1.25 * var(--u)), 24px);
  font-weight: 500;
  color: #000000;
  margin-bottom: 20px;
  line-height: 1.2;
  transition: color .25s ease;
}

.gw-ab-reason-desc {
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #000000;
  line-height: 1.2;
  max-width: 300px;
}

.gw-ab-why {
  background: var(--dark-green);
  padding: clamp(80px, calc(8 * var(--u)), 140px) 0 clamp(60px, calc(6.25 * var(--u)), 120px);
  position: relative;
  overflow: visible;
}

.gw-ab-why-badge {
  position: absolute;
  top: -52px;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: 10px solid var(--white);
  background: #b4d1c1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  z-index: 2;
  transition: transform .3s ease, box-shadow .3s ease;
}

.gw-ab-why-badge:hover {
  transform: translateX(-50%) scale(1.1);
  box-shadow: 0 0 0 10px rgba(255, 255, 255, .15);
}

.gw-ab-why-badge img {
  width: 55%;
  height: 55%;
  object-fit: contain;
}

.gw-ab-why::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #FFFFFF;
  transform: translateX(-50%);
  pointer-events: none;
}

.gw-ab-why-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: start;
  position: relative;
}

.gw-ab-why-col {
  padding: 0 clamp(32px, calc(4 * var(--u)), 64px);
}

.gw-ab-why-col--left {
  padding-left: 0;
  text-align: right;
}

.gw-ab-why-col--left .gw-ab-why-label-row {
  justify-content: flex-end;
}

.gw-ab-why-col--left .gw-ab-why-label-line {
  width: calc(150px + clamp(32px, calc(4 * var(--u)), 64px));
  margin-right: calc(-1 * clamp(32px, calc(4 * var(--u)), 64px));
}

.gw-ab-why-col--right .gw-ab-why-label-line {
  width: calc(150px + clamp(32px, calc(4 * var(--u)), 64px));
  margin-left: calc(-1 * clamp(32px, calc(4 * var(--u)), 64px));
}

.gw-ab-why-col--right {
  padding-right: 0;
  text-align: left;
}

.gw-ab-why-col--right .gw-ab-why-label-row {
  padding-top: 26px;
}

.gw-ab-why-label-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.gw-ab-why-label {
  font-size: clamp(15px, calc(.94 * var(--u)), 18px);
  font-weight: 300;
  color: #FFFFFF;
  white-space: nowrap;
}

.gw-ab-why-label-line {
  width: 150px;
  height: 1px;
  background: #D9D9D9;
}

.gw-ab-why-heading {
  font-size: clamp(28px, calc(2.6 * var(--u)), 40px);
  font-weight: 600;
  color: var(--white);
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 24px;
}

.gw-ab-why-desc {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #FFFFFF;
  line-height: 1.2;
}

.gw-ab-quote-wrap {
  background: var(--bg);
  padding: clamp(48px, calc(5.2 * var(--u)), 88px) 0;
}

.gw-ab-quote {
  font-size: clamp(22px, calc(1.77 * var(--u)), 34px);
  font-style: normal;
  font-weight: 400;
  color: #070707;
  line-height: 1.47;
  text-align: left;
  border-left: 2px solid var(--teal);

  padding: clamp(12px, calc(0.94 * var(--u)), 18px) 0 clamp(11px, calc(0.89 * var(--u)), 17px) clamp(20px, calc(2.97 * var(--u)), 57px);
  max-width: 1283px;
  margin: 0 auto;
}

.gw-ab-quote-br {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-ab-quote-br {
    display: none;
  }
}

.gw-ab-cite {
  display: block;
  margin-top: 30px;
  font-size: 16px;
  line-height: 1.1875;
  letter-spacing: 0;
  font-style: normal;
  font-weight: 300;
  color: #070707;
}

.gw-ab-principles {

  padding: clamp(60px, calc(5.73 * var(--u)), 110px) 0 clamp(56px, calc(5.2 * var(--u)), 100px);
  background: rgba(0, 72, 70, 0.05);
}

.gw-ab-principles-top {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: clamp(40px, calc(5 * var(--u)), 80px);
  align-items: end;
  margin-bottom: clamp(40px, calc(3.125 * var(--u)), 60px);
}

.gw-ab-principles-label {
  font-size: clamp(18px, calc(1.35 * var(--u)), 26px);
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: #004846;
  margin-bottom: 20px;
}

.gw-ab-principles-heading {
  font-size: clamp(26px, calc(2.6 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: #000000;
  line-height: 1.2;
  letter-spacing: 0;
}

.gw-ab-principles-intro {
  font-size: clamp(16px, calc(1.15 * var(--u)), 22px);
  font-weight: 300;
  color: #000000;
  opacity: 1;
  line-height: 1.18;
  display: flex;
  justify-content: end;
}

.gw-ab-accord {
  border-top: 1px solid rgba(7, 7, 7, 0.5);
}

.gw-ab-accord-item {
  border-bottom: 1px solid rgba(7, 7, 7, 0.5);
}

.gw-ab-accord-trigger {
  display: flex;
  align-items: center;
  gap: 30px;
  width: 100%;

  padding: clamp(16px, calc(1.5625 * var(--u)), 30px);
  cursor: pointer;
  background: none;
  border: none;
  text-align: left;
  font-family: var(--font);
}

.gw-ab-accord-icon {
  width: 60px;
  height: 60px;
  border-radius: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.gw-ab-accord-icon svg {
  width: 60px;
  height: 60px;
}

.gw-ab-accord-name {
  font-size: clamp(18px, calc(1.35 * var(--u)), 26px);
  font-weight: 400;
  color: #000000;
  flex: 1;
  text-align: left;
}

.gw-ab-accord-item.gw-open .gw-ab-accord-name {
  text-decoration: none;
}

.gw-ab-accord-arrow {
  width: 58px;
  height: 58px;
  background: rgba(0, 72, 70, 0.05);
  border: 2px solid rgba(0, 72, 70, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--teal);
  font-size: 26px;
  font-weight: 300;
  line-height: 1;
  transition: background .2s, color .2s;
}

.gw-ab-accord-item.gw-open .gw-ab-accord-arrow {

  background: rgba(0, 72, 70, 0.05);
  border-color: rgba(0, 72, 70, 0.2);
  color: var(--teal);
}

.gw-ab-accord-plus {
  display: flex;
}

.gw-ab-accord-minus {
  display: none;
}

.gw-ab-accord-item.gw-open .gw-ab-accord-plus {
  display: none;
}

.gw-ab-accord-item.gw-open .gw-ab-accord-minus {
  display: flex;
}

.gw-ab-accord-item.gw-open .gw-ab-accord-trigger {
  padding-bottom: clamp(6px, calc(.52 * var(--u)), 10px);
}

.gw-ab-accord-body {
  display: none;

  padding: 0 clamp(16px, calc(1.5625 * var(--u)), 30px) clamp(24px, calc(2.08 * var(--u)), 40px) clamp(70px, calc(6.25 * var(--u)), 120px);
}

.gw-ab-accord-item.gw-open .gw-ab-accord-body {
  display: block;
}

.gw-ab-accord-body-text {
  font-size: clamp(15px, calc(.94 * var(--u)), 18px);
  font-weight: 300;
  color: #000000;
  line-height: 1.22;
}

.gw-ab-accord-br {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-ab-accord-br {
    display: none;
  }
}

.gw-ab-cert {
  background: var(--bg);
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
}

.gw-ab-cert-inner {
  display: grid;

  grid-template-columns: 1fr auto;
  gap: clamp(40px, calc(9.74 * var(--u)), 187px);
  align-items: start;
}

.gw-ab-cert-label {
  font-size: clamp(18px, calc(1.25 * var(--u)), 24px);
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.2;
  color: #004846;
  margin-bottom: 20px;
}

.gw-ab-cert-heading {
  font-size: clamp(26px, calc(2.6 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: #070707;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 20px;
}

.gw-ab-cert-desc {
  font-size: 16px;
  font-weight: 300;
  color: #070707;
  opacity: .8;
  line-height: 1.1875;
}

.gw-ab-cert-br {
  display: inline;
}

.gw-ab-cert-cards {
  display: grid;

  grid-template-columns: repeat(3, clamp(200px, calc(15.625 * var(--u)), 300px));
  gap: clamp(12px, calc(1.25 * var(--u)), 24px);
  align-items: stretch;
}

.gw-ab-cert-card {
  background: rgba(0, 72, 70, 0.1);
  padding: clamp(32px, calc(2.6 * var(--u)), 50px) clamp(24px, calc(2.08 * var(--u)), 40px);
  border-radius: 30px 0 0 0;
}

.gw-ab-cert-card--teal {
  background: rgba(0, 145, 141, 0.10);
}

.gw-ab-cert-card-iso {
  font-size: clamp(24px, calc(1.67 * var(--u)), 32px);
  font-weight: 600;
  color: #000000;
  margin-bottom: 20px;
  line-height: 1.2;
}

.gw-ab-cert-card-title {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  line-height: 1.1875;
  margin-bottom: 20px;
}

.gw-ab-cert-card-desc {
  font-size: 16px;
  font-weight: 300;
  color: #000000;
  line-height: 1.1875;
}

.gw-ab-cert-cbr {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-ab-reasons-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .gw-ab-reason-card:nth-child(4n) {
    border-right: 1px solid var(--border);
  }

  .gw-ab-reason-card:nth-child(3n) {
    border-right: none;
  }

  .gw-ab-reason-card:nth-child(n+10) {
    border-bottom: none;
  }

  .gw-ab-reason-card:nth-child(n+9) {
    border-bottom: 1px solid var(--border);
  }

  .gw-ab-cert-inner {
    grid-template-columns: 1fr;
  }

  .gw-ab-cert-cards {
    grid-template-columns: repeat(3, 1fr);
  }

  .gw-ab-cert-br {
    display: none;
  }
}

@media (max-width: 768px) {
  .gw-ab-hero {
    height: clamp(220px, calc(40 * var(--u)), 340px);
  }

  .gw-decor-hero {
    height: clamp(300px, calc(55 * var(--u)), 480px);
    margin-top: var(--nav-h);
  }

  .gw-ab-hero-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .gw-ab-who-inner {
    grid-template-columns: 1fr;
    padding-bottom: 48px;
    gap: 0;
  }

  .gw-ab-who-text {
    border-right: none;
    border-bottom: 1px solid var(--border);
    padding-right: 0;
    padding-bottom: clamp(24px, calc(3 * var(--u)), 40px);
  }

  .gw-ab-who-imgs {
    padding-left: 0;
    padding-top: clamp(24px, calc(3 * var(--u)), 40px);
  }

  .gw-ab-who-img--thumb {
    right: 0;
    bottom: -32px;
  }

  .gw-ab-reasons-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-ab-reason-card:nth-child(4n),
  .gw-ab-reason-card:nth-child(3n) {
    border-right: 1px solid var(--border);
  }

  .gw-ab-reason-card:nth-child(2n) {
    border-right: none;
  }

  .gw-ab-reason-card:nth-child(n+9),
  .gw-ab-reason-card:nth-child(n+10) {
    border-bottom: 1px solid var(--border);
  }

  .gw-ab-reason-card:nth-child(n+11) {
    border-bottom: none;
  }

  .gw-ab-why-cols {
    grid-template-columns: 1fr;
  }

  .gw-ab-why::before {
    display: none;
  }

  .gw-ab-why-col {
    padding: 0;
  }

  .gw-ab-why-col--left {
    text-align: center;
  }

  .gw-ab-why-col--right {
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: 40px;
    margin-top: 40px;
    text-align: left;
  }

  .gw-ab-why-badge {
    width: 80px;
    height: 80px;
    top: -40px;
  }

  .gw-ab-principles-top {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .gw-ab-cert-cards {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 576px) {
  .gw-ab-reasons-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-ab-cert-cards {
    grid-template-columns: 1fr;
  }

  .gw-ab-who-imgs {
    grid-template-columns: 1fr;
  }
}

.gw-pb-hero {
  position: relative;
  margin-top: var(--nav-h);
  overflow: hidden;
  height: clamp(400px, calc(52 * var(--u)), 600px);
}

.gw-pb-hero .swiper-wrapper,
.gw-pb-hero .swiper-slide {
  height: clamp(400px, calc(52 * var(--u)), 600px);
}

.gw-pb-hero-bg {
  position: absolute;
  inset: 0;
}

.gw-pb-hero-bgimg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.gw-pb-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 50%),
    rgba(0, 0, 0, 0.48);
}

.gw-pb-hero-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: clamp(30px, calc(2.66 * var(--u)), 51px) var(--pad);

  padding-bottom: clamp(70px, calc(7 * var(--u)), 100px);
}

.gw-pb-breadcrumb {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  line-height: 1.1875;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
}

.gw-pb-breadcrumb-link {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
}

.gw-pb-breadcrumb-sep {
  margin: 0 6px;
}

.gw-pb-breadcrumb-active {
  color: #FFFFFF;
}

.gw-pb-hero-title {
  margin-top: clamp(60px, calc(6.77 * var(--u)), 130px);
  font-size: clamp(40px, calc(3.33 * var(--u)), 64px);
  font-weight: 600;
  color: #FFFFFF;
  line-height: 1.125;
  letter-spacing: 0;
}

.gw-pb-hero-tabs {
  position: absolute;
  bottom: clamp(30px, calc(2.6 * var(--u)), 50px);
  left: 0;
  right: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 0 var(--pad);
  text-align: left;
}

.gw-pb-hero-tab {
  font-size: clamp(16px, calc(1.35 * var(--u)), 26px);
  font-weight: 400;
  color: #FFFBF6;
  padding-bottom: clamp(20px, calc(1.56 * var(--u)), 30px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: color .35s ease, border-color .35s ease, border-width .35s ease;
}

.gw-pb-hero-tab.active {
  border-bottom: 2px solid #FFFFFF;
}

.gw-pb-game {
  background: var(--white);
  padding: clamp(60px, calc(6.25 * var(--u)), 100px) 0;
}

.gw-pb-game-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: #004846;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.2;
  margin: 0 auto clamp(36px, calc(2.6 * var(--u)), 50px);
  max-width: 724px;
}

.gw-pb-game-teal {
  color: var(--teal);
}

.gw-pb-game-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, calc(1.67 * var(--u)), 32px);
}

.gw-pb-game-card {
  display: flex;
  flex-direction: column;
  border-radius: 0;
  overflow: hidden;
}

.gw-pb-game-card-img {
  border-radius: 0;
  overflow: hidden;
  aspect-ratio: 376/380;
}

.gw-pb-game-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}

.gw-pb-game-card:hover .gw-pb-game-card-img img {
  transform: scale(1.05);
}

.gw-pb-game-card-body {
  padding: clamp(16px, calc(1.25 * var(--u)), 24px) 0 0;
}

.gw-pb-game-card-title {
  font-size: clamp(15px, calc(.94 * var(--u)), 18px);
  font-weight: 600;
  color: #004846;
  line-height: 1.222;
  margin: 0 0 clamp(10px, calc(.73 * var(--u)), 14px);
}

.gw-pb-game-card-desc {
  font-size: 16px;
  font-weight: 300;
  color: #070707;
  line-height: 1.1875;
  margin: 0;
}

.gw-pb-game-br {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-pb-game-br {
    display: none;
  }
}

.gw-pb-eng {
  background: rgba(0, 145, 141, 0.1);
  padding: clamp(60px, calc(5.2 * var(--u)), 100px) 0;
}

.gw-pb-eng .gw-container {}

.gw-pb-eng-inner {
  position: relative;
  display: grid;
  grid-template-columns: 730fr 801fr;
  column-gap: clamp(32px, calc(3.8 * var(--u)), 73px);
  align-items: start;
}

.gw-pb-eng-left {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-width: 0;
}

.gw-pb-eng-text {
  padding: 0 0 clamp(28px, calc(2.24 * var(--u)), 43px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.gw-pb-eng-eyebrow {
  font-size: clamp(14px, calc(0.83 * var(--u)), 16px);
  font-weight: 300;
  color: var(--teal);
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.1875;
  margin-bottom: 10px;
  text-align: left;
}

.gw-pb-eng-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: #070707;
  line-height: 1.2;
  margin: 0;
  text-align: left;
}

.gw-pb-eng-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 30px;
  background: #00918D;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  font-family: var(--font);
  text-decoration: none;
  align-self: flex-start;
  transition: background .2s, border-radius .2s;
}

.gw-pb-eng-btn:hover {
  background: var(--dark-green);
  color: var(--white);
  border-radius: 20px 0 0 0;
}

.gw-pb-eng-body {
  padding: clamp(20px, calc(1.51 * var(--u)), 29px) 0 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.gw-pb-eng-desc {
  font-size: clamp(15px, calc(1.04 * var(--u)), 20px);
  font-weight: 300;
  color: #070707;
  line-height: 1.2;
  margin-bottom: 16px;
}

.gw-pb-eng-desc:last-of-type {
  margin-bottom: clamp(20px, calc(1.56 * var(--u)), 30px);
}

.gw-pb-eng-br {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-pb-eng-br {
    display: none;
  }
}

.gw-pb-eng-imgwrap {
  width: 100%;
  height: clamp(300px, calc(26.04 * var(--u)), 500px);
  position: relative;
  overflow: hidden;
  border-top-left-radius: 50px;
}

.gw-pb-eng-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  display: block;
  transition: transform .5s ease;
}

.gw-pb-eng-imgwrap:hover .gw-pb-eng-img {
  transform: scale(1.12);
}

.gw-pb-eng-caption {
  position: absolute;
  left: clamp(280px, calc(34.01 * var(--u)), 653px);
  top: clamp(300px, calc(23.23 * var(--u)), 446px);
  width: clamp(360px, calc(26.09 * var(--u)), 501px);
  background: #004846;
  padding: 30px;
}

.gw-pb-eng-caption-label {
  font-size: 16px;
  font-weight: 300;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.1875;
  color: #FFFFFF;
  margin-bottom: 8px;
  margin-top: 0;
}

.gw-pb-eng-caption-text {
  font-size: clamp(18px, calc(1.35 * var(--u)), 26px);
  font-weight: 500;
  color: #FFFFFF;
  line-height: 1.192;
  margin: 0;
}

.gw-pb-specs {
  background: #004846;
  padding: clamp(60px, calc(5.2 * var(--u)), 100px) 0;
}

.gw-pb-specs-header {
  display: grid;
  grid-template-columns: clamp(240px, calc(18.65 * var(--u)), 358px) clamp(280px, calc(25.8 * var(--u)), 495px);
  column-gap: clamp(40px, calc(6.82 * var(--u)), 131px);
  justify-content: start;
  align-items: end;
  margin-bottom: clamp(36px, calc(2.6 * var(--u)), 50px);
}

.gw-pb-specs-eyebrow {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #33A7A3;
  margin-bottom: 10px;
}

.gw-pb-specs-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: #FFFBF6;
  line-height: 1.2;
  margin: 0;
}

.gw-pb-specs-hd-desc {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #FFFFFF;
  line-height: 1.1875;
  margin: 0;
}

.gw-pb-specs-cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 251, 246, 0.2);
  border-bottom: 1px solid rgba(255, 251, 246, 0.2);
}

.gw-pb-specs-col {
  padding: clamp(32px, calc(2.66 * var(--u)), 51px) clamp(16px, calc(1.56 * var(--u)), 30px) clamp(32px, calc(2.6 * var(--u)), 50px) clamp(24px, calc(2.66 * var(--u)), 51px);
  position: relative;
}

.gw-pb-specs-col:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: -1px;
  bottom: -1px;
  width: 1px;
  background: rgba(255, 251, 246, 0.2);
}

.gw-pb-specs-col:first-child {
  padding-left: 0;
}

.gw-pb-specs-col-label {
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0;
  color: #FFFBF6;
  opacity: .6;
  margin-bottom: clamp(16px, calc(1.25 * var(--u)), 24px);
}

.gw-pb-specs-col-val {
  font-size: clamp(28px, calc(2.19 * var(--u)), 42px);
  font-weight: 200;
  color: #FFFBF6;
  text-transform: uppercase;
  line-height: 1.19;
  margin-bottom: clamp(8px, calc(.52 * var(--u)), 10px);
}

.gw-pb-specs-col-desc {
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #FFFFFF;
  opacity: .6;
  line-height: 1.1875;
  margin: 0;
}

.gw-pb-specs-br {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-pb-specs-br {
    display: none;
  }
}

.gw-pb-smart {
  background: rgba(0, 145, 141, 0.05);
  padding: clamp(60px, calc(5.2 * var(--u)), 100px) 0;
}

.gw-pb-smart-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: #004846;
  text-align: center;
  line-height: 1.2;
  margin-bottom: clamp(40px, calc(3.125 * var(--u)), 60px);
}

.gw-pb-smart-teal {
  color: var(--teal);
}

.gw-pb-smart-cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(24px, calc(4.43 * var(--u)), 85px);
}

.gw-pb-smart-col {
  text-align: center;
}

.gw-pb-smart-icon {
  margin-bottom: clamp(28px, calc(2.34 * var(--u)), 45px);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
}

.gw-pb-smart-col-title {
  font-size: clamp(15px, calc(.94 * var(--u)), 18px);
  font-weight: 600;
  color: #004846;
  line-height: 1.222;
  margin-bottom: 10px;
}

.gw-pb-smart-col-desc {
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #070707;
  line-height: 1.1875;
  margin: 0;
}

.gw-pb-smart-br {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-pb-smart-br {
    display: none;
  }
}

.gw-pb-showcase {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: clamp(400px, calc(39.2 * var(--u)), 753px);
  background: var(--bg);
}

.gw-pb-showcase-left {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: clamp(60px, calc(7.34 * var(--u)), 141px) var(--pad) clamp(50px, calc(5.42 * var(--u)), 104px);
  overflow: hidden;
}

.gw-pb-showcase-content {
  position: relative;
  z-index: 2;
  margin-top: clamp(40px, calc(9.58 * var(--u)), 184px);
}

.gw-pb-showcase-watermark {
  position: absolute;
  top: clamp(140px, calc(13.13 * var(--u)), 252px);
  left: 142px;
  font-size: clamp(100px, calc(13.02 * var(--u)), 250px);
  font-weight: 200;
  color: rgba(0, 0, 0, 0.1);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

.gw-pb-showcase-label {
  font-size: clamp(16px, calc(1.15 * var(--u)), 22px);
  font-weight: 300;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.1875;
  color: #000;
  margin-bottom: 0;
}

.gw-pb-showcase-title {
  font-size: clamp(34px, calc(3.33 * var(--u)), 64px);
  font-weight: 600;
  color: #000;
  line-height: 1.125;
  margin-bottom: 0;
}

.gw-pb-showcase-arrows {
  margin-top: auto;
}

.gw-pb-showcase-arrows {
  display: flex;
  gap: 16px;
  align-items: center;
}

.gw-pb-showcase-arr {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: opacity .2s;
}

.gw-pb-showcase-arr:hover {
  opacity: 0.7;
}

.gw-pb-showcase-right {
  overflow: hidden;
  position: relative;
}

.gw-pb-showcase-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gw-pb-showcase-hover {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  pointer-events: none;
  margin-left: 282px;
  margin-top: 232px;
}

@keyframes gwDotRipple {
  0% {
    box-shadow: 0 0 0 0px rgba(255, 255, 255, 0.4), 0 0 0 0px rgba(255, 255, 255, 0.2);
  }

  50% {
    box-shadow: 0 0 0 14px rgba(255, 255, 255, 0.15), 0 0 0 28px rgba(255, 255, 255, 0.07);
  }

  100% {
    box-shadow: 0 0 0 22px rgba(255, 255, 255, 0), 0 0 0 44px rgba(255, 255, 255, 0);
  }
}

.gw-pb-showcase-dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
  animation: gwDotRipple 2s ease-out infinite;
}

.gw-pb-showcase-hover-title,
.gw-pb-showcase-hover-code {
  opacity: 0;
  transition: opacity .35s ease;
}

.gw-pb-showcase-right:hover .gw-pb-showcase-hover-title,
.gw-pb-showcase-right:hover .gw-pb-showcase-hover-code {
  opacity: 1;
}

.gw-pb-showcase-hover-title {
  color: #fff;
  font-size: clamp(16px, calc(1.4 * var(--u)), 22px);
  font-weight: 700;
  margin: 0;
  text-align: center;
}

.gw-pb-showcase-hover-code {
  color: #fff;
  font-size: clamp(14px, calc(1.1 * var(--u)), 18px);
  font-weight: 400;
  margin: 0;
  text-align: center;
}

.gw-pb-showcase-right.swiper,
.gw-mdf-showcase-right.swiper {
  margin: 0;
  width: 100%;
}

.gw-pb-showcase-right .swiper-wrapper,
.gw-mdf-showcase-right .swiper-wrapper {
  height: 100%;
}

.gw-pb-showcase-right .swiper-slide,
.gw-mdf-showcase-right .swiper-slide {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.gw-pb-showcase-right .swiper-slide img,
.gw-mdf-showcase-right .swiper-slide img {
  position: absolute;
  inset: 0;
}

.gw-pb-exc {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  overflow: visible;
  min-height: clamp(500px, calc(44.69 * var(--u)), 858px);
}

.gw-pb-exc-watermark {
  position: absolute;
  top: clamp(50px, calc(4.69 * var(--u)), 90px);
  left: clamp(40px, calc(5.05 * var(--u)), 97px);
  font-size: clamp(70px, calc(8.02 * var(--u)), 154px);
  font-weight: 600;
  color: rgba(255, 255, 255, 0.2);
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  letter-spacing: 0;
  z-index: 2;
}

.gw-pb-exc-left {
  background: none;
  overflow: visible;
  display: block;
  position: relative;
  z-index: 2;
}

.gw-pb-exc-left::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: clamp(400px, calc(41.67 * var(--u)), 800px);
  background: var(--dark-green);
  z-index: 0;
}

.gw-pb-exc-board {
  position: absolute;
  width: auto;
  object-fit: contain;
  display: block;
}

.gw-pb-exc-board--stack {
  z-index: 3;
  left: clamp(120px, calc(15.73 * var(--u)), 302px);
  bottom: clamp(20px, calc(2.86 * var(--u)), 55px);
  height: clamp(300px, calc(29.69 * var(--u)), 570px);
}

.gw-pb-exc-board--front {
  z-index: 4;
  left: clamp(40px, calc(9.11 * var(--u)), 175px);
  bottom: 0;
  height: clamp(360px, calc(35.73 * var(--u)), 686px);
}

.gw-pb-exc-right {
  background: var(--bg);
  padding: clamp(60px, calc(6.6 * var(--u)), 127px) var(--pad) clamp(48px, calc(5 * var(--u)), 114px) clamp(40px, calc(7.86 * var(--u)), 151px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}

.gw-pb-exc-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: #004846;
  line-height: 1.2;
  margin-bottom: clamp(28px, calc(2.03 * var(--u)), 39px);
  padding-left: 0;
}

.gw-pb-exc-heading-teal {
  color: var(--teal);
}

.gw-pb-exc-groups {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

.gw-pb-exc-group {
  padding: 0;
}

.gw-pb-exc-group:nth-child(1) {
  margin-bottom: clamp(10px, calc(.83 * var(--u)), 16px);
}

.gw-pb-exc-group:nth-child(2) {
  border: 1px solid #CCCCCC;
  border-right: none;
  margin-left: -34px;
  margin-right: calc(-1 * var(--pad));
  margin-bottom: clamp(16px, calc(1.35 * var(--u)), 26px);
  padding: clamp(20px, calc(1.77 * var(--u)), 34px) 0 clamp(20px, calc(1.77 * var(--u)), 34px) 34px;
  position: relative;
}

.gw-pb-exc-group:nth-child(2)::before {
  content: '';
  position: absolute;
  left: -60px;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 1px;
  background: #CCCCCC;
}

.gw-pb-exc-group-title {
  font-size: clamp(18px, calc(1.25 * var(--u)), 24px);
  font-weight: 500;
  color: #004846;
  line-height: 1.2083;
  margin-bottom: clamp(10px, calc(.89 * var(--u)), 17px);
}

.gw-pb-exc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.gw-pb-exc-list li {
  font-size: 16px;
  font-weight: 300;
  color: #070707;
  line-height: 2.0625;
  padding-left: 28px;
  position: relative;
}

.gw-pb-exc-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 15px;
  height: 15px;
  background: url('../images/icon-check.png') center/contain no-repeat;
  border-radius: 50%;
}

.gw-pb-apps {
  background: var(--bg);
  padding: clamp(60px, calc(5.2 * var(--u)), 100px) 0;
}

.gw-pb-apps-top {
  margin-bottom: clamp(24px, calc(1.56 * var(--u)), 30px);
  text-align: center;
}

.gw-pb-apps-eyebrow {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #00918D;
  line-height: 1.1875;
  margin-bottom: 10px;
}

.gw-pb-apps-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: #070707;
  line-height: 1.2;
  margin-bottom: clamp(14px, calc(1.04 * var(--u)), 20px);
}

.gw-pb-apps-desc {
  font-size: clamp(15px, calc(1.04 * var(--u)), 20px);
  font-weight: 300;
  color: #070707;
  line-height: 1.2;
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
}

.gw-pb-apps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #CFC2B3;
  border: 1px solid #CFC2B3;
}

.gw-pb-apps-item {
  background: var(--bg);
  padding: clamp(28px, calc(2.6 * var(--u)), 50px);
  transition: background .2s;
}

.gw-pb-apps-item:hover {
  background: #e6f0ec;
}

.gw-pb-apps-icon {
  margin-bottom: 20px;
}

.gw-pb-apps-item-title {
  font-size: clamp(16px, calc(1.04 * var(--u)), 20px);
  font-weight: 500;
  color: #000000;
  line-height: 1.2;
  margin-bottom: 10px;
}

.gw-pb-apps-item-desc {
  font-size: 16px;
  font-weight: 300;
  color: #000000;
  line-height: 1.1875;
  margin: 0;
}

.gw-pb-apps-br {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-pb-apps-br {
    display: none;
  }
}

.gw-pb-dharma {
  position: relative;
  padding: clamp(70px, calc(5.2 * var(--u)), 100px) 0;
  overflow: hidden;
}

.gw-pb-dharma-bg {
  position: absolute;
  inset: 0;
}

.gw-pb-dharma-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gw-pb-dharma-overlay {
  position: absolute;
  inset: 0;
  background: rgba(16, 16, 16, 0.3);
}

.gw-pb-dharma-inner {
  position: relative;
  text-align: center;
}

.gw-pb-dharma-sanskrit {
  font-size: clamp(38px, calc(3.125 * var(--u)), 60px);
  font-weight: 600;
  font-style: italic;
  text-transform: uppercase;
  color: #FFFFFF;
  line-height: 1.5;
  margin-bottom: 10px;
  font-family: 'Poppins', serif;
}

.gw-pb-dharma-subtitle {
  font-size: clamp(18px, calc(1.35 * var(--u)), 26px);
  font-weight: 400;
  font-style: italic;
  font-family: 'Lora', serif;
  letter-spacing: 0.1em;
  line-height: 1.27;
  color: #FFFFFF;
  margin-bottom: clamp(30px, calc(2.45 * var(--u)), 47px);
}

.gw-pb-dharma-para {
  font-size: clamp(16px, calc(1.25 * var(--u)), 24px);
  font-weight: 200;
  color: #FFFFFF;
  line-height: 1.2083;
  max-width: 1018px;
  margin: 0 auto clamp(20px, calc(1.51 * var(--u)), 29px);
}

.gw-pb-dharma-pillars {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(30px, calc(7.8 * var(--u)), 150px);
  margin-top: clamp(48px, calc(4.17 * var(--u)), 80px);
}

.gw-pb-dharma-pillar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  padding: 0;
}

.gw-pb-dharma-pillar-name {
  font-size: clamp(26px, calc(1.875 * var(--u)), 36px);
  font-weight: 200;
  color: #FFFFFF;
  line-height: 1.194;
}

.gw-pb-dharma-pillar-sub {
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 200;
  text-transform: uppercase;
  letter-spacing: 0;
  color: #FFFFFF;
  opacity: 0.6;
  line-height: 1.1875;
}

.gw-pb-dharma-divider {
  width: 1px;
  height: clamp(50px, calc(4 * var(--u)), 77px);
  background: rgba(255, 255, 255, 0.5);
  flex-shrink: 0;
}

.gw-pb-dharma-br {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-pb-dharma-br {
    display: none;
  }
}

.gw-pb-docs {
  background: #004846;
  padding: clamp(60px, calc(5.2 * var(--u)), 100px) 0 clamp(60px, calc(6.35 * var(--u)), 122px);
}

.gw-pb-docs-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: #FFFBF6;
  text-align: center;
  line-height: 1.2;
  margin-bottom: clamp(24px, calc(1.56 * var(--u)), 30px);
}

.gw-pb-docs-teal {
  color: var(--teal);
}

.gw-pb-docs-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid #306765;
}

.gw-pb-docs-card {
  padding: clamp(28px, calc(2.6 * var(--u)), 50px);
  min-height: clamp(140px, calc(10.42 * var(--u)), 200px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  text-decoration: none;
  transition: background .2s;
}

.gw-pb-docs-card:first-child {
  border-right: 1px solid #306765;
}

.gw-pb-docs-card:hover {
  background: rgba(51, 167, 163, 0.08);
}

.gw-pb-docs-card-meta {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #33A7A3;
  line-height: 1.1875;
  margin-bottom: 10px;
}

.gw-pb-docs-card-title {
  font-size: clamp(24px, calc(1.98 * var(--u)), 38px);
  font-weight: 400;
  color: #FFFFFF;
  line-height: 1.2;
  margin: 0;
}

.gw-pb-docs-card-dl {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gw-pb-docs-card-dl svg path {
  stroke: #33A7A3;
}

.gw-pb-cta {
  background: #00918D;
  padding: clamp(50px, calc(4.17 * var(--u)), 80px) 0;
}

.gw-pb-cta-inner {
  display: grid;
  grid-template-columns: clamp(400px, calc(42.97 * var(--u)), 825px) 1fr;
  gap: clamp(40px, calc(7.97 * var(--u)), 153px);
  align-items: center;
}

.gw-pb-cta-heading {
  font-size: clamp(30px, calc(2.81 * var(--u)), 54px);
  font-weight: 500;
  color: #FFFFFF;
  line-height: 1.111;
  margin: 0;
}

.gw-pb-cta-desc {
  font-size: clamp(16px, calc(1.15 * var(--u)), 22px);
  font-weight: 400;
  color: #FFFFFF;
  line-height: 1.18;
  max-width: 524px;
  margin-bottom: clamp(20px, calc(1.56 * var(--u)), 30px);
}

.gw-pb-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 30px;
  border: 1px solid #FFFBF6;
  background: #FFFBF6;
  color: #00918D;
  font-size: 16px;
  font-weight: 600;
  font-family: var(--font);
  text-decoration: none;
  transition: border-radius .2s;
}

.gw-pb-cta-btn:hover {
  border-radius: 20px 0 0 0;
}

@media (max-width: 1024px) {
  .gw-pb-smart-cols {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 1024px) {
  .gw-pb-game-cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-pb-eng-inner {
    grid-template-columns: 1fr;
  }

  .gw-pb-eng-left {
    min-height: 420px;
  }

  .gw-pb-eng-body {
    padding: 40px var(--pad);
  }

  .gw-pb-eng-caption {
    position: static;
    left: auto;
    top: auto;
    width: auto;
    margin: 0 var(--pad) 40px;
  }

  .gw-pb-specs-header {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .gw-pb-specs-cols {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-pb-specs-col {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    padding: 24px 0;
  }

  .gw-pb-showcase {
    grid-template-columns: 1fr;
  }

  .gw-pb-showcase-right {
    min-height: 300px;
  }

  .gw-pb-exc {
    grid-template-columns: 1fr;
  }

  .gw-pb-exc-left {
    min-height: 460px;
  }

  .gw-pb-exc-right {
    padding: 40px var(--pad);
  }

  .gw-pb-apps-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-pb-dharma-pillars {
    flex-wrap: wrap;
    gap: 24px;
  }

  .gw-pb-dharma-divider {
    display: none;
  }

  .gw-pb-docs-cards {
    grid-template-columns: 1fr;
  }

  .gw-pb-cta-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 576px) {
  .gw-pb-game-cards {
    grid-template-columns: 1fr 1fr;
  }

  .gw-pb-smart-cols {
    grid-template-columns: 1fr;
  }

  .gw-pb-specs-cols {
    grid-template-columns: 1fr;
  }

  .gw-pb-apps-grid {
    grid-template-columns: 1fr;
  }

  .gw-pb-hero-tabs {
    grid-template-columns: 1fr;
  }

  .gw-pb-hero-tab {
    padding-bottom: 12px;
  }

  .gw-pb-eng-text {
    padding: 36px var(--pad) 20px;
  }

  .gw-pb-eng-body {
    padding: 0 var(--pad) 36px;
  }
}

.gw-mdf-stats {
  background: #FFFFFF;
  border-bottom: 1px solid rgba(7, 7, 7, 0.2);
}

.gw-mdf-stats .gw-container {
  max-width: 100%;
  padding: 0;
}

.gw-mdf-stats-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.gw-mdf-stats-col {
  padding: clamp(40px, calc(3.33 * var(--u)), 64px) clamp(20px, calc(2.5 * var(--u)), 48px) clamp(40px, calc(4.27 * var(--u)), 82px) clamp(30px, calc(4.32 * var(--u)), 83px);
  border-right: 1px solid #CDCDCD;
}

.gw-mdf-stats-col:first-child {
  padding-left: clamp(40px, calc(6.15 * var(--u)), 118px);
}

.gw-mdf-stats-col:last-child {
  border-right: 0;
}

.gw-mdf-stats-label {
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0;
  color: #070707;
  opacity: .6;
  line-height: 1.1875;
  margin-bottom: clamp(16px, calc(1.25 * var(--u)), 24px);
}

.gw-mdf-stats-val {
  font-size: clamp(28px, calc(2.19 * var(--u)), 42px);
  font-weight: 250;
  color: #070707;
  line-height: 1.19;
  margin-bottom: clamp(8px, calc(.52 * var(--u)), 10px);
  text-transform: uppercase;
}

.gw-mdf-stats-note {
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #004846;
  line-height: 1.1875;
  margin: 0;
}

.gw-mdf-specs {
  background: #004846;
}

.gw-mdf-specs-inner {
  display: grid;
  grid-template-columns: 1fr 1.6fr 1fr;
  align-items: stretch;
}

.gw-mdf-specs-left {
  padding: clamp(60px, calc(5.21 * var(--u)), 100px) clamp(32px, calc(4 * var(--u)), 72px) clamp(60px, calc(5.21 * var(--u)), 100px) 0;
}

.gw-mdf-specs-mid {
  padding: clamp(72px, calc(6.72 * var(--u)), 129px) clamp(32px, calc(4 * var(--u)), 72px) clamp(60px, calc(5.21 * var(--u)), 100px) 0;
}

.gw-mdf-specs-eyebrow {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #33A7A3;
  line-height: 1.1875;
  margin-bottom: 10px;
}

.gw-mdf-specs-arrow {
  display: block;
  margin-top: -73px;
  margin-right: 0;
  margin-bottom: 54px;
  margin-left: 402px;
}

.gw-mdf-specs-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: #FFFBF6;
  line-height: 1.2;
  margin-bottom: 20px;
  text-transform: uppercase;
}

.gw-mdf-specs-desc {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #FFFFFF;
  line-height: 1.1875;
}

.gw-mdf-specs-range-label {
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0;
  color: #FFFBF6;
  opacity: .6;
  margin-bottom: 20px;
}

.gw-mdf-specs-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.gw-mdf-specs-chip {
  font-size: clamp(14px, calc(1.04 * var(--u)), 20px);
  font-weight: 250;
  color: #FFFBF6;
  padding: 12px 20px;
  border: 1px solid #336C69;
  background: transparent;
}

.gw-mdf-specs-right {
  border-left: 1px solid rgba(255, 251, 246, 0.2);
  padding: clamp(72px, calc(6.72 * var(--u)), 129px) 0 clamp(60px, calc(5.21 * var(--u)), 100px) clamp(32px, calc(4 * var(--u)), 72px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.gw-mdf-specs-size-label {
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0;
  color: #FFFBF6;
  opacity: .6;
  margin-bottom: clamp(10px, calc(.68 * var(--u)), 13px);
}

.gw-mdf-specs-size-val {
  font-size: clamp(28px, calc(2.19 * var(--u)), 42px);
  font-weight: 250;
  color: #FFFBF6;
  line-height: 1.19;
  display: flex;
  align-items: baseline;
  gap: 10px;
  text-transform: uppercase;
}

.gw-mdf-specs-size-unit {
  font-size: 16px;
  font-weight: 400;
  color: #FFFBF6;
  opacity: .6;
}

.gw-mdf-green {
  background: rgba(0, 145, 141, 0.05);
  padding: clamp(60px, calc(5.2 * var(--u)), 100px) 0;
}

.gw-mdf-green-top {
  text-align: center;
  margin-bottom: clamp(28px, calc(2.08 * var(--u)), 40px);
}

.gw-mdf-green-eyebrow {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #004846;
  line-height: 1.1875;
  letter-spacing: 0;
  margin-bottom: 12px;
}

.gw-mdf-green-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: #000000;
  line-height: 1.2;
  margin-bottom: 20px;
  text-transform: uppercase;
}

.gw-mdf-green-heading-box {
  display: inline-block;
}

.gw-mdf-green-desc {
  font-size: clamp(15px, calc(.94 * var(--u)), 18px);
  font-weight: 300;
  color: #070707;
  line-height: 1.222;
  max-width: 880px;
  margin: 0 auto;
}

.gw-mdf-green-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(40px, calc(8.59 * var(--u)), 165px);
}

.gw-mdf-green-col {
  text-align: center;
}

.gw-mdf-green-icon {
  width: 40px;
  height: 40px;
  margin: 0 auto 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gw-mdf-green-col-title {
  font-size: clamp(17px, calc(1.15 * var(--u)), 22px);
  font-weight: 500;
  color: #070707;
  line-height: 1.18;
  margin-bottom: 10px;
}

.gw-mdf-green-col-desc {
  font-size: 16px;
  font-weight: 300;
  color: #070707;
  line-height: 1.1875;
  max-width: 424px;
  margin: 0 auto;
}

.gw-mdf-green-br {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-mdf-green-br {
    display: none;
  }
}

.gw-mdf-docs {
  background: #004846;
  padding: clamp(60px, calc(5.2 * var(--u)), 100px) 0;
}

.gw-mdf-docs-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: #FFFBF6;
  text-align: center;
  line-height: 1.2;
  margin-bottom: clamp(24px, calc(1.56 * var(--u)), 30px);
  text-transform: uppercase;
}

.gw-mdf-docs-teal {
  color: var(--teal);
}

.gw-mdf-docs-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid #306765;
}

.gw-mdf-docs-card {
  padding: clamp(28px, calc(2.6 * var(--u)), 50px);
  min-height: clamp(150px, calc(11.93 * var(--u)), 229px);
  border-right: 1px solid #306765;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  text-decoration: none;
  transition: background .2s;
}

.gw-mdf-docs-card:last-child {
  border-right: 0;
}

.gw-mdf-docs-card:hover {
  background: rgba(51, 167, 163, 0.08);
}

.gw-mdf-docs-card-info {
  flex: 1;
}

.gw-mdf-docs-card-eyebrow {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #33A7A3;
  line-height: 1.1875;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 10px;
}

.gw-mdf-docs-card-dl {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.gw-mdf-docs-card-dl-label {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #FFFFFF;
  line-height: 1.1875;
  text-decoration: underline;
}

.gw-mdf-docs-card-title {
  font-size: clamp(22px, calc(1.98 * var(--u)), 38px);
  font-weight: 400;
  color: #FFFFFF;
  line-height: 1.2;
  margin-bottom: 14px;
}

.gw-mdf-docs-card-desc {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #FFFFFF;
  line-height: 1.1875;
  margin: 0;
}

.gw-mdf-docs-br {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-mdf-docs-br {
    display: none;
  }
}

@media (max-width: 1024px) {
  .gw-mdf-specs-inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 1024px) {
  .gw-mdf-stats-inner {
    grid-template-columns: 1fr 1fr;
  }

  .gw-mdf-stats-col:nth-child(2) {
    border-right: 0;
  }

  .gw-mdf-specs-inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .gw-mdf-green-cols {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .gw-mdf-docs-cards {
    grid-template-columns: 1fr;
  }

  .gw-mdf-docs-card {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .gw-mdf-docs-card:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 576px) {
  .gw-mdf-stats-inner {
    grid-template-columns: 1fr;
  }

  .gw-mdf-stats-col {
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .gw-mdf-stats-col:last-child {
    border-bottom: 0;
  }

  .gw-mdf-specs-chips {
    gap: 8px;
  }
}

.gw-mdf-hero {
  position: relative;
  margin-top: var(--nav-h);
  overflow: hidden;
  height: clamp(400px, calc(52 * var(--u)), 600px);
}

.gw-mdf-hero .swiper-wrapper,
.gw-mdf-hero .swiper-slide {
  height: clamp(400px, calc(52 * var(--u)), 600px);
}

.gw-mdf-hero-bg {
  position: absolute;
  inset: 0;
}

.gw-mdf-hero-bgimg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.gw-mdf-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 50%), rgba(0, 0, 0, 0.48);
}

.gw-mdf-hero-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: clamp(30px, calc(2.66 * var(--u)), 51px) var(--pad);
  padding-bottom: clamp(70px, calc(7 * var(--u)), 100px);
}

.gw-mdf-breadcrumb {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  line-height: 1.1875;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
}

.gw-mdf-breadcrumb-link {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
}

.gw-mdf-breadcrumb-sep {
  margin: 0 6px;
}

.gw-mdf-breadcrumb-active {
  color: #FFFFFF;
}

.gw-mdf-hero-title {
  margin-top: clamp(60px, calc(6.77 * var(--u)), 130px);
  font-size: clamp(40px, calc(3.33 * var(--u)), 64px);
  font-weight: 600;
  color: #FFFFFF;
  line-height: 1.125;
  letter-spacing: 0;
}

.gw-mdf-hero-tabs {
  position: absolute;
  bottom: clamp(30px, calc(2.6 * var(--u)), 50px);
  left: 0;
  right: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 0 var(--pad);
  text-align: left;
}

.gw-mdf-hero-tab {
  font-size: clamp(16px, calc(1.35 * var(--u)), 26px);
  font-weight: 400;
  color: #FFFBF6;
  padding-bottom: clamp(20px, calc(1.56 * var(--u)), 30px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: color .35s ease, border-color .35s ease, border-width .35s ease;
}

.gw-mdf-hero-tab.active {
  border-bottom: 2px solid #FFFFFF;
}

.gw-mdf-game {
  background: var(--white);
  padding: clamp(60px, calc(6.25 * var(--u)), 100px) 0;
}

.gw-mdf-game-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: #004846;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.2;
  margin: 0 auto clamp(36px, calc(2.6 * var(--u)), 50px);
  max-width: 724px;
}

.gw-mdf-game-teal {
  color: var(--teal);
}

.gw-mdf-game-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, calc(1.67 * var(--u)), 32px);
}

.gw-mdf-game-card {
  display: flex;
  flex-direction: column;
  border-radius: 0;
  overflow: hidden;
}

.gw-mdf-game-card-img {
  border-radius: 0;
  overflow: hidden;
  aspect-ratio: 376/380;
}

.gw-mdf-game-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}

.gw-mdf-game-card:hover .gw-mdf-game-card-img img {
  transform: scale(1.05);
}

.gw-mdf-game-card-body {
  padding: clamp(16px, calc(1.25 * var(--u)), 24px) 0 0;
}

.gw-mdf-game-card-title {
  font-size: clamp(15px, calc(.94 * var(--u)), 18px);
  font-weight: 600;
  color: #004846;
  line-height: 1.222;
  margin: 0 0 clamp(10px, calc(.73 * var(--u)), 14px);
}

.gw-mdf-game-card-desc {
  font-size: 16px;
  font-weight: 300;
  color: #070707;
  line-height: 1.1875;
  margin: 0;
}

.gw-mdf-game-br {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-mdf-game-br {
    display: none;
  }
}

.gw-mdf-eng {
  background: rgba(0, 145, 141, 0.1);
  padding: clamp(60px, calc(5.2 * var(--u)), 100px) 0;
}

.gw-mdf-eng .gw-container {}

.gw-mdf-eng-inner {
  position: relative;
  display: grid;
  grid-template-columns: 730fr 801fr;
  column-gap: clamp(32px, calc(3.8 * var(--u)), 73px);
  align-items: start;
}

.gw-mdf-eng-left {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-width: 0;
}

.gw-mdf-eng-text {
  padding: 0 0 clamp(28px, calc(2.24 * var(--u)), 43px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.gw-mdf-eng-eyebrow {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: var(--teal);
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.1875;
  margin-bottom: 10px;
  text-align: left;
}

.gw-mdf-eng-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: #070707;
  line-height: 1.2;
  margin: 0;
  text-align: left;
}

.gw-mdf-eng-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 30px;
  background: #00918D;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  font-family: var(--font);
  text-decoration: none;
  align-self: flex-start;
  transition: background .2s, border-radius .2s;
}

.gw-mdf-eng-btn:hover {
  background: var(--dark-green);
  color: var(--white);
  border-radius: 20px 0 0 0;
}

.gw-mdf-eng-body {
  padding: clamp(20px, calc(1.51 * var(--u)), 29px) 0 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.gw-mdf-eng-desc {
  font-size: clamp(16px, calc(1.04 * var(--u)), 20px);
  font-weight: 300;
  color: #070707;
  line-height: 1.2;
  margin-bottom: 16px;
}

.gw-mdf-eng-desc:last-of-type {
  margin-bottom: clamp(20px, calc(1.56 * var(--u)), 30px);
}

.gw-mdf-eng-imgwrap {
  width: 100%;
  height: clamp(260px, calc(20.83 * var(--u)), 400px);
  position: relative;
  overflow: hidden;
  border-top-left-radius: 50px;
}

.gw-mdf-eng-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  display: block;
  transition: transform .5s ease;
}

.gw-mdf-eng-imgwrap:hover .gw-mdf-eng-img {
  transform: scale(1.12);
}

.gw-mdf-eng-caption {
  position: absolute;
  left: clamp(280px, calc(34.01 * var(--u)), 653px);
  top: clamp(260px, calc(18.54 * var(--u)), 356px);
  width: clamp(360px, calc(26.09 * var(--u)), 501px);
  background: #004846;
  padding: 30px;
}

.gw-mdf-eng-caption-text {
  font-size: clamp(18px, calc(1.35 * var(--u)), 26px);
  font-weight: 500;
  color: #FFFFFF;
  line-height: 1.192;
  margin: 0;
}

.gw-mdf-smart {
  background: rgba(0, 145, 141, 0.05);
  padding: clamp(60px, calc(5.2 * var(--u)), 100px) 0;
}

.gw-mdf-smart-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: #004846;
  text-align: center;
  line-height: 1.2;
  margin-bottom: clamp(40px, calc(3.125 * var(--u)), 60px);
}

.gw-mdf-smart-teal {
  color: var(--teal);
}

.gw-mdf-smart-cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(24px, calc(4.43 * var(--u)), 85px);
}

.gw-mdf-smart-col {
  text-align: center;
}

.gw-mdf-smart-icon {
  margin-bottom: clamp(28px, calc(2.34 * var(--u)), 45px);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
}

.gw-mdf-smart-col-title {
  font-size: clamp(15px, calc(.94 * var(--u)), 18px);
  font-weight: 600;
  color: #004846;
  line-height: 1.222;
  margin-bottom: 10px;
}

.gw-mdf-smart-col-desc {
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #070707;
  line-height: 1.1875;
  margin: 0;
}

.gw-mdf-smart-br {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-mdf-smart-br {
    display: none;
  }
}

.gw-mdf-showcase {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: clamp(400px, calc(39.2 * var(--u)), 753px);
  background: var(--bg);
}

.gw-mdf-showcase-left {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: clamp(60px, calc(7.34 * var(--u)), 141px) var(--pad) clamp(50px, calc(5.42 * var(--u)), 104px);
  overflow: hidden;
}

.gw-mdf-showcase-content {
  position: relative;
  z-index: 2;
  margin-top: clamp(40px, calc(9.58 * var(--u)), 184px);
}

.gw-mdf-showcase-watermark {
  position: absolute;
  top: clamp(140px, calc(13.13 * var(--u)), 252px);
  left: 142px;
  font-size: clamp(100px, calc(13.02 * var(--u)), 250px);
  font-weight: 200;
  color: rgba(0, 0, 0, 0.1);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

.gw-mdf-showcase-label {
  font-size: clamp(16px, calc(1.15 * var(--u)), 22px);
  font-weight: 300;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.1875;
  color: #000;
  margin-bottom: 0;
}

.gw-mdf-showcase-title {
  font-size: clamp(34px, calc(3.33 * var(--u)), 64px);
  font-weight: 600;
  color: #000;
  line-height: 1.125;
  margin-bottom: 0;
  white-space: nowrap;
}

.gw-mdf-showcase-arrows {
  margin-top: auto;
}

.gw-mdf-showcase-arrows {
  display: flex;
  gap: 16px;
  align-items: center;
}

.gw-mdf-showcase-arr {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: opacity .2s;
}

.gw-mdf-showcase-arr:hover {
  opacity: 0.7;
}

.gw-mdf-showcase-right {
  overflow: hidden;
  position: relative;
}

.gw-mdf-showcase-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gw-mdf-showcase-hover {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  pointer-events: none;
  margin-left: 282px;
  margin-top: 232px;
}

@keyframes gwDotRipple {
  0% {
    box-shadow: 0 0 0 0px rgba(255, 255, 255, 0.4), 0 0 0 0px rgba(255, 255, 255, 0.2);
  }

  50% {
    box-shadow: 0 0 0 14px rgba(255, 255, 255, 0.15), 0 0 0 28px rgba(255, 255, 255, 0.07);
  }

  100% {
    box-shadow: 0 0 0 22px rgba(255, 255, 255, 0), 0 0 0 44px rgba(255, 255, 255, 0);
  }
}

.gw-mdf-showcase-dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
  animation: gwDotRipple 2s ease-out infinite;
}

.gw-mdf-showcase-hover-title,
.gw-mdf-showcase-hover-code {
  opacity: 0;
  transition: opacity .35s ease;
}

.gw-mdf-showcase-right:hover .gw-mdf-showcase-hover-title,
.gw-mdf-showcase-right:hover .gw-mdf-showcase-hover-code {
  opacity: 1;
}

.gw-mdf-showcase-hover-title {
  color: #fff;
  font-size: clamp(16px, calc(1.4 * var(--u)), 22px);
  font-weight: 700;
  margin: 0;
  text-align: center;
}

.gw-mdf-showcase-hover-code {
  color: #fff;
  font-size: clamp(14px, calc(1.1 * var(--u)), 18px);
  font-weight: 400;
  margin: 0;
  text-align: center;
}

.gw-mdf-exc {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  overflow: visible;
  min-height: clamp(500px, calc(42.5 * var(--u)), 816px);
}

.gw-mdf-exc-watermark {
  position: absolute;
  top: clamp(50px, calc(4.69 * var(--u)), 90px);
  left: clamp(40px, calc(5.05 * var(--u)), 97px);
  font-size: clamp(70px, calc(8.02 * var(--u)), 154px);
  font-weight: 600;
  color: rgba(255, 255, 255, 0.2);
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  letter-spacing: 0;
  z-index: 2;
}

.gw-mdf-exc-left {
  background: none;
  overflow: visible;
  display: block;
  position: relative;
  z-index: 2;
}

.gw-mdf-exc-left::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: clamp(400px, calc(41.46 * var(--u)), 796px);
  background: var(--dark-green);
  z-index: 0;
}

.gw-mdf-exc-left img {
  position: absolute;
  z-index: 3;
  left: 83px;
  top: clamp(45px, calc(6.61 * var(--u)), 78px);
  height: 787px;
  object-fit: contain;
  display: block;
  scale: 1.05;
}

.gw-mdf-exc-right {
  background: var(--bg);
  padding: clamp(60px, calc(6.61 * var(--u)), 127px) var(--pad) clamp(48px, calc(3.9 * var(--u)), 75px) clamp(40px, calc(7.86 * var(--u)), 151px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}

.gw-mdf-exc-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  color: #004846;
  line-height: 1.2;
  margin-bottom: clamp(28px, calc(2.03 * var(--u)), 39px);
  padding-left: 0;
}

.gw-mdf-exc-heading-teal {
  color: var(--teal);
}

.gw-mdf-exc-groups {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

.gw-mdf-exc-group {
  padding: 0;
}

.gw-mdf-exc-group:nth-child(1) {
  margin-bottom: clamp(10px, calc(.83 * var(--u)), 16px);
}

.gw-mdf-exc-group:nth-child(2) {
  border: 1px solid #CCCCCC;
  border-right: none;
  margin-left: -34px;
  margin-right: calc(-1 * var(--pad));
  margin-bottom: clamp(16px, calc(1.35 * var(--u)), 26px);
  padding: clamp(20px, calc(1.77 * var(--u)), 34px) 0 clamp(20px, calc(1.77 * var(--u)), 34px) 34px;
  position: relative;
}

.gw-mdf-exc-group:nth-child(2)::before {
  content: '';
  position: absolute;
  left: -60px;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 1px;
  background: #CCCCCC;
}

.gw-mdf-exc-group-title {
  font-size: clamp(18px, calc(1.25 * var(--u)), 24px);
  font-weight: 500;
  color: #004846;
  line-height: 1.2083;
  margin-bottom: clamp(10px, calc(.89 * var(--u)), 17px);
}

.gw-mdf-exc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.gw-mdf-exc-list li {
  font-size: 16px;
  font-weight: 300;
  color: #070707;
  line-height: 2.0625;
  padding-left: 28px;
  position: relative;
}

.gw-mdf-exc-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 15px;
  height: 15px;
  background: url('../images/icon-check.png') center/contain no-repeat;
  border-radius: 50%;
}

.gw-mdf-apps {
  background: var(--bg);
  padding: clamp(60px, calc(5.2 * var(--u)), 100px) 0;
}

.gw-mdf-apps-top {
  margin-bottom: clamp(24px, calc(1.56 * var(--u)), 30px);
  text-align: center;
}

.gw-mdf-apps-eyebrow {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: #00918D;
  line-height: 1.1875;
  margin-bottom: 10px;
}

.gw-mdf-apps-heading {
  font-size: clamp(26px, calc(2.08 * var(--u)), 40px);
  font-weight: 600;
  text-transform: uppercase;
  color: #070707;
  line-height: 1.2;
  margin-bottom: clamp(14px, calc(1.04 * var(--u)), 20px);
}

.gw-mdf-apps-desc {
  font-size: clamp(15px, calc(1.04 * var(--u)), 20px);
  font-weight: 300;
  color: #070707;
  line-height: 1.2;
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
}

.gw-mdf-apps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #CFC2B3;
  border: 1px solid #CFC2B3;
}

.gw-mdf-apps-item {
  background: var(--bg);
  padding: clamp(28px, calc(2.6 * var(--u)), 50px);
  transition: background .2s;
}

.gw-mdf-apps-item:hover {
  background: #e6f0ec;
}

.gw-mdf-apps-icon {
  margin-bottom: 20px;
}

.gw-mdf-apps-item-title {
  font-size: clamp(16px, calc(1.04 * var(--u)), 20px);
  font-weight: 500;
  color: #000000;
  line-height: 1.2;
  margin-bottom: 10px;
}

.gw-mdf-apps-item-desc {
  font-size: 16px;
  font-weight: 300;
  color: #000000;
  line-height: 1.1875;
  margin: 0;
}

.gw-mdf-apps-br {
  display: inline;
}

@media (max-width: 1024px) {
  .gw-mdf-apps-br {
    display: none;
  }
}

.gw-mdf-dharma {
  position: relative;
  padding: clamp(70px, calc(5.2 * var(--u)), 100px) 0;
  overflow: hidden;
}

.gw-mdf-dharma-bg {
  position: absolute;
  inset: 0;
}

.gw-mdf-dharma-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gw-mdf-dharma-overlay {
  position: absolute;
  inset: 0;
  background: rgba(16, 16, 16, 0.3);
}

.gw-mdf-dharma-inner {
  position: relative;
  text-align: center;
}

.gw-mdf-dharma-sanskrit {
  font-size: clamp(38px, calc(3.125 * var(--u)), 60px);
  font-weight: 600;
  font-style: italic;
  text-transform: uppercase;
  color: #FFFFFF;
  line-height: 1.5;
  margin-bottom: 10px;
  font-family: 'Poppins', serif;
}

.gw-mdf-dharma-subtitle {
  font-size: clamp(18px, calc(1.35 * var(--u)), 26px);
  font-weight: 400;
  font-style: italic;
  font-family: 'Lora', serif;
  letter-spacing: 0.1em;
  line-height: 1.27;
  color: #FFFFFF;
  margin-bottom: clamp(30px, calc(2.45 * var(--u)), 47px);
}

.gw-mdf-dharma-para {
  font-size: clamp(16px, calc(1.25 * var(--u)), 24px);
  font-weight: 200;
  color: #FFFFFF;
  line-height: 1.2083;
  max-width: 1018px;
  margin: 0 auto clamp(20px, calc(1.51 * var(--u)), 29px);
}

.gw-mdf-dharma-pillars {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(30px, calc(7.8 * var(--u)), 150px);
  margin-top: clamp(48px, calc(4.17 * var(--u)), 80px);
}

.gw-mdf-dharma-pillar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  padding: 0;
}

.gw-mdf-dharma-pillar-name {
  font-size: clamp(26px, calc(1.875 * var(--u)), 36px);
  font-weight: 200;
  color: #FFFFFF;
  line-height: 1.194;
}

.gw-mdf-dharma-pillar-sub {
  font-size: clamp(13px, calc(.83 * var(--u)), 16px);
  font-weight: 200;
  text-transform: uppercase;
  letter-spacing: 0;
  color: #FFFFFF;
  opacity: 0.6;
  line-height: 1.1875;
}

.gw-mdf-dharma-divider {
  width: 1px;
  height: clamp(50px, calc(4 * var(--u)), 77px);
  background: rgba(255, 255, 255, 0.5);
  flex-shrink: 0;
}

.gw-mdf-cta {
  background: #00918D;
  padding: clamp(50px, calc(4.17 * var(--u)), 80px) 0;
}

.gw-mdf-cta-inner {
  display: grid;
  grid-template-columns: clamp(400px, calc(42.97 * var(--u)), 825px) 1fr;
  gap: clamp(40px, calc(7.97 * var(--u)), 153px);
  align-items: center;
}

.gw-mdf-cta-heading {
  font-size: clamp(30px, calc(2.81 * var(--u)), 54px);
  font-weight: 500;
  color: #FFFFFF;
  line-height: 1.111;
  margin: 0;
}

.gw-mdf-cta-desc {
  font-size: clamp(16px, calc(1.15 * var(--u)), 22px);
  font-weight: 400;
  color: #FFFFFF;
  line-height: 1.18;
  max-width: 524px;
  margin-bottom: clamp(20px, calc(1.56 * var(--u)), 30px);
}

.gw-mdf-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 30px;
  border: 1px solid #FFFBF6;
  background: #FFFBF6;
  color: #00918D;
  font-size: 16px;
  font-weight: 600;
  font-family: var(--font);
  text-decoration: none;
  transition: border-radius .2s;
}

.gw-mdf-cta-btn:hover {
  border-radius: 20px 0 0 0;
}

@media (max-width: 1024px) {
  .gw-mdf-smart-cols {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 1024px) {
  .gw-mdf-game-cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-mdf-eng-inner {
    grid-template-columns: 1fr;
  }

  .gw-mdf-eng-left {
    min-height: 420px;
  }

  .gw-mdf-eng-body {
    padding: 40px var(--pad);
  }

  .gw-mdf-eng-caption {
    position: static;
    left: auto;
    top: auto;
    width: auto;
    margin: 0 var(--pad) 40px;
  }

  .gw-mdf-specs-header {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .gw-mdf-specs-cols {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-mdf-specs-col {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    padding: 24px 0;
  }

  .gw-mdf-showcase {
    grid-template-columns: 1fr;
  }

  .gw-mdf-showcase-right {
    min-height: 300px;
  }

  .gw-mdf-exc {
    grid-template-columns: 1fr;
  }

  .gw-mdf-exc-left {
    min-height: 300px;
  }

  .gw-mdf-exc-right {
    padding: 40px var(--pad);
  }

  .gw-mdf-apps-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-mdf-dharma-pillars {
    flex-wrap: wrap;
    gap: 24px;
  }

  .gw-mdf-dharma-divider {
    display: none;
  }

  .gw-mdf-docs-cards {
    grid-template-columns: 1fr;
  }

  .gw-mdf-cta-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 576px) {
  .gw-mdf-game-cards {
    grid-template-columns: 1fr 1fr;
  }

  .gw-mdf-smart-cols {
    grid-template-columns: 1fr;
  }

  .gw-mdf-specs-cols {
    grid-template-columns: 1fr;
  }

  .gw-mdf-apps-grid {
    grid-template-columns: 1fr;
  }

  .gw-mdf-hero-tabs {
    grid-template-columns: 1fr;
  }

  .gw-mdf-hero-tab {
    padding-bottom: 12px;
  }

  .gw-mdf-eng-text {
    padding: 36px var(--pad) 20px;
  }

  .gw-mdf-eng-body {
    padding: 0 var(--pad) 36px;
  }
}

html.gw-scaled {
  --u: 19.2px;
}

html.gw-scaled body {
  overflow-x: hidden;
}

@media (max-width: 1024px) {

  .gw-decor-hero {
    height: auto;
    min-height: 440px;
    margin-top: 80px;
  }

  .gw-decor-hero .gw-ab-hero-inner {
    padding-top: 36px;
    padding-bottom: 56px;
  }

  .gw-decor-hero .gw-ab-hero-title {
    margin-top: 70px;
    line-height: 1.1;
  }

  .gw-decor-stats {
    height: auto;
  }

  .gw-decor-stats .gw-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-decor-stats .gw-stat {
    padding: 26px 16px;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
  }

  .gw-decor-stats .gw-stat:nth-child(2n) {
    border-right: none;
  }

  .gw-gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .gw-responsibly {
    padding: 64px 0;
    min-height: 0;
  }

  .gw-cert-badges {
    gap: 32px;
  }
}

@media (max-width: 576px) {
  .gw-decor-hero {
    min-height: 360px;
    margin-top: 72px;
  }

  .gw-decor-hero .gw-ab-hero-title {
    font-size: 34px;
    line-height: 1.12;
    margin-top: 48px;
  }

  .gw-decor-hero .gw-ab-hero-line1 {
    font-size: 18px;
    line-height: 1.45;
  }

  .gw-decor-hero .gw-ab-hero-tagline-bar {
    height: 64px;
  }

  .gw-decor-stats .gw-stats-grid {
    grid-template-columns: 1fr;
  }

  .gw-decor-stats .gw-stat {
    border-right: none;
  }

  .gw-decor-stats .gw-stat-inner {
    align-items: center;
    text-align: center;
  }

  .gw-cert-badges {
    gap: 22px;
  }

  .gw-gallery-grid {
    grid-template-columns: 1fr 1fr;
  }

  .gw-gallery-label {
    font-size: 15px;
  }
}

@media (max-width: 1024px) {

  html,
  body {
    overflow-x: hidden;
  }

  @supports (overflow-x: clip) {

    html,
    body {
      overflow-x: clip;
    }
  }

  [data-aos="fade-left"]:not(.aos-animate),
  [data-aos="fade-right"]:not(.aos-animate) {
    transform: translate3d(0, 40px, 0);
  }

  .gw-mobile-menu {
    max-height: calc(100vh - var(--nav-h));
    overflow-y: auto;
  }
}

@media (max-width: 576px) {
  .gw-logo img {
    height: 38px;
  }
}

@media (max-width: 1024px) {

  .gw-hero-swiper .swiper-slide {
    flex-direction: row;
  }

  .gw-hero-swiper {
    height: 460px;
    max-height: none;
    min-height: 0;
  }

  .gw-split-left {
    width: 55%;
    min-height: 0;
    padding: 18px 16px 64px;
  }

  .gw-split-right {
    width: auto;
    flex: 1;
    height: auto;
    flex-shrink: 1;
  }

  .gw-split-eyebrow,
  .gw-split-eyebrow--teal {
    font-size: 12px;
    margin-bottom: 10px;
  }

  .gw-split-title {
    font-size: 24px;
    line-height: 1.15;
    margin-bottom: 12px;
  }

  .gw-split-desc {
    font-size: 12px;
    line-height: 1.55;
    margin-bottom: 18px;
  }

  .gw-split-btns {
    gap: 10px;
  }

  .gw-split-btns .gw-btn-primary {
    padding: 10px 14px;
    font-size: 12px;
  }

  .gw-split-btn-ghost {
    font-size: 12px;
  }

  .gw-hero-nav {
    bottom: 16px;
    left: 16px;
    gap: 10px;
  }

  .gw-hero-nav-counter,
  .gw-slide-num {
    font-size: 12px;
  }

  .gw-hero-badge {
    left: auto;
    top: auto;
    right: 12px;
    bottom: 16px;
    transform: none;
  }

  .gw-hero-badge-circle {
    width: 92px;
    height: 92px;
    border-width: 5px;
  }

  .gw-hero-badge-name {
    font-size: 9px;
  }

  .gw-hero-badge-code {
    font-size: 8px;
  }

  .gw-slide--full .gw-split-left {
    width: 60%;
  }
}

@media (max-width: 576px) {
  .gw-hero-swiper {
    height: 420px;
  }

  .gw-split-left {
    width: 58%;
    padding: 14px 12px 60px;
  }

  .gw-split-title {
    font-size: 20px;
  }

  .gw-split-desc {
    font-size: 11px;
  }
}

@media (max-width: 1024px) {

  .gw-collection-hover-btns {
    max-height: 60px;
    opacity: 1;
    transform: none;
    margin-top: 16px;
  }

  .gw-collection-card {
    height: 480px;
  }
}

@media (max-width: 576px) {
  .gw-collection-card {
    height: 380px;
  }

  .gw-collection-overlay {
    padding: 0 20px 24px;
  }

  .gw-collection-btn-primary {
    padding: 12px 18px;
    font-size: 14px;
  }

  .gw-collection-btn-outline {
    font-size: 14px;
  }
}

@media (max-width: 1024px) {
  .gw-decor-range-inner {
    gap: 40px;
  }
}

@media (max-width: 768px) {
  .gw-decor-swatches-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }

  .gw-decor-swatch {
    gap: 10px;
  }

  .gw-decor-count-row {
    white-space: normal;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 36px;
  }
}

@media (max-width: 1024px) {

  .gw-process-section .gw-container>div {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    scrollbar-width: thin;
    padding-bottom: 10px;
  }

  .gw-process-section [data-aos] {
    pointer-events: auto !important;
  }

  .gw-process-section .gw-container>div {
    cursor: grab;
    user-select: none;
  }

  .gw-process-section .gw-container>div::-webkit-scrollbar {
    height: 4px;
  }

  .gw-process-section .gw-container>div::-webkit-scrollbar-track {
    background: var(--border);
    border-radius: 2px;
  }

  .gw-process-section .gw-container>div::-webkit-scrollbar-thumb {
    background: var(--teal-light);
    border-radius: 2px;
  }

  .gw-process-circles-row {
    width: 1602px;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding-top: 30px;
  }

  .gw-process-circle {
    width: 230px;
    height: 230px;
    flex: 0 0 230px;
    padding: 14px;
  }

  .gw-process-vec14 {
    width: 58px;
    flex: 0 0 58px;
  }

  .gw-process-icon {
    width: 48px;
  }

  .gw-process-label-inner {
    font-size: 15px;
  }

  .gw-process-endpoint {
    flex: 0 0 8px;
  }
}

@media (max-width: 1024px) {
  .gw-stat-panel:nth-child(2n) {
    border-right: none;
  }
}

@media (max-width: 576px) {
  .gw-stat-panel {
    padding: 36px 18px;
  }

  .gw-stat-panel-num {
    font-size: 40px;
    margin-bottom: 12px;
  }

  .gw-stat-panel-sub {
    margin-bottom: 16px;
  }

  .gw-stat-panel-x {
    font-size: 24px;
  }

  .gw-stat-panel-iso {
    font-size: 15px;
  }

  .gw-stat-panel-label {
    font-size: 15px;
  }
}

@media (max-width: 1024px) {

  .gw-reviews-divider {
    margin: 0 0 36px;
  }

  .gw-reviews-divider::before {
    display: none;
  }

  .gw-reviews-right::before {
    display: none;
  }
}

@media (max-width: 768px) {
  .gw-reviews-bottom-row {
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 32px;
  }

  .gw-review-headline-new {
    font-size: 22px;
    margin-bottom: 18px;
  }
}

@media (max-width: 768px) {
  .gw-about-img-accent {
    width: 40%;
    right: -10px;
    bottom: -18px;
  }

  .gw-about-preview-inner {
    gap: 48px;
  }
}

@media (max-width: 576px) {
  .gw-contact-title {
    font-size: 26px;
  }

  .gw-contact-subtitle {
    margin-bottom: 32px;
  }

  .gw-contact-details {
    gap: 26px;
  }

  .gw-form-input,
  .gw-form-select,
  .gw-form-textarea,
  .gw-custom-select-trigger {
    padding: 13px 14px;
  }

  .gw-form-row {
    gap: 20px;
    margin-bottom: 20px;
  }

  .gw-form-group {
    gap: 8px;
    margin-bottom: 20px;
  }

  .gw-btn-submit {
    width: 100%;
  }
}

@media (max-width: 1024px) {
  .gw-footer-nav-row {
    grid-template-columns: repeat(5, 1fr);
  }

  .gw-footer-nav-link {
    height: 88px;
    font-size: 15px;
    padding: 8px;
  }

  .gw-footer-col--logo,
  .gw-footer-col--social {
    border-right: 1px solid rgba(0, 145, 141, 0.2);
    border-bottom: none;
    padding-bottom: 0;
  }
}

@media (max-width: 768px) {
  .gw-footer-nav-row {
    grid-template-columns: repeat(2, 1fr);
    border-left: none;
  }

  .gw-footer-nav-link {
    height: 64px;
    font-size: 14px;
    border-bottom: 1px solid rgba(17, 94, 48, 0.2);
  }

  .gw-footer-nav-link:nth-child(2n) {
    border-right: none;
  }

  .gw-footer-nav-link:nth-child(5) {
    grid-column: 1 / -1;
    border-right: none;
    border-bottom: none;
  }

  .gw-footer-body {
    grid-template-columns: 1fr;
  }

  .gw-footer-col--logo,
  .gw-footer-col--social {
    border-right: none;
    border-bottom: 1px solid rgba(0, 145, 141, 0.2);
    padding-bottom: 32px;
  }
}

@media (max-width: 576px) {
  .gw-footer-body {
    padding: 32px var(--pad);
    gap: 32px;
  }

  .gw-footer-logo {
    height: 52px;
  }

  .gw-footer-follow-title {
    font-size: 18px;
  }

  .gw-social-link {
    width: 44px;
    height: 44px;
  }

  .gw-footer-copy {
    font-size: 13px;
  }
}

@media (max-width: 768px) {
  .gw-ab-hero {
    height: auto;
    min-height: 320px;
  }

  .gw-ab-hero-title {
    margin-top: 48px;
    font-size: 34px;
  }

  .gw-ab-hero-bottom {
    margin-top: 36px;
  }

  .gw-ab-hero-tagline-bar {
    height: 76px;
  }

  .gw-ab-hero-line1,
  .gw-ab-hero-line2,
  .gw-ab-hero-line3 {
    font-size: 20px;
  }

  .gw-decor-hero .gw-ab-hero-line1 {
    font-size: 18px;
  }
}

@media (max-width: 1024px) {
  .gw-ab-who-inner {
    grid-template-columns: 1fr;
    padding-bottom: 40px;
  }

  .gw-ab-who-text {
    padding-right: 0;
  }

  .gw-ab-who-imgs {
    padding-left: 0;
    padding-top: 36px;
    height: auto;
  }

  .gw-ab-who-img-frame {
    height: clamp(260px, 42vw, 420px);
  }
}

@media (max-width: 576px) {
  .gw-ab-who-imgs {
    gap: 14px;
  }

  .gw-ab-who-img-frame {
    height: 220px;
  }

  .gw-ab-who-heading {
    margin-bottom: 28px;
  }
}

@media (max-width: 576px) {
  .gw-ab-reason-card {
    min-height: 0;
    padding: 28px 14px;
  }

  .gw-ab-reason-name {
    font-size: 17px;
    margin-bottom: 10px;
  }

  .gw-ab-reason-desc {
    font-size: 13px;
  }
}

@media (max-width: 1024px) {
  .gw-ab-why-cols {
    grid-template-columns: 1fr;
  }

  .gw-ab-why::before {
    display: none;
  }

  .gw-ab-why-col {
    padding: 0;
  }

  .gw-ab-why-col--left {
    text-align: right;
  }

  .gw-ab-why-col--left .gw-ab-why-label-row {
    justify-content: flex-end;
  }

  .gw-ab-why-col--left .gw-ab-why-label-line,
  .gw-ab-why-col--right .gw-ab-why-label-line {
    width: 150px;
    margin: 0;
  }

  .gw-ab-why-col--right {
    text-align: left;
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: 40px;
    margin-top: 40px;
  }
}

@media (max-width: 576px) {
  .gw-ab-accord-trigger {
    gap: 14px;
    padding: 18px 12px;
  }

  .gw-ab-accord-icon,
  .gw-ab-accord-icon svg {
    width: 42px;
    height: 42px;
  }

  .gw-ab-accord-name {
    font-size: 17px;
  }

  .gw-ab-accord-arrow {
    width: 40px;
    height: 40px;
    font-size: 20px;
  }

  .gw-ab-accord-body {
    padding: 0 12px 24px 68px;
  }
}

@media (max-width: 576px) {
  .gw-ab-cert-card {
    padding: 26px 22px;
    border-radius: 20px 0 0 0;
  }

  .gw-ab-cert-card-iso {
    font-size: 22px;
    margin-bottom: 12px;
  }
}

@media (max-width: 768px) {

  .gw-pb-hero,
  .gw-pb-hero .swiper-wrapper,
  .gw-pb-hero .swiper-slide,
  .gw-mdf-hero,
  .gw-mdf-hero .swiper-wrapper,
  .gw-mdf-hero .swiper-slide {
    height: 440px;
  }

  .gw-pb-hero-title,
  .gw-mdf-hero-title {
    margin-top: 48px;
    font-size: 34px;
  }

  .gw-pb-hero-body,
  .gw-mdf-hero-body {
    padding-bottom: 120px;
  }

  .gw-pb-hero-tabs,
  .gw-mdf-hero-tabs {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }

  .gw-pb-hero-tab,
  .gw-mdf-hero-tab {
    font-size: 13px;
    padding-bottom: 10px;
  }
}

@media (max-width: 576px) {

  .gw-pb-game-card-title,
  .gw-mdf-game-card-title {
    font-size: 15px;
  }

  .gw-pb-game-card-desc,
  .gw-mdf-game-card-desc {
    font-size: 13.5px;
  }
}

@media (max-width: 1024px) {

  .gw-pb-eng-left,
  .gw-mdf-eng-left {
    min-height: 0;
  }

  .gw-pb-eng-text,
  .gw-mdf-eng-text {
    padding: 0 0 28px;
  }

  .gw-pb-eng-body,
  .gw-mdf-eng-body {
    padding: 28px 0 0;
  }

  .gw-pb-eng-caption,
  .gw-mdf-eng-caption {
    margin: 20px 0 0;
    width: 100%;
  }
}

@media (max-width: 576px) {

  .gw-pb-eng-caption,
  .gw-mdf-eng-caption {
    padding: 22px 20px;
  }

  .gw-pb-eng-imgwrap {
    height: 240px;
    border-top-left-radius: 30px;
  }

  .gw-mdf-eng-imgwrap {
    height: 220px;
    border-top-left-radius: 30px;
  }
}

@media (max-width: 1024px) {

  .gw-pb-showcase-hover,
  .gw-mdf-showcase-hover {
    margin: 0;
  }

  .gw-pb-showcase-watermark,
  .gw-mdf-showcase-watermark {
    left: var(--pad);
  }

  .gw-mdf-showcase-title {
    white-space: normal;
  }
}

@media (max-width: 768px) {

  .gw-pb-showcase-left,
  .gw-mdf-showcase-left {
    padding-top: 56px;
    padding-bottom: 48px;
  }

  .gw-pb-showcase-content,
  .gw-mdf-showcase-content {
    margin-top: 48px;
  }

  .gw-pb-showcase-title,
  .gw-mdf-showcase-title {
    font-size: 30px;
  }

  .gw-pb-showcase-arrows,
  .gw-mdf-showcase-arrows {
    margin-top: 40px;
  }

  .gw-pb-showcase-watermark,
  .gw-mdf-showcase-watermark {
    font-size: 90px;
    top: 80px;
  }

  .gw-pb-showcase-right,
  .gw-mdf-showcase-right {
    min-height: 260px;
  }
}

@media (max-width: 1024px) {

  .gw-pb-exc-watermark,
  .gw-mdf-exc-watermark {
    font-size: clamp(40px, 7vw, 70px);
    left: var(--pad);
    top: 28px;
  }

  .gw-pb-exc-group:nth-child(2),
  .gw-mdf-exc-group:nth-child(2) {
    border: none;
    margin-left: 0;
    margin-right: 0;
    padding: 0 0 0 0;
    margin-bottom: clamp(10px, .83vw, 16px);
  }

  .gw-pb-exc-group:nth-child(2)::before,
  .gw-mdf-exc-group:nth-child(2)::before {
    display: none;
  }

  .gw-pb-exc {
    min-height: 0;
  }

  .gw-pb-exc-left {
    min-height: 420px;
  }

  .gw-pb-exc-left::before {
    height: 100%;
  }

  .gw-pb-exc-board--stack {
    left: 38%;
    height: 250px;
    bottom: 28px;
  }

  .gw-pb-exc-board--front {
    left: 12%;
    height: 340px;
  }

  .gw-mdf-exc {
    min-height: 0;
  }

  .gw-mdf-exc-left {
    min-height: 0;
  }

  .gw-mdf-exc-left::before {
    height: 100%;
  }

  .gw-mdf-exc-left img {
    position: relative;
    left: 0;
    top: 0;
    z-index: 3;
    height: 340px;
    max-width: 100%;
    margin: 36px auto;
    scale: none;
  }

  .gw-pb-exc-heading,
  .gw-mdf-exc-heading {
    margin-bottom: 28px;
  }
}

@media (max-width: 768px) {
  .gw-pb-exc-left {
    min-height: 360px;
  }

  .gw-pb-exc-board--stack {
    left: 32%;
    height: 210px;
    bottom: 22px;
  }

  .gw-pb-exc-board--front {
    left: 6%;
    height: 300px;
  }

  .gw-pb-exc-list li,
  .gw-mdf-exc-list li {
    font-size: 15px;
    line-height: 1.8;
    padding-left: 24px;
  }

  .gw-mdf-exc-left img {
    height: 280px;
    margin: 28px auto;
  }
}

@media (max-width: 576px) {

  .gw-pb-exc-watermark,
  .gw-mdf-exc-watermark {
    font-size: 34px;
    top: 20px;
  }

  .gw-pb-exc-left {
    min-height: 320px;
  }

  .gw-pb-exc-board--stack {
    left: 30%;
    height: 180px;
    bottom: 18px;
  }

  .gw-pb-exc-board--front {
    left: 5%;
    height: 260px;
  }

  .gw-pb-exc-heading,
  .gw-mdf-exc-heading {
    font-size: 22px;
  }

  .gw-pb-exc-group-title,
  .gw-mdf-exc-group-title {
    font-size: 18px;
  }
}

@media (max-width: 1024px) {
  .gw-pb-specs-col::after {
    display: none;
  }

  .gw-pb-specs-col {
    border-bottom: none;
    padding: 20px 0;
  }
}

@media (max-width: 1024px) {

  .gw-pb-apps-grid,
  .gw-mdf-apps-grid {
    gap: 0;
    background: transparent;
    border: 1px solid #CFC2B3;
  }

  .gw-pb-apps-item,
  .gw-mdf-apps-item {
    border-right: 1px solid #CFC2B3;
    border-bottom: 1px solid #CFC2B3;
  }

  .gw-pb-apps-item:nth-child(2n),
  .gw-mdf-apps-item:nth-child(2n) {
    border-right: none;
  }

  .gw-pb-apps-item:last-child,
  .gw-mdf-apps-item:last-child {
    border-bottom: none;
  }
}

@media (max-width: 576px) {

  .gw-pb-apps-item,
  .gw-mdf-apps-item {
    padding: 24px 18px;
    border-right: none;
  }
}

@media (max-width: 576px) {

  .gw-pb-dharma-sanskrit,
  .gw-mdf-dharma-sanskrit {
    font-size: 28px;
    line-height: 1.35;
  }

  .gw-pb-dharma-subtitle,
  .gw-mdf-dharma-subtitle {
    font-size: 16px;
  }

  .gw-pb-dharma-para,
  .gw-mdf-dharma-para {
    font-size: 15px;
  }

  .gw-pb-dharma-pillar-name,
  .gw-mdf-dharma-pillar-name {
    font-size: 24px;
  }

  .gw-pb-dharma-pillars,
  .gw-mdf-dharma-pillars {
    gap: 20px 32px;
  }
}

@media (max-width: 576px) {

  .gw-pb-docs-card,
  .gw-mdf-docs-card {
    padding: 22px;
    min-height: 0;
  }

  .gw-pb-docs-card-title,
  .gw-mdf-docs-card-title {
    font-size: 20px;
  }
}

@media (max-width: 576px) {

  .gw-pb-cta-heading,
  .gw-mdf-cta-heading {
    font-size: 26px;
  }

  .gw-pb-cta-desc,
  .gw-mdf-cta-desc {
    font-size: 16px;
  }
}

@media (max-width: 1024px) {

  .gw-mdf-stats-col,
  .gw-mdf-stats-col:first-child {
    padding: 28px var(--pad);
  }
}

@media (max-width: 1024px) {
  .gw-mdf-specs-arrow {
    display: none;
  }

  .gw-mdf-specs-left {
    padding: 56px 0 0;
  }

  .gw-mdf-specs-mid {
    padding: 0;
  }

  .gw-mdf-specs-right {
    border-left: none;
    border-top: none;
    padding: 8px 0 56px;
  }
}

@media (max-width: 768px) {
  .gw-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .gw-filters-row {
    gap: 14px;
  }
}

@media (max-width: 1024px) {
  .gw-trees-card {
    width: 100%;
    max-width: 591px;
  }
}

@media (max-width: 768px) {
  .gw-responsibly .gw-section-title {
    font-size: 28px;
    line-height: 1.25;
  }

  .gw-responsibly-desc {
    font-size: 16px;
    line-height: 1.45;
    margin: 16px 0 32px;
    max-width: none;
  }

  .gw-trees-card {
    padding: 32px 24px;
    min-height: 0;
    border-radius: 20px;
  }

  .gw-trees-num {
    font-size: 44px;
    line-height: 1.2;
  }

  .gw-trees-label {
    margin-bottom: 24px;
  }

  .gw-trees-desc {
    font-size: 16px;
    line-height: 1.45;
  }

  .gw-cert-badge {
    gap: 12px;
  }

  .gw-cert-icon {
    width: 56px;
    height: 56px;
  }

  .gw-cert-title {
    font-size: 17px;
  }
}

/* ============================================================
   Thank You page
   ============================================================ */

.gw-ty-hero {
  position: relative;
  background: var(--dark-green);
  overflow: hidden;
  padding: clamp(80px, calc(9.4 * var(--u)), 180px) 0 clamp(70px, calc(7.3 * var(--u)), 140px);
}

.gw-ty-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  opacity: .35;
  pointer-events: none;
  animation: gwTyFloat 12s ease-in-out infinite;
}

.gw-ty-blob--1 {
  width: clamp(220px, 28vw, 460px);
  height: clamp(220px, 28vw, 460px);
  background: var(--teal);
  top: -10%;
  left: -8%;
}

.gw-ty-blob--2 {
  width: clamp(180px, 22vw, 380px);
  height: clamp(180px, 22vw, 380px);
  background: var(--teal-light);
  bottom: -12%;
  right: -6%;
  animation-delay: -6s;
}

@keyframes gwTyFloat {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%      { transform: translate(30px, -25px) scale(1.08); }
}

.gw-ty-card {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto;
  background: var(--bg);
  border-radius: 50px 0 50px 0;
  padding: clamp(40px, calc(5.2 * var(--u)), 80px) clamp(28px, calc(4.2 * var(--u)), 70px);
  text-align: center;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .25);
}

.gw-ty-icon {
  width: clamp(84px, calc(7.3 * var(--u)), 110px);
  height: clamp(84px, calc(7.3 * var(--u)), 110px);
  margin: 0 auto 28px;
}

.gw-ty-icon svg {
  width: 100%;
  height: 100%;
}

.gw-ty-icon-circle {
  stroke: var(--teal);
  stroke-width: 4;
  fill: none;
  stroke-linecap: round;
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  animation: gwTyDrawCircle 0.7s ease-out forwards;
}

.gw-ty-icon-check {
  stroke: var(--teal);
  stroke-width: 5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 50;
  stroke-dashoffset: 50;
  animation: gwTyDrawCheck 0.5s ease-out 0.6s forwards;
}

@keyframes gwTyDrawCircle {
  to { stroke-dashoffset: 0; }
}

@keyframes gwTyDrawCheck {
  to { stroke-dashoffset: 0; }
}

.gw-ty-eyebrow {
  display: block;
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--teal);
  margin-bottom: 12px;
}

.gw-ty-title {
  font-size: clamp(34px, calc(3.65 * var(--u)), 56px);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--dark-green);
  line-height: 1.1;
  margin-bottom: 18px;
}

.gw-ty-text {
  font-size: clamp(15px, calc(.94 * var(--u)), 17px);
  font-weight: 300;
  color: var(--black);
  opacity: .75;
  line-height: 1.7;
  max-width: 540px;
  margin: 0 auto 36px;
}

.gw-ty-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

.gw-ty-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--dark-green);
  border: 1.5px solid var(--dark-green);
  font-family: var(--font);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  padding: 16px 30px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .25s, color .25s, border-radius .2s;
}

.gw-ty-btn-outline:hover {
  background: var(--dark-green);
  color: var(--white);
  border-radius: 0 20px 0 20px;
}

.gw-ty-meta {
  font-size: 13px;
  font-weight: 400;
  color: var(--black);
  opacity: .5;
}

.gw-ty-meta strong {
  color: var(--teal);
  font-weight: 600;
}

.gw-ty-cancel {
  background: none;
  border: none;
  padding: 0;
  margin-left: 6px;
  font-family: var(--font);
  font-size: 13px;
  font-weight: 600;
  color: var(--teal);
  text-decoration: underline;
  cursor: pointer;
}

.gw-ty-meta.gw-ty-meta--hidden {
  display: none;
}

/* ---------- Next steps ---------- */

.gw-ty-next {
  background: var(--bg);
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0;
}

.gw-ty-next-head {
  text-align: center;
  margin-bottom: clamp(36px, calc(4 * var(--u)), 60px);
}

.gw-ty-next .gw-eyebrow-row {
  justify-content: center;
}

.gw-ty-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, calc(2.6 * var(--u)), 40px);
}

.gw-ty-step {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 0 30px 0 30px;
  padding: clamp(28px, calc(2.6 * var(--u)), 40px);
  transition: box-shadow .25s, transform .25s;
}

.gw-ty-step:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 72, 70, .1);
}

.gw-ty-step-num {
  display: inline-block;
  font-size: clamp(28px, calc(2.6 * var(--u)), 40px);
  font-weight: 700;
  color: var(--teal-light);
  opacity: .5;
  margin-bottom: 16px;
}

.gw-ty-step-title {
  font-size: clamp(17px, calc(1.15 * var(--u)), 20px);
  font-weight: 600;
  color: var(--dark-green);
  text-transform: uppercase;
  margin-bottom: 10px;
}

.gw-ty-step-desc {
  font-size: 14px;
  font-weight: 300;
  color: var(--black);
  opacity: .7;
  line-height: 1.6;
}

/* ---------- Explore products ---------- */

.gw-ty-explore {
  background: var(--white);
  padding: 0 0 clamp(60px, calc(6.25 * var(--u)), 120px);
}

.gw-ty-explore-head {
  text-align: center;
  margin-bottom: clamp(36px, calc(4 * var(--u)), 60px);
}

.gw-ty-explore .gw-eyebrow-row {
  justify-content: center;
}

.gw-ty-explore-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, calc(1.5 * var(--u)), 24px);
}

.gw-ty-explore-card {
  position: relative;
  display: block;
  height: clamp(160px, calc(15.6 * var(--u)), 240px);
  border-radius: 0 30px 0 30px;
  overflow: hidden;
  text-decoration: none;
}

.gw-ty-explore-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.gw-ty-explore-card:hover img {
  transform: scale(1.08);
}

.gw-ty-explore-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 72, 70, 0) 40%, rgba(0, 72, 70, .85) 100%);
}

.gw-ty-explore-label {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 16px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--white);
  font-size: clamp(15px, calc(1 * var(--u)), 18px);
  font-weight: 600;
  text-transform: uppercase;
}

.gw-ty-explore-label svg {
  flex-shrink: 0;
  transition: transform .25s;
}

.gw-ty-explore-card:hover .gw-ty-explore-label svg {
  transform: translate(3px, -3px);
}

@media (max-width: 1024px) {
  .gw-ty-steps {
    grid-template-columns: 1fr;
  }

  .gw-ty-explore-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .gw-ty-card {
    border-radius: 30px 0 30px 0;
    padding: 40px 20px;
  }

  .gw-ty-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .gw-ty-actions .gw-btn-primary,
  .gw-ty-actions .gw-ty-btn-outline {
    text-align: center;
  }

  .gw-ty-explore-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   Contact Page
   ============================================ */

.gw-ct-info {
  padding: clamp(60px, calc(6.25 * var(--u)), 120px) 0 clamp(40px, calc(3.13 * var(--u)), 60px);
  background: var(--bg);
}

.gw-ct-info-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto clamp(40px, calc(3.65 * var(--u)), 70px);
}

.gw-ct-info-header .gw-eyebrow-row {
  justify-content: center;
}

.gw-ct-info-header .gw-section-title {
  margin-bottom: 16px;
}

.gw-ct-info-sub {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: rgba(7, 7, 7, .65);
  line-height: 1.6;
}

.gw-ct-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, calc(1.56 * var(--u)), 30px);
}

.gw-ct-info-card {
  background: var(--white);
  border: 1px solid var(--border);
  padding: clamp(32px, calc(2.6 * var(--u)), 48px) clamp(24px, calc(2.08 * var(--u)), 36px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.gw-ct-info-card:hover {
  border-color: var(--teal);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .06);
}

.gw-ct-info-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--tab-active);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  flex-shrink: 0;
  transition: background .25s ease;
}

.gw-ct-info-card:hover .gw-ct-info-icon {
  background: var(--teal);
}

.gw-ct-info-icon svg {
  stroke: var(--teal);
  width: 24px;
  height: 24px;
  transition: stroke .25s ease;
}

.gw-ct-info-card:hover .gw-ct-info-icon svg {
  stroke: var(--white);
}

.gw-ct-info-title {
  font-size: clamp(18px, calc(1.25 * var(--u)), 22px);
  font-weight: 600;
  color: var(--black);
  text-transform: uppercase;
  letter-spacing: 0;
}

.gw-ct-info-text {
  font-size: clamp(13px, calc(.78 * var(--u)), 15px);
  font-weight: 300;
  color: rgba(7, 7, 7, .6);
  line-height: 1.5;
  margin-bottom: 10px;
}

.gw-ct-info-link {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 600;
  color: var(--teal);
  margin-top: auto;
  transition: color .2s;
}

.gw-ct-info-link:hover {
  color: var(--dark-green);
  text-decoration: underline;
}

/* ---------- Map + Form ---------- */

.gw-ct-main {
  padding: 0 0 clamp(60px, calc(6.25 * var(--u)), 120px);
  background: var(--bg);
}

.gw-ct-main-inner {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(28px, calc(2.6 * var(--u)), 50px);
  align-items: stretch;
}

.gw-ct-map-col {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.gw-ct-map-frame {
  flex: 1;
  min-height: 360px;
  border: 1px solid var(--border);
  overflow: hidden;
}

.gw-ct-map-frame iframe {
  width: 100%;
  height: 100%;
  min-height: 360px;
  display: block;
  filter: grayscale(.1) contrast(1.05);
}

.gw-ct-map-card {
  background: var(--dark-green);
  padding: clamp(24px, calc(2.08 * var(--u)), 36px);
}

.gw-ct-map-card-title {
  font-size: clamp(16px, calc(1.04 * var(--u)), 20px);
  font-weight: 600;
  color: var(--white);
  text-transform: uppercase;
  margin-bottom: 8px;
}

.gw-ct-map-card-text {
  font-size: clamp(13px, calc(.83 * var(--u)), 15px);
  font-weight: 300;
  color: rgba(255, 251, 246, .75);
  line-height: 1.5;
}

.gw-ct-form-panel {
  background: var(--white);
  border: 1px solid var(--border);
  padding: clamp(32px, calc(3.13 * var(--u)), 60px);
}

.gw-ct-form-title {
  margin: 8px 0 12px;
}

.gw-ct-form-sub {
  font-size: clamp(14px, calc(.83 * var(--u)), 16px);
  font-weight: 300;
  color: rgba(7, 7, 7, .6);
  line-height: 1.6;
  margin-bottom: clamp(28px, calc(2.08 * var(--u)), 36px);
  max-width: 480px;
}

/* Light-themed form fields inside the contact page panel */
.gw-ct-form-panel .gw-form-label {
  color: var(--black);
}

.gw-ct-form-panel .gw-form-input,
.gw-ct-form-panel .gw-form-textarea,
.gw-ct-form-panel .gw-custom-select-trigger {
  background: var(--bg);
  border: 1px solid var(--border);
  color: var(--black);
}

.gw-ct-form-panel .gw-form-input::placeholder,
.gw-ct-form-panel .gw-form-textarea::placeholder {
  color: rgba(7, 7, 7, .4);
}

.gw-ct-form-panel .gw-form-input:focus,
.gw-ct-form-panel .gw-form-textarea:focus,
.gw-ct-form-panel .gw-custom-select.open .gw-custom-select-trigger {
  border-color: var(--teal);
}

.gw-ct-form-panel .gw-custom-select-trigger {
  color: rgba(7, 7, 7, .4);
}

.gw-ct-form-panel .gw-custom-select-trigger.has-value {
  color: var(--black);
}

.gw-ct-form-panel .gw-custom-select-trigger:hover {
  background: var(--tab-active);
}

.gw-ct-form-panel .gw-form-alert--success,
.gw-ct-form-panel .gw-form-alert--error {
  color: var(--black);
}

.gw-ct-form-panel .gw-field-error {
  color: #C0392B;
}

@media (max-width: 1024px) {
  .gw-ct-info-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gw-ct-main-inner {
    grid-template-columns: 1fr;
  }

  .gw-ct-map-frame,
  .gw-ct-map-frame iframe {
    min-height: 320px;
  }
}

@media (max-width: 640px) {
  .gw-ct-info-grid {
    grid-template-columns: 1fr;
  }

  .gw-ct-form-panel {
    padding: 28px 20px;
  }

  .gw-ct-map-card {
    padding: 20px;
  }
}

.gw-call-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.gw-call-overlay.gw-call-overlay--open {
  opacity: 1;
  pointer-events: all;
}
.gw-call-modal {
  box-sizing: border-box;
  background: #FFFFFF;
  border: 1px solid #B8B8B8;
  border-radius: 20px;
  width: 760px;
  height: 453px;
  padding: 80px;
  position: relative;
  transform: translateY(20px);
  transition: transform .25s ease;
}
.gw-call-overlay--open .gw-call-modal {
  transform: translateY(0);
}
.gw-call-close {
  position: absolute;
  top: 18px; right: 24px;
  background: none;
  border: none;
  font-size: 28px;
  line-height: 1;
  color: var(--black);
  cursor: pointer;
  opacity: .4;
  transition: opacity .2s;
}
.gw-call-close:hover { opacity: 1; }
.gw-call-frame {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 600px;
  height: 293px;
}
.gw-call-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.gw-call-heading {
  font-family: 'Bricolage Grotesque';
  font-weight: 700;
  font-size: 26px;
  line-height: 31px;
  color: #00918D;
  margin: 0;
  text-align: center;
}
.gw-call-text {
  font-family: 'Bricolage Grotesque';
  font-weight: 400;
  font-size: 16px;
  line-height: 19px;
  color: #070707;
  margin: 0;
  text-align: center;
}
.gw-call-text strong { font-weight: 700; }
.gw-call-now {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 15px 30px;
  gap: 10px;
  height: 49px;
  background: #00918D;
  border: 1px solid #DBDBDB;
  font-family: 'Bricolage Grotesque';
  font-weight: 600;
  font-size: 16px;
  line-height: 19px;
  color: #FFFFFF;
  text-decoration: none;
  transition: background .25s, color .25s, transform .2s, border-radius .25s;
}
.gw-call-now:hover { background: var(--teal-light); color: var(--dark-green); transform: translateY(-1px); border-radius: 20px 0 0 0; }
.gw-call-now:active { transform: translateY(0); }

@media (max-width: 800px) {
  .gw-call-modal {
    width: 100%;
    max-width: 760px;
    height: auto;
    padding: 56px 24px;
  }
  .gw-call-frame { width: 100%; height: auto; }
  .gw-call-heading { font-size: 22px; line-height: 27px; }
  .gw-call-close { top: 14px; right: 16px; font-size: 26px; }
}