/* geb theme (health / corporate, modelled on the Medicoz look). Class prefix = component id, e.g. .geb-hero__title. */
/* Every geb root: .geb-ui .<id> .<id>--<variant> [data-variant]. Breakpoints: tablet <=1024px, mobile <=767px. */
/* Single palette (no color modes). Base rules share the SaaS markup (saas/blocks.tsx); the GEB SKIN section at the end */
/* restyles them and draws Geb's own blocks (banner, stats, team, testimonials, posts) and chrome. No external libraries. */
/* ========================================================================== */
/* TOKENS                                                                     */
/* ========================================================================== */
.geb-ui {
  --gb-fg: var(--text-color);
  --gb-bg: var(--background-color);
  --gb-muted: color-mix(in srgb, var(--text-color) 62%, var(--background-color));
  --gb-faint: color-mix(in srgb, var(--text-color) 42%, var(--background-color));
  --gb-border: color-mix(in srgb, var(--text-color) 10%, transparent);
  --gb-border-strong: color-mix(in srgb, var(--text-color) 20%, transparent);
  --gb-subtle: color-mix(in srgb, var(--text-color) 3%, var(--background-color));
  --gb-subtle-2: color-mix(in srgb, var(--text-color) 6%, var(--background-color));
  --gb-card: var(--background-color);
  --gb-grid-line: color-mix(in srgb, var(--text-color) 6%, transparent);
  --gb-accent: var(--primary-color);
  /* #7EAA60 on white is only 2.7:1 — accent TEXT uses a darker (light) / lighter (dark) tone of the same hue. */
  --gb-accent-text: color-mix(in srgb, var(--primary-color) 68%, #000000);
  --gb-accent-soft: color-mix(in srgb, var(--primary-color) 14%, transparent);
  /* İkon ve vurgu işaretlerinin rengi: açık zeminde ana renk, koyu zeminde (inverse, koyu header) ana rengin açık tonu.
     Koyu ana renkte (#123A03 gibi) ana renkli ikon lacivert zeminde kayboluyordu. */
  --gb-icon: var(--primary-color);
  --gb-on-accent: var(--primary-contrast, #000000);
  --gb-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --gb-radius: var(--border-radius, 8px);
  --gb-radius-lg: calc(var(--border-radius, 8px) * 1.5);
  --gb-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 24px -12px rgba(0, 0, 0, 0.12);
  color: var(--gb-fg);
  font-family: var(--font-family);
}
/* ========================================================================== */
/* SHARED PIECES                                                              */
/* ========================================================================== */
.gb-hint {
  margin: 1.5rem auto;
  max-width: 720px;
  padding: 1.25rem;
  border: 1px dashed var(--gb-border-strong);
  border-radius: var(--gb-radius);
  text-align: center;
  color: var(--gb-muted);
  font-size: calc(0.9rem * var(--font-scale, 1));
}
.gb-head {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  margin-bottom: 3.5rem;
  max-width: 720px;
}
.gb-head--center {
  align-items: center;
  text-align: center;
  margin-inline: auto;
}
.gb-head--start {
  align-items: flex-start;
}
.gb-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--gb-mono);
  font-size: calc(0.75rem * var(--font-scale, 1));
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gb-accent-text);
}
.gb-title {
  font-size: calc(clamp(1.9rem, 1.2rem + 2.2vw, 3rem) * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.035em;
  color: var(--gb-fg);
}
.gb-subtitle {
  font-size: calc(1.08rem * var(--font-scale, 1));
  line-height: 1.65;
  color: var(--gb-muted);
}
/* Buttons. .wb-btn = site-wide button-style hook (solid / outline / pill), so radius comes from the theme setting. */
.geb-ui .gb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 42px;
  padding: 0.6rem 1.15rem;
  border: 1px solid var(--gb-accent);
  border-radius: var(--button-radius, var(--gb-radius));
  background: var(--gb-accent);
  color: var(--gb-on-accent);
  font-size: calc(0.92rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  transition: background 0.18s, border-color 0.18s, color 0.18s, box-shadow 0.18s;
  box-shadow: 0 0 0 0 var(--gb-accent-soft);
}
.geb-ui .gb-btn:hover {
  background: color-mix(in srgb, var(--gb-accent) 88%, var(--gb-fg));
  box-shadow: 0 0 0 4px var(--gb-accent-soft);
}
.geb-ui .gb-btn--ghost {
  background: var(--gb-card);
  border-color: var(--gb-border-strong);
  color: var(--gb-fg);
}
.geb-ui .gb-btn--ghost:hover {
  background: var(--gb-subtle-2);
  border-color: var(--gb-faint);
  box-shadow: none;
}
.gb-btn__arrow {
  transition: transform 0.18s;
}
.gb-btn:hover .gb-btn__arrow {
  transform: translateX(3px);
}
.gb-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex: none;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius);
  background: var(--gb-subtle);
  color: var(--gb-fg);
}
/* Window frame (browser chrome) for screenshots and code. */
.gb-frame {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
  box-shadow: var(--gb-shadow);
}
.gb-frame__bar {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 36px;
  padding: 0 0.85rem;
  border-bottom: 1px solid var(--gb-border);
  background: var(--gb-subtle);
}
.gb-frame__bar > span:nth-child(-n + 3) {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gb-border-strong);
}
.gb-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.55rem;
  border: 1px solid var(--gb-border);
  border-radius: 999px;
  background: var(--gb-subtle);
  font-size: calc(0.72rem * var(--font-scale, 1));
  font-weight: 500;
  color: var(--gb-muted);
  white-space: nowrap;
}
.gb-panel {
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
}
.gb-empty {
  padding: 2rem;
  border: 1px dashed var(--gb-border-strong);
  border-radius: var(--gb-radius);
  text-align: center;
  color: var(--gb-muted);
}
.gb-skeleton {
  min-height: 260px;
  background: linear-gradient(90deg, var(--gb-subtle) 0%, var(--gb-subtle-2) 50%, var(--gb-subtle) 100%);
  background-size: 200% 100%;
  animation: gb-shimmer 1.4s linear infinite;
}
@keyframes gb-shimmer {
  to { background-position: -200% 0; }
}
.gb-stars {
  display: inline-flex;
  gap: 2px;
  color: var(--gb-border-strong);
}
.gb-stars .is-on {
  color: var(--gb-icon);
  fill: currentColor;
}
.gb-cmp-yes,
.gb-cmp-no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
}
.gb-cmp-yes {
  background: var(--gb-accent-soft);
  color: var(--gb-accent-text);
}
.gb-cmp-no {
  color: var(--gb-faint);
}
/* FAQ item (faq + faq-cta). */
.gb-faq {
  border-bottom: 1px solid var(--gb-border);
}
.gb-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.2rem 0;
  cursor: pointer;
  list-style: none;
  font-size: calc(1.02rem * var(--font-scale, 1));
  font-weight: 600;
  color: var(--gb-fg);
}
.gb-faq__q::-webkit-details-marker {
  display: none;
}
.gb-faq__chevron {
  flex: none;
  color: var(--gb-faint);
  transition: transform 0.2s;
}
.gb-faq[open] .gb-faq__chevron {
  transform: rotate(180deg);
}
.gb-faq__a {
  padding: 0 2rem 1.3rem 0;
  font-size: calc(0.96rem * var(--font-scale, 1));
  line-height: 1.7;
  color: var(--gb-muted);
}
/* Brand mark shown in front of the text logo. */
.geb-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: var(--gb-fg);
  color: var(--gb-bg);
}
/* ========================================================================== */
/* HEADER 1 — hairline blurred bar                                            */
/* ========================================================================== */
/* transparent: no surface at the top of the page, blurred surface after scrolling */
/* ========================================================================== */
/* HEADER 2 — floating pill                                                   */
/* ========================================================================== */
/* ========================================================================== */
/* HEADER 3 — oval menu bar (Medicoz header-style-one / four)                 */
/* ========================================================================== */
.geb-header-3 {
  --gb-pill-inset: 2rem; /* logonun soldan, eylem düğmesinin sağdan uzaklığı */
  z-index: 60;
  background: var(--background-color);
  color: var(--gb-fg);
  transition: box-shadow 0.25s, background 0.25s;
}
.geb-header-3.is-scrolled {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
}
.geb-header-3__top {
  border-bottom: 1px solid var(--gb-border);
  color: var(--gb-muted);
  font-size: calc(0.85rem * var(--font-scale, 1));
}
.geb-header-3__top-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  min-height: 46px;
  padding-block: 0.35rem;
}
.geb-header-3__contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 1.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.geb-header-3__contact-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.geb-header-3__contact-icon {
  display: inline-flex;
  color: var(--gb-icon);
}
.geb-header-3__contact-item a {
  color: inherit;
  transition: color 0.15s;
}
.geb-header-3__contact-item a:hover {
  color: var(--gb-accent-text);
}
.geb-header-3__social {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
.geb-header-3__social-link {
  color: var(--gb-faint);
  transition: color 0.15s;
}
.geb-header-3__social-link:hover {
  color: var(--gb-icon);
}
.geb-header-3__main {
  padding-block: 1.1rem;
}
/* Oval bar: logo solda, eylem düğmesi sağda; ikisi de barın kenarından aynı boşlukla (--gb-pill-inset) içeride durur. */
.geb-header-3__bar {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2rem;
  min-height: 76px;
  padding-inline: var(--gb-pill-inset);
}
.geb-header-3__bar::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--gb-border);
  border-radius: 999px;
  background: var(--gb-subtle);
  transition: background 0.25s, box-shadow 0.25s;
}
.geb-header-3__bar > * {
  position: relative;
}
.geb-header-3__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  flex: none;
  margin: 0;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.5rem * var(--font-scale, 1));
  font-weight: 700;
}
.geb-header-3__logo {
  max-height: 46px;
  width: auto;
}
.geb-header-3__menu {
  display: flex;
  align-items: center;
  flex: 1;
  gap: 1.5rem;
}
.geb-header-3__nav {
  display: flex;
  align-items: center;
  flex: 1;
  justify-content: flex-end;
  gap: 0.25rem 1.6rem;
}
.geb-header-3__link {
  position: relative;
  display: inline-block;
  padding: 1.6rem 0;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(0.9rem * var(--font-scale, 1));
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: color 0.2s;
}
.geb-header-3__link::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 1.15rem;
  height: 2px;
  background: var(--primary-color);
  transform: scaleX(0);
  transition: transform 0.25s;
}
.geb-header-3__link:hover,
.geb-header-3__link:focus-visible {
  color: var(--gb-accent-text);
}
.geb-header-3__link:hover::after,
.geb-header-3__link:focus-visible::after {
  transform: scaleX(1);
}
.geb-header-3__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.geb-header-3 .geb-header-3__locale .wb-locale__toggle {
  border-color: var(--gb-border-strong);
  color: var(--gb-muted);
}
/* Köşe tema ayarının düğme biçiminden gelir (site.css); "Hap" seçilince düğme de ovaldir. */
.geb-header-3 .geb-header-3__account {
  min-height: 52px;
  padding: 0.9rem 2rem;
  border: 0;
  border-radius: var(--button-radius, 999px);
  background: var(--primary-color);
  color: var(--gb-on-accent);
  font-family: var(--gb-heading-font);
  font-size: calc(0.95rem * var(--font-scale, 1));
  font-weight: 600;
  box-shadow: 0 10px 24px -10px color-mix(in srgb, var(--primary-color) 70%, transparent);
  transition: background 0.2s, box-shadow 0.2s;
}
.geb-header-3 .geb-header-3__account:hover {
  transform: none;
  filter: none;
  background: var(--primary-color);
  color: #ffffff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}
.geb-header-3__toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-inline-start: auto;
  border: 0;
  border-radius: 50%;
  background: var(--primary-color);
  color: var(--gb-on-accent);
  cursor: pointer;
}

/* floating (header-style-four): white pill with a shadow that overlaps the section below. */
.geb-header-3--floating {
  background: transparent;
}
.geb-header-3--floating .geb-header-3__top {
  background: var(--background-color);
}
.geb-header-3--floating .geb-header-3__main {
  margin-bottom: -2.4rem;
  padding-bottom: 0;
}
.geb-header-3--floating .geb-header-3__bar::before {
  border-color: transparent;
  background: var(--background-color);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}
.geb-header-3--floating.is-scrolled {
  box-shadow: none;
}
/* accent: top strip in the primary color. */
.geb-header-3--accent .geb-header-3__top {
  border-bottom-color: transparent;
  background: var(--primary-color);
  color: color-mix(in srgb, var(--gb-on-accent) 88%, transparent);
}
.geb-header-3--accent .geb-header-3__contact-icon,
.geb-header-3--accent .geb-header-3__social-link,
.geb-header-3--accent .geb-header-3__contact-item a:hover,
.geb-header-3--accent .geb-header-3__social-link:hover {
  color: var(--gb-on-accent);
}
.geb-header-3--inverse {
  --background-color: var(--gb-navy);
  --text-color: #e8eef5;
  --gb-accent-text: color-mix(in srgb, var(--primary-color) 55%, #ffffff);
  --gb-icon: color-mix(in srgb, var(--primary-color) 40%, #ffffff);
  --gb-subtle: color-mix(in srgb, #ffffff 7%, var(--gb-navy));
  --gb-border: rgba(255, 255, 255, 0.12);
  --gb-border-strong: rgba(255, 255, 255, 0.2);
}
.geb-header-3--compact .geb-header-3__main {
  padding-block: 0.7rem;
}
.geb-header-3--compact .geb-header-3__bar {
  min-height: 62px;
}
.geb-header-3--compact .geb-header-3__link {
  padding-block: 1.15rem;
}
.geb-header-3--compact .geb-header-3__link::after {
  bottom: 0.8rem;
}
.geb-header-3--compact .geb-header-3__account {
  min-height: 44px;
}

@media (max-width: 1100px) {
  .geb-header-3__nav {
    gap: 0.25rem 1.1rem;
  }
}
@media (max-width: 900px) {
  .geb-header-3__toggle {
    display: inline-flex;
  }
  .geb-header-3 {
    --gb-pill-inset: 1.25rem;
  }
  .geb-header-3__bar {
    min-height: 64px;
  }
  .geb-header-3__menu {
    display: none;
    position: absolute;
    top: calc(100% + 0.6rem);
    left: 0;
    right: 0;
    z-index: 5;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    padding: 1rem 1.25rem 1.25rem;
    border-top: 3px solid var(--primary-color);
    border-radius: var(--gb-radius-lg);
    background: var(--background-color);
    box-shadow: var(--gb-shadow-strong);
  }
  .geb-header-3.is-open .geb-header-3__menu {
    display: flex;
  }
  .geb-header-3__nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .geb-header-3__link {
    display: block;
    padding: 0.8rem 0;
    border-bottom: 1px solid var(--gb-border);
  }
  .geb-header-3__link::after {
    display: none;
  }
  .geb-header-3__actions {
    flex-wrap: wrap;
  }
  .geb-header-3 .geb-header-3__account {
    flex: 1;
    justify-content: center;
    min-height: 48px;
    text-align: center;
  }
  .geb-header-3--floating .geb-header-3__main {
    margin-bottom: -1.6rem;
  }
}
@media (max-width: 767px) {
  .geb-header-3__top-inner {
    justify-content: center;
  }
  /* Only the phone and e-mail rows fit on a phone; address / hours stay in the footer. */
  .geb-header-3__contact-item:nth-child(n + 3),
  .geb-header-3__top .geb-header-3__social {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .geb-header-3,
  .geb-header-3__bar::before,
  .geb-header-3__link,
  .geb-header-3__link::after,
  .geb-header-3 .geb-header-3__account {
    transition: none;
  }
}

/* ========================================================================== */
/* FOOTER 1 — block footer; layout lives in render/site.css `.wb-footer__*`    */
/* ========================================================================== */
/* ========================================================================== */
/* HERO                                                                       */
/* ========================================================================== */
.geb-hero {
  position: relative;
  overflow: hidden;
  padding: calc(7rem * var(--section-scale, 1)) 0 calc(5rem * var(--section-scale, 1));
}
.geb-hero__grid,
.geb-cta__grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, var(--gb-grid-line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--gb-grid-line) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 0%, #000 30%, transparent 75%);
  mask-image: radial-gradient(ellipse 70% 60% at 50% 0%, #000 30%, transparent 75%);
}
.geb-hero::before {
  content: "";
  position: absolute;
  top: -240px;
  left: 50%;
  width: 760px;
  height: 480px;
  transform: translateX(-50%);
  background: radial-gradient(closest-side, color-mix(in srgb, var(--primary-color) 22%, transparent), transparent);
  pointer-events: none;
}
.geb-hero__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}
.geb-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  max-width: 860px;
  text-align: center;
}
.geb-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.3rem 0.8rem 0.3rem 0.6rem;
  border: 1px solid var(--gb-border);
  border-radius: 999px;
  background: var(--gb-card);
  font-family: var(--gb-mono);
  font-size: calc(0.76rem * var(--font-scale, 1));
  color: var(--gb-muted);
}
.geb-hero__dot,
.geb-announcement__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gb-accent);
  box-shadow: 0 0 0 3px var(--gb-accent-soft);
}
.geb-hero__title {
  font-size: calc(clamp(2.5rem, 1.4rem + 4.6vw, 4.75rem) * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.05em;
  background: linear-gradient(180deg, var(--gb-fg) 30%, color-mix(in srgb, var(--gb-fg) 58%, var(--gb-bg)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.geb-hero__highlight {
  background: linear-gradient(120deg, var(--gb-accent-text), var(--gb-accent));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.geb-hero__desc {
  max-width: 620px;
  font-size: calc(clamp(1.02rem, 0.95rem + 0.3vw, 1.2rem) * var(--font-scale, 1));
  line-height: 1.65;
  color: var(--gb-muted);
}
.geb-hero__actions,
.geb-showcase__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
.geb-hero__media {
  width: 100%;
  max-width: min(1080px, var(--container-width, 1240px));
}
.geb-hero__shot {
  position: relative;
  aspect-ratio: 16 / 9;
}
.geb-hero__shot img,
.geb-showcase__shot img {
  object-fit: cover;
  object-position: top;
}
/* media-right */
.geb-hero--media-right .geb-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: center;
}
.geb-hero--media-right .geb-hero__content {
  align-items: flex-start;
  text-align: start;
}
.geb-hero--media-right .geb-hero__actions {
  justify-content: flex-start;
}
.geb-hero--media-right .geb-hero__shot {
  aspect-ratio: 4 / 3;
}
/* minimal */
.geb-hero--minimal {
  padding: calc(8rem * var(--section-scale, 1)) 0 calc(6rem * var(--section-scale, 1));
}
.geb-hero--minimal::before {
  display: none;
}
@media (max-width: 1024px) {
  .geb-hero--media-right .geb-hero__inner {
      grid-template-columns: minmax(0, 1fr);
    }
  .geb-hero--media-right .geb-hero__content {
      align-items: center;
      text-align: center;
    }
  .geb-hero--media-right .geb-hero__actions {
      justify-content: center;
    }
}
/* ========================================================================== */
/* HERO SLIDER                                                                */
/* ========================================================================== */
/* ========================================================================== */
/* FEATURES                                                                   */
/* ========================================================================== */
.geb-features,
.geb-steps,
.geb-story,
.geb-tabs,
.geb-comparison,
.geb-timeline,
.geb-faq,
.geb-faq-cta,
.geb-quote,
.geb-cta,
.geb-newsletter,
.geb-contact-form,
.geb-contact,
.geb-pricing,
.geb-code,
.geb-bento,
.geb-showcase,
.geb-integrations,
.geb-trust,
.geb-changelog,
.geb-split {
  position: relative;
  padding: calc(6rem * var(--section-scale, 1)) 0;
}
.geb-features__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--gb-border);
  border-inline-start: 1px solid var(--gb-border);
}
.geb-features__item {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 2rem;
  border-inline-end: 1px solid var(--gb-border);
  border-bottom: 1px solid var(--gb-border);
  transition: background 0.2s;
}
.geb-features__item:hover {
  background: var(--gb-subtle);
}
.geb-features__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.geb-features__number {
  font-family: var(--gb-mono);
  font-size: calc(0.75rem * var(--font-scale, 1));
  color: var(--gb-faint);
}
.geb-features__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.geb-features__title,
.geb-steps__title,
.geb-bento__title,
.geb-timeline__title,
.geb-changelog__title {
  font-size: calc(1.05rem * var(--font-scale, 1));
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--gb-fg);
}
.geb-features__desc,
.geb-steps__desc,
.geb-bento__desc,
.geb-timeline__desc,
.geb-changelog__desc,
.geb-tabs__desc,
.geb-split__desc {
  font-size: calc(0.94rem * var(--font-scale, 1));
  line-height: 1.65;
  color: var(--gb-muted);
}
/* cards */
.geb-features--cards .geb-features__grid {
  gap: 1rem;
  border: 0;
}
.geb-features--cards .geb-features__item {
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
}
.geb-features--cards .geb-features__item:hover {
  border-color: var(--gb-border-strong);
  box-shadow: var(--gb-shadow);
}
/* list */
.geb-features--list .geb-features__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 3rem;
  border: 0;
}
.geb-features--list .geb-features__item {
  flex-direction: row;
  gap: 1rem;
  padding: 0;
  border: 0;
}
.geb-features--list .geb-features__item:hover {
  background: none;
}
.geb-features--list .geb-features__number {
  display: none;
}
@media (max-width: 1024px) {
  .geb-features__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
  .geb-features__grid,
.geb-features--list .geb-features__grid {
      grid-template-columns: minmax(0, 1fr);
    }
  .geb-features__item {
      padding: 1.5rem;
    }
}
/* ========================================================================== */
/* STEPS                                                                      */
/* ========================================================================== */
.geb-steps__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  list-style: none;
  counter-reset: none;
}
.geb-steps__item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--gb-border);
}
.geb-steps__item::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 40px;
  height: 1px;
  background: var(--gb-accent);
}
.geb-steps__number {
  font-family: var(--gb-mono);
  font-size: calc(0.78rem * var(--font-scale, 1));
  color: var(--gb-accent-text);
}
/* ========================================================================== */
/* STATS + METRIC BAND                                                        */
/* ========================================================================== */
.geb-metric-band {
  padding: calc(4rem * var(--section-scale, 1)) 0;
  border-block: 1px solid var(--gb-border);
  background: var(--gb-subtle);
}
.geb-metric-band__inner {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.geb-metric-band__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  text-align: center;
}
.geb-metric-band__title {
  font-size: calc(1.15rem * var(--font-scale, 1));
  font-weight: 600;
  color: var(--gb-fg);
}
.geb-metric-band__row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 2rem;
}
.geb-metric-band__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  text-align: center;
}
.geb-metric-band__value {
  font-family: var(--gb-mono);
  font-size: calc(clamp(1.9rem, 1.4rem + 1.6vw, 2.6rem) * var(--font-scale, 1));
  font-weight: 600;
  letter-spacing: -0.04em;
  color: var(--gb-fg);
}
.geb-metric-band__label {
  font-size: calc(0.9rem * var(--font-scale, 1));
  font-weight: 500;
  color: var(--gb-fg);
}
.geb-metric-band__desc {
  font-size: calc(0.82rem * var(--font-scale, 1));
  color: var(--gb-muted);
}
/* ========================================================================== */
/* STORY                                                                      */
/* ========================================================================== */
.geb-story__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 4rem;
}
.geb-story__text .gb-head {
  margin-bottom: 1.5rem;
}
.geb-story__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.75;
  color: var(--gb-muted);
}
.geb-story__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--gb-border);
}
.geb-story__stat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.geb-story__stat-value {
  font-size: calc(1.8rem * var(--font-scale, 1));
  font-weight: 700;
  letter-spacing: -0.04em;
  color: var(--gb-fg);
}
.geb-story__stat-label {
  order: 2;
  font-size: calc(0.85rem * var(--font-scale, 1));
  color: var(--gb-muted);
}
.geb-story__media {
  position: relative;
  aspect-ratio: 4 / 3;
}
.geb-story__media img,
.geb-tabs__media img,
.geb-split__media img,
.geb-changelog__media img,
.geb-bento__media img {
  object-fit: cover;
}
@media (max-width: 1024px) {
  .geb-story__inner {
      grid-template-columns: minmax(0, 1fr);
      gap: 2.5rem;
    }
}
/* ========================================================================== */
/* TABS                                                                       */
/* ========================================================================== */
.geb-tabs__list {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 2.5rem;
  padding: 0.25rem;
  overflow-x: auto;
  border: 1px solid var(--gb-border);
  border-radius: 10px;
  background: var(--gb-subtle);
}
.geb-tabs__tab {
  padding: 0.5rem 1rem;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--gb-muted);
  font-size: calc(0.88rem * var(--font-scale, 1));
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.15s, background 0.15s;
}
.geb-tabs__tab:hover {
  color: var(--gb-fg);
}
.geb-tabs__tab.is-active {
  background: var(--gb-card);
  color: var(--gb-fg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), 0 0 0 1px var(--gb-border);
}
.geb-tabs__panel {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: 3rem;
}
.geb-tabs__copy {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.geb-tabs__title,
.geb-split__title {
  font-size: calc(1.6rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: var(--gb-fg);
}
.geb-tabs__media {
  position: relative;
  aspect-ratio: 16 / 10;
}
@media (max-width: 1024px) {
  .geb-tabs__panel {
      grid-template-columns: minmax(0, 1fr);
    }
  .geb-tabs__list {
      justify-content: flex-start;
    }
}
/* ========================================================================== */
/* COMPARISON                                                                 */
/* ========================================================================== */
.geb-comparison__table-wrap {
  max-width: 860px;
  margin: 0 auto;
  overflow-x: auto;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
}
.geb-comparison__table {
  width: 100%;
  border-collapse: collapse;
  font-size: calc(0.93rem * var(--font-scale, 1));
}
.geb-comparison__table th,
.geb-comparison__table td {
  padding: 0.95rem 1.25rem;
  border-bottom: 1px solid var(--gb-border);
  text-align: start;
}
.geb-comparison__table thead th {
  background: var(--gb-subtle);
  font-family: var(--gb-mono);
  font-size: calc(0.74rem * var(--font-scale, 1));
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gb-muted);
}
.geb-comparison__table tbody tr:last-child > * {
  border-bottom: 0;
}
.geb-comparison__table tbody th {
  font-weight: 500;
  color: var(--gb-fg);
}
.geb-comparison__table td {
  color: var(--gb-muted);
}
.geb-comparison__ours {
  background: color-mix(in srgb, var(--primary-color) 6%, transparent);
}
.geb-comparison__table thead .geb-comparison__ours {
  color: var(--gb-accent-text);
}
/* ========================================================================== */
/* TIMELINE                                                                   */
/* ========================================================================== */
.geb-timeline__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 820px;
  margin: 0 auto;
  list-style: none;
}
.geb-timeline__list::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  left: 120px;
  width: 1px;
  background: var(--gb-border);
}
.geb-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 2rem;
}
.geb-timeline__item::before {
  content: "";
  position: absolute;
  top: 1.35rem;
  left: 116px;
  width: 9px;
  height: 9px;
  border: 2px solid var(--gb-bg);
  border-radius: 50%;
  background: var(--gb-accent);
}
.geb-timeline__date {
  padding-top: 1.1rem;
  font-family: var(--gb-mono);
  font-size: calc(0.78rem * var(--font-scale, 1));
  color: var(--gb-muted);
}
.geb-timeline__card {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 1.1rem 1.25rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius);
  background: var(--gb-card);
}
.geb-timeline__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
@media (max-width: 767px) {
  .geb-timeline__list::before,
.geb-timeline__item::before {
      display: none;
    }
  .geb-timeline__item {
      grid-template-columns: minmax(0, 1fr);
      gap: 0.4rem;
    }
  .geb-timeline__date {
      padding-top: 0;
    }
}
/* ========================================================================== */
/* FAQ + FAQ CTA                                                              */
/* ========================================================================== */
.geb-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 4rem;
}
.geb-faq__inner .gb-head {
  margin-bottom: 0;
}
.geb-faq__list,
.geb-faq-cta__list {
  border-top: 1px solid var(--gb-border);
}
.geb-faq-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  align-items: start;
  gap: 3rem;
}
.geb-faq-cta__faq .gb-head {
  margin-bottom: 2rem;
}
.geb-faq-cta__card {
  position: sticky;
  top: 6rem;
  overflow: hidden;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-subtle);
}
.geb-faq-cta__card--image {
  min-height: 360px;
  background: #0a0a0a;
}
.geb-faq-cta__bg {
  position: absolute;
  inset: 0;
}
.geb-faq-cta__bg img {
  object-fit: cover;
  opacity: 0.45;
}
.geb-faq-cta__card-body {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  padding: 2rem;
}
.geb-faq-cta__card--image .geb-faq-cta__card-body {
  justify-content: flex-end;
  min-height: 360px;
  color: #ffffff;
}
.geb-faq-cta__card-title {
  font-size: calc(1.5rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.03em;
}
.geb-faq-cta__card-text {
  font-size: calc(0.95rem * var(--font-scale, 1));
  line-height: 1.65;
  color: var(--gb-muted);
}
.geb-faq-cta__card--image .geb-faq-cta__card-text {
  color: rgba(255, 255, 255, 0.82);
}
@media (max-width: 1024px) {
  .geb-faq__inner,
.geb-faq-cta__inner {
      grid-template-columns: minmax(0, 1fr);
      gap: 2rem;
    }
  .geb-faq-cta__card {
      position: relative;
      top: 0;
    }
}
/* ========================================================================== */
/* TEAM                                                                       */
/* ========================================================================== */
/* ========================================================================== */
/* TESTIMONIALS + QUOTE                                                       */
/* ========================================================================== */
.geb-quote__author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.geb-quote__avatar {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: none;
  overflow: hidden;
  border: 1px solid var(--gb-border);
  border-radius: 50%;
  background: var(--gb-subtle-2);
  font-weight: 600;
  color: var(--gb-muted);
}
.geb-quote__avatar {
  width: 44px;
  height: 44px;
}
.geb-quote__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.geb-quote__name {
  display: block;
  font-size: calc(0.92rem * var(--font-scale, 1));
  font-weight: 600;
  color: var(--gb-fg);
}
.geb-quote__role {
  display: block;
  font-size: calc(0.82rem * var(--font-scale, 1));
  color: var(--gb-muted);
}
/* wall */
.geb-quote__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  max-width: 900px;
  text-align: center;
}
.geb-quote__text {
  font-size: calc(clamp(1.4rem, 1rem + 1.6vw, 2.2rem) * var(--font-scale, 1));
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.025em;
  color: var(--gb-fg);
}
.geb-quote__text::before {
  content: "\201C";
  color: var(--gb-icon);
}
.geb-quote__text::after {
  content: "\201D";
  color: var(--gb-icon);
}
.geb-quote__author {
  text-align: start;
}
/* ========================================================================== */
/* LOGOS + MARQUEE                                                            */
/* ========================================================================== */
.geb-logos {
  padding: calc(3.5rem * var(--section-scale, 1)) 0;
}
.geb-logos__title {
  margin-bottom: 1.75rem;
  text-align: center;
  font-family: var(--gb-mono);
  font-size: calc(0.76rem * var(--font-scale, 1));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gb-faint);
}
.geb-logos__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2.5rem 3.5rem;
  list-style: none;
}
.geb-logos__img {
  max-height: 28px;
  max-width: 140px;
  opacity: 0.6;
  filter: grayscale(1);
  transition: opacity 0.2s, filter 0.2s;
}
.geb-logos__item:hover .geb-logos__img {
  opacity: 1;
}
.geb-logos__name {
  font-size: calc(1.1rem * var(--font-scale, 1));
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--gb-faint);
}
.geb-marquee {
  overflow: hidden;
  padding: calc(1.25rem * var(--section-scale, 1)) 0;
  border-block: 1px solid var(--gb-border);
}
.geb-marquee__viewport {
  display: flex;
  width: max-content;
  animation: gb-marquee var(--gb-marquee-speed, 30s) linear infinite;
}
.geb-marquee__track {
  display: flex;
  flex: none;
}
.geb-marquee__item {
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  padding-inline-end: 2rem;
  font-size: calc(1.1rem * var(--font-scale, 1));
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--gb-muted);
  white-space: nowrap;
}
.geb-marquee__sep {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gb-accent);
}
@keyframes gb-marquee {
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .geb-marquee__viewport,
.gb-skeleton {
      animation: none;
    }
}
/* ========================================================================== */
/* CTA + ANNOUNCEMENT                                                         */
/* ========================================================================== */
.geb-cta__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  overflow: hidden;
  padding: 4.5rem 2rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-subtle);
  text-align: center;
}
.geb-cta__card::before {
  content: "";
  position: absolute;
  bottom: -60%;
  left: 50%;
  width: 70%;
  height: 100%;
  transform: translateX(-50%);
  background: radial-gradient(closest-side, color-mix(in srgb, var(--primary-color) 24%, transparent), transparent);
  pointer-events: none;
}
.geb-cta__grid {
  -webkit-mask-image: radial-gradient(ellipse 60% 80% at 50% 50%, #000 20%, transparent 75%);
  mask-image: radial-gradient(ellipse 60% 80% at 50% 50%, #000 20%, transparent 75%);
}
.geb-cta__card--image {
  background: #0a0a0a;
  color: #ffffff;
}
.geb-cta__bg {
  position: absolute;
  inset: 0;
}
.geb-cta__bg img {
  object-fit: cover;
  opacity: 0.35;
}
.geb-cta__copy {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  max-width: 640px;
}
.geb-cta__title {
  font-size: calc(clamp(1.8rem, 1.2rem + 2vw, 2.8rem) * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.04em;
}
.geb-cta__desc {
  font-size: calc(1.05rem * var(--font-scale, 1));
  line-height: 1.6;
  color: var(--gb-muted);
}
.geb-cta__card--image .geb-cta__desc {
  color: rgba(255, 255, 255, 0.8);
}
.geb-cta__actions {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
/* split */
.geb-cta--split .geb-cta__card {
  flex-direction: row;
  justify-content: space-between;
  padding: 2.5rem;
  text-align: start;
}
.geb-cta--split .geb-cta__copy {
  align-items: flex-start;
}
.geb-cta--split .geb-cta__grid,
.geb-cta--split .geb-cta__card::before {
  display: none;
}
@media (max-width: 767px) {
  .geb-cta--split .geb-cta__card {
      flex-direction: column;
      align-items: flex-start;
      padding: 2rem 1.5rem;
    }
  .geb-cta__card {
      padding: 3rem 1.25rem;
    }
}
.geb-announcement {
  border-bottom: 1px solid var(--gb-border);
  background: var(--gb-subtle);
}
.geb-announcement__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.6rem;
  min-height: 40px;
  padding-block: 0.5rem;
  font-size: calc(0.84rem * var(--font-scale, 1));
  color: var(--gb-fg);
}
.geb-announcement__note {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--gb-accent-text);
  font-weight: 500;
}
/* ========================================================================== */
/* NEWSLETTER + CONTACT FORM + CONTACT                                        */
/* ========================================================================== */
.geb-newsletter__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 2.5rem;
  padding: 2.5rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-subtle);
}
.geb-newsletter__copy {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.geb-newsletter__title {
  font-size: calc(1.6rem * var(--font-scale, 1));
  font-weight: 700;
  letter-spacing: -0.03em;
}
.geb-newsletter__desc {
  font-size: calc(0.96rem * var(--font-scale, 1));
  line-height: 1.6;
  color: var(--gb-muted);
}
.geb-contact-form__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  align-items: start;
  gap: 3.5rem;
}
.geb-contact-form__inner .gb-head {
  margin-bottom: 0;
}
.geb-contact-form__form {
  padding: 1.75rem;
}
.geb-contact__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}
.geb-contact__list {
  display: flex;
  flex-direction: column;
  list-style: none;
}
.geb-contact__row {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--gb-border);
}
.geb-contact__row:last-child {
  border-bottom: 0;
}
.geb-contact__value {
  font-size: calc(0.95rem * var(--font-scale, 1));
  color: var(--gb-fg);
  white-space: pre-line;
}
a.geb-contact__value:hover {
  color: var(--gb-accent-text);
}
.geb-contact__office {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 1.5rem;
}
.geb-contact__city {
  font-size: calc(1.05rem * var(--font-scale, 1));
  font-weight: 600;
  color: var(--gb-fg);
}
.geb-contact__address {
  font-size: calc(0.92rem * var(--font-scale, 1));
  line-height: 1.6;
  color: var(--gb-muted);
  white-space: pre-line;
}
.geb-contact__tz {
  font-family: var(--gb-mono);
  font-size: calc(0.75rem * var(--font-scale, 1));
  color: var(--gb-faint);
}
@media (max-width: 1024px) {
  .geb-newsletter__card,
.geb-contact-form__inner {
      grid-template-columns: minmax(0, 1fr);
      gap: 1.75rem;
    }
}
@media (max-width: 767px) {
  .geb-newsletter__card {
      padding: 1.75rem 1.25rem;
    }
}
/* ========================================================================== */
/* PRICING + MEMBERSHIP PLANS                                                 */
/* ========================================================================== */
.geb-pricing__toggle {
  display: flex;
  gap: 0.25rem;
  width: fit-content;
  margin: -1.5rem auto 2.5rem;
  padding: 0.25rem;
  border: 1px solid var(--gb-border);
  border-radius: 999px;
  background: var(--gb-subtle);
}
.geb-pricing__toggle-btn {
  padding: 0.45rem 1.1rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--gb-muted);
  font-size: calc(0.86rem * var(--font-scale, 1));
  font-weight: 500;
  cursor: pointer;
  transition: color 0.15s, background 0.15s;
}
.geb-pricing__toggle-btn.is-active {
  background: var(--gb-card);
  color: var(--gb-fg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), 0 0 0 1px var(--gb-border);
}
.geb-pricing__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}
.geb-pricing__grid[data-count="1"] {
  grid-template-columns: minmax(0, 420px);
  justify-content: center;
}
.geb-pricing__grid[data-count="2"] {
  grid-template-columns: repeat(2, minmax(0, 400px));
  justify-content: center;
}
.geb-pricing__grid[data-count="4"] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.geb-pricing__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.75rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
}
.geb-pricing__card.is-popular {
  border-color: var(--gb-accent);
  box-shadow: 0 0 0 1px var(--gb-accent), 0 20px 48px -24px color-mix(in srgb, var(--primary-color) 60%, transparent);
}
.geb-pricing__badge {
  position: absolute;
  top: -11px;
  left: 1.75rem;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  background: var(--gb-accent);
  color: var(--gb-on-accent);
  font-family: var(--gb-mono);
  font-size: calc(0.7rem * var(--font-scale, 1));
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.geb-pricing__name {
  font-size: calc(1.05rem * var(--font-scale, 1));
  font-weight: 600;
  color: var(--gb-fg);
}
.geb-pricing__desc {
  min-height: 2.8em;
  font-size: calc(0.9rem * var(--font-scale, 1));
  line-height: 1.55;
  color: var(--gb-muted);
}
.geb-pricing__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.geb-pricing__amount {
  font-size: calc(2.4rem * var(--font-scale, 1));
  font-weight: 700;
  letter-spacing: -0.045em;
  color: var(--gb-fg);
}
.geb-pricing__period {
  font-size: calc(0.88rem * var(--font-scale, 1));
  color: var(--gb-muted);
}
.geb-pricing__trial {
  margin-top: -0.5rem;
  font-family: var(--gb-mono);
  font-size: calc(0.76rem * var(--font-scale, 1));
  color: var(--gb-accent-text);
}
.geb-pricing__cta {
  width: 100%;
}
.geb-pricing__features {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--gb-border);
  list-style: none;
}
.geb-pricing__features li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: calc(0.9rem * var(--font-scale, 1));
  line-height: 1.45;
  color: var(--gb-muted);
}
.geb-pricing__features svg {
  flex: none;
  margin-top: 0.12em;
  color: var(--gb-accent-text);
}
@media (max-width: 1024px) {
  .geb-pricing__grid,
.geb-pricing__grid[data-count="4"] {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
  .geb-pricing__grid,
.geb-pricing__grid[data-count] {
      grid-template-columns: minmax(0, 1fr);
    }
}
/* ========================================================================== */
/* LATEST POSTS                                                               */
/* ========================================================================== */
.geb-split__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex: none;
  font-size: calc(0.9rem * var(--font-scale, 1));
  font-weight: 500;
  color: var(--gb-fg);
}
.geb-split__link:hover {
  color: var(--gb-accent-text);
}
/* list */
/* ========================================================================== */
/* CODE SHOWCASE                                                              */
/* ========================================================================== */
.geb-code__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: 3rem;
}
.geb-code__inner .gb-head {
  margin-bottom: 0;
}
.geb-code__window {
  background: #0a0a0a;
  border-color: rgba(255, 255, 255, 0.1);
}
.geb-code__window .gb-frame__bar {
  background: #111111;
  border-color: rgba(255, 255, 255, 0.08);
}
.geb-code__window .gb-frame__bar > span:nth-child(-n + 3) {
  background: rgba(255, 255, 255, 0.18);
}
.geb-code__lang {
  margin-inline-start: auto;
  font-family: var(--gb-mono);
  font-size: calc(0.72rem * var(--font-scale, 1));
  color: rgba(255, 255, 255, 0.5);
}
.geb-code__pre {
  margin: 0;
  padding: 1.25rem 0;
  overflow-x: auto;
  font-family: var(--gb-mono);
  font-size: calc(0.85rem * var(--font-scale, 1));
  line-height: 1.75;
  color: #ededed;
}
.geb-code__line {
  display: block;
  padding-inline-end: 1.25rem;
  white-space: pre;
}
.geb-code__ln {
  display: inline-block;
  width: 3rem;
  padding-inline-end: 1rem;
  text-align: end;
  color: rgba(255, 255, 255, 0.28);
  user-select: none;
}
@media (max-width: 1024px) {
  .geb-code__inner {
      grid-template-columns: minmax(0, 1fr);
    }
}
/* ========================================================================== */
/* BENTO GRID                                                                 */
/* ========================================================================== */
.geb-bento__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(220px, auto);
  grid-auto-flow: dense;
  gap: 1rem;
}
.geb-bento__card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.25rem;
  overflow: hidden;
  padding: 1.75rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
  transition: border-color 0.2s;
}
.geb-bento__card:hover {
  border-color: var(--gb-border-strong);
}
.geb-bento__card::after {
  content: "";
  position: absolute;
  inset: auto -30% -60% auto;
  width: 60%;
  height: 80%;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--primary-color) 12%, transparent), transparent);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}
