/* لندینگ Gpattern — RTL، تعاملی، responsive */

/* Shared SVG sprite icons (<use> from sprite.svg) */
.gp-ico {
  display: block;
  flex-shrink: 0;
  overflow: hidden;
  max-width: 100%;
  color: inherit;
}

.gp-ico use {
  pointer-events: none;
}

@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../../fonts/vazirmatn/vazirmatn-arabic-400-normal.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC;
}
@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../../fonts/vazirmatn/vazirmatn-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../../fonts/vazirmatn/vazirmatn-arabic-500-normal.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC;
}
@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../../fonts/vazirmatn/vazirmatn-latin-500-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../../fonts/vazirmatn/vazirmatn-arabic-600-normal.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC;
}
@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../../fonts/vazirmatn/vazirmatn-latin-600-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../../fonts/vazirmatn/vazirmatn-arabic-700-normal.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC;
}
@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../../fonts/vazirmatn/vazirmatn-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../../fonts/vazirmatn/vazirmatn-arabic-700-normal.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC;
}
@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../../fonts/vazirmatn/vazirmatn-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --gp-primary: #2563eb;
  --gp-primary-hover: #1d4ed8;
  --gp-ink: #0f172a;
  --gp-muted: #64748b;
  --gp-bg: #f3f6fa;
  --gp-surface: #ffffff;
  --gp-seam: #f4f9ff;
  --gp-features-bg: #ffffff;
  --gp-process-bg: #f7fbff;
  --gp-line: #e2e8f0;
  --gp-success: #16a34a;
  --gp-danger: #dc2626;
  --gp-header-h: 72px;
  --gp-radius: 14px;
  --gp-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
  --gp-container: 1180px;
  --gp-font: "Vazirmatn", Tahoma, sans-serif;
}

html.gp,
html.gp body,
.gp-body {
  font-family: var(--gp-font);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.gp-body {
  --gp-glow-x: 50%;
  --gp-glow-y: 50%;
  --gp-glow-a: 0;
  margin: 0;
  color: var(--gp-ink);
  background: var(--gp-bg);
  line-height: 1.7;
  overflow-x: hidden;
}

/* Soft mouse shine — follows cursor across the whole page */
.gp-page-glow {
  position: fixed;
  inset: 0;
  z-index: 40;
  pointer-events: none;
  opacity: var(--gp-glow-a, 0);
  background: radial-gradient(
    420px circle at var(--gp-glow-x, 50%) var(--gp-glow-y, 50%),
    rgba(96, 165, 250, 0.26) 0%,
    rgba(147, 197, 253, 0.12) 38%,
    transparent 70%
  );
  will-change: opacity;
}

.gp-body a {
  color: inherit;
}

.gp-body.gp-is-nav-open {
  overflow: hidden;
}

.gp-container {
  width: min(100% - 2rem, var(--gp-container));
  margin-inline: auto;
}

.gp-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Buttons */
.gp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 2.85rem;
  padding: 0.7rem 1.4rem;
  border-radius: 12px;
  border: 1.5px solid transparent;
  font: inherit;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.gp-btn--sm {
  min-height: 2.35rem;
  padding: 0.45rem 1rem;
  font-size: 0.875rem;
  border-radius: 10px;
}

.gp-btn--block {
  width: 100%;
}

a.gp-btn--primary,
.gp-btn--primary {
  color: #fff;
  background: var(--gp-primary);
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.28);
}

a.gp-btn--primary:hover,
.gp-btn--primary:hover {
  color: #fff;
  background: var(--gp-primary-hover);
  transform: translateY(-1px);
}

.gp-btn--outline {
  color: var(--gp-primary);
  background: #fff;
  border-color: #93c5fd;
}

.gp-btn--outline:hover,
.gp-btn--on-light:hover {
  color: var(--gp-primary);
  background: #eff6ff;
  border-color: var(--gp-primary);
}

.gp-btn--on-light {
  background: #fff;
}

.gp-btn--light {
  color: var(--gp-primary);
  background: #fff;
}

.gp-btn--light:hover {
  background: #eff6ff;
  transform: translateY(-1px);
}

.gp-btn--outline-light {
  color: #fff;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.75);
}

.gp-btn--outline-light:hover {
  background: rgba(255, 255, 255, 0.12);
}

/* Ϙ��: ���� �� sprite (.gp-ico) � ��� Ϙ�� primary ���� ��� */
.gp-btn .gp-ico {
  width: 1rem;
  height: 1rem;
}

.gp-btn .gp-ico--stroke,
.gp-final-cta__btn .gp-ico--stroke {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gp-btn--primary .gp-ico,
.gp-btn--light .gp-ico {
  filter: brightness(0) invert(1);
}

/* ���� ���� (Quick benefits � �����) � ����� �� GpIcon/sprite */
.gp-icon {
  display: inline-grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 12px;
  background: #eff6ff;
  color: var(--gp-primary);
  flex-shrink: 0;
  position: relative;
}

.gp-icon .gp-ico {
  width: 1.125rem;
  height: 1.125rem;
}

/* Placeholder media */
.gp-placeholder {
  position: relative;
  display: grid;
  place-items: center;
  background:
    linear-gradient(145deg, #dbeafe 0%, #eff6ff 45%, #bfdbfe 100%);
  color: var(--gp-primary);
  overflow: hidden;
}

.gp-placeholder--dark {
  background:
    linear-gradient(160deg, #0f172a 0%, #1e3a5f 55%, #1e293b 100%);
  color: #93c5fd;
}

.gp-placeholder::after {
  content: attr(data-label);
  font-size: 0.85rem;
  font-weight: 600;
  text-align: center;
  padding: 0.75rem;
  opacity: 0.85;
}

/* Header — ابتدا هم‌عرض Hero، بعد از اسکرول تمام‌عرض */
.gp-header {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 100;
  display: flex;
  justify-content: center;
  height: calc(var(--gp-header-h) + 12px);
  padding-block-start: 12px;
  background: transparent;
  transition:
    background-color 280ms ease,
    box-shadow 280ms ease,
    height 280ms ease,
    padding-block-start 280ms ease;
}

.gp-header.gp-is-scrolled {
  height: var(--gp-header-h);
  padding-block-start: 0;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  /* ���� ����/����� �� �� ���� ��� ������ ���� ���� */
  box-shadow: none;
  border: none;
  border-block-end: none;
}

.gp-header__inner {
  width: min(100% - 2rem, var(--gp-container));
  height: var(--gp-header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-inline: 1rem;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(12px);
  border: none;
  border-radius: 16px;
  box-shadow: none;
  transition:
    width 320ms ease,
    max-width 320ms ease,
    border-radius 320ms ease,
    background-color 280ms ease,
    box-shadow 280ms ease,
    padding-inline 280ms ease;
}

.gp-header.gp-is-scrolled .gp-header__inner {
  width: 100%;
  max-width: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border: none;
  padding-inline: max(1rem, calc((100% - var(--gp-container)) / 2));
}

.gp-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  z-index: 2;
  line-height: 0;
}

.gp-logo__img {
  display: block;
  height: 2.35rem;
  width: auto;
  max-width: 11rem;
  object-fit: contain;
}

.gp-logo__img--hero {
  height: clamp(2.6rem, 4.2vw, 3.35rem);
  max-width: 14rem;
}

.gp-logo--light .gp-logo__img {
  filter: brightness(0) invert(1);
}

.gp-header__bar-cta {
  display: none;
  flex-shrink: 0;
  z-index: 2;
}

.gp-nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 0.75rem;
  background: transparent;
  padding: 0;
  cursor: pointer;
  z-index: 2;
  flex-shrink: 0;
  color: var(--gp-ink);
  transition: background-color 160ms ease, color 160ms ease;
}

.gp-nav-toggle:hover,
.gp-nav-toggle:focus-visible {
  background: rgba(37, 99, 235, 0.08);
  color: var(--gp-primary);
  outline: none;
}

.gp-nav-toggle__ico {
  display: block;
  width: 1.375rem;
  height: 1.375rem;
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gp-nav-toggle__ico--close {
  display: none;
}

.gp-body.gp-is-nav-open .gp-nav-toggle__ico--menu {
  display: none;
}

.gp-body.gp-is-nav-open .gp-nav-toggle__ico--close {
  display: block;
  color: var(--gp-primary);
}

.gp-nav,
.gp-nav--desktop {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

/* —— Side nav (mobile/tablet) — portal outside header__inner —— */
.gp-nav-backdrop,
.gp-sidenav {
  display: none;
}

.gp-nav__list {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.gp-nav__link {
  display: block;
  padding: 0.45rem 0.7rem;
  color: var(--gp-muted);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  border-radius: 8px;
  transition: color 160ms ease, background 160ms ease;
}

.gp-nav__link:hover,
.gp-nav__link.gp-is-active {
  color: var(--gp-primary);
  background: #eff6ff;
}

.gp-nav__link.gp-is-active {
  box-shadow: inset 0 -2px 0 var(--gp-primary);
  border-radius: 0;
  background: transparent;
}

.gp-nav__actions {
  display: flex;
  gap: 0.5rem;
}

/* ناحیه مشترک Hero + Quick با یک بک‌دراپ */
.gp-top {
  --gp-bg-x: 0px;
  --gp-bg-y: 0px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: calc(var(--gp-header-h) + 1.25rem) 2.25rem;
  background:
    radial-gradient(ellipse 70% 55% at 15% 30%, rgba(191, 219, 254, 0.45) 0%, transparent 60%),
    radial-gradient(ellipse 50% 45% at 90% 15%, rgba(255, 255, 255, 0.9) 0%, transparent 55%),
    linear-gradient(180deg, #eaf3ff 0%, #f3f8ff 52%, var(--gp-seam) 100%);
}

.gp-top::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 0;
  height: 5.5rem;
  background: linear-gradient(to bottom, transparent 0%, var(--gp-seam) 100%);
  pointer-events: none;
}

.gp-top__backdrop {
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  z-index: 0;
  /* عرض کامل، ارتفاع طبیعی — بدون کشیدگی عمودی */
  block-size: min(560px, 62vw);
  background-image: url("/images/gpattern/hero-backdrop.jpg");
  background-size: 100% auto;
  background-position: center top;
  background-repeat: no-repeat;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 58%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 58%, transparent 100%);
  will-change: transform;
  transform: translate3d(var(--gp-bg-x, 0px), var(--gp-bg-y, 0px), 0);
}

.gp-top > .gp-hero,
.gp-top > .gp-quick {
  position: relative;
  z-index: 1;
}

/* شش‌ضلعی‌های SVG تیز در بک‌گراند + شناور آرام */
.gp-hexes {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.gp-hex {
  --gp-orb-x: 0px;
  --gp-orb-y: 0px;
  position: absolute;
  display: block;
  opacity: 0.9;
  will-change: transform, translate;
  transform: translate3d(var(--gp-orb-x), var(--gp-orb-y), 0);
  animation: gp-hex-bob 4.2s ease-in-out infinite;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.gp-hex svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  shape-rendering: geometricPrecision;
  text-rendering: geometricPrecision;
}

.gp-hex--1 {
  width: 7.5rem;
  height: 8.25rem;
  inset-block-start: 8%;
  inset-inline-start: 4%;
  opacity: 0.92;
  animation-duration: 4.6s;
}

.gp-hex--2 {
  width: 4.4rem;
  height: 4.85rem;
  inset-block-start: 28%;
  inset-inline-start: 12%;
  opacity: 0.94;
  animation-duration: 3.6s;
  animation-delay: -0.9s;
}

.gp-hex--3 {
  width: 5.6rem;
  height: 6.15rem;
  inset-block-start: 12%;
  inset-inline-end: 6%;
  opacity: 0.9;
  animation-duration: 4.3s;
  animation-delay: -1.6s;
}

.gp-hex--4 {
  width: 3.4rem;
  height: 3.75rem;
  inset-block-start: 42%;
  inset-inline-end: 14%;
  opacity: 0.95;
  animation-duration: 3.4s;
  animation-delay: -0.5s;
}

.gp-hex--5 {
  width: 6.2rem;
  height: 6.8rem;
  inset-block-end: 18%;
  inset-inline-start: 8%;
  opacity: 0.88;
  animation-duration: 4.8s;
  animation-delay: -2s;
}

.gp-hex--6 {
  width: 2.8rem;
  height: 3.1rem;
  inset-block-start: 18%;
  inset-inline-start: 22%;
  opacity: 0.96;
  animation-duration: 3.2s;
  animation-delay: -1.2s;
}

.gp-hex--7 {
  width: 5rem;
  height: 5.5rem;
  inset-block-end: 12%;
  inset-inline-end: 8%;
  opacity: 0.9;
  animation-duration: 4s;
  animation-delay: -1.1s;
}

.gp-hex--8 {
  width: 3.8rem;
  height: 4.2rem;
  inset-block-start: 55%;
  inset-inline-end: 22%;
  opacity: 0.93;
  animation-duration: 3.5s;
  animation-delay: -2.4s;
}

@keyframes gp-hex-bob {
  0%,
  100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -18px;
  }
}

/* Hero — پنل ثابت؛ موشن فقط روی بک‌دراپ */
.gp-hero {
  padding: 0;
  background: transparent;
}

.gp-hero__panel {
  position: relative;
  overflow: hidden;
  border-radius: clamp(1.5rem, 3vw, 2.5rem);
  border: 2px solid #fff;
  background-color: #e8f1ff;
  box-shadow: 0 18px 50px rgba(37, 99, 235, 0.12);
}

.gp-hero__visual {
  display: block;
  width: 100%;
}

.gp-hero__photo {
  display: block;
  width: 100%;
  height: auto;
}

.gp-hero__content {
  position: absolute;
  z-index: 3;
  inset-block-start: clamp(1.5rem, 5vw, 3rem);
  inset-inline-start: clamp(1.5rem, 4.5vw, 3.5rem);
  inset-inline-end: auto;
  transform: none;
  max-inline-size: min(36rem, 48%);
  padding: 0.25rem 0.5rem;
}

.gp-hero__brand {
  display: inline-flex;
  align-items: center;
  margin: 0 0 0.85rem;
  line-height: 0;
}

.gp-hero__title {
  margin: 0 0 0.85rem;
  font-size: clamp(1.35rem, 2.35vw, 1.9rem);
  line-height: 1.55;
  font-weight: 800;
  color: #0b2a5b;
  letter-spacing: -0.01em;
}

.gp-hero__title-line {
  display: block;
  white-space: nowrap;
}

.gp-hero__title-line--accent {
  color: var(--gp-primary);
}

.gp-hero__lead {
  margin: 0 0 1.35rem;
  max-inline-size: 32rem;
  color: #5b6b7c;
  font-size: clamp(0.92rem, 1.15vw, 1.05rem);
  font-weight: 500;
  line-height: 1.85;
}

.gp-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.gp-hero__actions .gp-btn {
  min-height: 2.65rem;
  padding: 0.6rem 1.25rem;
  font-size: 0.9rem;
  border-radius: 11px;
}

/* Quick benefits — دقیقاً ۸px زیر عکس Hero، روی همان بک‌دراپ */
.gp-quick {
  margin-block-start: 8px;
  padding-block-end: 0;
  background: transparent;
}

.gp-quick__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.gp-quick__item {
  --gp-quick-mx: 50%;
  --gp-quick-my: 40%;
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1.15rem 1.1rem;
  background: #fff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  overflow: hidden;
  isolation: isolate;
  transition:
    transform 280ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 280ms ease,
    border-color 280ms ease,
    background-color 280ms ease;
}

.gp-quick__item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(
    220px circle at var(--gp-quick-mx) var(--gp-quick-my),
    rgba(96, 165, 250, 0.22) 0%,
    rgba(147, 197, 253, 0.1) 38%,
    transparent 70%
  );
  transition: opacity 280ms ease;
}

.gp-quick__item::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block: 18% 18%;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #60a5fa, #2563eb);
  opacity: 0;
  transform: scaleY(0.4);
  transition: opacity 280ms ease, transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.gp-quick__item > * {
  position: relative;
  z-index: 1;
}

.gp-quick__item:hover,
.gp-quick__item:focus-within {
  transform: translateY(-6px);
  border-color: #93c5fd;
  background: linear-gradient(165deg, #ffffff 0%, #f5f9ff 100%);
  box-shadow:
    0 22px 48px rgba(37, 99, 235, 0.16),
    0 0 0 1px rgba(147, 197, 253, 0.35);
}

.gp-quick__item:hover::before,
.gp-quick__item:focus-within::before {
  opacity: 1;
}

.gp-quick__item:hover::after,
.gp-quick__item:focus-within::after {
  opacity: 1;
  transform: scaleY(1);
}

.gp-quick__body {
  min-width: 0;
}

.gp-quick__title {
  display: block;
  margin: 0 0 0.35rem;
  font-size: 0.98rem;
  font-weight: 800;
  color: var(--gp-ink);
  transition: color 240ms ease;
}

.gp-quick__item:hover .gp-quick__title,
.gp-quick__item:focus-within .gp-quick__title {
  color: var(--gp-primary);
}

.gp-quick__text {
  margin: 0;
  color: var(--gp-muted);
  font-size: 0.82rem;
  line-height: 1.65;
  transition: color 240ms ease;
}

.gp-quick__item:hover .gp-quick__text,
.gp-quick__item:focus-within .gp-quick__text {
  color: #475569;
}

.gp-quick .gp-icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 14px;
  transition:
    transform 280ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 240ms ease,
    color 240ms ease,
    box-shadow 240ms ease;
}

.gp-quick__item:hover .gp-icon,
.gp-quick__item:focus-within .gp-icon {
  transform: translateY(-2px) scale(1.08);
  background: var(--gp-primary);
  color: #fff;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.28);
}

.gp-quick__item:hover .gp-icon .gp-ico,
.gp-quick__item:focus-within .gp-icon .gp-ico {
  filter: brightness(0) invert(1);
}

/* Sections common */
.gp-section {
  padding-block: clamp(1.75rem, 4vw, 2.75rem);
}

.gp-section__head {
  text-align: center;
  max-inline-size: 48rem;
  margin-inline: auto;
  margin-block-end: 1.75rem;
}

.gp-section__title {
  margin: 0 0 0.75rem;
  color: #071a3a;
  font-size: clamp(1.55rem, 3.4vw, 2.2rem);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.gp-section__head .gp-section__title {
  position: relative;
  display: inline-block;
  max-inline-size: 100%;
  padding-block-end: 0.1rem;
}

.gp-section__head .gp-section__title::after {
  content: "";
  display: block;
  width: 3.35rem;
  height: 3px;
  margin: 0.9rem auto 0;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(37, 99, 235, 0) 0%,
    #2563eb 28%,
    #60a5fa 72%,
    rgba(37, 99, 235, 0) 100%
  );
  box-shadow: 0 0 14px rgba(37, 99, 235, 0.28);
}

.gp-section__lead {
  margin: 0;
  color: var(--gp-muted);
  font-size: clamp(0.95rem, 1.35vw, 1.05rem);
  line-height: 1.85;
}

/* Why */
.gp-why {
  position: relative;
  overflow: hidden;
  margin-block-start: -0.5rem;
  padding-block-start: clamp(1.5rem, 3.5vw, 2.5rem);
  padding-block-end: clamp(1.75rem, 3.5vw, 2.5rem);
  background: linear-gradient(
    180deg,
    var(--gp-seam) 0%,
    #ffffff 34%,
    #f8fbff 62%,
    var(--gp-features-bg) 100%
  );
}

.gp-why::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 2;
  height: 5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, var(--gp-features-bg) 100%);
}

.gp-why__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.gp-why__mannequin {
  position: absolute;
  top: 50%;
  width: min(22rem, 38vw);
  max-height: 92%;
  height: auto;
  object-fit: contain;
  object-position: center;
  opacity: 0.72;
  transform: translateY(-50%);
  filter: blur(12px) saturate(1.15);
  /* ���� ����� �� ��� Ș������ ���� ��� �흘�� */
  mix-blend-mode: screen;
  user-select: none;
  pointer-events: none;
}

.gp-why__mannequin--start {
  inset-inline-start: -4%;
  transform: translateY(-50%) scaleX(-1);
  filter: blur(3px) saturate(1.15);
  opacity: 0.65;
}

.gp-why__mannequin--end {
  inset-inline-end: -2%;
  width: min(20rem, 34vw);
  filter: blur(3px) saturate(1.1);
  opacity: 0.58;
}

@media (max-width: 720px) {
  .gp-why__mannequin {
    width: min(14rem, 46vw);
    filter: blur(8px);
    opacity: 0.35;
  }

  .gp-why__mannequin--start,
  .gp-why__mannequin--end {
    filter: blur(9px);
  }
}

.gp-why__wave {
  position: absolute;
  height: auto;
  user-select: none;
}

.gp-why__wave--blue {
  inset-inline-start: -8%;
  bottom: -2%;
  width: min(42rem, 70vw);
  opacity: 0.7;
}

.gp-why__wave--orange {
  inset-inline-end: 2%;
  bottom: 8%;
  width: min(14rem, 28vw);
  opacity: 0.85;
}

.gp-why > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-why__head {
  max-inline-size: 36rem;
  margin-block-end: 1.5rem;
}

.gp-why__head .gp-section__title {
  color: #071a3a;
}

.gp-why__head .gp-section__lead {
  color: #5b7a9d;
  font-size: clamp(0.95rem, 1.4vw, 1.05rem);
  line-height: 1.9;
}

.gp-why__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.15rem;
  perspective: 900px;
}

.gp-why__card {
  --gp-why-mx: 50%;
  --gp-why-my: 40%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.75rem 1.15rem 1.5rem;
  border: 1px solid rgba(190, 217, 250, 0.65);
  border-radius: 1.15rem;
  background: #fff;
  box-shadow: 0 8px 28px rgba(37, 99, 235, 0.06);
  overflow: hidden;
  isolation: isolate;
  cursor: default;
  transform-origin: center bottom;
  will-change: transform;
  transition:
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 420ms ease,
    border-color 320ms ease,
    background-color 320ms ease;
}

.gp-why__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(
    240px circle at var(--gp-why-mx) var(--gp-why-my),
    rgba(96, 165, 250, 0.28) 0%,
    rgba(147, 197, 253, 0.12) 40%,
    transparent 72%
  );
  transition: opacity 320ms ease;
}

.gp-why__card::after {
  content: "";
  position: absolute;
  top: -40%;
  inset-inline-start: -60%;
  width: 45%;
  height: 180%;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 35%,
    rgba(255, 255, 255, 0.55) 50%,
    rgba(255, 255, 255, 0) 65%,
    transparent 100%
  );
  transform: translateX(0) rotate(18deg);
  opacity: 0;
}

