/* slider -------------------------------------------------  */

.tbm-slider-root{
  position:relative;
  display:block;
  width:100vw;
  margin-left:calc(50% - 50vw);
  height:92vh;
  min-height:560px;
  max-height:860px;
  overflow:hidden;
  isolation:isolate;
  background:#0d1b28;
  cursor:grab;
  outline:none;
  -webkit-user-select:none;
  user-select:none;
}
.tbm-slider-root.is-dragging{cursor:grabbing;}
.tbm-slider-root:focus-visible{box-shadow:inset 0 0 0 3px var(--color-secondary-light);}
.tbm-slider-root *{-webkit-user-drag:none;}

.tbm-slider-track{
  position:absolute;
  inset:0;
}

.tbm-slider-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity 1100ms var(--ease-spring), visibility 0s linear 1100ms;
  pointer-events:none;
}
.tbm-slider-slide.is-active{
  opacity:1;
  visibility:visible;
  transition:opacity 1100ms var(--ease-spring);
  pointer-events:auto;
  z-index:2;
}

.tbm-slider-media-wrap{
  position:absolute;
  inset:0;
  overflow:hidden;
  line-height:0;
  background:linear-gradient(135deg, #0a2036 0%, #0d1b28 60%, #08141f 100%);
}

.tbm-slider-media-wrap picture{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}

.tbm-slider-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:scale(1.1);
  transition:transform 7000ms linear, opacity 400ms var(--ease);
  user-select:none;
  -webkit-user-drag:none;
  /* Fotoğrafın kendi tonlarını canlı tutmak için hafif düzeltme */
  filter:saturate(1.08) brightness(1.03);
}
.tbm-slider-slide.is-active .tbm-slider-media{
  transform:scale(1);
}

/* Görsel yüklenene kadar / yüklenemezse arka plan asla boş kalmasın diye
   ince bir "skeleton" parıltısı. Görsel başarıyla yüklenince JS bu sınıfı
   kaldırır. */
.tbm-slider-media-wrap.is-loading::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(100deg, transparent 30%, rgba(255,255,255,.06) 50%, transparent 70%);
  background-size:200% 100%;
  animation:tbm-media-shimmer 1.6s ease-in-out infinite;
}
@keyframes tbm-media-shimmer{
  0%{background-position:160% 0;}
  100%{background-position:-60% 0;}
}

.tbm-slider-overlay{
  position:absolute;
  inset:0;
  z-index:4;
  background:
    linear-gradient(115deg,
      rgba(3,15,28,.62) 0%,
      rgba(3,15,28,.42) 30%,
      rgba(3,15,28,.10) 58%,
      rgba(3,15,28,0) 78%
    ),
    linear-gradient(0deg,
      rgba(3,15,28,.55) 0%,
      rgba(3,15,28,0) 38%
    );
  display:flex;
  align-items:center;
  padding:0 clamp(24px,7vw,120px);
}

/* İnce bir vinyet, kenarları yumuşatır ama fotoğrafı karartmaz */
.tbm-slider-vignette{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  box-shadow:inset 0 0 140px rgba(3,15,28,.35);
  opacity:.55;
}

.tbm-slider-content{
  max-width:640px;
  transform:translateY(28px);
  opacity:0;
  transition:transform 800ms var(--ease-spring) 320ms, opacity 800ms var(--ease) 320ms;
}
.tbm-slider-slide.is-active .tbm-slider-content{
  transform:translateY(0);
  opacity:1;
}

.tbm-slider-tag{
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.28);
  color:#eafcfc;
  font-family:var(--font-body);
  font-size:var(--fs-xs);
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
  padding:7px 16px;
  border-radius:var(--radius-pill);
  margin-bottom:22px;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.tbm-slider-tag::before{
  content:'';
  width:6px;height:6px;
  border-radius:50%;
  background:var(--color-secondary-light);
  box-shadow:0 0 10px var(--color-secondary-light);
  animation:tbm-slider-pulse 1.8s ease-in-out infinite;
}
@keyframes tbm-slider-pulse{
  0%,100%{opacity:1; transform:scale(1);}
  50%{opacity:.4; transform:scale(1.4);}
}

.tbm-slider-title{
  font-family:var(--font-display);
  color:var(--text-on-dark);
  font-size:clamp(2rem,4.2vw,3.35rem);
  font-weight:800;
  line-height:1.14;
  letter-spacing:-.015em;
  margin-bottom:16px;
  text-shadow:0 2px 24px rgba(0,0,0,.22);
}

.tbm-slider-desc{
  color:var(--text-on-dark-70);
  font-size:clamp(var(--fs-base),1.3vw,var(--fs-lg));
  line-height:1.75;
  margin-bottom:32px;
  max-width:500px;
  text-shadow:0 1px 12px rgba(0,0,0,.18);
}

.tbm-slider-cta{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--btn-primary-bg);
  color:var(--btn-primary-text);
  font-weight:700;
  font-size:var(--fs-base);
  padding:15px 30px;
  border-radius:var(--radius-pill);
  box-shadow:var(--shadow-glow-teal);
  overflow:hidden;
  transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
}
.tbm-slider-cta::before{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.22);
  transform:translateX(-100%);
  transition:transform .5s var(--ease);
}
.tbm-slider-cta:hover::before{transform:translateX(0);}
.tbm-slider-cta:hover{
  background:var(--btn-primary-bg-hover);
  transform:translateY(-3px);
  box-shadow:0 16px 36px -8px rgba(0,156,166,.6);
}
.tbm-slider-cta:focus-visible{
  outline:2px solid var(--text-on-dark);
  outline-offset:3px;
}
.tbm-slider-cta span, .tbm-slider-cta svg{position:relative; z-index:1;}
.tbm-slider-cta svg{width:18px;height:18px;transition:transform var(--transition-fast);}
.tbm-slider-cta:hover svg{transform:translateX(4px);}

/* ---- Alt-sağ kontrol paneli: dots + nav butonları + progress hepsi bir arada,
   zarif bir cam (glass) kapsül içinde ---- */
.tbm-slider-controls{
  position:absolute;
  right:clamp(20px,5vw,64px);
  bottom:clamp(22px,4vw,44px);
  z-index:7;
  display:flex;
  align-items:center;
  gap:14px;
  background:rgba(3,15,28,.38);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  padding:10px 14px;
  border-radius:var(--radius-pill);
  box-shadow:0 12px 36px -10px rgba(0,0,0,.45);
}

.tbm-slider-dots{
  display:flex;
  align-items:center;
  gap:9px;
}
.tbm-slider-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:rgba(255,255,255,.38);
  border:none;
  cursor:pointer;
  padding:0;
  transition:background var(--transition-fast), width var(--transition-fast);
}
.tbm-slider-dot:focus-visible{
  outline:2px solid var(--color-secondary-light);
  outline-offset:3px;
}
.tbm-slider-dot.is-active{
  background:var(--color-secondary-light);
  width:26px;
  border-radius:var(--radius-pill);
  box-shadow:0 0 0 3px rgba(51,181,189,.18);
}