.geb-bento__card:hover::after {
  opacity: 1;
}
.geb-bento__card--wide {
  grid-column: span 2;
}
.geb-bento__card--tall {
  grid-row: span 2;
}
.geb-bento__card--lg {
  grid-column: span 2;
  grid-row: span 2;
}
.geb-bento__copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.geb-bento__copy .gb-icon {
  margin-bottom: 0.4rem;
}
.geb-bento__media {
  position: relative;
  flex: 1;
  min-height: 160px;
  margin: 0 -1.75rem -1.75rem;
  border-top: 1px solid var(--gb-border);
  background: var(--gb-subtle);
}
.geb-bento__card--wide .geb-bento__media,
.geb-bento__card--lg .geb-bento__media {
  min-height: 220px;
}
@media (max-width: 1024px) {
  .geb-bento__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  .geb-bento__card--lg {
      grid-row: span 1;
    }
}
@media (max-width: 767px) {
  .geb-bento__grid {
      grid-template-columns: minmax(0, 1fr);
    }
  .geb-bento__card--wide,
.geb-bento__card--lg {
      grid-column: auto;
    }
  .geb-bento__card--tall {
      grid-row: auto;
    }
}
/* ========================================================================== */
/* PRODUCT SHOWCASE                                                           */
/* ========================================================================== */
.geb-showcase {
  overflow: hidden;
}
.geb-showcase__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.geb-showcase__inner .gb-head {
  margin-bottom: 2rem;
}
.geb-showcase__stage {
  position: relative;
  width: 100%;
  max-width: min(1080px, var(--container-width, 1240px));
  margin-top: 3.5rem;
}
.geb-showcase--glow .geb-showcase__stage::before {
  content: "";
  position: absolute;
  inset: 10% 5% -10%;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--primary-color) 34%, transparent), transparent);
  filter: blur(40px);
  pointer-events: none;
}
.geb-showcase__frame,
.geb-showcase__plain {
  position: relative;
}
.geb-showcase__url {
  margin: 0 auto;
  padding: 0.15rem 2.5rem;
  border: 1px solid var(--gb-border);
  border-radius: 6px;
  background: var(--gb-card);
  font-family: var(--gb-mono);
  font-size: calc(0.72rem * var(--font-scale, 1));
  color: var(--gb-muted);
}
.geb-showcase__shot {
  position: relative;
  aspect-ratio: 16 / 9;
}
.geb-showcase__stage--device {
  max-width: 420px;
}
.geb-showcase__stage--device .geb-showcase__frame {
  padding: 10px;
  border-radius: 36px;
  background: var(--gb-subtle-2);
}
.geb-showcase__stage--device .geb-showcase__shot {
  aspect-ratio: 9 / 19;
  overflow: hidden;
  border-radius: 28px;
}
.geb-showcase__stage--none .geb-showcase__shot {
  overflow: hidden;
  border-radius: var(--gb-radius-lg);
}
.geb-showcase__points {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem 2rem;
  margin-top: 2.5rem;
  list-style: none;
}
.geb-showcase__point {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: calc(0.92rem * var(--font-scale, 1));
  font-weight: 500;
  color: var(--gb-fg);
}
.geb-showcase__point .gb-icon {
  width: 28px;
  height: 28px;
  color: var(--gb-accent-text);
}
/* ========================================================================== */
/* INTEGRATIONS                                                               */
/* ========================================================================== */
.geb-integrations__filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin: -1.5rem 0 2.5rem;
}
.geb-integrations__filter {
  padding: 0.4rem 0.9rem;
  border: 1px solid var(--gb-border);
  border-radius: 999px;
  background: var(--gb-card);
  color: var(--gb-muted);
  font-size: calc(0.84rem * var(--font-scale, 1));
  font-weight: 500;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s, background 0.15s;
}
.geb-integrations__filter:hover {
  color: var(--gb-fg);
  border-color: var(--gb-border-strong);
}
.geb-integrations__filter.is-active {
  background: var(--gb-fg);
  border-color: var(--gb-fg);
  color: var(--gb-bg);
}
.geb-integrations__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
  list-style: none;
}
.geb-integrations__card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.4rem 0.9rem;
  height: 100%;
  padding: 1.1rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
  transition: border-color 0.2s, box-shadow 0.2s;
}
a.geb-integrations__card:hover {
  border-color: var(--gb-border-strong);
  box-shadow: var(--gb-shadow);
}
.geb-integrations__logo {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border: 1px solid var(--gb-border);
  border-radius: 10px;
  background: var(--gb-subtle);
  color: var(--gb-fg);
}
.geb-integrations__logo img {
  object-fit: contain;
}
.geb-integrations__text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.geb-integrations__name {
  font-size: calc(0.96rem * var(--font-scale, 1));
  font-weight: 600;
  color: var(--gb-fg);
}
.geb-integrations__category {
  font-family: var(--gb-mono);
  font-size: calc(0.72rem * var(--font-scale, 1));
  color: var(--gb-faint);
}
.geb-integrations__desc {
  grid-column: 1 / -1;
  font-size: calc(0.86rem * var(--font-scale, 1));
  line-height: 1.55;
  color: var(--gb-muted);
}
.geb-integrations__more,
.geb-changelog__more {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
/* ========================================================================== */
/* TRUST BADGES                                                               */
/* ========================================================================== */
.geb-trust__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  overflow: hidden;
  list-style: none;
}
.geb-trust__badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  padding: 2rem 1.25rem;
  margin: 0 -1px -1px 0;
  border-inline-end: 1px solid var(--gb-border);
  border-bottom: 1px solid var(--gb-border);
  background: var(--gb-card);
  text-align: center;
}
.geb-trust__seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border: 1px solid color-mix(in srgb, var(--primary-color) 40%, transparent);
  border-radius: 50%;
  background: var(--gb-accent-soft);
  color: var(--gb-accent-text);
}
.geb-trust__name {
  font-family: var(--gb-mono);
  font-size: calc(0.86rem * var(--font-scale, 1));
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--gb-fg);
}
.geb-trust__desc {
  font-size: calc(0.84rem * var(--font-scale, 1));
  line-height: 1.5;
  color: var(--gb-muted);
}
.geb-trust__foot {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  margin-top: 2rem;
  text-align: center;
}
.geb-trust__note {
  font-size: calc(0.88rem * var(--font-scale, 1));
  color: var(--gb-muted);
}
/* ========================================================================== */
/* CHANGELOG                                                                  */
/* ========================================================================== */
.geb-changelog__list {
  display: flex;
  flex-direction: column;
  list-style: none;
}
.geb-changelog__entry {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 2.5rem;
  padding: 2.25rem 0;
  border-top: 1px solid var(--gb-border);
}
.geb-changelog__aside {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-family: var(--gb-mono);
  font-size: calc(0.8rem * var(--font-scale, 1));
  color: var(--gb-muted);
}
.geb-changelog__aside time {
  position: sticky;
  top: 6rem;
}
.geb-changelog__version {
  width: fit-content;
  padding: 0.1rem 0.5rem;
  border: 1px solid var(--gb-border);
  border-radius: 6px;
  color: var(--gb-fg);
}
.geb-changelog__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
}
.geb-changelog__title {
  font-size: calc(1.35rem * var(--font-scale, 1));
  letter-spacing: -0.025em;
}
.geb-changelog__tag {
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-family: var(--gb-mono);
  font-size: calc(0.7rem * var(--font-scale, 1));
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.geb-changelog__tag--new {
  background: var(--gb-accent-soft);
  color: var(--gb-accent-text);
}
.geb-changelog__tag--improved {
  background: color-mix(in srgb, #3b82f6 14%, transparent);
  color: color-mix(in srgb, #3b82f6 80%, var(--gb-fg));
}
.geb-changelog__tag--fixed {
  background: color-mix(in srgb, #f59e0b 16%, transparent);
  color: color-mix(in srgb, #d97706 85%, var(--gb-fg));
}
.geb-changelog__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-top: 0.75rem;
}
@media (max-width: 767px) {
  .geb-changelog__entry {
      grid-template-columns: minmax(0, 1fr);
      gap: 0.75rem;
      padding: 1.75rem 0;
    }
  .geb-changelog__aside {
      flex-direction: row;
      align-items: center;
    }
}
/* ========================================================================== */
/* FEATURE SPLIT                                                              */
/* ========================================================================== */
.geb-split__rows {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
.geb-split__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  align-items: center;
  gap: 4rem;
}
.geb-split__row--reverse .geb-split__copy {
  order: 2;
}
.geb-split__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}
.geb-split__points {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  list-style: none;
}
.geb-split__points li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: calc(0.94rem * var(--font-scale, 1));
  color: var(--gb-fg);
}
.geb-split__points svg {
  flex: none;
  margin-top: 0.15em;
  color: var(--gb-accent-text);
}
.geb-split__media {
  position: relative;
  aspect-ratio: 4 / 3;
}
.geb-split__placeholder {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, var(--gb-grid-line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--gb-grid-line) 1px, transparent 1px);
  background-size: 32px 32px;
}
@media (max-width: 1024px) {
  .geb-split__rows {
      gap: 4rem;
    }
  .geb-split__row {
      grid-template-columns: minmax(0, 1fr);
      gap: 2rem;
    }
  .geb-split__row--reverse .geb-split__copy {
      order: 0;
    }
}
/* ========================================================================== */
/* MOBILE SECTION RHYTHM                                                      */
/* ========================================================================== */
@media (max-width: 767px) {
  .gb-head {
      margin-bottom: 2.25rem;
    }
  .geb-hero {
      padding: calc(4.5rem * var(--section-scale, 1)) 0 calc(3.5rem * var(--section-scale, 1));
    }
  .geb-hero__inner {
      gap: 2.5rem;
    }
}
/* ========================================================================== */
/* VARIANTS — shared surfaces (saas/variants.ts SAAS_SURFACES)                 */
/* Every block root carries data-variant; a surface only changes the backdrop. */
/* ========================================================================== */
/* inverse: the opposite color mode's palette inside one section (dark band on a light page and vice versa). */
.geb-ui[data-variant="inverse"]:not(header):not(footer) {
  background: var(--gb-bg);
  color: var(--gb-fg);
}
.geb-ui[data-variant="subtle"]:not(header):not(footer) {
  background: var(--gb-subtle);
}
.geb-ui[data-variant="bordered"]:not(header):not(footer) {
  border-block: 1px solid var(--gb-border);
}
.geb-ui[data-variant="grid"]:not(header):not(footer) {
  background-image:
    radial-gradient(ellipse 80% 70% at 50% 50%, transparent 20%, var(--gb-bg) 85%),
    linear-gradient(to right, var(--gb-grid-line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--gb-grid-line) 1px, transparent 1px);
  background-size: 100% 100%, 48px 48px, 48px 48px;
}
.geb-ui[data-variant="glow"]:not(header):not(footer) {
  background-image:
    radial-gradient(60% 55% at 50% 0%, color-mix(in srgb, var(--primary-color) 18%, transparent), transparent 70%),
    radial-gradient(40% 40% at 90% 100%, color-mix(in srgb, var(--primary-color) 8%, transparent), transparent 70%);
}
/* Shared helper: left-aligned section head for left / split variants. */
.geb-features--icon-left .gb-head,
.geb-logos--split .geb-logos__title,
.geb-showcase--left .gb-head,
.geb-showcase--split .gb-head,
.geb-cta--left .geb-cta__copy {
  align-items: flex-start;
  margin-inline: 0;
  text-align: start;
}
/* ========================================================================== */
/* VARIANTS — headers                                                         */
/* ========================================================================== */
/* ========================================================================== */
/* VARIANTS — footer                                                          */
/* ========================================================================== */
/* ========================================================================== */
/* VARIANTS — hero                                                            */
/* ========================================================================== */
.geb-hero--media-left .geb-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: center;
}
.geb-hero--media-left .geb-hero__media {
  order: -1;
}
.geb-hero--media-left .geb-hero__content,
.geb-hero--left .geb-hero__content {
  align-items: flex-start;
  text-align: start;
}
.geb-hero--media-left .geb-hero__actions,
.geb-hero--left .geb-hero__actions {
  justify-content: flex-start;
}
.geb-hero--media-left .geb-hero__shot {
  aspect-ratio: 4 / 3;
}
.geb-hero--left .geb-hero__inner {
  align-items: flex-start;
}
.geb-hero--left .geb-hero__grid {
  -webkit-mask-image: radial-gradient(ellipse 60% 70% at 0% 0%, #000 30%, transparent 75%);
  mask-image: radial-gradient(ellipse 60% 70% at 0% 0%, #000 30%, transparent 75%);
}
.geb-hero--left::before {
  left: 10%;
}
.geb-hero--tilted .geb-hero__inner {
  perspective: 1600px;
}
.geb-hero--tilted .geb-hero__media {
  transform: rotateX(18deg) scale(0.96);
  transform-origin: 50% 0%;
  box-shadow: 0 40px 80px -40px color-mix(in srgb, var(--primary-color) 45%, transparent), var(--gb-shadow);
  transition: transform 0.6s ease;
}
.geb-hero--tilted .geb-hero__media:hover {
  transform: rotateX(6deg) scale(0.99);
}
.geb-hero--compact {
  padding: calc(4.5rem * var(--section-scale, 1)) 0 calc(3.5rem * var(--section-scale, 1));
}
.geb-hero--compact .geb-hero__title {
  font-size: calc(clamp(2rem, 1.3rem + 2.8vw, 3.4rem) * var(--font-scale, 1));
}
.geb-hero--compact .geb-hero__inner {
  gap: 2.5rem;
}
.geb-hero[data-variant="inverse"]::before,
.geb-hero[data-variant="subtle"]::before {
  opacity: 0.8;
}
@media (max-width: 1024px) {
  .geb-hero--media-left .geb-hero__inner {
      grid-template-columns: minmax(0, 1fr);
    }
  .geb-hero--media-left .geb-hero__media {
      order: 0;
    }
}
@media (prefers-reduced-motion: reduce) {
  .geb-hero--tilted .geb-hero__media {
      transition: none;
    }
}
/* ========================================================================== */
/* VARIANTS — hero slider                                                     */
/* ========================================================================== */
/* ========================================================================== */
/* VARIANTS — features                                                        */
/* ========================================================================== */
.geb-features--columns-2 .geb-features__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.geb-features--columns-4 .geb-features__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.geb-features--columns-4 .geb-features__item {
  padding: 1.5rem;
}
.geb-features--centered .geb-features__grid {
  gap: 1rem;
  border: 0;
}
.geb-features--centered .geb-features__item {
  align-items: center;
  text-align: center;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
}
.geb-features--centered .geb-features__top {
  flex-direction: column;
  gap: 0.6rem;
}
.geb-features--centered .gb-icon,
.geb-features--icon-left .gb-icon {
  width: 44px;
  height: 44px;
  border-color: color-mix(in srgb, var(--primary-color) 35%, transparent);
  background: var(--gb-accent-soft);
  color: var(--gb-accent-text);
}
.geb-features--icon-left .geb-features__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  border: 0;
}
.geb-features--icon-left .geb-features__item {
  flex-direction: row;
  align-items: flex-start;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
}
.geb-features--icon-left .geb-features__top {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}
.geb-features--icon-left .gb-head {
  max-width: none;
}
.geb-features--minimal .geb-features__grid {
  gap: 3rem 2.5rem;
  border: 0;
}
.geb-features--minimal .geb-features__item {
  gap: 0.9rem;
  padding: 0;
  border: 0;
}
.geb-features--minimal .geb-features__item:hover {
  background: none;
}
.geb-features--minimal .gb-icon {
  border: 0;
  background: none;
  color: var(--gb-accent-text);
  width: auto;
  height: auto;
}
@media (max-width: 1024px) {
  .geb-features--columns-4 .geb-features__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
  .geb-features--columns-2 .geb-features__grid,
.geb-features--columns-4 .geb-features__grid,
.geb-features--icon-left .geb-features__grid {
      grid-template-columns: minmax(0, 1fr);
    }
}
/* ========================================================================== */
/* VARIANTS — steps                                                           */
/* ========================================================================== */
.geb-steps--cards .geb-steps__item {
  padding: 1.75rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
}
.geb-steps--cards .geb-steps__item::before {
  top: 1.75rem;
  left: auto;
  right: 1.75rem;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.geb-steps--vertical .geb-steps__list {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  max-width: 760px;
  margin: 0 auto;
}
.geb-steps--vertical .geb-steps__item {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  column-gap: 1.5rem;
  row-gap: 0.4rem;
  padding: 0 0 2.25rem;
  border-top: 0;
}
.geb-steps--vertical .geb-steps__item::before {
  top: 44px;
  bottom: 0;
  left: 21px;
  width: 1px;
  height: auto;
  background: var(--gb-border);
}
.geb-steps--vertical .geb-steps__item:last-child::before {
  display: none;
}
.geb-steps--vertical .geb-steps__number,
.geb-steps--connected .geb-steps__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid color-mix(in srgb, var(--primary-color) 40%, transparent);
  border-radius: 50%;
  background: var(--gb-card);
  color: var(--gb-accent-text);
}
.geb-steps--vertical .geb-steps__number {
  grid-row: 1 / span 2;
}
.geb-steps--connected .geb-steps__list {
  position: relative;
}
.geb-steps--connected .geb-steps__item {
  align-items: center;
  padding-top: 0;
  border-top: 0;
  text-align: center;
}
.geb-steps--connected .geb-steps__item::before {
  top: 22px;
  left: calc(50% + 30px);
  width: calc(100% - 60px + 1.5rem);
  background: var(--gb-border-strong);
}
.geb-steps--connected .geb-steps__item:last-child::before {
  display: none;
}
.geb-steps--large .geb-steps__number {
  font-family: inherit;
  font-size: calc(clamp(2.8rem, 2rem + 2.4vw, 4rem) * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.05em;
  color: transparent;
  -webkit-text-stroke: 1px var(--gb-border-strong);
}
.geb-steps--large .geb-steps__item:hover .geb-steps__number {
  -webkit-text-stroke-color: var(--gb-accent);
}
@media (max-width: 767px) {
  .geb-steps--connected .geb-steps__item::before {
      display: none;
    }
}
/* ========================================================================== */
/* VARIANTS — stats + metric band                                             */
/* ========================================================================== */
.geb-metric-band--plain {
  border-block: 0;
  background: none;
}
.geb-metric-band--split .geb-metric-band__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  align-items: center;
}
.geb-metric-band--split .geb-metric-band__head {
  align-items: flex-start;
  text-align: start;
}
.geb-metric-band--split .geb-metric-band__item {
  align-items: flex-start;
  text-align: start;
}
.geb-metric-band--cards .geb-metric-band__row {
  gap: 1rem;
}
.geb-metric-band--cards .geb-metric-band__item {
  padding: 1.5rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
}
.geb-metric-band--large .geb-metric-band__value {
  font-family: inherit;
  font-size: calc(clamp(2.6rem, 1.8rem + 3vw, 4.4rem) * var(--font-scale, 1));
  font-weight: 700;
  letter-spacing: -0.05em;
}
.geb-metric-band[data-variant="inverse"],
.geb-metric-band[data-variant="grid"],
.geb-metric-band[data-variant="glow"] {
  border-block-color: transparent;
}
@media (max-width: 1024px) {
  .geb-metric-band--split .geb-metric-band__inner {
      grid-template-columns: minmax(0, 1fr);
    }
}
/* ========================================================================== */
/* VARIANTS — story                                                           */
/* ========================================================================== */
.geb-story--media-left .geb-story__media {
  order: -1;
}
.geb-story--stacked .geb-story__inner,
.geb-story--centered .geb-story__inner {
  grid-template-columns: minmax(0, 1fr);
}
.geb-story--stacked .geb-story__media,
.geb-story--centered .geb-story__media {
  aspect-ratio: 21 / 9;
}
.geb-story--stacked .geb-story__body {
  columns: 2 320px;
  column-gap: 3rem;
  display: block;
}
.geb-story--stacked .geb-story__body p + p {
  margin-top: 1rem;
}
.geb-story--card .geb-story__inner {
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
}
.geb-story--card .geb-story__text {
  padding: 3rem;
}
.geb-story--card .geb-story__media {
  align-self: stretch;
  height: 100%;
  border: 0;
  border-inline-start: 1px solid var(--gb-border);
  border-radius: 0;
  box-shadow: none;
}
.geb-story--centered .geb-story__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.geb-story--centered .gb-head {
  align-items: center;
  text-align: center;
}
.geb-story--centered .geb-story__stats {
  width: 100%;
}
@media (max-width: 1024px) {
  .geb-story--media-left .geb-story__media {
      order: 0;
    }
  .geb-story--card .geb-story__text {
      padding: 2rem 1.5rem;
    }
  .geb-story--card .geb-story__media {
      border-inline-start: 0;
      border-top: 1px solid var(--gb-border);
      aspect-ratio: 16 / 10;
    }
}
/* ========================================================================== */
/* VARIANTS — tabs                                                            */
/* ========================================================================== */
.geb-tabs--underline .geb-tabs__list {
  gap: 1.5rem;
  width: 100%;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--gb-border);
  border-radius: 0;
  background: none;
}
.geb-tabs--underline .geb-tabs__tab {
  padding: 0.75rem 0;
  border-radius: 0;
  box-shadow: inset 0 -2px 0 transparent;
}
.geb-tabs--underline .geb-tabs__tab.is-active {
  background: none;
  box-shadow: inset 0 -2px 0 var(--gb-accent);
}
.geb-tabs--pills .geb-tabs__list {
  gap: 0.5rem;
  padding: 0;
  border: 0;
  background: none;
}
.geb-tabs--pills .geb-tabs__tab {
  border: 1px solid var(--gb-border);
  border-radius: 999px;
}
.geb-tabs--pills .geb-tabs__tab.is-active {
  border-color: var(--gb-accent);
  background: var(--gb-accent);
  color: var(--gb-on-accent);
  box-shadow: 0 0 0 4px var(--gb-accent-soft);
}
.geb-tabs--vertical .geb-tabs__inner {
  display: grid;
  grid-template-columns: minmax(200px, 0.32fr) minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  column-gap: 3rem;
}
.geb-tabs--vertical .gb-head {
  grid-column: 1 / -1;
}
.geb-tabs--vertical .geb-tabs__list {
  flex-direction: column;
  justify-content: flex-start;
  align-self: start;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-inline-start: 1px solid var(--gb-border);
  border-radius: 0;
  background: none;
}
.geb-tabs--vertical .geb-tabs__tab {
  padding: 0.75rem 1rem;
  border-radius: 0;
  margin-inline-start: -1px;
  border-inline-start: 2px solid transparent;
  text-align: start;
}
.geb-tabs--vertical .geb-tabs__tab.is-active {
  border-inline-start-color: var(--gb-accent);
  background: var(--gb-subtle);
  box-shadow: none;
}
.geb-tabs--vertical .geb-tabs__panel {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
}
.geb-tabs--stacked .geb-tabs__panel {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  text-align: center;
}
.geb-tabs--stacked .geb-tabs__copy {
  align-items: center;
  max-width: 640px;
}
.geb-tabs--stacked .geb-tabs__media {
  width: 100%;
  aspect-ratio: 21 / 9;
}
.geb-tabs--media-left .geb-tabs__panel {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
}
.geb-tabs--media-left .geb-tabs__media {
  order: -1;
}
@media (max-width: 1024px) {
  .geb-tabs--vertical .geb-tabs__inner {
      grid-template-columns: minmax(0, 1fr);
    }
  .geb-tabs--vertical .geb-tabs__list {
      flex-direction: row;
      margin-bottom: 2rem;
      border-inline-start: 0;
      border-bottom: 1px solid var(--gb-border);
    }
  .geb-tabs--vertical .geb-tabs__tab {
      margin-inline-start: 0;
      border-inline-start: 0;
      border-bottom: 2px solid transparent;
    }
  .geb-tabs--vertical .geb-tabs__tab.is-active {
      border-bottom-color: var(--gb-accent);
    }
  .geb-tabs--media-left .geb-tabs__panel {
      grid-template-columns: minmax(0, 1fr);
    }
  .geb-tabs--media-left .geb-tabs__media {
      order: 0;
    }
}
/* ========================================================================== */
/* VARIANTS — comparison                                                      */
/* ========================================================================== */
.geb-comparison--wide .geb-comparison__table-wrap {
  max-width: none;
}
.geb-comparison--striped .geb-comparison__table tbody tr:nth-child(2n) > * {
  background: var(--gb-subtle);
}
.geb-comparison--striped .geb-comparison__table tbody tr:nth-child(2n) > .geb-comparison__ours {
  background: color-mix(in srgb, var(--primary-color) 10%, var(--gb-subtle));
}
.geb-comparison--minimal .geb-comparison__table-wrap {
  border: 0;
  border-radius: 0;
}
.geb-comparison--minimal .geb-comparison__table thead th {
  background: none;
  border-bottom-color: var(--gb-border-strong);
}
.geb-comparison--minimal .geb-comparison__ours {
  background: none;
}
.geb-comparison--highlight .geb-comparison__table thead .geb-comparison__ours {
  background: var(--gb-accent);
  color: var(--gb-on-accent);
}
.geb-comparison--highlight .geb-comparison__ours {
  background: color-mix(in srgb, var(--primary-color) 12%, transparent);
  font-weight: 600;
  color: var(--gb-fg);
}
/* ========================================================================== */
/* VARIANTS — timeline                                                        */
/* ========================================================================== */
@media (min-width: 768px) {
  .geb-timeline--alternate .geb-timeline__list {
      max-width: 980px;
    }
  .geb-timeline--alternate .geb-timeline__list::before {
      left: 50%;
    }
  .geb-timeline--alternate .geb-timeline__item {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 3rem;
    }
  .geb-timeline--alternate .geb-timeline__item::before {
      left: calc(50% - 4px);
    }
  .geb-timeline--alternate .geb-timeline__date {
      text-align: end;
    }
  .geb-timeline--alternate .geb-timeline__item:nth-child(2n) .geb-timeline__date {
      order: 2;
      text-align: start;
    }
  .geb-timeline--alternate .geb-timeline__item:nth-child(2n) .geb-timeline__card {
      order: 1;
    }
}
.geb-timeline--minimal .geb-timeline__card {
  padding: 1rem 0;
  border: 0;
  border-radius: 0;
  background: none;
}
.geb-timeline--minimal .geb-timeline__item::before {
  top: 1.25rem;
}
.geb-timeline--compact .geb-timeline__list {
  gap: 0.6rem;
}
.geb-timeline--compact .geb-timeline__card {
  padding: 0.75rem 1rem;
}
.geb-timeline--compact .geb-timeline__date {
  padding-top: 0.8rem;
}
.geb-timeline--compact .geb-timeline__item::before {
  top: 1.05rem;
}
/* ========================================================================== */
/* VARIANTS — faq + faq cta                                                   */
/* ========================================================================== */
.geb-faq--centered .geb-faq__inner,
.geb-faq--columns .geb-faq__inner,
.geb-faq--boxed .geb-faq__inner,
.geb-faq--cards .geb-faq__inner {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.geb-faq--centered .gb-head,
.geb-faq--columns .gb-head,
.geb-faq--boxed .gb-head,
.geb-faq--cards .gb-head {
  align-items: center;
  margin: 0 auto 3rem;
  text-align: center;
}
.geb-faq--centered .geb-faq__list,
.geb-faq--boxed .geb-faq__list,
.geb-faq--cards .geb-faq__list {
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}
.geb-faq--columns .geb-faq__list {
  columns: 2 340px;
  column-gap: 3rem;
}
.geb-faq--columns .gb-faq {
  break-inside: avoid;
}
.geb-faq--boxed .geb-faq__list {
  padding: 0.5rem 1.5rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
}
.geb-faq--boxed .gb-faq:last-child {
  border-bottom: 0;
}
.geb-faq--cards .geb-faq__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  border-top: 0;
}
.geb-faq--cards .gb-faq {
  padding: 0 1.25rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
  transition: border-color 0.2s;
}
.geb-faq--cards .gb-faq[open] {
  border-color: color-mix(in srgb, var(--primary-color) 45%, transparent);
}
.geb-faq-cta--reverse .geb-faq-cta__inner {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
}
.geb-faq-cta--reverse .geb-faq-cta__card {
  order: -1;
}
.geb-faq-cta--stacked .geb-faq-cta__inner {
  grid-template-columns: minmax(0, 1fr);
  max-width: 860px;
  margin: 0 auto;
}
.geb-faq-cta--stacked .geb-faq-cta__card {
  position: relative;
  top: 0;
}
.geb-faq-cta--stacked .geb-faq-cta__card-body {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .geb-faq-cta--reverse .geb-faq-cta__inner {
      grid-template-columns: minmax(0, 1fr);
    }
  .geb-faq-cta--reverse .geb-faq-cta__card {
      order: 0;
    }
}
/* ========================================================================== */
/* VARIANTS — team                                                            */
/* ========================================================================== */
/* ========================================================================== */
/* VARIANTS — testimonials + quote                                            */
/* ========================================================================== */
.geb-quote--left .geb-quote__inner {
  align-items: flex-start;
  margin-inline: 0;
  text-align: start;
}
.geb-quote--card .geb-quote__inner {
  padding: clamp(2rem, 4vw, 3.5rem);
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-subtle);
}
.geb-quote--large .geb-quote__text {
  font-size: calc(clamp(1.9rem, 1.2rem + 2.8vw, 3.4rem) * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.04em;
}
.geb-quote--large .geb-quote__inner {
  max-width: min(1080px, var(--container-width, 1240px));
}
.geb-quote--bar .geb-quote__inner {
  align-items: flex-start;
  max-width: 820px;
  padding-inline-start: 2rem;
  border-inline-start: 3px solid var(--gb-accent);
  text-align: start;
}
.geb-quote--bar .geb-quote__text::before,
.geb-quote--bar .geb-quote__text::after {
  content: none;
}
/* ========================================================================== */
/* VARIANTS — logos + marquee                                                 */
/* ========================================================================== */
.geb-logos--cells .geb-logos__row,
.geb-logos--cards .geb-logos__row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0;
}
.geb-logos--cells .geb-logos__row {
  border-top: 1px solid var(--gb-border);
  border-inline-start: 1px solid var(--gb-border);
}
.geb-logos--cells .geb-logos__item,
.geb-logos--cards .geb-logos__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 96px;
  padding: 1.25rem;
}
.geb-logos--cells .geb-logos__item {
  border-inline-end: 1px solid var(--gb-border);
  border-bottom: 1px solid var(--gb-border);
}
.geb-logos--cards .geb-logos__row {
  gap: 0.75rem;
}
.geb-logos--cards .geb-logos__item {
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
}
.geb-logos--split .geb-logos__inner {
  display: grid;
  grid-template-columns: minmax(180px, 0.3fr) minmax(0, 1fr);
  align-items: center;
  gap: 2.5rem;
}
.geb-logos--split .geb-logos__title {
  margin-bottom: 0;
}
.geb-logos--split .geb-logos__row {
  justify-content: space-between;
}
.geb-logos--color .geb-logos__img {
  opacity: 1;
  filter: none;
}
.geb-logos--large .geb-logos__img {
  max-height: 44px;
  max-width: 200px;
}
.geb-logos--large .geb-logos__name {
  font-size: calc(1.5rem * var(--font-scale, 1));
}
.geb-logos--large .geb-logos__row {
  gap: 3rem 4.5rem;
}
@media (max-width: 767px) {
  .geb-logos--split .geb-logos__inner {
      grid-template-columns: minmax(0, 1fr);
      gap: 1.25rem;
    }
  .geb-logos--split .geb-logos__title {
      text-align: center;
    }
  .geb-logos--split .geb-logos__row {
      justify-content: center;
    }
}
.geb-marquee--large .geb-marquee__item {
  gap: 3rem;
  padding-inline-end: 3rem;
  font-size: calc(clamp(2rem, 1.4rem + 2.6vw, 3.6rem) * var(--font-scale, 1));
  font-weight: 700;
  letter-spacing: -0.04em;
  color: var(--gb-fg);
}
.geb-marquee--large .geb-marquee__sep {
  width: 12px;
  height: 12px;
}
.geb-marquee--mono .geb-marquee__item {
  font-family: var(--gb-mono);
  font-size: calc(0.9rem * var(--font-scale, 1));
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.geb-marquee--mono .geb-marquee__sep {
  width: 14px;
  height: 1px;
  border-radius: 0;
}
.geb-marquee--outline .geb-marquee__item {
  font-size: calc(clamp(2rem, 1.4rem + 2.6vw, 3.6rem) * var(--font-scale, 1));
  font-weight: 800;
  letter-spacing: -0.04em;
  color: transparent;
  -webkit-text-stroke: 1px var(--gb-border-strong);
}
.geb-marquee--outline .geb-marquee__item:nth-child(2n) {
  color: var(--gb-fg);
  -webkit-text-stroke: 0;
}
.geb-marquee--reverse .geb-marquee__viewport {
  animation-direction: reverse;
}
.geb-marquee--accent {
  border-block: 0;
  background: var(--gb-accent);
}
.geb-marquee--accent .geb-marquee__item {
  color: var(--gb-on-accent);
  font-weight: 600;
}
.geb-marquee--accent .geb-marquee__sep {
  background: var(--gb-on-accent);
}
/* ========================================================================== */
/* VARIANTS — cta + announcement                                              */
/* ========================================================================== */
.geb-cta--minimal .geb-cta__card {
  padding: 1rem 0;
  border: 0;
  background: none;
}
.geb-cta--minimal .geb-cta__grid,
.geb-cta--minimal .geb-cta__card::before {
  display: none;
}
.geb-cta--minimal .geb-cta__title {
  font-size: calc(clamp(2rem, 1.3rem + 2.6vw, 3.4rem) * var(--font-scale, 1));
}
.geb-cta--full {
  padding: 0;
}
.geb-cta--full .geb-cta__inner {
  max-width: none;
  padding-inline: 0;
}
.geb-cta--full .geb-cta__card {
  padding-block: calc(6rem * var(--section-scale, 1));
  border-inline: 0;
  border-radius: 0;
}
.geb-cta--accent .geb-cta__card {
  border-color: transparent;
  background: var(--gb-accent);
  color: var(--gb-on-accent);
}
.geb-cta--accent .geb-cta__card::before {
  background: radial-gradient(closest-side, rgba(255, 255, 255, 0.35), transparent);
}
.geb-cta--accent .geb-cta__grid {
  --gb-grid-line: color-mix(in srgb, var(--gb-on-accent) 10%, transparent);
}
.geb-cta--accent .geb-cta__desc {
  color: color-mix(in srgb, var(--gb-on-accent) 78%, transparent);
}
.geb-cta--accent .gb-eyebrow {
  color: var(--gb-on-accent);
}
.geb-ui.geb-cta--accent .gb-btn {
  border-color: var(--gb-on-accent);
  background: var(--gb-on-accent);
  color: var(--gb-accent);
}
.geb-cta--left .geb-cta__card {
  align-items: flex-start;
  padding: 3.5rem;
  text-align: start;
}
.geb-cta--left .geb-cta__actions {
  justify-content: flex-start;
}
.geb-cta--left .geb-cta__card::before {
  left: 85%;
}
@media (max-width: 767px) {
  .geb-cta--left .geb-cta__card {
      padding: 2rem 1.5rem;
    }
}
.geb-announcement--accent {
  border-bottom: 0;
  background: var(--gb-accent);
}
.geb-announcement--accent .geb-announcement__inner,
.geb-announcement--accent .geb-announcement__note {
  color: var(--gb-on-accent);
}
.geb-announcement--accent .geb-announcement__dot {
  background: var(--gb-on-accent);
  box-shadow: none;
}
.geb-announcement--minimal {
  border-bottom: 0;
  background: none;
}
.geb-announcement--left .geb-announcement__inner {
  justify-content: flex-start;
}
.geb-announcement--left .geb-announcement__note {
  margin-inline-start: auto;
}
.geb-announcement--gradient {
  border-bottom: 0;
  background: linear-gradient(90deg, color-mix(in srgb, var(--primary-color) 22%, var(--gb-bg)), var(--gb-subtle) 50%, color-mix(in srgb, var(--primary-color) 22%, var(--gb-bg)));
}
.geb-announcement--inverse {
  border-bottom: 0;
  background: var(--gb-bg);
}
/* ========================================================================== */
/* VARIANTS — newsletter + contact form + contact                             */
/* ========================================================================== */
.geb-newsletter--stacked .geb-newsletter__card {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  max-width: 680px;
  margin: 0 auto;
  padding: 3rem 2.5rem;
  text-align: center;
}
.geb-newsletter--stacked .geb-newsletter__form {
  width: 100%;
}
.geb-newsletter--inline .geb-newsletter__card {
  padding: 0;
  border: 0;
  background: none;
}
.geb-newsletter--banner {
  padding: 0;
}
.geb-newsletter--banner .geb-newsletter__inner {
  max-width: none;
  padding-inline: 0;
}
.geb-newsletter--banner .geb-newsletter__card {
  padding: calc(4rem * var(--section-scale, 1)) max(1.5rem, calc((100% - var(--container-width, 1240px)) / 2));
  border-inline: 0;
  border-radius: 0;
}
.geb-newsletter--minimal .geb-newsletter__card {
  grid-template-columns: minmax(0, 1fr);
  max-width: 560px;
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: none;
}
.geb-newsletter--minimal .geb-newsletter__title {
  font-size: calc(1.25rem * var(--font-scale, 1));
}
.geb-contact-form--stacked .geb-contact-form__inner,
.geb-contact-form--wide .geb-contact-form__inner {
  grid-template-columns: minmax(0, 1fr);
  gap: 2.5rem;
}
.geb-contact-form--stacked .geb-contact-form__inner {
  max-width: 720px;
  margin: 0 auto;
}
.geb-contact-form--stacked .gb-head {
  align-items: center;
  margin-inline: auto;
  text-align: center;
}
.geb-contact-form--reverse .geb-contact-form__inner {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
}
.geb-contact-form--reverse .geb-contact-form__form {
  order: -1;
}
@media (max-width: 1024px) {
  .geb-contact-form--reverse .geb-contact-form__inner {
      grid-template-columns: minmax(0, 1fr);
    }
  .geb-contact-form--reverse .geb-contact-form__form {
      order: 0;
    }
}
.geb-contact--list .geb-contact__grid {
  grid-template-columns: minmax(0, 1fr);
  max-width: 720px;
}
.geb-contact--split .geb-contact__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  align-items: start;
  gap: 3rem;
}
.geb-contact--split .gb-head {
  margin-bottom: 0;
}
.geb-contact--cards .geb-contact__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  border: 0;
  background: none;
}
.geb-contact--cards .geb-contact__grid {
  grid-template-columns: minmax(0, 1fr);
}
.geb-contact--cards .geb-contact__row {
  flex-direction: column;
  align-items: flex-start;
  padding: 1.5rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
}
.geb-contact--cards .geb-contact__row:last-child {
  border-bottom: 1px solid var(--gb-border);
}
.geb-contact--centered .gb-head {
  align-items: center;
  margin-inline: auto;
  text-align: center;
}
.geb-contact--centered .geb-contact__grid {
  max-width: 900px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .geb-contact--split .geb-contact__inner {
      grid-template-columns: minmax(0, 1fr);
    }
}
/* ========================================================================== */
/* VARIANTS — pricing + membership plans                                      */
/* ========================================================================== */
.geb-pricing--compact .geb-pricing__card {
  gap: 0.75rem;
  padding: 1.35rem;
}
.geb-pricing--compact .geb-pricing__desc {
  min-height: 0;
}
.geb-pricing--compact .geb-pricing__amount {
  font-size: calc(1.9rem * var(--font-scale, 1));
}
.geb-pricing--lined .geb-pricing__grid {
  gap: 0;
  overflow: visible;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
}
.geb-pricing--lined .geb-pricing__card {
  border: 0;
  border-inline-end: 1px solid var(--gb-border);
  border-radius: 0;
  background: none;
}
.geb-pricing--lined .geb-pricing__card:last-child {
  border-inline-end: 0;
}
.geb-pricing--lined .geb-pricing__card.is-popular {
  background: color-mix(in srgb, var(--primary-color) 5%, transparent);
  box-shadow: inset 0 2px 0 var(--gb-accent);
}
.geb-pricing--highlight .geb-pricing__grid {
  align-items: center;
}
.geb-pricing--highlight .geb-pricing__card.is-popular {
  z-index: 1;
  padding-block: 2.5rem;
  transform: scale(1.03);
}
.geb-pricing--minimal .geb-pricing__card {
  padding: 1.5rem 0 0;
  border: 0;
  border-top: 1px solid var(--gb-border-strong);
  border-radius: 0;
  background: none;
}
.geb-pricing--minimal .geb-pricing__card.is-popular {
  border-top: 2px solid var(--gb-accent);
  box-shadow: none;
}
.geb-pricing--minimal .geb-pricing__badge {
  top: -0.7rem;
  left: 0;
}
.geb-pricing--dark-popular .geb-pricing__card.is-popular {
  --gb-fg: #fafafa;
  --gb-muted: rgba(250, 250, 250, 0.66);
  --gb-border: rgba(255, 255, 255, 0.12);
  --gb-accent-text: color-mix(in srgb, var(--primary-color) 72%, #ffffff);
  border-color: #0a0a0a;
  background: #0a0a0a;
  color: #fafafa;
}
@media (max-width: 1024px) {
  .geb-pricing--lined .geb-pricing__card {
      border-inline-end: 0;
      border-bottom: 1px solid var(--gb-border);
    }
  .geb-pricing--highlight .geb-pricing__card.is-popular {
      transform: none;
    }
}
/* ========================================================================== */
/* VARIANTS — latest posts                                                    */
/* ========================================================================== */
/* ========================================================================== */
/* VARIANTS — code showcase                                                   */
/* ========================================================================== */
.geb-code--stacked .geb-code__inner {
  grid-template-columns: minmax(0, 1fr);
  max-width: 900px;
  margin: 0 auto;
}
.geb-code--stacked .gb-head {
  align-items: center;
  margin-inline: auto;
  text-align: center;
}
.geb-code--reverse .geb-code__inner {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
}
.geb-code--reverse .geb-code__window {
  order: -1;
}
.geb-code--light .geb-code__window {
  border-color: var(--gb-border);
  background: var(--gb-card);
}
.geb-code--light .geb-code__window .gb-frame__bar {
  border-color: var(--gb-border);
  background: var(--gb-subtle);
}
.geb-code--light .geb-code__window .gb-frame__bar > span:nth-child(-n + 3) {
  background: var(--gb-border-strong);
}
.geb-code--light .geb-code__lang {
  color: var(--gb-faint);
}
.geb-code--light .geb-code__pre {
  color: var(--gb-fg);
}
.geb-code--light .geb-code__ln {
  color: var(--gb-faint);
}
@media (max-width: 1024px) {
  .geb-code--reverse .geb-code__inner {
      grid-template-columns: minmax(0, 1fr);
    }
  .geb-code--reverse .geb-code__window {
      order: 0;
    }
}
/* ========================================================================== */
/* VARIANTS — bento grid                                                      */
/* ========================================================================== */
.geb-bento--columns-4 .geb-bento__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.geb-bento--flat .geb-bento__card {
  border-color: transparent;
  background: var(--gb-subtle);
}
.geb-bento--flat .geb-bento__card:hover {
  border-color: var(--gb-border);
}
.geb-bento--flat .geb-bento__media {
  border-top: 0;
  background: var(--gb-subtle-2);
}
.geb-bento--gradient .geb-bento__card {
  background:
    radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--primary-color) 12%, transparent), transparent 60%),
    var(--gb-card);
}
.geb-bento--gradient .geb-bento__card:nth-child(3n + 2) {
  background:
    radial-gradient(120% 90% at 0% 100%, color-mix(in srgb, var(--primary-color) 10%, transparent), transparent 60%),
    var(--gb-card);
}
.geb-bento--compact .geb-bento__grid {
  grid-auto-rows: minmax(160px, auto);
  gap: 0.75rem;
}
.geb-bento--compact .geb-bento__card {
  padding: 1.25rem;
}
.geb-bento--compact .geb-bento__media {
  min-height: 120px;
  margin: 0 -1.25rem -1.25rem;
}
@media (max-width: 1024px) {
  .geb-bento--columns-4 .geb-bento__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
  .geb-bento--columns-4 .geb-bento__grid {
      grid-template-columns: minmax(0, 1fr);
    }
}
/* ========================================================================== */
/* VARIANTS — product showcase                                                */
/* ========================================================================== */
.geb-showcase--left .geb-showcase__inner {
  align-items: flex-start;
}
.geb-showcase--left .geb-showcase__actions,
.geb-showcase--left .geb-showcase__points {
  justify-content: flex-start;
}
.geb-showcase--tilted .geb-showcase__stage {
  perspective: 1600px;
}
.geb-showcase--tilted .geb-showcase__frame,
.geb-showcase--tilted .geb-showcase__plain {
  transform: rotateX(16deg) rotateZ(-1deg) scale(0.96);
  transform-origin: 50% 0%;
  transition: transform 0.6s ease;
}
.geb-showcase--tilted .geb-showcase__stage:hover .geb-showcase__frame,
.geb-showcase--tilted .geb-showcase__stage:hover .geb-showcase__plain {
  transform: rotateX(4deg) scale(0.99);
}
@media (min-width: 1025px) {
  .geb-showcase--split .geb-showcase__inner {
      display: grid;
      grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
      grid-template-areas: "head stage" "actions stage" "points stage";
      grid-template-rows: auto auto 1fr;
      align-items: start;
      column-gap: 3.5rem;
    }
  .geb-showcase--split .gb-head {
      grid-area: head;
    }
  .geb-showcase--split .geb-showcase__actions {
      grid-area: actions;
      justify-content: flex-start;
    }
  .geb-showcase--split .geb-showcase__stage {
      grid-area: stage;
      margin-top: 0;
    }
  .geb-showcase--split .geb-showcase__points {
      grid-area: points;
      flex-direction: column;
      align-items: flex-start;
    }
}
@media (prefers-reduced-motion: reduce) {
  .geb-showcase--tilted .geb-showcase__frame,
.geb-showcase--tilted .geb-showcase__plain {
      transition: none;
    }
}
/* ========================================================================== */
/* VARIANTS — integrations                                                    */
/* ========================================================================== */
.geb-integrations--compact .geb-integrations__grid {
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 0.75rem;
}
.geb-integrations--compact .geb-integrations__card {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  padding: 1.25rem 0.75rem;
  text-align: center;
}
.geb-integrations--compact .geb-integrations__text {
  align-items: center;
}
.geb-integrations--compact .geb-integrations__desc,
.geb-integrations--compact .geb-integrations__category {
  display: none;
}
.geb-integrations--list .geb-integrations__grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  max-width: 820px;
  margin: 0 auto;
  border-top: 1px solid var(--gb-border);
}
.geb-integrations--list .geb-integrations__card {
  grid-template-columns: auto minmax(160px, 0.4fr) minmax(0, 1fr);
  padding: 1rem 0.5rem;
  border: 0;
  border-bottom: 1px solid var(--gb-border);
  border-radius: 0;
  background: none;
}
.geb-integrations--list a.geb-integrations__card:hover {
  box-shadow: none;
  background: var(--gb-subtle);
}
.geb-integrations--list .geb-integrations__desc {
  grid-column: auto;
}
.geb-integrations--centered .geb-integrations__card {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 0.75rem;
  padding: 1.75rem 1.25rem;
  text-align: center;
}
.geb-integrations--centered .geb-integrations__text {
  align-items: center;
}
.geb-integrations--centered .geb-integrations__logo {
  width: 56px;
  height: 56px;
  border-radius: 14px;
}
@media (max-width: 767px) {
  .geb-integrations--list .geb-integrations__card {
      grid-template-columns: auto minmax(0, 1fr);
    }
  .geb-integrations--list .geb-integrations__desc {
      grid-column: 1 / -1;
    }
}
/* ========================================================================== */
/* VARIANTS — trust badges                                                    */
/* ========================================================================== */
.geb-trust--cards .geb-trust__grid {
  gap: 1rem;
  overflow: visible;
  border: 0;
}
.geb-trust--cards .geb-trust__badge {
  margin: 0;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
}
.geb-trust--row .geb-trust__grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.geb-trust--row .geb-trust__badge {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 1rem;
  padding: 1.25rem 1.5rem;
  text-align: start;
}
.geb-trust--row .geb-trust__seal {
  grid-row: 1 / span 2;
  width: 44px;
  height: 44px;
}
.geb-trust--minimal .geb-trust__grid {
  gap: 2rem;
  overflow: visible;
  border: 0;
}
.geb-trust--minimal .geb-trust__badge {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
.geb-trust--minimal .geb-trust__seal {
  border: 0;
  background: none;
  width: auto;
  height: auto;
}
/* ========================================================================== */
/* VARIANTS — changelog                                                       */
/* ========================================================================== */
.geb-changelog--cards .geb-changelog__list {
  gap: 1rem;
}
.geb-changelog--cards .geb-changelog__entry {
  padding: 2rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
}
.geb-changelog--compact .geb-changelog__entry {
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 1.5rem;
  padding: 1.25rem 0;
}
.geb-changelog--compact .geb-changelog__title {
  font-size: calc(1.05rem * var(--font-scale, 1));
}
.geb-changelog--compact .geb-changelog__media {
  max-width: 420px;
}
.geb-changelog--centered .geb-changelog__inner {
  max-width: 820px;
}
.geb-changelog--centered .gb-head {
  align-items: center;
  margin-inline: auto;
  text-align: center;
}
.geb-changelog--centered .geb-changelog__entry {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
}
.geb-changelog--centered .geb-changelog__aside {
  flex-direction: row;
  align-items: center;
}
.geb-changelog--centered .geb-changelog__aside time {
  position: static;
}
@media (max-width: 767px) {
  .geb-changelog--compact .geb-changelog__entry {
      grid-template-columns: minmax(0, 1fr);
      gap: 0.6rem;
    }
  .geb-changelog--cards .geb-changelog__entry {
      padding: 1.5rem;
    }
}
/* ========================================================================== */
/* VARIANTS — feature split                                                   */
/* ========================================================================== */
.geb-split--cards .geb-split__rows {
  gap: 1.5rem;
}
.geb-split--cards .geb-split__row {
  padding: 2.5rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
}
.geb-split--compact .geb-split__rows {
  gap: 3rem;
}
.geb-split--compact .geb-split__row {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 2.5rem;
}
.geb-split--compact .geb-split__title {
  font-size: calc(1.3rem * var(--font-scale, 1));
}
.geb-split--stacked .geb-split__row {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 2rem;
  text-align: center;
}
.geb-split--stacked .geb-split__row--reverse .geb-split__copy {
  order: 0;
}
.geb-split--stacked .geb-split__copy {
  align-items: center;
  max-width: 680px;
}
.geb-split--stacked .geb-split__media {
  width: 100%;
  aspect-ratio: 21 / 9;
}
.geb-split--plain .geb-split__media {
  overflow: hidden;
  border: 0;
  border-radius: var(--gb-radius-lg);
  background: var(--gb-subtle);
  box-shadow: none;
}
@media (max-width: 1024px) {
  .geb-split--compact .geb-split__row {
      grid-template-columns: minmax(0, 1fr);
    }
  .geb-split--cards .geb-split__row {
      padding: 1.5rem;
    }
}
/* ========================================================================== */
/* CORE BLOCKS                                                                */
/* ========================================================================== */
/* Core heading (Ortak > Başlık) reads these tokens (core.css), so an H2 the user builds looks like .gb-title and its
   eyebrow like .gb-eyebrow. Sizes are unscaled; core.css multiplies them by --font-scale once. */
.cms-root[data-theme="geb"] {
  --wb-h1-size: clamp(2.5rem, 1.4rem + 4.6vw, 4.75rem);
  --wb-h2-size: clamp(1.9rem, 1.2rem + 2.2vw, 3rem);
  --wb-h3-size: 1.6rem;
  --wb-h4-size: 1.25rem;
  --wb-h5-size: 1.1rem;
  --wb-h6-size: 1rem;
  --wb-heading-weight: 700;
  --wb-heading-leading: 1.1;
  --wb-heading-tracking: -0.035em;
  --wb-eyebrow-font: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --wb-eyebrow-size: 0.75rem;
  --wb-eyebrow-weight: 500;
  --wb-eyebrow-tracking: 0.08em;
  --wb-eyebrow-gap: 0.9rem;
  --wb-eyebrow-color: color-mix(in srgb, var(--primary-color) 68%, #000000);
}

/* ========================================================================== */
/* GEB SKIN — health / corporate look on top of the shared SaaS markup.        */
/* Everything below overrides the base rules above (same specificity, later).  */
/* ========================================================================== */
.geb-ui {
  --gb-radius: var(--border-radius, 4px);
  --gb-radius-lg: calc(var(--border-radius, 4px) * 2);
  --gb-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  --gb-shadow-strong: 0 20px 40px rgba(0, 0, 0, 0.12);
  --gb-accent-text: color-mix(in srgb, var(--primary-color) 88%, #000000);
  --gb-accent-soft: color-mix(in srgb, var(--primary-color) 12%, transparent);
  --gb-heading-font: var(--heading-font-family, var(--font-family));
  /* Dark navy surface (footer, inverse sections) derived from the primary color. */
  --gb-navy: color-mix(in srgb, var(--primary-color) 22%, #0b1622);
  --gb-divider: linear-gradient(90deg, var(--primary-color) 0 68%, transparent 68% 78%, var(--secondary-color) 78% 100%);
}

/* Section head: heading-font eyebrow + title with the two-tone divider underneath. */
.geb-ui .gb-eyebrow {
  font-family: var(--gb-heading-font);
  font-size: calc(0.9rem * var(--font-scale, 1));
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--gb-accent-text);
}
.geb-ui .gb-title {
  font-size: calc(clamp(1.9rem, 1.3rem + 1.9vw, 2.75rem) * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}
.geb-ui .gb-head .gb-title::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin-top: 1.4rem;
  border-radius: 2px;
  background: var(--gb-divider);
}
.geb-ui .gb-head--center .gb-title::after {
  margin-inline: auto;
}
.geb-ui .gb-subtitle {
  margin-top: 0.4rem;
  font-size: calc(1.05rem * var(--font-scale, 1));
  line-height: 1.75;
}

/* Buttons: solid primary block button; on hover the secondary color rises in from below (GEB BUTTON HOVER, end of file). */
.geb-ui .gb-btn {
  min-height: 50px;
  padding: 0.75rem 1.9rem;
  border-color: var(--primary-color);
  border-radius: var(--button-radius, var(--gb-radius));
  font-family: var(--gb-heading-font);
  font-size: calc(1rem * var(--font-scale, 1));
  font-weight: 600;
  letter-spacing: 0.02em;
  box-shadow: none;
}
.geb-ui .gb-btn:hover {
  border-color: var(--secondary-color);
  background: var(--gb-accent);
  color: #ffffff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.geb-ui .gb-btn--ghost {
  border-color: var(--primary-color);
  background: transparent;
  color: var(--gb-accent-text);
}
.geb-ui .gb-btn--ghost:hover {
  border-color: var(--primary-color);
  background: transparent;
  color: var(--gb-on-accent);
}
.geb-ui .gb-icon {
  width: 56px;
  height: 56px;
  border: 0;
  border-radius: 50%;
  background: var(--gb-accent-soft);
  color: var(--gb-icon);
}
.geb-ui .gb-icon svg,
.geb-ui .gb-icon i {
  width: 26px;
  height: 26px;
  font-size: calc(26px * var(--font-scale, 1));
}

/* Inverse surface (single-palette theme): a dark navy band derived from the primary color. */
.geb-ui[data-variant="inverse"]:not(header):not(footer),
.geb-stats--dark {
  --background-color: var(--gb-navy);
  --text-color: #e8eef5;
  --gb-accent-text: color-mix(in srgb, var(--primary-color) 55%, #ffffff);
  --gb-icon: color-mix(in srgb, var(--primary-color) 40%, #ffffff);
  --gb-subtle: color-mix(in srgb, #ffffff 5%, var(--gb-navy));
  --gb-subtle-2: color-mix(in srgb, #ffffff 9%, var(--gb-navy));
  --gb-card: color-mix(in srgb, #ffffff 4%, var(--gb-navy));
  --gb-shadow: 0 12px 32px -16px rgba(0, 0, 0, 0.8);
}
.geb-ui[data-variant="inverse"] .geb-logos__img {
  filter: grayscale(1) invert(1);
}

/* ========================================================================== */
/* HEADER 1 — contact top bar + white main bar                                */
/* ========================================================================== */
.geb-header-1,
.geb-header-2 {
  z-index: 60;
  background: var(--background-color);
  color: var(--gb-fg);
  transition: box-shadow 0.25s, background 0.25s;
}
.geb-header-1.is-scrolled,
.geb-header-2.is-scrolled {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
}
.geb-header-1__top {
  background: var(--gb-subtle);
  border-bottom: 1px solid var(--gb-border);
  color: var(--gb-muted);
  font-size: calc(0.85rem * var(--font-scale, 1));
}
.geb-header-1__top-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  min-height: 44px;
  padding-block: 0.35rem;
}
.geb-header-1__contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 1.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.geb-header-1__contact-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.geb-header-1__contact-icon {
  display: inline-flex;
  color: var(--gb-icon);
}
.geb-header-1__contact-item a {
  color: inherit;
  transition: color 0.15s;
}
.geb-header-1__contact-item a:hover {
  color: var(--gb-accent-text);
}
.geb-header-1__social,
.geb-header-2__social {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
.geb-header-1__social-link,
.geb-header-2__social-link {
  color: var(--gb-faint);
  transition: color 0.15s;
}
.geb-header-1__social-link:hover,
.geb-header-2__social-link:hover {
  color: var(--gb-icon);
}
.geb-header-1__main {
  border-bottom: 1px solid var(--gb-border);
}
.geb-header-1__bar,
.geb-header-2__bar {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2rem;
  min-height: 84px;
}
.geb-header-1__brand,
.geb-header-2__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  flex: none;
  margin: 0;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.5rem * var(--font-scale, 1));
  font-weight: 700;
}
.geb-header-1__logo,
.geb-header-2__logo {
  max-height: 48px;
  width: auto;
}
.geb-header-1__menu,
.geb-header-2__menu {
  display: flex;
  align-items: center;
  flex: 1;
  gap: 1.5rem;
}
.geb-header-1__nav,
.geb-header-2__nav {
  display: flex;
  align-items: center;
  flex: 1;
  justify-content: flex-end;
  gap: 0.25rem 1.75rem;
}
.geb-header-1__link,
.geb-header-2__link {
  position: relative;
  display: inline-block;
  padding: 1.75rem 0;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(0.9rem * var(--font-scale, 1));
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: color 0.2s;
}
.geb-header-1__link::after,
.geb-header-2__link::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 1.35rem;
  height: 2px;
  background: var(--primary-color);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.25s;
}
.geb-header-1__link:hover,
.geb-header-1__link:focus-visible,
.geb-header-2__link:hover,
.geb-header-2__link:focus-visible {
  color: var(--gb-accent-text);
}
.geb-header-1__link:hover::after,
.geb-header-1__link:focus-visible::after,
.geb-header-2__link:hover::after,
.geb-header-2__link:focus-visible::after {
  transform: scaleX(1);
}
.geb-header-1__actions,
.geb-header-2__actions {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
.geb-header-1 .geb-header-1__locale .wb-locale__toggle,
.geb-header-2 .geb-header-2__locale .wb-locale__toggle {
  border-color: var(--gb-border-strong);
  color: var(--gb-muted);
}
.geb-header-1 .geb-header-1__account,
.geb-header-2 .geb-header-2__account {
  padding: 0.85rem 1.6rem;
  border: 0;
  border-radius: var(--button-radius, var(--gb-radius));
  background: var(--primary-color);
  color: var(--gb-on-accent);
  font-family: var(--gb-heading-font);
  font-size: calc(0.95rem * var(--font-scale, 1));
  font-weight: 600;
  box-shadow: none;
  transition: background 0.2s, box-shadow 0.2s;
}
.geb-header-1 .geb-header-1__account:hover,
.geb-header-2 .geb-header-2__account:hover {
  transform: none;
  filter: none;
  background: var(--primary-color);
  color: #ffffff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.geb-header-1__toggle,
.geb-header-2__toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-inline-start: auto;
  border: 0;
  border-radius: var(--gb-radius);
  background: var(--primary-color);
  color: var(--gb-on-accent);
  cursor: pointer;
}

/* Header variants */
.geb-header-1--centered .geb-header-1__nav,
.geb-header-2--centered .geb-header-2__nav {
  justify-content: center;
}
.geb-header-1--accent .geb-header-1__top {
  background: var(--primary-color);
  border-bottom-color: transparent;
  color: color-mix(in srgb, var(--gb-on-accent) 88%, transparent);
}
.geb-header-1--accent .geb-header-1__contact-icon,
.geb-header-1--accent .geb-header-1__social-link,
.geb-header-1--accent .geb-header-1__contact-item a:hover,
.geb-header-1--accent .geb-header-1__social-link:hover {
  color: var(--gb-on-accent);
}
.geb-header-1--compact .geb-header-1__bar,
.geb-header-2--compact .geb-header-2__bar {
  min-height: 66px;
}
.geb-header-1--compact .geb-header-1__link,
.geb-header-2--compact .geb-header-2__link {
  padding-block: 1.2rem;
}
.geb-header-1--compact .geb-header-1__link::after,
.geb-header-2--compact .geb-header-2__link::after {
  bottom: 0.85rem;
}
.geb-header-1--inverse,
.geb-header-2--inverse {
  --background-color: var(--gb-navy);
  --text-color: #e8eef5;
  --gb-accent-text: color-mix(in srgb, var(--primary-color) 55%, #ffffff);
  --gb-icon: color-mix(in srgb, var(--primary-color) 40%, #ffffff);
  --gb-subtle: color-mix(in srgb, #000000 25%, var(--gb-navy));
  --gb-border: rgba(255, 255, 255, 0.1);
  --gb-border-strong: rgba(255, 255, 255, 0.2);
}
.geb-header-2 {
  border-bottom: 1px solid var(--gb-border);
}
.geb-header-2--transparent:not(.is-scrolled):not(.is-open) {
  background: transparent;
  border-bottom-color: transparent;
}

@media (max-width: 1100px) {
  .geb-header-1__nav,
  .geb-header-2__nav {
    gap: 0.25rem 1.1rem;
  }
}
@media (max-width: 900px) {
  .geb-header-1__toggle,
  .geb-header-2__toggle {
    display: inline-flex;
  }
  .geb-header-1__bar,
  .geb-header-2__bar {
    min-height: 70px;
  }
  .geb-header-1__menu,
  .geb-header-2__menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 5;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    padding: 1rem 1.25rem 1.25rem;
    border-top: 3px solid var(--primary-color);
    background: var(--background-color);
    box-shadow: var(--gb-shadow-strong);
  }
  .geb-header-1.is-open .geb-header-1__menu,
  .geb-header-2.is-open .geb-header-2__menu {
    display: flex;
  }
  .geb-header-1__nav,
  .geb-header-2__nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .geb-header-1__link,
  .geb-header-2__link {
    display: block;
    padding: 0.8rem 0;
    border-bottom: 1px solid var(--gb-border);
  }
  .geb-header-1__link::after,
  .geb-header-2__link::after {
    display: none;
  }
  .geb-header-1__actions,
  .geb-header-2__actions {
    flex-wrap: wrap;
  }
  .geb-header-1 .geb-header-1__account,
  .geb-header-2 .geb-header-2__account {
    flex: 1;
    justify-content: center;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .geb-header-1__top-inner {
    justify-content: center;
  }
  /* Only the phone and e-mail rows fit on a phone; address / hours stay in the footer. */
  .geb-header-1__contact-item:nth-child(n + 3),
  .geb-header-1__top .geb-header-1__social {
    display: none;
  }
}

/* ========================================================================== */
/* FOOTER 1 — block footer on a dark navy surface                             */
/* ========================================================================== */
.geb-footer-1 {
  --wb-footer-row-gap: 3rem;
  --wb-footer-divider-gap: 1.75rem;
  --wb-footer-col-gap: 3rem;
  --wb-footer-inner-gap: 1.1rem;
  --wb-footer-line: rgba(255, 255, 255, 0.12);
  --wb-footer-logo-height: 46px;
  --gb-footer-fg: #ffffff;
  --gb-footer-muted: rgba(255, 255, 255, 0.72);
  background: var(--gb-navy);
  color: var(--gb-footer-muted);
  padding: calc(5.5rem * var(--section-scale, 1)) 0 2rem;
}
.geb-footer-1--primary {
  background: color-mix(in srgb, var(--primary-color) 92%, #000000);
  --gb-footer-muted: rgba(255, 255, 255, 0.82);
}
.geb-footer-1--light,
.geb-footer-1--subtle {
  --wb-footer-line: var(--gb-border);
  --gb-footer-fg: var(--gb-fg);
  --gb-footer-muted: var(--gb-muted);
  background: var(--background-color);
  border-top: 1px solid var(--gb-border);
}
.geb-footer-1--subtle {
  background: var(--gb-subtle);
}
.geb-footer-1--compact {
  --wb-footer-row-gap: 2rem;
  padding: calc(3rem * var(--section-scale, 1)) 0 1.5rem;
}
.geb-footer-1 .wb-footer__name {
  font-family: var(--gb-heading-font);
  font-size: calc(1.5rem * var(--font-scale, 1));
  font-weight: 700;
  color: var(--gb-footer-fg);
}
.geb-footer-1 .wb-footer__tagline,
.geb-footer-1 .wb-footer__text {
  font-size: calc(0.95rem * var(--font-scale, 1));
  line-height: 1.75;
}
.geb-footer-1 .wb-footer__text {
  max-width: 380px;
}
.geb-footer-1 .wb-footer__headline {
  font-size: calc(clamp(2rem, 1.3rem + 2.6vw, 3.25rem) * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.15;
  color: var(--gb-footer-fg);
}
.geb-footer-1 .wb-footer__heading {
  position: relative;
  padding-bottom: 0.9rem;
  font-family: var(--gb-heading-font);
  font-size: calc(1.2rem * var(--font-scale, 1));
  font-weight: 700;
  color: var(--gb-footer-fg);
}
.geb-footer-1 .wb-footer__heading::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  bottom: 0;
  width: 40px;
  height: 3px;
  border-radius: 2px;
  background: var(--gb-divider);
}
.geb-footer-1 .wb-footer__link,
.geb-footer-1 .wb-footer__social-link,
.geb-footer-1 .wb-footer__contacts {
  font-size: calc(0.95rem * var(--font-scale, 1));
  transition: color 0.15s, padding 0.2s;
}
.geb-footer-1 .wb-footer__link:hover,
.geb-footer-1 .wb-footer__link:focus-visible {
  color: var(--gb-footer-fg);
  padding-inline-start: 0.35rem;
}
.geb-footer-1 .wb-footer__social-link:hover,
.geb-footer-1 .wb-footer__social-link:focus-visible,
.geb-footer-1 .wb-footer__contact a:hover {
  color: var(--gb-footer-fg);
}
.geb-footer-1 .wb-footer__contact-label {
  font-size: calc(0.75rem * var(--font-scale, 1));
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.75;
}
.geb-footer-1 .wb-footer__copyright {
  font-size: calc(0.85rem * var(--font-scale, 1));
}

/* ========================================================================== */
/* HERO SLIDER — full-bleed banner (Geb markup: .geb-banner)                  */
/* ========================================================================== */
.geb-banner {
  position: relative;
  overflow: hidden;
  background: var(--gb-navy);
}
.geb-banner__stage {
  display: grid;
  min-height: clamp(520px, 82vh, 820px);
}
.geb-banner--compact .geb-banner__stage {
  min-height: clamp(420px, 60vh, 580px);
}
.geb-banner__slide {
  position: relative;
  grid-area: 1 / 1;
  display: flex;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.9s ease, visibility 0.9s;
}
.geb-banner__slide.is-active {
  opacity: 1;
  visibility: visible;
}
.geb-banner__image {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.geb-banner__image img {
  object-fit: cover;
  transform: scale(1.08);
  transition: transform 7s ease;
}
.geb-banner__slide.is-active .geb-banner__image img {
  transform: scale(1);
}
.geb-banner__shade {
  position: absolute;
  inset: 0;
  background: #0b1622;
}
.geb-banner__content {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  padding-block: calc(6rem * var(--section-scale, 1));
}
.geb-banner__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.1rem;
  max-width: 620px;
  padding: clamp(1.75rem, 1rem + 3vw, 3.25rem);
  border-inline-start: 10px solid var(--secondary-color);
  background: color-mix(in srgb, var(--background-color) 93%, transparent);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
.geb-banner--right .geb-banner__text {
  margin-inline-start: auto;
}
.geb-banner__text > * {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.geb-banner__slide.is-active .geb-banner__text > * {
  opacity: 1;
  transform: none;
}
.geb-banner__slide.is-active .geb-banner__text > :nth-child(1) {
  transition-delay: 0.25s;
}
.geb-banner__slide.is-active .geb-banner__text > :nth-child(2) {
  transition-delay: 0.4s;
}
.geb-banner__slide.is-active .geb-banner__text > :nth-child(3) {
  transition-delay: 0.55s;
}
.geb-banner__slide.is-active .geb-banner__text > :nth-child(4) {
  transition-delay: 0.7s;
}
.geb-banner__eyebrow {
  font-family: var(--gb-heading-font);
  font-size: calc(1.1rem * var(--font-scale, 1));
  font-weight: 600;
  color: var(--gb-accent-text);
}
.geb-banner__title {
  margin: 0;
  color: var(--gb-fg);
  font-size: calc(clamp(2rem, 1.25rem + 2.8vw, 3.2rem) * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.2;
}
.geb-banner__desc {
  margin: 0;
  color: var(--gb-muted);
  font-size: calc(1.1rem * var(--font-scale, 1));
  line-height: 1.7;
}
.geb-banner__actions {
  margin-top: 0.5rem;
}
/* centered: no box, white copy over the dark shade */
.geb-banner--centered .geb-banner__text {
  align-items: center;
  max-width: 820px;
  margin-inline: auto;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}
.geb-banner--centered .geb-banner__title {
  color: #ffffff;
  font-size: calc(clamp(2.2rem, 1.3rem + 3.4vw, 3.9rem) * var(--font-scale, 1));
}
.geb-banner--centered .geb-banner__desc {
  color: rgba(255, 255, 255, 0.86);
}
.geb-banner--centered .geb-banner__eyebrow {
  color: color-mix(in srgb, var(--secondary-color) 80%, #ffffff);
}
.geb-banner__arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: var(--gb-radius);
  background: rgba(255, 255, 255, 0.9);
  color: var(--primary-color);
  cursor: pointer;
  opacity: 0;
  transform: translateY(-50%);
  transition: opacity 0.3s, background 0.2s, color 0.2s, inset-inline-start 0.3s, inset-inline-end 0.3s;
}
.geb-banner__arrow--prev {
  inset-inline-start: 0.75rem;
}
.geb-banner__arrow--next {
  inset-inline-end: 0.75rem;
}
.geb-banner:hover .geb-banner__arrow,
.geb-banner__arrow:focus-visible {
  opacity: 1;
}
.geb-banner:hover .geb-banner__arrow--prev {
  inset-inline-start: 1.75rem;
}
.geb-banner:hover .geb-banner__arrow--next {
  inset-inline-end: 1.75rem;
}
.geb-banner__arrow:hover {
  background: var(--primary-color);
  color: var(--gb-on-accent);
}
.geb-banner__dots {
  position: absolute;
  bottom: 1.75rem;
  left: 50%;
  z-index: 2;
  display: flex;
  gap: 0.6rem;
  transform: translateX(-50%);
}
.geb-banner__dot {
  width: 12px;
  height: 12px;
  padding: 0;
  border: 2px solid #ffffff;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  transition: width 0.3s, background 0.3s, border-color 0.3s;
}
.geb-banner__dot.is-active {
  width: 32px;
  border-color: var(--primary-color);
  background: var(--primary-color);
}
@media (max-width: 767px) {
  .geb-banner__arrow {
    display: none;
  }
  .geb-banner__text {
    border-inline-start-width: 6px;
  }
}

/* ========================================================================== */
/* STATS — counters; default is a primary-colored band                        */
/* ========================================================================== */
.geb-stats {
  padding: calc(5.5rem * var(--section-scale, 1)) 0;
}
.geb-stats--default {
  --text-color: var(--primary-contrast, #ffffff);
  --gb-muted: color-mix(in srgb, var(--primary-contrast, #ffffff) 82%, transparent);
  --gb-accent-text: var(--primary-contrast, #ffffff);
  --gb-divider: linear-gradient(90deg, currentColor 0 68%, transparent 68% 78%, var(--secondary-color) 78% 100%);
  background:
    radial-gradient(60% 120% at 0% 0%, rgba(255, 255, 255, 0.12), transparent 60%),
    var(--primary-color);
  color: var(--gb-fg);
}
.geb-stats--dark {
  background: var(--gb-navy);
  color: var(--gb-fg);
}
.geb-stats__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 2rem 1rem;
  margin: 0;
}
.geb-stats__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem 1rem;
  text-align: center;
}
.geb-stats__item + .geb-stats__item {
  border-inline-start: 1px solid color-mix(in srgb, var(--gb-fg) 18%, transparent);
}
.geb-stats__value {
  order: -1;
  margin: 0;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(clamp(2.4rem, 1.6rem + 2.4vw, 3.6rem) * var(--font-scale, 1));
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.geb-stats__label {
  margin-top: 0.85rem;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1rem * var(--font-scale, 1));
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.geb-stats__desc {
  margin: 0.45rem 0 0;
  color: var(--gb-muted);
  font-size: calc(0.9rem * var(--font-scale, 1));
  line-height: 1.6;
}
.geb-stats--plain .geb-stats__value,
.geb-stats--cards .geb-stats__value,
.geb-stats[data-variant="subtle"] .geb-stats__value,
.geb-stats[data-variant="grid"] .geb-stats__value,
.geb-stats[data-variant="glow"] .geb-stats__value,
.geb-stats[data-variant="bordered"] .geb-stats__value {
  color: var(--primary-color);
}
.geb-stats--cards .geb-stats__item {
  padding: 2rem 1.25rem;
  border: 0;
  border-bottom: 3px solid var(--primary-color);
  background: var(--gb-card);
  box-shadow: var(--gb-shadow);
}
.geb-stats--cards .geb-stats__grid {
  gap: 1.875rem;
}
@media (max-width: 767px) {
  .geb-stats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .geb-stats__item + .geb-stats__item {
    border-inline-start: 0;
  }
}

/* ========================================================================== */
/* TEAM — photo card with the name box underneath                             */
/* ========================================================================== */
.geb-team {
  padding: calc(6rem * var(--section-scale, 1)) 0;
}
.geb-team__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.875rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.geb-team__card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 5px solid var(--gb-card);
  background: var(--gb-card);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  text-align: center;
  transition: box-shadow 0.3s, transform 0.3s;
}
.geb-team__card:hover {
  box-shadow: var(--gb-shadow-strong);
  transform: translateY(-4px);
}
.geb-team__photo {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--gb-subtle-2);
}
.geb-team__photo img {
  object-fit: cover;
  transition: transform 0.6s ease;
}
.geb-team__card:hover .geb-team__photo img {
  transform: scale(1.06);
}
.geb-team__photo::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 0;
  border-radius: 50% 50% 0 0;
  background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--gb-card) 92%, transparent) 100%);
  transition: height 0.35s ease;
}
.geb-team__card:hover .geb-team__photo::after {
  height: 35%;
}
.geb-team__initial {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--gb-icon);
  font-family: var(--gb-heading-font);
  font-size: calc(4rem * var(--font-scale, 1));
  font-weight: 700;
}
.geb-team__info {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.5rem 1rem 1.4rem;
}
.geb-team__info::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 40px;
  height: 3px;
  background: var(--primary-color);
  transform: translateX(-50%);
  transition: width 0.3s;
}
.geb-team__card:hover .geb-team__info::before {
  width: 90px;
}
.geb-team__name {
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.3rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.25;
  transition: color 0.2s;
}
.geb-team__card:hover .geb-team__name {
  color: var(--gb-accent-text);
}
.geb-team__role {
  color: var(--gb-muted);
  font-size: calc(0.92rem * var(--font-scale, 1));
}
.geb-team--rounded .geb-team__card {
  border-radius: calc(var(--gb-radius-lg) * 2);
}
.geb-team--circle .geb-team__card {
  border-width: 0;
  padding-top: 2rem;
}
.geb-team--circle .geb-team__photo {
  width: min(180px, 70%);
  margin-inline: auto;
  aspect-ratio: 1;
  border: 5px solid var(--gb-accent-soft);
  border-radius: 50%;
}
.geb-team--circle .geb-team__photo::after {
  display: none;
}
.geb-team--compact .geb-team__grid {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1.25rem;
}
.geb-team--compact .geb-team__name {
  font-size: calc(1.1rem * var(--font-scale, 1));
}

/* ========================================================================== */
/* TESTIMONIALS — single-quote slider with avatar thumbs; grid = cards        */
/* ========================================================================== */
.geb-testimonials {
  padding: calc(6rem * var(--section-scale, 1)) 0;
}
.geb-testimonials__slider {
  display: grid;
  max-width: 860px;
  margin-inline: auto;
}
.geb-testimonials__slide {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  margin: 0;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s;
}
.geb-testimonials__slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.geb-testimonials__mark {
  color: var(--gb-icon);
}
.geb-testimonials__slide .geb-testimonials__mark {
  opacity: 0.85;
}
.geb-testimonials__quote {
  margin: 0;
  color: var(--gb-fg);
  font-size: calc(clamp(1.1rem, 0.95rem + 0.6vw, 1.4rem) * var(--font-scale, 1));
  font-style: italic;
  line-height: 1.75;
}
.geb-testimonials__author {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.geb-testimonials__name {
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.2rem * var(--font-scale, 1));
  font-weight: 700;
}
.geb-testimonials__role {
  color: var(--gb-accent-text);
  font-size: calc(0.9rem * var(--font-scale, 1));
}
.geb-testimonials__thumbs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-top: 2.5rem;
}
.geb-testimonials__thumb {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  padding: 0;
  overflow: hidden;
  border: 3px solid transparent;
  border-radius: 50%;
  background: var(--gb-subtle-2);
  color: var(--gb-icon);
  font-weight: 700;
  cursor: pointer;
  opacity: 0.55;
  transition: opacity 0.3s, border-color 0.3s, transform 0.3s;
}
.geb-testimonials__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.geb-testimonials__thumb:hover,
.geb-testimonials__thumb.is-active {
  opacity: 1;
}
.geb-testimonials__thumb.is-active {
  border-color: var(--primary-color);
  transform: scale(1.12);
}
.geb-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.875rem;
}
.geb-testimonials__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
  padding: 2.25rem 2rem 2rem;
  border-top: 4px solid var(--primary-color);
  background: var(--gb-card);
  box-shadow: var(--gb-shadow);
}
.geb-testimonials__card .geb-testimonials__mark {
  position: absolute;
  top: 1.5rem;
  inset-inline-end: 1.5rem;
  opacity: 0.18;
}
.geb-testimonials__card .geb-testimonials__quote {
  font-size: calc(1rem * var(--font-scale, 1));
}
.geb-testimonials__card .geb-testimonials__author {
  flex-direction: row;
  align-items: center;
  gap: 0.9rem;
  margin-top: auto;
}
.geb-testimonials__card .geb-testimonials__author > span:last-child {
  display: flex;
  flex-direction: column;
}
.geb-testimonials__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  flex: none;
  overflow: hidden;
  border-radius: 50%;
  background: var(--gb-accent-soft);
  color: var(--gb-icon);
  font-weight: 700;
}
.geb-testimonials__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ========================================================================== */
/* LATEST POSTS — cards with a day / month badge on the cover                 */
/* ========================================================================== */
.geb-posts {
  padding: calc(6rem * var(--section-scale, 1)) 0;
}
.geb-posts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.875rem;
}
.geb-posts__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--gb-radius);
  background: var(--gb-card);
  color: inherit;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
  text-decoration: none;
  transition: box-shadow 0.3s, transform 0.3s;
}
.geb-posts__card:hover {
  box-shadow: var(--gb-shadow-strong);
  transform: translateY(-4px);
}
.geb-posts__cover {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: var(--gb-subtle-2);
}
.geb-posts__cover img {
  object-fit: cover;
  transition: transform 0.6s ease;
}
.geb-posts__card:hover .geb-posts__cover img {
  transform: scale(1.06);
}
.geb-posts__badge {
  position: absolute;
  top: 1.25rem;
  inset-inline-start: 1.25rem;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 62px;
  padding: 0.6rem 0.65rem;
  background: var(--primary-color);
  color: var(--gb-on-accent);
  line-height: 1;
  text-align: center;
}
.geb-posts__day {
  font-family: var(--gb-heading-font);
  font-size: calc(1.6rem * var(--font-scale, 1));
  font-weight: 700;
}
.geb-posts__month {
  margin-top: 0.3rem;
  font-size: calc(0.75rem * var(--font-scale, 1));
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.geb-posts__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.7rem;
  padding: 1.75rem 1.75rem 2rem;
}
.geb-posts__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1rem;
  color: var(--gb-muted);
  font-size: calc(0.82rem * var(--font-scale, 1));
}
.geb-posts__category {
  color: var(--gb-accent-text);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.geb-posts__title {
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.3rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.35;
  transition: color 0.2s;
}
.geb-posts__card:hover .geb-posts__title {
  color: var(--gb-accent-text);
}
.geb-posts__excerpt {
  display: -webkit-box;
  overflow: hidden;
  color: var(--gb-muted);
  font-size: calc(0.95rem * var(--font-scale, 1));
  line-height: 1.7;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.geb-posts__more {
  margin-top: auto;
  padding-top: 0.4rem;
  color: var(--gb-accent-text);
  font-family: var(--gb-heading-font);
  font-size: calc(0.92rem * var(--font-scale, 1));
  font-weight: 600;
}
.geb-posts__more::after {
  content: "\2192";
  display: inline-block;
  margin-inline-start: 0.35em;
  transition: transform 0.2s;
}
.geb-posts__card:hover .geb-posts__more::after {
  transform: translateX(4px);
}
.geb-posts__footer {
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}
.geb-posts--list .geb-posts__grid {
  grid-template-columns: minmax(0, 1fr);
  max-width: 880px;
  margin-inline: auto;
  gap: 1.25rem;
}
.geb-posts--list .geb-posts__card {
  border-inline-start: 4px solid var(--primary-color);
}
.geb-posts--list .geb-posts__body {
  padding: 1.5rem 1.75rem;
}
.geb-posts--compact .geb-posts__grid {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.25rem;
}
.geb-posts--compact .geb-posts__body {
  padding: 1.25rem;
}
.geb-posts--compact .geb-posts__title {
  font-size: calc(1.1rem * var(--font-scale, 1));
}
.geb-posts--compact .geb-posts__excerpt {
  display: none;
}

/* ========================================================================== */
/* REDUCED MOTION                                                             */
/* ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .geb-banner__slide,
  .geb-banner__image img,
  .geb-banner__text > *,
  .geb-testimonials__slide,
  .geb-team__photo img,
  .geb-posts__cover img {
    transition: none;
  }
  .geb-banner__image img,
  .geb-banner__text > * {
    transform: none;
  }
}

/* ========================================================================== */
/* CORE BLOCKS                                                                */
/* ========================================================================== */
/* Core heading (Ortak > Başlık) reads these tokens (core.css): an H2 the user builds looks like .gb-title. */
.cms-root[data-theme="geb"] {
  --wb-h1-size: clamp(2.4rem, 1.5rem + 3.4vw, 3.9rem);
  --wb-h2-size: clamp(1.9rem, 1.3rem + 1.9vw, 2.75rem);
  --wb-h3-size: 1.6rem;
  --wb-h4-size: 1.3rem;
  --wb-h5-size: 1.12rem;
  --wb-h6-size: 1rem;
  --wb-heading-weight: 700;
  --wb-heading-leading: 1.2;
  --wb-heading-tracking: 0;
  --wb-eyebrow-font: var(--heading-font-family, inherit);
  --wb-eyebrow-size: 0.9rem;
  --wb-eyebrow-weight: 600;
  --wb-eyebrow-tracking: 0.12em;
  --wb-eyebrow-gap: 0.9rem;
  --wb-eyebrow-color: color-mix(in srgb, var(--primary-color) 88%, #000000);
}

/* ========================================================================== */
/* GEB EXCLUSIVE BLOCKS — Geb'e özel bloklar (exclusive/), Medicoz bileşenlerinden.   */
/* ========================================================================== */
/* ========================================================================== */
/* GEB-ABOUT-INTRO — Medicoz "about-1": görsel kolajı + video, yanında metin  */
/* ========================================================================== */
.geb-about-intro {
  position: relative;
  padding: calc(7.5rem * var(--section-scale, 1)) 0 calc(6rem * var(--section-scale, 1));
}
.geb-about-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 4rem;
  align-items: center;
}
/* Ters: metin solda, kolaj sağda. */
.geb-about-intro--reverse .geb-about-intro__media {
  order: 2;
}
.geb-about-intro__media {
  position: relative;
  min-height: 520px;
}
.geb-about-intro__image {
  margin: 0;
  overflow: hidden;
  border-radius: var(--gb-radius);
  box-shadow: var(--gb-shadow-strong);
}
.geb-about-intro__image img {
  display: block;
  width: 100%;
  height: auto;
}
.geb-about-intro__image--main {
  width: 72%;
  margin-inline-start: auto;
}
/* Tek görsel: kolaj yerine sütunun tamamını kaplayan büyük görsel; arkasında ikincil renkte kaydırılmış çerçeve. */
.geb-about-intro__media--single {
  min-height: 0;
  padding-block-end: 1.25rem;
  padding-inline-start: 1.25rem;
}
.geb-about-intro--reverse .geb-about-intro__media--single {
  padding-inline: 0 1.25rem;
}
.geb-about-intro__media--single::before {
  position: absolute;
  inset-block: 1.25rem 0;
  inset-inline: 0 1.25rem;
  border: 3px solid var(--secondary-color);
  border-radius: var(--gb-radius);
  content: "";
  opacity: 0.6;
}
.geb-about-intro--reverse .geb-about-intro__media--single::before {
  inset-inline: 1.25rem 0;
}
.geb-about-intro__media--single .geb-about-intro__image--main {
  position: relative;
  width: 100%;
  aspect-ratio: 5 / 4;
}
.geb-about-intro__media--single .geb-about-intro__image--main img {
  height: 100%;
  object-fit: cover;
}
.geb-about-intro__image--second {
  position: absolute;
  bottom: 8%;
  inset-inline-start: 0;
  z-index: 1;
  width: 46%;
  border: 8px solid var(--gb-card);
}
.geb-about-intro__image--accent {
  position: absolute;
  bottom: -2.5rem;
  inset-inline-end: 1.25rem;
  z-index: 2;
  width: 32%;
  border: 6px solid var(--gb-card);
}
/* Medicoz'daki dönen oynat düğmesi: beyaz daire, ana renk ikon. */
.geb-about-intro__play {
  position: absolute;
  top: 3rem;
  inset-inline-start: 0.6rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: var(--gb-card);
  color: var(--gb-icon);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  transition: transform 500ms ease;
}
.geb-about-intro__play:hover,
.geb-about-intro__play:focus-visible {
  transform: rotate(360deg);
}
.geb-about-intro__text {
  margin: 1.1rem 0 0;
  color: var(--gb-muted);
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.8;
}
.geb-about-intro__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem 1.875rem;
  margin-top: 2rem;
}
.geb-about-intro__signature {
  margin: 0;
}
.geb-about-intro__signature img {
  display: block;
  max-width: 180px;
  height: auto;
}

/* ========================================================================== */
/* GEB-ABOUT-FEATURES — Medicoz "about-2" / "about-5" (side)                  */
/* ========================================================================== */
.geb-about-features {
  position: relative;
  overflow: hidden;
  padding: calc(7.5rem * var(--section-scale, 1)) 0;
}
.geb-about-features__inner {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 3.5rem;
  align-items: center;
}
.geb-about-features__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.875rem;
  margin: 2.5rem 0 0;
  padding: 0;
  list-style: none;
}
.geb-about-features__card {
  position: relative;
  overflow: hidden;
  padding: 1.875rem 1.25rem;
  border-radius: 10px;
  background: var(--gb-card);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
  transition: background-color 300ms ease;
}
/* Köşeden açılan iki saydam halka (geb-highlights ile aynı efekt, daha kısa gecikme). */
.geb-about-features__card::before,
.geb-about-features__card::after {
  position: absolute;
  top: -100px;
  inset-inline-end: -100px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #ffffff;
  content: "";
  pointer-events: none;
  transform: scale(0);
  transition: all 600ms ease;
}
.geb-about-features__card:hover {
  background: var(--primary-color);
}
.geb-about-features__card:hover::before {
  opacity: 0.2;
  transform: scale(1);
  transition-delay: 100ms;
}
.geb-about-features__card:hover::after {
  opacity: 0.1;
  transform: scale(1.7);
  transition-delay: 200ms;
}
.geb-about-features__icon {
  display: inline-flex;
  margin-bottom: 1.25rem;
  color: var(--gb-icon);
  font-size: calc(1.875rem * var(--font-scale, 1));
  line-height: 1;
  transition: color 300ms ease;
}
.geb-about-features__card-title {
  margin: 0 0 0.6rem;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.25rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.2;
  transition: color 300ms ease;
}
.geb-about-features__card-text {
  margin: 0;
  color: var(--gb-muted);
  font-size: calc(0.95rem * var(--font-scale, 1));
  line-height: 1.7;
  transition: color 300ms ease;
}
.geb-about-features__card:hover .geb-about-features__icon,
.geb-about-features__card:hover .geb-about-features__card-title,
.geb-about-features__card:hover .geb-about-features__card-text {
  color: var(--gb-on-accent);
}
.geb-about-features__actions {
  margin-top: 1.25rem;
}
.geb-about-features__media {
  position: relative;
  padding-top: 0.6rem;
  padding-inline-start: 1.875rem;
}
/* Görselin arkasında, alt kenarda ana renkli blok (Medicoz :before). */
.geb-about-features__media::before {
  position: absolute;
  bottom: -2rem;
  inset-inline-end: -4rem;
  width: 70%;
  height: 45%;
  background: var(--primary-color);
  content: "";
}
.geb-about-features__image {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: var(--gb-radius);
}
.geb-about-features__image img {
  display: block;
  width: 100%;
  height: auto;
}
.geb-about-features__badge {
  position: absolute;
  bottom: -50px;
  inset-inline: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  margin: 0 auto;
  border-radius: 50%;
  background: var(--gb-card);
  color: var(--gb-icon);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}