.gp-why__card > * {
  position: relative;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) {
  .gp-why__card.gp-is-visible:hover {
    transform: translateY(-10px);
    border-color: #93c5fd;
    background: linear-gradient(165deg, #ffffff 0%, #f3f8ff 100%);
    box-shadow:
      0 26px 52px rgba(37, 99, 235, 0.18),
      0 10px 22px rgba(15, 23, 42, 0.07);
  }

  .gp-why__card.gp-is-visible:hover::before {
    opacity: 1;
  }

  .gp-why__card.gp-is-visible:hover::after {
    animation: gp-why-card-shine 700ms ease-out both;
  }

  .gp-why__card.gp-is-visible:hover .gp-why__icon {
    transform: translateY(-3px);
    background: #dbeafe;
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.24);
  }

  .gp-why__card.gp-is-visible:hover .gp-why__icon img, .gp-why__card.gp-is-visible:hover .gp-why__icon .gp-ico {
    transform: rotate(-6deg);
  }

  .gp-why__card.gp-is-visible:nth-child(2):hover .gp-why__icon img, .gp-why__card.gp-is-visible:nth-child(2):hover .gp-why__icon .gp-ico {
    transform: rotate(0deg);
  }

  .gp-why__card.gp-is-visible:nth-child(3):hover .gp-why__icon img, .gp-why__card.gp-is-visible:nth-child(3):hover .gp-why__icon .gp-ico {
    transform: rotate(6deg);
  }

  .gp-why__card.gp-is-visible:nth-child(4):hover .gp-why__icon img, .gp-why__card.gp-is-visible:nth-child(4):hover .gp-why__icon .gp-ico {
    transform: rotate(-4deg);
  }

  .gp-why__card.gp-is-visible:hover .gp-why__name {
    color: #1d4ed8;
    transform: translateY(-2px);
  }

  .gp-why__card.gp-is-visible:hover .gp-why__text {
    color: #475569;
  }
}

@keyframes gp-why-card-shine {
  0% {
    opacity: 0;
    transform: translateX(0) rotate(18deg);
  }
  18% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
    transform: translateX(280%) rotate(18deg);
  }
}

.gp-why__icon {
  display: grid;
  place-items: center;
  width: 3.1rem;
  height: 3.1rem;
  margin-block-end: 0.95rem;
  border-radius: 1rem;
  background: #eff6ff;
  box-shadow: 0 0 0 0 rgba(37, 99, 235, 0);
  transition:
    transform 380ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 320ms ease,
    box-shadow 380ms ease;
}

.gp-why__icon img, .gp-why__icon .gp-ico {
  display: block;
  width: 2.15rem;
  height: 2.15rem;
  object-fit: contain;
  transition: transform 380ms cubic-bezier(0.34, 1.4, 0.64, 1);
}

.gp-why__name {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: #0b2a5b;
  transition: color 280ms ease, transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
}

.gp-why__text {
  margin: 0;
  color: #64748b;
  font-size: 0.9rem;
  line-height: 1.75;
  max-inline-size: 14rem;
  transition: color 280ms ease;
}

/* Features — tabbed capabilities */
.gp-features {
  position: relative;
  overflow: hidden;
  margin-block-start: -1px;
  padding-block-end: clamp(1.5rem, 3vw, 2.25rem);
  background: linear-gradient(
    180deg,
    var(--gp-features-bg) 0%,
    var(--gp-features-bg) 62%,
    var(--gp-process-bg) 100%
  );
}

.gp-features::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 2;
  height: 4.5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, var(--gp-process-bg) 100%);
}

.gp-features__backdrop {
  position: absolute;
  inset: 0;
  background-color: #fff;
  background-image: var(--gp-lazy-bg, none);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 0;
  -webkit-mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 72%,
    rgba(0, 0, 0, 0.35) 90%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 72%,
    rgba(0, 0, 0, 0.35) 90%,
    transparent 100%
  );
}

.gp-features > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-features__shell {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.gp-features__tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.45rem;
  margin-inline: auto;
  max-inline-size: 52rem;
  background: var(--gp-surface);
  border-radius: 999px;
  box-shadow: 0 12px 32px rgba(37, 99, 235, 0.1), 0 2px 8px rgba(15, 23, 42, 0.04);
  border: 1px solid rgba(226, 232, 240, 0.9);
}

.gp-features__tab {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.65rem;
  padding: 0.45rem 1rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--gp-muted);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.gp-features__tab-ico {
  display: inline-grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 8px;
  background: #eff6ff;
  flex-shrink: 0;
  line-height: 0;
}

.gp-features__tab-ico img, .gp-features__tab-ico .gp-ico {
  display: block;
  width: 0.95rem;
  height: 0.95rem;
  object-fit: contain;
}

.gp-features__tab:hover {
  color: var(--gp-ink);
  background: #f8fafc;
}

.gp-features__tab.gp-is-active {
  color: #fff;
  background: var(--gp-primary);
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.28);
}

.gp-features__tab.gp-is-active .gp-features__tab-ico {
  background: rgba(255, 255, 255, 0.22);
}

.gp-features__tab.gp-is-active .gp-features__tab-ico img,
.gp-features__tab.gp-is-active .gp-features__tab-ico .gp-ico {
  filter: brightness(0) invert(1);
}

.gp-features__stage {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.15fr);
  gap: clamp(1.25rem, 3vw, 2.25rem);
  align-items: center;
}

.gp-features__visual {
  position: relative;
  min-height: 30rem;
  display: grid;
  place-items: center;
  padding: 1.5rem 0.25rem 1.75rem;
}

.gp-features__shot {
  position: relative;
  margin: 0;
  width: 100%;
  max-width: 48rem;
  filter: drop-shadow(0 24px 40px rgba(37, 99, 235, 0.18));
  transform: rotate(0deg) translate3d(0, 0, 0);
  transition:
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
  z-index: 1;
}

.gp-features__visual:hover .gp-features__shot,
.gp-features__visual:focus-within .gp-features__shot {
  transform: rotate(-2deg) translate3d(0, -6px, 0);
  filter: drop-shadow(0 32px 48px rgba(37, 99, 235, 0.26));
}

.gp-features__img {
  display: block;
  width: 100%;
  height: auto;
}

.gp-features__float {
  position: absolute;
  z-index: 3;
  pointer-events: none;
  animation: gp-float 5.5s ease-in-out infinite;
}

.gp-features__float--tools {
  top: 25%;
  right: 6%;
  left: auto;
  width: min(10.75rem, 40%);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  line-height: 0;
  animation-delay: -1.2s;
}

.gp-features__tools-img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 14px 26px rgba(15, 23, 42, 0.16));
}

.gp-features__float--blouse {
  bottom: 2%;
  left: 2%;
  right: auto;
  width: min(11rem, 40%);
  aspect-ratio: 1;
  padding: 0.45rem;
  border-radius: 1.15rem;
  background: #fff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.14);
  overflow: hidden;
  animation-delay: -0.4s;
  z-index: 4;
}

.gp-features__blouse-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.gp-features__float--hex {
  top: 38%;
  right: -4%;
  left: auto;
  width: min(5.5rem, 18%);
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  line-height: 0;
  opacity: 0.85;
  animation-delay: -2.1s;
  z-index: 0;
}

.gp-features__hex-ico {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 10px 18px rgba(37, 99, 235, 0.22));
}

@keyframes gp-float {
  0%,
  100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

.gp-features__panels {
  position: relative;
  min-height: 22rem;
}

.gp-features__panel {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  animation: gp-panel-in 280ms ease;
}

.gp-features__panel.gp-is-active {
  display: flex;
}

.gp-features__panel-title {
  margin: 0;
  font-size: clamp(1.25rem, 2.4vw, 1.55rem);
  font-weight: 800;
  color: var(--gp-ink);
  line-height: 1.45;
}

.gp-features__panel-text {
  margin: 0;
  color: var(--gp-muted);
  font-size: 0.98rem;
  line-height: 1.85;
  max-inline-size: 34rem;
}

.gp-features__list {
  list-style: none;
  margin: 0.25rem 0 0.5rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.gp-features__list li {
  position: relative;
  padding-inline-start: 2.15rem;
  color: var(--gp-ink);
  font-size: 0.95rem;
  font-weight: 500;
}

.gp-features__list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.1rem;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  background: var(--gp-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 0.85rem no-repeat;
  box-shadow: 0 4px 10px rgba(37, 99, 235, 0.28);
}

.gp-features__cta-arrow {
  width: 0.55rem;
  height: 0.55rem;
  border-inline-start: 2px solid currentColor;
  border-block-end: 2px solid currentColor;
  transform: rotate(45deg);
  margin-inline-start: 0.15rem;
}

@keyframes gp-panel-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Download */
.gp-download {
  position: relative;
  overflow: hidden;
  margin-block-start: -1px;
  background: linear-gradient(
    180deg,
    var(--gp-process-bg) 0%,
    #ffffff 42%,
    var(--gp-process-bg) 100%
  );
}

.gp-download::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 2;
  height: 4.5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, var(--gp-process-bg) 100%);
}

.gp-download > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-download__head .gp-section__title {
  color: #071a3a;
}

.gp-download__head .gp-section__lead {
  color: #64748b;
}

.gp-download__grid {
  display: grid;
  grid-template-columns: 1.55fr repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  direction: ltr;
  align-items: stretch;
}

.gp-download__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.65rem;
  padding: 1.5rem 1rem 1.25rem;
  border-radius: 1.15rem;
  background: #fff;
  border: 1px solid #dbeafe;
  box-shadow: 0 12px 30px rgba(37, 99, 235, 0.08);
  direction: rtl;
  min-width: 0;
  transition: transform 280ms ease, box-shadow 280ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .gp-download__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(37, 99, 235, 0.14);
  }
}

.gp-download__card--primary {
  padding: 1.75rem 1.15rem 1.35rem;
  background: linear-gradient(165deg, #3b82f6 0%, #2563eb 55%, #1d4ed8 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 16px 36px rgba(37, 99, 235, 0.28);
}

.gp-download__ico,
.gp-download__ico.gp-ico {
  display: block;
  width: 2.35rem;
  height: 2.35rem;
  object-fit: contain;
  margin-block-end: 0.15rem;
}

.gp-download__card--primary .gp-download__ico,
.gp-download__card--primary .gp-download__ico.gp-ico {
  filter: brightness(0) invert(1);
}

.gp-download__name {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: #0b2a5b;
  line-height: 1.45;
}

.gp-download__card--primary .gp-download__name {
  font-size: 1.05rem;
  color: #fff;
}

.gp-download__text {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.7;
  color: #64748b;
  flex: 1;
}

.gp-download__card--primary .gp-download__text {
  color: rgba(255, 255, 255, 0.9);
}

.gp-download__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-block-start: 0.35rem;
  padding: 0.55rem 0.95rem;
  border-radius: 0.7rem;
  border: 1px solid #bfdbfe;
  background: #fff;
  color: #2563eb;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.gp-download__btn img, .gp-download__btn .gp-ico {
  width: 0.95rem;
  height: 0.95rem;
}

.gp-download__card--primary .gp-download__btn {
  border-color: transparent;
  color: #1d4ed8;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.12);
}

.gp-download__card--primary .gp-download__btn img,
.gp-download__card--primary .gp-download__btn .gp-ico {
  /* keep blue download icon on white button */
  filter: none;
}

@media (hover: hover) and (pointer: fine) {
  .gp-download__btn:hover {
    background: #eff6ff;
    border-color: #93c5fd;
  }

  .gp-download__card--primary .gp-download__btn:hover {
    background: #f8fbff;
    transform: translateY(-1px);
  }
}

.gp-download__meta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0.35rem 0 0;
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.4;
}

.gp-download__meta img, .gp-download__meta .gp-ico {
  width: 0.75rem;
  height: 0.75rem;
  filter: brightness(0) invert(1);
  opacity: 0.9;
}

/* Process — curved connected path; steps + curve share one track */
.gp-process {
  --gp-process-ico: clamp(4.5rem, 6.5vw, 5.75rem);
  --gp-process-wave: clamp(2.4rem, 4vw, 3.25rem);
  position: relative;
  overflow: hidden;
  margin-block-start: -1px;
  padding-block: clamp(1.75rem, 3.5vw, 2.75rem) clamp(2rem, 4vw, 3.25rem);
  background: var(--gp-process-bg);
}

.gp-process__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-color: var(--gp-process-bg);
  opacity: 1;
}

.gp-process__backdrop-ico,
.gp-process__backdrop .gp-ico.gp-process__backdrop-ico {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  overflow: visible;
  flex-shrink: 0;
}

.gp-process > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-process__head .gp-section__title {
  color: #071a3a;
}

.gp-process__head .gp-section__lead {
  color: #5b7a9d;
  max-inline-size: 36rem;
  margin-inline: auto;
}

.gp-process__track {
  position: relative;
  margin-block-start: 1.5rem;
  /* Curve height = high pad + icon radius ≈ path y coordinate */
  --gp-curve-h: calc(var(--gp-process-wave) + var(--gp-process-ico));
}

.gp-process__curve {
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  width: 100%;
  height: var(--gp-curve-h);
  z-index: 0;
  pointer-events: none;
  overflow: visible;
}

.gp-process__curve-line {
  filter: drop-shadow(0 2px 4px rgba(59, 155, 255, 0.22));
}

.gp-process__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.35rem;
  position: relative;
  z-index: 1;
}

.gp-process__step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.7rem;
  text-align: center;
  min-width: 0;
  /* Odd = crest, even = trough — same ratios as SVG path */
  padding-block-start: 0;
}

.gp-process__step:nth-child(odd) {
  padding-block-start: 0.15rem;
}

.gp-process__step:nth-child(even) {
  padding-block-start: var(--gp-process-wave);
}

/* Perfect circles between steps (CSS — never stretch into ellipses) */
.gp-process__step:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: #087bff;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(8, 123, 255, 0.22);
  pointer-events: none;
  /* Midpoint toward next column, on the wave midline */
  inset-inline-end: -0.35rem;
  inset-block-start: calc(
    (var(--gp-process-wave) + var(--gp-process-ico)) / 2 - 0.35rem
  );
}

.gp-process__node {
  position: relative;
  z-index: 1;
  width: var(--gp-process-ico);
  height: var(--gp-process-ico);
  flex-shrink: 0;
}

.gp-process__ico {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) and (pointer: fine) {
  .gp-process__step:hover .gp-process__ico {
    transform: translateY(-4px);
  }
}

.gp-process__label {
  font-size: clamp(0.8rem, 1.15vw, 0.95rem);
  font-weight: 700;
  color: #0b2a5b;
  line-height: 1.45;
  max-width: 9.5rem;
}

.gp-process__label b {
  font-weight: 800;
  color: #2563eb;
  margin-inline-end: 0.2rem;
}

.gp-process__desc {
  display: none;
}

/* Compare � �� ���� ��� + Ș������ ��� ��� */
.gp-compare {
  position: relative;
  overflow: hidden;
  margin-block-start: -1px;
  background-color: #ffffff;
}

.gp-compare::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 2;
  height: 3rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, var(--gp-process-bg) 100%);
}

.gp-compare__backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-color: #ffffff;
  background-image: var(--gp-lazy-bg, none);
  background-position: center bottom;
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.gp-compare > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-compare__head {
  margin-block-end: 1.25rem;
}

.gp-compare__head .gp-section__title {
  color: #071a3a;
  margin-inline: auto;
}

.gp-compare__head .gp-section__lead {
  color: #64748b;
}

.gp-compare__toggle {
  display: none;
}

.gp-compare__chip {
  display: inline-flex;
  align-items: center;
  margin-block-end: 0.45rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.4;
}

.gp-compare__chip--good {
  color: #1d4ed8;
  background: rgba(37, 99, 235, 0.12);
}

.gp-compare__chip--bad {
  color: #b91c1c;
  background: rgba(220, 38, 38, 0.1);
}

.gp-compare__shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  direction: ltr;
  background: none;
  box-shadow: none;
  overflow: visible;
}

.gp-compare__card {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  align-items: stretch;
  gap: 0;
  min-width: 0;
  border-radius: 1.35rem;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.1);
  border: 1px solid rgba(226, 232, 240, 0.85);
  background: #fff;
  transform: rotate(0deg) translate3d(0, 0, 0);
  transition:
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.gp-compare__card--digital {
  /* ����� ����� �� ��� ���� (��� VS) � �� ����� �� ��� VS */
  padding-inline-end: clamp(0.85rem, 1.8vw, 1.35rem);
  background:
    radial-gradient(ellipse 90% 80% at 15% 40%, rgba(191, 219, 254, 0.55), transparent 70%),
    linear-gradient(165deg, #f3f8ff 0%, #ffffff 55%);
}

.gp-compare__card--traditional {
  /* ����� ����� �� ��� �� (��� VS) */
  padding-inline-start: clamp(0.85rem, 1.8vw, 1.35rem);
  background:
    radial-gradient(ellipse 90% 80% at 85% 40%, rgba(254, 202, 202, 0.4), transparent 70%),
    linear-gradient(195deg, #fff7f5 0%, #ffffff 55%);
}

@media (hover: hover) and (pointer: fine) {
  .gp-compare__card--digital:hover {
    transform: rotate(-1.6deg) translate3d(0, -6px, 0);
    box-shadow: 0 22px 48px rgba(37, 99, 235, 0.16);
  }

  .gp-compare__card--traditional:hover {
    transform: rotate(1.6deg) translate3d(0, -6px, 0);
    box-shadow: 0 22px 48px rgba(220, 38, 38, 0.12);
  }
}

.gp-compare__media {
  position: relative;
  border-radius: 0;
  overflow: hidden;
  aspect-ratio: 5 / 4;
  width: 100%;
  max-height: 12.5rem;
  min-height: 0;
  align-self: stretch;
  background: #dbe7f5;
  box-shadow: none;
}

.gp-compare__img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}

.gp-compare__badge {
  position: absolute;
  right: 0.5rem;
  bottom: 0.5rem;
  width: 2.5rem;
  height: 2.5rem;
  z-index: 2;
  filter: drop-shadow(0 6px 14px rgba(15, 23, 42, 0.2));
}

.gp-compare__body {
  direction: rtl;
  text-align: start;
  min-width: 0;
  align-self: center;
  padding: clamp(0.75rem, 1.6vw, 1.1rem) clamp(0.65rem, 1.2vw, 0.9rem);
}

.gp-compare__name {
  margin: 0 0 0.55rem;
  font-size: clamp(0.9rem, 1.25vw, 1.05rem);
  font-weight: 800;
  line-height: 1.45;
}

.gp-compare__card--digital .gp-compare__name {
  color: #1d4ed8;
}

.gp-compare__card--traditional .gp-compare__name {
  color: #dc2626;
}

.gp-compare__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.35rem;
}

.gp-compare__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  font-size: clamp(0.78rem, 1.05vw, 0.88rem);
  line-height: 1.5;
  color: #334155;
}

.gp-compare__mark {
  width: 1.15rem;
  height: 1.15rem;
  flex-shrink: 0;
  margin-block-start: 0.12rem;
}

.gp-compare__vs {
  position: relative;
  z-index: 5;
  align-self: center;
  width: clamp(2.1rem, 3.4vw, 2.6rem);
  height: auto;
  margin-inline: -0.85rem;
  line-height: 0;
  pointer-events: none;
}

.gp-compare__vs img,
.gp-compare__vs .gp-ico {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 10px 22px rgba(37, 99, 235, 0.3));
}

.gp-compare__badge.gp-ico {
  width: 2.5rem;
  height: 2.5rem;
}

.gp-compare__mark.gp-ico {
  width: 1.15rem;
  height: 1.15rem;
}

/* Showcase */
.gp-showcase {
  position: relative;
  overflow: hidden;
  margin-block-start: -1px;
  padding-block-end: clamp(0.75rem, 1.5vw, 1.25rem);
  background: linear-gradient(
    180deg,
    var(--gp-process-bg) 0%,
    #ffffff 42%,
    var(--gp-process-bg) 100%
  );
}

.gp-showcase::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 2;
  height: 3.5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, var(--gp-process-bg) 100%);
}

.gp-showcase__deco {
  position: absolute;
  inset-block: 12% 8%;
  width: min(14rem, 18vw);
  pointer-events: none;
  z-index: 0;
  opacity: 0.7;
}

.gp-showcase__deco img, .gp-showcase__deco .gp-ico {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gp-showcase__deco--start {
  inset-inline-start: -1.5rem;
}

.gp-showcase__deco--end {
  inset-inline-end: -1.5rem;
  transform: scaleX(-1);
}

.gp-showcase > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-showcase__head .gp-section__title {
  color: #071a3a;
}

.gp-showcase__head .gp-section__lead {
  color: #64748b;
}

.gp-showcase__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.gp-showcase__card {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0.85rem 0.85rem 1rem;
  background: #fff;
  border-radius: 1.15rem;
  border: 1px solid #e8f0fa;
  box-shadow: 0 14px 34px rgba(37, 99, 235, 0.08);
  transition: transform 280ms ease, box-shadow 280ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .gp-showcase__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(37, 99, 235, 0.14);
  }

  .gp-showcase__card:hover .gp-showcase__media img {
    transform: scale(1.03);
  }
}

.gp-showcase__media {
  overflow: hidden;
  border-radius: 0.85rem;
  background: #1a1d22;
  aspect-ratio: 16 / 10;
  line-height: 0;
}

.gp-showcase__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 320ms ease;
}

.gp-showcase__card figcaption {
  padding: 0.95rem 0.35rem 0.25rem;
  font-weight: 700;
  font-size: 0.98rem;
  text-align: center;
  color: #0b2a5b;
  line-height: 1.5;
}

/* Resources — pattern bank + videos */
.gp-resources {
  position: relative;
  overflow: hidden;
  margin-block-start: -1px;
  padding-block-start: clamp(0.75rem, 1.5vw, 1.25rem);
  background: linear-gradient(
    180deg,
    var(--gp-process-bg) 0%,
    #ffffff 45%,
    #ffffff 100%
  );
}

.gp-resources::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 2;
  height: 3.5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, #ffffff 100%);
}

.gp-resources > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-resources__shell {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: #fff;
  border: 1px solid #e8f0fa;
  border-radius: 1.35rem;
  box-shadow: 0 16px 40px rgba(37, 99, 235, 0.08);
  overflow: hidden;
}

.gp-resources__panel {
  padding: clamp(1.15rem, 2.2vw, 1.6rem);
  min-width: 0;
}

.gp-resources__panel--patterns {
  border-inline-end: 1px solid #eef3f9;
}

.gp-resources__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-block-end: 1rem;
}

.gp-resources__head h3 {
  margin: 0;
  font-size: clamp(0.95rem, 1.5vw, 1.12rem);
  font-weight: 800;
  color: #0b2a5b;
  line-height: 1.45;
}

.gp-resources__panel--videos .gp-resources__head h3 {
  position: relative;
  display: inline-block;
}

.gp-resources__panel--videos .gp-resources__head h3::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: -0.2rem;
  width: 2.75rem;
  height: 3px;
  border-radius: 999px;
  background: #3b82f6;
}

.gp-resources__more {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  flex-shrink: 0;
  color: #2563eb;
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.gp-resources__more img, .gp-resources__more .gp-ico {
  width: 0.85rem;
  height: 0.85rem;
}

.gp-resources__more:hover {
  color: #1d4ed8;
}

.gp-tabs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-block-end: 1rem;
}

.gp-tabs__btn {
  border: none;
  background: #eef2f7;
  color: #334155;
  border-radius: 999px;
  padding: 0.4rem 0.9rem;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
}

.gp-tabs__btn.gp-is-active,
.gp-tabs__btn:hover {
  color: #fff;
  background: #2563eb;
}

.gp-tabs__panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.gp-pattern {
  text-align: center;
  font-size: 0.82rem;
  font-weight: 700;
  color: #0b2a5b;
  transform-origin: center center;
  transition:
    opacity 220ms ease,
    transform 220ms ease,
    filter 220ms ease;
}

.gp-pattern.gp-is-leaving {
  opacity: 0;
  transform: translateY(10px) scale(0.94);
  filter: blur(2px);
  pointer-events: none;
}

.gp-pattern.gp-is-hidden {
  display: none;
}

.gp-pattern.gp-is-entering {
  animation: gp-pattern-in 380ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes gp-pattern-in {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.92);
    filter: blur(3px);
  }
  to {
    opacity: 1;
    transform: none;
    filter: none;
  }
}

