@font-face {
  font-family: "Futura Lt BT";
  src: url("/fonts/futura-lt-w01-light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

:root {
  --company-bg: #050505;
  --company-panel: #0d0d0d;
  --company-panel-soft: #121212;
  --company-line: #282624;
  --company-text: #f5f5f3;
  --company-muted: #aaa6a3;
  --company-orange: #ff5b17;
  --company-orange-soft: rgba(255, 91, 23, .1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.company-page {
  margin: 0;
  background: var(--company-bg);
  color: var(--company-text);
  font-family: "Helvetica Neue", "DM Sans", Arial, sans-serif;
  font-weight: 300;
}

.company-page main { min-height: calc(100vh - 56px); }
.company-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.company-eyebrow {
  margin: 0 0 14px;
  color: var(--company-orange);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.company-display,
.company-heading {
  font-family: "Futura Lt BT", "Helvetica Neue", sans-serif;
  font-weight: 300;
  letter-spacing: -.035em;
}
.company-display { margin: 0; font-size: clamp(48px, 7vw, 86px); line-height: .98; }
.company-heading { margin: 0; font-size: clamp(34px, 4.6vw, 58px); line-height: 1.03; }
.company-heading em,
.company-display em { color: var(--company-orange); font-style: normal; }
.company-lead { color: var(--company-muted); font-size: clamp(17px, 2vw, 21px); line-height: 1.65; }
.company-button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.company-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border: 1px solid #3a3735;
  border-radius: 999px;
  color: var(--company-text);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.company-button:hover,
.company-button:focus-visible { transform: translateY(-1px); border-color: var(--company-orange); outline: none; }
.company-button.primary { border-color: var(--company-orange); background: var(--company-orange); color: #080808; }

.company-hero { position: relative; overflow: hidden; border-bottom: 1px solid #1b1b1b; }
.company-hero::before {
  content: "";
  position: absolute;
  width: min(54vw, 700px);
  aspect-ratio: 1;
  right: -16vw;
  top: -40%;
  border: 1px solid rgba(255, 91, 23, .28);
  border-radius: 50%;
  pointer-events: none;
}
.company-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .72fr);
  align-items: end;
  gap: 64px;
  min-height: 720px;
  padding: 96px 0 0;
}
.company-hero-copy { align-self: center; padding-bottom: 88px; }
.company-hero-copy .company-lead { max-width: 720px; margin: 28px 0 0; }
.company-hero-portrait { position: relative; z-index: 1; align-self: end; }
.company-hero-portrait img { display: block; width: min(100%, 520px); height: auto; margin: 0 auto; }

.company-section { padding: 104px 0; border-bottom: 1px solid #1b1b1b; }
.company-section-head { display: grid; grid-template-columns: .74fr 1.26fr; gap: 56px; align-items: end; margin-bottom: 48px; }
.company-section-head p { margin: 0; }
.company-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.company-card {
  min-height: 250px;
  padding: 28px;
  border: 1px solid var(--company-line);
  border-radius: 14px;
  background: linear-gradient(145deg, #111 0%, #0a0a0a 100%);
}
.company-card-number { color: var(--company-orange); font: 600 10px/1 Arial, sans-serif; letter-spacing: .12em; }
.company-card h3 { margin: 72px 0 12px; font-size: 18px; font-weight: 500; line-height: 1.25; }
.company-card p { margin: 0; color: #918d8a; font-size: 14px; line-height: 1.65; }

.company-products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 44px; }
.company-product {
  display: flex;
  min-height: 290px;
  flex-direction: column;
  padding: 30px;
  border: 1px solid var(--company-line);
  border-top: 3px solid var(--company-orange);
  border-radius: 14px;
  background: var(--company-panel);
  color: inherit;
  text-decoration: none;
}
.company-product span { color: var(--company-orange); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.company-product h3 { margin: 52px 0 12px; font: 300 30px/1.08 "Futura Lt BT", sans-serif; }
.company-product p { margin: 0 0 22px; color: var(--company-muted); font-size: 14px; line-height: 1.65; }
.company-product strong { margin-top: auto; color: var(--company-orange); font-size: 13px; }
.company-product:hover,
.company-product:focus-visible { border-color: var(--company-orange); outline: none; }

.company-philosophy { background: #090909; }
.company-philosophy-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); gap: 84px; align-items: center; }
.company-philosophy .company-lead { margin: 28px 0 0; }
.company-statement { margin: 34px 0 0; color: #fff; font: 300 clamp(26px, 3vw, 40px)/1.18 "Futura Lt BT", sans-serif; }
.company-principles { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--company-line); }
.company-principles li { padding: 18px 0; border-bottom: 1px solid var(--company-line); color: #bbb7b4; font-size: 14px; }
.company-principles li::before { content: "→"; margin-right: 12px; color: var(--company-orange); }

.company-founder-grid { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: 72px; align-items: center; }
.company-founder-image { overflow: hidden; border: 1px solid var(--company-line); border-radius: 16px; background: #0c0c0c; }
.company-founder-image img { display: block; width: 100%; height: auto; }
.company-founder-copy .company-lead { margin: 24px 0 0; }
.company-quote { margin: 30px 0 0; padding-left: 22px; border-left: 2px solid var(--company-orange); color: #d8d5d2; font-size: 18px; line-height: 1.55; }

.company-cta { padding: 94px 0; text-align: center; }
.company-cta .company-heading { max-width: 800px; margin: 0 auto; }
.company-cta .company-lead { max-width: 720px; margin: 24px auto 0; }
.company-cta .company-button-row { justify-content: center; }

.company-subhero { padding: 110px 0 72px; border-bottom: 1px solid #1b1b1b; }
.company-subhero .company-display { max-width: 900px; }
.company-subhero .company-lead { max-width: 790px; margin: 26px 0 0; }
.company-content-grid { display: grid; grid-template-columns: minmax(220px, .56fr) minmax(0, 1.44fr); gap: 72px; padding: 78px 0 110px; }
.company-content-aside { color: #777370; font-size: 12px; line-height: 1.65; }
.company-prose { max-width: 820px; color: #ccc9c6; font-size: 17px; line-height: 1.75; }
.company-prose h2 { margin: 2.2em 0 .7em; color: #fff; font: 300 34px/1.14 "Futura Lt BT", sans-serif; }
.company-prose h2:first-child { margin-top: 0; }
.company-prose h3 { margin: 1.8em 0 .55em; color: #fff; font-size: 18px; font-weight: 500; }
.company-prose p { margin: 0 0 1.25em; }
.company-prose ul { margin: 0 0 1.5em; padding-left: 20px; }
.company-prose li { margin-bottom: .65em; }
.company-prose a { color: var(--company-orange); }
.company-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 42px 0 0; border: 1px solid var(--company-line); border-radius: 14px; }
.company-fact { padding: 22px; border-right: 1px solid var(--company-line); }
.company-fact:last-child { border-right: 0; }
.company-fact strong { display: block; color: #fff; font: 300 28px/1 "Futura Lt BT", sans-serif; }
.company-fact span { display: block; margin-top: 7px; color: #777370; font-size: 11px; }

.company-contact-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(360px, 1.18fr); gap: 72px; padding: 86px 0 110px; }
.company-contact-copy .company-heading { max-width: 520px; }
.company-contact-copy .company-lead { margin: 24px 0; }
.company-contact-copy a { color: var(--company-orange); }
.company-form { padding: 34px; border: 1px solid var(--company-line); border-radius: 16px; background: var(--company-panel); }
.company-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.company-field { display: block; }
.company-field.full { grid-column: 1 / -1; }
.company-field span { display: block; margin-bottom: 7px; color: #aaa6a3; font-size: 12px; }
.company-field input,
.company-field textarea {
  width: 100%;
  border: 1px solid #34312f;
  border-radius: 9px;
  background: #090909;
  color: #fff;
  padding: 13px 14px;
  font: inherit;
}
.company-field textarea { min-height: 170px; resize: vertical; line-height: 1.5; }
.company-field input:focus,
.company-field textarea:focus { border-color: var(--company-orange); outline: 2px solid rgba(255,91,23,.18); }
.company-form .company-button { margin-top: 20px; width: 100%; cursor: pointer; }
.company-form-notice { margin: 16px 0 0; color: #aaa6a3; font-size: 13px; line-height: 1.5; }
.company-form-notice.error { color: #f09575; }
.company-form-notice.success { color: #8fd1ac; }
.company-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }

@media (max-width: 980px) {
  .company-hero-grid { grid-template-columns: 1fr .62fr; min-height: 660px; gap: 28px; }
  .company-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-section-head,
  .company-philosophy-grid,
  .company-founder-grid,
  .company-content-grid,
  .company-contact-grid { grid-template-columns: 1fr; gap: 42px; }
  .company-products { grid-template-columns: 1fr; }
  .company-product { min-height: 230px; }
  .company-facts { grid-template-columns: repeat(2, 1fr); }
  .company-fact:nth-child(2) { border-right: 0; }
  .company-fact:nth-child(-n+2) { border-bottom: 1px solid var(--company-line); }
  .company-contact-grid { padding-top: 64px; }
}

@media (max-width: 700px) {
  .company-shell { width: min(100% - 32px, 1180px); }
  .company-hero-grid { display: flex; min-height: auto; flex-direction: column; padding-top: 74px; }
  .company-hero-copy { padding-bottom: 18px; }
  .company-hero-portrait img { width: min(84vw, 430px); }
  .company-section { padding: 76px 0; }
  .company-grid { grid-template-columns: 1fr; }
  .company-card { min-height: 220px; }
  .company-card h3 { margin-top: 46px; }
  .company-subhero { padding: 80px 0 56px; }
  .company-content-grid { padding: 56px 0 78px; }
  .company-content-aside { display: none; }
  .company-prose { font-size: 16px; }
  .company-contact-grid { padding: 60px 0 80px; }
  .company-form { padding: 24px 18px; }
  .company-form-grid { grid-template-columns: 1fr; }
  .company-field.full { grid-column: auto; }
}

@media print {
  .topbar, .rf-social-footer, .rf-public-site-footer, .company-button-row { display: none !important; }
  body.company-page { background: #fff; color: #111; }
  .company-content-grid { display: block; padding: 20px 0; }
  .company-content-aside { display: none; }
  .company-prose, .company-prose h2, .company-prose h3 { color: #111; }
}
