/* Shared company-page refinement layer.
   Scoped to company-standard pages so Agrinova and page-specific brand systems
   retain their approved visual identity. */
body.company-standard {
  --company-section-space: clamp(64px, 8vw, 112px);
  --company-heading-size: clamp(2rem, 3vw, 2.625rem);
  --company-body-size: clamp(.95rem, 1.1vw, 1.0625rem);
}

body.company-standard .fs-section {
  padding-block: var(--company-section-space);
}

body.company-standard .fs-section > .container {
  max-width: 1280px;
}

body.company-standard .fs-display {
  font-size: var(--company-heading-size);
  line-height: 1.08;
  max-width: 18ch;
  margin-left: auto;
  margin-right: auto;
}

body.company-standard .fs-lede,
body.company-standard .fs-section p:not(.footer-motto) {
  font-size: var(--company-body-size);
  line-height: 1.65;
}

/* Business sections declare their text treatment by purpose, not by heading
   class, page order or background. These rules change text only; grids,
   widths, spacing and their child layout primitives remain untouched. */
body[data-company-logo] .fs-section.company-section--editorial
  :is(.fs-display, .fs-marker, .fs-eyebrow, .fs-lede, h2, h3, h4, p, li, .section-subtitle) {
  text-align: left;
}

body[data-company-logo] .fs-section.company-section--editorial
  :is(.fs-display, .fs-marker, .fs-eyebrow, .fs-lede, h2, h3, h4, p, li, .section-subtitle) {
  margin-left: 0;
  margin-right: auto;
}

body[data-company-logo] .fs-section.company-section--editorial .fs-marker,
body[data-company-logo] .fs-section.company-section--editorial .fs-eyebrow {
  justify-content: flex-start;
}

body[data-company-logo] .fs-section.company-section--presentation
  :is(.fs-display, .fs-marker, .fs-eyebrow, .fs-lede, h2, h3, h4, p, li, .section-subtitle) {
  text-align: center;
}

body[data-company-logo] .fs-section.company-section--presentation
  :is(.fs-display, .fs-marker, .fs-eyebrow, .fs-lede, .section-subtitle) {
  margin-left: auto;
  margin-right: auto;
}

body[data-company-logo] .fs-section.company-section--presentation .fs-marker,
body[data-company-logo] .fs-section.company-section--presentation .fs-eyebrow {
  justify-content: center;
}

/* Capability and product sections with image-led cards center only their
   textual presentation. Card and image layout remains owned by each page. */