.gp-pattern__thumb {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  border-radius: 0.85rem;
  margin-block-end: 0.45rem;
  background: #f3f6fa;
  border: 1px solid #e8eef5;
  overflow: hidden;
  padding: 0.55rem;
  transition: transform 280ms ease, box-shadow 280ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .gp-pattern:hover .gp-pattern__thumb {
    transform: translateY(-3px);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.12);
  }
}

.gp-pattern__thumb img, .gp-pattern__thumb .gp-ico {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gp-resources__videos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.gp-video-card {
  min-width: 0;
}

.gp-video-card h4 {
  margin: 0.55rem 0 0.15rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: #0b2a5b;
  line-height: 1.4;
}

.gp-video-card p {
  margin: 0;
  font-size: 0.72rem;
  color: #94a3b8;
}

.gp-video-thumb {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  border-radius: 0.75rem;
  overflow: hidden;
  background: #1a1d22;
  text-decoration: none;
}

.gp-video-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  transition: transform 280ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .gp-video-thumb:hover img {
    transform: scale(1.04);
  }
}

.gp-video-thumb__play {
  position: absolute;
  z-index: 1;
  inset: 0;
  margin: auto;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  background: #2563eb;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.35);
}

.gp-video-thumb__play::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4rem 0 0.4rem 0.65rem;
  border-color: transparent transparent transparent #fff;
  transform: translateX(2px);
}

.gp-video-thumb__time {
  position: absolute;
  z-index: 1;
  inset-block-end: 0.4rem;
  inset-inline-end: 0.4rem;
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  background: rgba(15, 23, 42, 0.72);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.3;
}

/* Testimonials */
.gp-testimonials {
  position: relative;
  overflow: hidden;
  margin-block-start: -1px;
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    var(--gp-process-bg) 50%,
    #ffffff 100%
  );
}

.gp-testimonials::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 2;
  height: 3.5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, #ffffff 100%);
}

.gp-testimonials > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-testimonials__head .gp-section__title {
  color: #071a3a;
}

.gp-testimonials__head .gp-section__lead {
  color: #64748b;
}

.gp-testimonials__slider {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
}

.gp-testimonials__viewport {
  overflow: hidden;
  min-width: 0;
}

.gp-testimonials__track {
  --gp-t-gap: clamp(0.9rem, 2vw, 1.35rem);
  display: flex;
  gap: var(--gp-t-gap);
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.gp-testimonials__track .gp-testimonial {
  flex: 0 0 calc((100% - 2 * var(--gp-t-gap)) / 3);
  min-width: 0;
}

.gp-testimonials__nav {
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.1);
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.gp-testimonials__nav img, .gp-testimonials__nav .gp-ico {
  width: 1rem;
  height: 1rem;
}

.gp-testimonials__nav:hover:not(:disabled) {
  background: #eff6ff;
  border-color: #93c5fd;
  transform: translateY(-1px);
}

.gp-testimonials__nav:disabled {
  opacity: 0.35;
  cursor: default;
}

.gp-testimonials__dots {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  gap: 0.45rem;
  margin-block-start: 0.35rem;
}

.gp-testimonials__dot {
  width: 0.55rem;
  height: 0.55rem;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: #cbd5e1;
  cursor: pointer;
  transition: width 180ms ease, background-color 180ms ease;
}

.gp-testimonials__dot.gp-is-active {
  width: 1.35rem;
  background: #2563eb;
}

.gp-testimonial {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: #fff;
  border: 1px solid #e8f0fa;
  border-radius: 1.15rem;
  padding: 1.35rem 1.2rem 1.45rem;
  box-shadow: 0 14px 34px rgba(37, 99, 235, 0.08);
  transition: transform 280ms ease, box-shadow 280ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .gp-testimonial:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(37, 99, 235, 0.14);
  }
}

.gp-testimonial__top {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
}

.gp-testimonial__avatar-wrap {
  position: relative;
  flex-shrink: 0;
  width: 3.5rem;
  height: 3.5rem;
}

.gp-testimonial__avatar {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  object-fit: cover;
  border: 2.5px solid #60a5fa;
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.18);
}

.gp-testimonial__verified {
  position: absolute;
  inset-inline-end: -0.1rem;
  inset-block-end: -0.05rem;
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 999px;
  background: #2563eb;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.35);
}

.gp-testimonial__verified::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 0.35rem;
  height: 0.55rem;
  border-inline-end: 2px solid #fff;
  border-block-end: 2px solid #fff;
  transform: translateY(-1px) rotate(45deg);
}

.gp-testimonial__meta {
  min-width: 0;
  padding-block-start: 0.1rem;
}

.gp-testimonial__name {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: #0b2a5b;
  line-height: 1.35;
}

.gp-testimonial__role {
  margin: 0.2rem 0 0;
  color: #94a3b8;
  font-size: 0.82rem;
  line-height: 1.4;
}

.gp-testimonial__stars {
  display: flex;
  align-items: center;
  gap: 0.18rem;
  margin-block-start: 0.45rem;
}

.gp-testimonial__stars span {
  width: 0.95rem;
  height: 0.95rem;
  background: #f5a623;
  clip-path: polygon(
    50% 0%,
    61% 35%,
    98% 35%,
    68% 57%,
    79% 91%,
    50% 70%,
    21% 91%,
    32% 57%,
    2% 35%,
    39% 35%
  );
}

.gp-testimonial__quote {
  position: relative;
  margin: 0;
  padding: 1.35rem 1.65rem 1.35rem;
  flex: 1;
}

.gp-testimonial__quote p {
  margin: 0;
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.9;
  text-align: center;
  position: relative;
  z-index: 1;
}

.gp-testimonial__qmark {
  position: absolute;
  width: 1.35rem;
  height: 1.35rem;
  opacity: 0.4;
  pointer-events: none;
  z-index: 0;
}

.gp-testimonial__qmark--open {
  inset-block-start: 0.15rem;
  inset-inline-start: 0.15rem;
}

.gp-testimonial__qmark--close {
  inset-block-end: 0.15rem;
  inset-inline-end: 0.15rem;
  transform: rotate(180deg);
}

/* FAQ */
.gp-faq {
  position: relative;
  overflow: hidden;
  margin-block-start: -1px;
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    var(--gp-process-bg) 55%,
    #ffffff 100%
  );
}

.gp-faq::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 2;
  height: 3.5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, #ffffff 100%);
}

.gp-faq > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-faq__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(1.5rem, 3vw, 2.75rem);
  align-items: start;
}

.gp-faq__head {
  margin-block-end: 1.25rem;
}

.gp-faq__head .gp-section__title {
  color: #071a3a;
  text-align: start;
}

.gp-faq__head .gp-section__title::after {
  margin-inline: 0 auto;
}

.gp-faq__head .gp-section__lead {
  margin: 0;
  color: #64748b;
  text-align: start;
  max-inline-size: none;
}

.gp-faq__list {
  background: #fff;
  border: 1px solid #e8f0fa;
  border-radius: 1.15rem;
  box-shadow: 0 14px 34px rgba(37, 99, 235, 0.07);
  overflow: hidden;
}

.gp-faq__item + .gp-faq__item {
  border-block-start: 1px solid #eef2f7;
}

.gp-faq__q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.05rem 1.15rem;
  border: none;
  background: transparent;
  color: #0b2a5b;
  font: inherit;
  font-size: 0.95rem;
  font-weight: 700;
  text-align: start;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease;
}

.gp-faq__item.gp-is-open .gp-faq__q {
  background: #f3f8ff;
  color: #1d4ed8;
}

.gp-faq__q:hover {
  background: #f8fbff;
}

.gp-faq__icon {
  position: relative;
  flex-shrink: 0;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: #eff6ff;
  transition: transform 220ms ease, background-color 180ms ease;
}

.gp-faq__icon::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 0.45rem;
  height: 0.45rem;
  border-inline-end: 2px solid #2563eb;
  border-block-end: 2px solid #2563eb;
  transform: translateY(-1px) rotate(45deg);
  transition: transform 220ms ease;
}

.gp-faq__item.gp-is-open .gp-faq__icon {
  background: #dbeafe;
}

.gp-faq__item.gp-is-open .gp-faq__icon::before {
  transform: translateY(2px) rotate(-135deg);
}

.gp-faq__a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.gp-faq__item.gp-is-open .gp-faq__a {
  grid-template-rows: 1fr;
}

.gp-faq__a-body {
  overflow: hidden;
  min-height: 0;
}

.gp-faq__a p {
  margin: 0;
  padding: 0.15rem 1.15rem 1.1rem;
  color: #64748b;
  font-size: 0.9rem;
  line-height: 1.85;
  opacity: 0;
  transform: translateY(-8px);
  transition:
    opacity 260ms ease,
    transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.gp-faq__item.gp-is-open .gp-faq__a p {
  opacity: 1;
  transform: none;
  transition-delay: 60ms;
}

.gp-faq__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.gp-faq__media {
  position: relative;
  align-self: start;
  width: 100%;
}

.gp-faq__visual {
  position: relative;
  overflow: hidden;
  border-radius: 1.35rem;
  box-shadow: 0 20px 44px rgba(37, 99, 235, 0.18);
  line-height: 0;
  background: #dbeafe;
  height: 28rem;
}

.gp-faq__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.gp-faq__card {
  position: absolute;
  inset-inline-start: 0.75rem;
  inset-block-end: 0.85rem;
  width: min(100%, 15.5rem);
  padding: 1.1rem 1rem 1.15rem;
  background: #fff;
  border: 1px solid #e8f0fa;
  border-radius: 1rem;
  box-shadow: 0 16px 36px rgba(37, 99, 235, 0.16);
  z-index: 2;
}

.gp-faq__card h3 {
  margin: 0 0 0.25rem;
  font-size: 0.98rem;
  font-weight: 800;
  color: #0b2a5b;
}

.gp-faq__card p {
  margin: 0 0 0.85rem;
  font-size: 0.84rem;
  color: #64748b;
}

a.gp-faq__card-btn,
.gp-faq__card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  width: 100%;
  min-height: 2.55rem;
  padding: 0.55rem 0.9rem;
  border-radius: 0.7rem;
  background: #2563eb;
  color: #fff;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 180ms ease, transform 180ms ease;
}

.gp-faq__card-btn img, .gp-faq__card-btn .gp-ico {
  width: 0.9rem;
  height: 0.9rem;
  filter: brightness(0) invert(1);
}

a.gp-faq__card-btn:hover,
.gp-faq__card-btn:hover {
  color: #fff;
  background: #1d4ed8;
  transform: translateY(-1px);
}

/* Final CTA */
.gp-final-cta {
  position: relative;
  overflow: hidden;
  margin-block-start: -1px;
  padding-block: clamp(1.25rem, 2.5vw, 2rem);
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 70%, #f8fbff 100%);
}

.gp-final-cta::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 2;
  height: 3rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, #ffffff 100%);
}

.gp-final-cta > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-final-cta__banner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: clamp(1.5rem, 3vw, 2.5rem);
  color: #fff;
  text-align: center;
  padding: clamp(2.5rem, 5.5vw, 4rem) clamp(1.25rem, 4vw, 3rem);
  background: #0b1f4d;
  box-shadow: 0 22px 48px rgba(37, 99, 235, 0.28);
}

.gp-final-cta__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--gp-lazy-bg, none);
  background-size: cover;
  background-position: center;
  pointer-events: none;
}

.gp-final-cta__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.gp-final-cta__title {
  margin: 0 0 0.7rem;
  font-size: clamp(1.5rem, 3.2vw, 2.15rem);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: -0.02em;
  text-wrap: balance;
  text-shadow: 0 2px 18px rgba(15, 23, 42, 0.22);
}

.gp-final-cta__lead {
  margin: 0 0 1.5rem;
  max-inline-size: 34rem;
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(0.95rem, 1.6vw, 1.08rem);
  line-height: 1.7;
}

.gp-final-cta__actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.gp-final-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.85rem;
  padding: 0.65rem 1.15rem;
  border-radius: 0.8rem;
  font: inherit;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
  direction: ltr;
}

.gp-final-cta__btn img, .gp-final-cta__btn .gp-ico {
  width: 1.05rem;
  height: 1.05rem;
  flex-shrink: 0;
}

.gp-final-cta__btn--solid {
  gap: 0.7rem;
  padding-inline: 1rem 1.1rem;
  background: #fff;
  color: #1d4ed8;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
}

.gp-final-cta__btn--solid .gp-final-cta__mark {
  width: auto;
  height: 1.45rem;
  max-width: 7.5rem;
  border-radius: 0;
  object-fit: contain;
  object-position: center;
  background: transparent;
}

.gp-final-cta__btn--outline {
  color: #fff;
  background: transparent;
  border: 1.5px solid rgba(255, 255, 255, 0.85);
}

.gp-final-cta__btn--outline img, .gp-final-cta__btn--outline .gp-ico {
  filter: brightness(0) invert(1);
}

@media (hover: hover) and (pointer: fine) {
  .gp-final-cta__btn:hover {
    transform: translateY(-2px);
  }

  .gp-final-cta__btn--solid:hover {
    background: #f8fbff;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.2);
  }

  .gp-final-cta__btn--outline:hover {
    background: rgba(255, 255, 255, 0.12);
  }
}

/* Footer */
.gp-footer {
  position: relative;
  overflow: hidden;
  margin-block-start: -1px;
  background: #edf7ff;
  color: #334155;
  padding-block: clamp(1.75rem, 3.5vw, 2.5rem) 0;
}

.gp-footer__backdrop {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-color: #edf7ff;
  background-image: var(--gp-lazy-bg, none);
  background-position: center bottom;
  background-size: cover;
  background-repeat: no-repeat;
}

.gp-footer > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-footer__grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1.05fr 1.15fr;
  gap: 0;
  align-items: start;
}

.gp-footer__col {
  padding-inline: clamp(0.85rem, 1.6vw, 1.35rem);
  min-width: 0;
}

.gp-footer__col--news,
.gp-footer__col--contact,
.gp-footer__col--nav {
  border-inline-end: 1px solid #e8eef5;
}

.gp-footer__title {
  margin: 0 0 0.85rem;
  color: #0b2a5b;
  font-size: 1rem;
  font-weight: 800;
}

.gp-footer__lead {
  margin: 0 0 0.9rem;
  font-size: 0.86rem;
  line-height: 1.7;
  color: #64748b;
}

.gp-footer__news-field {
  display: flex;
  align-items: stretch;
  gap: 0.45rem;
}

.gp-footer__news-field input {
  flex: 1;
  min-width: 0;
  border: 1px solid #dbe4ef;
  background: #fff;
  color: #0f172a;
  border-radius: 0.7rem;
  padding: 0.7rem 0.85rem;
  font: inherit;
  font-size: 0.88rem;
}

.gp-footer__news-field input::placeholder {
  color: #94a3b8;
}

.gp-footer__news-field input:focus {
  outline: 2px solid rgba(37, 99, 235, 0.35);
  outline-offset: 1px;
}

.gp-footer__news-btn {
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border: none;
  border-radius: 0.7rem;
  background: #2563eb;
  cursor: pointer;
  transition: background-color 160ms ease, transform 160ms ease;
}

.gp-footer__news-btn img, .gp-footer__news-btn .gp-ico {
  width: 1.05rem;
  height: 1.05rem;
}

.gp-footer__news-btn:hover {
  background: #1d4ed8;
  transform: translateY(-1px);
}

.gp-footer__contact {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.gp-footer__contact li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: 0.9rem;
  color: #475569;
  line-height: 1.6;
}

.gp-footer__contact img, .gp-footer__contact .gp-ico {
  width: 1.1rem;
  height: 1.1rem;
  margin-block-start: 0.15rem;
  flex-shrink: 0;
}

.gp-footer__contact a {
  color: inherit;
  text-decoration: none;
}

.gp-footer__contact a:hover {
  color: #2563eb;
}

.gp-footer__nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem 1rem;
}

.gp-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gp-footer__links a {
  color: #475569;
  text-decoration: none;
  display: inline-block;
  padding-block: 0.3rem;
  font-size: 0.9rem;
}

.gp-footer__links a:hover {
  color: #2563eb;
}

.gp-footer__logo {
  display: inline-block;
  line-height: 0;
  margin-block-end: 0.75rem;
}

.gp-footer__logo img {
  display: block;
  height: 2.5rem;
  width: auto;
}

.gp-footer__about {
  margin: 0 0 1rem;
  font-size: 0.88rem;
  line-height: 1.8;
  color: #64748b;
  max-inline-size: 16rem;
}

.gp-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.gp-social {
  width: 2.35rem;
  height: 2.35rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #f1f5f9;
  border: 1px solid #dbeafe;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.gp-social img, .gp-social .gp-ico {
  width: 1.05rem;
  height: 1.05rem;
}

.gp-social:hover {
  background: #eff6ff;
  border-color: #93c5fd;
  transform: translateY(-2px);
}

.gp-form__msg {
  margin: 0.35rem 0 0;
  font-size: 0.82rem;
}

.gp-form__msg.gp-is-ok {
  color: #16a34a;
}

.gp-form__msg.gp-is-error {
  color: #dc2626;
}

.gp-footer__bottom {
  position: relative;
  z-index: 1;
  margin-block-start: clamp(1.75rem, 3vw, 2.5rem);
  padding-block: 1rem 1.15rem;
  border-block-start: 1px solid #e8eef5;
  background: transparent;
}

.gp-footer__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.gp-footer__legal {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  font-size: 0.82rem;
  color: #94a3b8;
}

.gp-footer__legal a {
  color: #64748b;
  text-decoration: none;
}

.gp-footer__legal a:hover {
  color: #2563eb;
}

.gp-footer__copy {
  margin: 0;
  font-size: 0.82rem;
  color: #94a3b8;
}

/* ========== About page ========== */
.gp-about {
  background: #ffffff;
}

/* مسیر صفحه — تراشه کوچک بالای عنوان هیرو */
.gp-breadcrumb {
  position: relative;
  z-index: 4;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 0.7rem;
  padding: 0;
}

.gp-breadcrumb__list {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  margin: 0;
  padding-block: 0.28rem;
  padding-inline: 0.62rem 0.72rem;
  list-style: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(255, 255, 255, 0.95);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(10px);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.2;
  color: #64748b;
}

.gp-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.gp-breadcrumb .gp-breadcrumb__link {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  color: #1d4ed8;
  text-decoration: none;
  border-radius: 999px;
}

.gp-breadcrumb .gp-breadcrumb__link:hover {
  color: #1e3a8a;
}

.gp-breadcrumb .gp-breadcrumb__link:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}

.gp-breadcrumb__home {
  width: 0.85rem;
  height: 0.85rem;
  flex-shrink: 0;
}

.gp-breadcrumb__sep {
  display: inline-flex;
  align-items: center;
  color: #94a3b8;
}

.gp-breadcrumb__sep svg {
  width: 0.72rem;
  height: 0.72rem;
  display: block;
}

.gp-breadcrumb__current {
  color: #0f172a;
  font-weight: 700;
}

/* ����� ����� ������ �� � ���� backdrop + �� ����� (.gp-top) */
.gp-about__top > .gp-about-hero,
.gp-about__top > .gp-about-solutions {
  position: relative;
  z-index: 1;
}

/* Hero � full-bleed image + overlay text (same pattern as landing .gp-hero) */
.gp-about-hero {
  padding-block: 0 0.75rem;
  background: transparent;
}

.gp-about-hero__panel {
  position: relative;
  overflow: hidden;
  border-radius: clamp(1.5rem, 3vw, 2.5rem);
  border: 2px solid #fff;
  background-color: #e8f1ff;
  box-shadow: 0 18px 50px rgba(37, 99, 235, 0.12);
}

.gp-about-hero__visual {
  display: block;
  width: 100%;
}

.gp-about-hero__banner {
  display: block;
  width: 100%;
  height: auto;
  /* ���� ���� ���� ����� (hero.jpg = 1024�341) */
  aspect-ratio: 1024 / 341;
  object-fit: cover;
  object-position: left center;
}

.gp-about-hero__content {
  position: absolute;
  z-index: 3;
  inset-block-start: clamp(1.15rem, 3.2vw, 2.15rem);
  inset-inline-start: clamp(1.5rem, 4.5vw, 3.5rem);
  inset-inline-end: auto;
  max-inline-size: min(36rem, 48%);
  padding: 0.25rem 0.5rem;
}

.gp-about-hero__title {
  margin: 0 0 0.55rem;
  color: #071a3a;
  font-size: clamp(1.6rem, 3vw, 2.35rem);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.gp-about-hero__title span {
  color: var(--gp-primary);
}

.gp-about-hero__subtitle {
  margin: 0 0 0.85rem;
  color: #3b82f6;
  font-size: clamp(0.98rem, 1.5vw, 1.12rem);
  font-weight: 600;
  line-height: 1.6;
}

.gp-about-hero__text {
  margin: 0;
  max-inline-size: 32rem;
  color: #5b6b7c;
  font-size: clamp(0.9rem, 1.15vw, 1.02rem);
  font-weight: 500;
  line-height: 1.85;
}

/* لوگو و دکمه‌ها فقط وقتی هیرو مثل صفحه اصلی زیر عکس چیده می‌شود */
.gp-about-hero__brand,
.gp-about-hero__actions {
  display: none;
}

/* Solutions cards — specificity beats the later .gp-section padding reset */
.gp-section.gp-about-solutions {
  padding-block: 0.5rem 1.75rem;
  background: transparent;
}

.gp-about-solutions__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.gp-about-solutions__item {
  --gp-sol-mx: 50%;
  --gp-sol-my: 40%;
  position: relative;
  display: grid;
  justify-items: center;
  align-content: center;
  min-inline-size: 0;
  gap: 0.65rem;
  text-align: center;
  padding: 1.15rem 0.85rem;
  background: #fff;
  border: 1px solid #e8f0fa;
  border-radius: 1.1rem;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  isolation: isolate;
  cursor: default;
  transform-origin: center bottom;
  will-change: transform;
  transition:
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 420ms ease,
    border-color 320ms ease,
    background-color 320ms ease;
}

.gp-about-solutions__item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(
    220px circle at var(--gp-sol-mx) var(--gp-sol-my),
    rgba(96, 165, 250, 0.28) 0%,
    rgba(147, 197, 253, 0.12) 40%,
    transparent 72%
  );
  transition: opacity 320ms ease;
}

.gp-about-solutions__item::after {
  content: "";
  position: absolute;
  top: -40%;
  inset-inline-start: -60%;
  width: 45%;
  height: 180%;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 35%,
    rgba(255, 255, 255, 0.55) 50%,
    rgba(255, 255, 255, 0) 65%,
    transparent 100%
  );
  transform: translateX(0) rotate(18deg);
  opacity: 0;
}

