/* Company presentation layer; keep the original product styles unchanged. */
.company-header,
.company-footer,
.company-signature,
.company-ownership,
.company-home,
.company-card,
.company-case-group,
.company-hero-card,
.company-contact,
.company-plan-scope,
.company-closing-cta {
  overflow-wrap: anywhere;
}

.company-header .header-inner { gap: 24px; }
.company-header .brand,
.company-footer .brand { min-width: 0; max-width: 100%; flex-shrink: 1; }
.company-header .brand-mark,
.company-footer .brand-mark { flex-shrink: 0; }
.company-header .brand > span:last-child,
.company-footer .brand > span:last-child { min-width: 0; }
.company-header .brand strong,
.company-header .brand small,
.company-footer .brand strong,
.company-footer .brand small { white-space: normal; }
.company-header .main-nav { min-width: 0; gap: 20px; }
.company-header .main-nav a { white-space: nowrap; }
.company-header .header-actions { flex-shrink: 0; }

/* Keep the shared tinted sections within the shell's available outer gutter. */
.company-page-content > .section.tinted { margin-inline: clamp(-54px, calc((1180px - 100vw) / 2), -20px); }

.company-signature {
  margin: 0 0 22px;
  color: var(--green-deep);
  font-size: 14px;
  line-height: 1.8;
}
.company-signature a { font-weight: 800; }
.company-signature a:hover,
.company-ownership a:hover,
.company-plan-scope a:hover { text-decoration: underline; text-underline-offset: 4px; }

.company-ownership {
  margin-top: 42px;
  padding: 22px 26px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--green);
  border-radius: 16px;
  background: var(--green-soft);
}
.company-ownership p { margin: 0; }
.company-ownership p + p { margin-top: 10px; font-size: 14px; }
.company-ownership a { color: var(--green); font-weight: 750; }

