@charset "UTF-8";
.sf-our-company-page {
  background: #1c2c2e;
  color: #fafaf5;
}
.sf-our-company-page .header-top {
  border-color: #fafaf5;
}

.sf-oc,
.sf-oc * {
  box-sizing: border-box;
}

.sf-oc {
  position: relative;
  overflow: clip;
  background: #1c2c2e;
  color: #fafaf5;
  font-family: "IBM Plex Sans", sans-serif;
  min-height: 40vh;
}
.sf-oc h1,
.sf-oc h2,
.sf-oc h3,
.sf-oc p {
  margin-top: 0;
}

.sf-oc-fe-bar {
  position: absolute;
  top: 16px;
  left: clamp(24px, 8.333vw, 120px);
  right: clamp(24px, 8.333vw, 120px);
  z-index: 40;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  pointer-events: none;
}
.sf-oc-fe-bar .sf-nh-fe-bar__btn,
.sf-oc-fe-bar .sf-nh-fe-bar__tools,
.sf-oc-fe-bar .sf-nh-fe-bar__status {
  pointer-events: auto;
}

/* Hero sits under the absolute masthead — clear it like .sf-nh-fe-bar on New Home. */
.sf-oc-hero .sf-oc-fe-bar {
  top: 146px;
  z-index: 110;
}

.sf-oc-hero .sf-oc-visibility-toggle {
  top: 192px;
  z-index: 111;
  pointer-events: auto;
}

.sf-oc-hero .sf-oc-front-hidden-badge {
  top: 192px;
  z-index: 111;
}

.sf-oc-visibility-toggle {
  position: absolute;
  z-index: 41;
  top: 62px;
  left: clamp(24px, 8.333vw, 120px);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid rgba(250, 250, 245, 0.35);
  background: rgba(28, 44, 46, 0.92);
  color: #fafaf5;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  pointer-events: auto;
}
.sf-oc-visibility-toggle[hidden] {
  display: none !important;
}

.sf-oc-front-hidden-badge {
  position: absolute;
  z-index: 41;
  top: 62px;
  right: clamp(24px, 8.333vw, 120px);
  padding: 8px 12px;
  border: 1px solid rgba(241, 72, 42, 0.55);
  background: rgba(28, 44, 46, 0.92);
  color: #fafaf5;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.sf-oc-front-hidden-badge[hidden] {
  display: none !important;
}

.sf-oc section.is-front-hidden {
  opacity: 0.45;
  filter: grayscale(0.35);
}

.sf-oc-media-tools,
.sf-oc-url-fields,
.sf-oc-repeater-editor {
  position: relative;
  z-index: 30;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 clamp(24px, 8.333vw, 120px) 16px;
  padding: 12px;
  border: 1px solid rgba(160, 203, 5, 0.45);
  background: rgba(28, 44, 46, 0.92);
}
.sf-oc-media-tools[hidden],
.sf-oc-url-fields[hidden],
.sf-oc-repeater-editor[hidden] {
  display: none !important;
}

.sf-oc-media-btn,
.sf-oc-url-field input,
.sf-oc-repeater-editor input,
.sf-oc-repeater-editor textarea,
.sf-oc-repeater-editor button {
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
}

.sf-oc-media-btn,
.sf-oc-repeater-editor button {
  margin: 0;
  padding: 8px 12px;
  border: 1px solid rgba(250, 250, 245, 0.35);
  background: rgba(73, 90, 59, 0.85);
  color: #fafaf5;
  cursor: pointer;
}
.sf-oc-media-btn:disabled,
.sf-oc-repeater-editor button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.sf-oc-url-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 200px;
  color: #fafaf5;
}
.sf-oc-url-field input {
  padding: 8px 10px;
  border: 1px solid rgba(160, 203, 5, 0.45);
  background: #495a3b;
  color: #fafaf5;
}

.sf-oc [data-sf-oc-field][contenteditable=true] {
  outline: 1px dashed rgba(238, 255, 151, 0.55);
  min-width: 1ch;
}

.sf-oc-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 30px;
  background: #eeff97;
  color: #1c2c2e;
  font-family: "IBM Plex Mono", monospace;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  border: 0;
  cursor: pointer;
}
.sf-oc-button:hover, .sf-oc-button:focus {
  color: #1c2c2e;
  text-decoration: none;
  filter: brightness(1.05);
}