.tbm-slider-divider{
  width:1px;
  height:22px;
  background:rgba(255,255,255,.22);
}

.tbm-slider-nav{
  width:38px;height:38px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:var(--text-on-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);
}
.tbm-slider-nav:hover{
  background:var(--color-secondary);
  border-color:var(--color-secondary);
  transform:scale(1.08);
}
.tbm-slider-nav:active{transform:scale(.96);}
.tbm-slider-nav:focus-visible{
  outline:2px solid var(--color-secondary-light);
  outline-offset:2px;
}
.tbm-slider-nav svg{width:17px;height:17px;}

.tbm-slider-status{
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:var(--text-on-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background var(--transition-fast), border-color var(--transition-fast);
}
.tbm-slider-status:hover{background:rgba(255,255,255,.16);}
.tbm-slider-status:focus-visible{outline:2px solid var(--color-secondary-light); outline-offset:2px;}
.tbm-slider-status svg{width:12px;height:12px;}
.tbm-slider-status .tbm-slider-icon-play{display:none;}
.tbm-slider-root.is-paused .tbm-slider-status .tbm-slider-icon-pause{display:none;}
.tbm-slider-root.is-paused .tbm-slider-status .tbm-slider-icon-play{display:block;}

.tbm-slider-progress-track{
  position:absolute;
  bottom:0;left:0;
  width:100%;
  height:2px;
  background:rgba(255,255,255,.12);
  z-index:6;
}
.tbm-slider-progress-bar{
  height:100%;
  width:0%;
  background:linear-gradient(90deg, var(--color-secondary), var(--color-secondary-light));
}
.tbm-slider-progress-bar.is-animating{
  transition:width 9s linear;
}
.tbm-slider-root.is-paused .tbm-slider-progress-bar{
  transition:none;
}

.tbm-slider-counter{
  position:absolute;
  top:clamp(22px,4vw,44px);
  right:clamp(24px,7vw,120px);
  color:var(--text-on-dark-70);
  font-size:var(--fs-sm);
  font-weight:700;
  letter-spacing:.08em;
  z-index:6;
  text-shadow:0 1px 10px rgba(0,0,0,.3);
}
.tbm-slider-counter strong{color:var(--text-on-dark); font-weight:800;}

.tbm-slider-sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

@media (max-width:768px){
  .tbm-slider-root{height:82vh;min-height:600px;max-height:none;}
  .tbm-slider-overlay{
    align-items:flex-end;
    padding:0 22px 118px;
    background:
      linear-gradient(0deg, rgba(3,15,28,.82) 0%, rgba(3,15,28,.38) 48%, rgba(3,15,28,.05) 78%),
      linear-gradient(115deg, rgba(3,15,28,.42) 0%, rgba(3,15,28,0) 65%);
  }
  .tbm-slider-content{max-width:100%;}
  .tbm-slider-controls{
    right:16px;
    bottom:16px;
    padding:8px 10px;
    gap:10px;
  }
  /* Mobilde ok butonları kaldırılır: yön değiştirme parmakla kaydırarak
     yapılır, dock sadece noktalar + oynat/duraklat gösterir. */
  .tbm-slider-nav,
  .tbm-slider-divider--nav{
    display:none;
  }
  .tbm-slider-status{width:30px;height:30px;}
  .tbm-slider-dot{width:7px;height:7px;}
  .tbm-slider-dot.is-active{width:20px;}
  .tbm-slider-counter{display:none;}
}

@media (prefers-reduced-motion: reduce){
  .tbm-slider-slide,.tbm-slider-content,.tbm-slider-progress-bar,.tbm-slider-tag::before,.tbm-slider-media{
    transition:none !important;
    animation:none !important;
    transform:none !important;
  }
}


/* -------------------------------------------------- hizli sekme */

    @keyframes tbmFadeUp {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: none; }
  }

  @keyframes tbmDrift {
    from { transform: translateY(0); }
    to   { transform: translateY(-14px); }
  }

  /* ============ TEK PARÇA SİSTEM: başlık + hızlı erişim aynı zeminde ============ */
  /* Full-width zemin; içerik ayrı bir sarmalayıcı ile 1400px'e sabitlenir. */
  .tbm-hero {
    position: relative;
    background: var(--bg-body);
    overflow: hidden;
    width: 100%;
  }

  /* Sabit yükseklikli zemin katmanı: daha açık, kurumsal ve
     aşağıya doğru yumuşak bir eğri (clip-path) ile beyaza kavuşuyor. */
  .tbm-hero::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 34rem;
    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
      radial-gradient(40rem 26rem at 8% -8%, rgba(0,156,166,.24), transparent 60%),
      radial-gradient(34rem 24rem at 96% 4%, rgba(255,143,107,.16), transparent 58%),
      linear-gradient(180deg, var(--color-primary-light) 0%, var(--color-primary) 58%, var(--color-primary-light) 100%);
    background-repeat: repeat, no-repeat, no-repeat, no-repeat;
    clip-path: polygon(0 0, 100% 0, 100% 84%, 0% 100%);
    pointer-events: none;
  }

  /* Tüp bebeğe özgü dekoratif figürler: DNA sarmalı, embriyo hücresi, aile ikonu */
  .tbm-hero__figures {
    position: absolute;
    inset: 0;
    height: 34rem;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
  }

  .tbm-hero__figure {
    position: absolute;
    stroke: rgba(255,255,255,.16);
    fill: none;
  }

  .tbm-hero__figure--dna {
    top: -2rem;
    left: -2rem;
    width: 11rem;
    height: 11rem;
    stroke-width: 1.4;
    animation: tbmDrift 7s ease-in-out infinite alternate;
  }

  .tbm-hero__figure--cell {
    top: 5.5rem;
    right: 4%;
    width: 8rem;
    height: 8rem;
    stroke-width: 1.3;
    animation: tbmDrift 8.5s ease-in-out infinite alternate;
    animation-delay: .6s;
  }

  .tbm-hero__figure--embryo {
    bottom: 2.5rem;
    left: 10%;
    width: 6.5rem;
    height: 6.5rem;
    stroke-width: 1.3;
    animation: tbmDrift 6.5s ease-in-out infinite alternate;
    animation-delay: 1.1s;
  }

  .tbm-hero__figure--heart {
    bottom: 4rem;
    right: 14%;
    width: 5.5rem;
    height: 5.5rem;
    stroke-width: 1.4;
    animation: tbmDrift 7.5s ease-in-out infinite alternate;
    animation-delay: .3s;
  }

  .tbm-page-title,
  .tbm-quick-access {
    position: relative;
    z-index: 1;
  }

  /* Full-width zemin üstünde ortalanmış, 1400px'e sabitlenen içerik sarmalayıcı */
  .tbm-content-wrap {
    max-width: 1400px;
    margin-inline: auto;
    padding-inline: 1.25rem;
  }

  /* ============ PAGE TITLE — sayfanın H1 açılışı ============ */
  .tbm-page-title {
    padding: 3rem 0 2rem;
    text-align: center;
  }

  .tbm-page-title__inner {
    max-width: 44rem;
    margin: 0 auto;
    animation: tbmFadeUp .6s var(--ease-spring) both;
  }

  .tbm-page-title__badge {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin: 0 0 1rem;
    padding: .35rem .85rem;
    border-radius: var(--radius-pill);
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.22);
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--text-on-dark-70);
  }

  .tbm-page-title__badge svg {
    width: .85rem;
    height: .85rem;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
  }

  .tbm-page-title__heading {
    margin: 0;
    font-size: clamp(1.85rem, 1.3rem + 2vw, 2.625rem);
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1.22;
    color: var(--text-on-dark);
    text-shadow: 0 2px 10px rgba(0,29,56,.3);
  }

  .tbm-page-title__rule {
    display: block;
    width: 3.25rem;
    height: 3px;
    margin: 1.15rem auto 0;
    border-radius: var(--radius-pill);
    background: linear-gradient(90deg, var(--color-secondary-light), var(--color-accent));
  }

  /* ============ QUICK ACCESS SECTION ============ */
  .tbm-quick-access {
    padding: 2.5rem 0 3rem;
  }

  .tbm-quick-access__nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.9rem;
    margin: 0;
    padding: 0;
    max-width: 64rem;
    margin-inline: auto;
  }

  .tbm-quick-access__nav li {
    animation: tbmFadeUp .55s var(--ease-spring) both;
  }
  .tbm-quick-access__nav li:nth-child(1) { animation-delay: .16s; }
  .tbm-quick-access__nav li:nth-child(2) { animation-delay: .22s; }
  .tbm-quick-access__nav li:nth-child(3) { animation-delay: .28s; }
  .tbm-quick-access__nav li:nth-child(4) { animation-delay: .34s; }

  .tbm-quick-access__item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    background: var(--bg-navbar);
    border: var(--border-hairline);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 1rem;
    color: var(--text-primary);
    overflow: hidden;
    transition: transform var(--transition-fast),
                box-shadow var(--transition-fast),
                border-color var(--transition-fast);
  }

  .tbm-quick-access__item::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--color-secondary-light), var(--color-secondary));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--transition-fast);
  }

  .tbm-quick-access__item--accent::before {
    background: linear-gradient(90deg, var(--color-accent), var(--color-secondary-light));
  }

  .tbm-quick-access__item:hover,
  .tbm-quick-access__item:focus-visible {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(0,48,87,.14);
  }

  .tbm-quick-access__item:hover::before,
  .tbm-quick-access__item:focus-visible::before {
    transform: scaleX(1);
  }

  .tbm-quick-access__item:focus-visible {
    outline: 2px solid var(--color-secondary);
    outline-offset: 3px;
  }

  .tbm-quick-access__icon {
    flex: none;
    width: 2.875rem;
    height: 2.875rem;
    border-radius: var(--radius-pill);
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(160deg, var(--gray-50), var(--gray-100));
    box-shadow: inset 0 0 0 1px rgba(0,48,87,.05);
    color: var(--color-primary);
    transition: background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
  }

  .tbm-quick-access__icon svg {
    width: 1.4rem;
    height: 1.4rem;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .tbm-quick-access__item:hover .tbm-quick-access__icon,
  .tbm-quick-access__item:focus-visible .tbm-quick-access__icon {
    background: var(--color-secondary);
    color: var(--text-on-dark);
    box-shadow: var(--shadow-glow-teal);
  }

  /* Genetik kartı — accent vurgusu ile öne çıkarma */
  .tbm-quick-access__item--accent .tbm-quick-access__icon {
    background: linear-gradient(160deg, rgba(255,143,107,.16), rgba(255,143,107,.06));
    box-shadow: inset 0 0 0 1px rgba(255,143,107,.14);
    color: var(--color-accent);
  }
  .tbm-quick-access__item--accent:hover .tbm-quick-access__icon,
  .tbm-quick-access__item--accent:focus-visible .tbm-quick-access__icon {
    background: var(--color-accent);
    color: var(--text-on-dark);
    box-shadow: var(--shadow-glow-warm);
  }

  .tbm-quick-access__text {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 0;
  }

  .tbm-quick-access__label {
    font-size: var(--fs-sm);
    font-weight: 600;
    line-height: 1.25;
  }

  .tbm-quick-access__desc {
    font-size: var(--fs-2xs);
    color: var(--text-muted);
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .tbm-quick-access__chevron {
    flex: none;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gray-300);
    transition: transform var(--transition-fast), color var(--transition-fast);
  }

  .tbm-quick-access__chevron svg {
    width: 1rem;
    height: 1rem;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .tbm-quick-access__item:hover .tbm-quick-access__chevron,
  .tbm-quick-access__item:focus-visible .tbm-quick-access__chevron {
    color: var(--color-secondary);
    transform: translateX(3px);
  }

  .tbm-quick-access__item--accent:hover .tbm-quick-access__chevron,
  .tbm-quick-access__item--accent:focus-visible .tbm-quick-access__chevron {
    color: var(--color-accent);
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 1024px) {
    .tbm-quick-access__nav {
      grid-template-columns: repeat(2, 1fr);
      gap: .875rem;
      max-width: 34rem;
    }
  }

  @media (max-width: 640px) {
    .tbm-hero::before,
    .tbm-hero__figures { height: 25rem; }
    .tbm-hero::before { clip-path: polygon(0 0, 100% 0, 100% 90%, 0% 100%); }
    .tbm-page-title { padding: 3rem 0 1.75rem; }
    .tbm-quick-access { padding: 1.25rem 0 2.75rem; }
    .tbm-quick-access__title { font-size: var(--fs-xl); }
    .tbm-quick-access__nav { gap: .625rem; }
    .tbm-quick-access__item {
      padding: .9rem .95rem;
      border-radius: var(--radius-sm);
    }
    .tbm-quick-access__icon {
      width: 2.375rem;
      height: 2.375rem;
    }
    .tbm-quick-access__icon svg {
      width: 1.15rem;
      height: 1.15rem;
    }
    .tbm-quick-access__desc { display: none; }
    .tbm-quick-access__chevron { display: none; }
    .tbm-hero__figure--cell,
    .tbm-hero__figure--heart { display: none; }
  }

  @media (prefers-reduced-motion: reduce) {
    .tbm-page-title__inner,
    .tbm-quick-access__header,
    .tbm-quick-access__nav li,
    .tbm-quick-access__item,
    .tbm-quick-access__chevron,
    .tbm-hero__figure {
      animation: none;
      transition: none;
      opacity: 1;
      transform: none;
    }
  }

  /* ----------------------------- içerik bölümü  */

.tbm-dh-sections{
  --tbm-dh-container: var(--container-w);
  --tbm-dh-gutter: clamp(1.25rem, 4vw, 3rem);
  --tbm-dh-py: clamp(5rem, 9vw, 8.5rem);
  --tbm-dh-py-sm: clamp(3.5rem, 6vw, 5.5rem);
  --tbm-dh-overlap: clamp(2.5rem, 5vw, 4.5rem);
  --tbm-dh-seam-r: clamp(1.75rem, 3vw, 2.75rem);

  --tbm-dh-font-display: 'Fraunces', 'Georgia', serif;
  --tbm-dh-font-body: 'Sora', -apple-system, BlinkMacSystemFont, sans-serif;

  --tbm-dh-h2: clamp(2rem, 3.4vw, 3.25rem);
  --tbm-dh-h3: clamp(1.25rem, 1.8vw, 1.625rem);
  --tbm-dh-lead: clamp(1rem, 1.3vw, 1.1875rem);

  font-family: var(--tbm-dh-font-body);
  color: var(--text-primary);
  background: var(--bg-body);
  overflow-x: clip;
  position: relative;
}

.tbm-dh-sections *{ box-sizing: border-box; }
.tbm-dh-sections img{ max-width:100%; display:block; }

.tbm-dh-sections .tbm-dh-container{
  width:100%;
  max-width: var(--tbm-dh-container);
  margin-inline:auto;
  padding-inline: var(--tbm-dh-gutter);
}

.tbm-dh-sections .tbm-dh-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-family: var(--tbm-dh-font-body);
  font-size: var(--fs-xs);
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: var(--color-secondary-dark);
  margin:0 0 .9rem;
}
.tbm-dh-sections .tbm-dh-eyebrow::before{
  content:"";
  width:.5rem; height:.5rem;
  background: var(--color-accent);
  border-radius:3px;
  transform: rotate(45deg);
  display:inline-block;
  flex:none;
}

.tbm-dh-sections .tbm-dh-heading{
  font-family: var(--tbm-dh-font-display);
  font-size: var(--tbm-dh-h2);
  font-weight:600;
  line-height:1.14;
  letter-spacing:-.01em;
  color: var(--color-primary);
  margin:0 0 1rem;
}
.tbm-dh-sections .tbm-dh-heading em{
  font-style:italic;
  font-weight:500;
  color: var(--color-secondary-dark);
}
.tbm-dh-sections .tbm-dh-lead-text{
  font-size: var(--tbm-dh-lead);
  color: var(--text-secondary);
  line-height:1.7;
  max-width:42rem;
  margin:0;
}
.tbm-dh-sections .tbm-dh-head-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem;
  flex-wrap:wrap;
  margin-bottom: clamp(2.5rem, 4.5vw, 4rem);
}