.gp-about-solutions__item > * {
  position: relative;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) {
  .gp-about-solutions__item.gp-is-visible:hover {
    transform: translateY(-10px);
    border-color: #93c5fd;
    background: linear-gradient(165deg, #ffffff 0%, #f3f8ff 100%);
    box-shadow:
      0 26px 52px rgba(37, 99, 235, 0.18),
      0 10px 22px rgba(15, 23, 42, 0.07);
  }

  .gp-about-solutions__item.gp-is-visible:hover::before {
    opacity: 1;
  }

  .gp-about-solutions__item.gp-is-visible:hover::after {
    animation: gp-why-card-shine 700ms ease-out both;
  }

  .gp-about-solutions__item.gp-is-visible:hover .gp-about-solutions__ico {
    transform: translateY(-3px) scale(1.06);
    background: #dbeafe;
    border-color: #93c5fd;
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.24);
    color: #1d4ed8;
  }

  .gp-about-solutions__item.gp-is-visible:hover .gp-about-solutions__ico .gp-ico {
    transform: rotate(-6deg);
  }

  .gp-about-solutions__item.gp-is-visible:nth-child(2):hover .gp-about-solutions__ico .gp-ico {
    transform: rotate(6deg);
  }

  .gp-about-solutions__item.gp-is-visible:nth-child(3):hover .gp-about-solutions__ico .gp-ico {
    transform: rotate(-4deg);
  }

  .gp-about-solutions__item.gp-is-visible:nth-child(4):hover .gp-about-solutions__ico .gp-ico {
    transform: rotate(5deg);
  }

  .gp-about-solutions__item.gp-is-visible:hover .gp-about-solutions__name {
    color: #1d4ed8;
    transform: translateY(-2px);
  }
}

.gp-about-solutions__ico {
  display: grid;
  place-items: center;
  inline-size: 3.25rem;
  block-size: 3.25rem;
  border-radius: 0.9rem;
  background: #eff6ff;
  color: var(--gp-primary);
  border: 1px solid #dbeafe;
  transition:
    transform 380ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 320ms ease,
    border-color 320ms ease,
    box-shadow 380ms ease,
    color 320ms ease;
}

.gp-about-solutions__ico .gp-ico {
  transition: transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
}

.gp-about-solutions__name {
  margin: 0;
  min-inline-size: 0;
  max-inline-size: 100%;
  color: #0b2a5b;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.45;
  text-wrap: balance;
  overflow-wrap: break-word;
  transition:
    color 320ms ease,
    transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* Intro / who we are — specificity beats the later .gp-section padding reset */
.gp-section.gp-about-intro {
  position: relative;
  overflow: hidden;
  padding-block: clamp(2.5rem, 5vw, 4.5rem);
  margin-block-start: -1px;
  background: linear-gradient(
    180deg,
    var(--gp-seam) 0%,
    #ffffff 36%,
    #f8fbff 72%,
    var(--gp-process-bg) 100%
  );
}

.gp-about-intro::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  z-index: 2;
  height: 4.5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, var(--gp-seam) 0%, transparent 100%);
}

.gp-about-intro::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 2;
  height: 7rem;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    var(--gp-process-bg) 100%
  );
}

/* ������ ������ ��� Ә�� why ���� ���� (�� ��ѐ��� ������ ������ Ә��) */
.gp-about-intro .gp-why__mannequin {
  width: min(16.5rem, 28vw);
  max-height: min(20rem, 48dvh);
}

.gp-about-intro .gp-why__mannequin--start {
  width: min(15rem, 26vw);
  max-height: min(18.5rem, 44dvh);
}

.gp-about-intro .gp-why__mannequin--end {
  width: min(14rem, 24vw);
  max-height: min(17rem, 42dvh);
}

.gp-about-intro > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-about-intro__grid {
  display: grid;
  /* ��� ���� �捘��� | ��ǎ �� � ���� ��ѐ��� */
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  column-gap: clamp(1.75rem, 5vw, 3.25rem);
  align-items: start;
}

.gp-about-intro__visual {
  --gp-intro-ease: cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  display: block;
  width: 100%;
  min-block-size: 18rem;
  line-height: 0;
  perspective: 900px;
}

.gp-about-intro__bg-hexes {
  position: absolute;
  inset: -6% -4% -2% -8%;
  z-index: 0;
  pointer-events: none;
}

.gp-about-intro__bg-hex {
  --intro-py: 0px;
  position: absolute;
  display: block;
  will-change: transform;
  opacity: 0;
  transform: translate3d(0, calc(40px + var(--intro-py)), 0) scale(0.92);
  transition:
    opacity 900ms var(--gp-intro-ease),
    transform 900ms var(--gp-intro-ease);
}

.gp-about-intro.is-inview .gp-about-intro__bg-hex {
  opacity: 1;
  transform: translate3d(0, var(--intro-py), 0) scale(1);
}

.gp-about-intro__bg-hex svg {
  display: block;
  width: 100%;
  height: auto;
}

.gp-about-intro__bg-hex--1 {
  inset-inline-start: -2%;
  inset-block-start: 8%;
  width: min(42%, 11rem);
  transition-delay: 120ms;
}

.gp-about-intro__bg-hex--2 {
  inset-inline-end: 2%;
  inset-block-start: 28%;
  width: min(34%, 8.5rem);
  transition-delay: 260ms;
}

.gp-about-intro__bg-hex--3 {
  inset-inline-start: 18%;
  inset-block-end: 4%;
  width: min(28%, 7rem);
  transition-delay: 380ms;
}

.gp-about-intro__hex-stack {
  position: relative;
  z-index: 1;
  width: 100%;
}

.gp-about-intro__hex {
  margin: 0;
  opacity: 0;
  transform: translate3d(0, 50px, 0) scale(0.9);
  transition:
    opacity 820ms var(--gp-intro-ease),
    transform 820ms var(--gp-intro-ease),
    filter 420ms var(--gp-intro-ease),
    box-shadow 420ms var(--gp-intro-ease);
  will-change: transform, opacity;
}

.gp-about-intro.is-inview .gp-about-intro__hex {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.gp-about-intro__hex--main {
  position: relative;
  z-index: 2;
  transition-delay: calc(var(--intro-d, 0) * 90ms);
  filter: drop-shadow(0 18px 36px rgba(37, 99, 235, 0.12));
}

.gp-about-intro__collage {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: top center;
  transform: translateZ(0);
  transition: transform 520ms var(--gp-intro-ease), filter 520ms var(--gp-intro-ease);
}

@media (hover: hover) and (pointer: fine) {
  .gp-about-intro.is-inview .gp-about-intro__hex--main:hover .gp-about-intro__collage {
    transform: translate3d(0, -6px, 0) scale(1.02);
    filter: brightness(1.03) saturate(1.05);
  }

  .gp-about-intro.is-inview .gp-about-intro__hex--main:hover {
    filter: drop-shadow(0 28px 48px rgba(37, 99, 235, 0.2));
  }

  .gp-about-intro.is-inview .gp-about-intro__accent:hover {
    transform: translate3d(0, -4px, 0) scale(1.08);
    opacity: 0.95;
  }
}

.gp-about-intro__accent {
  position: absolute;
  z-index: 3;
  display: block;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  background: linear-gradient(145deg, rgba(191, 219, 254, 0.85), rgba(147, 197, 253, 0.45));
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.12);
  opacity: 0;
  transform: translate3d(0, 50px, 0) scale(0.9);
  transition:
    opacity 820ms var(--gp-intro-ease),
    transform 820ms var(--gp-intro-ease),
    background-color 320ms ease;
  will-change: transform, opacity;
  pointer-events: auto;
}

.gp-about-intro.is-inview .gp-about-intro__accent {
  opacity: 0.72;
  transform: translate3d(0, 0, 0) scale(1);
}

.gp-about-intro__accent--1 {
  inset-inline-end: 4%;
  inset-block-start: 12%;
  width: clamp(2.4rem, 7vw, 3.6rem);
  aspect-ratio: 1 / 1.12;
  transition-delay: 160ms;
}

.gp-about-intro__accent--2 {
  inset-inline-end: 10%;
  inset-block-start: 38%;
  width: clamp(1.8rem, 5vw, 2.6rem);
  aspect-ratio: 1 / 1.12;
  transition-delay: 260ms;
  opacity: 0;
  background: linear-gradient(145deg, rgba(96, 165, 250, 0.55), rgba(191, 219, 254, 0.35));
}

.gp-about-intro__accent--3 {
  inset-inline-end: 2%;
  inset-block-end: 22%;
  width: clamp(2rem, 5.5vw, 3rem);
  aspect-ratio: 1 / 1.12;
  transition-delay: 360ms;
}

.gp-about-intro__accent--4 {
  inset-inline-start: 6%;
  inset-block-end: 8%;
  width: clamp(1.5rem, 4.5vw, 2.2rem);
  aspect-ratio: 1 / 1.12;
  transition-delay: 460ms;
  background: linear-gradient(145deg, rgba(147, 197, 253, 0.5), rgba(219, 234, 254, 0.4));
}

.gp-about-intro.is-inview .gp-about-intro__hex--main.is-floating,
.gp-about-intro.is-inview .gp-about-intro__accent.is-floating {
  animation: gp-intro-float 5.5s var(--gp-intro-ease) infinite;
}

.gp-about-intro.is-inview .gp-about-intro__accent--2.is-floating {
  animation-duration: 6.4s;
  animation-direction: reverse;
}

.gp-about-intro.is-inview .gp-about-intro__accent--3.is-floating {
  animation-duration: 7s;
}

.gp-about-intro.is-inview .gp-about-intro__accent--4.is-floating {
  animation-duration: 5.2s;
  animation-direction: reverse;
}

.gp-about-intro.is-inview .gp-about-intro__bg-hex.is-floating {
  animation: gp-intro-float-soft 8s var(--gp-intro-ease) infinite;
}

@keyframes gp-intro-float {
  0%,
  100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -8px;
  }
}

@keyframes gp-intro-float-soft {
  0%,
  100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -5px;
  }
}

.gp-about-intro__copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  max-width: none;
  min-width: 0;
  padding-block-start: 0.15rem;
}

.gp-about-intro [data-intro-el] {
  --gp-intro-ease: cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 0;
  transform: translate3d(0, 36px, 0);
  transition:
    opacity 780ms var(--gp-intro-ease),
    transform 780ms var(--gp-intro-ease);
  transition-delay: calc(var(--intro-d, 0) * 100ms + 80ms);
  will-change: transform, opacity;
}

.gp-about-intro.is-inview [data-intro-el] {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.gp-about-intro.is-inview .gp-about-intro__stat {
  transition-delay: 0ms;
  transition:
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 420ms ease,
    border-color 320ms ease,
    background-color 320ms ease;
}

.gp-about-intro__eyebrow {
  margin: 0 0 0.55rem;
  color: #60a5fa;
  font-size: 0.95rem;
  font-weight: 600;
}

.gp-about-intro__title {
  margin: 0 0 0.9rem;
  color: #071a3a;
  font-size: clamp(1.5rem, 2.8vw, 2.05rem);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.gp-about-intro__text {
  margin: 0 0 1.5rem;
  color: #64748b;
  font-size: 0.94rem;
  line-height: 1.95;
  max-inline-size: none;
}

.gp-about-intro__stats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  width: 100%;
}

.gp-about-intro__stat {
  --gp-stat-mx: 50%;
  --gp-stat-my: 40%;
  position: relative;
  display: grid;
  justify-items: center;
  align-content: center;
  min-inline-size: 0;
  gap: 0.35rem;
  text-align: center;
  padding: 1rem 0.5rem 1.05rem;
  background: #fff;
  border: 1px solid #e8f0fa;
  border-radius: 1rem;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  isolation: isolate;
  cursor: default;
  transform-origin: center bottom;
  will-change: transform;
  transition:
    opacity 780ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 420ms ease,
    border-color 320ms ease,
    background-color 320ms ease;
}

.gp-about-intro__stat::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(
    180px circle at var(--gp-stat-mx) var(--gp-stat-my),
    rgba(96, 165, 250, 0.3) 0%,
    rgba(147, 197, 253, 0.12) 42%,
    transparent 72%
  );
  transition: opacity 320ms ease;
}

.gp-about-intro__stat::after {
  content: "";
  position: absolute;
  top: -45%;
  inset-inline-start: -65%;
  width: 48%;
  height: 190%;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 35%,
    rgba(255, 255, 255, 0.6) 50%,
    rgba(255, 255, 255, 0) 65%,
    transparent 100%
  );
  transform: translateX(0) rotate(18deg);
  opacity: 0;
}

.gp-about-intro__stat > * {
  position: relative;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) {
  .gp-about-intro.is-inview .gp-about-intro__stat:hover {
    transform: translate3d(0, -10px, 0) scale(1.03);
    border-color: #93c5fd;
    background: linear-gradient(165deg, #ffffff 0%, #f3f8ff 100%);
    box-shadow:
      0 24px 48px rgba(37, 99, 235, 0.16),
      0 8px 18px rgba(15, 23, 42, 0.06);
  }

  .gp-about-intro.is-inview .gp-about-intro__stat:hover::before {
    opacity: 1;
  }

  .gp-about-intro.is-inview .gp-about-intro__stat:hover::after {
    animation: gp-why-card-shine 700ms ease-out both;
  }

  .gp-about-intro.is-inview .gp-about-intro__stat:hover .gp-about-intro__stat-ico {
    transform: translateY(-3px) scale(1.08);
    background: #dbeafe;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.22);
    color: #1d4ed8;
  }

  .gp-about-intro.is-inview .gp-about-intro__stat:hover .gp-about-intro__stat-ico .gp-ico {
    transform: rotate(-8deg);
  }

  .gp-about-intro.is-inview .gp-about-intro__stat:nth-child(2):hover .gp-about-intro__stat-ico .gp-ico {
    transform: rotate(6deg);
  }

  .gp-about-intro.is-inview .gp-about-intro__stat:nth-child(3):hover .gp-about-intro__stat-ico .gp-ico {
    transform: rotate(-4deg);
  }

  .gp-about-intro.is-inview .gp-about-intro__stat:hover .gp-about-intro__stat-num {
    transform: translateY(-2px);
    color: #1d4ed8;
  }

  .gp-about-intro.is-inview .gp-about-intro__stat:hover .gp-about-intro__stat-label {
    color: #475569;
  }
}

.gp-about-intro__stat-ico {
  display: grid;
  place-items: center;
  inline-size: 2.4rem;
  block-size: 2.4rem;
  border-radius: 999px;
  background: #eff6ff;
  color: var(--gp-primary);
  transition:
    transform 380ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 320ms ease,
    box-shadow 380ms ease,
    color 320ms ease;
}

.gp-about-intro__stat-ico .gp-ico {
  transition: transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
}

.gp-about-intro__stat-num {
  min-inline-size: 0;
  max-inline-size: 100%;
  color: var(--gp-primary);
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  transition:
    color 320ms ease,
    transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
}

.gp-about-intro__stat-label {
  min-inline-size: 0;
  max-inline-size: 100%;
  color: #64748b;
  font-size: 0.76rem;
  line-height: 1.45;
  text-wrap: balance;
  overflow-wrap: break-word;
  transition: color 320ms ease;
}

/* Fields of activity — specificity beats the later .gp-section padding reset */
.gp-section.gp-about-fields {
  --gp-field-ease: cubic-bezier(0.34, 1.4, 0.64, 1);
  --gp-field-dur: 380ms;
  position: relative;
  overflow: visible;
  margin-block-start: -1px;
  padding-block: clamp(0.75rem, 2vw, 1.5rem) clamp(1.5rem, 3vw, 2.5rem);
  background: linear-gradient(
    180deg,
    var(--gp-process-bg) 0%,
    #f9fcff 28%,
    #ffffff 58%,
    #ffffff 100%
  );
}

.gp-about-fields::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  z-index: 0;
  height: 5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, var(--gp-process-bg) 0%, transparent 100%);
}

.gp-about-fields::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 0;
  height: 6rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, #ffffff 100%);
}

.gp-about-fields > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-about-fields__grid {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 1.15rem 0.35rem 2.5rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.1rem;
  overflow: visible;
  perspective: 1200px;
  perspective-origin: 50% 40%;
}

.gp-about-fields__card {
  position: relative;
  z-index: 1;
  min-inline-size: 0;
  background: #fff;
  border: 1px solid #e8f0fa;
  border-radius: 1.2rem;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
  cursor: pointer;
  transform: translate3d(0, 0, 0) scale(1);
  transform-origin: center bottom;
  transform-style: preserve-3d;
  filter: none;
  backface-visibility: hidden;
}

.gp-about-fields__card.gp-reveal:nth-child(1) { transition-delay: 0ms; }
.gp-about-fields__card.gp-reveal:nth-child(2) { transition-delay: 90ms; }
.gp-about-fields__card.gp-reveal:nth-child(3) { transition-delay: 180ms; }
.gp-about-fields__card.gp-reveal:nth-child(4) { transition-delay: 270ms; }

.gp-about-fields__card.gp-is-visible {
  transition-delay: 0ms !important;
  transition:
    transform var(--gp-field-dur) var(--gp-field-ease),
    filter 300ms ease,
    box-shadow var(--gp-field-dur) ease,
    border-color 280ms ease,
    background-color 280ms ease;
}

.gp-about-fields__card::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(
    120% 80% at 50% 0%,
    rgba(96, 165, 250, 0.35),
    transparent 62%
  );
  transition: opacity 280ms ease;
}

.gp-about-fields__card::after {
  content: "";
  position: absolute;
  top: -50%;
  inset-inline-start: -70%;
  width: 48%;
  height: 200%;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 40%,
    rgba(255, 255, 255, 0.7) 50%,
    rgba(255, 255, 255, 0) 60%,
    transparent 100%
  );
  opacity: 0;
  transform: translateX(0) rotate(18deg);
}

.gp-about-fields__media,
.gp-about-fields__name {
  position: relative;
  z-index: 1;
}

.gp-about-fields__media {
  aspect-ratio: 4 / 3;
  background: #ffffff;
  display: grid;
  place-items: center;
  overflow: hidden;
  perspective: 900px;
  transform-style: preserve-3d;
}

.gp-about-fields__media img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  transform: translate3d(0, 0, 0) scale(1);
  transform-origin: center 70%;
  transform-style: preserve-3d;
  transition:
    transform 560ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 560ms ease;
  will-change: transform;
}

.gp-about-fields__name {
  margin: 0;
  min-inline-size: 0;
  max-inline-size: 100%;
  padding: 1rem 0.85rem 1.2rem;
  text-align: center;
  color: #0b2a5b;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.55;
  text-wrap: balance;
  overflow-wrap: break-word;
  transition:
    color 280ms ease,
    transform var(--gp-field-dur) var(--gp-field-ease);
}

/* ���� ���ʝ�� ��� */
.gp-about-fields__grid.is-focusing .gp-about-fields__card.gp-is-visible:not(.is-active) {
  transform: translate3d(0, 4px, 0) scale(0.92);
  filter: blur(3px) brightness(0.88) saturate(0.8);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
}

/* ���� �����ȝ��� � ������� ���� */
.gp-about-fields__card.is-active {
  z-index: 8;
  transform: translate3d(0, -18px, 0) scale(1.12);
  filter: none;
  border-color: #60a5fa;
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
  box-shadow:
    0 8px 0 rgba(37, 99, 235, 0.08),
    0 32px 64px rgba(37, 99, 235, 0.28),
    0 0 0 1px rgba(147, 197, 253, 0.65),
    0 0 40px rgba(59, 130, 246, 0.25);
  animation: gp-field-active-glow 1.7s ease-in-out infinite;
}

.gp-about-fields__card.is-active::before {
  opacity: 1;
}

.gp-about-fields__card.is-active.is-shine::after {
  animation: gp-field-shine 700ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.gp-about-fields__card.is-active:not(.is-popped) .gp-about-fields__media img {
  animation: gp-field-img-live 1.6s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}

.gp-about-fields__card.is-active .gp-about-fields__name {
  color: #1d4ed8;
  transform: translate3d(0, -4px, 0);
  text-shadow: 0 8px 24px rgba(37, 99, 235, 0.18);
}

/* ���: ژ� ������ �� ���� ����� ����� */
.gp-about-fields__card.is-popped {
  z-index: 12;
  overflow: visible;
  isolation: auto;
  transform: translate3d(0, -10px, 40px) scale(1.06) rotateX(4deg);
  animation: none;
  border-color: #3b82f6;
  background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%);
  box-shadow:
    0 18px 0 rgba(37, 99, 235, 0.06),
    0 36px 70px rgba(37, 99, 235, 0.28),
    0 0 0 1px rgba(96, 165, 250, 0.75);
}

.gp-about-fields__card.is-popped .gp-about-fields__media {
  overflow: visible;
  z-index: 4;
}

.gp-about-fields__card.is-popped .gp-about-fields__media img {
  animation: gp-field-img-pop 700ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
  filter: drop-shadow(0 28px 36px rgba(15, 23, 42, 0.28));
}

.gp-about-fields__card.is-popped .gp-about-fields__name {
  z-index: 1;
  transform: translate3d(0, 6px, 0);
  opacity: 0.92;
}

.gp-about-fields__grid.has-popped .gp-about-fields__card.gp-is-visible:not(.is-popped) {
  transform: translate3d(0, 8px, -30px) scale(0.9);
  filter: blur(4px) brightness(0.85);
  pointer-events: none;
}

@keyframes gp-field-active-glow {
  0%,
  100% {
    box-shadow:
      0 8px 0 rgba(37, 99, 235, 0.08),
      0 32px 64px rgba(37, 99, 235, 0.26),
      0 0 0 1px rgba(147, 197, 253, 0.65),
      0 0 36px rgba(59, 130, 246, 0.22);
  }
  50% {
    box-shadow:
      0 10px 0 rgba(37, 99, 235, 0.1),
      0 40px 72px rgba(37, 99, 235, 0.34),
      0 0 0 2px rgba(96, 165, 250, 0.85),
      0 0 56px rgba(59, 130, 246, 0.38);
  }
}

@keyframes gp-field-img-live {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1.06) rotate(-1deg);
  }
  50% {
    transform: translate3d(0, -12px, 0) scale(1.14) rotate(1.2deg);
  }
}

@keyframes gp-field-img-pop {
  0% {
    transform: translate3d(0, 8%, 0) scale(1) rotateX(0deg) rotateY(0deg);
  }
  55% {
    transform: translate3d(0, -18%, 72px) scale(1.28) rotateX(12deg) rotateY(-6deg);
  }
  100% {
    transform: translate3d(0, -14%, 56px) scale(1.22) rotateX(8deg) rotateY(-4deg);
  }
}

@keyframes gp-field-shine {
  0% {
    opacity: 0;
    transform: translateX(0) rotate(18deg);
  }
  18% {
    opacity: 0.95;
  }
  100% {
    opacity: 0;
    transform: translateX(320%) rotate(18deg);
  }
}

.gp-about-fields__head {
  max-inline-size: 42rem;
  margin-block-end: 2rem;
}

.gp-about-fields__eyebrow {
  margin: 0 0 0.55rem;
  color: #3b82f6;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.gp-about-fields__head .gp-section__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  max-inline-size: 36rem;
  margin-inline: auto;
  margin-block-end: 0.85rem;
  font-size: clamp(1.7rem, 3.8vw, 2.45rem);
  line-height: 1.28;
  letter-spacing: -0.025em;
}

.gp-about-fields__head .gp-section__title::after {
  width: 4.5rem;
  height: 2px;
  margin-block-start: 1rem;
  background: linear-gradient(
    90deg,
    transparent 0%,
    #93c5fd 18%,
    #2563eb 50%,
    #93c5fd 82%,
    transparent 100%
  );
  box-shadow: none;
}

.gp-about-fields__title-line {
  display: block;
}

.gp-about-fields__title-line--soft {
  color: #1e3a8a;
  font-weight: 700;
  font-size: 0.78em;
  letter-spacing: -0.01em;
  opacity: 0.88;
}

.gp-about-fields__head .gp-section__lead {
  max-inline-size: 34rem;
  margin-inline: auto;
  color: #64748b;
  font-size: clamp(0.92rem, 1.3vw, 1.02rem);
  line-height: 1.9;
}