/* "side" (Medicoz about-5): görsel solda, beyaz çerçeveli; kartlar ikonsuz, başlık ana renkte. */
.geb-about-features--side .geb-about-features__inner {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.geb-about-features--side .geb-about-features__media {
  order: -1;
  padding: 0;
  padding-inline-end: 0.6rem;
}
.geb-about-features--side .geb-about-features__media::before {
  display: none;
}
.geb-about-features--side .geb-about-features__image {
  border: 10px solid var(--gb-card);
  border-radius: 0;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}
.geb-about-features--side .geb-about-features__card {
  padding: 1.25rem;
}
.geb-about-features--side .geb-about-features__card::before,
.geb-about-features--side .geb-about-features__card::after {
  display: none;
}
.geb-about-features--side .geb-about-features__card:hover {
  background: var(--gb-card);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.14);
}
.geb-about-features--side .geb-about-features__card-title,
.geb-about-features--side .geb-about-features__card:hover .geb-about-features__card-title {
  color: var(--gb-accent-text);
}
.geb-about-features--side .geb-about-features__card:hover .geb-about-features__card-text {
  color: var(--gb-muted);
}

/* ========================================================================== */
/* GEB-FOUNDER — Medicoz "about-4": metin + kurucu, çerçeveli görsel          */
/* ========================================================================== */
.geb-founder {
  position: relative;
  padding: calc(6rem * var(--section-scale, 1)) 0;
}
.geb-founder__inner {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 3.5rem;
  align-items: center;
}
.geb-founder--reverse .geb-founder__media {
  order: -1;
}
.geb-founder__text {
  margin: 1.1rem 0 0;
  color: var(--gb-muted);
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.8;
}
.geb-founder__text--strong {
  color: var(--gb-fg);
  font-weight: 600;
}
.geb-founder__owner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 2.25rem;
}
.geb-founder__signature {
  flex: 0 0 auto;
  margin: 0;
}
.geb-founder__signature img {
  display: block;
  max-width: 150px;
  height: auto;
}
.geb-founder__owner-text {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-inline-start: 1.5rem;
  border-inline-start: 3px solid var(--secondary-color, var(--primary-color));
}
.geb-founder__name {
  margin: 0;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.5rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.25;
}
.geb-founder__role {
  color: var(--gb-muted);
  font-size: calc(0.95rem * var(--font-scale, 1));
}
.geb-founder__media {
  position: relative;
  text-align: center;
}
.geb-founder__image {
  position: relative;
  display: inline-block;
  margin: 0;
}
/* Görselin arkasında ikincil renkte kalın çerçeve (Medicoz :before). */
.geb-founder__image::before {
  position: absolute;
  top: 100px;
  inset-inline-end: 70px;
  width: 80%;
  height: 70%;
  border: 15px solid var(--secondary-color, var(--primary-color));
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  content: "";
}
.geb-founder__image img {
  position: relative;
  display: inline-block;
  max-width: 100%;
  height: auto;
}