.tbm-dh-sections .tbm-dh-btn{
  --_bg: var(--btn-primary-bg);
  --_bg-hover: var(--btn-primary-bg-hover);
  --_fg: var(--btn-primary-text);
  display:inline-flex;
  align-items:center;
  gap:.85rem;
  font-family: var(--tbm-dh-font-body);
  font-size: var(--fs-base);
  font-weight:600;
  padding: .3rem .3rem .3rem 1.6rem;
  border-radius: var(--radius-pill);
  background: var(--_bg);
  color: var(--_fg);
  border: 1px solid transparent;
  cursor:pointer;
  white-space:nowrap;
  box-shadow: var(--shadow-glow-teal);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}
.tbm-dh-sections .tbm-dh-btn:hover{ background: var(--_bg-hover); transform: translateY(-2px); }
.tbm-dh-sections .tbm-dh-btn:focus-visible{ outline:2px solid var(--color-accent); outline-offset:3px; }
.tbm-dh-sections .tbm-dh-btn__icon{
  width:2.35rem; height:2.35rem;
  flex:none;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.22);
  transition: transform .4s var(--ease-spring), background var(--transition-fast);
}
.tbm-dh-sections .tbm-dh-btn__icon svg{ width:1rem; height:1rem; }
.tbm-dh-sections .tbm-dh-btn:hover .tbm-dh-btn__icon{ transform: translateX(2px) rotate(8deg); background: rgba(255,255,255,.32); }