.company-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}
.company-grid > *,
.company-contact > *,
.company-metrics > * { min-width: 0; }
.company-card {
  display: flex;
  flex-direction: column;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
}
.company-card h3 { margin: 0 0 14px; font-size: 22px; line-height: 1.5; }
.company-card p { margin: 0 0 16px; color: var(--muted); }
.company-card .kicker { color: var(--green); font-size: 12px; letter-spacing: .06em; }
.company-card ul,
.company-hero-card ul { margin: 0; padding-left: 1.3em; }
.company-card li + li,
.company-hero-card li + li { margin-top: 8px; }
.company-card > :last-child { margin-bottom: 0; }
.company-featured > .text-link,
.company-product-card > .text-link { margin-top: auto; padding-top: 12px; }
.company-card .text-link,
.company-more .text-link,
.company-closing-cta .text-link { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.company-product-card { border-color: #b5d8bf; background: var(--green-soft); }

.company-service-links,
.company-case-links,
.company-group-nav { display: flex; flex-wrap: wrap; gap: 10px; }
.company-service-links a,
.company-case-links a,
.company-group-nav a {
  min-width: 0;
  max-width: 100%;
  padding: 9px 14px;
  border: 1px solid #c5dfcc;
  border-radius: 12px;
  color: var(--green-deep);
  background: var(--green-soft);
  font-size: 14px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.company-service-links a:hover,
.company-case-links a:hover,
.company-group-nav a:hover { border-color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.company-case-links { margin-top: 22px; }
.company-case-links a { padding: 6px 10px; font-size: 13px; }
.company-group-nav { margin: 26px 0 36px; }
.company-more { margin: 28px 0 0; text-align: right; }
.company-note,
.company-card .company-note { color: var(--muted); font-size: 13px; line-height: 1.85; }

.company-case-group + .company-case-group { margin-top: 52px; }
.company-case-group > h2 { margin: 0 0 12px; font-size: 28px; line-height: 1.4; }
.company-case-group > p { margin: 0 0 26px; color: var(--muted); }
.company-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 4px 0 18px; }
.company-metrics > div { padding: 12px; border-radius: 12px; background: var(--green-soft); }
.company-metrics dt { color: var(--muted); font-size: 12px; line-height: 1.6; }
.company-metrics dd { margin: 6px 0 0; color: var(--green-deep); font-size: 21px; font-weight: 850; line-height: 1.4; }
.company-case details { margin-top: 12px; padding-top: 16px; border-top: 1px solid var(--line); }
.company-case summary { color: var(--green); font-weight: 750; cursor: pointer; }
.company-case details[open] summary { margin-bottom: 16px; }
.company-case details p { margin: 16px 0 0; }

.company-hero-section .hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 48px; }
.company-hero-section .hero-copy { min-width: 0; overflow-wrap: anywhere; }
.company-hero-card {
  min-width: 0;
  padding: 36px;
  border: 1px solid #b5d8bf;
  border-radius: 28px;
  background: linear-gradient(145deg, var(--white), var(--green-soft));
  box-shadow: var(--shadow);
}
.company-hero-card h2 { margin: 0 0 20px; color: var(--green-deep); font-size: clamp(26px, 3vw, 36px); line-height: 1.45; }
.company-hero-card > p:not(.kicker) { margin: 0 0 24px; color: var(--muted); }
.company-hero-card ul { color: var(--green-deep); }

.company-contact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.company-contact strong,
.company-contact address { font-size: 18px; line-height: 1.75; }
.company-contact address { font-style: normal; }
.company-contact a { color: var(--green); font-weight: 750; }
.company-contact a:hover { text-decoration: underline; text-underline-offset: 4px; }
.section-heading .company-plan-scope { padding: 16px 20px; border-left: 3px solid var(--green); border-radius: 0 12px 12px 0; background: var(--green-soft); font-size: 15px; }
.company-plan-scope a { color: var(--green); font-weight: 750; }
.company-closing-cta .shell > div { flex-wrap: wrap; }
.company-closing-cta .button { max-width: 100%; padding-block: 14px; line-height: 1.6; }

.company-footer .footer-grid { grid-template-columns: minmax(0, 2fr) minmax(0, .8fr) minmax(0, .9fr) minmax(0, 1.5fr); gap: 32px; }
.company-footer .footer-grid > div { min-width: 0; }
.company-footer .footer-grid > div:first-child > .company-footer-name { color: #fff; font-weight: 750; }
.company-footer-address { margin-top: 20px; color: #c6d5ca; font-size: 13px; font-style: normal; }
.company-footer-contact { display: flex; flex-direction: column; gap: 6px; padding-bottom: 14px; }
.company-footer-contact + .company-footer-contact { padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .14); }
.company-footer-contact > span:first-child { color: #fff; font-weight: 750; }
.company-footer .footer-bottom { flex-wrap: wrap; }

#company, #services, #cases, #projects, #contact, #address,
#company-services, #selected-cases, .company-card, .company-case-group { scroll-margin-top: 170px; }

@media (max-width: 1100px) {
  .company-header .header-inner { flex-wrap: wrap; gap: 12px 20px; padding-block: 12px; }
  .company-header .header-actions { margin-left: auto; }
  .company-header .main-nav { order: 3; width: 100%; margin: 0; padding: 8px 0 4px; flex-wrap: wrap; gap: 12px 24px; overflow: visible; }
  .company-header .main-nav a[aria-current="page"]::after { bottom: -4px; }
}

@media (max-width: 1040px) {
  .company-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
  .company-footer .footer-grid > div:first-child,
  .company-footer .footer-grid > div:last-child { grid-column: auto; }
}

@media (max-width: 820px) {
  .company-hero-section .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}

@media (max-width: 620px) {
  .company-header .header-inner { gap: 12px; }
  .company-header .brand { gap: 8px; }
  .company-header .main-nav { gap: 10px 20px; }
  .company-header .main-nav a { font-size: 14px; }
  .company-page-content > .section.tinted { margin-inline: -14px; }
  .company-grid, .company-contact { grid-template-columns: minmax(0, 1fr); }
  .company-card { padding: 22px; border-radius: 20px; }
  .company-hero-card { padding: 26px; border-radius: 22px; }
  .company-ownership { padding: 18px; }
  .company-signature { font-size: 13px; }
  .company-more { text-align: left; }
  .company-case-group > h2 { font-size: 25px; }
  .company-footer .footer-grid { gap: 32px 22px; }
  .company-footer .footer-grid > div:first-child,
  .company-footer .footer-grid > div:last-child { grid-column: 1 / -1; }
  #company, #services, #cases, #projects, #contact, #address,
  #company-services, #selected-cases, .company-card, .company-case-group { scroll-margin-top: 220px; }
}
