/* FikirBaz launch-quality guard: stable motion, stable hover geometry and
 * readable mobile type. This file intentionally loads after page layers. */

/* Content must never depend on IntersectionObserver to become readable. */
[data-onon-reveal],
body.fbm-motion-enhanced .fbm-reveal,
body.fbm-motion-enhanced .fbm-reveal.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
  transition-delay: 0s !important;
}

body.onon-home :is(.onon-about,.onon-about-v4,.onon-services-index,.onon-services-v3,.onon-references,.onon-references-v9).is-ready :is(
  .onon-about__kicker,.onon-about__window,.onon-about__steps li,.onon-about__handoff,
  .onon-about-v4__motion,.onon-about-v4__signature,.onon-about-v4__engine li,.onon-about-v4__closing,
  .onon-services-index__intro>*,.onon-service-row,.onon-services-index__cta,
  .onon-services-v3__manifesto,.onon-services-v3__item,.onon-services-v3__cta,
  .onon-references__intro>*,.onon-reference-card,.onon-logo-card,.onon-references__marquee,.onon-references__cta
) {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
  transition-delay: 0s !important;
}

/* Hover changes color and depth, never the component's position or padding. */
@media (hover:hover) and (pointer:fine) {
  #onon-header :is(.oh-cta,.oh-mobile-cta):hover,
  body.onon-home :is(.onon-primary-cta,.onon-services-v3__cta,.onon-references-v9__cta):hover,
  body:not(.onon-home) .onon-inner :is(.fb-btn,.com5-btn,.seo5-btn,.fbp3-button,.onon-inner-cta__button,.seo5-final a,.com5-final a):hover,
  .onon-contact-form button:hover,
  .onon-service-detail__primary:hover,
  .ow5-actions a:hover,
  .fb-journal__cta>a:hover,
  .fbp-final__cta:hover {
    transform: none !important;
  }

  body.onon-home .onon-service-row:hover {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body:not(.onon-home) .onon-services-page .onon-services-index>a:hover {
    padding-left: 16px !important;
  }

  body:not(.onon-home) .onon-services-page .onon-services-card:hover {
    padding-inline: 20px !important;
  }

  :is(.fbw4-system__steps li,.fbw4-scope article,.fb-about-table__rows article,.gd3-process li,.onon-inner-method__steps li):hover {
    padding-inline: 0 !important;
  }

  .onon-legal-nav a:hover { padding-left: 0 !important; }
}

/* All normalized reference files use the same 300x192 transparent canvas. */
.fb-ref-logo-card>div {
  min-width: 0;
  padding: 6% !important;
}

.fb-ref-logo-card>div img,
.fb-ref-logo-card:hover>div img {
  display: block;
  width: min(100%,300px) !important;
  max-width: 300px !important;
  height: auto !important;
  aspect-ratio: 300 / 192;
  object-fit: contain;
  filter: none !important;
  transform: none !important;
}

body.onon-home .onon-references-v9__logo,
body.onon-home .onon-references-v9__logo.is-tall,
body.onon-home .onon-references-v9__logo.is-compact,
body.onon-home .onon-references-v9__logo:hover {
  height: 146px !important;
  min-height: 146px !important;
  max-height: 146px !important;
}

body.onon-home .onon-references-v9__logo img,
body.onon-home .onon-references-v9__logo:hover img {
  display: block;
  width: min(94%,220px) !important;
  max-width: 220px !important;
  height: 112px !important;
  max-height: 112px !important;
  object-fit: contain;
  transform: none !important;
}

.fb-ref-sector-index__select select:disabled {
  cursor: wait;
  opacity: .62;
}

/* Journal cover: one real editorial image per article. */
.fb-journal__cover {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: clamp(34px,5vw,64px) 0 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 26px;
  background: #121212;
}

.fb-journal__cover::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg,transparent 56%,rgba(0,0,0,.42));
  pointer-events: none;
}

.fb-journal__cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Dedicated 404 surface. */
.fb-404 {
  min-height: 100svh;
  padding: calc(var(--onon-header,92px) + clamp(64px,8vw,112px)) 24px 72px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #f2f0ec;
  background:
    radial-gradient(circle at 78% 28%,rgba(255,40,40,.18),transparent 31%),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    #0a0a0a;
  background-size: auto,72px 72px,72px 72px,auto;
}