.tbm-dh-sections .tbm-dh-btn--ghost{
  background: transparent;
  color: var(--color-primary);
  border-color: var(--gray-300);
  box-shadow:none;
  padding: .3rem .3rem .3rem 1.6rem;
}
.tbm-dh-sections .tbm-dh-btn--ghost .tbm-dh-btn__icon{ background: var(--gray-100); color:var(--color-primary); }
.tbm-dh-sections .tbm-dh-btn--ghost:hover{ border-color: var(--color-primary); }

.tbm-dh-sections .tbm-dh-btn--on-dark{
  background: var(--color-accent);
  color: var(--color-primary-dark);
  box-shadow: var(--shadow-glow-warm);
}
.tbm-dh-sections .tbm-dh-btn--on-dark .tbm-dh-btn__icon{ background: rgba(0,29,56,.16); }
.tbm-dh-sections .tbm-dh-btn--on-dark:hover{ background:#ffa383; }

.tbm-dh-sections .tbm-dh-btn--outline-on-dark{
  background: transparent;
  color: var(--text-on-dark);
  border-color: rgba(255,255,255,.35);
  box-shadow:none;
}
.tbm-dh-sections .tbm-dh-btn--outline-on-dark .tbm-dh-btn__icon{ background: rgba(255,255,255,.14); }
.tbm-dh-sections .tbm-dh-btn--outline-on-dark:hover{ background: rgba(255,255,255,.08); }

.tbm-dh-sections .tbm-dh-textlink{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-family: var(--tbm-dh-font-body);
  font-size: var(--fs-sm);
  font-weight:700;
  color: var(--color-secondary-dark);
  padding-bottom:2px;
  border-bottom:1.5px solid transparent;
  transition: border-color var(--transition-fast), color var(--transition-fast), gap var(--transition-fast);
}
.tbm-dh-sections .tbm-dh-textlink:hover{ border-color: currentColor; gap:.6rem; }
.tbm-dh-sections .tbm-dh-textlink svg{ width:.85rem; height:.85rem; flex:none; }
.tbm-dh-sections .tbm-dh-textlink--on-dark{ color: var(--color-secondary-light); }

.tbm-dh-sections [data-tbm-dh-reveal]{
  opacity:0;
  transform: translateY(22px);
  transition: opacity .7s var(--ease-spring), transform .7s var(--ease-spring);
}
.tbm-dh-sections [data-tbm-dh-reveal].tbm-dh-is-visible{
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion: reduce){
  .tbm-dh-sections [data-tbm-dh-reveal]{ opacity:1; transform:none; transition:none; }
}

.tbm-dh-panel-float{
  position:relative;
  z-index:2;
  box-shadow: 0 -30px 60px -20px rgba(0,29,56,.18);
}
.tbm-dh-panel-float::before{
  content:"";
  position:absolute;
  top:0; left:8%; right:8%;
  height:3px;
  border-radius: var(--radius-pill);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.75) 45%, rgba(255,255,255,.75) 55%, transparent);
  z-index:1;
}