/* Horizontal timeline � ���� ������ */
.gp-about-story {
  --gp-story-ease: cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden;
  margin-block-start: -1px;
  background-color: #ffffff;
  background-image: var(--gp-lazy-bg, none);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.gp-about-story::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  z-index: 0;
  height: 5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, #ffffff 0%, transparent 100%);
}

.gp-about-story::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 0;
  height: 6.5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, var(--gp-process-bg) 100%);
}

.gp-about-story > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-about-story__eyebrow {
  margin: 0 0 0.45rem;
  color: #60a5fa;
  font-size: 0.95rem;
  font-weight: 600;
}

.gp-about-story__head .gp-section__lead {
  margin-block-start: 0.35rem;
}

.gp-about-story__board {
  /* ������ �� path �������: y-up=22, y-down=115, vb=140 */
  --gp-story-node: clamp(5rem, 7.5vw, 6rem);
  --gp-story-svg-h: 8.25rem;
  /* 93 = 115 - 22 */
  --gp-story-wave: calc(var(--gp-story-svg-h) * 93 / 140);
  position: relative;
  margin-block-start: 2.5rem;
  padding-block: 0.75rem 0.5rem;
  min-block-size: calc(var(--gp-story-node) + var(--gp-story-wave) + 9rem);
  cursor: default;
}

.gp-about-story__curve {
  position: absolute;
  inset-inline: 0;
  /* �ј� ������ up ��� y=22 ���� */
  inset-block-start: calc((var(--gp-story-node) / 2) - (var(--gp-story-svg-h) * 22 / 140));
  width: 100%;
  height: var(--gp-story-svg-h);
  pointer-events: none;
  z-index: 0;
  overflow: visible;
}

.gp-about-story__track {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  /* ���� gap ���� �� �ј� ������ ������ ��� 10/30/50/70/90? ���� ���� */
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 0;
  row-gap: 0.75rem;
  position: relative;
  z-index: 1;
  direction: ltr;
}

.gp-about-story__step {
  --story-y: 0px;
  --story-d: 0;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 0.55rem;
  text-align: center;
  direction: rtl;
  padding-inline: 0.4rem;
  transform: translate3d(0, var(--story-y), 0);
  transform-origin: center top;
  transition:
    transform 420ms var(--gp-story-ease),
    filter 360ms ease,
    opacity 360ms ease;
  cursor: pointer;
}

/* down = ��� ���� (y-down)� up = ��� ���� (y-up) */
.gp-about-story__step--down {
  --story-y: var(--gp-story-wave);
}

.gp-about-story__step--up {
  --story-y: 0px;
}

.gp-about-story__step.is-dimmed {
  opacity: 0.45;
  filter: blur(1.5px) saturate(0.85);
  transform: translate3d(0, calc(var(--story-y) + 4px), 0) scale(0.96);
}

.gp-about-story__node {
  position: relative;
  z-index: 1;
  inline-size: var(--gp-story-node);
  block-size: var(--gp-story-node);
  margin-block-end: 1.15rem;
  border-radius: 999px;
  overflow: hidden;
  background: #fff;
  border: 3px solid #fff;
  box-shadow:
    0 0 0 2px #9cc7ff,
    0 0 0 8px rgba(219, 234, 254, 0.9),
    0 8px 22px rgba(37, 99, 235, 0.12);
  transition:
    transform 480ms var(--gp-story-ease),
    box-shadow 480ms var(--gp-story-ease);
}

.gp-about-story__node::after {
  content: "";
  position: absolute;
  inset: -18%;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle, rgba(96, 165, 250, 0.45) 0%, transparent 68%);
  transition: opacity 360ms ease;
}

.gp-about-story__node img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 520ms var(--gp-story-ease);
}

.gp-about-story__year,
.gp-about-story__name,
.gp-about-story__text {
  transition:
    color 320ms ease,
    transform 420ms var(--gp-story-ease),
    text-shadow 420ms ease;
}

.gp-about-story__year {
  color: #3b82f6;
  font-size: 0.95rem;
  font-weight: 800;
}

.gp-about-story__name {
  margin: 0;
  max-inline-size: 11rem;
  color: #0b2a5b;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.45;
}

.gp-about-story__text {
  margin: 0;
  max-inline-size: 12rem;
  color: #64748b;
  font-size: 0.8rem;
  line-height: 1.7;
  font-weight: 500;
}

@media (hover: hover) and (pointer: fine) {
  .gp-about-story__step.is-active {
    z-index: 4;
    transform: translate3d(0, calc(var(--story-y) - 10px), 0) scale(1.04);
    opacity: 1;
    filter: none;
  }

  .gp-about-story__step.is-active .gp-about-story__node {
    transform: scale(1.12) translateY(-4px);
    box-shadow:
      0 0 0 3px #3b82f6,
      0 0 0 12px rgba(191, 219, 254, 0.95),
      0 0 36px rgba(59, 130, 246, 0.5),
      0 18px 40px rgba(37, 99, 235, 0.22);
    animation: gp-story-pulse 1.8s ease-in-out infinite;
  }

  .gp-about-story__step.is-active .gp-about-story__node::after {
    opacity: 1;
    animation: gp-story-aura 1.8s ease-in-out infinite;
  }

  .gp-about-story__step.is-active .gp-about-story__node img {
    transform: scale(1.06);
  }

  .gp-about-story__step.is-active .gp-about-story__year {
    color: #1d4ed8;
    transform: translate3d(0, -3px, 0);
    text-shadow: 0 8px 22px rgba(37, 99, 235, 0.28);
  }

  .gp-about-story__step.is-active .gp-about-story__name {
    color: #1e3a8a;
    transform: translate3d(0, -2px, 0);
  }

  .gp-about-story__step.is-active .gp-about-story__text {
    color: #475569;
    transform: translate3d(0, -1px, 0);
  }
}

@keyframes gp-story-float {
  0%,
  100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -8px;
  }
}

@keyframes gp-story-pulse {
  0%,
  100% {
    box-shadow:
      0 0 0 3px #3b82f6,
      0 0 0 12px rgba(191, 219, 254, 0.95),
      0 0 28px rgba(59, 130, 246, 0.4),
      0 18px 40px rgba(37, 99, 235, 0.2);
  }
  50% {
    box-shadow:
      0 0 0 4px #2563eb,
      0 0 0 16px rgba(191, 219, 254, 0.7),
      0 0 48px rgba(59, 130, 246, 0.62),
      0 22px 48px rgba(37, 99, 235, 0.28);
  }
}

@keyframes gp-story-aura {
  0%,
  100% {
    opacity: 0.55;
    transform: scale(1);
  }
  50% {
    opacity: 0.95;
    transform: scale(1.15);
  }
}

/* Team */
/* Team — specificity beats the later .gp-section padding reset */
.gp-section.gp-about-team {
  position: relative;
  margin-block-start: -1px;
  background: linear-gradient(
    180deg,
    var(--gp-process-bg) 0%,
    #f9fcff 30%,
    #ffffff 62%,
    #ffffff 100%
  );
}

.gp-about-team::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  z-index: 0;
  height: 5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, var(--gp-process-bg) 0%, transparent 100%);
}

.gp-about-team::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 0;
  height: 5.5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, #ffffff 100%);
}

.gp-about-team > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-about-team__grid {
  --gp-team-ease: cubic-bezier(0.22, 1, 0.36, 1);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.35rem;
  margin-block-start: 1.25rem;
  align-items: end;
}

.gp-about-team__card {
  --gp-team-mx: 50%;
  --gp-team-my: 35%;
  position: relative;
  isolation: isolate;
  min-inline-size: 0;
  text-align: center;
  padding: 1.25rem 1.15rem 1.5rem;
  background: #fff;
  border: 1px solid #e8f0fa;
  border-radius: 1.25rem;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  transform: translate3d(0, 1.2rem, 0) scale(0.97);
  transition:
    opacity 620ms var(--gp-team-ease),
    transform 620ms var(--gp-team-ease),
    box-shadow 420ms ease,
    border-color 320ms ease,
    filter 320ms ease;
}

.gp-about-team__card.gp-reveal:nth-child(1) { transition-delay: 0ms; }
.gp-about-team__card.gp-reveal:nth-child(2) { transition-delay: 110ms; }
.gp-about-team__card.gp-reveal:nth-child(3) { transition-delay: 220ms; }

.gp-about-team__card.gp-reveal.gp-is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  transition-delay: 0ms !important;
}

.gp-about-team__card--lead.gp-reveal.gp-is-visible {
  transform: translate3d(0, -0.55rem, 0) scale(1.02);
  border-color: #dbeafe;
  box-shadow: 0 18px 40px rgba(37, 99, 235, 0.12);
}

.gp-about-team__card::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(
    120% 90% at var(--gp-team-mx) var(--gp-team-my),
    rgba(96, 165, 250, 0.28),
    transparent 58%
  );
  transition: opacity 280ms ease;
}

.gp-about-team__card::after {
  content: "";
  position: absolute;
  top: -55%;
  inset-inline-start: -75%;
  width: 46%;
  height: 210%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 40%,
    rgba(255, 255, 255, 0.65) 50%,
    rgba(255, 255, 255, 0) 60%,
    transparent 100%
  );
  opacity: 0;
  transform: translateX(0) rotate(18deg);
}

.gp-about-team__photo-wrap,
.gp-about-team__name,
.gp-about-team__role,
.gp-about-team__bio,
.gp-about-team__social {
  position: relative;
  z-index: 1;
}

.gp-about-team__photo-wrap {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  margin-block-end: 0.85rem;
  min-block-size: 14rem;
}

.gp-about-team__portrait {
  display: block;
  inline-size: min(100%, 15.5rem);
  block-size: auto;
  object-fit: contain;
  filter: drop-shadow(0 14px 28px rgba(37, 99, 235, 0.18));
  transform: translate3d(0, 0, 0);
  transition: transform 480ms var(--gp-team-ease), filter 480ms ease;
}

.gp-about-team__card.gp-is-visible .gp-about-team__portrait {
  animation: gp-team-float 4.8s ease-in-out infinite;
}

.gp-about-team__card.gp-reveal:nth-child(2).gp-is-visible .gp-about-team__portrait {
  animation-delay: -1.2s;
}

.gp-about-team__card.gp-reveal:nth-child(3).gp-is-visible .gp-about-team__portrait {
  animation-delay: -2.4s;
}

@keyframes gp-team-float {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -0.55rem, 0);
  }
}

.gp-about-team__name {
  margin: 0 0 0.25rem;
  min-inline-size: 0;
  color: #0b2a5b;
  font-size: 1.05rem;
  font-weight: 800;
  text-wrap: balance;
  transition: color 280ms ease, transform 320ms var(--gp-team-ease);
}

.gp-about-team__role {
  margin: 0 0 0.65rem;
  color: var(--gp-primary);
  font-size: 0.86rem;
  font-weight: 600;
  text-wrap: balance;
  transition: letter-spacing 320ms ease, color 280ms ease;
}

.gp-about-team__bio {
  margin: 0 0 0.85rem;
  min-inline-size: 0;
  max-inline-size: 22rem;
  margin-inline: auto;
  color: var(--gp-muted);
  font-size: 0.84rem;
  line-height: 1.7;
  text-wrap: pretty;
  overflow-wrap: break-word;
  transition: color 280ms ease;
}

.gp-about-team__social {
  display: inline-flex;
  gap: 0.45rem;
  justify-content: center;
}

.gp-about-team__soc {
  display: grid;
  place-items: center;
  inline-size: 2rem;
  block-size: 2rem;
  border-radius: 999px;
  background: #eff6ff;
  color: var(--gp-primary);
  border: 1px solid #dbeafe;
  text-decoration: none;
  transform: translateY(0);
  transition:
    background 180ms ease,
    color 180ms ease,
    transform 280ms var(--gp-team-ease),
    border-color 180ms ease,
    box-shadow 280ms ease;
}

.gp-about-team__soc:nth-child(1) { transition-delay: 0ms; }
.gp-about-team__soc:nth-child(2) { transition-delay: 40ms; }
.gp-about-team__soc:nth-child(3) { transition-delay: 80ms; }

.gp-about-team__soc:hover {
  background: var(--gp-primary);
  color: #fff;
  border-color: var(--gp-primary);
  transform: translateY(-3px);
  box-shadow: 0 8px 16px rgba(37, 99, 235, 0.22);
}

.gp-about-team__grid.is-focusing .gp-about-team__card.gp-reveal.gp-is-visible:not(.is-active) {
  opacity: 0.55;
  filter: saturate(0.85);
  transform: translate3d(0, 0.35rem, 0) scale(0.97);
}

.gp-about-team__card.gp-reveal.gp-is-visible.is-active {
  z-index: 2;
  opacity: 1;
  border-color: #bfdbfe;
  box-shadow: 0 22px 48px rgba(37, 99, 235, 0.16);
  transform: translate3d(0, -0.75rem, 0) scale(1.03);
}

.gp-about-team__card.gp-reveal.gp-is-visible.is-active::before {
  opacity: 1;
}

.gp-about-team__card.gp-reveal.gp-is-visible.is-active.is-shine::after {
  opacity: 1;
  animation: gp-team-shine 780ms var(--gp-team-ease) both;
}

@keyframes gp-team-shine {
  from {
    transform: translateX(0) rotate(18deg);
  }
  to {
    transform: translateX(320%) rotate(18deg);
  }
}

.gp-about-team__card.gp-reveal.gp-is-visible.is-active .gp-about-team__portrait {
  animation-play-state: paused;
  transform: translate3d(0, -0.35rem, 0) scale(1.04);
  filter: drop-shadow(0 18px 34px rgba(37, 99, 235, 0.28));
}

.gp-about-team__card.gp-reveal.gp-is-visible.is-active .gp-about-team__name {
  transform: translateY(-2px);
  color: #072047;
}

.gp-about-team__card.gp-reveal.gp-is-visible.is-active .gp-about-team__role {
  letter-spacing: 0.02em;
}

.gp-about-team__card.gp-reveal.gp-is-visible.is-active .gp-about-team__soc {
  transform: translateY(-2px);
}

/* Awards */
/* Awards — specificity beats the later .gp-section padding reset */
.gp-section.gp-about-awards {
  position: relative;
  overflow: hidden;
  margin-block-start: -1px;
  background:
    radial-gradient(ellipse 70% 45% at 12% 18%, rgba(191, 219, 254, 0.35), transparent 60%),
    radial-gradient(ellipse 60% 40% at 88% 88%, rgba(219, 234, 254, 0.4), transparent 58%),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7fbff 45%,
      #f4f9ff 78%,
      var(--gp-seam) 100%
    );
}

.gp-about-awards::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  z-index: 0;
  height: 4.5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, #ffffff 0%, transparent 100%);
}

.gp-about-awards::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 0;
  height: 5.5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, var(--gp-seam) 100%);
}

.gp-about-awards__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.gp-about-awards__hex {
  position: absolute;
  opacity: 0.22;
  color: #93c5fd;
}

.gp-about-awards__hex--1 {
  inset-block-start: 8%;
  inset-inline-start: 3%;
  inline-size: 7.5rem;
  block-size: 7.5rem;
}

.gp-about-awards__hex--2 {
  inset-block-start: 42%;
  inset-inline-start: 8%;
  inline-size: 4.5rem;
  block-size: 4.5rem;
}

.gp-about-awards__hex--3 {
  inset-block-end: 12%;
  inset-inline-end: 6%;
  inline-size: 3.5rem;
  block-size: 3.5rem;
  opacity: 0.16;
}

.gp-about-awards > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-about-awards__head .gp-section__title {
  color: #071a3a;
}

.gp-about-awards__head .gp-section__lead {
  color: #64748b;
}

.gp-about-awards__slider {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
  margin-block-start: 1.5rem;
}

.gp-about-awards__viewport {
  overflow: hidden;
  min-width: 0;
  padding-block: 0.55rem 0.85rem;
}

.gp-about-awards__track {
  --gp-awards-gap: 0px;
  display: flex;
  gap: 0;
  width: min(100%, 26rem);
  margin-inline: auto;
  transition: transform 560ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.gp-about-awards__card {
  flex: 0 0 100%;
  min-width: 0;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e8f0fa;
  border-radius: 1rem;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  opacity: 0.72;
  transform: translateY(10px) scale(0.985);
  transition:
    opacity 420ms ease,
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 420ms ease,
    border-color 420ms ease;
}

.gp-about-awards__card.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
  border-color: #dbeafe;
  box-shadow: 0 14px 34px rgba(37, 99, 235, 0.1);
}

.gp-about-awards__card.is-near {
  opacity: 0.55;
}

.gp-about-awards__media {
  aspect-ratio: 1 / 1;
  background: #f8fafc;
  overflow: hidden;
}

.gp-about-awards__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  transition: transform 560ms cubic-bezier(0.22, 1, 0.36, 1);
}

.gp-about-awards__card.is-active .gp-about-awards__media img {
  transform: scale(1.02);
}

.gp-about-awards__body {
  padding: 0.85rem 0.7rem 1rem;
  text-align: center;
}

.gp-about-awards__title {
  margin: 0 0 0.3rem;
  min-inline-size: 0;
  color: #0b2a5b;
  font-size: clamp(0.88rem, 1.5vw, 1.02rem);
  font-weight: 800;
  line-height: 1.45;
  text-wrap: balance;
  overflow-wrap: break-word;
}

.gp-about-awards__year {
  margin: 0 0 0.35rem;
  color: #94a3b8;
  font-size: 0.8rem;
  font-weight: 600;
}

.gp-about-awards__org {
  margin: 0;
  min-inline-size: 0;
  color: #64748b;
  font-size: 0.78rem;
  line-height: 1.5;
  overflow-wrap: break-word;
}

.gp-about-awards__nav {
  inline-size: 2.55rem;
  block-size: 2.55rem;
  display: grid;
  place-items: center;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  background: #eff6ff;
  color: #1e3a8a;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.08);
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.gp-about-awards__nav .gp-ico {
  inline-size: 1rem;
  block-size: 1rem;
}

.gp-about-awards__nav:hover:not(:disabled) {
  background: #dbeafe;
  border-color: #93c5fd;
  transform: translateY(-1px);
}

.gp-about-awards__nav:disabled {
  opacity: 0.35;
  cursor: default;
}

.gp-about-awards__dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.45rem;
  margin-block-start: 1rem;
}

.gp-about-awards__dot {
  inline-size: 0.5rem;
  block-size: 0.5rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #bfdbfe;
  cursor: pointer;
  transition: inline-size 280ms ease, background-color 280ms ease;
}

.gp-about-awards__dot.gp-is-active {
  inline-size: 1.35rem;
  background: #2563eb;
}

@media (hover: hover) and (pointer: fine) {
  .gp-about-awards__card.is-active:hover {
    transform: translateY(-6px) scale(1.01);
    box-shadow: 0 18px 40px rgba(37, 99, 235, 0.14);
  }

  .gp-about-awards__card.is-active:hover .gp-about-awards__media img {
    transform: scale(1.06);
  }
}

@media (max-width: 1023px) {
  .gp-section.gp-about-awards {
    padding-block: 1.75rem 2rem;
  }

  .gp-about-awards__hex--1,
  .gp-about-awards__hex--2 {
    opacity: 0.12;
  }

  .gp-about-awards__head {
    margin-block-end: 0.35rem;
  }

  .gp-about-awards__head .gp-section__title {
    font-size: clamp(1.35rem, 3.4vw, 1.85rem);
  }

  .gp-about-awards__head .gp-section__lead {
    font-size: 0.9rem;
    line-height: 1.75;
  }

  .gp-about-awards__slider {
    gap: 0.5rem;
    margin-block-start: 1.1rem;
  }

  .gp-about-awards__card {
    flex-basis: 100%;
  }

  .gp-about-awards__nav {
    inline-size: 2.4rem;
    block-size: 2.4rem;
  }
}

/* Vision CTA */
.gp-about-vision {
  position: relative;
  margin-block-start: -1px;
  padding-block: clamp(1.25rem, 3vw, 2rem) clamp(2rem, 5vw, 3.25rem);
  background: linear-gradient(
    180deg,
    var(--gp-seam) 0%,
    #f7fbff 40%,
    #ffffff 100%
  );
}

.gp-about-vision::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  z-index: 0;
  height: 4.5rem;
  pointer-events: none;
  background: linear-gradient(to bottom, var(--gp-seam) 0%, transparent 100%);
}

.gp-about-vision > .gp-container {
  position: relative;
  z-index: 1;
}

.gp-about-vision__banner {
  position: relative;
  overflow: hidden;
  border-radius: clamp(1.25rem, 3vw, 2rem);
  min-block-size: 15rem;
  display: grid;
  align-items: center;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  background: linear-gradient(115deg, #1d4ed8 0%, #2563eb 45%, #3b82f6 100%);
  box-shadow: 0 20px 48px rgba(37, 99, 235, 0.28);
}

.gp-about-vision__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 12% 80%, rgba(255, 255, 255, 0.18), transparent 42%),
    radial-gradient(ellipse at 90% 20%, rgba(191, 219, 254, 0.35), transparent 40%);
  pointer-events: none;
}

.gp-about-vision__photo {
  position: absolute;
  inset-inline-start: 0.5rem;
  inset-block-end: 0;
  inline-size: clamp(8rem, 22vw, 13rem);
  block-size: auto;
  object-fit: contain;
  filter: drop-shadow(0 16px 28px rgba(0, 0, 0, 0.22));
  z-index: 1;
  pointer-events: none;
}

.gp-about-vision__content {
  position: relative;
  z-index: 2;
  margin-inline-start: clamp(0rem, 20vw, 13rem);
  max-inline-size: 34rem;
  color: #fff;
}

.gp-about-vision__title {
  margin: 0 0 0.65rem;
  font-size: clamp(1.25rem, 2.5vw, 1.7rem);
  font-weight: 800;
  line-height: 1.45;
}

.gp-about-vision__text {
  margin: 0 0 1.2rem;
  color: rgba(239, 246, 255, 0.95);
  font-size: 0.94rem;
  line-height: 1.8;
}

.gp-about-vision__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.gp-about-vision__btn-solid {
  background: #fff !important;
  color: #1d4ed8 !important;
  border-color: #fff !important;
}

.gp-about-vision__btn-solid:hover {
  background: #eff6ff !important;
}

.gp-about-vision__btn-outline {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
}

.gp-about-vision__btn-outline:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: #fff !important;
}


/* Reveal */
.gp-reveal {
  opacity: 0;
  transform: translateY(1.1rem);
  transition: opacity 560ms ease, transform 560ms ease;
}

.gp-reveal.gp-is-visible {
  opacity: 1;
  transform: none;
}

.gp-reveal--hero {
  transition-delay: 80ms;
}

/* Responsive — desktop-first; ≥1280px uses base styles unchanged */

