
/* ==========================================================
   Forbayt — responsive.css
   ========================================================== */

/* ---------- Large laptop ---------- */
@media (max-width: 1279.98px) {
  .fb-studio__meta { grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .fb-services__wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 0.5fr); }
}

/* ---------- Tablet ---------- */
@media (max-width: 991.98px) {
  :root { --section-pad-y: clamp(80px, 12vw, 130px); --nav-h: 68px; }

  /* Menü gizliyken logo'dan sonraki ayırıcı çizgiyi kaldır */
  .fb-nav__brand { border-right: none !important; margin-right: 0 !important; padding-right: 6px; }
  .fb-nav__pill--left { padding-right: 10px; }

  .fb-studio { min-height: 92vh; }
  .fb-studio__title { font-size: clamp(44px, 12vw, 110px); }
  .fb-studio__meta { grid-template-columns: 1fr 1fr; }
  .fb-studio__meta-item:nth-child(3) { grid-column: 1 / -1; }
  .fb-studio__scroll { display: none; }

  .fb-section-title { font-size: clamp(36px, 8vw, 72px); }
  .fb-section-head--split { flex-direction: column; align-items: flex-start; }

  /* Services: preview below list */
  .fb-services__wrap {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .fb-services__preview {
    position: relative; top: auto;
    aspect-ratio: 4 / 3;
    order: 2;
  }

  .fb-work__grid { gap: 24px; }
  .fb-case, .fb-case--lg { grid-column: span 12; }
  .fb-case__media, .fb-case--lg .fb-case__media { aspect-ratio: 16 / 10; }

  .fb-why__grid { grid-template-columns: repeat(2, 1fr); }

  .fb-step {
    grid-template-columns: 80px 1fr;
    gap: 20px;
  }
  .fb-step__week { grid-column: 2; padding-top: 0; }

  .fb-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  .fb-footer__col--brand { grid-column: 1 / -1; }
}

/* ---------- Mobile ---------- */
@media (max-width: 639.98px) {
  :root {
    --container-pad: 20px;
    --section-pad-y: 80px;
  }

  .fb-nav__brand { font-size: 17px; }
  .fb-nav__toggle { width: 40px; height: 40px; }

  .fb-studio {
    padding-top: calc(var(--nav-h) + 8px);
  }
  .fb-studio__canvas { opacity: 0.7; }
  .fb-studio__eyebrow { font-size: 10.5px; flex-wrap: wrap; }
  .fb-studio__eyebrow-year { display: none; }
  .fb-studio__title {
    font-size: clamp(40px, 13.5vw, 76px);
    margin-top: 24px;
  }
  .fb-studio__lede { font-size: 15px; }
  .fb-studio__cta { flex-direction: column; align-items: stretch; }
  .fb-studio__cta .fb-btn { justify-content: center; }
  .fb-studio__meta { grid-template-columns: 1fr; gap: 16px; }
  .fb-studio__meta-item:nth-child(3) { grid-column: auto; }

  .fb-section-title { font-size: clamp(32px, 9vw, 56px); }

  .fb-manifesto { padding: 48px 0; }
  .fb-marquee__track span { font-size: clamp(40px, 13vw, 72px); }
  .fb-marquee__dot { width: 7px; height: 7px; }

  .fb-intro__text { font-size: 20px; }

  .fb-service {
    grid-template-columns: 44px 1fr;
    gap: 16px;
    padding: 22px 0;
  }
  .fb-service__title { font-size: clamp(22px, 6vw, 30px); }
  .fb-service__desc { grid-column: 1 / -1; font-size: 14px; }
  .fb-service__tags { grid-column: 1 / -1; }

  .fb-why__grid { grid-template-columns: 1fr; }
  .fb-stat { min-height: 200px; }

  .fb-step {
    grid-template-columns: 56px 1fr;
    gap: 16px;
  }
  .fb-step__num { font-size: 28px; }
  .fb-step__body h3 { font-size: 20px; }

  .fb-tech__marquee .fb-marquee__track span { font-size: 30px; }

  .fb-testi { padding: 28px 22px; min-height: auto; }
  .fb-testi blockquote { font-size: 18px; }
  .fb-testi-swiper__nav { gap: 14px; flex-wrap: wrap; }

  .fb-cta__title { font-size: clamp(40px, 11vw, 64px); }
  .fb-cta__form {
    flex-direction: column;
    border-radius: var(--radius-md);
    padding: 10px;
    gap: 10px;
  }
  .fb-cta__form input { width: 100%; padding: 12px 14px; }
  .fb-cta__form .fb-btn { width: 100%; justify-content: center; }

  .fb-footer__grid { grid-template-columns: 1fr; gap: 28px; }
  .fb-footer__col--brand { grid-column: auto; }
  .fb-footer__lockup { font-size: 38vw; }
  .fb-footer__bottom { font-size: 10.5px; }
}

/* =============================================================
   PATTERN-SPECIFIC RESPONSIVE
   ============================================================= */

/* --- Bento (tablet + mobile) --- */
@media (max-width: 991.98px) {
  .fb-bento__grid { grid-auto-rows: clamp(140px, 22vw, 200px); }
  .fb-bento__item--a { grid-column: span 12; grid-row: span 2; }
  .fb-bento__item--b { grid-column: span 6; grid-row: span 2; }
  .fb-bento__item--c { grid-column: span 6; grid-row: span 2; }
  .fb-bento__item--d { grid-column: span 6; grid-row: span 2; }
  .fb-bento__item--e { grid-column: span 6; grid-row: span 2; }
  .fb-bento__item--f { grid-column: span 12; grid-row: span 2; }
}
@media (max-width: 639.98px) {
  .fb-bento__grid {
    grid-template-columns: 1fr;
    grid-auto-rows: clamp(180px, 60vw, 280px);
    gap: 16px;
  }
  .fb-bento__item,
  .fb-bento__item--a,
  .fb-bento__item--b,
  .fb-bento__item--c,
  .fb-bento__item--d,
  .fb-bento__item--e,
  .fb-bento__item--f {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

/* --- Horizontal gallery fallback (mobile) --- */
.fb-hscroll.fb-hscroll--fallback {
  height: auto;
  overflow: visible;
  padding: var(--section-pad-y) 0;
}
.fb-hscroll.fb-hscroll--fallback .fb-hscroll__pin { height: auto; }
.fb-hscroll.fb-hscroll--fallback .fb-hscroll__track {
  flex-direction: column;
  width: 100%;
  gap: 40px;
  padding: 0 var(--container-pad);
}
.fb-hscroll.fb-hscroll--fallback .fb-hscroll__intro,
.fb-hscroll.fb-hscroll--fallback .fb-hcard,
.fb-hscroll.fb-hscroll--fallback .fb-hscroll__outro {
  flex: 0 0 auto;
  width: 100%;
  padding: 0;
}
.fb-hscroll.fb-hscroll--fallback .fb-hcard__media {
  aspect-ratio: 4 / 3;
}
.fb-hscroll.fb-hscroll--fallback .fb-hscroll__progress { display: none; }

@media (max-width: 991.98px) {
  .fb-hscroll__track { padding: 0 clamp(20px, 4vw, 40px); gap: 20px; }
  .fb-hcard { flex-basis: clamp(280px, 60vw, 380px); }
  .fb-hscroll__intro { flex-basis: clamp(280px, 56vw, 420px); }
  .fb-hscroll__outro { flex-basis: clamp(280px, 58vw, 400px); }
}

/* --- Pinned panels (mobile: daha sıkışık, pin hâlâ aktif ama tipografi küçülür) --- */
@media (max-width: 991.98px) {
  .fb-panel__inner { grid-template-columns: auto 1fr; }
  .fb-panel__p { grid-column: 1 / -1; max-width: none; margin-top: 20px; }
}
@media (max-width: 639.98px) {
  .fb-panel__inner {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .fb-panel__no { font-size: 72px; }
  .fb-panel__h { font-size: clamp(44px, 14vw, 80px); }
  .fb-panel__week { margin-top: 20px; }
}

/* --- Flip carousel (absolute stacked layout — responsive) --- */
@media (max-width: 991.98px) {
  .fb-flip__card[data-pos="-2"],
  .fb-flip__card[data-pos="2"] {
    opacity: 0;
    transform: translate3d(-50%, 60px, 0) scale(0.6);
    pointer-events: none;
  }
  .fb-flip__card[data-pos="-1"] {
    transform: translate3d(calc(-50% - 38%), 22px, 0) scale(0.8);
  }
  .fb-flip__card[data-pos="1"] {
    transform: translate3d(calc(-50% + 38%), 22px, 0) scale(0.8);
  }
}
@media (max-width: 639.98px) {
  .fb-flip__stage { height: clamp(380px, 100vw, 480px); }
  .fb-flip__card { width: 94%; padding: 24px; }
  .fb-flip__card[data-pos="-1"],
  .fb-flip__card[data-pos="1"] {
    opacity: 0;
    transform: translate3d(-50%, 40px, 0) scale(0.6);
    pointer-events: none;
  }
  .fb-flip__card blockquote p,
  .fb-flip__card[data-pos="0"] blockquote p { font-size: 18px; line-height: 1.35; }
}

/* --- Trust badges (responsive) --- */
@media (max-width: 991.98px) {
  .fb-badges__list { grid-template-columns: repeat(2, 1fr); }
  .fb-badge { border-right: none; border-bottom: 1px solid var(--line); }
  .fb-badge:nth-child(2n) { border-right: none; }
  .fb-badge:nth-child(odd) { border-right: 1px solid var(--line); }
  .fb-badge:nth-last-child(-n+2) { border-bottom: none; }
  .fb-badge:nth-last-child(2):nth-child(odd) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 479.98px) {
  .fb-badges__list { grid-template-columns: 1fr; }
  .fb-badge { border-right: none !important; border-bottom: 1px solid var(--line) !important; }
  .fb-badge:last-child { border-bottom: none !important; }
}

/* --- Activity bar (responsive) --- */
@media (max-width: 991.98px) {
  .fb-activity__bar { grid-template-columns: 1fr; gap: 18px; }
  .fb-activity__list { grid-template-columns: 1fr; gap: 12px; }
  .fb-activity__item { border-right: 0; border-bottom: 1px solid var(--line); padding: 0 0 12px 0; padding-right: 0; }
  .fb-activity__item:last-child { border-bottom: 0; padding-bottom: 0; }
}

/* --- Guarantees cards (responsive) --- */
@media (max-width: 991.98px) {
  .fb-guarantees__grid { grid-template-columns: 1fr; max-width: 520px; margin-left: auto; margin-right: auto; }
}

/* --- Founder message (responsive) --- */
@media (max-width: 767.98px) {
  .fb-founder__grid { grid-template-columns: 1fr; gap: 32px; }
  .fb-founder__photo { max-width: 200px; }
  .fb-founder__meta { flex-direction: column; align-items: flex-start; }
}

/* --- Social proof strip (responsive) --- */
@media (max-width: 991.98px) {
  .fb-proof__list { grid-template-columns: repeat(2, 1fr); }
  .fb-proof__item:nth-child(2n) { border-right: 0; }
  .fb-proof__item:nth-child(-n+2) { border-bottom: 1px solid var(--line); padding-bottom: 18px; }
  .fb-proof__item:nth-child(n+3) { padding-top: 18px; }
}
@media (max-width: 479.98px) {
  .fb-proof__list { grid-template-columns: 1fr; }
  .fb-proof__item { border-right: 0; border-bottom: 1px solid var(--line); padding: 14px 0; }
  .fb-proof__item:last-child { border-bottom: 0; }
}

/* --- Legal pages & 404 (responsive) --- */
@media (max-width: 991.98px) {
  .fb-legal__wrap { grid-template-columns: 1fr; gap: 32px; }
  .fb-legal__toc { position: static; }
  .fb-404__links ul { grid-template-columns: 1fr; }
}

/* --- Sub-pages (about/services/projects/project-detail/contact) --- */
@media (max-width: 991.98px) {
  .fb-page-hero { min-height: 520px; padding-top: 120px; }
  .fb-page-hero__meta { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .fb-values__grid { grid-template-columns: repeat(2, 1fr); }
  .fb-svc-cards { grid-template-columns: 1fr; }
  .fb-milestone { grid-template-columns: 1fr; gap: 8px; padding: 20px 0; }
  .fb-milestone__year { font-size: 32px; }

  .fb-projects__grid { gap: 24px; }
  .fb-project, .fb-project--lg { grid-column: span 12; }
  .fb-project__media, .fb-project--lg .fb-project__media { aspect-ratio: 16 / 10; }

  .fb-proj-hero__top { grid-template-columns: 1fr; gap: 24px; }
  .fb-proj-hero__meta-side { position: static; }
  .fb-proj-results__grid { grid-template-columns: repeat(2, 1fr); }
  .fb-proj-result:nth-child(2n) { border-right: 0; }
  .fb-proj-result:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .fb-proj-gallery__grid { grid-template-columns: 1fr; }
  .fb-proj-shot, .fb-proj-shot--lg { aspect-ratio: 16 / 10; grid-column: auto; }

  .fb-contact__grid { grid-template-columns: 1fr; }
}
@media (max-width: 639.98px) {
  .fb-values__grid { grid-template-columns: 1fr; }
  .fb-page-hero__title { font-size: clamp(36px, 10vw, 56px); }
  .fb-brief__row--2col { grid-template-columns: 1fr; }
  .fb-filter { width: 100%; overflow-x: auto; flex-wrap: nowrap; }
  .fb-filter__btn { white-space: nowrap; }
}

/* --- CTA meeting panel (responsive) --- */
@media (max-width: 767.98px) {
  .fb-cta__meeting { grid-template-columns: 1fr; }
  .fb-cta__tabs { flex-direction: column; width: 100%; border-radius: 18px; }
  .fb-cta__tab { width: 100%; justify-content: center; }
  .fb-cta__meeting-embed { min-height: 320px; }
}

/* --- Team strip (responsive) --- */
@media (max-width: 991.98px) {
  .fb-team__grid { grid-template-columns: repeat(3, 1fr); }
  .fb-member:nth-child(n+4) { display: none; }
}
@media (max-width: 639.98px) {
  .fb-team__grid { grid-template-columns: repeat(2, 1fr); }
  .fb-member:nth-child(n+3) { display: none; }
  .fb-team__intro { align-self: flex-start; }
}

/* --- Showreel (responsive) --- */
@media (max-width: 639.98px) {
  .fb-showreel__player { aspect-ratio: 4 / 5; }
  .fb-showreel__play { width: 72px; height: 72px; }
  .fb-showreel__play svg { width: 26px; height: 26px; }
  .fb-showreel__play-label { font-size: 9px; }
  .fb-showreel__title { font-size: 18px; }
  .fb-showreel-modal__close { top: -48px; }
}

/* --- Service detail page (responsive) --- */
@media (max-width: 991.98px) {
  .fb-svc-hero__top { grid-template-columns: 1fr; gap: 16px; }
  .fb-svc-hero__num { font-size: 64px; }
  .fb-svc-split { grid-template-columns: 1fr; gap: 24px; }
  .fb-svc-split__side { position: static; }
  .fb-svc-deliverables { grid-template-columns: 1fr; }
  .fb-svc-related { grid-template-columns: 1fr; }
}
@media (max-width: 639.98px) {
  .fb-svc-hero { padding-top: 100px; }
  .fb-svc-hero__title { font-size: 40px; }
  .fb-svc-hero__cta { flex-direction: column; align-items: stretch; }
  .fb-svc-hero__cta .fb-btn { justify-content: center; }
  .fb-svc-timeline li { padding-left: 56px; }
  .fb-svc-timeline li::before { font-size: 22px; }
}

/* --- Pricing plans (responsive) --- */
@media (max-width: 991.98px) {
  .fb-pricing__grid { grid-template-columns: 1fr; gap: 16px; max-width: 560px; margin-left: auto; margin-right: auto; }
  .fb-plan { padding: 28px; }
}
@media (max-width: 639.98px) {
  .fb-plan__price-amount { font-size: 36px; }
  .fb-plan__name { font-size: 24px; }
}

/* --- FAQ (responsive) --- */
@media (max-width: 639.98px) {
  .fb-faq__q {
    grid-template-columns: 36px 1fr 32px;
    gap: 12px;
    padding: 18px 4px;
  }
  .fb-faq__idx { font-size: 11px; }
  .fb-faq__question { font-size: 16px; }
  .fb-faq__a { padding: 0 4px 18px 52px; font-size: 14.5px; }
  .fb-faq__intro { font-size: 14px; }
}

/* --- Metric bar (responsive) --- */
@media (max-width: 991.98px) {
  .fb-metrics__grid { grid-template-columns: repeat(2, 1fr); }
  .fb-metric:nth-child(2n) { border-right: 0; }
  .fb-metric:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 639.98px) {
  .fb-metrics__grid { grid-template-columns: 1fr; }
  .fb-metric { border-right: 0; border-bottom: 1px solid var(--line); }
  .fb-metric:last-child { border-bottom: 0; }
  .fb-metric__num { font-size: 56px; }
}

/* --- Client logo strip (responsive) --- */
@media (max-width: 991.98px) {
  .fb-clients__head { grid-template-columns: 1fr; gap: 16px; }
  .fb-clients__grid { grid-template-columns: repeat(3, 1fr); }
  .fb-client:nth-child(5n) { border-right: 1px solid var(--line); }
  .fb-client:nth-child(3n) { border-right: 0; }
  .fb-client:nth-last-child(-n+5) { border-bottom: 1px solid var(--line); }
  .fb-client:nth-last-child(-n+3) { border-bottom: 0; }
}
@media (max-width: 639.98px) {
  .fb-clients__grid { grid-template-columns: repeat(2, 1fr); }
  .fb-client { height: 72px; }
  .fb-client:nth-child(3n) { border-right: 1px solid var(--line); }
  .fb-client:nth-child(2n) { border-right: 0; }
  .fb-client:nth-last-child(-n+3) { border-bottom: 1px solid var(--line); }
  .fb-client:nth-last-child(-n+2) { border-bottom: 0; }
}

/* --- Infinite loop band (mobile) --- */
@media (max-width: 639.98px) {
  .fb-loop__head { flex-direction: column; align-items: flex-start; gap: 14px; }
  .fb-loop__aside { text-align: left; }
  .fb-loop__line {
    font-size: clamp(32px, 12vw, 56px);
    height: clamp(70px, 18vw, 110px);
  }
}

/* --- Rolling text (mobile — boyut kontrollü) --- */
@media (max-width: 991.98px) {
  .fb-nav__link { padding: 8px 10px; }
}


/* ---------- Reduced motion ----------
   NOT: Tüm animasyonları 0.001ms'ye düşüren genel reset kaldırıldı.
   JS tarafında da `reduced = false` override'ı var — editorial entry
   animasyonlarının OS ayarından bağımsız çalışması için. */

/* ---------- Print ---------- */
@media print {
  .fb-nav, .fb-loader, .fb-cursor, .fb-studio__canvas,
  .fb-manifesto, .fb-tech, .fb-testi-swiper__nav { display: none !important; }
  body { background: #fff; color: #000; }
}