.tbm-dh-process{
  position:relative;
  padding: var(--tbm-dh-py) 0 calc(var(--tbm-dh-py));
  background:
    radial-gradient(60rem 30rem at 85% -10%, rgba(0,156,166,.07), transparent 60%),
    radial-gradient(50rem 26rem at 8% 110%, rgba(255,143,107,.06), transparent 60%),
    var(--bg-body);
}

.tbm-dh-process__pulse-wrap{
  position:relative;
  width:100%;
  height: clamp(60px, 9vw, 84px);
  margin: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(2.75rem, 5vw, 4rem);
  overflow:hidden;
  border-radius: var(--radius-lg);
  background-color: var(--gray-50);
  border: 1px solid var(--gray-200);
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,.7);
  background-image:
    repeating-linear-gradient(90deg, rgba(0,48,87,.05) 0 1px, transparent 1px 40px),
    repeating-linear-gradient(0deg, rgba(0,48,87,.05) 0 1px, transparent 1px 40px);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 3%, #000 97%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 3%, #000 97%, transparent 100%);
}
.tbm-dh-process__pulse-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.tbm-dh-process__pulse-line{
  fill:none;
  stroke: url(#tbm-dh-pulse-gradient);
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.85;
  filter: drop-shadow(0 1px 2px rgba(0,48,87,.12));
}
.tbm-dh-process__pulse-dot{
  fill: var(--color-accent);
  filter: drop-shadow(0 0 7px rgba(255,143,107,.9));
  offset-path: path("M0,40 L18,40 C24,40 30,28 36,28 C42,28 48,40 54,40 L70,40 L76,46 L86,6 L96,54 L106,40 L124,40 C134,40 142,24 156,24 C164,24 178,40 188,40 L278,40 C284,40 290,28 296,28 C302,28 308,40 314,40 L330,40 L336,46 L346,6 L356,54 L366,40 L384,40 C394,40 402,24 416,24 C424,24 438,40 448,40 L538,40 C544,40 550,28 556,28 C562,28 568,40 574,40 L590,40 L596,46 L606,6 L616,54 L626,40 L644,40 C654,40 662,24 676,24 C684,24 698,40 708,40 L798,40 C804,40 810,28 816,28 C822,28 828,40 834,40 L850,40 L856,46 L866,6 L876,54 L886,40 L904,40 C914,40 922,24 936,24 C944,24 958,40 968,40 L1058,40 C1064,40 1070,28 1076,28 C1082,28 1088,40 1094,40 L1110,40 L1116,46 L1126,6 L1136,54 L1146,40 L1164,40 C1174,40 1182,24 1196,24 C1204,24 1218,40 1228,40 L1318,40 C1324,40 1330,28 1336,28 C1342,28 1348,40 1354,40 L1370,40 L1376,46 L1386,6 L1396,54 L1406,40 L1424,40 C1434,40 1442,24 1456,24 C1464,24 1478,40 1488,40 L1578,40 C1584,40 1590,28 1596,28 C1602,28 1608,40 1614,40 L1630,40 L1636,46 L1646,6 L1656,54 L1666,40 L1684,40 C1694,40 1702,24 1716,24 C1724,24 1738,40 1748,40 L1838,40 C1844,40 1850,28 1856,28 C1862,28 1868,40 1874,40 L1890,40 L1896,46 L1906,6 L1916,54 L1926,40 L1944,40 C1954,40 1962,24 1976,24 C1984,24 1998,40 2008,40 L2080,40");
  animation: tbm-dh-pulse-run 10s linear infinite;
}
@keyframes tbm-dh-pulse-run{
  0%{ offset-distance:0%; }
  100%{ offset-distance:100%; }
}
@media (prefers-reduced-motion: reduce){
  .tbm-dh-process__pulse-dot{ animation:none; offset-distance:35%; }
}
@media (max-width: 700px){
  .tbm-dh-process__pulse-wrap{
    height: 52px;
    border-radius: var(--radius-md);
    background-image:
      repeating-linear-gradient(90deg, rgba(0,48,87,.045) 0 1px, transparent 1px 24px),
      repeating-linear-gradient(0deg, rgba(0,48,87,.045) 0 1px, transparent 1px 24px);
  }
}

.tbm-dh-process__steps{
  margin: 1.25rem 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap: 1.35rem;
  counter-reset: tbm-dh-step;
}
@media (max-width: 1180px){
  .tbm-dh-process__steps{ grid-template-columns:repeat(3, 1fr); gap:1.5rem; }
}
.tbm-dh-process__step{
  counter-increment: tbm-dh-step;
  position:relative;
  background: var(--bg-body);
  border: var(--border-hairline);
  border-radius: var(--radius-lg);
  padding: 2.6rem 1.4rem 1.7rem;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);
}
.tbm-dh-process__step:hover{
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
  border-color: var(--glass-border);
}
.tbm-dh-process__step:hover::before{
  transform: scale(1.08);
}
.tbm-dh-process__step::before{
  content: counter(tbm-dh-step, decimal-leading-zero);
  position:absolute;
  top:-1.1rem;
  left:1.4rem;
  width: 2.7rem;
  height: 2.7rem;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family: var(--tbm-dh-font-display);
  font-size: 1.02rem;
  font-weight:700;
  color:#fff;
  background: linear-gradient(135deg, var(--color-secondary), var(--color-secondary-dark));
  border: 3px solid var(--bg-body);
  border-radius:50%;
  box-shadow: var(--shadow-glow-teal);
  transition: transform var(--transition-fast);
}
.tbm-dh-process__step-title{
  font-family: var(--tbm-dh-font-display);
  font-size: 1.08rem;
  font-weight:600;
  line-height:1.3;
  color: var(--color-primary);
  margin:0 0 .5rem;
}
.tbm-dh-process__step-text{
  font-size: var(--fs-sm);
  color: var(--text-secondary);
  line-height:1.6;
  margin:0;
}

