/* ============================================================
   FOR-CLIENTS.CSS
============================================================ */

/* ============================================================
   INTER FONT OVERRIDE — for-clients page only
============================================================ */
body {
  font-family: 'Inter', sans-serif;
}

.fc-why__eyebrow,
.fc-why__heading,
.fc-why__body,
.fc-credibility__heading,
.fc-credibility__sub,
.fc-credibility__body,
.fc-feature__num,
.fc-feature__title,
.fc-feature__body,
.fc-svc__title,
.fc-svc__body,
.fc-svc__adv-label,
.fc-svc__list li,
.fc-svcs__header-title {
  font-family: 'Inter', sans-serif;
}

/* Headings: use Inter semi-bold/bold (lighter feel than Montserrat ExtraBold) */
.fc-why__heading,
.fc-credibility__heading,
.fc-feature__title,
.fc-svc__title,
.fc-svcs__header-title {
  font-weight: 700;
  letter-spacing: 0.03em;
}

/* Body text: Inter Light/Regular for elegance */
.fc-why__body,
.fc-credibility__body,
.fc-feature__body,
.fc-svc__body,
.fc-svc__list li {
  font-weight: 300;
  letter-spacing: 0.01em;
}

/* Eyebrow / labels: Inter Medium */
.fc-why__eyebrow,
.fc-feature__num,
.fc-credibility__sub,
.fc-svc__adv-label {
  font-weight: 500;
}

/* ============================================================
   IMAGE 2 — CREDIBILITY (dark, two-column)
============================================================ */
.fc-credibility {
  background:    var(--body);
  padding-block: clamp(3.5rem, 8vh, 6rem);
}

.fc-credibility__inner {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   clamp(2.5rem, 6vw, 6rem);
  align-items:           start;
}

.fc-credibility__heading {
  font-size:      clamp(1.35rem, 2.5vw, 2.1rem);
  font-weight:    var(--fw-extrabold);
  color:          var(--c-white);
  line-height:    1.15;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom:  1.25rem;
}

.fc-credibility__sub {
  font-size:      0.88rem;
  font-weight:    var(--fw-bold);
  color:          #C8A24A;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  line-height:    1.4;
}

.fc-credibility__body {
  font-size:     0.9rem;
  color:         var(--c-white-70);
  line-height:   1.85;
  margin-bottom: 1rem;
}

.fc-credibility__body:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .fc-credibility__inner {
    grid-template-columns: 1fr;
    gap:                   2rem;
  }
}

/* ============================================================
   SERVICES SECTION — OUR SERVICES header + service items
============================================================ */
.fc-svcs__header {
  background:    var(--body);
  padding-block: clamp(2.5rem, 5vh, 4rem);
  border-top:    1px solid rgba(200,162,74,0.15);
}

.fc-svcs__header-title {
  font-size:      clamp(1.3rem, 2.4vw, 1.9rem);
  font-weight:    var(--fw-extrabold);
  color:          var(--c-white);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-align:     center;
}

.fc-svc {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  align-items:           center;
  gap:                   clamp(2.5rem, 6vw, 6rem);
  padding-block:         clamp(3rem, 6vh, 5rem);
  background:            #ffffff;
  border-bottom:         1px solid rgba(0,0,0,0.07);
}

.fc-svc:last-child {
  border-bottom: none;
}

.fc-svc__title {
  font-size:      clamp(1rem, 1.6vw, 1.35rem);
  font-weight:    var(--fw-extrabold);
  color:          #0f2747;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom:  1.1rem;
  line-height:    1.2;
}

.fc-svc__body {
  font-size:     0.9rem;
  color:         #3a4a60;
  line-height:   1.85;
  max-width:     520px;
  margin-bottom: 0.75rem;
}

.fc-svc__adv-label {
  font-size:     0.85rem;
  color:         #3a4a60;
  margin-top:    0.5rem;
  margin-bottom: 0.5rem;
}

.fc-svc__list {
  list-style:     none;
  padding:        0;
  margin:         0;
  display:        flex;
  flex-direction: column;
  gap:            0.35rem;
}

.fc-svc__list li {
  font-size:    0.88rem;
  color:        #3a4a60;
  padding-left: 1.2rem;
  position:     relative;
  line-height:  1.6;
}

.fc-svc__list li::before {
  content:     '•';
  position:    absolute;
  left:        0;
  color:       #C8A24A;
  font-weight: bold;
}

.fc-svc__icon {
  display:         flex;
  align-items:     center;
  justify-content: center;
  padding:         2rem;
}

.fc-svc__icon svg {
  width:     190px;
  height:    190px;
  max-width: 100%;
}

