.company-page { background: #d8d7d0; color: #161918; }

.company-hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: #d8d7d0;
  isolation: isolate;
}

.company-hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(235,234,226,.74), rgba(225,224,215,.12) 58%, rgba(114,122,119,.1)),
    linear-gradient(180deg, rgba(245,243,235,.25), transparent 52%, rgba(128,132,127,.14));
  content: "";
}

.company-canvas,
.company-loop-canvas { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; display: block; }

.company-hero-inner {
  display: grid;
  width: min(100%, 1440px);
  min-height: 100svh;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .46fr);
  grid-template-rows: auto 1fr auto auto;
  gap: 0 clamp(52px, 8vw, 132px);
  margin: 0 auto;
  padding: clamp(132px, 17vh, 182px) clamp(28px, 6.8vw, 112px) clamp(58px, 8vh, 86px);
}

.company-hero .product-lockup { grid-column: 1 / -1; align-self: start; margin: 0; color: rgba(20,27,25,.68); }
.company-hero .product-lockup-rule { background: rgba(20,27,25,.24); }
.company-hero-kicker { grid-column: 1; align-self: end; margin: 0 0 25px; color: rgba(31,52,48,.5); font-size: 10px; font-weight: 500; letter-spacing: .17em; text-transform: uppercase; }
.company-hero h1 { grid-column: 1; max-width: 850px; margin: 0; color: #17211f; font-size: clamp(40px, 4.7vw, 74px); font-weight: 440; letter-spacing: -.065em; line-height: .95; }
.company-hero h1 em { display: block; color: rgba(34,58,54,.5); font-family: var(--brand-serif); font-style: normal; font-weight: 400; letter-spacing: -.05em; }
.company-hero-summary { grid-column: 2; grid-row: 2 / 4; align-self: end; margin: 0 0 6vh; color: rgba(26,45,41,.63); font-size: clamp(15px,1.06vw,18px); line-height: 1.68; }
.company-inline-link { grid-column: 1; display: inline-flex; justify-self: start; gap: 14px; margin-top: 34px; padding-bottom: 9px; border-bottom: 1px solid rgba(24,43,39,.34); color: #17211f; font-size: 14px; }
.company-hero-note { position: absolute; right: clamp(28px,6.8vw,112px); bottom: clamp(36px,6vh,62px); display: flex; align-items: center; gap: 12px; color: rgba(28,50,46,.42); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.company-hero-note i { width: clamp(34px,4vw,64px); height: 1px; background: rgba(28,50,46,.2); }

.company-section-inner { width: min(100%,1440px); margin: 0 auto; padding: clamp(116px,16vh,182px) clamp(28px,6.8vw,112px); }
.company-thesis { min-height: 120svh; display: grid; align-items: center; background: #ecebe5; color: #171a19; }
.company-thesis h2,
.company-loop h2,
.company-products h2,
.company-reality h2,
.company-principle h2,
.company-contact h2 { max-width: 1160px; margin: 0; font-size: clamp(38px,4.15vw,66px); font-weight: 440; letter-spacing: -.062em; line-height: .97; }
.company-thesis h2 em,
.company-loop h2 em,
.company-products h2 em,
.company-reality h2 em,
.company-principle h2 em,
.company-contact h2 em { display: block; color: rgba(24,38,35,.43); font-family: var(--brand-serif); font-style: normal; font-weight: 400; letter-spacing: -.048em; }
.company-thesis-copy { max-width: 640px; margin: 56px 0 0 auto; color: rgba(24,38,35,.6); font-size: clamp(15px,1.05vw,18px); line-height: 1.68; }

.company-equivalence { display: grid; grid-template-columns: 1fr auto 1fr; gap: clamp(30px,6vw,100px); align-items: center; margin-top: clamp(92px,14vh,150px); padding: 34px 0; border-top: 1px solid rgba(25,44,40,.16); border-bottom: 1px solid rgba(25,44,40,.16); }
.company-equivalence-side span { color: rgba(25,44,40,.46); font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.company-equivalence-side p { max-width: 430px; margin: 22px 0 0; color: rgba(24,38,35,.68); font-size: clamp(18px,1.6vw,25px); line-height: 1.38; }
.company-equivalence-side:last-child { text-align: right; }
.company-equivalence-side:last-child p { margin-left: auto; }
.company-equivalence-core { display: flex; align-items: center; gap: 18px; color: rgba(25,44,40,.72); }
.company-equivalence-core i { width: clamp(34px,5vw,76px); height: 1px; background: rgba(25,44,40,.2); }
.company-equivalence-core strong { font-family: var(--brand-serif); font-size: clamp(24px,2.3vw,36px); font-weight: 400; white-space: nowrap; }

.company-loop { position: relative; min-height: 112svh; display: grid; align-items: center; overflow: hidden; background: #0c1111; color: #edf1ee; isolation: isolate; }
.company-loop::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(8,12,12,.8), rgba(8,12,12,.22) 56%, rgba(8,12,12,.72)); content: ""; }
.company-loop .product-eyebrow { color: rgba(195,214,208,.44); }
.company-loop h2 em { color: rgba(185,207,200,.56); }
.company-loop-track { display: grid; grid-template-columns: repeat(7,1fr); margin-top: clamp(92px,14vh,150px); border-top: 1px solid rgba(211,225,220,.18); }
.company-loop-track span { position: relative; min-height: 190px; padding: 22px 18px 24px 0; border-right: 1px solid rgba(211,225,220,.1); }
.company-loop-track span::before { position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border: 1px solid rgba(204,222,216,.5); border-radius: 50%; background: #0c1111; content: ""; }
.company-loop-track i { display: block; color: rgba(192,211,205,.36); font-size: 9px; font-style: normal; letter-spacing: .14em; }
.company-loop-track strong { display: block; margin-top: 76px; color: rgba(231,239,235,.76); font-size: clamp(15px,1.2vw,19px); font-weight: 400; line-height: 1.34; }

.company-products { background: #d8d0c4; color: #281d17; }
.company-products h2 em { color: rgba(72,52,40,.46); }
.company-products-intro { max-width: 680px; margin: 58px 0 0 auto; color: rgba(55,39,30,.62); font-size: clamp(15px,1.05vw,18px); line-height: 1.68; }
.company-product-lines { margin-top: clamp(88px,13vh,142px); border-top: 1px solid rgba(70,48,35,.18); }
.company-product-lines > * { position: relative; display: grid; grid-template-columns: minmax(150px,.35fr) minmax(240px,.7fr) 1fr auto; gap: clamp(28px,5vw,80px); align-items: center; min-height: 166px; padding: 28px 0; border-bottom: 1px solid rgba(70,48,35,.14); }
.company-product-lines span { color: rgba(73,50,36,.45); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.company-product-lines h3 { margin: 0; font-family: var(--brand-serif); font-size: clamp(32px,3vw,48px); font-weight: 400; letter-spacing: -.04em; }
.company-product-lines p { max-width: 620px; margin: 0; color: rgba(55,39,30,.6); font-size: 15px; line-height: 1.6; }
.company-product-lines i { font-size: 21px; font-style: normal; }

.company-reality { background: #c7d2cc; color: #132522; }
.company-reality h2 em { color: rgba(22,57,51,.42); }
.company-reality-intro { max-width: 620px; margin: 52px 0 0 auto; color: rgba(20,51,46,.6); font-size: clamp(15px,1.05vw,18px); line-height: 1.65; }
.company-reality-columns { display: grid; grid-template-columns: repeat(3,1fr); margin-top: clamp(88px,13vh,142px); border-top: 1px solid rgba(20,58,51,.18); }
.company-reality-columns article { min-height: 430px; padding: 24px clamp(22px,3vw,44px) 30px 0; border-right: 1px solid rgba(20,58,51,.14); }
.company-reality-columns span { color: rgba(20,58,51,.43); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.company-reality-columns h3 { margin: 88px 0 34px; font-family: var(--brand-serif); font-size: clamp(31px,2.8vw,44px); font-weight: 400; letter-spacing: -.04em; }
.company-reality-columns ul { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; color: rgba(18,47,42,.63); font-size: 14px; line-height: 1.5; }
.company-reality-columns li { padding-top: 14px; border-top: 1px solid rgba(20,58,51,.11); }

.company-principle { min-height: 100svh; display: grid; align-items: center; background: #111313; color: #eef0ed; }
.company-principle .product-eyebrow { color: rgba(216,221,216,.4); }
.company-principle h2 em { color: rgba(203,211,203,.48); }
.company-principle p:not(.product-eyebrow) { max-width: 650px; margin: 58px 0 0 auto; color: rgba(218,224,218,.56); font-size: clamp(15px,1.08vw,18px); line-height: 1.68; }

.company-contact { min-height: 104svh; display: grid; align-items: center; background: #eeeae1; color: #201c18; }
.company-contact h2 em { color: rgba(63,53,44,.42); }
.company-contact-copy { display: grid; grid-template-columns: minmax(280px,.7fr) auto; gap: clamp(44px,8vw,130px); align-items: end; max-width: 900px; margin: 62px 0 0 auto; }
.company-contact-copy p { margin: 0; color: rgba(54,47,40,.62); font-size: clamp(15px,1.06vw,18px); line-height: 1.68; }
.company-contact-link { display: inline-flex; gap: 14px; padding-bottom: 9px; border-bottom: 1px solid rgba(43,36,30,.34); font-size: 14px; white-space: nowrap; }

@media (max-width: 900px) {
  .company-hero-inner { display: block; width: 100%; min-height: 100svh; padding: 132px 28px 58px; }
  .company-hero .product-lockup { margin-bottom: 76px; }
  .company-hero-summary { max-width: 620px; margin-top: 36px; }
  .company-hero-note { display: none; }
  .company-equivalence { grid-template-columns: 1fr; }
  .company-equivalence-side:last-child { text-align: left; }
  .company-equivalence-side:last-child p { margin-left: 0; }
  .company-equivalence-core { padding: 22px 0; }
  .company-loop-track { grid-template-columns: 1fr; border-top: 0; border-left: 1px solid rgba(211,225,220,.18); }
  .company-loop-track span { min-height: 98px; padding: 22px 0 22px 26px; border-right: 0; border-bottom: 1px solid rgba(211,225,220,.1); }
  .company-loop-track span::before { top: 22px; left: -5px; }
  .company-loop-track strong { margin-top: 18px; }
  .company-product-lines > * { grid-template-columns: 1fr auto; gap: 18px 28px; }
  .company-product-lines span,
  .company-product-lines p { grid-column: 1 / -1; }
  .company-reality-columns { grid-template-columns: 1fr; }
  .company-reality-columns article { min-height: 0; padding: 34px 0 54px; border-right: 0; border-bottom: 1px solid rgba(20,58,51,.14); }
  .company-reality-columns h3 { margin: 46px 0 28px; }
  .company-contact-copy { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .company-hero-inner { padding-right: 22px; padding-left: 22px; }
  .company-hero h1 { font-size: 40px; }
  .company-section-inner { padding: 110px 22px; }
  .company-thesis h2,
  .company-loop h2,
  .company-products h2,
  .company-reality h2,
  .company-principle h2,
  .company-contact h2 { font-size: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  .company-canvas,
  .company-loop-canvas { opacity: .88; }
}

/* Short company page: thesis, proof direction, contact. */
.company-page--short .company-hero { min-height: 94svh; }
.company-page--short .company-hero-inner { padding-bottom: clamp(66px, 8vh, 92px); }
.company-page--short .company-hero h1 { max-width: 1160px; font-size: clamp(50px, 6vw, 94px); line-height: .91; }
.company-page--short .company-hero h1 em { display: block; }
.company-page--short .company-hero-summary { max-width: 570px; font-size: clamp(14px, .95vw, 16px); }

.company-thesis-short { min-height: 100svh; display: grid; align-items: center; background: radial-gradient(ellipse 55% 72% at 88% 18%, rgba(114,134,128,.13), transparent 72%), #070a0a; color: #edf1f0; }
.company-short-inner { width: min(100%, 1460px); margin: 0 auto; padding: clamp(110px, 16vh, 175px) clamp(24px, 6.8vw, 112px); }
.company-thesis-short .product-eyebrow { color: rgba(205,220,216,.42); }
.company-thesis-short h2,
.company-contact-short h2 { max-width: 1180px; margin: 0; font-size: clamp(48px, 6vw, 92px); font-weight: 430; letter-spacing: -.074em; line-height: .91; }
.company-thesis-short h2 em { display: block; color: rgba(186,203,199,.5); font-family: var(--brand-serif); font-style: normal; font-weight: 400; letter-spacing: -.052em; }
.company-thesis-short-copy { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 8vw, 130px); max-width: 850px; margin: clamp(64px, 10vh, 108px) 0 0 auto; }
.company-thesis-short-copy p { margin: 0; color: rgba(211,224,220,.58); font-size: clamp(14px, 1vw, 17px); line-height: 1.66; }
.company-thesis-links { display: flex; gap: 34px; margin-top: 70px; border-top: 1px solid rgba(219,230,227,.13); }
.company-thesis-links a { display: flex; width: 50%; justify-content: space-between; padding: 22px 0; border-bottom: 1px solid rgba(219,230,227,.13); font-family: var(--brand-serif); font-size: clamp(25px, 2.2vw, 36px); transition: padding .4s var(--ease-out), color .3s ease; }
.company-thesis-links a:hover { padding-right: 10px; color: #fff; }

.company-contact-short { min-height: 82svh; display: grid; align-items: center; background: #d9dad4; color: #101413; }
.company-contact-short .product-eyebrow { color: rgba(16,20,19,.42); }
.company-contact-short h2 em { display: block; color: rgba(16,20,19,.4); font-family: var(--brand-serif); font-style: normal; font-weight: 400; letter-spacing: -.052em; }
.company-contact-mail { display: flex; max-width: 720px; justify-content: space-between; gap: 30px; margin-top: clamp(64px, 10vh, 106px); padding: 22px 0; border-top: 1px solid rgba(16,20,19,.16); border-bottom: 1px solid rgba(16,20,19,.16); font-size: clamp(17px, 1.6vw, 26px); transition: padding .45s var(--ease-out); }
.company-contact-mail:hover { padding-right: 12px; }

.company-page--short .company-contact-mail { max-width: 300px; font-size: clamp(16px, 1.3vw, 20px); font-weight: 450; letter-spacing: -.025em; }

@media (max-width: 900px) {
  .company-page--short .company-hero h1 { font-size: clamp(48px, 13vw, 72px); }
  .company-thesis-short-copy { grid-template-columns: 1fr; margin-left: 0; }
  .company-thesis-links { display: grid; gap: 0; }
  .company-thesis-links a { width: 100%; }
}

@media (max-width: 560px) {
  .company-page--short .company-hero h1,
  .company-thesis-short h2,
  .company-contact-short h2 { font-size: 48px; }
  .company-short-inner { padding-right: 22px; padding-left: 22px; }
  .company-contact-mail { font-size: 15px; overflow-wrap: anywhere; }
}

/* Company mobile: editorial, restrained, and fully contained. */
@media (max-width: 680px) {
  .company-page,
  .company-page main { width: 100%; max-width: 100%; overflow-x: clip; }

  .company-page--short .company-hero {
    min-height: 100svh;
    background: #d8d7d0;
    color: #17211f;
  }

  .company-page--short .company-hero-inner {
    display: flex;
    width: 100%;
    min-height: 100svh;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 112px 22px 66px;
  }

  .company-page--short .company-hero .product-lockup {
    width: auto;
    margin: 0 0 auto;
  }

  .company-page--short .company-hero-kicker {
    margin: 72px 0 20px;
    font-size: 9px;
  }

  .company-page--short .company-hero h1 {
    width: 100%;
    max-width: 100%;
    margin: 0;
    font-size: clamp(39px, 10.6vw, 46px);
    line-height: .96;
    letter-spacing: -.058em;
    text-wrap: balance;
  }

  .company-page--short .company-hero h1 br { display: none; }
  .company-page--short .company-hero h1 em {
    display: block;
    margin-top: .08em;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: normal;
    font-size: .98em;
    line-height: .94;
  }

  .company-page--short .company-hero-summary {
    width: 100%;
    max-width: 100%;
    margin: 38px 0 0;
    font-size: 14px;
    line-height: 1.58;
  }

  .company-page--short .company-inline-link { margin-top: 32px; }

  .company-page--short .company-short-inner {
    width: 100%;
    max-width: 100%;
    padding: 96px 22px;
  }

  .company-page--short .company-thesis-short,
  .company-page--short .company-contact-short {
    min-height: 0;
  }

  .company-page--short .company-thesis-short h2,
  .company-page--short .company-contact-short h2 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(37px, 10.2vw, 44px);
    line-height: .96;
    letter-spacing: -.055em;
    text-wrap: balance;
  }

  .company-page--short .company-thesis-short h2 br,
  .company-page--short .company-contact-short h2 br { display: none; }

  .company-page--short .company-thesis-short h2 em,
  .company-page--short .company-contact-short h2 em {
    margin-top: .08em;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: normal;
    line-height: .93;
  }

  .company-page--short .company-thesis-short-copy {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    width: 100%;
    margin: 48px 0 0;
  }

  .company-page--short .company-thesis-short-copy p { font-size: 14px; }
  .company-page--short .company-thesis-links { margin-top: 54px; }
  .company-page--short .company-thesis-links a { min-height: 64px; align-items: center; padding: 0; font-size: 25px; }

  .company-page--short .company-contact-mail {
    width: 100%;
    max-width: 100%;
    margin-top: 52px;
    font-size: 15px;
  }
}