/* Small laptop / tablet chrome: hamburger + professional RTL side nav */
@media (max-width: 1279px) {
  .gp-header {
    z-index: 200;
  }

  .gp-header__inner {
    gap: 0.65rem;
    padding-inline: 0.85rem;
  }

  .gp-header__bar-cta {
    display: inline-flex;
    margin-inline-start: auto;
    min-height: 2.5rem;
    padding-inline: 0.9rem;
    font-size: 0.82rem;
  }

  .gp-nav-toggle {
    display: inline-flex;
    order: 0;
  }

  .gp-logo {
    order: 1;
  }

  .gp-header__bar-cta {
    order: 2;
  }

  .gp-nav--desktop {
    order: 3;
  }

  .gp-body.gp-is-nav-open .gp-nav-toggle {
    position: relative;
    z-index: 260;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
    color: var(--gp-primary);
  }

  /* Hide desktop horizontal nav — side nav takes over */
  .gp-nav--desktop {
    display: none !important;
  }

  /* Scrim */
  .gp-nav-backdrop:not([hidden]) {
    display: block;
  }

  .gp-nav-backdrop {
    position: fixed;
    inset: 0;
    z-index: 240;
    margin: 0;
    border: 0;
    padding: 0;
    background:
      radial-gradient(90% 70% at 100% 10%, rgba(37, 99, 235, 0.42) 0%, transparent 58%),
      radial-gradient(70% 50% at 0% 100%, rgba(14, 65, 160, 0.28) 0%, transparent 55%),
      rgba(7, 22, 48, 0.58);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 300ms ease;
  }

  .gp-body.gp-is-nav-open .gp-nav-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  /* Side panel */
  .gp-sidenav:not([hidden]) {
    display: flex;
  }

  .gp-sidenav {
    --gp-sidenav-ease: cubic-bezier(0.22, 1, 0.36, 1);
    position: fixed;
    inset-block: 0.55rem;
    inset-inline-start: 0.55rem;
    inset-inline-end: auto;
    z-index: 250;
    width: min(21rem, calc(100vw - 1.1rem));
    max-width: 100%;
    margin: 0;
    padding: 0;
    flex-direction: column;
    align-items: stretch;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    color: #0f172a;
    border-radius: 1.55rem;
    background:
      linear-gradient(165deg, #ffffff 0%, #f4f8ff 42%, #eef5ff 100%);
    border: 1px solid rgba(191, 219, 254, 0.85);
    box-shadow:
      0 28px 70px rgba(15, 23, 42, 0.28),
      0 0 0 1px rgba(255, 255, 255, 0.55) inset;
    transform: translate3d(110%, 0, 0) scale(0.98);
    opacity: 0;
    pointer-events: none;
    transition:
      transform 380ms var(--gp-sidenav-ease),
      opacity 260ms ease;
    will-change: transform, opacity;
  }

  .gp-body.gp-is-nav-open .gp-sidenav {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
    pointer-events: auto;
  }

  .gp-sidenav__glow {
    position: absolute;
    inset-inline-start: -35%;
    inset-block-start: -12%;
    width: 90%;
    height: 46%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(96, 165, 250, 0.42) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
  }

  .gp-sidenav__glow--b {
    inset-inline-start: auto;
    inset-inline-end: -40%;
    inset-block-start: auto;
    inset-block-end: 8%;
    width: 70%;
    height: 36%;
    background: radial-gradient(circle, rgba(37, 99, 235, 0.22) 0%, transparent 72%);
  }

  .gp-sidenav__pattern {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.5;
    background-image:
      linear-gradient(rgba(37, 99, 235, 0.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(37, 99, 235, 0.05) 1px, transparent 1px);
    background-size: 22px 22px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, transparent 72%);
    -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, transparent 72%);
  }

  .gp-sidenav__seam {
    position: absolute;
    inset-block: 12%;
    inset-inline-end: 0;
    width: 3px;
    border-radius: 999px 0 0 999px;
    background: linear-gradient(180deg, transparent, #60a5fa 20%, #2563eb 50%, #93c5fd 80%, transparent);
    opacity: 0.85;
    pointer-events: none;
    z-index: 2;
  }

  .gp-sidenav__head,
  .gp-sidenav__nav,
  .gp-sidenav__quick,
  .gp-sidenav__footer {
    position: relative;
    z-index: 1;
  }

  .gp-sidenav__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1rem 0.9rem;
    border-block-end: 1px solid rgba(191, 219, 254, 0.65);
    background:
      linear-gradient(135deg, rgba(37, 99, 235, 0.1) 0%, rgba(255, 255, 255, 0.55) 55%, rgba(239, 246, 255, 0.35) 100%);
  }

  .gp-sidenav__brand {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    line-height: 0;
    text-decoration: none;
  }

  .gp-sidenav__brand .gp-logo__img {
    display: block;
    height: 2.15rem;
    width: auto;
    max-width: 10rem;
  }

  .gp-sidenav__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.7rem;
    height: 2.7rem;
    border: 1px solid #dbeafe;
    border-radius: 0.9rem;
    background: #fff;
    color: #0b2a5b;
    cursor: pointer;
    flex-shrink: 0;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.1);
    transition: background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease, color 160ms ease;
  }

  .gp-sidenav__close:hover,
  .gp-sidenav__close:focus-visible {
    background: #eff6ff;
    color: var(--gp-primary);
    outline: none;
    transform: rotate(90deg);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
  }

  .gp-sidenav__close-ico {
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gp-sidenav__nav {
    flex: 1 1 auto;
    padding: 0.85rem 0.85rem 0.35rem;
  }

  .gp-sidenav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
  }

  .gp-sidenav__link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-height: 3.05rem;
    padding: 0.55rem 0.7rem;
    border-radius: 1rem;
    color: #1e293b;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.03);
    opacity: 1;
    transform: none;
    transition:
      background-color 180ms ease,
      color 180ms ease,
      transform 180ms ease,
      box-shadow 180ms ease,
      border-color 180ms ease;
  }

  .gp-body.gp-is-nav-open .gp-sidenav__link {
    animation: gp-sidenav-item-in 420ms var(--gp-sidenav-ease) both;
  }

  .gp-sidenav__list li:nth-child(1) .gp-sidenav__link { animation-delay: 60ms; }
  .gp-sidenav__list li:nth-child(2) .gp-sidenav__link { animation-delay: 95ms; }
  .gp-sidenav__list li:nth-child(3) .gp-sidenav__link { animation-delay: 130ms; }
  .gp-sidenav__list li:nth-child(4) .gp-sidenav__link { animation-delay: 165ms; }
  .gp-sidenav__list li:nth-child(5) .gp-sidenav__link { animation-delay: 200ms; }
  .gp-sidenav__list li:nth-child(6) .gp-sidenav__link { animation-delay: 235ms; }
  .gp-sidenav__list li:nth-child(7) .gp-sidenav__link { animation-delay: 270ms; }

  .gp-sidenav__ico {
    flex-shrink: 0;
    width: 2.2rem;
    height: 2.2rem;
    display: grid;
    place-items: center;
    border-radius: 0.75rem;
    background: linear-gradient(160deg, #eff6ff, #dbeafe);
    color: #2563eb;
    box-shadow: inset 0 0 0 1px rgba(147, 197, 253, 0.55);
  }

  .gp-sidenav__ico .gp-ico {
    width: 1.05rem;
    height: 1.05rem;
  }

  .gp-sidenav__link:hover .gp-sidenav__ico .gp-ico,
  .gp-sidenav__link:focus-visible .gp-sidenav__ico .gp-ico,
  .gp-sidenav__link.gp-is-active .gp-sidenav__ico .gp-ico {
    filter: brightness(0) invert(1);
  }

  .gp-sidenav__label {
    flex: 1 1 auto;
    min-width: 0;
  }

  .gp-sidenav__chev {
    flex-shrink: 0;
    width: 0.55rem;
    height: 0.55rem;
    border-inline-start: 2px solid #94a3b8;
    border-block-end: 2px solid #94a3b8;
    transform: rotate(45deg);
    opacity: 0.7;
    transition: transform 180ms ease, border-color 180ms ease, opacity 180ms ease;
  }

  .gp-sidenav__link:hover,
  .gp-sidenav__link:focus-visible {
    color: #0b2a5b;
    background: #fff;
    border-color: #93c5fd;
    outline: none;
    transform: translate3d(-2px, 0, 0);
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.12);
  }

  .gp-sidenav__link:hover .gp-sidenav__ico,
  .gp-sidenav__link:focus-visible .gp-sidenav__ico {
    background: linear-gradient(160deg, #2563eb, #1d4ed8);
    color: #fff;
    box-shadow: 0 8px 16px rgba(37, 99, 235, 0.28);
  }

  .gp-sidenav__link:hover .gp-sidenav__chev,
  .gp-sidenav__link:focus-visible .gp-sidenav__chev {
    border-color: #2563eb;
    opacity: 1;
    transform: rotate(45deg) translate(-1px, 1px);
  }

  .gp-sidenav__link.gp-is-active {
    color: #0b2a5b;
    background: linear-gradient(100deg, rgba(37, 99, 235, 0.14), rgba(255, 255, 255, 0.95));
    border-color: #93c5fd;
    box-shadow:
      inset 3px 0 0 #2563eb,
      0 10px 22px rgba(37, 99, 235, 0.1);
  }

  .gp-sidenav__link.gp-is-active .gp-sidenav__ico {
    background: linear-gradient(160deg, #2563eb, #1d4ed8);
    color: #fff;
  }

  .gp-sidenav__link.gp-is-active .gp-sidenav__chev {
    border-color: #2563eb;
    opacity: 1;
  }

  .gp-sidenav__quick {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
    padding: 0.45rem 0.85rem 0.75rem;
  }

  .gp-sidenav__quick-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.35rem;
    padding: 0.35rem 0.45rem;
    border-radius: 0.8rem;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #dbeafe;
    color: #1e40af;
    text-decoration: none;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background-color 160ms ease, transform 160ms ease, border-color 160ms ease;
  }

  .gp-sidenav__quick-item .gp-ico {
    width: 0.9rem;
    height: 0.9rem;
    flex-shrink: 0;
    color: #2563eb;
    fill: currentColor;
  }

  .gp-sidenav__quick-item:hover,
  .gp-sidenav__quick-item:focus-visible {
    background: #eff6ff;
    border-color: #93c5fd;
    outline: none;
    transform: translateY(-1px);
  }

  .gp-sidenav__footer {
    margin-block-start: auto;
    padding: 0.9rem 1rem 1.1rem;
    border-block-start: 1px solid rgba(191, 219, 254, 0.75);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(219, 234, 254, 0.55));
  }

  .gp-sidenav__tagline {
    margin: 0 0 0.75rem;
    color: #475569;
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
  }

  .gp-sidenav__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .gp-sidenav__actions .gp-btn {
    width: 100%;
    justify-content: center;
    min-height: 2.85rem;
    border-radius: 0.9rem;
  }

  .gp-sidenav__social {
    display: flex;
    justify-content: center;
    gap: 0.45rem;
    margin-block-start: 0.85rem;
  }

  .gp-sidenav__social .gp-social {
    width: 2.25rem;
    height: 2.25rem;
    background: #fff;
  }

  @keyframes gp-sidenav-item-in {
    from {
      opacity: 0;
      transform: translate3d(14px, 8px, 0);
    }
    to {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
  }

  .gp-download__grid {
    grid-template-columns: 1fr 1fr;
    direction: rtl;
    gap: 0.85rem;
  }

  .gp-download__card--primary {
    grid-column: 1 / -1;
    padding: 2rem 1.25rem 1.5rem;
  }

  /* Hero: متن کامل زیر عکس (بدون اورلی) */
  .gp-hero__panel {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    overflow: hidden;
  }

  .gp-hero__visual {
    order: 0;
    width: 100%;
    flex-shrink: 0;
  }

  .gp-hero__photo {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
  }

  .gp-hero__content {
    position: relative;
    inset: auto;
    z-index: 1;
    order: 1;
    transform: none;
    max-inline-size: none;
    width: 100%;
    margin: 0;
    padding: 1.35rem 1.35rem 1.6rem;
    background: linear-gradient(180deg, #f4f8ff 0%, #ffffff 55%);
    text-align: center;
  }

  .gp-hero__brand {
    justify-content: center;
    width: 100%;
    margin-block-end: 0.75rem;
  }

  .gp-hero__title {
    font-size: clamp(1.35rem, 2.8vw, 1.75rem);
  }

  .gp-hero__title-line {
    white-space: normal;
  }

  .gp-hero__lead {
    margin-inline: auto;
    max-inline-size: 36rem;
  }

  .gp-hero__lead br {
    display: none;
  }

  .gp-hero__actions {
    justify-content: center;
  }

  /* About hero: متن کامل زیر عکس، مثل صفحه اصلی */
  .gp-about-hero.gp-section {
    padding-block: 0 0.75rem;
  }

  .gp-about-hero__panel {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    overflow: hidden;
  }

  .gp-about-hero__visual {
    order: 0;
    width: 100%;
    flex-shrink: 0;
  }

  .gp-about-hero__banner {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center center;
  }

  .gp-about-hero__content {
    position: relative;
    inset: auto;
    z-index: 1;
    order: 1;
    transform: none;
    max-inline-size: none;
    width: 100%;
    margin: 0;
    padding: 1.35rem 1.35rem 1.6rem;
    background: linear-gradient(180deg, #f4f8ff 0%, #ffffff 55%);
    text-align: center;
  }

  .gp-about-hero__content .gp-breadcrumb {
    margin-inline: auto;
  }

  .gp-about-hero__title {
    font-size: clamp(1.35rem, 2.8vw, 1.75rem);
  }

  .gp-about-hero__subtitle,
  .gp-about-hero__text {
    margin-inline: auto;
  }

  .gp-about-hero__text {
    max-inline-size: 36rem;
  }

  .gp-about-hero__brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0 0 0.75rem;
    line-height: 0;
  }

  .gp-about-hero__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.7rem;
    margin-block-start: 1.35rem;
  }

  .gp-about-hero__actions .gp-btn {
    min-height: 2.65rem;
    padding: 0.6rem 1.25rem;
    font-size: 0.9rem;
    border-radius: 11px;
  }

  .gp-section {
    padding-block: clamp(2.5rem, 5vw, 3.75rem);
  }

  .gp-about-intro__grid {
    column-gap: clamp(1.25rem, 3vw, 2rem);
  }

  .gp-about-intro__stat {
    padding: 0.85rem 0.4rem 0.9rem;
  }

  .gp-about-intro__stat-num {
    font-size: 1.05rem;
  }

  .gp-about-intro__stat-label {
    font-size: 0.72rem;
  }
}

@media (max-width: 1279px) and (prefers-reduced-motion: reduce) {
  .gp-nav-backdrop,
  .gp-sidenav,
  .gp-sidenav__link,
  .gp-sidenav__close {
    transition: none !important;
    animation: none !important;
  }

  .gp-sidenav__link {
    opacity: 1;
    transform: none;
  }

  .gp-body.gp-is-nav-open .gp-sidenav__link {
    animation: none !important;
  }
}

/* Tablet: hero stack + most multi-column collapses */
@media (max-width: 1023px) {
  .gp-container {
    width: min(100% - 2.5rem, var(--gp-container));
  }

  .gp-hero__panel {
    border-radius: clamp(1.25rem, 2.5vw, 2rem);
  }

  .gp-hero__content {
    padding: 1.25rem 1.25rem 1.5rem;
  }

  .gp-hero__title {
    font-size: clamp(1.4rem, 3.2vw, 1.8rem);
  }

  .gp-hero__lead {
    font-size: clamp(0.92rem, 1.8vw, 1.02rem);
  }

  .gp-about-hero__panel {
    border-radius: clamp(1.25rem, 2.5vw, 2rem);
  }

  .gp-about-hero__content {
    max-inline-size: none;
    padding: 1.25rem 1.25rem 1.5rem;
  }

  .gp-about-hero__title {
    font-size: clamp(1.4rem, 3.2vw, 1.8rem);
  }

  .gp-about-hero__text {
    font-size: clamp(0.92rem, 1.8vw, 1.02rem);
  }

  .gp-quick__list,
  .gp-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gp-quick__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.7rem;
    height: 100%;
    padding: 1.05rem 1rem 1.1rem;
    border-radius: 1.15rem;
  }

  .gp-quick .gp-icon {
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 0.85rem;
  }

  .gp-why__mannequin {
    width: min(12rem, 24vw);
    opacity: 0.35;
  }

  .gp-showcase__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gp-showcase__card:last-child {
    grid-column: 1 / -1;
    max-inline-size: 22rem;
    margin-inline: auto;
    width: 100%;
  }

  .gp-showcase__deco {
    opacity: 0.35;
    width: min(9rem, 14vw);
  }

  .gp-features__tabs {
    border-radius: 1.25rem;
    max-inline-size: none;
  }

  .gp-features__stage {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .gp-features__visual {
    order: -1;
    min-height: 18rem;
  }

  .gp-features__shot {
    max-width: 42rem;
  }

  .gp-features__visual {
    min-height: 20rem;
  }

  .gp-features__float--tools {
    width: min(9rem, 38%);
    top: 2%;
    right: 0;
  }

  .gp-features__float--blouse {
    width: min(8.5rem, 38%);
  }

  .gp-features__float--hex {
    width: min(4.25rem, 16%);
  }

  .gp-features__panels {
    min-height: 0;
  }

  .gp-download__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    direction: rtl;
  }

  .gp-download__card--primary {
    grid-column: 1 / -1;
    padding-block: 2.1rem 1.6rem;
  }

  .gp-download__card--primary .gp-download__name {
    font-size: 1.2rem;
  }

  .gp-process {
    --gp-process-ico: 4.25rem;
    --gp-process-wave: 0px;
    background: #fff;
  }

  .gp-process__backdrop,
  .gp-process__curve {
    display: none;
  }

  .gp-process__track {
    margin-block-start: 0.35rem;
  }

  .gp-process__list {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-inline-size: 32rem;
    margin-inline: auto;
    width: 100%;
    direction: rtl;
  }

  .gp-process__step:nth-child(odd),
  .gp-process__step:nth-child(even) {
    display: grid;
    align-items: start;
    width: 100%;
    gap: 0.15rem 0.85rem;
    padding: 0 0 1.85rem;
    text-align: start;
  }

  .gp-process__step:last-child {
    padding-bottom: 0;
  }

  .gp-process__step:nth-child(odd) {
    grid-template-columns: var(--gp-process-ico) minmax(0, 1fr);
  }

  .gp-process__step:nth-child(even) {
    grid-template-columns: minmax(0, 1fr) var(--gp-process-ico);
  }

  .gp-process__step:nth-child(odd) .gp-process__node {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .gp-process__step:nth-child(even) .gp-process__node {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .gp-process__step:not(:last-child)::after {
    display: none;
  }

  .gp-process__step:nth-child(odd):not(:last-child)::before,
  .gp-process__step:nth-child(even):not(:last-child)::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    width: calc(100% - var(--gp-process-ico));
    height: auto;
    margin: 0;
    background: none;
    border: 0;
    box-shadow: none;
    transform: none;
    pointer-events: none;
    inset-block-start: calc(var(--gp-process-ico) - 2px);
    inset-block-end: 0;
  }

  .gp-process__step:nth-child(odd):not(:last-child)::before {
    inset-inline-start: calc(var(--gp-process-ico) / 2);
    inset-inline-end: auto;
    border-inline-start: 2px dashed #7cbcff;
    border-block-end: 2px dashed #7cbcff;
    border-end-start-radius: 1.5rem;
  }

  .gp-process__step:nth-child(even):not(:last-child)::before {
    inset-inline-start: auto;
    inset-inline-end: calc(var(--gp-process-ico) / 2);
    border-inline-end: 2px dashed #7cbcff;
    border-block-end: 2px dashed #7cbcff;
    border-end-end-radius: 1.5rem;
  }

  .gp-process__node {
    z-index: 2;
  }

  .gp-process__label {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    max-width: 14rem;
    font-size: 1rem;
    background: none;
    border-radius: 0;
  }

  .gp-process__step:nth-child(odd) .gp-process__label {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
    align-items: flex-start;
    text-align: start;
    padding-block-start: 0.45rem;
  }

  .gp-process__step:nth-child(even) .gp-process__label {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    align-items: flex-end;
    text-align: end;
    padding-block-start: 0.45rem;
  }

  .gp-process__desc {
    display: block;
    font-size: 0.82rem;
    font-weight: 500;
    color: #64748b;
    line-height: 1.55;
  }

  .gp-testimonials__track .gp-testimonial {
    flex-basis: calc((100% - var(--gp-t-gap)) / 2);
  }

  .gp-faq__layout {
    grid-template-columns: 1fr;
  }

  .gp-faq__media {
    order: -1;
    max-inline-size: 26rem;
    margin-inline: auto;
    width: 100%;
    padding-block-end: 2.5rem;
  }

  .gp-faq__visual {
    height: auto !important;
    aspect-ratio: 4 / 5;
  }

  .gp-faq__card {
    inset-block-end: -1.25rem;
  }

  .gp-faq__head .gp-section__title,
  .gp-faq__head .gp-section__lead {
    text-align: center;
  }

  .gp-resources__shell {
    grid-template-columns: 1fr;
    border-radius: 1.15rem;
  }

  .gp-resources__panel {
    padding: 1.05rem 1rem 1.15rem;
  }

  .gp-resources__panel--patterns {
    border-inline-end: none;
    border-block-end: 1px solid #eef3f9;
  }

  .gp-resources__head {
    margin-block-end: 0.75rem;
    gap: 0.5rem;
  }

  .gp-resources__head h3 {
    font-size: 0.95rem;
  }

  .gp-tabs__panel,
  .gp-resources__videos {
    display: flex;
    grid-template-columns: none;
    gap: 0.7rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0.15rem;
    padding-block-end: 0.35rem;
    margin-inline: -0.15rem;
    padding-inline: 0.15rem;
    scrollbar-width: none;
  }

  .gp-tabs__panel::-webkit-scrollbar,
  .gp-resources__videos::-webkit-scrollbar {
    display: none;
  }

  .gp-pattern {
    flex: 0 0 min(38%, 8.25rem);
    scroll-snap-align: start;
    font-size: 0.78rem;
  }

  .gp-pattern__thumb {
    padding: 0.4rem;
    border-radius: 0.85rem;
    margin-block-end: 0.4rem;
    background: linear-gradient(180deg, #f7f9fc 0%, #eef3f9 100%);
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.07);
  }

  .gp-video-card {
    flex: 0 0 min(72%, 15.5rem);
    scroll-snap-align: center;
  }

  .gp-video-thumb {
    aspect-ratio: 16 / 10;
    border-radius: 0.9rem;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.14);
  }

  .gp-video-card h4 {
    margin-block-start: 0.5rem;
    font-size: 0.8rem;
  }

  .gp-video-thumb__play {
    width: 2.15rem;
    height: 2.15rem;
  }

  .gp-tabs__list {
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 0.3rem;
    margin-block-end: 0.75rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .gp-tabs__list::-webkit-scrollbar {
    display: none;
  }

  .gp-tabs__btn {
    flex: 0 0 auto;
    padding: 0.32rem 0.72rem;
    font-size: 0.76rem;
  }

  .gp-footer {
    padding-block: 1.35rem 0;
  }

  .gp-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
  }

  .gp-footer__col--news,
  .gp-footer__col--contact,
  .gp-footer__col--nav,
  .gp-footer__col--brand {
    border-inline-end: none;
    padding: 1.05rem 1rem 1.15rem;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(191, 219, 254, 0.8);
    border-radius: 1.15rem;
    box-shadow: 0 12px 28px rgba(37, 99, 235, 0.06);
  }

  .gp-footer__about {
    max-inline-size: none;
  }

  .gp-section__title {
    font-size: clamp(1.4rem, 3.2vw, 1.85rem);
  }

  .gp-about-intro .gp-why__decor {
    display: none;
  }

  .gp-section.gp-about-intro {
    padding-block: 1.75rem 2rem;
  }

  .gp-about-intro::before {
    height: 2.75rem;
  }

  .gp-about-intro::after {
    height: 4rem;
  }

  .gp-about-intro__grid {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 1.35rem;
  }

  .gp-about-intro__visual {
    order: -1;
    max-width: min(100%, 26rem);
    min-block-size: 0;
    margin-inline: auto;
  }

  .gp-about-intro__copy {
    max-inline-size: 40rem;
    margin-inline: auto;
  }

  .gp-about-intro__title {
    font-size: clamp(1.35rem, 3.6vw, 1.8rem);
  }

  .gp-about-intro__text {
    font-size: 0.92rem;
    line-height: 1.85;
    margin-block-end: 1.2rem;
  }

  .gp-about-solutions__list,
  .gp-about-fields__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gp-section.gp-about-fields {
    padding-block: 1.35rem 1.5rem;
  }

  .gp-about-fields__head {
    margin-block-end: 1.15rem;
  }

  .gp-about-fields__head .gp-section__title {
    font-size: clamp(1.4rem, 3.4vw, 1.85rem);
  }

  .gp-about-fields__head .gp-section__lead {
    font-size: 0.9rem;
    line-height: 1.75;
  }

  .gp-about-fields__grid {
    gap: 0.85rem;
    margin-block-start: 0.75rem;
    padding: 0.35rem 0 1.15rem;
    perspective: none;
  }

  .gp-about-fields__name {
    padding: 0.85rem 0.7rem 1rem;
    font-size: 0.86rem;
  }

  .gp-about-fields__card.is-active {
    transform: translate3d(0, -6px, 0);
    animation: none;
  }

  .gp-about-fields__card.is-popped {
    transform: translate3d(0, -4px, 0);
    overflow: hidden;
    isolation: isolate;
  }

  .gp-about-fields__card.is-popped .gp-about-fields__media,
  .gp-about-fields__card.is-popped .gp-about-fields__media img,
  .gp-about-fields__card.is-active:not(.is-popped) .gp-about-fields__media img {
    overflow: hidden;
    animation: none;
    transform: none;
    filter: none;
  }

  .gp-about-fields__grid.is-focusing .gp-about-fields__card.gp-is-visible:not(.is-active),
  .gp-about-fields__grid.has-popped .gp-about-fields__card.gp-is-visible:not(.is-popped) {
    transform: none;
    filter: none;
  }

  .gp-about-intro__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gp-section.gp-about-story {
    background: #fff;
    background-image: none;
  }

  .gp-about-story::before,
  .gp-about-story::after,
  .gp-about-story__curve {
    display: none !important;
  }

  .gp-about-story__board {
    --gp-story-node: 4.25rem;
    --gp-story-wave: 0px;
    min-block-size: 0;
    margin-block-start: 0.5rem;
    padding-block: 0;
  }

  .gp-about-story__track {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-inline-size: 32rem;
    margin-inline: auto;
    width: 100%;
    direction: rtl;
  }

  .gp-about-story__step,
  .gp-about-story__step--down,
  .gp-about-story__step--up {
    --story-y: 0px;
    position: relative;
    display: grid;
    align-items: start;
    justify-items: stretch;
    width: 100%;
    gap: 0.15rem 0.85rem;
    padding: 0 0 1.85rem;
    transform: none;
  }

  .gp-about-story__step:last-child {
    padding-bottom: 0;
  }

  .gp-about-story__step:nth-child(odd) {
    grid-template-columns: var(--gp-story-node) minmax(0, 1fr);
  }

  .gp-about-story__step:nth-child(even) {
    grid-template-columns: minmax(0, 1fr) var(--gp-story-node);
  }

  .gp-about-story__step:nth-child(odd) .gp-about-story__node {
    grid-column: 1;
    grid-row: 1 / span 3;
    justify-self: start;
  }

  .gp-about-story__step:nth-child(even) .gp-about-story__node {
    grid-column: 2;
    grid-row: 1 / span 3;
    justify-self: end;
  }

  .gp-about-story__node {
    z-index: 2;
    margin-block-end: 0;
  }

  .gp-about-story__year,
  .gp-about-story__name,
  .gp-about-story__text {
    position: relative;
    z-index: 2;
    max-inline-size: 16rem;
  }

  .gp-about-story__step:nth-child(odd) .gp-about-story__year,
  .gp-about-story__step:nth-child(odd) .gp-about-story__name,
  .gp-about-story__step:nth-child(odd) .gp-about-story__text {
    grid-column: 2;
    justify-self: start;
    text-align: start;
  }

  .gp-about-story__step:nth-child(even) .gp-about-story__year,
  .gp-about-story__step:nth-child(even) .gp-about-story__name,
  .gp-about-story__step:nth-child(even) .gp-about-story__text {
    grid-column: 1;
    justify-self: end;
    text-align: end;
  }

  .gp-about-story__step:nth-child(odd) .gp-about-story__year,
  .gp-about-story__step:nth-child(even) .gp-about-story__year {
    grid-row: 1;
    padding-block-start: 0.35rem;
  }

  .gp-about-story__step:nth-child(odd) .gp-about-story__name,
  .gp-about-story__step:nth-child(even) .gp-about-story__name {
    grid-row: 2;
  }

  .gp-about-story__step:nth-child(odd) .gp-about-story__text,
  .gp-about-story__step:nth-child(even) .gp-about-story__text {
    grid-row: 3;
  }

  .gp-about-story__step:nth-child(odd):not(:last-child)::before,
  .gp-about-story__step:nth-child(even):not(:last-child)::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    width: calc(100% - var(--gp-story-node));
    pointer-events: none;
    inset-block-start: calc(var(--gp-story-node) - 2px);
    inset-block-end: 0;
    background: none;
    border: 0;
    box-shadow: none;
  }

  .gp-about-story__step:nth-child(odd):not(:last-child)::before {
    inset-inline-start: calc(var(--gp-story-node) / 2);
    inset-inline-end: auto;
    border-inline-start: 2px dashed #7cbcff;
    border-block-end: 2px dashed #7cbcff;
    border-end-start-radius: 1.5rem;
  }

  .gp-about-story__step:nth-child(even):not(:last-child)::before {
    inset-inline-start: auto;
    inset-inline-end: calc(var(--gp-story-node) / 2);
    border-inline-end: 2px dashed #7cbcff;
    border-block-end: 2px dashed #7cbcff;
    border-end-end-radius: 1.5rem;
  }

  .gp-section.gp-about-team {
    padding-block: 1.75rem 2rem;
  }

  .gp-about-team .gp-section__head {
    margin-block-end: 1.15rem;
  }

  .gp-about-team .gp-section__title {
    font-size: clamp(1.35rem, 3.4vw, 1.85rem);
    max-inline-size: 22rem;
    margin-inline: auto;
  }

  .gp-about-team__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.95rem;
    margin-block-start: 0.35rem;
    align-items: stretch;
  }

  .gp-about-team__card--lead {
    order: -1;
    grid-column: 1 / -1;
    max-inline-size: 26rem;
    margin-inline: auto;
    width: 100%;
  }

  .gp-about-team__card--lead.gp-reveal.gp-is-visible {
    transform: none;
  }

  .gp-about-team__card {
    padding: 1.05rem 1rem 1.2rem;
    border-radius: 1.15rem;
  }

  .gp-about-team__photo-wrap {
    min-block-size: 11.5rem;
    margin-block-end: 0.7rem;
  }

  .gp-about-team__portrait {
    inline-size: min(100%, 12.5rem);
  }

  .gp-about-team__card--lead .gp-about-team__photo-wrap {
    min-block-size: 13rem;
  }

  .gp-about-team__card--lead .gp-about-team__portrait {
    inline-size: min(100%, 14rem);
  }

  .gp-about-team__name {
    font-size: 0.98rem;
  }

  .gp-about-team__role {
    font-size: 0.8rem;
  }

  .gp-about-team__bio {
    font-size: 0.8rem;
    line-height: 1.65;
  }

  .gp-about-team__grid.is-focusing .gp-about-team__card.gp-reveal.gp-is-visible:not(.is-active),
  .gp-about-team__card.gp-reveal.gp-is-visible.is-active {
    transform: none;
    filter: none;
    opacity: 1;
  }

  .gp-about-vision__photo {
    opacity: 0.4;
    inline-size: 7rem;
  }

  .gp-about-vision__content {
    margin-inline-start: 0;
  }
}