/* -------------------------------------------------------------------------
   Hero
--------------------------------------------------------------------------- */
.sf-oc-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: min(52vh, 520px);
  padding: clamp(160px, 22vh, 220px) 0 clamp(64px, 8vh, 96px);
  border: 15px solid #495a3b;
  overflow: hidden;
  text-align: left;
}

.sf-oc-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.sf-oc-hero__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sf-oc-hero__tint {
  position: absolute;
  inset: 0;
  background: rgba(73, 90, 59, 0.4);
  pointer-events: none;
}

.sf-oc-hero__inner {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-start;
  width: 100%;
}

.sf-oc-hero__headline {
  margin: 0;
  max-width: 1100px;
  color: #fafaf5;
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 400;
  font-size: clamp(32px, 4.2vw, 68px);
  line-height: 1.05;
  letter-spacing: 0.1em;
  text-align: left;
  text-transform: uppercase;
}
.sf-oc-hero__headline .sf-oc-html,
.sf-oc-hero__headline p {
  margin: 0;
  display: inline;
}
.sf-oc-hero__headline strong,
.sf-oc-hero__headline b {
  font-weight: 700;
}

/* -------------------------------------------------------------------------
   Intro — panel content on top of SoP stage / wash
--------------------------------------------------------------------------- */
.sf-oc-intro {
  position: relative;
}

.sf-our-company-page .sf-sop-intro.sf-oc-intro {
  margin-bottom: 0;
  padding-bottom: 150px;
}

.sf-oc-intro__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 112px 56px;
  text-align: center;
}

.sf-oc-intro__heading,
.sf-sop-intro__panel p.sf-oc-intro__heading {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: 860px;
  color: #eeff97;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.35;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.sf-oc-intro__body {
  position: relative;
  z-index: 1;
  max-width: 860px;
  color: #fafaf5;
  font-size: 20px;
  line-height: 1.45;
}
.sf-oc-intro__body .sf-oc-html,
.sf-oc-intro__body p {
  margin: 0;
}

.sf-oc-intro__stats {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.sf-oc-intro__stat {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  min-width: 280px;
  text-align: left;
}

.sf-oc-intro__stat-value {
  grid-column: 1;
  grid-row: 1;
  color: transparent;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 700;
  font-size: clamp(56px, 5.5vw, 80px);
  line-height: 1.1;
  letter-spacing: 0.2em;
  -webkit-text-stroke: 2px #f1482a;
  text-stroke: 2px #f1482a;
}

.sf-oc-intro__stat-label {
  grid-column: 1/-1;
  grid-row: 1;
  position: relative;
  z-index: 1;
  margin-left: 78px;
  max-width: 245px;
  color: #fafaf5;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.sf-oc-repeater-editor {
  position: relative;
  z-index: 2;
  width: 100%;
}

/* -------------------------------------------------------------------------
   Scroll wash (homepage-style reveal)
--------------------------------------------------------------------------- */
.sf-oc-section-wash {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
  height: 50%;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1.15s ease;
  will-change: opacity;
}
.sf-oc-section-wash::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(73, 90, 59, 0.3) 0%, rgba(28, 44, 46, 0) 100%);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 28%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 28%, transparent 100%);
}
.sf-oc-section-wash::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='5' numOctaves='3' stitchTiles='stitch' seed='435'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='table' tableValues='0 0.95'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 180px 180px;
  mix-blend-mode: soft-light;
  opacity: 0;
  transition: opacity 1.15s ease;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 28%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 28%, transparent 100%);
}

.sf-oc [data-sf-oc-section].is-in > .sf-oc-section-wash,
.sf-oc [data-sf-oc-section].is-fe-editing > .sf-oc-section-wash {
  opacity: 1;
}
.sf-oc [data-sf-oc-section].is-in > .sf-oc-section-wash::after,
.sf-oc [data-sf-oc-section].is-fe-editing > .sf-oc-section-wash::after {
  opacity: 0.22;
}

.sf-oc-tombstone .grid-container,
.sf-oc-team .grid-container,
.sf-oc-drives .grid-container,
.sf-oc-cta .grid-container,
.sf-oc-gallery__frame {
  position: relative;
  z-index: 1;
}

/* -------------------------------------------------------------------------
   Tombstone
--------------------------------------------------------------------------- */
.sf-oc-tombstone {
  position: relative;
  padding: 112px 0;
  overflow: hidden;
}