body[data-company-logo] .fs-section.company-section--cards-centered
  > .container :is(.fs-display, h2, .section-subtitle) {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

body[data-company-logo] .fs-section.company-section--cards-centered
  :is(.svc-card, .prod-catalog-card, .agro-prj, .aficd-solution, .aficd-cap, .atl-product-card, .nd-product-card, .nd-portfolio-item, .agro-equipment-grid figure)
  :is(h2, h3, h4, p, figcaption, strong) {
  text-align: center;
}

body[data-company-logo] .fs-section.company-section--cards-centered .svc-card__body .svc-card__title {
  align-self: stretch;
  margin-left: auto;
  margin-right: auto;
}

body[data-company-logo] .fs-section.company-section--cards-centered .svc-card__body .svc-card__desc {
  align-self: stretch;
  margin-left: auto;
  margin-right: auto;
}

body[data-company-logo] .fs-section.company-section--cards-centered .nd-portfolio-item > span {
  display: block;
  text-align: center;
  width: 100%;
}

body[data-company-logo] .fs-section.company-section--cards-centered
  :is(.svc-card__title, .svc-card__desc, .prod-catalog-card h3, .prod-catalog-card p,
      .agro-prj__title, .agro-prj__text, .aficd-solution h3, .aficd-solution p,
      .atl-product-card-title, .nd-product-card h3, .nd-product-card p) {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* Stat panels retain their pre-existing left reading alignment in either
   archetype; section text rules are not applied to figures or data labels. */
body[data-company-logo] .fs-section.company-section--editorial .stat-panel2,
body[data-company-logo] .fs-section.company-section--editorial .stat-panel2 :is(h2, h3, h4, p, li),
body[data-company-logo] .fs-section.company-section--editorial .stat-tile2,
body[data-company-logo] .fs-section.company-section--editorial .stat-tile2 :is(h2, h3, h4, p, li),
body[data-company-logo] .fs-section.company-section--presentation .stat-panel2,
body[data-company-logo] .fs-section.company-section--presentation .stat-panel2 :is(h2, h3, h4, p, li),
body[data-company-logo] .fs-section.company-section--presentation .stat-tile2,
body[data-company-logo] .fs-section.company-section--presentation .stat-tile2 :is(h2, h3, h4, p, li) {
  text-align: left;
  margin-left: initial;
  margin-right: initial;
}

/* Agrinova uses its own section and card system, but follows the same explicit
   editorial/presentation semantics without changing its component geometry. */
body[data-company-logo] .ag-section.ag-section--editorial
  :is(h2, h3, h4, p, li) {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
}

body[data-company-logo] .ag-section.ag-section--presentation
  :is(h2, h3, h4, p, li) {
  text-align: center;
}

/* Lake Aviation's intro and service cards are intentional, page-specific
   exceptions to the shared left-aligned editorial treatment. */
body[data-company-logo] .fs-section.company-section--aviation-centered
  :is(.fs-display, .fs-marker, .fs-eyebrow, .fs-lede, h2, h3, h4, p, li, .section-subtitle) {
  text-align: center;
}

body[data-company-logo] .fs-section.company-section--aviation-centered
  :is(.fs-display, .fs-marker, .fs-eyebrow, .fs-lede, .section-subtitle) {
  margin-left: auto;
  margin-right: auto;
}

body[data-company-logo] .fs-section.company-section--aviation-centered .fs-check li {
  width: 100%;
  box-sizing: border-box;
  padding-left: 0;
  justify-content: center;
  text-align: center;
}

body[data-company-logo] .fs-section.company-section--aviation-centered .fs-check {
  width: fit-content;
  max-width: 100%;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
}

body[data-company-logo] .fs-section.company-section--aviation-centered .fs-marker,
body[data-company-logo] .fs-section.company-section--aviation-centered .fs-eyebrow {
  justify-content: center;
}

body[data-company-logo] .fs-section.company-section--aviation-services-centered > .container > .fs-display,
body[data-company-logo] .fs-section.company-section--aviation-services-centered .svc-card__body :is(.svc-card__title, .svc-card__desc) {
  text-align: center;
}

body[data-company-logo] .fs-section.company-section--aviation-services-centered > .container > .fs-display {
  margin-left: auto;
  margin-right: auto;
}

.lg-company-faq { padding-block: var(--company-section-space, clamp(64px, 8vw, 112px)); background: var(--surface, #fff); }
.lg-company-faq__inner { width: min(900px, calc(100% - 40px)); margin: auto; text-align: center; }
.lg-company-faq__title { margin: 0 auto 12px; font-family: var(--font-display); font-size: var(--company-heading-size, clamp(2rem, 3vw, 2.625rem)); line-height: 1.08; }
.lg-company-faq__lead { max-width: 62ch; margin: 0 auto 28px; }
.lg-company-faq__list { border-top: 1px solid var(--line-2, rgba(1,63,92,.2)); text-align: left; }
.lg-company-faq details { border-bottom: 1px solid var(--line-2, rgba(1,63,92,.2)); padding: 18px 0; }
.lg-company-faq summary { cursor: pointer; font-weight: 700; color: var(--text, #013f5c); }
.lg-company-faq details p { max-width: 74ch; margin: 12px 0 0; line-height: 1.65; }

body.company-standard .fs-split-even,
body.company-standard .fs-split {
  gap: clamp(32px, 5vw, 72px);
}

body.company-standard .stat-panel2,
body.company-standard .stat-tile2,
body.company-standard .fs-card {
  border-radius: 10px;
  box-shadow: none;
}

body.company-standard .stat-panel2 {
  padding: clamp(22px, 3vw, 36px);
}

body.company-standard .stat-grid2 {
  gap: 14px;
}

body.company-standard .stat-tile2 {
  min-height: 0;
  padding: 18px;
}

body.company-standard .stat-no2 {
  font-size: clamp(1.65rem, 2.4vw, 2.45rem);
  line-height: 1;
}

body.company-standard .co-gal {
  gap: clamp(12px, 1.8vw, 24px);
  margin-inline: auto;
  max-width: 1280px;
}

body.company-standard .co-gal__item {
  border-radius: 10px;
  overflow: hidden;
}

body.company-standard .fs-on-dark p,
body.company-standard .fs-on-dark .fs-lede,
body.company-standard .fs-on-dark .fs-check {
  color: rgba(255, 255, 255, .88);
}

body.company-standard .fs-on-dark .fs-eyebrow,
body.company-standard .fs-on-dark .fs-marker {
  color: var(--yellow);
}

/* Company pages are content-led. Do not leave full sections visually empty
   while the global reveal observer waits for a scroll intersection. */
html.fs-motion body.company-standard .fx,
html.fs-motion body.company-standard .reveal,
html.fs-motion body.company-standard .reveal-img,
html.fs-motion body.company-standard .fx-img {
  clip-path: none !important;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  will-change: auto !important;
}

@media (max-width: 760px) {
  body.company-standard {
    --company-mobile-gutter: clamp(16px, 5vw, 20px);
    --company-mobile-eyebrow: clamp(.6875rem, 3vw, .8125rem);
    --company-mobile-heading: clamp(1.75rem, 7vw, 2rem);
    --company-mobile-body: clamp(1rem, 4vw, 1.0625rem);
    --company-mobile-card-title: clamp(1.5rem, 6vw, 1.75rem);
    --company-mobile-stat: clamp(2.125rem, 9vw, 2.625rem);
    --company-mobile-stat-label: clamp(.8125rem, 3.6vw, .9375rem);
  }

  body.company-standard .fs-section {
    padding-block: clamp(48px, 12vw, 64px);
  }

  /* Keep each company section on the same mathematical content centre. The
     base pages were authored at different times, so normalising the shared
     container here prevents nested cards and header groups from inheriting
     asymmetric desktop padding on phones. */
  body.company-standard .fs-section > .container {
    box-sizing: border-box;
    width: 100%;
    max-width: 1280px;
    padding-inline: var(--company-mobile-gutter);
  }

  body.company-standard .fs-marker,
  body.company-standard .fs-display,
  body.company-standard .fs-lede {
    width: 100%;
    box-sizing: border-box;
    margin-inline: auto;
  }

  body.company-standard .fs-marker {
    justify-content: center;
    text-align: center;
    gap: 12px;
    margin-bottom: clamp(18px, 5vw, 24px);
  }

  body.company-standard .fs-marker .fs-marker-no {
    font-size: clamp(1.5625rem, 7vw, 1.875rem);
    line-height: 1;
    letter-spacing: .05em;
  }

  body.company-standard .fs-marker .fs-marker-no::after {
    width: 26px;
    margin-left: 10px;
  }

  body.company-standard .fs-eyebrow {
    font-size: var(--company-mobile-eyebrow);
    letter-spacing: .12em;
    gap: 10px;
  }

  /* Shared split, card and grid primitives must never retain intrinsic
     desktop widths inside a narrow company-page container. */
  body.company-standard .fs-split,
  body.company-standard .fs-split-even,
  body.company-standard .fs-split-rev,
  body.company-standard .stat-grid2,
  body.company-standard .val-mini-grid,
  body.company-standard .svc-grid,
  body.company-standard .prod-catalog,
  body.company-standard .co-gal {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  body.company-standard .fs-split,
  body.company-standard .fs-split-even,
  body.company-standard .fs-split-rev {
    gap: clamp(24px, 7vw, 32px);
  }

  body.company-standard .val-mini-grid,
  body.company-standard .svc-grid,
  body.company-standard .prod-catalog {
    gap: 16px;
  }

  body.company-standard .fs-split > *,
  body.company-standard .fs-split-even > *,
  body.company-standard .fs-split-rev > *,
  body.company-standard .stat-panel2,
  body.company-standard .stat-tile2,
  body.company-standard .val-mini-tile,
  body.company-standard .fs-card,
  body.company-standard .svc-card,
  body.company-standard .prod-catalog-card {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  body.company-standard .stat-panel2 {
    width: 100%;
    margin-inline: auto;
    padding: clamp(20px, 6vw, 28px);
  }

  body.company-standard .svc-card,
  body.company-standard .prod-catalog-card {
    width: 100%;
    margin-inline: auto;
  }

  body.company-standard .stat-panel2 h3 {
    font-size: var(--company-mobile-card-title);
    line-height: 1.08;
    margin-bottom: clamp(20px, 6vw, 28px);
  }

  body.company-standard .stat-grid2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  body.company-standard .stat-tile2 {
    padding: 16px 0 14px;
  }

  body.company-standard .stat-tile2 .stat-no2 {
    font-size: var(--company-mobile-stat);
    overflow-wrap: normal;
  }

  body.company-standard .fs-split > div:not(.stat-panel2) > h3,
  body.company-standard .fs-split-even > div:not(.stat-panel2) > h3 {
    font-size: clamp(1.5rem, 5.6vw, 1.625rem) !important;
    line-height: 1.12;
    margin-bottom: 12px !important;
  }

  body.company-standard .fs-check li {
    align-items: flex-start;
    font-size: clamp(.9375rem, 4vw, 1rem);
    line-height: 1.6;
  }

  body.company-standard .fs-display {
    font-size: var(--company-mobile-heading);
    line-height: 1.1;
    max-width: 19ch;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  body.company-standard .fs-lede,
  body.company-standard .fs-section p:not(.footer-motto) {
    font-size: var(--company-mobile-body);
    line-height: 1.68;
  }

  body.company-standard .fs-lede {
    max-width: 34ch;
    margin-inline: auto;
  }

  body.company-standard .stat-panel2 .stat-tile2 p {
    font-size: var(--company-mobile-stat-label);
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
    letter-spacing: .1em;
    line-height: 1.5;
  }

  body.company-standard .site-footer .container {
    box-sizing: border-box;
    width: 100%;
    padding-inline: var(--company-mobile-gutter);
  }
}

@media (max-width: 360px) {
  /* Preserve readable stat labels instead of compressing a desktop-derived
     two-column grid below its usable text width. */
  body.company-standard .stat-grid2 {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  body.company-standard .stat-panel2 {
    padding: 20px;
  }
}