/* Mobile */
@media (max-width: 767px) {
  :root {
    --gp-header-h: 64px;
  }

  .gp-compare__head {
    margin-block-end: 1rem;
  }

  .gp-compare__toggle {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0.35rem;
    width: min(100%, 20rem);
    margin: 0 auto 0.95rem;
    padding: 0.3rem;
    border-radius: 999px;
    background: #eef2f7;
    border: 1px solid #e2e8f0;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
  }

  .gp-compare__toggle-btn {
    appearance: none;
    border: 0;
    background: transparent;
    color: #64748b;
    border-radius: 999px;
    min-height: 2.3rem;
    padding: 0.45rem 0.75rem;
    font: inherit;
    font-size: 0.84rem;
    font-weight: 700;
    cursor: pointer;
    transition:
      background-color 220ms ease,
      color 220ms ease,
      box-shadow 220ms ease,
      transform 220ms ease;
  }

  .gp-compare__toggle-btn.gp-is-active[data-compare-side="digital"] {
    color: #fff;
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.28);
  }

  .gp-compare__toggle-btn.gp-is-active[data-compare-side="traditional"] {
    color: #fff;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    box-shadow: 0 8px 18px rgba(220, 38, 38, 0.24);
  }

  .gp-compare__toggle-vs {
    display: grid;
    place-items: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
    background: #fff;
    color: #0f172a;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.12);
  }

  .gp-compare__shell {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    direction: rtl;
  }

  .gp-compare__vs {
    display: none;
  }

  .gp-compare__card,
  .gp-compare__card--traditional {
    grid-area: 1 / 1;
    grid-template-columns: 1fr;
    padding-inline: 0;
    border-radius: 1.15rem;
    transition:
      opacity 320ms ease,
      transform 320ms cubic-bezier(0.22, 1, 0.36, 1),
      filter 320ms ease,
      box-shadow 320ms ease;
  }

  .gp-compare__card--traditional .gp-compare__media {
    order: -1;
  }

  .gp-compare__shell[data-active="digital"] .gp-compare__card--digital,
  .gp-compare__shell[data-active="traditional"] .gp-compare__card--traditional {
    position: relative;
    z-index: 2;
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    filter: none;
    pointer-events: auto;
  }

  .gp-compare__shell[data-active="digital"] .gp-compare__card--traditional,
  .gp-compare__shell[data-active="traditional"] .gp-compare__card--digital {
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    transform: translateY(0.85rem) scale(0.96);
    filter: blur(2px);
    pointer-events: none;
  }

  .gp-compare__card--digital {
    box-shadow: 0 18px 40px rgba(37, 99, 235, 0.16);
    border-color: rgba(147, 197, 253, 0.85);
  }

  .gp-compare__card--traditional {
    box-shadow: 0 18px 40px rgba(220, 38, 38, 0.12);
    border-color: rgba(252, 165, 165, 0.9);
  }

  .gp-compare__card--traditional .gp-compare__img {
    filter: grayscale(0.35) saturate(0.85);
  }

  .gp-compare__media {
    max-width: none;
    margin-inline: 0;
    width: 100%;
    max-height: 8.25rem;
    aspect-ratio: 16 / 10;
  }

  .gp-compare__badge {
    width: 2.15rem;
    height: 2.15rem;
    right: 0.55rem;
    bottom: 0.55rem;
  }

  .gp-compare__badge.gp-ico {
    width: 2.15rem;
    height: 2.15rem;
  }

  .gp-compare__body {
    padding: 0.8rem 0.85rem 0.95rem;
  }

  .gp-compare__name {
    margin-block-end: 0.65rem;
    font-size: 0.92rem;
  }

  .gp-compare__list {
    gap: 0.45rem;
  }

  .gp-compare__list li {
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.5rem;
    border-radius: 0.7rem;
    font-size: 0.78rem;
    line-height: 1.45;
    background: rgba(255, 255, 255, 0.72);
  }

  .gp-compare__card--digital .gp-compare__list li {
    border: 1px solid rgba(191, 219, 254, 0.7);
  }

  .gp-compare__card--traditional .gp-compare__list li {
    border: 1px solid rgba(254, 202, 202, 0.75);
  }

  .gp-compare__mark {
    width: 1.05rem;
    height: 1.05rem;
    margin-block-start: 0;
  }

  .gp-compare__mark.gp-ico {
    width: 1.05rem;
    height: 1.05rem;
  }

  .gp-compare__chip {
    font-size: 0.66rem;
    padding: 0.16rem 0.5rem;
  }

  .gp-container {
    width: min(100% - 2rem, var(--gp-container));
  }

  .gp-header {
    height: calc(var(--gp-header-h) + 8px);
    padding-block-start: 8px;
  }

  .gp-header.gp-is-scrolled {
    height: var(--gp-header-h);
  }

  .gp-header__inner {
    height: var(--gp-header-h);
    border-radius: 14px;
    padding-inline: 0.75rem;
  }

  .gp-logo__img {
    height: 2rem;
    max-width: 9.5rem;
  }

  .gp-header__bar-cta {
    display: none;
  }

  .gp-sidenav {
    width: min(20rem, calc(100vw - 1rem));
    inset-block: 0.45rem;
    inset-inline-start: 0.45rem;
    border-radius: 1.35rem;
  }

  .gp-sidenav__link {
    min-height: 2.9rem;
    font-size: 0.92rem;
  }

  .gp-testimonials__slider {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.45rem;
  }

  .gp-testimonials__viewport {
    overflow: hidden;
    touch-action: pan-y;
  }

  .gp-testimonials__track {
    --gp-t-gap: 0px;
  }

  .gp-testimonials__track .gp-testimonial {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .gp-testimonials__nav {
    width: 2.75rem;
    height: 2.75rem;
  }

  .gp-hero__panel {
    border-radius: 1.25rem;
  }

  .gp-page-glow {
    display: none;
  }

  .gp-download__grid {
    grid-template-columns: 1fr;
    direction: rtl;
    gap: 0.7rem;
  }

  .gp-download__card--primary {
    order: 0;
    padding: 1.75rem 1.1rem 1.35rem;
  }

  .gp-download__card:nth-child(2) { order: 4; }
  .gp-download__card:nth-child(3) { order: 3; }
  .gp-download__card:nth-child(4) { order: 2; }
  .gp-download__card:nth-child(5) { order: 1; }

  .gp-download__card:not(.gp-download__card--primary) {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "ico name btn"
      "ico text btn";
    align-items: center;
    column-gap: 0.75rem;
    row-gap: 0.1rem;
    text-align: start;
    padding: 0.85rem 0.9rem;
  }

  .gp-download__card:not(.gp-download__card--primary) .gp-download__ico {
    grid-area: ico;
    width: 1.7rem;
    height: 1.7rem;
    margin: 0;
  }

  .gp-download__card:not(.gp-download__card--primary) .gp-download__name {
    grid-area: name;
    font-size: 0.92rem;
  }

  .gp-download__card:not(.gp-download__card--primary) .gp-download__text {
    grid-area: text;
    flex: none;
    font-size: 0.75rem;
    line-height: 1.55;
  }

  .gp-download__card:not(.gp-download__card--primary) .gp-download__btn {
    grid-area: btn;
    position: relative;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0.7rem;
    background: #2563eb;
    color: #fff;
  }

  .gp-download__card:not(.gp-download__card--primary) .gp-download__btn span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .gp-download__card:not(.gp-download__card--primary) .gp-download__btn .gp-ico {
    width: 1rem;
    height: 1rem;
    filter: brightness(0) invert(1);
  }

  .gp-showcase__deco {
    display: none;
  }

  .gp-showcase {
    padding-block-end: 0.35rem;
  }

  .gp-showcase::after {
    height: 2rem;
  }

  .gp-showcase__head {
    margin-block-end: 1.1rem;
  }

  .gp-showcase__head .gp-section__lead {
    font-size: 0.9rem;
    line-height: 1.7;
  }

  .gp-showcase__grid {
    display: flex;
    grid-template-columns: none;
    gap: 0.75rem;
    max-inline-size: none;
    margin-inline: 0;
    padding-block-end: 0.35rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0.15rem;
    scrollbar-width: none;
  }

  .gp-showcase__grid::-webkit-scrollbar {
    display: none;
  }

  .gp-showcase__card {
    flex: 0 0 min(78%, 17.5rem);
    scroll-snap-align: center;
    padding: 0.55rem 0.55rem 0.65rem;
    border-radius: 0.95rem;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.08);
  }

  .gp-showcase__card:last-child {
    grid-column: auto;
    max-inline-size: none;
    margin-inline: 0;
  }

  .gp-showcase__media {
    aspect-ratio: 16 / 11;
    border-radius: 0.7rem;
  }

  .gp-showcase__card figcaption {
    padding: 0.6rem 0.2rem 0.05rem;
    font-size: 0.84rem;
    line-height: 1.45;
  }

  .gp-hexes {
    opacity: 0.75;
  }

  .gp-hero__content {
    margin: 0;
    padding: 1.1rem 1rem 1.35rem;
  }

  .gp-hero__title {
    font-size: clamp(1.3rem, 5.5vw, 1.6rem);
  }

  .gp-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .gp-hero__actions .gp-btn {
    width: 100%;
    justify-content: center;
    min-height: 2.85rem;
  }

  .gp-quick {
    margin-block-start: 0.55rem;
  }

  .gp-quick__list {
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
  }

  .gp-quick__item {
    gap: 0.6rem;
    padding: 0.95rem 0.85rem 1rem;
    border-radius: 1.05rem;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.08);
  }

  .gp-quick .gp-icon {
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 0.75rem;
    background: linear-gradient(160deg, #eff6ff, #dbeafe);
    box-shadow: inset 0 0 0 1px rgba(147, 197, 253, 0.7);
  }

  .gp-quick__title {
    font-size: 0.88rem;
    line-height: 1.45;
    margin-bottom: 0.2rem;
  }

  .gp-quick__text {
    font-size: 0.75rem;
    line-height: 1.7;
  }

  .gp-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
  }

  .gp-footer {
    padding-block: 1.15rem 0;
    background:
      radial-gradient(ellipse 80% 28% at 50% 0%, rgba(147, 197, 253, 0.35), transparent 70%),
      linear-gradient(180deg, #f7fbff 0%, #eef5ff 48%, #e7f0ff 100%);
  }

  .gp-footer__backdrop {
    opacity: 0.28;
  }

  .gp-footer > .gp-container {
    width: min(100% - 1.5rem, var(--gp-container));
  }

  .gp-footer__grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .gp-footer__col--brand { order: -1; }
  .gp-footer__col--nav { order: 0; }
  .gp-footer__col--contact { order: 1; }
  .gp-footer__col--news { order: 2; }

  .gp-footer__col--news,
  .gp-footer__col--contact,
  .gp-footer__col--nav,
  .gp-footer__col--brand {
    border: 1px solid rgba(191, 219, 254, 0.85);
    border-inline-end: 1px solid rgba(191, 219, 254, 0.85);
    padding: 1rem 0.95rem 1.05rem;
    background: rgba(255, 255, 255, 0.94);
    border-radius: 1.2rem;
    box-shadow: 0 14px 32px rgba(37, 99, 235, 0.07);
  }

  .gp-footer__col--brand {
    text-align: center;
    padding-block: 1.2rem 1.1rem;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(239, 246, 255, 0.92) 100%);
  }

  .gp-footer__logo {
    margin-block-end: 0.65rem;
  }

  .gp-footer__logo img {
    height: 2.35rem;
    margin-inline: auto;
  }

  .gp-footer__about {
    margin-inline: auto;
    max-inline-size: 22rem;
    margin-block-end: 0.9rem;
  }

  .gp-footer__social {
    justify-content: center;
  }

  .gp-social {
    width: 2.55rem;
    height: 2.55rem;
    background: #fff;
    box-shadow: 0 6px 14px rgba(37, 99, 235, 0.08);
  }

  .gp-footer__title {
    margin-block-end: 0.75rem;
    font-size: 0.95rem;
  }

  .gp-footer__col:not(.gp-footer__col--brand) .gp-footer__title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }

  .gp-footer__col:not(.gp-footer__col--brand) .gp-footer__title::before {
    content: "";
    width: 0.28rem;
    height: 0.95rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #60a5fa, #2563eb);
    flex-shrink: 0;
  }

  .gp-footer__nav {
    gap: 0.4rem 0.55rem;
  }

  .gp-footer__links a {
    display: flex;
    align-items: center;
    min-height: 2.45rem;
    padding: 0.4rem 0.7rem;
    border-radius: 0.75rem;
    background: #f8fbff;
    border: 1px solid #e8f0fa;
  }

  .gp-footer__contact {
    gap: 0.45rem;
  }

  .gp-footer__contact li {
    align-items: center;
    min-height: 2.7rem;
    padding: 0.45rem 0.55rem;
    border-radius: 0.85rem;
    background: #f8fbff;
    border: 1px solid #e8f0fa;
  }

  .gp-footer__contact .gp-ico {
    width: 2rem;
    height: 2rem;
    margin: 0;
    padding: 0.4rem;
    border-radius: 0.65rem;
    background: #fff;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.08);
  }

  .gp-footer__contact a,
  .gp-footer__contact span {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .gp-footer__news-field {
    gap: 0.5rem;
  }

  .gp-footer__news-field input {
    min-height: 2.9rem;
    border-radius: 0.9rem;
    background: #f8fbff;
  }

  .gp-footer__news-btn {
    width: 2.9rem;
    height: 2.9rem;
    border-radius: 0.9rem;
    box-shadow: 0 8px 16px rgba(37, 99, 235, 0.22);
  }

  .gp-footer__bottom {
    margin-block-start: 0.9rem;
    padding-block: 1rem 1.25rem;
    border-block-start: none;
  }

  .gp-footer__bottom-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
  }

  .gp-footer__legal {
    justify-content: center;
    gap: 0.4rem;
  }

  .gp-footer__legal span {
    display: none;
  }

  .gp-footer__legal a {
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #dbeafe;
    color: #334155;
    font-weight: 600;
  }

  .gp-footer__copy {
    color: #64748b;
  }

  .gp-process {
    --gp-process-ico: 3.6rem;
    --gp-process-wave: 0px;
    background: #fff;
  }

  .gp-process__backdrop {
    display: none;
  }

  .gp-process__track {
    margin-block-start: 0.35rem;
  }

  .gp-process__list {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-inline-size: 24rem;
    margin-inline: auto;
    width: 100%;
  }

  .gp-process__step:nth-child(odd),
  .gp-process__step:nth-child(even) {
    display: grid;
    align-items: start;
    width: 100%;
    gap: 0.15rem 0.75rem;
    padding: 0 0 1.7rem;
    text-align: start;
  }

  .gp-process__step:last-child {
    padding-bottom: 0;
  }

  .gp-process__step:nth-child(odd) {
    grid-template-columns: var(--gp-process-ico) minmax(0, 1fr);
  }

  .gp-process__step:nth-child(even) {
    grid-template-columns: minmax(0, 1fr) var(--gp-process-ico);
  }

  .gp-process__step:nth-child(odd) .gp-process__node {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .gp-process__step:nth-child(even) .gp-process__node {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .gp-process__step:nth-child(3n + 1)::before,
  .gp-process__step:nth-child(3n + 2)::before,
  .gp-process__step:nth-child(1)::after,
  .gp-process__step:not(:last-child)::after {
    display: none;
  }

  .gp-process__step:nth-child(odd):not(:last-child)::before,
  .gp-process__step:nth-child(even):not(:last-child)::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    width: calc(100% - var(--gp-process-ico));
    height: auto;
    margin: 0;
    background: none;
    border: 0;
    box-shadow: none;
    transform: none;
    pointer-events: none;
    inset-block-start: calc(var(--gp-process-ico) - 2px);
    inset-block-end: 0;
  }

  .gp-process__step:nth-child(odd):not(:last-child)::before {
    inset-inline-start: calc(var(--gp-process-ico) / 2);
    inset-inline-end: auto;
    border-inline-start: 2px dashed #7cbcff;
    border-block-end: 2px dashed #7cbcff;
    border-end-start-radius: 1.4rem;
  }

  .gp-process__step:nth-child(even):not(:last-child)::before {
    inset-inline-start: auto;
    inset-inline-end: calc(var(--gp-process-ico) / 2);
    border-inline-end: 2px dashed #7cbcff;
    border-block-end: 2px dashed #7cbcff;
    border-end-end-radius: 1.4rem;
  }

  .gp-process__node {
    z-index: 2;
  }

  .gp-process__label {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    max-width: 11.5rem;
    font-size: 0.92rem;
    background: none;
  }

  .gp-process__step:nth-child(odd) .gp-process__label {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
    align-items: flex-start;
    text-align: start;
    padding-block-start: 0.35rem;
  }

  .gp-process__step:nth-child(even) .gp-process__label {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    align-items: flex-end;
    text-align: end;
    padding-block-start: 0.35rem;
  }

  .gp-process__desc {
    display: block;
    font-size: 0.76rem;
    font-weight: 500;
    color: #64748b;
    line-height: 1.55;
  }

  .gp-why__mannequin,
  .gp-why__wave--orange {
    display: none;
  }

  .gp-why__card {
    padding-block: 1.15rem;
    padding-inline: 0.85rem;
  }

  .gp-why__text {
    max-inline-size: none;
    font-size: 0.85rem;
  }

  .gp-why__name {
    font-size: 0.95rem;
  }

  .gp-features__shell {
    min-width: 0;
  }

  .gp-features__tabs {
    justify-content: flex-start;
    flex-wrap: nowrap;
    width: 100%;
    min-width: 0;
    max-inline-size: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-padding-inline: 1rem;
    scrollbar-width: none;
    border-radius: 1rem;
  }

  .gp-features__tabs::-webkit-scrollbar {
    display: none;
  }

  .gp-features__tabs::after {
    content: "";
    flex: 0 0 0.85rem;
  }

  .gp-features__tab {
    flex: 0 0 auto;
    font-size: 0.85rem;
    padding-inline: 0.85rem;
    scroll-margin-inline: 0.75rem;
  }

  .gp-features__float--tools {
    width: min(8.5rem, 40%);
    top: 2%;
    right: 0;
  }

  .gp-features__float--blouse {
    width: min(7rem, 36%);
  }

  .gp-features__visual {
    min-height: 14rem;
  }

  .gp-carousel__slide {
    flex-basis: 85%;
  }

  .gp-form__field--row {
    flex-direction: column;
  }

  .gp-section {
    padding-block: clamp(2.25rem, 6vw, 3.25rem);
  }

  .gp-section__title {
    font-size: clamp(1.3rem, 5vw, 1.55rem);
  }

  .gp-final-cta__actions {
    flex-direction: column;
    align-items: stretch;
    width: min(100%, 22rem);
  }

  .gp-final-cta__btn {
    width: 100%;
    min-height: 2.85rem;
  }

  .gp-resources__panel {
    padding: 0.9rem 0.8rem 1rem;
  }

  .gp-resources__head {
    margin-block-end: 0.65rem;
  }

  .gp-resources__head h3 {
    font-size: 0.9rem;
  }

  .gp-resources__more {
    font-size: 0.78rem;
    white-space: nowrap;
  }

  .gp-tabs__list {
    margin-block-end: 0.65rem;
  }

  .gp-tabs__btn {
    padding: 0.28rem 0.65rem;
    font-size: 0.72rem;
  }

  .gp-tabs__panel,
  .gp-resources__videos {
    gap: 0.6rem;
  }

  .gp-pattern {
    flex-basis: min(40%, 7.6rem);
    font-size: 0.72rem;
  }

  .gp-pattern__thumb {
    padding: 0.32rem;
    border-radius: 0.75rem;
    margin-block-end: 0.32rem;
  }

  .gp-video-card {
    flex-basis: min(78%, 14.25rem);
  }

  .gp-video-thumb {
    aspect-ratio: 16 / 10;
    border-radius: 0.8rem;
  }

  .gp-video-card h4 {
    margin-block-start: 0.4rem;
    font-size: 0.76rem;
  }

  .gp-video-card p {
    font-size: 0.68rem;
  }

  .gp-video-thumb__play {
    width: 2rem;
    height: 2rem;
  }

  .gp-section.gp-about-team {
    padding-block: 1.35rem 1.5rem;
  }

  .gp-about-team .gp-section__head {
    margin-block-end: 0.85rem;
  }

  .gp-about-team .gp-section__title {
    font-size: clamp(1.18rem, 5.2vw, 1.45rem);
    max-inline-size: 18rem;
  }

  .gp-about-team__grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-block-start: 0.15rem;
  }

  .gp-about-team__card,
  .gp-about-team__card--lead {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "photo name"
      "photo role"
      "photo bio"
      "photo social";
    column-gap: 0.85rem;
    row-gap: 0.15rem;
    align-items: center;
    justify-items: start;
    text-align: start;
    padding: 0.85rem 0.9rem 0.95rem;
    border-radius: 1.05rem;
    max-inline-size: none;
    margin-inline: 0;
    width: 100%;
  }

  .gp-about-team__card--lead.gp-reveal.gp-is-visible {
    border-color: #93c5fd;
    background: linear-gradient(165deg, #ffffff 0%, #f3f8ff 100%);
    box-shadow:
      0 14px 32px rgba(37, 99, 235, 0.12),
      0 0 0 1px rgba(147, 197, 253, 0.35);
  }

  .gp-about-team__photo-wrap,
  .gp-about-team__card--lead .gp-about-team__photo-wrap {
    grid-area: photo;
    min-block-size: 0;
    margin-block-end: 0;
    align-self: center;
  }

  .gp-about-team__portrait,
  .gp-about-team__card--lead .gp-about-team__portrait {
    inline-size: 5.75rem;
  }

  .gp-about-team__name {
    grid-area: name;
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.35;
  }

  .gp-about-team__role {
    grid-area: role;
    margin: 0;
    font-size: 0.76rem;
    line-height: 1.4;
  }

  .gp-about-team__bio {
    grid-area: bio;
    margin: 0.2rem 0 0;
    max-inline-size: none;
    font-size: 0.74rem;
    line-height: 1.55;
  }

  .gp-about-team__social {
    grid-area: social;
    margin-block-start: 0.35rem;
    justify-content: flex-start;
    gap: 0.35rem;
  }

  .gp-about-team__soc {
    inline-size: 1.85rem;
    block-size: 1.85rem;
  }

  .gp-about-team__card.gp-is-visible .gp-about-team__portrait {
    animation: none;
  }

  .gp-section.gp-about-fields {
    padding-block: 1.15rem 1.25rem;
  }

  .gp-about-fields__head {
    margin-block-end: 0.85rem;
  }

  .gp-about-fields__eyebrow {
    margin-block-end: 0.35rem;
    font-size: 0.8rem;
  }

  .gp-about-fields__head .gp-section__title {
    gap: 0.1rem;
    margin-block-end: 0.55rem;
    font-size: clamp(1.22rem, 5.5vw, 1.5rem);
  }

  .gp-about-fields__head .gp-section__title::after {
    width: 3.25rem;
    margin-block-start: 0.65rem;
  }

  .gp-about-fields__head .gp-section__lead {
    font-size: 0.84rem;
    line-height: 1.7;
  }

  .gp-about-fields__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
    margin-block-start: 0.35rem;
    padding-block-end: 0.35rem;
  }

  .gp-about-fields__card {
    border-radius: 1rem;
  }

  .gp-about-fields__name {
    padding: 0.65rem 0.45rem 0.75rem;
    font-size: 0.74rem;
    line-height: 1.45;
  }

  .gp-section.gp-about-intro {
    padding-block: 1.35rem 1.6rem;
  }

  .gp-about-intro__visual {
    max-width: min(100%, 18.5rem);
  }

  .gp-about-intro__eyebrow {
    margin-block-end: 0.35rem;
    font-size: 0.84rem;
  }

  .gp-about-intro__title {
    margin-block-end: 0.65rem;
    font-size: clamp(1.22rem, 5.6vw, 1.5rem);
  }

  .gp-about-intro__text {
    font-size: 0.88rem;
    line-height: 1.8;
    margin-block-end: 1rem;
  }

  .gp-about-intro__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
  }

  .gp-about-intro__stat {
    gap: 0.25rem;
    padding: 0.7rem 0.3rem 0.75rem;
    border-radius: 0.85rem;
  }

  .gp-about-intro__stat-ico {
    inline-size: 1.9rem;
    block-size: 1.9rem;
  }

  .gp-about-intro__stat-ico .gp-ico {
    width: 0.95rem;
    height: 0.95rem;
  }

  .gp-about-intro__stat-num {
    font-size: 0.92rem;
  }

  .gp-about-intro__stat-label {
    font-size: 0.66rem;
    line-height: 1.35;
  }

  .gp-section.gp-about-solutions {
    padding-block: 0.35rem 1.15rem;
  }

  .gp-about-solutions__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }

  .gp-about-solutions__item {
    gap: 0.5rem;
    padding: 0.9rem 0.6rem 0.85rem;
    border-radius: 1rem;
  }

  .gp-about-solutions__ico {
    inline-size: 2.65rem;
    block-size: 2.65rem;
    border-radius: 0.75rem;
  }

  .gp-about-solutions__ico .gp-ico {
    width: 1.35rem;
    height: 1.35rem;
  }

  .gp-about-solutions__name {
    font-size: 0.78rem;
    line-height: 1.45;
  }

  .gp-about-story__board {
    --gp-story-node: 3.6rem;
  }

  .gp-about-story__step {
    gap: 0.1rem 0.7rem;
    padding-bottom: 1.45rem;
  }

  .gp-about-story__step:last-child {
    padding-bottom: 0;
  }

  .gp-about-story__name {
    font-size: 0.88rem;
  }

  .gp-about-story__text {
    font-size: 0.76rem;
    line-height: 1.55;
  }

  .gp-about-story__head .gp-section__title {
    font-size: clamp(1.2rem, 5.2vw, 1.5rem);
  }

  .gp-section.gp-about-awards {
    padding-block: 1.35rem 1.5rem;
  }

  .gp-about-awards__decor {
    display: none;
  }

  .gp-about-awards__head .gp-section__title {
    font-size: clamp(1.2rem, 5.2vw, 1.5rem);
  }

  .gp-about-awards__head .gp-section__lead {
    font-size: 0.84rem;
    line-height: 1.7;
  }

  .gp-about-awards__slider {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "view view view"
      "prev . next";
    gap: 0.65rem 0.5rem;
    margin-block-start: 0.85rem;
  }

  .gp-about-awards__viewport {
    grid-area: view;
    -webkit-mask-image: none;
    mask-image: none;
    padding-block: 0.25rem 0.35rem;
  }

  .gp-about-awards__track {
    --gp-awards-gap: 0px;
    gap: 0;
    width: min(100%, 22rem);
  }

  .gp-about-awards__card {
    flex: 0 0 100%;
    border-radius: 0.95rem;
    opacity: 1;
    transform: none;
  }

  .gp-about-awards__card.is-near {
    opacity: 0.7;
  }

  .gp-about-awards__body {
    padding: 0.7rem 0.65rem 0.85rem;
  }

  .gp-about-awards__title {
    font-size: 0.9rem;
  }

  .gp-about-awards__year {
    font-size: 0.74rem;
  }

  .gp-about-awards__org {
    font-size: 0.72rem;
  }

  .gp-about-awards__nav {
    inline-size: 2.35rem;
    block-size: 2.35rem;
  }

  .gp-about-awards__nav--prev {
    grid-area: prev;
    justify-self: start;
  }

  .gp-about-awards__nav--next {
    grid-area: next;
    justify-self: end;
  }

  .gp-about-awards__dots {
    margin-block-start: 0.65rem;
    gap: 0.35rem;
  }

  .gp-about-hero__panel {
    border-radius: 1.25rem;
  }

  .gp-about-hero__content {
    margin: 0;
    padding: 1.1rem 1rem 1.35rem;
  }

  .gp-about-hero__title {
    font-size: clamp(1.3rem, 5.5vw, 1.6rem);
  }

  .gp-about-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .gp-about-hero__actions .gp-btn {
    width: 100%;
    justify-content: center;
    min-height: 2.85rem;
  }

  .gp-about-vision__photo {
    display: none;
  }

  .gp-about-vision__actions .gp-btn {
    flex: 1 1 auto;
    justify-content: center;
  }
}