.sf-oc-tombstone__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 333px);
  gap: 32px;
  align-items: center;
}

.sf-oc-tombstone__copy {
  display: flex;
  flex-direction: column;
  gap: 32px;
  min-width: 0;
}

.sf-oc-tombstone__heading {
  margin: 0;
  color: #fafaf5;
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 400;
  font-size: 36px;
  line-height: 46px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.sf-oc-tombstone__heading .sf-oc-html,
.sf-oc-tombstone__heading p {
  margin: 0;
  display: inline;
}
.sf-oc-tombstone__heading strong,
.sf-oc-tombstone__heading b {
  font-weight: 700;
}

.sf-oc-tombstone__body {
  color: #fafaf5;
  font-size: 20px;
  line-height: 1.45;
}
.sf-oc-tombstone__body .sf-oc-html p {
  margin: 0 0 1em;
}
.sf-oc-tombstone__body .sf-oc-html p:last-child {
  margin-bottom: 0;
}

.sf-oc-tombstone__accent {
  margin: 0;
  color: #eeff97;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.sf-oc-tombstone__media {
  position: relative;
  width: 100%;
  aspect-ratio: 333/200;
  overflow: hidden;
  background: rgba(73, 90, 59, 0.35);
}

.sf-oc-tombstone__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* -------------------------------------------------------------------------
   Gallery
--------------------------------------------------------------------------- */
.sf-oc-gallery {
  position: relative;
  overflow: hidden;
}

.sf-oc-gallery__frame {
  position: relative;
  width: 100%;
  min-height: 280px;
  aspect-ratio: 1440/400;
  overflow: hidden;
  background: #1c2c2e;
}

.sf-oc-gallery__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sf-oc-gallery__tint {
  position: absolute;
  inset: 0;
  background: rgba(73, 90, 59, 0.4);
  pointer-events: none;
}

/* -------------------------------------------------------------------------
   Team
--------------------------------------------------------------------------- */
.sf-oc-team {
  position: relative;
  padding: 56px 0;
  overflow: hidden;
}

.sf-oc-team__heading {
  margin: 0 0 32px;
  color: #fafaf5;
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 400;
  font-size: 36px;
  line-height: 46px;
  letter-spacing: 0.15em;
  text-align: center;
  text-transform: uppercase;
}

.sf-oc-team__intro {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 860px;
  margin: 0 auto 32px;
  text-align: center;
}

.sf-oc-team__body {
  color: #fafaf5;
  font-size: 20px;
  line-height: 1.45;
}
.sf-oc-team__body .sf-oc-html,
.sf-oc-team__body p {
  margin: 0;
}

.sf-oc-team__accent {
  margin: 0;
  color: #eeff97;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.sf-oc-team__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sf-oc-team__card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.sf-oc-team__photo {
  position: relative;
  width: 100%;
  aspect-ratio: 378/233;
  overflow: hidden;
  background: rgba(73, 90, 59, 0.35);
}
.sf-oc-team__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sf-oc-team__photo .sf-oc-team__photo-default,
.sf-oc-team__photo .sf-oc-team__photo-placeholder {
  position: relative;
  z-index: 1;
  transition: opacity 0.35s ease;
}
.sf-oc-team__photo .sf-oc-team__photo-hover {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.sf-oc-team__photo.has-hover:hover .sf-oc-team__photo-default, .sf-oc-team__photo.has-hover:focus-within .sf-oc-team__photo-default {
  opacity: 0;
}
.sf-oc-team__photo.has-hover:hover .sf-oc-team__photo-hover, .sf-oc-team__photo.has-hover:focus-within .sf-oc-team__photo-hover {
  opacity: 1;
}
.sf-oc-team__photo:not(.has-hover):hover .sf-oc-team__photo-default {
  transform: scale(1.04);
  transition: transform 0.35s ease;
}

.sf-oc-team__photo-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(73, 90, 59, 0.5), rgba(28, 44, 46, 0.8));
}