@media (max-width: 800px) {
  .fc-svc {
    grid-template-columns: 1fr;
    gap:                   2rem;
  }

  .fc-svc__text  { order: 1; }
  .fc-svc__icon  { order: 2; }

  .fc-svc__icon {
    padding: 1rem;
  }

  .fc-svc__icon svg {
    width:  130px;
    height: 130px;
  }
}

/* ============================================================
   WHY BACHMANNLOGI — full-width split section
============================================================ */
.fc-why {
  display:               grid;
  grid-template-columns: 42fr 58fr;
  min-height:            84vh;
  background:            #ffffff;
}

.fc-why__text {
  display:         flex;
  flex-direction:  column;
  justify-content: center;
  padding-block:   clamp(3.5rem, 8vh, 6rem);
  padding-right:   clamp(2rem, 4vw, 4rem);
  padding-left:    max(clamp(2rem, 5vw, 4rem), calc((100vw - var(--container-max)) / 2 + var(--container-px)));
}

.fc-why__eyebrow {
  font-size:      0.75rem;
  font-weight:    var(--fw-semibold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color:          #C8A24A;
  margin-bottom:  1.25rem;
}

.fc-why__heading {
  font-size:     clamp(1.8rem, 3vw, 2.8rem);
  font-weight:   var(--fw-extrabold);
  color:         #0f2747;
  line-height:   1.12;
  margin-bottom: 1.5rem;
}

.fc-why__body {
  font-size:     0.9rem;
  color:         #3a4a60;
  line-height:   1.8;
  max-width:     540px;
  margin-bottom: 1rem;
}

.fc-why__body:last-of-type {
  margin-bottom: 0;
}

.fc-why__cta {
  margin-top:   2rem;
  align-self:   flex-start;
  background:   #C8A24A;
  border-color: #C8A24A;
  color:        #ffffff;
  transition:   background 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
}

.fc-why__cta:hover {
  background:   #b0892e;
  border-color: #b0892e;
  transform:    translateY(-2px);
}

.fc-why__image {
  position: relative;
  overflow: hidden;
}

.fc-why__image img {
  position:        absolute;
  inset:           0;
  width:           100%;
  height:          100%;
  object-fit:      cover;
  object-position: center 28%;
  display:         block;
  max-width:       none;
}

/* ============================================================
   SHARED DARK SECTION — ANÜ & QUALITY
============================================================ */
.fc-dark {
  padding-block: var(--sp-xl);
  background:    var(--body);
}

.fc-dark__inner {
  display:     flex;
  gap:         2.5rem;
  align-items: flex-start;
}

.fc-dark__label {
  flex:        0 0 230px;
  padding-top: 0.3rem;
  text-align:  right;
}

.fc-dark__label .section-title {
  color: var(--c-white);
}

.fc-dark__label .section-title::after {
  background: var(--c-white);
}

.fc-dark__content {
  flex:      1;
  min-width: 0;
}

.fc-dark__heading {
  font-size:     clamp(1.6rem, 3vw, 2.4rem);
  font-weight:   var(--fw-extrabold);
  line-height:   1.15;
  color:         var(--c-white);
  margin-bottom: 1.5rem;
}

.fc-dark__body {
  font-size:     0.9rem;
  color:         var(--c-white-70);
  line-height:   1.85;
  max-width:     680px;
  margin-bottom: 1rem;
}

/* Focus areas bullet list */
.fc-list {
  margin-block:  1rem 1.5rem;
  padding-left:  0;
  list-style:    none;
  display:       flex;
  flex-direction: column;
  gap:           0.45rem;
}

.fc-list__item {
  font-size:   0.88rem;
  color:       var(--c-white-70);
  padding-left: 1.1rem;
  position:    relative;
  line-height: 1.5;
}

.fc-list__item::before {
  content:    '—';
  position:   absolute;
  left:       0;
  color:      #C8A24A;
  font-weight: var(--fw-bold);
}

.fc-dark__cta {
  display:        inline-block;
  margin-top:     1.5rem;
  font-family:    var(--font);
  font-size:      0.8rem;
  font-weight:    var(--fw-semibold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color:          #C8A24A;
  border-bottom:  1px solid rgba(200,162,74,0.4);
  padding-bottom: 2px;
  transition:     color 0.2s ease, border-color 0.2s ease;
}

.fc-dark__cta:hover {
  color:        #E6D3A3;
  border-color: #E6D3A3;
}

/* ============================================================
   QUALITY PROMISE — 4-card grid
============================================================ */
.fc-quality {
  padding-block: var(--sp-xl);
  background:    var(--body);
  border-top:    1px solid rgba(200,162,74,0.15);
}

.fc-quality__header {
  margin-bottom: var(--sp-lg);
}

.fc-quality__eyebrow {
  font-size:      0.75rem;
  font-weight:    var(--fw-semibold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color:          #C8A24A;
  margin-bottom:  1rem;
}

.fc-quality__heading {
  font-size:     clamp(1.6rem, 3vw, 2.4rem);
  font-weight:   var(--fw-extrabold);
  color:         var(--c-white);
  margin-bottom: 1rem;
  line-height:   1.15;
}

.fc-quality__sub {
  font-size:   0.9rem;
  color:       var(--c-white-70);
  max-width:   620px;
  line-height: 1.75;
}

.fc-quality__grid {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  gap:                   1.25rem;
}

.fc-quality__card {
  background:  rgba(255,255,255,0.035);
  border:      1px solid rgba(200,162,74,0.18);
  padding:     2rem 1.5rem;
  transition:  background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.fc-quality__card:hover {
  background:   rgba(200,162,74,0.07);
  border-color: rgba(200,162,74,0.4);
  transform:    translateY(-4px);
}

.fc-quality__check {
  width:           44px;
  height:          44px;
  background:      rgba(200,162,74,0.1);
  border:          1px solid rgba(200,162,74,0.3);
  color:           #C8A24A;
  display:         flex;
  align-items:     center;
  justify-content: center;
  font-size:       1.15rem;
  font-weight:     var(--fw-bold);
  margin-bottom:   1.25rem;
  flex-shrink:     0;
}

.fc-quality__card-title {
  font-size:     0.95rem;
  font-weight:   var(--fw-bold);
  color:         var(--c-white);
  margin-bottom: 0.6rem;
  line-height:   1.3;
}

.fc-quality__card-desc {
  font-size:   0.82rem;
  color:       var(--c-white-70);
  line-height: 1.8;
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 1024px) {
  .fc-quality__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .fc-why {
    grid-template-columns: 1fr;
    min-height:            auto;
  }

  .fc-why__image {
    order:  -1;
    height: 340px;
  }

  .fc-why__image img {
    width:  100%;
    height: 100%;
  }

  .fc-why__text {
    padding: 3rem clamp(1.5rem, 5vw, 3rem);
  }

  .fc-dark__inner {
    flex-direction: column;
  }

  .fc-dark__label {
    flex:       none;
    text-align: left;
  }
}

@media (max-width: 640px) {
  .fc-quality__grid {
    grid-template-columns: 1fr;
  }

  .fc-why__image {
    height: 270px;
  }
}

/* ============================================================
   SLIDE-ONLY ANIMATIONS (no fade — overrides base data-animate)
============================================================ */
.anim-ready [data-animate="slide-from-left"] {
  opacity:    1 !important;
  transform:  translate3d(-90px, 0, 0) !important;
  transition: transform 0.75s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.anim-ready [data-animate="slide-from-right"] {
  opacity:    1 !important;
  transform:  translate3d(90px, 0, 0) !important;
  transition: transform 0.75s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.anim-ready [data-animate="slide-from-left"].is-visible,
.anim-ready [data-animate="slide-from-right"].is-visible {
  opacity:   1 !important;
  transform: translate3d(0, 0, 0) !important;
}

/* ============================================================
   FEATURE ROWS — alternating text / visual
============================================================ */
.fc-features {
  background: #ffffff;
}

.fc-feature {
  display:       grid;
  grid-template-columns: 1fr 1fr;
  align-items:   center;
  gap:           clamp(2rem, 5vw, 5rem);
  padding-block: clamp(3rem, 6vh, 5rem);
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.fc-feature:last-child {
  border-bottom: none;
}

.fc-feature__num {
  display:        block;
  font-size:      0.72rem;
  font-weight:    var(--fw-semibold);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          #C8A24A;
  margin-bottom:  0.6rem;
}

.fc-feature__title {
  font-size:      clamp(1.1rem, 1.8vw, 1.5rem);
  font-weight:    var(--fw-extrabold);
  color:          #0f2747;
  line-height:    1.18;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom:  1.1rem;
}

.fc-feature__body {
  font-size:   0.9rem;
  color:       #3a4a60;
  line-height: 1.85;
  max-width:   520px;
}

.fc-feature__visual {
  aspect-ratio:    4 / 3;
  width:           100%;
  display:         flex;
  align-items:     center;
  justify-content: center;
  overflow:        hidden;
}

.fc-feature__visual img {
  width:      75%;
  height:     75%;
  object-fit: contain;
  display:    block;
}

/* Responsive */
@media (max-width: 800px) {
  .fc-feature {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  /* Always show text first on mobile */
  .fc-feature__text  { order: 1; }
  .fc-feature__visual { order: 2; }

  .fc-feature__visual {
    aspect-ratio: 16 / 9;
    max-height:   220px;
  }
}

/* ============================================================
   OPS EMBED — Video + Curtain Panel
============================================================ */
.fc-promo {
  background:     #0d1e3d;
  padding-block:  clamp(4rem, 8vh, 6rem);
}

.fc-promo__inner {
  max-width:      900px;
  margin-inline:  auto;
  padding-inline: var(--container-px);
}

.fc-promo__heading {
  font-size:      clamp(1.8rem, 3.2vw, 3rem);
  font-weight:    var(--fw-extrabold);
  color:          var(--c-white);
  line-height:    1.1;
  letter-spacing: -0.01em;
  margin-bottom:  2.5rem;
  max-width:      600px;
}

.fc-promo__heading em {
  font-family: 'Playfair Display', serif;
  font-style:  italic;
  font-weight: 400;
  color:       #E6D3A3;
}

.fc-promo__label {
  font-size:      0.72rem;
  font-weight:    var(--fw-semibold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color:          #C8A24A;
  margin-bottom:  1.25rem;
  display:        block;
}

.ops-tabs {
  position:              relative;
  width:                 196px;
  height:                36px;
  clip-path:             polygon(7px 0%, calc(100% - 7px) 0%, 100% 7px, 100% calc(100% - 7px), calc(100% - 7px) 100%, 7px 100%, 0% calc(100% - 7px), 0% 7px);
  background:            rgba(255,255,255,0.04);
  display:               grid;
  grid-template-columns: 1fr 1fr;
  align-items:           stretch;
  margin-left:           auto;
  overflow:              hidden;
}

.ops-tabs__indicator {
  position:  absolute;
  inset:     3px;
  width:     calc(50% - 3px);
  clip-path: polygon(5px 0%, calc(100% - 5px) 0%, 100% 5px, 100% calc(100% - 5px), calc(100% - 5px) 100%, 5px 100%, 0% calc(100% - 5px), 0% 5px);
  background: rgba(200,162,74,0.22);
  transform:     translateX(0%);
  transition:    transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

@media (prefers-reduced-motion: reduce) {
  .ops-tabs__indicator { transition: none; }
}

.ops-tab {
  position:       relative;
  z-index:        1;
  border:         0;
  background:     transparent;
  cursor:         pointer;
  font-family:    var(--font);
  font-size:      0.72rem;
  font-weight:    var(--fw-semibold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color:          rgba(255,255,255,0.75);
  transition:     color 0.2s ease;
}

.ops-tab:focus-visible {
  outline:        2px solid rgba(200,162,74,0.5);
  outline-offset: 2px;
  border-radius:  3px;
}

.ops-panel {
  position:      relative;
  width:         100%;
  margin-top:    12px;
  border-radius: 16px;
  overflow:      hidden;
  isolation:     isolate;
}

.ops-curtain {
  position:       absolute;
  inset:          0;
  z-index:        5;
  background:     #071228;
  transform:      translateX(100%);
  pointer-events: none;
}

.ops-videoFrame {
  width:         100%;
  border-radius: 14px;
  border:        1px solid rgba(200,162,74,0.18);
  background:    #071228;
  overflow:      hidden;
  aspect-ratio:  16 / 9;
}

.ops-video {
  width:      100%;
  height:     100%;
  object-fit: cover;
  display:    block;
}

.ops-detailsCard {
  width:          100%;
  border-radius:  14px;
  background:     linear-gradient(180deg, #0d1e3d 0%, #071228 100%);
  border:         1px solid rgba(200,162,74,0.15);
  padding:        clamp(2rem, 4vw, 3.5rem);
  min-height:     clamp(280px, 32vw, 420px);
  display:        flex;
  flex-direction: column;
  gap:            1.75rem;
}

.ops-detailsBlock h3 {
  margin:         0 0 0.6rem 0;
  color:          #E6D3A3;
  font-weight:    var(--fw-semibold);
  font-size:      clamp(1rem, 1.6vw, 1.3rem);
  letter-spacing: 0.01em;
}

.ops-detailsBlock p {
  margin:      0;
  color:       rgba(255,255,255,0.5);
  font-size:   0.92rem;
  line-height: 1.7;
}

.ops-detailsDivider {
  border:     0;
  height:     1px;
  background: rgba(200,162,74,0.2);
  margin:     0;
}

@media (max-width: 768px) {
  .ops-tabs        { margin-left: 0; margin-right: auto; }
  .ops-detailsCard { min-height: 0; }
}