.tbm-dh-stats{
  position:relative;
  padding: calc(var(--tbm-dh-py-sm) + var(--tbm-dh-overlap) + .75rem) 0 calc(var(--tbm-dh-py-sm) + var(--tbm-dh-overlap));
  background: linear-gradient(155deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  color: var(--text-on-dark);
  overflow:hidden;
}
.tbm-dh-stats::before{
  content:"";
  position:absolute;
  inset:-20% -10% auto auto;
  width:34rem; height:34rem;
  background: radial-gradient(circle, rgba(0,156,166,.35), transparent 70%);
  filter: blur(10px);
  pointer-events:none;
}
.tbm-dh-stats::after{
  content:"";
  position:absolute;
  inset: auto auto -15% -8%;
  width:26rem; height:26rem;
  background: radial-gradient(circle, rgba(255,143,107,.18), transparent 70%);
  filter: blur(10px);
  pointer-events:none;
}
.tbm-dh-stats__grid{
  position:relative;
  margin:0; padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
  gap: 1.5rem;
}
.tbm-dh-stats__item{
  position:relative;
  text-align:left;
  padding: 1.8rem 1.6rem 1.7rem;
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  overflow:hidden;
  transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}
.tbm-dh-stats__item::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background: linear-gradient(90deg, var(--color-secondary), var(--color-accent));
  transform: scaleX(0);
  transform-origin:left;
  transition: transform .45s var(--ease-spring);
}
.tbm-dh-stats__item:hover{
  background: rgba(255,255,255,.08);
  border-color: rgba(0,156,166,.4);
  transform: translateY(-4px);
}
.tbm-dh-stats__item:hover::before{ transform:scaleX(1); }
.tbm-dh-stats__icon{
  width: 2.6rem; height: 2.6rem;
  border-radius:50%;
  background: rgba(0,156,166,.18);
  color: var(--color-secondary-light);
  display:flex; align-items:center; justify-content:center;
  margin-bottom: 1.2rem;
}
.tbm-dh-stats__icon svg{ width:1.2rem; height:1.2rem; }
.tbm-dh-stats__num{
  font-family: var(--tbm-dh-font-display);
  font-size: clamp(2rem, 3.4vw, 2.75rem);
  font-weight:700;
  line-height:1;
  color: var(--text-on-dark);
  display:flex;
  align-items:baseline;
  gap:.15rem;
  margin:0;
}
.tbm-dh-stats__num span.tbm-dh-suffix{
  font-size: 1.25rem;
  color: var(--color-secondary-light);
  font-weight:600;
}
.tbm-dh-stats__label{
  margin:.6rem 0 0;
  font-size: var(--fs-base);
  color: var(--text-on-dark-70);
  line-height:1.5;
}
.tbm-dh-stats__head{
  max-width:38rem;
  margin-bottom: 3rem;
}
.tbm-dh-stats .tbm-dh-eyebrow{ color: var(--color-secondary-light); }
.tbm-dh-stats .tbm-dh-eyebrow::before{ background: var(--text-on-dark); }
.tbm-dh-stats .tbm-dh-heading{ color: var(--text-on-dark); }
.tbm-dh-stats .tbm-dh-lead-text{ color: var(--text-on-dark-70); }

.tbm-dh-gallery{
  position:relative;
  padding: calc(var(--tbm-dh-py) + var(--tbm-dh-overlap)) 0 var(--tbm-dh-py);
  background: var(--gray-50);
}
.tbm-dh-gallery__filters{
  position:relative;
  display:flex;
  gap:.15rem;
  padding:.35rem;
  margin: 0 0 2.5rem;
  background:#fff;
  border:1px solid var(--gray-200);
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-sm);
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.tbm-dh-gallery__filters::-webkit-scrollbar{ display:none; }
.tbm-dh-gallery__filters li{ flex:none; }
.tbm-dh-gallery__filter-indicator{
  position:absolute;
  top:.35rem; bottom:.35rem; left:.35rem;
  width:0;
  border-radius: var(--radius-pill);
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
  box-shadow: var(--shadow-glow-teal);
  transition: transform .45s var(--ease-spring), width .45s var(--ease-spring);
  z-index:0;
}
.tbm-dh-gallery__filter-btn{
  position:relative;
  z-index:1;
  font-family: var(--tbm-dh-font-body);
  font-size: var(--fs-sm);
  font-weight:600;
  padding:.65rem 1.35rem;
  border-radius: var(--radius-pill);
  border: none;
  background: transparent;
  color: var(--text-secondary);
  cursor:pointer;
  white-space:nowrap;
  transition: color var(--transition-fast);
}
.tbm-dh-gallery__filter-btn:focus-visible{ outline:2px solid var(--color-secondary); outline-offset:2px; }
.tbm-dh-gallery__filter-btn[aria-pressed="true"]{ color:#fff; }

@media (max-width: 480px){
  .tbm-dh-gallery__filters{ gap:.1rem; padding:.3rem; }
  .tbm-dh-gallery__filter-btn{ padding:.55rem 1.05rem; font-size: var(--fs-xs); }
}

.tbm-dh-gallery__grid{
  position:relative;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 8.25rem;
  grid-auto-flow: dense;
  gap: 1.1rem;
}
.tbm-dh-gallery__grid figure{
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius: var(--radius-lg);
  cursor:zoom-in;
  background: var(--gray-200);
  box-shadow: var(--shadow-md);
  isolation:isolate;
  transition: box-shadow .4s var(--ease-spring), transform .4s var(--ease-spring), opacity .3s var(--ease);
}
.tbm-dh-gallery__grid figure:nth-child(1){ grid-column: span 2; grid-row: span 3; }
.tbm-dh-gallery__grid figure:nth-child(2){ grid-column: span 2; grid-row: span 2; }
.tbm-dh-gallery__grid figure:nth-child(3){ grid-column: span 1; grid-row: span 2; }
.tbm-dh-gallery__grid figure:nth-child(4){ grid-column: span 1; grid-row: span 2; }
.tbm-dh-gallery__grid figure:nth-child(5){ grid-column: span 2; grid-row: span 2; }
.tbm-dh-gallery__grid figure:nth-child(6){ grid-column: span 2; grid-row: span 2; }
.tbm-dh-gallery__grid figure:nth-child(7){ grid-column: span 4; grid-row: span 2; }

.tbm-dh-gallery__grid figure.tbm-dh-is-filtered-out{
  opacity:0;
  transform: scale(.92);
  pointer-events:none;
  position:absolute;
  visibility:hidden;
}
.tbm-dh-gallery__grid figure::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(200deg, transparent 50%, rgba(0,29,56,.55) 100%);
  opacity:.5;
  transition: opacity var(--transition-fast);
  pointer-events:none;
}
.tbm-dh-gallery__grid figure:hover{ box-shadow: var(--shadow-xl); transform: translateY(-5px); z-index:2; }
.tbm-dh-gallery__grid figure:hover::after{ opacity:.72; }
.tbm-dh-gallery__grid img{
  width:100%; height:100%;
  object-fit:cover;
  transition: transform .7s var(--ease-spring), filter .5s var(--ease);
}
.tbm-dh-gallery__grid figure:hover img{ transform: scale(1.07); filter: brightness(.9); }