/* ========================================================================== */
/* GEB-WELCOME — Medicoz "welcome-1": giriş + dört sütunlu kart akışı         */
/* ========================================================================== */
.geb-welcome {
  position: relative;
  z-index: 0;
  padding: calc(7.5rem * var(--section-scale, 1)) 0 calc(5.6rem * var(--section-scale, 1));
}
/* Varsayılan zemin: ana rengin %10'u (Medicoz :before). Sade ve yüzey varyantları kendi zeminini kullanır. */
.geb-welcome--default::before,
.geb-welcome--split::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--primary-color);
  content: "";
  opacity: 0.1;
}
.geb-welcome__layout {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.875rem;
}
.geb-welcome__head {
  grid-column: span 2;
  align-self: center;
}
/* split: giriş solda ve kart satırları boyunca dikey ortalı, kartlar sağda iki sütunda (dört kartta boşluk kalmaz). */
.geb-welcome--split .geb-welcome__layout {
  grid-template-columns: minmax(0, 1.15fr) repeat(2, minmax(0, 1fr));
  column-gap: 2.5rem;
}
.geb-welcome--split .geb-welcome__head {
  grid-column: 1;
  grid-row: 1 / span var(--gb-welcome-rows, 2);
  padding-inline-end: 1rem;
}
.geb-welcome--split .geb-welcome__card {
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}
.geb-welcome__card {
  padding: 1.875rem;
  border-radius: 10px;
  background: var(--gb-card);
  transition:
    background-color 500ms ease,
    box-shadow 500ms ease;
}
.geb-welcome--plain .geb-welcome__card {
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}
.geb-welcome__card:hover {
  background: var(--primary-color);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}