.fb-404__inner { width: min(1120px,100%); }
.fb-404__code { margin: 0 0 24px; color: #ff2828; font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.fb-404 h1 { max-width: 900px; margin: 0; font-size: clamp(3.4rem,8vw,8rem); line-height: .88; letter-spacing: -.075em; }
.fb-404 h1 strong { display: block; color: #ff2828; }
.fb-404__lead { max-width: 640px; margin: 30px 0 0; color: #aaa5a0; font-size: clamp(1rem,1.45vw,1.25rem); line-height: 1.7; }
.fb-404__actions { margin-top: 42px; display: flex; flex-wrap: wrap; gap: 12px; }
.fb-404__actions a { min-height: 52px; padding: 0 20px; display: inline-flex; align-items: center; gap: 16px; border: 1px solid rgba(255,255,255,.18); border-radius: 15px; color: #f2f0ec; text-decoration: none; font-weight: 700; }
.fb-404__actions a:first-child { border-color: #ff2828; background: #ff2828; }
.fb-404__actions a:hover { border-color: #f2f0ec; background: #f2f0ec; color: #0a0a0a; }

@media (max-width:767px) {
  body.onon-home main p,
  body:not(.onon-home) .onon-inner p,
  .onon-blog-page .onon-blog-card__copy p {
    font-size: max(14px,1em) !important;
    line-height: 1.65 !important;
  }

  main :is([class*="label"],[class*="meta"],[class*="overline"],[class*="eyebrow"],[class*="kicker"]) {
    font-size: max(10px,1em) !important;
    line-height: 1.45 !important;
  }

  main :is(a,button,select) :is(small,span) {
    font-size: max(11px,1em);
  }

  body:not(.onon-home) .onon-inner :is(.onon-inner-kicker,.fb-ref-kicker,.fb-about-kicker,.com5-kicker,.seo5-kicker,.sm4-label,.fbp3-kicker,.gd3-label),
  body.onon-home main :is(small,[class*="eyebrow"],[class*="kicker"]) {
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  .onon-contact-form label,
  .onon-contact-form__consent,
  .fb-ref-sector-index__select,
  .fb-ref-sector-index__select>span:first-child {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  #onon-header :is(.oh-logo,.oh-toggle,.oh-icon,.oh-cta,.oh-mobile-cta),
  .onon-inner :is(button,select,.fb-btn,.com5-btn,.seo5-btn,.fbp3-button,.onon-inner-cta__button),
  .fb-ref-jump,
  .onon-contact-v2__mail {
    min-height: 44px;
  }

  .fb-ref-logo-card>div { padding: 4% !important; }
  body.onon-home .onon-references-v9__logo,
  body.onon-home .onon-references-v9__logo.is-tall,
  body.onon-home .onon-references-v9__logo.is-compact,
  body.onon-home .onon-references-v9__logo:hover {
    height: 132px !important;
    min-height: 132px !important;
    max-height: 132px !important;
  }

  .fb-journal__cover { border-radius: 18px; }
  .fb-404 { padding-inline: 18px; background-size: auto,44px 44px,44px 44px,auto; }
  .fb-404 h1 { font-size: clamp(3rem,16vw,5rem); }
  .fb-404__actions { flex-direction: column; }
  .fb-404__actions a { width: 100%; justify-content: space-between; }
}

@media (prefers-reduced-motion:reduce) {
  [data-onon-reveal], .fbm-reveal { animation: none !important; transition: none !important; }
}

/* 1.4.14 — one restrained editorial type scale across every public route. */
:root{
  --fb-type-hero:clamp(40px,4.15vw,66px);
  --fb-type-section:clamp(30px,3vw,48px);
  --fb-type-section-compact:clamp(28px,2.65vw,42px);
}

html body:not(.elementor-editor-active) :is(
  h1,
  .onon-hero__title,
  .onon-inner.sm4 .sm4-hero h1,
  .onon-inner.com5 .com5-hero__copy h1,
  .onon-inner.seo5 .seo5-hero__copy h1,
  .onon-inner.fbp3 .fbp4-hero__copy h1,
  .onon-inner.gd3 .gd3-hero__copy h1,
  .onon-services-page .onon-services-hero-v2__copy h1,
  .fb-about .fb-about-hero h1,
  .onon-contact-v2 .onon-contact-v2__hero-copy h1,
  .fbw4 .ow5-copy h1,
  .fb-references .fb-ref-hero h1,
  .fb-blog .fb-blog-hero__copy h1,
  .fb-journal h1,
  .fbt-page .fbt-hero h1,
  .fb-404 h1
){
  font-size:var(--fb-type-hero)!important;
  line-height:.96!important;
  letter-spacing:-.052em!important;
  text-wrap:balance;
}

html body:not(.elementor-editor-active) :is(
  .onon-about-v4 h2,
  .onon-services-v3 h2,
  .onon-services-index h2,
  .onon-references-v9__intro h2,
  .onon-references__intro h2,
  .onon-inner-story h2,
  .onon-inner-method__intro h2,
  .onon-inner-principles h2,
  .onon-inner-cta h2,
  .onon-services-page .onon-services-deck__intro h2,
  .onon-services-page .onon-services-combine h2,
  .onon-services-page .onon-services-final h2,
  .fb-about .fb-about-story h2,
  .fb-about .fb-about-method h2,
  .fb-about .fb-about-table h2,
  .fb-about .fb-about-manifesto h2,
  .fb-about .fb-about-final h2,
  .fb-references .fb-ref-logo-wall__head h2,
  .fb-references .fb-ref-principle h2,
  .fb-references .fb-ref-final h2,
  .fb-blog .fb-blog-index__head h2,
  .fb-blog .fb-blog-contact h2,
  .fb-journal__related h2,
  .fb-journal__cta h2,
  .onon-contact-v2 .onon-contact-v2__aside h2,
  .onon-contact-v2 .onon-contact-v2__process-head h2,
  .onon-legal-content h2,
  .onon-inner.com5 .com5-section-head h2,
  .onon-inner.com5 .com5-checkout h2,
  .onon-inner.com5 .com5-output h2,
  .onon-inner.com5 .com5-faq h2,
  .onon-inner.com5 .com5-final h2,
  .onon-inner.seo5 .seo5-section-head h2,
  .onon-inner.seo5 .seo5-coverage h2,
  .onon-inner.seo5 .seo5-output h2,
  .onon-inner.seo5 .seo5-faq h2,
  .onon-inner.seo5 .seo5-final h2,
  .onon-inner.fbp3 .fbp3-section-head h2,
  .onon-inner.fbp3 .fbp3-stills__head h2,
  .onon-inner.fbp3 .fbp3-faq h2,
  .onon-inner.fbp3 .fbp3-final h2,
  .onon-inner.gd3 .gd3-heading h2,
  .onon-inner.gd3 .gd3-system h2,
  .onon-inner.gd3 .gd3-faq h2,
  .onon-inner.gd3 .gd3-final h2,
  .fbw4 .fbw4-manifest h2,
  .fbw4 .fbw4-system h2,
  .fbw4 .fbw5-lab h2,
  .fbw4 .fbw4-scope h2,
  .fbw4 .fbw4-process h2,
  .fbw4 .fbw4-faq h2,
  .fbw4 .fbw4-final h2,
  .fbt-page .fbt-section h2,
  .fbt-page .fbt-content-grid h2,
  .fb-footer__contact h2
){
  font-size:var(--fb-type-section)!important;
  line-height:1!important;
  letter-spacing:-.047em!important;
  text-wrap:balance;
}

html body:not(.elementor-editor-active) :is(
  .fb-journal__content h2,
  .onon-contact-v2 .onon-contact-form h2,
  .onon-inner.sm4 .sm4-story h2,
  .onon-inner.sm4 .sm4-section-head h2,
  .onon-inner.sm4 .sm4-faq h2,
  .onon-inner.sm4 .sm4-final h2,
  .onon-inner.sm4 .sm4-integrations__copy h2
){
  font-size:var(--fb-type-section-compact)!important;
  line-height:1.02!important;
  letter-spacing:-.043em!important;
}

body.onon-home .onon-activation__title span{
  font-size:clamp(38px,3.7vw,58px)!important;
  line-height:.98!important;
}
body.onon-home .onon-activation__title .is-on{
  font-size:clamp(36px,3.5vw,54px)!important;
}

@media(max-width:767px){
  :root{
    --fb-type-hero:clamp(34px,10vw,43px);
    --fb-type-section:clamp(29px,8.4vw,36px);
    --fb-type-section-compact:clamp(27px,7.8vw,33px);
  }
  body.onon-home .onon-activation__title span{font-size:clamp(31px,8.8vw,36px)!important}
  body.onon-home .onon-activation__title .is-on{font-size:clamp(29px,8.2vw,34px)!important}
}