.tbm-dh-gallery__tag{
  position:absolute; top:.85rem; left:.85rem;
  z-index:1;
  display:inline-flex;
  align-items:center;
  padding:.3rem .7rem;
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(6px);
  color: var(--color-primary);
  font-size: var(--fs-2xs);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.tbm-dh-gallery__grid figure:hover .tbm-dh-gallery__tag{ background: var(--color-secondary); color:#fff; }

.tbm-dh-gallery__caption{
  position:absolute; inset:auto 0 0 0;
  z-index:1;
  padding: 1.1rem 1.15rem;
  color:#fff;
  font-family: var(--tbm-dh-font-display);
  font-size: 1.02rem;
  font-weight:600;
  letter-spacing:-.005em;
  transform: translateY(6px);
  opacity:.92;
  transition: transform var(--transition-fast);
}
.tbm-dh-gallery__grid figure:hover .tbm-dh-gallery__caption{ transform:none; opacity:1; }
.tbm-dh-gallery__zoom-icon{
  position:absolute; top:.85rem; right:.85rem;
  z-index:1;
  width:2.15rem; height:2.15rem;
  border-radius:50%;
  background: rgba(255,255,255,.92);
  color: var(--color-primary);
  display:flex; align-items:center; justify-content:center;
  opacity:0;
  transform: scale(.75) rotate(-8deg);
  transition: all var(--transition-fast);
}
.tbm-dh-gallery__grid figure:hover .tbm-dh-gallery__zoom-icon{ opacity:1; transform:none; }
.tbm-dh-gallery__zoom-icon svg{ width:1rem; height:1rem; }

.tbm-dh-gallery__lightbox{
  position:fixed;
  inset:0;
  margin:auto;
  border:none;
  border-radius: var(--radius-lg);
  padding:0;
  max-width:min(90vw, 60rem);
  max-height:85vh;
  width:min(90vw, 60rem);
  height:fit-content;
  box-shadow: var(--shadow-xl);
  overflow:hidden;
  opacity:0;
  transform: scale(.94) translateY(10px);
  transition: opacity .28s var(--ease-spring), transform .28s var(--ease-spring), overlay .28s allow-discrete, display .28s allow-discrete;
}
.tbm-dh-gallery__lightbox[open]{
  opacity:1;
  transform: scale(1) translateY(0);
}
@starting-style{
  .tbm-dh-gallery__lightbox[open]{
    opacity:0;
    transform: scale(.94) translateY(10px);
  }
}
.tbm-dh-gallery__lightbox::backdrop{
  background: rgba(0,29,56,.72);
  backdrop-filter: blur(4px);
  opacity:0;
  transition: opacity .28s var(--ease);
}
.tbm-dh-gallery__lightbox[open]::backdrop{ opacity:1; }
@media (prefers-reduced-motion: reduce){
  .tbm-dh-gallery__lightbox{ transition:none; transform:none; }
}
.tbm-dh-gallery__lightbox-inner{ position:relative; background:#000; line-height:0; }
.tbm-dh-gallery__lightbox img{ width:100%; max-height:80vh; object-fit:contain; background:#000; }
.tbm-dh-gallery__lightbox-close{
  position:absolute; top:.75rem; right:.75rem;
  width:2.5rem; height:2.5rem;
  border-radius:50%;
  border:none;
  background: rgba(255,255,255,.92);
  color: var(--color-primary);
  font-size:1.25rem;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition: background var(--transition-fast);
}
.tbm-dh-gallery__lightbox-close:hover{ background:#fff; }

@media (max-width: 900px){
  .tbm-dh-gallery__grid{ grid-template-columns: repeat(2, 1fr); grid-auto-rows: 9rem; gap:.9rem; }
  .tbm-dh-gallery__grid figure:nth-child(7){ grid-column: span 2; }
}
@media (max-width: 480px){
  .tbm-dh-gallery__grid{ grid-template-columns: 1fr; grid-auto-rows: 13rem; }
  .tbm-dh-gallery__grid figure{ grid-column: span 1 !important; grid-row: span 1 !important; }
}

.tbm-dh-team{
  padding: var(--tbm-dh-py) 0;
  background: var(--bg-body);
  position:relative;
}
.tbm-dh-team__grid {
  display: flex;
  justify-content: center; /* yatay ortalama */
  align-items: center;     /* dikey ortalama */
}
.tbm-dh-team__card{
  max-width: 500px;
  position:relative;
  border-radius: var(--radius-lg);
  overflow:hidden;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}
.tbm-dh-team__card:hover{ box-shadow: var(--shadow-xl); transform: translateY(-6px); }

.tbm-dh-team__card-link{
  display:block;
  color:inherit;
}
.tbm-dh-team__card-link:focus-visible{
  outline:2px solid var(--color-secondary);
  outline-offset:-2px;
}

.tbm-dh-team__photo-wrap{ aspect-ratio: 3/4; overflow:hidden; position:relative; }
.tbm-dh-team__photo-wrap img{ width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ease-spring); }
.tbm-dh-team__card:hover .tbm-dh-team__photo-wrap img{ transform: scale(1.06); }

.tbm-dh-team__scrim{
  position:absolute; inset:0;
  background: linear-gradient(0deg, rgba(0,29,56,.92) 0%, rgba(0,29,56,.5) 38%, transparent 68%);
  transition: opacity var(--transition-fast);
}
.tbm-dh-team__card:hover .tbm-dh-team__scrim{ opacity:1; }

.tbm-dh-team__insta{
  position:absolute;
  right:.9rem; top:.9rem;
  width:2.35rem; height:2.35rem;
  border-radius:50%;
  background: rgba(255,255,255,.92);
  color: var(--color-primary);
  display:flex; align-items:center; justify-content:center;
  z-index:4;
  opacity:0;
  transform: translateY(-6px);
  transition: all var(--transition-fast);
}
.tbm-dh-team__card:hover .tbm-dh-team__insta{ opacity:1; transform:none; }
.tbm-dh-team__insta:hover{ background: var(--color-secondary); color:#fff; }
.tbm-dh-team__insta:focus-visible{ opacity:1; transform:none; outline:2px solid #fff; outline-offset:2px; }
.tbm-dh-team__insta svg{ width:1.05rem; height:1.05rem; }

.tbm-dh-team__body{
  position:absolute; inset:auto 0 0 0;
  padding: 1.5rem 1.5rem 1.6rem;
  color:#fff;
  transition: transform var(--transition-fast);
}
.tbm-dh-team__card:hover .tbm-dh-team__body{ transform: translateY(-3px); }
.tbm-dh-team__name{
  font-family: var(--tbm-dh-font-display);
  font-size:1.32rem;
  font-weight:600;
  line-height:1.22;
  color:#fff;
  margin:0 0 .55rem;
}
.tbm-dh-team__clinic{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size: var(--fs-2xs);
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color: var(--color-secondary-light);
  margin:0;
}
.tbm-dh-team__clinic::before{
  content:"";
  width:.4rem; height:.4rem;
  border-radius:50%;
  background: var(--color-accent);
  display:inline-block;
  flex:none;
}

.tbm-dh-faq{
  padding: var(--tbm-dh-py) 0;
  background: var(--gray-50);
}
.tbm-dh-faq__layout{
  display:grid;
  grid-template-columns: minmax(0,22rem) minmax(0,1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items:start;
}
.tbm-dh-faq__aside-link{
  margin-top: 1.5rem;
}
.tbm-dh-faq__list{
  border-top: var(--border-hairline);
}
.tbm-dh-faq__item{
  border-bottom: var(--border-hairline);
  transition: background var(--transition-fast), border-radius var(--transition-fast), box-shadow var(--transition-fast);
  border-radius: var(--radius-md);
}
.tbm-dh-faq__item[open]{
  background: var(--bg-body);
  box-shadow: var(--shadow-sm);
  border-bottom-color: transparent;
  margin: .35rem 0;
}
.tbm-dh-faq__item > summary{
  cursor:pointer;
  padding: 1.35rem .25rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  font-family: var(--tbm-dh-font-body);
  font-weight:600;
  font-size: var(--fs-lg);
  color: var(--color-primary);
  transition: padding-inline var(--transition-fast);
}
.tbm-dh-faq__item[open] > summary{ padding-inline: 1.35rem; }
.tbm-dh-faq__item > summary::-webkit-details-marker{ display:none; }
.tbm-dh-faq__icon{
  flex:none;
  width: 1.6rem; height:1.6rem;
  border-radius:50%;
  border: 1px solid var(--gray-300);
  display:flex; align-items:center; justify-content:center;
  position:relative;
  transition: background var(--transition-fast), border-color var(--transition-fast);
}
.tbm-dh-faq__icon::before, .tbm-dh-faq__icon::after{
  content:"";
  position:absolute;
  background: var(--color-primary);
  transition: transform var(--transition-fast), background var(--transition-fast);
}
.tbm-dh-faq__icon::before{ width:.65rem; height:2px; }
.tbm-dh-faq__icon::after{ width:2px; height:.65rem; }
.tbm-dh-faq__item[open] .tbm-dh-faq__icon{ background: var(--color-secondary); border-color: var(--color-secondary); }
.tbm-dh-faq__item[open] .tbm-dh-faq__icon::before,
.tbm-dh-faq__item[open] .tbm-dh-faq__icon::after{ background:#fff; }
.tbm-dh-faq__item[open] .tbm-dh-faq__icon::after{ transform: rotate(90deg) scaleY(0); }

.tbm-dh-faq__answer{
  margin:0;
  padding: 0 1.6rem 1.5rem 1.35rem;
  color: var(--text-secondary);
  font-size: var(--fs-base);
  line-height:1.75;
  max-width:44rem;
}

@media (max-width: 860px){
  .tbm-dh-faq__layout{ grid-template-columns:1fr; }
}

.tbm-dh-cta{
  padding: calc(var(--tbm-dh-py-sm) + var(--tbm-dh-overlap) - 1.5rem) 0 var(--tbm-dh-py-sm);
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.09) 1px, transparent 0) 0 0/30px 30px,
    linear-gradient(120deg, var(--color-secondary-dark) 0%, var(--color-primary) 60%, var(--color-primary-dark) 100%);
}
.tbm-dh-cta::before{
  content:"";
  position:absolute;
  inset: auto auto -20% -8%;
  width:24rem; height:24rem;
  background: radial-gradient(circle, rgba(0,156,166,.28), transparent 70%);
  pointer-events:none;
}
.tbm-dh-cta::after{
  content:"";
  position:absolute;
  inset: -18% -6% auto auto;
  width:26rem; height:26rem;
  background: radial-gradient(circle, rgba(255,143,107,.32), transparent 70%);
  pointer-events:none;
}
.tbm-dh-cta__inner{ position:relative; }
.tbm-dh-cta__top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2.5rem;
  flex-wrap:wrap;
  padding-bottom: 2.25rem;
}
.tbm-dh-cta__text{ max-width:34rem; }
.tbm-dh-cta .tbm-dh-eyebrow{ color: var(--color-secondary-light); }
.tbm-dh-cta .tbm-dh-eyebrow::before{ background: var(--text-on-dark); }
.tbm-dh-cta__heading{
  font-family: var(--tbm-dh-font-display);
  font-size: clamp(1.9rem, 3.2vw, 2.7rem);
  font-weight:600;
  color: var(--text-on-dark);
  line-height:1.16;
  margin:0 0 .85rem;
}
.tbm-dh-cta__desc{
  color: var(--text-on-dark-70);
  font-size: var(--fs-lg);
  line-height:1.65;
  margin:0;
}
.tbm-dh-cta__actions{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  flex:none;
}
.tbm-dh-cta__trust{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.75rem;
  margin:0;
  padding-top: 2.25rem;
  border-top: 1px solid rgba(255,255,255,.16);
}
.tbm-dh-cta__trust li{ display:flex; align-items:center; gap:1rem;}
.tbm-dh-cta__trust-icon{
  flex:none;
  width:2.75rem; height:2.75rem;
  border-radius:50%;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  display:flex; align-items:center; justify-content:center;
  color: var(--color-secondary-light);
}
.tbm-dh-cta__trust-icon svg{ width:1.15rem; height:1.15rem; }
.tbm-dh-cta__trust-text{ display:flex; flex-direction:column; gap:.15rem; }
.tbm-dh-cta__trust-text strong{
  font-size: var(--fs-base);
  font-weight:700;
  color: var(--text-on-dark);
}
.tbm-dh-cta__trust-text span{
  font-size: var(--fs-xs);
  color: var(--text-on-dark-70);
}

@media (max-width: 860px){
  .tbm-dh-team__grid{ grid-template-columns: 1fr; max-width:26rem; margin-inline:auto; }
}
@media (max-width: 700px){
  .tbm-dh-process__steps{ grid-template-columns:1fr; gap:1.75rem; }
  .tbm-dh-stats__grid{ grid-template-columns: repeat(2,1fr); }
  .tbm-dh-cta__top{ flex-direction:column; align-items:flex-start; }
  .tbm-dh-cta__actions{ width:100%; }
  .tbm-dh-cta__actions .tbm-dh-btn{ flex:1 1 auto; justify-content: space-between; }
  .tbm-dh-cta__trust{ grid-template-columns:1fr; gap:1.25rem; }
  .tbm-dh-panel-float{ border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
}