.geb-welcome__icon {
  display: inline-flex;
  margin-bottom: 0.95rem;
  color: var(--gb-icon);
  font-size: calc(3.75rem * var(--font-scale, 1));
  line-height: 1;
  transition: color 300ms ease;
}
.geb-welcome__card-title {
  margin: 0 0 0.95rem;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.25rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.2;
  transition: color 300ms ease;
}
.geb-welcome__card-text {
  margin: 0;
  color: var(--gb-muted);
  font-size: calc(0.95rem * var(--font-scale, 1));
  line-height: 1.7;
  transition: color 300ms ease;
}
.geb-welcome__card:hover .geb-welcome__icon,
.geb-welcome__card:hover .geb-welcome__card-title,
.geb-welcome__card:hover .geb-welcome__card-text {
  color: var(--gb-on-accent);
}

/* ========================================================================== */
/* GEB-INFO — Medicoz "info-1": çerçeveli görsel + büyük ikonlu bilgi satırları */
/* ========================================================================== */
.geb-info {
  position: relative;
  padding: calc(7.5rem * var(--section-scale, 1)) 0 calc(4.4rem * var(--section-scale, 1));
}
.geb-info__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 3.5rem;
  align-items: start;
}
.geb-info--reverse .geb-info__media {
  order: 2;
}
.geb-info__media {
  padding-inline-end: 2.2rem;
}
.geb-info--reverse .geb-info__media {
  padding-inline-end: 0;
  padding-inline-start: 2.2rem;
}
.geb-info__image {
  margin: 0;
}
.geb-info__image img {
  display: block;
  width: 100%;
  height: auto;
  border: 10px solid var(--gb-card);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.geb-info__grid {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin: 2.5rem 0 0;
  padding: 0;
  list-style: none;
}
.geb-info__card {
  position: relative;
  padding-inline-start: 6.25rem;
}
.geb-info__icon {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  display: inline-flex;
  color: var(--gb-icon);
  font-size: calc(4rem * var(--font-scale, 1));
  line-height: 1;
}
.geb-info__card-title {
  margin: 0 0 0.6rem;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.5rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.2;
}
.geb-info__card-text {
  margin: 0;
  color: var(--gb-muted);
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.75;
}

/* ---------------- Tablet (≤1024px) ---------------- */
@media (max-width: 1024px) {
  .geb-about-intro__inner,
  .geb-about-features__inner,
  .geb-about-features--side .geb-about-features__inner,
  .geb-founder__inner,
  .geb-info__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 3rem;
  }
  .geb-about-intro__media {
    min-height: 0;
    max-width: 640px;
    margin-bottom: 2.5rem;
  }
  .geb-about-intro--reverse .geb-about-intro__media,
  .geb-info--reverse .geb-info__media {
    order: 0;
  }
  .geb-about-features__media {
    max-width: 560px;
    margin-bottom: 3rem;
  }
  .geb-founder__image::before {
    inset-inline-end: 30px;
    top: 60px;
  }
  .geb-welcome__layout,
  .geb-welcome--split .geb-welcome__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .geb-welcome--split .geb-welcome__head {
    grid-column: 1 / -1;
    grid-row: auto;
    padding-inline-end: 0;
  }
  .geb-info__media,
  .geb-info--reverse .geb-info__media {
    padding-inline: 0;
  }
}

/* ---------------- Mobil (≤767px) ---------------- */
@media (max-width: 767px) {
  .geb-about-intro__image--main {
    width: 100%;
  }
  .geb-about-intro__image--second {
    bottom: -1.5rem;
    width: 50%;
  }
  .geb-about-intro__image--accent {
    display: none;
  }
  .geb-about-intro__play {
    top: 1rem;
    inset-inline-start: 1rem;
    width: 72px;
    height: 72px;
  }
  .geb-about-features__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .geb-about-features__media {
    padding-inline-start: 0;
  }
  .geb-about-features__media::before {
    display: none;
  }
  .geb-founder__owner {
    flex-direction: column;
    align-items: flex-start;
  }
  .geb-founder__image::before {
    display: none;
  }
  .geb-welcome__layout,
  .geb-welcome--split .geb-welcome__layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .geb-welcome__head,
  .geb-welcome--split .geb-welcome__head {
    grid-column: auto;
  }
  .geb-info__card {
    padding-inline-start: 4.5rem;
  }
  .geb-info__icon {
    font-size: calc(3rem * var(--font-scale, 1));
  }
}

/* ---------------- Azaltılmış hareket ---------------- */
@media (prefers-reduced-motion: reduce) {
  .geb-about-intro__play,
  .geb-about-features__card,
  .geb-about-features__card::before,
  .geb-about-features__card::after,
  .geb-welcome__card {
    transition: none;
  }
  .geb-about-intro__play:hover,
  .geb-about-intro__play:focus-visible {
    transform: none;
  }
}

/* ========================================================================== */
/* GEB-HIGHLIGHTS — Medicoz "top features": ikonlu kartlar, hover'da ana renk  */
/* ========================================================================== */
.geb-highlights {
  position: relative;
  padding: calc(5rem * var(--section-scale, 1)) 0;
}
/* Üste binen: kartlar bir önceki bölümün (kaydırıcı) altına biner; zemin şeffaf kalır. */
.geb-highlights--overlap {
  z-index: 2;
  margin-top: calc(-6.25rem * var(--section-scale, 1));
  padding-top: 0;
  background: transparent;
}
.geb-highlights__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.875rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.geb-highlights__card {
  position: relative;
  overflow: hidden;
  padding: 2.8rem 2.5rem;
  border-radius: var(--gb-radius);
  background: var(--gb-card, #ffffff);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  color: var(--gb-fg);
  transition:
    background-color 400ms ease,
    transform 400ms ease,
    box-shadow 400ms ease;
}
/* Sağ üst köşeden açılan iki saydam halka. */
.geb-highlights__card::before,
.geb-highlights__card::after {
  position: absolute;
  top: -100px;
  inset-inline-end: -100px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #ffffff;
  content: "";
  pointer-events: none;
  transform: scale(0);
  transition: all 600ms ease;
}
.geb-highlights__card:hover {
  background: var(--primary-color);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  transform: translateY(-20px);
}
.geb-highlights__card:hover::before {
  opacity: 0.2;
  transform: scale(1);
  transition-delay: 300ms;
}
.geb-highlights__card:hover::after {
  opacity: 0.1;
  transform: scale(1.7);
  transition-delay: 400ms;
}
.geb-highlights__icon {
  display: inline-flex;
  margin-bottom: 1.25rem;
  color: var(--gb-icon);
  font-size: calc(4rem * var(--font-scale, 1));
  line-height: 1;
  transition: color 300ms ease;
}
.geb-highlights__title {
  margin: 0 0 0.95rem;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.5rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.3;
  transition: color 300ms ease;
}
.geb-highlights__text {
  margin: 0;
  color: var(--gb-muted);
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.75;
  transition: color 300ms ease;
}
.geb-highlights__card:hover .geb-highlights__icon,
.geb-highlights__card:hover .geb-highlights__title,
.geb-highlights__card:hover .geb-highlights__text {
  color: var(--gb-on-accent);
}
@media (max-width: 767px) {
  .geb-highlights--overlap {
    margin-top: 0;
    padding-top: calc(3rem * var(--section-scale, 1));
  }
  .geb-highlights__card {
    padding: 2.2rem 1.75rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .geb-highlights__card,
  .geb-highlights__card::before,
  .geb-highlights__card::after {
    transition: none;
  }
  .geb-highlights__card:hover {
    transform: none;
  }
}

/* ========================================================================== */
/* GEB-SERVICES — Medicoz "services 1 / 3": ikonlu hizmet kartları             */
/* ========================================================================== */
.geb-services {
  position: relative;
  padding: calc(6rem * var(--section-scale, 1)) 0 calc(4.5rem * var(--section-scale, 1));
}
.geb-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.875rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.geb-services__card {
  position: relative;
  padding: 1.875rem;
  border-bottom: 3px solid transparent;
  border-radius: 15px 15px 0 0;
  text-align: center;
  transition:
    background-color 500ms ease,
    box-shadow 500ms ease,
    transform 500ms ease,
    border-color 500ms ease;
}
.geb-services__card:hover {
  border-bottom-color: var(--primary-color);
  background: var(--gb-card);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  transform: translateY(-20px);
}
/* Yuvarlak ikon kutusu; hover'da içi alttan ana rengin açık tonuyla dolar. */
.geb-services__icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  width: 100px;
  height: 100px;
  margin-bottom: 0.95rem;
  border: 1px solid var(--gb-border-strong);
  border-radius: 50%;
  background: var(--gb-card);
  color: var(--gb-icon);
  transition: border-color 300ms ease;
}
.geb-services__icon::after {
  position: absolute;
  inset-inline-start: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background: var(--primary-color);
  content: "";
  opacity: 0;
  transition: all 500ms ease;
}
.geb-services__icon .cms-icon-ri {
  position: relative;
  z-index: 1;
  transition: transform 300ms ease;
}
.geb-services__card:hover .geb-services__icon {
  border-color: transparent;
}
.geb-services__card:hover .geb-services__icon::after {
  height: 100%;
  opacity: 0.08;
  transition-delay: 200ms;
}
.geb-services__card:hover .geb-services__icon .cms-icon-ri {
  transform: scale(1.4);
}
.geb-services__title {
  margin: 0 0 0.65rem;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.5rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.2;
}
.geb-services__text {
  margin: 0;
  color: var(--gb-muted);
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.75;
}
/* wide: iki sütun, köşede renkli ikon kutusu, sağ altta soluk büyük ikon. */
.geb-services--wide .geb-services__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.geb-services--wide .geb-services__card {
  overflow: hidden;
  min-height: 150px;
  padding: 1.875rem;
  padding-inline-start: 9.4rem;
  border: 0;
  border-radius: var(--gb-radius);
  background: var(--gb-card);
  text-align: start;
}
.geb-services--wide .geb-services__card:hover {
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.06);
  transform: none;
}
.geb-services--wide .geb-services__icon {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  width: 110px;
  height: 110px;
  margin: 0;
  border: 0;
  /* Yalnızca kartın içine bakan köşe yuvarlak (mantıksal köşe: RTL'de kendiliğinden döner). */
  border-radius: 0;
  border-end-end-radius: 20px;
  background: var(--primary-color);
  color: var(--gb-on-accent);
}
.geb-services--wide .geb-services__icon::after {
  display: none;
}
.geb-services--wide .geb-services__card:hover .geb-services__icon .cms-icon-ri {
  transform: none;
}
.geb-services--wide .geb-services__title {
  font-weight: 700;
}
.geb-services__float {
  position: absolute;
  inset-inline-end: 0;
  bottom: 0;
  color: var(--gb-fg);
  line-height: 1;
  opacity: 0.05;
  pointer-events: none;
}
@media (max-width: 1024px) {
  .geb-services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .geb-services--wide .geb-services__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 767px) {
  .geb-services__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .geb-services--wide .geb-services__card {
    padding-top: 8.4rem;
    padding-inline-start: 1.5rem;
  }
}

/* ========================================================================== */
/* GEB-DEPARTMENTS — Medicoz "services 2 / 4": görselli bölüm kaydırıcısı      */
/* ========================================================================== */
.geb-departments {
  position: relative;
  padding: calc(6rem * var(--section-scale, 1)) 0;
  background: var(--gb-subtle);
}
.geb-departments__viewport {
  overflow: hidden;
  margin: -1.25rem;
  padding: 1.25rem 0;
}
.geb-departments__track {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  transform: translateX(calc(var(--gb-offset, 0%) * -1));
  transition: transform 600ms ease;
}
[dir="rtl"] .geb-departments__track {
  transform: translateX(var(--gb-offset, 0%));
}
.geb-departments__slide {
  flex: 0 0 calc(100% / var(--gb-per, 3));
  min-width: 0;
  padding: 0 1.25rem;
}
.geb-departments__card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: var(--gb-card);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
.geb-departments__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 10px solid var(--gb-card);
  border-bottom: 0;
}
.geb-departments__media img {
  transition:
    transform 300ms ease,
    opacity 300ms ease;
}
.geb-departments__card:hover .geb-departments__media img {
  transform: scale(1.2);
}
.geb-departments__body {
  position: relative;
  flex: 1;
  overflow: hidden;
  padding: 1.875rem 1.25rem 2.5rem;
}
.geb-departments__head {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.95rem;
}
.geb-departments__icon {
  display: inline-flex;
  color: var(--gb-icon);
}
.geb-departments__title {
  margin: 0;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.5rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.2;
}
.geb-departments__title a {
  color: inherit;
  text-decoration: none;
  transition: color 300ms ease;
}
.geb-departments__title a:hover {
  color: var(--gb-accent-text);
}
.geb-departments__text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--gb-muted);
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.75;
}
.geb-departments__float {
  position: absolute;
  inset-inline-end: -20px;
  bottom: -20px;
  color: var(--gb-fg);
  line-height: 1;
  opacity: 0.05;
  pointer-events: none;
}
/* read-more: ikonsuz, görsel hover'da hafif solar, altta "Devamını oku" bağlantısı. */
.geb-departments--read-more .geb-departments__body {
  padding: 1.25rem;
}
.geb-departments--read-more .geb-departments__title {
  margin-bottom: 0.65rem;
}
.geb-departments--read-more .geb-departments__card:hover .geb-departments__media img {
  opacity: 0.75;
}
.geb-departments__more {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.95rem;
  color: var(--gb-accent-text);
  font-size: calc(1rem * var(--font-scale, 1));
  font-weight: 600;
  text-decoration: none;
}
.geb-departments__more .cms-icon-ri {
  transition: transform 300ms ease;
}
.geb-departments__more:hover .cms-icon-ri {
  transform: translateX(4px);
}
[dir="rtl"] .geb-departments__more .cms-icon-ri {
  transform: scaleX(-1);
}
.geb-departments__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 2.5rem;
}
.geb-departments__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--gb-border-strong);
  border-radius: 50%;
  background: var(--gb-card);
  color: var(--gb-fg);
  cursor: pointer;
  transition:
    background-color 300ms ease,
    color 300ms ease,
    border-color 300ms ease;
}
.geb-departments__arrow:hover,
.geb-departments__arrow:focus-visible {
  border-color: var(--primary-color);
  background: var(--primary-color);
  color: var(--gb-on-accent);
}
[dir="rtl"] .geb-departments__arrow svg {
  transform: scaleX(-1);
}
.geb-departments__dots {
  display: flex;
  gap: 0.5rem;
}
.geb-departments__dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--gb-border-strong);
  cursor: pointer;
  transition:
    width 300ms ease,
    background-color 300ms ease;
}
.geb-departments__dot.is-active {
  width: 26px;
  border-radius: 5px;
  background: var(--primary-color);
}

/* ========================================================================== */
/* GEB-SKILLS — Medicoz "skill 1": yarısı görsel, yarısı yüzde çubukları       */
/* ========================================================================== */
.geb-skills {
  position: relative;
  padding: calc(6rem * var(--section-scale, 1)) 0;
}
/* Solda dörtte birlik ana renk şerit; kutu üstüne biner. */
.geb-skills::before {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  width: 25%;
  height: 100%;
  background: var(--primary-color);
  content: "";
}
.geb-skills--reversed::before {
  inset-inline-start: auto;
  inset-inline-end: 0;
}
.geb-skills__inner {
  position: relative;
}
.geb-skills__box {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  background: var(--gb-card);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.geb-skills__box--solo {
  grid-template-columns: minmax(0, 1fr);
}
.geb-skills--reversed .geb-skills__media {
  order: 2;
}
.geb-skills__media {
  position: relative;
  min-height: 420px;
}
.geb-skills__content {
  padding: 3.1rem;
}
.geb-skills__content .gb-head {
  margin-bottom: 2.5rem;
}
.geb-skills__list {
  display: grid;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.geb-skills__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.65rem;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.6;
}
.geb-skills__label {
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.geb-skills__value {
  font-variant-numeric: tabular-nums;
}
.geb-skills__bar {
  position: relative;
  height: 5px;
  overflow: hidden;
  border-radius: 5px;
  background: var(--gb-subtle-2);
}
.geb-skills__fill {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--primary-color);
  transition: width 2500ms ease;
}
.geb-skills__actions {
  margin-top: 3.1rem;
}
@media (max-width: 1024px) {
  .geb-skills::before {
    display: none;
  }
  .geb-skills__box {
    grid-template-columns: minmax(0, 1fr);
  }
  .geb-skills--reversed .geb-skills__media {
    order: 0;
  }
  .geb-skills__media {
    min-height: 320px;
  }
}
@media (max-width: 767px) {
  .geb-skills__content {
    padding: 2rem 1.5rem;
  }
  .geb-skills__media {
    min-height: 240px;
  }
}

/* ========================================================================== */
/* GEB-DOCTORS — Medicoz team-1 / team-2: doktor kartları                     */
/* ========================================================================== */
.geb-doctors {
  padding: calc(5.5rem * var(--section-scale, 1)) 0;
}
.geb-doctors__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.875rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.geb-doctors__card {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 370px;
  margin-inline: auto;
  border: 5px solid var(--gb-card);
  border-radius: var(--gb-radius);
  background: var(--gb-card);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  text-align: center;
  transition: box-shadow 300ms ease;
}
.geb-doctors__card:hover {
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.1);
}
.geb-doctors__photo {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--gb-subtle);
}
.geb-doctors__photo img {
  object-fit: cover;
  transition: transform 500ms ease;
}
.geb-doctors__card:hover .geb-doctors__photo img {
  transform: scale(1.1);
  transition-duration: 2000ms;
}
/* Üzerine gelince alttan yükselen kavisli beyaz perde (ad kutusunun zemini). */
.geb-doctors__photo::after {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 0;
  border-radius: 50% 50% 0 0;
  background: linear-gradient(180deg, transparent 0%, var(--gb-card) 100%);
  content: "";
  transition: height 300ms ease;
}
.geb-doctors__card:hover .geb-doctors__photo::after {
  height: 50%;
}
.geb-doctors__initial {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--gb-icon);
  font-family: var(--gb-heading-font);
  font-size: calc(4rem * var(--font-scale, 1));
  font-weight: 700;
}
.geb-doctors__info {
  position: absolute;
  inset-inline: 0;
  bottom: -100px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: 1.875rem 1.25rem;
  opacity: 0;
  transition:
    bottom 300ms ease,
    opacity 300ms ease;
}
.geb-doctors__card:hover .geb-doctors__info,
.geb-doctors__card:focus-within .geb-doctors__info {
  bottom: 0;
  opacity: 1;
  transition-delay: 200ms;
}
.geb-doctors__name {
  margin: 0;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.375rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.2;
}
.geb-doctors__name a {
  color: inherit;
}
.geb-doctors__role {
  color: var(--gb-muted);
  font-size: calc(0.875rem * var(--font-scale, 1));
  line-height: 1.3;
}
/* Dokunmatik ekranda hover yoktur: ad kutusu her zaman görünür. */
@media (hover: none) {
  .geb-doctors--default .geb-doctors__info,
  .geb-doctors[data-variant="subtle"] .geb-doctors__info,
  .geb-doctors[data-variant="inverse"] .geb-doctors__info {
    bottom: 0;
    opacity: 1;
  }
  .geb-doctors--default .geb-doctors__photo::after,
  .geb-doctors[data-variant="subtle"] .geb-doctors__photo::after,
  .geb-doctors[data-variant="inverse"] .geb-doctors__photo::after {
    height: 50%;
  }
}
/* grayscale (team-2): ad kutusu altta sabit, fotoğraf gri, alt çizgi soldan dolar. */
.geb-doctors--grayscale .geb-doctors__grid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.geb-doctors--grayscale .geb-doctors__card {
  max-width: 340px;
  border-width: 10px 10px 0;
  border-radius: 0;
  box-shadow: 0 0 35px rgba(0, 0, 0, 0.07);
}
.geb-doctors--grayscale .geb-doctors__card::before {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  z-index: 2;
  height: 5px;
  background: var(--primary-color);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 500ms cubic-bezier(0.86, 0, 0.07, 1);
}
.geb-doctors--grayscale .geb-doctors__card:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
.geb-doctors--grayscale .geb-doctors__photo img {
  filter: grayscale(1);
  transition:
    filter 500ms ease,
    transform 500ms ease;
}
.geb-doctors--grayscale .geb-doctors__card:hover .geb-doctors__photo img {
  filter: grayscale(0);
  transition-duration: 500ms;
}
.geb-doctors--grayscale .geb-doctors__photo::after {
  display: none;
}
.geb-doctors--grayscale .geb-doctors__info {
  position: relative;
  bottom: auto;
  gap: 0.3rem;
  padding: 1.9rem 1rem 1.7rem;
  border-bottom: 5px solid var(--gb-border);
  background: var(--gb-card);
  opacity: 1;
}
.geb-doctors--grayscale .geb-doctors__name {
  font-size: calc(1.5rem * var(--font-scale, 1));
  font-weight: 600;
}
.geb-doctors--grayscale .geb-doctors__role {
  color: var(--gb-accent-text);
  font-size: calc(0.95rem * var(--font-scale, 1));
  font-weight: 600;
}