.sf-oc-team__meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.sf-oc-team__name {
  margin: 0;
  color: #eeff97;
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 35px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.sf-oc-team__title {
  margin: 0;
  color: #fafaf5;
  font-size: 20px;
  line-height: 1.35;
}

.sf-oc-team__linkedin {
  flex-shrink: 0;
  display: inline-flex;
  color: #eeff97;
  text-decoration: none;
}
.sf-oc-team__linkedin:hover, .sf-oc-team__linkedin:focus {
  color: #a0cb05;
}

.sf-oc-team__linkedin-icon {
  display: block;
  width: 28px;
  height: 28px;
  filter: invert(94%) sepia(28%) saturate(742%) hue-rotate(18deg) brightness(104%) contrast(101%);
}

.sf-oc-team__linkedin:hover .sf-oc-team__linkedin-icon,
.sf-oc-team__linkedin:focus .sf-oc-team__linkedin-icon {
  filter: invert(78%) sepia(58%) saturate(547%) hue-rotate(22deg) brightness(96%) contrast(92%);
}

/* -------------------------------------------------------------------------
   Drives
--------------------------------------------------------------------------- */
.sf-oc-drives {
  position: relative;
  padding: 56px 0 112px;
  overflow: hidden;
}

.sf-oc-drives__heading {
  margin: 0 0 32px;
  color: #fafaf5;
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 400;
  font-size: 36px;
  line-height: 46px;
  letter-spacing: 0.15em;
  text-align: center;
  text-transform: uppercase;
}

.sf-oc-drives__intro {
  max-width: 860px;
  margin: 0 auto 32px;
  color: #fafaf5;
  font-size: 20px;
  line-height: 1.45;
  text-align: center;
}
.sf-oc-drives__intro .sf-oc-html,
.sf-oc-drives__intro p {
  margin: 0;
}

.sf-oc-drives__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sf-oc-drives__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 56px 24px;
  border-top: 2px solid #a0cb05;
  background: linear-gradient(180deg, rgba(73, 90, 59, 0.4) 0%, rgba(28, 44, 46, 0) 100%);
  text-align: center;
}

.sf-oc-drives__icon {
  display: block;
  width: auto;
  height: 24px;
}

.sf-oc-drives__title {
  margin: 0;
  color: #fafaf5;
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 35px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.sf-oc-drives__body {
  margin: 0;
  max-width: 303px;
  color: #fafaf5;
  font-size: 20px;
  line-height: 1.45;
}

/* -------------------------------------------------------------------------
   CTA
--------------------------------------------------------------------------- */
.sf-oc-cta {
  position: relative;
  padding: 112px 0;
  overflow: hidden;
}

.sf-oc-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  text-align: center;
}

.sf-oc-cta__heading {
  margin: 0;
  max-width: 860px;
  color: #fafaf5;
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 400;
  font-size: 36px;
  line-height: 46px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.sf-oc-cta__heading .sf-oc-html,
.sf-oc-cta__heading p {
  margin: 0;
}

.sf-oc-cta__subhead {
  margin: 0;
  color: #fafaf5;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

/* -------------------------------------------------------------------------
   Responsive
--------------------------------------------------------------------------- */
@media screen and (max-width: 1023px) {
  .sf-oc-hero {
    min-height: min(48vh, 480px);
    padding: clamp(140px, 18vh, 180px) 0 64px;
    border-width: 10px;
  }
  .sf-oc-hero .sf-oc-fe-bar {
    top: 138px;
  }
  .sf-oc-hero .sf-oc-visibility-toggle,
  .sf-oc-hero .sf-oc-front-hidden-badge {
    top: 184px;
  }
  .sf-oc-intro__panel {
    padding: 72px 32px;
  }
  .sf-oc-tombstone__grid {
    grid-template-columns: 1fr;
  }
  .sf-oc-tombstone__media {
    max-width: 420px;
  }
  .sf-oc-team__grid,
  .sf-oc-drives__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 639px) {
  .sf-oc-hero {
    border-width: 6px;
    min-height: min(48vh, 440px);
    padding: clamp(120px, 20vh, 160px) 0 48px;
  }
  .sf-oc-tombstone,
  .sf-oc-cta {
    padding: 64px 0;
  }
  .sf-oc-intro__panel {
    padding: 48px 20px;
  }
  .sf-oc-intro__stats {
    flex-direction: column;
    align-items: stretch;
  }
  .sf-oc-team__grid,
  .sf-oc-drives__grid {
    grid-template-columns: 1fr;
  }
  .sf-oc-tombstone__heading,
  .sf-oc-team__heading,
  .sf-oc-drives__heading,
  .sf-oc-cta__heading {
    font-size: 28px;
    line-height: 36px;
  }
  .sf-oc-button {
    width: 100%;
    font-size: 16px;
  }
}

/*# sourceMappingURL=our-company.css.map */