/* Narrow phone */
@media (max-width: 479px) {
  .gp-container {
    width: min(100% - 1.75rem, var(--gp-container));
  }

  .gp-showcase__head {
    margin-block-end: 0.95rem;
  }

  .gp-showcase__grid {
    gap: 0.65rem;
  }

  .gp-showcase__card {
    flex-basis: min(84%, 16.25rem);
    padding: 0.45rem 0.45rem 0.55rem;
    border-radius: 0.85rem;
  }

  .gp-showcase__media {
    aspect-ratio: 16 / 12;
    border-radius: 0.6rem;
  }

  .gp-showcase__card figcaption {
    padding-block-start: 0.5rem;
    font-size: 0.8rem;
  }

  .gp-tabs__panel,
  .gp-resources__videos {
    gap: 0.5rem;
  }

  .gp-pattern {
    flex-basis: min(42%, 7.1rem);
    font-size: 0.68rem;
  }

  .gp-pattern__thumb {
    padding: 0.28rem;
    border-radius: 0.65rem;
  }

  .gp-video-card {
    flex-basis: min(82%, 13.5rem);
  }

  .gp-video-thumb {
    border-radius: 0.75rem;
  }

  .gp-hero__content {
    margin: 0;
    padding: 0.95rem 0.85rem 1.2rem;
  }

  .gp-hero__title {
    font-size: clamp(1.25rem, 6vw, 1.45rem);
  }

  .gp-hero__lead {
    font-size: 0.9rem;
    line-height: 1.75;
  }

  .gp-about-hero__content {
    margin: 0;
    padding: 0.95rem 0.85rem 1.2rem;
  }

  .gp-about-hero__title {
    font-size: clamp(1.25rem, 6vw, 1.45rem);
  }

  .gp-about-hero__subtitle,
  .gp-about-hero__text {
    font-size: 0.9rem;
    line-height: 1.75;
  }

  .gp-about-hero__actions .gp-btn {
    font-size: 0.88rem;
  }

  .gp-why__name {
    font-size: 0.9rem;
  }

  .gp-quick__text {
    font-size: 0.74rem;
  }

  .gp-faq__media {
    padding-block-end: 3rem;
  }

  .gp-sidenav__quick {
    grid-template-columns: 1fr;
  }

}

/* Very narrow */
@media (max-width: 359px) {
  .gp-about-team__card,
  .gp-about-team__card--lead {
    column-gap: 0.65rem;
    padding: 0.75rem 0.7rem 0.8rem;
  }

  .gp-about-team__portrait,
  .gp-about-team__card--lead .gp-about-team__portrait {
    inline-size: 4.85rem;
  }

  .gp-about-team__name {
    font-size: 0.88rem;
  }

  .gp-about-team__bio {
    font-size: 0.7rem;
  }

  .gp-why__grid,
  .gp-quick__list,
  .gp-about-solutions__list {
    grid-template-columns: 1fr;
  }

  .gp-about-solutions__list {
    gap: 0.5rem;
  }

  .gp-about-solutions__item {
    grid-template-columns: auto minmax(0, 1fr);
    justify-items: start;
    align-items: center;
    column-gap: 0.75rem;
    row-gap: 0;
    text-align: start;
    padding: 0.7rem 0.85rem;
  }

  .gp-about-solutions__name {
    font-size: 0.84rem;
    text-align: start;
  }

  .gp-about-intro__stats {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  .gp-about-intro__stat {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 0.65rem;
    padding: 0.6rem 0.75rem;
    text-align: start;
  }

  .gp-about-intro__stat-ico,
  .gp-about-intro__stat-num {
    flex-shrink: 0;
  }

  .gp-about-intro__stat-num {
    font-size: 0.95rem;
  }

  .gp-about-intro__stat-label {
    flex: 1;
    font-size: 0.74rem;
    line-height: 1.4;
    text-align: start;
  }

  .gp-quick__item {
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
  }

  .gp-header__inner {
    padding-inline: 0.55rem;
  }

  .gp-logo__img {
    height: 1.85rem;
    max-width: 8.25rem;
  }

  .gp-hero__actions .gp-btn {
    font-size: 0.88rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gp-nav,
  .gp-nav-backdrop {
    transition: none !important;
  }

  .gp-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .gp-about-awards__track {
    transition: none !important;
  }

  .gp-about-awards__card,
  .gp-about-awards__card.is-active,
  .gp-about-awards__card.is-near,
  .gp-about-awards__card.is-active:hover,
  .gp-about-awards__media img,
  .gp-about-awards__card.is-active .gp-about-awards__media img,
  .gp-about-awards__card.is-active:hover .gp-about-awards__media img {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .gp-about-team__card,
  .gp-about-team__card.gp-reveal.gp-is-visible,
  .gp-about-team__card--lead.gp-reveal.gp-is-visible,
  .gp-about-team__card.gp-reveal.gp-is-visible.is-active,
  .gp-about-team__grid.is-focusing .gp-about-team__card.gp-reveal.gp-is-visible:not(.is-active),
  .gp-about-team__portrait,
  .gp-about-team__card.gp-is-visible .gp-about-team__portrait,
  .gp-about-team__card.gp-reveal.gp-is-visible.is-active .gp-about-team__portrait,
  .gp-about-team__name,
  .gp-about-team__soc {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .gp-about-team__card.gp-reveal.gp-is-visible.is-active.is-shine::after {
    animation: none !important;
    opacity: 0 !important;
  }

  .gp-about-story__step.is-active,
  .gp-about-story__step.is-dimmed,
  .gp-about-story__step.is-active .gp-about-story__node,
  .gp-about-story__step.is-active .gp-about-story__node img,
  .gp-about-story__step.is-active .gp-about-story__year,
  .gp-about-story__step.is-active .gp-about-story__name,
  .gp-about-story__step.is-active .gp-about-story__text {
    animation: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
  }

  .gp-about-intro [data-intro-el],
  .gp-about-intro__hex,
  .gp-about-intro__accent,
  .gp-about-intro__bg-hex {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }

  .gp-about-intro__accent {
    opacity: 0.72 !important;
  }

  .gp-about-intro.is-inview .gp-about-intro__hex--main:hover .gp-about-intro__collage,
  .gp-about-intro.is-inview .gp-about-intro__accent:hover,
  .gp-about-intro.is-inview .gp-about-intro__stat:hover,
  .gp-about-intro.is-inview .gp-about-intro__stat:hover .gp-about-intro__stat-ico,
  .gp-about-intro.is-inview .gp-about-intro__stat:hover .gp-about-intro__stat-ico .gp-ico,
  .gp-about-intro.is-inview .gp-about-intro__stat:hover .gp-about-intro__stat-num {
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }

  .gp-about-intro.is-inview .gp-about-intro__stat:hover::after {
    animation: none !important;
  }

  .gp-btn:hover,
  .gp-why__card.gp-is-visible:hover,
  .gp-why__card.gp-is-visible:hover .gp-why__icon,
  .gp-why__card.gp-is-visible:hover .gp-why__icon img, .gp-why__card.gp-is-visible:hover .gp-why__icon .gp-ico,
  .gp-why__card.gp-is-visible:hover .gp-why__name,
  .gp-about-solutions__item.gp-is-visible:hover,
  .gp-about-solutions__item.gp-is-visible:hover .gp-about-solutions__ico,
  .gp-about-solutions__item.gp-is-visible:hover .gp-about-solutions__ico .gp-ico,
  .gp-about-solutions__item.gp-is-visible:hover .gp-about-solutions__name,
  .gp-about-fields__grid.is-focusing .gp-about-fields__card.gp-is-visible:not(.is-active),
  .gp-about-fields__grid.has-popped .gp-about-fields__card.gp-is-visible:not(.is-popped),
  .gp-about-fields__card.is-active,
  .gp-about-fields__card.is-popped,
  .gp-about-fields__card.is-active .gp-about-fields__media img,
  .gp-about-fields__card.is-popped .gp-about-fields__media img,
  .gp-about-fields__card.is-active .gp-about-fields__name {
    animation: none !important;
    transform: none !important;
    filter: none !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07) !important;
  }

  .gp-about-fields__card.is-active.is-shine::after,
  .gp-about-fields__card.is-popped.is-shine::after {
    animation: none !important;
  }

  .gp-quick__item:hover,
  .gp-quick__item:focus-within,
  .gp-showcase__card:hover,
  .gp-showcase__card:hover .gp-showcase__media img {
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }

  .gp-why__card.gp-is-visible:hover::after,
  .gp-about-solutions__item.gp-is-visible:hover::after {
    animation: none !important;
  }

  .gp-features__float,
  .gp-features__panel {
    animation: none;
  }

  .gp-pattern,
  .gp-pattern.gp-is-leaving,
  .gp-pattern.gp-is-entering,
  .gp-pattern:hover .gp-pattern__thumb {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }

  .gp-faq__a,
  .gp-faq__a p,
  .gp-faq__icon,
  .gp-faq__icon::before {
    transition: none !important;
  }

  .gp-testimonials__track {
    transition: none !important;
  }

  .gp-faq__a p {
    opacity: 1;
    transform: none;
  }

  .gp-features__shot,
  .gp-features__visual:hover .gp-features__shot,
  .gp-features__visual:focus-within .gp-features__shot {
    transform: none;
    filter: drop-shadow(0 24px 40px rgba(37, 99, 235, 0.18));
    transition: none;
  }

  .gp-compare__card,
  .gp-compare__card--digital:hover,
  .gp-compare__card--traditional:hover,
  .gp-compare__shell[data-active="digital"] .gp-compare__card--digital,
  .gp-compare__shell[data-active="traditional"] .gp-compare__card--traditional,
  .gp-compare__shell[data-active="digital"] .gp-compare__card--traditional,
  .gp-compare__shell[data-active="traditional"] .gp-compare__card--digital {
    transform: none;
    filter: none;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.1);
    transition: none;
  }

  .gp-compare__toggle-btn {
    transition: none;
  }

  .gp-quick__item:hover .gp-icon,
  .gp-quick__item:focus-within .gp-icon {
    transform: none;
  }

  .gp-top__backdrop,
  .gp-hex {
    transform: none !important;
    animation: none !important;
    will-change: auto;
  }

  .gp-page-glow {
    display: none !important;
    opacity: 0 !important;
  }
}

/* بدون JS: پس‌زمینه‌های lazy همچنان نمایش داده شوند */
@media (scripting: none) {
  .gp-features__backdrop {
    background-image: url("/images/gpattern/features-bg.png");
  }

  .gp-compare__backdrop {
    background-image: url("/images/gpattern/compare/compare-bg.png");
  }

  .gp-final-cta__bg {
    background-image: url("/images/gpattern/cta-bg.jpg");
  }

  .gp-footer__backdrop {
    background-image: url("/images/gpattern/footer-background.png");
  }

  .gp-about-story {
    background-image: url("/images/gpattern/about/story-bg.jpg");
  }
}