/* ========================================================================== */
/* GEB-REVIEWS — Medicoz testimonial-1 / -2 / -3: hasta yorumları              */
/* ========================================================================== */
.geb-reviews {
  position: relative;
  padding: calc(6rem * var(--section-scale, 1)) 0 calc(5rem * var(--section-scale, 1));
}
.geb-reviews__outer {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
.geb-reviews__slides {
  display: grid;
  width: 100%;
  max-width: 800px;
}
.geb-reviews__slide {
  grid-area: 1 / 1;
  margin: 0;
  color: var(--gb-muted);
  font-size: calc(1.125rem * var(--font-scale, 1));
  line-height: 2;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition:
    opacity 600ms ease,
    transform 600ms ease,
    visibility 600ms;
}
.geb-reviews__slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: none;
}
/* Alıntı sahnesi: oklar alıntının iki yanında (alıntı en çok 800 px, ortada). */
.geb-reviews__stage {
  display: grid;
  grid-template-columns: auto minmax(0, 800px) auto;
  align-items: center;
  justify-content: center;
  column-gap: 2.5rem;
  width: 100%;
}
.geb-reviews__stage .geb-reviews__slides {
  grid-column: 2;
  grid-row: 1;
}
.geb-reviews__stage .geb-reviews__arrow {
  position: static;
  grid-row: 1;
  transform: none;
}
.geb-reviews__stage .geb-reviews__arrow--prev {
  grid-column: 1;
}
.geb-reviews__stage .geb-reviews__arrow--next {
  grid-column: 3;
}
.geb-reviews__picker {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.geb-reviews__thumbs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.25rem;
}
.geb-reviews__thumb,
.geb-reviews__single {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100px;
  height: 100px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--gb-subtle);
}
.geb-reviews__thumb {
  cursor: pointer;
  opacity: 0.6;
  transform: scale(0.8);
  transition:
    opacity 300ms ease,
    transform 300ms ease;
}
.geb-reviews__thumb.is-active,
.geb-reviews__thumb:hover {
  opacity: 1;
  transform: scale(1);
}
.geb-reviews__thumb:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}
.geb-reviews__thumb img,
.geb-reviews__single img,
.geb-reviews__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.geb-reviews__initial {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: var(--gb-icon);
  font-family: var(--gb-heading-font);
  font-size: calc(1.75rem * var(--font-scale, 1));
  font-weight: 700;
}
.geb-reviews__author {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  margin-top: -18px;
  text-align: center;
}
.geb-reviews__mark {
  position: relative;
  z-index: 1;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: var(--gb-card);
  box-shadow: 0 0 13px rgba(0, 0, 0, 0.09);
  color: var(--gb-fg);
  font-size: calc(1rem * var(--font-scale, 1));
}
.geb-reviews__name {
  color: var(--gb-accent-text);
  font-family: var(--gb-heading-font);
  font-size: calc(1.25rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.2;
}
.geb-reviews__role {
  color: var(--gb-muted);
  font-size: calc(0.875rem * var(--font-scale, 1));
  line-height: 1.2;
}
.geb-reviews__stars {
  display: inline-flex;
  gap: 0.15rem;
  color: #e0a14f;
  font-size: calc(0.95rem * var(--font-scale, 1));
  line-height: 1;
}
.geb-reviews__stars__star:not(.is-on) {
  opacity: 0.45;
}
/* framed (testimonial-2): seçici üstte, alıntı gölgeli kartta; bölümün alt yarısı ana renkli bant. */
.geb-reviews--framed::before {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 50%;
  background: var(--primary-color);
  content: "";
}
.geb-reviews--framed .geb-reviews__inner {
  position: relative;
}
.geb-reviews--framed .geb-reviews__outer {
  padding: 4.5rem 1rem 4rem;
  border-radius: var(--gb-radius);
  background: var(--gb-card);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.11);
}
.geb-reviews--framed .geb-reviews__picker {
  order: -1;
}
/* cards (testimonial-3): yan yana kart kaydırıcısı. */
.geb-reviews__carousel,
.geb-clients__carousel {
  --gb-per-view: 3;
  position: relative;
}
.geb-reviews__viewport,
.geb-clients__viewport {
  overflow: hidden;
}
.geb-reviews__track,
.geb-clients__track {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  transform: translateX(calc(var(--gb-slide, 0) * -100% / var(--gb-per-view)));
  transition: transform 600ms ease;
}
[dir="rtl"] .geb-reviews__track,
[dir="rtl"] .geb-clients__track {
  transform: translateX(calc(var(--gb-slide, 0) * 100% / var(--gb-per-view)));
}
.geb-reviews__cell,
.geb-clients__cell {
  flex: 0 0 calc(100% / var(--gb-per-view));
  min-width: 0;
}
.geb-reviews__cell {
  display: flex;
  padding: 1.875rem 0.9375rem;
}
.geb-reviews__card {
  position: relative;
  flex: 1;
  margin: 0;
  padding: 2.5rem 2.5rem 2.2rem;
  border-bottom: 2px solid var(--secondary-color);
  border-radius: var(--gb-radius);
  background: var(--gb-card);
  box-shadow: 0 0 30px rgba(8, 0, 0, 0.05);
}
.geb-reviews__card::before {
  position: absolute;
  top: 2.5rem;
  inset-inline-end: 2.5rem;
  color: var(--gb-border-strong);
  content: "\201D";
  font-family: Georgia, serif;
  font-size: calc(5rem * var(--font-scale, 1));
  line-height: 0.8;
}
.geb-reviews__card .geb-reviews__author {
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  margin: 0 0 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--gb-border);
  text-align: start;
}
.geb-reviews__avatar {
  flex: none;
  overflow: hidden;
  width: 80px;
  height: 80px;
  border: 5px solid var(--gb-card);
  border-radius: 50%;
  background: var(--gb-subtle);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.geb-reviews__who {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.geb-reviews__card .geb-reviews__name {
  color: var(--gb-fg);
  font-weight: 600;
}
.geb-reviews__card .geb-reviews__role {
  color: var(--secondary-color);
}
.geb-reviews__quote {
  margin: 0;
  color: var(--gb-muted);
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.6;
}

/* Kaydırıcı okları ve noktaları (yorum kartları, kurumlar, ana kaydırıcı). */
.geb-reviews__arrow,
.geb-clients__arrow,
.geb-slider__arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: grid;
  width: 45px;
  height: 45px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background: rgba(0, 0, 0, 0.2);
  color: #ffffff;
  cursor: pointer;
  transform: translateY(-50%);
  transition: all 400ms ease;
}
.geb-reviews__arrow:hover,
.geb-clients__arrow:hover,
.geb-slider__arrow:hover,
.geb-reviews__arrow:focus-visible,
.geb-clients__arrow:focus-visible,
.geb-slider__arrow:focus-visible {
  background: #ffffff;
  color: var(--primary-color);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}
.geb-reviews__arrow,
.geb-clients__arrow {
  background: var(--gb-card);
  color: var(--gb-fg);
  box-shadow: var(--gb-shadow);
}
.geb-reviews__arrow--prev,
.geb-clients__arrow--prev {
  inset-inline-start: -0.75rem;
}
.geb-reviews__arrow--next,
.geb-clients__arrow--next {
  inset-inline-end: -0.75rem;
}
[dir="rtl"] .geb-reviews__arrow svg,
[dir="rtl"] .geb-clients__arrow svg,
[dir="rtl"] .geb-slider__arrow svg {
  transform: scaleX(-1);
}
.geb-reviews__dots,
.geb-slider__dots {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}
.geb-reviews__dots {
  margin-top: 0.5rem;
}
.geb-reviews__dot,
.geb-slider__dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--gb-border-strong);
  cursor: pointer;
  transition:
    width 300ms ease,
    background-color 300ms ease;
}
.geb-reviews__dot.is-active,
.geb-slider__dot.is-active {
  width: 26px;
  border-radius: 5px;
  background: var(--primary-color);
}

/* ========================================================================== */
/* GEB-CLIENTS — Medicoz clients-1: kurum logoları şeridi                     */
/* ========================================================================== */
.geb-clients {
  position: relative;
  z-index: 1;
  padding: calc(3.5rem * var(--section-scale, 1)) 0;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.05);
}
.geb-clients__carousel {
  --gb-per-view: 5;
}
.geb-clients .gb-head {
  margin-bottom: 2.5rem;
}
.geb-clients__cell {
  padding: 0 0.75rem;
}
.geb-clients__item {
  display: flex;
  height: 90px;
  align-items: center;
  justify-content: center;
  color: var(--gb-muted);
  text-decoration: none;
  transition: color 300ms ease;
}
.geb-clients__logo {
  display: flex;
  max-width: 100%;
  max-height: 100%;
  align-items: center;
  justify-content: center;
}
.geb-clients__logo img {
  max-width: 100%;
  max-height: 70px;
  object-fit: contain;
  transition:
    opacity 300ms ease,
    filter 300ms ease;
}
.geb-clients__wordmark {
  overflow: hidden;
  max-width: 100%;
  font-family: var(--gb-heading-font);
  font-size: calc(1.3rem * var(--font-scale, 1));
  font-weight: 700;
  letter-spacing: 0.02em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
a.geb-clients__item:hover {
  color: var(--gb-icon);
}
.geb-clients--grayscale .geb-clients__logo img {
  filter: grayscale(1);
  opacity: 0.6;
}
.geb-clients--grayscale .geb-clients__item:hover .geb-clients__logo img {
  filter: grayscale(0);
  opacity: 1;
}
.geb-clients__arrow {
  opacity: 0;
}
.geb-clients__carousel:hover .geb-clients__arrow,
.geb-clients__arrow:focus-visible {
  opacity: 1;
}

/* ========================================================================== */
/* GEB-COUNTERS — Medicoz fun-fact-1 / -2 / -3: sayan sayaçlar                */
/* ========================================================================== */
.geb-counters {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: calc(3.5rem * var(--section-scale, 1)) 0 calc(1.5rem * var(--section-scale, 1));
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.06);
}
.geb-counters__inner {
  position: relative;
}
.geb-counters__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0 1.875rem;
  margin: 0;
}
.geb-counters__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2rem;
  text-align: center;
}
.geb-counters__icon {
  display: inline-flex;
  margin-bottom: 1.25rem;
  color: var(--gb-icon);
  font-size: calc(3.375rem * var(--font-scale, 1));
  line-height: 1;
}
.geb-counters__label {
  margin-bottom: 0.6rem;
  color: var(--gb-muted);
  font-size: calc(1rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.5;
}
.geb-counters__value {
  margin: 0;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(2.25rem * var(--font-scale, 1));
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  line-height: 1.2;
}
/* accent (fun-fact-2): ikincil renkli, sol alt köşesi yuvarlak katman; sayı başlığın üstünde. */
.geb-counters--accent {
  box-shadow: none;
}
.geb-counters--accent .geb-counters__inner::before {
  position: absolute;
  inset-block: calc(-3.5rem * var(--section-scale, 1)) calc(-1.5rem * var(--section-scale, 1));
  inset-inline: 0 -100vw;
  border-end-start-radius: 50px;
  background: var(--secondary-color);
  box-shadow: 0 10px 50px rgba(0, 0, 0, 0.2);
  content: "";
}
.geb-counters--accent .geb-counters__grid,
.geb-counters--image .geb-counters__grid {
  position: relative;
}
.geb-counters--accent .geb-counters__icon,
.geb-counters--accent .geb-counters__label,
.geb-counters--accent .geb-counters__value,
.geb-counters--image .geb-counters__label,
.geb-counters--image .geb-counters__value {
  color: #ffffff;
}
.geb-counters--accent .geb-counters__value,
.geb-counters--image .geb-counters__value {
  order: -1;
  margin-bottom: 0.6rem;
  font-size: calc(4rem * var(--font-scale, 1));
  font-weight: 800;
  line-height: 1.1;
}
.geb-counters--accent .geb-counters__icon {
  order: -2;
  margin-bottom: 0.9rem;
}
.geb-counters--accent .geb-counters__label {
  margin: 0;
}
/* image (fun-fact-3): görsel üzerinde ana renk perdesi, ikonsuz. */
.geb-counters--image {
  padding-block: calc(4rem * var(--section-scale, 1)) calc(2rem * var(--section-scale, 1));
  background: var(--primary-color);
  box-shadow: none;
}
.geb-counters__bg {
  position: absolute;
  inset: 0;
}
.geb-counters__bg img {
  object-fit: cover;
}
.geb-counters--image::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--primary-color);
  content: "";
  opacity: 0.92;
}
.geb-counters--image .geb-counters__inner {
  z-index: 1;
}
.geb-counters--image .geb-counters__label {
  margin: 0;
  font-size: calc(1.125rem * var(--font-scale, 1));
  font-weight: 700;
}

/* ========================================================================== */
/* GEB-SLIDER — Medicoz slider-1: ana kaydırıcı, görsel yavaşça yakınlaşır    */
/* ========================================================================== */
.geb-slider {
  position: relative;
  overflow: hidden;
  background: var(--gb-subtle);
}
.geb-slider__stage {
  display: grid;
  min-height: clamp(520px, 86vh, 780px);
}
.geb-slider__slide {
  position: relative;
  grid-area: 1 / 1;
  display: flex;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 900ms ease,
    visibility 900ms;
}
.geb-slider__slide.is-active {
  opacity: 1;
  visibility: visible;
}
.geb-slider__image {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.geb-slider__image img {
  object-fit: cover;
}
.geb-slider__slide.is-active .geb-slider__image img {
  animation: gb-ken-burns 9s ease-out both;
}
@keyframes gb-ken-burns {
  from {
    transform: scale(1.15);
  }
  to {
    transform: scale(1);
  }
}
/* Açık perde: metin tarafı sayfa zemininin rengine, karşı taraf görsele açılır. */
.geb-slider__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--background-color) 88%, transparent) 0%,
    color-mix(in srgb, var(--background-color) 55%, transparent) 45%,
    transparent 78%
  );
}
[dir="rtl"] .geb-slider__shade {
  background: linear-gradient(
    270deg,
    color-mix(in srgb, var(--background-color) 88%, transparent) 0%,
    color-mix(in srgb, var(--background-color) 55%, transparent) 45%,
    transparent 78%
  );
}
.geb-slider__content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-block: calc(6rem * var(--section-scale, 1));
}
.geb-slider__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  max-width: 600px;
}
.geb-slider__text > * {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 800ms ease,
    transform 800ms ease;
}
.geb-slider__slide.is-active .geb-slider__text > * {
  opacity: 1;
  transform: none;
}
.geb-slider__slide.is-active .geb-slider__text > :nth-child(1) {
  transition-delay: 300ms;
}
.geb-slider__slide.is-active .geb-slider__text > :nth-child(2) {
  transition-delay: 500ms;
}
.geb-slider__slide.is-active .geb-slider__text > :nth-child(3) {
  transition-delay: 700ms;
}
.geb-slider__slide.is-active .geb-slider__text > :nth-child(4) {
  transition-delay: 900ms;
}
.geb-slider__eyebrow {
  color: var(--gb-accent-text);
  font-family: var(--gb-heading-font);
  font-size: calc(1.125rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.5;
}
.geb-slider__title {
  margin: 0;
  color: var(--gb-fg);
  font-size: calc(clamp(2.2rem, 1.2rem + 3.6vw, 3.75rem) * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.1;
}
.geb-slider__desc {
  margin: 0;
  color: var(--gb-fg);
  font-size: calc(1rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.65;
}
.geb-slider__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-top: 0.75rem;
}
.geb-slider__actions .gb-btn {
  min-width: 180px;
  justify-content: center;
}
/* dark: koyu perde, beyaz metin. */
.geb-slider--dark .geb-slider__shade {
  background: linear-gradient(90deg, rgba(11, 22, 34, 0.82) 0%, rgba(11, 22, 34, 0.5) 50%, rgba(11, 22, 34, 0.15) 100%);
}
[dir="rtl"] .geb-slider--dark .geb-slider__shade {
  background: linear-gradient(270deg, rgba(11, 22, 34, 0.82) 0%, rgba(11, 22, 34, 0.5) 50%, rgba(11, 22, 34, 0.15) 100%);
}
.geb-slider--dark .geb-slider__eyebrow {
  color: var(--secondary-color);
}
.geb-slider--dark .geb-slider__title,
.geb-slider--dark .geb-slider__desc {
  color: #ffffff;
}
/* centered: ortalanmış metin, eşit perde. */
.geb-slider--centered .geb-slider__shade,
[dir="rtl"] .geb-slider--centered .geb-slider__shade {
  background: color-mix(in srgb, var(--background-color) 62%, transparent);
}
.geb-slider--centered .geb-slider__text {
  align-items: center;
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
}
.geb-slider--centered .geb-slider__actions {
  justify-content: center;
}
.geb-slider__arrow--prev {
  inset-inline-start: -50px;
}
.geb-slider__arrow--next {
  inset-inline-end: -50px;
}
.geb-slider:hover .geb-slider__arrow--prev,
.geb-slider__arrow--prev:focus-visible {
  inset-inline-start: 30px;
}
.geb-slider:hover .geb-slider__arrow--next,
.geb-slider__arrow--next:focus-visible {
  inset-inline-end: 30px;
}
.geb-slider__dots {
  position: absolute;
  inset-inline: 0;
  bottom: 1.75rem;
  z-index: 3;
}

/* ========================================================================== */
/* GEB PEOPLE — tablet / mobil                                                */
/* ========================================================================== */
@media (max-width: 1024px) {
  .geb-reviews__carousel {
    --gb-per-view: 2;
  }
  .geb-clients__carousel {
    --gb-per-view: 3;
  }
  .geb-slider__arrow {
    display: none;
  }
}
@media (hover: none) {
  .geb-clients__arrow {
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .geb-reviews__carousel {
    --gb-per-view: 1;
  }
  .geb-clients__carousel {
    --gb-per-view: 2;
  }
  .geb-clients__arrow {
    display: none;
  }
  /* Mobilde oklar gizlenmez (kaydırmayı bilmeyen de geçebilsin): alıntının altında / noktaların iki yanında yan yana. */
  .geb-reviews__arrow {
    width: 40px;
    height: 40px;
  }
  .geb-reviews__stage {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 1rem;
    row-gap: 1.5rem;
  }
  .geb-reviews__stage .geb-reviews__slides {
    grid-column: 1 / -1;
  }
  .geb-reviews__stage .geb-reviews__arrow {
    grid-row: 2;
  }
  .geb-reviews__stage .geb-reviews__arrow--prev {
    grid-column: 1;
    justify-self: end;
  }
  .geb-reviews__stage .geb-reviews__arrow--next {
    grid-column: 2;
    justify-self: start;
  }
  .geb-reviews__carousel {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem 1rem;
  }
  .geb-reviews__carousel .geb-reviews__viewport {
    flex: 1 0 100%;
  }
  .geb-reviews__carousel .geb-reviews__arrow {
    position: static;
    transform: none;
  }
  .geb-reviews__carousel .geb-reviews__arrow--prev {
    order: 1;
  }
  .geb-reviews__carousel .geb-reviews__dots {
    order: 2;
    margin-top: 0;
  }
  .geb-reviews__carousel .geb-reviews__arrow--next {
    order: 3;
  }
  .geb-reviews__card {
    padding: 2rem 1.5rem 1.75rem;
  }
  .geb-reviews--framed .geb-reviews__outer {
    padding: 3rem 1rem 2.5rem;
  }
  .geb-counters__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .geb-counters--accent .geb-counters__value,
  .geb-counters--image .geb-counters__value {
    font-size: calc(2.75rem * var(--font-scale, 1));
  }
  .geb-slider__shade,
  [dir="rtl"] .geb-slider__shade {
    background: color-mix(in srgb, var(--background-color) 72%, transparent);
  }
  .geb-slider--dark .geb-slider__shade,
  [dir="rtl"] .geb-slider--dark .geb-slider__shade {
    background: rgba(11, 22, 34, 0.65);
  }
}
@media (prefers-reduced-motion: reduce) {
  .geb-doctors__card,
  .geb-doctors__card::before,
  .geb-doctors__photo img,
  .geb-doctors__photo::after,
  .geb-doctors__info,
  .geb-reviews__slide,
  .geb-reviews__thumb,
  .geb-reviews__track,
  .geb-clients__track,
  .geb-slider__slide,
  .geb-slider__text > *,
  .geb-slider__arrow {
    transition: none;
  }
  .geb-doctors__card:hover .geb-doctors__photo img {
    transform: none;
  }
  .geb-slider__slide.is-active .geb-slider__image img {
    animation: none;
  }
  .geb-slider__text > *,
  .geb-reviews__slide {
    transform: none;
  }
}

/* ========================================================================== */
/* GEB-APPOINTMENT — Medicoz "appointment-1": renkli bant + taşan görsel + sayaçlar */
/* ========================================================================== */
.geb-appointment {
  --gb-appt-band: var(--primary-color);
  --gb-appt-ink: var(--gb-on-accent);
  position: relative;
  isolation: isolate;
  padding: calc(2.5rem * var(--section-scale, 1)) 0 calc(4rem * var(--section-scale, 1));
}
.geb-appointment--navy {
  --gb-appt-band: var(--gb-navy);
  --gb-appt-ink: #ffffff;
}
.geb-appointment--subtle {
  --gb-appt-band: var(--gb-subtle-2);
  --gb-appt-ink: var(--gb-fg);
}
/* Bant bölümün ortasında durur; görsel üstten, sayaç kartı alttan taşar. */
.geb-appointment__band {
  position: absolute;
  z-index: -1;
  inset-inline: 0;
  inset-block: calc(6.875rem * var(--section-scale, 1)) calc(9rem * var(--section-scale, 1));
  overflow: hidden;
  background: var(--gb-appt-band);
}
.geb-appointment__band::after {
  position: absolute;
  inset: 0;
  background: var(--gb-appt-band);
  content: "";
  opacity: 0.9;
}
.geb-appointment__bg {
  object-fit: cover;
}
.geb-appointment__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: end;
  gap: 2.5rem;
}
.geb-appointment__content {
  padding-block: calc(10rem * var(--section-scale, 1)) calc(3rem * var(--section-scale, 1));
  color: var(--gb-appt-ink);
}
.geb-appointment__eyebrow {
  display: block;
  margin-bottom: 0.65rem;
  font-size: calc(1.125rem * var(--font-scale, 1));
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.geb-appointment__title {
  margin: 0 0 1.25rem;
  color: inherit;
  font-family: var(--gb-heading-font);
  font-size: calc(clamp(2rem, 1.3rem + 2.2vw, 3rem) * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.2;
}
.geb-appointment__subtitle {
  margin: 0 0 1.25rem;
  font-size: calc(1.05rem * var(--font-scale, 1));
  line-height: 1.7;
  opacity: 0.9;
}
.geb-appointment__phone {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin: 0 0 1.875rem;
  font-size: calc(1.125rem * var(--font-scale, 1));
}
.geb-appointment__phone strong {
  font-family: var(--gb-heading-font);
  font-size: calc(1.875rem * var(--font-scale, 1));
  line-height: 1.2;
}
.geb-appointment__phone a {
  color: inherit;
}
/* Ana renk bantta düğme beyaz zemine döner (Medicoz btn-style-three). */
.geb-appointment:not(.geb-appointment--subtle) .geb-appointment__content .gb-btn {
  border-color: #ffffff;
  background: #ffffff;
  color: color-mix(in srgb, var(--primary-color) 80%, #000000);
}
.geb-appointment:not(.geb-appointment--subtle) .geb-appointment__content .gb-btn:hover {
  background: #ffffff;
  box-shadow: none;
  color: #ffffff;
}
/* Görsel kendi sütununun sonuna yaslanır: başlık uzun olsa da metnin üstüne binmez (eski -70px taşma kaldırıldı). */
.geb-appointment__media {
  position: relative;
  justify-self: end;
  width: 100%;
  max-width: 470px;
  margin: 0;
  aspect-ratio: 4 / 5;
  max-height: 560px;
  overflow: hidden;
  border-radius: var(--gb-radius);
  box-shadow: var(--gb-shadow-strong, var(--gb-shadow));
}
.geb-appointment__media img {
  object-fit: cover;
}
.geb-appointment__counters {
  position: relative;
  margin-top: 2rem;
}
.geb-appointment__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.875rem;
  margin: 0;
  padding: 3.125rem 1.875rem 1.25rem;
  border-radius: var(--gb-radius);
  background: var(--gb-card);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.06);
}
.geb-appointment__counter {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1.875rem;
  text-align: center;
}
/* Kesik çizgili ikon halkası; üzerine gelince dolar, küçük halkalar dağılır. */
.geb-appointment__icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 110px;
  margin-bottom: 0.95rem;
  border: 2px dashed var(--gb-border-strong);
  border-radius: 50%;
  color: var(--gb-icon);
  transition:
    background-color 300ms ease,
    color 300ms ease,
    border-color 300ms ease;
}
.geb-appointment__icon::before,
.geb-appointment__icon::after {
  position: absolute;
  border: 2px dashed var(--primary-color);
  border-radius: 50%;
  content: "";
  opacity: 0.5;
  transition: all 1000ms ease;
}
.geb-appointment__icon::before {
  top: 5px;
  inset-inline-start: 0;
  width: 21px;
  height: 21px;
}
.geb-appointment__icon::after {
  bottom: 5px;
  inset-inline-end: 10px;
  width: 15px;
  height: 15px;
}
.geb-appointment__counter:hover .geb-appointment__icon {
  border-color: var(--primary-color);
  background: var(--primary-color);
  color: var(--gb-on-accent);
}
.geb-appointment__counter:hover .geb-appointment__icon::before,
.geb-appointment__counter:hover .geb-appointment__icon::after {
  opacity: 0;
  transform: scale(3);
}
.geb-appointment__label {
  margin-bottom: 0.65rem;
  color: var(--gb-muted);
  font-size: calc(1rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.5;
}
.geb-appointment__value {
  margin: 0;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(2.25rem * var(--font-scale, 1));
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  line-height: 1.2;
}
@media (max-width: 1024px) {
  .geb-appointment__inner {
    grid-template-columns: minmax(0, 1fr);
  }
  .geb-appointment__band {
    inset-block-end: calc(12rem * var(--section-scale, 1));
  }
  .geb-appointment__content {
    padding-block-end: 0;
  }
  .geb-appointment__media {
    justify-self: start;
    max-width: 520px;
  }
  .geb-appointment__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .geb-appointment__band {
    inset-block: 0;
  }
  .geb-appointment__content {
    padding-block-start: calc(3rem * var(--section-scale, 1));
  }
  .geb-appointment__grid {
    gap: 1rem;
    padding: 2rem 1rem 0.5rem;
  }
}

/* ========================================================================== */
/* GEB-APPOINTMENT-FORM — Medicoz "appointment-2": yorum kaydırıcısı + form kartı */
/* ========================================================================== */
.geb-appointment-form {
  --gb-apf-band: var(--primary-color);
  --gb-apf-ink: var(--gb-on-accent);
  --gb-apf-edge: calc(3.125rem * var(--section-scale, 1));
  position: relative;
  padding: 0;
  /* Üstte ve altta sayfa zemininde birer şerit kalır; form kartı onlara taşar. */
  background: linear-gradient(
    to bottom,
    var(--gb-bg) 0 var(--gb-apf-edge),
    var(--gb-apf-band) var(--gb-apf-edge) calc(100% - var(--gb-apf-edge)),
    var(--gb-bg) calc(100% - var(--gb-apf-edge))
  );
}
.geb-appointment-form--navy {
  --gb-apf-band: var(--gb-navy);
  --gb-apf-ink: #ffffff;
}
.geb-appointment-form__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 4.375rem;
}
.geb-appointment-form--no-form .geb-appointment-form__inner {
  grid-template-columns: minmax(0, 1fr);
}
/* Bant üzerindeki yazı: başlık, ayırıcı ve yorumlar bandın mürekkep rengini alır. */
.geb-appointment-form__side {
  --text-color: var(--gb-apf-ink);
  --gb-fg: var(--gb-apf-ink);
  --gb-muted: color-mix(in srgb, var(--gb-apf-ink) 82%, transparent);
  --gb-accent-text: var(--gb-apf-ink);
  padding-block: calc(9.375rem * var(--section-scale, 1)) calc(6.25rem * var(--section-scale, 1));
  color: var(--gb-apf-ink);
}
.geb-appointment-form__side .gb-head {
  margin-bottom: 0;
}
.geb-appointment-form__slider {
  position: relative;
  display: grid;
  padding-top: 2.5rem;
}
.geb-appointment-form__dots {
  position: absolute;
  top: -0.6rem;
  inset-inline-end: 0;
  display: flex;
  gap: 0.5rem;
}
.geb-appointment-form__dot {
  width: 12px;
  height: 12px;
  padding: 0;
  border: 2px solid var(--gb-apf-ink);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  opacity: 0.6;
}
.geb-appointment-form__dot.is-active {
  background: var(--gb-apf-ink);
  opacity: 1;
}
.geb-appointment-form__slide {
  grid-area: 1 / 1;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 500ms ease,
    visibility 500ms ease;
}
.geb-appointment-form__slide.is-active {
  opacity: 1;
  visibility: visible;
}
.geb-appointment-form__quote {
  margin: 0 0 1.875rem;
  padding: 1.875rem;
  border: 2px dashed currentColor;
  font-size: calc(1rem * var(--font-scale, 1));
  font-weight: 300;
  line-height: 1.8;
}
.geb-appointment-form__author {
  display: flex;
  align-items: center;
  gap: 1.875rem;
}
.geb-appointment-form__avatar {
  display: inline-flex;
  flex: none;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #ffffff;
}
.geb-appointment-form__avatar img {
  object-fit: cover;
}
.geb-appointment-form__name {
  display: block;
  font-family: var(--gb-heading-font);
  font-size: calc(1.5rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.2;
}
.geb-appointment-form__role {
  display: block;
  margin-top: 0.25rem;
  font-size: calc(1rem * var(--font-scale, 1));
}
.geb-appointment-form__card {
  position: relative;
  padding: 3.125rem 2.5rem;
  border-radius: var(--gb-radius);
  background: var(--gb-card);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
  color: var(--gb-fg);
}
.geb-appointment-form__card .gb-head {
  margin-bottom: 1.875rem;
}
.geb-appointment-form--reverse .geb-appointment-form__card {
  order: -1;
}
@media (max-width: 1024px) {
  .geb-appointment-form {
    background: var(--gb-apf-band);
  }
  .geb-appointment-form__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding-bottom: calc(4rem * var(--section-scale, 1));
  }
  .geb-appointment-form__side {
    padding-block: calc(4.5rem * var(--section-scale, 1)) calc(3rem * var(--section-scale, 1));
  }
  .geb-appointment-form--reverse .geb-appointment-form__card {
    order: 0;
  }
}
@media (max-width: 767px) {
  .geb-appointment-form__card {
    padding: 2rem 1.25rem;
  }
  .geb-appointment-form__quote {
    padding: 1.25rem;
  }
}

/* ========================================================================== */
/* GEB-CONTACT-BOX — Medicoz "contact-1": iletişim kartları + form kutusu       */
/* ========================================================================== */
.geb-contact-box {
  padding: calc(7.5rem * var(--section-scale, 1)) 0 calc(4.5rem * var(--section-scale, 1));
  background: var(--gb-subtle);
}
.geb-contact-box--plain {
  background: none;
}
.geb-contact-box__inner {
  max-width: min(62rem, var(--container-width, 1200px));
}
.geb-contact-box__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.875rem;
  margin: 0 0 1.25rem;
  padding: 0;
  list-style: none;
}
.geb-contact-box__card {
  position: relative;
  padding: 1.25rem;
  padding-inline-start: 5rem;
  border-bottom: 2px solid transparent;
  border-radius: var(--gb-radius);
  transition:
    background-color 300ms ease,
    box-shadow 300ms ease,
    transform 300ms ease,
    border-color 300ms ease;
}
.geb-contact-box__card:hover {
  border-bottom-color: var(--primary-color);
  background: var(--gb-card);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  transform: translateY(-20px);
}
.geb-contact-box__icon {
  position: absolute;
  top: 1.5rem;
  inset-inline-start: 1.25rem;
  display: inline-flex;
  color: var(--gb-icon);
  line-height: 1;
}
.geb-contact-box__title {
  margin: 0 0 0.35rem;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.25rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.2;
}
.geb-contact-box__line {
  margin: 0;
  color: var(--gb-muted);
  font-size: calc(0.95rem * var(--font-scale, 1));
  line-height: 1.7;
}
.geb-contact-box__line a {
  color: inherit;
}
.geb-contact-box__line a:hover {
  color: var(--gb-icon);
  text-decoration: underline;
}
.geb-contact-box__form {
  margin-top: 1.25rem;
  padding: 3.125rem 2.5rem;
  border: 10px solid var(--gb-card);
  border-radius: var(--gb-radius);
  background: var(--gb-subtle-2);
  box-shadow: var(--gb-shadow);
}
.geb-contact-box--plain .geb-contact-box__form {
  border-color: var(--gb-subtle);
}
@media (max-width: 767px) {
  .geb-contact-box__card:hover {
    transform: none;
  }
  .geb-contact-box__form {
    padding: 1.5rem 1rem;
    border-width: 6px;
  }
}

/* ========================================================================== */
/* GEB-HELP-CTA — Medicoz "call-to-action-1": numaralı adımlar + yardım kutusu  */
/* ========================================================================== */
.geb-help-cta {
  position: relative;
  z-index: 1;
  padding: 0;
  background: color-mix(in srgb, var(--primary-color) 10%, var(--gb-bg));
}
/* Kutu alt kenardan yarı yüksekliği kadar taşar; sonraki bölüm onun için yer bırakır. */
.geb-help-cta--has-info:not(.geb-help-cta--plain) {
  margin-bottom: calc(5.3rem * var(--section-scale, 1));
}
.geb-help-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: end;
  gap: 2.5rem;
}
.geb-help-cta__content {
  padding-block: calc(9.375rem * var(--section-scale, 1)) calc(7.5rem * var(--section-scale, 1));
}
.geb-help-cta__content .gb-head {
  margin-bottom: 2.5rem;
}
.geb-help-cta__steps {
  display: grid;
  gap: 1.875rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.geb-help-cta__step {
  position: relative;
  padding-top: 0.6rem;
  padding-inline-start: 4.375rem;
}
.geb-help-cta__count {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--gb-card);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  color: var(--gb-icon);
  font-family: var(--gb-heading-font);
  font-size: calc(1.5rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1;
}
.geb-help-cta__step-title {
  margin: 0 0 0.95rem;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.5rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.2;
}
.geb-help-cta__step-text {
  margin: 0;
  color: var(--gb-muted);
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.75;
}
.geb-help-cta__media {
  position: relative;
  margin: calc(7.5rem * var(--section-scale, 1)) 0 0;
  aspect-ratio: 4 / 5;
  max-height: 600px;
  overflow: hidden;
  border-radius: var(--gb-radius) var(--gb-radius) 0 0;
}
.geb-help-cta__media img {
  object-fit: cover;
}
.geb-help-cta__info-wrap {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  transform: translateY(50%);
}
.geb-help-cta__info {
  display: inline-flex;
  align-items: center;
  gap: 2.5rem;
  padding: 3.125rem 5.3rem;
  border-radius: var(--gb-radius);
  background: color-mix(in srgb, var(--primary-color) 88%, #000000);
  box-shadow: var(--gb-shadow);
  color: #ffffff;
}
.geb-help-cta__info-icon {
  display: inline-flex;
  flex: none;
  line-height: 1;
}
.geb-help-cta__info-title {
  margin: 0 0 0.3rem;
  color: inherit;
  font-family: var(--gb-heading-font);
  font-size: calc(clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem) * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.2;
}
.geb-help-cta__info-text {
  margin: 0;
  font-size: calc(1.125rem * var(--font-scale, 1));
  font-weight: 600;
}
.geb-help-cta__info-text a {
  color: inherit;
}
.geb-help-cta__info-text a:hover {
  text-decoration: underline;
}
/* Adımlardan önceki giriş metni ve sonraki kapanış notu (zengin metin). */
.geb-help-cta__text {
  margin: -1rem 0 2.5rem;
  color: var(--gb-muted);
  font-size: calc(1.0625rem * var(--font-scale, 1));
  line-height: 1.8;
}
.geb-help-cta__text p,
.geb-help-cta__note p {
  margin: 0 0 1em;
}
.geb-help-cta__text > :last-child,
.geb-help-cta__note > :last-child {
  margin-bottom: 0;
}
.geb-help-cta__note {
  margin-top: 2.5rem;
  padding: 1.4rem 1.6rem;
  border-inline-start: 4px solid var(--gb-icon);
  border-radius: var(--gb-radius);
  background: var(--gb-card);
  box-shadow: var(--gb-shadow);
  color: var(--gb-fg);
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.8;
}
.geb-help-cta__step-text {
  white-space: pre-line;
}
/* Uzun adım listesinde görsel ekranın altında yerinde durur, bölüm bitince kendi yerine oturur. */
@media (min-width: 1025px) {
  .geb-help-cta__media {
    position: sticky;
    bottom: 0;
  }
}
/* İçte kutu: taşma yok, kutu bölümün altında akışta durur. */
.geb-help-cta--plain .geb-help-cta__info-wrap {
  position: static;
  padding-bottom: calc(4rem * var(--section-scale, 1));
  transform: none;
}
.geb-help-cta--plain .geb-help-cta__content {
  padding-block-end: calc(4rem * var(--section-scale, 1));
}
@media (max-width: 1024px) {
  .geb-help-cta__inner {
    grid-template-columns: minmax(0, 1fr);
  }
  .geb-help-cta__content {
    padding-block: calc(5rem * var(--section-scale, 1)) 0;
  }
  .geb-help-cta__media {
    max-width: 520px;
    margin-top: 0;
  }
  .geb-help-cta__info {
    padding: 2.2rem 2.5rem;
  }
}
@media (max-width: 767px) {
  .geb-help-cta--has-info:not(.geb-help-cta--plain) {
    margin-bottom: 0;
  }
  .geb-help-cta__info-wrap {
    position: static;
    padding-bottom: calc(3rem * var(--section-scale, 1));
    transform: none;
  }
  .geb-help-cta__info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.75rem 1.5rem;
  }
}

/* ========================================================================== */
/* GEB-INQUIRY — bilgi talebi: renkli bantta başlık + metin + iletişim satırları, */
/* yanında çerçeveli görsel ve bilgi rozeti (ya da isteğe bağlı form kartı)     */
/* ========================================================================== */
.geb-inquiry {
  --gb-inq-band: var(--primary-color);
  --gb-inq-ink: var(--gb-on-accent);
  --gb-inq-accent: var(--gb-on-accent);
  --gb-inq-frame: color-mix(in srgb, #ffffff 45%, transparent);
  --gb-inq-icon-bg: color-mix(in srgb, #ffffff 16%, transparent);
  --gb-inq-icon-fg: var(--gb-on-accent);
  padding: calc(6.25rem * var(--section-scale, 1)) 0;
  background: var(--gb-inq-band);
  color: var(--gb-inq-ink);
}
.geb-inquiry--subtle {
  --gb-inq-band: var(--gb-subtle-2);
  --gb-inq-ink: var(--gb-fg);
  --gb-inq-accent: var(--gb-accent-text);
  --gb-inq-frame: color-mix(in srgb, var(--secondary-color) 60%, transparent);
  --gb-inq-icon-bg: var(--primary-color);
  --gb-inq-icon-fg: var(--gb-on-accent);
}
.geb-inquiry__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  align-items: center;
  gap: 4rem;
}
/* Görsel de form da yoksa metin tek sütunda, okunur genişlikte kalır. */
.geb-inquiry--solo .geb-inquiry__inner {
  grid-template-columns: minmax(0, 1fr);
  max-width: 860px;
}
.geb-inquiry--reverse .geb-inquiry__media,
.geb-inquiry--reverse .geb-inquiry__card {
  order: -1;
}
/* Bant üzerindeki yazı bandın mürekkep rengini alır (zengin metindeki bağlantılar dahil). */
.geb-inquiry__content {
  --text-color: var(--gb-inq-ink);
  --gb-fg: var(--gb-inq-ink);
  --gb-muted: color-mix(in srgb, var(--gb-inq-ink) 82%, transparent);
  color: var(--gb-inq-ink);
}
.geb-inquiry__eyebrow {
  display: block;
  margin-bottom: 0.65rem;
  color: var(--gb-inq-accent);
  font-size: calc(1.125rem * var(--font-scale, 1));
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.geb-inquiry__title {
  margin: 0 0 1.25rem;
  color: inherit;
  font-family: var(--gb-heading-font);
  font-size: calc(clamp(2rem, 1.3rem + 2.2vw, 3rem) * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.2;
}
.geb-inquiry__text {
  font-size: calc(1.05rem * var(--font-scale, 1));
  line-height: 1.8;
}
.geb-inquiry__text p {
  margin: 0 0 1rem;
}
.geb-inquiry__text > :last-child {
  margin-bottom: 0;
}
.geb-inquiry__text a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.geb-inquiry__contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 2.5rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}
.geb-inquiry__contact {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
/* İkon bandın rengine göre döner: renkli bantta yarı saydam beyaz halka, açık zeminde ana renk daire. */
.geb-inquiry__contact-icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--gb-inq-icon-bg);
  color: var(--gb-inq-icon-fg);
}
.geb-inquiry__contact-body {
  min-width: 0;
}
.geb-inquiry__contact-label {
  display: block;
  font-size: calc(0.9rem * var(--font-scale, 1));
  opacity: 0.85;
}
.geb-inquiry__contact-value {
  display: block;
  font-family: var(--gb-heading-font);
  font-size: calc(1.25rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.geb-inquiry__contact-value a {
  color: inherit;
}
.geb-inquiry__actions {
  margin-top: 2.25rem;
}
/* Ana renk bantta düğme beyaz zemine döner (randevu bandıyla aynı). */
.geb-inquiry:not(.geb-inquiry--subtle) .geb-inquiry__content .gb-btn {
  border-color: #ffffff;
  background: #ffffff;
  color: color-mix(in srgb, var(--primary-color) 80%, #000000);
}
.geb-inquiry:not(.geb-inquiry--subtle) .geb-inquiry__content .gb-btn:hover {
  background: #ffffff;
  box-shadow: none;
  color: #ffffff;
}
/* Görsel: arkasında kaydırılmış çerçeve, üzerinde alt köşeye taşan bilgi rozeti. */
.geb-inquiry__media {
  position: relative;
  padding-block-end: 1.25rem;
  padding-inline-start: 1.25rem;
}
.geb-inquiry--reverse .geb-inquiry__media {
  padding-inline: 0 1.25rem;
}
.geb-inquiry__media::before {
  position: absolute;
  inset-block: 1.25rem 0;
  inset-inline: 0 1.25rem;
  border: 3px solid var(--gb-inq-frame);
  border-radius: var(--gb-radius);
  content: "";
}
.geb-inquiry--reverse .geb-inquiry__media::before {
  inset-inline: 1.25rem 0;
}
.geb-inquiry__image {
  position: relative;
  margin: 0;
  aspect-ratio: 5 / 4;
  overflow: hidden;
  border-radius: var(--gb-radius);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
}
.geb-inquiry__image img {
  object-fit: cover;
}
.geb-inquiry__badge {
  position: absolute;
  inset-block-end: 2.75rem;
  inset-inline-start: -1.5rem;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  max-width: 300px;
  padding: 1.1rem 1.4rem;
  border-radius: var(--gb-radius);
  background: var(--gb-card);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
  color: var(--gb-fg);
}
.geb-inquiry--reverse .geb-inquiry__badge {
  inset-inline: auto -1.5rem;
}
.geb-inquiry__badge-icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--primary-color);
  color: var(--gb-on-accent);
}
.geb-inquiry__badge-title {
  display: block;
  font-family: var(--gb-heading-font);
  font-size: calc(1.1rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.3;
}
.geb-inquiry__badge-text {
  display: block;
  margin-top: 0.2rem;
  color: var(--gb-muted);
  font-size: calc(0.92rem * var(--font-scale, 1));
  line-height: 1.5;
}
.geb-inquiry__card {
  position: relative;
  padding: 3.125rem 2.5rem;
  border-radius: var(--gb-radius);
  background: var(--gb-card);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
  color: var(--gb-fg);
}
.geb-inquiry__card-title {
  margin: 0 0 1.5rem;
  font-family: var(--gb-heading-font);
  font-size: calc(1.6rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.25;
}
@media (max-width: 1024px) {
  .geb-inquiry__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 3rem;
  }
  /* Dar ekranda metin her görünümde önce gelir. */
  .geb-inquiry--reverse .geb-inquiry__media,
  .geb-inquiry--reverse .geb-inquiry__card {
    order: 0;
  }
  .geb-inquiry__media {
    width: 100%;
    max-width: 560px;
  }
  .geb-inquiry__badge,
  .geb-inquiry--reverse .geb-inquiry__badge {
    inset-inline: auto 0;
  }
}
@media (max-width: 767px) {
  .geb-inquiry {
    padding-block: calc(4.5rem * var(--section-scale, 1));
  }
  .geb-inquiry__contacts {
    flex-direction: column;
    gap: 1rem;
  }
  .geb-inquiry__card {
    padding: 2.25rem 1.5rem;
  }
  /* Rozet görselin altına iner ve alt kenara hafifçe biner: dar görselin yüzünü kapatmaz. */
  .geb-inquiry__badge,
  .geb-inquiry--reverse .geb-inquiry__badge {
    position: relative;
    inset: auto;
    max-width: none;
    margin: -2.5rem 1rem 0;
  }
}

/* ========================================================================== */
/* GEB-TIMETABLE — Medicoz "about-3": doktor çalışma çizelgesi                 */
/* ========================================================================== */
.geb-timetable {
  position: relative;
  padding: calc(7.5rem * var(--section-scale, 1)) 0 calc(4.5rem * var(--section-scale, 1));
}
.geb-timetable__scroll {
  overflow-x: auto;
  padding-bottom: 3rem;
  scrollbar-color: var(--primary-color) var(--gb-subtle-2);
}
.geb-timetable__table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  background: var(--gb-card);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
  text-align: center;
}
.geb-timetable__table thead th {
  height: 60px;
  padding: 0 0.95rem;
  border: 1px solid var(--gb-card);
  border-top: 0;
  background: var(--primary-color);
  color: var(--gb-on-accent);
  font-family: var(--gb-heading-font);
  font-size: calc(1rem * var(--font-scale, 1));
  font-weight: 700;
}
.geb-timetable__table thead th.geb-timetable__corner {
  background: var(--gb-navy);
  color: #ffffff;
}
.geb-timetable__table tbody th {
  width: 9rem;
  height: 92px;
  padding: 0 0.95rem;
  border-bottom: 1px solid var(--gb-card);
  background: var(--primary-color);
  color: var(--gb-on-accent);
  font-size: calc(1rem * var(--font-scale, 1));
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.geb-timetable__table td {
  position: relative;
  padding: 0.75rem 0.6rem;
  vertical-align: middle;
  transition:
    background-color 300ms ease,
    box-shadow 300ms ease;
}
/* Dama tahtası zemin: hücreler bir açık bir gri. */
.geb-timetable__table tbody tr td:nth-child(even),
.geb-timetable__table tbody tr:nth-child(even) td:nth-child(odd) {
  background: var(--gb-subtle-2);
}
.geb-timetable__table tbody tr:nth-child(even) td:nth-child(even) {
  background: var(--gb-card);
}
.geb-timetable__table td:not(.geb-timetable__empty):hover,
.geb-timetable__table td:not(.geb-timetable__empty):focus-within {
  z-index: 9;
  background: var(--gb-card);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
}
.geb-timetable__entry {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  outline: none;
}
.geb-timetable__entry + .geb-timetable__entry {
  margin-top: 0.75rem;
}
.geb-timetable__subject {
  color: var(--gb-fg);
  font-size: calc(0.875rem * var(--font-scale, 1));
  line-height: 1.3;
}
.geb-timetable__hours,
.geb-timetable__room {
  color: var(--gb-muted);
  font-size: calc(0.75rem * var(--font-scale, 1));
  line-height: 1.5;
}
/* Doktor kartı: hücrenin üstünde, üzerine gelince / odakta açılır. */
.geb-timetable__doctor {
  position: absolute;
  z-index: 2;
  top: 50%;
  inset-inline-start: 50%;
  display: flex;
  align-items: center;
  gap: 0.95rem;
  min-width: 220px;
  padding: 1.25rem;
  border-radius: var(--gb-radius);
  background: var(--gb-card);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.09);
  opacity: 0;
  text-align: start;
  transform: translate(-50%, -30%);
  visibility: hidden;
  transition: all 400ms ease;
}
[dir="rtl"] .geb-timetable__doctor {
  transform: translate(50%, -30%);
}
.geb-timetable__table td:hover .geb-timetable__doctor,
.geb-timetable__entry:focus-within .geb-timetable__doctor,
.geb-timetable__entry:focus .geb-timetable__doctor {
  opacity: 1;
  transform: translate(-50%, -50%);
  visibility: visible;
}
[dir="rtl"] .geb-timetable__table td:hover .geb-timetable__doctor,
[dir="rtl"] .geb-timetable__entry:focus-within .geb-timetable__doctor {
  transform: translate(50%, -50%);
}
/* Kenar sütunlarda kart tablonun içine doğru açılır (yatay kaydırma kabı onu kırpmasın). */
.geb-timetable__table td:nth-child(2) .geb-timetable__doctor {
  inset-inline-start: 0;
  transform: translate(0, -30%);
}
.geb-timetable__table td:last-child .geb-timetable__doctor {
  inset-inline-start: auto;
  inset-inline-end: 0;
  transform: translate(0, -30%);
}
.geb-timetable__table td:nth-child(2):hover .geb-timetable__doctor,
.geb-timetable__table td:last-child:hover .geb-timetable__doctor,
.geb-timetable__table td:nth-child(2) .geb-timetable__entry:focus-within .geb-timetable__doctor,
.geb-timetable__table td:last-child .geb-timetable__entry:focus-within .geb-timetable__doctor {
  transform: translate(0, -50%);
}
.geb-timetable__thumb {
  display: inline-flex;
  flex: none;
  overflow: hidden;
  border-radius: 50%;
}
.geb-timetable__thumb img {
  object-fit: cover;
}
.geb-timetable__doctor-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
}
.geb-timetable__name {
  color: var(--gb-fg);
  font-size: calc(1rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}
.geb-timetable .geb-timetable__doctor .gb-btn {
  min-height: 30px;
  padding: 0 0.65rem;
  font-size: calc(0.75rem * var(--font-scale, 1));
}
/* Hücrede doktor (inline varyantı ve dokunmatik ekran): kart her zaman akışta görünür. */
.geb-timetable--inline .geb-timetable__doctor {
  position: static;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
  margin-top: 0.5rem;
  padding: 0;
  background: none;
  box-shadow: none;
  opacity: 1;
  text-align: center;
  transform: none;
  visibility: visible;
}
.geb-timetable--inline .geb-timetable__doctor-body {
  align-items: center;
}
.geb-timetable--inline .geb-timetable__name {
  font-size: calc(0.8rem * var(--font-scale, 1));
  white-space: normal;
}
@media (hover: none) {
  .geb-timetable__doctor,
  .geb-timetable__table td:nth-child(2) .geb-timetable__doctor,
  .geb-timetable__table td:last-child .geb-timetable__doctor {
    position: static;
    flex-direction: column;
    gap: 0.4rem;
    min-width: 0;
    margin-top: 0.5rem;
    padding: 0;
    background: none;
    box-shadow: none;
    opacity: 1;
    text-align: center;
    transform: none;
    visibility: visible;
  }
  .geb-timetable__doctor-body {
    align-items: center;
  }
  .geb-timetable__name {
    white-space: normal;
  }
}
@media (max-width: 767px) {
  .geb-timetable__table {
    min-width: 760px;
  }
  .geb-timetable__table tbody th {
    width: 6rem;
  }
}

/* ========================================================================== */
/* REDUCED MOTION — randevu / iletişim grubu                                   */
/* ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .geb-appointment__icon,
  .geb-appointment__icon::before,
  .geb-appointment__icon::after,
  .geb-appointment-form__slide,
  .geb-contact-box__card,
  .geb-timetable__table td,
  .geb-timetable__doctor {
    transition: none;
  }
  .geb-contact-box__card:hover {
    transform: none;
  }
}

/* ========================================================================== */
/* GEB-PAGE-TITLE — Medicoz "page title": görselli bant + sayfa yolu           */
/* ========================================================================== */
.geb-page-title {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: calc(5rem * var(--section-scale, 1)) 0;
  background: var(--gb-subtle);
  text-align: end;
}
.geb-page-title__bg {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.geb-page-title__bg img {
  object-fit: cover;
}
/* Görselin üstünde açık örtü: başlık ana renkte okunur kalsın. */
.geb-page-title__bg::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--gb-bg) 82%, transparent) 55%, var(--gb-bg) 100%);
  content: "";
}
.geb-page-title__box {
  display: inline-block;
  max-width: 100%;
}
.geb-page-title__title {
  margin: 0;
  color: var(--primary-color);
  font-family: var(--gb-heading-font);
  font-size: calc(clamp(2.1rem, 1.4rem + 2.2vw, 3rem) * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.geb-page-title__subtitle {
  max-width: 40rem;
  margin-block: 0.75rem 0;
  margin-inline: auto 0;
  color: var(--gb-muted);
  font-size: calc(1.05rem * var(--font-scale, 1));
  line-height: 1.6;
}
.geb-page-title__crumbs {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.25rem 0;
  margin: 0.85rem 0 0;
  padding: 0;
  list-style: none;
}
.geb-page-title__crumb {
  display: inline-flex;
  align-items: center;
  color: color-mix(in srgb, var(--gb-fg) 75%, transparent);
  font-size: calc(1.05rem * var(--font-scale, 1));
  font-weight: 500;
}
/* Ayırıcı: öğeler arasında açılı ok. */
.geb-page-title__crumb + .geb-page-title__crumb::before {
  margin-inline: 0.85rem;
  color: var(--secondary-color, var(--primary-color));
  content: "\203A";
  font-size: calc(1.25rem * var(--font-scale, 1));
  line-height: 1;
}
.geb-page-title__link {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}
.geb-page-title__link:hover,
.geb-page-title__link:focus-visible {
  color: var(--gb-icon);
}
.geb-page-title--centered {
  text-align: center;
}
.geb-page-title--centered .geb-page-title__subtitle {
  margin-inline: auto;
}
.geb-page-title--centered .geb-page-title__crumbs {
  justify-content: center;
}
.geb-page-title--centered .geb-page-title__bg::after {
  background: color-mix(in srgb, var(--gb-bg) 72%, transparent);
}
.geb-page-title--start {
  text-align: start;
}
.geb-page-title--start .geb-page-title__subtitle {
  margin-inline: 0;
}
.geb-page-title--start .geb-page-title__crumbs {
  justify-content: flex-start;
}
.geb-page-title--start .geb-page-title__bg::after {
  background: linear-gradient(270deg, transparent 0%, color-mix(in srgb, var(--gb-bg) 82%, transparent) 55%, var(--gb-bg) 100%);
}
/* Lacivert bant: görsel koyu örtünün altında, başlık beyaz. */
.geb-page-title[data-variant="inverse"] .geb-page-title__bg::after {
  background: color-mix(in srgb, var(--gb-navy) 82%, transparent);
}
.geb-page-title[data-variant="inverse"] .geb-page-title__title {
  color: var(--gb-fg);
}
@media (max-width: 767px) {
  .geb-page-title {
    padding: calc(3.5rem * var(--section-scale, 1)) 0;
  }
  .geb-page-title__bg::after,
  .geb-page-title--start .geb-page-title__bg::after {
    background: color-mix(in srgb, var(--gb-bg) 80%, transparent);
  }
}

/* ========================================================================== */
/* GEB-ERROR-PAGE — Medicoz 404: büyük kod, başlık, iki düğme                  */
/* ========================================================================== */
.geb-error-page {
  position: relative;
  overflow: hidden;
  padding: calc(6.25rem * var(--section-scale, 1)) 0;
  text-align: center;
}
.geb-error-page__inner {
  position: relative;
  z-index: 1;
}
.geb-error-page__code {
  margin: 0 0 0.5rem;
  background: linear-gradient(135deg, var(--primary-color), var(--secondary-color, var(--primary-color)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-family: var(--gb-heading-font);
  font-size: calc(clamp(6rem, 3rem + 12vw, 12rem) * var(--font-scale, 1));
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
}
.geb-error-page__image {
  max-width: 28rem;
  margin: 0 auto 1.5rem;
}
.geb-error-page__image img {
  width: 100%;
  height: auto;
}
.geb-error-page__title {
  margin: 0 0 0.75rem;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(clamp(2rem, 1.4rem + 1.8vw, 3rem) * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.1;
}
.geb-error-page__text {
  max-width: 36rem;
  margin: 0 auto 2.2rem;
  color: var(--gb-muted);
  font-size: calc(1.125rem * var(--font-scale, 1));
  font-weight: 500;
  line-height: 1.5;
}
.geb-error-page__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
.geb-error-page__actions .gb-btn {
  text-transform: uppercase;
}

/* ========================================================================== */
/* GEB-ACCORDION — Medicoz "accordion box": açık başlık ana renkte             */
/* ========================================================================== */
.geb-accordion {
  padding: calc(5rem * var(--section-scale, 1)) 0;
}
.geb-accordion__list {
  display: grid;
  gap: 0.95rem;
  max-width: 54rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
.geb-accordion__item {
  overflow: hidden;
  border-radius: var(--gb-radius);
  background: var(--gb-card);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.09);
  transition: box-shadow 300ms ease;
}
.geb-accordion__heading {
  margin: 0;
  font-size: inherit;
}
.geb-accordion__button {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding-block: 0.95rem;
  padding-inline: 1.5rem 1.25rem;
  border: 0;
  background: transparent;
  color: var(--gb-fg);
  cursor: pointer;
  font-family: var(--gb-heading-font);
  font-size: calc(1rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.6;
  text-align: start;
  transition:
    background-color 300ms ease,
    color 300ms ease;
}
.geb-accordion__button:hover {
  color: var(--gb-icon);
}
.geb-accordion__button:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: -2px;
}
.geb-accordion__question {
  flex: 1;
}
.geb-accordion__icon {
  display: inline-flex;
  flex-shrink: 0;
  transition: transform 300ms ease;
}
.geb-accordion__item--open .geb-accordion__button {
  background: var(--primary-color);
  color: var(--gb-on-accent);
}
.geb-accordion__item--open .geb-accordion__icon {
  transform: rotate(180deg);
}
.geb-accordion__panel {
  padding: 1.6rem 1.6rem 1.4rem;
}
.geb-accordion__panel[hidden] {
  display: none;
}
.geb-accordion__answer {
  margin: 0;
  color: var(--gb-muted);
  font-size: calc(0.95rem * var(--font-scale, 1));
  line-height: 1.8;
  white-space: pre-line;
}
/* Sade: gölgesiz, öğeler arasında ince çizgi; açık başlık renkli metin. */
.geb-accordion--plain .geb-accordion__list {
  gap: 0;
}
.geb-accordion--plain .geb-accordion__item {
  border-radius: 0;
  border-bottom: 1px solid var(--gb-border);
  background: transparent;
  box-shadow: none;
}
.geb-accordion--plain .geb-accordion__button {
  padding-inline: 0;
}
.geb-accordion--plain .geb-accordion__panel {
  padding: 0 0 1.4rem;
}
.geb-accordion--plain .geb-accordion__item--open .geb-accordion__button {
  background: transparent;
  color: var(--gb-icon);
}

/* ========================================================================== */
/* GEB-TERMS — Medicoz "terms and condition": dikey sekmeler + metin           */
/* ========================================================================== */
.geb-terms {
  padding: calc(6rem * var(--section-scale, 1)) 0;
  background: var(--gb-subtle);
}
.geb-terms[data-variant="subtle"] {
  background: var(--gb-subtle-2);
}
.geb-terms__layout {
  display: grid;
  grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: start;
}
.geb-terms__tabs {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--gb-border-strong);
  background: var(--gb-card);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.geb-terms__tab {
  padding: 0.65rem 1.85rem;
  border: 0;
  border-bottom: 1px solid var(--gb-border-strong);
  border-inline-start: 2px solid transparent;
  background: transparent;
  color: var(--gb-muted);
  cursor: pointer;
  font-size: calc(0.9rem * var(--font-scale, 1));
  line-height: 1.6;
  text-align: start;
  transition: all 300ms ease;
}
.geb-terms__tab:last-child {
  border-bottom: 0;
}
.geb-terms__tab:hover,
.geb-terms__tab--active {
  background: var(--gb-subtle);
  border-inline-start-color: var(--primary-color);
  color: var(--gb-fg);
}
.geb-terms__tab:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: -2px;
}
.geb-terms__panel {
  min-width: 0;
}
.geb-terms__panel[hidden] {
  display: none;
}
.geb-terms__panel:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: 4px;
}
.geb-terms__heading {
  margin: 0 0 1rem;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.6rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.3;
}
.geb-terms__content {
  color: var(--gb-muted);
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.8;
}
.geb-terms__content > * {
  margin: 0 0 1rem;
}
.geb-terms__content > :last-child {
  margin-bottom: 0;
}
.geb-terms__content :is(h2, h3, h4, h5, h6) {
  margin-top: 1.5rem;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.15rem * var(--font-scale, 1));
  line-height: 1.4;
}
.geb-terms__content a {
  color: var(--gb-accent-text, var(--primary-color));
}
/* Üstte yatay sekmeler. */
.geb-terms--top .geb-terms__layout {
  grid-template-columns: minmax(0, 1fr);
}
.geb-terms--top .geb-terms__tabs {
  flex-direction: row;
  flex-wrap: wrap;
}
.geb-terms--top .geb-terms__tab {
  flex: 1 1 auto;
  border-bottom: 2px solid transparent;
  border-inline-start: 0;
  border-inline-end: 1px solid var(--gb-border-strong);
  text-align: center;
}
.geb-terms--top .geb-terms__tab:last-child {
  border-inline-end: 0;
}
.geb-terms--top .geb-terms__tab:hover,
.geb-terms--top .geb-terms__tab--active {
  border-bottom-color: var(--primary-color);
}
@media (max-width: 1024px) {
  .geb-terms__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
}

/* ========================================================================== */
/* GEB-NEWS — Medicoz "news block": kapakta tarih rozeti, hover'da kart kalkar */
/* ========================================================================== */
.geb-news {
  padding: calc(6rem * var(--section-scale, 1)) 0 calc(4rem * var(--section-scale, 1));
}
.geb-news__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.875rem;
}
.geb-news--wide .geb-news__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.geb-news__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 10px;
  background: var(--gb-card);
  box-shadow: 0 0 35px rgba(0, 0, 0, 0.07);
  transition: transform 500ms ease;
}
.geb-news__card.gb-skeleton {
  min-height: 24rem;
}
.geb-news__card:hover {
  transform: translateY(-15px);
}
.geb-news__cover {
  position: relative;
  display: block;
  aspect-ratio: 16 / 11;
  overflow: hidden;
}
.geb-news__cover img {
  object-fit: cover;
  transition: opacity 500ms ease;
}
.geb-news__card:hover .geb-news__cover img {
  opacity: 0.75;
}
.geb-news__date {
  position: absolute;
  bottom: 0;
  inset-inline-end: 0;
  padding: 0.3rem 1.25rem;
  border-start-start-radius: 10px;
  background: var(--primary-color);
  color: var(--gb-on-accent);
  font-size: calc(1rem * var(--font-scale, 1));
}
.geb-news__date strong {
  font-size: calc(1.375rem * var(--font-scale, 1));
}
.geb-news__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.9rem 1.9rem 1.25rem;
}
.geb-news__time {
  margin-bottom: 0.6rem;
  color: var(--gb-accent-text, var(--primary-color));
  font-size: calc(0.875rem * var(--font-scale, 1));
  font-weight: 600;
}
.geb-news__title {
  margin: 0;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.375rem * var(--font-scale, 1));
  font-weight: 700;
  line-height: 1.35;
}
.geb-news__title a {
  color: inherit;
  text-decoration: none;
  transition: color 300ms ease;
}
.geb-news__title a:hover,
.geb-news__title a:focus-visible {
  color: var(--gb-icon);
}
.geb-news__excerpt {
  margin: 1.1rem 0 0;
  color: var(--gb-muted);
  font-size: calc(0.95rem * var(--font-scale, 1));
  line-height: 1.75;
}
.geb-news__info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem 1.1rem;
  margin-top: auto;
  padding-top: 1.3rem;
  border-top: 1px solid var(--gb-border);
  color: var(--gb-muted);
  font-size: calc(0.9rem * var(--font-scale, 1));
}
.geb-news__excerpt + .geb-news__info,
.geb-news__title + .geb-news__info {
  margin-top: 1.9rem;
}
.geb-news__author,
.geb-news__reading {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.geb-news__more {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-inline-start: auto;
  color: var(--gb-accent-text, var(--primary-color));
  font-weight: 600;
  text-decoration: none;
}
.geb-news__more:hover,
.geb-news__more:focus-visible {
  color: var(--gb-icon);
}
.geb-news__footer {
  margin-top: 2.75rem;
  text-align: center;
}
@media (max-width: 1024px) {
  .geb-news__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .geb-news__grid,
  .geb-news--wide .geb-news__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .geb-news__body {
    padding: 1.5rem 1.4rem 1.1rem;
  }
}

/* ========================================================================== */
/* SAYFA GRUBU — hareket azaltma                                               */
/* ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .geb-accordion__button,
  .geb-accordion__icon,
  .geb-terms__tab,
  .geb-news__card,
  .geb-news__cover img {
    transition: none;
  }
  .geb-news__card:hover {
    transform: none;
  }
}

/* ========================================================================== */
/* GEB BUTTON HOVER (2026-11-07) — Medicoz'daki dolum: alttan beş daire       */
/* yükselip düğmeyi kaplar. Tek ::before katmanında beş elips gradyanı; her   */
/* biri biraz daha aşağıdan başladığı için ortak geçişte sırayla girerler.    */
/* Dolgu --gb-btn-fill, hover yazısı --gb-btn-ink; düğmenin kendi zemini      */
/* altta kalır (yukarıdaki hover kuralları artık zemini değiştirmez).         */
/* ========================================================================== */
.geb-ui .gb-btn,
.geb-header-1 .geb-header-1__account,
.geb-header-2 .geb-header-2__account,
.geb-header-3 .geb-header-3__account {
  --gb-btn-fill: var(--secondary-color);
  --gb-btn-ink: #ffffff;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transition: color 0.45s ease, border-color 0.45s ease, box-shadow 0.45s ease;
}
.geb-ui .gb-btn--ghost {
  --gb-btn-fill: var(--primary-color);
  --gb-btn-ink: var(--gb-on-accent);
}
.geb-ui .gb-btn::before,
.geb-header-1 .geb-header-1__account::before,
.geb-header-2 .geb-header-2__account::before,
.geb-header-3 .geb-header-3__account::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background-image:
    radial-gradient(closest-side, var(--gb-btn-fill) 97%, transparent 100%),
    radial-gradient(closest-side, var(--gb-btn-fill) 97%, transparent 100%),
    radial-gradient(closest-side, var(--gb-btn-fill) 97%, transparent 100%),
    radial-gradient(closest-side, var(--gb-btn-fill) 97%, transparent 100%),
    radial-gradient(closest-side, var(--gb-btn-fill) 97%, transparent 100%);
  background-repeat: no-repeat;
  /* Her elips düğmenin 1/5'i genişliğinde bir dilimin ortasına oturur, iki katı büyüklüktedir (Medicoz: %20 x %100, scale 2). */
  background-size: 40% 200%;
  background-position: -16.667% -100%, 16.667% -150%, 50% -200%, 83.333% -250%, 116.667% -300%;
  transition: background-position 0.75s cubic-bezier(0.3, 0.7, 0.3, 1);
  pointer-events: none;
}
.geb-ui .gb-btn:hover::before,
.geb-ui .gb-btn:focus-visible::before,
.geb-header-1 .geb-header-1__account:hover::before,
.geb-header-2 .geb-header-2__account:hover::before,
.geb-header-3 .geb-header-3__account:hover::before {
  background-position: -16.667% 50%, 16.667% 50%, 50% 50%, 83.333% 50%, 116.667% 50%;
}
.geb-ui .gb-btn:hover,
.geb-ui .gb-btn:focus-visible,
.geb-header-1 .geb-header-1__account:hover,
.geb-header-2 .geb-header-2__account:hover,
.geb-header-3 .geb-header-3__account:hover {
  color: var(--gb-btn-ink);
}
@media (prefers-reduced-motion: reduce) {
  .geb-ui .gb-btn::before,
  .geb-header-1 .geb-header-1__account::before,
  .geb-header-2 .geb-header-2__account::before,
  .geb-header-3 .geb-header-3__account::before {
    transition: none;
  }
}
/* ========================================================================== */
/* GEB-CHECKLIST — başlık + giriş + tikli maddeler (+ yapışkan görsel)          */
/* ========================================================================== */
.geb-checklist {
  padding: calc(6.5rem * var(--section-scale, 1)) 0;
}
.geb-checklist__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3.5rem;
  align-items: start;
}
.geb-checklist--has-image .geb-checklist__inner {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
.geb-checklist--reverse.geb-checklist--has-image .geb-checklist__inner {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
.geb-checklist--reverse .geb-checklist__media {
  order: 2;
}
.geb-checklist__media {
  position: sticky;
  top: 7rem;
  margin: 0;
  aspect-ratio: 4 / 5;
  max-height: 640px;
  overflow: hidden;
  border-radius: var(--gb-radius-lg);
  box-shadow: var(--gb-shadow);
}
.geb-checklist__media img {
  object-fit: cover;
}
.geb-checklist__content .gb-head {
  margin-bottom: 1.75rem;
}
.geb-checklist__text {
  margin-bottom: 2.25rem;
  color: var(--gb-muted);
  font-size: calc(1.0625rem * var(--font-scale, 1));
  line-height: 1.8;
}
.geb-checklist__text p,
.geb-checklist__note p {
  margin: 0 0 1em;
}
.geb-checklist__text > :last-child,
.geb-checklist__note > :last-child {
  margin-bottom: 0;
}
.geb-checklist__text ul,
.geb-checklist__note ul {
  margin: 0 0 1em;
  padding-inline-start: 1.25rem;
}
.geb-checklist__text strong,
.geb-checklist__note strong {
  color: var(--gb-fg);
}
.geb-checklist__items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.geb-checklist__item {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.6rem 1.5rem;
  border: 1px solid var(--gb-border);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
  box-shadow: var(--gb-shadow);
}
.geb-checklist__item-head {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}
.geb-checklist__icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--gb-icon) 14%, transparent);
  color: var(--gb-icon);
}
.geb-checklist__item-title {
  margin: 0;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(1.2rem * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.3;
}
.geb-checklist__item-text {
  margin: 0;
  color: var(--gb-muted);
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.75;
  white-space: pre-line;
}
.geb-checklist__points {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.geb-checklist__point {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  color: var(--gb-fg);
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.6;
}
.geb-checklist__check {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-top: 0.1rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--gb-icon) 15%, transparent);
  color: var(--gb-icon);
}
/* Tek madde: kart çerçevesi yok, alt maddeler sütunlara dağılır. */
.geb-checklist--single .geb-checklist__items {
  display: block;
}
.geb-checklist--single .geb-checklist__item {
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}
.geb-checklist--single .geb-checklist__points {
  display: block;
  columns: 3 15rem;
  column-gap: 2.5rem;
}
.geb-checklist--single.geb-checklist--has-image .geb-checklist__points {
  columns: 2 14rem;
}
.geb-checklist--single .geb-checklist__point {
  break-inside: avoid;
  margin-bottom: 0.75rem;
}
.geb-checklist__note {
  margin-top: 2.25rem;
  padding: 1.4rem 1.6rem;
  border-inline-start: 4px solid var(--gb-icon);
  border-radius: var(--gb-radius);
  background: color-mix(in srgb, var(--primary-color) 7%, var(--gb-card));
  color: var(--gb-fg);
  font-size: calc(1rem * var(--font-scale, 1));
  line-height: 1.8;
}
@media (max-width: 1024px) {
  .geb-checklist--has-image .geb-checklist__inner,
  .geb-checklist--reverse.geb-checklist--has-image .geb-checklist__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
  }
  .geb-checklist__media {
    position: relative;
    top: auto;
    max-width: 560px;
    aspect-ratio: 4 / 3;
  }
  .geb-checklist--reverse .geb-checklist__media {
    order: 0;
  }
}
@media (max-width: 767px) {
  .geb-checklist {
    padding: calc(4.5rem * var(--section-scale, 1)) 0;
  }
  .geb-checklist__item {
    padding: 1.3rem 1.2rem;
  }
}

/* ========================================================================== */
/* GEB-TEXT-COLUMNS — bölüm başlığı altında 1–3 sütun zengin metin               */
/* ========================================================================== */
.geb-text-columns {
  padding: calc(5.5rem * var(--section-scale, 1)) 0;
}
.geb-text-columns__grid {
  display: grid;
  gap: 2rem;
}
.geb-text-columns__grid--cols-1 {
  grid-template-columns: minmax(0, 1fr);
  max-width: 52rem;
  margin-inline: auto;
}
.geb-text-columns__grid--cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.geb-text-columns__grid--cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.geb-text-columns--start .geb-text-columns__grid--cols-1 {
  max-width: 60rem;
  margin-inline: 0;
}
.geb-text-columns__item-title {
  margin: 0 0 1.1rem;
  color: var(--gb-fg);
  font-family: var(--gb-heading-font);
  font-size: calc(clamp(1.35rem, 1.1rem + 0.8vw, 1.85rem) * var(--font-scale, 1));
  font-weight: 600;
  line-height: 1.25;
}
h2.geb-text-columns__item-title {
  font-size: calc(clamp(1.6rem, 1.2rem + 1.3vw, 2.4rem) * var(--font-scale, 1));
  font-weight: 700;
}
.geb-text-columns__item-text {
  color: var(--gb-muted);
  font-size: calc(1.0625rem * var(--font-scale, 1));
  line-height: 1.85;
}
.geb-text-columns__item-text p {
  margin: 0 0 1em;
}
.geb-text-columns__item-text > :last-child {
  margin-bottom: 0;
}
.geb-text-columns__item-text ul,
.geb-text-columns__item-text ol {
  margin: 0 0 1em;
  padding-inline-start: 1.25rem;
}
.geb-text-columns__item-text li {
  margin-bottom: 0.4em;
}
.geb-text-columns__item-text strong {
  color: var(--gb-fg);
}
/* Tek sütun ortalanmış görünümde başlık ortada, metin okunaklı dar alanda. */
.geb-text-columns:not(.geb-text-columns--start) .geb-text-columns__grid--cols-1 .geb-text-columns__item-title {
  text-align: center;
}
/* Çok sütunda her sütun ince vurgu çizgili bir kart. */
.geb-text-columns__grid--cols-2 .geb-text-columns__item,
.geb-text-columns__grid--cols-3 .geb-text-columns__item {
  padding: 2rem 1.9rem;
  border: 1px solid var(--gb-border);
  border-top: 3px solid var(--gb-icon);
  border-radius: var(--gb-radius-lg);
  background: var(--gb-card);
  box-shadow: var(--gb-shadow);
}
@media (max-width: 1024px) {
  .geb-text-columns__grid--cols-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .geb-text-columns {
    padding: calc(4rem * var(--section-scale, 1)) 0;
  }
  .geb-text-columns__grid--cols-2,
  .geb-text-columns__grid--cols-3 {
    grid-template-columns: minmax(0, 1fr);
  }
  .geb-text-columns__grid--cols-2 .geb-text-columns__item,
  .geb-text-columns__grid--cols-3 .geb-text-columns__item {
    padding: 1.5rem 1.3rem;
  }
}

/* ========================================================================== */
/* GEB DECOR — blokların arkasındaki hafif petek / molekül desenleri            */
/* Kendi SVG çizimlerimizdir (Medicoz görselleri kopyalanmaz). Desen maskedir:  */
/* rengi --gb-deco-color (açık zeminde ana renk, koyu zeminde beyaz), görünürlüğü */
/* --gb-deco-opacity. Blok yalnızca hangi deseni nereye koyacağını söyler.      */
/* ========================================================================== */
.geb-ui {
  --gb-deco-molecule: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='56 2 379.7 256'%3E%3Cpath d='M64 25L64 55M64 25L90 10M64 55L90 70M64 115L64 145M64 115L90 100M64 145L90 160M64 205L64 235M64 205L90 190M64 235L90 250M90 10L116 25M90 70L90 100M90 70L116 55M90 100L116 115M90 160L90 190M90 160L116 145M90 190L116 205M90 250L116 235M116 25L116 55M116 25L142 10M116 55L142 70M116 115L116 145M116 115L142 100M116 145L142 160M116 205L116 235M116 205L142 190M116 235L142 250M142 10L167.9 25M142 70L142 100M142 70L167.9 55M142 100L167.9 115M142 160L142 190M142 160L167.9 145M142 190L167.9 205M142 250L167.9 235M167.9 25L167.9 55M167.9 115L167.9 145M167.9 205L167.9 235M219.9 205L219.9 235M219.9 205L245.9 190M219.9 235L245.9 250M245.9 70L245.9 100M245.9 70L271.9 55M245.9 100L271.9 115M245.9 160L245.9 190M245.9 160L271.9 145M245.9 190L271.9 205M245.9 250L271.9 235M271.9 55L297.8 70M271.9 115L271.9 145M271.9 115L297.8 100M271.9 145L297.8 160M271.9 205L271.9 235M271.9 205L297.8 190M271.9 235L297.8 250M297.8 70L297.8 100M297.8 70L323.8 55M297.8 100L323.8 115M297.8 160L297.8 190M297.8 160L323.8 145M297.8 190L323.8 205M297.8 250L323.8 235M323.8 55L349.8 70M323.8 115L323.8 145M323.8 115L349.8 100M323.8 145L349.8 160M323.8 205L323.8 235M323.8 205L349.8 190M349.8 70L349.8 100M349.8 160L349.8 190M349.8 160L375.8 145M349.8 190L375.8 205M375.8 115L375.8 145M375.8 115L401.8 100M375.8 145L401.8 160M375.8 205L401.8 190M401.8 100L427.7 115M401.8 160L401.8 190M401.8 160L427.7 145M427.7 115L427.7 145' fill='none' stroke='%23000' stroke-width='1.6' stroke-opacity='.75'/%3E%3Ccircle cx='64' cy='25' r='2.6'/%3E%3Ccircle cx='64' cy='115' r='2.6'/%3E%3Ccircle cx='64' cy='205' r='2.6'/%3E%3Ccircle cx='90' cy='10' r='2.6'/%3E%3Ccircle cx='90' cy='100' r='2.6'/%3E%3Ccircle cx='90' cy='190' r='2.6'/%3E%3Ccircle cx='116' cy='25' r='2.6'/%3E%3Ccircle cx='116' cy='115' r='2.6'/%3E%3Ccircle cx='116' cy='145' r='4.2'/%3E%3Ccircle cx='116' cy='205' r='2.6'/%3E%3Ccircle cx='142' cy='10' r='2.6'/%3E%3Ccircle cx='142' cy='100' r='2.6'/%3E%3Ccircle cx='142' cy='190' r='2.6'/%3E%3Ccircle cx='167.9' cy='25' r='2.6'/%3E%3Ccircle cx='167.9' cy='115' r='2.6'/%3E%3Ccircle cx='167.9' cy='205' r='2.6'/%3E%3Ccircle cx='219.9' cy='205' r='2.6'/%3E%3Ccircle cx='245.9' cy='70' r='2.6'/%3E%3Ccircle cx='245.9' cy='160' r='2.6'/%3E%3Ccircle cx='245.9' cy='250' r='2.6'/%3E%3Ccircle cx='271.9' cy='115' r='2.6'/%3E%3Ccircle cx='271.9' cy='205' r='2.6'/%3E%3Ccircle cx='297.8' cy='70' r='2.6'/%3E%3Ccircle cx='297.8' cy='160' r='2.6'/%3E%3Ccircle cx='297.8' cy='190' r='4.2'/%3E%3Ccircle cx='297.8' cy='250' r='2.6'/%3E%3Ccircle cx='323.8' cy='115' r='2.6'/%3E%3Ccircle cx='323.8' cy='205' r='2.6'/%3E%3Ccircle cx='349.8' cy='70' r='2.6'/%3E%3Ccircle cx='349.8' cy='160' r='2.6'/%3E%3Ccircle cx='375.8' cy='115' r='2.6'/%3E%3Ccircle cx='375.8' cy='205' r='2.6'/%3E%3Ccircle cx='401.8' cy='160' r='2.6'/%3E%3Ccircle cx='427.7' cy='115' r='2.6'/%3E%3Cpolygon points='375.8,153.4 394.5,164.2 394.5,185.8 375.8,196.6 357.1,185.8 357.1,164.2' fill='none' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E");
  --gb-deco-honeycomb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='22 8.5 256.6 214.5'%3E%3Cpolygon points='90,16.5 101.7,23.2 101.7,36.8 90,43.5 78.3,36.8 78.3,23.2' fill-opacity='.85'/%3E%3Cpolygon points='116,16.5 127.7,23.2 127.7,36.8 116,43.5 104.3,36.8 104.3,23.2' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='142,16.5 153.7,23.2 153.7,36.8 142,43.5 130.3,36.8 130.3,23.2' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='103,39 114.7,45.8 114.7,59.2 103,66 91.3,59.2 91.3,45.8' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='129,39 140.7,45.8 140.7,59.2 129,66 117.3,59.2 117.3,45.8' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='155,39 166.6,45.8 166.6,59.2 155,66 143.3,59.2 143.3,45.8' fill-opacity='.85'/%3E%3Cpolygon points='180.9,39 192.6,45.8 192.6,59.2 180.9,66 169.2,59.2 169.2,45.8' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='90,61.5 101.7,68.2 101.7,81.8 90,88.5 78.3,81.8 78.3,68.2' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='116,61.5 127.7,68.2 127.7,81.8 116,88.5 104.3,81.8 104.3,68.2' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='142,61.5 153.7,68.2 153.7,81.8 142,88.5 130.3,81.8 130.3,68.2' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='193.9,61.5 205.6,68.2 205.6,81.8 193.9,88.5 182.2,81.8 182.2,68.2' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='219.9,61.5 231.6,68.2 231.6,81.8 219.9,88.5 208.2,81.8 208.2,68.2' fill-opacity='.85'/%3E%3Cpolygon points='103,84 114.7,90.8 114.7,104.2 103,111 91.3,104.2 91.3,90.8' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='155,84 166.6,90.8 166.6,104.2 155,111 143.3,104.2 143.3,90.8' fill-opacity='.85'/%3E%3Cpolygon points='180.9,84 192.6,90.8 192.6,104.2 180.9,111 169.2,104.2 169.2,90.8' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='232.9,84 244.6,90.8 244.6,104.2 232.9,111 221.2,104.2 221.2,90.8' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='90,106.5 101.7,113.2 101.7,126.8 90,133.5 78.3,126.8 78.3,113.2' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='142,106.5 153.7,113.2 153.7,126.8 142,133.5 130.3,126.8 130.3,113.2' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='219.9,106.5 231.6,113.2 231.6,126.8 219.9,133.5 208.2,126.8 208.2,113.2' fill-opacity='.85'/%3E%3Cpolygon points='219.9,16.5 231.6,23.2 231.6,36.8 219.9,43.5 208.2,36.8 208.2,23.2' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='245.9,16.5 257.6,23.2 257.6,36.8 245.9,43.5 234.2,36.8 234.2,23.2' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='258.9,39 270.6,45.8 270.6,59.2 258.9,66 247.2,59.2 247.2,45.8' fill-opacity='.85'/%3E%3Cpolygon points='245.9,61.5 257.6,68.2 257.6,81.8 245.9,88.5 234.2,81.8 234.2,68.2' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='103,129 114.7,135.8 114.7,149.2 103,156 91.3,149.2 91.3,135.8' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='155,129 166.6,135.8 166.6,149.2 155,156 143.3,149.2 143.3,135.8' fill-opacity='.85'/%3E%3Cpolygon points='206.9,129 218.6,135.8 218.6,149.2 206.9,156 195.2,149.2 195.2,135.8' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='90,151.5 101.7,158.2 101.7,171.8 90,178.5 78.3,171.8 78.3,158.2' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Cpolygon points='142,151.5 153.7,158.2 153.7,171.8 142,178.5 130.3,171.8 130.3,158.2' fill='none' stroke='%23000' stroke-width='1.5' stroke-opacity='.8'/%3E%3Ccircle cx='40' cy='40' r='3'/%3E%3Ccircle cx='250' cy='60' r='2.5'/%3E%3Ccircle cx='270' cy='190' r='3.5'/%3E%3Ccircle cx='30' cy='180' r='2.5'/%3E%3Ccircle cx='200' cy='215' r='2'/%3E%3C/svg%3E");
  --gb-deco-hex: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='68.3 10 284.5 326'%3E%3Cpolygon points='130,18 183.7,49 183.7,111 130,142 76.3,111 76.3,49' fill='none' stroke='%23000' stroke-width='1.4' stroke-opacity='.6'/%3E%3Cpolygon points='237.4,18 291.1,49 291.1,111 237.4,142 183.7,111 183.7,49' fill='none' stroke='%23000' stroke-width='1.4' stroke-opacity='.6'/%3E%3Cpolygon points='183.7,111 237.4,142 237.4,204 183.7,235 130,204 130,142' fill='none' stroke='%23000' stroke-width='1.4' stroke-opacity='.6'/%3E%3Cpolygon points='130,204 183.7,235 183.7,297 130,328 76.3,297 76.3,235' fill='none' stroke='%23000' stroke-width='1.4' stroke-opacity='.6'/%3E%3Cpolygon points='291.1,111 344.8,142 344.8,204 291.1,235 237.4,204 237.4,142' fill='none' stroke='%23000' stroke-width='1.4' stroke-opacity='.6'/%3E%3Cpolygon points='130,18 183.7,49 183.7,111 130,142 76.3,111 76.3,49' fill='none' stroke='%23000' stroke-width='3'/%3E%3Cpolygon points='130,35.4 168.7,57.7 168.7,102.3 130,124.6 91.3,102.3 91.3,57.7' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpolygon points='257.4,70.2 274.6,80.1 274.6,99.9 257.4,109.8 240.2,99.9 240.2,80.1' fill-opacity='.9'/%3E%3Cpolygon points='203.7,157 226.2,170 226.2,196 203.7,209 181.1,196 181.1,170' fill-opacity='.9'/%3E%3C/svg%3E");
  --gb-deco-dots: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 220'%3E%3Cdefs%3E%3Cpattern id='p' width='11' height='11' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='5.5' cy='5.5' r='2.1'/%3E%3C/pattern%3E%3CradialGradient id='g' cx='.5' cy='.5' r='.5'%3E%3Cstop offset='.35' stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cmask id='m'%3E%3Crect width='320' height='220' fill='url%28%23g%29'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='320' height='220' fill='url%28%23p%29' mask='url%28%23m%29'/%3E%3C/svg%3E");
}
.geb-about-intro,
.geb-about-features,
.geb-founder,
.geb-welcome,
.geb-info,
.geb-highlights,
.geb-services,
.geb-departments,
.geb-skills,
.geb-doctors,
.geb-reviews,
.geb-counters,
.geb-appointment-form,
.geb-contact-box,
.geb-help-cta,
.geb-timetable,
.geb-accordion,
.geb-terms,
.geb-news,
.geb-inquiry,
.geb-checklist,
.geb-text-columns {
  position: relative;
  isolation: isolate;
}
/* Katman içeriğin altında, bölümün zemininin üstündedir (isolation sayesinde z-index: -1 zemine düşmez). */
.geb-about-intro::after,
.geb-about-features::after,
.geb-founder::after,
.geb-welcome::after,
.geb-info::after,
.geb-highlights::after,
.geb-services::after,
.geb-departments::after,
.geb-skills::after,
.geb-doctors::after,
.geb-reviews::after,
.geb-counters::after,
.geb-appointment-form::after,
.geb-contact-box::after,
.geb-help-cta::after,
.geb-timetable::after,
.geb-accordion::after,
.geb-terms::after,
.geb-news::after,
.geb-inquiry::after,
.geb-checklist::after,
.geb-text-columns::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: var(--gb-deco-color, var(--primary-color));
  content: "";
  opacity: var(--gb-deco-opacity, 0.07);
  pointer-events: none;
  -webkit-mask-image: var(--gb-deco, none);
  mask-image: var(--gb-deco, none);
  -webkit-mask-position: var(--gb-deco-pos, left bottom);
  mask-position: var(--gb-deco-pos, left bottom);
  -webkit-mask-size: var(--gb-deco-size, 360px auto);
  mask-size: var(--gb-deco-size, 360px auto);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
/* Sağdan sola dilde desen katmanı aynalanır (konumlar mantıksal kenara geçer). */
[dir="rtl"] :is(.geb-about-intro, .geb-about-features, .geb-founder, .geb-welcome, .geb-info, .geb-highlights, .geb-services, .geb-departments, .geb-skills, .geb-doctors, .geb-reviews, .geb-counters, .geb-appointment-form, .geb-contact-box, .geb-help-cta, .geb-timetable, .geb-accordion, .geb-terms, .geb-news, .geb-inquiry, .geb-checklist, .geb-text-columns)::after {
  transform: scaleX(-1);
}
/* Koyu zeminde (inverse / lacivert) desen beyazdır. */
.geb-ui[data-variant="inverse"],
.geb-ui[data-variant="navy"] {
  --gb-deco-color: #ffffff;
  --gb-deco-opacity: 0.06;
}
.geb-about-intro {
  --gb-deco: var(--gb-deco-molecule);
  --gb-deco-pos: left -1.5rem bottom 1.5rem;
  --gb-deco-size: calc(440px * var(--gb-deco-scale, 1)) auto;
}
.geb-about-intro--reverse {
  --gb-deco-pos: right -1.5rem bottom 1.5rem;
}
/* Bilgi talebi: renkli bantta beyaz, açık zeminde ana renk molekül; metnin bulunduğu alt köşede. */
.geb-inquiry {
  --gb-deco: var(--gb-deco-molecule);
  --gb-deco-pos: left -1.5rem bottom 1rem;
  --gb-deco-size: calc(440px * var(--gb-deco-scale, 1)) auto;
  --gb-deco-color: #ffffff;
  --gb-deco-opacity: 0.08;
}
.geb-inquiry--reverse {
  --gb-deco-pos: right -1.5rem bottom 1rem;
}
.geb-inquiry--subtle {
  --gb-deco-color: var(--primary-color);
  --gb-deco-opacity: 0.07;
}
.geb-about-features {
  --gb-deco: var(--gb-deco-honeycomb);
  --gb-deco-pos: right 1rem top 2rem;
  --gb-deco-size: calc(300px * var(--gb-deco-scale, 1)) auto;
}
.geb-founder {
  --gb-deco: var(--gb-deco-honeycomb);
  --gb-deco-pos: left 1rem bottom 1.5rem;
  --gb-deco-size: calc(320px * var(--gb-deco-scale, 1)) auto;
}
.geb-welcome {
  --gb-deco: var(--gb-deco-honeycomb), var(--gb-deco-honeycomb);
  --gb-deco-pos: left -1rem bottom 0.5rem, right -1rem bottom 0.5rem;
  --gb-deco-size: calc(280px * var(--gb-deco-scale, 1)) auto, calc(280px * var(--gb-deco-scale, 1)) auto;
  --gb-deco-opacity: 0.09;
}
.geb-info {
  --gb-deco: var(--gb-deco-molecule);
  --gb-deco-pos: right -1.5rem bottom 1rem;
  --gb-deco-size: calc(400px * var(--gb-deco-scale, 1)) auto;
}
.geb-highlights {
  --gb-deco: var(--gb-deco-honeycomb);
  --gb-deco-pos: left 0 top 1.5rem;
  --gb-deco-size: calc(280px * var(--gb-deco-scale, 1)) auto;
}
.geb-services {
  --gb-deco: var(--gb-deco-honeycomb), var(--gb-deco-honeycomb);
  --gb-deco-pos: left 0 top 1rem, right 0 top 1rem;
  --gb-deco-size: calc(260px * var(--gb-deco-scale, 1)) auto, calc(260px * var(--gb-deco-scale, 1)) auto;
}
.geb-departments {
  --gb-deco: var(--gb-deco-hex);
  --gb-deco-pos: right 2rem top 1.5rem;
  --gb-deco-size: calc(300px * var(--gb-deco-scale, 1)) auto;
}
.geb-skills {
  --gb-deco: var(--gb-deco-dots);
  --gb-deco-pos: right 2rem bottom 2rem;
  --gb-deco-size: calc(420px * var(--gb-deco-scale, 1)) auto;
}
.geb-doctors {
  --gb-deco: var(--gb-deco-honeycomb);
  --gb-deco-pos: left 0 bottom 1rem;
  --gb-deco-size: calc(300px * var(--gb-deco-scale, 1)) auto;
}
/* Yorumlar: Medicoz'daki noktalı harita yerine ortada geniş, kenarları silinen nokta ızgarası. */
.geb-reviews {
  --gb-deco: var(--gb-deco-dots);
  --gb-deco-pos: center;
  --gb-deco-size: calc(820px * var(--gb-deco-scale, 1)) auto;
  --gb-deco-opacity: 0.09;
}
.geb-counters {
  --gb-deco: var(--gb-deco-hex);
  --gb-deco-pos: left 1rem center;
  --gb-deco-size: calc(300px * var(--gb-deco-scale, 1)) auto;
}
.geb-counters--image::after {
  display: none;
}
.geb-appointment-form {
  --gb-deco: var(--gb-deco-dots);
  --gb-deco-pos: right 1rem top 1.5rem;
  --gb-deco-size: calc(380px * var(--gb-deco-scale, 1)) auto;
}
.geb-contact-box {
  --gb-deco: var(--gb-deco-honeycomb);
  --gb-deco-pos: right 0 bottom 1rem;
  --gb-deco-size: calc(300px * var(--gb-deco-scale, 1)) auto;
}
.geb-help-cta {
  --gb-deco: var(--gb-deco-molecule);
  --gb-deco-pos: left -1.5rem top 1rem;
  --gb-deco-size: calc(400px * var(--gb-deco-scale, 1)) auto;
}
.geb-timetable {
  --gb-deco: var(--gb-deco-hex);
  --gb-deco-pos: right 1.5rem top 1.5rem;
  --gb-deco-size: calc(300px * var(--gb-deco-scale, 1)) auto;
}
.geb-accordion {
  --gb-deco: var(--gb-deco-molecule);
  --gb-deco-pos: right -1.5rem bottom 1rem;
  --gb-deco-size: calc(420px * var(--gb-deco-scale, 1)) auto;
}
.geb-terms {
  --gb-deco: var(--gb-deco-honeycomb);
  --gb-deco-pos: left 0 bottom 1rem;
  --gb-deco-size: calc(300px * var(--gb-deco-scale, 1)) auto;
}
.geb-news {
  --gb-deco: var(--gb-deco-dots);
  --gb-deco-pos: right 2rem top 2rem;
  --gb-deco-size: calc(380px * var(--gb-deco-scale, 1)) auto;
}
.geb-checklist {
  --gb-deco: var(--gb-deco-hex);
  --gb-deco-pos: right 1.5rem bottom 1.5rem;
  --gb-deco-size: calc(300px * var(--gb-deco-scale, 1)) auto;
}
.geb-checklist--reverse {
  --gb-deco-pos: left 1.5rem bottom 1.5rem;
}
.geb-text-columns {
  --gb-deco: var(--gb-deco-dots);
  --gb-deco-pos: right 2rem top 1.5rem;
  --gb-deco-size: calc(360px * var(--gb-deco-scale, 1)) auto;
}
/* Renkli randevu bandı: desen bandın içinde, beyaz. */
.geb-appointment__band::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: #ffffff;
  content: "";
  opacity: 0.1;
  pointer-events: none;
  -webkit-mask: var(--gb-deco-molecule) left -2rem bottom 1rem / calc(460px * var(--gb-deco-scale, 1)) auto no-repeat;
  mask: var(--gb-deco-molecule) left -2rem bottom 1rem / calc(460px * var(--gb-deco-scale, 1)) auto no-repeat;
}
.geb-appointment--subtle .geb-appointment__band::before {
  background-color: var(--primary-color);
  opacity: 0.07;
}
[dir="rtl"] .geb-appointment__band::before {
  transform: scaleX(-1);
}
@media (max-width: 1024px) {
  .geb-ui {
    --gb-deco-scale: 0.75;
  }
}
@media (max-width: 767px) {
  .geb-ui {
    --gb-deco-scale: 0.55;
  }
}
